Wiktionary sowiktionary https://so.wiktionary.org/wiki/Bogga_Hore MediaWiki 1.44.0-wmf.5 case-sensitive Media Special Talk User User talk Wiktionary Wiktionary talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk TimedText TimedText talk Module Module talk Template:Sitesupportpage 10 17 2201 2004-01-29T12:55:02Z MediaWiki default 16 2201 wikitext text/x-wiki &lt;sitesupportpage&gt; odlo3q2qspr4rxe1yukj5rilk7wumhq Template:Gnunote 10 61 2245 2004-01-29T12:55:02Z MediaWiki default 16 2245 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 Template:All messages 10 570 2754 2004-02-22T03:44:40Z MediaWiki default 16 2754 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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:About&action=edit about] </td><td> About </td><td> {{MSGNW:about}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Aboutpage&action=edit aboutpage] </td><td> Wiktionary:About </td><td> {{MSGNW:aboutpage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Aboutwikipedia&action=edit aboutwikipedia] </td><td> About Wiktionary </td><td> {{MSGNW:aboutwikipedia}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Accmailtitle&action=edit accmailtitle] </td><td> Password sent. </td><td> {{MSGNW:accmailtitle}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Actioncomplete&action=edit actioncomplete] </td><td> Action complete </td><td> {{MSGNW:actioncomplete}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Administrators&action=edit administrators] </td><td> Wiktionary:Administrators </td><td> {{MSGNW:administrators}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:All&action=edit all] </td><td> all </td><td> {{MSGNW:all}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Allmessages&action=edit allmessages] </td><td> All_messages </td><td> {{MSGNW:allmessages}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Allpages&action=edit allpages] </td><td> All pages </td><td> {{MSGNW:allpages}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ancientpages&action=edit ancientpages] </td><td> Oldest articles </td><td> {{MSGNW:ancientpages}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Articlepage&action=edit articlepage] </td><td> View article </td><td> {{MSGNW:articlepage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Asksql&action=edit asksql] </td><td> SQL query </td><td> {{MSGNW:asksql}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badtitle&action=edit badtitle] </td><td> Bad title </td><td> {{MSGNW:badtitle}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blanknamespace&action=edit blanknamespace] </td><td> (Main) </td><td> {{MSGNW:blanknamespace}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockip&action=edit blockip] </td><td> Block user </td><td> {{MSGNW:blockip}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesssub&action=edit blockipsuccesssub] </td><td> Block succeeded </td><td> {{MSGNW:blockipsuccesssub}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklink&action=edit blocklink] </td><td> block </td><td> {{MSGNW:blocklink}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklogpage&action=edit blocklogpage] </td><td> Block_log </td><td> {{MSGNW:blocklogpage}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Booksources&action=edit booksources] </td><td> Book sources </td><td> {{MSGNW:booksources}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Brokenredirects&action=edit brokenredirects] </td><td> Broken Redirects </td><td> {{MSGNW:brokenredirects}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bugreports&action=edit bugreports] </td><td> Bug reports </td><td> {{MSGNW:bugreports}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bureaucratlog&action=edit bureaucratlog] </td><td> Bureaucrat_log </td><td> {{MSGNW:bureaucratlog}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bydate&action=edit bydate] </td><td> by date </td><td> {{MSGNW:bydate}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Byname&action=edit byname] </td><td> by name </td><td> {{MSGNW:byname}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bysize&action=edit bysize] </td><td> by size </td><td> {{MSGNW:bysize}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cancel&action=edit cancel] </td><td> Cancel </td><td> {{MSGNW:cancel}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Categories&action=edit categories] </td><td> Page categories </td><td> {{MSGNW:categories}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Category&action=edit category] </td><td> category </td><td> {{MSGNW:category}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Changepassword&action=edit changepassword] </td><td> Change password </td><td> {{MSGNW:changepassword}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Changes&action=edit changes] </td><td> changes </td><td> {{MSGNW:changes}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Columns&action=edit columns] </td><td> Columns </td><td> {{MSGNW:columns}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Commentedit&action=edit commentedit] </td><td> (comment) </td><td> {{MSGNW:commentedit}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirm&action=edit confirm] </td><td> Confirm </td><td> {{MSGNW:confirm}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirmdelete&action=edit confirmdelete] </td><td> Confirm delete </td><td> {{MSGNW:confirmdelete}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contribslink&action=edit contribslink] </td><td> contribs </td><td> {{MSGNW:contribslink}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contribsub&action=edit contribsub] </td><td> For $1 </td><td> {{MSGNW:contribsub}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contributions&action=edit contributions] </td><td> User contributions </td><td> {{MSGNW:contributions}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Copyrightpage&action=edit copyrightpage] </td><td> Wiktionary:Copyrights </td><td> {{MSGNW:copyrightpage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Copyrightpagename&action=edit copyrightpagename] </td><td> Wiktionary copyright </td><td> {{MSGNW:copyrightpagename}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Createaccountmail&action=edit createaccountmail] </td><td> by eMail </td><td> {{MSGNW:createaccountmail}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cur&action=edit cur] </td><td> cur </td><td> {{MSGNW:cur}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Currentevents&action=edit currentevents] </td><td> Current events </td><td> {{MSGNW:currentevents}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Currentrev&action=edit currentrev] </td><td> Current revision </td><td> {{MSGNW:currentrev}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Databaseerror&action=edit databaseerror] </td><td> Database error </td><td> {{MSGNW:databaseerror}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dateformat&action=edit dateformat] </td><td> Date format </td><td> {{MSGNW:dateformat}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Debug&action=edit debug] </td><td> Debug </td><td> {{MSGNW:debug}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deleteimg&action=edit deleteimg] </td><td> del </td><td> {{MSGNW:deleteimg}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletepage&action=edit deletepage] </td><td> Delete page </td><td> {{MSGNW:deletepage}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletionlog&action=edit deletionlog] </td><td> deletion log </td><td> {{MSGNW:deletionlog}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dellogpage&action=edit dellogpage] </td><td> Deletion_log </td><td> {{MSGNW:dellogpage}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Diff&action=edit diff] </td><td> diff </td><td> {{MSGNW:diff}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disambiguations&action=edit disambiguations] </td><td> Disambiguation pages </td><td> {{MSGNW:disambiguations}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disclaimers&action=edit disclaimers] </td><td> Disclaimers </td><td> {{MSGNW:disclaimers}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Doubleredirects&action=edit doubleredirects] </td><td> Double Redirects </td><td> {{MSGNW:doubleredirects}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Edithelp&action=edit edithelp] </td><td> Editing help </td><td> {{MSGNW:edithelp}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editing&action=edit editing] </td><td> Editing $1 </td><td> {{MSGNW:editing}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editsection&action=edit editsection] </td><td> edit </td><td> {{MSGNW:editsection}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailfrom&action=edit emailfrom] </td><td> From </td><td> {{MSGNW:emailfrom}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailmessage&action=edit emailmessage] </td><td> Message </td><td> {{MSGNW:emailmessage}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsend&action=edit emailsend] </td><td> Send </td><td> {{MSGNW:emailsend}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsubject&action=edit emailsubject] </td><td> Subject </td><td> {{MSGNW:emailsubject}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailto&action=edit emailto] </td><td> To </td><td> {{MSGNW:emailto}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Error&action=edit error] </td><td> Error </td><td> {{MSGNW:error}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Errorpagetitle&action=edit errorpagetitle] </td><td> Error </td><td> {{MSGNW:errorpagetitle}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Excontent&action=edit excontent] </td><td> content was: </td><td> {{MSGNW:excontent}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Export&action=edit export] </td><td> Export pages </td><td> {{MSGNW:export}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Faq&action=edit faq] </td><td> FAQ </td><td> {{MSGNW:faq}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Faqpage&action=edit faqpage] </td><td> Wiktionary:FAQ </td><td> {{MSGNW:faqpage}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filedesc&action=edit filedesc] </td><td> Summary </td><td> {{MSGNW:filedesc}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filename&action=edit filename] </td><td> Filename </td><td> {{MSGNW:filename}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filesource&action=edit filesource] </td><td> Source </td><td> {{MSGNW:filesource}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filestatus&action=edit filestatus] </td><td> Copyright status </td><td> {{MSGNW:filestatus}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Go&action=edit go] </td><td> Go </td><td> {{MSGNW:go}} </td></tr><tr><td> [http://so.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;//so.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;//so.wikipedia.org&quot; checked&gt; http&#58;//so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Help&action=edit help] </td><td> Help </td><td> {{MSGNW:help}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Helppage&action=edit helppage] </td><td> Wiktionary:Help </td><td> {{MSGNW:helppage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hide&action=edit hide] </td><td> hide </td><td> {{MSGNW:hide}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hidetoc&action=edit hidetoc] </td><td> hide </td><td> {{MSGNW:hidetoc}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hist&action=edit hist] </td><td> hist </td><td> {{MSGNW:hist}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:History&action=edit history] </td><td> Page history </td><td> {{MSGNW:history}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ilsubmit&action=edit ilsubmit] </td><td> Search </td><td> {{MSGNW:ilsubmit}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagelinks&action=edit imagelinks] </td><td> Image links </td><td> {{MSGNW:imagelinks}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagelist&action=edit imagelist] </td><td> Image list </td><td> {{MSGNW:imagelist}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imgdelete&action=edit imgdelete] </td><td> del </td><td> {{MSGNW:imgdelete}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imgdesc&action=edit imgdesc] </td><td> desc </td><td> {{MSGNW:imgdesc}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imghistory&action=edit imghistory] </td><td> Image history </td><td> {{MSGNW:imghistory}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Internalerror&action=edit internalerror] </td><td> Internal error </td><td> {{MSGNW:internalerror}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Intl&action=edit intl] </td><td> Interlanguage links </td><td> {{MSGNW:intl}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipbexpiry&action=edit ipbexpiry] </td><td> Expiry </td><td> {{MSGNW:ipbexpiry}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipbreason&action=edit ipbreason] </td><td> Reason </td><td> {{MSGNW:ipbreason}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Isredirect&action=edit isredirect] </td><td> redirect page </td><td> {{MSGNW:isredirect}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Last&action=edit last] </td><td> last </td><td> {{MSGNW:last}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lineno&action=edit lineno] </td><td> Line $1: </td><td> {{MSGNW:lineno}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Listform&action=edit listform] </td><td> list </td><td> {{MSGNW:listform}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Listusers&action=edit listusers] </td><td> User list </td><td> {{MSGNW:listusers}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockbtn&action=edit lockbtn] </td><td> Lock database </td><td> {{MSGNW:lockbtn}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockdb&action=edit lockdb] </td><td> Lock database </td><td> {{MSGNW:lockdb}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Login&action=edit login] </td><td> Log in </td><td> {{MSGNW:login}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginerror&action=edit loginerror] </td><td> Login error </td><td> {{MSGNW:loginerror}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginpagetitle&action=edit loginpagetitle] </td><td> User login </td><td> {{MSGNW:loginpagetitle}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginsuccesstitle&action=edit loginsuccesstitle] </td><td> Login successful </td><td> {{MSGNW:loginsuccesstitle}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Logout&action=edit logout] </td><td> Log out </td><td> {{MSGNW:logout}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Logouttitle&action=edit logouttitle] </td><td> User logout </td><td> {{MSGNW:logouttitle}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lonelypages&action=edit lonelypages] </td><td> Orphaned pages </td><td> {{MSGNW:lonelypages}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Longpages&action=edit longpages] </td><td> Long pages </td><td> {{MSGNW:longpages}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mainpage&action=edit mainpage] </td><td> Main Page </td><td> {{MSGNW:mainpage}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Maintenance&action=edit maintenance] </td><td> Maintenance page </td><td> {{MSGNW:maintenance}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math&action=edit math] </td><td> Rendering math </td><td> {{MSGNW:math}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Minoreditletter&action=edit minoreditletter] </td><td> M </td><td> {{MSGNW:minoreditletter}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Moredotdotdot&action=edit moredotdotdot] </td><td> More... </td><td> {{MSGNW:moredotdotdot}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movearticle&action=edit movearticle] </td><td> Move page </td><td> {{MSGNW:movearticle}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movedto&action=edit movedto] </td><td> moved to </td><td> {{MSGNW:movedto}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepage&action=edit movepage] </td><td> Move page </td><td> {{MSGNW:movepage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepagebtn&action=edit movepagebtn] </td><td> Move page </td><td> {{MSGNW:movepagebtn}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mycontris&action=edit mycontris] </td><td> My contributions </td><td> {{MSGNW:mycontris}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mypage&action=edit mypage] </td><td> My page </td><td> {{MSGNW:mypage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mytalk&action=edit mytalk] </td><td> My talk </td><td> {{MSGNW:mytalk}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nbytes&action=edit nbytes] </td><td> $1 bytes </td><td> {{MSGNW:nbytes}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nchanges&action=edit nchanges] </td><td> $1 changes </td><td> {{MSGNW:nchanges}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newarticle&action=edit newarticle] </td><td> (New) </td><td> {{MSGNW:newarticle}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newmessageslink&action=edit newmessageslink] </td><td> new messages </td><td> {{MSGNW:newmessageslink}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpage&action=edit newpage] </td><td> New page </td><td> {{MSGNW:newpage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpageletter&action=edit newpageletter] </td><td> N </td><td> {{MSGNW:newpageletter}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpages&action=edit newpages] </td><td> New pages </td><td> {{MSGNW:newpages}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpassword&action=edit newpassword] </td><td> New password </td><td> {{MSGNW:newpassword}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Next&action=edit next] </td><td> next </td><td> {{MSGNW:next}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nextn&action=edit nextn] </td><td> next $1 </td><td> {{MSGNW:nextn}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nlinks&action=edit nlinks] </td><td> $1 links </td><td> {{MSGNW:nlinks}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notargettitle&action=edit notargettitle] </td><td> No target </td><td> {{MSGNW:notargettitle}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nviews&action=edit nviews] </td><td> $1 views </td><td> {{MSGNW:nviews}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ok&action=edit ok] </td><td> OK </td><td> {{MSGNW:ok}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Oldpassword&action=edit oldpassword] </td><td> Old password </td><td> {{MSGNW:oldpassword}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Orig&action=edit orig] </td><td> orig </td><td> {{MSGNW:orig}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Orphans&action=edit orphans] </td><td> Orphaned pages </td><td> {{MSGNW:orphans}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Otherlanguages&action=edit otherlanguages] </td><td> Other languages </td><td> {{MSGNW:otherlanguages}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Pagemovedsub&action=edit pagemovedsub] </td><td> Move succeeded </td><td> {{MSGNW:pagemovedsub}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Popularpages&action=edit popularpages] </td><td> Popular pages </td><td> {{MSGNW:popularpages}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Powersearch&action=edit powersearch] </td><td> Search </td><td> {{MSGNW:powersearch}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Preferences&action=edit preferences] </td><td> Preferences </td><td> {{MSGNW:preferences}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Preview&action=edit preview] </td><td> Preview </td><td> {{MSGNW:preview}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prevn&action=edit prevn] </td><td> previous $1 </td><td> {{MSGNW:prevn}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Printableversion&action=edit printableversion] </td><td> Printable version </td><td> {{MSGNW:printableversion}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectedpage&action=edit protectedpage] </td><td> Protected page </td><td> {{MSGNW:protectedpage}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectlogpage&action=edit protectlogpage] </td><td> Protection_log </td><td> {{MSGNW:protectlogpage}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectpage&action=edit protectpage] </td><td> Protect page </td><td> {{MSGNW:protectpage}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbbrowse&action=edit qbbrowse] </td><td> Browse </td><td> {{MSGNW:qbbrowse}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbedit&action=edit qbedit] </td><td> Edit </td><td> {{MSGNW:qbedit}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbfind&action=edit qbfind] </td><td> Find </td><td> {{MSGNW:qbfind}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbmyoptions&action=edit qbmyoptions] </td><td> My pages </td><td> {{MSGNW:qbmyoptions}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbpageinfo&action=edit qbpageinfo] </td><td> Context </td><td> {{MSGNW:qbpageinfo}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbpageoptions&action=edit qbpageoptions] </td><td> This page </td><td> {{MSGNW:qbpageoptions}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbsettings&action=edit qbsettings] </td><td> Quickbar settings </td><td> {{MSGNW:qbsettings}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbspecialpages&action=edit qbspecialpages] </td><td> Special pages </td><td> {{MSGNW:qbspecialpages}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Querybtn&action=edit querybtn] </td><td> Submit query </td><td> {{MSGNW:querybtn}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Querysuccessful&action=edit querysuccessful] </td><td> Query successful </td><td> {{MSGNW:querysuccessful}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Randompage&action=edit randompage] </td><td> Random page </td><td> {{MSGNW:randompage}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Readonly&action=edit readonly] </td><td> Database locked </td><td> {{MSGNW:readonly}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchanges&action=edit recentchanges] </td><td> Recent changes </td><td> {{MSGNW:recentchanges}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchangeslinked&action=edit recentchangeslinked] </td><td> Related changes </td><td> {{MSGNW:recentchangeslinked}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Resetprefs&action=edit resetprefs] </td><td> Reset preferences </td><td> {{MSGNW:resetprefs}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Reupload&action=edit reupload] </td><td> Re-upload </td><td> {{MSGNW:reupload}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revertimg&action=edit revertimg] </td><td> rev </td><td> {{MSGNW:revertimg}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revhistory&action=edit revhistory] </td><td> Revision history </td><td> {{MSGNW:revhistory}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rollbackfailed&action=edit rollbackfailed] </td><td> Rollback failed </td><td> {{MSGNW:rollbackfailed}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rollbacklink&action=edit rollbacklink] </td><td> rollback </td><td> {{MSGNW:rollbacklink}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rows&action=edit rows] </td><td> Rows </td><td> {{MSGNW:rows}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Savearticle&action=edit savearticle] </td><td> Save page </td><td> {{MSGNW:savearticle}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Savefile&action=edit savefile] </td><td> Save file </td><td> {{MSGNW:savefile}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Saveprefs&action=edit saveprefs] </td><td> Save preferences </td><td> {{MSGNW:saveprefs}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Search&action=edit search] </td><td> Search </td><td> {{MSGNW:search}} </td></tr><tr><td> [http://so.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;//so.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;//so.wikipedia.org&quot; checked&gt; http&#58;//so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchhelppage&action=edit searchhelppage] </td><td> Wiktionary:Searching </td><td> {{MSGNW:searchhelppage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchingwikipedia&action=edit searchingwikipedia] </td><td> Searching Wiktionary </td><td> {{MSGNW:searchingwikipedia}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchresults&action=edit searchresults] </td><td> Search results </td><td> {{MSGNW:searchresults}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sectionedit&action=edit sectionedit] </td><td> (section) </td><td> {{MSGNW:sectionedit}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Shortpages&action=edit shortpages] </td><td> Short pages </td><td> {{MSGNW:shortpages}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Show&action=edit show] </td><td> show </td><td> {{MSGNW:show}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showpreview&action=edit showpreview] </td><td> Show preview </td><td> {{MSGNW:showpreview}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showtoc&action=edit showtoc] </td><td> show </td><td> {{MSGNW:showtoc}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitestats&action=edit sitestats] </td><td> Site statistics </td><td> {{MSGNW:sitestats}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitesupport&action=edit sitesupport] </td><td> Donations </td><td> {{MSGNW:sitesupport}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitetitle&action=edit sitetitle] </td><td> Wiktionary </td><td> {{MSGNW:sitetitle}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Skin&action=edit skin] </td><td> Skin </td><td> {{MSGNW:skin}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Specialpages&action=edit specialpages] </td><td> Special pages </td><td> {{MSGNW:specialpages}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sqlquery&action=edit sqlquery] </td><td> Enter query </td><td> {{MSGNW:sqlquery}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Statistics&action=edit statistics] </td><td> Statistics </td><td> {{MSGNW:statistics}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Storedversion&action=edit storedversion] </td><td> Stored version </td><td> {{MSGNW:storedversion}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subcategories&action=edit subcategories] </td><td> Subcategories </td><td> {{MSGNW:subcategories}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subject&action=edit subject] </td><td> Subject/headline </td><td> {{MSGNW:subject}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subjectpage&action=edit subjectpage] </td><td> View subject </td><td> {{MSGNW:subjectpage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Successfulupload&action=edit successfulupload] </td><td> Successful upload </td><td> {{MSGNW:successfulupload}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Summary&action=edit summary] </td><td> Summary </td><td> {{MSGNW:summary}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Tableform&action=edit tableform] </td><td> table </td><td> {{MSGNW:tableform}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Textboxsize&action=edit textboxsize] </td><td> Textbox dimensions </td><td> {{MSGNW:textboxsize}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Timezoneoffset&action=edit timezoneoffset] </td><td> Offset </td><td> {{MSGNW:timezoneoffset}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uctop&action=edit uctop] </td><td> (top) </td><td> {{MSGNW:uctop}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblockip&action=edit unblockip] </td><td> Unblock user </td><td> {{MSGNW:unblockip}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblocklink&action=edit unblocklink] </td><td> unblock </td><td> {{MSGNW:unblocklink}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletebtn&action=edit undeletebtn] </td><td> Restore! </td><td> {{MSGNW:undeletebtn}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockbtn&action=edit unlockbtn] </td><td> Unlock database </td><td> {{MSGNW:unlockbtn}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockdb&action=edit unlockdb] </td><td> Unlock database </td><td> {{MSGNW:unlockdb}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unusedimages&action=edit unusedimages] </td><td> Unused images </td><td> {{MSGNW:unusedimages}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unwatchthispage&action=edit unwatchthispage] </td><td> Stop watching </td><td> {{MSGNW:unwatchthispage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Updated&action=edit updated] </td><td> (Updated) </td><td> {{MSGNW:updated}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Upload&action=edit upload] </td><td> Upload file </td><td> {{MSGNW:upload}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadbtn&action=edit uploadbtn] </td><td> Upload file </td><td> {{MSGNW:uploadbtn}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadedfiles&action=edit uploadedfiles] </td><td> Uploaded files </td><td> {{MSGNW:uploadedfiles}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploaderror&action=edit uploaderror] </td><td> Upload error </td><td> {{MSGNW:uploaderror}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlink&action=edit uploadlink] </td><td> Upload images </td><td> {{MSGNW:uploadlink}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlog&action=edit uploadlog] </td><td> upload log </td><td> {{MSGNW:uploadlog}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlogpage&action=edit uploadlogpage] </td><td> Upload_log </td><td> {{MSGNW:uploadlogpage}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadwarning&action=edit uploadwarning] </td><td> Upload warning </td><td> {{MSGNW:uploadwarning}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userlogin&action=edit userlogin] </td><td> Log in </td><td> {{MSGNW:userlogin}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userlogout&action=edit userlogout] </td><td> Log out </td><td> {{MSGNW:userlogout}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userstats&action=edit userstats] </td><td> User statistics </td><td> {{MSGNW:userstats}} </td></tr><tr><td> [http://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Version&action=edit version] </td><td> Version </td><td> {{MSGNW:version}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewsource&action=edit viewsource] </td><td> View source </td><td> {{MSGNW:viewsource}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewtalkpage&action=edit viewtalkpage] </td><td> View discussion </td><td> {{MSGNW:viewtalkpage}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wantedpages&action=edit wantedpages] </td><td> Wanted pages </td><td> {{MSGNW:wantedpages}} </td></tr><tr><td> [http://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchlist&action=edit watchlist] </td><td> My watchlist </td><td> {{MSGNW:watchlist}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wikititlesuffix&action=edit wikititlesuffix] </td><td> Wiktionary </td><td> {{MSGNW:wikititlesuffix}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourdiff&action=edit yourdiff] </td><td> Differences </td><td> {{MSGNW:yourdiff}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourpassword&action=edit yourpassword] </td><td> Your password </td><td> {{MSGNW:yourpassword}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourpasswordagain&action=edit yourpasswordagain] </td><td> Retype password </td><td> {{MSGNW:yourpasswordagain}} </td></tr><tr><td> [http://so.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourtext&action=edit yourtext] </td><td> Your text </td><td> {{MSGNW:yourtext}} </td></tr></table> nxxxotr5q968gzsyp74ox7s70246k4y Template:Accesskey-addsection 10 590 2774 2004-06-05T18:56:15Z MediaWiki default 16 2774 wikitext text/x-wiki + jsojwe0y00ox745tisb3rfxjb66ayl8 Template:Accesskey-anontalk 10 591 2775 2004-06-05T18:56:15Z MediaWiki default 16 2775 wikitext text/x-wiki n oh2rif7evp5obgx16x2w2t6pjpreh7u Template:Accesskey-anonuserpage 10 592 2776 2004-06-05T18:56:15Z MediaWiki default 16 2776 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb Template:Accesskey-article 10 593 2777 2004-06-05T18:56:15Z MediaWiki default 16 2777 wikitext text/x-wiki a frkhg3ewxov0h1g2eh87fri7z1g12ns Template:Accesskey-contributions 10 595 2779 2004-06-05T18:56:15Z MediaWiki default 16 2779 wikitext text/x-wiki &lt;accesskey-contributions&gt; 133cpsex7a2xagksrxhd4hhqrsdyid0 Template:Accesskey-currentevents 10 596 2780 2004-06-05T18:56:15Z MediaWiki default 16 2780 wikitext text/x-wiki &lt;accesskey-currentevents&gt; o5jz5738ic2nhopi1zzszoxaqd1e6z9 Template:Accesskey-delete 10 597 2781 2004-06-05T18:56:15Z MediaWiki default 16 2781 wikitext text/x-wiki d 717aqvbu0bhwock9wsh9ltkkaebq6wk Template:Accesskey-edit 10 598 2782 2004-06-05T18:56:15Z MediaWiki default 16 2782 wikitext text/x-wiki e adui775lbdozbyt48qtd51g5y2uc0an Template:Accesskey-emailuser 10 599 2783 2004-06-05T18:56:15Z MediaWiki default 16 2783 wikitext text/x-wiki &lt;accesskey-emailuser&gt; 18nh2khz7wz6r2udl89jz6y4t5soo37 Template:Accesskey-help 10 600 2784 2004-06-05T18:56:15Z MediaWiki default 16 2784 wikitext text/x-wiki &lt;accesskey-help&gt; 19hm248pvonzdcvcdup89vyc1j7ehia Template:Accesskey-history 10 601 2785 2004-06-05T18:56:15Z MediaWiki default 16 2785 wikitext text/x-wiki h 4ni88dkindqjjb63hk6ic0eltmdwlmd Template:Accesskey-login 10 602 2786 2004-06-05T18:56:15Z MediaWiki default 16 2786 wikitext text/x-wiki o eb5xnx5c0ukga4l54acq37g5gaebb7a Template:Accesskey-logout 10 603 2787 2004-06-05T18:56:15Z MediaWiki default 16 2787 wikitext text/x-wiki o eb5xnx5c0ukga4l54acq37g5gaebb7a Template:Accesskey-mainpage 10 604 2788 2004-06-05T18:56:15Z MediaWiki default 16 2788 wikitext text/x-wiki z 6p8n7siwg3y6ymwp20i4sykvsq2xxq2 Template:Accesskey-move 10 606 2790 2004-06-05T18:56:15Z MediaWiki default 16 2790 wikitext text/x-wiki m ci68lsoc8kj1tgyyd6hmuybhler2x2g Template:Accesskey-mycontris 10 607 2791 2004-06-05T18:56:15Z MediaWiki default 16 2791 wikitext text/x-wiki y hhwrvip3cdwl3q0e7xbzhqs4x05fznu Template:Accesskey-mytalk 10 608 2792 2004-06-05T18:56:15Z MediaWiki default 16 2792 wikitext text/x-wiki n oh2rif7evp5obgx16x2w2t6pjpreh7u Template:Accesskey-portal 10 609 2793 2004-06-05T18:56:15Z MediaWiki default 16 2793 wikitext text/x-wiki &lt;accesskey-portal&gt; a1uvryzlcbvcavsc1i6r7o5cgqms9tk Template:Accesskey-preferences 10 610 2794 2004-06-05T18:56:15Z MediaWiki default 16 2794 wikitext text/x-wiki &lt;accesskey-preferences&gt; h4259lhpaookbtez7azpeme2myqctlw Template:Accesskey-protect 10 612 2796 2004-06-05T18:56:15Z MediaWiki default 16 2796 wikitext text/x-wiki = 3wcseag2nqzmp2dd80wwgsghpu5dvna Template:Accesskey-randompage 10 613 2797 2004-06-05T18:56:15Z MediaWiki default 16 2797 wikitext text/x-wiki x 23jghj7l2sya9tjhd4oknvaaanjty0i Template:Accesskey-recentchanges 10 614 2798 2004-06-05T18:56:15Z MediaWiki default 16 2798 wikitext text/x-wiki r 932yqu1subq7jvlqocbavfw8px64mgn Template:Accesskey-recentchangeslinked 10 615 2799 2004-06-05T18:56:15Z MediaWiki default 16 2799 wikitext text/x-wiki c fhsqrvb277byffvlmhsimuxjvfl3b1w Template:Accesskey-sitesupport 10 618 2802 2004-06-05T18:56:15Z MediaWiki default 16 2802 wikitext text/x-wiki &lt;accesskey-sitesupport&gt; i1j0pvsxndh8h919agkonphumlzcuoj Template:Accesskey-specialpage 10 619 2803 2004-06-05T18:56:15Z MediaWiki default 16 2803 wikitext text/x-wiki &lt;accesskey-specialpage&gt; r9pibd1m6aw87zlyfrb15xwj94eyrvh Template:Accesskey-specialpages 10 620 2804 2004-06-05T18:56:15Z MediaWiki default 16 2804 wikitext text/x-wiki q 42tly7p616mhho9m3kqeuro6s8iwb00 Template:Accesskey-talk 10 621 2805 2004-06-05T18:56:15Z MediaWiki default 16 2805 wikitext text/x-wiki t gpawyfojiq147rosjz7sw2dda2fowvp Template:Accesskey-undelete 10 622 2806 2004-06-05T18:56:15Z MediaWiki default 16 2806 wikitext text/x-wiki d 717aqvbu0bhwock9wsh9ltkkaebq6wk Template:Accesskey-unwatch 10 623 2807 2004-06-05T18:56:15Z MediaWiki default 16 2807 wikitext text/x-wiki w kjus43u77uta99e0vnup67okq7yyqey Template:Accesskey-upload 10 624 2808 2004-06-05T18:56:15Z MediaWiki default 16 2808 wikitext text/x-wiki u 9keqcyxpso4xt62us3suyjkxabmw6vg Template:Accesskey-userpage 10 625 2809 2004-06-05T18:56:15Z MediaWiki default 16 2809 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb Template:Accesskey-viewsource 10 626 2810 2004-06-05T18:56:15Z MediaWiki default 16 2810 wikitext text/x-wiki e adui775lbdozbyt48qtd51g5y2uc0an Template:Accesskey-watch 10 627 2811 2004-06-05T18:56:15Z MediaWiki default 16 2811 wikitext text/x-wiki w kjus43u77uta99e0vnup67okq7yyqey Template:Accesskey-watchlist 10 628 2812 2004-06-05T18:56:15Z MediaWiki default 16 2812 wikitext text/x-wiki l 0wn6gm58khm8w28qidjjrmsmouhgw93 Template:Accesskey-whatlinkshere 10 629 2813 2004-06-05T18:56:15Z MediaWiki default 16 2813 wikitext text/x-wiki b rbcg0n5gpk678at6ddc8jemrq5qgc60 Template:Tooltip-addsection 10 713 2897 2004-06-05T18:56:15Z MediaWiki default 16 2897 wikitext text/x-wiki Add a comment to this page. [alt-+] nv7298pmiw79j3chusr1skoighgulaw Template:Tooltip-anontalk 10 714 2898 2004-06-05T18:56:15Z MediaWiki default 16 2898 wikitext text/x-wiki Discussion about edits from this ip address [alt-n] hj6y20193lmcrh2giuocx3gbic0wttx Template:Tooltip-anonuserpage 10 715 2899 2004-06-05T18:56:15Z MediaWiki default 16 2899 wikitext text/x-wiki The user page for the ip you're editing as [alt-.] aabkwbqplyfxal2hagglzbt9qqfi7jr Template:Tooltip-article 10 716 2900 2004-06-05T18:56:15Z MediaWiki default 16 2900 wikitext text/x-wiki View the content page [alt-a] bqt05u21fxcj64qixwo2hwlb8cucw1s Template:Tooltip-atom 10 717 2901 2004-06-05T18:56:15Z MediaWiki default 16 2901 wikitext text/x-wiki Atom feed for this page kqgicloob9xg6ysxbtcurooinsgh9x1 Template:Tooltip-contributions 10 719 2903 2004-06-05T18:56:15Z MediaWiki default 16 2903 wikitext text/x-wiki View the list of contributions of this user bbka0cwxdub67veyxtd39dqjg8v3s0r Template:Tooltip-currentevents 10 720 2904 2004-06-05T18:56:15Z MediaWiki default 16 2904 wikitext text/x-wiki Find background information on current events cxgxt6igj9rmfyntsk2z46gagjavqgf Template:Tooltip-delete 10 721 2905 2004-06-05T18:56:15Z MediaWiki default 16 2905 wikitext text/x-wiki Delete this page [alt-d] 8iut1pji5ze6ah952dcv2d5th9j5bsr Template:Tooltip-edit 10 722 2906 2004-06-05T18:56:15Z MediaWiki default 16 2906 wikitext text/x-wiki You can edit this page. Please use the preview button before saving. [alt-e] kjktg9vo6ybmamhiii24a09p8tkig4x Template:Tooltip-emailuser 10 723 2907 2004-06-05T18:56:15Z MediaWiki default 16 2907 wikitext text/x-wiki Send a mail to this user d9nzpro39juh3sbcj289bjskdbkba3p Template:Tooltip-help 10 724 2908 2004-06-05T18:56:15Z MediaWiki default 16 2908 wikitext text/x-wiki The place to find out. aw6jblpuaahbmqskyxkrxmqc5s8cgrq Template:Tooltip-history 10 725 2909 2004-06-05T18:56:15Z MediaWiki default 16 2909 wikitext text/x-wiki Past versions of this page, [alt-h] 0cxwmhe3xnep3oxr056qdnr9jip2k65 Template:Tooltip-login 10 726 2910 2004-06-05T18:56:15Z MediaWiki default 16 2910 wikitext text/x-wiki You are encouraged to log in, it is not mandatory however. [alt-o] 70j3fx4zy3ke5a55nb76mbw5quklxax Template:Tooltip-logout 10 727 2911 2004-06-05T18:56:15Z MediaWiki default 16 2911 wikitext text/x-wiki Log out [alt-o] isjlqk9sk09ibg4syjeqqklv45h9ka0 Template:Tooltip-mainpage 10 728 2912 2004-06-05T18:56:15Z MediaWiki default 16 2912 wikitext text/x-wiki Visit the Main Page [alt-z] 2v9kc9vqa1vz3u30hysx43dyfzlq9px Template:Tooltip-move 10 730 2914 2004-06-05T18:56:15Z MediaWiki default 16 2914 wikitext text/x-wiki Move this page [alt-m] ksqr9m7a1vsc0c8m4j4jly3ej2ccxnw Template:Tooltip-mycontris 10 731 2915 2004-06-05T18:56:15Z MediaWiki default 16 2915 wikitext text/x-wiki List of my contributions [alt-y] k0dg9944i1vsyfyygv4mnsg5t18p4vl Template:Tooltip-mytalk 10 732 2916 2004-06-05T18:56:15Z MediaWiki default 16 2916 wikitext text/x-wiki My talk page [alt-n] h6yx147fmdd8d6r5kmym4jhqxzb10uh Template:Tooltip-nomove 10 733 2917 2004-06-05T18:56:15Z MediaWiki default 16 2917 wikitext text/x-wiki You don't have the permissions to move this page j7bkhw3nscp1gewe2o4vsrf0kj1u6cr Template:Tooltip-portal 10 734 2918 2004-06-05T18:56:15Z MediaWiki default 16 2918 wikitext text/x-wiki About the project, what you can do, where to find things 17r0vqbefpbwwmlcdtaxz57yknghheu Template:Tooltip-preferences 10 735 2919 2004-06-05T18:56:15Z MediaWiki default 16 2919 wikitext text/x-wiki My preferences 812jud9dn6iu8xwjk9sdo58n3j6fng5 Template:Tooltip-protect 10 737 2921 2004-06-05T18:56:15Z MediaWiki default 16 2921 wikitext text/x-wiki Protect this page [alt-=] 93b3p0hwsdu4dfqkdwjf5b7b7rrg5sd Template:Tooltip-randompage 10 738 2922 2004-06-05T18:56:15Z MediaWiki default 16 2922 wikitext text/x-wiki Load a random page [alt-x] nn9n5jbju1gl6zz3huodde4d2rl5f78 Template:Tooltip-recentchanges 10 739 2923 2004-06-05T18:56:15Z MediaWiki default 16 2923 wikitext text/x-wiki The list of recent changes in the wiki. [alt-r] 5cbnp5m4a6xx435xghc3i92aodem7ml Template:Tooltip-recentchangeslinked 10 740 2924 2004-06-05T18:56:15Z MediaWiki default 16 2924 wikitext text/x-wiki Recent changes in pages linking to this page [alt-c] awtar38i93oxbhq7if5ixgzxmp8h4w1 Template:Tooltip-rss 10 741 2925 2004-06-05T18:56:15Z MediaWiki default 16 2925 wikitext text/x-wiki RSS feed for this page qgf716uj1kjwo7dhw7bklhczdkanwig Template:Tooltip-sitesupport 10 744 2928 2004-06-05T18:56:15Z MediaWiki default 16 2928 wikitext text/x-wiki Support Wiktionary bphby2mntzuhe2y45n0bc1198l0t0i9 Template:Tooltip-specialpage 10 745 2929 2004-06-05T18:56:15Z MediaWiki default 16 2929 wikitext text/x-wiki This is a special page, you can't edit the page itself. 5frzzw751pszifu1xisncbyh85edwyb Template:Tooltip-specialpages 10 746 2930 2004-06-05T18:56:15Z MediaWiki default 16 2930 wikitext text/x-wiki List of all special pages [alt-q] 3l7mumml6wkvefod7l0jz62rtxzuyir Template:Tooltip-talk 10 747 2931 2004-06-05T18:56:15Z MediaWiki default 16 2931 wikitext text/x-wiki Discussion about the content page [alt-t] piesoy12jjp4rhuk29cxmj2ic6nb067 Template:Tooltip-undelete 10 748 2932 2004-06-05T18:56:15Z MediaWiki default 16 2932 wikitext text/x-wiki Restore the $1 edits done to this page before it was deleted [alt-d] mpy161tzijria4wsqh79bdv63tmhdmc Template:Tooltip-unwatch 10 749 2933 2004-06-05T18:56:15Z MediaWiki default 16 2933 wikitext text/x-wiki Remove this page from your watchlist [alt-w] mf2rb2htbe30io9hjnhltapu9z8huur Template:Tooltip-upload 10 750 2934 2004-06-05T18:56:15Z MediaWiki default 16 2934 wikitext text/x-wiki Upload images or media files [alt-u] g2v35qunrqn6mg1az01jjyi8ajzabjq Template:Tooltip-userpage 10 751 2935 2004-06-05T18:56:15Z MediaWiki default 16 2935 wikitext text/x-wiki My user page [alt-.] rh4ne3jdht6l4hhjfzv4j6cjonokw75 Template:Tooltip-viewsource 10 752 2936 2004-06-05T18:56:15Z MediaWiki default 16 2936 wikitext text/x-wiki This page is protected. You can view its source. [alt-e] 523g6lpn10t0e0cj6o9610pz2z6gug2 Template:Tooltip-watch 10 753 2937 2004-06-05T18:56:15Z MediaWiki default 16 2937 wikitext text/x-wiki Add this page to your watchlist [alt-w] pf78k2y2ramp437vqetio5syjwah0ze Template:Tooltip-watchlist 10 754 2938 2004-06-05T18:56:15Z MediaWiki default 16 2938 wikitext text/x-wiki The list of pages you're monitoring for changes. [alt-l] rt22fxd8wwyir7v5kuh49s4piff5qt9 Template:Tooltip-whatlinkshere 10 755 2939 2004-06-05T18:56:15Z MediaWiki default 16 2939 wikitext text/x-wiki List of all wiki pages that link here [alt-b] gl6dflnxxea6o59ggfzrxlij99pjlwc Template:Usercssjs 10 762 2946 2004-06-05T18:56:15Z MediaWiki default 16 2946 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 Template:All system messages 10 769 2953 2004-06-05T18:57:30Z MediaWiki default 16 2953 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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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;//so.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;//so.wiktionary.org&quot; checked&gt; http&#58;//so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printsubtitle&action=edit printsubtitle]<br> [[MediaWiki_talk:Printsubtitle|Talk]] </td><td> (From http&#58;//so.wiktionary.org) </td><td> {{int:Printsubtitle}} </td></tr><tr><td> [http://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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://so.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> ajso1gcrj21jn8jxfy4z5e0srq19ls0 User:RCBot~sowiktionary 2 1081 12857 3265 2015-04-17T00:46:35Z Maintenance script 1461 Maintenance script moved page [[User:RCBot]] to [[User:RCBot~sowiktionary]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/RCBot|RCBot]]" to "[[Special:CentralAuth/RCBot~sowiktionary|RCBot~sowiktiona... 12857 wikitext text/x-wiki <div style="direction:ltr; text-align:left;"> '''[[:commons:User:RCBot|RCBot]]''' is a bot operated by [[:commons:User:Richie|Richie]] to help with issues related to the [[:commons:|Wikipedia Commons]]. Please comment on his [[:commons:User talk:RCBot|talk page]] there. -- [[User:RCBot|RCBot]] 22:42, 22 Apr 2005 (UTC) ---- <div style="font-size:80%;"> [[:aa:User:RCBot|aa]] | [[:af:Gebruiker:RCBot|af]] | [[:als:Benutzer:RCBot|als]] | [[:an:User:RCBot|an]] | [[:ang:User:RCBot|ang]] | [[:ar:مستخدم:RCBot|ar]] | [[:as:User:RCBot|as]] | [[:ast:User:RCBot|ast]] | [[:ay:User:RCBot|ay]] | [[:az:User:RCBot|az]] | [[:be:Удзельнік:RCBot|be]] | [[:bg:Потребител:RCBot|bg]] | [[:bh:User:RCBot|bh]] | [[:bi:User:RCBot|bi]] | [[:bn:ব্যবহারকারী:RCBot|bn]] | [[:bo:User:RCBot|bo]] | [[:br:User:RCBot|br]] | [[:bs:User:RCBot|bs]] | [[:ca:Usuari:RCBot|ca]] | [[:chr:User:RCBot|chr]] | [[:co:User:RCBot|co]] | [[:cs:Wikipedista:RCBot|cs]] | [[:csb:User:RCBot|csb]] | [[:cy:Defnyddiwr:RCBot|cy]] | [[:da:Bruger:RCBot|da]] | [[:de:Benutzer:RCBot|de]] | [[:el:User:RCBot|el]] | [[:en:User:RCBot|en]] | [[:eo:Vikipediisto:RCBot|eo]] | [[:es:Usuario:RCBot|es]] | [[:et:Kasutaja:RCBot|et]] | [[:eu:User:RCBot|eu]] | [[:fa:کاربر:RCBot|fa]] | [[:fi:Käyttäjä:RCBot|fi]] | [[:fo:Brúkari:RCBot|fo]] | [[:fr:Utilisateur:RCBot|fr]] | [[:fy:Meidogger:RCBot|fy]] | [[:ga:Úsáideoir:RCBot|ga]] | [[:gd:User:RCBot|gd]] | [[:gl:User:RCBot|gl]] | [[:gn:User:RCBot|gn]] | [[:gu:User:RCBot|gu]] | [[:gv:User:RCBot|gv]] | [[:ha:User:RCBot|ha]] | [[:he:משתמש:RCBot|he]] | [[:hi:सदस्य:RCBot|hi]] | [[:hr:User:RCBot|hr]] | [[:hu:User:RCBot|hu]] | [[:hy:User:RCBot|hy]] | [[:ia:Usator:RCBot|ia]] | [[:id:Pengguna:RCBot|id]] | [[:ie:User:RCBot|ie]] | [[:io:User:RCBot|io]] | [[:is:Notandi:RCBot|is]] | [[:it:Utente:RCBot|it]] | [[:jbo:User:RCBot|jbo]] | [[:jv:User:RCBot|jv]] | [[:ka:User:RCBot|ka]] | [[:kk:User:RCBot|kk]] | [[:km:User:RCBot|km]] | [[:kn:User:RCBot|kn]] | [[:ko:사용자:RCBot|ko]] | [[:ks:User:RCBot|ks]] | [[:ku:Bikarhêner:RCBot|ku]] | [[:kw:User:RCBot|kw]] | [[:ky:User:RCBot|ky]] | [[:la:Usor:RCBot|la]] | [[:lb:User:RCBot|lb]] | [[:ln:User:RCBot|ln]] | [[:lo:User:RCBot|lo]] | [[:lt:User:RCBot|lt]] | [[:lv:User:RCBot|lv]] | [[:mg:User:RCBot|mg]] | [[:mi:User:RCBot|mi]] | [[:mk:User:RCBot|mk]] | [[:ml:User:RCBot|ml]] | [[:mn:User:RCBot|mn]] | [[:mr:User:RCBot|mr]] | [[:ms:Pengguna:RCBot|ms]] | [[:mt:User:RCBot|mt]] | [[:my:User:RCBot|my]] | [[:na:User:RCBot|na]] | [[:nah:User:RCBot|nah]] | [[:nds:Bruker:RCBot|nds]] | [[:ne:User:RCBot|ne]] | [[:nl:Gebruiker:RCBot|nl]] | [[:nn:Brukar:RCBot|nn]] | [[:no:Bruker:RCBot|no]] | [[:oc:Utilisator:RCBot|oc]] | [[:om:User:RCBot|om]] | [[:pa:ਮੈਂਬਰ:RCBot|pa]] | [[:pi:User:RCBot|pi]] | [[:pl:Wikipedysta:RCBot|pl]] | [[:ps:User:RCBot|ps]] | [[:pt:Usuário:RCBot|pt]] | [[:qu:User:RCBot|qu]] | [[:rm:User:RCBot|rm]] | [[:ro:Utilizator:RCBot|ro]] | [[:roa-rup:User:RCBot|roa-rup]] | [[:ru:Участник:RCBot|ru]] | [[:sa:User:RCBot|sa]] | [[:scn:User:RCBot|scn]] | [[:sd:User:RCBot|sd]] | [[:si:User:RCBot|si]] | [[:simple:User:RCBot|simple]] | [[:sk:Redaktor:RCBot|sk]] | [[:sl:Uporabnik:RCBot|sl]] | [[:sq:Përdoruesi:RCBot|sq]] | [[:sr:Корисник:RCBot|sr]] | [[:st:User:RCBot|st]] | [[:su:User:RCBot|su]] | [[:sw:User:RCBot|sw]] | [[:ta:பயனர்:RCBot|ta]] | [[:tg:User:RCBot|tg]] | [[:th:ผู้ใช้:RCBot|th]] | [[:tk:User:RCBot|tk]] | [[:tl:User:RCBot|tl]] | [[:tlh:lo'wI:RCBot|tlh]] | [[:tn:User:RCBot|tn]] | [[:to:User:RCBot|to]] | [[:tpi:User:RCBot|tpi]] | [[:tr:User:RCBot|tr]] | [[:tt:Äğzä:RCBot|tt]] | [[:ug:User:RCBot|ug]] | [[:uk:Користувач:RCBot|uk]] | [[:ur:User:RCBot|ur]] | [[:uz:User:RCBot|uz]] | [[:vi:User:RCBot|vi]] | [[:vo:User:RCBot|vo]] | [[:wa:Uzeu:RCBot|wa]] | [[:xh:User:RCBot|xh]] | [[:yi:User:RCBot|yi]] | [[:yo:User:RCBot|yo]] | [[:za:User:RCBot|za]] | [[:zh-cn:User:RCBot|zh-cn]] | [[:zh-min-nan:User:RCBot|zh-min-nan]] | [[:zh-tw:User:RCBot|zh-tw]] | [[:zh:User:RCBot|zh]] | </div></div> a4c3mikemeluduvt1kajju3zdc9b5px User:Korg 2 1628 6195 4177 2008-05-08T19:40:46Z Korg 7 Replacing page with '[[m:User:Korg]]' 6195 wikitext text/x-wiki [[m:User:Korg]] 094wtog13qlbuajq5mye7rptj97kkfn User:Korg/monobook.js 2 1629 6196 4178 2008-05-08T19:41:11Z Korg 7 6196 javascript text/javascript document.write('<SCRIPT SRC="http://meta.wikimedia.org/w/index.php?title=User:Korg/global.js&action=raw&ctype=text/javascript"><\/SCRIPT>'); b6ucahkooqsve931i2zyz7x5oymu81v User talk:Gangleri 3 1632 15046 4187 2015-09-23T04:16:07Z Gangleri 8 layout:&nbsp;2015-09-17…b&nbsp;LTR&nbsp;RTL gangleri 15046 wikitext text/x-wiki {| class="float-center" border="0" cellpadding="0" cellspacing="0" style="background:#efefef; color:black" align="center" LANG="en" |- | align="center" colspan="2" | <span dir="ltr" >The phonetic transcription of <span class="nowrap" >«&nbsp;לערי&nbsp;ריינהארט&nbsp;»</span> is <span class="nowrap" LANG="he" >/lɛʁi&nbsp;ʁɑjnhɑʁt/</span> <span class="nowrap" >(leri&nbsp;raynhart).</span></span><br /> <!-- <span dir="ltr" >The phonetic transcription of <span class="nowrap" LANG="he" >«&nbsp;[[s:yi:בייַ מיר ביסטו שיין|בײַ&nbsp;מיר&nbsp;ביסטו&nbsp;שיין]]&nbsp;»</span> is <span class="nowrap" >/bɑj&nbsp;mɪʁ&nbsp;bɪstu&nbsp;ʃɛyn/</span> <span class="nowrap" >([[w:en:Bei Mir Bistu Shein|bay&nbsp;mir&nbsp;bistu&nbsp;sheyn]]).</span><br />&nbsp;</span><br /> --> {{Softredirect|1=testwiki:user talk:{{PAGENAME}}|2=<span dir="ltr" >testwiki:user talk:<span dir="ltr" >{{PAGENAME}}</span></span>}} |- | align="right" | [[image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:Gangleri]] |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' |}<!-- |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:Gangleri]] |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' --> <br clear="all" /> <!-- **only at sandbox subpages** <center dir="ltr" >This page is an '''user sandbox page'''.<br />'''SUBPAGENAME''':&nbsp;'''{{SUBPAGENAME}}'''&nbsp;&ndash; '''[[mediawiki:Sandbox]]''':&nbsp;'''{{int:Sandbox}}'''&nbsp;<sup>[[w:en:mediawiki:Sandbox]]</sup></center> ---- --> <center> : <sup><span dir="ltr" class="plainlinks" >SITENAME: '''{{SITENAME}}'''&nbsp;· '''language:'''&nbsp;{{CONTENTLANG}}:&nbsp;'''[{{fullurl:{{FULLPAGENAME}}|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:{{FULLPAGENAME}}|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}}}#footer #footer]</span></sup><!-- special:version --> : <sup><span dir "ltr" class="plainlinks" >[[special:version|local curent version]]: {{CURRENTVERSION}}&nbsp;· versions&nbsp;at&nbsp;[[b:special:version|b:]]&nbsp;· [[c:special:version|c:]]&nbsp;· [[d:special:version|d:]]&nbsp;·&nbsp;[[testwikidata:special:version|d2:]]&nbsp;· '''[[m:special:version|m:]]'''&nbsp;· [[mw:special:version|mw:]]&nbsp;· [[n:special:version|n:]]&nbsp;· [[q:special:version|q:]]&nbsp;· [[s:special:version|s:]]&nbsp;· '''[[testwiki:special:version|t:]]'''&nbsp;·&nbsp;[[test2wiki:special:version|t2:]]&nbsp;· [[v:special:version|v:]]&nbsp;· [[voy:special:version|voy:]]&nbsp;· [[w:special:version|w:]]&nbsp;· [[wikt:special:version|wikt:]]&nbsp;· [[w:en:special:version|w:en:]]&nbsp;· [[m:special:sitematrix#{{CONTENTLANG}}|m:special:sitematrix#{{CONTENTLANG}}]]&nbsp;· [[template:Wikivar]]&nbsp;·&nbsp;<sup>[[m:template:Wikivar|m:]]&lrm;</sup></span></sup> : <sup><span dir="ltr" class="plainlinks" >'''mediawiki:Sidebar'''&nbsp;'''[{{fullurl:mediawiki:Sidebar|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:mediawiki:Sidebar/en|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:mediawiki:Sidebar/de|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/es|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/fr|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/it|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ru|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/zh|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ar|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/he|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/hi|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/eo|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]</span></sup> : <sup><span dir "ltr" class="plainlinks" >[{{fullurl:special:Preferences}}#top <span dir="ltr" LANG="en" >your]&nbsp;[{{fullurl:special:Preferences|uselang=en}}#top <span dir="ltr" LANG="en" >local preferences]&nbsp;· [{{fullurl:special:Preferences|uselang=de}}#mw-prefsection-personal <span dir="ltr" LANG="de" >Einstellungen</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=es}}#mw-prefsection-rendering <span dir="ltr" LANG="es" >Preferencias</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=fr}}#mw-prefsection-editing <span dir="ltr" LANG="fr" >Préférences</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=it}}#mw-prefsection-rc <span dir="ltr" LANG="it" >Preferenze</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ru}}#mw-prefsection-watchlist <span dir="ltr" LANG="ru" >Настройки</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=zh}}#mw-prefsection-gadgets <span dir="ltr" LANG="zh" >设置</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ar}}#mw-prefsection-betafeatures <span dir="ltr" LANG="ar" >تفضيلات</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=he}}#mw-prefsection-betafeatures <span dir="ltr" LANG="he" >העדפות</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=hi}}#top <span dir="ltr" LANG="hi" >मेरी वरीयताएँ</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=eo}}#top <span dir="ltr" LANG="eo" >Preferoj</span>]</span></sup><!-- user:{{BASEPAGENAME}} --> : <sup><span dir "ltr" class="plainlinks" >user&nbsp;/&nbsp;&lrm;'''<span dir="ltr" >{{ns:2}}</span>'''&lrm;:&nbsp;&lrm;'''<span dir="ltr" >[[user:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]</span>&lrm;'''&nbsp;·&nbsp;[{{SERVER}}/?title=special:ListUsers&limit=1&username={{BASEPAGENAMEE}} rights]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}|all subpages]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}|T]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.css|&lrm;/common.css]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.js|/common.js]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/Archive/previous user page|/previous user page]]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}/Archive|archives]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}/Archive|archived talks]]&nbsp;· [[b:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|b:]]&nbsp;· [[c:user:{{BASEPAGENAME}}|c:]]&nbsp;· [[d:user:{{BASEPAGENAME}}|d:]]&nbsp;·&nbsp;[[testwikidata:user:{{BASEPAGENAME}}|d2:]]&nbsp;· [[m:user:{{BASEPAGENAME}}|m:]]&nbsp;· [[mw:user:{{BASEPAGENAME}}|mw:]]&nbsp;· [[n:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|n:]]&nbsp;· [[q:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|q:]]&nbsp;· [[s:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|s:]]&nbsp;· [[testwiki:user:{{BASEPAGENAME}}|t:]]&nbsp;·&nbsp;[[test2wiki:user:{{BASEPAGENAME}}|t2:]]&nbsp;· [[v:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|v:]]&nbsp;· [[voy:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|voy:]]&nbsp;· [[w:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|w:]]&nbsp;· [[wikt:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|wikt:]]&nbsp;· [[w:en:user:{{BASEPAGENAME}}|w:en:]]&nbsp;·&nbsp;[[w:user:{{BASEPAGENAME}}|w:]]&nbsp;·&nbsp;[[:en:user:{{BASEPAGENAME}}|:en:]]&lrm;</span></sup><!-- special:foobar --> : <sup><span dir "ltr" class="plainlinks" >&nbsp;[{{fullurl:special:WhatLinksHere/{{FULLPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;WLH]&lrm;&nbsp;· [{{fullurl:special:RecentChanges|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;RC]&lrm;&nbsp;· [{{fullurl:special:Logs|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;logs]&lrm;&nbsp;· [{{fullurl:special:WatchList|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;watchlist]&lrm;&nbsp;<sup>[{{fullurl:special:WatchList/edit|uselang=en}}#top <span LANG="en" >&nbsp;edit]</sup>&lrm;&nbsp;· [{{fullurl:special:Contributions/{{BASEPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;ontributions]&lrm;&nbsp;· [[mediawiki:Common.css|'''local'''&nbsp;mediawiki:Common.css]]&nbsp;· [[mediawiki:Common.js|'''local'''&nbsp;mediawiki:Common.js]]&nbsp;· [[mediawiki:Gadgets-definition|'''local'''&nbsp;mediawiki:Gadgets-definition]]&nbsp;· '''[[special:Notifications|local notifications]]'''<br />[[m:user:{{BASEPAGENAME}}/global.css|m:…'''/global.css''']]&nbsp;·&nbsp;[[m:user:{{BASEPAGENAME}}/global.js|m:…'''/global.js''']]&nbsp;·&nbsp;[[special:centralAuth/{{BASEPAGENAMEE}}|'''global'''&nbsp;account&nbsp;information]]&nbsp;· [https://tools.wmflabs.org/guc/?user={{URLENCODE:{{BASEPAGENAME}}|WIKI}} '''global'''&nbsp;user&nbsp;contributions]<!-- &nbsp;· [https://toolserver.org/~River/cgi-bin/count_edits?user={{BASEPAGENAMEE}}&dbname=wikidatawiki_p&machread=1] --></span></sup><!-- PAGEID related links --> : <sup><span dir "ltr" class="plainlinks" >'''PAGEID:'''&nbsp;{{PAGEID}}&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}#top links&nbsp;'''here''']&nbsp;· <sup>[https:{{SERVER}}/?curid={{PAGEID}}&action=purge# purge&nbsp;↺]&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}&action=edit&section=0# section=0]</sup>&nbsp;· '''REVISIONID:'''&nbsp;{{REVISIONID}}&nbsp;· [https:{{SERVER}}/?oldid={{REVISIONID}}# permanent&nbsp;link]&nbsp;· (layout:&nbsp;2015-09-17…b&nbsp;[https://fi.wikipedia.org/?curid=468081#top LTR]&nbsp;[https://ug.wiktionary.org/?curid=5716#top RTL]&nbsp;short)&lrm;</span></sup><!-- testing and validation links related languages / dialects --> : <sup><span dir "ltr" class="plainlinks" >'''testing and validation links:'''&nbsp;[[user:בײַ מיר ביסטו שיין#BiDi_issues|BiDi issues]]&nbsp;· [[user:I18n|gadget issues]]&nbsp;· '''[[#related languages]] / [[#related dialects]]'''&nbsp;· [[/local notes]]</span></sup> </center> ---- <!-- <br clear="all" /> --> __TOC__ == <span dir="ltr" >Welcome&lrm;&nbsp;<span id="Welcome" dir="ltr" >{{PAGENAME}}</span>&nbsp;to&nbsp;<span id="WelcomeToSITENAME" dir="ltr" >{{SITENAME}}</span>!</span> == : [[User:Gangleri|Gangleri]] | [[User talk:Gangleri|T]] | [[m:user:Gangleri|m:]] [//meta.wikimedia.org/wiki/user_talk:Gangleri?action=history Th] | [[m:user talk:Gangleri|T]] 04:16, 23 Sebteembar 2015 (UTC) dq7i5v7ql6kwcf9dr5lauj3h23ossa9 User:Gangleri 2 1633 4188 2006-01-05T00:46:05Z Gangleri 8 4188 wikitext text/x-wiki [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|action=purge}} ↺] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|oldid={{REVISIONID}}}} rev-ID : {{REVISIONID}}]<br /> [{{SERVER}}{{localurl:special:Prefixindex|from=Gangleri&namespace=2}} special:Prefixindex|from=Gangleri&namespace=2] <br clear="all" /> __NOTOC____NOEDITSECTION__ ===== [[commons:User:Gangleri]] ===== [[Image:Redirect arrow without text.png|left]] ::* '''irc://irc.freenode.net/wikimedia''' ::* [[wikipedia:de:Benutzer:Gangleri]] ::* [[wikipedia:en:User:Gangleri]] ::* [[wikipedia:eo:Vikipediisto:Gangleri]] ::* [[wikipedia:is:Notandi:Gangleri]] ::* [[wikipedia:ro:Utilizator:Gangleri]] ::* [[wikipedia:yi:באַניצער:Gangleri]] ::* '''[[meta:User:Gangleri]]''' [[de:Benutzer:Gangleri]] [[en:User:Gangleri]] [[eo:Vikipediisto:Gangleri]] [[is:Notandi:Gangleri]] [[ro:Utilizator:Gangleri]] [[yi:באַניצער:Gangleri]] lhlfa78gk0u0qxu1rke1ldkfnhhzzsq Bogga Hore 0 1634 20505 19976 2021-02-13T13:21:41Z Minorax 2056 obs tag 20505 wikitext text/x-wiki <div id="FiWiktSearch" style="background-repeat: no-repeat; background-position: 0% 20%;background-color: #ffffff; color: black; border: 1px solid #cccccc; padding:20px 7px 7px 7px; margin-bottom: 20px;"> <h2 style="text-align: center; font-size: 300%; margin-bottom: 15px; border-bottom: none;">WikiQaamuus</h2> <div style="text-align: center; font-size: 92%; margin-bottom: 5px;">WikiQaamuus waxaa hada ku jira '''[[Special:Statistics|{{NUMBEROFARTICLES}}]]''' maqaal.</div> <div class="center"> <div style="width: 50%;"> <inputbox> type=search2 buttonlabel=Aad width=43 break=no bgcolor=#ffffff </inputbox> </div> </div> <br /> Aad ereyga: [[Special:Allpages/A|A]]&#160;[[Special:Allpages/a|a]] [[Special:Allpages/B|B]]&#160;[[Special:Allpages/b|b]] [[Special:Allpages/C|C]]&#160;[[Special:Allpages/c|c]] [[Special:Allpages/D|D]]&#160;[[Special:Allpages/d|d]] [[Special:Allpages/E|E]]&#160;[[Special:Allpages/e|e]] [[Special:Allpages/F|F]]&#160;[[Special:Allpages/f|f]] [[Special:Allpages/G|G]]&#160;[[Special:Allpages/g|g]] [[Special:Allpages/H|H]]&#160;[[Special:Allpages/h|h]] [[Special:Allpages/I|I]]&#160;[[Special:Allpages/i|i]] [[Special:Allpages/J|J]]&#160;[[Special:Allpages/j|j]] [[Special:Allpages/K|K]]&#160;[[Special:Allpages/k|k]] [[Special:Allpages/L|L]]&#160;[[Special:Allpages/l|l]] [[Special:Allpages/M|M]]&#160;[[Special:Allpages/m|m]] [[Special:Allpages/N|N]]&#160;[[Special:Allpages/n|n]] [[Special:Allpages/O|O]]&#160;[[Special:Allpages/o|o]] [[Special:Allpages/P|P]]&#160;[[Special:Allpages/p|p]] [[Special:Allpages/Q|Q]]&#160;[[Special:Allpages/q|q]] [[Special:Allpages/R|R]]&#160;[[Special:Allpages/r|r]] [[Special:Allpages/S|S]]&#160;[[Special:Allpages/s|s]] [[Special:Allpages/T|T]]&#160;[[Special:Allpages/t|t]] [[Special:Allpages/U|U]]&#160;[[Special:Allpages/u|u]] [[Special:Allpages/V|V]]&#160;[[Special:Allpages/v|v]] [[Special:Allpages/W|W]]&#160;[[Special:Allpages/w|w]] [[Special:Allpages/X|X]]&#160;[[Special:Allpages/x|x]] [[Special:Allpages/Y|Y]]&#160;[[Special:Allpages/y|y]] [[Special:Allpages/Z|Z]]&#160;[[Special:Allpages/z|z]] [[Special:Allpages/Å|Å]]&#160;[[Special:Allpages/å|å]] [[Special:Allpages/Ä|Ä]]&#160;[[Special:Allpages/ä|ä]] [[Special:Allpages/Ö|Ö]]&#160;[[Special:Allpages/ö|ö]] [[Special:Allpages/Ά|Α–Ω]]&#160;[[Special:Allpages/ά|α–ω]] [[Special:Allpages/Ё|А–Я]]&#160;[[Special:Allpages/а|а–я]] [[Special:Allpages/א|א–ת]] [[Special:Allpages/آ|ﺍ–ﻱ]] [[Special:Allpages/अ|अ–ह]] [[Special:Allpages/অ|অ–ঢ়]] [[Special:Allpages/ก|ก–ฮ]] [[Special:Allpages/அ|அ]] [[Special:Allpages/あ|あ–ん]] [[Special:Allpages/ア|ア–ン]] [[Special:Allpages/一|一–]] [[Special:Allpages/广|广–]] [[Special:Allpages/火|火–]] [[Special:Allpages/羊|羊–]] [[Special:Allpages/酉|酉–龠]] [[Special:Allpages/가|가–힣]] <div style="text-align: center;"> [[:Category:Luqadaha|luqadaha]] | [[WikiQaamuus:Liiska ereyada oo dhan|liiska ereyada]] | [[WikiQaamuus:Lifaaqyaal|lifaaqyaal]] </div> </div> {| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:100%" | style="width:50%; vertical-align:top; border:1px solid #afa3bf; background-color:#faf5ff;" | <div style="border-bottom:1px solid #afa3bf; background-color:#ddcef2; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">'''Soo dhawoow'''</div> <div style="padding:0.4em 1em 0.3em 1em;"> Ujeedada mashruuca WikiQaamuus waa in la abuuro qaamuus u dhaxeeya dhamaan luqadaha oo dhan, kaasoo furan (aan xadeysneyn). Maqaalada qaamuuswiki wuxuu ka koobanyahay luqado kaladuwan, sida [[dooli]] ama [[computer]]. Maqaalada waxaa sharax laga bixinayaa ereyada afka soomaaliga iyo tarjumaada ereyada luqadaha kale macnahooda oo af soomaali ah. For example, if you want to know what "dictionary" means, type "dictionary" into the box and click "Go". </div> |} {| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:100%" | style="width:60%; vertical-align:top; border:1px solid #fad67d; background-color:#faf6ed;" | <div style="border-bottom:1px solid #fad67d; background-color:#faecc8; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">'''Talooyin qoraayaasha loogu talogalay'''</div> <div style="padding:0.4em 1em 0.3em 1em;"> WikiQaamuus waxaa wax ka bedeli kara qof walba. Waxaad sii balaarin kartaa ereyada horey loo qoray ama waxaad abuuri kartaa ereyo cusub. Caawinaad waxaad kaheleysaa [[WikiQaamuus:Tusaale maqaal-erey|maqaal-erey tusaale]]. [[WikiQaamuus:bacaad|Bacaadka]] waxaad ku baran kartaa sidii loo isticmaali lahaa WikiQaamuus waxaadna sameyn kartaa tijaabooyin. * '''Buuxi codsiga ereyada:''' {{Codsimaqaal}}. </div> | style="padding:0em 0.5em;" | | style="width:40%; vertical-align:top; border:1px solid #abd5f5; background-color:#f1f5fc;" | <div style="border-bottom:1px solid #abd5f5; background-color:#d0e5f5; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">'''WikiQaamuus waxaa loo isticmaali karaa'''</div> <div style="padding:0.4em 1em 0.3em 1em;"> * macnayaasha ereyada, [[terminooloji]]da iyo [[soogaabiye|soogaabiyayaasha]] * sida qaamuus ilbaxnimo * sida qaamuus lahjad * sida qaamuus ereyada isku macnaha ah * sida qaamuus tarjumaad </div> |} == Mashruucyo qaraabo la'ah == {{Mashruucyo qaraabo la'ah‎}} [[aa:Main Page]] [[bh:Main Page]] [[dz:Main Page]] [[eo:]] [[mh:Main Page]] [[pi:Main Page]] [[rn:Main Page]] [[tw:Main Page]] [[xh:Main Page]] [[yo:Main Page]] mzri0nx1xu581v1n3ojnz2ex40d0a4r User:Balû/Stat 2 1635 4192 2006-01-20T13:51:19Z Balû 10 4192 wikitext text/x-wiki XXXSTATXXX{{NUMBEROFARTICLES}}XXXSTATXXX dmdg06mi1r1ahl6z2i7qpm3745lnf8z main Page 0 1802 7550 4477 2011-10-13T09:27:52Z Ruslik0 500 fixing dr 7550 wikitext text/x-wiki #REDIRECT [[Bogga Hore]] qkg8h7j2f8fa92be8sholdju0u6cymq Talk:main Page 1 1803 7551 4479 2011-10-13T09:28:18Z Ruslik0 500 fixing dr 7551 wikitext text/x-wiki #REDIRECT [[Talk:Bogga Hore]] 7lgozkbg43phmwr8jtvhmcigwpbq5li User:Thogo 2 1931 6262 4631 2008-10-29T09:33:58Z Pathoschild 41 + global user page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6262 wikitext text/x-wiki {| cellpadding="2" style="border-color:#008B45; empty-cells:show;" <!-- Beginn Hauptrahmen --> |- | heigth="2px" bgcolor="#7EC0EE" colspan="2" | |- <!------------ Kopf mit Willkommenstext und der Navileiste ------------> | colspan="2" | <!------ Willkommenstext ------> <span style="text-align:center; font-size:127%; line-height:1.3;"> Welcome to my user page! </span> <br /><br /> My name is Thomas Goldammer, I'm from Leipzig, Germany. I'm a [[m:Stewards|steward]] of the Wikimedia Foundation. I visit this wiki mainly to undo vandalism and put deletion requests on nonsense pages. <br /> {| align="center" style="padding:5px; text-align:center;" |- | width="48%" style="border-bottom:1px dashed #AAA;" | |- | '''«[[m:User talk:Thogo|Discussion]]»''' | [[Special:Emailuser/Thogo|E-Mail]] | [[Special:Contributions/Thogo|Contribs]] <br /> This wiki has '''{{NUMBEROFARTICLES}}''' articles. |- | width="48%" style="border-top:1px dashed #AAA;" | |} |} otnmrah3wrqxuqimic87ero63ehipxt aabo 0 1932 20030 18373 2018-10-28T06:49:57Z Sakiinlaq 1889 20030 wikitext text/x-wiki {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} = #:{{magac-yaal|aaba}} {{-so-}} === Magac === '''Aabo''' # waa [[nin]]ka ama [[lab]]ka [[waalid]]ka u ah ama dhalay [[ilmo|ilmaha]] ([[wiil]]asha iyo [[gabadh|gabdhaha]]). Sidoo kale, aabuhu wuxuu noqon karaa [[seey]]ga qaba [[hooyo|hooyada]] ilmaha (2). # [[cunug|Cunuga]] [[hooyo|hooyadiisa]] ninka qabo ama soo korsaday (1). ==== La macno ah ==== * [[oday]], [[aabe]] (1,2) ==== Qoyska ==== Aabuhu wuxuu ka mid yahay xubnaha ugu muhiimsan ee [[qoys]]ka reer leeyahay, waxaana [[waalid]] u yahay [[ilmo|ilmaha]] ([[wiil]]asha iyo [[gabadh|gabdhaha]]). Dadka kale ee qoyska ka tirsan waa [[aabe]] iyo qaraabo. === Tarjumaad === {{kor}} * {{en}}: [[father]] {{dhaxda}} * {{fi}}: [[isä]] * {{pt}}: [[pai]] {{hoos}} === Erayo La Xidhiidha === * [[hooyo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] trvbjk9ibusbzfu2fgubx5ikaa6vxsu nin 0 1933 21678 19069 2022-07-22T14:09:30Z 86.114.191.253 /* Tarjumaad */ fi 21678 wikitext text/x-wiki '''Nin''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Dad]]ka''' |- | style="background: ; text-align: center;" | [[Nin]] [[Naag]] |- | style="background: #ccf; text-align: center;" | '''[[Jinsi]]ga''' |- | style="background: ; text-align: center;" | [[Lab]] [[Dhedig]] |- | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | [[Seey]] [[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | [[Hooyo]] [[Aabo]] ;[[Wiil]] [[Gabadh]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Xubnaha Kale ee Qoyska]]''' |- | style="background: #ccf; text-align: center;" | '''[[Waalid]]''' |- | style="background: ; text-align: center;" | [[Adeer]] [[Abti]] [[Eedo]] [[Habaryar]] [[Awoowe]] [[Ayeeyo]] [[Abkow]] [[Mocooyo]] |- | style="background: #ccf; text-align: center;" | '''[[Walaal]]''' |- | style="background: ; text-align: center;" | [[Aboowe]] [[Abaayo]] |} {{-so-}} === Magac === '''[[Nin]]''' # waa shaqsiga [[lab]]ka ah ee baniaadamka. # waa [[qof]] [[lab]] ah oo ka mid ah [[dad]]ka. ==== Synonoom ==== * [[rag]] (1) ==== Tarjumaad ==== * {{en}}: [[man]] * {{fi}}: [[mies]] === Ka Soo Horjeeda === Ereyga ''nin'' waxaa lid ku ah ama ka soo horjeeda [[naag]]. === Erayo La Xidhiidha === * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] [[Category:Soomaali ereyada-ni|n]] fs5o28r9xabpzwwdlnm7d7mbufiv5ns ereysir 0 1934 18713 9227 2017-04-28T17:25:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18713 wikitext text/x-wiki {{-so-}} === Magac === '''ereysir''' # Erey sir ah oo aan dadka kale aysan ogeyn. Waxaa badanaa lagu isticmaalaa [[kumbuyuutar]]da. ==== Tarjumaad ==== {{kor}} * {{de}}: [[Passwort]] * {{en}}: [[password]] * {{es}}: [[seña]] * {{fr}}: [[mot de passe]] {{dhaxda}} * {{fi}}: [[salasana]] * {{nl}}: [[wachtwoord]] * {{pt}}: [[senha]] * {{sv}}: [[lösenord]] {{hoos}} [[Category:Soomaali ereyada-er|eysir]] b78qsf3rn1ggps5lwapeizvdap6ga8y password 0 1936 19129 16972 2017-04-28T17:28:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19129 wikitext text/x-wiki {{-en-}} === Magac === '''password''' # [[ereysir]] ==== Synonuum ==== * [[access key]] [[Category:Ingiriis ereyada-pa|ssword]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 8ypsxw1b9sq7rb23w7rjdqaryjnta1c computer 0 1937 18586 18121 2017-04-28T17:24:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18586 wikitext text/x-wiki {{-en-}} === magac === '''computer''' # [[kumbuyuutar]] [[Category:Ingiriis ereyada-co|mputer]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 152dgn24dhi7mrb5klhkkxbpbamu3ba kumbuyuutar 0 1938 18950 9456 2017-04-28T17:27:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18950 wikitext text/x-wiki {{-so-}} [[File:Computer-blue.svg|thumb|right|kumbuyuutarka]] === Magac === '''kumbuyuutar''' # Aalad ama makiinad ku shaqeysa xisaabaadka loojiga ah. ==== Ereyo la'xiraara ==== * [[shaashad]], [[dooli]], [[alwaaxa-furayaasha]] ==== Tarjumaad ==== * English: [[computer]] [[Category:Soomaali ereyada-ku|mbuyuutar]] 32whb0ca77thall60ttdf7v9cef8b9l shaashad 0 1939 19288 10063 2017-04-28T17:29:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19288 wikitext text/x-wiki {{-so-}} [[File:Monitor.jpg|thumb|right|Shaashada kumbuyuutarka]] === Magac === '''shaashad''' # Muraayada lagu xiro [[kumbuyuutar|ka]] oo [[isticmaalaha]] ka arkikaro waxa uu qoraayo #: ''Waa in la damiyaa shaadhada kumbuyuutarka'' ==== Ereyo la'xiraara ==== * [[kumbuyuutar]], [[dooli]], [[alwaaxa-furayaasha]] ==== Tarjumaad ==== {{kor}} * {{ar}}: [[عرض]] * {{en}}: [[display]] * {{hu}}: [[kijelző]] {{dhaxda}} * {{fi}}: [[näyttölaite]] * {{el}}: [[επίδειξη]] (epídeixi̱) * {{vi}}: [[màn hình hiển thị]] {{hoos}} [[Category:Soomaali ereyada-sha|ashad]] 7jphc5lveeij682a3d6o8xeuw0oh2eq display 0 1940 18643 16214 2017-04-28T17:25:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18643 wikitext text/x-wiki {{-en-}} === magac === '''display''' # [[shaashad]] [[Category:Ingiriis ereyada-di|splay]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] g5dapk8pz8fsmkzbtr3uy7i4mjp9v5e Template:dhaxda 10 1941 6658 6653 2010-02-11T11:51:52Z 82.198.250.69 6658 wikitext text/x-wiki |} | width="1%" | | valign="top" bgcolor="f0f8ff" width="48%" style="padding-left: 0.5em; color:black; background-color: #f0f8ff;" | bwx8h1zh0yv5l1aa5rg0xunw5pxb3kz Template:kor 10 1942 4665 4661 2006-11-23T11:01:27Z Mimursal 18 [[Templete:kor]] moved to [[Template:kor]]: Misspelling of template 4665 wikitext text/x-wiki '''{{{1|}}} {{{2|}}}''' {| border="0" width="100%" |- | valign="top" bgcolor="f0f8ff" width="48%" style="padding-left: 0.5em; color:black; background-color: #f0f8ff" | {| 0k9q7spfoccfxmnk5putdqcgxhk6qjl Template:hoos 10 1943 4663 4662 2006-11-23T11:00:39Z Mimursal 18 [[Templete:hoos]] moved to [[Template:hoos]]: Misspelling of template 4663 wikitext text/x-wiki |} 14h6gj11h39pn3zk4kr6r3ghszdczjo salasana 0 1947 19243 17773 2017-04-28T17:29:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19243 wikitext text/x-wiki {{-fi-}} === Magac === '''salasana''' <small>([[sala-]] + [[sana]])</small> # [[ereysir]] [[Category:Luqada Finnishka ereyada kumbuyuutarada]] 1pn58zc24azmp3e9l1gfgxquqjkxrev dooli 0 1948 20341 20206 2020-07-18T14:30:27Z Penarc 2220 /* Tarjumaad */ es+2 20341 wikitext text/x-wiki {{-so-}} [[File:House_mouse.jpg|thumb|right|Dooliga xeywaanka ah.]] [[File:3-Tasten-Maus Microsoft.jpg|thumb|right|dooliga kumbuyuutarka.]] === Magac === '''dooli''' # Xaywaan yar oo dub dheer leh (1). # Maawska lagu xiro [[kumbuyuutar|kombuyuutar]]ka oo uu [[isticmaalaha]] ka xukumikaro kumbuyuutarka (2). ==== Ku micna ah ==== :[[jiir]] : ==== Ereyo la'xiraara ==== * [[mukulaal]], [[bisad]] * [[kumbuyuutar]], [[shaashad]], [[alwaaxa-furayaasha]] ==== Tarjumaad ==== {{kor}} * {{ar}}: [[فأرة]] (fá’ra) [1,2] * {{en}}: [[mouse]] [1,2] {{dhaxda}} * {{fi}}: [[hiiri]] * {{pt}}: [[rato]] [1,2], [[mouse]] [2] * Spanish: [[ratón]], mouse [2] * Swedish: [[mus]] * Turki: [[fare]] [1,2] {{hoos}} [[Category:Soomaali ereyada-do|oli]] 3soykqacqroo3fss3y5975u840smyr4 soogaabiye 0 1949 19319 9504 2017-04-28T17:29:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19319 wikitext text/x-wiki {{-so-}} === Magac === '''soogaabiye''' # Erey soo gaabinaayo ereyo kale sida #: ''IWM oo u dhiganta Iyo Wixii la Mid ah'' #: ''IWW Isir weynaha ay Wadaagaa'' ==== Tarjumaad ==== {{kor}} * {{ar}}: [[الاختصار]] * {{de}}: [[Abkürzung]] * {{en}}: [[abbreviation]] * {{ha}}: [[raguwa]] * {{hu}}: [[rövidítés]] {{dhaxda}} * {{fi}}: [[lyhenne]] * {{fa}}: [[مخفف]] * {{id}}: [[singkatan]] * {{ms}}: [[penyingkatan]] * {{pt}}: [[abreviatura]] * {{zh}}: [[缩写]] (suōxiě) {{hoos}} [[Category:Soomaali ereyada-so|oogaabiye]] g0wxnsmb0clz9a4d0favm44hqgvw52y abbreviation 0 1950 18375 10769 2017-04-28T17:23:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18375 wikitext text/x-wiki {{-en-}} === magac === '''abbreviation''' # [[soogaabiye]] [[Category:Ingiriis ereyada-ab|breviation]] rinjplwis16ecfpsfc6i1ciunwbhry4 lyhenne 0 1951 20198 20186 2019-02-05T17:24:07Z 91.156.27.99 20198 wikitext text/x-wiki == Finnish == === Magac === '''lyhenne''' # [[soogaabiye]] [[Category: Finnish ereyada]] fmb8dj29h8heer0sw9m5nugzi6re6ib father 0 1952 18747 17044 2017-04-28T17:25:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18747 wikitext text/x-wiki {{-en-}} === Magac === '''father''' # [[aabo]] mz52jzevd174qay9hjyinhg4eeshg7j Category:Soomaali ereyada-aa 14 1953 4681 4680 2006-11-23T15:15:33Z Mimursal 18 4681 wikitext text/x-wiki [[category: Soomaali ereyada-a|a]] gnz6wuegwve9czyoyv6qgwq0t1vrk6h Category:Soomaali ereyada-a 14 1954 6645 6644 2010-02-11T11:38:55Z 82.198.250.69 6645 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada 14 1955 19937 15435 2017-07-03T13:39:10Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19937 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx terminooloji 0 1956 20211 20210 2019-03-03T01:30:03Z Esteban16 1971 Wuxuu dib u noqay badalkii oo sameeyay [[Special:Contributions/194.192.104.251|194.192.104.251]] ([[User talk:194.192.104.251|talk]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:JAnDbot|JAnDbot]] 19381 wikitext text/x-wiki {{-so-}} === Magac === '''terminooloji''' # Ereyo khaas u ah cilmiyada [[saynis]]ka ee kale duwan sida, cilmi dayaxa, caafimaadka ama ganacsiga. ==== Tarjumaad ==== {{kor}} * {{en}}: [[terminology]] {{dhaxda}} * Finnish: [[terminologia]] * Spanish: [[terminología]] {{hoos}} fhextneg70kablilfkyh616hldfy7p8 terminology 0 1959 19379 14058 2017-04-28T17:30:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19379 wikitext text/x-wiki {{-en-}} === Magac === '''terminology''' # [[terminooloji]] [[Category:Ingiriis ereyada-te|rminology]] lrqhenzuu73ged172lzo3jqacxuxnyd terminologia 0 1960 19378 12116 2017-04-28T17:30:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19378 wikitext text/x-wiki {{-fi-}} === Magac === '''terminologia''' # [[terminooloji]] ebrxahhwtl56cx03513m8469pn5e5ii Category:Finnish ereyada-te 14 1961 4692 2006-11-23T20:14:36Z Mimursal 18 New page: [[Category:Finnish ereyada-t]] 4692 wikitext text/x-wiki [[Category:Finnish ereyada-t]] 4wkecq2syfbondxp1axpslopj93faaq Category:Finnish ereyada-t 14 1962 4693 2006-11-23T20:15:35Z Mimursal 18 New page: [[category:Finnish ereyada]] 4693 wikitext text/x-wiki [[category:Finnish ereyada]] mpgxxrd4n4bo2y3h1d5lgt1vae3cwvs Category:Soomaali ereyada-do 14 1963 4696 2006-11-23T20:30:31Z Mimursal 18 New page: [[Category:Soomaali ereyada-d]] 4696 wikitext text/x-wiki [[Category:Soomaali ereyada-d]] 7wl826skordop5uylezcrc4uj7be4nl Category:Soomaali ereyada-d 14 1964 4697 2006-11-23T20:31:18Z Mimursal 18 New page: [[Category: Soomaali ereyada]] 4697 wikitext text/x-wiki [[Category: Soomaali ereyada]] 5fgt58lova1zpangqijry4lj2n4g2dh Category:Ingiriis ereyada-ab 14 1965 4698 2006-11-23T20:41:35Z Mimursal 18 New page: [[Category:Ingiriis ereyada-a]] 4698 wikitext text/x-wiki [[Category:Ingiriis ereyada-a]] l7vuxgykzqz21hv75b9a22rywcvjjge Category:Ingiriis ereyada-a 14 1966 4699 2006-11-23T20:42:15Z Mimursal 18 New page: [[Category: Ingiriis ereyada]] 4699 wikitext text/x-wiki [[Category: Ingiriis ereyada]] 5rhqww9eai5xu5flg7hnuar6tt7s5hh Category:Ingiriis ereyada-co 14 1967 4700 2006-11-23T20:44:47Z Mimursal 18 New page: [[Category:Ingiriis ereyada-c]] 4700 wikitext text/x-wiki [[Category:Ingiriis ereyada-c]] 6vhpq0kmi23welo4g8gau18xfnw2yh0 Category:Ingiriis ereyada-c 14 1968 4701 2006-11-23T20:45:03Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4701 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Ingiriis ereyada-di 14 1969 4702 2006-11-23T20:45:46Z Mimursal 18 New page: [[Category:Ingiriis ereyada-d]] 4702 wikitext text/x-wiki [[Category:Ingiriis ereyada-d]] 8gzomnkopeek64bok6gqkfovb6rngo5 Category:Ingiriis ereyada-d 14 1970 4703 2006-11-23T20:46:14Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4703 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Ingiriis ereyada-fa 14 1971 4704 2006-11-23T20:46:57Z Mimursal 18 New page: [[Category:Ingiriis ereyada-f]] 4704 wikitext text/x-wiki [[Category:Ingiriis ereyada-f]] 8drlloe091sgxdibpyvcftx2m6l8jud Category:Ingiriis ereyada-f 14 1972 4705 2006-11-23T20:47:31Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4705 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Ingiriis ereyada-pa 14 1973 4706 2006-11-23T20:48:05Z Mimursal 18 New page: [[Category:Ingiriis ereyada-p]] 4706 wikitext text/x-wiki [[Category:Ingiriis ereyada-p]] ft2iyl8j2wxgwdjeslinzxrqi0su6k4 Category:Ingiriis ereyada-p 14 1974 4707 2006-11-23T20:48:21Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4707 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Ingiriis ereyada-te 14 1975 4708 2006-11-23T20:49:14Z Mimursal 18 New page: [[Category:Ingiriis ereyada-t]] 4708 wikitext text/x-wiki [[Category:Ingiriis ereyada-t]] 1ja7pdhzm6p13sz4x3c5qql1m1rosw8 Category:Ingiriis ereyada-t 14 1976 4709 2006-11-23T20:49:28Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4709 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Soomaali ereyada-er 14 1977 4710 2006-11-23T20:50:45Z Mimursal 18 New page: [[Category:Soomaali ereyada-e]] 4710 wikitext text/x-wiki [[Category:Soomaali ereyada-e]] f1suqfi1w9o0htyuaoa6b9vlu9x1vwi Category:Soomaali ereyada-e 14 1978 4711 2006-11-23T20:51:02Z Mimursal 18 New page: [[Category:Soomaali ereyada]] 4711 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-ku 14 1979 4712 2006-11-23T20:51:57Z Mimursal 18 New page: [[Category:Soomaali ereyada-k]] 4712 wikitext text/x-wiki [[Category:Soomaali ereyada-k]] roujgjmf8rl0twiwrbz2p7z16swnky3 Category:Soomaali ereyada-k 14 1980 4713 2006-11-23T20:52:12Z Mimursal 18 New page: [[Category:Soomaali ereyada]] 4713 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-ni 14 1981 4714 2006-11-23T20:53:12Z Mimursal 18 New page: [[Category:Soomaali ereyada-n]] 4714 wikitext text/x-wiki [[Category:Soomaali ereyada-n]] 8a8kbhao6pzr73iztecup0t6kbxc81w Category:Soomaali ereyada-n 14 1982 4715 2006-11-23T20:53:38Z Mimursal 18 New page: [[Category:Soomaali ereyada]] 4715 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-sha 14 1983 4716 2006-11-23T20:55:30Z Mimursal 18 New page: [[Category:Soomaali ereyada-sh]] 4716 wikitext text/x-wiki [[Category:Soomaali ereyada-sh]] avr37fmobjomz6khg34ck5i617kis83 Category:Soomaali ereyada-sh 14 1984 4717 2006-11-23T20:55:46Z Mimursal 18 New page: [[Category:Soomaali ereyada]] 4717 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-so 14 1985 4718 2006-11-23T20:56:17Z Mimursal 18 New page: [[Category:Soomaali ereyada-s]] 4718 wikitext text/x-wiki [[Category:Soomaali ereyada-s]] qnrnxfd8144l9ptfm6w5jteilza1sue Category:Soomaali ereyada-s 14 1986 4719 2006-11-23T20:56:33Z Mimursal 18 New page: [[Category:Soomaali ereyada]] 4719 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Finnish ereyada-sa 14 1987 4720 2006-11-23T20:57:27Z Mimursal 18 New page: [[Category: Finnish ereyada-s]] 4720 wikitext text/x-wiki [[Category: Finnish ereyada-s]] plb2mvy3q3zt2jkwh9mbx8rcmzsao19 Category:Finnish ereyada-s 14 1988 4721 2006-11-23T20:58:27Z Mimursal 18 New page: [[Category: Finnish ereyada]] 4721 wikitext text/x-wiki [[Category: Finnish ereyada]] 4sw478w8g78lxsheoxufkv3kmw7y9no Category:Finnish ereyada-ly 14 1989 4722 2006-11-23T20:59:05Z Mimursal 18 New page: [[Category: Finnish ereyada-l]] 4722 wikitext text/x-wiki [[Category: Finnish ereyada-l]] 0c3i6ovcz4f04tev4rtm07kixxo5wii Category:Finnish ereyada-l 14 1990 4723 2006-11-23T20:59:24Z Mimursal 18 New page: [[Category: Finnish ereyada]] 4723 wikitext text/x-wiki [[Category: Finnish ereyada]] 4sw478w8g78lxsheoxufkv3kmw7y9no alwaaxa-furayaasha 0 1991 18411 9609 2017-04-28T17:23:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18411 wikitext text/x-wiki [[File:keyboard.jpg|thumb|right|alwaaxa-furayaasha]] {{-so-}} === Magac === '''alwaaxa-furayaasha''' # Shey loogu talagalay in [[kumbuyuutar]]ka wax loogu qoro oo ka koobma furayaal (batoono) badan #: ''Magacaada ku qor alwaaxa-furayaasha'' ==== Ereyo la'xiraara ==== * [[kumbuyuutar]], [[dooli]], [[shaashad]] ==== Tarjumaad ==== {{kor}} * {{az}}: [[klaviatura]] * {{en}}: [[keyboard]] * {{nl}}: [[toetsenbord]] {{dhaxda}} * {{fi}}: [[näppäimistö]] * {{pt}}: [[teclado]] * {{tr}}: [[klavye]] {{hoos}} hp7kf3b4jckra2wzsjtswakdhkol3x0 Category:Soomaali ereyada-al 14 1992 4729 2006-11-23T21:46:33Z Mimursal 18 New page: [[Category: Soomaali ereyada-a]] 4729 wikitext text/x-wiki [[Category: Soomaali ereyada-a]] dhvf6afexnf2sdlv909lnid4n65qdgj hiiri 0 1993 20188 18836 2019-02-05T17:15:52Z 91.156.27.99 20188 wikitext text/x-wiki {{-fi-}} === Magac === '''hiiri''' # [[dooli]], [[jiir]] [[Category: Finnish ereyada]] k4qadyiw23wdm82ysjeeo2hcw56zbkw mouse 0 1994 19044 16182 2017-04-28T17:27:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19044 wikitext text/x-wiki {{-en-}} === Magac === '''mouse''' # [[dooli]], [[jiir]] {{-pt-}} === Magac === '''mouse''' # (''kumbuyuutarada'') [[dooli]], [[jiir]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] [[Category:Luqada Portugiiska ereyada kumbuyuutarada]] symig7iuapdvhvthexej9rrr4q6m97k jiir 0 1995 21680 20344 2022-07-22T14:12:14Z 86.114.191.253 /* Tarjumaad */ 21680 wikitext text/x-wiki {{-so-}} [[File:House_mouse.jpg|thumb|right|Jiirka xeywaanka ah.]] [[File:3-Tasten-Maus Microsoft.jpg|thumb|right|jiirka kumbuyuutarka.]] === Magac === '''jiir''' # Xaywaan yar oo dub dheer leh (1). # Jiirka lagu xiro [[kumbuyuutar]]ka oo uu [[isticmaalaha]] ka xukumikaro kumbuyuutarka (2). ==== Synonuum ==== :[[dooli]] ==== Ereyo la'xiraara ==== * [[mukulaal]], [[bisad]] * [[kumbuyuutar]], [[shaashad]], [[alwaaxa-furayaasha]] ==== Tarjumaad ==== {{kor}} * {{ar}}: [[فأرة]] (fá’ra) [1,2] * {{en}}: [[mouse]] [1,2] {{dhaxda}} * {{fi}}: [[hiiri]] [1,2] * {{pt}}: [[rato]] [1,2], [[mouse]] [2] * Spanish: [[ratón]], mouse [2] * Swedish: [[mus]] {{hoos}} pmduo4vq190a6oxv7udwwkphoeo1bfl Category:Soomaali ereyada-ji 14 1996 4737 2006-11-23T22:07:54Z Mimursal 18 New page: [[Category: Soomaali ereyada-j]] 4737 wikitext text/x-wiki [[Category: Soomaali ereyada-j]] klhpzm7xqxpgh0mgmqmbsaahlylf7lr Category:Soomaali ereyada-j 14 1997 4738 2006-11-23T22:08:13Z Mimursal 18 New page: [[Category: Soomaali ereyada]] 4738 wikitext text/x-wiki [[Category: Soomaali ereyada]] 5fgt58lova1zpangqijry4lj2n4g2dh Category:Finnish ereyada-hi 14 1998 4739 2006-11-23T22:09:03Z Mimursal 18 New page: [[Category: Finnish ereyada-h]] 4739 wikitext text/x-wiki [[Category: Finnish ereyada-h]] 3kayd3r6crneewqsvehjmm89tm3yd83 Category:Finnish ereyada-h 14 1999 4740 2006-11-23T22:09:17Z Mimursal 18 New page: [[Category: Finnish ereyada]] 4740 wikitext text/x-wiki [[Category: Finnish ereyada]] 4sw478w8g78lxsheoxufkv3kmw7y9no Category:English ereyada-mo 14 2000 4741 2006-11-23T22:09:58Z Mimursal 18 New page: [[Category: Ingiriis ereyada-m]] 4741 wikitext text/x-wiki [[Category: Ingiriis ereyada-m]] nkwqf9mzyv4ktgten8pjq0xq45ojum7 Category:Ingiriis ereyada-m 14 2001 4742 2006-11-23T22:10:13Z Mimursal 18 New page: [[Category: Ingiriis ereyada]] 4742 wikitext text/x-wiki [[Category: Ingiriis ereyada]] 5rhqww9eai5xu5flg7hnuar6tt7s5hh keyboard 0 2002 18929 18026 2017-04-28T17:27:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18929 wikitext text/x-wiki {{-en-}} === Magac === '''keyboard''' <small>([[key#Ingiriis|key]] + [[board#Ingiriis|board]])</small> # [[alwaaxa-furayaasha]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 7xqu8x0698bif8v2eftuygkhcjuhukg Category:English ereyada-ke 14 2003 4748 4746 2006-11-23T22:19:58Z Mimursal 18 4748 wikitext text/x-wiki [[Category:Ingiriis ereyada-k]] ed2pfj1t8fjqid8i7hu9x8sd779e2jr Category:English ereyada-k 14 2004 9320 4747 2014-04-01T21:48:33Z 177.133.48.149 Masaxay bogga 9320 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Ingiriis ereyada-k 14 2005 4749 2006-11-23T22:20:25Z Mimursal 18 New page: [[Category:Ingiriis ereyada]] 4749 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c User:Mimursal 2 2006 4753 2006-11-26T19:24:29Z Mimursal 18 New page: '''Magac:''' '''''Mohamed Ibrahim Mursal''''' Waxaan ahay soomaali degan dalka Finland. Waxaan rabaa in aan soo WikiQaamuuska (Wiktionary) afka soomaaliga. Waxaan u badnaandoonaa areybixi... 4753 wikitext text/x-wiki '''Magac:''' '''''Mohamed Ibrahim Mursal''''' Waxaan ahay soomaali degan dalka Finland. Waxaan rabaa in aan soo WikiQaamuuska (Wiktionary) afka soomaaliga. Waxaan u badnaandoonaa areybixinta dhinaca teknoolojida sida kumbuyuutarada IWM. Haduu Alla idmo. pa1z9vfplbpmf3hh8hocsxnwnkn5iz4 diiwaangelin 0 2007 6626 4857 2010-02-11T11:22:44Z 82.198.250.69 6626 wikitext text/x-wiki {{-so-}} ===Fal=== '''diiwaangelin''' # Diiwaangelin waa sharciyeeyn ama meel ku qoris. Sida #: ''Diiwaangelinta [[arday|ardeyga]]'' #: ''[[baabuur|Baabuurta]] waa in la' diiwaangeliyaa'' #: ''[[guri|Gurigaaga]] ma' diiwaangashanyahay?'' ====Tarjumaad==== {{kor}} * {{en}}: [[register]] {{dhaxda}} * Finnish: [[rekisteöidä]] {{hoos}} [[Category: Soomaali ereyada-di|iwaangelin]] k25gl4ujmcgazu82n9uz8rmp944aj0u Category:Soomaali ereyada-di 14 2008 4757 2006-11-30T09:39:45Z 193.167.77.1 New page: [[Category: Soomaali ereyada-d]] 4757 wikitext text/x-wiki [[Category: Soomaali ereyada-d]] shhhbyaogt4oma512nka4xrg3nqv8vo register 0 2009 19217 17900 2017-04-28T17:29:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19217 wikitext text/x-wiki {{-en-}} === Fal === '''register''' # [[diiwaangelin]] [[Category:Ingiriis ereyada-re|gister]] byhucnbqxoer8mtwmqsfj0c2qt5su2k Category:English ereyada-re 14 2010 9658 9654 2014-04-04T22:13:37Z 177.17.190.20 Masaxay bogga 9658 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:English ereyada-r 14 2011 9657 9656 2014-04-04T22:13:12Z 177.17.190.20 Masaxay bogga 9657 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 goob 0 2012 18802 7784 2017-04-28T17:26:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18802 wikitext text/x-wiki {{-so-}} === Magac === '''goob''' # Goob waa meel dhismeed ama ay dadka ku kulmaan. ==== Tarjumaad ==== {{kor}} * {{en}}: [[site]] {{dhaxda}} * Finnish: [[paikka]] {{hoos}} [[Category:Soomaali ereyada-go|ob]] d9betavawfi36xyjgmb2e15ppm1crgc wajigahore 0 2013 6785 6760 2010-05-15T09:50:40Z The analeptic alzabo 359 Already alphabetically ordered in [[Soomaali ereyada]] 6785 wikitext text/x-wiki {{-so-}} ===Magac=== '''wajigahore''' #..... ====Tarjumaad==== {{kor}} * {{en}}: [[interface]] {{dhaxda}} * {{fi}}: [[käyttöliittymä]] {{hoos}} 6erzwsbhmrljnm5yl0e9apnua3r4kk8 khaas 0 2014 32252 18930 2024-11-04T05:28:43Z Girligaanshub 3150 32252 wikitext text/x-wiki {{-so-}} === Magac === '''khaas''' # wax gaar ah oo ka duwan waxyaabaha caadiga ah. ==== Tarjumaad ==== {{kor}} * English: [[special]] {{dhaxda}} * Finnish: [[erityinen]] {{hoos}} ===Synonyms=== *[[khaas]], [[gaar]], [[gaari]] [[Category:Soomaali ereyada-kh|aas]] r1spkxfpz30psuh4hmqhg3xrkezczy5 gudagale 0 2015 31717 31198 2024-10-21T02:57:48Z Girligaanshub 3150 31717 wikitext text/x-wiki {{-so-}} ===Magac=== '''gudagale''' #Gudagale waa magac loo isticmaalo in kumbuyuutarda gudahooda lagu galo si loo isticmaalo. ====Tarjumaad==== * {{en}}: [[login]], account, user * Finnish: [[käyttäjätunnus]] ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] [[Category: Soomaali ereyada-gu|dagale]] 5gg8flundpyfcj0hzgtekuci4ercyt8 e-boosto 0 2016 6661 4768 2010-02-13T10:14:29Z 82.198.250.6 6661 wikitext text/x-wiki {{-so-}} ===Magac=== '''e-boosto''' #e-boosto (elektaroonig boosto) waa fariin ama boosto la'isugu diro sida elektarooniga ah. ====Tarjumaad==== {{kor}} * {{en}}: [[email]] {{dhaxda}} * Finnish: [[sähköposti]] {{hoos}} [[Category: Soomaali ereyada-e-|boosto]] eol8z3xr8dh0uz80un2h4oeliclnffy login 0 2017 18989 16276 2017-04-28T17:27:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18989 wikitext text/x-wiki {{-so-}} === magac === '''login''' # [[gudagale]] ==== Synonuum ==== * [[username]] [[Category:Ingiriis ereyada-lo|gin]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] dc24w55bg7ekh307sgluu4bwr1vh39d email 0 2018 18701 17675 2017-04-28T17:25:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18701 wikitext text/x-wiki {{-en-}} === magac === '''email''' # [[k-boosto]] = Koronto Boosto = Electronic Mail [[Category:Ingiriis ereyada-em|mail]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 63ix1rdhywn38kr10rvreylr4ayvuyb special 0 2019 19324 16678 2017-04-28T17:29:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19324 wikitext text/x-wiki {{-en-}} === magac === '''special''' # [[khaas]] [[Category:Ingiriis ereyada-sp|ecial]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 16mc7svjh7ujru3q3eqywz5m8f4g75u interface 0 2020 18882 17840 2017-04-28T17:26:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18882 wikitext text/x-wiki {{-en-}} === magac === '''interface''' # [[wajigahore]] [[Category:Ingiriis ereyada-in|terface]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] 3qtqhai6zg7dtoyvid587l947m6hmvp site 0 2021 19304 18154 2017-04-28T17:29:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19304 wikitext text/x-wiki {{-en-}} === magac === '''site''' # [[goob]] ==== Synonuum ==== * [[space]] [[Category:Ingiriis ereyada-si|te]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] qbkpyzwuqs2ldsy0g8lydxnk64hcnhd Template:Bilaha 10 2022 4806 4789 2006-12-04T09:43:51Z Mimursal 18 4806 wikitext text/x-wiki {| cellpadding="0" cellspacing="0" style="float:right; border:solid #ddd 2px; margin-left:5px; margin-bottom:0px;padding:0px;text-align:center;font-size:0.9em;" title="Magacyada bilaha luqada {{{luqad}}}" |- ! colspan="7" style="background-color:#eeeeee;padding: 1px 5px 1px 5px;" | Bilaha {{{luqad}}} |- | style="width:5px;" | &nbsp; || [[{{{janaayo}}}]] || style="width:12px;" | &nbsp; || [[{{{febraayo}}}]] || style="width:12px;" | &nbsp; || [[{{{maarso}}}]] || style="width:5px;" | &nbsp; |- | &nbsp; || [[{{{abriil}}}]] || &nbsp; || [[{{{maajo}}}]] || &nbsp; || [[{{{juun}}}]] || &nbsp; |- | &nbsp; || [[{{{luuliyo}}}]] || &nbsp; || [[{{{agoosto}}}]] || &nbsp; || [[{{{sebteembar}}}]] || &nbsp; |- | &nbsp; || [[{{{oktoobar}}}]] || &nbsp; || [[{{{nofeembar}}}]] || &nbsp; || [[{{{diseembar}}}]] || &nbsp; |} ggmscs222s5diuqt431ihx5ee5oh19w Template:Bilaha-en 10 2023 4809 4791 2006-12-04T09:44:50Z Mimursal 18 4809 wikitext text/x-wiki {{Bilaha| luqad = Ingiriis| janaayo= January| febraayo= February| maarso= March| abriil= April| maajo= May| juun= June| luuliyo= July| agoosto= August| sebteembar= September| oktoobar= October| nofeembar= November| diseembar= December }} 2vnmu4gvmjrwiwgtv0kdxhz29gfsdjx Template:Bilaha-so 10 2024 4807 4792 2006-12-04T09:44:13Z Mimursal 18 4807 wikitext text/x-wiki {{Bilaha| luqad = Soomaali| janaayo = janaayo | febraayo = febraayo | maarso = maarso | abriil = abriil | maajo = maajo | juun= juun| luuliyo = luuliyo | agoosto = agoosto | sebteembar = sebteembar | oktoobar = oktoobar | nofeembar = nofeembar | diseembar = diseembar }} a9dgztg7585ipt19mt328znsd8xzmo1 Template:Bilaha-fi 10 2025 4808 4790 2006-12-04T09:44:31Z Mimursal 18 4808 wikitext text/x-wiki {{Bilaha| luqad = finnish| janaayo= tammikuu | febraayo= helmikuu | maarso= maaliskuu | abriil = huhtikuu | maajo= toukokuu | juun= kesäkuu | luuliyo= heinäkuu | agoosto= elokuu | sebteembar= syyskuu | oktoobar= lokakuu | nofeembar= marraskuu | diseembar= joulukuu }} 1ynytx4qi8szz603lfqd4vl5di20dvv janaayo 0 2026 18899 13366 2017-04-28T17:26:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18899 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''janaayo''' # Sanadka miilaadiga [[bil|bishiisa]] koowaad. Bisha [[janaayo]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''jan'''. ==== Tarjumaad ==== {{kor}} * English: [[January]] {{dhaxda}} * {{fi}}: [[tammikuu]] * {{pt}}: [[janeiro]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ja|naayo]] 6hahglwz7giq6woo3s0tccnes0y34np Category:Soomaali ereyada-ja 14 2027 4788 2006-12-03T21:21:39Z Mimursal 18 New page: [[Category: Soomaali ereyada-j]] 4788 wikitext text/x-wiki [[Category: Soomaali ereyada-j]] klhpzm7xqxpgh0mgmqmbsaahlylf7lr jannaayo 0 2028 4794 2006-12-04T09:15:18Z Mimursal 18 [[jannaayo]] moved to [[janaayo]]: misspell 4794 wikitext text/x-wiki #REDIRECT [[janaayo]] 6r1iizo7u98w6q8zyo4gftv1tbmit24 febraayo 0 2029 18750 13320 2017-04-28T17:25:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18750 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''febraayo''' # Sanadka miilaadiga [[bil|bishiisa]] labaad, waxayna u dhaxaysaa bilaha [[janaayo]] iyo [[maarso]] . Bisha [[febraayo]] waxay ka koobnaan kartaa 28 ama 29 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''feb'''. Afartiisanaba mar ayey noqotaa 29 maalmood. ==== Tarjumaad ==== {{kor}} * English: [[February]] {{dhaxda}} * Finnish: [[helmikuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-fe|raayo]] 4y7zmtp7gtybp0kflg4wvnoeoipnqz0 maarso 0 2030 19003 13378 2017-04-28T17:27:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19003 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''maarso''' # Sanadka miilaadiga [[bil|bishiisa]] sedexaad, waxayna u dhaxaysaa bilaha [[febraayo]] iyo [[abriil]]. Bisha [[maarso]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''mar''' ==== Tarjumaad ==== {{kor}} * {{ar}}: [[مارس|مَارِس]] (māris) ''m'' * {{en}}: [[March]] {{dhaxda}} * {{fi}}: [[maaliskuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] crxxocg8og8h3i1j41emomjr75hyfbj abriil 0 2031 18377 12840 2017-04-28T17:23:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18377 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''abriil''' # Sanadka miilaadiga [[bil|bishiisa]] afraad, waxayna u dhaxaysaa bilaha [[maarso]] iyo [[maajo]]. Bisha [[abriil]] waxay ka koobantahay 30 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''abr''' ==== Tarjumaad ==== {{kor}} * {{en}}: [[April]] {{dhaxda}} * {{fi}}: [[huhtikuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ab|riil]] 4oq5un8wuw2pefzov4roxj5rodgcbur maajo 0 2032 19000 16627 2017-04-28T17:27:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19000 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''maajo''' # Sanadka miilaadiga [[bil|bishiisa]] shanaad, waxayna u dhaxaysaa bilaha [[abriil]] iyo [[juun]]. Bisha [[maajo]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''maj''' ==== Tarjumaad ==== {{kor}} * {{en}}: [[May]] {{dhaxda}} * {{fi}}: [[toukokuu]] * {{pt}}: [[maio]] ''m'' {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ma|ajo]] lzwv5qb7u1sy7y56mb9ic5qqpb9jdov juun 0 2033 18918 13368 2017-04-28T17:27:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18918 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''juun''' # Sanadka miilaadiga [[bil|bishiisa]] lixaad, waxayna u dhaxaysaa bilaha [[maajo]] iyo [[luuliyo]]. Bisha [[juun]] waxay ka koobantahay 30 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''jun''' ==== Tarjumaad ==== {{kor}} * English: [[June]] {{dhaxda}} * {{fi}}: [[kesäkuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ju|un]] 9a58gyo2gei5mhyhqjk8lye0cgmfofk luuliyo 0 2034 18996 13376 2017-04-28T17:27:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18996 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''luuliyo''' # Sanadka miilaadiga [[bil|bishiisa]] todobaad, waxayna u dhaxaysaa bilaha [[juun]] iyo [[agoosto]]. Bisha [[luuliyo]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''luu''' ==== Tarjumaad ==== {{kor}} * {{ar}}: * {{en}}: [[July]] {{dhaxda}} * {{fi}}: [[heinäkuu]] * {{pt}}: {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ju|un]] pypvcucbh6e5zy3g89yiyyxzhtnqfxj agoosto 0 2035 18394 15826 2017-04-28T17:23:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18394 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''agoosto''' # Sanadka miilaadiga [[bil|bishiisa]] sideedaad, waxayna u dhaxaysaa bilaha [[luuliyo]] iyo [[sebteembar]]. Bisha [[agoosto]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''ago''' ==== Tarjumaad ==== {{kor}} * {{da}}: [[august]] * {{en}}: [[August]] * {{fr}}: [[août]] {{dhaxda}} * {{fi}}: [[elokuu]] * {{pt}}: [[agosto]] * {{tr}}: [[ağustos]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ag|oosto]] 7r1vput3dw4cagw1mbizmxeomp2lje7 sebteembar 0 2036 19260 15807 2017-04-28T17:29:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19260 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''sebteembar''' # Sanadka miilaadiga [[bil|bishiisa]] sagaalaad, waxayna u dhaxaysaa bilaha [[agoosto]] iyo [[oktoobar]]. Bisha [[sebteembar]] waxay ka koobantahay 30 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''seb''' ==== Tarjumaad ==== {{kor}} * {{en}}: [[September]] {{dhaxda}} * Finnish: [[syyskuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-seb|teembar]] gzgg8dqnh2bneo4ivbhl0fu7o611w4o oktoobar 0 2037 19099 13995 2017-04-28T17:28:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19099 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''oktoobar''' # Sanadka miilaadiga [[bil|bishiisa]] tobonaad, waxayna u dhaxaysaa bilaha [[sebteembar]] iyo [[nofeembar]]. Bisha [[oktoobar]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''okt''' ==== Tarjumaad ==== {{kor}} * {{ar}}: [[أكتوبر]] (aktóbar) ''m'' * {{fi}}: [[lokakuu]] {{dhaxda}} * {{en}}: [[October]] * {{pt}}: [[outubro]] ''m'' {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-ok|toobar]] 70pz6b5p7sw3d1tqo1f6ek68tu3e0m1 nofeembar 0 2038 19075 13973 2017-04-28T17:28:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19075 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''nofeembar''' # Sanadka miilaadiga [[bil|bishiisa]] toban iyo koowaad, waxayna u dhaxaysaa bilaha [[oktoobar]] iyo [[diseembar]]. Bisha [[nofeembar]] waxay ka koobantahay 30 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''nof''' ==== Tarjumaad ==== {{kor}} * English: [[November]] {{dhaxda}} * Finnish: [[marraskuu]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-no|feembar]] nffues7ff3osjvo6sm48kcb3464f4k3 diseembar 0 2039 18641 13307 2017-04-28T17:25:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18641 wikitext text/x-wiki {{-so-}} {{Bilaha-so}} === Magac === '''diseembar''' # Sanadka miilaadiga [[bil|bishiisa]] toban iyo labaad ahna bisha ugu dambeyso sanadka. Bisha [[diseembar]] waxay ka koobantahay 31 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''dis''' ==== Tarjumaad ==== {{kor}} * {{en}}: [[December]] {{dhaxda}} * {{fi}}: [[joulukuu]] * {{pt}}: [[dezembro]] {{hoos}} [[Category:Bilaha afka Soomaaliga]] [[Category:Soomaali ereyada-di|seembar]] l9d4uavebnwjbtaw7m7w4z8rbvicboy Category:Bilaha afka Soomaaliga 14 2040 19873 8605 2017-07-03T13:38:04Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19873 wikitext text/x-wiki naayhooo ka de bax dee nooh [[Category:Soomaali ereyada]] 0pvbb0bg7qsftgq3w1ajaz638qtma6w template 0 2041 19376 17231 2017-04-28T17:30:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19376 wikitext text/x-wiki {{-en-}} === magac === '''template''' # [[tusmo]] [[Category:Luqada Ingiriiska ereyada kumbuyuutarada]] n3zdvvoeptqb7wyffu477xwzo6l87en tusmo 0 2042 27849 27827 2024-05-30T17:09:27Z Girligaanshub 3150 27849 wikitext text/x-wiki {{-so-}} === Magac === '''tusmo''' # Saldhig ama tusaalo u noqdo arimaha kale. ==== Tarjumaad ==== {{kor}} * {{en}}: [[template]] {{dhaxda}} * {{fi}}: [[malline]] {{hoos}} === Tarjumaad === * {{en}}: preface, template ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] ay32rc00ojjddhv4a9fldoasmaf5x93 faafreeb 0 2044 29204 27891 2024-07-30T23:42:28Z Girligaanshub 3150 29204 wikitext text/x-wiki ==Soomaali== ===Fal=== '''faafreeb''' #In qoraalo, sawiro ama coddad laga reebo waxyaabaha aana waafaqsanay sharciyada ama dhaqabka maamulka. ====Tarjumaad==== {{kor}} * English: [[censorship]] {{dhaxda}} * Finnish: [[sensuuri]] {{hoos}} [[Category: Soomaali ereyada-fa|afreeb]] ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]] 2hp2cjtje5hl4lrd7vgxwz0zk0kqzkf malline 0 2045 20187 19014 2019-02-05T17:15:05Z 91.156.27.99 20187 wikitext text/x-wiki == Finnish == === Magac === '''malline''' # [[tusmo]] [[Category: Finnish ereyada]] lpm4tw90lh41ennhgfh4c2dscmjyoim Category:Finnish ereyada-ma 14 2046 4824 2006-12-11T08:39:07Z 193.167.77.1 New page: [[Category:Finnish ereyada-m]] 4824 wikitext text/x-wiki [[Category:Finnish ereyada-m]] k82akobnrawzt2jm6nmtao9jt4he600 Category:Finnish ereyada-m 14 2047 4826 4825 2006-12-11T08:42:51Z 193.167.77.1 4826 wikitext text/x-wiki [[Category:Finnish ereyada]] flq23jimsbjiobbslb9wrf4331fvfdh sähköposti 0 2048 20200 20191 2019-02-05T17:25:09Z 91.156.27.99 20200 wikitext text/x-wiki {{-fi-}} === Magac === '''sähköposti''' # [[e-boosto]] [[Category: Finnish ereyada]] [[Category:Luqada Finnishka ereyada kumbuyuutarada]] ndpvzfxecz1vap6i9pfrera4boagjus Category:Finnish ereyada-sä 14 2049 9660 4828 2014-04-04T22:14:35Z 177.17.190.20 9660 wikitext text/x-wiki [[Category:Finnish ereyada-s]] dnircdxmvm6zluvfsis2f8ori45urvs Category:Finnih ereyada-s 14 2050 9659 4829 2014-04-04T22:14:22Z 177.17.190.20 Masaxay bogga 9659 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 rekisteöidä 0 2051 20199 20190 2019-02-05T17:24:44Z 91.156.27.99 20199 wikitext text/x-wiki {{-fi-}} ===Fal=== '''rekisteröidä''' #[[diiwaangelin]] [[Category: Finnish ereyada]] [[Category:Luqada Finnishka ereyada kumbuyuutarada]] qbfcaqpxd4844xzgh1fsrk3paea8c4b Category:Finnish ereyada-re 14 2052 4831 2006-12-11T08:49:33Z 193.167.77.1 New page: [[Category:Finnish ereyada-r]] 4831 wikitext text/x-wiki [[Category:Finnish ereyada-r]] h1dpfdwf11jflkbhr8wtvzzkwdbyi5t Category:Finnish ereyada-r 14 2053 4832 2006-12-11T08:49:54Z 193.167.77.1 New page: [[Category:Finnish ereyada]] 4832 wikitext text/x-wiki [[Category:Finnish ereyada]] flq23jimsbjiobbslb9wrf4331fvfdh käyttöliittymä 0 2054 20197 20185 2019-02-05T17:23:42Z 91.156.27.99 20197 wikitext text/x-wiki {{-fi-}} === Magac === '''käyttöliittymä''' # [[wajigahore]] [[Category: Finnish ereyada]] [[Category:Luqada Finnishka ereyada kumbuyuutarada]] 2pjv0whp4me4diexn478zhnijicqxl6 Category:Finnish ereyada-kä 14 2055 4834 2006-12-11T08:56:20Z 193.167.77.1 New page: [[Category:Finnish ereyada-k]] 4834 wikitext text/x-wiki [[Category:Finnish ereyada-k]] jayz2rlsksr595mdx5107ddmczh41r2 Category:Finnish ereyada-k 14 2056 4836 4835 2006-12-11T08:57:14Z 193.167.77.1 4836 wikitext text/x-wiki [[Category:Finnish ereyada]] flq23jimsbjiobbslb9wrf4331fvfdh Category:Luqadaha 14 2057 6248 4866 2008-09-11T02:07:03Z Addoow 156 Removing all content from page 6248 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 User talk:Somalistar 3 2059 6297 4881 2008-11-06T21:15:57Z 195.229.241.171 6297 wikitext text/x-wiki Somali&nbsp; </b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>English</b><br> sidee tahay?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; how are u?<br> waan fiicanahay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am fine<br> magacaa ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; what is your name ?<br> magaceygu waa omar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my name is omar<br> halkee dagantahay?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where are you located <br> xaafadaan.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This village.<br> <br> &nbsp;</p> fluvfc9cvay33ytjwyxpij7h55rbm4t Template:Masharuucyo qaraabo la'ah 10 2061 23318 4894 2023-04-16T08:32:11Z Minorax 2056 vva 23318 wikitext text/x-wiki {| align="center" cellpadding="2" width="100%" | {{Click| |image=Wiktionary-logo-en.svg |link = :en:Main Page |width = 35px |height = 35px }} | [[:en:Main Page|'''Wiktionary''']]<br />Dictionary and thesaurus | {{Click| |image=Wikipedia-logo.svg |link = w:en:Main Page |width = 35px |height = 35px }} | [[w:en:Main Page|'''Wikipedia''']]<br />The free encyclopedia | {{Click| |image=Wikibooks-logo.svg |link = b:en:Main Page |width = 35px |height = 35px }} | [[b:en:Main Page|'''Wikibooks''']]<br />Free textbooks and manuals |- | {{Click| |image=Wikiquote-logo.svg |link = wikiquote:en:Main Page |width = 35px |height = 35px }} | [[wikiquote:en:Main Page|'''Wikiquote''']]<br />Collection of quotations | {{Click| |image=Wikisource-logo.svg |link = wikisource:en:Main Page |width = 35px |height = 35px }} | [[wikisource:en:Main Page|'''Wikisource''']]<br />Free source documents | {{Click| |image=Wikinews-logo.svg |link = n:en:Main Page |width = 35px |height = 35px }} | [[wikinews:en:Main Page|'''Wikinews''']]<br />Free content news source |- | {{Click| |image=Wikispecies-logo.svg |link = wikispecies:en:Main Page |width = 35px |height = 35px }} | [[Wikispecies:|'''Wikispecies''']]<br />Directory of species | {{Click| |image=Wikimedia-logo.svg |link = m:Main Page |width = 35px |height = 35px }} | [[m:Main Page|'''Meta-Wiki''']]<br />Wikimedia project coordination | {{Click| |image=Commons-logo.svg |link = c:Main Page |width = 35px |height = 35px }} | [[commons:Main Page|'''Commons''']]<br />Shared media repository |} gxwvubjmfnv9avhg6a98x6rpv2crpi0 Template:Click 10 2062 4893 2007-05-10T08:04:37Z Mimursal 18 New template Click 4893 wikitext text/x-wiki <div style="position: relative; width: {{{width}}}; height: {{{height}}}; overflow: hidden"> <div style="position: absolute; top: 0px; left: 0px; font-size: 100px; overflow: hidden; line-height: 100px; z-index: 3">[[{{{link}}}|&nbsp;&nbsp;&nbsp;]]</div> <div style="position: absolute; top: 0px; left: 0px; z-index: 2">[[Image:{{{image}}}|{{{width}}}|{{{link}}}]]</div> </div> naznyrpcyba9w4x9zlokp2lbpvj37vr Template:Codsimaqaal 10 2063 4897 2007-05-10T11:15:41Z Mimursal 18 New template 4897 wikitext text/x-wiki <!-- Tirada la'codsaday waa in aysan ka badanin 20. Ka saar kii la'qoro, mid cusub waxaad uga darikartaa "Wiktionary:Codsimaqaal", Waxaad ku dartaa dhamaadka. --> [[mitta]] - [[tasainen]] - [[halu]] - [[huoli]] - [[ylväs]] - [[varsi]] 2b9fn3bmcchra7qzrzlu77qz4hjt5mh User:Moncur/monobook.css 2 2064 5961 5960 2007-06-20T04:22:10Z Moncur 24 5961 css text/css @import "http://hu.wikipedia.org/w/index.php?title=MediaWiki:Monobook.css&action=raw"; #bodyContent { padding-left:7em; padding-right:17em; } #content { letter-spacing: 0px; font-family:verdana; } #content p { margin-left:2em; margin-right:2em; text-align:justify; font-size:16px; text-indent: 2em; line-height:2em; } #content tt { font-size:18px; color:darkred; letter-spacing: 0px; font-weight:bold; } #content pre {font-size:16px; color:darkred; letter-spacing: 0px; line-height:1.4em; margin-left:2em; margin-right:2em; } #content ul { margin-left:2em; margin-right:2em; } #content ol{ margin-left:2em; margin-right:2em; } #content li { margin-left:2em; margin-right:2em; line-height:2em; font-size:15px; } #content dl { line-height:2em; font-size:15px; } #content dd { margin-left:5cm; margin-right:5cm; text-align:justify; } #mw-dismissable-notice {display:none;} #footer {display:none;} #editpage-copywarn {display:none;} #editpage-copywarn2 {display:none;} #editpage-copywarn3 {display:none;} #content table { border:1px solid grey; border-collapse:collapse; margin-left:auto; margin-right:auto; width:50%; } #toc table { width:60%; margin-left:1em; border:1px solid #dedede; } #toc li { word-wrap:none !important; margin-left:0em; margin-right:0em; line-height:1.5em; font-size:15px; } #toc .toctext {white-space: nowrap;} #toc a {white-space: nowrap;} gk9i7ir8yeognv308768y68mus9oq4l User:Moncur/monobook.js 2 2065 5374 5373 2007-06-16T01:52:07Z Moncur 24 5374 javascript text/javascript /* <pre> */ document.write('<script type="text/javascript" src="' + 'http://hu.wiktionary.org/w/index.php?title=MediaWiki:Monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://so.wiktionary.org/w/index.php?title=User:Moncur/script.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&oldid=132696960' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); var wikEdTextZoom = wikEdTextZoom || 180; var wikEdCloseToolbarPreset = wikEdCloseToolbarPreset || true; var wikEdButton = []; wikEdButton[76] = ['wikEd1', 'wikEdButton', 'pre', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('<pre>','\<\/pre\>','');"]; wikEdButton[77] = ['wikEdSign', 'wikEdButton', 'typewriter', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('<tt>','</tt>','');"]; wikEdButton[78] = ['wikEdSign', 'wikEdButton', 'deflist', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags(';',': ','');"]; wikEdButton[75] = ['wikEdSign', 'wikEdButton', 'emdash', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('—','','');"]; jqjyadt597v8jm162z1xif44et13qu0 User talk:Moncur 3 2066 7173 7172 2010-11-24T11:27:21Z Mercy 238 Reverted edits by [[Special:Contributions/Yxefejod|Yxefejod]] ([[User talk:Yxefejod|talk]]) to last revision by [[User:Moncur|Moncur]] 7173 wikitext text/x-wiki export these: [[User:Foxall]] User:Moncur User:Moncur/01 User:Moncur/02 User:Moncur/03 User:Moncur/04 User:Moncur/05 User:Moncur/06 User:Moncur/07 User:Moncur/08 User:Moncur/09 User:Moncur/10 User:Moncur/11 User:Moncur/12 User:Moncur/13 User:Moncur/14 User:Moncur/15 User:Moncur/16 User:Moncur/17 User:Moncur/18 User:Moncur/19 User:Moncur/20 User:Moncur/21 User:Moncur/22 User:Moncur/23 User:Moncur/24 p712eo0jvk2m6gw9kcrvj0n63ovl077 User:Moncur 2 2067 6082 6081 2007-06-22T18:56:30Z Foxall 27 6082 wikitext text/x-wiki [[/01|/01]] [[/02|/02]] [[/03|/03]] [[/04|/04]] [[/05|/05]] [[/06|/06]] [[/07|/07]] [[/08|/08]] [[/09|/09]] [[/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]] __NOTOC__ {| class="wikitable" | [[/monobook.js|中]] |- | [[/monobook.css|文]] |- | [[/script.js|中文]] |- |} [[/16]] <!-- [[/17]] [[/18]] [[/19]] [[/20]] [[/21]] [[/22]] [[/23]] [[/24]] <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part I: Introducing the Concept of Web scripting and the JavaScript Language</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;"> &nbsp;&nbsp;&nbsp;&nbsp;1 Understanding JavaScript</div> <div class="NavContent"> {{/01}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;"> &nbsp;&nbsp;&nbsp;&nbsp;2 Creating Simple Scripts</div> <div class="NavContent"> {{/02}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;"> &nbsp;&nbsp;&nbsp;&nbsp;3 Getting Started with JavaScript Programming</div> <div class="NavContent"> {{/03}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;"> &nbsp;&nbsp;&nbsp;&nbsp;4 Working with the Document Object Model </div> <div class="NavContent"> {{/04}} </div></div> </div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part II: Learning JavaScript Basics</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;5 Using Variables, Strings, and Arrays</div> <div class="NavContent"> {{/05}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;6 Using Functions and Objects</div> <div class="NavContent"> {{/06}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;7 Controlling Flow with Conditions and Loops</div> <div class="NavContent"> {{/07}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;8 Using Built-in Functions and Libraries</div> <div class="NavContent"> {{/08}} </div></div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part III: Learning More About the DOM</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;9 Responding to Events</div> <div class="NavContent"> {{/09}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;10 Using Windows and Frames</div> <div class="NavContent"> {{/10}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;11 Getting Data with Forms</div> <div class="NavContent"> {{/11}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;12 Working with Style Sheets</div> <div class="NavContent"> {{/12}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;13 Using the W3C DOM</div> <div class="NavContent"> {{/13}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;14 Using Advanced DOM Features</div> <div class="NavContent"> {{/14}} </div></div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part IV: Working with Advanced JavaScript Features </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;15 Unobtrusive Scripting</div> <div class="NavContent"> {{/15}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;16 Debugging JavaScript Applications</div> <div class="NavContent"> {{/16}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;17 AJAX: Remote Scripting</div> <div class="NavContent"> {{/17}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;18 Greasemonkey: Enhancing the Web with JavaScript</div> <div class="NavContent"> {{/18}} </div></div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part V: Building Multimedia Applications with JavaScript </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;19 Using Graphics and Animation</div> <div class="NavContent"> {{/19}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;20 Working with Sound and Plug-Ins</div> <div class="NavContent"> {{/20}} </div></div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part VI: Creating Complex Scripts </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;21 Building JavaScript Drop-Down Menus</div> <div class="NavContent"> {{/21}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;22 Creating a JavaScript Game</div> <div class="NavContent"> {{/22}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;23 Creating JavaScript Applications</div> <div class="NavContent"> {{/23}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;24 Your Future with JavaScript</div> <div class="NavContent"> {{/24}} </div></div></div> --> 4rysu3ltid23q00kdrgo0xcszbziv9p User:Moncur/script.js 2 2068 5050 5049 2007-06-14T00:48:28Z Moncur 24 5050 javascript text/javascript /* <pre> */ document.write('<style type="text/css">'); document.write('#p-logo {display:none;}'); document.write('</style>'); document.write('<div style="z-index: 3; position:absolute; top:0px; left:20px; width: 155px; height: 155px; overflow: visible;">'); document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="110" height="140" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab%23version=7,0,0,0" style="float:left;">'); document.write('<param name="bgcolor" value="ffffff" />'); document.write('<param name="movie" value="http://panther1.last.fm/widgets/radio/11.swf" />'); document.write('<param name="quality" value="high" />'); document.write('<param name="allowScriptAccess" value="sameDomain" />'); document.write('<param name="FlashVars" value="lfmMode=radio&amp;radioURL=globaltags%2Fdub&amp;title=Wikipédia+&amp;theme=red&amp;autostart=&amp;lang=ru" />'); document.write('<embed src="http://panther1.last.fm/widgets/radio/11.swf" type="application/x-shockwave-flash" name="widgetPlayer" bgcolor="ffffff" width="110" height="140" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="lfmMode=radio&amp;radioURL=globaltags%2Fdub&amp;title=Wikipédia+&amp;theme=red&amp;autostart=&amp;lang=ru" allowScriptAccess="sameDomain">'); document.write('</embed>'); document.write('</object>'); document.write('</div'); 39d4mxjbp3xpwiso0gz1ppjdueg7e96 User:Moncur/1 2 2069 5217 5168 2007-06-14T19:51:45Z Moncur 24 5217 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part I: Introducing the Concept of Web scripting and the JavaScript Language</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;"> &nbsp;&nbsp;&nbsp;&nbsp;1 Understanding JavaScript</div> <div class="NavContent"> {{/11}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;"> &nbsp;&nbsp;&nbsp;&nbsp;2 Creating Simple Scripts</div> <div class="NavContent"> {{/12}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;"> &nbsp;&nbsp;&nbsp;&nbsp;3 Getting Started with JavaScript Programming</div> <div class="NavContent"> {{/13}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;"> &nbsp;&nbsp;&nbsp;&nbsp;4 Working with the Document Object Model </div> <div class="NavContent"> {{/14}} </div></div> </div> cgpxve34sdb27omhickfx7kw7xyuia0 User:Moncur/2 2 2070 5218 5206 2007-06-14T19:52:28Z Moncur 24 5218 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part II: Learning JavaScript Basics</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;5 Using Variables, Strings, and Arrays</div> <div class="NavContent"> {{/25}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;6 Using Functions and Objects</div> <div class="NavContent"> {{/26}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;7 Controlling Flow with Conditions and Loops</div> <div class="NavContent"> {{/27}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;8 Using Built-in Functions and Libraries</div> <div class="NavContent"> {{/28}} </div></div></div> q54x5pguv7hwmfbe7b69xqa89ezc5en User:Moncur/3 2 2071 5222 5215 2007-06-14T19:58:59Z Moncur 24 5222 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part III: Learning More About the DOM</div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;9 Responding to Events</div> <div class="NavContent"> {{/309}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;10 Using Windows and Frames</div> <div class="NavContent"> {{/310}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;11 Getting Data with Forms</div> <div class="NavContent"> {{/311}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;12 Working with Style Sheets</div> <div class="NavContent"> {{/312}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;13 Using the W3C DOM</div> <div class="NavContent"> {{/313}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;14 Using Advanced DOM Features</div> <div class="NavContent"> {{/314}} </div></div></div> kjhp8xs89xdhxqizqc4y4cnai092bei User:Moncur/4 2 2072 5221 5212 2007-06-14T19:57:14Z Moncur 24 5221 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part IV: Working with Advanced JavaScript Features </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;15 Unobtrusive Scripting</div> <div class="NavContent"> {{/415}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;16 Debugging JavaScript Applications</div> <div class="NavContent"> {{/416}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;17 AJAX: Remote Scripting</div> <div class="NavContent"> {{/417}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;18 Greasemonkey: Enhancing the Web with JavaScript</div> <div class="NavContent"> {{/418}} </div></div></div> 2dg4dp9c21fh2e7opmufbf4ftx8nh2b User:Moncur/5 2 2073 5220 5213 2007-06-14T19:55:28Z Moncur 24 5220 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part V: Building Multimedia Applications with JavaScript </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;19 Using Graphics and Animation</div> <div class="NavContent"> {{/519}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;20 Working with Sound and Plug-Ins</div> <div class="NavContent"> {{/520}} </div></div></div> 332416zwitqamjwawu3vh8ma6vlus8i User:Moncur/6 2 2074 5219 5214 2007-06-14T19:54:08Z Moncur 24 5219 wikitext text/x-wiki <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #bbbbbb;">Part VI: Creating Complex Scripts </div> <div class="NavContent"> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;21 Building JavaScript Drop-Down Menus</div> <div class="NavContent"> {{/621}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;22 Creating a JavaScript Game</div> <div class="NavContent"> {{/622}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #dddddd;">&nbsp;&nbsp;&nbsp;&nbsp;23 Creating JavaScript Applications</div> <div class="NavContent"> {{/623}} </div></div> <div class="NavFrame" style="clear:both;"> <div class="NavHead" style="padding: 0.2em 0.5em; color: black; background-color: #cdcdcd;">&nbsp;&nbsp;&nbsp;&nbsp;24 Your Future with JavaScript</div> <div class="NavContent"> {{/624}} </div></div></div> tbw3vg289hzw6fs29mm91dhnkem6dig User:Moncur/04 2 2075 5827 5765 2007-06-19T23:57:36Z Moncur 24 5827 wikitext text/x-wiki =4. Working with the Document Object Model (DOM)= == Understanding the Document Object Model (DOM) == One advantage that JavaScript has over basic HTML is that scripts can manipulate the web document and its contents. Your script can load a new page into the browser, work with parts of the browser window and document, open new windows, and even modify text within the page dynamically. To work with the browser and documents, JavaScript uses a hierarchy of parent and child objects called the Document Object Model (DOM). These objects are organized into a tree-like structure, and represent all of the content and components of a web document. ; By the Way: The DOM is not part of the JavaScript language, rather, it's an API (application programming interface) built in to the browser. While the DOM is most often used with JavaScript, it can also be used by other languages, such as VBScript and Java. The objects in the DOM have properties, variables that describe the web page or document, and methods, functions that enable you to work with parts of the web page. When you refer to an object, you use the parent object name followed by the child object name or names, separated by periods. For example, JavaScript stores objects to represent images in a document as children of the document object. The following refers to the <tt>image9 </tt>object, a child of the <tt>document </tt>object, which is a child of the <tt>window </tt>object: <pre> window.document.image9</pre> The window object is the parent object for all of the objects we will be looking at in this hour. Figure 4.1 shows this section of the DOM object hierarchy and a variety of its objects. ; By the Way: This diagram only includes the basic browser objects that will be covered in this hour. These are actually a small part of the DOM, which you'll learn more about in Part III, "Learning More About the DOM." === History of the DOM === Starting with the introduction of JavaScript 1.0 in Netscape 2.0, browsers have included objects that represent parts of a web document and other browser features. However, there was never a true standard. While both Netscape and Microsoft Internet Explorer included many of the same objects, there was no guarantee that the same objects would work the same way in both browsers, let alone in less common browsers. The bad news is that there are still differences between the browsers, but here's the good news. Since the release of Netscape 3.0 and Internet Explorer 4.0, all of the basic objects (those covered in this hour) are supported in much the same way in both browsers. With more recent browser releases, a much more advanced DOM is supported. === DOM Levels === The W3C (World Wide Web Consortium) developed the DOM level 1 recommendation. This is a standard that defines not only basic objects, but an entire set of objects that encompass all parts of an HTML document. A level 2 DOM standard has also been released, and level 3 is under development. Netscape 4 and Internet Explorer 4 supported their own DOMs that allowed more control over documents, but weren't standardized. Fortunately, starting with Internet Explorer 5 and Netscape 6, both support the W3C DOM, so you can support both browsers with simple, standards-compliant code. All of today's current browsers support the W3C DOM. The basic object hierarchy described in this hour is informally referred to as DOM level 0, and the objects are included in the DOM level 1 standard. You'll learn how to use the W3C DOM to work with any part of a web document later in this book. ; Did you Know?: The W3C DOM allows you to modify a web page in real time after it has loaded. You'll learn how to do this in Part III. == Using <tt>window</tt> Objects == At the top of the browser object hierarchy is the window object, which represents a browser window. You've already used at least one method of the window object: the <tt>window.alert()</tt> method, or simply <tt>alert()</tt>, displays a message in an alert box. There can be several window objects at a time, each representing an open browser window. Frames are also represented by window objects. You'll learn more about windows and frames in Hour 10, "Using Windows and Frames." ; By the Way: Layers, which enable you to include, modify, and position dynamic content within a web document, are also similar to window objects. These are explained in Hour 13, "Using the W3C DOM." == Working with Web Documents == The document object represents a web document, or page. Web documents are displayed within browser windows, so it shouldn't surprise you to learn that the document object is a child of the window object. Because the window object always represents the current window (the one containing the script), you can use window.document to refer to the current document. You can also simply refer to document, which automatically refers to the current window. ; By the Way: You've already used the document.write method to display text within a web document. The examples in earlier hours only used a single window and document, so it was unnecessary to use window.document.writebut this longer syntax would have worked equally well. If multiple windows or frames are in use, there might be several window objects, each with its own document object. To use one of these document objects, you use the name of the window and the name of the document. In the following sections, you will look at some of the properties and methods of the document object that will be useful in your scripting. === Getting Information About the Document === Several properties of the document object include information about the current document in general: * <tt>document.URL</tt> specifies the document's URL. This is a simple text field. You can't change this property. If you need to send the user to a different location, use the window.location object, described later in this hour. * <tt>document.title</tt> lists the title of the current page, defined by the HTML <tt><title></tt> tag. * <tt>document.referrer</tt> is the URL of the page the user was viewing prior to the current pageusually, the page with a link to the current page. * <tt>document.lastModified</tt> is the date the document was last modified. This date is sent from the server along with the page. * <tt>document.bgColor</tt> and <tt>document.fgColor</tt> are the background and foreground (text) colors for the document, corresponding to the <tt>BGCOLOR</tt> and <tt>TEXT </tt>attributes of the <tt><body></tt> tag. * <tt>document.linkColor</tt>, <tt>document.alinkColor</tt>, and <tt>document.vlinkColor </tt>are the colors for links within the document. These correspond to the <tt>LINK</tt>, <tt>ALINK</tt>, and <tt>VLINK </tt>attributes of the <tt><body></tt> tag. * <tt>document.cookie</tt> enables you to read or set a cookie for the document. See http://www.jsworkshop.com/cookies.html for information about cookies. As an example of a document property, Listing 4.1 shows a short HTML document that displays its last modified date using JavaScript. ; Listing 4.1. Displaying the Last Modified Date <pre> <html><head><title>Test Document</title></head> <body> <p>This page was last modified on: <script language="JavaScript" type="text/javascript"> document.write(document.lastModified); </script> </p> </body> </html></pre> This can tell the user when the page was last changed. If you use JavaScript, you don't have to remember to update the date each time you modify the page. (You could also use the script to always print the current date instead of the last modified date, but that would be cheating.) ; By the Way: You might find that the <tt>document.lastModified</tt> property doesn't work on your web pages, or returns the wrong value. The date is received from the web server, and some servers do not maintain modification dates correctly. === Writing Text in a Document === The simplest document object methods are also the ones you will use most often. In fact, you've used one of them already. The document.write method prints text as part of the HTML page in a document window. This statement is used whenever you need to include output in a web page. An alternative statement, <tt>document.writeln</tt>, also prints text, but it also includes a <tt>newline (\n)</tt> character at the end. This is handy when you want your text to be the last thing on the line. ; Watch Out!: Bear in mind that the newline character is displayed as a space by the browser, except inside a <tt><nowiki><pre></nowiki></tt> container. You will need to use the <tt><nowiki><br></nowiki></tt> tag if you want an actual line break. You can use these methods only within the body of the web page, so they will be executed when the page loads. You can't use these methods to add to a page that has already loaded without reloading it. ; By the Way: You can also directly modify the text of a web page on newer browsers using the features of the new DOM. You'll learn these techniques in Hour 14. The <tt>document.write</tt> method can be used within a <tt><script></tt> tag in the body of an <tt>HTML</tt> document. You can also use it in a function, provided you include a call to the function within the body of the document. === Using Links and Anchors === Another child of the document object is the link object. Actually, there can be multiple link objects in a document. Each one includes information about a link to another location or an anchor. ; Did you Know?: Anchors are named places in an HTML document that can be jumped to directly. You define them with a tag like this: <tt><a name="part2"></tt>. You can then link to them: <tt><a href="#part2"></tt>. You can access link objects with the links array. Each member of the array is one of the link objects in the current page. A property of the array, <tt>document.links.length</tt>, indicates the number of links in the page. Each link object (or member of the links array) has a list of properties defining the URL. The href property contains the entire URL, and other properties define portions of it. These are the same properties as the location object, defined later in this hour. You can refer to a property by indicating the link number and property name. For example, the following statement assigns the entire URL of the first link to the variable link1: <pre>link1 = links[0].href;</pre> The anchor objects are also children of the document object. Each anchor object represents an anchor in the current documenta particular location that can be jumped to directly. Like links, you can access anchors with an array: anchors. Each element of this array is an anchor object. The <tt>document.anchors.length</tt> property gives you the number of elements in the anchors array. == Accessing Browser History == The <tt>history</tt> object is another child (property) of the <tt>window</tt> object. This object holds information about the URLs that have been visited before and after the current one, and it includes methods to go to previous or next locations. The <tt>history</tt> object has one property you can access: * <tt>history.length</tt> keeps track of the length of the history listin other words, the number of different locations that the user has visited. ; By the Way: The <tt>history</tt> object has <tt>current</tt>, <tt>previous</tt>, and <tt>next</tt> properties that store URLs of documents in the history list. However, for security and privacy reasons, these objects are not normally accessible in today's browsers. The <tt>history</tt> object has three methods you can use to move through the history list: * <tt>history.go()</tt> opens a URL from the history list. To use this method, specify a positive or negative number in parentheses. For example, <tt>history.go(-2)</tt> is equivalent to pressing the Back button twice. * <tt>history.back()</tt> loads the previous URL in the history listequivalent to pressing the Back button. * <tt>history.forward()</tt> loads the next URL in the history list, if available. This is equivalent to pressing the Forward button. You'll use these methods in the Try It Yourself section at the end of this hour. == Working with the <tt>location</tt> Object == A third child of the <tt>window</tt> object is the <tt>location</tt> object. This object stores information about the current URL stored in the window. For example, the following statement loads a URL into the current window: <pre>window.location.href="http: //www.starlingtech.com";</pre> The <tt>HRef</tt> property used in this statement contains the entire URL of the window's current location. You can also access portions of the URL with various properties of the <tt>location</tt> object. To explain these properties, consider the following URL: <pre>http: //www.jsworkshop.com:80/test.cgi?lines=1#anchor</pre> The following properties represent parts of the URL: * <tt>location.protocol</tt> is the protocol part of the URL (<tt>http:</tt> in the example). * <tt>location.hostname</tt> is the host name of the URL (<tt>[http: //www.jsworkshop.com/ www.jsworkshop.com]</tt> in the example). * <tt>location.port</tt> is the port number of the URL (<tt>80</tt> in the example). * <tt>location.pathname</tt> is the filename part of the URL (<tt>test.cgi</tt> in the example). * <tt>location.search</tt> is the query portion of the URL, if any (<tt>lines=1</tt> in the example). Queries are used mostly by CGI scripts. * <tt>location.hash</tt> is the anchor name used in the URL, if any (<tt>#anchor</tt> in the example). The <tt>link</tt> object, introduced earlier this hour, also includes this list of properties for accessing portions of the URL. ; By the Way: Although the <tt>location.href</tt> property usually contains the same URL as the <tt>document.URL</tt> property described earlier in this hour, you can't change the <tt>document.URL</tt> property. Always use <tt>location.href</tt> to load a new page. The <tt>location</tt> object has two methods: * <tt>location.reload()</tt> reloads the current document. This is the same as the Reload button on the browser's toolbar. If you optionally include the <tt>true</tt> parameter, it will ignore the browser's cache and force a reload whether the document has changed or not. * <tt>location.replace()</tt> replaces the current location with a new one. This is similar to setting the <tt>location</tt> object's properties yourself. The difference is that the <tt>replace</tt> method does not affect the browser's history. In other words, the Back button can't be used to go to the previous location. This is useful for splash screens or temporary pages that it would be useless to return to. ; Try It Yourself : Creating Back and Forward Buttons You can use the <tt>back</tt> and <tt>forward</tt> methods of the <tt>history</tt> object to add your own Back and Forward buttons to a web document. The browser already has Back and Forward buttons, of course, but it's occasionally useful to include your own links that serve the same purpose. You will now create a script that displays Back and Forward buttons and use these methods to navigate the browser. Here's the code that will create the Back button: <pre><input type="button" onClick="history.back();" value="&lt;-- Back"> </pre> The <tt><input></tt> tag defines a button labeled Back. The <tt>onClick</tt> event handler uses the <tt>history.back()</tt> method to go to the previous page in history. The code for the Forward button is similar: <pre> <input type="button" onClick="history.forward();" value="Forward --&gt;"> </pre> With these out of the way, you just need to build the rest of the HTML document. Listing 4.2 shows the complete HTML document, and Figure 4.2 shows a browser's display of the document. After you load this document into a browser, visit other URLs and make sure the Back and Forward buttons work. ; Listing 4.2. A Web Page That Uses JavaScript to Include Back and Forward Buttons <pre> <html> <head><title>Back and Forward Buttons</title> </head> <body> <h1> Back and Forward Buttons</h1> <p>This page allows you to go back or forward to pages in the history list. These should be equivalent to the back and forward arrow buttons in the browser's toolbar.</p> <p> <input type="button" onClick="history.back();" value="<-- Back"> <input type="button" onClick="history.forward();" value="Forward ->"> </p> </body> </html> </pre> == Summary == In this hour, you've learned about the Document Object Model (DOM), JavaScript's hierarchy of web page objects. You've learned how you can use the document object to work with documents, and used the history and location objects to control the current URL displayed in the browser. You should now have a basic understanding of the DOM and some of its objectsyou'll learn about more of the objects throughout this book. Congratulations! You've reached the end of Part I of this book. In Part II, you'll get back to learning the JavaScript language, starting with Hour 5, "Using Variables, Strings, and Arrays." === Q&A === Q1: I can use history and document instead of window.history and window.document. Can I leave out the window object in other cases? A1: Yes. For example, you can use alert instead of window.alert to display a message. The window object contains the current script, so it's treated as a default object. However, be warned that you shouldn't omit the window object's name when you're using frames, layers, or multiple windows, or in an event handler. Q2: I used the document.lastModified method to display a modification date for my page, but it displays a date in 1970, or a date that I know is incorrect. What's wrong? A2: This function depends on the server sending the last modified date of the document to the browser. Some web servers don't do this properly, or require specific file attributes in order for this to work. Q3: Can I change history entries, or prevent the user from using the Back and Forward buttons? A3: You can't change the history entries. You can't prevent the use of the Back and Forward buttons, but you can use the location.replace() method to load a series of pages that don't appear in the history. There are a few tricks for preventing the Back button from working properly, but I don't recommend themthat's the sort of thing that gives JavaScript a bad name. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: 1. Which of the following objects can be used to load a new URL into the browser window? document.url window.location window.url 2. Which object contains the alert() method? window document location 3. Which of the following DOM levels describes the objects described in this hour? DOM level 0 DOM level 1 DOM level 2 === Quiz Answers === 1. b. The window.location object can be used to send the browser to a new URL. 2. a. The window object contains the alert() method. 3. a. The objects described in this hour fall under the informal DOM level 0 specification. === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: * Modify the Back and Forward example in Listing 4.2 to include a Reload button along with the Back and Forward buttons. (This button would trigger the location.reload() method.) * Modify the Back and Forward example to display the current number of history entries. --> 95v6n2m08jmuzaquid6kmkpg6myyikf User:Moncur/02 2 2076 7060 5825 2010-08-19T05:25:30Z 71.141.128.108 7060 wikitext text/x-wiki = 2 Creating Simple Scripts = == Tools for Scripting == Unlike many programming languages, you won't need any special software to create JavaScript scripts. In fact, you probably already have everything you need. === Text Editors === The first tool you'll need to work with JavaScript is a text editor. JavaScript scripts are stored in simple text files, usually as part of HTML documents. Any editor that can store ASCII text files will work. You can choose from a wide range of editors, from simple text editors to word processors. If you don't have a favorite editor already, a simple editor is most likely included with your computer. For Windows computers, the Notepad accessory will work just fine. ; Watch Out:If you use a word processor to create JavaScript programs, be sure you save the files as ASCII text rather than as word processing documents. Otherwise, the browser might not recognize them. A variety of dedicated HTML editors is also available and will work with JavaScript. In fact, many include features specifically for JavaScript, for example, color-coding the various JavaScript statements to indicate their purposes, or even creating simple scripts automatically. For Windows computers, here are a few recommended editors: * '''HomeSite''' An excellent HTML editor that includes JavaScript support. HomeSite is included as part of Adobe Dreamweaver and is also available separately. * '''Microsoft FrontPage 2003''' Microsoft's visual HTML editor. The Script Builder component enables you to easily create simple scripts. * '''TextPad''' A powerful text editor that includes a number of features missing from Notepad. TextPad's view of a JavaScript document is shown in Figure 2.1. The following editors are available for both Windows and Macintosh: * '''Adobe Dreamweaver''' A visually oriented editor that works with HTML, JavaScript, and Macromedia's Flash plug-in. * '''Adobe GoLive''' A visual and HTML editor that also includes features for designing and organizing the structure of large sites. Additionally for the Macintosh, BBEdit, TextWrangler, and Alpha are good HTML editors that you can use to create web pages and scripts. ; By the Way: Appendix B, "Tools for JavaScript Developers," includes web addresses to download these and other HTML and JavaScript editors. === Browsers === You'll need two other things to work with JavaScript: a web browser and a computer to run it on. Because this book covers new features introduced up to JavaScript 1.5 and the latest W3C DOM, I recommend that you use the latest version of Mozilla Firefox or Microsoft Internet Explorer. See the Mozilla (http:// www.mozilla.com) or Microsoft (http:// www.microsoft.com) website to download a copy. At a minimum, you should have Firefox 1.0, Netscape 7.0, or Internet Explorer 6.0 or later. Although Netscape 4.x and Internet Explorer 4 will run many of the scripts in this book, they don't support a lot of the latest features you'll learn about. You can choose whichever browser you like for your web browsing, but for developing JavaScript you should have more than one browser, at a minimum, Firefox and Internet Explorer. This will allow you to test your scripts in the common browsers users will employ on your site. ; By the Way:If you plan on making your scripts available over the Internet, you'll also need a web server, or access to one. However, you can use most of the JavaScript examples in this book directly from your computer's hard disk. == Displaying Time with JavaScript == One common and easy use for JavaScript is to display dates and times. Because JavaScript runs on the browser, the times it displays will be in the user's current time zone. However, you can also use JavaScript to calculate "universal" (UTC) time. ; By the Way:UTC stands for Universal Time (Coordinated), and is the atomic time standard based on the old GMT (Greenwich Mean Time) standard. This is the time at the Prime Meridian, which runs through Greenwich, London, England. As a basic introduction to JavaScript, you will now create a simple script that displays the current time and the UTC time within a web page. === Beginning the Script === Your script, like most JavaScript programs, begins with the HTML <script> tag. As you learned in Hour 1, you use the <script> and </script> tags to enclose a script within the HTML document. ; Watch Out: Remember to include only valid JavaScript statements between the starting and ending <script> tags. If the browser finds anything but valid JavaScript statements within the <script> tags, it will display a JavaScript error message. To begin creating the script, open your favorite text editor and type the beginning and ending <script> tags as shown. <script LANGUAGE="JavaScript" type="text/javascript"> </script> Because this script does not use any of the new features of JavaScript 1.1 or later, you won't need to specify a version number in the <script> tag. This script should work with all browsers going back to Netscape 2.0 or Internet Explorer 3.0. === Adding JavaScript Statements === Your script now needs to determine the local and UTC times, and then display them to the browser. Fortunately, all of the hard parts, such as converting between date formats, are built in to the JavaScript interpreter. === Storing Data in Variables === To begin the script, you will use a variable to store the current date. You will learn more about variables in Hour 5, "Using Variables, Strings, and Arrays." A variable is a container that can hold a value, a number, some text, or in this case, a date. To start writing the script, add the following line after the first <script> tag. Be sure to use the same combination of capital and lowercase letters in your version because JavaScript commands and variable names are case sensitive. now = new Date(); This statement creates a variable called now and stores the current date and time in it. This statement and the others you will use in this script use JavaScript's built-in Date object, which enables you to conveniently handle dates and times. You'll learn more about working with dates in Hour 8, "Using Built-in Functions and Libraries." ; By the Way:Notice the semicolon at the end of the previous statement. This tells the browser that it has reached the end of a statement. Semicolons are optional, but using them helps you avoid some common errors. We'll use them throughout this book for clarity. === Calculating the Results === Internally, JavaScript stores dates as the number of milliseconds since January 1, 1970. Fortunately, JavaScript includes a number of functions to convert dates and times in various ways, so you don't have to figure out how to convert milliseconds to day, date, and time. To continue your script, add the following two statements before the final </script> tag: localtime = now.toString(); utctime = now.toUTCString(); These statements create two new variables: <sup>localtime</sup>, containing the current time and date in a nice readable format, and <sup>utctime</sup>, containing the UTC equivalent. === By the Way === The <sup>localtime</sup> and <sup>utctime</sup> variables store a piece of text, such as January 1, 2001 12:00 PM. In programming parlance, a piece of text is called a <sup>string</sup>. You will learn more about strings in Hour 5. == Creating Output == You now have two variables, <tt>localtime </tt> and <tt>utctime</tt>, which contain the results we want from our script. Of course, these variables don't do us much good unless we can see them. JavaScript includes a number of ways to display information, and one of the simplest is the <tt>document.write</tt> statement. The <tt>document.write</tt> statement displays a text string, a number, or anything else you throw at it. Because your JavaScript program will be used within a web page, the output will be displayed as part of the page. To display the result, add these statements before the final <sub></script></sub> tag: <pre> document.write("<b>Local time:</b> " + localtime + "<br>"); document.write("<b>UTC time:</b> " + utctime); </pre> These statements tell the browser to add some text to the web page containing your script. The output will include some brief strings introducing the results, and the contents of the <tt>localtime </tt> and <tt>utctime</tt> variables. Notice the HTML tags, such as <nowiki><b></nowiki> , within the quotation marks, because JavaScript's output appears within a web page, it needs to be formatted using HTML. The <nowiki><br></nowiki> tag in the first line ensures that the two times will be displayed on separate lines. ; By the Way:Notice the <tt>plus signs (+)</tt> used between the text and variables in the previous statements. In this case, it tells the browser to combine the values into one string of text. If you use the plus sign between two numbers, they are added together. == Adding the Script to a Web Page == You should now have a complete script that calculates a result and displays it. Your listing should match Listing 2.1. ; Listing 2.1. The Complete Date and Time Script <pre> <script language="JavaScript" type="text/javascript"> now = new Date(); localtime = now.toString(); utctime = now.toUTCString(); document.write("<b>Local time:</b> " + localtime + "<BR>"); document.write("<b>UTC time:</b> " + utctime); </script></pre> To use your script, you'll need to add it to an HTML document. In its most basic form, the HTML document should include opening and closing <tt><html> tags, <head> tags, and <body></tt> tags. If you add these tags to the document containing your script along with a descriptive heading, you should end up with something like Listing 2.2. ; Listing 2.2. The Date and Time Script in an HTML Document <pre><html> <head><title>Displaying Times and Dates</title></head> <body> <h1>Current Date and Time</h1> <p> <script language="JavaScript" type="text/javascript"> now = new Date(); localtime = now.toString(); utctime = now.toUTCString(); document.write("<b>Local time:</b> " + localtime + "<BR>"); document.write("<b>UTC time:</b> " + utctime); </script> </p> </body> </html></pre> Now that you have a complete HTML document, save it with the .htm or .html extension. ; By the Way:Notepad and other Windows text editors might try to be helpful and add the .txt extension to your script. Be sure your saved file has the correct extension. == Testing the Script == To test your script, you simply need to load the HTML document you created in a web browser. Start Netscape or Internet Explorer and select Open from the File menu. Click the Choose File or Browse button, and then find your HTML file. After you've selected it, click the Open button to view the page. If you typed the script correctly, your browser should display the result of the script, as shown in Figure 2.2. (Of course, your result won't be the same as mine, but it should be the same as the setting of your computer's clock.) A note about Internet Explorer 6.0 and above: Depending on your security settings, the script might not execute, and a yellow highlighted bar on the top of the browser might display a security warning. In this case, click the yellow bar and select Allow Blocked Content to allow your script to run. (This happens because the default security settings allow JavaScript in online documents, but not in local files.) ; Did you Know?:You can download the HTML document for this hour from this book's website. If the version you type doesn't work, try downloading the online version. === Modifying the Script === Although the current script does indeed display the current date and time, its display isn't nearly as attractive as the clock on your wall or desk. To remedy that, you can use some additional JavaScript features and a bit of HTML to display a large clock. To display a large clock, we need the hours, minutes, and seconds in separate variables. Once again, JavaScript has built-in functions to do most of the work: <pre> hours = now.getHours(); mins = now.getMinutes(); secs = now.getSeconds();</pre> These statements load the hours, mins, and secs variables with the components of the time using JavaScript's built-in date functions. After the hours, minutes, and seconds are in separate variables, you can create document.write statements to display them: <pre> document.write("<h1>"); document.write(hours + ":" + mins + ":" + secs); document.write("</h1>"); </pre> <nowiki>The first statement displays an HTML <h1> header tag to display the clock in a large typeface. The second statement displays the hours, mins, and secs variables, separated by colons, and the third adds the closing </h1> tag.</nowiki> You can add the preceding statements to the original date and time script to add the large clock display. Listing 2.3 shows the complete modified version of the script. <pre> <html> <head><title>Displaying Times and Dates</title></head> <body> <h1>Current Date and Time</h1> <p> <script language="JavaScript"> now = new Date(); localtime = now.toString(); utctime = now.toUTCString(); document.write("<b>Local time:</b> " + localtime + "<BR>"); document.write("<b>UTC time:</b> " + utctime); hours = now.getHours(); mins = now.getMinutes(); secs = now.getSeconds(); document.write("<h1>"); document.write(hours + ":" + mins + ":" + secs); document.write("</h1>"); </script> </p> </body> </html> </pre> Now that you have modified the script, save the HTML file and open the modified file in your browser. If you left the browser running, you can simply use the Reload button to load the new version of the script. Try it and verify that the same time is displayed in both the upper portion of the window and the new large clock. ; By the Way:The time formatting produced by this script isn't perfect: Hours after noon are in 24-hour time, and there are no leading zeroes, so 12:04 is displayed as 12:4. See Hour 8, "Using Built-in Functions and Libraries," for solutions to these issues. === Dealing with JavaScript Errors === As you develop more complex JavaScript applications, you're going to run into errors from time to time. JavaScript errors are usually caused by mistyped JavaScript statements. To see an example of a JavaScript error message, modify the statement you added in the previous section. We'll use a common error: omitting one of the parentheses. Change the last <tt>document.write</tt> statement in Listing 2.3 to read <pre> document.write("</h1>";</pre> Save your HTML document again and load the document into the browser. Depending on the browser version you're using, one of two things will happen: Either an error message will be displayed, or the script will simply fail to execute. If an error message is displayed, you're halfway to fixing the problem by adding the missing parenthesis. If no error was displayed, you should configure your browser to display error messages so that you can diagnose future problems: In Netscape or Firefox, type <tt>javascript:</tt> into the browser's Location field to display the JavaScript Console. In Firefox, you can also select Tools, JavaScript Console from the menu. The console is shown in Figure 2.4, displaying the error message you created in this example. In Internet Explorer, select Tools, Internet Options. On the Advanced page, uncheck the Disable Script Debugging box and check the Display a Notification About Every Script Error box. (If this is disabled, a yellow icon in the status bar will still notify you of errors.) ; By the Way:Notice the field at the top of the JavaScript Console. This enables you to type a JavaScript statement, which will be executed immediately. This is a handy way to test JavaScript's features. The error we get in this case is missing ) after argument list (Firefox) or Expected ')' (Internet Explorer), which turns out to be exactly the problem. Be warned, however, that error messages aren't always this enlightening. While Internet Explorer displays error dialog boxes for each error, Firefox's JavaScript Console displays a single list of errors and allows you to test commands. For this reason, you might find it useful to install Firefox for debugging and testing JavaScript, even if Internet Explorer is your primary browser. ; Did you Know?:As you develop larger JavaScript applications, finding and fixing errors becomes more important. You'll learn more about dealing with JavaScript errors in Hour 16, "Debugging JavaScript Applications." === Try It Yourself Using a Separate JavaScript File === Although simple scripts like this one can be embedded in an HTML file, as in the previous example, it's good practice to separate the HTML and JavaScript by using a separate JavaScript file. This has a few advantages: Browsers with JavaScript disabled, or older browsers that don't support it, will ignore the script. When multiple pages on your site use the same script, the browser only has to load the JavaScript file once, and use a cached copy on other pages. It's easier to maintain the HTML and JavaScript code when they're separated, especially if different people are working on the design and the scripting. We'll also be using separate JavaScript files for most of the examples in this book, so you should be familiar with this technique. To use a separate JavaScript file with the date and time example, you will need two files. A quick way to create them is to save the combined HTML/JavaScript file in Listing 2.3 to two files, and then edit them. The first file, datetime.html, will be the HTML file. Remove everything between the <script> tags, and add the src="datetime.js" attribute to the opening <script> tag. The resulting file is shown in Listing 2.4. ; Listing 2.4. HTML File for the Date and Time Script (datetime.html) <pre> <html> <head><title>Displaying Times and Dates</title></head> <body> <h1>Current Date and Time</h1> <p> <script language="JavaScript" type="text/javascript" src = "datetime.js"> </script> </p> </body> </html> </pre> The second file, datetime.js, will contain only JavaScript commandsthe same ones you removed from the HTML file. This file should not include <script> tags, or any HTML tags. The JavaScript file is shown in Listing 2.5. ; Listing 2.5. The Date and Time Script (datetime.js) <pre> now = new Date(); localtime = now.toString(); utctime = now.toUTCString(); document.write("<b>Local time:</b> " + localtime + "<BR>"); document.write("<b>UTC time:</b> " + utctime); hours = now.getHours(); mins = now.getMinutes(); secs = now.getSeconds(); document.write("<h1>"); document.write(hours + ":" + mins + ":" + secs); document.write("</h1>");</pre> ; By the Way:If Internet Explorer displays a warning message in a yellow bar at the top of the browser window instead of executing your script, simply click the bar and select Allow Blocked Content. As you create larger scripts, you'll find it far less confusing to keep the HTML and JavaScript in separate files. The next hour discusses this and other best practices for JavaScript. == Summary == During this hour, you wrote a simple JavaScript program and tested it using a browser. You learned about the tools you need to work with JavaScript, basically, an editor and a browser. You also learned how to modify and test scripts, and what happens when a JavaScript program runs into an error. Finally, you learned how to use scripts in separate JavaScript files. In the process of writing this script, you have used some of JavaScript's basic features: <tt>variables</tt>, the <tt>document.write</tt> <tt>statement</tt>, and <tt>functions </tt>for working with dates and times. Now that you've learned a bit of JavaScript syntax, you're ready to learn more of the details. You'll do that in Hour 3, "Getting Started with JavaScript Programming." === Q&A === Q1: Why do I need more than one browser to test scripts? Won't JavaScript behave the same way on both browsers? A1: Although JavaScript is standardized, the browsers don't interpret it in exactly the same way. Your script might have minor flaws that have no effect in one browser but cause an error in another. Also, as you move on to more advanced features of JavaScript, you'll need to deal with browsers in different ways, as described in Hour 15, "Unobtrusive Scripting," and you'll need to test each one. Q2: When I try to run my script, the browser displays the actual script in the browser window instead of executing it. What did I do wrong? A2: This is most likely caused by one of three errors. First, you might be missing the beginning or ending <tt><script> </tt> tags. Check them, and verify that the first reads <tt><script LANGUAGE="JavaScript" type="text/javascript"></tt>. Second, your file might have been saved with a .txt extension, causing the browser to treat it as a text file. Rename it to <tt>.htm or .html</tt> to fix the problem. Third, make sure your browser supports JavaScript, and that it is not disabled in the <tt>Preferences</tt> dialog. Q3: Why are the <tt><nowiki><b></nowiki></tt> and <tt><nowiki><br></nowiki></tt> tags allowed in the statements to print the time? I thought <tt>HTML tags</tt> weren't allowed within the <tt><script></tt> tags. A3: Because this particular tag is inside quotation marks, it's considered a valid part of the script. The script's output, including any <tt>HTML tags</tt>, is interpreted and displayed by the browser. You can use other HTML tags within quotation marks to add formatting, such as the <tt><nowiki><h1></nowiki></tt> tags we added for the large clock display. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: 1. What software do you use to create and edit JavaScript programs? A browser A text editor A pencil and a piece of paper 2. What are variables used for in JavaScript programs? Storing numbers, dates, or other values Varying randomly Causing high school algebra flashbacks 3. What should appear at the very end of a JavaScript script embedded in an HTML file? The <tt><tt><script LANGUAGE="JavaScript"></tt></tt> tag The <tt><tt></script></tt></tt> tag The END statement === Quiz Answers === 1. b. Any text editor can be used to create scripts. You can also use a word processor if you're careful to save the document as a text file with the .html or .htm extension. 2. a. Variables are used to store numbers, dates, or other values. 3. b. Your script should end with the <tt></script></tt> tag. === Exercises === To further your knowledge of <tt>JavaScript</tt>, perform the following exercises: Add a millisecond field to the large clock. You can use the <tt><tt>getMilliseconds</tt> function</tt>, which works just like <tt>getSeconds</tt> but returns milliseconds. Modify the script to display the time, including milliseconds, twice. Notice whether any time passes between the two time displays when you load the page. --> g9r335axaq97m4imuo7882ovshf8nju User:Moncur/03 2 2077 5826 5761 2007-06-19T23:57:24Z Moncur 24 5826 wikitext text/x-wiki =3. Getting Started with JavaScript Programming= == Basic Concepts == There are a few basic concepts and terms you'll run into throughout this book. In the following sections, you'll learn about the basic building blocks of JavaScript. === Statements === Statements are the basic units of a JavaScript program. A <tt>statement </tt> is a section of code that performs a ''single action''. For example, the following three statements are from the date and time example in Hour 2, "Creating Simple Scripts": <pre> hours = now.getHours(); mins = now.getMinutes(); secs = now.getSeconds();</pre> Although a statement is typically a single line of JavaScript, this is not a rule, it's possible to break a statement across multiple lines, or to include more than one statement in a single line. A <tt>semicolon </tt> marks the end of a statement. You can also omit the semicolon if you start a new line after the statement. If you combine statements into a single line, you must use semicolons to separate them. === Combining Tasks with Functions === In the basic scripts you've examined so far, you've seen some JavaScript statements that have a section in parentheses, like this: <tt>document.write("Testing.");</tt> This is an example of a <tt>function</tt>. Functions provide a simple way to handle a task, such as adding <tt>output </tt>to a web page. JavaScript includes a wide variety of <tt>built-in functions</tt>, which you will learn about throughout this book. A <tt>statement </tt>that uses a function, as in the preceding example, is referred to as a <tt>function call</tt>. Functions take <tt>parameters </tt>(the expression inside the <tt>parentheses</tt>) to tell them what to do. Additionally, a function can return a value to a waiting <tt>variable</tt>. For example, the following function call prompts the user for a response and stores it in the <tt>text </tt>variable: <tt>text = prompt("Enter some text.")</tt> You can also create your own functions. This is useful for two main reasons: First, you can separate logical portions of your script to make it easier to understand. Second, and more importantly, you can use the function several times or with different data to avoid repeating script statements. ; By the Way : You will learn how to define, call, and return values from your own functions in Hour 6, "Using Functions and Objects." === Variables === In Hour 2, you learned that variables are containers that can store a number, a string of text, or another value. For example, the following statement creates a variable called <tt>fred </tt>and assigns it the value 27: <tt>var fred = 27;</tt> JavaScript variables can contain numbers, text strings, and other values. You'll learn more about them in Hour 5, "Using Variables, Strings, and Arrays." === Understanding Objects === JavaScript also supports <tt>objects</tt>. Like variables, objects can store data, but they can store two or more pieces of data at once. The items of data stored in an object are called the properties of the object. For example, you could use objects to store information about people such as in an address book. The properties of each person object might include a name, an address, and a telephone number. JavaScript uses <tt>periods </tt>to separate object names and property names. For example, for a person object called Bob, the properties might include <tt>Bob.address</tt> and <tt>Bob.phone</tt>. Objects can also include <tt>methods</tt>. These are functions that work with the object's data. For example, our person object for the address book might include a display() method to display the person's information. In JavaScript terminology, the statement Bob.display() would display Bob's details. ; By the Way : The <tt>document.write</tt> function we discussed earlier this hour is actually the write method of the document object. You will learn more about this object in Hour 4, "Working with the Document Object Model (DOM)." Don't worry if this sounds confusing, you'll be exploring objects in much more detail later in this book. For now, you just need to know the basics. JavaScript supports three kinds of objects: * ''Built-in objects'' are built in to the JavaScript language. You've already encountered one of these, <tt>Date</tt>, in Hour 2. Other built-in objects include <tt>Array </tt>and <tt>String</tt>, which you'll explore in Hour 5, and <tt>Math</tt>, which is explained in Hour 8, "Using Built-in Functions and Libraries." * ''DOM (Document Object Model)'' objects represent various components of the browser and the current HTML document. For example, the <tt>alert()</tt> function you used earlier in this hour is actually a method of the <tt>window </tt>object. You'll explore these in more detail in Hour 4. * ''Custom objects'' are objects you create yourself. For example, you could create a <tt>person </tt>object, as in the examples in this section. You'll learn to use custom objects in Hour 6. === Conditionals === Although <tt>event handlers</tt> notify your script when something happens, you might want to check certain conditions yourself. For example, did the user enter a valid email address? JavaScript supports <tt>conditional statements</tt>, which enable you to answer questions like this. A typical conditional uses the <tt>if</tt> statement, as in this example: <tt>if (count==1) alert("The countdown has reached 1.");</tt> This compares the variable count with the constant 1, and displays an alert message to the user if they are the same. You will use conditional statements like this in most of your scripts. ; By the Way : You'll learn more about conditionals in Hour 7, "Controlling Flow with Conditions and Loops." === Loops === Another useful feature of JavaScript, and most other programming languages, is the capability to create <tt>loops</tt>, or groups of statements that repeat a certain number of times. For example, these statements display the same alert 10 times, greatly annoying the user: <pre>for (i=1; i<=10; i++) { Alert("Yes, it's yet another alert!"); }</pre> The for statement is one of several statements JavaScript uses for loops. This is the sort of thing computers are supposed to be good at: performing repetitive tasks. You will use loops in many of your scripts, in much more useful ways than this example. ; By the Way: Loops are covered in detail in Hour 7. === Event Handlers === As mentioned in Hour 1, "Understanding JavaScript," not all scripts are located within <tt><script></tt> tags. You can also use scripts as event handlers. Although this might sound like a complex programming term, it actually means exactly what it says: <tt>Event handlers are scripts that handle events</tt>. In real life, an event is something that happens to you. For example, the things you write on your calendar are events: "Dentist appointment" or "Fred's birthday." You also encounter <tt>unscheduled events</tt> in your life: for example, a traffic ticket, an <tt>IRS audit</tt>, or an unexpected visit from relatives. Whether events are scheduled or unscheduled, you probably have normal ways of handling them. Your event handlers might include things such as <tt>When </tt>Fred's birthday arrives, send him a present or <tt>When </tt>relatives visit unexpectedly, turn out the lights and pretend nobody is home. Event handlers in JavaScript are similar: They tell the browser what to do when a certain event occurs. The events JavaScript deals with aren't as exciting as the ones you deal with, they include such events as <tt>When </tt>the mouse button clicks and <tt>When </tt>this page is finished loading. Nevertheless, they're a very useful part of JavaScript. Many JavaScript events (such as mouse clicks) are caused by the user. Rather than doing things in a set order, your script can <tt>respond </tt>to the user's actions. Other events don't involve the user directly, for example, an event is triggered when an HTML document <tt>finishes loading</tt>. Each event handler is associated with a particular <tt>browser object</tt>, and you can specify the event handler in the tag that defines the object. For example, <tt>images </tt>and <tt>text links</tt> have an event, <tt>onMouseOver</tt>, that happens when the mouse pointer moves over the object. Here is a typical HTML image tag with an event handler: <pre> <img src="button.gif" onMouseOver='highlight();"></pre> You specify the event handler as an <tt>attribute </tt>to the HTML tag and include the JavaScript statement to handle the event within the quotation marks. This is an ideal use for functions because function names are short and to the point and can refer to a whole series of statements. See the Try It Yourself section at the end of this hour for a complete example of an event handler within an HTML document. ; By the Way: You can also define event handlers within JavaScript without using HTML attributes. You'll learn this technique, and more about event handlers, in Hour 9, "Responding to Events." === Which Script Runs First? === You can actually have several scripts within a web document: one or more sets of <tt><script></tt> tags, external JavaScript files, and any number of event handlers. With all of these scripts, you might wonder how the browser knows which to execute first. Fortunately, this is done in a logical fashion: Sets of <tt><script></tt> tags within the <tt><head></tt> section of an HTML document are handled <tt>first</tt>, whether they include embedded code or refer to a JavaScript file. Because these scripts <tt>cannot create output in the web page</tt>, it's a good place to <tt>define </tt>functions for use later. Sets of <tt><script></tt> tags within the <tt><body></tt> section of the HTML document are executed after those in the <tt><head></tt> section, while the web page loads and displays. If there is more than one script in the body, they are executed in order. Event handlers are executed when their events happen. For example, the <tt>onLoad</tt> event handler is executed when the body of a web page loads. Because the <tt><head></tt> section is loaded before any events, you can <tt>define functions</tt> there and use them in event handlers. == JavaScript Syntax Rules == JavaScript is a simple language, but you do need to be careful to use its syntax, the rules that define how you use the language correctly. The rest of this book covers many aspects of JavaScript syntax, but there are a few basic rules you should understand to avoid errors. === Case Sensitivity === Almost everything in JavaScript is case sensitive: you cannot use lowercase and capital letters interchangeably. Here are a few general rules: * <tt>JavaScript keywords</tt>, such as <tt>for </tt>and <tt>if</tt>, are always lowercase. * <tt>Built-in objects</tt> such as <tt>Math </tt>and <tt>Date </tt>are capitalized. * <tt>DOM object names</tt> are usually lowercase, but their methods are often a combination of capitals and lowercase. Usually capitals are used for all but the first word, as in <tt>toLowerCase </tt>and <tt>getElementById</tt>. When in doubt, follow the exact case used in this book or another JavaScript reference. If you use the wrong case, the browser will usually display an error message. === Variable, Object, and Function Names === When you define your own <tt>variables, objects, or functions</tt>, you can choose their names. Names can include uppercase letters, lowercase letters, numbers, and the <tt>underscore </tt>(_) character. Names must begin with a letter or underscore. You can choose whether to use capitals or lowercase in your <tt>variable </tt>names, but remember that JavaScript is case sensitive: score, Score, and SCORE would be considered three different variables. Be sure to use the same name each time you refer to a variable. === Reserved Words === One more rule for variable names: they must not be reserved words. These include the words that make up the JavaScript language, such as if and for, DOM object names such as window and document, and built-in object names such as Math and Date. A complete list of reserved words is included in Appendix D, "JavaScript Quick Reference." === Spacing === Blank space (known as whitespace by programmers) is ignored by JavaScript. You can include spaces and tabs within a line, or blank lines, without causing an error. Blank space often makes the script more readable. == Using Comments == JavaScript comments enable you to include documentation within your script. This will be useful if someone else tries to understand the script, or even if you try to understand it after a long break. To include comments in a JavaScript program, begin a line with <tt>two slashes</tt>, as in this example: <pre>//this is a comment.</pre> You can also begin a comment with two slashes in the middle of a line, which is useful for documenting a script. In this case, everything on the line after the slashes is treated as a comment and ignored by the browser. For example, <pre>a = a + 1; // add one to the value of a</pre> JavaScript also supports <tt>C-style comments</tt>, which begin with <tt>/*</tt> and end with <tt>*/</tt>. These comments can extend across more than one line, as the following example demonstrates: <pre>/*This script includes a variety of features, including this comment. */</pre> Because JavaScript statements within a comment are ignored, C-style comments are often used for commenting out sections of code. If you have some lines of JavaScript that you want to temporarily take out of the picture while you debug a script, you can add /* at the beginning of the section and */ at the end. ; By the Way: Because these comments are part of JavaScript syntax, they are only valid inside <tt><script></tt> tags or within an external JavaScript file. == Best Practices for JavaScript == You should now be familiar with the basic rules for writing valid JavaScript. Along with following the rules, it's also a good idea to follow<tt> best practices</tt>. The following practices may not be required, but you'll save yourself and others some headaches if you follow them. ; Use comments liberally: These make your code easier for others to understand, and also easier for you to understand when you edit them later. They are also useful for marking the major divisions of a script. ; Use a semicolon at the end of each statement, :and only use one statement per line This will make your scripts easier to debug. ; Use separate JavaScript files whenever possible : This separates JavaScript from HTML and makes debugging easier, and also encourages you to write modular scripts that can be reused. ; Avoid being browser-specific: As you learn more about JavaScript, you'll learn some features that only work in one browser. Avoid them unless absolutely necessary, and always test your code in more than one browser. ; Keep JavaScript optional: Don't use JavaScript to perform an essential function on your sitefor example, the primary navigation links. Whenever possible, users without JavaScript should be able to use your site, although it may not be quite as attractive or convenient. This strategy is known as progressive enhancement. There are many more best practices involving more advanced aspects of JavaScript. These are covered in detail in Hour 15, "Unobtrusive Scripting." === Try It Yourself Using an Event Handler === To conclude this hour, here's a simple example of an event handler. This will demonstrate how you <tt>set up an event</tt>, which you'll use throughout this book, and how JavaScript works without<tt> <script> </tt>tags. Listing 3.1 shows an HTML document that includes a simple event handler. ; Listing 3.1. An HTML Document with a Simple Event Handler: <pre> <html> <head> <title>Event Handler Example</title> </head> <body> <h1>Event Handler Example</h1> <p> <a href="http://www.jsworkshop.com/" onClick="alert('Aha! An Event!');">Click this link</a> to test an event handler. </p> </body> </html></pre> The event handler is defined with the following <tt>onClick </tt>attribute within the<tt> <a></tt> tag that defines a link: <pre>onClick="alert('Aha! An Event!");"</pre> This event handler uses the built-in <tt>alert()</tt> function to display a message when you click on the link. In more complex scripts, you will usually define your own function to act as an event handler. Figure 3.1 shows this example in action. You'll use other event handlers similar to this in the next hour, and events will be covered in more detail in Hour 9. ; Did you Know?: Notice that after you click the OK button on the alert, the browser follows the link defined in the <tt><a></tt> tag. Your event handler could also stop the browser from following the link, as described in Hour 9. == Summary == During this hour, you've been introduced to several components of JavaScript programming and syntax: functions, objects, event handlers, conditions, and loops. You also learned how to use JavaScript comments to make your script easier to read, and looked at a simple example of an event handler. In the next hour, you'll look at the Document Object Model (DOM) and learn how you can use the objects within the DOM to work with web pages and interact with users. === Q&A === Q1: I've heard the term object-oriented applied to languages such as C++ and Java. If JavaScript supports objects, is it an object-oriented language? A1: Yes, although it might not fit some people's strict definitions. JavaScript objects do not support all of the features that languages such as C++ and Java support, although the latest versions of JavaScript have added more object-oriented features. Q2: Having several scripts that execute at different times seems confusing. Why would I want to use event handlers? A2: Event handlers are the ideal way (and in JavaScript, the only way) to handle gadgets within the web page, such as buttons, check boxes, and text fields. It's actually more convenient to handle them this way. Rather than writing a script that sits and waits for a button to be pushed, you can simply create an event handler and let the browser do the waiting for you. Q3: Some examples in other books suggest enclosing scripts in HTML comments (<nowiki>&lt;!--</nowiki> and <nowiki>--&gt;</nowiki>) to hide the script from older browsers. Is this necessary? A3: This technique was only necessary for supporting very old browsers, such as Netscape 2.0. I no longer recommend this because all modern browsers handle JavaScript correctly. If you are still concerned about non-JavaScript browsers, the best way to hide your script is to use an external JavaScript file, as described in Hour 2. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: 1. A script that executes when the user clicks the mouse button is an example of what? An object An event handler An impossibility 2. Which of the following are capabilities of functions in JavaScript? Accept parameters Return a value Both of the above 3. Which of the following is executed first by a browser? A script in the <head> section A script in the <body> section An event handler for a button === Quiz Answers === 1. b. A script that executes when the user clicks the mouse button is an event handler. 2. c. Functions can accept both parameters and return values. 3. a. Scripts defined in the <head> section of an HTML document are executed first by the browser. === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: Examine the Date and Time script you created in Hour 2 and find any examples of functions and objects being used. Add JavaScript comments to the Date and Time script to make it more clear what each line does. Verify that the script still runs properly. --> p4pk22az2eiajiefk11gvly7b2k0qtv User:Moncur/01 2 2078 5819 5756 2007-06-19T23:21:16Z Moncur 24 5819 wikitext text/x-wiki =1 Understanding JavaScript= The World Wide Web (WWW) began as a text-only medium, the first browsers didn't even support images within web pages. Although it's still not quite ready to give television a run for its money, the Web has come a long way since then. Today's websites can include a wealth of features: graphics, sounds, animation, video, and occasionally useful content. Web scripting languages, such as JavaScript, are one of the easiest ways to spice up a web page and to interact with users in new ways. The first hour of this book introduces the concept of web scripting and the JavaScript language. It also describes how JavaScript fits in with other web languages. == Learning Web Scripting Basics == In the world of science fiction movies (and many other movies that have no excuse), computers are often seen obeying commands in English. Although this might indeed happen in the near future, computers currently find it easier to understand languages such as BASIC, C, and Java. If you know how to use HTML (Hypertext Markup Language) to create a web document, you've already worked with one computer language. You use HTML tags to describe how you want your document formatted, and the browser obeys your commands and shows the formatted document to the user. Because HTML is a simple text markup language, it can't respond to the user, make decisions, or automate repetitive tasks. Interactive tasks such as these require a more sophisticated language: a programming language, or a scripting language. Although many programming languages are complex, scripting languages are generally simple. They have a simple syntax, can perform tasks with a minimum of commands, and are easy to learn. Web scripting languages enable you to combine scripting with HTML to create interactive web pages. === Scripts and Programs === A movie or a play follows a script, a list of actions (or lines) for the actors to perform. A web script provides the same type of instructions for the web browser. A script in JavaScript can range from a single line to a full-scale application. (In either case, JavaScript scripts usually run within a browser.) ; By the Way : Is JavaScript a scripting language or a programming language? It depends on who you ask. We'll refer to scripting throughout this book, but feel free to include JavaScript programming on your résumé after you've finished this book. Some programming languages must be compiled, or translated, into machine code before they can be executed. JavaScript, on the other hand, is an interpreted language: The browser executes each line of script as it comes to it. There is one main advantage to interpreted languages: Writing or changing a script is very simple. Changing a JavaScript script is as easy as changing a typical HTML document, and the change is enacted as soon as you reload the document in the browser. ; By the Way : Interpreted languages have their disadvantages. They can't execute really quickly, so they're not ideally suited for complicated work, such as graphics. Also, they require the interpreter (in JavaScript's case, usually a browser) in order to work. === Introducing JavaScript === JavaScript was developed by Netscape Communications Corporation, the maker of the Netscape web browser. JavaScript was the first web scripting language to be supported by browsers, and it is still by far the most popular. ; By the Way : A bit of history: JavaScript was originally called LiveScript and was first introduced in Netscape Navigator 2.0 in 1995. It was soon renamed JavaScript to indicate a marketing relationship with Sun's Java language. JavaScript is almost as easy to learn as HTML, and it can be included directly in HTML documents. Here are a few of the things you can do with JavaScript: * Display messages to the user as part of a web page, in the browser's status line, or in alert boxes * Validate the contents of a form and make calculations (for example, an order form can automatically display a running total as you enter item quantities) * Animate images or create images that change when you move the mouse over them * Create ad banners that interact with the user, rather than simply displaying a graphic * Detect the browser in use or its features and perform advanced functions only on browsers that support them * Detect installed plug-ins and notify the user if a plug-in is required * Modify all or part of a web page without requiring the user to reload it * Display or interact with data retrieved from a remote server You can do all this and more with JavaScript, including creating entire applications. We'll explore the uses of JavaScript throughout this book. == How JavaScript Fits into a Web Page == As you hopefully already know, HTML is the language you use to create web documents. To refresh your memory, ''Listing 1.1'' shows a short but sadly typical web document. ; Listing 1.1. A Simple HTML Document <pre> <html> <head> <title>Our Home Page</title> </head> <body> <h1>The American Eggplant Society</h1> <p>Welcome to our Web page. Unfortunately, it's still under construction.</p> </body> </html> </pre> This document consists of a header within the <head> tags and the body of the page within the <body> tags. To add JavaScript to a page, you'll use a similar tag: <script>. The <tt><script></tt> tag tells the browser to start treating the text as a script, and the closing </script> tag tells the browser to return to HTML mode. In most cases, you can't use JavaScript statements in an HTML document except within <script> tags. The exception is event handlers, described later in this hour. JavaScript and HTML Using the <script> tag, you can add a short script (in this case, just one line) to a web document, as shown in Listing 1.2. ; Did you Know?:If you want to try this example in a browser but don't want to type it, the HTML document is available on this book's website (as are all of the other listings). ; Listing 1.2. A Simple HTML Document with a Simple Script <pre> <html> <head> <title>Our Home Page</title> </head> <body> <h1>The American Eggplant Society</h1> <p>Welcome to our Web page. Unfortunately, it's still under construction. We last worked on it on this date: <script language="JavaScript" type="text/javascript"> document.write(document.lastModified); </script> </p> </body> </html> </pre> JavaScript's document.write statement, which you'll learn more about later, sends output as part of the web document. In this case, it displays the modification date of the document. ; By the Way : Notice that the <script> tag in Listing 1.2 includes the parameter type="text/javascript". This specifies the scripting language to the browser. You can also specify a JavaScript version, as you'll learn later in this hour. In this example, we placed the script within the body of the HTML document. There are actually four different places where you might use scripts: * In the body of the page In this case, the script's output is displayed as part of the HTML document when the browser loads the page. * In the header of the page between the <head> tags Scripts in the header don't immediately affect the HTML document, but can be referred to by other scripts. The header is often used for functionsgroups of JavaScript statements that can be used as a single unit. You will learn more about functions in Hour 3, "Getting Started with JavaScript Programming." * Within an HTML tag, such as <body> or <form> This is called an event handler and enables the script to work with HTML elements. When using JavaScript in event handlers, you don't need to use the <script> tag. You'll learn more about event handlers in Hour 3. * In a separate file entirely JavaScript supports the use of files with the .js extension containing scripts; these can be included by specifying a file in the <script> tag. ; Using Separate JavaScript Files When you create more complicated scripts, you'll quickly find your HTML documents become large and confusing. To avoid this, you can use one or more external JavaScript files. These are files with the .js extension that contain JavaScript statements. External scripts are supported by all modern browsers. To use an external script, you specify its filename in the <script> tag: <script language="JavaScript" type="text/javascript" src="filename.js"> </script> Because you'll be placing the JavaScript statements in a separate file, you don't need anything between the opening and closing <script> tags, in fact, anything between them will be ignored by the browser. You can create the .js file using a text editor. It should contain one or more JavaScript commands, and only JavaScriptdon't include <script> tags, other HTML tags, or HTML comments. Save the .js file in the same directory as the HTML documents that refer to it. See the Try It Yourself section of Hour 2 for an example of separate HTML and script files. ; Did you Know? : External JavaScript files have a distinct advantage: You can link to the same .js file from two or more HTML documents. Because the browser stores this file in its cache, this can reduce the time it takes your web pages to display. === Events === Many of the useful things you can do with JavaScript involve interacting with the user, and that means responding to events, for example, a link or a button being clicked. You can define event handlers within HTML tags to tell the browser how to respond to an event. For example, Listing 1.3 defines a button that displays a message when clicked. ; Listing 1.3. A Simple Event Handler <pre> <html> <head> <title>Event Test</title> </head> <body> <h1>Event Test</h1> <button onclick="alert('You clicked the button.')"> </body> </html> </pre> In Hour 9, "Responding to Events," you'll learn more about JavaScript's event model and creating simple and complex event handlers. ; By the Way: You can also use an external script to define event handlers. This is a good practice because it lets you keep all of your JavaScript in one place, rather than scattered across the HTML document. See Hour 9 for details. == Browsers and JavaScript == Like HTML, JavaScript requires a web browser to be displayed, and different browsers may display it differently. Unlike HTML, the results of a browser incompatibility with JavaScript are more drastic: Rather than simply displaying your text incorrectly, the script may not execute at all, may display an error message, or may even crash the browser. We'll take a quick look at the way different browsers and different versions of the same browser treat JavaScript in the following sections. === The DOM (Document Object Model) === Let's start with one reason you shouldn't have to think too much about different browsers. Almost everything you do with JavaScript involves working with the Document Object Model (DOM), a standardized set of objects that represent a web document. The DOM includes objects that enable you to work with all aspects of the current document. For example, you can read the value the user types in a form field, or the filename of the current page. The DOM is defined by the W3C (World Wide Web Consortium) and the latest browsers support DOM levels 1 and 2, which enable you to control all parts of a web page with JavaScript. ; Did you Know?: Early versions of the DOM only allowed JavaScript to manipulate certain parts of a page, such as form elements and links. The new DOM enables you to work with every element defined in HTML. === Internet Explorer === Microsoft's Internet Explorer (IE) browser was a latecomer to the Internet, but has now become the most popular browser. The latest versions of IE support most of JavaScript 1.5 and the W3C DOM. At this writing, IE 6.0 is the latest released version, and IE 7.0 is in beta. Although most of the examples in this book will work in IE 5.0 and later, I recommend testing your scripts with the latest browsers. === Netscape and Firefox === Netscape, which for a time made the Web's most popular browser, established the Mozilla Foundation to maintain an open-source version of the browser. This led to the Mozilla browser and more recently, Firefox, a streamlined browser based on the Mozilla engine. Firefox has recently begun to challenge Microsoft's browser dominance, with an estimated 10% of web users. That might not sound like many, but ignoring Firefox means ignoring at least 10% of your audience, and on many sites the percentage is much higher. Firefox is available for Windows, Macintosh, and Linux platforms and is free, open-source software. You can download Firefox from the Mozilla website at http: //www.mozilla.org/ . At this writing, the current version of Firefox is 1.5. Most of the scripts in this book will work with Firefox 1.0 or later, as well as versions 6 and 7 of the Netscape browser. ; By the Way: Netscape 4.0 and Internet Explorer 4.0 supported incompatible versions of Dynamic HTML (DHTML)an attempt to overcome the limits of the current DOM. The new W3C DOM eliminates the need for these proprietary models, and you can now write standard code that will work on most modern browsers. === Other Browsers === Although Internet Explorer and Firefox are the most popular browsers, there are many other browsers. Here are two less-common browsers you'll probably hear about: * Safari, Apple's browser, is included with MacOS and is the default browser on most Macintosh computers. * Opera, from Opera Software, is an alternative browser notable for its support of many platforms, including mobile phones. The latest version of Opera, 8.0, supports the W3C DOM and JavaScript 1.5, and should work with most scripts in this book. ; Did you Know?:There are many other browsers out there, but you don't need to know all of them to create working scripts, as long as you follow the standards, your scripts will work on browsers that support JavaScript almost every time. This book will focus on teaching standards-based scripting that will work in all modern browsers. === Versions of JavaScript === The JavaScript language has evolved since its original release in Netscape 2.0. There have been several versions of JavaScript: * JavaScript 1.0, the original version, is supported by Netscape 2.0 and Internet Explorer 3.0. * JavaScript 1.1 is supported by Netscape 3.0 and mostly supported by Internet Explorer 4.0. * JavaScript 1.2 is supported by Netscape 4.0 and partially supported by Internet Explorer 4.0. * JavaScript 1.3 is supported by Netscape 4.5 and Internet Explorer 5.0 and 6.0. * JavaScript 1.5 is partially supported by Internet Explorer 6.0, and supported by Netscape 6.0 and Firefox 1.0. * JavaScript 1.6 is currently supported by Firefox 1.5. Each of these versions is an improvement over the previous version and includes a number of new features. With rare exception, browsers that support the new version will also support scripts written for earlier versions. The European Computer Manufacturing Association (ECMA) has finalized the ECMA-262 specification for ECMAScript, a standardized version of JavaScript. JavaScript 1.3 follows the ECMA-262 standard, and JavaScript 1.5 follows ECMA-262 revision 3. ; By the Way : Another language you might hear of is JScript. This is how Microsoft refers to its implementation of JavaScript, which is generally compatible with the standard version. The Mozilla Foundation, the open-source offshoot of Netscape that develops the Firefox browser, is also working with ECMA on JavaScript 2.0, a future version that will correspond with the fourth edition of the ECMAScript standard. JavaScript 2.0 will improve upon earlier versions with a more modular approach, better object support, and features to make JavaScript useful as a general-purpose scripting language as well as a web language. == Specifying JavaScript Versions == As mentioned earlier in this hour, you can specify a version of JavaScript in the <script> tag. For example, this tag specifies JavaScript version 1.3: <script language="JavaScript1.3" type="text/javascript"> There are two ways of specifying the JavaScript language in the <script> tag. The old method uses the language attribute, and the new method recommended by the HTML 4.0 specification uses the type attribute. To maintain compatibility with older browsers, you can use both attributes. When you specify a version number in the language attribute, this allows your script to execute only if the browser supports the version you specified or a later version. When the <script> tag doesn't specify a version number, all browsers that support JavaScript will run the script. Because most of the JavaScript language has remained the same since version 1.0, you will rarely need to worry about JavaScript versions. ; Did you Know?:In most cases, you shouldn't specify a JavaScript version at all. This allows your script to run on all of the browsers that support JavaScript. You should only specify a particular version when your script uses features unique to a specific version. === JavaScript Beyond the Browser === Although JavaScript programs traditionally run within a web browser, and web-based JavaScript is the focus of this book, JavaScript is becoming increasingly popular in other applications. Here are a few examples: * Adobe Dreamweaver and Flash, used for web applications and multimedia, can be extended with JavaScript. * Several server-side versions of JavaScript are available. These run within a web server rather than a browser. * Microsoft's Windows Scripting Host (WSH) supports JScript, Microsoft's implementation of JavaScript, as a general-purpose scripting language for Windows. Unfortunately, the most popular applications developed for WSH so far have been email viruses. * Microsoft's Common Language Runtime (CLR), part of the .NET framework, supports JavaScript. Along with these examples, many of the changes in the upcoming JavaScript 2.0 are designed to make it more suitable as a general-purpose scripting language. == Exploring JavaScript's Capabilities == If you've spent any time browsing the Web, you've undoubtedly seen lots of examples of JavaScript in action. Here are some brief descriptions of typical applications for JavaScript, all of which you'll explore further, later in this book. === Improving Navigation === Some of the most common uses of JavaScript are in navigation systems for websites. You can use JavaScript to create a navigation tool, for example, a drop-down menu to select the next page to read, or a submenu that pops up when you hover over a navigation link. When it's done right, this kind of JavaScript interactivity can make a site easier to use, while remaining usable for browsers that don't support JavaScript. === Validating Forms === Form validation is another common use of JavaScript. A simple script can read values the user types into a form and make sure they're in the right format, such as with ZIP Codes or phone numbers. This allows users to notice common errors and fix them without waiting for a response from the web server. You'll learn how to write form validation scripts in Hour 11, "Getting Data with Forms." === Special Effects === One of the earliest and most annoying uses of JavaScript was to create attention-getting special effectsfor example, scrolling a message in the browser's status line or flashing the background color of a page. These techniques have fortunately fallen out of style, but thanks to the W3C DOM and the latest browsers, some more impressive effects are possible with JavaScript, for example, creating objects that can be dragged and dropped on a page, or creating fading transitions between images in a slideshow. === Remote Scripting (AJAX) === For a long time, the biggest limitation of JavaScript was that there was no way for it to communicate with a web server. For example, you could use it to verify that a phone number had the right number of digits, but not to look up the user's location in a database based on the number. Now that some of JavaScript's advanced features are supported by most browsers, this is no longer the case. Your scripts can get data from a server without loading a page, or send data back to be saved. These features are collectively known as AJAX (Asynchronous JavaScript And XML), or remote scripting. You'll learn how to develop AJAX scripts in Hour 17, "AJAX: Remote Scripting." You've seen AJAX in action if you've used Google's Gmail mail application, or recent versions of Yahoo! Mail or Microsoft Hotmail. All of these use remote scripting to present you with a responsive user interface that works with a server in the background. == Alternatives to JavaScript == JavaScript is not the only language used on the Web, and in some cases, it may not be the right tool for the job. Other languages, such as Java, can do some things better than JavaScript. In the following sections, we'll look at a few other commonly used web languages and their advantages. === Java === Java is a programming language developed by Sun Microsystems that can be used to create applets, or programs that execute within a web page. Java is a compiled language, but the compiler produces code for a virtual machine rather than a real computer. The virtual machine is a set of rules for bytecodes and their meanings, with capabilities that fit well into the scope of a web browser. The virtual machine code is then interpreted by a web browser. This allows the same Java applet to execute the same way on PCs, Macintoshes, and UNIX machines, and on different browsers. ; By the Way: Java is also a densely populated island in Indonesia and a slang term for coffee. This has resulted in a widespread invasion of coffee-related terms in computer literature. At this point, we need to make one thing clear: Java is a fine language, but you won't be learning it in this book. Although their names and some of their commands are similar, JavaScript and Java are entirely different languages. === ActiveX === ActiveX is a specification developed by Microsoft that enables ordinary Windows programs to be run within a web page. ActiveX programs can be written in languages such as Visual C++ and Visual Basic, and they are compiled before being placed on the web server. ActiveX applications, called controls, are downloaded and executed by the web browser, like Java applets. Unlike Java applets, controls can be installed permanently when they are downloaded, eliminating the need to download them again. ActiveX's main advantage is that it can do just about anything. This can also be a disadvantage: Several enterprising programmers have already used ActiveX to bring exciting new capabilities to web pages, such as "the web page that turns off your computer" and "the web page that formats your disk drive." Fortunately, ActiveX includes a signature feature that identifies the source of the control and prevents controls from being modified. Although this won't prevent a control from damaging your system, you can specify which sources of controls you trust. ActiveX has two main disadvantages: First, it isn't as easy to program as a scripting language or Java. Second, ActiveX is proprietary, it works only in Microsoft Internet Explorer, and only under Windows platforms. === VBScript === VBScript, sometimes known as Visual Basic Scripting Edition, is Microsoft's answer to JavaScript. Just as JavaScript's syntax is loosely based on Java, VBScript's syntax is loosely based on Microsoft Visual Basic, a popular programming language for Windows machines. Like JavaScript, VBScript is a simple scripting language, and you can include VBScript statements within an HTML document. VBScript can work with the DOM in the same way as JavaScript. To begin a VBScript script, you use the <script LANGUAGE="VBScript"> tag. VBScript can do many of the same things as JavaScript, and it even looks similar in some cases. It has two main advantages: * For those who already know Visual Basic, it may be easier to learn than JavaScript. * It is closely integrated with ActiveX, Microsoft's standard for web-embedded applications. VBScript's main disadvantage is that it is supported only by Microsoft Internet Explorer. JavaScript, on the other hand, is supported by Netscape, Internet Explorer, and several other browsers. JavaScript is a much more popular language, and you can see it in use all over the Web. === CGI and Server-Side Scripting === CGI (Common Gateway Interface) is not really a language, but a specification that enables programs to run on web servers. CGI programs can be written in any number of languages, including Perl, C, and Visual Basic. Along with traditional CGI, scripting languages such as Microsoft's Active Server Pages, Java Server Pages, Cold Fusion, and PHP are often used on web servers. A server-side implementation of JavaScript is also available. Server-side programs are heavily used on the Web. Almost every time you type information into a form and press a button to send it to a website, the data is processed by a server-side application. The main difference between JavaScript and server-side languages is that JavaScript applications execute on the client (the web browser) and server-side applications execute on the web server. The main disadvantage of this approach is that, because the data must be sent to the web server and back, response time might be slow. On the other hand, CGI can do things JavaScript can't do. In particular, it can read and write files on the server and interact with other server components, such as databases. Although a client-side JavaScript program can read information from a form and then manipulate it, it can't store the data on the web server. JavaScript is often used in conjunction with server-side languages. In its simplest form, this means JavaScript handles client-side chores such as form validation, whereas a server-side language receives data and stores it in a database. Using AJAX, this interaction can be instantaneous and does not even require loading a new page. ; Did you Know?: CGI and server-side programming are outside the focus of this book. You can learn more about these technologies with other Sams books, including Teach Yourself CGI Programming in 24 Hours, Teach Yourself Perl in 24 Hours, and Teach Yourself PHP in 24 Hours. See Appendix A, "Other JavaScript Resources," for more sources of information. == Summary == During this hour, you've learned what web scripting is and what JavaScript is. You've also learned how to insert a script into an HTML document or refer to an external JavaScript file, what sorts of things JavaScript can do, and how JavaScript differs from other web languages. If you're waiting for some real JavaScript code, look no further. The next hour, "Creating Simple Scripts," guides you through the process of creating several working JavaScript examples. You'll also learn about the tools you'll need to work with JavaScript. === Q&A === Q1: Do I need to test my JavaScript on more than one browser? A1: In an ideal world, any script you write that follows the standards for JavaScript will work in all browsers, and 90% of the time that's true in the real world. But browsers do have their quirks, and you should test your scripts on Internet Explorer and Firefox at a minimum. Q2: If I plan to learn Java or CGI anyway, will I have any use for JavaScript? A2: Certainly. JavaScript is the ideal tool for many applications, such as form validation. Although Java and CGI have their uses, they can't do all that JavaScript can do. Q3: Are there browsers out there that don't support JavaScript? A3: Yes. A few niche browsers, such as text-based browsers and tools for blind users, have partial JavaScript support or no support. Mobile phone browsers often support little or no JavaScript. Finally, many users of Internet Explorer or Firefox have JavaScript support turned off, and some corporate firewalls and ad-blocking software block JavaScript. Hour 2 describes how to account for browsers that don't support JavaScript. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: # Why do JavaScript and Java have similar names? ## JavaScript is a stripped-down version of Java. ## Netscape's marketing department wanted them to sound related. ## They both originated on the island of Java. # When a user views a page containing a JavaScript program, which machine actually executes the script? ## The user's machine running a web browser ## The web server ## A central machine deep within Netscape's corporate offices # Which of the following languages is supported by both Microsoft Internet Explorer and Netscape? ## VBScript ## ActiveX ## JavaScript === Quiz Answers === 1. b. Although some of the syntax is similar, JavaScript got its Java-based name mostly because of a marketing relationship. 2. a. JavaScript programs execute on the web browser. (There is actually a server-side version of JavaScript, but that's another story.) 3. c. JavaScript is supported by both Netscape and Internet Explorer, although the implementations are not identical. === Exercises === If you want to learn a bit about JavaScript or check out the latest developments before you proceed with the next hour, perform these activities: * Visit this book's website to check for news about JavaScript and updates to the scripts in this book. * View some of the examples on this book's website to see JavaScript in action. --> qob1mm6o6upfvp5apl7msncdouw35ft User:Moncur/08 2 2079 5818 5806 2007-06-19T19:16:11Z Moncur 24 5818 wikitext text/x-wiki <!----> =8. Using Built-in Functions and Libraries= == Using the <tt>Math</tt> Object == The <tt>Math</tt> object is a built-in JavaScript object that includes math constants and functions. You don't need to create a <tt>Math</tt> object; it exists automatically in any JavaScript program. The <tt>Math</tt> object's properties represent mathematical constants, and its methods are mathematical functions. === Rounding and Truncating === Three of the most useful methods of the <tt>Math</tt> object enable you to round decimal values up and down: * <tt>Math.ceil()</tt> rounds a number up to the next integer. * <tt>Math.floor()</tt> rounds a number down to the next integer. * <tt>Math.round()</tt> rounds a number to the nearest integer. All of these take the number to be rounded as their single parameter. You might notice one thing missing: the capability to round to a decimal place, such as for dollar amounts. Fortunately, you can easily simulate this. Here is a simple function that rounds numbers to two decimal places: <pre>function round(num) { return Math.round(num * 100) / 100; } </pre> This function multiplies the value by 100 to move the decimal, and then rounds the number to the nearest integer. Finally, the value is divided by 100 to restore the decimal to its original position. === Generating Random Numbers === One of the most commonly used methods of the <tt>Math</tt> object is the <tt>Math.random()</tt> method, which generates a random number. This method doesn't require any parameters. The number it returns is a random decimal number between zero and one. You'll usually want a random number between one and a value. You can do this with a general-purpose random number function. The following is a function that generates random numbers between one and the parameter you send it: <pre>function rand(num) { return Math.floor(Math.random() * num) + 1; } </pre> This function multiplies a random number by the value specified in the <tt>num</tt> parameter, and then converts it to an integer between one and the number by using the <tt>Math.floor()</tt> method. === Other <tt>Math</tt> Functions=== The <tt>Math</tt> object includes many functions beyond those you've looked at here. For example, <tt>Math.sin()</tt> and <tt>Math.cos()</tt> calculate sines and cosines. The <tt>Math</tt> object also includes properties for various mathematical constants, such as <tt>Math.PI</tt>. See [Appendix D], "JavaScript Quick Reference," for a complete list of <tt>math</tt> functions and constants. == Working with <tt>Math</tt> Functions == The <tt>Math.random()</tt> method generates a random number between <tt>0</tt> and <tt>1</tt>. However, it's very difficult for a computer to generate a truly random number. (It's also hard for a human being to do so—that's why dice were invented.) Today's computers do reasonably well at generating random numbers, but just how good is JavaScript's <tt>Math.random</tt> function? One way to test it is to generate many random numbers and calculate the average of all of them. In theory, the average should be somewhere near <tt>.5</tt>, halfway between <tt>0</tt> and <tt>1</tt>. The more random values you generate, the closer the average should get to this middle ground. As an example of the use of the <tt>Math</tt> object's methods, you can create a script that tests JavaScript's random number function. To do this, you'll generate 5,000 random numbers and calculate their average. ; Did you Know?:Rather than typing it in, you can download and try this hour's example at this book's website. In case you skipped [Hour 7], "Controlling Flow with Conditions and Loops," and are getting out your calculator, don't worry—you'll use a loop to generate the random numbers. You'll be surprised how fast JavaScript can do this. To begin your script, you will initialize a variable called <tt>total</tt>. This variable will store a running total of all of the random values, so it's important that it starts at <tt>0</tt>: <pre>total = 0;</pre> Next, begin a loop that will execute 5,000 times. Use a <tt>for</tt> loop because you want it to execute a fixed number of times: <pre>for (i=1; i<=5000; i++) {</pre> Within the loop, you will need to create a random number and add its value to <tt>total</tt>. Here are the statements that do this and continue with the next iteration of the loop: <pre> num = Math.random(); total += num; } </pre> Depending on the speed of your computer, it might take a few seconds to generate those 5,000 random numbers. Just to be sure something is happening, the script will display a status message after each 1,000 numbers: <pre>if (i % 1000 == 0) document.write("Generated " + i + " numbers...<br>"); </pre> ; By the Way?:The <tt>%</tt> symbol in the previous code is the modulo operator, which gives you the remainder after dividing one number by another. Here it is used to find even multiples of 1,000. The final part of your script will calculate the average by dividing <tt>total</tt> by 5,000. Your script can also round the average to three decimal places, using the trick you learned earlier in this hour: <pre>average = total / 5000; average = Math.round(average * 1000) / 1000; document.write("<H2>Average of 5000 numbers: " + average + "</H2>"); </pre> To test this script and see just how random those numbers are, combine the complete script with an HTML document and <tt><script></tt> tags. [Listing 8.1] shows the complete random number testing script. ; Listing 8.1. A Script to Test JavaScript's Random Number Function <pre><html> <head> <title>Math Example</title> </head> <body> <h1>Math Example</h1> <p>How random are JavaScript's random numbers? Let's generate 5000 of them and find out.</p> <script language="JavaScript" type="text/javascript"> total = 0; for (i=1; i<=5000; i++) { num = Math.random(); total += num; if (i % 1000 == 0) document.write("Generated " + i + " numbers...<br>"); } average = total / 5000; average = Math.round(average * 1000) / 1000; document.write("<H2>Average of 5000 numbers: " + average + "</H2>"); </script> </body> </html> </pre> To test the script, load the HTML document into a browser. After a short delay, you should see a result. If it's close to <tt>.5</tt>, the numbers are reasonably random. My result was <tt>.502</tt>, as shown in [Figure 8.1]. ; By the Way?:The average you've used here is called an arithmetic mean. This type of average isn't a perfect way to test randomness. Actually, all it tests is the distribution of the numbers above and below <tt>.5</tt>. For example, if the numbers turned out to be 2,500 <tt>.4</tt>s and 2,500 <tt>.6</tt>s, the average would be a perfect <tt>.5</tt>—but they wouldn't be very random numbers. (Thankfully, JavaScript's random numbers don't have this problem.) == Using the <tt>with</tt> Keyword == The <tt>with</tt> keyword is one you haven't seen before. You can use it to make JavaScript programming easier—or at least easier to type. The <tt>with</tt> keyword specifies an object, and it is followed by a block of statements enclosed in braces. For each statement in the block, any properties you mention without specifying an object are assumed to be for that object. As an example, suppose you have a string called <tt>lastname</tt>. You can use <tt>with</tt> to perform string operations on it without specifying the name of the string every time: <pre>with (lastname) { window.alert("length of last name: " + length); capname = toUpperCase(); } </pre> In this example, the <tt>length</tt> property and the <tt>toUpperCase</tt> method refer to the <tt>lastname</tt> string, although it is only specified once with the <tt>with</tt> keyword. Obviously, the <tt>with</tt> keyword only saves a bit of typing in situations like this. However, you might find it more useful when you're dealing with a DOM object throughout a large procedure, or when you are using a built-in object, such as the <tt>Math</tt> object, repeatedly. == Working with Dates == The <tt>Date</tt> object is a built-in JavaScript object that enables you to conveniently work with dates and times. You can create a <tt>Date</tt> object anytime you need to store a date, and use the <tt>Date</tt> object's methods to work with the date. You encountered one example of a <tt>Date</tt> object in [Hour 2], "Creating Simple Scripts," with the time/date script. The <tt>Date</tt> object has no properties. To set or obtain values from a <tt>Date</tt> object, you must use the methods described in the next section. ; By the Way?:JavaScript dates are stored as the number of milliseconds since midnight, January 1, 1970. This date is called the epoch. Dates before 1970 weren't allowed in early versions, but are now represented by negative numbers. === Creating a <tt>Date</tt> Object === You can create a <tt>Date</tt> object using the <tt>new</tt> keyword. You can also optionally specify the date to store in the object when you create it. You can use any of the following formats: <pre>birthday = new Date(); birthday = new Date("June 20, 2003 08:00:00"); birthday = new Date(6, 20, 2003); birthday = new Date(6, 20, 2003, 8, 0, 0); </pre> You can choose any of these formats, depending on which values you wish to set. If you use no parameters, as in the first example, the current date is stored in the object. You can then set the values using the <tt>set</tt> methods, described in the next section. === Setting <tt>Date</tt> Values === A variety of <tt>set</tt> methods enable you to set components of a <tt>Date</tt> object to values: * <tt>setDate()</tt> sets the day of the month. * <tt>setMonth()</tt> sets the month. JavaScript numbers the months from 0 to 11, starting with January (<tt>0</tt>). * <tt>setFullYear()</tt> sets the year. * <tt>setTime()</tt> sets the time (and the date) by specifying the number of milliseconds since January 1, 1970. * <tt>setHours()</tt>, <tt>setMinutes()</tt>, and <tt>setSeconds()</tt> set the time. As an example, the following statement sets the year of a <tt>Date</tt> object called <tt>holiday</tt> to 2003: <pre>holiday.setFullYear(2003);</pre> === Reading <tt>Date</tt> Values === You can use the <tt>get</tt> methods to get values from a <tt>Date</tt> object. This is the only way to obtain these values, because they are not available as properties. Here are the available <tt>get</tt> methods for dates: * <tt>getdate()</tt> gets the day of the month. * <tt>getMonth()</tt> gets the month. * <tt>getFullYear()</tt> gets the year. * <tt>getTime()</tt> gets the time (and the date) as the number of milliseconds since January 1, 1970. * <tt>getHours()</tt>, <tt>getMinutes()</tt>, <tt>getSeconds()</tt>, and <tt>getMilliseconds()</tt> get the components of the time. ; By the Way?:Along with <tt>setFullYear</tt> and <tt>getFullYear</tt>, which require four-digit years, JavaScript includes <tt>setYear</tt> and <tt>getYear</tt> methods, which use two-digit year values. You should always use the four-digit version to avoid Year 2000 issues. === Working with Time Zones === Finally, a few functions are available to help your <tt>Date</tt> objects work with local time values and time zones: * <tt>getTimeZoneOffset()</tt> gives you the local time zone's offset from UTC (Coordinated Universal Time, based on the old Greenwich Mean Time standard). In this case, local refers to the location of the browser. (Of course, this only works if the user has set his or her system clock accurately.) * <tt>toUTCString()</tt> converts the <tt>date</tt> object's time value to text, using UTC. This method was introduced in JavaScript 1.2 to replace the <tt>toGMTString</tt> method, which still works but should be avoided. * <tt>toLocalString()</tt> converts the <tt>date</tt> object's time value to text, using local time. Along with these basic functions, JavaScript 1.2 and later include UTC versions of several of the functions described previously. These are identical to the regular commands, but work with UTC instead of local time: * <tt>getUTCDate()</tt> gets the day of the month in UTC time. * <tt>getUTCDay()</tt> gets the day of the week in UTC time. * <tt>getUTCFullYear()</tt> gets the four-digit year in UTC time. * <tt>getUTCMonth()</tt> returns the month of the year in UTC time. * <tt>getUTCHours()</tt>, <tt>getUTCMinutes()</tt>, <tt>getUTCSeconds()</tt>, and <tt>getUTCMilliseconds()</tt> return the components of the time in UTC. * <tt>setUTCDate()</tt>, <tt>setUTCFullYear()</tt>, <tt>setUTCMonth()</tt>, <tt>setUTCHours()</tt>, <tt>setUTCMinutes()</tt>, <tt>setUTCSeconds()</tt>, and <tt>setUTCMilliseconds()</tt> set the time in UTC. === Converting Between Date Formats === Two special methods of the <tt>Date</tt> object allow you to convert between date formats. Instead of using these methods with a <tt>Date</tt> object you created, you use them with the built-in object <tt>Date</tt> itself. These include the following: * <tt>Date.parse()</tt> converts a date string, such as <tt>June 20, 1996</tt>, to a <tt>Date</tt> object (number of milliseconds since 1/1/1970). * <tt>Date.UTC()</tt> does the opposite. It converts a <tt>Date</tt> object value (number of milliseconds) to a UTC (GMT) time. == Using Third-Party Libraries == When you use JavaScript's built-in <tt>Math</tt> and <tt>Date</tt> functions, JavaScript does most of the work—you don't have to figure out how to convert dates between formats or calculate a cosine. Third-party libraries are not included with JavaScript, but they serve a similar purpose—enabling you to do complicated things with only a small amount of code. Using one of these libraries is usually as simple as copying one or more files to your site and including a <tt><script></tt> tag in your document to load the library. Several popular JavaScript libraries are discussed in the following sections. ; Did you Know?:JavaScript libraries are a relatively new phenomenon, and new libraries are appearing regularly. See this book's website for an updated list of libraries. === Prototype === Prototype, created by Sam Stephenson, is a JavaScript library that simplifies tasks such as working with DOM objects, dealing with data in forms, and remote scripting (AJAX). By including a single <tt>prototype.js</tt> file in your document, you have access to many improvements to basic JavaScript. For example, you've used the <tt>document.getElementById</tt> method to obtain the DOM object for an element within a web page. Prototype includes an improved version of this in the <tt>$()</tt> function. Not only is it easier to type, but it is also more sophisticated than the built-in function and supports multiple objects. Adding Prototype to your pages requires only one file, <tt>prototype.js</tt>, and one <tt><script></tt> tag: <pre><script type="text/javascript" src="prototype.js"> </script></pre> ; By the Way?: Prototype is free, open-source software. You can download it from its official website at [http://prototype.conio.net/ http://prototype.conio.net]. Prototype is also built into the Ruby on Rails framework for the server-side language Ruby—see [http://www.rubyonrails.com/ http://www.rubyonrails.com/] for more information. === Script.aculo.us === By the end of this book, you'll learn to do some impressive things with JavaScript—for example, animating an object within a page. The code for a task like this is complex, but you can also include effects in your pages using a prebuilt library. This enables you to use impressive effects with only a few lines of code. Script.aculo.us by Thomas Fuchs is one such library. It includes functions to simplify drag-and-drop tasks, such as rearranging lists of items. It also includes a number of Combination Effects, which enable you to use highlighting and animated transitions within your pages. For example, a new section of the page can be briefly highlighted in yellow to get the user's attention, or a portion of the page can fade out or slide off the screen. After you've included the appropriate files, using effects is as easy as using any of JavaScript's built-in methods. For example, the following statements use Script.aculo.us to fade out an element of the page with the <tt>id</tt> value <tt>test</tt>: <pre>obj = document.getElementById("test"); new Effect.Fade(obj); </pre> Script.aculo.us is built on the Prototype framework described in the previous section, and includes all of the functions of Prototype, so you could also simplify this further by using the <tt>$</tt> function: <pre>new Effect.Fade($("test"));</pre> ; Did you Know?:You will create a script that demonstrates several Script.aculo.us effects in the Try It Yourself section later this hour. === AJAX Frameworks === AJAX (Asynchronous JavaScript and XML), also known as remote scripting, enables JavaScript to communicate with a program running on the web server. This enables JavaScript to do things that were traditionally not possible, such as dynamically loading information from a database or storing data on a server without refreshing a page. Unfortunately, AJAX requires some complex scripting, particularly because the methods you use to communicate with the server vary depending on the browser in use. Fortunately, many libraries have been created to fill the need for a simple way to use AJAX. The Prototype library, described previously, includes AJAX features. There are also many dedicated AJAX libraries. One of the most popular is SAJAX (Simple AJAX), an open-source toolkit that makes it easy to use AJAX to communicate with PHP, Perl, and other languages from JavaScript. Visit the SAJAX website for details at [http://www.modernmethod.com/sajax http://www.modernmethod.com/sajax]. ; By the Way?:See [Hour 17], "AJAX: Remote Scripting," for examples of remote scripting, with and without using third-party libraries. == Other Libraries == There are many more JavaScript libraries out there, and more are appearing all of the time as JavaScript is taken more seriously as an application language. Here are some more libraries you might want to explore: * Dojo ([http://www.dojotoolkit.org/ http://www.dojotoolkit.org/]) is an open-source toolkit that adds power to JavaScript to simplify building applications and user interfaces. It adds features ranging from extra string and math functions to animation and AJAX. * The Yahoo! UI Library ([http://developer.yahoo.net/yui/ http://developer.yahoo.net/yui/]) was developed by Yahoo! and made available to everyone under an open-source license. It includes features for animation, DOM features, event management, and easy-to-use user interface elements such as calendars and sliders. * MochiKit ([http://mochikit.com/ http://mochikit.com/]) is a lightweight library that adds features for working with the DOM, CSS colors, string formatting, and AJAX. It also supports a nice logging mechanism for debugging your scripts. == Try It Yourself == === Adding Effects with a Library === To see how simple it is to use an external library, you will now create an example script that includes the Script.aculo.us library and use event handlers to demonstrate several of the available effects. ; Watch Out!: This example was created using version 1.5.1 of the Script.aculo.us library. It should work with later versions, but the library might have changed since this was written. If you have trouble, you might need to use this specific version. === Downloading the Library === To use the library, you will need to download it and copy the files you need to the same folder where you will store your script. You can download the library from the Script.aculo.us website at [http://script.aculo.us/downloads http://script.aculo.us/downloads]. The download is available as a Zip file. Inside the Zip file you will find a folder called <tt>scriptaculous-js-x.x.x</tt>. You will need the following files from the folders under this folder: * <tt>prototype.js</tt> (the Prototype library) from the <tt>lib</tt> folder * <tt>effects.js</tt> (the effects functions) from the <tt>src</tt> folder Copy both of these files to a folder on your computer, and be sure to create your demonstration script in the same folder. ; By the Way?:The Script.aculo.us download includes many other files, and you can include the entire library if you intend to use all of its features. For this example, you only need the two files described here. === Including the Files === To add the library to your HTML document, simply use <tt><script></tt> tags to include the two JavaScript files you copied from the download: <pre><script type="text/javascript" src="prototype.js"> </script> <script type="text/javascript" src="effects.js"> </script> </pre> If you include these statements as the first things in the <tt><head></tt> section of your document, the library functions will be available to other scripts or event handlers anywhere in the page. === Using Effects === After you have included the library, you simply need to include a bit of JavaScript to trigger the effects. We will use a section of the page wrapped in a <tt></tt> tag with the <tt>id</tt> value <tt>test</tt> to demonstrate the effects. Each effect is triggered by a simple event handler on a button. For example, this code defines the Fade Out button: <pre><input type="button" value="Fade Out" onClick="new Effect.Fade($('test'))"> </pre> This uses the <tt>$</tt> function built into Prototype to obtain the object for the element with the <tt>id</tt> value <tt>test</tt>, and then passes it to the <tt>Effect.Fade()</tt> function built into Script.aculo.us. ; Did you Know?:This example will demonstrate six effects: <tt>Fade</tt>, <tt>Appear</tt>, <tt>SlideUp</tt>, <tt>SlideDown</tt>, <tt>Highlight</tt>, and <tt>Shake</tt>. There are more than 16 effects in the library, plus methods for supporting Drag and Drop and other features. See [http://script.aculo.us/ http://script.aculo.us] for details. === Building the Script === After you have included the libraries, you can combine them with event handlers and some example text to create a complete demonstration of Script.aculo.us effects. The complete HTML document for this example is shown in [Listing 8.2]. ; Listing 8.2. The Complete Library Effects Example <pre><html> <head> <title>Testing script.aculo.us effects</title> <script type="text/javascript" src="prototype.js"> </script> <script type="text/javascript" src="effects.js"> </script> </head> <body"> <h1>Testing script.aculo.us Effects</h1> <form name="form1"> <input type="button" value="Fade Out" onClick="new Effect.Fade($('test'))"> <input type="button" value="Fade In" onClick="new Effect.Appear($('test'))"> <input type="button" value="Slide Up" onClick="new Effect.SlideUp($('test'))"> <input type="button" value="Slide Down" onClick="new Effect.SlideDown($('test'))"> <input type="button" value="Highlight" onClick="new Effect.Highlight($('test'))"> <input type="button" value="Shake" onClick="new Effect.Shake($('test'))"> </form> <div id="test" style="background-color:#CCC; margin:20px; padding:10px;"> <h2>Testing Effects</h2> <hr> <p>This section of the document is within a &lt;div&gt; element with the <b>id</b> value <b>test</b>. The event handlers on the buttons above send this object to the <a href="http://script.aculo.us/">script.aculo.us</a> library to perform effects. Click the buttons to see the effects. </p> </body> </html> </pre> This document starts with two <tt><script></tt> tags to include the library's files. The effects are triggered by the event handlers defined for each of the six buttons. The <tt></tt> section at the end defines the <tt>test</tt> element that will be used to demonstrate the effects. To try this example, make sure the <tt>prototype.js</tt> and <tt>effects.js</tt> files from Script.aculo.us are stored in the same folder as your script, and then load the HTML file into a browser. The display should look like [Figure 8.2], and you can use the six buttons at the top of the page to trigger effects. == Summary == In this hour, you learned some specifics about the <tt>Math</tt> and <tt>Date</tt> objects built into JavaScript, and learned more than you ever wanted to know about random numbers. You also learned how third-party libraries can simplify your scripting, and you used a library to create special effects in a web page. You've reached the end of Part II, which covered some basic building blocks of JavaScript programs. In Part III, you'll learn more about the Document Object Model, which contains objects that refer to various parts of the browser window and HTML document. This begins in [Hour 9], "Responding to Events." === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | The random numbers are generated so quickly I can't be sure it's happening at all. Is there a way to slow this process down? |- | align="right" | ''' A1: ''' | Yes. If you add one or more form fields to the example and use them to display the data as it is generated, you'll see a much slower result. It will still be done within a couple of seconds on a fast computer, though. |- | align="right" | '''Q2:''' | Can I use more than one third-party library in the same script? |- | align="right" | ''' A2: ''' | Yes, in theory: If the libraries are well written and designed not to interfere with each other, there should be no problem combining them. In practice, this will depend on the libraries you need and how they were written. |- | align="right" | '''Q3:''' | Can I build my own library to simplify scripting? |- | align="right" | ''' A3: ''' | Yes, as you deal with more complicated scripts, you'll find yourself using the same functions over and over. You can combine them into a library for your own use. This is as simple as creating a <tt>.js</tt> file. |} === Quiz Questions === Test your knowledge of JavaScript libraries and built-in functions by answering the following questions. '''1.''' Which of the following objects cannot be used with the <tt>new</tt> keyword? # <tt>Date</tt> # <tt>Math</tt> # <tt>String</tt> '''2.''' How does JavaScript store dates in a <tt>Date</tt> object? # The number of milliseconds since January 1, 1970 # The number of days since January 1, 1900 # The number of seconds since Netscape's public stock offering '''3.''' What is the range of random numbers generated by the <tt>Math.random</tt> function? # Between <tt>1</tt> and <tt>100</tt> # Between <tt>1</tt> and the number of milliseconds since January 1, 1970 # Between <tt>0</tt> and <tt>1</tt> === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" | align="right" | '''1.''' | b. The <tt>Math</tt> object is static; you can't create a <tt>Math</tt> object. |- | align="right" | '''2.''' | a. Dates are stored as the number of milliseconds since January 1, 1970. |- | align="right" | '''3.''' | c. JavaScript's random numbers are between <tt>0</tt> and <tt>1</tt>. |} === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: * Modify the random number script in [Listing 8.1] to run three times, calculating a total of 15,000 random numbers, and display separate totals for each set of 5,000. (You'll need to use another <tt>for</tt> loop that encloses most of the script.) * Visit the Script.aculo.us page at [http://script.aculo.us/ http://script.aculo.us/] to find the complete list of effects. Modify [Listing 8.2] to add buttons for one or more additional effects. twawhcqpnfv9r411solheqzqe3r9951 User:Moncur/07 2 2080 5830 5800 2007-06-19T23:58:27Z Moncur 24 5830 wikitext text/x-wiki =7. Controlling Flow with Conditions and Loops= == The <tt>if</tt> Statement == One of the most important features of a computer language is the capability to test and compare values. This allows your scripts to behave differently based on the values of variables, or based on input from the user. The <tt>if</tt> statement is the main conditional statement in JavaScript. This statement means much the same in JavaScript as it does in English—for example, here is a typical conditional statement in English: :If the phone rings, answer it. This statement consists of two parts: a condition (If the phone rings) and an action (answer it). The <tt>if</tt> statement in JavaScript works much the same way. Here is an example of a basic <tt>if</tt> statement: <pre>if (a == 1) window.alert("Found a 1!");</pre> This statement includes a condition (if <tt>a</tt> equals <tt>1</tt>) and an action (display a message). This statement checks the variable <tt>a</tt> and, if it has a value of <tt>1</tt>, displays an alert message. Otherwise, it does nothing. If you use an <tt>if</tt> statement like the preceding example, you can use a single statement as the action. You can also use multiple statements for the action by enclosing them in braces (<tt>{}</tt>), as shown here: <pre>if (a == 1) { window.alert("Found a 1!"); a = 0; }</pre> This block of statements checks the variable <tt>a</tt> once again. If it finds a value of <tt>1</tt>, it displays a message and sets <tt>a</tt> back to <tt>0</tt>. === Conditional Operators === The action part of an <tt>if</tt> statement can include any of the JavaScript statements you've already learned (and any others, for that matter), but the condition part of the statement uses its own syntax. This is called a conditional expression. A conditional expression usually includes two values to be compared (in the preceding example, the values were <tt>a</tt> and <tt>1</tt>). These values can be variables, constants, or even expressions in themselves. ; By the Way: Either side of the conditional expression can be a variable, a constant, or an expression. You can compare a variable and a value, or compare two variables. (You can compare two constants, but there's usually no reason to.) Between the two values to be compared is a conditional operator. This operator tells JavaScript how to compare the two values. For instance, the <tt>==</tt> operator is used to test whether the two values are equal. A variety of conditional operators is available: * <tt>==</tt> Is equal to * <tt>!=</tt> Is not equal to * <tt><</tt> Is less than * <tt>></tt> Is greater than * <tt>>=</tt> Is greater than or equal to * <tt><=</tt> Is less than or equal to ; By the Way: Be sure not to confuse the equality operator (<tt>==</tt>) with the assignment operator (<tt>=</tt>), even though they both might be read as "equals." Remember to use <tt>=</tt> when assigning a value to a variable, and <tt>==</tt> when comparing values. Confusing these two is one of the most common mistakes in JavaScript programming. === Combining Conditions with Logical Operators === Often, you'll want to check a variable for more than one possible value, or check more than one variable at once. JavaScript includes logical operators, also known as Boolean operators, for this purpose. For example, the following two statements check different conditions and use the same action: <pre>if (phone == "") window.alert("error!"); if (email == "") window.alert("error!");</pre> Using a logical operator, you can combine them into a single statement: <pre>if (phone == "" || email == "") window.alert("Something's Missing!");</pre> This statement uses the logical Or operator (<tt>||</tt>) to combine the conditions. Translated to English, this would be, "If the phone number is blank or the email address is blank, display an error message." An additional logical operator is the And operator, <tt>&&</tt>. Consider this statement: <pre>if (phone == "" && email == "") window.alert("Both are Missing!");</pre> This statement uses <tt>&&</tt> (And) instead of <tt>||</tt> (Or), so the error message will only be displayed if both the email address and phone number variables are blank. (In this particular case, Or is a better choice.) ; Did you Know?: If the JavaScript interpreter discovers the answer to a conditional expression before reaching the end, it does not evaluate the rest of the condition. For example, if the first of two conditions separated by the <tt>&&</tt> operator is false, the second is not evaluated. You can take advantage of this to improve the speed of your scripts. The third logical operator is the exclamation mark (<tt>!</tt>), which means Not. It can be used to invert an expression—in other words, a true expression would become false, and a false one would become true. For example, here's a statement that uses the Not operator: <pre>if (!($phone == "")) alert("phone is OK");</pre> In this statement, the <tt>!</tt> (Not) operator inverts the condition, so the action of the <tt>if</tt> statement is executed only if the phone number variable is not blank. The extra parentheses are necessary because all JavaScript conditions must be in parentheses. You could also use the <tt>!=</tt> (Not equal) operator to simplify this statement: <pre>if ($phone != "") alert("phone is OK");</pre> As with the previous statement, this alerts you if the phone number field is not blank. ; Did you Know?: The logical operators are powerful, but it's easy to accidentally create an impossible condition with them. For example, the condition <tt>(a < 10 && a > 20)</tt> might look correct at first glance. However, if you read it out loud, you get "If <tt>a</tt> is less than <tt>10</tt> and <tt>a</tt> is greater than <tt>20</tt>"an impossibility in our universe. In this case, Or (<tt>||</tt>) should have been used. === The <tt>else</tt> Keyword === An additional feature of the <tt>if</tt> statement is the <tt>else</tt> keyword. Much like its English equivalent, <tt>else</tt> tells the JavaScript interpreter what to do if the condition isn't true. The following is a simple example of the <tt>else</tt> keyword in action: <pre>if (a == 1) { alert("Found a 1!"); a = 0; } else { alert("Incorrect value: " + a); }</pre> This is a modified version of the previous example. This displays a message and resets the variable <tt>a</tt> if the condition is met. If the condition is not met (if <tt>a</tt> is not <tt>1</tt>), a different message is displayed. ; By the Way: Like the <tt>if</tt> statement, <tt>else</tt> can be followed either by a single action statement or by a number of statements enclosed in braces. == Using Shorthand Conditional Expressions == In addition to the <tt>if</tt> statement, JavaScript provides a shorthand type of conditional expression that you can use to make quick decisions. This uses a peculiar syntax that is also found in other languages, such as C. A conditional expression looks like this: <pre>variable = (condition) ? (true action) : (false action);</pre> This assigns one of two values to the variable: one if the condition is true, and another if it is false. Here is an example of a conditional expression: <pre>value = (a == 1) ? 1 : 0;</pre> This statement might look confusing, but it is equivalent to the following <tt>if</tt> statement: <pre>if (a == 1) value = 1; else value = 0;</pre> In other words, the value after the question mark (<tt>?</tt>) will be used if the condition is true, and the value after the colon (<tt>:</tt>) will be used if the condition is false. The colon represents the <tt>else</tt> portion of this statement and, like the <tt>else</tt> portion of the <tt>if</tt> statement, is optional. These shorthand expressions can be used anywhere JavaScript expects a value. They provide an easy way to make simple decisions about values. As an example, here's an easy way to display a grammatically correct message about a variable: <pre>document.write("Found " + counter + ((counter == 1) ? " word." : " words."));</pre> This will print the message <tt>Found 1 word</tt> if the <tt>counter</tt> variable has a value of <tt>1</tt>, and <tt>Found 2 words</tt> if its value is <tt>2</tt> or greater. This is one of the most common uses for a conditional expression. == Testing Multiple Conditions with <tt>if</tt> and <tt>else</tt> == You can now create an example script using <tt>if</tt> and <tt>else</tt>. In [Hour 2], "Creating Simple Scripts," you created a script that displays the current date and time. This example will use conditions to display a greeting that depends on the time: "Good morning," "Good Afternoon," "Good Evening," or "Good Day". To accomplish this, you can use a combination of several <tt>if</tt> statements: <pre>if (hours < 10) document.write("Good morning."); else if (hours >= 14 && hours <= 17) document.write("Good afternoon."); else if (hours > 17) document.write("Good evening."); else document.write("Good day.");</pre> The first statement checks the <tt>hours</tt> variable for a value less than 10—in other words, it checks whether the current time is before 10:00 a.m. If so, it displays the greeting "Good morning." The second statement checks whether the time is between 2:00 p.m. and 5:00 p.m. and, if so, displays "Good afternoon." This statement uses <tt>else if</tt> to indicate that this condition will only be tested if the previous one failed—if it's morning, there's no need to check whether it's afternoon. Similarly, the third statement checks for times after 5:00 p.m. and displays "Good evening." The final statement uses a simple <tt>else</tt>, meaning it will be executed if none of the previous conditions matched. This covers the times between 10:00 a.m. and 2:00 p.m. (neglected by the other statements) and displays "Good day." === The HTML File === To try this example in a browser, you'll need an HTML file. We will keep the JavaScript code separate, so [Listing 7.1] is the complete HTML file. Save it as <tt>timegreet.html</tt> but don't load it into the browser until you've prepared the JavaScript file in the next section. ; Listing 7.1. The HTML File for the Time and Greeting Example <pre><html> <head><title>if statement example</title></head> <body> <h1>Current Date and Time</h1> <p> <script language="JavaScript" type="text/javascript" src = "timegreet.js"> </script> </p> </body> </html> </pre> === The JavaScript File === [Listing 7.2] shows the complete JavaScript file for the time greeting example. This uses the built-in <tt>Date</tt> object functions to find the current date and store it in <tt>hours</tt>, <tt>mins</tt>, and <tt>secs</tt> variables. Next, <tt>document.write</tt> statements display the current time, and the <tt>if</tt> and <tt>else</tt> statements introduced earlier display an appropriate greeting. ; Listing 7.2. A Script to Display the Current Time and a Greeting <pre>// Get the current date now = new Date(); // Split into hours, minutes, seconds hours = now.getHours(); mins = now.getMinutes(); secs = now.getSeconds(); // Display the time document.write("<h2>"); document.write(hours + ":" + mins + ":" + secs); document.write("</h2>"); // Display a greeting document.write("<p>"); if (hours < 10) document.write("Good morning."); else if (hours >= 14 && hours <= 17) document.write("Good afternoon."); else if (hours > 17) document.write("Good evening."); else document.write("Good day."); document.write("</p>"); </pre> To try this example, save this file as <tt>timegreet.js</tt> (or download it from this book's website) and then load the <tt>timegreet.html</tt> file into your browser. [Figure 7.1] shows the results of this script. == Using Multiple Conditions with <tt>switch</tt> == In the previous example, you used several <tt>if</tt> statements in a row to test for different conditions. Here is another example of this technique: <pre>if (button=="next") window.location="next.html"; else if (button=="previous") window.location="prev.html"; else if (button=="home") window.location="home.html"; else if (button=="back") window.location="menu.html";</pre> Although this is a compact way of doing things, this method can get messy if each <tt>if</tt> statement has its own block of code with several statements. As an alternative, JavaScript includes the <tt>switch</tt> statement, which enables you to combine several tests of the same variable or expression into a single block of statements. The following shows the same example converted to use <tt>switch</tt>: <pre>switch(button) { case "next": window.location="next.html"; break; case "previous": window.location="prev.html"; break; case "home": window.location="home.html"; break; case "back": window.location="menu.html"; break; default: window.alert("Wrong button."); }</pre> The <tt>switch</tt> statement has several components: * The initial <tt>switch</tt> statement. This statement includes the value to test (in this case, <tt>button</tt>) in parentheses. * Braces (<tt>{</tt> and <tt>}</tt>) enclose the contents of the <tt>switch</tt> statement, similar to a function or an <tt>if</tt> statement. * One or more <tt>case</tt> statements. Each of these statements specifies a value to compare with the value specified in the <tt>switch</tt> statement. If the values match, the statements after the <tt>case</tt> statement are executed. Otherwise, the next case is tried. * The <tt>break</tt> statement is used to end each case. This skips to the end of the <tt>switch</tt>. If <tt>break</tt> is not included, statements in multiple cases might be executed whether they match or not. * Optionally, the <tt>default</tt> case can be included and followed by one or more statements that are executed if none of the other cases were matched. ; By the Way: You can use multiple statements after each <tt>case</tt> statement within the <tt>switch</tt> structure. You don't need to enclose them in braces. If the case matches, the JavaScript interpreter executes statements until it encounters a <tt>break</tt> or the next <tt>case</tt>. == Using <tt>for</tt> Loops == Loops are useful any time you need a section of code to execute more than once. The <tt>for</tt> keyword is the first tool to consider for creating loops. A <tt>for</tt> loop typically uses a variable (called a counter or an index) to keep track of how many times the loop has executed, and it stops when the counter reaches a certain number. A basic <tt>for</tt> statement looks like this: <pre>for (var = 1; var < 10; var++) {</pre> There are three parameters to the <tt>for</tt> loop, separated by semicolons: * The first parameter (<tt>var = 1</tt> in the example) specifies a variable and assigns an initial value to it. This is called the initial expression because it sets up the initial state for the loop. * The second parameter (<tt>var < 10</tt> in the example) is a condition that must remain true to keep the loop running. This is called the condition of the loop. * The third parameter (<tt>var++</tt> in the example) is a statement that executes with each iteration of the loop. This is called the increment expression because it is typically used to increment the counter. The increment expression executes at the end of each loop iteration. After the three parameters are specified, a left brace (<tt>{</tt>) is used to signal the beginning of a block. A right brace (<tt>}</tt>) is used at the end of the block. All the statements between the braces will be executed with each iteration of the loop. The parameters for a <tt>for</tt> loop may sound a bit confusing, but once you're used to it, you'll use <tt>for</tt> loops frequently. Here is a simple example of this type of loop: <pre>for (i=0; i<10; i++) { document.write("This is line " + i + "<br>"); }</pre> These statements define a loop that uses the variable <tt>i</tt>, initializes it with the value of zero, and loops as long as the value of <tt>i</tt> is less than 10. The increment expression, <tt>i++</tt>, adds one to the value of <tt>i</tt> with each iteration of the loop. Because this happens at the end of the loop, the output will list the numbers zero through nine. When a loop includes only a single statement between the braces, as in this example, you can omit the braces if you want. The following statement defines the same loop without braces: <pre>for (i=0; i<10; i++) document.write("This is line " + i + "<br>");</pre> ; Did you Know?: It's a good style convention to use braces with all loops whether they contain one statement or many. This makes it easy to add statements to the loop later without causing syntax errors. The loop in this example contains a <tt>document.write</tt> statement that will be repeatedly executed. To see just what this loop does, you can add it to a <tt><script></tt> section of an HTML document as shown in [Listing 7.3]. ; Listing 7.3. A Loop Using the <tt>for</tt> Keyword <pre><html> <head> <title>Using a for Loop</title> </head> <body> <h1>"for" Loop Example</h1> <p>The following is the output of the <b>for</b> loop:</p> <script language="JavaScript" type="text/javascript"> for (i=1;i<10;i++) { document.write("This is line " + i + "<br>"); } </script> </body> </html> </pre> This example displays a message with the loop's counter during each iteration. The output of [Listing 7.3] is shown in [Figure 7.2]. Notice that the loop was only executed nine times. This is because the conditional is <tt>i<10</tt>. When the counter (<tt>i</tt>) is incremented to <tt>10</tt>, the expression is no longer true. If you need the loop to count to <tt>10</tt>, you can change the conditional; either <tt>i<=10</tt> or <tt>i<11</tt> will work fine. ; By the Way: You might notice that the variable name <tt>i</tt> is often used as the counter in loops. This is a programming tradition that began with an ancient language called Forth. There's no need for you to follow this tradition, but it is a good idea to use one consistent variable for counters. (To learn more about Forth, see the Forth Interest Group's website at [http://www.forth.org/ www.forth.org].) The structure of the <tt>for</tt> loop in JavaScript is based on Java, which in turn is based on C. Although it is traditionally used to count from one number to another, you can use just about any statement for the initialization, condition, and increment. However, there's usually a better way to do other types of loops with the <tt>while</tt> keyword, described in the next section. == Using <tt>while</tt> Loops == Another keyword for loops in JavaScript is <tt>while</tt>. Unlike <tt>for</tt> loops, <tt>while</tt> loops don't necessarily use a variable to count. Instead, they execute as long as a condition is true. In fact, if the condition starts out as false, the statements won't execute at all. The <tt>while</tt> statement includes the condition in parentheses, and it is followed by a block of statements within braces, just like a <tt>for</tt> loop. Here is a simple <tt>while</tt> loop: <pre>while (total < 10) { n++; total += values[n]; }</pre> This loop uses a counter, <tt>n</tt>, to iterate through the <tt>values</tt> array. Rather than stopping at a certain count, however, it stops when the total of the values reaches <tt>10</tt>. You might have noticed that you could have done the same thing with a <tt>for</tt> loop: <pre>for (n=0;total < 10; n++) { total += values[n]; }</pre> As a matter of fact, the <tt>for</tt> loop is nothing more than a special kind of <tt>while</tt> loop that handles an initialization and an increment for you. You can generally use <tt>while</tt> for any loop. However, it's best to choose whichever type of loop makes the most sense for the job, or that takes the least amount of typing. == Using <tt>do…while</tt> Loops == JavaScript 1.2 introduced a third type of loop: the <tt>do…while</tt> loop. This type of loop is similar to an ordinary <tt>while</tt> loop, with one difference: The condition is tested at the end of the loop rather than the beginning. Here is a typical <tt>do…while</tt> loop: <pre>do { n++; total += values[n]; } while (total < 10);</pre> As you've probably noticed, this is basically an upside-down version of the previous <tt>while</tt> example. There is one difference: With the <tt>do</tt> loop, the condition is tested at the end of the loop. This means that the statements in the loop will always be executed at least once, even if the condition is never true. ; By the Way: As with the <tt>for</tt> and <tt>while</tt> loops, the <tt>do</tt> loop can include a single statement without braces, or a number of statements enclosed in braces. == Working with Loops == Although you can use simple <tt>for</tt> and <tt>while</tt> loops for straightforward tasks, there are some considerations you should make when using more complicated loops. In the next sections, we'll look at infinite loops and the <tt>break</tt> and <tt>continue</tt> statements, which give you more control over your loops. === Creating an Infinite Loop === The <tt>for</tt> and <tt>while</tt> loops give you quite a bit of control over the loop. In some cases, this can cause problems if you're not careful. For example, look at the following loop code: <pre>while (i < 10) { n++; values[n] = 0; }</pre> There's a mistake in this example. The condition of the <tt>while</tt> loop refers to the <tt>i</tt> variable, but that variable doesn't actually change during the loop. This creates an infinite loop. The loop will continue executing until the user stops it, or until it generates an error of some kind. Infinite loops can't always be stopped by the user, except by quitting the browser—and some loops can even prevent the browser from quitting, or cause a crash. Obviously, infinite loops are something to avoid. They can also be difficult to spot because JavaScript won't give you an error that actually tells you there is an infinite loop. Thus, each time you create a loop in a script, you should be careful to make sure there's a way out. ; By the Way: Depending on the browser version in use, an infinite loop might even make the browser stop responding to the user. Be sure you provide an escape route from infinite loops, and save your script before you test it just in case. Occasionally, you might want to create an infinite loop deliberately. This might include situations when you want your program to execute until the user stops it, or if you are providing an escape route with the <tt>break</tt> statement, which is introduced in the next section. Here's an easy way to create an infinite loop: <pre>while (true) {</pre> Because the value <tt>true</tt> is the conditional, this loop will always find its condition to be true. === Escaping from a Loop === There is one way out of an infinite loop. You can use the <tt>break</tt> statement during a loop to exit it immediately and continue with the first statement after the loop. Here is a simple example of the use of <tt>break</tt>: <pre>while (true) { n++; if (values[n] == 1) break; }</pre> Although the <tt>while</tt> statement is set up as an infinite loop, the <tt>if</tt> statement checks the corresponding value of an array. If it finds a value of <tt>1</tt>, it exits the loop. When the JavaScript interpreter encounters a <tt>break</tt> statement, it skips the rest of the loop and continues the script with the first statement after the right brace at the loop's end. You can use the <tt>break</tt> statement in any type of loop, whether infinite or not. This provides an easy way to exit if an error occurs, or if another condition is met. === Continuing a Loop === One more statement is available to help you control the execution of statements in a loop. The <tt>continue</tt> statement skips the rest of the loop but, unlike <tt>break</tt>, it continues with the next iteration of the loop. Here is a simple example: <pre>for (i=1; i<21; i++) { if (score[i]==0) continue; document.write("Student number ",i, " Score: ", score[i], "\n"); }</pre> This script uses a <tt>for</tt> loop to print out scores for 20 students, stored in the <tt>score</tt> array. The <tt>if</tt> statement is used to check for scores with a value of <tt>0</tt>. The script assumes that a score of <tt>0</tt> means that the student didn't take the test, so it continues the loop without printing that score. == Looping Through Object Properties == A third type of loop is available in JavaScript. The <tt>for…in</tt> loop is not as flexible as an ordinary <tt>for</tt> or <tt>while</tt> loop. Instead, it is specifically designed to perform an operation on each property of an object. For example, the <tt>navigator</tt> object contains properties that describe the user's browser, as you'll learn in [Hour 15], "Unobtrusive Scripting." You can use <tt>for…in</tt> to display this object's properties: <pre>for (i in navigator) { document.write("property: " + i); document.write(" value: " + navigator[i] + "<br>"); }</pre> Like an ordinary <tt>for</tt> loop, this type of loop uses an index variable (<tt>i</tt> in the example). For each iteration of the loop, the variable is set to the next property of the object. This makes it easy when you need to check or modify each of an object's properties. === Try It Yourself: Working with Arrays and Loops === To apply your knowledge of loops, you will now create a script that deals with arrays using loops. As you progress through this script, try to imagine how difficult it would be without JavaScript's looping features. This simple script will prompt the user for a series of names. After all of the names have been entered, it will display the list of names in a numbered list. To begin the script, initialize some variables: <pre>names = new Array(); i = 0;</pre> The <tt>names</tt> array will store the names the user enters. You don't know how many names will be entered, so you don't need to specify a dimension for the array. The <tt>i</tt> variable will be used as a counter in the loops. Next, use the <tt>prompt</tt> statement to prompt the user for a series of names. Use a loop to repeat the prompt for each name. You want the user to enter at least one name, so a <tt>do</tt> loop is ideal: <pre>do { next = prompt("Enter the Next Name", ""); if (next > " ") names[i] = next; i = i + 1; } while (next > " ");</pre> ;Did you Know?: If you're interested in making your scripts as short as possible, remember that you could use the increment (<tt>++</tt>) operator to combine the <tt>i = i + 1</tt> statement with the previous statement: <tt>names[i++]=1</tt>. This loop prompts for a string called <tt>next</tt>. If a name was entered and isn't blank, it's stored as the next entry in the <tt>names</tt> array. The <tt>i</tt> counter is then incremented. The loop repeats until the user doesn't enter a name or clicks Cancel in the prompt dialog. Next, your script can display the number of names that was entered: <pre>document.write("<h2>" + (names.length) + " names entered.</h2>");</pre> This statement displays the <tt>length</tt> property of the <tt>names</tt> array, surrounded by level 2 heading tags for emphasis. Next, the script should display all the names in the order they were entered. Because the names are in an array, the <tt>for…in</tt> loop is a good choice: <pre>document.write("<ol>"); for (i in names) { document.write("<li>" + names[i] + "<br>"); } document.write("</ol>");</pre> Here you have a <tt>for…in</tt> loop that loops through the <tt>names</tt> array, assigning the counter <tt>i</tt> to each index in turn. The script then prints the name with a <tt><nowiki><li></nowiki></tt> tag as an item in an ordered list. Before and after the loop, the script prints beginning and ending <tt><nowiki><ol></nowiki></tt> tags. You now have everything you need for a working script. [Listing 7.4] shows the HTML file for this example, and [Listing 7.5] shows the JavaScript file. ; Listing 7.4. A Script to Prompt for Names and Display Them (HTML) <pre><html> <head> <title>Loops Example</title> </head> <body> <h1>Loop Example</h1> <p>Enter a series of names. I will then display them in a nifty numbered list.</p> <script language="JavaScript" type="text/javascript" src="loops.js"> </script> </body> </html> </pre> ; Listing 7.5. A Script to Prompt for Names and Display Them (JavaScript) <pre>// create the array names = new Array(); i = 0; // loop and prompt for names do { next = window.prompt("Enter the Next Name", ""); if (next > " ") names[i] = next; i = i + 1; } while (next > " "); document.write("<h2>" + (names.length) + " names entered.</h2>"); // display all of the names document.write("<ol>"); for (i in names) { document.write("<li>" + names[i] + "<br>"); } document.write("</ol>"); </pre> To try this example, save the JavaScript file as <tt>loops.js</tt> and then load the HTML document into a browser. You'll be prompted for one name at a time. Enter several names, and then click Cancel to indicate that you're finished. [Figure 7.3] shows what the final results should look like in a browser. == Summary == In this hour, you've learned two ways to control the flow of your scripts. First, you learned how to use the <tt>if</tt> statement to evaluate conditional expressions and react to them. You also learned a shorthand form of conditional expression using the <tt>?</tt> operator, and the <tt>switch</tt> statement for working with multiple conditions. You also learned about JavaScript's looping capabilities using <tt>for</tt>, <tt>while</tt>, and other loops, and how to control loops further using the <tt>break</tt> and <tt>continue</tt> statements. Lastly, you looked at the <tt>for…in</tt> loop for working with each property of an object. In the next hour, you'll look at JavaScript's built-in functions, another essential tool for creating your own scripts. You'll also learn about third-party libraries that enable you to create complex effects with simple scripts. === Q&A === ;Q1:What happens if I compare two items of different data types (for example, a number and a string) in a conditional expression? ;A1:The JavaScript interpreter does its best to make the values a common format and compare them. In this case, it would convert them both to strings before comparing. In JavaScript 1.3 and later, you can use the special equality operator <tt>===</tt> to compare two values and their types—using this operator, the expression will be true only if the expressions have the same value and the same data type. ;Q2:Why would I use switch if using <tt>if </tt>and <tt>else </tt>is just as simple? ;A2:Either one works, so it's your choice. Personally, I find switch statements confusing and prefer to use if. Your choice might also depend on what other programming languages you're familiar with because some support switch and others don't. ;Q3:Why don't I get a friendly error message if I accidentally use <tt>=</tt> instead of <tt>==</tt>? ;A3:In some cases, this will result in an error. However, the incorrect version often appears to be a correct statement. For example, in the statement<tt> if (a=1)</tt>, the variable a will be assigned the value 1. The <tt>if</tt> statement is considered true, and the value of a is lost. ;Q4:It seems like I could use a <tt>for</tt> loop to replace any of the other loop methods (<tt>while</tt>, <tt>do</tt>, and so on). Why so many choices? ;A4:You're right. In most cases, a <tt>for</tt> loop will work, and you can do all your loops that way if you want. For that matter, you can use <tt>while</tt> to replace a <tt>for</tt> loop. You can use whichever looping method makes the most sense for your application. === Quiz Questions === Test your knowledge of JavaScript conditions and loops by answering the following questions. ;1.:Which of the following operators means "is not equal to" in JavaScript? #<tt>!</tt> #<tt>!=</tt> #<tt><></tt> ;2.: What does the <tt>switch </tt>statement do? #Tests a variable for a number of different values #Turns a variable on or off #Makes ordinary if statements longer and more confusing ;3.:Which type of JavaScript loop checks the condition at the end of the loop? #<tt>for</tt> #<tt>while</tt> #<tt>do…while</tt> ;4.:Within a loop, what does the <tt>break </tt>statement do? #Crashes the browser #Starts the loop over #Escapes the loop entirely ;5.:The statement <tt>while (3==3)</tt> is an example of #A typographical error #An infinite loop #An illegal JavaScript statement === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | b. The <tt>!=</tt> operator means is not equal to. |- | align="right" | '''2.''' | a. The <tt>switch</tt> statement can test the same variable or expression for a number of different values. |- | align="right" | '''3.''' | c. The <tt>do…while</tt> loop uses a condition at the end of the loop. |- | align="right" | '''4.''' | c. The <tt>break</tt> statement escapes the loop. |- | align="right" | '''5.''' | b. Because the condition <tt>(3==3)</tt> will always be true, this statement creates an infinite loop. |} === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: * Modify [Listing 7.4] to sort the names in alphabetical order before displaying them. You can use the <tt>sort</tt> method of the <tt>Array</tt> object, described in [Hour 5], "Using Variables, Strings, and Arrays." * Modify [Listing 7.4] to prompt for exactly 10 names. What happens if you click the Cancel button instead of entering a name? 2bfx6jmlsqlye4g5qihgpyfv7eqp4jn User:Moncur/06 2 2081 5829 5792 2007-06-19T23:58:09Z Moncur 24 5829 wikitext text/x-wiki =6. Using Functions and Objects= == Using Functions == The scripts you've seen so far are simple lists of instructions. The browser begins with the first statement after the <tt><script></tt> tag and follows each instruction in order until it reaches the closing <tt></script></tt> tag (or encounters an error). Although this is a straightforward approach for short scripts, it can be confusing to read a longer script written in this fashion. To make it easier for you to organize your scripts, JavaScript supports functions, which you learned about in [Hour 3], "Getting Started with JavaScript Programming." In this section, you will learn how to define and use functions. === Defining a Function === Functions are groups of JavaScript statements that can be treated as a single unit. To use a function, you must first define it. Here is a simple example of a function definition: <pre>function Greet() { alert("Greetings."); } </pre> This defines a function that displays an alert message to the user. This begins with the <tt>function</tt> keyword. The function's name is <tt>Greet</tt>. Notice the parentheses after the function's name. As you'll learn next, the space between them is not always empty. The first and last lines of the function definition include braces (<tt>{</tt> and <tt>}</tt>). You use these to enclose all of the statements in the function. The browser uses the braces to determine where the function begins and ends. Between the braces, this particular function contains a single line. This uses the built-in <tt>alert()</tt> function, which displays an alert message. The message will contain the text "Greetings." ; By the Way: Function names are case sensitive. If you define a function such as <tt>Greet()</tt> with a capital letter, be sure you use the identical name when you call the function. Now, about those parentheses. The current <tt>Greet()</tt> function always does the same thing: Each time you use it, it displays the same message. Although this avoids a bit of typing, it doesn't really provide much of an advantage. To make your function more flexible, you can add parameters, also known as arguments. These are variables that are received by the function each time it is called. For example, you can add a parameter called <tt>who</tt> that tells the function the name of the person to greet. Here is the modified <tt>Greet()</tt> function: <pre>function Greet(who) { alert("Greetings, " + who); } </pre> Of course, to use this function, you should include it in an HTML document. Traditionally, the best place for a function definition is within the <tt><head></tt> section of the document. Because the statements in the <tt><head></tt> section are executed first, this ensures that the function is defined before it is used. [Listing 6.1] shows the <tt>Greet()</tt> function embedded in the header section of an HTML document. ; Listing 6.1. The <tt>Greet()</tt> Function in an HTML Document <pre><html> <head> <title>Functions</title> <script language="JavaScript" type="text/javascript"> function Greet(who) { alert("Greetings, " + who); } </script> </head> <body> This is the body of the page. </body> </html> </pre> ; By the Way: As usual, you can download the listings for this hour or view them online at this book's website. === Calling the Function === You have now defined a function and placed it in an HTML document. However, if you load [Listing 6.1] into a browser, you'll notice that it does absolutely nothing. This is because the function is defined—ready to be used—but we haven't used it yet. Making use of a function is referred to as calling the function. To call a function, use the function's name as a statement in a script. You will need to include the parentheses and the values for the function's parameters. For example, here's a statement that calls the <tt>Greet</tt> function: <pre>Greet("Fred"); </pre> This tells the JavaScript interpreter to transfer control to the first statement in the <tt>Greet</tt> function. It also passes the parameter <tt>"Fred"</tt> to the function. This value will be assigned to the <tt>who</tt> variable inside the function. ; By the Way: Functions can have more than one parameter. To define a function with multiple parameters, list a variable name for each parameter, separated by commas. To call the function, specify values for each parameter separated by commas. [Listing 6.2] shows a complete HTML document that includes the function definition and a second script in the body of the page that actually calls the function. To demonstrate the usefulness of functions, we'll call it twice to greet two different people. ; Listing 6.2. The Complete Function Example <pre><html> <head> <title>Functions</title> <script language="JavaScript" type="text/javascript"> function Greet(who) { alert("Greetings, " + who); } </script> </head> <body> <h1>Function Example</h1> <p>Prepare to be greeted twice.</p> <script language="JavaScript" type="text/javascript"> Greet("Fred"); Greet("Ethel"); </script> </body> </html> </pre> This listing includes a second set of <tt><script></tt> tags in the body of the page. The second script includes two function calls to the <tt>Greet</tt> function, each with a different name. Now that you have a script that actually does something, try loading it into a browser. You should see something like [Figure 6.1], which shows the Greeting script running in Firefox. ; By the Way: Notice that the second alert message isn't displayed until you press the OK button on the first alert. This is because JavaScript processing is halted while alerts are displayed. === Returning a Value === The function you just created displays a message to the user, but functions can also return a value to the script that called them. This allows you to use functions to calculate values. As an example, you can create a function that averages four numbers. Your function should begin with the <tt>function</tt> keyword, the function's name, and the parameters it accepts. We will use the variable names a, b, c, and d for the four numbers to average. Here is the first line of the function: <pre>function Average(a,b,c,d) { </pre> ; By the Way:I've also included the opening brace (<tt>{</tt>) on the first line of the function. This is a common style, but you can also place the brace on the next line, or on a line by itself. Next, the function needs to calculate the average of the four parameters. You can calculate this by adding them, and then dividing by the number of parameters (in this case, 4). Thus, here is the next line of the function: <pre>result = (a + b + c + d) / 4; </pre> This statement creates a variable called <tt>result</tt> and calculates the result by adding the four numbers, and then dividing by 4. (The parentheses are necessary to tell JavaScript to perform the addition before the division.) To send this result back to the script that called the function, you use the <tt>return</tt> keyword. Here is the last part of the function: <pre>return result; } </pre> [Listing 6.3] shows the complete <tt>Average()</tt> function in an HTML document. This HTML document also includes a small script in the <tt><body></tt> section that calls the <tt>Average()</tt> function and displays the result. ; Listing 6.3. The <tt>Average()</tt> Function in an HTML Document <pre><html> <head> <title>Function Example</title> <script language="JavaScript" type="text/javascript"> function Average(a,b,c,d) { result = (a + b + c + d) / 4; return result; } </script> </head> <body> <p>The following is the result of the function call.</p> <script LANGUAGE="JavaScript" type="text/javascript"> score = Average(3,4,5,6); document.write("The average is: " + score); </script> </body> </html> </pre> You can use a variable with the function call, as shown in this listing. This statement averages the numbers 3, 4, 5, and 6 and stores the result in a variable called <tt>score</tt>: <pre>score = Average(3,4,5,6); </pre> ; Did you Know?: You can also use the function call directly in an expression. For example, you could use the <tt>alert</tt> statement to display the result of the function: <tt>alert(Average(1,2,3,4))</tt>. == Introducing Objects == In the previous hour, you learned how to use variables to represent different kinds of data in JavaScript. JavaScript also supports objects, a more complex kind of variable that can store multiple data items and functions. Although a variable can have only one value at a time, an object can contain multiple values, as well as functions for working with the values. This allows you to group related data items and the functions that deal with them into a single object. In this hour, you'll learn how to define and use your own objects. You've already worked with some objects: * DOM objects Allow your scripts to interact with web pages. You learned about these in [Hour 4], "Working with the Document Object Model (DOM)." * Built-in objects Include strings and arrays, which you learned about in [Hour 5], "Using Variables, Strings, and Arrays." The syntax for working with all three types of objects—DOM objects, built-in objects, and custom objects—is the same, so even if you don't end up creating your own objects, you should have a good understanding of JavaScript's object terminology and syntax. === Creating Objects === When you created an array in the previous hour, you used the following JavaScript statement: <pre>scores = new Array(4); </pre> The <tt>new</tt> keyword tells the JavaScript interpreter to use a function—in this case, the built-in <tt>Array</tt> function—to create an object. You'll create a function for a custom object later in this hour. === Object Properties and Values === Each object has one or more properties—essentially, variables that will be stored within the object. For example, in [Hour 4], you learned that the <tt>location.href</tt> property gives you the URL of the current document. The <tt>href</tt> property is one of the properties of the <tt>location</tt> object in the DOM. You've also used the <tt>length</tt> property of <tt>String</tt> objects, as in the following example from the previous hour: <pre>test = "This is a test." document.write(test.length); </pre> Like variables, each object property has a value. To read a property's value, you simply include the object name and property name, separated by a period, in any expression, as in <tt>test.length</tt> previously. You can change a property's value using the <tt>=</tt> operator, just like a variable. The following example sends the browser to a new URL by changing the <tt>location.href</tt> property: <pre>location.href="http://www.jsworkshop.com/"; </pre> ; By the Way: An object can also be a property of another object. This is referred to as a child object. === Understanding Methods === Along with properties, each object can have one or more methods. These are functions that work with the object's data. For example, the following JavaScript statement reloads the current document, as you learned in [Hour 4]: <pre>location.reload(); </pre> When you use <tt>reload()</tt>, you're using a method of the <tt>location</tt> object. Like normal functions, methods can accept arguments in parentheses, and can return values. == Using Objects to Simplify Scripting == Although JavaScript's variables and arrays are versatile ways to store data, sometimes you need a more complicated structure. For example, suppose you are creating a script to work with a business card database that contains names, addresses, and phone numbers for a variety of people. If you were using regular variables, you would need several separate variables for each person in the database: a name variable, an address variable, and so on. This would be very confusing. Arrays would improve things slightly. You could have a names array, an addresses array, and a phone number array. Each person in the database would have an entry in each array. This would be more convenient, but still not perfect. With objects, you can make the variables that store the database as logical as business cards. Each person is represented by a <tt>Card</tt> object, which has properties for name, address, and phone number. You can even add methods to the object to display or work with the information. In the following sections, you'll use JavaScript to actually create the <tt>Card</tt> object and its properties and methods. Later in this hour, you'll use the <tt>Card</tt> object in a script to display information for several members of the database. === Defining an Object === The first step in creating an object is to name it and its properties. We've already decided to call the object a <tt>Card</tt> object. Each object will have the following properties: * <tt>name</tt> * <tt>address</tt> * <tt>workphone</tt> * <tt>homephone</tt> The first step in using this object in a JavaScript program is to create a function to make new <tt>Card</tt> objects. This function is called the constructor for an object. Here is the constructor function for the <tt>Card</tt> object: <pre>function Card(name,address,work,home) { this.name = name; this.address = address; this.workphone = work; this.homephone = home; } </pre> The constructor is a simple function that accepts parameters to initialize a new object and assigns them to the corresponding properties. This function accepts several parameters from the statement that calls the function, and then assigns them as properties of an object. Because the function is called <tt>Card</tt>, the object is the <tt>Card</tt> object. Notice the <tt>this</tt> keyword. You'll use it anytime you create an object definition. Use <tt>this</tt> to refer to the current object—the one that is being created by the function. === Defining an Object Method=== Next, you will create a method to work with the <tt>Card</tt> object. Because all <tt>Card</tt> objects will have the same properties, it might be handy to have a function that prints out the properties in a neat format. Let's call this function <tt>PrintCard()</tt>. Your <tt>PrintCard()</tt> function will be used as a method for <tt>Card</tt> objects, so you don't need to ask for parameters. Instead, you can use the <tt>this</tt> keyword again to refer to the current object's properties. Here is a function definition for the <tt>PrintCard()</tt> function: <pre>function PrintCard() { line1 = "Name: "+ this.name + "<br>\n"; line2 = "Address: " + this.address + "<br>\n"; line3 = "Work Phone: " + this.workphone + "<br>\n"; line4 = "Home Phone: " + this.homephone + "<hr>\n"; document.write(line1, line2, line3, line4); } </pre> This function simply reads the properties from the current object (<tt>this</tt>), prints each one with a caption, and skips to a new line. You now have a function that prints a card, but it isn't officially a method of the <tt>Card</tt> object. The last thing you need to do is make <tt>PrintCard()</tt> part of the function definition for <tt>Card</tt> objects. Here is the modified function definition: <pre>function Card(name,address,work,home) { this.name = name; this.address = address; this.workphone = work; this.homephone = home; this.PrintCard = PrintCard; } </pre> The added statement looks just like another property definition, but it refers to the <tt>PrintCard()</tt> function. This will work so long as the PrintCard() function is defined with its own function definition. Methods are essentially properties that define a function rather than a simple value. ; Did you Know?: The previous example uses lowercase names such as <tt>workphone</tt> for properties, and an uppercase name (<tt>PrintCard</tt>) for the method. You can use any case for property and method names, but this is one way to make it clear that <tt>PrintCard</tt> is a method rather than an ordinary property. === Creating an Object Instance === Now let's use the object definition and method you just created. To use an object definition, you create a new object. This is done with the <tt>new</tt> keyword. This is the same keyword you've already used to create <tt>Date</tt> and <tt>Array</tt> objects. The following statement creates a new <tt>Card</tt> object called <tt>tom</tt>: <pre>tom = new Card("Tom Jones", "123 Elm Street", "555-1234", "555-9876"); </pre> As you can see, creating an object is easy. All you do is call the <tt>Card()</tt> function (the object definition) and give it the required attributes, in the same order as the definition. After this statement executes, a new object is created to hold Tom's information. This is called an instance of the <tt>Card</tt> object. Just as there can be several string variables in a program, there can be several instances of an object you define. Rather than specify all the information for a card with the <tt>new</tt> keyword, you can assign them after the fact. For example, the following script creates an empty <tt>Card</tt> object called <tt>holmes</tt>, and then assigns its properties: <pre>holmes = new Card(); holmes.name = "Sherlock Holmes"; holmes.address = "221B Baker Street"; holmes.workphone = "555-2345"; holmes.homephone = "555-3456"; </pre> After you've created an instance of the <tt>Card</tt> object using either of these methods, you can use the <tt>PrintCard()</tt> method to display its information. For example, this statement displays the properties of the <tt>tom</tt> card: <pre>tom.PrintCard(); </pre> == Extending Built-in Objects == JavaScript includes a feature that enables you to extend the definitions of built-in objects. For example, if you think the <tt>String</tt> object doesn't quite fit your needs, you can extend it, adding a new property or method. This might be very useful if you were creating a large script that used many strings. You can add both properties and methods to an existing object by using the <tt>prototype</tt> keyword. (A prototype is another name for an object's definition, or constructor function.) The <tt>prototype</tt> keyword enables you to change the definition of an object outside its constructor function. As an example, let's add a method to the <tt>String</tt> object definition. You will create a method called <tt>heading</tt>, which converts a string into an HTML heading. The following statement defines a string called <tt>title</tt>: <pre>title = "Fred's Home Page"; </pre> This statement would output the contents of the <tt>title</tt> string as an HTML level 1 heading: <pre>document.write(title.heading(1)); </pre> [Listing 6.4] adds a <tt>heading</tt> method to the <tt>String</tt> object definition that will display the string as a heading, and then displays three headings using the method. ; Listing 6.4. Adding a Method to the <tt>String</tt> Object <pre> <html> <head> <title>Test of heading method</title> </head> <body> <script LANGUAGE="JavaScript" type="text/javascript"> function addhead (level) { html = "H" + level; text = this.toString(); start = "<" + html + ">"; stop = "</" + html + ">"; return start + text + stop; } String.prototype.heading = addhead; document.write ("This is a heading 1".heading(1)); document.write ("This is a heading 2".heading(2)); document.write ("This is a heading 3".heading(3)); </script> </body> </html> </pre> First, you define the <tt>addhead()</tt> function, which will serve as the new string method. It accepts a number to specify the heading level. The <tt>start</tt> and <tt>stop</tt> variables are used to store the HTML "begin header" and "end header" tags, such as <tt><nowiki><h1></nowiki></tt> and <tt><nowiki></h1></nowiki></tt>. After the function is defined, use the <tt>prototype</tt> keyword to add it as a method of the <tt>String</tt> object. You can then use this method on any <tt>String</tt> object or, in fact, any JavaScript string. This is demonstrated by the last three statements, which display quoted text strings as level 1, 2, and 3 headers. === Try It Yourself Storing Data in Objects === Now you've created a new object to store business cards and a method to print them out. As a final demonstration of objects, properties, functions, and methods, you will now use this object in a web page to display data for several cards. Your script will need to include the function definition for <tt>PrintCard()</tt>, along with the function definition for the <tt>Card</tt> object. You will then create three cards and print them out in the body of the document. We will use separate HTML and JavaScript files for this example. [Listing 6.5] shows the complete script. ; Listing 6.5. An Example Script That Uses the <tt>Card</tt> Object <pre> // define the functions function PrintCard() { line1 = "<b>Name: </b>" + this.name + "<br>\n"; line2 = "<b>Address: </b>" + this.address + "<br>\n"; line3 = "<b>Work Phone: </b>" + this.workphone + "<br>\n"; line4 = "<b>Home Phone: </b>" + this.homephone + "<hr>\n"; document.write(line1, line2, line3, line4); } function Card(name,address,work,home) { this.name = name; this.address = address; this.workphone = work; this.homephone = home; this.PrintCard = PrintCard; } // Create the objects sue = new Card("Sue Suthers", "123 Elm Street", "555-1234", "555-9876"); phred = new Card("Phred Madsen", "233 Oak Lane", "555-2222", "555-4444"); henry = new Card("Henry Tillman", "233 Walnut Circle", "555-1299", "555-1344"); // And print them sue.PrintCard(); phred.PrintCard(); henry.PrintCard(); </pre> Notice that the <tt>PrintCard()</tt> function has been modified slightly to make things look good with the captions in boldface. To use this script, save it as <tt>cardtest.js</tt>. Next, you'll need to include the script in a simple HTML document. [Listing 6.6] shows the HTML document for this example. ; Listing 6.6.: The HTML File for the <tt>Card</tt> Object Example <pre><html> <head> <title>JavaScript Business Cards</title> </head> <body> <h1>JavaScript Business Card Test</h1> <p>Script begins here.</p><hr> <script language="JavaScript" type="text/javascript" src="cardtest.js"> </script> <p>End of script.</p> </body> </html> </pre> To test the script, save the HTML document in the same directory as the <tt>cardtest.js</tt> file you created earlier, and then load the HTML document into a browser. The browser's display of this example is shown in [Figure 6.2]. ; By the Way: This example isn't a very sophisticated database because you have to include the data for each person in the script. However, an object like this could be used to store a database record retrieved from a database server with thousands of records. == Summary == In this hour, you've looked at two important features of JavaScript. First, you learned how to use functions to group JavaScript statements, and how to call functions and use the values they return. You also learned about JavaScript's object-oriented features—defining objects with constructor functions, creating object instances, and working with properties, property values, and methods. In the next hour, you'll look at two more features you'll use in almost every script—conditions to let your scripts evaluate data, and loops to repeat sections of code. === Q&A === ; Q1:Many objects in JavaScript, such as DOM objects, include parent and child objects. Can I include child objects in my custom object definitions? ; A1:Yes. Just create a constructor function for the child object, and then add a property to the parent object that corresponds to it. For example, if you created a Nicknames object to store several nicknames for a person in the card file example, you could add it as a child object in the Card object's constructor: <tt>this.nick = new Nicknames();</tt>. ; Q2:Can I create an array of custom objects? ; A2:Yes. First, create the object definition as usual and define an array with the required number of elements. Then assign a new object to each array element (for example, <tt>cardarray[1] = new Card();</tt>). You can use a loop, described in the next hour, to assign objects to an entire array at once. ; Q3:Can I modify all properties of objects? ; A3:With custom objects, yes—but this varies with built-in objects and DOM objects. For example, you can use the length property to find the length of a string, but it is a read-only property and cannot be modified. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: 1. What JavaScript keyword is used to create an instance of an object? # object # new # instance 2. What is the meaning of the <tt>this</tt> keyword in JavaScript? # The current object. # The current script. # It has no meaning. 3. What does the <tt>prototype</tt> keyword allow you to do in a script? # Change the syntax of JavaScript commands. # Modify the definitions of built-in objects. # Modify the user's browser so only your scripts will work. === Quiz Answers === 1. b. The <tt>new</tt> keyword creates an object instance. 2. a. The <tt>this</tt> keyword refers to the current object. 3. b. The <tt>prototype</tt> keyword allows you to modify the definitions of built-in objects. === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: * Modify the <tt>Greet()</tt> function to accept two parameters, <tt>who1</tt> and <tt>who2</tt>, and to include both names in a single greeting dialog. Modify [Listing 6.2] to use a single function call to the new function. * Modify the definition of the <tt>Card</tt> object to include a property called <tt>email</tt> for the person's email address. Modify the <tt>PrintCard()</tt> function in [Listing 6.5] to include this property. muooqn7892rpgk1hcfa8bq30ewrvslo User:Moncur/05 2 2082 5828 5766 2007-06-19T23:57:57Z Moncur 24 5828 wikitext text/x-wiki =5. Using Variables, Strings, and Arrays= == Using Variables == Unless you skipped the first few hours of this book, you've already used a few variables. You probably can also figure out how to use a few more without any help. Nevertheless, there are some aspects of variables you haven't learned yet. We will now look at some of the details. === Choosing Variable Names === Variables are named containers that can store data (for example, a number, a text string, or an object). As you learned earlier in this book, each variable has a name. There are specific rules you must follow when choosing a variable name: * Variable names can include letters of the alphabet, both upper- and lowercase. They can also include the digits 09 and the underscore (_) character. * Variable names cannot include spaces or any other punctuation characters. * The first character of the variable name must be either a letter or an underscore. * Variable names are case sensitive: <tt>totalnum</tt>, <tt>Totalnum</tt>, and <tt>TotalNum</tt> are separate variable names. * There is no official limit on the length of variable names, but they must fit within one line. Using these rules, the following are examples of valid variable names: <pre> total_number_of_fish LastInvoiceNumber temp1 a _var39</pre> ; By the Way: You can choose to use either friendly, easy-to-read names or completely cryptic ones. Do yourself a favor: use longer, friendly names whenever possible. Although you might remember the difference between <tt>a</tt>, <tt>b</tt>, <tt>x</tt>, and <tt>x1</tt> right now, you might not after a good night's sleep. === Using Local and Global Variables === Some computer languages require you to declare a variable before you use it. JavaScript includes the <tt>var</tt> keyword, which can be used to declare a variable. You can omit <tt>var</tt> in many cases; the variable is still declared the first time you assign a value to it. To understand where to declare a variable, you will need to understand the concept of scope. A variable's scope is the area of the script in which that variable can be used. There are two types of variables: * Global variables have the entire script (and other scripts in the same HTML document) as their scope. They can be used anywhere, even within functions. * Local variables have a single function as their scope. They can be used only within the function they are created in. To create a global variable, you declare it in the main script, outside any functions. You can use the <tt>var</tt> keyword to declare the variable, as in this example: <pre>var students = 25;</pre> This statement declares a variable called <tt>students</tt> and assigns it a value of 25. If this statement is used outside functions, it creates a global variable. The <tt>var</tt> keyword is optional in this case, so this statement is equivalent to the previous one: <pre>students = 25;</pre> Before you get in the habit of omitting the <tt>var</tt> keyword, be sure you understand exactly when it's required. It's actually a good idea to always use the <tt>var</tt> keyword - you'll avoid errors and make your script easier to read, and it won't usually cause any trouble. ; By the Way: For the most part, the variables you've used in earlier hours of this book have been global. A local variable belongs to a particular function. Any variable you declare with the <tt>var</tt> keyword in a function is a local variable. Additionally, the variables in the function's parameter list are always local variables. To create a local variable within a function, you must use the <tt>var</tt> keyword. This forces JavaScript to create a local variable, even if there is a global variable with the same name. You should now understand the difference between local and global variables. If you're still a bit confused, don't worry—if you use the <tt>var</tt> keyword every time, you'll usually end up with the right type of variable. === Assigning Values to Variables === As you learned in [Hour 2], "Creating a Simple Script," you can use the equal sign to assign a value to a variable. For example, this statement assigns the value 40 to the variable <tt>lines</tt>: <pre>lines = 40;</pre> You can use any expression to the right of the equal sign, including other variables. You have used this syntax earlier to add one to a variable: <pre>lines = lines + 1;</pre> Because incrementing or decrementing variables is quite common, JavaScript includes two types of shorthand for this syntax. The first is the <tt>+=</tt> operator, which enables you to create the following shorter version of the preceding example: <pre>lines += 1;</pre> Similarly, you can subtract a number from a variable using the <tt>-=</tt> operator: <pre>lines -= 1;</pre> If you still think that's too much to type, JavaScript also includes the increment and decrement operators, <tt>++</tt> and <tt>--</tt>. This statement adds one to the value of <tt>lines</tt>: <pre>lines++;</pre> Similarly, this statement subtracts one from the value of <tt>lines</tt>: <pre>lines--;</pre> You can alternately use the <tt>++</tt> or <tt>--</tt> operators before a variable name, as in <tt>++lines</tt>. However, these are not identical. The difference is when the increment or decrement happens: * If the operator is after the variable name, the increment or decrement happens after the current expression is evaluated. * If the operator is before the variable name, the increment or decrement happens before the current expression is evaluated. This difference is only an issue when you use the variable in an expression and increment or decrement it in the same statement. As an example, suppose you have assigned the <tt>lines</tt> variable the value 40. The following two statements have different effects: <pre>alert(lines++); alert(++lines);</pre> The first statement displays an alert with the value 40, and then increments <tt>lines</tt> to 41. The second statement first increments <tt>lines</tt> to 41, then displays an alert with the value 41. ; By the Way: These operators are strictly for your convenience. If it makes more sense to you to stick to <tt>lines = lines + 1</tt>, do it—your script won't suffer. == Understanding Expressions and Operators == An expression is a combination of variables and values that the JavaScript interpreter can evaluate to a single value. The characters that are used to combine these values, such as <tt>+</tt> and <tt>/</tt>, are called operators. ; Did you Know?: Along with variables and constant values, you can also use calls to functions that return results within an expression. === Using JavaScript Operators === You've already used some operators, such as the <tt>+</tt> sign (addition) and the increment and decrement operators. Table 5.1 lists some of the most important operators you can use in JavaScript expressions. {| cellspacing="0" cellpadding="5" | + '''Table 5.1. Common JavaScript Operators''' |- ! Operator ! Description ! Example |- | <tt>+</tt> | Concatenate (combine) strings | <tt>message="this is" + "a test";</tt> |- | <tt>+</tt> | Add | <tt>result = 5 + 7;</tt> |- | <tt>-</tt> | Subtract | <tt>score = score - 1;</tt> |- | <tt>*</tt> | Multiply | <tt>total = quantity * price;</tt> |- | <tt>/</tt> | Divide | <tt>average = sum / 4;</tt> |- | <tt>%</tt> | Modulo (remainder) | <tt>remainder = sum % 4;</tt> |- | <tt>++</tt> | Increment | <tt>TRies++;</tt> |- | <tt>--</tt> | Decrement | <tt>total--;</tt> |} Along with these, there are also many other operators used in conditional statements—you'll learn about these in [Hour 7], "Controlling Flow with Conditions and Loops." === Operator Precedence === When you use more than one operator in an expression, JavaScript uses rules of operator precedence to decide how to calculate the value. [Table 5.1] lists the operators from lowest to highest precedence, and operators with highest precedence are evaluated first. For example, consider this statement: <pre>result = 4 + 5 * 3;</pre> If you try to calculate this result, there are two ways to do it. You could multiply <tt>5 * 3</tt> first and then add <tt>4</tt> (result: <tt>19</tt>) or add <tt>4 + 5</tt> first and then multiply by <tt>3</tt> (result: <tt>27</tt>). JavaScript solves this dilemma by following the precedence rules: Because multiplication has a higher precedence than addition, it first multiplies <tt>5 * 3</tt> and then adds <tt>4</tt>, producing a result of <tt>19</tt>. ; By the Way: If you're familiar with any other programming languages, you'll find that the operators and precedence in JavaScript work, for the most part, the same way as those in C, C++, and Java. Sometimes operator precedence doesn't produce the result you want. For example, consider this statement: <pre>result = a + b + c + d / 4;</pre> This is an attempt to average four numbers by adding them all together and then dividing by four. However, because JavaScript gives division a higher precedence than addition, it will divide the <tt>d</tt> variable by <tt>4</tt> before adding the other numbers, producing an incorrect result. You can control precedence by using parentheses. Here's the working statement to calculate an average: <pre>result = (a + b + c + d) / 4;</pre> The parentheses ensure that the four variables are added first, and then the sum is divided by four. ; Did you Know?: If you're unsure about operator precedence, you can use parentheses to make sure things work the way you expect and to make your script more readable. == Data Types in JavaScript == In some computer languages, you have to specify the type of data a variable will store: for example, a number or a string. In JavaScript, you don't need to specify a data type in most cases. However, you should know the types of data JavaScript can deal with. These are the basic JavaScript data types: * Numbers, such as <tt>3</tt>, <tt>25</tt>, or <tt>1.4142138</tt>. JavaScript supports both integers and floating-point numbers. * Boolean, or logical values. These can have one of two values: <tt>true</tt> or <tt>false</tt>. These are useful for indicating whether a certain condition is true. ; By the Way: You'll learn more about Boolean values, and about using conditions in JavaScript, in [Hour 7]. * Strings, such as <tt>"I am a jelly doughnut"</tt>. These consist of one or more characters of text. (Strictly speaking, these are <tt>String</tt> objects, which you'll learn about later in this hour.) * The null value, represented by the keyword <tt>null</tt>. This is the value of an undefined variable. For example, the statement <tt>document.write(fig)</tt> will result in this value (and an error message) if the variable <tt>fig</tt> has not been previously used or defined. Although JavaScript keeps track of the data type currently stored in each variable, it doesn't restrict you from changing types midstream. For example, suppose you declared a variable by assigning it a value: <pre>total = 31;</pre> This statement declares a variable called <tt>total</tt> and assigns it the value of 31. This is a numeric variable. Now suppose you changed the value of <tt>total</tt>: <pre>total = "albatross";</pre> This assigns a string value to <tt>total</tt>, replacing the numeric value. JavaScript will not display an error when this statement executes; it's perfectly valid, although it's probably not a very useful total. ; By the Way: Although this feature of JavaScript is convenient and powerful, it can also make it easy to make a mistake. For example, if the <tt>total</tt> variable was later used in a mathematical calculation, the result would be invalid—but JavaScript does not warn you that you've made this mistake. == Converting Between Data Types == JavaScript handles conversions between data types for you whenever it can. For example, you've already used statements like this: <pre>document.write("The total is " + total); </pre> This statement prints out a message such as <tt>"The total is 40"</tt>. Because the <tt>document.write</tt> function works with strings, the JavaScript interpreter automatically converts any nonstrings in the expression (in this case, the value of <tt>total</tt>) to strings before performing the function. This works equally well with floating-point and Boolean values. However, there are some situations where it won't work. For example, the following statement will work fine if the value of <tt>total</tt> is 40: <pre>average = total / 3; </pre> However, the <tt>total</tt> variable could also contain a string; in this case, the preceding statement would result in an error. In some situations, you might end up with a string containing a number, and need to convert it to a regular numeric variable. JavaScript includes two functions for this purpose: * <tt>parseInt()</tt>Converts a string to an integer number. * <tt>parseFloat()</tt>Converts a string to a floating-point number. Both of these functions will read a number from the beginning of the string and return a numeric version. For example, these statements convert the string <tt>"30 angry polar bears"</tt> to a number: <pre>stringvar = "30 angry polar bears"; numvar = parseInt(stringvar); </pre> After these statements execute, the <tt>numvar</tt> variable contains the number 30. The nonnumeric portion of the string is ignored. ; By the Way: These functions look for a number of the appropriate type at the beginning of the string. If a valid number is not found, the function will return the special value <tt>NaN</tt>, meaning not a number. == Using <tt>String</tt> Objects == You've already used several strings during the first few hours of this book. Strings store a group of text characters, and are named similarly to other variables. As a simple example, this statement assigns the string <tt>This is a test</tt> to a string variable called <tt>test</tt>: <pre>test = "This is a test"; </pre> === Creating a <tt>String</tt> Object === JavaScript stores strings as <tt>String</tt> objects. You usually don't need to worry about this, but it will explain some of the techniques for working with strings, which use methods (built-in functions) of the <tt>String</tt> object. There are two ways to create a new <tt>String</tt> object. The first is the one you've already used, whereas the second uses object-oriented syntax. The following two statements create the same string: <pre>test = "This is a test"; test = new String("This is a test"); </pre> The second statement uses the <tt>new</tt> keyword, which you use to create objects. This tells the browser to create a new <tt>String</tt> object containing the text <tt>This is a test</tt>, and assigns it to the variable <tt>test</tt>. ; By the Way: Although you can create a string using object-oriented syntax, the standard JavaScript syntax is simpler, and there is no difference in the strings created by these two methods. === Assigning a Value === You can assign a value to a string in the same way as any other variable. Both of the examples in the previous section assigned an initial value to the string. You can also assign a value after the string has already been created. For example, the following statement replaces the contents of the <tt>test</tt> variable with a new string: <pre>test = "This is only a test."; </pre> You can also use the concatenation operator (<tt>+</tt>) to combine the values of two strings. [Listing 5.1] shows a simple example of assigning and combining the values of strings. ; Listing 5.1. Assigning Values to Strings and Combining Them <pre> <html> <head> <title>String Test</title> </head> <body> <h1>String Test</h1> <script language="JavaScript" type="text/javascript">; test1 = "This is a test. "; test2 = "This is only a test."; both = test1 + test2; alert(both); </script> </body> </html> </pre> This script assigns values to two string variables, <tt>test1</tt> and <tt>test2</tt>, and then displays an alert with their combined value. If you load this HTML document in a browser, your output should resemble [Figure 5.1]. In addition to using the <tt>+</tt> operator to concatenate two strings, you can use the <tt>+=</tt> operator to add text to a string. For example, this statement adds a period to the current contents of the string <tt>sentence:</tt> <pre>sentence += "."; </pre> ; By the Way: The plus sign (<tt>+</tt>) is also used to add numbers in JavaScript. The browser knows whether to use addition or concatenation based on the types of data you use with the plus sign. If you use it between a number and a string, the number is converted to a string and concatenated. === Calculating the String's Length === From time to time, you might find it useful to know how many characters a string variable contains. You can do this with the <tt>length</tt> property of <tt>String</tt> objects, which you can use with any string. To use this property, type the string's name followed by <tt>.length</tt>. For example, <tt>test.length</tt> refers to the length of the <tt>test</tt> string. Here is an example of this property: <pre>test = "This is a test."; document.write(test.length); </pre> The first statement assigns the string <tt>This is a test</tt> to the <tt>test</tt> variable. The second statement displays the length of the string—in this case, 15 characters. The <tt>length</tt> property is a read-only property, so you cannot assign a value to it to change a string's length. ; By the Way: Remember that although <tt>test</tt> refers to a string variable, the value of <tt>test.length</tt> is a number and can be used in any numeric expression. === Converting the String's Case === Two methods of the <tt>String</tt> object enable you to convert the contents of a string to all uppercase or all lowercase: * <tt>toUpperCase()</tt>Converts all characters in the string to uppercase. * <tt>toLowerCase()</tt>Converts all characters in the string to lowercase. For example, the following statement displays the value of the <tt>test</tt> string variable in lowercase: <pre>document.write(test.toLowerCase()); </pre> Assuming that this variable contained the text <tt>This Is A Test</tt>, the result would be the following string: <pre>this is a test </pre> Note that the statement doesn't change the value of the <tt>text</tt> variable. These methods return the upper- or lowercase version of the string, but they don't change the string itself. If you want to change the string's value, you can use a statement like this: <pre>test = test.toLowerCase(); </pre> ; By the Way: Note that the syntax for these methods is similar to the <tt>length</tt> property introduced earlier. The difference is that methods always use parentheses, whereas properties don't. The <tt>toUpperCase</tt> and <tt>toLowerCase</tt> methods do not take any parameters, but you still need to use the parentheses. == Working with Substrings == So far, you've worked with entire strings. JavaScript also enables you to work with substrings, or portions of a string. You can use the <tt>substring</tt> method to retrieve a portion of a string, or the <tt>charAt</tt> method to get a single character. These are explained in the following sections. === Using Part of a String === The <tt>substring</tt> method returns a string consisting of a portion of the original string between two index values, which you must specify in parentheses. For example, the following statement displays the fourth through sixth characters of the <tt>text</tt> string: <pre>document.write(text.substring(3,6)); </pre> At this point, you're probably wondering where the <tt>3</tt> and the <tt>6</tt> come from. There are three things you need to understand about the index parameters: * Indexing starts with <tt>0</tt> for the first character of the string, so the fourth character is actually index <tt>3</tt>. * The second index is noninclusive. A second index of <tt>6</tt> includes up to index <tt>5</tt> (the sixth character). * You can specify the two indexes in either order. The smaller one will be assumed to be the first index. In the previous example, <tt>(6,3)</tt> would have produced the same result. Of course, there is rarely a reason to use the reverse order. As another example, suppose you defined a string called <tt>alpha</tt> to hold the alphabet: <pre>alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; </pre> The following are examples of the <tt>substring()</tt> method using this string: * <tt>alpha.substring(0,4)</tt> returns <tt>ABCD</tt>. * <tt>alpha.substring(10,12)</tt> returns <tt>KL</tt>. * <tt>alpha.substring(12,10)</tt> also returns <tt>KL</tt>. Because it's smaller, <tt>10</tt> is used as the first index. * <tt>alpha.substring(6,7)</tt> returns <tt>G</tt>. * <tt>alpha.substring(24,26)</tt> returns <tt>YZ</tt>. * <tt>alpha.substring(0,26)</tt> returns the entire alphabet. * <tt>alpha.substring(6,6)</tt> returns the <tt>null</tt> value, an empty string. This is true whenever the two index values are the same. === Getting a Single Character === The <tt>charAt</tt> method is a simple way to grab a single character from a string. You specify the character's index, or position, in parentheses. The indexes begin at 0 for the first character. Here are a few examples using the <tt>alpha</tt> string: * <tt>alpha.charAt(0)</tt> returns <tt>A</tt>. * <tt>alpha.charAt(12)</tt> returns <tt>M</tt>. * <tt>alpha.charAt(25)</tt> returns <tt>Z</tt>. * <tt>alpha.charAt(27)</tt> returns an empty string because there is no character at that position. === Finding a Substring === Another use for substrings is to find a string within another string. One way to do this is with the <tt>indexOf</tt> method. To use this method, add <tt>indexOf</tt> to the string you want to search, and specify the string to search for in the parentheses. This example searches for "this" in the <tt>test</tt> string: <pre>loc = test.indexOf("this"); </pre> ; By the Way: As with most JavaScript methods and property names, <tt>indexOf</tt> is case sensitive. Make sure you type it exactly as shown here when you use it in scripts. The value returned in the <tt>loc</tt> variable is an index into the string, similar to the first index in the <tt>substring</tt> method. The first character of the string is index <tt>0</tt>. You can specify an optional second parameter to indicate the index value to begin the search. For example, this statement searches for the word <tt>fish</tt> in the <tt>temp</tt> string, starting with the 20th character: <pre>location = temp.indexOf("fish",19); </pre> ; By the Way: One use for the second parameter is to search for multiple occurrences of a string. After finding the first occurrence, you search starting with that location for the second one, and so on. A second method, <tt>lastIndexOf()</tt>, works the same way, but finds the last occurrence of the string. It searches the string backwards, starting with the last character. For example, this statement finds the last occurrence of <tt>Fred</tt> in the <tt>names</tt> string: <pre>location = names.lastIndexOf("Fred"); </pre> As with <tt>indexOf()</tt>, you can specify a location to search from as the second parameter. In this case, the string will be searched backward starting at that location. == Using Numeric Arrays == An array is a numbered group of data items that you can treat as a single unit. For example, you might use an array called <tt>scores</tt> to store several scores for a game. Arrays can contain strings, numbers, objects, or other types of data. Each item in an array is called an element of the array. === Creating a Numeric Array === Unlike most other types of JavaScript variables, you typically need to declare an array before you use it. The following example creates an array with four elements: <pre>scores = new Array(4); </pre> To assign a value to the array, you use an index in brackets. Indexes begin with <tt>0</tt>, so the elements of the array in this example would be numbered <tt>0</tt> to <tt>3</tt>. These statements assign values to the four elements of the array: <pre>scores[0] = 39; scores[1] = 40; scores[2] = 100; scores[3] = 49; </pre> You can also declare an array and specify values for elements at the same time. This statement creates the same <tt>scores</tt> array in a single line: <pre>scores = new Array(39,40,100,49); </pre> In JavaScript 1.2 and later, you can also use a shorthand syntax to declare an array and specify its contents. The following statement is an alternative way to create the <tt>scores</tt> array: <pre>scores = [39,40,100,49]; </pre> ; Did you Know?: Remember to use parentheses when declaring an array with the <tt>new</tt> keyword, as in <tt>a=new Array(3,4,5)</tt>, and use brackets when declaring an array without <tt>new</tt>, as in <tt>a=[3,4,5]</tt>. Otherwise, you'll run into JavaScript errors. === Understanding Array Length === Like strings, arrays have a <tt>length</tt> property. This tells you the number of elements in the array. If you specified the length when creating the array, this value becomes the <tt>length</tt> property's value. For example, these statements would print the number <tt>30</tt>: <pre>scores = new Array(30); document.write(scores.length); </pre> You can declare an array without a specific length, and change the length later by assigning values to elements or changing the <tt>length</tt> property. For example, these statements create a new array and assign values to two of its elements: <pre>test = new Array(); test[0]=21; test[5]=22; </pre> In this example, because the largest index number assigned so far is <tt>5</tt>, the array has a <tt>length</tt> property of <tt>6</tt>—remember, elements are numbered starting at 0. === Accessing Array Elements === You can read the contents of an array using the same notation you used when assigning values. For example, the following statements would display the values of the first three elements of the <tt>scores</tt> array: <pre>scoredisp = "Scores: " + scores[0] + "," + scores[1] + "," + scores[2]; document.write(scoredisp); </pre> ; Did you Know?: Looking at this example, you might imagine it would be inconvenient to display all the elements of a large array. This is an ideal job for loops, which enable you to perform the same statements several times with different values. You'll learn all about loops in [Hour 7]. == Using String Arrays == So far, you've used arrays of numbers. JavaScript also allows you to use string arrays, or arrays of strings. This is a powerful feature that enables you to work with a large number of strings at the same time. === Creating a String Array === You declare a string array in the same way as a numeric array—in fact, JavaScript does not make a distinction between them: <pre>names = new Array(30);</pre> You can then assign string values to the array elements: <pre>names[0] = "Henry J. Tillman"; names[1] = "Sherlock Holmes";</pre> As with numeric arrays, you can also specify a string array's contents when you create it. Either of the following statements would create the same string array as the preceding example: <pre>names = new Array("Henry J. Tillman", "Sherlock Holmes"); names = ["Henry J. Tillman", "Sherlock Holmes"];</pre> You can use string array elements anywhere you would use a string. You can even use the string methods introduced earlier. For example, the following statement prints the first five characters of the first element of the <tt>names</tt> array, resulting in <tt>Henry</tt>: <pre>document.write(names[0].substring(0,5));</pre> === Splitting a String === JavaScript includes a string method called <tt>split</tt>, which splits a string into its component parts. To use this method, specify the string to split and a character to divide the parts: <pre>test = "John Q. Public"; parts = test.split(" ");</pre> In this example, the <tt>test</tt> string contains the name <tt>John Q. Public</tt>. The <tt>split</tt> method in the second statement splits the <tt>name</tt> string at each space, resulting in three strings. These are stored in a string array called <tt>parts</tt>. After the example statements execute, the elements of <tt>parts</tt> contain the following: * <tt>parts[0] = "John"</tt> * <tt>parts[1] = "Q."</tt> * <tt>parts[2] = "Public"</tt> JavaScript also includes an array method, <tt>join</tt>, which performs the opposite function. This statement reassembles the <tt>parts</tt> array into a string: <pre>fullname = parts.join(" ");</pre> The value in the parentheses specifies a character to separate the parts of the array. In this case, a space is used, resulting in the final string <tt>John Q. Public</tt>. If you do not specify a character, commas are used. === Sorting a String Array === JavaScript also includes a <tt>sort</tt> method for arrays, which returns an alphabetically sorted version of the array. For example, the following statements initialize an array of four names and sort it: <pre>names[0] = "Public, John Q."; names[1] = "Tillman, Henry J."; names[2] = "Bush, George W."; names[3] = "Mouse, Mickey"; sortednames = names.sort();</pre> The last statement sorts the <tt>names</tt> array and stores the result in a new array, <tt>sortednames</tt>. == Sorting a Numeric Array == Because the <tt>sort</tt> method sorts alphabetically, it won't work with a numeric array—at least not the way you'd expect. If an array contains the numbers 4, 10, 30, and 200, for example, it would sort them as 10, 200, 30, 4—not even close. Fortunately, there's a solution: You can specify a function in the <tt>sort</tt> method's parameters, and that function will be used to compare the numbers. The following code sorts a numeric array correctly: <pre>function numcompare(a,b) { return a-b; } nums = new Array(30, 10, 200, 4); sortednums = nums.sort(numcompare);</pre> This example defines a simple function, <tt>numcompare</tt>, which subtracts the two numbers. After you specify this function in the <tt>sort</tt> method, the array is sorted in the correct numeric order: 4, 10, 30, 200. ; By the Way: JavaScript expects the comparison function to return a negative number if <tt>a</tt> belongs before <tt>b</tt>, 0 if they are the same, or a positive number if <tt>a</tt> belongs after <tt>b</tt>. This is why <tt>a-b</tt> is all you need for the function to sort numerically. ; Try It Yourself : Sorting and Displaying Names To gain more experience working with JavaScript's string and array features, you can create a script that enables the user to enter a list of names, and displays the list in sorted form. Because this will be a larger script, you will create separate HTML and JavaScript files, as described in [Hour 3], "Getting Started with JavaScript Programming." First, the <tt>sort.html</tt> file will contain the HTML structure and form fields for the script to work with. [Listing 5.2] shows the HTML document. ; Listing 5.2. The HTML Document for the Sorting Example <pre> <html> <head> <title>Array Sorting Example</title> <script type="text/javascript" language="javascript" src="sort.js"> </script> </head> <body> <h1>Sorting String Arrays</h1> <p>Enter two or more names in the field below, and the sorted list of names will appear in the text area.</p> <form name="theform"> Name: <input type="text" name="newname" size="20"> <input type="button" name="addname" value="Add" onclick="SortNames();"> <br> <h2>Sorted Names</h2> <textarea cols="60" rows="10" name="sorted"> The sorted names will appear here. </textarea> </form> </body> </html> </pre> Because the script will be in a separate document, the <tt><script></tt> tag in the header of this document uses the <tt>src</tt> attribute to include a JavaScript file called <tt>sort.js</tt>. You will create this file next. This document defines a form named <tt>theform</tt>, a text field named <tt>newname</tt>, an <tt>addname</tt> button, and a textarea named <tt>sorted</tt>. Your script will use these form fields as its user interface. [Listing 5.3] shows the JavaScript file. ; Listing 5.3. The JavaScript File for the Sorting Example <pre>// initialize the counter and the array var numnames=0; var names = new Array(); function SortNames() { // Get the name from the text field thename=document.theform.newname.value; // Add the name to the array names[numnames]=thename; // Increment the counter numnames++; // Sort the array names.sort(); document.theform.sorted.value=names.join("\n"); }</pre> The script begins by defining two variables with the <tt>var</tt> keyword: <tt>numnames</tt> will be a counter that increments as each name is added, and the <tt>names</tt> array will store the names. When you type a name into the text field and click the button, the <tt>onclick</tt> event handler calls the <tt>SortNames</tt> function. This function stores the text field value in a variable, <tt>thename</tt>, and then adds the name to the <tt>names</tt> array using <tt>numnames</tt> as the index. It then increments <tt>numnames</tt> to prepare for the next name. The final section of the script sorts the names and displays them. First, the <tt>sort()</tt> method is used to sort the <tt>names</tt> array. Next, the <tt>join()</tt> method is used to combine the names, separating them with line breaks, and display them in the textarea. To test the script, save it as <tt>sort.js</tt>, and then load the <tt>sort.html</tt> file you created previously into a browser. You can then add some names and test the script. [Figure 5.2] shows the result after sorting several names. == Summary == During this hour, you've focused on variables and how JavaScript handles them. You've learned how to name variables, how to declare them, and the differences between local and global variables. You also explored the data types supported by JavaScript and how to convert between them. You also learned about JavaScript's more complex variables, strings and arrays, and looked at the features that enable you to perform operations on them, such as converting strings to uppercase or sorting arrays. In the next hour, you'll continue your JavaScript education by learning more about two additional key features: functions and objects. === Q&A === ; Q1: What is the importance of the var keyword? Should I always use it to declare variables? ; A1: You only need to use var to define a local variable in a function. However, if you're unsure at all, it's always safe to use var. Using it consistently will help you keep your scripts organized and error free. ; Q2: Is there any reason I would want to use the var keyword to create a local variable with the same name as a global one? ; A2: Not on purpose. The main reason to use var is to avoid conflicts with global variables you might not know about. For example, you might add a global variable in the future, or you might add another script to the page that uses a similar variable name. This is more of an issue with large, complex scripts. ; Q3: What good are Boolean variables? ; A3: Often in scripts you'll need a variable to indicate whether something has happenedfor example, whether a phone number the user has entered is in the right format. Boolean variables are ideal for this; they're also useful in working with conditions, as you'll see in Hour 7. ; Q4: Can I store other types of data in an array? For example, can I have an array of dates? ; A4: Absolutely. JavaScript allows you to store any data type in an array. ; Q5: What about two-dimensional arrays? ; A5: These are arrays with two indexes (such as columns and rows). JavaScript does not directly support this type of array, but you can use objects to achieve the same effect. You will learn more about objects in the next hour. === Quiz Questions === Test your knowledge of JavaScript by answering the following questions: 1. Which of the following is not a valid JavaScript variable name? # 2names # first_and_last_names # FirstAndLast 2. If the statement var fig=2 appears in a function, which type of variable does it declare? # A global variable # A local variable # A constant variable 3. If the string test contains the value The eagle has landed., what would be the value of test.length? # 4 # 21 # The 4. Using the same example string, which of these statements would return the word eagle? # test.substring(4,9) # test.substring(5,9) # test.substring("eagle") 5. What will be the result of the JavaScript expression 31 + "angry polar bears"? # An error message # 32 # "31 angry polar bears" === Quiz Answers === 1. a. 2names is an invalid JavaScript variable name because it begins with a number. The others are valid, although they're probably not ideal choices for names. 2. b. Because the variable is declared in a function, it is a local variable. The var keyword ensures that a local variable is created. 3. b. The length of the string is 21 characters. 4. a. The correct statement is test.substring(4,9). Remember that the indexes start with 0, and that the second index is noninclusive. 5. c. JavaScript converts the whole expression to the string "31 angry polar bears". (No offense to polar bears, who are seldom angry and rarely seen in groups this large.) === Exercises === To further explore JavaScript variables, strings, and arrays, you can perform the following exercises: * Modify the sorting example in [Listing 5.3] to convert the names to all upper-case before sorting and displaying them. * Modify [Listing 5.3] to display a numbered list of names in the textarea. 0sci9tgpjjzcnl3qf04mi1gsdfvspen User:Moncur/17 2 2083 5777 5731 2007-06-18T20:32:20Z Moncur 24 5777 wikitext text/x-wiki <!-- =17. AJAX: Remote Scripting= == Introducing AJAX == Traditionally, one of the major limitations of JavaScript is that it couldn't communicate with a web server. For example, you could create a game in JavaScript, but keeping a list of high scores stored on a server would require submitting a page to a server-side form. One of the limitations of web pages in general was that getting data from the user to the server, or from the server to the user, generally required a new page to be loaded and displayed. AJAX (Asynchronous JavaScript and XML) is the answer to both of these problems. AJAX refers to JavaScript's capability to use a built-in object, <tt>XMLHttpRequest</tt>, to communicate with a web server without submitting a form or loading a page. Although not part of the DOM standard yet, this object is supported by Internet Explorer, Firefox, and other modern browsers. Although the term AJAX was coined in 2005, <tt>XMLHttpRequest</tt> has been supported by browsers for yearsit was developed by Microsoft and first appeared in Internet Explorer 5. Nonetheless, it has only recently become a popular way of developing applications because browsers that support it have become more common. Another name for this technique is remote scripting. ; By the Way:The term AJAX first appeared in an online article by Jesse James Garrett of Adaptive Path on February 18, 2005. It still appears here: [http://adaptivepath.com/publications/essays/archives/000385.php http://adaptivepath.com/publications/essays/archives/000385.php] === The JavaScript Client (Front End) === JavaScript traditionally only has one way of communicating with a serversubmitting a form. Remote scripting allows for much more versatile communication with the server. The A in AJAX stands for asynchronous, which means that the browser (and the user) isn't left hanging while waiting for the server to respond. Here's how a typical AJAX request works: {| border="0" |- | '''1. ''' | The script creates an <tt>XMLHttpRequest</tt> object and sends it to the web server. The script can continue after sending the request. |- | '''2. ''' | The server responds by sending the contents of a file, or the output of a server-side program. |- | '''3. ''' | When the response arrives from the server, a JavaScript function is triggered to act on the data. |- | '''4. ''' | Because the goal is a more responsive user interface, the script usually displays the data from the server using the DOM, eliminating the need for a page refresh. |} In practice, this happens quickly, but even with a slow server, it can still work. Also, because the requests are asynchronous, more than one can be in progress at a time. === The Back End === The part of an application that resides on the web server is known as the back end. The simplest back end is a static file on the serverJavaScript can request the file with <tt>XMLHttpRequest</tt>, and then read and act on its contents. More commonly, the back end is a server-side program running in a language like PHP, Perl, or Ruby. JavaScript can send data to a server-side program using <tt>GET</tt> or <tt>POST</tt> methods, the same two ways an HTML form works. In a <tt>GET</tt> request, the data is encoded in the URL that loads the program. In a <tt>POST</tt> request, it is sent separately, and can contain more data. === XML === The X in AJAX stands for XML (extensible markup language), the universal markup language upon which the latest versions of HTML are built. A server-side file or program can send data in XML format, and JavaScript can act on the data using its methods for working with XML. These are similar to the DOM methods you've already usedfor example, you can use the <tt>getElementsByTagName()</tt> method to find elements with a particular tag in the data. Keep in mind that XML is just one way to send data, and not always the easiest. The server could just as easily send plain text, which the script could display, or HTML, which the script could insert into the page using the <tt>innerHTML</tt> property. Some programmers have even used server-side scripts to return data in JavaScript format, which can be easily executed using the <tt>eval</tt> function. ; By the Way:JSON (JavaScript Object Notation) takes the idea of encoding data in JavaScript and formalizes it. See [http://www.json.org/ http://www.json.org/] for details and code examples in many languages. === Popular Examples of AJAX === Although typical HTML and JavaScript is used to build web pages and sites, AJAX techniques often result in web applicationsweb-based services that perform work for the user. Here are a few well-known examples of AJAX: * Google's Gmail mail client ([http://mail.google.com/ http://mail.google.com/]) uses AJAX to make a fast-responding email application. You can delete messages and perform other tasks without waiting for a new page to load. * Amazon.com uses AJAX for some functions. For example, if you click on one of the Yes/No voting buttons for a product comment, it sends your vote to the server and a message appears next to the button thanking you, all without loading a page. * Digg ([http://www.digg.com/ http://www.digg.com]) is a site where users can submit news stories and vote to determine which ones are displayed on the front page. The voting happens inside the page next to each story. These are just a few examples. Subtle bits of remote scripting are appearing all over the Web, and you might not even notice themyou'll just be annoyed a little bit less often at waiting for a page to load. === Frameworks and Libraries === Because remote scripting can be complicated, especially considering the browser differences you'll learn about later this hour, several frameworks and libraries have been developed to simplify AJAX programming. For starters, three of the libraries described earlier in this book, Dojo, Prototype, and script.aculo.us, include functions to simplify remote scripting. There are also some dedicated libraries for languages like PHP, Python, and Ruby. Some libraries are designed to add server-side functions to JavaScript, whereas others are designed to add JavaScript interactivity to a language like PHP. You'll build a simple library later this hour that will be used to handle the remote scripting functions for this hour's examples. ; Did you Know?:See this book's website for an up-to-date list of AJAX libraries. See [Hour 8], "Using Built-in Functions and Libraries," for information about using third-party libraries with JavaScript. === Limitations of AJAX === Remote scripting is a relatively new technology, so there are some things it can't do, and some things to watch out for. Here are some of the limitations and potential problems of AJAX: * The script and the XML data or server-side program it requests data from must be on the same domain. * Internet Explorer 5 and 6 use ActiveX to implement <tt>XMLHttpRequest</tt>. Although the security settings allow this by default, users with different settings might be unable to use AJAX. (Internet Explorer 7 does not have this problem.) * Some older browsers and some less common browsers (such as mobile browsers) don't support <tt>XMLHttpRequest</tt>, so you can't count on its availability for all users. * Requiring AJAX might compromise the accessibility of a site for disabled users. * Users are accustomed to seeing a new page load each time they change something, so there might be a learning curve for them to understand an AJAX application. As with other advanced uses of JavaScript, the best approach is to be unobtrusivemake sure there's still a way to use the site without AJAX support if possible, and use feature sensing to prevent errors on browsers that don't support it. See [Hour 15], "Unobtrusive Scripting," for details. == Using XMLHttpRequest == You will now take a look at how to use <tt>XMLHttpRequest</tt> to communicate with a server. This might seem a bit complex, but the process is the same for any request. Later, you will create a reusable code library to simplify this process. === Creating a Request === The first step is to create an <tt>XMLHttpRequest</tt> object. To do this, you use the <tt>new</tt> keyword, as with other JavaScript objects. The following statement creates a request object in some browsers: <pre>ajaxreq = new XMLHttpRequest();</pre> The previous example works with Firefox, Mozilla, and Safari, and with Internet Explorer 7, but not Internet Explorer 5 or 6. For those browsers, you have to use ActiveX syntax: <pre>ajaxreq = new ActiveXObject("Microsoft.XMLHTTP");</pre> The library section later this hour demonstrates how to use the correct method depending on the browser in use. In either case, the variable you use (<tt>ajaxreq</tt> in the example) stores the <tt>XMLHttpRequest</tt> object. You'll use the methods of this object to open and send a request, as explained in the following sections. === Opening a URL === The <tt>open()</tt> method of the <tt>XMLHttpRequest</tt> object specifies the filename as well as the method in which data will be sent to the server: <tt>GET</tt> or <tt>POST</tt>. These are the same methods supported by web forms. <pre>ajaxreq.open("GET","filename");</pre> For the <tt>GET</tt> method, the data you send is included in the URL. For example, this command opens the <tt>search.php</tt> program and sends the value "John" for the <tt>query</tt> parameter: <pre>ajaxreq.open("GET","search.php?query=John");</pre> === Sending the Request === You use the <tt>send()</tt> method of the <tt>XMLHttpRequest</tt> object to send the request to the server. If you are using the <tt>POST</tt> method, the data to send is the argument for <tt>send()</tt>. For a <tt>GET</tt> request, you can use the <tt>null</tt> value instead: <pre>ajaxreq.send(null);</pre> === Awaiting a Response === After the request is sent, your script will continue without waiting for a result. Because the result could come at any time, you can detect it with an event handler. The <tt>XMLHttpRequest</tt> object has an <tt>onreadystatechange</tt> event handler for this purpose. You can create a function to deal with the response and set it as the handler for this event: <pre>ajaxreq.onreadystatechange = MyFunc;</pre> The request object has a property, <tt>readyState</tt>, that indicates its status, and this event is triggered whenever the <tt>readyState</tt> property changes. The values of <tt>readyState</tt> range from <tt>0</tt> for a new request to <tt>4</tt> for a complete request, so your event handling function usually needs to watch for a value of <tt>4</tt>. Although the request is complete, it may not have been successful. The <tt>status</tt> property is set to 200 if the request succeeded, or an error code if it failed. The <tt>statusText</tt> property stores a text explanation of the error, or "OK" for success. ; Watch Out!:As usual with event handlers, be sure to specify the function name without parentheses. With parentheses, you're referring to the result of the function; without them, you're referring to the function itself. === Interpreting the Response Data === When the <tt>readyState</tt> property reaches <tt>4</tt> and the request is complete, the data returned from the server is available to your script in two properties: <tt>responseText</tt> is the response in raw text form, and <tt>responseXML</tt> is the response as an XML object. If the data was not in XML format, only the text property will be available. JavaScript's DOM methods are meant to work on XML, so you can use them with the <tt>responseXML</tt> property. Later this hour, you'll use the <tt>getElementsByTagName()</tt> method to extract data from XML. == Creating a Simple AJAX Library == You should be aware by now that AJAX requests can be a bit complex. To make things easier, you can create an AJAX library. This is a JavaScript file that provides functions that handle making a request and receiving the result, which you can reuse any time you need AJAX functions. This library will be used in the two examples later this hour. [Listing 17.1] shows the complete AJAX library. ; Listing 17.1. The AJAX Library <pre>// global variables to keep track of the request // and the function to call when done var ajaxreq=false, ajaxCallback; // ajaxRequest: Sets up a request function ajaxRequest(filename) { try { // Firefox / IE7 / Others ajaxreq= new XMLHttpRequest(); } catch (error) { try { // IE 5 / IE 6 ajaxreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (error) { return false; } } ajaxreq.open("GET", filename); ajaxreq.onreadystatechange = ajaxResponse; ajaxreq.send(null); } // ajaxResponse: Waits for response and calls a function function ajaxResponse() { if (ajaxreq.readyState !=4) return; if (ajaxreq.status==200) { // if the request succeeded... if (ajaxCallback) ajaxCallback(); } else alert("Request failed: " + ajaxreq.statusText); return true; } </pre> The following sections explain how this library works and how to use it. === The <tt>ajaxRequest()</tt> Function === The <tt>ajaxRequest()</tt> function handles all of the steps necessary to create and send an <tt>XMLHttpRequest</tt>. First, it creates the <tt>XMLHttpRequest</tt> object. This requires a different command for different browsers, and will cause an error if the wrong one executes, so <tt>TRy</tt> and <tt>catch</tt> are used to create the request. First the standard method is used, and if it causes an error, the ActiveX method is tried. If that also causes an error, the <tt>ajaxreq</tt> variable is set to <tt>false</tt> to indicate that AJAX is unsupported. === The <tt>ajaxResponse()</tt> Function === The <tt>ajaxResponse()</tt> function is used as the <tt>onreadystatechange</tt> event handler. This function first checks the <tt>readyState</tt> property for a value of <tt>4</tt>. If it has a different value, the function returns without doing anything. Next, it checks the <tt>status</tt> property for a value of <tt>200</tt>, which indicates the request was successful. If so, it runs the function stored in the <tt>ajaxCallback</tt> variable. If not, it displays the error message in an alert box. === Using the Library === To use this library, follow these steps: {| border="0" |- | '''1. ''' | Save the library file as <tt>ajax.js</tt> in the same folder as your HTML documents and scripts. |- | '''2. ''' | Include the script in your document with a <tt><script src></tt> tag. It should be included before any other scripts that use its features. |- | '''3. ''' | In your script, create a function to be called when the request is complete, and set the <tt>ajaxCallback</tt> variable to the function. |- | '''4. ''' | Call the <tt>ajaxRequest()</tt> function. Its parameter is the filename of the server-side program or file. (This library supports <tt>GET</tt> requests only, so you don't need to specify the method.) |- | '''5. ''' | Your function specified in <tt>ajaxCallback</tt> will be called when the request completes successfully, and the global variable <tt>ajaxreq</tt> will store the data in its <tt>responseXML</tt> and <tt>responseText</tt> properties. |} The two remaining examples in this hour make use of this library to create AJAX applications. == Creating an AJAX Quiz Using the Library == Now that you have a reusable AJAX library, you can use it to create JavaScript applications that take advantage of remote scripting. This first example displays quiz questions on a page and prompts you for the answers. Rather than including the questions in the script, this example reads the quiz questions and answers from an XML file on the server as a demonstration of AJAX. ; Watch Out!: Unlike most of the scripts in this book, this example requires a web server. It will not work on a local machine due to browsers' security restrictions on remote scripting. === The HTML File === The HTML for this example is straightforward. It defines a simple form with an Answer field and a Submit button, along with some hooks for the script. The HTML for this example is shown in [Listing 17.2]. ; Listing 17.2. The HTML File for the Quiz Example <pre><html> <head><title>Ajax Test</title> <script language="JavaScript" type="text/javascript" src="ajax.js"> </script> </head> <body> <h1>Ajax Quiz Example</h1> <form> <p><b>Question:</b> <span id="question">... </span> </p> <p><b>Answer:</b> <input type="text" name="answer" id="answer"> <input type="button" value="Submit" id="submit"> </p> <input type="button" value="Start the Quiz" id="startq"> </form> <script language="JavaScript" type="text/javascript" src="quiz.js"> </script> </body> </html> </pre> This HTML file includes the following elements: * The <tt><script></tt> tag in the <tt><head></tt> section includes the AJAX library you created in the previous section from the <tt>ajax.js</tt> file. * The <tt><script></tt> tag in the <tt><body></tt> section includes the <tt>quiz.js</tt> file, which will contain the quiz script. * The <tt><span id="question"></tt> tag sets up a place for the question to be inserted by the script. * The text field with the <tt>id</tt> value <tt>answer</tt> is where the user will answer the question. * The button with the <tt>id</tt> value <tt>submit</tt> will submit an answer. * The button with the <tt>id</tt> value <tt>startq</tt> will start the quiz. You can test the HTML document at this time, but the buttons won't work until you add the script. === The XML File === The XML file for the quiz is shown in [Listing 17.3]. I've filled it with a few JavaScript questions, but it could easily be adapted for another purpose. ; Listing 17.3. The XML File Containing the Quiz Questions and Answers <pre><?xml version="1.0" ?> <questions> <q>What DOM object contains URL information for the window?</q> <a>location</a> <q>Which method of the document object finds the object for an element?</q> <a>getElementById</a> <q>If you declare a variable outside a function, is it global or local?</q> <a>global</a> <q>What is the formal standard for the JavaScript language called?</q> <a>ECMAScript</a> </questions> </pre> The <tt><questions></tt> tag encloses the entire file, and each question and answer are enclosed in <tt><q></tt> and <tt><a></tt> tags. Remember, this is XML, not HTMLthese are not standard HTML tags, but tags that were created for this example. Because this file will be used only by your script, it does not need to follow a standard format. To use this file, save it as <tt>questions.xml</tt> in the same folder as the HTML document. It will be loaded by the script you create in the next section. Of course, with a quiz this small, you could have made things easier by storing the questions and answers in a JavaScript array. But imagine a much larger quiz, with thousands of questions, or a server-side program that pulls questions from a database, or even a hundred different files with different quizzes to choose between, and you can see the benefit of using a separate XML file. === The JavaScript File === Because you have a separate library to handle the complexities of making an AJAX request and receiving the response, the script for this example only needs to deal with the action for the quiz itself. [Listing 17.4] shows the JavaScript file for this example. ; Listing 17.4. The JavaScript File for the Quiz Example <pre>// global variable qn is the current question number var qn=0; // load the questions from the XML file function getQuestions() { obj=document.getElementById("question"); obj.firstChild.nodeValue="(please wait)"; ajaxCallback = nextQuestion; ajaxRequest("questions.xml"); } // display the next question function nextQuestion() { questions = ajaxreq.responseXML.getElementsByTagName("q"); obj=document.getElementById("question"); if (qn < questions.length) { q = questions[qn].firstChild.nodeValue; obj.firstChild.nodeValue=q; } else { obj.firstChild.nodeValue="(no more questions)"; } } // check the user's answer function checkAnswer() { answers = ajaxreq.responseXML.getElementsByTagName("a"); a = answers[qn].firstChild.nodeValue; answerfield = document.getElementById("answer"); if (a == answerfield.value) { alert("Correct!"); } else { alert("Incorrect. The correct answer is: " + a); } qn = qn + 1; answerfield.value=""; nextQuestion(); } // Set up the event handlers for the buttons obj=document.getElementById("startq"); obj.onclick=getQuestions; ans=document.getElementById("submit"); ans.onclick=checkAnswer; </pre> This script consists of the following: * The first <tt>var</tt> statement defines a global variable, <tt>qn</tt>, which will keep track of which question is currently displayed. It is initially set to zero for the first question. * The <tt>getQuestions()</tt> function is called when the user clicks the Start Quiz button. This function uses the AJAX library to request the contents of the <tt>questions.xml</tt> file. It sets the <tt>ajaxCallback</tt> variable to the <tt>nextQuestion()</tt> function. * The <tt>nextQuestion()</tt> function is called when the AJAX request is complete. This function uses the <tt>getElementsByTagName()</tt> method on the <tt>responseXML</tt> property to find all of the questions (<tt><q></tt> tags) and store them in the <tt>questions</tt> array. * The <tt>checkAnswer()</tt> function is called when the user submits an answer. It uses <tt>getElementsByTagName()</tt> to store the answers (<tt><a></tt> tags) in the <tt>answers</tt> array, and then compares the answer for the current question with the user's answer and displays an alert indicating whether they were right or wrong. * The script commands after this function set up two event handlers. One attaches the <tt>getQuestions()</tt> function to the Start Quiz button to set up the quiz; the other attaches the <tt>checkAnswer()</tt> function to the Submit button. === Testing the Quiz === To try this example, you'll need all four files in the same folder: <tt>ajax.js</tt> (the AJAX library), <tt>quiz.js</tt> (the quiz functions), <tt>questions.xml</tt> (the questions), and the HTML document. All but the HTML document need to have the correct filenames so they will work correctly. Also remember that because it uses AJAX, this example requires a web server. [Figure 17.1] shows the quiz in action. The second question has just been answered. ; By the Way:This example should work on Internet Explorer 57, Mozilla 1.0 or later, any version of Firefox, or recent versions of Apple Safari. If you have trouble, try the latest Firefox. === Debugging AJAX Applications === Dealing with remote scripting means working with several languages at onceJavaScript, server-side languages such as PHP, XML, and of course HTML. Thus, when you find an error, it can be difficult to track down. Here are some tips for debugging AJAX applications: * Be sure all filenames are correct, and that all files for your application are in the same folder on the server. * If you are using a server-side language, test it without the script: Load it in the browser and make sure it works, and try passing variables to it in the URL and checking the results. * Check the <tt>statusText</tt> property for the results of your requestan <tt>alert</tt> message is helpful here. It is often a clear message such as "File not found" that might explain the problem. * If you're using a third-party AJAX library, check its documentationmany libraries have built-in debugging features you can enable to examine what's going on. ; Did you Know?:[Hour 16], "Debugging JavaScript Applications," includes more information on JavaScript debugging in general and includes descriptions of some useful debugging tools. == Try It Yourself Making a Live Search Form == One of the most impressive demonstrations of AJAX is live search: Whereas a normal search form requires that you click a button and wait for a page to load to see the results, a live search displays results within the page immediately as you type in the search field. As you type letters or press the backspace key, the results are updated instantly to make it easy to find the result you need. Using the AJAX library you created earlier, live search is not too hard to implement. This example will use a PHP program on the server to provide the search results, and can be easily adapted to any search application. ; Watch Out!: Once again, because it uses AJAX, this example requires a web server. You'll also need PHP version 3 or later, which is available on most servers. === The HTML Form === The HTML for this example simply defines a search field and leaves some room for the dynamic results. The HTML document is shown in [Listing 17.5]. ; Listing 17.5. The HTML File for the Live Search Example <pre><html> <head> <title>Live Search Ajax Example</title> <script language="javascript" type="text/javascript" src="ajax.js"> </script> </head> <body> <h1>Live Search: Ajax Example</h1> <form> <p> <b>Search for:</b> <input type="text" size="40" id="searchlive"> </p> <div id="results"> <ul id="list"> <li>Results will display here.</li> </ul> </form> <script language="javascript" type="text/javascript" src="search.js"> </script> </body> </html> </pre> This HTML document includes the following: * The <tt><script></tt> tag in the <tt><head></tt> section includes the AJAX library, <tt>ajax.js</tt>. * The <tt><script></tt> tag in the <tt><body></tt> section includes the <tt>search.js</tt> script, which you'll create next. * The <tt><input></tt> element with the <tt>id</tt> value <tt>searchlive</tt> is where you'll type your search query. * The <tt></tt> element with the <tt>id</tt> value <tt>results</tt> will act as a container for the dynamically fetched results. A bulleted list is created with a <tt><ul></tt> tag; this will be replaced with a list of results when you start typing. === The PHP Back End === Next, you'll need a server-side program to produce the search results. This PHP program includes a list of names stored in an array. It will respond to a JavaScript query with the names that match what the user has typed so far. The names will be returned in XML format. For example, here is the output of the PHP program when searching for "smith": <pre><names> <name>John Smith</name> <name>Jane Smith</name> </names> </pre> Although the list of names is stored within the PHP program here for simplicity, in a real application it would more likely be stored in a databaseand this script could easily be adapted to work with a database containing thousands of names. The PHP program is shown in [Listing 17.6]. ; Listing 17.6. The PHP Code for the Live Search Example <pre><?php header("Content-type: text/xml"); $names = array ( "John Smith", "John Jones", "Jane Smith", "Jane Tillman", "Abraham Lincoln", "Sally Johnson", "Kilgore Trout", "Bob Atkinson","Joe Cool", "Dorothy Barnes", "Elizabeth Carlson", "Frank Dixon", "Gertrude East", "Harvey Frank", "Inigo Montoya", "Jeff Austin", "Lynn Arlington", "Michael Washington", "Nancy West" ); if (!$query) $query=$_GET['query']; echo "<?xml version=\"1.0\" ?>\n"; echo "<names>\n"; while (list($k,$v)=each($names)) { if (stristr($v,$query)) echo "<name>$v</name>\n"; } echo "</names>\n"; ?> </pre> This hour is too small to teach you PHP, but here's a summary of how this program works: * The <tt>header</tt> statement sends a header indicating that the output is in XML format. This is required for <tt>XMLHttpRequest</tt> to correctly use the <tt>responseXML</tt> property. * The <tt>$names</tt> array stores the list of names. You can use a much longer list of names without changing the rest of the code. * The program looks for a <tt>GET</tt> variable called <tt>query</tt> and uses a loop to output all of the names that match the query. * Because PHP can be embedded in an HTML file, the <tt><?php</tt> and <tt>?></tt> tags indicate that the code between them should be interpreted as PHP. ; Did you Know?:The following books are good resources if you want to learn more on PHP quickly: * Sams Teach Yourself PHP in 10 Minutes; ISBN: 0672327627 * Sams Teach Yourself PHP in 24 Hours; ISBN: 0672326191 Save the PHP program as <tt>search.php</tt> in the same folder as the HTML file. You can test it by typing a query such as <tt>search.php?query=John</tt> in the browser's URL field. Use the View Source command to view the XML result. === The JavaScript Front End === Finally, the JavaScript for this example is shown in [Listing 17.7]. ; Listing 17.7. The JavaScript File for the Live Search Example <pre>// global variable to manage the timeout var t; // Start a timeout with each keypress function StartSearch() { if (t) window.clearTimeout(t); t = window.setTimeout("LiveSearch()",200); } // Perform the search function LiveSearch() { // assemble the PHP filename query = document.getElementById("searchlive").value; filename = "search.php?query=" + query; // DisplayResults will handle the Ajax response ajaxCallback = DisplayResults; // Send the Ajax request ajaxRequest(filename); } // Display search results function DisplayResults() { // remove old list ul = document.getElementById("list"); div = document.getElementById("results"); div.removeChild(ul); // make a new list ul = document.createElement("UL"); ul.id="list"; names = ajaxreq.responseXML.getElementsByTagName("name"); for (i = 0; i < names.length; i++) { li = document.createElement("LI"); name = names[i].firstChild.nodeValue; text = document.createTextNode(name); li.appendChild(text); ul.appendChild(li); } if (names.length==0) { li = document.createElement("LI"); li.appendChild(document.createTextNode("No results")); ul.appendChild(li); } // display the new list div.appendChild(ul); } // set up event handler obj=document.getElementById("searchlive"); obj.onkeydown = StartSearch; </pre> This script includes the following components: * A global variable, <tt>t</tt>, is defined. This will store a pointer to the timeout used later in the script. * The <tt>StartSearch()</tt> function is called when the user presses a key. This function uses <tt>setTimeout()</tt> to call the <tt>LiveSearch()</tt> function after a 200-millisecond delay. The delay is necessary so that the key the user types has time to appear in the search field. * The <tt>LiveSearch()</tt> function assembles a filename that combines <tt>search.php</tt> with the query in the search field, and launches an AJAX request using the library's <tt>ajaxRequest()</tt> function. * The <tt>DisplayResults()</tt> function is called when the AJAX request is complete. It deletes the bulleted list from the <tt><div id="results"></tt> section, and then assembles a new list using the W3C DOM and the AJAX results. If there were no results, it displays a "No results" message in the list. * The final lines of the script set the <tt>StartSearch()</tt> function up as an event handler for the <tt>onkeydown</tt> event of the search field. === Making It All Work === To try this example, you'll need three files on a web server: <tt>ajax.js</tt> (the library), <tt>search.js</tt> (the search script), and the HTML file. [Figure 17.2] shows this example in action. == Summary == In this hour, you've learned how AJAX, otherwise known as remote scripting, can let JavaScript communicate with a web server. You created a reusable AJAX library that can be used to create any number of AJAX applications, and you created an example using an XML file. Finally, you created a live search form using AJAX and PHP. You've nearly reached the end of Part IV. In the next hour, you'll learn about Greasemonkey, a Firefox extension that enables you to use JavaScript to enhance sites you visit, even those created by others. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Why would I want to use <tt>POST</tt> instead of <tt>GET</tt> when making a request? |- | align="right" | ''' A1: ''' | Although <tt>GET</tt> is easy to use, it is limited to about 255 characters. If you are using a large amount of data, <tt>POST</tt> is the only way to send it to the server. |- | align="right" | '''Q2:''' | What happens if the server is slow, or never responds to the request? |- | align="right" | ''' A2: ''' | This is another reason you should use AJAX as an optional featurewhether caused by the server or by the user's connection, there will be times when a request is slow to respond or never responds. In this case, the callback function will be called late, or not at all. This can cause trouble with overlapping requests: for example, in the live search example, an erratic server might cause the responses for the first few characters typed to come in a few seconds apart, confusing the user. You can remedy this by checking the <tt>readyState</tt> property to make sure a request is not already in progress before you start another one. |- | align="right" | '''Q3:''' | In the live search example, why is the <tt>onkeydown</tt> event handler necessary? Wouldn't the <tt>onchange</tt> event be easier to use? |- | align="right" | ''' A3: ''' | Although <tt>onchange</tt> tells you when a form field has changed, it is not triggered until the user moves on to a different fieldit doesn't work for "live" search, so you have to watch for key presses instead. The <tt>onkeypress</tt> handler would work, but in some browsers it doesn't detect the Backspace key, and it's nice to have the search update when you backspace to shorten the query. |} === Quiz Questions === Test your knowledge of AJAX by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | Which of the following is the A in AJAX? # Advanced # Asynchronous # Application |- | align="right" | '''2.''' | Which property of an <tt>XMLHttpRequest</tt> object indicates whether the request was successful? # <tt>status</tt> # <tt>readyState</tt> # <tt>success</tt> |- | align="right" | '''3.''' | Which browsers require ActiveX for remote scripting? # Internet Explorer 57 # Firefox 1.01.5 # Internet Explorer 56 |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | b. AJAX stands for Asynchronous JavaScript and XML. |- | align="right" | '''2.''' | a. The <tt>status</tt> property indicates whether the request was successful; <tt>readyState</tt> indicates whether the request is complete, but does not indicate success. |- | align="right" | '''3.''' | c. Internet Explorer 5 and 6 require ActiveX. Internet Explorer 7 supports the <tt>XMLHttpRequest</tt> object natively. |} === Exercises === If you want to gain more experience with AJAX, try the following exercises: * Build your own XML file of questions and answers on your favorite topic and try it with the quiz example. * Use the AJAX library to add an AJAX feature to your site, or create a simple example of your own. i0g25w04nkz6teb40z25lfran0b3kri User:Moncur/09 2 2084 5963 5962 2007-06-20T17:27:02Z Moncur 24 /* Try It Yourself — Adding Link Descriptions to a Web Page */ 5963 wikitext text/x-wiki = 9. Responding to Events = == Understanding Event Handlers == As you learned in [Hour 3], "Getting Started with JavaScript Programming," JavaScript programs don't have to execute in order. You also learned they can detect events and react to them. Events are things that happen to the browser—the user clicking a button, the mouse pointer moving, or a web page or image loading from the server. A wide variety of events enable your scripts to respond to the mouse, the keyboard, and other circumstances. Events are the key method JavaScript uses to make web documents interactive. The script that you use to detect and respond to an event is called an event handler. Event handlers are among the most powerful features of JavaScript. Luckily, they're also among the easiest features to learn and use—often, a useful event handler requires only a single statement. === Objects and Events === As you learned in [Hour 4], "Working with the Document Object Model (DOM)," JavaScript uses a set of objects to store information about the various parts of a web page—buttons, links, images, windows, and so on. An event can often happen in more than one place (for example, the user could click any one of the links on the page), so each event is associated with an object. Each event has a name. For example, the <tt>onMouseOver</tt> event occurs when the mouse pointer moves over an object on the page. When the pointer moves over a particular link, the <tt>onMouseOver</tt> event is sent to that link's event handler, if it has one. ; By the Way: Notice the strange capitalization on the <tt>onMouseOver</tt> keyword. This is the standard notation for event handlers. The <tt>on</tt> is always lowercase, and each word in the event name is capitalized. === Creating an Event Handler === You don't need the <tt><script></tt> tag to define an event handler. Instead, you can add an event handler attribute to an individual HTML tag. For example, here is a link that includes an <tt>onMouseOver</tt> event handler: <pre><a href="http://www.jsworkshop.com/" onMouseOver="window.alert('You moved over the link.');"> Click here</a> </pre> Note that this is all one <tt><a></tt> tag, although it's split into multiple lines. This specifies a statement to be used as the <tt>onMouseOver</tt> event handler for the link. This statement displays an alert message when the mouse moves over the link. ; By the Way: The previous example uses single quotation marks to surround the text. This is necessary in an event handler because double quotation marks are used to surround the event handler itself. (You can also use single quotation marks to surround the event handler and double quotes within the script statements.) You can use JavaScript statements like the previous one in an event handler, but if you need more than one statement, it's a good idea to use a function instead. Just define the function in the header of the document, and then call the function as the event handler like this: <pre><a href="#bottom" onMouseOver="DoIt();">Move the mouse over this link.</a> </pre> This example calls a function called <tt>DoIt()</tt> when the user moves the mouse over the link. Using a function is convenient because you can use longer, more readable JavaScript routines as event handlers. You'll use a longer function to handle events in the "Try It Yourself: Adding Link Descriptions to a Web Page" section of this hour. ; Did you Know?: For simple event handlers, you can use two statements if you separate them with a semicolon. However, in most cases it's easier to use a function to perform the statements. === Defining Event Handlers with JavaScript === Rather than specifying an event handler in an HTML document, you can use JavaScript to assign a function as an event handler. This allows you to set event handlers conditionally, turn them on and off, and change the function that handles an event dynamically. ; Did you Know?: Setting up event handlers this way is also a good practice in general: It allows you to use an external JavaScript file to define the function and set up the event, keeping the JavaScript code completely separate from the HTML file. To define an event handler in this way, you first define a function, and then assign the function as an event handler. Event handlers are stored as properties of the <tt>document</tt> object or another object that can receive an event. For example, these statements define a function called <tt>mousealert()</tt>, and then assign it as the <tt>onMouseDown</tt> event handler for the document: <pre>function mousealert() { alert ("You clicked the mouse!"); } document.onmousedown = mousealert; </pre> You can use this technique to set up an event handler for any HTML element, but an additional step is required: You must first find the object corresponding to the element. To do this, use the <tt>document.getElementById()</tt> function. First, define an element in the HTML document and specify an <tt>id</tt> attribute: <pre><a href="http://www.google.com/" id="link1"> </pre> Next, in the JavaScript code, find the object and apply the event handler: <pre>obj = document.getElementById("link1"); obj.onclick = MyFunction; </pre> You can do this for any object as long as you've defined it with a unique <tt>id</tt> attribute in the HTML file. Using this technique, you can easily assign the same function to handle events for multiple objects without adding clutter to your HTML code. See the "Try It Yourself" section in this hour for an example of this technique. === Supporting Multiple Event Handlers === What if you want more than one thing to happen when you click on an element? For example, suppose you want two functions called <tt>update</tt> and <tt>display</tt> to both execute when a button is clicked. You can't assign two functions to the <tt>onclick</tt> property. One solution is to define a function that calls both functions: <pre>function UpdateDisplay() { update(); display(); } </pre> This isn't always the ideal way to do things. For example, if you're using two third-party scripts and both of them want to add an <tt>onLoad</tt> event to the page, there should be a way to add both. The W3C DOM standard defines a function, <tt>addEventListener</tt>, for this purpose. This function defines a listener for a particular event and object, and you can add as many listener functions as you need. Unfortunately, <tt>addEventListener</tt> is not supported by Internet Explorer (as of versions 6 and 7), so you have to use a different function, <tt>attachEvent</tt>, in that browser. See [Hour 15], "Unobtrusive Scripting," for a function that combines these two for a cross-browser event-adding script. === Using the <tt>event</tt> Object === When an event occurs, you might need to know more about the event—for example, for a keyboard event, you need to know which key was pressed. The DOM includes an <tt>event</tt> object that provides this information. To use the <tt>event</tt> object, you can pass it on to your event handler function. For example, this statement defines an <tt>onKeyPress</tt> event that passes the <tt>event</tt> object to a function: <pre><body onKeyPress="getkey(event);"> </pre> You can then define your function to accept the event as a parameter: <pre>function getkey(e) { ... } </pre> In Mozilla-based browsers (Firefox and Netscape), an <tt>event</tt> object is automatically passed to the event handler function, so this will work even if you use JavaScript rather than HTML to define an event handler. In Internet Explorer, the most recent event is stored in the <tt>window.event</tt> object. The previous HTML example passes this object to the event handler function. If you define the event handler with JavaScript, this is not possible, so you need to use some code to find the correct object: <pre>Function getkey(e) { if (!e) e=window.event; ... } </pre> This checks whether the <tt>e</tt> variable is already defined. If not, it gets the <tt>window.event</tt> object and stores it in <tt>e</tt>. This ensures that you have a valid <tt>event</tt> object in any browser. Unfortunately, while both Internet Explorer and Mozilla-based browsers support <tt>event</tt> objects, they support different properties. One property that is the same in both browsers is <tt>event.type</tt>, the type of event. This is simply the name of the event, such as <tt>mouseover</tt> for an <tt>onMouseOver</tt> event, and <tt>keypress</tt> for an <tt>onKeyPress</tt> event. The following sections list some additional useful properties for each browser. === Internet Explorer <tt>event</tt> Properties === The following are some of the commonly used properties of the <tt>event</tt> object for Internet Explorer 4.0 and later: * <tt>event.button</tt> The mouse button that was pressed. This value is <tt>1</tt> for the left button and usually <tt>2</tt> for the right button. * <tt>event.clientX</tt> The x-coordinate (column, in pixels) where the event occurred. * <tt>event.clientY</tt> The y-coordinate (row, in pixels) where the event occurred. * <tt>event.altkey</tt> A flag that indicates whether the Alt key was pressed during the event. * <tt>event.ctrlkey</tt> Indicates whether the Ctrl key was pressed. * <tt>event.shiftkey</tt> Indicates whether the Shift key was pressed. * <tt>event.keyCode</tt> The key code (in Unicode) for the key that was pressed. * <tt>event.srcElement</tt> The object where the element occurred. ; By the Way: See the Try it Yourself section of this hour for an example that uses the <tt>srcElement</tt> property and Mozilla's <tt>target</tt> property for a cross-browser method of determining the object for an event. === Netscape and Firefox <tt>event</tt> Properties === The following are some of the commonly used properties of the <tt>event</tt> object for Netscape 4.0 and later: * <tt>event.modifiers</tt> Indicates which modifier keys (Shift, Ctrl, Alt, and so on) were held down during the event. This value is an integer that combines binary values representing the different keys. * <tt>event.pageX</tt> The x-coordinate of the event within the web page. * <tt>event.pageY</tt> The y-coordinate of the event within the web page. * <tt>event.which</tt> The keycode for keyboard events (in Unicode), or the button that was pressed for mouse events (It's best to use the cross-browser <tt>button</tt> property instead.) * <tt>event.button</tt> The mouse button that was pressed. This works just like Internet Explorer except that the left button's value is <tt>0</tt> and the right button's value is <tt>2</tt>. * <tt>event.target</tt> The object where the element occurred. ; By the Way: The <tt>event.pageX</tt> and <tt>event.pageY</tt> properties are based on the top-left corner of the element where the event occurred, not always the exact position of the mouse pointer. == Using Mouse Events == The DOM includes a number of event handlers for detecting mouse actions. Your script can detect the movement of the mouse pointer and when a button is clicked, released, or both. === Over and Out === You've already seen the first and most common event handler, <tt>onMouseOver</tt>. This handler is called when the mouse pointer moves over a link or other object. The <tt>onMouseOut</tt> handler is the opposite—it is called when the mouse pointer moves out of the object's border. Unless something strange happens, this always happens sometime after the <tt>onMouseOver</tt> event is called. This handler is particularly useful if your script has made a change when the pointer moved over the object—for example, displaying a message in the status line or changing an image. You can use an <tt>onMouseOut</tt> handler to undo the action when the pointer moves away. You'll use both <tt>onMouseOver</tt> and <tt>onMouseOut</tt> handlers in the "Try it Yourself: Adding Link Descriptions to a Web Page" section at the end of this hour. ; By the Way: One of the most common uses for the <tt>onMouseOver</tt> and <tt>onMouseOut</tt> event handlers is to create rollovers—images that change when the mouse moves over them. You'll learn how to create these in [Hour 19], "Using Graphics and Animation." === Using the <tt>onMouseMove</tt> Event === The <tt>onMouseMove</tt> event occurs any time the mouse pointer moves. As you might imagine, this happens quite often—the event can trigger hundreds of times as the mouse pointer moves across a page. Because of the large number of generated events, browsers don't support the <tt>onMouseMove</tt> event by default. To enable it for a page, you need to use event capturing. This is similar to the dynamic events technique you learned earlier in this hour, but requires an extra step for some older browsers. The basic syntax to support this event, for both browsers, is to set a function as the <tt>onMouseMove</tt> handler for the document or another object. For example, this statement sets the <tt>onMouseMove</tt> handler for the document to a function called <tt>MoveHere</tt>, which must be defined in the same page: <pre>document.onMouseMove=MoveHere; </pre> Additionally, older versions of Netscape require that you specifically enable the event using the <tt>document.captureEvents</tt> method: <pre>document.captureEvents(Event.MOUSEMOVE); </pre> === Ups and Downs (and Clicks) === You can also use events to detect when the mouse button is clicked. The basic event handler for this is <tt>onClick</tt>. This event handler is called when the mouse button is clicked while positioned over the appropriate object. ; By the Way: The object in this case can be a link. It can also be a form element. You'll learn more about forms in [Hour 11], "Getting Data with Forms." For example, you can use the following event handler to display an alert when a link is clicked: <pre><a href="http://www.jsworkshop.com/" onClick="alert('You are about to leave this site.');">Click Here</a> </pre> In this case, the <tt>onClick</tt> event handler runs before the linked page is loaded into the browser. This is useful for making links conditional or displaying a disclaimer before launching the linked page. If your <tt>onClick</tt> event handler returns the <tt>false</tt> value, the link will not be followed. For example, the following is a link that displays a confirmation dialog. If you click Cancel, the link is not followed; if you click OK, the new page is loaded: <pre><a href="http://www.jsworkshop.com/" onClick="return(window.confirm('Are you sure?'));"> Click Here</a> </pre> This example uses the <tt>return</tt> statement to enclose the event handler. This ensures that the <tt>false</tt> value that is returned when the user clicks Cancel is returned from the event handler, which prevents the link from being followed. The <tt>onDblClick</tt> event handler is similar, but is only used if the user double-clicks on an object. Because links usually require only a single click, you could use this to make a link do two different things depending on the number of clicks. (Needless to say, this could be confusing.) You can also detect double-clicks on images and other objects. To give you even more control of what happens when the mouse button is pressed, two more events are included: * <tt>onMouseDown</tt> is used when the user presses the mouse button. * <tt>onMouseUp</tt> is used when the user releases the mouse button. These two events are the two halves of a mouse click. If you want to detect an entire click, use <tt>onClick</tt>. Use <tt>onMouseUp</tt> and <tt>onMouseDown</tt> to detect just one or the other. To detect which mouse button is pressed, you can use the <tt>button</tt> property of the <tt>event</tt> object. This property is assigned the value <tt>0</tt> or <tt>1</tt> for the left button, and <tt>2</tt> for the right button. This property is assigned for <tt>onClick</tt>, <tt>onDblClick</tt>, <tt>onMouseUp</tt>, and <tt>onMouseDown</tt> events. ; Watch Out!: Browsers don't normally detect <tt>onClick</tt> or <tt>onDblClick</tt> events for the right mouse button. If you want to detect the right button, <tt>onMouseDown</tt> is the most reliable way. As an example of these event handlers, you can create a script that displays information about mouse button events and determines which button is pressed. [Listing 9.1] shows the mouse event script. ; Listing 9.1. The JavaScript file for the mouse click example. <pre>function mousestatus(e) { if (!e) e = window.event; btn = e.button; whichone = (btn < 2) ? "Left" : "Right"; message=e.type + " : "+ whichone + "\n"; document.form1.info.value += message; } obj=document.getElementById("testlink"); obj.onmousedown = mousestatus; obj.onmouseup = mousestatus; obj.onclick = mousestatus; obj.ondblclick = mousestatus; </pre> This script includes a function, <tt>mousestatus()</tt>, that detects mouse events. This function uses the <tt>button</tt> property of the <tt>event</tt> object to determine which button was pressed. It also uses the <tt>type</tt> property to display the type of event, since the function will be used to handle multiple event types. After the function, the script finds the object for a link with the <tt>id</tt> attribute <tt>testlink</tt> and assigns its <tt>onmousedown</tt>, <tt>onmouseup</tt>, <tt>onclick</tt>, and <tt>ondblclick</tt> events to the <tt>mousestatus</tt> function. Save this script as <tt>click.js</tt>. Next, you will need an HTML document to work with the script, shown in [Listing 9.2]. ;Listing 9.2. The HTML file for the mouse click example. <pre><html> <head> <title>Mouse click test</title> </head> <body> <h1>Mouse Click Test</h1> <p>Click the mouse on the test link below. A message below will indicate which button was clicked.</p> <h2><a href="#" id="testlink">Test Link</a></h2> <form name="form1"> <textarea rows="10" cols="70" name="info"></textarea> </form> <script language="javascript" type="text/javascript" src="click.js"> </script> </body> </html> </pre> This file defines a test link with the <tt>id</tt> property <tt>testlink</tt>, which is used in the script to assign event handlers. It also defines a form and a textarea used by the script to display the events. To test this document, save it in the same folder as the JavaScript file you created previously and load the HTML document into a browser. The results are shown in [Figure 9.1]. ;By the Way: Notice that a single click of the left mouse button triggers three events: <tt>onMouseDown</tt>, <tt>onMouseUp</tt>, and then <tt>onClick</tt>. == Using Keyboard Events == JavaScript can also detect keyboard actions. The main event handler for this purpose is <tt>onKeyPress</tt>, which occurs when a key is pressed and released, or held down. As with mouse buttons, you can detect the down and up parts of the keypress with the <tt>onKeyDown</tt> and <tt>onKeyUp</tt> event handlers. Of course, you might find it useful to know which key the user pressed. You can find this out with the <tt>event</tt> object, which is sent to your event handler when the event occurs. In Netscape and Firefox, the <tt>event.which</tt> property stores the ASCII character code for the key that was pressed. In Internet Explorer, <tt>event.keyCode</tt> serves the same purpose. ; By the Way: ASCII (American Standard Code for Information Interchange) is the standard numeric code used by most computers to represent characters. It assigns the numbers 0—128 to various characters—for example, the capital letters A through Z are ASCII values 65 to 90. === Displaying Typed Characters === If you'd rather deal with actual characters than key codes, you can use the <tt>fromCharCode</tt> string method to convert them. This method converts a numeric ASCII code to its corresponding string character. For example, the following statement converts the <tt>event.which</tt> property to a character and stores it in the <tt>key</tt> variable: <pre>Key = String.fromCharCode(event.which); </pre> Because different browsers have different ways of returning the key code, displaying keys browser independently is a bit harder. However, you can create a script that displays keys for either browser. The following function will display each key as it is typed: <pre>function DisplayKey(e) { // which key was pressed? if (e.keyCode) keycode=e.keyCode; else keycode=e.which; character=String.fromCharCode(keycode); // find the object for the destination paragraph k = document.getElementById("keys"); // add the character to the paragraph k.innerHTML += character; } </pre> The <tt>DisplayKey()</tt> function receives the <tt>event</tt> object from the event handler and stores it in the variable <tt>e</tt>. It checks whether the <tt>e.keyCode</tt> property exists, and stores it in the <tt>keycode</tt> variable if present. Otherwise, it assumes the browser is Netscape or Firefox and assigns <tt>keycode</tt> to the <tt>e.which</tt> property. The remaining lines of the function convert the key code to a character and add it to the paragraph in the document with the <tt>id</tt> attribute <tt>keys</tt>. [Listing 9.3] shows a complete example using this function. ; By the Way: The final lines in the <tt>DisplayKey()</tt> function use the <tt>getElementById()</tt> function and the <tt>innerHTML</tt> attribute to display the keys you type within a paragraph on the page. This technique is explained in [Hour 13], "Using the W3C DOM." ; Listing 9.3. Displaying Typed Characters <pre><html> <head> <title>Displaying Keypresses</title> <script language="javascript" type="text/javascript"> function DisplayKey(e) { // which key was pressed? if (e.keyCode) keycode=e.keyCode; else keycode=e.which; character=String.fromCharCode(keycode); // find the object for the destination paragraph k = document.getElementById("keys"); // add the character to the paragraph k.innerHTML += character; } </script> </head> <body onKeyPress="DisplayKey(event);"> <h1>Displaying Typed Characters</h1> <p>This document includes a simple script that displays the keys you type in the paragraph below. Type a few keys and try it. </p> <p id="keys"> </p> </body> </html> </pre> When you load this example into either Netscape or Internet Explorer, you can type and see the characters you've typed appear in a paragraph of the document. [Figure 9.2] shows this example in action in Firefox. == Using the <tt>onLoad</tt> and <tt>onUnload</tt> Events == Another event you'll use frequently is <tt>onLoad</tt>. This event occurs when the current page (including all of its images) finishes loading from the server. The <tt>onLoad</tt> event is related to the <tt>window</tt> object, and to define it you use an event handler in the <tt><body></tt> tag. For example, the following is a <tt><body></tt> tag that uses a simple event handler to display an alert when the page finishes loading: <pre><body onLoad="alert('Loading complete.');"> </pre> ; Watch Out!: Because the <tt>onLoad</tt> event occurs after the HTML document has finished loading and displaying, you cannot use the <tt>document.write</tt> or <tt>document.open</tt> statements within an <tt>onLoad</tt> event handler. This would overwrite the current document. In JavaScript 1.1 and later, images can also have an <tt>onLoad</tt> event handler. When you define an <tt>onLoad</tt> event handler for an <tt><img></tt> tag, it is triggered as soon as the specified image has completely loaded. To set an <tt>onLoad</tt> event using JavaScript, you assign a function to the <tt>onload</tt> property of the <tt>window</tt> object: <pre>window.onload = MyFunction; </pre> You can also specify an <tt>onUnload</tt> event for the <tt><body></tt> tag. This event will be triggered whenever the browser unloads the current document—this occurs when another page is loaded or when the browser window is closed. === Try It Yourself — Adding Link Descriptions to a Web Page === One of the most common uses for an event handler is to display descriptions of links when the user moves the mouse over them. For example, moving the mouse over the Order Form link might display a message such as "Order a product or check an order's status". Link descriptions like these are typically displayed with the <tt>onMouseOver</tt> event handler. You will now create a script that displays messages in this manner and clears the message using the <tt>onMouseOut</tt> event handler. You'll use functions to simplify the process. ; By the Way: This example uses the <tt>innerHTML</tt> property to display the descriptions within a heading on the page. See [Hour 13] for a complete description of this property. This will also be an example of defining event handlers entirely with JavaScript. The HTML document, shown in [Listing 9.4], does not include any <tt><script></tt> tags or event handlers—the only thing it requires is some <tt>id</tt> attributes on the objects we will be using in the script. ;Listing 9.4. The HTML Document for the Descriptive Links Example <pre><html> <head> <title>Descriptive Links</title> </head> <body> <h1>Descriptive Links</h1> <p>Move the mouse pointer over one of these links to view a description:</p> <ul> <li><a href="order.html" id="order">Order Form</a> <li><a href="email.html" id="email">Email</a> <li><a href="complain.html" id="complain">Complaint Department</a> </ul> <h2 id="description"></h2> <script language="JavaScript" type="text/javascript" src="linkdesc.js"> </script> </body> </html> </pre> This document defines three links in a bulleted list. Each <tt><a></tt> tag is defined with an <tt>id</tt> attribute for the script to use to attach an event handler. The <tt><nowiki><h2></nowiki></tt> tag with the <tt>id</tt> value <tt>description</tt>, currently blank, will be used to display a description of each link. ; By the Way: Notice that the <tt><script></tt> tag is below the content of the HTML document. It would not work at the top of the document because the objects the script uses are not yet defined. You can also deal with this issue by using an <tt>onLoad</tt> event handler instead of a simple script to set up the event handlers. The script will begin with a function to serve as the <tt>onMouseOver</tt> event handler for the links: <pre>function hover(e) { if (!e) var e = window.event; // which link was the mouse over? whichlink = (e.target) ? e.target.id : e.srcElement.id; // choose the appropriate description if (whichlink=="order") desc = "Order a product"; else if (whichlink=="email") desc = "Send us a message"; else if (whichlink=="complain") desc = "Insult us, our products, or our families"; // display the description in the H2 d = document.getElementById("description"); d.innerHTML = desc; } </pre> The <tt>hover</tt> function uses the <tt>target</tt> or <tt>srcElement</tt> properties to find the target object for the link, and then finds its <tt>id</tt> attribute. Three <tt>if</tt> statements evaluate the <tt>id</tt> and choose an appropriate description. Finally, the script uses the <tt>getElementById()</tt> method to find the <tt><nowiki><h2></nowiki></tt> tag that will display the descriptions, and displays the description using the <tt>innerHTML</tt> property. ; Did you Know?: The conditional statement on the third line of the <tt>hover</tt> function checks whether the <tt>target</tt> property exists, and if not, it uses the <tt>srcElement</tt> property. This is called feature sensing—detecting whether the browser supports a feature—and is explained further in [Hour 15], "Unobtrusive Scripting." One more function will be required. The <tt>cleardesc()</tt> function will serve as the <tt>onMouseOut</tt> event handler and clear the description when the mouse is no longer over one of the links. <pre>function cleardesc() { d = document.getElementById("description"); d.innerHTML = ""; } </pre> Now that the functions are defined, you need to set them as the event handlers for the links. Each link requires the following three lines of code: <pre>orderlink = document.getElementById("order"); orderlink.onmouseover=hover; orderlink.onmouseout=cleardesc; </pre> After using <tt>getElementById()</tt> to find the object with the <tt>id</tt> attribute <tt>"order"</tt>, this sets up the <tt>hover()</tt> and <tt>cleardesc()</tt> functions as its <tt>onMouseOver</tt> and <tt>onMouseOut</tt> event handlers. This will need to be repeated for the other two links. Putting all of this together, the complete JavaScript file for this example is shown in [Listing 9.5]. ; Listing 9.5. The JavaScript File for the Link Descriptions Example <pre>function cleardesc() { d = document.getElementById("description"); d.innerHTML = ""; } function hover(e) { if (!e) var e = window.event; // which link was the mouse over? whichlink = (e.target) ? e.target.id : e.srcElement.id; // choose the appropriate description if (whichlink=="order") desc = "Order a product"; else if (whichlink=="email") desc = "Send us a message"; else if (whichlink=="complain") desc = "Insult us, our products, or our families"; // display the description in the H2 d = document.getElementById("description"); d.innerHTML = desc; } // Set up the event handlers orderlink = document.getElementById("order"); orderlink.onmouseover=hover; orderlink.onmouseout=cleardesc; emaillink = document.getElementById("email"); emaillink.onmouseover=hover; emaillink.onmouseout=cleardesc; complainlink = document.getElementById("complain"); complainlink.onmouseover=hover; complainlink.onmouseout=cleardesc; </pre> To test the script, store it as <tt>linkdesc.js</tt> in the same folder as the HTML document, and load the HTML file into a browser; this script should work on any JavaScript-capable browser. Internet Explorer's display of the example is shown in [Figure 9.3]. ; Did you Know?: As usual, you can download the listings for this hour from this book's website. == Summary == In this hour, you've learned to use events to detect mouse actions, keyboard actions, and other events, such as the loading of the page. You can use event handlers to perform a simple JavaScript statement when an event occurs, or to call a more complicated function. JavaScript includes a variety of other events. Many of these are related to forms, which you'll learn more about in [Hour 11]. Another useful event is <tt>onError</tt>, which you can use to prevent error messages from displaying. This event is described in [Hour 16], "Debugging JavaScript Applications." In the next hour, you'll continue learning about the objects in the DOM. Specifically, [Hour 10], "Using Windows and Frames," looks at the objects associated with windows, frames, and layers, and how they work with JavaScript. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | I noticed that the <tt><img></tt> tag in HTML can't have <tt>onMouseOver</tt> or <tt>onClick</tt> event handlers in some browsers. How can my scripts respond when the mouse moves over an image? |- | align="right" | ''' A1: ''' | The easiest way to do this is to make the image a link by surrounding it with an <tt><a></tt> tag. You can include the <tt>BORDER=0</tt> attribute to prevent the blue link border from being displayed around the image. |- | align="right" | '''Q2:''' | My image rollovers using <tt>onMouseOver</tt> work perfectly in Internet Explorer, but not in Netscape. Why? |- | align="right" | ''' A2: ''' | Re-read the previous answer, and check whether you've used an <tt>onMouseOver</tt> event for an <tt><img></tt> tag. This is supported by Internet Explorer and Netscape 6, but not by earlier versions of Netscape. |- | align="right" | '''Q3:''' | What happens if I define both <tt>onKeyDown</tt> and <tt>onKeyPress</tt> event handlers? Will they both be called when a key is pressed? |- | align="right" | ''' A3: ''' | The <tt>onKeyDown</tt> event handler is called first. If it returns <tt>TRue</tt>, the <tt>onKeyPress</tt> event is called. Otherwise, no keypress event is generated. |- | align="right" | '''Q4:''' | When I use the <tt>onLoad event</tt>, my event handler sometimes executes before the page is done loading, or before some of the graphics. Is there a better way? |- | align="right" | ''' A4: ''' | This is a bug in some older browsers. One solution is to add a slight delay to your script using the <tt>setTimeout</tt> method. You'll learn how to use this method in [Hour 10]. |} === Quiz Questions === Test your knowledge of JavaScript events by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | valign="top" | '''1.''' | Which of the following is the correct event handler to detect a mouse click on a link? # onMouseUp # onLink # onClick |- | valign="top" | '''2.''' | When does the <tt>onLoad</tt> event handler for the <tt><body></tt> tag execute? # When an image is finished loading # When the entire page is finished loading # When the user attempts to load another page |- | valign="top" | '''3.''' | Which of the following <tt>event</tt> object properties indicates which key was pressed for an <tt>onKeyPress</tt> event in Internet Explorer? # event.which # event.keyCode # event.onKeyPress |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | c. The event handler for a mouse click is <tt>onClick</tt> |- | align="right" | '''2.''' | b. The <tt><body></tt> tag's <tt>onLoad</tt> handler executes when the page and all its images are finished loading. |- | align="right" | '''3.''' | b. In Internet Explorer, the <tt>event.keyCode</tt> property stores the character code for each keypress. |} === Exercises === To gain more experience using event handlers in JavaScript, try the following exercises: * Add one or more additional links to the document in [Listing 9.4]. Add event handlers to the script in [Listing 9.5] to display a unique description for each link. * Modify [Listing 9.5] to display a default welcome message whenever a description isn't being displayed. (Hint: You'll need to include a statement to display the welcome message when the page loads. You'll also need to change the <tt>cleardesc</tt> function to restore the welcome message.) cmkph79l0no9x4agvbgt2kyn45fjmb4 User:Moncur/10 2 2085 5974 5973 2007-06-21T01:15:13Z Moncur 24 /* Quiz Answers */ 5974 wikitext text/x-wiki =10. Using Windows and Frames= == Controlling Windows with Objects == In [Hour 4], "Working with the Document Object Model (DOM)," you learned that you can use DOM objects to represent various parts of the browser window and the current HTML document. You also learned that the <tt>history</tt>, <tt>document</tt>, and <tt>location</tt> objects are all children of the <tt>window</tt> object. In this hour, you'll take a closer look at the <tt>window</tt> object itself. As you've probably guessed by now, this means you'll be dealing with browser windows. A variation of the <tt>window</tt> object also enables you to work with frames, as you'll see later in this hour. The <tt>window</tt> object always refers to the current window (the one containing the script). The <tt>self</tt> keyword is also a synonym for the current window. As you'll learn in the next sections, you can have more than one window on the screen at the same time, and can refer to them with different names. === Properties of the <tt>window</tt> Object === Although there is normally a single <tt>window</tt> object, there might be more than one if you are using pop-up windows or frames. As you learned in [Hour 4], the <tt>document</tt>, <tt>history</tt>, and <tt>location</tt> objects are properties (or children) of the <tt>window</tt> object. In addition to these, each <tt>window</tt> object has the following properties: * <tt>window.closed</tt> Indicates whether the window has been closed. This only makes sense when working with multiple windows because the current window contains the script and cannot be closed without ending the script. * <tt>window.defaultstatus</tt> and <tt>window.status</tt> The default message for the status line, and a temporary message to display on the status line. Some recent browsers disable status line changes by default, so you might not be able to use these. * <tt>window.frames[]</tt> An array of objects for frames, if the window contains them. * <tt>window.name</tt> The name specified for a frame, or for a window opened by a script. * <tt>window.opener</tt> In a window opened by a script, this is a reference to the window containing the script that opened it. * <tt>window.parent</tt> For a frame, a reference to the parent window containing the frame. * <tt>window.screen</tt> A child object that stores information about the screen the window is in—its resolution, color depth, and so on. * <tt>window.self</tt> A synonym for the current <tt>window</tt> object. * <tt>window.top</tt> A reference to the top-level window when frames are in use. ; By the Way: The properties of the <tt>window.screen</tt> object include <tt>height</tt>, <tt>width</tt>, <tt>availHeight,</tt> and <tt>availWidth</tt> (the available height and width rather than total), and <tt>colorDepth</tt>, which indicates the color support of the monitor: <tt>8</tt> for 8-bit color, <tt>32</tt> for 32-bit color, and so on. === Creating a New Window === One of the most convenient uses for the <tt>window</tt> object is to create a new window. You can do this to display a document—for example, a pop-up advertisement or the instructions for a game—without clearing the current window. You can also create windows for specific purposes, such as navigation windows. You can create a new browser window with the <tt>window.open()</tt> method. A typical statement to open a new window looks like this: <pre>WinObj=window.open("URL", "WindowName", "Feature List"); </pre> The following are the components of the <tt>window.open()</tt> statement: * The <tt>WinObj</tt> variable is used to store the new <tt>window</tt> object. You can access methods and properties of the new object by using this name. * The first parameter of the <tt>window.open()</tt> method is a URL, which will be loaded into the new window. If it's left blank, no web page will be loaded. In this case, you could use JavaScript to fill the window with content. * The second parameter specifies a window name (here, <tt>WindowName</tt>). This is assigned to the <tt>window</tt> object's <tt>name</tt> property and is used to refer to the window. * The third parameter is a list of optional features, separated by commas. You can customize the new window by choosing whether to include the toolbar, status line, and other features. This enables you to create a variety of "floating" windows, which might look nothing like a typical browser window. The features available in the third parameter of the <tt>window.open()</tt> method include <tt>width</tt> and <tt>height</tt>, to set the size of the window in pixels, and several features that can be set to either <tt>yes</tt> (1) or <tt>no</tt> (0): <tt>toolbar</tt>, <tt>location</tt>, <tt>directories</tt>, <tt>status</tt>, <tt>menubar</tt>, <tt>scrollbars</tt>, and <tt>resizable</tt>. You can list only the features you want to change from the default. This example creates a small window with no toolbar or status line: <pre>SmallWin = window.open("","small","width=100,height=120,toolbar=0,status=0"); </pre> === Opening and Closing Windows === Of course, you can close windows as well. The <tt>window.close()</tt> method closes a window. Browsers don't normally allow you to close the main browser window without the user's permission; this method's main purpose is for closing windows you have created. For example, this statement closes a window called <tt>updatewindow</tt>: <pre>updatewindow.close();</pre> As another example, [Listing 10.1] shows an HTML document that enables you to open a small new window by pressing a button. You can then press another button to close the new window. The third button attempts to close the current window. Depending on your browser and its settings, this might or might not work. If it does close the window, most browsers will ask for confirmation first. ; Listing 10.1. An HTML Document That Uses JavaScript to Enable You to Create and Close Windows <pre><html> <head><title>Create a New Window</title> </head> <body> <h1>Create a New Window</h1> <hr> <p>Use the buttons below to test opening and closing windows in JavaScript.</p> <hr> <form NAME="inform"> <input TYPE="button" VALUE="Open New Window" onClick="NewWin=window.open('','NewWin', 'toolbar=no,status=no,width=200,height=100'); "> <p><input TYPE="button" VALUE="Close New Window" onClick="NewWin.close();" ></p> <p><input TYPE="button" VALUE="Close Main Window" onClick="window.close();"></p> </form> <br><p>Have fun!</p> <hr> </body> </html> </pre> This example uses simple event handlers to do its work, one for each of the buttons. [Figure 10.1] shows Firefox's display of this page, with the small new window on top. == Moving and Resizing Windows == The DOM also enables you to move or resize windows. Although earlier browsers placed some restrictions on this, most modern browsers allow you to move and resize any window freely. You can do this using the following methods for any <tt>window</tt> object: * <tt>window.moveTo()</tt> moves the window to a new position. The parameters specify the x (column) and y (row) position. * <tt>window.moveBy()</tt> moves the window relative to its current position. The x and y parameters can be positive or negative, and are added to the current values to reach the new position. * <tt>window.resizeTo()</tt> resizes the window to the width and height specified as parameters. * <tt>window.resizeBy()</tt> resizes the window relative to its current size. The parameters are used to modify the current width and height. As an example, [Listing 10.2] shows an HTML document with a simple script that enables you to resize or move the main window. ; Listing 10.2. Moving and Resizing the Current Window <pre><html> <head> <title>Moving and resizing windows</title> <script language="javascript" type="text/javascript"> function DoIt() { if (document.form1.w.value && document.form1.h.value) self.resizeTo(document.form1.w.value, document.form1.h.value); if (document.form1.x.value && document.form1.y.value) self.moveTo(document.form1.x.value, document.form1.y.value); } </script> </head> <body> <h1>Moving and Resizing Windows</h1> <form name="form1"> <b>Width:</b> <input type="text" name="w"><br> <b>Height:</b> <input type="text" name="h"><br> <b>X-position:</b> <input type="text" name="x"><br> <b>Y-position:</b> <input type="text" name="y"><br> <input type="button" value="Change Window" onClick="DoIt();"> </form> </body> </html> </pre> In this example, the <tt>DoIt()</tt> function is called as an event handler when you click the Change Window button. This function checks whether you have specified width and height values. If you have, it uses the <tt>self.resizeTo()</tt> method to resize the current window. Similarly, if you have specified x and y values, it uses <tt>self.moveTo()</tt> to move the window. Depending on their settings, some browsers might not allow your script to resize or move the main window. In particular, Firefox can be configured to disallow it. You can enable it by selecting Tools, Options from the menu. Select the Content tab, click the Advanced button next to the Enable JavaScript option, and enable the Move or Resize Existing Windows option. ; Watch Out!: This is one of those JavaScript features you should think twice about before using. These methods are best used for resizing or moving pop-up windows your script has generated—not as a way to force the user to use your preferred window size, which most users will find very annoying. You should also be aware that browser settings may be configured to prevent resizing or moving windows, so make sure your script still works even without resizing. == Using Timeouts == Sometimes the hardest thing to get a script to do is to do nothing at all—for a specific amount of time. Fortunately, JavaScript includes a built-in function to do this. The <tt>window.setTimeout</tt> method enables you to specify a time delay and a command that will execute after the delay passes. ; By the Way: Timeouts don't actually make the browser stop what it's doing. Although the statement you specify in the <tt>setTimeout</tt> method won't be executed until the delay passes, the browser will continue to do other things while it waits (for example, acting on event handlers). You begin a timeout with a call to the <tt>setTimeout()</tt> method, which has two parameters. The first is a JavaScript statement, or group of statements, enclosed in quotes. The second parameter is the time to wait in milliseconds (thousandths of seconds). For example, the following statement displays an alert dialog box after 10 seconds: <pre>ident=window.setTimeout("alert('Time's up!')",10000); </pre> ; Watch Out!: Like event handlers, timeouts use a JavaScript statement within quotation marks. Make sure that you use a single quote (apostrophe) on each side of each string within the statement, as shown in the preceding example. A variable (<tt>ident</tt> in this example) stores an identifier for the timeout. This enables you to set multiple timeouts, each with its own identifier. Before a timeout has elapsed, you can stop it with the <tt>clearTimeout()</tt> method, specifying the identifier of the timeout to stop: <pre>window.clearTimeout(ident); </pre> === Updating a Page with Timeouts === Normally, a timeout only happens once because the statement you specify in the <tt>setTimeout()</tt> method statement is only executed once. But often, you'll want your statement to execute over and over. For example, your script might be updating a clock or a countdown and need to execute once per second. You can make a timeout repeat by issuing the <tt>setTimeout()</tt> method call again in the function called by the timeout. [Listing 10.3] shows an HTML document that demonstrates a repeating timeout. ; Listing 10.3. Using Timeouts to Update a Page Every Two Seconds <pre><html> <head><title>Timeout Example</title> <script language="javascript" type="text/javascript"gt; var counter = 0; // call Update function in 2 seconds after first load ID=window.setTimeout("Update();",2000); function Update() { counter++; document.form1.input1.value="The counter is now at " + counter; // set another timeout for the next count ID=window.setTimeout("Update();",2000); } </script> </head> <body> <h1>Timeout Example</h1> <hr><p> The text value below is being updated every two seconds. Press the RESET button to restart the count, or the STOP button to stop it. </p><hr> <form NAME="form1"> <input TYPE="text" NAME="input1" SIZE="40"><br> <input TYPE="button" VALUE="RESET" onClick="counter = 0;"><br> <input TYPE="button" VALUE="STOP" onClick="window.clearTimeout(ID);"> </form> <hr> </body> </html> </pre> This program displays a message in a text field every two seconds, including a counter that increments each time. You can use the Reset button to start the count over and the Stop button to stop the counting. This script calls the <tt>setTimeout()</tt> method when the page loads, and again at each update. The <tt>Update()</tt> function performs the update, adding one to the counter and setting the next timeout. The Reset button sets the counter to zero, and the Stop button demonstrates the <tt>clearTimeout()</tt> method. [Figure 10.2] shows Internet Explorer's display of the timeout example after the counter has been running for a while. ; By the Way: This example and the next one use buttons, which are a simple example of what you can do with HTML forms and JavaScript. You'll learn much more about forms in [Hour 11], "Getting Data with Forms." == Displaying Dialog Boxes == The <tt>window</tt> object includes three methods that are useful for displaying messages and interacting with the user. You've already used these in some of your scripts. Here's a summary: * <tt>window.alert(message)</tt> displays an alert dialog box, shown in [Figure 10.3]. This dialog box simply gives the user a message. * <tt>window.confirm(message)</tt> displays a confirmation dialog box. This displays a message and includes OK and Cancel buttons. This method returns <tt>true</tt> if OK is pressed and <tt>false</tt> if Cancel is pressed. A confirmation is displayed in [Figure 10.4]. * <tt>window.prompt(message,default)</tt> displays a message and prompts the user for input. It returns the text entered by the user. If the user does not enter anything, the default value is used. To use the <tt>confirm()</tt> and <tt>prompt()</tt> methods, use a variable to receive the user's response. For example, this statement displays a prompt and stores the text the user enters in the <tt>text variable</tt>: <pre>text = window.prompt("Enter some text","Default value"); </pre> ; Did you Know?: You can usually omit the <tt>window</tt> object when referring to these methods because it is the default context of a script (for example, <tt>alert("text")</tt>). === Creating a Script to Display Dialog Boxes === As a further illustration of these types of dialog boxes, [Listing 10.4] shows an HTML document that uses buttons and event handlers to enable you to test dialog boxes. ; Listing 10.4. An HTML Document That Uses JavaScript to Display Alerts, Confirmations, and Prompts <pre><html> <head><title>Alerts, Confirmations, and Prompts</title> </head> <body> <h1>Alerts, Confirmations, and Prompts</h1> <hr> Use the buttons below to test dialogs in JavaScript. <hr> <form NAME="winform"> <p><input TYPE="button" VALUE="Display an Alert" onClick="window.alert('This is a test alert.'); "></p> <p><input TYPE="button" VALUE="Display a Confirmation" onClick="window.confirm('Would you like to confirm?');"></p> <p><input TYPE="button" VALUE="Display a Prompt" onClick="window.prompt('Enter some Text:','This is the default value');"> </p> </form> <br>Have fun! <hr> </body> </html> </pre> This document displays three buttons, and each one uses an event handler to display one of the dialog boxes. [Figure 10.5] shows the script in [Listing 10.4] in action. The prompt dialog box is currently displayed and shows the default value. == Working with Frames == Browsers also support frames, which enable you to divide the browser window into multiple panes. Each frame can contain a separate URL or the output of a script. === Using JavaScript Objects for Frames === When a window contains multiple frames, each frame is represented in JavaScript by a <tt>frame</tt> object. This object is equivalent to a <tt>window</tt> object, but it is used for dealing specifically with that frame. The <tt>frame</tt> object's name is the same as the <tt>NAME</tt> attribute you give it in the <tt><frame></tt> tag. Remember the <tt>window</tt> and <tt>self</tt> keywords, which refer to the current window? When you are using frames, these keywords refer to the current frame instead. Another keyword, <tt>parent</tt>, enables you to refer to the main window. Each frame object in a window is a child of the <tt>parent</tt> window object. Suppose you define a set of frames using the following HTML: <pre><frameset ROWS="*,*" COLS="*,*"> <frame NAME="topleft" SRC="topleft.htm"> <frame NAME="topright" SRC="topright.htm"> <frame NAME="bottomleft" SRC="botleft.htm"> <frame NAME="bottomright" SRC="botright.htm"> </frameset> </pre> This simply divides the window into quarters. If you have a JavaScript program in the <tt>topleft.htm</tt> file, it would refer to the other windows as <tt>parent.topright</tt>, <tt>parent.bottomleft</tt>, and so on. The keywords <tt>window</tt> and <tt>self</tt> would refer to the <tt>topleft</tt> frame. ; By the Way: If you use nested framesets, things are a bit more complicated. <tt>window</tt> still represents the current frame, <tt>parent</tt> represents the frameset containing the current frame, and <tt>top</tt> represents the main frameset that contains all the others. === The <tt>frames</tt> Array === Rather than referring to frames in a document by name, you can use the <tt>frames</tt> array. This array stores information about each of the frames in the document. The frames are indexed starting with zero and beginning with the first <tt><frame></tt> tag in the frameset document. For example, you could refer to the frames defined in the previous example using array references: * <tt>parent.frames[0]</tt> is equivalent to the <tt>topleft</tt> frame. * <tt>parent.frames[1]</tt> is equivalent to the <tt>topright</tt> frame. * <tt>parent.frames[2]</tt> is equivalent to the <tt>bottomleft</tt> frame. * <tt>parent.frames[3]</tt> is equivalent to the <tt>bottomright</tt> frame. You can refer to a frame using either method interchangeably, and depending on your application, you should use the most convenient method. For example, a document with 10 frames would probably be easier to use by number, but a simple two-frame document is easier to use if the frames have meaningful names. == Try it Yourself — Using Frames with JavaScript == As a simple example of addressing frames using JavaScript, you will now create an HTML document that divides the window into four frames, and a document with a script for the top-left corner frame. Buttons in the top-left frame will trigger JavaScript event handlers that display text in the other frames. To begin, you will need a frameset document. [Listing 10.5] shows a simple HTML document to divide the window into four frames. ; Listing 10.5. An HTML Document That Divides the Window into Four Frames <pre><frameset ROWS="*,*" COLS="*,*"> <frame NAME="top_left" SRC="topleft.html"> <frame NAME="top_right" SRC=""> <frame NAME="bottom_left" SRC=""> <frame NAME="bottom_right" SRC=""> </frameset> </pre> The first frame defined here, <tt>top_left</tt>, to will contain an HTML document and a simple script. [Listing 10.6] shows the HTML and JavaScript code for the top-left frame. ; Listing 10.6. The HTML and JavaScript for the Frame Example <pre> <html> <head> <title>Frame Test</title> <script language="javascript" type="text/javascript"> function FillFrame(framename) { // Find the object for the frame theframe=parent[framename]; // Open and clear the frame's document theframe.document.open(); // Create some output theframe.document.write("<h1>JavaScript Output</h1>"); theframe.document.write("<p>This text is in the "); theframe.document.write(framename + " frame.</p>"); } </script> </head> <body> <h1>Frame Test</h1> <form name="form1";> <input type="button" value="Top right" onClick="FillFrame('top_right');"> <input type="button" value="Bottom left" onClick="FillFrame('bottom_left');"> <input type="button" id="js" value="Bottom right" onClick="FillFrame('bottom_right');"> </form> </body> </html> </pre> This document defines three buttons with event handlers that call the <tt>FillFrame()</tt> function with a parameter for the frame name. The function finds the correct child of the <tt>parent</tt> window object for the specified frame, uses <tt>document.open</tt> to create a new document in the frame, and uses <tt>document.write</tt> to display text in the frame. To try this example, save [Listing 10.6] as <tt>topleft.html</tt> in the same folder as the frameset document from [Listing 10.5], and load [Listing 10.5] into a browser. [Figure 10.6] shows the result of this example after all three buttons have been clicked. == Summary == In this hour, you've learned how to use the <tt>window</tt> object to work with browser windows, and used its properties and methods to set timeouts and display dialog boxes. You've also learned how JavaScript can work with framed documents. In the next hour, you'll move on to another unexplored area of the JavaScript object hierarchy—the <tt>form</tt> object. You'll learn how to use forms to create some of the most useful applications of JavaScript. === Q&A === ; Q1:When a script is running in a window created by another script, how can it refer back to the original window? ;A1: JavaScript 1.1 and later include the <tt>window.opener</tt> property, which lets you refer to the window that opened the current window. ; Q2: I've heard about layers, which are similar to frames, but more versatile, and are supported in the latest browsers. Can I use them with JavaScript? ; A2: Yes. You'll learn how to use layers with JavaScript in [Hour 13], "Using the W3C DOM." ; Q3: How can I update two frames at once when the user clicks on a single link? ; A3: You can do this by using an event handler, as in [Listing 10.6], and including two statements to load URLs into different frames. ===Quiz Questions=== Test your knowledge of the DOM's window features by answering the following questions. ''' 1.''' Which of the following methods displays a dialog box with OK and Cancel buttons, and waits for a response? # <tt>window.alert</tt> # <tt>window.confirm</tt> # <tt>window.prompt</tt> '''2.''' What does the <tt>window.setTimeout</tt> method do? # Executes a JavaScript statement after a delay # Locks up the browser for the specified amount of time # Sets the amount of time before the browser exits automatically '''3.''' You're working with a document that contains three frames with the names <tt>first</tt>, <tt>second</tt>, and <tt>third</tt>. If a script in the second frame needs to refer to the first frame, what is the correct syntax? # <tt>window.first</tt> # <tt>parent.first</tt> # <tt>frames.first</tt> ===Quiz Answers=== '''1.''' b. The <tt>window.confirm</tt> method displays a dialog box with OK and Cancel buttons. ''' 2.''' a. The <tt>window.setTimeout</tt> method executes a JavaScript statement after a delay. ''' 3.''' b. The script in the second frame would use <tt>parent.first</tt> to refer to the first frame. === Exercises === If you want to study the <tt>window</tt> object and its properties and methods further, perform these exercises: * Return to the date/time script you created in [Hour 2], "Creating Simple Scripts." This script only displays the date and time once when the page is loaded. Using timeouts, you can modify the script to reload automatically every second or two and display a "live" clock. (Use the <tt>location.reload()</tt> method, described in [Hour 4].) * Modify the examples in Listings 10.5 and 10.6 to use three horizontal frames instead of four frames in a grid. Change the buttons to make it clear which frame they will affect. bih1vukeq8kx41bch15cco2ryahznqn User:Moncur/311 2 2086 5744 5633 2007-06-18T19:51:45Z Moncur 24 #redirect [[User:Moncur/11]] 5744 wikitext text/x-wiki #redirect [[User:Moncur/11]] l4l29vxdms5qru82a5c0e84gpl2i2ht User:Moncur/312 2 2087 5742 5634 2007-06-18T19:50:45Z Moncur 24 Redirecting to [[User:Moncur/12]] 5742 wikitext text/x-wiki #REDIRECT [[User:Moncur/12]] rnl0bbpvn7sl6qlgd03h4o1axl0m1uz User:Moncur/313 2 2088 5740 5443 2007-06-18T19:50:13Z Moncur 24 Redirecting to [[User:Moncur/13]] 5740 wikitext text/x-wiki #REDIRECT [[User:Moncur/13]] 1yaew1v2cx2fuukd8xp48tn1cimkktp User:Moncur/314 2 2089 5737 5638 2007-06-18T19:49:41Z Moncur 24 Redirecting to [[User:Moncur/14]] 5737 wikitext text/x-wiki #REDIRECT [[User:Moncur/14]] jy6x4wccij80exwxvbu2afg23wkwd3n User:Moncur/15 2 2090 6080 6079 2007-06-22T09:39:50Z Foxall 27 /* Q&A */ 6080 wikitext text/x-wiki =15. Unobtrusive Scripting= == Scripting Best Practices == As you start to develop more complex scripts, it's important to know some scripting best practices. These are guidelines for using JavaScript that more experienced programmers have learned the hard way. Here are a few of the benefits of following these best practices: * Your code will be readable and easy to maintain, whether you're turning the page over to someone else or just trying to remember what you did a year ago. * You'll create code that follows standards, and won't be crippled by a new version of a particular browser. * You'll create pages that work even without JavaScript. * It will be easy to adapt code you create for one site to another site or project. * Your users will thank you for creating a site that is easy to use, and easy to fix when things go wrong. Whether you're writing an entire AJAX web application or simply enhancing a page with a three-line script, it's useful to know some of the concepts that are regularly considered by those who write complex scripts for a living. The following sections introduce some of these best practices. === Content, Presentation, and Behavior === When you create a web page, or especially an entire site or application, you're dealing with three key areas: content, presentation, and behavior. * Content consists of the words that a visitor can read on your pages. You create the content as text, and mark it up with HTML to define different classes of contentheadings, paragraphs, links, and so on. * Presentation is the appearance and layout of the words on each pagetext formatting, fonts, colors, and graphics. Although it was common in the early days of the Web to create the presentation using HTML only, you can now use Cascading Style Sheets (CSS) to define the presentation. * Behavior is what happens when you interact with a page&mdash;items that highlight when you move over them, forms you can submit, and so on. This is where JavaScript comes in, along with server-side languages such as PHP. It's a good idea to keep these three areas in mind, especially as you create larger sites. Ideally, you want to keep content, presentation, and behavior separated as much as possible. One good way to do this is to create an external CSS file for the presentation and an external JavaScript file for the behavior, and link them to the HTML document. Keeping things separated like this makes it easier to maintain a large site—if you need to change the color of the headings, for example, you can make a quick edit to the CSS file without having to look through all of the HTML markup to find the right place to edit. It also makes it easy for you to reuse the same CSS and JavaScript on multiple pages of a site. Last, but not least, this will encourage you to use each language where its strengths lie, making your job easier. === Progressive Enhancement === One of the old buzzwords of web design was graceful degradation. The idea was that you could build a site that used all of the bells and whistles of the latest browsers, as long as it would "gracefully degrade" to work on older browsers. This mostly meant testing on a few older browsers and hoping it worked, and there was always the possibility of problems in browsers that didn't support the latest features. Ironically, you might expect browsers that lack the latest features to be older, less popular ones, but some of the biggest problems are with brand-new browsers—those included with mobile phones and other new devices, all of which are primitive compared to the latest browsers running on computers. One new approach to web design that addresses this problem is known as progressive enhancement. The idea is to keep the HTML documents as simple as possible, so they'll definitely work in even the most primitive browsers. After you've tested that and made sure the basic functionality is there, you can add features that make the site easier to use or better looking for those with new browsers. If you add these features unobtrusively, they have little chance of preventing the site from working in its primitive HTML form. Here are some guidelines for progressive enhancement: * Enhance the presentation by adding rules to a separate CSS file. Try to avoid using HTML markup strictly for presentation, such as <tt><nowiki><b></nowiki></tt> for boldface or <tt><nowiki><blockquote></nowiki></tt> for an indented section. * Enhance behavior by adding scripts to an external JavaScript file. * Add events without using inline event handlers, as described in [Hour 9], "Responding to Events," and later in this hour. * Use feature sensing, described later this hour, to ensure that JavaScript code only executes on browsers that support the features it requires. ; By the Way: The term progressive enhancement first appeared in a presentation and article on this topic by Steve Champeon. The original article, along with many more web design articles, is available on his company's website at [http://hesketh.com/ http://hesketh.com/]. === Adding Event Handlers === In [Hour 9], you learned that there is more than one way to set up an event handler. The simplest way is to add them directly to an HTML tag. For example, this <tt><body></tt> tag has an event handler that calls a function called <tt>Startup</tt>. <pre><body onLoad="Startup();"></pre> This method still works, but it does mean putting JavaScript code in the HTML page, which means you haven't fully separated content and behavior. To keep things entirely separate, you can set up the event handler in the JavaScript file instead, using syntax like this: <pre>window.onload=Startup;</pre> Right now, this is usually the best way to set up events: It keeps JavaScript out of the HTML file, and it works in all browsers since Netscape 4 and Internet Explorer 4. However, it does have one problem: You can't attach more than one event to the same element of a page. For example, you can't have two different <tt>onLoad</tt> event handlers that both execute when the page loads. When you're the only one writing scripts, this is no big deal—you can combine the two into one function. But when you're trying to use two or three third-party scripts on a page, and all of them want to add an <tt>onLoad</tt> event handler to the body, you have a problem. === The W3C Event Model === To solve this problem and standardize event handling, the W3C created an event model as part of the DOM level 2 standard. This uses a method, <tt>addEventListener()</tt>, to attach a handler to any event on any element. For example, the following uses the W3C model to set up the same <tt>onLoad</tt> event handler as the previous examples: <pre>window.addEventListener('load', Startup, false);</pre> The first parameter of <tt>addEventListener()</tt> is the event name without the <tt>on</tt> prefix—<tt>load</tt>, <tt>click</tt>, <tt>mouseover</tt>, and so on. The second parameter specifies the function to handle the event, and the third is an advanced flag that indicates how multiple events should be handled. (<tt>false</tt> works for most purposes.) Any number of functions can be attached to an event in this way. Because one event handler doesn't replace another, you use a separate function, <tt>removeEventListener()</tt>, which uses the same parameters: <pre>window.removeEventListener('load', Startup, false);</pre> The problem with the W3C model is that Internet Explorer (as of versions 6 and 7) doesn't support it. Instead, it supports a proprietary method, <tt>attachEvent()</tt>, which does much the same thing. Here's the <tt>Startup</tt> event handler defined Microsoft-style: <pre>window.attachEvent('onload', Startup);</pre> The <tt>attachEvent()</tt> method has two parameters. The first is the event, with the <tt>on</tt> prefix—<tt>onload</tt>, <tt>onclick</tt>, <tt>onmouseover</tt>, and so on. The second is the function that will handle the event. Internet Explorer also supports a <tt>detachEvent()</tt> method with the same parameters for removing an event handler. === Attaching Events the Cross-Browser Way === As you can see, attaching events in this new way is complex and will require different code for different browsers. In most cases, you're better off using the traditional method to attach events, and that method is used in most of this book's examples. However, if you really need to support multiple event handlers, you can use some <tt>if</tt> statements to use either the W3C method or Microsoft's method. For example, the following code adds the <tt>ClickMe()</tt> function as an event for the element with the <tt>id</tt> attribute <tt>btn</tt>: <pre>obj = document.getElementById("btn'); if (obj.addEventListener) { obj.addEventListener('click',ClickMe,false); } else if (obj.attachEvent) { obj.attachEvent('onclick',ClickMe); } else { obj.onclick=ClickMe; } </pre> This checks for the <tt>addEventListener()</tt> method, and uses it if it's found. Otherwise, it checks for the <tt>attachEvent()</tt> method, and uses that. If neither is found, it uses the traditional method to attach the event handler. This technique is called feature sensing and is explained in detail later this hour. Many universal functions are available to compensate for the lack of a consistent way to attach events. If you are using a third-party library, there's a good chance it includes an event function that can simplify this process for you. ; Did you Know?: The Yahoo! UI Library includes an event-handling function that can attach events in any browser, attach the same event handler to many objects at once, and other nice features. See [http://developer.yahoo.net/yui/ http://developer.yahoo.net/yui/] for details, and see [Hour 8], "Using Built-in Functions and Libraries," for information about using third-party libraries. === Web Standards: Avoid Being Browser Specific === The Web was built on standards, such as the HTML standard developed by the W3C. Now there are a lot of standards involved with JavaScriptCSS, the W3C DOM, and the ECMAScript standard that defines JavaScript's syntax. Right now, both Microsoft and the Mozilla Project are improving their browsers' support for web standards, but there are always going to be some browser-specific, nonstandard features, and some parts of the newest standards won't be consistently supported between browsers. Although it's perfectly fine to test your code in multiple browsers and do whatever it takes to get it working, it's a good idea to follow the standards rather than browser-specific techniques when you can. This ensures that your code will work on future browsers that improve their standards support, whereas browser-specific features might disappear in new versions. ; By the Way: One reason to make sure you follow standards is that your pages can be better interpreted by search engines, which often helps your site get search traffic. Separating content, presentation, and behavior is also good for search engines because they can focus on the HTML content of your site without having to skip over JavaScript or CSS. === Documenting Your Code === As you create more complex scripts, don't forget to include comments in your code to document what it does, especially when some of the code seems confusing or is difficult to get working. It's also a good idea to document all of the data structures and variables, and function arguments used in a larger script. Comments are a good way to organize code, and will help you work on the script in the future. If you're doing this for a living, you'll definitely need to use comments so that others can work on your code as easily as you can. === Usability === While you're adding cool features to your site, don't forget about usability—making things as easy, logical, and convenient as possible for users of your site. Although there are many books and websites devoted to usability information, a bit of common sense goes a long way. For example, suppose you use a drop-down list as the only way to navigate between pages of your site. This is a common use for JavaScript, and it works well, but is it usable? Try comparing it to a simple set of links across the top of a page. * The list of links lets you see at a glance what the site contains; the drop-down list requires you to click to see the same list. * Users expect links and can spot them quickly—a drop-down list is more likely to be part of a form than a navigation tool, and thus won't be the first thing they look for when they want to navigate your site. * Navigating with a link takes a single click—navigating with the drop-down list takes at least two clicks. Remember to consider the user's point of view whenever you add JavaScript to a site, and be sure you're making the site easier to use—or at least not harder to use. Also make sure the site is easy to use even without JavaScript. === Design Patterns === If you learn more about usability, you'll undoubtedly see design patterns mentioned. This is a computer science term meaning "an optimal solution to a common problem." In web development, design patterns are ways of designing and implementing part of a site that webmasters run into over and over. For example, if you have a site that displays multiple pages of data, you'll have "Next Page" and "Previous Page" links, and perhaps numeric links for each page. This is a common design pattern—a problem many web designers have had to solve, and one with a generally agreed-upon solution. Other common web design patterns include a login form, a search engine, or a list of navigation links for a site. Of course, you can be completely original and make a search engine, a shopping cart, or a login form that looks nothing like any other, but unless you have a way of making them even easier to use, you're better off following the pattern, and giving your users an experience that matches their expectations. Although you can find some common design patterns just by browsing sites similar to yours and noticing how they solved particular problems, there are also sites that specialize in documenting these patterns, and they're a good place to start if you need ideas on how to make your site work. ; Did you Know?: The Yahoo! Developer Network documents a variety of design patterns used on their network of sites, many of which are implemented using JavaScript: [http://developer.yahoo.net/ypatterns/ http://developer.yahoo.net/ypatterns/]. === Accessibility === One final aspect of usability to consider is accessibility—making your site as accessible as possible for all users, including the disabled. For example, blind users might use a text-reading program to read your site, which will ignore images and most scripts. More than just good manners, accessibility is mandated by law in some countries. The subject of accessibility is complex, but you can get most of the way there by following the philosophy of progressive enhancement: Keep the HTML as simple as possible, keep JavaScript and CSS separate, and make JavaScript an enhancement rather than a requirement for using your site. ===Reading Browser Information=== In [Hour 4], "Working with the Document Object Model (DOM)," you learned about the various objects (such as <tt>window</tt> and <tt>document</tt>) that represent portions of the browser window and the current web document. JavaScript also includes an object called <tt>navigator</tt> that you can use to read information about the user's browser. The <tt>navigator</tt> object isn't part of the DOM, so you can refer to it directly. It includes a number of properties, each of which tells you something about the browser. These include the following: * <tt>navigator.appCodeName</tt> is the browser's internal code name, usually <tt>Mozilla</tt>. * <tt>navigator.appName</tt> is the browser's name, usually <tt>Netscape</tt> or <tt>Microsoft Internet Explorer</tt>. * <tt>navigator.appVersion</tt> is the version of the browser being used—for example, <tt>4.0(Win95;I)</tt>. * <tt>navigator.userAgent</tt> is the user-agent header, a string that the browser sends to the web server when requesting a web page. It includes the entire version information—for example, <tt>Mozilla/4.0(Win95;I)</tt>. * <tt>navigator.language</tt> is the language (such as English or Spanish) of the browser. This is stored as a code, such as "en_US" for U.S. English. This property is supported only by Netscape and Firefox. * <tt>navigator.platform</tt> is the computer platform of the current browser. This is a short string, such as <tt>Win16</tt>, <tt>Win32</tt>, or <tt>MacPPC</tt>. You can use this to enable any platform-specific features—for example, ActiveX components. ; By the Way: As you might have guessed, the <tt>navigator</tt> object is named after Netscape Navigator, the browser that originally supported JavaScript. Fortunately, this object is also supported by Internet Explorer and most other recent browsers. === Displaying Browser Information === As an example of how to read the <tt>navigator</tt> object's properties, [Listing 15.1] shows a script that displays a list of the properties and their values for the current browser. ; Listing 15.1. A Script to Display Information About the Browser: <pre><html> <head> <title>Browser Information</title> </head> <body> <h1>Browser Information</h1> <hr> <p> The <b>navigator</b> object contains the following information about the browser you are using. </p> <ul> <script language="JavaScript" type="text/javascript"> document.write("<li><b>Code Name:</b> " + navigator.appCodeName); document.write("<li><b>App Name:</b> " + navigator.appName); document.write("<li><b>App Version:</b> " + navigator.appVersion); document.write("<li><b>User Agent:</b> " + navigator.userAgent); document.write("<li><b>Language:</b> " + navigator.language); document.write("<li><b>Platform:</b> " + navigator.platform); </script> </ul> <hr> </body> </html> </pre> This script includes a basic HTML document. A script is used within the body of the document to display each of the properties of the <tt>navigator</tt> object using the <tt>document.write()</tt> statement. To try this script, load it into the browser of your choice. If you have more than one browser or browser version handy, try it in each one. Firefox's display of the script is shown in [Figure 15.1]. === Dealing with Dishonest Browsers === If you tried the browser information script in [Listing 15.1] using one of the latest versions of Internet Explorer, you probably got a surprise. [Figure 15.2] shows how Internet Explorer 6.0 displays the script. There are several unexpected things about this display. First of all, the <tt>navigator.language</tt> property is listed as undefined. This isn't much of a surprise because this property isn't yet supported by Internet Explorer. More important, you'll notice that the word <tt>Mozilla</tt> appears in the Code Name and User Agent fields. The full user agent string reads as follows: <pre>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</pre> Believe it or not, Microsoft did have a good reason for this. At the height of the browser wars, about the time Netscape 3.0 and IE 3.0 came out, it was becoming common to see "Netscape only" pages. Some webmasters who used features such as frames and JavaScript set their servers to turn away browsers without <tt>Mozilla</tt> in their user agent string. The problem with this was that most of these features were also supported by Internet Explorer. Microsoft solved this problem in IE 4.0 by making IE's user agent read <tt>Mozilla</tt>, with the word <tt>compatible</tt> in parentheses. This allows IE users to view those pages, but still includes enough details to tell web servers which browser is in use. You've probably already noticed the other problem with Internet Explorer 6.0's user agent string: the portion reading <tt>Mozilla/4.0</tt>. Not only is IE claiming to be Netscape, but it's also masquerading as version 4.0. Why? As it turns out, this was another effort by Microsoft to stay one step ahead of the browser wars, although this one doesn't make quite as much sense. Because poorly written scripts were checking specifically for "Mozilla/4" for dynamic HTML pages, Microsoft was concerned that its 5.0 version would fail to run these pages. Since changing it now would only create more confusion, this tradition continues with IE 6.0. ; By the Way: Microsoft isn't alone in confusing browser IDs. Netscape version 6 displays a user agent string beginning with <tt>Mozilla/5</tt>, and an app version of 5.0. (Netscape 5.0 was Netscape's open-source browser, code named Mozilla, which formed the foundation of Netscape 6 and Firefox.) Although these are two interesting episodes in the annals of the browser wars, what does all this mean to you? Well, you'll need to be careful when your scripts are trying to differentiate between IE and Netscape, and between different versions. You'll need to check for specific combinations instead of merely checking the <tt>navigator.</tt>appVersion value. Fortunately, there's a better way to handle this, as you'll learn in the next section. == Cross-Browser Scripting == If all of those details about detecting different browser versions seem confusing, here's some good news—in most cases, you can write cross-browser scripts without referring to the <tt>navigator</tt> object at all. This is not only easier, it's better, because browser-checking code is often confused by new browser versions, and has to be updated each time a new browser is released. === Feature Sensing === Checking browser versions is sometimes called browser sensing. The better way of dealing with multiple browsers is called feature sensing. In feature sensing, rather than checking for a specific browser, you check for a specific feature. For example, suppose your script needs to use the <tt>document.getElementById()</tt> function. You can begin a script with an <tt>if</tt> statement that checks for the existence of this function: <pre>if (document.getElementById) { // do stuff } </pre> If the <tt>getElementById</tt> function exists, the block of code between the brackets will be executed. Another common way to use feature sensing is at the beginning of a function that will make use of a feature: <pre>function changeText() { if (!document.getElementById) return; // the rest of the function executes if the feature is supported }</pre> If this looks familiar, it's because it's been used in several previous examples in this book. For example, most of the code listings in [Hour 14], "Using Advanced DOM Features," make use of feature sensing to prevent errors in browsers that don't support the W3C DOM. You don't need to check for every feature before you use it—for example, there's not much point in verifying that the <tt>window</tt> object exists in most cases. You can also assume that the existence of one feature means others are supported: If <tt>getElementById()</tt> is supported, chances are the rest of the W3C DOM functions are supported. Feature sensing is a very reliable method of keeping your JavaScript unobtrusive—if a browser supports the feature, it works, and if the browser doesn't, your script stays out of the way. It's also much easier than trying to keep track of hundreds of different browser versions and what they support. ; By the Way: Feature sensing is also handy when working with third-party libraries, as discussed in [Hour 8]. You can check for the existence of an object or a function belonging to the library to verify that the library file has been loaded before your script uses its features. === Dealing with Browser Quirks === So, if feature sensing is better than browser sensing, why do you still need to know about the <tt>navigator</tt> object? There's one situation where it still comes in handy, although if you're lucky you won't find yourself in that situation. As you develop a complex script and test it in multiple browsers, you might run across a situation where your perfectly standard code works as it should in one browser, and fails to work in another. Assuming you've eliminated the possibility of a problem with your script, you've probably run into a browser bug, or a difference in features between browsers at the very least. Here are some tips for this situation: * Double-check for a bug in your own code. See [Hour 16], "Debugging JavaScript Applications," for debugging tips. * Search the Web to see if others have run into the same bug. Often you'll find that someone else has already found a workaround. * Try a different approach to the code, and you might sidestep the bug. * If the problem is that a feature is missing in one browser, use feature sensing to check for that feature. * When all else fails, use the <tt>navigator</tt> object to detect a particular browser and substitute some code that works in that browser. This should be your last resort. ; Did you Know?: Peter-Paul Koch's QuirksMode, [http://www.quirksmode.org/ www.quirksmode.org], is a good place to start when you're looking for specific information about browser bugs. == Supporting Non-JavaScript Browsers == Some visitors to your site will be using browsers that don't support JavaScript at all. These aren't just a few holdouts using ancient browsers—actually, there are more non-JavaScript browsers than you might think: * Both Internet Explorer and Firefox include an option to turn off JavaScript, and some users do so. More often, the browser might have been set up by their ISP or employer with JavaScript turned off by default, usually in a misguided attempt to increase security. * Some corporate firewalls and personal antivirus software block JavaScript. * Some ad-blocking software mistakenly prevents scripts from working even if they aren't related to advertising. * More and more mobile phones are coming with web browsers these days, and most of these support little to no JavaScript. * Some disabled users use special-purpose browsers or text-only browsers that might not support JavaScript. As you can see, it would be foolish to assume that all of your visitors will support JavaScript. Two techniques you can use to make sure these users can still use the site are discussed in the following sections. ; By the Way: Search engines are another "browser" that will visit your site frequently, and they usually don't pay any attention to JavaScript. If you want search engines to fully index your site, it's critical that you avoid making JavaScript a requirement to navigate the site. ===Using the <tt><noscript></tt> Tag=== One way to be friendly to non-JavaScript browsers is to use the <tt><noscript></tt> tag. Supported in most modern browsers, this tag displays a message to non-JavaScript browsers. Browsers that support JavaScript ignore the text between the <tt><noscript></tt> tags, whereas others display it. Here is a simple example: <pre><noscript> This page requires JavaScript. You can either switch to a browser that supports JavaScript, turn your browser's script support on, or switch to the <a href="nojs.html">Non-JavaScript</a> version of this page. </noscript> </pre> Although this works, the trouble is that <tt><noscript></tt> is not consistently supported by all browsers that support JavaScript. An alternative that avoids <tt><noscript></tt> is to send users with JavaScript support to another page. This can be accomplished with a single JavaScript statement: <pre><script language="JavaScript" type="text/javascript"> window.location="JavaScript.html"; </script> </pre> This script redirects the user to a different page. If the browser doesn't support JavaScript, of course, the script won't be executed, and the rest of the page can display a warning message to explain the situation. === Keeping JavaScript Optional === Although you can detect JavaScript browsers and display a message to the rest, the best choice is to simply make your scripts unobtrusive. Use JavaScript to enhance rather than as an essential feature, keep JavaScript in separate files, assign event handlers in the JavaScript file rather than in the HTML, and browsers that don't support JavaScript will simply ignore your script. In those rare cases where you absolutely need JavaScript—for example, an AJAX application or a JavaScript game—you can warn users that JavaScript is required. However, it's a good idea to offer an alternative JavaScript-free way to use your site, especially if it's an e-commerce or business site that your business relies on. Don't turn away customers with lazy programming. One place you should definitely not require JavaScript is in the navigation of your site. Although you can create drop-down menus and other fancy navigation tools using JavaScript, they prevent users' non-JavaScript browsers from viewing all of your site's pages. They also prevent search engines from viewing the entire site, compromising your chances of getting search traffic. ; By the Way: Google's Gmail application ([http://mail.google.com/ mail.google.com]), one of the most well-known uses of AJAX, requires JavaScript for its elegant interface. However, Google offers a Basic HTML View that can be used without JavaScript. This allows them to support older browsers and mobile phones without compromising the user experience for those with modern browsers. === Avoiding Errors === If you've made sure JavaScript is only an enhancement to your site, rather than a requirement, those with browsers that don't support JavaScript for whatever reason will still be able to navigate your site. One last thing to worry about: It's possible for JavaScript to cause an error, or confuse these browsers into displaying your page incorrectly. This is a particular concern with browsers that partially support JavaScript, such as mobile phone browsers. They might interpret a <tt><script></tt> tag and start the script, but might not support the full JavaScript language or DOM. Here are some guidelines for avoiding errors: * Use a separate JavaScript file for all scripts. This is the best way to guarantee that the browser will ignore your script completely if it does not have JavaScript support. * Use feature sensing whenever your script tries to use the newer DOM features, such as <tt>document.getElementById()</tt>. * Test your pages with your browser's JavaScript support turned off. Make sure nothing looks strange, and make sure you can still navigate the site. ; Did you Know?: The developer's toolbars for Firefox and Internet Explorer include a convenient way to turn off JavaScript for testing. See [Hour 16] for details. == Try It Yourself — Creating an Unobtrusive Script == As an example of unobtrusive scripting, you can create a script that adds functionality to a page with JavaScript without compromising its performance in older browsers. In this example, you will create a script that creates graphic check boxes as an alternative to regular check boxes. ; By the Way: Note: See [Hour 11], "Getting Data with Forms," for the basics of working with forms in JavaScript. Let's start with the final result: [Figure 15.3] shows this example as it appears in Firefox. The first check box is an ordinary HTML one, and the second is a graphic check box managed by JavaScript. The graphic check box is just a larger graphic that you can click on to display the checked or unchecked version of the graphic. Although this could just be a simple JavaScript simulation that acts like a check box, it's a bit more sophisticated. Take a look at the HTML for this example in [Listing 15.2]. ; Listing 15.2. The HTML File for the Graphic Check box Example: <pre><html> <head> <title>Graphic Checkboxes</title> </head> <body> <h1>Graphic Checkbox Example</h1> <form name="form1"> <p> <input type = "checkbox" name="check1" id="check1"> An ordinary checkbox. </p><p> <input type = "checkbox" name="check2" id="check2"> A graphic checkbox, created with unobtrusive JavaScript. </p> </form> <script language="JavaScript" type="text/javascript" src="checkbox.js"> </script> </body> </html> </pre> If you look closely at the HTML, you'll see that the two check boxes are defined in exactly the same way with the standard <tt><input></tt> tag. Rather than substitute for a check box, this script actually replaces the regular check box with the graphic version. The script for this example is shown in [Listing 15.3]. ; Listing 15.3. The JavaScript File for the Graphic Check box Example: <pre>function graphicBox(box) { // be unobtrusive if (!document.getElementById) return; // find the object and its parent obj = document.getElementById(box); parentobj = obj.parentNode; // hide the regular checkbox obj.style.visibility = "hidden"; // create the image element and set its onclick event img = document.createElement("IMG"); img.onclick = Toggle; img.src = "unchecked.gif"; // save the checkbox id within the image ID img.id = "img" + box; // display the graphic checkbox parentobj.insertBefore(img,obj); } function Toggle(e) { if (!e) var e=window.event; // find the image ID img = (e.target) ? e.target : e.srcElement; // find the checkbox by removing "img" from the image ID checkid = img.id.substring(3); checkbox = document.getElementById(checkid); // "click" the checkbox checkbox.click(); // display the right image for the clicked or unclicked state if (checkbox.checked) file = "checked.gif"; else file="unchecked.gif"; img.src=file; } //replace the second checkbox with a graphic graphicBox("check2"); </pre> This script has three main components: * The <tt>graphicBox()</tt> function converts a regular check box to a graphic one. It starts by hiding the existing check box by changing its <tt>style.visibility</tt> property, and then creates a new image node containing the <tt>unchecked.gif</tt> graphic and inserts it into the DOM next to the original check box. (These DOM features were described in the previous hour.) It gives the image an <tt>id</tt> attribute containing the text <tt>img</tt> plus the check box's <tt>id</tt> attribute to make it easier to find the check box later. * The <tt>Toggle()</tt> function is specified by <tt>graphicBox()</tt> as the event handler for the new image's <tt>onClick</tt> event. This function removes <tt>img</tt> from the image's <tt>id</tt> attribute to find the <tt>id</tt> of the real check box. It executes the <tt>click()</tt> method on the check box, toggling its value. Finally, it changes the image to <tt>unchecked.gif</tt> or <tt>checked.gif</tt> depending on the state of the real check box. * The last line of the script file runs the <tt>graphicBox()</tt> function to replace the second check box with the <tt>id</tt> attribute <tt>check2</tt>. Using this technique has three important advantages. First, it's an unobtrusive script. The HTML has been kept simple, and browsers that don't support JavaScript will display the ordinary check box. Second, because the real check box is still on the page but hidden, it will work correctly when the form is submitted to a server-side script. Last but not least, you can use it to create any number of graphic check boxes simply by defining regular ones in the HTML file and adding a call to <tt>graphicBox()</tt> to transform each one. ; By the Way: See [Hour 19], "Using Graphics and Animation," for details on the image manipulation features used in this example. To try this example, save the JavaScript file as <tt>checkbox.js</tt>, and be sure the HTML file is in the same folder. You'll also need two graphics the same size, <tt>unchecked.gif</tt> and <tt>checked.gif</tt>, in the same folder. You can download all of the files you need for this example from this book's website. == Summary == In this hour, you've learned many guidelines for creating scripts that work in as many browsers as possible, and learned how to avoid errors and headaches when working with different browsers. Most important, you learned how you can use JavaScript while keeping your pages small, efficient, and valid with web standards. In the next hour, you'll learn about another thing you'll run into frequently when working with more advanced scripts: bugs. [Hour 16] shows you how to avoid common JavaScript errors, and how to use debugging tools and techniques to find and fix errors when they happen. === Q&A === '''Q1:''' Is it possible to create 100% unobtrusive JavaScript that can enhance a page without causing any trouble for anyone? ''' A1: ''' Not quite. For example, the unobtrusive script in the Try It Yourself section of this hour is close—it will work in the latest browsers, and the regular check box will display and work fine in even ancient browsers. However, it can still fail if someone with a modern browser has images turned off: The script will hide the check box because JavaScript is supported, but the image won't be there. This is a rare circumstance, but it's an example of how any feature you add can potentially cause a problem for some small percentage of your users. ''' Q2:''' Can I detect the user's email address using the <tt>navigator</tt> object or another technique? ''' A2: ''' No, there is no reliable way to detect users' email addresses using JavaScript. (If there was, you would get hundreds of advertisements in your mailbox every day from companies that detected your address as you browsed their pages.) You can use a signed script to obtain the user's email address, but this requires the user's permission and only works in some versions of Netscape. '''Q3:''' Are there browsers besides Firefox, Netscape, and Internet Explorer that support JavaScript? ''' A3: ''' Yes. Opera is a multiplatform browser that supports JavaScript and the W3C DOM. Apple's Safari browser for Macintosh also supports JavaScript. It's always best to support all browsers if you can, and to focus on web standards rather than particular browsers. === Quiz Questions === Test your knowledge of unobtrusive scripting by answering the following questions. ''' 1.''' Which of the following is the best place to put JavaScript code? # Right in the HTML document # In a separate JavaScript file # In a CSS file '''2.''' Which of the following is something you can't do with JavaScript? # Send browsers that don't support a feature to a different page # Send users of Internet Explorer to a different page # Send users of non-JavaScript browsers to a different page '''3.''' Which of the following is the best way to define an event handler that works in all modern browsers? # <tt><body onLoad="MyFunction()"></tt> # <tt>window.onload=MyFunction;</tt> # <tt>window.attachEvent('load',MyFunction,false);</tt> === Quiz Answers === ''' 1.''' b. The best place for JavaScript is in a separate JavaScript file. ''' 2.''' c. You can't use JavaScript to send users of non-JavaScript browsers to a different page because the script won't be executed at all. '''3.''' b. The code <tt>window.onload=MyFunction;</tt> defines an event handler in all modern browsers. This is better than using an inline event handler as in (a) because it keeps JavaScript out of the HTML document. Option (c) uses the W3C's standard method, but does not work in Internet Explorer. === Exercises === If you want to gain more experience creating cross-browser scripts, try the following exercises: * Add several check boxes to the HTML document in [Listing 15.2], and add the corresponding function calls to the script in [15.3] to replace all of them with graphic check boxes. * Modify the script in [Listing 15.3] to convert all check boxes with a <tt>class</tt> value of <tt>graphic</tt> into graphic check boxes. You can use <tt>getElementsByTagName()</tt> and then check each item for the right <tt>className</tt> property. 4romqfqzvofo4jkv1i7tpsppa4dz7b0 User:Moncur/16 2 2091 5776 5733 2007-06-18T20:32:13Z Moncur 24 5776 wikitext text/x-wiki <!-- =16. Debugging JavaScript Applications= ==Avoiding Bugs == A bug is an error in a program that prevents it from doing what it should do. If you've tried writing any scripts on your own, you've probably run into one or more bugs. If not, you willno matter how careful you are. Although you'll undoubtedly run into a few bugs if you write a complex script, you can avoid many others by carefully writing and double-checking your script. === Using Good Programming Practices === There's not a single programmer out there whose programs always work the first time, without any bugs. However, good programmers share a few habits that help them avoid some of the more common bugs. Here are a few good habits you can develop to improve your scripts: * Format your scripts neatly and try to keep them readable. Use consistent spacing and variable names that mean something. It's hard to determine what's wrong with a script when you can't even remember what a particular line does. * Similarly, use JavaScript comments liberally to document your script. This will help if you need to work on the script after you've forgotten the details of how it worksor if someone else inherits the job. * End all JavaScript statements with semicolons. Although this is optional, it makes the script more readable. Additionally, it might help the browser to produce meaningful error messages. * Declare all variables with the <tt>var</tt> keyword. This is optional in most cases, but it will help make sure you really mean to create a new variable and will avoid problems with variable scope. * Divide complicated scripts logically into functions. This will make the script easier to read, and it will also make it easy to pinpoint the cause of a problem. * Write a large script in several phases and test the script at each phase before adding more features. This way, you can avoid having several new errors appear at once. === Avoiding Common Mistakes === Along with following good scripting practices, you should also watch for common mistakes in your scripts. Different people make different mistakes in JavaScript programming, but the following sections explore some of the most common ones. === Syntax Errors === A syntax error is an incorrect keyword, operator, punctuation mark, or other item in a script. Most often, it's caused by a typing error. Typical syntax errors include mistyped commands, missing parentheses, and functions with the wrong number of arguments. Syntax errors are usually obviousboth to you when you look at the script and to the browser's JavaScript interpreter when you load the script. These errors usually result in an error message and can easily be corrected. === Assignment and Equality === One of the most common syntax errors made by beginning JavaScript programmers is confusing the assignment operator (<tt>=</tt>) with the equality operator (<tt>==</tt>). This can be a hard error to spot because it might not result in an error message. If you're confused about which operator to use, follow this simple rule: Use <tt>=</tt> to change the value of a variable, and use <tt>==</tt> to compare two values. Here's an example of a statement that confuses the two: <pre>If (a = 5) alert("found a five.");</pre> The statement looks logical enough, but <tt>a = 5</tt> will actually assign the value <tt>5</tt> to the <tt>a</tt> variable rather than compare the two. The browser usually detects this type of error and displays an error message in the JavaScript console, but the opposite type of error (using <tt>==</tt> when you mean <tt>=</tt>) may not be detected. === Local and Global Variables === Another common mistake is confusing local and global variables, such as trying to use the value of a variable that was declared in a function outside the function. If you actually need to do this, you should either use a global variable or return a value from the function. ;By the Way: [Hour 5], "Using Variables, Strings, and Arrays," describes the differences between local and global variables in detail. === Using Objects Correctly === Another common error is to refer to JavaScript objects incorrectly. It's important to use the correct object names and to remember when to explicitly name the parent of an object. For example, you can usually refer to the <tt>window.alert()</tt> method as simply <tt>alert()</tt>. However, there are some cases when you must use <tt>window.alert()</tt>, such as in some event handlers. If you find that <tt>alert()</tt> or another method or property is not recognized by the browser, try specifying the <tt>window</tt> object. Another common mistake is to assume that you can omit the <tt>document</tt> object's name, such as using <tt>write()</tt> instead of <tt>document.write()</tt>. This won't work because most scripts have a <tt>window</tt> object as their scope. === HTML Errors === Last but not least, don't forget that JavaScript isn't the only language that can have errors. It's easy to accidentally create an error in an HTML documentfor example, forgetting to include a closing <tt></table></tt> tag, or even a closing <tt></script></tt> tag. Although writing proper HTML is beyond the scope of this book, you should be aware that sometimes improper HTML can cause errors in your JavaScript. When you experience bugs, be sure to double-check the HTML, especially the objects (such as forms or images) that your script manipulates. Watch Out Your script can also introduce HTML errors if it modifies the DOM, particularly if it uses the <tt>innerHTML</tt> property. Double-check HTML produced by a script to avoid these problems. ==Basic Debugging Tools == If checking your script for common mistakes and obvious problems doesn't fix things, it's time to start debugging. This is the process of finding errors in a program and eliminating them. Some basic tools for debugging scripts are described in the following sections. === Firefox's JavaScript Console === The first thing you should do if your script doesn't work is check for error messages. In Firefox and other Mozilla-based browsers, the messages are not displayed by default, but are logged to the JavaScript console. To access the console, type <tt>javascript:</tt> in the browser's Location field or select Tools, JavaScript Console from the menu. The console displays the last few error messages that have occurred, as shown in [Figure 16.1]. Along with reading the error messages, you can use the console to type a JavaScript command or expression and see its results. This is useful if you need to make sure a line of your script uses the correct syntax. === Displaying Error Messages in Internet Explorer === Microsoft Internet Explorer 4.0 and later do not display JavaScript error messages by default. This can make browsing poorly written pages a more pleasant experience, but it can be frustrating to JavaScript programmers. To enable the display of error messages in Internet Explorer, select Internet Options from the Tools menu. Select the Advanced tab. In the list under Browsing, deselect the Disable Script Debugging option and enable the Display a Notification About Every Script Error option. If you haven't enabled the display of error messages, Internet Explorer still displays an error icon on the status line when an error occurs. You can double-click this icon to display the error message. === Alert Messages === If you're lucky, the error messages in the console will tell you how to fix your script. However, your script might not generate any error messages at allbut still fail to work correctly. In this case, the real debugging process begins. One useful debugging technique is to add temporary statements to your script to let you know what's going on. For example, you can use an <tt>alert</tt> statement to display the value of a variable. After you understand what's happening to the variable, you can figure out what's wrong with the script. ;By the Way: You can also display debugging information in a separate browser window or frame. You can use <tt>document.write</tt> in some cases, but this only works when the document hasn't finished loading yet and thus isn't a reliable debugging tool. === Using Comments === When all else fails, you can use JavaScript comments to eliminate portions of your script until the error goes away. If you do this carefully, you can pinpoint the place where the error occurred. You can use <tt>//</tt> to begin a single-line comment, or <tt>/*</tt> and <tt>*/</tt> around a section of any length. Using comments to temporarily turn off statements in a program or a script is called commenting out and is a common technique among programmers. ;By the Way: JavaScript comments were introduced and described in more detail in [Hour 3], "Getting Started with JavaScript Programming." === Other Debugging Tools === Although you can use alert messages and a little common sense to quickly find a bug in a simple script, larger scripts can be difficult to debug. Here are a few tools you might find useful as you develop and debug larger JavaScript applications: * HTML validators can check your HTML documents to see if they meet the HTML standard. The validation process can also help you find errors in your HTML. The W3C has a validator online at [http://validator.w3.org/ http://validator.w3.org/]. * Mozilla's JavaScript debugger enables you to set breakpoints, display variable values, and perform other debugging tasks. You can download the debugger at [http://www.mozilla.org/projects/venkman/ http://www.mozilla.org/projects/venkman/]. * Microsoft Script Debugger is similar, but works with Internet Explorer. It is available at [http://msdn.microsoft.com/library/en-us/sdbug/Html/sdbug_1.asp http://msdn.microsoft.com/library/en-us/sdbug/Html/sdbug_1.asp]. * Although text and HTML editors are good basic editing tools, they can also help with debugging by displaying line numbers and using color codes to indicate valid commands. ;Did you Know?: [Appendix B], "Tools for JavaScript Developers," includes links to HTML validators, editors, and other debugging tools. ==Creating Error Handlers == In some cases, there may be times when an error message is unavoidable and, in a large JavaScript application, errors are bound to happen. Your scripts can respond to errors in a friendlier way using error handlers. === Using the <tt>onerror</tt> Property === You can set up an error handler by assigning a function to the <tt>onerror</tt> property of the <tt>window</tt> object. When an error occurs in a script in the document, the browser calls the function you specify instead of the normal error dialog. For example, these statements set up a function that displays a simple message when an error occurs: <pre>function errmsg(message,url,line) { alert("There wasn"t an error. Nothing to see here."); return true; } window.onerror=errmsg; </pre> These statements define a function, <tt>errmsg()</tt>, which handles errors by displaying a simple dialog. The last statement assigns the <tt>errmsg()</tt> function to the <tt>window.onerror</tt> property. The <tt>return true;</tt> statement tells the browser that this function has handled the error, and prevents the standard error dialog from being displayed. If you use <tt>return false;</tt> instead, the standard error dialog will be displayed after your function exits. ;By the Way: You can't define an <tt>onError</tt> event handler in HTML. You must define it using the <tt>window.onerror</tt> property as shown here. Displaying Information About the Error When the browser calls your error-handling function, it passes three parameters: the error message, the URL of the document where the error happened, and the line number. The simple error handler in the previous example didn't use these values. You can create a more sophisticated handler that displays the information. ;Did you Know?: As usual, you can download this hour's examples from this book's website. [Listing 16.1] shows a complete example including an enhanced <tt>errmsg()</tt> function. This version displays the error message, URL, and line number in a dialog box. ;Listing 16.1. Handling Errors with a JavaScript Function <pre><html><head> <title>Error handling test</title> <script language="JavaScript" type="text/javascript"> function errmsg(message,url,line) { amsg = "A JavaScript error has occurred. Please let us know about it.\n"; amsg += "Error Message: " + message + "\n"; amsg += "URL: " + url + "\n"; amsg += "Line #: " + line; alert(amsg); return true; } window.onerror=errmsg; </script> </head> <body> <h1> Error handling test</h1> <p>This page includes a JavaScript function to handle errors. Test it by clicking the button below.</p> <form> <input type="button" value="ERROR" onClick="garble"> </form> </body> </html> </pre> This example includes a button with a nonsensical event handler. To test the error handler, click the button to generate an error. [Figure 16.2] shows the example in action in Internet Explorer with the alert message displayed. ;Did you Know?: If you try to use an error handler and still get system error messages, make sure there isn't a syntax error in your error handler itself. === Using <tt>try</tt> and <tt>catch</tt>=== A more modern way of handling errors, supported by the latest browsers, is the <tt>try</tt> and <tt>catch</tt> keywords. To use it, include the <tt>try</tt> keyword, then a block of code (within braces) that might cause an error, then the <tt>catch</tt> keyword, and a block of code to handle the error: <pre>try { DoThis(); } catch(err) { alert(err.description); } </pre> The <tt>TRy</tt> block of code always executes. If it generates an error, the <tt>catch</tt> block is executed. If there is no error, the <tt>catch</tt> block does not execute. The error-handling code is passed an argument (<tt>err</tt> in the example) indicating the type of error. This is an object with properties including <tt>name</tt> (the error name) and <tt>description</tt> (a description of the error). ;Did you Know?: Handling errors with <tt>try</tt> and <tt>catch</tt> is a good way to deal with browser-specific code that might cause errors when run in the wrong browser. See the next hour for an example that uses <tt>TRy</tt> and <tt>catch</tt> to create a cross-browser AJAX function. ==Advanced Debugging Tools == Although it's possible to get a simple script working with an alert message or two, you might find some other tools useful as you build more complex scripts, and especially as you work with scripts that modify the DOM. The following are some useful debugging tools available for Firefox and Internet Explorer. === Web Developer Toolbar (Firefox) === The Web Developer Extension by Chris Pederick is an open-source extension for Firefox and other Mozilla-based browsers. This extension adds a toolbar to the browser with a variety of functions useful to developers. The following features are useful for JavaScript in particular: * Disable, JavaScript Disables JavaScript, useful for making sure pages function on non-JavaScript browsers. * Information, Display ID and Class Details Displays the values of <tt>id</tt> and <tt>class</tt> attributes for all of the elements in a page; useful for attaching event handlers or CSS styles. * Information, View JavaScript Displays all of the scripts that affect the current page, including those in external files. * View Source, View Generated Source Displays the HTML source of the current page. Unlike the browser's regular View Source function, this displays the source after any scripts have acted upon it; useful for debugging scripts that modify the DOM. Along with these functions, the toolbar includes many useful tools for debugging HTML and CSS, working with forms, and validating pages. To install it or for more information, see its official site at [http://chrispederick.com/work/webdeveloper/ http://chrispederick.com/work/webdeveloper/]. === Developer Toolbar (Internet Explorer) === Inspired by the Web Developer Extension for Firefox, Microsoft created a Developer Toolbar for Internet Explorer. Currently in beta, the toolbar works with Internet Explorer 6.0 or later. Here are some of its features useful for JavaScript programmers: * View DOM Allows you to browse the DOM of the current page and view details of elements, similar to Firefox's DOM Inspector. This feature is shown in [Figure 16.3]. * Disable, Script Disables JavaScript, enabling you to test how your site works without it. * View, Class and ID Information Displays <tt>id</tt> and <tt>class</tt> attribute values; useful for attaching event handlers or CSS styles. To download the IE Developer Toolbar, go to [http://www.microsoft.com/downloads/ http://www.microsoft.com/downloads/] and search for "Developer Toolbar." The download is available for free and includes an easy installer. === DOM Inspector (Firefox) === The DOM Inspector is a tool built in to Firefox and other Mozilla-based browsers that enables you to browse the DOM of a web page and view the attributes of elements. You need to specifically select this feature at installation time, so you might need to reinstall Firefox to gain access to this feature. To see if your copy includes the DOM Inspector, open the Tools menu and check for a DOM Inspector menu item. To use this tool, open the page you wish to inspect and then select Tools, DOM Inspector. You can then browse the DOM by clicking the [+] symbols for each section of the hierarchy. Select an item within the DOM tree to view its details in the right section of the window. The DOM Inspector is shown in [Figure 16.4]. === Viewing Generated Source === When your script modifies the DOM, the browser's View Source feature only gives you part of the pictureyou see the source of the page when it was loaded, rather than the source created by your script as it modified the page. To test scripts that modify the DOM, you can view the generated source as modified by the script. In Firefox, this feature is built in: If you select part of a page, right-click, and select View Selection Source, you'll see the generated source. You can also use the Tools menu of the Web Developer Toolbar, discussed previously, to view the generated source. For Internet Explorer, you can use a bookmarkleta short script stored as a browser bookmarkto view the generated source in a window. This bookmarklet is available at Jesse Ruderman's site at [http://www.squarefree.com/bookmarklets/ http://www.squarefree.com/bookmarklets/]. === JavaScript Shell === Sometimes it's helpful to be able to simply type a few JavaScript commands to see what they do, either to narrow down a bug or simply to remember the syntax of a rarely used feature. The JavaScript Shell is a bookmarklet that opens a shell window that lets you type JavaScript commands and shows the results. The shell opens in the context of the current document, so you can use it to explore the DOM of a page or to test scripts you're working on. This feature works only in Firefox, but an online version of the shell without the context feature works in Internet Explorer. The JavaScript Shell is available from [http://www.squarefree.com/bookmarklets/ http://www.squarefree.com/bookmarklets/]. ==Try It Yourself Debugging a Script == You should now have a good understanding of what can go wrong with JavaScript programs and the tools you have available to diagnose these problems. You can now try your hand at debugging a script. [16.2] shows a script I wrote to play the classic "Guess a Number" game. The script picks a number between 1 and 100 and then allows the user 10 guesses. If a guess is incorrect, it provides a hint as to whether the target number is higher or lower. This is a relatively simple script with a twist: It includes at least one bug and doesn't work at all in its present form. ;Listing 16.2. The Number-Guesser Script (Complete with Bugs) <pre>1 <html> 2 <head> 3 <title>Guess a Number</title> 4 <script LANGUAGE="JavaScript" type="text/javascript"> 5 var num = Math.random() * 100 + 1; 6 var tries = 0; 7 function Guess() { 8 var g = document.form1.guess1.value; 9 tries++; 10 status = "Tries: " + tries; 11 if (g < num) 12 document.form1.hint.value = "No, guess higher."; 13 if (g > num) 14 document.form1.hint.value = "No, guess lower."; 15 if (g == num) { 16 window.alert("Correct! You guessed it in " + tries + " [[Image:ccc.gif|14px]] tries."); 17 location.reload(); 18 } 19 if (tries == 10) { 20 window.alert("Sorry, time's up. The number was: " + num); 21 location.reload(); 22 } 23 } 24 </script> 25 </head> 26 <body> 27 <h1>Guess a Number</h1> 28 <hr> 29 <p>I'm thinking of a number between 1 and 100. Try to guess 30 it in less than 10 tries.</p> 31 <form name="form1"> 32 <input type="text" size="25" name="hint" value="Enter your [[Image:ccc.gif|14px]] Guess."> 33 <br> 34 <b>Guess:</b> 35 <input type="text" name="guess1" size="5"> 36 <input type="button" value="Guess" onClick="guess();"> 37 </form> 38 </body> 39 </html> </pre> Here's a summary of how this script should work: * The first line within the <tt><script></tt> section picks a random number and stores it in the <tt>num</tt> variable. * The <tt>Guess()</tt> function is defined in the header of the document. This function is called each time the user enters a guess. * Within the <tt>Guess()</tt> function, several <tt>if</tt> statements test the user's guess. If it is incorrect, a hint is displayed in the text box. If the guess is correct, the script displays an alert message to congratulate the user. === Testing the Script === To test this program, load the HTML document into your browser. It appears to load correctly and does not immediately cause any errors. However, when you enter a guess and press the Guess button, a JavaScript error occurs. According to the JavaScript console, the error message is this: <pre>Line 36: guess is undefined</pre> Internet Explorer's error message refers to the same line number: <pre>Line 36, character 1: Object expected </pre> Fixing the Error As the error message indicates, there must be something wrong with the function call to the <tt>Guess()</tt> function in the event handler on line 36. The line in question looks like this: <pre><input type="button" value="Guess" onClick="guess();"> </pre> Upon further examination, you'll notice that the first two lines of the function are as follows (lines 7 and 8 of [Listing 16.2]): <pre>function Guess() { var guess = document.form1.guess1.value; </pre> Although this might look correct at first glance, there's a problem here: <tt>guess()</tt> is lowercase in the event handler, whereas the function definition uses a capitalized <tt>Guess()</tt>. This is easy to fix. Simply change the function call in the event handler from <tt>guess()</tt> to <tt>Guess()</tt>. The corrected line will look like this: <pre><input type="button" value="Guess" onClick="Guess();"></pre> === Testing Again === Now that you've fixed the error, try the script again. This time it loads without an error, and you can enter a guess without an error. The hints about guessing higher or lower are even displayed correctly. However, to truly test the script, you'll need to play the game all the way through. When you do, you'll discover that there's still another problem in the script: You can't win, no matter how hard you try. After your 10 guesses are up, an alert message informs you that you've lost the game. Coincidentally, this alert message also tells you what's wrong with the script. [Figure 16.5] shows how the browser window looks after a complete game, complete with this dialog box. As you can see from the alert message, it's no wonder you didn't win: The random number the computer picked includes more than 10 decimal places, and you've been guessing integers. You could guess decimal numbers, but you'd need a whole lot more than 10 guesses, and the game would start to lose its simplicity and charm. To fix this problem, look at the statement at the beginning of the script that generates the random number: <pre>var num = Math.random() * 100 + 1;</pre> This uses the <tt>Math.random()</tt> method, which results in a random number between 0 and 1. The number is then multiplied and incremented to result in a number between 1 and 100. This statement does indeed produce a number between 1 and 100, but not an integer. To fix the problem, you can add the <tt>Math.floor()</tt> method to chop off the decimal portion of the number. Here's a corrected statement: <pre>var num = Math.floor(Math.random() * 100) + 1;</pre> To fix the script, make this change and then test it again. If you play a game or two, you'll find that it works just fine. [Listing 16.3] shows the complete, debugged script. ;Listing 16.3. The Complete, Debugged Number-Guesser Script <pre><html> <head> <title>Guess a Number</title> <script LANGUAGE="JavaScript" type="text/javascript"> var num = Math.floor(Math.random() * 100) + 1; var tries = 0; function Guess() { var g = document.form1.guess1.value; tries++; status = "Tries: " + tries; if (g < num) document.form1.hint.value = "No, guess higher."; if (g > num) document.form1.hint.value = "No, guess lower."; if (g == num) { window.alert("Correct! You guessed it in " + tries + " tries."); location.reload(); } if (tries == 10) { window.alert("Sorry, time's up. The number was: " + num); location.reload(); } } </script> </head> <body> <h1>Guess a Number</h1> <hr> <p>I'm thinking of a number between 1 and 100. Try to guess it in less than 10 tries.</p> <form name="form1"> <input type="text" size="25" name="hint" value="Enter your Guess."> <br> <b>Guess:</b> <input type="text" name="guess1" size="5"> <input type="button" value="Guess" onClick="Guess();"> </form> </body> </html> </pre> [Figure 16.6] shows the debugged example in action in Firefox after a successful game. ==Summary == In this hour, you've learned how to debug JavaScript programs. You examined some techniques for producing scripts with a minimum of bugs and learned about some tools that will help you find bugs in scripts. Finally, you tried your hand at debugging a script. In [Hour 17], "AJAX: Remote Scripting," you'll continue your JavaScript education by learning about AJAX, a technique that lets JavaScript work with server-side files and programs without reloading pages. === Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Why are some errors displayed after the script runs for a time, whereas others are displayed when the script loads? |- | align="right" | ''' A1: ''' | The JavaScript interpreter looks at scripts in the body or the heading of the document, such as function definitions, when the page loads. Event handlers aren't checked until the event happens. Additionally, a statement might look fine when the page loads, but will cause an error because of the value of a variable it uses later. |- | align="right" | '''Q2:''' | What is the purpose of the <tt>location.reload</tt> statements in the number-guesser script? |- | align="right" | ''' A2: ''' | This is an easy way to start a new game because reloading the page reinitializes the variables. This results in a new number being picked, and the default "Guess a Number" message is displayed in the hint field. |- | align="right" | ''' Q3:''' | Which browser is best for developing and debugging scripts? |- | align="right" | ''' A3: ''' | You may or may not agree, but I find that Firefox offers the best tools for debugging scripts, such as the JavaScript console and the Web Developer Toolbar. Regardless of your preferred browser, be sure to test your scripts in multiple browsers to find any browser-specific issues they might have. |} === Quiz Questions === Test your knowledge of debugging JavaScript by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | If you mistype a JavaScript keyword, which type of error is the result? # Syntax error # Function error # Pilot error |- | align="right" | '''2.''' | The process of dealing with errors in a script or a program is known as # Error detection # Frustration # Debugging |- | align="right" | '''3.''' | Which of the following is a useful technique when a script is not working but does not generate an error message? # Rewriting from scratch # Removing <tt><script></tt> tags # Adding <tt>alert</tt> statements |} === Quiz Answers=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | a. A syntax error can result from a mistyped JavaScript keyword. |- | align="right" | '''2.''' | c. Debugging is the process of finding and fixing errors in a program. |- | align="right" | '''3.''' | c. You can add <tt>alert</tt> statements to a script to display variables or the current status of the script and aid in debugging. |} === Exercises === If you want to gain more experience debugging scripts, try the following exercises: * Although the number-guesser script in [Listing 16.3] avoids JavaScript errors, it is still vulnerable to user errors. Add a statement to verify that the user's guess is between 1 and 100. If it isn't, display an alert message and make sure that the guess doesn't count toward the total of 10 guesses. * Load [Listing 16.2], the number-guesser script with bugs, into Mozilla's JavaScript Debugger or Microsoft's Script Debugger. Try using the watch and breakpoint features and see whether you find this to be an easier way to diagnose the problem. 27d74uyo78yjxyxsk5z1o0o3b7xuwon User:Moncur/18 2 2092 5778 5729 2007-06-18T20:32:29Z Moncur 24 5778 wikitext text/x-wiki <!-- =18. Greasemonkey: Enhancing the Web with JavaScript= == Introducing Greasemonkey == So far in this book, you've been using JavaScript to work on your own sites. In this hour, you'll take a break from that and learn about a way to use JavaScript on other people's sites. Greasemonkey is an extension for the Firefox browser that enables user scripts. These are scripts that run as soon as you load a page and can make changes to the page's DOM. A user script can be designed to work on all web pages, or only to affect particular sites. Here are some of the things user scripts can do: * Change the appearance of one or more sitescolors, font size, and so on. * Change the behavior of one or more sites with JavaScript. * Fix a bug in a site before the site author does. * Add a feature to your browser, such as text macrossee the Try It Yourself section of this hour for an example. As a simple example, a user script called <tt>Linkify</tt> is provided with Greasemonkey. It affects all pages you visit and turns unlinked URLs into hyperlinks. In other words, the script looks for any string that resembles a URL in the page, and if it finds a URL that is not enclosed in an <tt><a></tt> tag, it modifies the DOM to add a link to the URL. Greasemonkey scripts can range from simple ones such as <tt>Linkify</tt> to complex scripts that add a feature to the browser, rearrange a site to make it more usable, or eliminate annoying features of sites such as pop-up ads. Keep in mind that Greasemonkey doesn't do anything to the websites you visitit strictly affects your personal experience with the sites. In this way, it's similar to other browser customizations, such as personal style sheets and browser font settings. ; By the Way: Greasemonkey was created in 2004 by Aaron Boodman. Its official site is [http://greasemonkey.mozdev.org/ http://greasemonkey.mozdev.org/]. At this writing, the current version of Greasemonkey is 0.6.4. The current developers are Aaron Boodman and Jeremy Dunck. === Installing Greasemonkey in Firefox === Greasemonkey works in Firefox for Windows, Macintosh, and Linux platforms. You can install it by visiting the Greasemonkey site and running the installer. Start at [http://greasemonkey.mozdev.org/ http://greasemonkey.mozdev.org/] and follow these steps: {| border="0" |- | '''1. ''' | Click the Install Greasemonkey link. |- | '''2. ''' | You will probably see a message in a yellow bar at the top of the window warning you about installing software. Click the Edit Options button within the yellow bar. |- | '''3. ''' | In the Allowed Sites dialog, shown in [ch18.html#ch18fig01 Figure 18.1], click the Allow button to allow the current site to install software, and then click Close. |- | '''4. ''' | Click the Install link again, and then click the Install button in the Software Installation dialog that appears. |- | '''5. ''' | Exit and restart Firefox. You should see a small monkey icon in the lower-right hand corner of the browser window if the extension was successfully installed. |} ; By the Way: When you first install Greasemonkey, the extension doesn't do anythingyou'll need to install one or more user scripts, as described in the next section, to make it useful. === Turnabout for Internet Explorer === Greasemonkey was written as a Firefox extension, and does not work on other browsers. Fortunately, there's an alternative for those who prefer Internet Explorer: Turnabout, from Reify, is an open-source add-on for Internet Explorer that supports user scripts. Turnabout is available for free from its official site at [http://www.reifysoft.com/turnabout.php http://www.reifysoft.com/turnabout.php]. Two versions are available: * Turnabout Basic, which only supports the scripts bundled with it * Turnabout Advanced, which supports any user script, similar to Greasemonkey Turnabout supports most of Greasemonkey's features, and user scripts for Greasemonkey often work with Turnabout Advanced without modification. The only potential problem is with differences in JavaScript and in the DOM between Internet Explorer and Firefox. If you follow the same cross-browser coding practices you learned throughout this book, there's a good chance you can make a user script that works on both platforms. === Other Browsers === Although Greasemonkey itself is still relatively new software, user script features have also appeared for other browsers. Along with Turnabout for IE, two other browsers can support user scripts: * Opera, the cross-platform browser from Opera Software ASA, has built-in support for user scripts, and supports Greasemonkey scripts in many cases. See Opera's site for details at [http://www.opera.com/ http://www.opera.com/]. * Creammonkey is a beta add-on for Apple's Safari browser to support user scripts. You can find it at [http://8-p.info/Creammonkey/ http://8-p.info/Creammonkey/]. === User Script Security === Before you get into user scripting, a word of warning: Don't install a script unless you understand what it's doing, or you've obtained it from a trustworthy source. Although the Greasemonkey developers have spent a great deal of time eliminating security holes, it's still possible for a malicious script to cause you troubleat the very least, it could send information about which sites you visit to a third-party website. To minimize security risks, be sure you're running the latest version of Greasemonkey or Turnabout. Only enable scripts you are actively using, and limit scripts you don't trust to specific pages so they don't run on every page you visit. == Working with User Scripts == User scripts are a whole new way of working with JavaScriptrather than uploading them for use on your website, you install them in the browser for your own personal use. The following sections show you how to find useful scripts, and install and manage them. === Finding Scripts === Anyone can write user scripts, and many people have. Greasemonkey sponsors a directory of user scripts at [http://userscripts.org/ http://userscripts.org/]. There you can browse or search for scripts, or submit scripts you've written. The script archive has thousands of scripts available. Along with general-purpose scripts, many of the scripts are designed to add features toor remove annoying features fromparticular sites. === Installing a Script === After you've found a script you wish to install, you can install it from the Web: * In Firefox with Greasemonkey, open the script in the browser and then select Tools, Install This User Script from the menu. * In IE with Turnabout, right-click on a link to the script and select Turnabout, Install Script. You can also install a script from a local file. You'll use this technique to install your own script later this hour. === Managing Scripts === After you've installed one or more scripts with Greasemonkey, you can manage them by selecting Tools, Manage User Scripts from the Firefox menu. The Manage User Scripts dialog is shown in [Figure 18.2]. The user scripts you have available are listed in the left column. Click on a script name to manage it: * Use the Included Pages and Excluded Pages lists to control which pages the script works on. You can specify wildcards, such as <tt>*</tt> for all pages or <tt>*.google.com/*</tt> for all Google pages. * Use the Enabled check box to enable or disable each script. * Click the Uninstall button to remove a script. * Click Edit to open a script in a text editor. When it is saved, it will immediately take effect on pages you load. Turnabout for IE has a similar dialog. To access it, click the Reify button in the Turnabout toolbar and select Options. The dialog is similar to Greasemonkey's dialog, except that each script has a separate check box to enable or disable it. There is also an Install Feature button that prompts you for a new script to install. The Turnabout Options dialog is shown in [Figure 18.3]. === Testing User Scripts === If you have a script enabled, it will be activated as soon as you load a page that matches one of the Included Pages specified for the script. (The script is run after the page is loaded, but before the <tt>onLoad</tt> event.) If you want to make sure Greasemonkey is running, either try one of the scripts available for download, or type in the simple script in the next section. === Activating and Deactivating Greasemonkey or Turnabout === Sometimes you'll want to turn off Greasemonkey altogether, especially if one of the scripts you've installed is causing an error. To do this, right-click on the monkey icon in the lower-right corner of the browser window and select the Enabled option to deselect it. The monkey icon changes to a gray sad-faced monkey, and no user scripts will be run at all. You can re-enable it at any time using the same option. With Turnabout for Internet Explorer, the procedure is similar: Click the Reify button in the Turnabout toolbar, and select the Enable Turnabout option. The icon changes to indicate that Turnabout is disabled. Choose Enable Turnabout again to re-enable it. == Creating Your Own User Scripts == You've already learned most of what you need to know to create user scripts since they're written in JavaScript. In this section, you'll create and test a simple script, and look at some features you'll use when creating more advanced scripts. === Creating a Simple User Script === One of the best uses for Greasemonkey is to solve annoyances with sites you visit. For example, a site might use green text on an orange background. Although you could contact the webmaster and beg for a color change, user scripting lets you deal with the problem quickly yourself. As a simple demonstration of user scripting, you can create a user script that changes the text and background colors of paragraphs in sites you visit. [Listing 18.1] shows this user script. ; Listing 18.1. A Simple User Script to Change Paragraph Colors <pre>// Change the color of each paragraph var zParagraphs = document.getElementsByTagName("p"); for (var i=0; i<zParagraphs.length; i++) { zParagraphs[i].style.backgroundColor="#000000"; zParagraphs[i].style.color="#FFFFFF"; } </pre> This script uses the <tt>getElementsByTagName()</tt> DOM method to find all of the paragraph tags in the current document and store their objects in the <tt>zParagraphs</tt> array. The <tt>for</tt> loop iterates through the array and changes the <tt>style.color</tt> and <tt>style.backgroundColor</tt> properties for each one. === Describing a User Script === Greasemonkey supports metadata at the beginning of your script. These are JavaScript comments that aren't executed by the script, but provide information to Greasemonkey. To use this feature, enclose your comments between <tt>// ==UserScript==</tt> and <tt>// ==/UserScript</tt> comments. The metadata section can contain any of the following directives. All of these are optional, but using them will make your user script easier to install and use. * <tt>@name</tt> A short name for the script, displayed in Greasemonkey's list of scripts after installation. * <tt>@namespace</tt> An optional URL for the script author's site. This is used as a namespace for the script: Two scripts can have the same name as long as the namespace is different. * <tt>@description</tt> A one-line description of the script's purpose. * <tt>@include</tt> The URL of a site on which the script should be used. You can specify any number of URLs, each in its own <tt>@include</tt> line. You can also use the wildcard <tt>*</tt> to run the script on all sites, or a partial URL with a wildcard to run it on a group of sites. * <tt>@exclude</tt> The URL of a site on which the script should not be used. You can specify a wildcard for <tt>@include</tt> and then exclude one or more sites that the script is incompatible with. The <tt>@exclude</tt> directive can also use wildcards. [Listing 18.2] shows the color-changing example with a complete set of metadata comments added at the top. ; Listing 18.2. The Color-Changing Script with Metadata Comments <pre>// ==UserScript== // @name WhiteOnBlack // @namespace http://www.jsworkshop.com/ // @description Display paragraphs in white text on black // @include * // ==/UserScript== // // Change the color of each paragraph var zParagraphs = document.getElementsByTagName("p"); for (var i=0; i<zParagraphs.length; i++) { zParagraphs[i].style.backgroundColor="#000000"; zParagraphs[i].style.color="#FFFFFF"; } </pre> === Testing Your Script === Now that you've added the metadata, installing your script is simple. Follow these steps to install the script in Firefox: {| border="0" |- | '''1. ''' | Save the script file as <tt>colors.user.js</tt>. The filename must end in <tt>.user.js</tt> to be recognized as a Greasemonkey script. |- | '''2. ''' | In Firefox, choose File, Open from the menu. |- | '''3. ''' | Select your script from the Open File dialog. |- | '''4. ''' | After the script is displayed in the browser, select Tools, Install This User Script. |- | '''5. ''' | An alert will display to inform you that the installation was successful. The new user script is now running on all sites. |} If you're using Turnabout under Internet Explorer, click on the Turnabout toolbar and select Options, and then click the Install Feature button. Select the script and click Open to install it. Both Greasemonkey and Turnabout for IE will use the metadata you specified to set the script's included pages, description, and other options when you install it. After you've installed and enabled the script, any page you load will have its paragraphs displayed in white text on a black background. For example, [Figure 18.4] shows the user script's effect on the Date and Time example from [Hour 2], "Creating Simple Scripts." Because the date and time are within <tt><p></tt> tags, they are displayed in white on black. ; By the Way: You probably don't want to make a change this drastic to all sites you visit. Instead, you can use <tt>@include</tt> to make this script affect only one or two sites whose colors you find hard to read. Don't forget that you can also change the colors in the script to your own preference. === Greasemonkey API Functions === You can use all of the DOM methods covered in this book to work with pages in user scripts, along with JavaScript's built-in functions. In addition to these, Greasemonkey defines an API (Application Programmer's Interface) with a few functions that can be used exclusively in user scripts: * <tt>GM_log(message, level)</tt> Inserts a message into the JavaScript console. The <tt>level</tt> parameter indicates the severity of the message: 0 for information, 1 for a warning, and 2 for an error. * <tt>GM_setValue(variable, value)</tt> Sets a variable stored by Greasemonkey. These variables are stored on the local machine. They are specific to the script that set them, and can be used in the future by the same script. (These are similar to cookies, but are not sent to a server.) * <tt>GM_getValue(variable)</tt> Retrieves a value previously set with <tt>GM_setValue</tt>. * <tt>GM_registerMenuCommand(command, function)</tt> Adds a command to the browser menu. These commands appear under Tools, User Script Commands. The <tt>command</tt> parameter is the name listed in the menu, and <tt>function</tt> is a function in your script that the menu selection will activate. * <tt>GM_xmlhttpRequest(details)</tt> Requests a file from a remote server, similar to the AJAX features described in [Hour 17], "AJAX: Remote Scripting." The <tt>details</tt> parameter is an object that can contain a number of properties to control the request. See the Greasemonkey documentation for all of the properties you can specify. Turnabout for Internet Explorer also supports all of these API functions, so aside from the usual browser differences, scripts that use these functions should work in both browsers. Because Internet Explorer does not have a JavaScript console, Turnabout includes its own console, available from the menu, where log messages are displayed. === Creating a Site-Specific Script === You might want to use a user script to fix a problem or add a feature to a specific site. In addition to using <tt>@include</tt> to specify the site's URL, you'll need to know something about the site's DOM. You can use the DOM Inspector in Firefox (or the similar feature in Internet Explorer's developer toolbar) to browse the DOM for the site and find the objects you want to work with. Depending on how they are marked up, you can access them through the DOM: * If an element has an <tt>id</tt> attribute, you can simply use <tt>document.getElementById()</tt> in your script to find its object. * If a nearby element has an <tt>id</tt> defined, you can use DOM methods to find itfor example, if the parent element has an <tt>id</tt>, you can use a method such as <tt>firstChild()</tt> to find the object you need. * If all else fails, you can use <tt>document.getElementsByTagName()</tt> to find all objects of a certain typefor example, all paragraphs. If you need to refer to a specific one, you can use a loop and check each one for a certain attribute. ; By the Way: See [Hour 16], "Debugging JavaScript Applications," for information about Firefox's DOM Inspector and IE's developer toolbar. See [Hours 13], "Using the W3C DOM" and [14], "Using Advanced DOM Features," for information about DOM methods. As an example, [Listing 18.3] shows a simple user script you could use as a site-specific script to automatically fill out certain fields in forms. ; Listing 18.3. A User Script to Fill Out Form Fields Automatically <pre>// ==UserScript== // @name AutoForm // @namespace http://www.jsworkshop.com/ // @description Fills in forms automatically // @include * // ==/UserScript== // this function fills out form fields // var zTextFields = document.getElementsByTagName("input"); for (var i=0; i<zTextFields.length; i++) { thefield=zTextFields[i].name; if (!thefield) thefield=zTextFields[i].id; // Set up your auto-fill values here if (thefield == "yourname") zTextFields[i].value="Your Name Here"; if (thefield == "phone") zTextFields[i].value="(xxx) xxx-xxxx"; alert("field:" + thefield + " value: " + zTextFields[i].value); } </pre> This script uses <tt>getElementsByTagName()</tt> to find all of the <tt><input></tt> elements in a document, including text fields. It uses a <tt>for</tt> loop to examine each one. If it finds a field with the <tt>name</tt> or <tt>id</tt> value <tt>"yourname"</tt> or <tt>"phone"</tt>, it inserts the appropriate value. To test this script, save it as <tt>autoform.user.js</tt> and install the user script as described earlier in this hour. To test it, load [Listing 11.1] from [Hour 11], "Getting Data with Forms," into the browserit happens to have both of the field names the script looks for. The <tt>yourname</tt> and <tt>phone</tt> fields will be automatically filled out, as shown in [Figure 18.5]. To make it easy to test, [Listing 18.3] doesn't include specific sites in the <tt>@include</tt> line. To make a true site-specific script, you would need to find out the field names for a particular site, add <tt>if</tt> statements to the script to fill them out, and use <tt>@include</tt> to make sure the script only runs on the site. === Debugging User Scripts === Debugging a user script is much like debugging a regular JavaScript programerrors are displayed in the JavaScript Console in Firefox or in an error message in Internet Explorer. Here are a few debugging tips: * As with regular scripts, you can also use the <tt>alert()</tt> method to display information about what's going on in your script. * The browser may display a line number with an error message, but when you're working with user scripts, these line numbers are meaninglessthey refer neither to lines in your user script nor to the page you're currently viewing. * Use the <tt>GM_log()</tt> method described earlier in this hour to log information about your script, such as the contents of variables, to the JavaScript console. * If you're trying to write a cross-browser user script, watch for methods that are browser specific. See [Hour 15], "Unobtrusive Scripting," for information about cross-browser issues. * Watch for conflicts with any existing scripts on the page. * If you're using multiple user scripts, be sure they don't conflict. Use unique variable and function names in your scripts. Most of the issues with user scripts are the same as for regular JavaScript. See [Hour 16] for information on debugging tools, techniques, and common mistakes. == Try It Yourself Creating a User Script == Now that you've learned the basics of Greasemonkey, you can try a more complexand more usefulexample of a user script. If you spend much time on the Web, you'll find yourself needing to fill out web forms often, and you probably type certain thingssuch as your name or URLinto forms over and over. The user script you create here will let you define macros for use in any text area. When you type a macro keyword (a period followed by a code) and then type another character, the macro keyword will be instantly replaced by the text you've defined. For example, you can define a macro so that every time you type <tt>.cu</tt>, it will expand into the text <tt>"See you later."</tt>. ; Watch Out!: This script has been tested on Greasemonkey 0.6.4 for Firefox and Turnabout Advanced 0.31 b3 for Internet Explorer. Because browsers and extensions are always changing, it might stop working at some pointsee this book's website for the latest updates. [18.4] shows the text area macro user script. ; Listing 18.4. The Text Area Macro User Script <pre>// ==UserScript== // @name TextMacro // @namespace http://www.jsworkshop.com/ // @description expands macros in text areas as you type // @include * // ==/UserScript== // this function handles the macro replacements function textmacro(e) { // define your macros here zmacros = [ [".mm", "Michael Moncur"], [".js", "JavaScript"], [".cu", "See you later."] ]; if (!e) var e = window.event; // which textarea are we in? thisarea= (e.target) ? e.target : e.srcElement; // replace text for (i=0; i<zmacros.length; i++) { vv = thisarea.value; vv = vv.replace(zmacros[i][0],zmacros[i][1]); thisarea.value=vv; } } // install the event handlers var zTextAreas = document.getElementsByTagName("textarea"); for (var i=0; i<zTextAreas.length; i++) { if (zTextAreas[i].addEventListener) zTextAreas[i].addEventListener("keydown",textmacro,0); else if (zTextAreas[i].attachEvent) zTextAreas[i].attachEvent("onkeydown",textmacro); } </pre> === How It Works === This user script begins with the usual comment metadata. The <tt>@include</tt> command specifies a wildcard, <tt>*</tt>, so the script will work on all sites. The actual work is done in the <tt>textmacro()</tt> function. This function begins by defining the macros that will be available: <pre> zmacros = [ [".mm", "Michael Moncur"], [".js", "JavaScript"], [".cu", "See you later."] ]; </pre> This example defines three macros using a two-dimensional array. To make the script useful to you, define your own. You can have any number of macrosjust add a comma after the last macro line and add your items before the closing bracket. Next, the function uses the <tt>target</tt> property to find the text area in which you're currently typing. Next, it uses a <tt>for</tt> loop to do a search and replace within the text area's <tt>value</tt> property for each of your macros. The section of code after the <tt>textmacro()</tt> function sets up an event handler for each text area. First, it uses <tt>getElementsByTagName()</tt> to find all of the text areas, and then it uses a <tt>for</tt> loop to add an <tt>onkeydown</tt> event handler to each one. ; By the Way: To avoid conflicts with existing event handlers within web pages, this example uses the <tt>addEventListener()</tt> method to add the event handler. This method defines an event handler without overwriting existing events. In Internet Explorer, it uses the similar <tt>attachEvent()</tt> method. See [Hour 15] for more information. === Using This Script === To use this script, first make sure you've installed and enabled Greasemonkey as described earlier this hour. Save the script as <tt>textmacro.user.js</tt>. You can then install the user script. After the script is installed, try loading any page with a text area. You should be able to type a macro, such as <tt>.mm</tt> or <tt>.js</tt>, followed by another character such as a space, within the text area and see it instantly expand into the correct text. ;Did you Know?: This script runs on all sites by default. If you only want the macros to work on certain sites, you can change the <tt>@include</tt> directive to specify them. If the script causes trouble on some sites, you can exclude them with <tt>@exclude</tt>. == Summary == In this hour, you've learned how to use Greasemonkeyand its counterpart for Internet Explorer, Turnaboutto enable user scripting in your browser. You've learned how user scripts work and how to install and manage them. Finally, you created two examples of functioning user scripts. Congratulations! You've reached the end of Part IV of this book, and you're well on your way to becoming a JavaScript expert. In Part V, you'll look at multimedia applications of JavaScriptgraphics, animation, sound, and working with plug-ins. [ch19.html#ch19 Hour 19], "Using Graphics and Animation," starts by helping you move beyond scripts that work with text. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Is there any way to prevent users from using Greasemonkey while viewing my site? |- | align="right" | ''' A1: ''' | Because Greasemonkey only affects the user who installed it, it's usually harmless to allow it. If you still want to prevent its use, this is difficult but not impossible, and varies with different versions of Greasemonkey. Search the Web to find current solutions. |- | align="right" | ''' Q2:''' | What if I want to do something more sophisticated, such as modifying Firefox's menu? |- | align="right" | ''' A2: ''' | This capability does not exist in Greasemonkey, but Firefox extensions are also written in JavaScript. In fact, you can compile a user script into a Firefox extension and then add more advanced features. See [http://www.letitblog.com/greasemonkey-compiler/ http://www.letitblog.com/greasemonkey-compiler/] for details. |- | align="right" | '''Q3:''' | What happens when a new version of Firefox or Internet Explorer is released? |- | align="right" | ''' A3: ''' | Although I have faith in the Greasemonkey developers, there's no guarantee that this extension will work in future browser versions. If you're concerned about this, you might want to write your own Firefox extension instead. |- | align="right" | '''Q4:''' | Are there limits to how much I can modify a page using Greasemonkey? |- | align="right" | ''' A4: ''' | Noin fact, you can yank the entire content of the page's DOM out and replace it with HTML of your choosing using the <tt>innerHTML</tt> property. You'd have to do quite a bit of work to make something as useful as the original page, of course. |} === Quiz Questions=== Test your knowledge of Greasemonkey and user scripts by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | Which of the following offers user scripting for Microsoft Internet Explorer? # Greasemonkey # Microsoft Live Scripting Toolbar # Turnabout |- | align="right" | '''2.''' | Which of the following is not a valid Greasemonkey API function? # <tt>GM_log()</tt> # <tt>GM_alert()</tt> # <tt>GM_setValue()</tt> |- | align="right" | ''' 3.''' | Which is the correct <tt>@include</tt> directive to run a script on both [http://www.google.com/ www.google.com] and [http://google.com/ google.com]? # <tt>@include *.google.com</tt> # <tt>@include www.google.com.*</tt> # <tt>@include google.com</tt> |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | c. Turnabout is a user script add-on for Internet Explorer. |- | align="right" | '''2.''' | b. There is no <tt>GM_alert()</tt> method, although the standard <tt>alert()</tt> method will work in a user script. |- | align="right" | '''3.''' | a. Using <tt>@include *.google.com</tt> will run the script on any page on any site within the google.com domain. |} === Exercises === If you want to gain more experience with user scripts, try the following exercises: * Modify the color-changing user script in [Listing 18.2] to use different colors, and add another style attributefor example, use <tt>style.fontSize</tt> to change the font size. * The color-changing example works on paragraphs, but text often appears in other places, such as bullet lists. Modify [Listing 18.2] to make the changes to <tt><li></tt> tags as well as paragraphs. * Currently, the macro example in the Try It Yourself section only works on text inputs that use <tt><textarea></tt> tags. Modify the script in [Listing 18.3] to work on <tt><input></tt> tags also. (You'll need to add a second call to <tt>getElementsByTagName()</tt> and a loop to add the event handlers.) ldvozi320iyvfccd9f5t9pw3unov4i7 User:Moncur/19 2 2093 5779 5727 2007-06-18T20:32:37Z Moncur 24 5779 wikitext text/x-wiki <!-- =19. Using Graphics and Animation= == Using Dynamic Images == Long before the W3C DOM allowed JavaScript to change any part of a web page, a feature called dynamic images enabled you to swap one image for another with JavaScript. This technique is still supported by current browsers, and is still the most convenient (and compatible) way to work with images in JavaScript. === Working with <tt>image</tt> Objects === You can change images dynamically by using the <tt>image</tt> object associated with each one. The traditional way to do this is with the <tt>document.images</tt> array. This array contains an item for each of the images defined on the page. In the object hierarchy, each <tt>image</tt> object is a child of the <tt>document</tt> object. With the W3C DOM, you can also assign an <tt>id</tt> attribute to an image within the <tt><img></tt> tag, and then use <tt>document.getElementById</tt> to find the object for that image. Each <tt>image</tt> object has the following properties: * <tt>complete</tt> is a flag that tells you whether the image has been completely loaded. This is a Boolean value (true or false). * <tt>height</tt> and <tt>width</tt> reflect the corresponding image attributes. This is for information only; you can't change an image's size dynamically. * <tt>hspace</tt> and <tt>vspace</tt> represent the corresponding image attributes, which define the image's placement on the page. Again, this is a read-only attribute. * <tt>name</tt> is the image's name. You can define this with the <tt>NAME</tt> attribute in the image definition. * <tt>src</tt> is the image's source, or URL. You can change this value to change images dynamically. For most purposes, the <tt>src</tt> attribute is the only one you'll use. The <tt>image</tt> object has no methods. It does have three event handlers you can use: * The <tt>onLoad</tt> event occurs when the image finishes loading. (Because the <tt>onLoad</tt> event for the entire document is triggered when all images have finished loading, it's usually a better choice.) * The <tt>onAbort</tt> event occurs if the user aborts the page before the image is loaded. * The <tt>onError</tt> event occurs if the image file is not found or corrupt. ; By the Way: Although changing image sources works fine, you can also use the W3C DOM to completely remove or replace <tt>image</tt> objects, or insert new ones, just like any other object. === Preloading Images === You can also create an independent <tt>image</tt> object. This enables you to specify an image that will be loaded and placed in the cache, but will not be displayed on the page. This might sound useless, but it's a great way to work with modem-speed connections. After you've preloaded an image, you can replace any of the images on the page with that image—and because it's already cached, the change happens instantly. Even on a fast connection, this avoids flickering and makes animation smoother. You can cache an image by creating a new <tt>image</tt> object, using the <tt>new</tt> keyword. Here's an example: <pre>Image2 = new Image(); Image2.src = "arrow1.gif";</pre> ; By the Way: You learned about the <tt>new</tt> keyword and its other uses for object-oriented programming in [Hour 6], "Using Functions and Objects." == Creating Rollovers == One of the classic uses of JavaScript is to create rolloversimages that change when you move the mouse over them. They are typically used to create navigation links that give the user a bit of guidance by highlighting the one the mouse is over. In this section, you'll learn how to use JavaScript's dynamic images to create rolloversand then you'll learn why you shouldn't do this most of the time, and how to create rollovers with no scripting at all. === JavaScript Rollovers === First, let's take a quick look at how to create rollovers using JavaScript. To do this, you start with regular and highlighted versions of each rollover image. [Figure 19.1] shows two examples of navigation buttons in both states. As you might guess, all this requires in JavaScript is to combine an <tt>onMouseOver</tt> event handler with a dynamic image. Adding <tt>onMouseOut</tt> allows your script to restore the original image when the mouse moves away. [Listing 19.1] shows a simple way to do this with inline event handlers. ; Listing 19.1. Using Basic JavaScript Rollovers <pre><html> <head> <title>Rollovers - JavaScript</title> </head> <body> <h1>JavaScript Rollovers</h1> <a href="home.html" onmouseover="document.images[0].src='home2.gif';" onmouseout="document.images[0].src='home1.gif';"> <image border="0" src="home1.gif"> </a> <br> <a href="archives.html" onmouseover="document.images[1].src='archives2.gif';" onmouseout="document.images[1].src='archives1.gif';"> <image border="0" src="archives1.gif"> </a> </body> </html></pre> This is just a basic bit of inline JavaScript, so you can test it by simply loading the HTML file into a browser. The results are shown in [Figure 19.2]. In the figure, the mouse cursor is over the Archives button. === CSS Rollovers Without JavaScript === Although JavaScript rollovers work fine in today's browsers, the technique was developed in the days before CSS, and there is now a better way to accomplish the same thing. Using the <tt>:hover</tt> directive in CSS, you can create text links that change color when the mouse hovers over them. [Listing 19.2] shows a simple example of CSS rollovers. ; Listing 19.2. JavaScript-Free Rollovers with CSS <pre><html> <head> <title>Rollovers - CSS</title> <style> # home,#archives { font-size: 30px; text-decoration: none; } # home:hover, #archives:hover { background-color: #AAAAAA; } </style> </head> <body> <h1>JavaScript-Free Rollovers</h1> <a id="home" href="home.html"><b>Home</b></a> <br> <a id="archives" href="archives.html"><b>Archives</b></a> </body> </html></pre> To try this example, simply load the HTML document into a browser. When you move the mouse over the links, their background color changes from white to gray. This example is shown in [Figure 19.3]. This isn't as fancy as the JavaScript rollovers, but it has some advantagesfirst of all, it doesn't require JavaScript. Second, the links are actual textthis means they'll work even in text-based browsers, primitive mobile phone browsers, and voice-reading browsers for the blind, although the rollover effects won't work in these situations. Third, the page loads faster, and you can add more links without creating graphics. === Graphic CSS Rollovers === Suppose you're really attached to the nifty graphic look of the first rollover example. Before you do something like that, take a look at [Listing 19.3]. This listing uses CSS to implement graphic rollovers, which look and work exactly like [Figure 19.2], with no JavaScript. ; Listing 19.3. Graphic Rollovers with CSS <pre><html> <head> <title>Rollovers - CSS</title> <style> # home { display: block; height: 60px; width: 126px; background-image: url("home1.gif"); } # home:hover { background-image: url("home2.gif"); } # archives { display: block; height: 60px; width: 168px; background-image: url("archives1.gif"); } # archives:hover { background-image: url("archives2.gif"); } # home b, #archives b { display: none; } </style> </head> <body> <h1>JavaScript-Free Rollovers</h1> <a id="home" href="home.html"><b>Home</b></a> <br> <a id="archives" href="archives.html"><b>Archives</b></a> </body> </html></pre> Here's a summary of how the CSS works: * The <tt>#home</tt> and <tt>#archives</tt> rules, which match the <tt>id</tt> attribute of the two links, set their <tt>display</tt> attribute to <tt>block</tt> and the <tt>width</tt> and <tt>height</tt> attributes to allow the links to be as large as their corresponding graphics. They then use the <tt>background-image</tt> property to display the unhighlighted graphics (<tt>home1.gif</tt> and <tt>archives1.gif</tt>). * The <tt>#home:hover</tt> and <tt>#archives:hover</tt> rules change the background images to the highlighted versions (<tt>home2.gif</tt> and <tt>archives2.gif</tt>). * The <tt>#home b</tt> and <tt>#archives b</tt> rule hides the text of the links within the <tt><nowiki><b></nowiki></tt> tags. This prevents the text from appearing on top of the graphics. Notice that the HTML portion of this example is identical to the previous example, and it will work exactly the same on text-based browsers and browsers with JavaScript turned off. Users with modern browsers will see the graphic versions of the links instead. This gives you the look of graphic rollovers without JavaScript, and without compromising accessibility. ; By the Way: Another reason to use this type of rollover: Because the links are still in the HTML as text, search engines see them as ordinary links, and can do a better job of indexing your site. See [Hour 15], "Unobtrusive Scripting," for more information on accessibility and search engine optimization. == A Simple JavaScript Slideshow == Suppose you wanted to create a simple picture slideshow using JavaScript: The page displays the first picture, and when you click on it the next picture replaces it. You can continue to click and view all of the pictures in the slideshow. The obvious way to do this is to change the <tt>.src</tt> attribute of an <tt>image</tt> object, and that will work finebut here you'll take a look at a different approach that uses the W3C DOM to make a more flexible slideshow. === The HTML File === First, you'll need an HTML document that defines the page and where the images will appear. Before you start on the scripting, take a look at the HTML file in [Listing 19.4]. ; Listing 19.4. The HTML File for the Slideshow <pre><html> <head> <title>Image Slideshow Test</title> <script language="javascript" type="text/javascript" src="slideshow.js"> </script> </head> <body> <h1>Image Slideshow Test</h1> <img class="slide" src="pic1.jpg" width="400" height="300"> <img class="slide" src="pic2.jpg" width="400" height="300"> <img class="slide" src="pic3.jpg" width="400" height="300"> <img class="slide" src="pic4.jpg" width="400" height="300"> <img class="slide" src="pic5.jpg" width="400" height="300"> <p>Click the image to view the next slide.</p> </body> </html></pre> |} You might notice something peculiar about this document: All five of the images are included with <tt><img></tt> tags. If you load the document into a browser before you add the JavaScript file, you'll see all five images on the page at once. The <tt>slideshow.js</tt> script is included with the <tt><script></tt> tag in the header. This script will hide all but the first image, and allow the images to be shown one at a time. This is an example of unobtrusive scriptingusers without JavaScript can see the images just fine, although they'll have to scroll the page, and they'll miss the nifty slideshow feature. Because the markup of this example uses ordinary <tt><img></tt> tags, we've used a special <tt>class="slide"</tt> attribute on the slide images. The script will check for this class to determine which images belong to the slideshow because there's a good chance you'll have other images on the page. This is a flexible way to create a slideshowyou can change the order of the slides simply by rearranging the HTML, and you can add more slides just by adding more images with the right <tt>class</tt> value. ; By the Way: See [Hour 15] for more information about keeping JavaScript unobtrusive and optional. === The JavaScript File === The script that brings the slideshow to life is shown in [Listing 19.5]. The script consists of two basic functions: <tt>MakeSlideShow()</tt>, which rearranges the images into a slideshow, and <tt>NextSlide()</tt>, which responds to a click and advances to the next image. ; Listing 19.5. The JavaScript File for the Slideshow <pre>var numslides=0,currentslide=0; var slides = new Array(); function MakeSlideShow() { // find all images with the class "slide" imgs=document.getElementsByTagName("img"); for (i=0; i<imgs.length; i++) { if (imgs[i].className != "slide") continue; slides[numslides]=imgs[i]; // hide all but first image if (numslides==0) { imgs[i].style.display="block"; } else { imgs[i].style.display="none"; } imgs[i].onclick=NextSlide; numslides++; } // end for loop } // end MakeSlideShow() function NextSlide() { slides[currentslide].style.display="none"; currentslide++; if (currentslide >= numslides) currentslide = 0; slides[currentslide].style.display="block"; } // create the slideshow when the page loads window.onload=MakeSlideShow;</pre> Let's take a look at how this script works: * The first lines define three global variables: <tt>numslides</tt> to store the current number of slides, <tt>currentslide</tt> to keep track of the current slide, and the <tt>slides</tt> array to store the <tt>image</tt> objects for each slide. * The <tt>MakeSlides()</tt> function starts by using <tt>getElementsByTagName()</tt> to find all of the images on the page, and iterates through the array with a <tt>for</tt> loop. The first <tt>if</tt> statement in the loop checks the <tt>className</tt> attribute of the image, and if it does not belong to the <tt>slide</tt> class, the loop is continued without any action. * The next statements store the image in the <tt>slides</tt> array, and then check <tt>numslides</tt> for a value of zero, meaning the first image in the array. For the first image, the <tt>display</tt> attribute is set to <tt>block</tt>; for all others, <tt>display</tt> is set to <tt>none</tt> so that only one image is visible at a time. * The final statements in the loop set the image's <tt>onclick</tt> event handler to the <tt>NextSlide()</tt> function and increment the <tt>numslides</tt> variable. * The <tt>NextSlide()</tt> function first hides the current slide by setting its <tt>display</tt> property to <tt>none</tt>. Next, it increments <tt>currentslide</tt>. The <tt>if</tt> statement resets <tt>currentslide</tt> to zero when the last slide is clicked on. Finally, the new slide is displayed by setting its <tt>display</tt> property to <tt>block</tt>. * The final line of the script sets an <tt>onLoad</tt> event handler for the window to run the <tt>MakeSlideShow()</tt> function. This rearranges the images into a slideshow as soon as the page loads. To test the script, save it as <tt>slideshow.js</tt> in the same folder as the HTML document you created previously, and load the HTML document into a browser. [Figure 19.4] shows the script in action with the first image displayed. ; Did you Know?: You might see a brief flicker when you load the page and the five images display before being hidden by the script. You can eliminate this by adding a <tt>display:none</tt> rule in CSS for the <tt>slide</tt> class, making all of the images invisible until the script displays the first one. == Try It Yourself Adding Animation to the Slideshow == Although the slideshow example works, the transitions between images are instantaneoussomewhat of a utilitarian effect. With a bit more code, you can use JavaScript and the CSS positioning properties to create an animated transition between the slides. ; By the Way: See [Hour 13], "Using the W3C DOM," for information about the CSS positioning properties used in this example. === The HTML File === The HTML for this example is similar to that of the basic slideshow, with two differences: First, the images are enclosed in a <tt></tt> element with the <tt>id</tt> attribute "slideshow". This element will be used to make the transition between slides work. Second, a <tt><link></tt> tag in the header specifies a style sheet, <tt>slideshow2.css</tt>, because this example will require some CSS styles. The HTML document is shown in [Listing 19.6]. ; Listing 19.6. The HTML File for the Animated Slideshow <pre><html> <head> <title>Animated Slideshow Test</title> <script language="javascript" type="text/javascript" src="slideshow2.js"> </script> <link rel="stylesheet" type="text/css" href="slideshow2.css"> </head> <body> <h1>Animated Slideshow Test</h1> <div id="slideshow"> <img class="slide" src="pic1.jpg" width="400" height="300"> <img class="slide" src="pic2.jpg" width="400" height="300"> <img class="slide" src="pic3.jpg" width="400" height="300"> <img class="slide" src="pic4.jpg" width="400" height="300"> <img class="slide" src="pic5.jpg" width="400" height="300"> <p>Click the image to view the next slide.</p> </body> </html></pre> |} As before, if you load this document into a browser without the JavaScript or CSS files, it will display all five images on the page. === The CSS File === You'll need a bit of CSS to set things up for the slideshow. The style sheet will set the initial position of the images and set the positioning properties so that the animation will work. The CSS file for this example is shown in [Listing 19.7]. Save the file as <tt>slideshow2.css</tt> in the same folder as the HTML document you created previously. ; Listing 19.7. The CSS File for the Animated Slideshow <pre>img.slide { position: absolute; left:0; top:0; } # slideshow { position: relative; overflow: hidden; width: 400; height: 300; }</pre> The <tt>#slideshow</tt> rule defines the styles for the <tt></tt> element that encloses the images. The <tt>position: relative</tt> rule enables positioning for the element and its children, while leaving it where it landed in the page by default. The <tt>overflow</tt> property hides the part of an image that lies outside the <tt></tt>, so the new image can "slide in" from the side. Finally, the <tt>width</tt> and <tt>height</tt> properties make the <tt></tt> as large as the images so that the slideshow is always one size. The <tt>img.slide</tt> rule sets up the styles for the images themselves. The <tt>position</tt> property is set to <tt>absolute</tt>. In combination with the <tt>relative</tt> value on the <tt></tt>, this means that the image is positioned relative to its parent. It is set to <tt>left: 0</tt> and <tt>top: 0</tt>, which positions each image at the upper-left corner of the <tt></tt>to begin, all of the images will be on top of each other, so only one will be visible. Instead of using the <tt>display</tt> property, the animated slideshow will use the <tt>z-index</tt> property (<tt>zIndex</tt> in JavaScript). This controls which of the overlapping images is "on top." To change slides, the script will set the new image to be on the top of the stack and position it off the right edge of the <tt></tt>, and then gradually slide both the old and new slides to the left until the new one is the only one visible. === The JavaScript File === Now that you have the HTML and CSS files, all that remains is the script. [Listing 19.8] shows the JavaScript file for the animated slideshow. ; Listing 19.8. The JavaScript File for the Animated Slideshow <pre>// Global variables var numslides=0; var currentslide=0,oldslide=4; var x = 0; var slides = new Array(); function MakeSlideShow() { // find all images with the class "slide" imgs=document.getElementsByTagName("img"); for (i=0; i<imgs.length; i++) { if (imgs[i].className != "slide") continue; slides[numslides]=imgs[i]; // stack images with first slide on top if (numslides==0) { imgs[i].style.zIndex=10; } else { imgs[i].style.zIndex=0; } imgs[i].onclick=NextSlide; numslides++; } // end for loop } // end MakeSlideShow() function NextSlide() { // Set current slide to be under the new top slide slides[currentslide].style.zIndex=9; // Move older slide to the bottom of the stack slides[oldslide].style.zIndex=0; oldslide = currentslide; currentslide++; if (currentslide >= numslides) currentslide = 0; // start at the right edge slides[currentslide].style.left=400; x=400; // Move the new slide to the top slides[currentslide].style.zIndex=10; AnimateSlide(); } function AnimateSlide() { // Lower moves slower, higher moves faster x = x - 25; slides[currentslide].style.left=x; // previous image moves off the left edge // (comment the next line for a different effect) slides[oldslide].style.left=x-400; // repeat until slide is at zero position if (x > 0) window.setTimeout("AnimateSlide();",10); } // create the slideshow when the page loads window.onload=MakeSlideShow;</pre> Here's how this script differs from the original slideshow script: * An <tt>oldslide</tt> global variable has been added to keep track of the previous slide, so it can be moved out as the new slide moves in. Another global variable, <tt>x</tt>, will store the current horizontal position of the sliding image. * Instead of using the <tt>display</tt> property, the <tt>MakeSlideShow()</tt> function sets the <tt>zIndex</tt> property to <tt>10</tt> for the first image and to zero for the others. * The <tt>NextSlide()</tt> function works differently. First, it sets the current slide's <tt>zIndex</tt> property to <tt>9</tt>, so it is the second one in the stack. (See the Did You Know? sidebar at the end of this section for the reason.) Next, it sets <tt>zIndex</tt> to zero for the old slide to move it to the bottom. It then assigns the <tt>oldslide</tt> value for next time, and increments the current slide as before. * <tt>NextSlide()</tt> finishes by setting the new slide's <tt>left</tt> property to <tt>400</tt>, and the <tt>x</tt> variable to the same value. The slide will start off the right edge of the <tt></tt> and gradually become visible as it moves to the left. It then sets <tt>zIndex</tt> to 10 for the new slide to put it on top of the stack. Last, it calls the new <tt>AnimateSlide()</tt> function to make the transition. * <tt>AnimateSlide()</tt> handles the animation. It starts by subtracting 25 from the value of <tt>x</tt> and setting the current slide's <tt>left</tt> property to that value. It also sets the position of the old slide 400 pixels to the left of the current one, so it slides out of the frame as the new one slides in. * The last line in <tt>AnimateSlide()</tt> checks <tt>x</tt>, and if it has not yet reached zero, it uses <tt>setTimeout()</tt> to call itself after a brief (10 millisecond) delay. This function will be called repeatedly until the new slide reaches its final resting place on the left side. ; Did you Know?: The reason for setting the old slide's <tt>zIndex</tt> to 9 instead of 10 is to allow you to try a different transition effect. If you remove the <tt>slides[oldstyle].style.left</tt> assignment in <tt>AnimateSlide()</tt>, the old slide will stay in one place while the new slide moves over it. === Putting It All Together === To try out the animated slideshow, make sure you have all three files in the same folder: the HTML document, the style sheet (<tt>slideshow2.css</tt>), and the JavaScript file (<tt>slideshow2.js</tt>). Load the HTML document into a browser; then click on the image to advance the slideshow. The <tt>AnimateSlide()</tt> function uses a lot of code, but on a reasonably fast machine, the transition will be very fast, taking about half a second. If you want to slow it down to see what's going on, change the <tt>25</tt> value in <tt>AnimateSlide()</tt> to a lower numbera value of 1 will make the transition extremely slow. [Figure 19.5] shows the slideshow in action, halfway between the first slide and the second. == Summary == In this hour, you learned some techniques for working with graphics in JavaScript. You learned how to use dynamic images to create rollovers, and how to use CSS for JavaScript-free rollovers. Finally, you created a script to turn any group of images on a page into an animated slideshow. In the next hour, you'll look at how JavaScript works with plug-ins, particularly Flash, and learn how to add sounds to your scripts. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' Q1:''' | Isn't it possible to make JavaScript rollovers unobtrusive? |- | align="right" | ''' A1: ''' | Yes, you could use a separate JavaScript file and do JavaScript rollovers "the right way." You would still have image links instead of text links, but aside from that it's arguably no worse than CSS rollovers. JavaScript rollovers can also go beyond what CSS can dofor example, the links could change in an animated way rather than simply changing graphics. |- | align="right" | ''' Q2:''' | Can JavaScript work with any type of image? |- | align="right" | ''' A2: ''' | Yes, JavaScript's dynamic image features (and the W3C DOM features you used in the slideshow) will work fine with GIF, JPG, and PNG (Portable Network Graphics, the newest standard) images. |- | align="right" | '''Q3:''' | Why doesn't the slideshow example require preloading images for fast transitions? |- | align="right" | ''' A3: ''' | Because the images are all on the page in the HTML document, they are loaded with the page, although the JavaScript immediately hides them. Thus, they're available instantly when the slideshow switches them. |- | align="right" | '''Q4:''' | How do I speed up the transitions in the animated slideshow? |- | align="right" | ''' A4: ''' | There are two ways: Either increase the amount subtracted from <tt>x</tt>, or reduce the timeout in the <tt>setTimeout</tt> statement. Subtracting too much can make the transition jerky, and timeouts below 10 aren't handled well by browsers, so experiment with your changes to reach the best compromise. |} === Quiz Questions === Test your knowledge of JavaScript graphics by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | Which property of an <tt>image</tt> object stores the filename of the image? # <tt>HRef</tt> # <tt>filename</tt> # <tt>src</tt> |- | align="right" | ''' 2.''' | Which of the following languages cannot be used to implement rollovers? # HTML # CSS # JavaScript |- | align="right" | '''3.''' | If <tt>image1</tt> is the object for an image on the page, which of the following would you modify to change the image's horizontal position? # <tt>image1.left</tt> # <tt>image1.style.left</tt> # <tt>image1.style.xPosition</tt> |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | c. The <tt>src</tt> property of the image stores its filename. |- | align="right" | '''2.''' | a. You can create rollovers using JavaScript or CSS, but it can't be done in plain HTML. |- | align="right" | '''3.''' | b. The <tt>style.left</tt> property controls the image's horizontal position. |} === Exercises === If you want to gain more experience working with graphics in JavaScript, try the following exercises: * Change the animated slideshow example to move the slides downward instead of right to left to make the transition. You'll need to change the <tt>style.top</tt> property instead of <tt>style.left</tt>. * Firefox and some other browsers support a CSS 3 property, <tt>style.opacity</tt>, which controls how opaque an element is, with a value of 100 being completely opaque and a value of 0 being completely transparent. Try changing the animated slideshow to fade the new slide in from 0 to 100 rather than slide it in from right to left. 2muaw2kfrkaklltjhx81en14o6hunek User:Moncur/20 2 2094 5780 5725 2007-06-18T20:32:46Z Moncur 24 5780 wikitext text/x-wiki <!-- =20. Working with Sound and Plug-Ins= == Introducing Plug-Ins == Plug-ins were introduced by Netscape in Navigator 3.0. Rather than adding support directly to the browser for media types such as formatted text, video, and audio, Netscape created a modular architecture that allows programmers to write their own browser add-ons for these features. There are now hundreds of plug-ins available for Netscape, Firefox, and Internet Explorer. Here are a few of the most popular: * Macromedia's Shockwave and Flash plug-ins support animation and video. * Adobe's Acrobat plug-in supports precisely formatted, cross-platform text. * Apple's QuickTime plug-in supports many audio and video formats. * RealPlayer supports streaming audio and video. Firefox and Internet Explorer use different plug-in formats and usually require different versions of a plug-in. Additionally, some plug-ins are available only for one platform, such as Windows or Macintosh. === The <tt><embed></tt> and <tt><object></tt> Tags === Browsers support two tags for plug-ins, <tt><embed></tt> and <tt><object></tt>. The following is an example of the <tt><embed></tt> tag that embeds a sound in a page: <pre><embed src="sound.wav" autostart="false" loop="false"></pre> This example uses the <tt>sound.wav</tt> file. It sets two parameters: <tt>autostart</tt> controls whether the sound automatically plays when the page loads, and <tt>loop</tt> controls whether the sound repeats after it plays the first time. The parameters supported depend on the plug-in being used. A more standard tag, <tt><object></tt>, is part of the HTML 4.0 specification. Here's the same sound file using <tt><object></tt>: <pre><object type="audio/x-wav" data="sound.wav" width="100" height="50"> <param name="src" value="sound.wav"> <param name="autostart" value="false"> </object></pre> ; Did you Know?: Although <tt><object></tt> is a more standard way of embedding a file, most current browsers still support <tt><embed></tt>, which works better in some cases. Always try your pages that use plug-ins in different browsers to make sure they work. === Understanding MIME Types === Multipurpose Internet Mail Extensions types (MIME) is a standard for classifying different types of files and transmitting them over the Internet. The different types of files are known as MIME types. You've already worked with a few MIME types: HTML (MIME type <tt>text/html</tt>), text (MIME type <tt>text/plain</tt>), and GIF images (MIME type <tt>image/gif</tt>). The <tt><script></tt> tag also uses a MIME type to indicate the language: <tt>text/javascript</tt>. Although web browsers don't normally support many more than these types, external applications and plug-ins can provide support for additional types. When a web server sends a document to a browser, it includes that document's MIME type in the header. If the browser supports that MIME type, it displays the file. If not, you're asked what to do with the file (such as when you click on a <tt>.zip</tt> or <tt>.exe</tt> file to download it). === How JavaScript Works with Plug-Ins === Some plug-ins, such as the sound plug-ins you'll use later this hour, support scripting with JavaScript. Scripting plug-ins works just like scripting the DOM: You assign an <tt>id</tt> attribute to the <tt><embed></tt> or <tt><object></tt> tag, and then use <tt>document.getElementById()</tt> to find the object corresponding to the embedded item. After you've found the object, what you can do with it depends on the file type and the plug-in. For example, most sound plug-ins support a <tt>Play()</tt> method. Here's an example that finds an embedded sound with the <tt>id</tt> attribute <tt>sound1</tt> and plays the sound: <pre>obj = document.getElementById("sound1"); obj.Play();</pre> Because plug-in methods are not part of the standard DOM, you'll need to consult the plug-in's documentation to find out what methods are supported and what your script can do with the embedded object. === Plug-In Feature Sensing === Any time you work with plug-ins, it's important to remember that not all browsers will have the needed plug-in installed. Although both Firefox and Internet Explorer will attempt to notify users and let them know where to install the plug-in, expecting users to install software just to view your site is a bit optimistic. Instead, you should use feature sensing to use the plug-in only when it is supported. For example, you could check for the <tt>Play()</tt> method like this: <pre>if (obj.Play) { obj.Play(); } else alert("Can't Play.");</pre> A more sophisticated method that handles errors as well as feature sensing is presented later in this hour. ; By the Way: Feature sensing is the same technique you've used to make sure browsers support the W3C DOM. See [Hour 15], "Unobtrusive Scripting," for information on feature sensing. ==JavaScript and Flash== Adobe (formerly Macromedia) Flash is the Web's most popular format for movies and interactive content that require a bit more graphical splendor than HTML and JavaScript can provide. Flash's programming language is similar to JavaScript, and JavaScript can work with Flash. === ActionScript=== If you program scripts for a Flash movie, you use a language called ActionScript. You may find that ActionScript has a strong similarity to JavaScript, and for good reasonthe version of ActionScript used in Flash 5.0 and later is based on the same ECMAScript standard that specifies the syntax for JavaScript. Although the language is the same, Flash programming is quite different from writing JavaScript for the Webyou are scripting Flash objects rather than working with the DOM. However, you'll find that the basic syntax of the language is the same, which makes it easy for a JavaScript programmer to work with Flash when its capabilities are needed. === JavaScript and Flash Communication=== JavaScript and Flash can communicate and work together. Adobe's Flash/JavaScript Integration Kit, available as a free download, enables JavaScript to call ActionScript functions within Flash objects, and also enables Flash scripts to call JavaScript functions within the page that contains them. The Flash/JavaScript Integration Kit works best with Flash Player 6.0 or later, although it also includes basic support for earlier versions of Flash. If you are developing a Flash application and need it to communicate with JavaScript, you can download the kit from [http://weblogs.macromedia.com/flashjavascript/ http://weblogs.macromedia.com/flashjavascript/]. If you're using an existing Flash object, the author might have already set it up to work with JavaScript, in which case it will have a list of methods available like other plug-in objects. === Embedding Flash with JavaScript=== One other common use of JavaScript with Flash is to use JavaScript to generate the <tt><object></tt> or <tt><embed></tt> tag to embed a Flash object. Although you could use HTML directly, using JavaScript enables you to sidestep Internet Explorer's warning dialog that pops up whenever an embedded object is in use. JavaScript can also pass parameters, such as the user's screen size, to Flash by writing them into the <tt><embed></tt> or <tt><object></tt> tag. ;Did you Know?: Microsoft added the warning dialog for embedded objects in response to a patent dispute. See the Try It Yourself section later this hour for an example that uses JavaScript to embed objects in a page and avoid this warning. == Playing Sounds with JavaScript== Although the W3C DOM has made advanced effects and applications possible in JavaScript in a painless, cross-browser fashion, no standard has emerged to do the same for JavaScript's sound support. There are a few ways of making JavaScript play sounds, and none of them work consistently in all browsers all of the time. Nonetheless, with a bit of effort, you can play sounds in most browsers. ;By the Way: Because sound support in browsers is inconsistent, there's no guarantee your sounds will work for everyone. Be sure any sound you use in JavaScript applications is optional and that the script still works even on browsers that won't play the sounds. === Sound Formats=== There are a wide variety of sound formats, usually identified by their file extensions. The following are some of the most common sound formats on the Web: * <tt>.au</tt> (Audio Unit) The earliest sound format supported by browsers, and still the most widely supported. Some browsers have built-in support for this format. In Firefox, the QuickTime plug-in supports <tt>.au</tt> files. * <tt>.wav</tt> The standard Windows sound format (usually played by Media Player on Windows machines). * <tt>.mp3</tt> A compressed format for larger files, such as music. MP3 plug-ins are not included with most browsers, but are often installed by users. * <tt>.mid</tt> (MIDI) Rather than audio, MIDI files store note information to re-create a song using a standard set of instruments. Most computers support MIDI music, although a browser plug-in might be required. Any of these formats can be supported by most browsers, but unfortunately there is no format that is universally supported. If you're hoping as many visitors as possible will be able to hear your sounds, the best choice is <tt>.au</tt> if you're using standard audio plug-ins, or <tt>.mp3</tt> if you're using Flash. === Sound-Playing Plug-Ins=== Browsers almost always require a plug-in to play sounds. Fortunately, sound plug-ins are widely used and many of your site's visitors already have one or more of them installed. Here are the most common sound-playing plug-ins: * QuickTime Apple's sound and video player, installed by default on Macintosh systems. QuickTime plug-ins are also available for Internet Explorer for Windows and for Firefox on Windows and Macintosh. * Windows Media Player Microsoft's sound and video player, installed by default on Windows systems. * RealPlayer A popular third-party plug-in for playing music and video, available from [http://www.real.com/ http://www.real.com]. * Flash Although the Flash plug-in doesn't play standard embedded sounds, Flash animations and movies can play sounds, as you'll learn later in this section. === Embedding Sounds=== The following is a simple example of an <tt><embed></tt> tag to embed a sound in a page: <pre><embed id="note_c1" src="c1.au" width="0" height="0" autostart="false" enablejavascript="true"/></pre> This example works with the most common sound plug-ins. It specifies a source filename for the sound file (<tt>c1.au</tt>) and <tt>autostart="false"</tt> to prevent the sound from playing when the page loads. The <tt>enablejavascript</tt> parameter is required by some plug-ins to allow scripting. The <tt>width</tt> and <tt>height</tt> parameters set the size of the embedded player. If they are not zero, the player will be visible with Play, Pause, and Stop buttons. Setting them to zero hides the player, useful when you intend to control it strictly with JavaScript. (A <tt>hidden</tt> parameter is supposed to hide the player, but this causes sounds not to play in some browsers.) === Controlling Sounds with JavaScript=== After you've embedded a soundassuming a browser plug-in supports ityou can use the following methods of the sound object to control the sound: * <tt>Play()</tt> or <tt>DoPlay()</tt> Starts playing the sound, and stops when the sound is finished. <tt>DoPlay()</tt> is supported by RealPlayer, and <tt>Play()</tt> is supported by most other sound plug-ins. * <tt>Stop()</tt> Stops the currently playing sound. * <tt>Rewind()</tt> Restarts the current sound at the beginning. ;Watch Out: Depending on the audio plug-in in use, the methods supported might be different. Always use <tt>TRy</tt> and <tt>catch</tt> when attempting to control sounds to avoid errors. === Detecting Sound Support=== Because you can't count on sounds being supported by all browsers, it's a good practice to use <tt>try</tt> and <tt>catch</tt> to test the statements and display a message (or take another appropriate action) if sounds are not supported: <pre>try { sound.DoPlay(); } catch (e) { try { sound.Play(); } catch (e) { alert("No sound support."); } }</pre> This code first tries RealPlayer's <tt>DoPlay()</tt> method. If that doesn't work, it tries the <tt>Play()</tt> method. If neither approach works, it displays an error message. ;By the Way: The <tt>TRy</tt> and <tt>catch</tt> keywords are used to test a risky statement, find out whether it works, and suppress the browser's usual error messages. See [Hour 16], "Debugging JavaScript Applications" for more information. === Using Flash=== If you are relying on sounds for an application, you might want to consider using Flash. You can create a simple Flash object that loads sound files and allows JavaScript to play them. This gives you scriptable sounds using one consistent plug-in that works on most platforms. Scott Schiller's SoundManager provides an easy way to use Flash sounds from JavaScript. SoundManager uses a Flash object to play MP3-formatted sounds you specify in an XML file. After you've created the XML file and included SoundManager using a <tt><script></tt> tag, you can use its methods to control the sounds. More information and the download for SoundManager are available at [http://www.schillmania.com/projects/soundmanager/ http://www.schillmania.com/projects/soundmanager/]. |} == Testing Sounds in JavaScript== You can now create a simple example that uses JavaScript to play a sound. [Listing 20.1] shows an HTML document with an embedded script to play a sound when you click a button. ; Listing 20.1. A Simple Example of Playing Sounds Using JavaScript <pre><html> <head> <title>Sound Test</title> <script language="JavaScript" type="text/javascript"> function PlaySound() { var sound = document.getElementById("note_c1"); try { // RealPlayer sound.DoPlay(); } catch (e) { try { // Windows Media / Quicktime sound.Play(); } catch (e) { alert("No sound support."); } } } </script> </head> <body> <h1>Sound Test</h1> <embed id="note_c1" src="c1.au" width="0" height="0" autostart="false" enablejavascript="true"/> <input type="button" value="Play the Sound" onClick="PlaySound()"> </body> </html></pre> To try the example, you'll need a sound file: the <tt>c1.au</tt> file is available at this book's website, or you can substitute the <tt>.au</tt> format sound of your choice. Load the document into a browser and click the button to play the sound. If you don't hear a sound, or if the "No sound support" message is displayed, try looking at the JavaScript Console in Firefox or clicking the error icon in the lower-left corner of the window in Internet Explorer. You might need to install a plug-in to get it to work. Internet Explorer might display an alert message when you load the page, as shown in [Figure 20.1]. Due to a patent dispute, Microsoft made their browser require you to click on something in order for embedded objects to work. Although this is only a minor annoyance in this example, it's possible to eliminate it by using JavaScript to write the <tt><embed></tt> tag. The Try It Yourself section of this hour includes an example of this technique. == Try It Yourself Playing Music with the Mouse== As an example of scripting multiple embedded objects, you can create a simple demonstration that displays a piano keyboard and plays piano notes when you click on the keys. This example requires an <tt>.au</tt> sound file for each key, which you can download from this book's website. === The HTML Document=== The HTML file for this document includes a series of <tt></tt> tags that will act as the black and white piano keys. A <tt><link></tt> tag is used to include a CSS file to style the keys, and a <tt><script></tt> tag includes a script you'll create later in this section. The complete HTML document is shown in [Listing 20.2]. ; Listing 20.2. The HTML Document for the Piano Example <pre><html> <head> <title>JavaScript Piano</title> <link rel="stylesheet" type="text/css" href="piano.css"> </head> <body> <h1>JavaScript Piano</h1> <div class="white" id="c1"> <div class="black" id="cs1"> <div class="white" id="d1"> <div class="black" id="ds1"> <div class="white" id="e1"> <div class="white" id="f1"> <div class="black" id="fs1"> <div class="white" id="g1"> <div class="black" id="gs1"> <div class="white" id="a1"> <div class="black" id="as1"> <div class="white" id="b1"> <div class="white" id="c2"> <p style="clear:left"> Click the piano keys above to play sounds. </p> <script language="javascript" type="text/javascript" src="piano.js"> </script> </body> </html></pre> Type this document or download it from this book's website and store it in the same folder as the sound files. You'll also need the CSS and JavaScript files described in the next sections. === The CSS Style Sheet=== Using CSS, you can make the browser display the series of <tt></tt> tags in the HTML document as something resembling piano keys. [Listing 20.3] shows the CSS file for this example. ; Listing 20.3. The CSS File for the Piano Example <pre>.white { float: left; background-color: white; height: 300px; width: 30px; border: 2px solid black; } .black { float: left; background-color: black; height: 225px; width: 25px; }</pre> This file defines two styles for the two classes used in the HTML document, <tt>white</tt> and <tt>black</tt>. The <tt>float</tt> attribute makes the keys appear as a horizontal set of boxes. The size of the keys is set using <tt>width</tt> and <tt>height</tt> attributes, and <tt>background-color</tt> sets the colors to differentiate the keys. === Playing the Sounds=== The <tt>PlaySound()</tt> function will be called when a key is clicked to play a sound. The first lines of this function detect which key was clicked and use the <tt>id</tt> attribute of the key <tt></tt> element to construct the <tt>id</tt> attribute of the corresponding sound: <pre>function PlaySound(e) { if (!e) var e = window.event; // which key was clicked? thiskey = (e.target) ? e.target: e.srcElement; var sound = document.getElementById("note_" + thiskey.id);</pre> The remainder of <tt>PlaySound()</tt> will attempt to play the piano note using the <tt>try</tt> and <tt>catch</tt> routine described earlier in this hour. === Embedding the Sounds=== This example will use JavaScript <tt>document.write()</tt> statements to write out an <tt><embed></tt> tag for each note. Although this is a roundabout way of doing things, it conveniently avoids Internet Explorer's warning dialog about embedded objects, which would otherwise pop up 13 timesonce for each embedded sound. Here are the lines that write an <tt><embed></tt> tag: <pre> document.write('<embed id="' + 'note_' + divs[i].id + '"'); document.write(' src="' + divs[i].id + '.au" width="0" height="0"'); document.write(' autostart="false" enablejavascript="true">');</pre> The <tt>src</tt> attribute of the <tt><embed></tt> tag is set using the <tt>id</tt> attribute of each <tt></tt> element to embed the corresponding sound file for each key. === Putting It All Together=== To get the piano working, you can combine the techniques discussed previously with a bit more JavaScript. [Listing 20.4] shows the JavaScript file for this example. ; Listing 20.4. The JavaScript File for the Piano Example <pre>function Setup() { if (!document.getElementById) return; // Set up event handlers and embed the sounds divs = document.getElementsByTagName("div"); for (i=0; i<divs.length; i++) { // embed the appropriate sound using document.write document.write('<embed id="' + 'note_' + divs[i].id + '"'); document.write(' src="' + divs[i].id + '.au" width="0" height="0"'); document.write(' autostart="false" enablejavascript="true">'); // set up the event handler divs[i].onclick = PlaySound; } } function PlaySound(e) { if (!e) var e = window.event; // which key was clicked? thiskey = (e.target) ? e.target: e.srcElement; var sound = document.getElementById("note_" + thiskey.id); try { // RealPlayer sound.DoPlay(); } catch (e) { try { // Windows Media / Quicktime sound.Play(); } catch (e) { alert("No sound support."); } } } // Run the setup routine when this script executes Setup();</pre> The <tt>Setup()</tt> function executes when the script loads. Because the <tt><script></tt> tag appears after the <tt></tt> elements in the HTML file, it can set event handlers for each <tt></tt> and write out the <tt><embed></tt> tags. <tt>Setup()</tt> uses <tt>document.getElementsByTagName</tt> and a <tt>for</tt> loop to do this for each of the keys. To test the piano, make sure you have everything in one folder: The HTML document, the CSS file (<tt>piano.css</tt>), the JavaScript file (<tt>piano.js</tt>), and all 13 sound files. The complete example is shown in [Figure 20.2]. == Summary == In this hour, you learned about browser plug-ins and how they work with JavaScript. You also learned about JavaScript's support for sound (or the lack thereof) and how you can use JavaScript to detect and work with common sound-playing plug-ins. Finally, you created a piano keyboard with audio using JavaScript. Congratulationsyou've reached the end of [Part V] of this book. In [Part IV], you'll apply your JavaScript knowledge to create some complex applications. This begins in [Hour 21], "Building JavaScript Drop-Down Menus." === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Is there a way to list all of the plug-ins installed in the browser? |- | align="right" | ''' A1: ''' | Yes. Type <tt>about:plugins</tt> to display a list of plug-ins installed in Netscape or Firefox. These browsers also support a proprietary <tt>navigator.plugins</tt> object, an array that contains information about each installed plug-in, which you can access with JavaScript. Unfortunately, this is not a standard part of the DOM and is not supported by other browsers. |- | align="right" | '''Q2:''' | Can I add sounds to a site's navigation bar or user interface? |- | align="right" | ''' A2: ''' | Yes, this can be done using the techniques in this hour and <tt>onMouseOver</tt> or <tt>onClick</tt> event handlers. However, given the inconsistency of sound support in browsers, this is a lot of trouble for a feature that will probably annoy your visitors anyway. |- | align="right" | '''Q3:''' | Can the browser play more than one sound at the same time? |- | align="right" | ''' A3: ''' | This ultimately depends on the audio plug-in, but none of the current ones support playing more than one sound at a time. |} |} === Quiz Questions === Test your knowledge of JavaScript's sound and plug-in features by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | Which HTML tag is often used to include a plug-in object within a web page? # <tt><sound></tt> # <tt><embed></tt> # <tt><plugin></tt> |- | > | > |- | align="right" | '''2.''' | Which of the following is not a sound-playing plug-in? # RealPlayer # QuickTime # Acrobat |- | align="right" | '''3.''' | Which is the correct statement to play a sound? # <tt>sound.Go();</tt> # <tt>sound.Play();</tt> # <tt>sound.Submit();</tt> |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | b. The <tt><embed></tt> tag embeds a plug-in object in a page. |- | align="right" | ''' 2.''' | c. The Acrobat plug-in displays PDF files. |- | align="right" | '''3.''' | b. The <tt>Play()</tt> method plays a sound. |} === Exercises === If you want to gain more experience working with sounds in JavaScript, try the following exercises: * Expand the piano keyboard in [Listing 20.2] to include more notes. (Additional sound files are available from this book's website.) You should only need to change the HTML file. * Try adding one or more sounds to the animated slideshow in the previous hour (refer to [Listing 19.8]). You can adapt the <tt>PlaySound()</tt> function from this hour to play a specific sound as the slideshow advances. jurgiwrfld9ft5k0hutrjmmbhzogko2 User:Moncur/21 2 2095 5781 5723 2007-06-18T20:32:54Z Moncur 24 5781 wikitext text/x-wiki <!-- =21. Building JavaScript Drop-Down Menus= == Designing Drop-Down Menus == One of the most common uses for JavaScript and the DOM is to create drop-down menus, similar to those used in Windows and MacOS, as a navigation system for a page. [Figure 21.1] shows a drop-down menu in action. Why use drop-down menus? Ideally, you should use them when a website or web application has too many options to conveniently fit on the page. Adding a drop-down menu to a site with only a few pages will just make it more confusing to visitors. Another potential problem with drop-down menus is that they traditionally require some messy browser-specific code and some awkward HTML markup. Thanks to the now standard W3C DOM, you can create menus using simple markup and a script that works in all modern browsers. === Creating the HTML Markup === 'There will always be browsers that don't support drop-down menus correctly—in particular, mobile phone browsers are unlikely to work with this script. You can avoid problems with compatibility by making an unobtrusive script using standard markup. The HTML document for this example, shown in [Listing 21.1], uses bullet lists (<tt><nowiki><ul></nowiki></tt> and <tt><nowiki><li></nowiki></tt> tags) to organize the links into menus. ; Listing 21.1. The HTML for the Drop-Down Menu <pre><html> <head> <title>A DOM drop-down menu</title> <link rel="stylesheet" type="text/css" href="dropdown.css"> <script language="javascript" type="text/javascript" src="dropdown.js"> </script> </head> <body> <h1>Menu Test</h1> <ul id="menu"> <li class="menu"><a href="#">Home</a></li> <li class="menu"><a href="#">Products</a> <ul> <li><a href="#">Sub-item 1</a></li> <li><a href="#">Sub-item 2</a></li> <li><a href="#">Item 3</a></li> </ul> </li> <li class="menu"><a href="#">Support</a> <ul> <li><a href="#">Sub-item 1</a></li> <li><a href="#">Sub-item 2</a></li> </ul> </li> <li class="menu"><a href="#">Employment</a> <ul> <li><a href="#">Sub-item 1</a></li> <li><a href="#">Sub-item 2</a></li> </ul> </li> <li class="menu"><a href="#">Contact Us</a> <ul> <li><a href="#">Sub-item 1</a></li> <li><a href="#">Sub-item 2</a></li> </ul> </li> </ul> </body> </html> </pre> The top-level links (Home, Products, Support, Employment, and Contact Us) are formatted as a bullet list. Most of the links have subitems, listed in a nested bullet list. These subitems will be displayed as drop-down menus using CSS formatting and JavaScript. Although you have not yet created the CSS or JavaScript for this example, you can try the HTML document in a browserit will be displayed as a simple bullet list, as shown in [Figure 21.2]. Notice the <tt>class</tt> and <tt>id</tt> attributes in the HTMLthese will be used by the CSS and JavaScript code to format the menu and add behavior. The main <tt><nowiki><ul></nowiki></tt> tag that encloses the top-level items has an <tt>id</tt> attribute of <tt>menu</tt>, and each top-level item's <tt><nowiki><li></nowiki></tt> tag has the <tt>class</tt> attribute <tt>menu</tt>. ; Watch Out!: The links in this example all link to a nonexistent URL, <tt>#</tt>. To use the menu on your site, you'll need to replace them with actual links. === Laying Out the Menu with CSS === As you can see in [Figure 21.2], the list of links doesn't look much like a drop-down menu yet. You can now use CSS to format the links to appear in the right format. The first step is to make the main list display in a horizontal format. This can be done with two CSS rules: <pre>#menu li { float: left; list-style-type: none; } </pre> The selector, <tt>#menu li</tt>, looks for any list item directly under the <tt>#menu</tt> list. The <tt>float: left</tt> rule causes the items to display left to right instead of vertically, and <tt>list-style-type: none</tt> prevents a bullet from being displayed. Next, a couple of rules for the subitems: <pre>#menu li ul li { float: none; list-style-type: none; } </pre> The selector here, <tt>#menu li ul li</tt>, looks for <tt><nowiki><li></nowiki></tt> items nested under the main <tt><nowiki><li></nowiki></tt> items. Once again, <tt>list-style-type: none</tt> is used to eliminate bullets. The <tt>float: none</tt> rule is necessary because we want the subitems to be listed vertically rather than inheriting the floating behavior of the main list. [Figure 21.3] shows what the list looks like with the styles so far. As you can see, the menu is beginning to take shape: The main links are displayed in a horizontal row, and each subitem list appears vertically underneath its corresponding item. The spacing and alignment needs work, but it's a start. ; By the Way: As you develop a complex layout using CSS, be sure to test in multiple browsers. Floats are one area where Internet Explorer shows its quirks, and you may need to adjust a few rules to make it work cross-browser. To make the menu look more like a menu, you just need some padding, width, and other settings. [Listing 21.2] shows the complete style sheet for the drop-down menu. ; Listing 21.2. The CSS File for the Drop-Down Menu <pre>/* The whole menu */ # menu { position: absolute; } /* Each menu name */ # menu li { float: left; list-style-type: none; padding-right: 20px; width: 100px; background-color: silver; } /* The entire submenu */ # menu li ul { background-color: silver; margin: 0px; padding: 0px; } /* Each submenu item */ # menu li ul li { padding: 0px; margin: 0px; float: none; list-style-type: none; width: 80px; } </pre> This style sheet uses <tt>padding</tt> and <tt>width</tt> values to make sure the submenus line up with their headings. Some <tt>background-color</tt> attributes are applied to make the menu appear more solid. The <tt>position: absolute</tt> rule is used so the menus can overlap the content of the page when they drop down. There's no content in the example, but on a real site you don't want to leave room for the menus—if you have that kind of room, you might as well just display the links all of the time. Using <tt>position:absolute</tt> has a downside—because the menu isn't positioned in the normal flow of the page, the main menu can overlap part of your page unless you avoid it by positioning the other content around it. The ideal situation would be for the main menu to use <tt>relative</tt> positioning while the submenus use <tt>absolute</tt> positioning—unfortunately, this does not work consistently in Internet Explorer. The styled menu is shown in [Figure 21.4]. As you can see, the entire menus are shown at this time—the submenus will be hidden by the script. This ensures that the menu will still be accessible to browsers that support CSS but not JavaScript. ; By the Way: When the script is added, the full menus will display for an instant before the script hides them. If you find this annoying, you can add a <tt>display:none</tt> rule to the CSS for the submenu <tt><nowiki><ul></nowiki></tt>. This eliminates the flicker, but makes the menu less useful to browsers without JavaScript support. == Scripting Drop-Down Menu Behavior == You now have a list of links that looks like a drop-down menu. All you need now is a script to make it act like one. Your script will set up the menu when the page loads, and respond to event handlers to show and hide the submenus. === Setting Up the Menu === The <tt>SetupMenu()</tt> function will run when the page loads, and then configure the drop-down menu. This mainly consists of hiding the submenus and configuring some event handlers. The function will use a loop to look at all of the <tt><nowiki><li></nowiki></tt> elements in the page, and if they have a <tt>class</tt> attribute of <tt>menu</tt>, they're considered part of the menu. The following lines set up the event handlers for the link and hide the submenu: <pre> thelink=findChild(items[i],"A"); thelink.onmouseover=ShowMenu; thelink.onmouseout=StartTimer; //is there a submenu? if (ul=findChild(items[i],"UL")) { ul.style.display="none"; </pre> The <tt>findChild()</tt> function is used twice here. This function will also be defined in your script, and will return the first child item of a particular type it finds for an object. In the preceding lines, it is used to find the link (<tt><a></tt> tag) under the list item, and to find the nested list of subitems (<tt><nowiki><ul></nowiki></tt> tag). The <tt>style.display</tt> property is used to hide each submenu. === Showing a Submenu === The <tt>ShowMenu()</tt> function will be called by the <tt>onmouseover</tt> event handler when you move over a link. Here's an excerpt from this function that handles showing the submenu: <pre> // find the submenu, if any ul = findChild(thislink,"UL"); if (!ul) return; ul.style.display="block"; </pre> Once again, <tt>findChild()</tt> is used to find the <tt><nowiki><ul></nowiki></tt> element under the current item, and the <tt>display</tt> property is set to <tt>block</tt> to display the menu. === Hiding Submenus === The logic for showing the submenus is simple—whenever the mouse pointer is over a menu heading, the corresponding submenu is displayed. Hiding a submenu is a bit more complicated—the menu needs to stay open while you select an item, but get out of the way quickly when you're not using it. The <tt>HideMenu()</tt> function will accomplish this: <pre>function HideMenu(thelink) { // find the submenu, if any ul = findChild(thelink,"UL"); if (!ul) return; ul.style.display="none"; } </pre> One time you definitely want a menu to be hidden is when the user opens another menu, so the <tt>ShowMenu()</tt> function will call <tt>HideMenu()</tt> to hide the previous menu. You also want the menu to disappear if you move out of it, but a simple <tt>onmouseout</tt> event handler won't work because the user could have moved off the menu heading and into the submenu. Instead, the <tt>onmouseout</tt> event calls the <tt>StartTimer()</tt> function: <pre>function StartTimer() { t = window.setTimeout("HideMenu(current)",200); } </pre> This function sets a timeout to hide the menu in 200 milliseconds. If the user moves over any of the submenu items during the delay, the timer is reset with the <tt>ResetTimer()</tt> function: <pre>function ResetTimer() { if (t) window.clearTimeout(t); } </pre> This function cancels the timeout using the <tt>clearTimeout()</tt> method, keeping the menu on the screen until the <tt>onmouseout</tt> event starts the timer again. Finally, some additional lines in the <tt>SetupMenu()</tt> function will set up event handlers to call <tt>StartTimer()</tt> and <tt>ResetTimer()</tt> for each subitem: <pre> for (j=0; j<ul.childNodes.length; j++) { ul.childNodes[j].onmouseover=ResetTimer; ul.childNodes[j].onmouseout=StartTimer; } </pre> === Completing the Script === You can now combine all of the functions discussed above to create working drop-down menus. The complete drop-down menu script is shown in [Listing 21.3]. ; Listing 21.3. The Complete JavaScript File for the Drop-Down Menus <pre>// global variables for timeout and for current menu var t=false,current; function SetupMenu() { if (!document.getElementsByTagName) return; items=document.getElementsByTagName("li"); for (i=0; i<items.length; i++) { if (items[i].className != "menu") continue; //set up event handlers thelink=findChild(items[i],"A"); thelink.onmouseover=ShowMenu; thelink.onmouseout=StartTimer; //is there a submenu? if (ul=findChild(items[i],"UL")) { ul.style.display="none"; for (j=0; j<ul.childNodes.length; j++) { ul.childNodes[j].onmouseover=ResetTimer; ul.childNodes[j].onmouseout=StartTimer; } } } } // find the first child object of a particular type function findChild(obj,tag) { cn = obj.childNodes; for (k=0; k<cn.length; k++) { if (cn[k].nodeName==tag) return cn[k]; } return false; } function ShowMenu(e) { if (!e) var e = window.event; // which link was the mouse over? thislink = (e.target) ? e.target: e.srcElement; ResetTimer(); // hide the previous menu, if any if (current) HideMenu(current); // we want the LI, not the link / thislink = thislink.parentNode; current=thislink; // find the submenu, if any ul = findChild(thislink,"UL"); if (!ul) return; ul.style.display="block"; } function HideMenu(thelink) { // find the submenu, if any ul = findChild(thelink,"UL"); if (!ul) return; ul.style.display="none"; } function ResetTimer() { if (t) window.clearTimeout(t); } function StartTimer() { t = window.setTimeout("HideMenu(current)",200); } // Set up the menu when the page loads window.onload=SetupMenu; </pre> Here's a summary of how the script works from top to bottom: * The first line defines two global variables: <tt>t</tt> stores a reference to the timeout so that it can be canceled, and <tt>current</tt> is the object for the currently open menu. * The <tt>SetupMenu()</tt> function sets up event handlers to call <tt>ShowMenu()</tt>, <tt>StartTimer()</tt>, and <tt>ResetTimer()</tt>, and hides the submenus. * The <tt>findChild()</tt> function is used by several of the other functions to find a child object. * The <tt>ShowMenu()</tt> function shows a menu. * The <tt>HideMenu()</tt> function hides a menu when the timeout expires. * The <tt>StartTimer()</tt> and <tt>ResetTimer()</tt> functions manage the timeout discussed earlier. * The final line of the script sets the window's <tt>onload</tt> event handler to the <tt>SetupMenu()</tt> function to set up the menu when the page loads. To try the menu, first be sure you have all three files in the same folder: the HTML document, the CSS file (<tt>dropdown.css</tt>), and the JavaScript file (<tt>dropdown.js</tt>). You can then load the HTML document into a browser. [Figure 21.5] shows the drop-down menu in action. == Try It Yourself Enhancing the Menu with CSS == Although the menu works as it is, the CSS could use some improvement. The menus are not well delineated, and there are no rollover effects to let you know you're moving over menu items. Also, to make a menu appear, you have to move the mouse over the text of the menu namefor this menu to work like users expect, the entire block that contains the menu name should be active. An improved CSS style sheet can solve these problems. You might also want to add more CSS rules to fine-tune its formatting. Here are some suggestions: * Change the fonts and colors to match your site. * Add an <tt>a:hover</tt> selector to make the subitems change color as you move over them. * Use <tt>border</tt> attributes to add borders around menus or subitems. * Use <tt>margin</tt> attributes to add space between menu items. [Listing 21.4] shows a modified style sheet that makes the menu work as it should, and implements several of these ideas to create a menu with a different style. ; Listing 21.4. A Style Sheet for a Different Style of Menu <pre>/* The whole menu */ # menu { position: absolute; font-family: sans-serif; font-size: 100%; } /* Each menu name */ # menu li { float: left; list-style-type: none; width: 102px; background-color: silver; border: 1px solid black; text-indent: 0px; margin-left: 3px; } /* each main menu link */ # menu li a { color: black; text-decoration: none; width: 100%; display: block; } # menu li a:hover { color: white; } /* The entire submenu */ # menu li ul { background-color: silver; margin: 0px; padding: 0px; } /* Each submenu item */ # menu li ul li { padding: 0px; margin: 0px; float: none; list-style-type: none; width: 100px; text-indent: 0px; border: none; } # menu li ul li a{ color: black; text-decoration: none; } # menu li ul li a:hover{ color: black; background-color: aqua; } </pre> This style sheet has the following features: * A sans-serif font is used for a more modern appearance. * Borders and margins are used to make the menu names appear as separate boxes. * An <tt>a:hover</tt> selector is used to make the menu names change color when the mouse is over them. * The <tt>width: 100%</tt> and <tt>display: block</tt> rules for the menu names make the entire box active, not just the text. * Another <tt>a:hover</tt> selector makes the submenu items change color when the mouse is over them. * The <tt>width: 100%</tt> rule for submenu items makes the entire width of the submenu active, not just the text. To use this style sheet, save it as <tt>dropdown2.css</tt> in the same folder as the HTML document, and change the <tt><link></tt> tag in the HTML document to refer to the new file. [Figure 21.6] shows the drop-down menu with this style sheet. ; By the Way: See [Hour 12], "Working with Style Sheets," for more information about using CSS styles to format HTML elements. == Summary == In this hour, you've developed a complete application that uses HTML, CSS, and JavaScript to create drop-down menus for navigating a site. You learned how to create a simple HTML document using nested lists, and how to use CSS to format it as a horizontal menu with vertical drop-downs. You used JavaScript to make the drop-down menu work. Finally, you created an alternative style sheet to give the menu a different look. In the next hour, you'll create another complex JavaScript applicationa card game that uses JavaScript, images, and CSS to interact with the user. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' Q1:''' | Can I make a vertical pop-out menu using the same script in [Listing 21.3]? |- | align="right" | ''' A1: ''' | Yes. You'll need a different style sheet that doesn't use <tt>float</tt> for the menu headings, but uses <tt>float:left</tt> for the submenu. The same script and HTML document can be used with a vertical menu. |- | align="right" | '''Q2:''' | Can I add some space before each menu heading? |- | align="right" | ''' A2: ''' | Yes, but be aware that Internet Explorer has some bugs involving margins and padding when <tt>float</tt> is in use. Be sure to test in multiple browsers. |- | align="right" | '''Q3:''' | Which browsers support the drop-down menus? |- | align="right" | ''' A3: ''' | The drop-down menus you created in this hour should work in Internet Explorer 5.0 and later, Netscape 6.0 and later, and all versions of Firefox. Most important, because it uses the standard W3C DOM, it should work in all standards-compliant browsersbut watch out for formatting quirks in different browsers when you change the styles. |} === Quiz Questions === Test your knowledge of the techniques used in this hour by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | Which of the following CSS rules makes the menu horizontal instead of vertical? # <tt>float: left</tt> # <tt>position: absolute</tt> # <tt>orientation: horizontal</tt> |- | align="right" | ''' 2.''' | Which of the following CSS selectors refers to an <tt><li></tt> element directly under the <tt><ul></tt> element with the <tt>id</tt> value <tt>menu</tt>? # <tt>#menu ul li</tt> # <tt>#menu li</tt> # <tt>ul #menu li</tt> |- | align="right" | ''' 3.''' | Which of the following is the correct command to cancel a timeout set with the command <tt>t=window.timeout("HideMenu(current)",500);</tt>? # <tt>t = window.clearTimeout();</tt> # <tt>window.clearTimeout(t);</tt> # <tt>window.setTimeout("HideMenu(current)",0);</tt> |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | a. The drop-down menu uses <tt>float:left</tt> to make a horizontal menu. |- | align="right" | ''' 2.''' | b. The correct selector is <tt>#menu li</tt>. |- | align="right" | '''3.''' | b. The correct command is <tt>window.clearTimeout(t)</tt>. |} === Exercises === If you want to gain more experience working with JavaScript drop-down menus, try the following exercises: * Change the drop-down menu to contain the appropriate links for your site, or for an imaginary site. (You only need to change the HTML file, but each menu item needs the <tt>class</tt> value of <tt>menu</tt>.) * Modify the CSS file for the drop-down menu to use colors, borders, or other attributes of your choice. 85wgbquwiq42soyzaecpd0hf9ao4c0o User:Moncur/22 2 2096 5782 5721 2007-06-18T20:33:05Z Moncur 24 5782 wikitext text/x-wiki <!-- =22. Creating a JavaScript Game= == About the Game == Although it's possible to create just about any game with JavaScript, a card game is a simple choice because the graphics are easy to create and the gameplay is relatively simple. In this hour, you'll create a Poker Solitaire game using HTML, JavaScript, and a bit of CSS. === How to Play === Poker Solitaire is played on a five by five board. The deck of cards is shuffled, and you draw one card from the deck at a time and place it anywhere on the board. Your goal is to make each column, row, and diagonal row form the best possible poker hand. For example, in [Figure 22.1], several cards have been placed on the board and the score for the completed column and row is shown. === Scoring === Because there are no other players, the game will be scored. The script will calculate the score for each column, row, and diagonal on the board, and combine them for a total score. Points are awarded for poker hands, with more difficult (and less likely) combinations scoring higher: * Pair1 point (Two cards of the same number and different suits) * Two pair2 points (Two pairs) * Three of a kind3 points (Three cards of the same number) * Straight4 points (Five cards in numeric sequence) * Full house8 points (One pair plus three of a kind) * Four of a kind25 points (All four cards of the same number) * Flush5 points (Five cards of the same suit) * Straight flush50 points (Five cards of the same suit, in sequence) * Royal flush250 points (10, Jack, Queen, King, and Ace of the same suit) In the JavaScript version of the game, the score for each row or column will be displayed as you complete it, and the total score will be updated in real time as you place each card on the board. === Creating Graphics=== This game will require some graphics—you'll need 52 images, one for each card in a standard deck. One more image, <tt>blank.gif</tt>, will be used to mark the spaces on the board that don't yet contain cards. You can download all of the graphics for the game from this book's website. All of the graphics will be the same size, including the blank space image. The board will consist entirely of blanks at the start of a game, and images will be switched to the appropriate card when the user clicks to place a card. The images I used in the example are all 53 x 68 pixels. When you're working with a large number of graphics, filenames become important. It will make coding easier if you decide in advance on a naming scheme for the images. In this case, the filenames will include a number for the card's rank (113, with 1 representing Ace, and 11, 12, and 13 representing Jack, Queen, and King) and a letter for the suit. For example, the Seven of Hearts image would be <tt>7h.gif</tt>, and the Queen of Spades would be <tt>12s.gif</tt>. == Creating the HTML Document == The HTML document for the game is straightforward. In keeping with the unobtrusive scripting strategies you've learned in previous hours, it contains no JavaScriptjust a <tt><script></tt> tag that imports a script that will handle the game. Similarly, a separate CSS file will be used for styles. [Listing 22.1] shows the HTML document. ; Listing 22.1. The HTML Document for the Poker Solitaire Game <pre><html> <head> <title>Poker Solitaire</title> <script language="JavaScript" type="text/javascript" src="pokersol.js"> </script> <link rel="stylesheet" type="text/css" href="pokersol.css"> </head> <body> <table> <tr> <td colspan="2"><h1>Poker Solitaire</h1></td> <td> <img id="card1" src="blank.gif" height="68" width="53"> </td> <td> <img id="card2" src="blank.gif" height="68" width="53"> </td> <td> <img id="card3" src="blank.gif" height="68" width="53"> </td> <td> <img id="card4" src="blank.gif" height="68" width="53"> </td> <td> <img id="card5" src="blank.gif" height="68" width="53"></td> <td class="score" id="row0"> </td> </tr> <tr> <td> <img id="dcard" border="0" src="blank.gif" height="68" width="53"></td> <td> </td> <td> <img id="card6" src="blank.gif" height="68" width="53"></td> <td> <img id="card7" src="blank.gif" height="68" width="53"></td> <td> <img id="card8" src="blank.gif" height="68" width="53"></td> <td> <img id="card9" src="blank.gif" height="68" width="53"></td> <td> <img id="card10" src="blank.gif" height="68" width="53"></td> <td class="score" id="row1"> </td> </tr> <tr> <td valign="top" id="status"> Next Card</td> <td> </td> <td> <img id="card11" src="blank.gif" height="68" width="53"></td> <td> <img id="card12" src="blank.gif" height="68" width="53"></td> <td> <img id="card13" src="blank.gif" height="68" width="53"></td> <td> <img id="card14" src="blank.gif" height="68" width="53"></td> <td> <img id="card15" src="blank.gif" height="68" width="53"></td> <td class="score" id="row2"> </td> </tr> <tr> <td id="total"> <b>Total Score:</b> <div id="totalscore">0</td> <td> </td> <td> <img id="card16" src="blank.gif" height="68" width="53"></td> <td> <img id="card17" src="blank.gif" height="68" width="53"></td> <td> <img id="card18" src="blank.gif" height="68" width="53"></td> <td> <img id="card19" src="blank.gif" height="68" width="53"></td> <td> <img id="card20" src="blank.gif" height="68" width="53"></td> <td class="score" id="row3"> </td> </tr> <tr> <td> <a id="newgame" href="#"><b>Start Over</b></a></td> <td> </td> <td> <img id="card21" border=0 src="blank.gif" height=68 width=53></td> <td> <img id="card22" border=0 src="blank.gif" height=68 width=53></td> <td> <img id="card23" border=0 src="blank.gif" height=68 width=53></td> <td> <img id="card24" border=0 src="blank.gif" height=68 width=53></td> <td> <img id="card25" border=0 src="blank.gif" height=68 width=53></td> <td class="score" id="row4"> </td> </tr> <tr> <td> </td> <td class="score" id="diag1"> </td> <td class="score" id="col0"> </td> <td class="score" id="col1"> </td> <td class="score" id="col2"> </td> <td class="score" id="col3"> </td> <td class="score" id="col4"> </td> <td class="score" id="diag2"> </td> </table> </body> </html></pre> The game board is laid out using an HTML table. Although the game board is five by five squares, the table contains eight columns and six rows. The leftmost column will be used for displaying the next card and the score, as well as a Start Over link. The remaining columns and rows will be used to display the score for each column and row as they are filled with cards. The 25 spaces on the board are given unique <tt>id</tt> values, <tt>card1</tt> tHRough <tt>card25</tt>. These will be used by the script to determine which card the user clicks on, and also to replace the appropriate image when a card is placed. The table cells for displaying scores are given the <tt>id</tt> values <tt>row0-4</tt>, <tt>col0-4</tt>, <tt>diag1</tt>, and <tt>diag2</tt>. Save the HTML document in a folder, or download it from this book's website. You can load it into a browser to see the game layout, as shown in [Figure 22.2]. The game won't be playable until you add the script you'll develop in the next section. == Creating the Script == Because this is the longest script in this book, it will be easier to understand if you look at some of its key functions before the entire script. The following sections discuss how the script will manage the game. === Using Objects to Store Cards === Because JavaScript is designed to work with numbers but not specifically with playing cards, you can create a custom object to make it easier to manage the card game. The following code is the constructor for a <tt>Card</tt> object: <pre>// make a filename for an image, given Card object function fname() { return this.num + this.suit + ".gif"; } // constructor for Card objects function Card(num,suit) { this.num = num; this.suit = suit; this.fname = fname; }</pre> Each <tt>Card</tt> object will represent a space on the board. It has two properties, <tt>num</tt> and <tt>suit</tt>, and an <tt>fname()</tt> method that returns the filename for the graphic representing the card. === Setting Up the Board === Along with the graphics on the screen, the <tt>board</tt> array will represent the game board by storing 25 <tt>Card</tt> objects, one for each space. Here's the code that will set up the board: <pre>// array for board contents board = new Array(26); for (i=1; i<26; i++) { board[i] = new Card(0,"x"); obj=document.getElementById("card"+i); obj.src = "blank.gif"; obj.onclick = PlaceCard; }</pre> The first line creates the <tt>board</tt> array. The <tt>for</tt> loop then sets up each space on the board. First, it places a blank card in the array. Next, it finds the object for the corresponding space on the screen. It makes sure <tt>blank.gif</tt> is displayed in each space, and sets an event handler for <tt>onClick</tt> events to call the <tt>PlaceCard()</tt> function, which will handle the user's clicks on the board. === Shuffling the Deck === The <tt>deck</tt> array will be used to simulate a deck of cards. The following code fills the array with <tt>Card</tt> objects: <pre>deck = new Array(53); for (i=1; i<14; i++) { deck[i] = new Card(i,"c"); deck[i+13] = new Card(i,"h"); deck[i+26] = new Card(i,"s"); deck[i+39] = new Card(i,"d"); }</pre> To save time, the statements in the <tt>for</tt> loop insert cards of each of the four suits into the deck. At this point, the cards are in order. The next step is to shuffle the deck: <pre>n = Math.floor(100 * Math.random() + 200); for (i=1; i<n; i++) { c1 = Math.floor(52*Math.random() + 1); c2 = Math.floor(52*Math.random() + 1); temp = deck[c2]; deck[c2] = deck[c1]; deck[c1] = temp; }</pre> This code starts by choosing a random number, <tt>n</tt>, ranging from 200 to 299. It then loops <tt>n</tt> times using a <tt>for</tt> loop. Each iteration of the loop chooses two random cards in the deck and swaps their positions. This ensures a reasonably random deck that still contains exactly 52 unique cards. === Placing Cards on the Board === The <tt>PlaceCard()</tt> function will be called by an event handler when the user clicks on a space on the board. This function begins by determining which space was clicked: <pre>function PlaceCard(e) { if (!e) var e = window.event; // which space on the board was clicked? thiscard = (e.target) ? e.target: e.srcElement; pos = thiscard.id.substring(4); if (board[pos].suit != "x") { return; }</pre> These statements use the <tt>target</tt> or <tt>srcElement</tt> property to determine which space was clicked. The <tt>pos</tt> variable stores the numeric position on the board (125), calculated by removing "card" from the <tt>id</tt> value using the <tt>substring()</tt> method. The final <tt>if</tt> statement checks whether a card is already in place, and returns to prevent placing a card over an existing card. The next section of <tt>PlaceCard()</tt> does the actual card placement: <pre>drawcard=document.getElementById("dcard"); thiscard.src = deck[nextcard].fname(); drawcard.src = "blank.gif"; board[pos] = deck[nextcard]; nextcard++; Score();</pre> The <tt>nextcard</tt> variable keeps track of the next card in the deck, starting at one for the top card. This function uses <tt>getElementById()</tt> to find the object for the "next card" display, and then uses the <tt>fname()</tt> method to assign the appropriate filename to the <tt>src</tt> property of the <tt>image</tt> object. The <tt>board</tt> array is updated with the new card, <tt>nextcard</tt> is incremented, and the <tt>Score()</tt> function is called to update the scores. The next task for <tt>PlaceCard()</tt> is to check whether the game is over: <pre> // Game over? if (nextcard > 25) { EndGame(); } else { drawcard.src = deck[nextcard].fname(); // cache next image for draw pile nexti = new Image(53,68); nexti.src = deck[nextcard+1].fname(); } }</pre> If 25 cards have been placed, the <tt>EndGame()</tt> function is called to end the game. Otherwise, the next card is displayed in the display. The next card image (not yet displayed) is also preloaded so the game will respond quickly. === Scoring Columns, Rows, and Diagonals === The <tt>Score()</tt> function will update the scores for each column, row, and diagonal each time a card is placed. Here is the code for the <tt>Score()</tt> function: <pre>function Score() { score=document.getElementById("totalscore"); totscore = 0; // rows for (x=0; x<5; x++) { r = x * 5 + 1; a = AddScore(board[r],board[r+1],board[r+2],board[r+3],board[r+4],"row"+x); totscore += a; } // columns for (x=0; x<5; x++) { r = x + 1; a = AddScore(board[r],board[r+5],board[r+10],board[r+15],board[r+20],"col"+x); totscore += a; } // diagonals a = AddScore(board[5],board[9],board[13],board[17],board[21],"diag1") totscore += a; a = AddScore(board[1],board[7],board[13],board[19],board[25],"diag2") totscore += a; score.firstChild.nodeValue = totscore; }</pre> This function uses <tt>for</tt> loops to process each row and each column. It then handles the diagonals. A separate function, <tt>AddScore()</tt>, will handle the actual detection of poker hands in each of these. The <tt>totscore</tt> variable stores a total of all of the scores. Each time a card is placed, the updated total score is displayed in the left column. === Adding Up Scores === The <tt>AddScore()</tt> function is called by <tt>Score()</tt> for each column, row, and diagonal. This function determines which poker hand, if any, is represented by the cards passed to it. It then updates the appropriate score box on the board with the row's score, and returns the numeric value to be used by <tt>Score()</tt>. The <tt>AddScore()</tt> function begins by setting up some variables: <pre>function AddScore(c1,c2,c3,c4,c5,scorebox) { obj=document.getElementById(scorebox); straight = false; flush = false; royal = false; pairs = 0; three = false; // sorted array for convenience nums = new Array(5); nums[0] = c1.num; nums[1] = c2.num; nums[2] = c3.num; nums[3] = c4.num; nums[4] = c5.num; nums.sort(numsort);</pre> The function first sets up a number of flag variables, such as <tt>straight</tt> and <tt>flush</tt>, to keep track of which poker hand it finds. It then stores the five card values in an array and sorts it to make it easy to detect straights. The function continues by testing for each hand, one at a time. For example, this <tt>if</tt> statement tests for a flush by comparing card suits: <pre>// flush if (c1.suit == c2.suit && c2.suit == c3.suit && c3.suit == c4.suit && c4.suit == c5.suit) { flush = true; }</pre> After doing each test, <tt>AddScore()</tt> updates the board with a description of the poker hand and score for the row and returns a numeric score: <pre>if (flush) { obj.innerHTML="Flush<br>5" return 5; }</pre> === Ending the Game === The game ends when all 25 spaces on the board have been filled with cards and the <tt>EndGame()</tt> function is called. Because the score is updated in real time and no moves can be made after all cards are placed, the only thing left for this function to do is to display a "Game Over" message: <pre>function EndGame() { stat=document.getElementById("status"); stat.innerHTML="<b>Game Over</b>"; }</pre> This uses <tt>innerHTML</tt> to display a message in the <tt>status</tt> element, which normally displays "Next Card" to label the draw card. |} === Adding Style with CSS === The game will also need a small CSS file to define the appearance of some of the game elements. [Listing 22.2] shows the CSS file for the Poker Solitaire game. ; Listing 22.2. The CSS File for the Poker Solitaire Game <pre>h1 { font-size: 125%; } td.score { font-size: 80%; border: 1px solid silver; width: 53px; } # total { border: 1px solid black; font-size: 105%; padding: 5px; } # totalscore { text-align: center; }</pre> The CSS rules set the size of H1 headers, and then define a border, width, and font size for <tt>td</tt> elements in the <tt>score</tt> class, which will display each row's score. Finally, a border, font size, and padding are defined for the "Total Score" display, and the numeric score is centered. == Try It Yourself Putting It All Together == To get the game working, you'll need to use the complete JavaScript file that incorporates the functions you learned about earlier in this hour. [Listing 22.3] shows the JavaScript file for the game. ; Listing 22.3. The Complete JavaScript File for the Poker Solitaire Game <pre>// global variables var tally = new Array(14) var nextcard = 1; var nexti = new Image(53,68); // numeric comparison for sort() function numsort(a, b) { return a - b; } function InitGame() { if (!document.getElementById) return; stat=document.getElementById("status"); stat.innerHTML="Next Card"; nextcard = 1; // array for board contents board = new Array(26); for (i=1; i<26; i++) { board[i] = new Card(0,"x"); obj=document.getElementById("card"+i); obj.src = "blank.gif"; obj.onclick = PlaceCard; } // fill the deck (in order, for now) deck = new Array(53); for (i=1; i<14; i++) { deck[i] = new Card(i,"c"); deck[i+13] = new Card(i,"h"); deck[i+26] = new Card(i,"s"); deck[i+39] = new Card(i,"d"); } // Clear the scores Score(); // shuffle the deck n = Math.floor(100 * Math.random() + 200); for (i=1; i<n; i++) { c1 = Math.floor(52*Math.random() + 1); c2 = Math.floor(52*Math.random() + 1); temp = deck[c2]; deck[c2] = deck[c1]; deck[c1] = temp; } // draw the first card on screen next=document.getElementById("dcard"); next.src = deck[nextcard].fname(); // preload the next image nexti.src = deck[nextcard+1].fname(); obj=document.getElementById("newgame") obj.onclick=InitGame; } // end InitGame // place the draw card on the board where clicked function PlaceCard(e) { if (!e) var e = window.event; // which space on the board was clicked? thiscard = (e.target) ? e.target: e.srcElement; pos = thiscard.id.substring(4); if (board[pos].suit != "x") { return; } drawcard=document.getElementById("dcard"); thiscard.src = deck[nextcard].fname(); drawcard.src = "blank.gif"; board[pos] = deck[nextcard]; nextcard++; Score(); // Game over? if (nextcard > 25) { EndGame(); } else { drawcard.src = deck[nextcard].fname(); // cache next image for draw pile nexti = new Image(53,68); nexti.src = deck[nextcard+1].fname(); } } // check for completed rows and display row scores function Score() { score=document.getElementById("totalscore"); totscore = 0; // rows for (x=0; x<5; x++) { r = x * 5 + 1; a = AddScore(board[r],board[r+1],board[r+2],board[r+3],board[r+4] ,"row"+x); totscore += a; } // columns for (x=0; x<5; x++) { r = x + 1; a = AddScore(board[r],board[r+5],board[r+10],board[r+15],board[r+20] [[Image:ccc.gif|14px]],"col"+x); totscore += a; } // diagonals a = AddScore(board[5],board[9],board[13],board[17] [[Image:ccc.gif|14px]],board[21],"diag1") totscore += a; a = AddScore(board[1],board[7],board[13],board[19] [[Image:ccc.gif|14px]],board[25],"diag2") totscore += a; score.firstChild.nodeValue = totscore; } // check for poker hands function AddScore(c1,c2,c3,c4,c5,scorebox) { obj=document.getElementById(scorebox); straight = false; flush = false; royal = false; pairs = 0; three = false; // sorted array for convenience nums = new Array(5); nums[0] = c1.num; nums[1] = c2.num; nums[2] = c3.num; nums[3] = c4.num; nums[4] = c5.num; nums.sort(numsort); // no score if row is not filled if (c1.num == 0 || c2.num == 0 || c3.num == 0 | | c4.num == 0 || c5.num == 0) { obj.innerHTML=""; return 0; } // flush if (c1.suit == c2.suit && c2.suit == c3.suit && c3.suit == c4.suit && c4.suit == c5.suit) { flush = true; } // straight if (nums[4] - nums[3] == 1 && nums[3] - nums[2] == 1 && nums[2] - nums[1] == 1 && nums[1] - nums[0] == 1) { straight = true; } // royal straight (10, J, Q, K, A) if (nums[1] == 10 && nums[2] == 11 && nums[3] == 12 && nums[4] == 13 && nums[0] == 1) { straight = true; royal = true; } // royal flush, straight flush, straight, flush if (straight && flush && royal) { obj.innerHTML="Royal Flush<br>250"; return 250; } if (straight && flush) { obj.innerHTML="Straight Flush<br>50"; return 50; } if (straight) { obj.innerHTML="Straight<br>4"; return 4; } if (flush) { obj.innerHTML="Flush<br>5" return 5; } // tally array is a count for each card value for (i=1; i<14; i++) { tally[i] = 0; } for (i=0; i<5; i++) { tally[nums[i]] += 1; } for (i=1; i<14; i++) { // four of a kind if (tally[i] == 4) { obj.innerHTML="Four of a Kind<br>25"; return 25; } if (tally[i] == 3) three = true; if (tally[i] == 2) pairs += 1; } // full house if (three && pairs == 1) { obj.innerHTML="Full House<br>8"; return 8; } // two pair if (pairs == 2) { obj.innerHTML="Two Pair<br>2"; return 2; } // three of a kind if (three) { obj.innerHTML="Three of a Kind<br>3"; return 3; } // just a pair if (pairs == 1) { obj.innerHTML="Pair<br>1"; return 1; } // nothing obj.innerHTML="No Score<br>0"; return 0; // end AddScore() } // game over - final score function EndGame() { stat=document.getElementById("status"); stat.innerHTML="<b>Game Over</b>"; } // make a filename for an image, given Card object function fname() { return this.num + this.suit + ".gif"; } // constructor for Card objects function Card(num,suit) { this.num = num; this.suit = suit; this.fname = fname; } // event handlers to start game window.onload=InitGame;</pre> |} Watch Out Because this is the longest code listing in this book, I recommend you download the files from this book's website rather than type it all in. You'll need the card graphics to make it work anyway. To try the game, make sure you have everything you need in one folder: * The HTML document * The CSS file (pokersol.css) * The JavaScript file (pokersol.js) * All 53 graphics (52 cards plus <tt>blank.gif</tt>) You can now load the HTML file to test the game. [Figure 22.3] shows the Poker Solitaire game after a complete gameit shouldn't take you long to beat my score. == Summary == In this hour, you've applied your JavaScript knowledge to create a complete applicationa playable game. Along the way, you've used objects to represent playing cards, used graphics and the W3C DOM to display the game, and learned some of the issues involved in a complex application. In the next hour, you'll return to practical applications of JavaScript with some advanced examples using the W3C DOM. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' Q1:''' | Because the spaces on the board aren't links, is there a way to make the cursor indicate that they can be clicked on? |- | align="right" | ''' A1: ''' | Yes. You can do this with an <tt>onMouseOver</tt> event handler that changes the <tt>style.cursor</tt> property to <tt>pointer</tt> for the spaces on the board. You could also use a rollover effect that changes the graphic, as demonstrated in [Hour 19], "Using Graphics and Animation." |- | align="right" | ''' Q2:''' | Can I add images or other HTML to the page without messing up the script? |- | align="right" | ''' A2: ''' | Yes. Because the game script works with <tt>id</tt> attributes rather than making any assumptions about which <tt>image</tt> objects to change, it shouldn't be affected by anything you add to the page, unless you use a conflicting <tt>id</tt> value. |- | align="right" | '''Q3:''' | What's a good strategy for playing this game? |- | align="right" | ''' A3: ''' | A simple approach is to dedicate each of the first four rows to a suit, so you have very good odds of scoring a flush on each row. As you do this, try to place cards where they'll form pairs with cards in other columns. |} ===Quiz Questions=== Test your knowledge of the JavaScript techniques you used in this hour by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | Which property of an <tt>image</tt> object do you change to display a different image? # <tt>HRef</tt> # <tt>src</tt> # <tt>fname</tt> |- | align="right" | ''' 2.''' | Which of the following statements converts the text "card21" to the number 21? # <tt>pos = thiscard.id.substring(4);</tt> # <tt>pos = thiscard.id.numValue;</tt> # <tt>pos = 1 * thiscard.id;</tt> |- | align="right" | ''' 3.''' | Assuming <tt>Card</tt> objects have been defined as in this hour, which statement creates a new <tt>Card</tt> object? # <tt>c = Card(12,"s");</tt> # <tt>c = new Card(12,"s");</tt> # <tt>var c (Card);</tt> |} ===Quiz Answers=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | b. You change the <tt>src</tt> property to display a different image. |- | align="right" | '''2.''' | a. The <tt>substring()</tt> method removes the first four letters of the string. |- | align="right" | ''' 3.''' | b. The <tt>new</tt> keyword is used to create a new instance of an object. |} == Exercises == If you want to gain more experience creating games in JavaScript, try the following exercises: * Spend some time playing the game and see if you find any bugs in the script. Notice how difficult it can be to fully test an application like thisyou won't know for certain that it scores a royal flush correctly until you get one. * Using the techniques described in [Hour 19], try adding a rollover effect that changes the <tt>blank.gif</tt> appearance when you move over a square where you can drop the current card. Make sure the image does not change if there is already a card placed on the space. 2aq6q9schwiaq2kzu6qeuvvrorxaqwf User:Moncur/23 2 2097 5783 5719 2007-06-18T20:33:14Z Moncur 24 5783 wikitext text/x-wiki <!-- =23. Creating JavaScript Applications= == Creating a Scrolling Window == One of the most common, and the most unfortunate, early uses of JavaScript was for scrolling messages, which crept across the browser's status line giving you information one letter at a time rather than making use of the whole page. In this section, you'll create a different kind of scrolling message. This one scrolls a large block of text vertically within a window, similar to the credits at the end of a movie. This type of scrolling message is easier to read, is standards compliant, and can include links or other HTML features. ; By the Way: This example uses the same techniques as the animated slideshow in [Hour 19], "Using Graphics and Animation." The only difference is that the animated text is only visible within a box, making it appear to scroll. === The HTML Document === The HTML document for this example includes a link to the script, a link to a CSS style sheet, the text displayed on the page, and the text that will be scrolled within the box. [Listing 23.1] shows the HTML for this example. ; Listing 23.1. The HTML Document for the Scrolling Window <pre><html> <head> <title>A DOM Scrolling Window</title> <script language="JavaScript" type="text/javascript" src="scroll.js"> </script> <link rel="stylesheet" type="text/css" href="scroll.css"> </head> <body> <h1>Scrolling Window Example</h1> <p>This example shows a scrolling window created using JavaScript and the W3C DOM. The red-bordered window below is actually a layer that shows a clipped portion of a larger layer.</p> <div id="thewindow"> <div id="thetext"> <p>This is the first paragraph of the scrolling message. The message is created with ordinary HTML.</p> <p>Entries within the scrolling area can use any HTML tags. They can contain <a href="http://www.jsworkshop.com/">Links</a>.</p> <p>There's no limit on the number of paragraphs that you can include here. They don't even need to be formatted as paragraphs.</p> <ul> <li>For example, you could format items using a bulleted list.</li> </ul> <p>The scrolling ends when the last part of the scrolling text is on the screen. You've reached the end.</p> </body> </html></pre> The <tt></tt> tags in this document create two nested layers: One, <tt>thewindow</tt>, will form the small window for text to display in. The other, <tt>thetext</tt>, contains the text to scroll. You can use any HTML here, although it should be able to wrap to the small window. === The CSS File === The CSS file for this example, shown in [Listing 23.2], sets margins and borders for the two <tt></tt> elements. The box's <tt>position</tt> property is set to <tt>relative</tt>, so it will be laid out normally within the document, and the <tt>position</tt> property for the scrolling text is set to <tt>absolute</tt> so it can be repositioned by the script. ; Listing 23.2. The CSS Style Sheet for the Scrolling Window <pre>#thewindow { position:relative; width:180; height:150; overflow:hidden; border: 2px solid red; } # thetext { position: absolute; width: 170; left: 5; top: 100; }</pre> Because the text doesn't all fit in the small window, you'll only see part of it at a time. The <tt>overflow</tt> property on the window layer prevents the rest of the content from showing. Your script will manipulate the scrolling text's <tt>style.top</tt> property to move it relative to the window, creating a scrolling effect. ; By the Way: The text layer is actually 10 pixels narrower than the window layer. This, along with the <tt>left</tt> property, creates a small margin of white space on either side of the window, preventing any of the text from being obstructed. === The JavaScript File === The JavaScript code for this example uses a function, <tt>Scroll()</tt>, that is called repeatedly by a timeout. [Listing 23.3] shows the JavaScript file for this example. ; Listing 23.3. The JavaScript File for the Scrolling Window <pre>// global variable for position of the scrolling window var pos=100; function Scroll() { if (!document.getElementById) return; obj=document.getElementById("thetext"); pos -=1; if (pos < 0-obj.offsetHeight+130) return; obj.style.top=pos; window.setTimeout("Scroll();",30); } // Start scrolling when the page loads window.onload = Scroll;</pre> The first line defines a global variable, <tt>pos</tt>, to store the current scroll position. The <tt>Scroll()</tt> function subtracts 1 from <tt>pos</tt> and checks its value. If the scrolling has reached the end, the function exits; otherwise, it sets the object position and calls the <tt>Scroll()</tt> function again using a timeout. ; Did you Know?: Notice the <tt>if</tt> statement at the beginning of the function. This is a simple example of feature sensing, described in [Hour 15], "Unobtrusive Scripting"if the browser doesn't support the <tt>getElementById()</tt> method, the function exits rather than cause errors. To try this example, make sure you have all three files in the same folder: the HTML document, the CSS file (<tt>scroll.css</tt>), and the JavaScript file (<tt>scroll.js</tt>) and load the HTML document into a browser. [Figure 23.1] shows this example in action, after the scrolling text has reached the end. == Style Sheet Switching with JavaScript == Suppose you want to offer your visitors a choice of different ways of viewing your sitefor example, a choice of large or small fonts, or different background colors. Although you can use the <tt>style</tt> properties of elements within a page to make these changes individually, it would take a lot of code to change a page between drastically different styles. One alternative is to create two or more completely separate style sheets, and use JavaScript to switch between them. This allows the user to have a large amount of control over the site's appearance without using a large and complex script. === Creating the HTML Document === First, you can create a basic HTML document for the style-switching example. This document will include a <tt><script></tt> tag for the script you'll create later, as well as links to two different style sheets. The HTML document for this example is shown in [Listing 23.4]. ; Listing 23.4. The HTML Document for the Style-Switching Example <pre><html> <head> <title>Style Sheet Example</title> <link rel="stylesheet" type="text/css" href="style1.css"> <link rel="stylesheet" type="text/css" href="style2.css" disabled> <script language="javascript" type="text/javascript" src="styleswitch.js"> </script> </head> <body> <h1>multiple-choice styles</h1> <p>This is a standard paragraph of text. Its font, margins, colors, justification, and other attributes depend on the style sheet you select. This paragraph includes some text in <b>bold</b> and <i>italics</i>. </p> <p>You can select one of three styles for this document: </p> <ul> <li><a href="#" onclick="Style(0,true);">Style sheet # 1</a></li> <li><a href="#" onclick="Style(1,true);">Style sheet # 2</a></li> <li><a href="#" onclick="Style(0,false);">No style sheet</a></li> </ul> <p>These links call a short JavaScript function that enables one of this document's two linked external style sheets. You can edit the style sheets to style this document in two different ways, without changing any HTML.</p> </body> </html></pre> Although most of the document is just sample text to show off the styles of the different style sheets, it has several important components to make this technique work: * The <tt><script></tt> tag uses the <tt>src</tt> attribute to include a script, <tt>styleswitch.js</tt>. * There are two <tt><link></tt> tags to attach two external style sheets, <tt>style1.css</tt> and <tt>style2.css</tt>. The second tag includes the <tt>disabled</tt> attribute, so the document will be styled using only <tt>style1.css</tt> by default. * The three links within the <tt><li></tt> list items have event handlers that call the <tt>Style()</tt> function to switch styles. ; By the Way: Some browsers don't correctly support the <tt>disabled</tt> attribute in HTML. The script you create later will use JavaScript to disable the second style sheet by default to ensure that only one style sheet is used, regardless of the browser. Save the HTML document in a folder. You'll be adding two style sheets and a script file to the folder to complete the example. If you load the document into a browser before creating the style sheets, it will be displayed without styles. [Figure 23.2] shows how the document looks with no styles applied. === Creating the First Style Sheet === Next, you can create the first of the two style sheets. [Listing 23.5] shows the complete style sheet <tt>style1.css</tt>. ; Listing 23.5. The First Style Sheet for the Style-Switching Example (<tt>style1.css</tt>) <pre>body { font-family: Arial, Helvetica, sans-serif; font-size: 12pt; } P { margin-left: 10%; margin-right: 10%; text-align: justify; text-indent: 3%; } B { color: red; } I { color: DarkViolet; } H1 { font-size: 300%; text-align: center; text-transform: capitalize; } UL { margin-left: 20%; margin-right: 20%; } LI { margin-top: 10px;}</pre> Save this style sheet as <tt>style1.css</tt> in the same folder as the HTML document. This style sheet assigns some basic styles to the body, and to specific tags: <tt><nowiki><p></nowiki></tt>, <tt><nowiki><h1></nowiki></tt>, and so on. Because this is the default style sheet, it will be used if you load the HTML document now. [Figure 23.3] shows the document as styled by this style sheet. === Creating the Second Style Sheet === The second style sheet, <tt>style2.css</tt>, uses some more dramatic styles and is unlikely to be suited to all viewers. This sheet is disabled by default. [Listing 23.6] shows the second style sheet. ; Listing 23.6. The Second Style Sheet for the Style-Switching Example (<tt>style2.css</tt>) <pre>body { font-family: Times, "Times New Roman", sans-serif; font-size: 14pt; } P { margin-left: 20%; margin-right: 20%; text-align: left; text-indent: 0%; } B { color: black; background-color: aqua; } I { color: red;} H1 { font-size: 200%; text-align: right; text-transform: uppercase; } UL { margin-left: 30%; margin-right: 30%; background-color: yellow; } LI { margin-top: 20px;}</pre> Save this style sheet as <tt>style2.css</tt> in the same folder as the HTML document. === Creating the Script === You can use JavaScript to enable or disable style sheets. The <tt><link></tt> elements that you used to attach the two style sheets to the HTML document are objects in the DOM, and you can manipulate them using DOM methods. In this example, you will use the <tt>getElementsByTagName()</tt> method to find all of the <tt><link></tt> elements, and then enable one and disable the other. [Listing 23.7] shows the complete JavaScript file. ; Listing 23.7. The JavaScript File for the Style-Switching Example (<tt>styleswitch.js</tt>) <pre>function Style(n,enable) { if (!document.getElementsByTagName) return; links = document.getElementsByTagName("link"); links[n].disabled=!enable; links[1-n].disabled=true; } Style(0,true);</pre> This script defines the <tt>Style()</tt> function, which accepts two parameters. The first, <tt>n</tt>, specifies the style sheet to activate. The second parameter, <tt>enable</tt>, specifies whether to enable the new style sheet (<tt>true</tt>) or to disable all style sheets (<tt>false</tt>). This feature is used by the No Style Sheet link. ; Did you Know?: This example uses <tt>getElementsByTagName</tt>, but you could also assign an <tt>id</tt> attribute to each <tt><link></tt> tag and then use <tt>document.getElementById</tt> to find the object for each one individually. The script enables (or disables, depending on the parameter) the chosen style sheet, and always disables the other sheet. The last line of the script calls the <tt>Style()</tt> function to select the first style sheet, just in case the browser doesn't support the <tt>disabled</tt> attribute. To try the example, make sure you have all four files in the same folder: The HTML document, the two style sheets (<tt>style1.css</tt> and <tt>style2.css</tt>), and the script file (<tt>styleswitch.js</tt>). Load the HTML document into a browser and try clicking the links to change styles. [Figure 23.4] shows the document after the second style sheet has been selected. ; Try It Yourself Creating a Dynamic Form In [Hour 11], "Getting Data with Forms," you learned how JavaScript can work with data from HTML forms, and change form elements. Using the W3C DOM, you can take this one step further, creating a script that can add elements to a form or show or hide sections of a form. === Creating the HTML Document === [Listing 23.8] shows the HTML document for this example, which defines an order form. The form will have two dynamic features: first, the Ship To address fields aren't shown unless they're needed, and second, a button enables you to add additional item fields to the form. ; Listing 23.8. The HTML Document for the Dynamic Form Example <pre><html> <head> <title>Dynamic Order Form</title> <script language="JavaScript" type="text/javascript" src="dform.js"> </script> </head> <body> <h1>Order Form</h1> <hr> <form name="form1"> <b>Bill to:</b><br> <b>Name:</b> <input type="text" name="customer" size="20"><br> <b>Address 1:</b> <input type="text" name="addr1" size="20"><br> <b>Address 2:</b> <input type="text" name="addr2" size="20"><br> <b>City:</b> <input type="text" name="city" size="15"> <b>State:</b> <input type="text" name="state" size="4"> <b>Zip:</b> <input type="text" name="zip" size="9"> <hr> <b>Ship to:</b><br> <input type="radio" name="shipopt" value="same" checked [[Image:ccc.gif|14px]] onClick="Show(0);"> <b>Same Address</b> <input type="radio" name="shipopt" value="other" onClick="Show(1);"> <b>Other Address</b> <div ID="shipto" style="display: none;"> <br> <b>Name:</b> <input type="text" name="shipname" size="20"><br> <b>Address 1:</b> <input type="text" name="shipaddr1" size="20"><br> <b>Address 2:</b> <input type="text" name="shipaddr2" size="20"><br> <b>City:</b> <input type="text" name="shipcity" size="15"> <b>State:</b> <input type="text" name="shipstate" size="4"> <b>Zip:</b> <input type="text" name="shipzip" size="9"> <hr> <div ID="items"> <b>Qty:</b> <input type="text" name="qty1" size="3"> <b>Item:</b> <input type="text" name="item1" size="45"> <br> <input type="button" value="Add an Item" onClick="AddItem();" ID="add"> <hr> <input type="submit" value="Continue..."> </form> </body> </html></pre> Save this HTML document in a folder. If you load it into a browser, you'll see the form's default appearance, but the dynamic features won't work yet. [Figure 23.5] shows the default look of the form. ; Adding the Script The script for this example will include two functions: <tt>AddItem()</tt>, for adding items to the form, and <tt>Show()</tt>, for showing or hiding the ship-to address. [Listing 23.9] shows the script file. ; Listing 23.9. The JavaScript File for the Dynamic Form Example <pre>// global variable var items=1; function AddItem() { if (!document.getElementById) return; // Add an item to the form div=document.getElementById("items"); button=document.getElementById("add"); items++; newitem="<b>Qty: </b>"; newitem+="<input type=\"text\" name=\"qty" + items; newitem+="\" size=\"3\"> "; newitem+="<b>Item: </b>"; newitem+="<input type=\"text\" name=\"item" + items; newitem+="\" size=\"45\"><br>"; newnode=document.createElement("span"); newnode.innerHTML=newitem; div.insertBefore(newnode,button); } function Show(a) { if (!document.getElementById) return; //Hide or show ship-to address obj=document.getElementById("shipto"); if (a) obj.style.display="block"; else obj.style.display="none"; }</pre> Here's a breakdown of how this script works: * The first line defines a global variable, <tt>items</tt>, to keep track of the number of items. This is used to assign a unique <tt>name</tt> attribute to each <tt><input></tt> tag as they are added. * The <tt>AddItem()</tt> function adds additional Quantity and Item fields to the form using the <tt>insertBefore()</tt> DOM method. * The <tt>Show()</tt> function uses the <tt>style.display</tt> property to either show or hide the section with the <tt>id</tt> value <tt>shipto</tt>. To try the script, save it as <tt>dform.js</tt> (or download the files from this book's website) and load the HTML document into a browser. [Figure 23.6] shows the document with two additional item fields added and the ship-to address displayed. == Summary == In this hour, you put your knowledge of JavaScript and the DOM to work with three examples: a scrolling text box, a page with user-selectable styles, and a dynamic form. Each of these could serve as the basis for a much more sophisticated feature for a site. Your 24-hour tour of JavaScript is nearly over. In the final hour of this book, you'll learn about the future of JavaScript, learn what other web languages and disciplines you might want to learn next, and create one final code example. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' Q1:''' | Can I make text scroll horizontally rather than vertically? |- | align="right" | ''' A1: ''' | Yes, the scrolling text example could easily work horizontally by changing the <tt>left</tt> property rather than the <tt>top</tt> property. However, this will be confusing unless the text is designed for horizontal scrollinga single line would work fine. |- | align="right" | ''' Q2:''' | Why don't more sites use dynamic forms? |- | align="right" | ''' A2: ''' | There are some usability and accessibility issues with a dynamic formfor starters, if JavaScript is disabled, the form in this hour would be limited to ordering a single item. You could compensate for this with some server-side code to allow adding additional items (slowly), but it would be far more complex than a simple form. |- | align="right" | ''' Q3:''' | Can my script enable more than one style sheet at a time? |- | align="right" | ''' A3: ''' | Yes, you can have any number of <tt><link></tt> tags for style sheets, and any or all of them can be enabled. One obvious approach is to have one common style sheet that is always enabled, and use the script to enable or disable additional style sheets for user preferences. |} === Quiz Questions === Test your knowledge of the DOM by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | In the scrolling-text example, which CSS rule prevents the scrolling text from being visible outside the box? # <tt>overflow: hidden;</tt> # <tt>position: relative;</tt> # <tt>position: absolute;</tt> |- | align="right" | ''' 2.''' | Which property of a <tt><link></tt> element determines whether the style sheet affects the document? # <tt>enabled</tt> # <tt>disabled</tt> # <tt>active</tt> |- | align="right" | '''3.''' | In the dynamic forms example, which DOM method is used to add additional fields to the form? # <tt>insertAfter</tt> # <tt>addItem</tt> # <tt>insertBefore</tt> |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | a. The <tt>overflow: hidden;</tt> rule prevents the text from being visible outside the box. |- | align="right" | '''2.''' | b. The <tt>disabled</tt> property controls whether the style sheet affects the document. |- | align="right" | ''' 3.''' | c. The <tt>insertBefore</tt> method is used to add additional items before the Add an Item button. |} === Exercises === If you want to gain more experience working with the techniques you explored in this hour, try the following exercises: * Create your own text for the scrolling text box, and try modifying the HTML document (refer to [Listing 23.1]) to scroll your text. * Create a third style sheet for the style-switching example, and modify the HTML document and the script (refer to Listings 23.4 and 23.7) to allow switching between three different style sheets. * Right now, the dynamic forms example in Listings 23.8 and 23.9 will never display the Ship To address if JavaScript is disabled. To improve the accessibility of the form, make the script hide the Ship To section rather than having it hidden by default in the HTML document. s884w3pceqbpi3wjo5vdq6l128818u3 User:Moncur/24 2 2098 5784 5717 2007-06-18T20:33:26Z Moncur 24 5784 wikitext text/x-wiki <!-- = 24. Your Future with JavaScript = == Learning Advanced JavaScript Techniques == Although you've now learned all of the essentials of the JavaScript language, there is still much to learn. JavaScript can be used to script environments other than the Web, and you can move beyond simple scripts to develop entire applications that combine JavaScript with server-side programming. Here are some ways you can further your JavaScript education: * See [Appendix A], "Other JavaScript Resources," for a list of JavaScript books and web pages with further information. * While the core JavaScript language is in place, be sure to follow the latest developments. The websites in Appendix A and this book's site will let you know when changes are on the way. * Be sure to spend some time practicing the JavaScript techniques you've learned throughout this book. You can use them to create much more complex applications than those you've worked with so far. One advanced technique that is becoming popular is AJAX (Asynchronous JavaScript and XML), which allows JavaScript to communicate with a server without reloading pages. You learned the basics of AJAX in [Hour 17], "AJAX: Remote Scripting". Because this is one of the most exciting features of JavaScript, it's a good one to learn more about. Try using the AJAX library you created in [Hour 17] to add remote scripting to a site, or explore the Web's AJAX sites to learn more sophisticated techniques. == Future Web Technologies == The Web has changed dramatically in the last 10 years, and is continually changing. In the following sections, you will explore some of the upcomingand already developedtechnologies that will affect your pages and scripts. === Future Versions of JavaScript === JavaScript has gone through several versions to reach its current one, 1.6. Fortunately, the core language hasn't changed much through these version changes, and nearly all scripts written for older versions will work on the latest one. The next version of JavaScript, 2.0, is currently being developed by the Mozilla Foundation and ECMA. Version 2.0's main change will be the addition of true object-oriented features, such as classes and inheritance. As with previous versions, 2.0 should be backward compatible with older versions. To be sure your scripts will work under version 2.0, follow the standard language features and do not rely on any undocumented or browser-specific features. === Future DOM Versions === Currently, the W3C DOM level 1 is an official specification, whereas level 2 is only a recommendation. Level 2 adds features such as event handling and better style sheet support, and is already partially supported by the latest browsers. ; By the Way: [Hour 15], "Unobtrusive Scripting," introduces the event-handling features of DOM level 2, and describes how to implement the same techniques in Internet Explorer, which does not support them yet. In the future, expect better browser support for the DOM, and less compatibility issues between browsers. === XML (Extensible Markup Language) === HTML was originally created as a language for the Web, and was based on an older standard for documentation called SGML (Standard Generalized Markup Language). HTML is a much-simplified version of SGML, specifically designed for web documents. A relatively new language on the scene is XML (Extensible Markup Language). XML is also a simplified version of SGML, but it isn't nearly as simple as HTML. Although HTML has a specific purpose, XML can be used for virtually any purpose. ; By the Way: The W3C (World Wide Web Consortium) developed XML, and has published a specification to standardize the language. Strictly speaking, XML isn't a language in itselfthere is no concise list of XML tags because XML has no set list of tags. Instead, XML enables you to create your own markup languages for whatever purpose you choose. So what use is a language without any specific commands? Well, XML enables you to define tags, similar to HTML tags, for any purpose. If you were storing recipes, for example, you could create tags for ingredients, ingredient quantities, and instructions. XML uses a DTD (Document Type Definition) to define the tags used in a particular document. The DTD can be in a separate file or built into the document, and specifies which tags are allowed, their attributes, and what they can contain. XML is already in use today. Although it isn't directly supported by web browsers, you can use a program on the server to parse XML documents into HTML documents before sending them to the browser. To return to the recipe example, an XML processor could convert each recipe into HTML. The reason for doing this is simple: By changing the rules in the parser, you could change the entire format of all of the recipesa difficult task to perform manually if you had thousands of recipes. === XHTML (Extensible Hypertext Markup Language) === The HTML specification, at version 4.01, is still considered valid, but the W3C has been working on the successor to HTML, XHTML, now at version 1.1. XHTML is a reformulated version of HTML that fits the strict rules of XML and can be processed with software designed to work with XML. In practice, XHTML looks very similar to HTML. Here are some of the most obvious changes you will need to make to adapt a page to XHTML: * All tags should be lowercase: <tt><nowiki><p></nowiki></tt>, <tt><body></tt>, and so forth. * Most tags require closing tags: <tt><nowiki></p></nowiki></tt>, and so forth. * For standalone tags that don't enclose other elements, such as <tt><img></tt> and <tt><nowiki><br></nowiki></tt>, a special syntax combines opening and closing tags with a slash before the closing brace: <tt><nowiki><br/></nowiki></tt>. * The document must follow strict rules of structure and tags must be nested correctly. * A <tt><!DOCTYPE></tt> tag is required to specify the XML DTD used for the document. The following specifies the XHTML Transitional DTD: <pre><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> </pre> The transitional DTD allows some deprecated HTML tags, such as <tt><nowiki><center></nowiki></tt>, for compatibility. There is also an XHTML Strict DTD that does not allow any deprecated tags. ; By the Way:Browser support for XHTML isn't perfect, especially when it comes to the Strict DTD. It's also difficult to meet XHTML's strict validation requirements while dealing with issues such as user-generated content and scripts. For these reasons, most webmasters use either XHTML Transitional or the still-valid HTML 4.01. === XSL (Extensible Stylesheet Language) === XML documents focus strictly on the meaning of the tagscontentand ignore presentation. The presentation of XML can be determined by creating an XSL (Extensible Stylesheet Language) style sheet. XSL is based on XML, but specifies presentationparameters such as font size, margins, and table formattingfor an XML document. When you use an XML processing program to create HTML output, it uses an XSL style sheet to determine the HTML formatting of the output. ; By the Way: XSL documents are actually XML documents, using their own DTD that specifies style sheet tags. XSL is a newer W3C specification. == Planning for the Future == In the history of JavaScript, there has never been such a major change to the language that a great number of scripts written using the older version have stopped working. Nevertheless, many scripts have been crippled by new browser releaseschiefly those that used browser-specific features. The following sections offer some guidelines you can follow in writing scripts to ensure that the impact of future JavaScript versions and browser releases will be minimal. === Keeping Scripts Compatible === Years ago, Netscape and Microsoft introduced separate and incompatible versions of DHTML (Dynamic HTML), which allowed scripts to modify any element of a page for the first time. Early adopters jumped in to write many scripts, some of which you can still find online today. These scripts made some serious mistakes: * Browser detection was used to separately support browsers, or in some cases a specific browser was required. * Scripts were written to work around bugs in browsers, or sometimes even take advantage of them. * The process of writing scripts often involved trial and error rather than consulting official documentation. This messy scripting gave DHTMLand JavaScripta bad name among serious programmers. Fortunately, the standardized W3C DOM has now replaced the proprietary browser DHTML features, and it's easier than ever to create scripts the right waybut as time goes by, there will undoubtedly be cutting-edge features that aren't quite standard. One obvious example is AJAX (Asynchronous JavaScript and XML), which is only now being developed as a standard by the W3C, despite working (in sometimes confusingly different ways) in the major browsers. There's nothing wrong with using these cutting-edge featuresbut if you do, you should be aware that you're going to need to test the scripts on several different browsers. You should use feature sensing rather than detecting (or expecting) particular browsers. Finally, you should be prepared to do a bit of rewriting when the standard arrives. === Staying HTML Compliant === One trend as browsers advance is that newer browsers tend to do a better job of following the W3C standard for HTML—and, often, relying on it. This means that although a page that uses completely standard HTML will likely work in future browsers, one that uses browser-specific features or workarounds is bound to have problems eventually. ; By the Way:In particular, the first release of Netscape 6.0 received many complaints about "breaking" previously working pages. In most cases, the page used bad HTML, and previous browsers happened to handle the error more gracefully. To avoid these problems, try to use completely valid HTML whenever possible. This means not only using standard tags and attributes, but following certain formatting rules: For example, always using both opening and closing <tt><nowiki><p></nowiki></tt> tags, and enclosing numbers for table widths and other parameters in quotation marks. To be sure your documents follow the HTML standard, see [Appendix B], "Tools for JavaScript Developers," for suggested HTML validation programs and services. These will examine your document and point out any areas that do not comply with the HTML standard. === Document Everything === Last but not least, be sure you understand everything your scripts are doing. Document your scripts using comments, and particularly document any statements that might look cryptic or are particularly hard to get working correctly. If your scripts are properly documented, it will be a much easier process if you have to modify them to be compatible with a future browser, JavaScript, or DOM version. ; Did you Know?: See [Hour 15] for more tips on future-proofing your scripts by using unobtrusive scripting techniques. == Moving on to Other Languages == Assuming you've spent the last 24 hours learning JavaScript to further your career (or hobby) as a web developer, where will you go next? As you should know by now, JavaScript can't do everything, and there are many other languages that work on the Web. Here are some you might want to explore: * Java is useful for more complex client-side programs. Although Java applets aren't as integrated with web pages as JavaScript, you can build applications that go beyond JavaScript's capabilities. Java's syntax is similar to JavaScript, although the language is more complicated. See [http://java.sun.com/ http://java.sun.com/] for more information. * Flash is also a popular choice for more sophisticated client-side programs, and is an especially good choice if you want to create games or applications that work with video. Flash's ActionScript is based on the same ECMAScript standard as JavaScript, so you have a headstart. See [http://www.adobe.com/products/flash/flashpro/ http://www.adobe.com/products/flash/flashpro/] for more information. * Ruby is a relatively new server-side language that has taken the web development world by storm, particularly thanks to the Ruby on Rails framework. Ruby on Rails includes features for easily integrating JavaScript and AJAX features into sites. See [http://www.ruby-lang.org/en/ http://www.ruby-lang.org/en/] and [http://www.rubyonrails.org/ http://www.rubyonrails.org/] for details. * PHP is the workhorse of server-side languages, and a popular choice for back-end development, whether with basic HTML or JavaScript and AJAX front ends. See [http://www.php.net/ http://www.php.net/] for details. * Python is another popular server-side language, noted for its simple coding style and the excellent libraries available for adapting it to various purposes. See [http://www.python.org/ http://www.python.org/] for more information. There are many other languages on the Web, but these are five popular choices. It's worth taking the time to learn a bit about these languages and others even if you don't plan on making them your primary development tool. == Try It Yourself Creating Drag-and-Drop Objects == Just to prove JavaScript can do many things beyond what you've learned so far, here is a final example. Although desktop operating systems support drag-and-drop actions (for example, moving a file into the trash can), web pages have traditionally lacked this feature. Using JavaScript and the DOM, you can unobtrusively create objects that the user can pick up, drag, and drop. ; Did you Know?: This is a simple implementation of drag-and-drop. Full-featured dragging and dropping leads to a very complex script. Fortunately, you can use JavaScript libraries such as Script.aculo.us to add drag-and-drop to your pages without any scripting. See [ch08.html#ch08 Hour 8], "Using Built-in Functions and Libraries," for more details. === The HTML Document === The HTML document for this example exists mainly to define four draggable objects with <tt></tt> tags. [Listing 24.1] shows the complete HTML document. Listing 24.1. The HTML Document for the Drag-and-Drop Example <pre><html> <head> <title>Drag and Drop</title> <link rel="stylesheet" type="text/css" href="dragdrop.css"> <script language="javascript" type="text/javascript" src="dragdrop.js"> </script> </head> <body> <h1>Drag and Drop in JavaScript</h1> <div class="drag" id="drag1"> <h3>Box #1</h3> <p>Click one of these boxes and hold the mouse button down to move it to a new location.</p> <div class="drag" id="drag2"> <h3>Box #2</h3> <p>This is another box you can drag and drop.</p> <div class="drag" id="drag3"> <h3>Box #3</h3> <p>This is yet another box you can drag and drop.</p> <div class="drag" id="drag4"> <h3>Box #4</h3> <p>This is the fourth and final draggable box.</p> </body> </html> </pre> Each of the <tt></tt> tags with the <tt>class="drag"</tt> attribute will be a draggable object. The document also includes a <tt><script></tt> tag to attach a script and a <tt><link></tt> tag for a style sheet. === The CSS Style Sheet === The style sheet sets up the four positionable objects with an initial position as well as a distinctive border. [Listing 24.2] shows the CSS file for this example. ; Listing 24.2. The CSS File for the Drag-and-Drop Example <pre>.drag { position: absolute; width: 150px; border: 2px solid black; border-top: 20px solid black; top: 100px; padding: 5px; } # drag1 { left: 20px; } # drag2 { left: 190px; } # drag3 { left: 360px; } # drag4 { left: 530px; } </pre> The <tt>position: absolute</tt> rule makes the elements positionable. The <tt>top</tt> property sets the vertical position of all four elements, and the <tt>left</tt> property is set for each one to space them across the page. The <tt>width</tt> and <tt>border</tt> properties make the <tt></tt> elements look like boxes, and the <tt>border-top</tt> property creates a thick top border for dragging. Save this file as <tt>dragdrop.css</tt> in the same folder as the HTML document. If you load the HTML document into a browser at this point, you can see the styled boxes, but they won't be movable until you add the script. [Figure 24.1] shows this example before adding the script. === Implementing Drag-and-Drop === Because drag-and-drop isn't built in to the DOM, your script will have to do it the hard way. When the user clicks on an element, an <tt>onmousedown</tt> event handler will begin dragging the object. After that starts, an <tt>onmousemove</tt> event handler will update the object's position, and <tt>onmousedown</tt> will "drop" the object. One tricky part is determining the mouse position in the <tt>onmousemove</tt> event handler. This is stored as a property of the <tt>event</tt> object, but Netscape and Firefox use the <tt>pageX</tt> and <tt>pageY</tt> properties, whereas Internet Explorer uses the <tt>clientX</tt> and <tt>clientY</tt> properties. A series of <tt>if</tt> statements finds the <tt>x</tt> and <tt>y</tt> values, regardless of the browser: <pre> if (!e) var e = window.event; if (e.pageX) { x = e.pageX; y = e.pageY; } else if (e.clientX) { x = e.clientX; y = e.clientY; } else return; </pre> ; By the Way:See [Hour 9], "Responding to Events," for more information on event handlers and the <tt>event</tt> object. One more issue: Objects are positioned based on their top-left corner, but you can click anywhere on the object with the mouse. This will result in a "jump" effect when you pick up an object. The solution is to calculate an offset between the mouse position and the object's position: <pre> dx = x - obj.offsetLeft; dy = y - obj.offsetTop; </pre> When the object is moved, these offsets will be subtracted from the mouse position. This way, the object is anchored to the mouse pointer wherever you click it, and does not jump to a new position. === The JavaScript File === Now all you need is the JavaScript file to add the drag-and-drop feature to the document. [Listing 24.3] shows the complete script. ; Listing 24.3. The JavaScript File for the Drag-and-Drop Example <pre>// global variables var obj,x,y,dx,dy; // set up draggable elements function Setup() { // exit if the browser doesn't support the DOM if (!document.getElementsByTagName) return; divs = document.getElementsByTagName("DIV"); for (i=0; i<divs.length; i++) { if (divs[i].className != "drag") continue; // set event handler for each div with class="drag" divs[i].onmousedown = Drag; } } function Drag(e) { // Start dragging an object if (!e) var e = window.event; // which object was clicked? obj = (e.target) ? e.target: e.srcElement; obj.style.borderColor="red"; // calculate object offsets from mouse position dx = x - obj.offsetLeft; dy = y - obj.offsetTop; } function Move(e) { // track mouse movements if (!e) var e = window.event; if (e.pageX) { x = e.pageX; y = e.pageY; } else if (e.clientX) { x = e.clientX; y = e.clientY; } else return; if (obj) { obj.style.left = x - dx; obj.style.top = y - dy; } } function Drop() { // let go! if (!obj) return; obj.style.borderColor="black"; obj = false; } // Detect mouse movement document.onmousemove = Move; // drop current object on mouse up document.onmouseup = Drop; // Set up when the page loads window.onload = Setup; </pre> Here's a rundown of how this script works: * The first line declares five global variables: <tt>obj</tt> to keep track of the current object being dragged, <tt>x</tt> and <tt>y</tt> for the mouse position, and <tt>dx</tt> and <tt>dy</tt> for the object's offset from the mouse position. * The <tt>Setup()</tt> function runs when the page loads. This function uses <tt>getElementsByTagName</tt> to find all of the <tt></tt> elements in the page. For each one with the <tt>class="drag"</tt> attribute, it sets up an <tt>onmousedown</tt> event handler to call the <tt>Drag()</tt> function. * The <tt>Drag()</tt> function sets <tt>obj</tt> to the correct object, sets the object's border color to red to indicate it's being dragged, and calculates the <tt>dx</tt> and <tt>dy</tt> offsets. * The <tt>Move()</tt> function is where the action happens. After calculating the mouse pointer's <tt>x</tt> and <tt>y</tt> position, it sets the object's <tt>left</tt> and <tt>top</tt> properties to move it to follow the mouse. * The <tt>Drop()</tt> function ends the process by setting the object's border color back to black, and then setting <tt>obj</tt> to false, so mouse movements won't move any object. * The final lines set some global event handlers: <tt>onmousemove</tt> to call the <tt>Move()</tt> function, <tt>onmouseup</tt> to call the <tt>Drop()</tt> function, and <tt>onload</tt> to call <tt>Setup()</tt>. Save this file as <tt>dragdrop.js</tt>. To try the example, make sure you have all three files in the same folder: the HTML document, the CSS file (<tt>dragdrop.css</tt>), and the JavaScript file <tt>(dragdrop.js</tt>). Load the HTML document into a browser. [Figure 24.2] shows the example after all four objects have been dragged to new positions. == Summary == In this hour, you've learned how the future of JavaScript and the Web might affect your web pages and scripts, and learned some of the upcoming technologies that might change the way you work with the Web. Finally, you learned how to create drag-and-drop effects using JavaScript. Time's upyou've reached the end of this book. I hope you've enjoyed spending 24 hours learning JavaScript, and that you'll continue to learn more about it on your own. See Appendix A for starting points to further your knowledge. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Besides parsing documents into HTML, what other practical uses are there for XML? |- | align="right" | ''' A1: ''' | XML is a great way to store any type of marked-up text in a standardized way. Developers of many software applications, including popular word processors, are considering using XML-based files. |- | align="right" | '''Q2:''' | In the drag-and-drop example, the objects overlap each other. Is there a way to avoid this? |- | align="right" | ''' A2: ''' | Yes, if you set a <tt>background-color</tt> property for the objects in the style sheet, they won't overlap. However, you'll notice that sometimes you're dragging the current object behind the others. To avoid this, you can set the <tt>style.zIndex</tt> property for the current object in the script to keep it on top. |- | align="right" | '''Q3:''' | What if I have a JavaScript question that isn't answered in this book? |- | align="right" | ''' A3: ''' | Start with the resources in Appendix A. You should also stop by the author's website ([http://www.jsworkshop.com/ www.jsworkshop.com]) for a list of updates to the book, frequently asked questions, and a forum where you can discuss JavaScript with the author and other users. |} === Quiz Questions === Test your knowledge of JavaScript's future by answering the following questions. {| cellspacing="16" cellpadding="0" border="0" |- | '''1.''' Which of the following is the latest DOM recommendation from the W3C? # DOM 1.5 # DOM level 1 # DOM level 2 |- | ''' 2.''' When should you use a new JavaScript feature? # Immediately # As soon as it's supported by browsers # As soon as it's part of a standard, and browsers that support it are widely available |- | '''3.''' Which of the following is an important way of making sure your scripts will work with future browsers? # Follow HTML, JavaScript, and DOM standards. # Spend an hour a day downloading the newest browsers and testing your scripts. # Wait until the very last browsers are released before writing any scripts. |} === Quiz Answers === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | c. DOM level 2 is the latest W3C recommendation. |- | align="right" | '''2.''' | c. Wait until JavaScript features are standardized and widely available before implementing them. |- | align="right" | '''3.''' | a. Following HTML, JavaScript, and DOM standards is an important way of making sure your scripts will work with future browsers. |} === Exercises === If you want to gain more experience working with JavaScript, try the following exercises: * Try adding another <tt></tt> element to the drag-and-drop example and make the appropriate changes to the style sheet so it will respond correctly. * Try changing the drag-and-drop example to move a different type of element, such as paragraphs of text. 6ahyeyo7umii0kxfxp9844hglanniov User:Pilgrim~sowiktionary 2 2099 12863 5454 2015-04-17T00:46:35Z Maintenance script 1461 Maintenance script moved page [[User:Pilgrim]] to [[User:Pilgrim~sowiktionary]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Pilgrim|Pilgrim]]" to "[[Special:CentralAuth/Pilgrim~sowiktionary|Pilgri... 12863 wikitext text/x-wiki [[/01]] [[/02]] [[/03]] [[/04]] [[/05]] [[/06]] [[/07]] [[/08]] [[/09]] [[/10]] [[/11]] [[/12]] [[/13]] [[/14]] [[/15]] [[/16]] [[/17]] [[/18]] [[/19]] [[/20]] [[/21]] [[/22]] [[/23]] [[/24]] [[/25]] [[/26]] [[/27]] [[/28]] [[/29]] [[/30]] [[/31]] [[/32]] [[/33]] [[/34]] [[/35]] [[/36]] [[/37]] [[/38]] [[/39]] [[/40]] [[/41]] [[/42]] [[/43]] [[/44]] [[/45]] [[/46]] [[/47]] [[/48]] [[/49]] [[/50]] [[/51]] [[/52]] [[/53]] [[/54]] [[/55]] [[/56]] [[/57]] [[/58]] [[/59]] [[/60]] [[/61]] [[/62]] [[/63]] [[/64]] [[/65]] [[/66]] [[/67]] [[/68]] [[/69]] [[/70]] [[/71]] [[/72]] [[/73]] [[/74]] [[/75]] [[/76]] [[/77]] [[/78]] [[/79]] [[/80]] [[/81]] [[/82]] [[/83]] [[/84]] [[/85]] [[/86]] [[/87]] [[/88]] [[/89]] [[/90]] [[/91]] [[/92]] [[/93]] [[/94]] [[/95]] [[/96]] [[/97]] [[/98]] [[/99]] b3pdgopifolt78e2kve7ivmfcvq5pao User:Pilgrim~sowiktionary/monobook.js 2 2100 12864 5450 2015-04-17T00:46:35Z Maintenance script 1461 Maintenance script moved page [[User:Pilgrim/monobook.js]] to [[User:Pilgrim~sowiktionary/monobook.js]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Pilgrim|Pilgrim]]" to "[[Special:CentralAuth/Pil... 12864 javascript text/javascript document.write('<script type="text/javascript" src="' + 'http://so.wiktionary.org/w/index.php?title=User:Moncur/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); kbdpvjoncnfynd9ul7qivnrkkrpq5tz User:Pilgrim~sowiktionary/01 2 2101 12866 6312 2015-04-17T00:46:35Z Maintenance script 1461 Maintenance script moved page [[User:Pilgrim/01]] to [[User:Pilgrim~sowiktionary/01]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Pilgrim|Pilgrim]]" to "[[Special:CentralAuth/Pilgrim~sowiktionary|... 12866 wikitext text/x-wiki I am agree gk4kge1o47phdcz8botghvyhz7u3cm7 User:Bartlett 2 2102 5477 5476 2007-06-17T15:36:07Z Bartlett 26 Replacing page with '[[/01]] [[/02]] [[/03]] [[/04]] [[/05]] [[/06]] [[/07]] [[/08]] [[/09]] [[/10]] [[/11]] [[/12]] [[/13]] [[/14]] [[/15]] [[/16]] [[/17]] [[/18]] [[/19]] [[/20]] [[/21]] [[/22]] ...' 5477 wikitext text/x-wiki [[/01]] [[/02]] [[/03]] [[/04]] [[/05]] [[/06]] [[/07]] [[/08]] [[/09]] [[/10]] [[/11]] [[/12]] [[/13]] [[/14]] [[/15]] [[/16]] [[/17]] [[/18]] [[/19]] [[/20]] [[/21]] [[/22]] [[/23]] [[/24]] 6qhqtr3pctw6cb5tjxndwu6tk6asgjs User:Bartlett/monobook.js 2 2103 5459 2007-06-17T14:56:41Z Bartlett 26 Bog cusub: document.write('<script type="text/javascript" src="' + 'http://so.wiktionary.org/w/index.php?title=User:Moncur/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'... 5459 javascript text/javascript document.write('<script type="text/javascript" src="' + 'http://so.wiktionary.org/w/index.php?title=User:Moncur/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); kbdpvjoncnfynd9ul7qivnrkkrpq5tz User:Bartlett/01 2 2104 5516 5515 2007-06-17T17:05:29Z Bartlett 26 /* Workarounds for Browser Limitations */ 5516 wikitext text/x-wiki = Hour 1. Understanding CSS = ; What You'll Learn in This Hour: * What style sheets are and what the term "cascading" refers to * How the Cascading Style Sheets standard was written and what the two levels of CSS refer to * How CSS is used with HTML and XML and when to use it * The types of style effects you can produce with CSS and what you can't do * How browser support for CSS affects what you can do with style sheets Cascading Style Sheets (CSS) can open up a whole new dimension to your web designs, delivering power and flexibility beyond what's available in plain HTML. == What Are Cascading Style Sheets? == Cascading Style Sheets is the name of a simple language that enables you to declare how documents are displayed by web browsers. This language is used extensively on the Web and can be applied to HTML as well as to newer XML-based languages. Through the application of CSS, you're able to change many aspects of how a web page is displayed—the fonts, the colors, the layout, the graphics, the links, and more. Cascading Style Sheets enable content—your HTML markup, text, graphics, and multimedia—to be separated from presentation. === Defining Style Sheets === The concept of style sheets did not originate on the Web; it has been used extensively in computing for years now. The most familiar application of style sheets off the Web is the formatting styles used in word processors, such as Microsoft Word. Microsoft Word allows you to assign parts of your file to specific styles, such as "Heading" or "Note," and then decide what sort of formatting should be applied to each style. For example, a Heading style should be larger and bold, with extra line spacing after the heading and in a specific heading font. This book, in fact, was composed in exactly that way; each part of the book, from headings to text paragraphs to tips and notes, has a specific style that I set as I composed the manuscript, and those styles eventually determined how you see the printed page today. In the same way, Cascading Style Sheets let you, the web designer, assign specific styles to different types of HTML elements. You might want to make all your text one color, to make all your headings a specific font, and to specify that all notes should be centered in a box with a thin outline. You can do some of this in HTML by using <tt><font></tt> tags and various attributes, but that can get cumbersome and difficult to maintain. When you define your presentation styles in CSS, it becomes quick and easy to apply new styles that can affect all styles on a page or even the whole site—without editing the source HTML at all! === Defining Cascading === The term cascading in Cascading Style Sheets refers to a specific way in which browsers determine which styles to apply to a specific part of the page. This method is called "the cascade," and it's from the cascade that CSS takes its name. When I'm designing something that I know is going to be used in a fixed medium, such as the printed page or this book, I can be pretty confident that the styles that I choose will show up exactly like I expect them to. All copies of this book will look exactly the same; the page layout won't vary from reader to reader, and the same fonts will appear in each copy. Page 57 of your copy of this book is identical to every other page 57 in existence. When you're designing for a variable medium such as the Web, however, you don't have that certainty. The appearance of a web page (designed with CSS or not) depends on a number of factors, including the characteristics of the user's display device, his computer's color resolution, the version of the browser he's using, and even his preferred font size. ;Did you Know?: Some users might not even be using monitors at all! People with visual disabilities routinely use the Web as a primary source of information, relying on software known as screen readers, which vocalize the content of a page. You'll learn more about how CSS benefits users with disabilities in [Hour 22], "Accessibility and Print Media"; you can also read more at the International Center for Disability Resources on the Internet website at [http://www.icdri.org/ http://www.icdri.org/]. This lack of absolute control over the final presentation can be somewhat disconcerting for designers who are used to fixed mediums; how can you fine-tune your design if you don't know how it will eventually look? It's important to keep in mind that this isn't a design flaw in CSS—it's a deliberate feature. Creating designs that adapt to the user's environment and preferences widens your audience and enables more people to access your content. The cascade is the set of principles that tells browsers how to merge together a number of presentation choices: the web developer's designs for the site, the web browser's capabilities and default settings, and the web user's preferences or requirements for display. In the cascade, items that are higher up in priority affect other properties with lower priorities, with the values "cascading" down like a waterfall. You'll learn more about this in [Hour 7], "Cascading and Inheritance," but for now it's enough to understand that in CSS, the final presentation is an active collaboration between designer, browser, and user. == The Origin of Cascading Style Sheets == The Cascading Style Sheets language was created through a collaborative effort between web developers and browser programmers under the auspices of the World Wide Web Consortium (W3C for short). The W3C is an international industry group, comprising hundreds of companies, research institutions, and web development organizations, that issues technical specifications for web languages and protocols. W3C specifications are called recommendations because the W3C is technically not a standards-issuing organization, but in practice this is usually an issue of semantics. W3C recommendations are taken as defining a standard form of a web language, and they are used by web developers, software tool creators, browser programmers, and others as a blueprint for computer communication over the Web. Examples of W3C recommendations include Hypertext Markup Language (HTML), Extensible Markup Language (XML), Extensible Stylesheet Language (XSL), and Scalable Vector Graphics (SVG). === The CSS Specifications === The W3C recommendations issued by the Cascading Style Sheet working group are collectively the official specification for the CSS language. The CSS working group consists of a number of experts in web development, graphic design, and software programming, representing a number of companies, who all work together to establish a common styling language for the Web. Two full recommendations have been issued for Cascading Style Sheets so far; these are called Cascading Style Sheets Level 1 (CSS1) and Cascading Style Sheets Level 2 (CSS2). An update to CSS2, CSS 2.1, has been drafted and is gaining acceptance. Work is under way currently on Cascading Style Sheets Level 3, but these are only draft proposals at the time of writing. === CSS Level 1 === The Cascading Style Sheets Level 1 (sometimes called CSS1 for short) specification was officially issued as a W3C recommendation in December 1996. The URL for this specification is [http://www.w3.org/TR/REC-CSS1 http://www.w3.org/TR/REC-CSS1]. Did you Know? If you try to read the W3C recommendation for CSS1, you may end up confused. That's because W3C documents aren't written as a general introduction to a subject but rather as precise language definitions for software developers. Most W3C recommendations are quite opaque to most normal people, although the CSS1 specification isn't too bad compared with some. Later in this hour I'll give some tips on how to read a W3C recommendation if you need to dive into it. CSS Level 1 defines a number of simple text formatting properties, along with properties for colors, fonts and boxes, principles of the cascade, and the linking mechanism between CSS and HTML. CSS1 may be used to create some impressive results, but it doesn't deliver the full range of function found in CSS Level 2. === CSS Level 2 === CSS Level 2 was published in May 1998 (at [http://www.w3.org/TR/REC-CSS2 http://www.w3.org/TR/REC-CSS2]) and extends the power of CSS considerably. CSS Level 2 enables the web developer to use CSS to lay out a page, replacing HTML tables; to create style sheets for specific output devices, such as printers or even Braille devices; to have fine control over which parts of the page receive styling; and to designate a wider range of effects, such as text shadows or downloadable fonts. CSS Level 2 includes and extends all properties and values defined in CSS Level 1. === CSS Level 2.1 === The W3C published a working draft in June 2005 called Cascading Style Sheets, Level 2 Revision 1 ([http://www.w3.org/TR/CSS21 http://www.w3.org/TR/CSS21]), more commonly known as CSS 2.1 This update to the CSS2 specification is not yet a formal W3C recommendation, but was written to reflect a snapshot of the current state of CSS implementation in browsers. CSS properties and values that were not widely supported by the browsers were cut from the specification, a few widely supported values were added, and various problems in the definition of the CSS language were fixed. CSS 2.1 has been adopted as a de facto standard, if only because it gives a good approximation of the most workable features in CSS2. Generally speaking, nearly all CSS 2.1 style sheets should work properly in the newest versions of the major browsers, and most web developers are writing in CSS 2.1 (even if they haven't read the official specification). For those reasons, this book focuses on CSS 2.1 when there is a conflict between the CSS2 and CSS 2.1 languages; CSS 2.1 is the safer, saner version. === Other Style Languages === CSS isn't the only style language, but it's the primary one used on the Web. Some other style languages include Document Style Semantics and Specification Language (DSSSL) and Extensible Stylesheet Language (XSL). DSSSL is an older and more complex styling language developed for Standard Generalized Markup Language (SGML), an ancestor of XML and the basis for HTML syntax. DSSSL is rarely used on the Web, just as other SGML technologies (besides HTML) are extremely uncommon. XSL is a group of related languages intended for styling XML documents. XSL Transformations (XSLT) is a method to describe a transformation from one XML-based language to another. XSL Formatting Objects (XSL-FO) is one such language; an XML document can be converted to XSL-FO with XSLT. XSL-FO files contain XML formatting objects, which can be used by browsers or printing software to lay out the appearance of a document precisely, most commonly for print media. == CSS in Web Design == Because the Cascading Style Sheets language was designed to be used primarily with HTML, CSS is ideally suited for use in web design. The language is simple and flexible enough to encompass all common web presentation effects, and the concepts should be familiar to anyone who has used HTML before. To use the CSS language effectively, it's important to understand how it's used, what it can do, and what it can't do. === How CSS Is Used === In CSS, the term style sheet refers to a file consisting of a number of CSS rules. A rule is the smallest unit of CSS, defining one or more style effects. Each rule identifies which parts of the web page it selects and what properties it applies to that section of the page. The web document then links to that style sheet, which means the browser downloads the style sheet and applies the rules when it displays the web page. A single CSS file can be linked to by any number of documents, so one style sheet can control the look of the entire site or a portion thereof. CSS can be used with several different markup languages, including HTML and XML-based languages. === CSS and HTML === The Hypertext Markup Language (HTML) consists of a series of tags that mark up specific elements within a document. Each of those elements has a default presentation style, which is provided by the browser, based on the formal specification for HTML. You can apply a style sheet to an HTML page by linking to it or even by including the style sheet within the HTML file, and the presentation style for each element can be redefined. A hypothetical style sheet can be created that states that all <tt><nowiki><h1></nowiki></tt> tags should be presented on a green background with white text, and all <tt><nowiki><p></nowiki></tt> tags should be indented 25 pixels and the text justified. This would change the appearance of any web page that links to that style sheet. HTML pages can contain attributes and tags that set presentational styles, but their versatility and utility are limited compared with CSS. Style sheets can be used either in conjunction with HTML presentational markup, such as <tt><nowiki><font></nowiki></tt> or <tt>color="red"</tt> attributes, or can replace presentational tags and attributes entirely. For example, CSS is used extensively to define the colors, look, and layout of this book's author's personal site ([http://kynn.com/ http://kynn.com/]). In [Figure 1.1], no style sheet has been applied to the site, and so the appearance is quite plain. No HTML attributes have been used for formatting because the site relies on Cascading Style Sheets for presentation effects. The fonts are all browser defaults and the colors are very basic. Despite the somewhat boring appearance, all information is clearly visible and the page can be used easily. All that it needs is a style sheet to make it look better. [Figure 1.2] is the author's site as it appears in a browser that understands Cascading Style Sheets. The style sheet not only specifies more attractive fonts for the page, but it also reformats the navigation bar, lays out the page in columns, and aligns the content attractively. The overall effect of the style sheet is to enhance the appearance considerably, making the site appear more friendly, identifiable, and usable. What does CSS look like? In [Figure 1.3] you can see an example of the CSS "source code" used to style the web page in [Figure 1.2]. As you can see, the CSS language is very different in form and syntax from HTML. === CSS and XML === Cascading Style Sheets are also designed to work with Extensible Markup Language (XML). XML languages often don't have an inherent presentation defined, and CSS files can be applied directly to XML files to add presentational styling. ;By the Way: For most of this book, I'm going to assume you're using CSS with HTML. The techniques for using CSS with XML are pretty much the same as using CSS with HTML. Specific issues related to XML are covered in Bonus Web [Hour 2], "CSS and XML," available on this book's website (described in the Introduction). === What CSS Can Do === As you see on the author's site, the application of a style sheet can drastically change the appearance of an HTML page. CSS can be used to change anything from text styling to page layout, and can be combined with JavaScript to produce dynamic presentation effects. === Text Formatting and Colors === CSS can be used to produce a number of text effects, such as * Choosing specific fonts and font sizes * Setting bold, italics, underlines, and text shadows * Changing text color and background color * Changing the colors of links or removing underlining * Indenting or centering text * Stretching and adjusting text size and line spacing * Transforming sections of text to upper-, lower-, or mixed case * Adding drop-capitals and other special effects These are all accomplished by creating CSS rules to set properties on text. === Graphical Appearance and Layout === CSS can also be used to change the look of the entire page. CSS properties for positioning—sometimes called CSS-P—were introduced in CSS Level 2 and enable you to format a web page without using tables. Some of the things you can do with CSS to affect the graphical layout of the page include * Setting a background graphic, controlling its location, tiling, and scrolling * Drawing borders and outlines around sections of a page * Setting vertical and horizontal margins on all elements, as well as vertical and horizontal padding * Flowing text around images, or even around other text * Positioning sections of the page in precise locations on the virtual canvas * Redefining how HTML tables, forms, and lists are presented * Layering page elements atop each other in a specified order === Dynamic Actions === Dynamic effects in web design are those that are interactive, changing in response to being used. CSS lets you create interactive designs that respond to the user, such as * Mouseover effects on links * Dynamically inserted content before or after HTML tags * Automatic numbering of page elements * Fully interactive designs in Dynamic HTML (DHTML) and Asynchronous JavaScript and XML (AJAX) === What CSS Can't Do === Although CSS is powerful, it does have certain limitations. The primary limitation of CSS is that it is restricted to working mainly with only what is present in the markup file. The display order can be somewhat altered, and a small amount of text content can be inserted, but to produce major changes in the source HTML (or XML), you need to use another method—such as XSL Transformations (XSLT). Also, CSS is a younger language than HTML by about five years; this means that some of the oldest browsers don't understand styles written in CSS, or might not load a style sheet at all. CSS is also of limited use on simple text browsers, such as those written for cell phones or mobile devices. The Cascading Style Sheets language was designed to be backwards compatible, which means older browsers don't refuse to show your web page if they aren't able to display your styles. Instead, the default HTML presentation is used, and if you've designed your CSS and HTML properly, the page content is usable even if your CSS styles aren't shown. This allows older browsers to access even advanced CSS pages. === When to Use CSS === After you start learning to create Cascading Style Sheets, you probably will never want to stop using them! You can start using CSS today, as a supplement to your presentational markup, and then gradually move toward purer CSS presentations as you learn more. === Reading W3C Specifications === You may find yourself referring to the CSS recommendations from time to time—as well as the HTML and XHTML specifications as well. As they define the language, a specification is considered the definitive source for that language. After you get the hang of reading the CSS 2.1 specification, it makes a useful reference—but there's a learning curve. A W3C recommendation is different from most other types of technical writing. Most technical works you're familiar with, from user manuals to books like this one, are written as documentation. Documentation is a user resource, something that helps you understand how to use a program or language. Tutorials, reference works, and textbooks are all written with that goal. Standards, including the de facto standards of W3C recommendations, are written differently. The purpose of a standards document is to be definitive. A specification explicitly defines what is contained within a given set of technology. The key to comprehending a spec is not only understanding how it is organized but also understanding the intended audience and use of the specification. In nearly all cases, the intended audience of a W3C specification is not you. It's not web developers, even though the languages defined by these specs are written for use by web developers. As a web developer, you'll definitely be able to gain useful knowledge from the W3C's recommendations, but that's just an ancillary effect. [Figure 1.4] is an example—this is part of the CSS 2.1 specification; specifically, the part that defines a property called <tt>clip</tt>. Does this make sense to you? Probably not, because it's full of technical jargon, links to other parts of the specification, and advice on whether or not any "user agents" (browsers) must support a given feature. The real audience for W3C recommendations is the software developers who create programs that use the protocols and languages in the specs. The CSS 2.1 specification, for example, was written primarily for implementers at Microsoft, Opera, Mozilla, Apple, and other software companies producing web-related software. In other words, people who already have a basic understanding of what the language does, and how other languages work with it. One consequence of being written for those already in the know is that the W3C specifications aren't written linearly but circularly. To make sense of what's written in section two, you need to have read not only section one, but also sections three, four, and five, plus the appendix and about a half dozen related specifications. For a definitive work, that's actually quite appropriate; you can't read a dictionary straight through, either, and all terms in a dictionary are defined with other dictionary terms. W3C recommendations are written in the same manner, so you'll probably have to read through several times—following hyperlinks instead of just proceeding linearly—to fully grasp everything. To approach a W3C recommendation, first understand the structure of the document. Nearly all are written with the same general outline. The first part of the structure looks like a bit of legalistic fluff, but is actually quite important; it identifies when the document was written and what status it holds in the W3C's hierarchy of technical recommendations. The W3C Process is a procedure for moving a working group's documents from draft to officially approved recommendation, and there are a number of steps along the way. The status of the document is stated at the very beginning. A short introduction usually follows, which states the purpose of the recommendation. A glossary of terms might be provided at the front, but most commonly it is at the end; read it before the main content so you'll recognize the terms, even if they don't make sense until you've read more. Also at the end you'll find a list of references; W3C documents don't usually link directly to other sources but instead link to their reference lists. These references include the links out to other materials you can find on the Web, many of which are essential to making sense of what you're reading. The main content is in the middle, of course, and is usually divided into sensible categories, although if you start following links within a recommendation, you'll find yourself skipping randomly through the text, which can be disorienting. The best W3C recommendations have small menu bars at the top that allow you to page between sections or, more usefully, to jump directly to an alphabetized table listing all elements, attributes, or properties. The index at the back of a long recommendation also proves invaluable when navigating the structure of the W3C specification. == Browser Support == Unfortunately for those of us who want to reap the full benefits of using CSS, the browser manufacturers were slow in providing support for CSS in their software. This meant that people who programmed authoring software didn't bother to produce CSS (after all, which browsers could display it?) and web developers didn't bother to learn CSS because it was a pointless exercise. Early browsers that understood Cascading Style Sheets, such as Internet Explorer 3 and Netscape 4, had only incomplete implementations, meaning that even simple style sheets using rules defined in CSS1 might not have displayed consistently. This meant that CSS was considered unreliable for several years after the recommendations were issued. Thankfully, the Dark Age of CSS didn't last forever, and current browsers have decent support for the CSS standards. Recent versions of Firefox, Internet Explorer, Opera, and Safari all have good implementations of the Cascading Style Sheet specifications. We're entering a new age of CSS, one where you can design safely and confidently, knowing that your style sheet won't confuse some old browser with buggy CSS implementations. === Workarounds for Browser Limitations === However, some older browsers still exist and are used by a number of web surfers, despite the poor and quirky support for CSS—most notably Internet Explorer versions 5, 5.5, and 6. Furthermore, not even the newest browsers adhere 100% to the specifications, although they come very close. In [Hour 3], "Browser Support for CSS," you'll learn more about what some of those limitations may be. For these reasons, it may be necessary to employ workarounds or browser hacks in your CSS or HTML to ensure that your style effects come through as intended. These are described in [Hour 24], "Troubleshooting and Browser Hacks," and specific implementation problems are mentioned throughout the book when you need to know about them. == Summary == Cascading Style Sheets are files that describe how to present specific effects when displaying a web page. They're so named because they follow a specific pattern, called the cascade, which determines the order in which style effects are applied. The CSS language is a web standard, defined by the World Wide Web Consortium; the current version is CSS Level 2, updated by CSS 2.1. A style sheet consists of CSS rules that define styles to apply to specific parts of the page. Style rules can change the color, font, and other qualities of the text of a page; they can define the layout and graphical appearance; and they can add interactivity to a site. Although Cascading Style Sheets are quite powerful and useful, care needs to be taken to apply them in ways consistent with current browser implementations. Not all browsers have good CSS support, and using CSS without understanding the support issues can lead to problems if you're not careful. == Workshop == This workshop contains a Q&A section and quiz questions to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. === Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q.''' | Which version of CSS should I use? |- | align="right" | ''' A.''' | Cascading Style Sheets Level 2 is the most current W3C recommendation; it contains all the CSS1 properties and gives more complete definitions for them, in addition to defining new properties that weren't included in CSS1. Very few browsers (if any) supported only CSS1; most of them supported either a subset of CSS1 or a set chosen from CSS1 and CSS2 properties, so the division between the two is not really meaningful when you look at browser support. Because CSS 2.1 updates CSS2 to fix some problematic definitions and remove unimplemented property values, CSS 2.1 is your best bet for current and future compatibility. However, there are still implementation problems even with CSS 2.1, and so you have to test all your style sheets on a wide variety browsers. |- | align="right" | '''Q.''' | So what's so cool about CSS anyway? |- | align="right" | ''' A.''' | Because Cascading Style Sheets let you encode your style effects separately from your HTML, this promotes separation of presentation and content. That means that the look of the page is independent from the information on the page, and that's cool for a number of reasons. You can create a single style sheet that styles the entire site at once. You can develop alternate style sheets for specific output devices, such as printers. You can ensure greater accessibility for people with disabilities. In addition, Cascading Style Sheets also afford a measure of control over the presentation, which simply is not available in traditional HTML web design. |- | align="right" | '''Q.''' | What's the most important thing to know about Cascading Style Sheets? |- | align="right" | '''A.''' | Browser support is the critical issue in CSS design. You will see this theme repeated throughout the book. Lack of browser support has seriously hindered the use of CSS, and many of the really great things you can do with style sheets continue to be limited in many browsers. Fortunately, the browser companies are working hard to improve their programs, and are getting ever closer to full, correct implementation of the CSS specifications. |} === Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | What is the cascade in CSS? |- | align="right" | '''2.''' | Which markup languages can be used with CSS? |- | align="right" | '''3.''' | What's the current version of Cascading Style Sheets? |} === Answers=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | The cascade is the set of rules that order how style preferences are combined together. The effects of higher-priority rules cascade down like a waterfall. |- | align="right" | '''2.''' | CSS was designed to work with HTML as well as with any XML-based markup language. |- | align="right" | '''3.''' | The current version of Cascading Style Sheets is CSS Level 2, updated by the CSS 2.1 draft. |} clatsw4edlhowc00z0940g29yrixc35 User:Bartlett/02 2 2105 6254 6253 2008-10-20T08:16:41Z Dferg 172 Undo revision 6253 by [[Special:Contributions/84.109.38.71|84.109.38.71]] ([[User talk:84.109.38.71|Talk]]) Rv-vn 6254 wikitext text/x-wiki = Hour 2. Getting Started with CSS = ; What You'll Learn in This Hour: * What kinds of tools, from text editors to CSS software, you can use to write your style sheets * How to create, name, and save a style sheet * What the different parts of a CSS rule are and the function of each * How and when to add comments to a style sheet * Which simple rules you can use to create a basic style sheet * How to apply your style sheet to a simple HTML file * Which browsers to use to test your style sheet == Creating a Style Sheet == A Cascading Style Sheet, as you learned in [Hour 1], "Understanding CSS," is simply a file made up of style rules. CSS files are ordinary text files, just as HTML files are ordinary text files. This means that you can use a wide variety of programs to create a style sheet, from simple text editors to specialized software written just for creating and maintaining style sheets. Anything that can be used to create a text file can create a style sheet. Because Cascading Style Sheets are pretty simple to write, you don't need to use complex tools to create a basic style sheet. Many web developers will write CSS by hand, meaning that they type out the text of each rule; however, authoring tools exist that can make this task easier. ===Software Tools for CSS === Your editing environment is the program or set of programs that you use to create your style sheet. You'll want to choose the editing environment that works best for you, be that a text editor, a style sheet editor, or a web development tool. I use a text editor myself, and I recommend starting simple, at least until you've learned enough about the basics of CSS to understand how editing tools can help you. ===Text Editors === Every operating system comes with a basic text editor, and because CSS is just basic text, it's a good match for one of these programs. A text editor is a simple program that just produces plain text files, which means it can also be used to create HTML or CSS files. Unlike word processing software, text editors don't save formatting with the text; that's why they are said to produce plain text. Text editors are ubiquitous and don't get in the way of your learning about CSS, so this is probably where you want to start. You probably already know how to use one of the text editors on your computer. Some basic text editors include * Notepad or WordPad on Microsoft Windows * TextEdit on Macintosh * vi, vim, or emacs on Linux or Unix [Figure 2.1] shows a style sheet being edited in Notepad on Windows; this is the style sheet from the author's personal website, which was shown in [Hour 1]. Don't worry too much about reading and understanding the properties; the style sheet is rather complex and has a lot of properties from the middle or end of this book. ;Did you Know?: You can use a word processing program, such as Microsoft Word, to create text files, but you need to remember to save your files as plain text without any special formatting. It's probably easier to just use a text editor, although most of them lack the advanced features found in word processors, such as advanced find-and-replace and word counting. Fortunately, you'll rarely need those features when editing CSS. ===Style Sheet Editors === Some software has been written specifically to create CSS style sheets; these have advanced features such as color-coding of rules and properties, syntax checking, and more. These are great tools, and I highly recommend them when you're doing serious CSS development; if you're just beginning, though, they may be more than you need right now and could overwhelm you with options. After you understand the principles and language of CSS, however, a style sheet editor is invaluable. Some of the CSS editors available include * TopStyle, for Windows; [http://www.bradsoft.com/topstyle/ http://www.bradsoft.com/topstyle/] * Style Master, for Windows and Mac OS X; [http://www.westciv.com/style_master/ http://www.westciv.com/style_master/] * CSSEdit, for Mac OS X; [http://www.macrabbit.com/cssedit/ http://www.macrabbit.com/cssedit/] * JustStyle CSS Editor, for all Java-enabled computers; [http://www.ucware.com/juststyle/ http://www.ucware.com/juststyle/] The screenshot in [Figure 2.2] shows the author's style sheet being edited in Style Master, one of the CSS editors listed here. As you can see, a style sheet editor offers a lot more in the way of development features compared to a simple text editor, but it's also more complex to use. ===HTML Editors and Web Development Software === Because CSS is an integral part of web design, web design packages that let you create HTML often support CSS editing. Visual editors let you set styles and create the style sheet behind the scenes, whereas those with source editing modes enable you to edit the style sheet directly. As with CSS editors, I recommend using these after you've become familiar with the basics of CSS syntax. Your favorite web editing environment may already include CSS support; some that do include * Microsoft FrontPage, for Windows; [http://www.microsoft.com/frontpage/ http://www.microsoft.com/frontpage/] * Macromedia Dreamweaver, for Windows and Mac OS X; [http://www.macromedia.com/software/dreamweaver/ http://www.macromedia.com/software/dreamweaver/] * Adobe GoLive, for Windows and Macintosh; [http://www.adobe.com/products/golive/ http://www.adobe.com/products/golive/] * CoffeeCup HTML Editor, for Windows; [http://www.coffeecup.com/editor/ http://www.coffeecup.com/editor/] * BBEdit, for Mac OS X; [http://www.barebones.com/products/bbedit/ http://www.barebones.com/products/bbedit/] === Naming and Saving a Style Sheet === However you edit your style sheet, the basic principle will be the same: You create a text file that contains the CSS rules, and you save that as a CSS file. Your style sheet's filename shouldn't contain spaces, so that it will be easier to use on the Web. The extension you should use is <tt>.css</tt>, so your files should be named something like <tt>test.css</tt> or <tt>sitedesign.css</tt>. While you're learning and practicing, you'll probably want to keep the <tt>.css</tt> file in the same directory as your HTML pages. After you've got the hang of CSS, you'll probably want to store your style sheets in a designated directory on your website; I usually create a <tt>/styles/</tt> directory for mine. == Writing CSS Rules == The building blocks of any style sheet are the CSS rules that compose it. Each rule is a single statement that identifies what should be styled and how those styles should be applied. Style sheets are then composed of lists of rules, which the browser uses to determine what a page should look like (or even sound like). ===The Basic Structure of a CSS Rule === A CSS rule consists of two sections: the selector(s) and the declaration(s). A declaration is made up of a property and a value for that property. A simple CSS rule would therefore look something like this: <pre>selector { property: value; } </pre> One important thing to note is that CSS ignores extra whitespace, just as HTML usually does. This means that as far as CSS-enabled browsers are concerned, one space is equal to twenty spaces or even five spaces, four blank lines, and four more spaces. So the rule could be written like this and still mean the same thing: <pre>selector { property: value; } </pre> You should feel free to use whatever spaces and lines you need within your CSS to make it easy to read and maintain. For example, I usually indent the property and value pairs quite a bit by inserting spaces; this makes it easier for me to see at a glance where one rule ends and the next begins. By being consistent in how you use blank spaces in your style sheets, you can keep them easy to read and maintain. There is no one best way to write a style rule, and you may end up using different spacing in different situations. As long as it works for you, that's what matters. ===The Selector === The selector part of the rule tells which section of the document the rule covers. The simplest type of selector is a type selector that indicates a specific markup element, such as the <tt><nowiki><p></nowiki></tt> tag in HTML. You write a type selector by just giving the name of the element without the <tt><></tt> brackets, as in the following: <pre>p { property: value; } </pre> Such a rule would select the styling of all <tt><nowiki><p></nowiki></tt> tags. ===The Declaration === The next part of the rule is the declaration. Declarations are enclosed in <tt>{}</tt> braces. Within the braces, the property name is given first, followed by a colon, and then a property value. An ending semicolon is optional but recommended for reasons that will become apparent later this hour. The entire rule is concluded by the ending brace. ===Properties === Properties are defined by the official CSS specifications; these are the specific style effects you can define and expect to be supported by CSS-compliant browsers. Most browsers are likely to ignore properties that aren't part of the CSS specification, although some browsers recognize nonstandard properties that are not part of the formal language specification. It's best to not rely on these proprietary extensions, but browsers that don't recognize them simply overlook them. In [Hour 3], "Browser Support for CSS," you'll learn more about how browsers handle or don't handle CSS. ===Values === The value of the declaration follows the property name, after the colon, and defines exactly how that property should be set. The range of values for each property is also defined in the CSS specifications. For example, the property named <tt>color</tt> can take values that consist of color names or codes, as in the following: <pre>p { color: blue; } </pre> This rule declares that the content of all paragraph tags should have their <tt>color</tt> properties set to the value <tt>blue</tt>. So all <tt><nowiki><p></nowiki></tt> text would turn blue. ;By the Way: What happens if you don't set the <tt>color?</tt> Well, you can probably guess from your work with HTML that a default will be chosen—one set by the browser or the user's preferences. The color might also be set by the text attribute on the <tt><body></tt> tag, or on a <tt><font></tt> tag. CSS adds additional ways to determine the color, including writing a rule with the <tt><body></tt> tag as the selector, which would then apply to all <tt><nowiki><p></nowiki></tt> tags within the <tt><body></tt>—that is to say, it would apply to all paragraphs on the page. The specific process CSS uses to determine the color of the text or of any other property settings is called the cascade. You'll learn more about how the cascade works in [Hour 7], "Cascading and Inheritance." ===Combining CSS Rules === You can combine two CSS rules that share the same selector by listing their declarations within the curly braces. The ending semicolon is no longer optional between two rules combined this way; it's a necessary separator between the two declarations. For ease of editing and combining, I suggest always including the semicolon even if your braces contain only one declaration. Here's an example of two CSS rules with the same selector: <pre>p { color: blue; } p { font-size: large; } </pre> These rules can be combined into one rule like the following: <pre>p { color: blue; font-size: large; } </pre> I could have also written the rule like this: <pre>p { color: blue; font-size: large; } </pre> That particular style of spacing makes it a little easier to cut and paste entire lines while writing or testing the CSS. The browsers don't care about the whitespace—it's there to help you organize your style sheet in whatever manner works best for you. You can also combine rules if they have the same declarations and different selectors. You combine selectors by putting them in a list, separated by commas. For example, the following rules have the same declarations: <pre>p { color: blue; } address { color: blue; } </pre> You can write them as one rule, as follows: <pre>p, address { color: blue; } </pre> This rule says, "The content of <tt><nowiki><p></nowiki></tt> tags and of <tt><address></tt> tags should be colored as blue text." You can use multiple selectors together with multiple declarations; that is perfectly legal and very common. You can also write additional rules to further style those selectors together or separately. Here's what that might look like: <pre>p, address { color: blue; font-size: large; } p { font-family: Arial; } </pre> ===CSS Comments === Like many other languages, including HTML, CSS allows you to embed comments in the source code. A comment is a special bit of code that you embed in your CSS that is completely ignored by the browser. Comments serve as a way of adding to the source notes that are meant for the author of the style sheet or someone maintaining it. The user doesn't ever see comments, and they won't affect the style of the page; they are significant only when reading or editing the style sheet itself. Comments can be used to describe what your style sheet is doing at a particular point, or perhaps why it's doing it, so that when you come back to the style sheet later, you can recall why you wrote it that particular way. Comments are also useful for hiding sections of code that you feel you don't need any more or that you want browsers to ignore; this is known as commenting out your code. Comments can also be used to identify the author and the creation date of the style sheet and to provide a copyright notice. Comments in CSS begin with the characters <tt>/*</tt> and end with the characters <tt>*/</tt>. Anything between the start of the comment and the end is ignored. Here's an example of a comment: <pre>/* Let's turn all the paragraph text blue */ p { color: blue; } </pre> Your comments can appear anywhere you like, even inside a rule: <pre>p { color: /* make it less blue */ purple; font-size: large; } </pre> You can comment out parts of a declaration if you decide you don't want that particular part of the style rule to be applied, but you don't want to delete it. This is useful for testing various options when developing your style sheet. For example, this comments out the <tt>font-size</tt> declaration: <pre>p { color: /* make it less blue */ purple; /* font-size: large; */ } </pre> However, you can't nest comments, meaning that if you try to enclose one comment within another, both comments end at the first <tt>*/</tt>. For example, imagine that you want to comment out the color purple instead; if the comment markers are in the wrong place, as in the following, it doesn't work: <pre>p { /* color: /* make it less blue */ purple; */ font-size: large; } </pre> In this case, the comment ends after <tt>blue</tt>, not at the end of the declaration. This leaves the word <tt>purple</tt> floating there outside the comment. CSS browsers will probably ignore it because a <tt>purple</tt> by itself doesn't have any particular meaning in CSS, but that's just lucky this time. You need to be careful when placing your comments so that you don't accidentally try to nest them. ===Simple CSS Properties for Text Formatting === As you've probably surmised from the previous examples, there are CSS properties that can be used to set the text color, the size of the font, and the family of the font—<tt>color, font-size</tt>, and <tt>font-family</tt>, respectively. These are some of the simplest and yet most useful CSS properties; collectively, they perform the same function as the HTML <tt><nowiki><font></nowiki></tt> tag. Another very useful property is <tt>background-color</tt>, which sets the color of the background. ===The <tt>color</tt> Property === The <tt>color</tt> property is used to set the foreground color of the element, which is the property controlling the color of the text. For example, <pre>h1 { color: lime; } h2 { color: red; } </pre> This makes all <tt><nowiki><h1></nowiki></tt> elements a bright, lime-green color and makes all <tt><nowiki><h1></nowiki></tt> elements red. As with HTML, you can use one of 17 standard color names, or you can give an RGB value, such as <tt>#FF0000</tt>. The color names and their corresponding RGB values are shown in [Table 2.1]. {| cellspacing="0" cellpadding="5"|+ Table 2.1. Color Names in CSS |- | Color Name | RGB Value |- | <tt>aqua</tt> | <tt>#00FFFF</tt> |- | <tt>black</tt> | <tt>#000000</tt> |- | <tt>blue</tt> | <tt>#0000FF</tt> |- | <tt>fuchsia</tt> | <tt>#FF00FF</tt> |- | <tt>gray</tt> | <tt>#808080</tt> |- | <tt>green</tt> | <tt>#008000</tt> |- | <tt>lime</tt> | <tt>#00FF00</tt> |- | <tt>maroon</tt> | <tt>#800000</tt> |- | <tt>navy</tt> | <tt>#000080</tt> |- | <tt>olive</tt> | <tt>#808000</tt> |- | <tt>orange</tt> | <tt>#ffA500</tt> |- | <tt>purple</tt> | <tt>#800080</tt> |- | <tt>red</tt> | <tt>#FF0000</tt> |- | <tt>silver</tt> | <tt>#C0C0C0</tt> |- | <tt>teal</tt> | <tt>#008080</tt> |- | <tt>white</tt> | <tt>#FFFFFF</tt> |- | <tt>yellow</tt> | <tt>#FFFF00</tt> |} === The <tt>background-color</tt> Property === You can use the <tt>background-color</tt> property to set the background color. The values are the same as for the <tt>color</tt> property—color names or RGB values. To set the background color for the whole page, use the <tt><body></tt> tag in your selector; you can set backgrounds on any other elements as well. For example, <pre>body { background: silver; } h1 { background: #FFFF00; } </pre> ;Watch Out!: When you set the background color, make sure you've also set a foreground color that is visible against it! Otherwise your text may be very hard to read. ===The <tt>font-size</tt> Property === The <tt>font-size</tt> property enables you to specify the size of the text that's displayed to the user. One of the easier ways to specify font sizes is to give a value relative to the user's default text size; this respects the user's preferences as set in the browser. The default text size has a value of <tt>normal</tt>; larger sizes go up in increments of about 20% to values of large, <tt>x-large</tt>, and <tt>xx-large</tt>. Smaller sizes decrease by 20% to <tt>small, x-small</tt>, and <tt>xx-small</tt>. You can also use the relative values <tt>larger</tt> and <tt>smaller</tt> to indicate one step up or down the scale from the current size. Here are some examples: <pre>dl { font-size: large; } caption { font-size: small; } em { font-size: larger; } </pre> ===The <tt>font-family</tt> Property === You can use the <tt>font-family</tt> property to set the font face of the text. So why is it called <tt>font-family</tt> and not <tt>font-face</tt>? When you designate a font, you're really designating a whole family of related variants within the same font family. So when choosing Arial font, you're actually choosing the Arial family of fonts, each one slightly different in size. CSS also uses generic font families. The generic font families are <tt>sans-serif, serif, monospace, cursive</tt>, and <tt>fantasy</tt>. These aren't names of specific fonts, but rather a broad class that can be used as defaults if the browser doesn't know what a font name represents. If you choose a font that isn't installed on the user's machine, the browser uses just the normal font, so make sure you designate a generic font family as well as a specific one. You indicate the generic font by listing it after the specific font, separated by a comma. Common web fonts and their generic families are shown on [Table 2.2]. {| cellspacing="0" cellpadding="5"|+ Table 2.2. Common Font Families |- | Font | Generic Font Family |- | <tt>Arial</tt> | <tt>sans-serif</tt> |- | <tt>Times New Roman</tt> | <tt>serif</tt> |- | <tt>Courier New</tt> | <tt>monospace</tt> |- | <tt>Verdana</tt> | <tt>sans-serif</tt> |} If the name of the font family has more than one word, enclose it in quotes. Here are some examples of CSS rules that use <tt>font-family</tt>: <pre>body { font-family: Arial, sans-serif; } h1 { font-family: "Courier New", monospace; } h2 { font-family: "Times New Roman", serif; } </pre> You'll learn more about font families and font sizes in [Hour 9], "Fonts and Font Families." ===A Simple Style Sheet === Using just the simple properties and values you've learned so far this hour, you already can create a basic style sheet; an example of a complete style sheet is shown in [Listing 2.1]. ; Listing 2.1. A Basic Style Sheet with Color, Size, and Font Declarations <pre>/* basic-2.1.css */ body { font-family: Arial; color: black; background-color: white; } /* I think Verdana looks nice for headlines */ h1, h2, h3, h4, h5, h6 { font-family: Verdana, sans-serif; } /* This makes the largest heading have a background */ h1 { background-color: silver; } /* This puts the even numbered headings in gray */ h2, h4, h6 { color: gray; } table { background-color: white; } th { background-color: black; color: white; font-size: smaller; } td { background-color: gray; font-size: smaller; } address { font-family: "Courier New", monospace; font-size: larger; } </pre> You can find a copy of this style sheet on the book's website. == Linking a Style Sheet to an HTML Page == A style sheet by itself doesn't really do anything except sit there on your hard drive or web server. If you try to load it in your browser, it displays as just plain text. To actually use the CSS rules, you need to have a file with markup, such as an HTML page, and you need to add an HTML tag to link the CSS file to the web page. === A Simple HTML Page for Styling === [Listing 2.2] shows the structure of a basic HTML page like one you might find on the Web; it has headlines, paragraphs, horizontal rules, and even a table on the side. You can download a copy of this file from the book's website—because that's easier than typing in the whole thing. ;Listing 2.2. A Simple HTML File that Needs Styling <pre><!-- authorbio-2.2.html --> <html> <head> <title>Kynn.com</title> </head> <body> <h1>Kynn.com</h1> <table align="right" width="25%"> <tr><th><h3>New Stuff</h3></th></tr> <tr><td> <ul> <li>Pictures of <a href="http://www.desertmuseum.org/"> The Arizona-Sonora Desert Museum</a> from <a href="/gallery/2006/02/desertmuseum/">February 2006</a></li> <li>The <a href="/projects/heritage-tour/">Black Heritage Tour of Tucson, Arizona</a></li> </ul> </td></tr> </table> <h2>Kynn Bartlett's Web Site</h2> <p>Welcome to my site!</p> <h3>Biography</h3> <p>Kynn Bartlett has been using the Internet since 1986, and has been a Web developer since 1994. Self-taught in HTML, CSS, XML, and many other Web technologies, he passes this knowledge along to others through authoring books, teaching online classes, and giving seminars and presentations. His specialty is Web accessibility: Making Web sites that can be used by people with disabilities.</p> <p>Kynn was a key board member in building the HTML Writers Guild, a non-profit educational association of Web developers from around the world, and helped create the Guild's online education program. He also served as the Guild's representative on several World Wide Web Consortium working groups.</p> <p>From 1995 to 2005, Kynn was the co-owner and Chief Technologist of Idyll Mountain Internet, in Fullerton, California. Currently, he lives in Tucson, Arizona, where he writes books and does digital photography in addition to Web consulting.</p> <hr> <address> <a href="mailto:kynn@css24.com">kynn@css24.com</a> </address> </body> </html> </pre> As shown in the screenshot in [Figure 2.3], web browsers display this simply, without any CSS styles. It's not ugly, but it's not very interesting to look at, either. ===Linked Style Sheets in HTML === To apply the style sheet to the HTML page, you need to tell the browser which style sheet to use. You do this by using the <tt><link></tt> element of HTML, and in this case the <tt>basic-2.1.css</tt> file from [Listing 2.1]. The <tt><link></tt> tag can appear only within the <tt><head></tt> section of the HTML page. To link the style sheet, I open the HTML file and add the following line (shown in bold): <pre><head> <title>Kynn.com</title> <link type="text/css" rel="stylesheet" href="basic-2.1.css"> </head> </pre> You can see the effect of applying the style sheet in [Figure 2.4]; compare this with [Figure 2.3] to see the difference CSS can make in the appearance of the page. == Viewing Your Style Sheet == After you've created a style sheet, you'll want to take a look at it to ensure that it works. Uneven browser support for CSS means that it's important to check how it appears in various browsers, as well as to make sure you got the syntax correct. To view the style sheet, simply view the HTML file that links to your CSS file. Don't try viewing the CSS file directly; it just looks like source code in many browsers. The way to know whether it worked is to look at the HTML page that's being styled. ===Recommended Browsers === You'll want to verify your style sheet in at least the major browsers because they represent the greatest number of users who may access your page. You'll also want to test in browsers that have good support for the CSS standard. Browsers can vary between operating systems; Internet Explorer on Microsoft Windows handles CSS quite differently from Internet Explorer on a Macintosh. Naturally, it's difficult for one person to have access to every different browser combination available, but the more you're able to use, the better your results will be. I recommend a standard testing suite consisting of three or four of the following browsers: * Internet Explorer (6.0 or higher for Windows) * Safari (1.3 or higher for Mac OS X) * Firefox (1.5 or higher for Windows, Mac OS X, or Linux) * Opera (8.5 or higher for Windows, Mac OS X, or Linux) * Lynx (2.8 or higher; Windows, Macintosh, or Linux) These browsers represent a good cross-section for testing, and are generally widely available on most popular operating systems. In [Hour 3] you'll learn more about these browsers and how to install them on your computer. ===Try it Yourself: Creating Your First Style Sheet === Learning by doing is the key to understanding Cascading Style Sheets, and building your own style sheet is the first step in the process. Follow these instructions to create and test your own CSS: {| border="0" |- | '''1. ''' | Select an HTML page to style. This could be one you've created before, a brand new one, or perhaps the <tt>authorbio-2.2.html</tt> file used earlier this hour.<br /><br /> |- | '''2. ''' | Create a new CSS file, using the text editor of your choice. Using the style properties you learned this hour, add style rules to apply to your HTML page. Change the color of the text, the background color, the font sizes, and the text font. Save this file with a <tt>.css</tt> extension.<br /><br /> |- | '''3. ''' | Use the <tt><link></tt> tag in your HTML to associate the style sheet with the HTML page. Be sure the HTML and CSS files are in the same directory, or else the browser might not be able to find the CSS file. (You can use full URL paths if you want, but for now, it's easiest to have HTML and CSS in the same location.)<br /><br /> |- | '''4. ''' | Open your page in your primary web browser and view the results of your work. You may want to go back and tweak the CSS to see what effect additional styles have; go right ahead, and then reload the page!<br /><br /> |- | '''5. ''' | If you have any of the other recommended browsers, try the page with those. You probably won't see much difference because the CSS properties introduced in this hour are relatively safe and reasonably well supported.<br /><br /> |} == Summary == In this hour, you learned about using text editors and specialized software to create and edit style sheets, which are just ordinary text files of CSS rules. You learned the general structure of a CSS rule and its component parts, including the selector, the declaration, the property name, and the property value. You learned how and why to include comments in your CSS files. You got to see a few simple styles change an HTML page, setting the text color, size, and font, and you learned how the HTML <tt><link></tt> tag associates a style sheet with a web page. Finally, you learned how to display your page in your browser and see your CSS in action. == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. ===Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q.''' | I'm not sure what the "RGB" values used for colors are. Can you explain? |- | align="right" | '''A.''' | Sure! RGB triples are one of the most common ways to specify color on the Web, in both HTML and CSS. RGB stands for Red-Green-Blue and is a standard way to specify a color as a composite of three values: the amount of red, the amount of green, and the amount of blue. In HTML and CSS these are written in hexadecimal numbers (base 16), which start with 0, go up to 9, and then continue on to A, B, C, D, E, and F. If you don't know how to use RGB hexadecimal values, you can use the <tt>rgb()</tt> function to specify colors, like this: <tt>h1 { color: rgb(100%, 50%, 25%); }<br /></tt><br /> |- | align="right" | ''' Q.''' | Can I set the <tt>font-size</tt> to a specific value, such as 12 point? |- | align="right" | ''' A.''' | Yes, you can; 12 point is written as <tt>12pt</tt> (no space). This is what's known as an absolute font size, though, and it can cause problems for users who need to adjust their preferences to account for visual impairments. For now I recommend sticking with the relative values given earlier in this hour, like <tt>larger</tt> and <tt>x-small</tt>, but if you want you can read ahead to [ch09.html#ch09 Hour 9] for more about font size units. |} === Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | What kind of software is needed to create a CSS file? |- | align="right" | ''' 2.''' | What is the name of the part of a CSS rule that goes within the curly braces? # The selector # The declaration # The property name # The property value |- | align="right" | '''3.''' | You want to make all your HTML headings (<tt><nowiki><h1></nowiki></tt>, and so on) blue and in Arial font. What CSS rule(s) do you write? |} === Answers=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | Because CSS files are just ordinary text files, anything that can create or edit text files can make a style sheet. This includes text editors, style sheet editors, web development tools, and word processors. The important thing is to save the files as plain text, usually with a <tt>.css</tt> file extension suffix. |- | align="right" | '''2.''' | The declaration, which consists of the one or more pairs of property names and values, is the part of the CSS rule between curly braces. |- | align="right" | ''' 3.''' | Here's the easiest way to make headings blue and Arial: <pre> h1, h2, h3, h4, h5, h6 { color: blue; font-family: Arial; } </pre> You could also write this as several rules—as many as 12—but this combined form is the easiest way to do it. |} === Exercise === You now know how to make the easiest types of style sheets—those that can be applied to HTML pages to change the colors, background colors, and fonts of HTML tags on the page. Test your new skills by creating several web pages that use the same style sheet. You will soon notice you're running into some limitations—you have to style all elements the same way. In [Hour 4], "Using CSS with HTML," you'll learn how to expand your repertoire of selectors. 5xl73hr4336wnv3s2g8cw3js288m2vm User:Bartlett/03 2 2106 7134 7133 2010-10-16T10:35:29Z Hoo man 428 Reverted edits by [[Special:Contributions/Rathabijian|Rathabijian]] ([[User talk:Rathabijian|talk]]) to last revision by [[User:Bartlett|Bartlett]] 7134 wikitext text/x-wiki = Hour 3. Browser Support for CSS = ;What You'll Learn in This Hour: * How web browsers fail to support CSS correctly * The consequences of browser failure * What the Acid2 test is and what it measures * What a layout engine is and how it affects your web page * How current browsers implement Cascading Style Sheets * How screen readers work with browsers to speak web pages to blind users CSS rules are always interpreted by web browsers, just as the HTML pages those rules style are interpreted. The HTML and CSS standards give specifics on how browsers should display those rules—but they're not always followed. To design pages with CSS, you not only need to know the standards, as presented in the CSS specification, but also understand how browsers' quirks and flaws will affect your web design results. == Modern Browsers and CSS == From the perspective of a CSS designer, the most important part of the web browser is not the menu bar, the tabbed window interface, or even the security and privacy features. The true heart of a web browser is its layout engine. The layout engine is the part of the browser program that reads an HTML page and applies the browser's default style rules, the user's personal style sheet (if any), and the style sheets associated with the page being displayed. The colors, fonts, page layout, and other properties controlled by HTML and CSS are all applied by the layout engine, which presents the page content to the user. This is also where you find browser bugs and quirks that affect CSS usage. The layout engine is the primary determinant of whether a browser is broken, quirky, or compliant. In modern web browsers, the layout engine is modular and can be used by other applications. For example, the layout engine used in Firefox is known by the code-name Gecko. (All layout engines have code-names which are, essentially, arbitrarily chosen and don't really mean anything in particular.) Gecko is an open-source layout engine—meaning that the code used to create the program is available on the Web for anyone to readand it has been used in other programs, such as the browsers Camino, K-Meleon, and Epiphany, as well as the email program Thunderbird. From a CSS designer's perspective, these browsers are all effectively the same as Firefox; they display CSS in the same way, and share any quirks and bugs found in Gecko. The rest of this hour is a snapshot of the major browsers in the first part of 2006 (and some minor browsers), grouped by layout engine. Older versions of these browsers are listed as well, with advice on how these browsers will affect your web design practices. ===Internet Explorer === Microsoft's Internet Explorer 6 is currently the most popular web browser; recent browser statistics show that more people use IE than all other browsers combined. On the other hand, Internet Explorer is probably the least favorite current browser among designers who use CSS extensively. There are a number of bugs and other problems in Internet Explorer, which force it into the category of "quirky browsers." You're going to need to make special provisions for Internet Explorer if you use more complex CSS, such as advanced selectors or CSS for layout. Did you Know? You can download Internet Explorer 6 from [http://www.microsoft.com/windows/ie/ http://www.microsoft.com/windows/ie/]. It's available on the Windows platform only; see later this hour for details on the now-defunct Internet Explorer for Mac. The layout engine used in Internet Explorer is code-named Trident. As the part of the web browser responsible for the display of web content, including HTML tags and CSS rules, Trident is also the source of the bugs and quirks in IE. These include problems calculating the dimensions of sized content (the "box model bug"), lack of support for advanced CSS selectors, and a number of display quirks ranging in importance from trivial to serious. You can get a list of CSS bugs from the website Position Is Everything ([http://www.positioniseverything.net/ http://www.positioniseverything.net/]). By the Way At the time of this book's writing, a preview version of Internet Explorer 7 is available for testing. Some, but not all, known CSS bugs in Internet Explorer 6 are being fixed in the new version. Because of the unstable nature of pre-release software, this book doesn't cover any Internet Explorer 7 CSS quirks or bugs. ===Internet Explorer Shells === An Internet Explorer shell is a browser which uses the Trident layout engine from Internet Explorer but provides its own user interface frameworkthe buttons, bars and menus that drive the program. This means that the look of the browser may not resemble Internet Explorer at all, but under the hood, it displays websites just as Internet Explorer would. Early IE shells were created for corporate branding purposes, but recent browsers based on Trident have focused on providing a better browsing experience for the user. Maxthon from MySoft ([http://www.maxthon.com/ http://www.maxthon.com/]) is an example of such a shell. It adds features from other browsers such as tabbed browsing and ad blocking, while using the Trident layout engine for HTML and CSS display. This means that Maxthon inherits all of Internet Explorer 6's CSS quirks and bugs. Fortunately, you don't need to do anything else to support users of Internet Explorer shells than you're already doing for IE 6 itself. Maxthon users don't need special attention beyond any browser hacks you might put in place anyway. Other examples of Internet Explorer shells include America Online's AOL Explorer ([http://downloads.channel.aol.com/browser http://downloads.channel.aol.com/browser]) and Avant Browser ([http://www.avantbrowser.com/ http://www.avantbrowser.com/]). ===Older Versions of Internet Explorer === Internet Explorer 3 was the first major browser to implement cascading style sheetsor rather, it was the first to attempt to do so. By all measures it failed horribly in the attempt, producing nightmares for many early adopter web designers who tried to use CSS. Internet Explorer 4 was almost as bad, but things started slowly getting better in IE 5 and 5.5. The early, buggy versions of Internet Explorer are all but gone from the Web, but you may still have to deal with Internet Explorer 5 and 5.5. These versions had decent CSS support but a number of serious problems related to page layout. In [ch24.html#ch24 Hour 24], you'll learn several ways to selectively hide or target CSS rules for those versions of Internet Explorer. ===Firefox === One of the earliest graphical browsers was called Netscape. Netscape was the top dog of browsers until Microsoft threw its market dominance around and knocked Netscape out of the competition. The Netscape browser eventually became part of the open source movement, in a project code-named Mozilla. Mozilla Firefox is an open-source browser developed by the Mozilla Foundation and is available on a wide variety of platforms, including Microsoft Windows, Mac OS X, and Linux and other Unix-like operating systems. The most recent version, as this book is being written, is Firefox 1.5. Firefox provides standard features found on most browsers such as tabbed browsing, pop-up blocking, and good support for user style sheets. Did you Know? You can download Firefox for a wide variety of platforms from [http://www.mozilla.com/firefox/ http://www.mozilla.com/firefox/]. Firefox has very good overall CSS 2.1 support, which is one reason why it's used for the screenshots in this book. (The other reason is that it's one of the few current browsers available on all major operating systems, meaning it's very likely that anyone who picks up this book will be able to run Firefox.) There are a few quirks and bugs in Firefox, but in general you won't make big changes to your CSS or HTML to support Firefox users. By the Way At the time of this book's writing, a preview version of Firefox 2 is available for testing. Because of the unstable nature of pre-release software, this book doesn't cover any Firefox 2 CSS quirks or bugs. ===Other Gecko-Based Browsers === The layout engine used in Firefox is called Gecko, and it has been incorporated into a number of other browsers, some of them open source, and others that are closed but use the layout engine. Because Gecko provides a solid base for CSS implementation, you don't have any extra worries from Gecko-based browsersno more than those you have for Firefox bugs. Netscape Browser version 8.1 ([http://browser.netscape.com/ns8/ http://browser.netscape.com/ns8/], Windows only) is an example of a browser that is Gecko-basedit is proprietary software developed by Netscape Communications (part of America Online), the current owners of the "Netscape" trade name. The user interface shell is closed source, but it uses the Gecko engine. Interestingly, it also can use Internet Explorer's Trident layout engine as well on certain pages. Making the Gecko family tree even more complicated is the Mozilla browser ([http://www.mozilla.org/products/mozilla1.x/ http://www.mozilla.org/products/mozilla1.x/]), part of the Mozilla Application Suite, which is different from Mozilla Firefox and is currently at version 1.7. Mozilla-thebrowser is now giving way to the open-source project codenamed SeaMonkey, which released version 1.0 ([http://www.mozilla.org/projects/seamonkey/ http://www.mozilla.org/projects/seamonkey/]) in January 2006. The Gecko layout engine is also used on several projects that give a "native" user interface environment, rather than Firefox's more generic, cross-platform user interface. Camino ([http://www.caminobrowser.org/ http://www.caminobrowser.org/]) is an open-source browser for Mac OS X that feels more like a native Macintosh application, with the Gecko engine doing the HTML and CSS display. K-Meleon ([http://kmeleon.sourceforge.net/ http://kmeleon.sourceforge.net/]) does the same for the Microsoft Windows operating system, and Epiphany ([http://www.gnome.org/projects/epiphany/ http://www.gnome.org/projects/epiphany/]) is the native Linux and Unix-like browser with a Gecko layout engine foundation. Other examples of Gecko-based browsers include Flock ([http://flock.com/ http://flock.com/]) and Galeon ([http://galeon.sourceforge.net/ http://galeon.sourceforge.net/]). ===Older Versions of Netscape === Ancient versions of Netscapesometimes also called Netscape Navigator and Netscape Communicator, depending on the corporate policy of any given timehad no CSS support; Netscape 3 wouldn't recognize CSS rules or related attributes and elements. This actually made it a good test case for web developers who wanted to see how their sites would work without style sheets. These days, however, nobody uses Netscape 3 or earlier versions. Netscape 4 was released in June 1997 and had notoriously bad CSS support. Version 4.02 contained a bug that would cause the entire browser to crash upon reading certain perfectly valid CSS rules. Later versions of Netscape in the 4.x series gradually improved their support for CSS, but even by the release of Netscape 4.8, it was still a very buggy browser that required major work-arounds to do complex CSS layouts. Fortunately for web developers, Netscape 4 is all but dead. These days it is used by so few people that there's really little point in using the classic work-arounds and browser hacks for Netscape 4. Unless you are very conscientious, or somehow dealing with a group of primitive users who run Netscape 4 on stone computers, you won't have to make changes to your CSS or HTML to deal with Netscape 4. Netscape 5 actually wasn't released; the browser developers skipped the numbering to "catch up" to Internet Explorer 6. Netscape 6 was the first Mozilla release, using the new Gecko engine developed by open source developers. The Gecko support for CSS started out strong and has gotten stronger since. In general, there are very few times in which you'll need to use browser hacks to deal with bugs in Netscape 6.2 or later. Did you Know? The Netscape website has an incomplete archive of old versions of Netscape for testing. As of early 2006, this appears to be unavailable, but you can find archived versions of Netscape browsers at [http://browsers.evolt.org/ http://browsers.evolt.org/]. ===Opera === The Opera browser was developed by Opera Software of Oslo, Norway, and runs on Microsoft Windows, Mac OS X, and Linux and Unix-like operating systems. The current version is Opera 8.5, and it uses a layout engine named Presto. Presto has good support for CSS, which isn't that surprising considering that Håkon Wium Lie, one of the creators of the CSS specification, is a long-time Opera employee. Opera is also very customizable, and has good support for user-defined style sheets and user configuration options. Did you Know? You can download Opera for a wide variety of platforms from [http://www.opera.com/ http://www.opera.com/]. In general, there are very few situations in which you will need to provide special code for Opera only. Opera's CSS 2.1 support is generally quite solid and it does CSS-based layout without major problems. By the Way At the time of this book's writing, a preview version of Opera 9 is available for testing. The new version of Opera promises even better support for CSS; in late March, 2006, the Web Standards Project announced that Opera 9 passed the Acid2 test. Because of the unstable nature of pre-release software, this book doesn't cover any Opera 9 CSS quirks or bugs. Early versions of Opera quickly gained a reputation for excellent CSS supportrelative to the existing browsers in the market. The 5.0 and 6.0 versions have seen Opera drop back into the middle of the pack for CSS support; there are some serious CSS limitations and bugs in Opera versions before Opera 7. Fortunately, Opera users tend to be well informed about new browser releases and transition relatively quickly to newer, less buggy versions. For this reason, the older versions of Opera are not a serious problem at this time and rarely need any special attention. ===Safari === Safari is Apple Computer's web browser for the Mac OS X operating system. The layout engine in Safari is called WebCore and is based on the KHTML layout engine from Konqueror (which you'll learn about in just a moment). There are two current versions of SafariSafari 2 runs on Mac OS X version 10.4, and Safari 1.3 is for Mac OS X version 10.3. The layout engine is almost the same between the two versions, so for CSS purposes they're effectively the same browser. Safari supports nearly all of CSS 2.1, including advanced selectors and CSS-based layout. You won't have many problems from Safari when you write standard CSS. In April 2005, it was reported that Safari 2 had successfully passed the Acid2 test. Older versions of Safari had numerous CSS bugs, but Apple's software developers have been diligently rooting them out. The Safari browser is included with the Mac OS X operating system, and is automatically updated by Apple's software update program. This means very few users will have-out-of date versions of Safari; you won't have to worry about older, buggy versions. Did you Know? Apple's website for Safari is [http://www.apple.com/safari/ http://www.apple.com/safari/], and you can also install the most recent version through Software Update. ===Konqueror === Konqueror is an open-source browser developed as part of the K Desktop Environment (KDE) by volunteers for Linux, BSD, and other Unix-like operating systems. In addition to being a web browser, it also functions as a file manager and file viewer. Konqueror uses a layout engine called KHTML, which was incorporated into Apple's WebCore layout engine. Konqueror also can operate in a mode where it uses Mozilla's Gecko layout engine. In general, Konqueror's support for CSS is good, thanks in part to the contributions of Apple's WebCore developers back into the KHTML project, and in part because of the efforts of KDE's volunteers. In June 2005, Konqueror passed the Acid2 test from the Web Standards Project. Because of this high level of CSS support and Konqueror's small user base, you likely will never have to pay any special attention to Konqueror. Did you Know? You can download Konqueror from the KDE website at [http://konqueror.kde.org/ http://konqueror.kde.org/]. ===WebCore === WebCore is the name of Apple's KHTML-derived layout engine for Mac OS X, which has been incorporated into other applications that need HTML rendering functions. Such applications have no more and no fewer problems than does Safari when it comes to CSS display; whatever you do for Safari will benefit these browsers as well. The OmniWeb browser is one of the older small browsers still around, originally written in 1995 for the NeXTSTEP platform. Created by the Omni Group, OmniWeb first used its own proprietary layout engine, but in 2003 switched to using Apple's WebCore. Did you Know? OmniWeb is available for Mac OS X from [http://www.omnigroup.com/applications/omniweb/ http://www.omnigroup.com/applications/omniweb/]. ===Other Browsers === In addition to the major browsers listed here, there are a number of smaller, less frequently used browsers you should be aware of. A huge list of many browsers can be found at the Evolt browser archive, [http://browsers.evolt.org/ http://browsers.evolt.org/]. It's also important for you to understand screen readers, a type of assistive technology employed by users who are blind. ===Lynx === Lynx is an old classic browser, which is most commonly used at a shell window or command prompt. Versions of Lynx can run on any system, although it is most commonly used on Unix-like operating systems, such as Linux or Mac OS X. Lynx doesn't display images. It doesn't display colors. It doesn't do tables. It's the prototypical text-only browserand it definitely doesn't do CSS. This actually makes it ideal for testing your CSS-based designs to ensure that the underlying page can be used even if the style sheets are not understood. [ch.htm#ch03fig03 Figure 3.3] is an example of how Lynx displays the author's websiteby ignoring the style sheet. You can compare this with [ch01lev1sec3.html#ch01fig02 Figure 1.2] in [ch01.html#ch01 Hour 1], which shows the same site in Firefox. <center> Figure 3.3. Lynx displays the author's personal website. [images/03fig03_alt.jpg [View full size image]][[Image:03fig03.jpg|500px]] </center> Did you Know? The download site for Lynx is [http://lynx.isc.org/ http://lynx.isc.org/], and the browser runs on many operating systems. Many people use Lynx because it provides a faster and simpler interface to the Web, without the extra download time of a graphical browser. Other examples of similar text-based browsers include Links ([http://links.sourceforge.net/ http://links.sourceforge.net/]) and w3m ([http://w3m.sourceforge.net/ http://w3m.sourceforge.net/]). ===iCab === iCab is a web browser created by Alexander Clauss of Germany, and is available for both Mac OS X and for earlier versions of Mac OS, making it the primary browser for Macintosh users who have not upgraded beyond Mac OS 9. The CSS support in iCab is good, and in June 2005 it was reported that iCab was the second browser to pass the Acid2 test. This high level of CSS support plus the small user base of iCab mean that you are not likely to need to make special considerations for iCab. Did you Know? You can download iCab for Mac OS X (or earlier versions of Mac OS) from [http://www.icab.de/ http://www.icab.de/]. ===Internet Explorer for Macintosh === Even though they both originated at Microsoft around the same time, Internet Explorer for Windows and Internet Explorer for Macintosh are literally different pieces of software that confusingly share the same name. Internet Explorer for Mac was bundled with new Apple computers for years, and for a while was the best browser for Macs. In fact, it was probably the best browser for any operating system in 2000. Internet Explorer for Mac was developed separately from the Windows version, and had a number of features that its Windows counterpart didn't have. From a CSS perspective, the most important of these was the layout engine, code-named Tasman, which provided superior (but quirky) CSS support, especially when compared with Trident, the equivalent in Internet Explorer on Windows. You'd have to worry about providing support for Internet Explorer for Mac, except for one thing: It's officially dead. The last version for Mac OS X was 5.2.3, and 5.1.7 for Mac OS 8 and 9both released in June 2003. Microsoft no longer has programmers working on it, Apple no longer bundles it with new computers, and as of January 2006 you can't even download it from Microsoft's site. They tell you to use Safari instead. That's kind of a shame, really, but it makes your job easier as a web developervery few people are using Internet Explorer for Mac, and so you probably won't need to use the Mac IE workarounds from [ch24.html#ch24 Hour 24]. ===Screen Readers === A screen reader is a specialized piece of software that works between the operating system and applications to read out a program's output to a user who is blind or visually impaired. This allows someone to access and use your website even if she is unable to see it. The term "screen reader" is descriptive; most screen readers literally read only whatever they see on the screen. A screen reader needs to work with a browser to access the Web. The most common screen readers, such as JAWS or WindowEyes, are available only for Microsoft Windows, and work primarily with Internet Explorer. This means that someone using a screen reader not only has to deal with the quirks of the screen reader and possible inaccessible web design techniques in the HTML, but also the CSS quirks of the browser. [ch24.html#ch24 Hour 24] has advice on how to make specific sections of your site available only to users with screen readers. By the Way You'll learn more about access by people with disabilities in [ch22.html#ch22 Hour 22], "Accessibility and Print Media." {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Test Drive a New Browser The more browsers you use for testing, the better you'll be able to understand how your CSS works with those browsers. To get some hands-on experience with new browsers, follow these directions: {| border="0" |- | | > |- | '''1. ''' | Choose one or more browsers from earlier in this hour that will work on your operating system. If you've already used them all, download an older version or an alternate browser from the Evolt browser archive. |- | '''2. ''' | Install the browser and fire it up for surfing the Web. |- | '''3. ''' | Visit several websites that use CSS, including the site for this book, and the Web Standards Project, home of the Acid 2 test ([http://www.webstandards.org/action/acid2 http://www.webstandards.org/action/acid2]). |- | '''4. ''' | How does your experience using these browsers differ from your experience using your normal browser-of-choice? Note whether the CSS support is better or worse, and rank the browser you're using as "ancient," "broken," "quirky," or "compliant." |} |} ==Summary == Browser support is the key issue to understanding how to use Cascading Style Sheets effectively. Older browsers ignore CSS, compliant browsers support CSS, and other browsers provide either broken or quirky support for the standards. Knowing how to deal with the different types of browsers makes your style sheets more effective across a variety of platforms and browser versions. The layout engine is the most important part of the browser, from a CSS perspective, as it determines how a web page is displayedand thus how web designers deal with that browser. The Acid2 test was developed as one benchmark to measure a browser's conformance with CSS. Internet Explorer (for Windows) is an example of a quirky browserone that requires special attention from the web designer. Firefox, Opera, Safari, and related browsers are generally compliant with the web standards. Web designers need to be aware of these browsers and others when using CSS. == Workshop == The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' Q.''' | Which browsers should I use? |- | align="right" | ''' A.''' | For your own personal use, you're free to use any you prefer! I like Safari and Firefox, myself. For testing purposes, as described in [ch02.html#ch02 Hour 2], "Getting Started with CSS," a good minimal set of browsers consists of Internet Explorer, Lynx, Firefox, Opera, and/or Safari. If you have access to additional platforms, you'll want to get appropriate browsers for those. In short, testing on as many browsers and platforms as possible will always be to your advantage. |- | align="right" | ''' Q.''' | Are there more browsers out there than just those you've listed? What about older versions? |- | align="right" | ''' A.''' | It turns out there are dozens and dozens of browsers that run on a wide variety of operating systems and configurations. You can find these alternate browsers, as well as older versions of more popular browsers, at the Evolt browser archive at [http://browsers.evolt.org/ http://browsers.evolt.org/]. |- | align="right" | ''' Q.''' | What do I look for when testing a web page with a browser? |- | align="right" | '''A.''' | Well, the most obvious thing to check for is simple access to information. Are you able to read what's on the screen and get at the content of the HTML? Next, check for functionality. You may find that some browsers make it impossible to follow links or submit forms if your style sheet is not understood. Finally, check for aesthetics: Does the page look as you want it to look, or a reasonable approximation? If so, you're in luck; if not, you may want to change your style sheet by adding or removing properties. The workarounds in subsequent hours of this book can help you figure out how to make effects work in specific browsers. |- | align="right" | ''' Q.''' | I don't have access to every browser ever created, and I certainly don't have multiple computers with a variety of operating systems. What can I do, short of spending a fortune on new hardware? |- | align="right" | ''' A.''' | For starters, you can join any number of web forums or mailing lists that support web developers. Experienced designers are usually more than happy to help out new folks learning CSS. Another resource is BrowserCam ([http://www.browsercam.com/ http://www.browsercam.com/]) which, for a fee, offers screenshots and even remote access on a wide variety of computer and browser combinations. |} ===Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | ''' 1.''' | What will an older browser do if it encounters Cascading Style Sheets? Is this a good thing or a bad thing? |- | > | > |- | align="right" | ''' 2.''' | Which browsers are the closest to being fully compliant with the CSS specifications? |- | align="right" | ''' 3.''' | Why is it important to test in Internet Explorer 6? |} ===Answers=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1.''' | An older browserone written before the CSS recommendation was issuedwon't understand anything about Cascading Style Sheets. This is not great, but it's not bad either because CSS is designed so that if you design your style sheets correctly, your web pages will still function even with CSS unavailable. The presentation may look dull or even awful, but your message will still shine through. |- | align="right" | '''2.''' | The best browsers for CSS support currently are Firefox 1.5 (and derivatives), Opera 8.5, and Safari. Internet Explorer 7 and Opera 9 are very promising, but were not yet officially released as of the time this book was written. |- | align="right" | '''3.''' | It's important to test your designs in Internet Explorer 6 because it's still used by a sizable number of web surfers, and because it contains serious problems that can render your designs unusable because of quirks and bugs. |} ===Exercise === This would be an excellent time to assemble your test suite of browsers. Using the information provided in this chapter, assemble your own set of programs that you'll use to check your designs. A variety of browsersancient, broken, quirky, and compliantis a good approach. Will you include minor browsers in your test suite? How will you deal with programs that don't run on your primary computer? If you use Microsoft Windows, you can't easily test on Safari. Write down your testing decisions and procedures. 3yftk5ndgfltx93msbojap0tyo6amgu User:Bartlett/04 2 2107 5492 5467 2007-06-17T15:48:01Z Bartlett 26 5492 wikitext text/x-wiki = Hour 4. Using CSS with HTML = ; What You'll Learn in This Hour: * What the different types of HTML are and how to use them with Cascading Style Sheets * The three ways to link CSS to styles and when to use each * How to create an external style sheet for your entire website * How to embed style sheets directly in your HTML * How to create CSS rules based on the HTML attributes of <tt>class</tt> and <tt>id</tt> In previous hours, you've used Cascading Style Sheets to style your HTML pages by linking in an external CSS file. The true power of CSS and HTML really shines through only when you understand both of these complementary languages, how they relate to each other, and how they can be used effectively. HTML and CSS blend together well not by coincidence but by design; they literally were made for each other. Using that designed synergy is the key to creating effective presentations on your websites. |} ./ ADD NAME=CH04LEV1SEC1.HTML == Types of HTML == To fully understand how HTML and CSS work together, it's important to know what we're talking about when we talk about HTML. Hypertext Markup Language is defined by formal recommendations issued by the World Wide Web Consortium (W3C), just as the Cascading Style Sheets language is. HTML 4.01 The most recent version of HTML is HTML 4.01. HTML 4.01 is an updated version of HTML 4.0, which itself was an improvement over HTML 3.2 and 2.0. (There was no official version numbered 1.0; the first version of HTML was a quickly changing adhoc language put together primarily by World Wide Web creator Tim Berners-Lee. When efforts began to standardize HTML, numbering started with 2.0.) HTML 4.01 comes in three "flavors"Strict, Transitional, and Frameset. The type of HTML used on your page is indicated by the <tt>DOCTYPE</tt> statement you place as the first line of the page. Each flavor has a set of tags and attributes that are allowed and disallowed; they're like a variant of spoken human languages, in a way. What's the difference between the three? HTML Strict relies entirely on CSS for presentational styling; HTML Transitional includes some HTML attributes and elements for presentation effects; and HTML Frameset is used to create frames. Strict HTML 4.01 Strict is a version of HTML that removes nearly all the presentational markupthe <tt><font></tt> tags, the <tt>color</tt> and <tt>link</tt> attributes on <tt><body></tt>, the <tt>border</tt> attribute, and other old standbys that have been used for years to make pages more visually appealing. So what's a web developer to do if she doesn't want boring pages? The answer should be clear to anyone reading this book: Use Cascading Style Sheets! The Strict variety relies heavily on CSS for presentation; that's why it's considered strict. To declare your page as using HTML Strict, put the following at the very top of your HTML file as the first line: <div><pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> </pre></div> You'll want to use HTML Strict if you're designing primarily for newer browsers or if you don't mind giving unstyled pages to older browsers that ignore CSS. <div>Did you Know? Several recent browsers have a special compatibility mode for HTML and CSS where they adhere more closely to the published standards. Firefox and Internet Explorer turn on this mode when they encounter a valid <tt>DOCTYPE</tt> for HTML Strict and for a few other <tt>DOCTYPE</tt> declarations; other pages are shown in a "quirky" mode for backward compatibility with older browsers. For more information, see the following URLs: * [http://www.mozilla.org/docs/web-developer/quirks/ http://www.mozilla.org/docs/web-developer/quirks/] * [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp]</div> Transitional HTML 4.01 Transitional adds back in those presentation markup tags and attributes, although some, such as the <tt><font></tt> tag, are considered deprecated. What's deprecated mean? That's W3C-talk that means "This is still within the formal specification, but you really should not use it, and it won't be in future versions of this language." Not all presentation markup in HTML 4.01 is deprecated, and you can freely use those nondeprecated elements and attributes as part of HTML 4.01 Transitional. Transitional HTML is so named because at the time the HTML 4.0 specification was released, few browsers had particularly good CSS support, which meant Strict wasn't really usable on most websites, unless you wanted plain gray or white backgrounds, black text, and default fonts. Transitional is intended as a temporary measure until browsers catch up. So far, the browsers have been slow in catching up; Transitional HTML is therefore what I suggest for most web development. If you are concerned about delivering your design to the majority of browsers out there, you should use HTML Transitional. <div>By the Way You can use CSS and Transitional HTML together, and in fact that's highly recommended; CSS rules are followed if the browser understands CSS, and if not, it looks at the HTML attributes or elements instead. This enables you to have "fall-back" presentations in the HTML markup for older or limited browsers that don't support CSS.</div> This is the DOCTYPE statement for HTML 4.01 Transitional; it should be the very first line of your document: <div><pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> </pre></div> Frameset The Frameset variety of HTML 4.01 is intended for use only in creating frameset pagesthose that use the <tt><frameset></tt> element, along with <tt><frame></tt> and <tt><noframes></tt>, to lay out different windows within the page. It's otherwise identical to Transitional HTML; you need to use this only on the page that establishes the frames, not on the frames contained within that set (unless they define other <tt><frameset></tt> elements, of course). You'll want to use HTML Frameset whenever you're creating a frame presentation and at no other time otherwise. The DOCTYPE for HTML 4.01 Frameset is <div><pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> </pre></div> XHTML XHTML 1.0 is a version of HTML 4.01 written as XML, which means it follows the very specific rules and structure imposed on XML documents. The tags are all the same as in HTML, but how you write them may be different. For example, all XHTML tags are lowercase, and all attribute values have to be quoted. XHTML 1.0 comes in the same three varieties: Strict, Transitional, and Frameset. The next version, XHTML 1.1, is available only in a Strict flavor and thus relies entirely on CSS for presentation. Using CSS with XHTML is pretty much the same as using CSS with HTML. Because XHTML represents a move forward to an XML-based web, you may end up migrating from HTML to XHTML sometime in the future. For this reason, I recommend writing all your CSS rules so that element names are written in lowercase letters. It doesn't matter in HTML, but it will in XHTML, and making this a habit will save you time now if you choose to use XHTML in the future: You won't need to rewrite all your style sheets. Validating HTML Validating your HTML means that you run your page through an HTML validator, which is a program to analyze HTML code and ensure that the code you write is in compliance with the HTML specification. In this way, an HTML validator is like a spellchecker or grammar checker for HTML. By validating your HTML, you can catch errors in your code, such as misspelled attributes (like <tt>aling</tt> or <tt>scr</tt>) or closing tags you've accidentally left out. Validation also improves your compatibility with browsers: Valid HTML code is closer to what browsersespecially newer onesare expecting. You can validate against your chosen variety of HTML (Strict, Transitional, or Frameset) to ensure that you're using only tags and attributes that are within that subset of the language. From the standpoint of troubleshooting your style sheet, it's much easier to catch CSS errors if you know you don't have many HTML errors. I've spent many hours chasing down what I thought were mistakes in my CSS when really I'd just written an HTML attribute or element incorrectly. I recommend always making sure your HTML is valid. Valid code conforms to the appropriate HTML Document Type Definition, which is a formal specification of HTML syntax. You use the DOCTYPE statement as the first line of your HTML file to indicate the correct version of HTML. To check your HTML, you can use one of the validation services listed here: * W3C's HTML Validator ([http://validator.w3.org/ http://validator.w3.org]) * Web Design Group's HTML Validator ([http://www.htmlhelp.com/tools/validator http://www.htmlhelp.com/tools/validator]) <div>Did you Know? If a validator locates a problem with your HTML files, you can correct them by hand, in an HTML editor, or by using the HTML Tidy program created by Dave Raggett of the W3C. You can download HTML Tidy for free for various operating systems from [http://www.w3.org/People/Raggett/tidy/ http://www.w3.org/People/Raggett/tidy/]. It's well worth the time.</div> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Validate a Web Page The process of checking your HTML is so important to creating good CSS that you should take the time out now to get familiar with it: {| border="0" |- | <div>'''1. '''</div> | <div>Choose a validator from the list just given and go to that site.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Enter the URL of a web page you've worked on, or upload the file directly from your computer.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Make sure your web page contains a <tt>DOCTYPE</tt> statement as the first line, preferably Transitional (if you use HTML attributes for appearance) or Strict (if you use pure CSS).<br /><br /></div> |- | <div>'''4. '''</div> | <div>Check the validation results. You may have tags that aren't closed, obsolete elements or attributes, or plain, ordinary typos. What would it take to fix your page?<br /><br /></div> |- | <div>'''5. '''</div> | <div>Make those changes and revalidate until your page passes. Congratsyou're writing valid HTML.<br /><br /></div> |- | <div>'''6. '''</div> | <div>For fun, validate other websites, including major destinations on the Internet such as search engines or news portals. How serious are they about valid HTML?<br /><br /></div> |} |} <div>By the Way The code examples given in this book don't include the DOCTYPE statement, so technically they aren't valid. This was done deliberately to conserve space as well as attention; a complex DOCTYPE at the beginning of an HTML example can distract from whatever point I'm trying to make by providing the HTML code. However, I do ensure the code is otherwise valid, and I ask for your forgiveness for lack of DOCTYPE. Do as I say, not as I do, in this specific case.</div> ./ ADD NAME=CH04LEV1SEC2.HTML == Style Sheets in HTML == The Cascading Style Sheets language was specifically designed to work with HTML to build web pages. CSS rules can appear within linked style sheets, embedded style sheets, or inline style attributes. The CSS rules that you will write for each method are generally the same, but the way your HTML and your CSS work together depends on the method you used. So far, you've worked with linked external style sheets, as that's the most useful way of dealing with Cascading Style Sheets and offers the most flexibility. <div>By the Way Examples in this book, unless stated otherwise, generally assume you're using a linked style sheet, and complete listings are shown as external CSS files. CSS rules (and declarations, for inline styles) are written the same regardless of how they're applied to HTML, so you'll get the same styling effects if you use linked, embedded, or inline style rules.</div> Linked Style Sheets In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "Getting Started with CSS," you learned about how to create external style sheets and link them with the <tt><link></tt> element in HTML. Linking style sheets in this manner gives you the greatest portability and ease of maintenance when designing your styles for your website. Many sites use one or more global style sheets that are linked from every page on the site. Using a global style sheet lets you make changes to one file that will affect the appearance of every page on your site. With a simple change, you can switch the colors, fonts, sizes, and more across your whole website. External style sheets let you separate your content fully from your styles, which means it's easy to replace those styles with something else. For example, you could easily change the appearance of a site by replacing the old style sheet with a new set of rules under the same name. You can also link in specific style sheets for specific uses, such as one style sheet per company division, as well as a global style sheet for the whole company, on a corporate website. You can link style sheets for specific types of output devices as well, using styles written just for those types of devices. For example, you could create a style sheet specifically for handheld wireless devices, screen readers, or printers. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media," you'll learn more about designing for alternate output devices. As seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], you can create linked style sheets by using the HTML <tt><link></tt> element in the <tt><head></tt> section of the page. A number of attributes can be used with the <tt><link></tt> element, but for our purposes only the following options are important: <div><pre><link rel="relationship" href="URL" type="content-type" media="media-type"> </pre></div> The <tt><link></tt> tag is actually an all-purpose linking element; it doesn't just define style sheets but also can be used to create any link between the entire document and some other URL location. To use it to identify a linked document as a style sheet, you need to specify what the relationship is. Other types of relationships include <tt>contents</tt> (specifying the location of a table of contents), <tt>alternate</tt> (an alternate version of the page for specific types of output devices or languages), and <tt>glossary</tt> (for a glossary of terms). To indicate a style sheet, however, you need only <tt>rel="stylesheet"</tt>. The <tt>href</tt> attribute indicates the location of the style sheet and is a normal web URL. The location can be relative or absolute; without a directory path, it's assumed to be within the same directory, but you can use any URL path (and machine name), as with any other link in HTML. Your style sheet even can reside on a different web server than your HTML file; in fact, this is a good way to quickly and easily add style to a web page. However, this isn't a license to merely steal someone else's work, any more than viewing the HTML source is an invitation to swipe source code. Use an offsite style sheet only if the site operator has explicitly given permission for it to be used in such a manner. Keep in mind that many web hosting services charge for bandwidth usage, so you may be costing someone money each time you use that style sheet without permission. Also remember that because you don't control the style sheet, it could affect the look of your web page if it's changed or removed. <div>Did you Know? The World Wide Web Consortium offers a number of style sheets for public use at [http://www.w3.org/StyleSheets/Core/ http://www.w3.org/StyleSheets/Core/]. You can use these to test styles on your pages by applying them as linked style sheets.</div> The <tt>content-type</tt> attribute of the <tt><link></tt> tag indicates the styling language of the linked style sheet. For Cascading Style SheetsLevels 1, 2, and 2.1this should be <tt>text/css</tt>. This is also the MIME type that your server should return when serving up CSS files. All modern web servers recognize the file <tt>extension.css</tt> as being a CSS file and send an appropriate MIME type. If you name your file something ending in <tt>.css</tt>, the server sends it as <tt>text/css</tt>. If you think your server doesn't do this properly for some reason, you should consult your web server administrator or the documentation for your server software. Also, if you write a server-side script to create a CSS document in, for example, Perl, ASP, or PHP, you should make sure you set the content-type HTTP header line to <tt>text/css</tt>. The <tt>media</tt> attribute tells the browser with which types of media or output device categories the style sheet should be used. A browser applies different style sheets depending on the mediafor example, one style sheet for printing and another for onscreen display. Style sheets for other media are ignored, and those rules aren't applied. For the most part, we are concerned with the media-type <tt>screen</tt>, which means visual, onscreen display. Because <tt>screen</tt> is assumed to be the default, you don't need to specify this unless you're linking a style sheet for another type of output device. Other media types include <tt>printer</tt> (for printed documents), <tt>braille</tt> (for tactile Braille devices), <tt>aural</tt> (for speech synthesizers), and <tt>all</tt>, which covers all media types. You can list more than one media type by separating them with commas, such as <tt>screen, printer</tt>. <div>By the Way You'll learn more about the media types <tt>printer, braille</tt>, and <tt>aural</tt> in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22].</div> Embedded Style Sheets Another way to apply CSS to HTML is by embedding the CSS directly within the HTML file with the <tt><style></tt> tag. Your CSS rules are then part of the same file as the HTML, which makes editing easier, at least at first. An embedded style sheet also is useful for rules that apply only to a specific page and don't need to be used by other parts of the site, which helps keep the size of your global style sheet relatively small. For example, if you have a rule that applies only to the front page of the site, you don't need that in a site-wide style sheet that is accessed by every page, even those that don't use the rule. On the other hand, it's also harder to maintain and update a site only with embedded style sheets; you have to edit every single page when you want to make a change in the appearance of the site. For this reason, I prefer linking instead of embedding CSS, but in many situations it's easier or more appropriate to use an embedded style sheet. For example, when testing CSS rules or developing a style sheet, it may be easiest to use an embedded style sheet and then convert it to an external style sheet for production use. <div>Did you Know? How do you convert an embedded style sheet to an external one? Simple: You just cut the content of the <tt><style></tt> tag and paste it into a new file with a name ending in <tt>.css</tt>. Here's the tricky part: If there are any URL references (such as background images) in your CSS, you need to make sure that they apply relative to the new style sheet and not the original document. To convert an external style sheet to an embedded one, just paste it into a <tt><style></tt> element and check the URLs again.</div> To embed a style sheet, use the <tt><style></tt> tag, which can be used only within the <tt><head></tt> of a web page: <div><pre><style type="text/css" media="media-type"> ... CSS rules go here ... </style> </pre></div> The <tt>type</tt> attribute is required. Theoretically, this is because a different style language could be used with HTML, although in practice only CSS is ever used. The media attribute is optional; the default is <tt>screen</tt>. As with the <tt><link></tt> element, you can set multiple media types by listing them with comma separators. You can have more than one <tt><style></tt> element within the <tt><head></tt> section of the page if you like; for example, you could have one for <tt>screen</tt> and one for <tt>printer</tt>. (You could have two for <tt>printer</tt>, if you want, but it usually makes more sense to combine them together in a single <tt><style></tt> tag.) Hiding CSS Code from Older Browsers Browsers shouldn't ever reveal the contents of a <tt><style></tt> tag. Even if a browser doesn't support CSS, it shouldn't display the rules to the user. However, some very ancient browsers were written before CSS was created, and because these browsers don't know what the <tt><style></tt> tag is, they just display it as HTML text, which is just a mess. The best way to avoid this is by wrapping your CSS rules within HTML comments: <div><pre><style type="text/css" media="screen"> <!-- ... CSS rules go here ... --> </style> </pre></div> The older browsers interpret this as just a normal comment, whereas the modern browsers understand the CSS. As nearly every browser used these days understands the <tt><style></tt> tag, it's not particularly necessary, but it doesn't hurt anything to do it, either. The examples in this book don't include comments. Inline Style Attributes You set inline styles on HTML tags by using the <tt>style</tt> attribute. Such a style applies to that particular element, or possibly to that element's children, if the rule's properties can be inherited. <div>By the Way In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch07.html#ch07 Hour 7], "Cascading and Inheritance," you'll learn more about how HTML tags inherit CSS properties from other tags.</div> The <tt>style</tt> attribute can be set on nearly any HTML tag that is displayed by a browser. The attribute contains the declaration of a CSS rule but not a selector; the tag itself (and its content) serves as the selector. Here's an example of using inline styles to set some CSS properties: <div><pre><table style="font-family: Arial; font-size: large"> <tr> <th style="color: blue"> Writer's Name </th> <th style="color: green"> Primary Genre </th> </tr> <tr><td>Kynn</td><td>Technical (Web Design)</td></tr> <tr><td>Nick</td><td>Fiction (Horror)</td></tr> <tr style="color: red"> <td>R. Francis</td> <td>Non-Fiction (Podcasting)</td> </tr> </table> </pre></div> As you can see, the selector is unnecessary; the style is applied to the tag on which the <tt>style</tt> attribute is set. Also, there are no ending semicolons on the rules. Within <tt>style</tt> attributes, the ending semicolon is optional. I usually write it myself because it makes it easier to add additional rules if I need them. Style attributes are most useful for single-point changes, such as changing the color of an announcement to make it stand out, like this: <div><pre><h1 style="color: red;"> Just Added: New book signing at City Lights on Feb. 5. </h1> </pre></div> As you're building a web page, it may seem easier to use inline styles rather than to create a separate style sheet; you won't have to go back to the <tt><style></tt> section or an external style sheet, but can just type the declaration directly into an attribute. However, in the long run it's harder to maintain inline styles because they'll be scattered throughout your HTML source. Ultimately, the use of inline styles reduces the separation of content from presentation because it mixes the two together within the same markup. It makes more sense to use HTML for structure and content and CSS for presentation; in this regard, inline CSS is just a single step up from HTML presentation attributes. In general, you should avoid using inline styles unless you have a very specific use in mind. If you have to style more than one part of your page the same way, it's better to use an embedded or external style sheet and define a class instead. <div>Did you Know? It's perfectly valid to use all three methods for using CSS rules within one documentfor example, an external style sheet for the entire site applied with a <tt><link></tt> tag; an embedded style sheet inside a <tt><style></tt> tag for rules specific to that web page; and inline styles set on individual elements with the <tt>style</tt> attribute.</div> ./ ADD NAME=CH04LEV1SEC3.HTML == Classes and IDs == In addition to setting styles based on HTML elements, CSS allows for rules based on two optional attributes in HTML: <tt>class</tt> and <tt>id</tt>. Each of these can serve as the selector part of a CSS rule and can be set on any visible HTML tag. <div>By the Way For even more selectors you can use with HTML and CSS, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5], "Selectors," and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], "Advanced Selectors."</div> The <tt><div></tt> and <tt><span></tt> elements really come into their own with the <tt>class</tt> and <tt>id</tt> selectors. Through the use of <tt>class</tt> and <tt>id</tt> attributes, <tt><div></tt> or <tt><span></tt> tags can be made to have nearly any effect and presentation, which is often good but sometimes bad. When using <tt>class</tt> and <tt>id</tt> markers, you shouldn't neglect other markup tags that might be better suited for the task at hand. For example, you might decide to create an <tt>emphatic</tt> class for emphasizing portions of your text, and then use a CSS rule to make it bold. It's better to instead just use the <tt><strong></tt> tag in HTML and apply CSS to style it as you want<tt><strong></tt> already has a meaning in HTML (which is "emphasized text"). Use <tt><div></tt> or <tt><span></tt> only if there are no appropriate HTML tags you can style or restyle. The <tt>class</tt> Attribute in HTML The <tt>class</tt> attribute is used to define a related group of HTML elements on a page. They might have the same function or role, but in a CSS context, it means they have the same style rules applied to them. (The <tt>class</tt> attribute could be used for more than just styling, but in practice it's rarely used for any other purpose.) The elements within a class can be of any type; one might be a <tt><p></tt>, another a <tt><span></tt>, and a third an <tt><img></tt>. That's perfectly fine; they will have the same style rules applied to them, but the fact that each one has a default presentation (defined by the browser or the HTML specifications) means those styles will be applied relative to the way they're normally rendered. To create a class, you simply have to give it a name. A class name may be nearly anything, but has to be one word; in practice, it's best to stick to letters and numbers. Avoid using underlines, periods, and other non-alphanumeric characters when naming your classes. You can name a class anything you like; it's basically just an arbitrary word used to group these items together. A descriptive name is good, especially one that describes function instead of presentation. For example, <tt>class="detail"</tt> makes more sense than <tt>class="bluetext"</tt>; if I can't come up with a good descriptive name, I'll use something arbitrary instead, such as the names of planets or the seven dwarves. Class names are not inherently case sensitive, but you should try to use the same case of characters when writing your HTML and your CSS rules. After you've chosen a name for your class, you just have to assign HTML elements to that class by setting the class attribute on each. A given HTML element can be part of one or more classes if they are separated with spaces. Here are some examples: <div><pre><div class="p1"> <h2 class="q2">Meeting Times</h2> <p class="r3"> We will be meeting every other Wednesday, at <span class="q2 j4">7:30 p.m.</span> </p> </div> </pre></div> In this example, the <tt><div></tt> is part of the <tt>p1</tt> class. The <tt><h2></tt> and the <tt><span></tt> are both part of the <tt>q2</tt> class. The <tt><p></tt> is part of the <tt>"r3"</tt> class, and the <tt><span></tt> is also part of the <tt>j4</tt> class. Class Selectors in CSS After you've defined a class in your HTML, you can use it as a class selector in CSS. Class selectors are indicated by a period (<tt>.</tt>) before the name of the class, like this: <div><pre>.q2 { color: blue; } .r3 { font-family: Arial; } </pre></div> You can combine an element selector with a class selector; the result selects only those members of the class that are of that particular element. (Or, it selects only those elements that are members of that particular classsame thing.) Just put the name of the element directly in front of the period and then the class name. For example: <div><pre>span.q2 { font-size: large; } p.r3 { color: green; } </pre></div> The first refers to all <tt><span></tt> elements with <tt>class="q2"</tt>; the latter to all <tt><p></tt> elements in the <tt>r3</tt> class. You can combine together several classes within a rule to select only elements that have those classes listed (separated by spaces, as described before) by separating them with periods, as shown here: <div><pre>.q2.j4 { font-family: Arial; } </pre></div> This rule would select the <tt><span></tt>, which is part of both class <tt>q2</tt> and class <tt>j4</tt>. A complete example of using class selectors is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04ex01 Listings 4.1] and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04ex02 4.2], and the result of displaying in a browser is presented in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04fig01 Figure 4.1]. Listing 4.1. HTML Code Illustrating Class Selectors {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><html><br /><!-- This is class-4.1.html --><br /><head><br /><title><br />Class Selectors in Action<br /></title><br /><link type="text/css" rel="stylesheet" href="5-3.css"><br /></head><br /><body><br /><h1 class="mercury"><br />Welcome!<br /></h1><br /><div class="mars"><br /><p class="saturn"><br />This is a short page to tell you about our writers<br />group. We meet in the bookstore every other Wednesday;<br />our meetings are at <span class="mercury">7:30 p.m.<br />sharp.</span><br /></p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} Listing 4.2. CSS Code Illustrating Class Selectors {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* This is class-4.2.css */<br />.mercury { color: white; background-color: black; }<br />.mars { font-family: Arial; }<br />.saturn { color: black; }<br />h1.mercury { font-family: Verdana; color: silver; }<br /></pre></div><br /> |} <center> Figure 4.1. Firefox displays the style rules defined with class selectors. [[Image:04fig01.jpg|300px]] </center> The <tt>id</tt> Attribute in HTML The HTML attribute <tt>id</tt> is similar to the <tt>class</tt> attributeit can be set on nearly any tag and can be used as a CSS selectorbut is much more restricted. Only one tag on a page can have a given <tt>id</tt>; it must be unique within the page and is used to identify just that element. An id attribute's value has to begin with a letter and can be followed by letters, numbers, periods (<tt>.</tt>), underlines (<tt>_</tt>), hyphens (<tt>-</tt>) or colons (<tt>:</tt>); however, if you're using it as a selector in CSS, it's safest to stick to just letters and numbers. Case matters, so be consistent in the case of your <tt>id</tt> attributes. Here's an example: <div><pre><a href="next.html" id="next">The next page</a> </pre></div> <tt>id</tt> Selectors in CSS An <tt>id</tt> selector is indicated by a # (the hash, also called the pound sign) before the value of the <tt>id</tt>. For example: <div><pre>#next { font-size: large; } </pre></div> Why would you want to use <tt>id</tt> selectors and not class selectors? Good question. A class selector is more flexible; it can do anything an <tt>id</tt> selector can do and more. If you want to reuse the style, you can do it with a class selector by adding new elements to the class, but you can't do that with <tt>id</tt> selectors because an <tt>id</tt> value must be unique in a document, and only one element on the page can have that value. An <tt>id</tt> selector is useful if you know that you have to identify one unique item within a pagefor example, the Next link, or maybe a common navigation or layout element that appears on each page. In general, <tt>id</tt> selectors are less useful than class selectors when you use CSS with HTML. When using CSS with XML, however, <tt>id</tt> attributes play a larger role because XML uses <tt>id</tt> attributes more than HTML does. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Using CSS with HTML To apply what you've learned this hour, why not create an HTML page, create an external CSS file and link it to the HTML file, and add embedded and inline styles? This will make you familiar with the ways HTML and CSS are used together in web design. {| border="0" |- | <div>'''1. '''</div> | <div>Create a basic HTML document with headers, paragraphs, <tt><div></tt> and <tt><span></tt> tags, and other markup. Be sure to set some <tt>class</tt> and <tt>id</tt> attributes on your tags. Save this HTML file.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Create a CSS file with rules based on element selectors, <tt>class</tt> selectors, and <tt>id</tt> selectors. Save this CSS file.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Use <tt><link></tt> to apply the CSS style sheet to the HTML file. View the results in an HTML browser that supports CSS.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Add more styles directly into the HTML file by creating a <tt><style></tt> element in the <tt><head></tt>; view the results.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Create some inline styles using the <tt>style</tt> attribute, and check your creation in a browser.<br /><br /></div> |} You'll have successfully completed the activity if you're able to use CSS with your HTML in each of the ways discussed this hourwith external style sheets, embedded style sheets, and inline <tt>style</tt> attributesand if you can utilize <tt>class</tt> and <tt>id</tt> attributes as selectors in your CSS rules. |} ./ ADD NAME=CH04LEV1SEC4.HTML == Summary == In this hour, you learned about the three flavors of HTML 4.01 and how CSS is used in each, and you learned about the benefits of validating your HTML code. You learned about three tools for applying Cascading Style Sheets to HTML pages: external style sheets that use the <tt><link></tt> tag, embedded style sheets defined inside a <tt><style></tt> tag, or specific styles set with the <tt>style</tt> attribute. You learned how to set <tt>class</tt> and <tt>id</tt> attributes in HTML and how to create rules using <tt>class</tt> and <tt>id</tt> attributes as selectors. ./ ADD NAME=CH04LEV1SEC5.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q1a1 Q.]''' | Will there be such a thing as HTML 5? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q1 A.]''' | No, and yes, and kind of. The W3C has stopped work on developing HTML and is concentrating on XHTML instead. The next version of HTML will be XHTML 2.0, and in addition to being composed of distinct modules, it will have new elements and attributes that don't currently exist in HTML. You can track the progress of XHTML 2's development at [http://www.w3.org/Markup/ http://www.w3.org/Markup/]. In addition, a group called the Web Hypertext Application Technology Working Group (WhatWG), a group of browser developers and other interested parties, is working on what they call Web Applications 1.0an extension to XHTML 1.0, which is informally referred to as "HTML 5." Whether these efforts will bear fruit as a replacement for HTML 4.01 is unclear; you can follow the WhatWG's progress at [http://www.whatwg.org/ http://www.whatwg.org]. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q2a2 Q.]''' | Can you use selectors with inline styles? For example, <tt><div style=".dot { color: black; }"></tt>? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q2 A.]''' | No; a style attribute contains only the declaration part of a CSS rule, not the selector portion. The selector is the content of the element itself. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q3a3 Q.]''' | You said I could use style attributes, embedded style sheets, and linked style sheets on the same HTML page. What happens if they have different values for the same property? |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa1q3 A.]''' | When two or more rules conflict, the method of resolving the conflict is known as the cascade. You'll learn more about this in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch07.html#ch07 Hour 7], but the general principle is that the more specific rule usually wins. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q1a1 1.]''' | What HTML tag is used to insert an embedded style sheet? What are the primary attributes of that tag? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q2a2 2.]''' | What HTML tag is used to associate an external style sheet with an HTML tag? What are the primary attributes of that tag? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q3a3 3.]''' | What is the default value for the <tt>media</tt> attribute? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q4a4 4.]''' | What is the difference between a class selector and an <tt>id</tt> selector? When would you use each? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q5a5 5.]''' | What are the three "flavors" of HTML, and which one relies on CSS for nearly all presentation styling? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q6a6 6.]''' | What does HTML validation check for? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q1 1.]''' | The <tt><style></tt> tag is used to embed a style sheet in an HTML file. The main attributes are <tt>type</tt>, which should be <tt>text/css</tt>, and an optional <tt>media</tt> attribute. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q2 2.]''' | The <tt><link></tt> tag can be set in the <tt><head></tt> of an HTML file to link to an external style sheet. The primary attributes used with CSS are <tt>type, media, rel="stylesheet"</tt>, and <tt>href</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q3 3.]''' | The default value of the <tt>media</tt> attribute is <tt>screen</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q4 4.]''' | An <tt>id</tt> selector applies to only one element within each document, whereas a <tt>class</tt> selector can be used to select any element within that class. You'd use <tt>class</tt> when you needed to select multiple elements, and <tt>id</tt> if you wanted to select only a single, unique element. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q5 5.]''' | The three types of HTML 4.01 are Strict, Transitional, and Frameset. HTML Strict has almost no presentational markup and depends on CSS to provide styling instructions. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch04qa2q6 6.]''' | HTML validation checks your HTML code against the formal specification and DTD for the HTML language. |} Exercise Create your own web page and use what you've learned so far to style your page. Choose your type of HTML, set a <tt>DOCTYPE</tt>, and validate the page. Use <tt><link></tt> and <tt><style></tt> tags to set up your style sheet, and add inline rules with the <tt>style</tt> attribute. You'll have successfully completed the activity if you're able to use CSS with your HTML in each of the ways discussed this hourexternal style sheets, embedded style sheets, and inline <tt>style</tt> attributesand if you can utilize <tt>class</tt> and <tt>id</tt> attributes as selectors in your CSS rules. ./ ADD NAME=CH05.HTML tlphxhowz5ri4ey6fb8zb6g28z83pu3 User:Bartlett/05 2 2108 5493 5468 2007-06-17T15:49:00Z Bartlett 26 5493 wikitext text/x-wiki = Hour 5. Selectors = ;What You'll Learn in This Hour: * More about simple selectors you've already been using * How to use <tt>class</tt> and <tt>id</tt> selectors * What the universal selector is and when to use it * What pseudo-classes and pseudo-elements are and how they can be used * How to specify styles that affect hypertext links As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "Getting Started with CSS," selectors are the part of the CSS rule that identifies the target of the styling. Putting the power of selectors to use is vital for getting the most out of CSS. |} ./ ADD NAME=CH05LEV1SEC1.HTML == Simple Selectors == You've seen the simplest type of selectors already: type selectors, <tt>class</tt> selectors, and <tt>id</tt> selectors. In this hour, you'll look at how you can use them more effectively. So far you have learned how to create CSS rules using simple selectors: type selectors based on the HTML tag, and <tt>class</tt> or <tt>id</tt> selectors based on attributes in the HTML. A type selector is simply the name of an HTML tag minus the <tt><></tt> angle brackets. For example: <div><pre>h1 { color: blue; } </pre></div> This selects all <tt><h1></tt> tags and specifies that they're the color <tt>blue</tt>. Type selectors are the easiest to use because they're so straightforward, but they're also very limited. What if you want only some of the <tt><h1></tt> tags to be <tt>blue</tt> and others to be <tt>green?</tt> That's when you'd use <tt>class</tt> and <tt>id</tt> selectors. <div>Did you Know? Although I said type selectors had to be HTML tags, I must admit that's only half true. They actually have to be any sort of legitimate element for the language you're styling; this is how you can use CSS with XML, for example. And in fact, you don't have to have the actual tag present! HTML (but not XML or XHTML) lets you leave out certain tag declarations entirely, such as the <tt><body></tt> element. These are implied tags. The opening and closing tags are implied. If you have a rule based on <tt>body</tt>, such as <tt>'body { font-family: Arial; }'</tt>, a CSS-compliant browser will still apply your font to the implied <tt><body></tt> even though no tags are present.</div> In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4], "Using CSS with HTML," you learned how you can set <tt>class</tt> and <tt>id</tt> selectors in your rules based on HTML attributes of <tt>class</tt> and <tt>id</tt>, such as <div><pre>#here { font-size: large; } .there { color: green; } </pre></div> An <tt>id</tt> selector uniquely identifies part of a page, whereas a <tt>class</tt> selector allows you to identify specific tags as being part of a certain set you've defined. Using <tt>class</tt> and <tt>id</tt> Selectors You can combine <tt>class</tt> selectors or <tt>id</tt> selectors with <tt><div></tt> tags to designate specific sections of a page that should receive special styling. For example, consider the HTML page shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex01 Listing 5.1], which has a <tt>class</tt> or <tt>id</tt> attribute set on each <tt><div></tt> tag. Listing 5.1. HTML Sections Set via <tt><div></tt> and <tt>class</tt> {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- imgtip-5.1.html --><br /><html><br /><head><br /><title>Image Accessibility</title><br /><link type="text/css" rel="stylesheet"<br />href="tips-5.2.css"><br /></head><br /><body><br /><div id="breadcrumb"><br /><a href="http://kynn.com">Kynn.com</a> &middot;<br /><a href="http://kynn.com/writing/">Writing</a> &middot;<br /><a href="http://kynn.com/writing/tips">Tips</a> &middot;<br />Images<br /></div><br /><div id="header"><br /><h1>Image Accessibility</h1><br /><h2>Making your graphics accessible</h2><br /></div><br /><div class="tips"><br /><p> Here are some helpful tips on making your graphical<br />content accessible to users who can't see images: </p><br /><ul><br /><li>Always include an <tt>alt</tt> attribute on your<br /><tt>&lt;img&gt;</tt> tag.</li><br /><li>The <tt>alt</tt> attribute should contain a short<br />replacement for the graphic, in text. If the image<br />itself has text, list that in <tt>alt</tt>.</li><br /><li>If the image is purely decorative and doesn't convey<br />any additional information, use <tt>alt=""</tt>.</li><br /><li>If there is more information in the graphic than you<br />can convey in a short <tt>alt</tt> attribute, such<br />as the information in a graph or chart, then use<br />the <tt>longdesc</tt> attribute to give the URL of<br />a page that describes the graphic in text.</li><br /></ul><br /></div><br /><div id="footer"><br /><address> Copyright &copy; 2006 by Kynn Bartlett </address><br /></div><br /></body><br /></html><br /></pre></div><br /> |} As you can see, I linked in an external style sheet, <tt>tips-5.2.css</tt>, using a <tt><link></tt> tag. That style sheet defines a style for each section of the page; the sections are <tt>breadcrumb, header, tips</tt>, and <tt>footer</tt>. The style sheet is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex02 Listing 5.2]. Listing 5.2. Sectional Styles Using Classes and IDs {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* tips-5.2.css */<br />body<br />{ color: black;<br />background-color: white; }<br />#breadcrumb<br />{ font-family: Verdana, sans-serif;<br />color: black;<br />background-color: silver; }<br />#header<br />{ color: white;<br />background-color: maroon;<br />font-family: "Courier New", monospace; }<br />.tips<br />{ color: white;<br />background-color: gray;<br />font-family: Arial, sans-serif; }<br />#footer<br />{ color: silver;<br />background-color: black;<br />font-family: "Times New Roman", serif; }<br /></pre></div><br /> |} The effect of applying these styles is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig01 Figure 5.1]. You'll notice that I've used background colors to make some of the <tt><div></tt> sections visible; in practice, this can be a somewhat unattractive effect; some of my examples are written simply to illustrate a principle rather than to be aesthetically appealing, especially in the limited black, white, and gray shades available in this book. Each section gets its own font, background color, and foreground color. <center> Figure 5.1. Firefox displays sectional styles set by <tt><div></tt>, <tt>class</tt> and <tt>id</tt>. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/05fig01_alt.jpg [View full size image]]</div>[[Image:05fig01.jpg|500px]] </center> <div>Did you Know? In this example, <tt>id</tt> selectors were used for the breadcrumb trail, the header, and the footer, and a <tt>class</tt> selector for the tips. Why? Simple: You can (and probably should) use <tt>id</tt> whenever you can be sure that the <tt>id</tt> will be unique on a page. A page may contain multiple tips, but just one bread-crumb trail, one header, and one footer. The style sheet could still be written with <tt>class</tt>; it doesn't really hurt anything to use <tt>class</tt> instead of <tt>id</tt>, but style sheets are simpler and more specific if they use <tt>id</tt>.</div> The Universal Selector In addition to type, <tt>class</tt>, and <tt>id</tt> selectors, CSS also defines a universal selector. The universal selector applies to all tags and content within a page and is represented by an asterisk (<tt>*</tt>). Here's an example of a universal selector rule: <div><pre>* { color: blue; } </pre></div> If you're writing a rule that uses the universal selector and there's something else to that rule, such as a <tt>class</tt> or <tt>id</tt> selector, you can leave out the asterisk. In fact, the general way of writing class selectors is just a special case of the universal selector with the asterisk omitted. The following two declarations are identical: <div><pre>*.there { color: green; } .there { color: green; } </pre></div> You may wonder why there's a need for a universal selector; as you've seen before, you can affect the style of an entire page by using a selector of the <tt><body></tt> tag. It's important to understand that the universal selector sets the style on all elements and doesn't just set an inherited default. What do I mean? Consider the following style sheet: <div><pre>* { color: green; } h1 { color: blue; } </pre></div> Let's assume you'll link that to an HTML file that includes this: <div><pre><h1>This is <em>very</em> important</h1> </pre></div> What color will the word "very" be? It will be green and in the middle of a blue headline because the universal rule says everything has the color green explicitly set, just as if there were a rule for every possible element, reading <div><pre>element { color: green; } </pre></div> In practice, you'd probably want the color of the <tt><em></tt> to inherit from the <tt><h1></tt>'s style, so you need to be very careful about when and where you use a universal selector. You would have gotten a very different result if you did the following: <div><pre>body { color: green; } h1 { color: blue; } </pre></div> This would also make the default text green and the <tt><h1></tt> heading blue, but the embedded <tt><em></tt> would inherit the color from the <tt><h1></tt>. You'll learn more about inheritance in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch07.html#ch07 Hour 7], "Cascading and Inheritance." ./ ADD NAME=CH05LEV1SEC2.HTML == Combining Simple Selectors== To get the most utility out of your CSS rules, you'll want to write combined rules. You've already learned a little about grouping selectors together; now you'll see how you can use descendant selectors as well. Grouping Selectors As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], you can combine rules by listing the selectors together, separating them by commas. You can combine any sort of selectors in this way, such as in the following rule: <div><pre>/* Anything that is sorta heading-like is in Arial; only even headings are maroon and the rest are green */ h1, h2, h3, h4, h5, h6, dt, .heading, .standout, #headline { font-family: Arial; } h1, h3, h5, dt, .heading, .standout, #headline { font-color: maroon; } h2, h4, h6 { font-color: green; } </pre></div> Alternately, you could have written the same set of rules in another way by grouping them differently: <div><pre>/* Anything that is sorta heading-like is in Arial; only even headings are maroon, and the rest are green */ h1, h3, h5, dt, .heading, .standout, #headline { font-family: Arial; font-color: maroon; } h2, h4, h6 { font-family: Arial; font-color: green; } </pre></div> Writing it the first way makes it easier to change the font family if you need to; the declaration <tt>font-family: Arial;</tt> appears in only one place in your document. The way you group your rules can improve the ease with which you can modify them. Note, though, that there's a drawback to this approach, as well; to change how one type of selector is rendered (say, anything in the <tt>standout</tt> class), you need to edit several rules. There are no hard-and-fast guidelines, therefore, about how you can group your rules in modules; as you gain experience with CSS, you'll form your own methods for style rules grouping. Descendant Selectors One of the most useful ways to group selectors together is to use a descendant selector. A descendant, in HTML and XML, is an element that's completely contained within another element's content. As an example, the <tt><h2></tt> is a descendant of the <tt><div></tt>, and the <tt><cite></tt> of the <tt><h1></tt>, in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex03 Listing 5.3]. The <tt><cite></tt> is also a descendant of the <tt><div></tt>, as it's contained by both the <tt><div></tt> and the <tt><h1></tt>, and they are all descendants of the <tt><body></tt> element. Listing 5.3. Descendants in HTML {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- babe-5.3.html --><br /><html><br /><head><br /><title>Babe: Best Movie EVER</title><br /><style type="text/css"><br />/* add style rules here */<br /></style><br /></head><br /><body><br /><div class="header"><br /><h1>Movie Review: <cite>Babe</cite></h1><br /><p>A Mini-Review by Joe H. Moviefan</p><br /></div><br /><div class="opinion"><br /><h2>The Best Movie <em>EVER</em></h2><br /><p>The movie <cite>Babe</cite> was the best family<br />movie ever produced! This great movie featured<br />talking animals, a cantankerous old man, and<br />subtle-yet-Oscar-winning special effects -- who<br />could ask for more? The clever writing and<br />humorous touches make this all-ages movie great<br />for children while still very enjoyable by<br />adults. What a great movie!</p><br /></div><br /><div class="footer"><br /><p>What did you think? Mail me at<br /><a href="mailto:joe@example.com">Joe H.<br />Moviefan.com!</a></p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} Descendant selectors define rules based on where a given tag appears within the page by combining together simple selectors, separated by spaces. For example, here's a rule to change the color of all <tt><cite></tt> tags contained within paragraphs: <div><pre>p cite { color: white; background-color: black; } </pre></div> You'll notice that I listed the outside tag first and then the inside. If you did it the other way around, you wouldn't match anything because no cite tags contain paragraph tags. If this rule is added to the <tt><style></tt> element of the HTML page from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex03 Listing 5.3], the effect shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig02 Figure 5.2] is produced. Notice that the <tt><cite></tt> within the <tt><h1></tt> is not styled by this rule, only the <tt><cite></tt> inside the <tt><p></tt> element. <center> Figure 5.2. Firefox displays the second <tt><cite></tt> with the chosen style. [[Image:05fig02.jpg|500px]] </center> It's important to keep in mind that a descendant selector means any descendant, not just an immediate child. A descendant could be an element inside an element inside an element. This enables you to make rules that apply to any descendant element, no matter how deeply it's nested. You can combine section styles (set via <tt>class</tt> and <tt><div></tt>) with element-based type selectors, as well; for example, the following code changes the font face and colors of <tt><p></tt> tags within the <tt>header</tt> section, but leaves the rest of the header aloneas well as the other paragraph tags that aren't contained by something with the <tt>.header</tt> class: <div><pre>.header p { font-family: Verdana, sans-serif; color: white; background-color: black; } </pre></div> The effects of this rule are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig03 Figure 5.3]. <center> Figure 5.3. Changing the header paragraph font style. [[Image:05fig03.jpg|500px]] </center> A more complete style sheet that demonstrates how to set a number of different combined selectors is listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex04 Listing 5.4]. To use this with my movie review page, I'll add the following to the <tt><head></tt> of the page: <div><pre><link type="text/css" rel="stylesheet" href="babe-5.4.css"> </pre></div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig04 Figure 5.4] shows how [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex03 Listing 5.3] looks with this style sheet applied. <center> Figure 5.4. Displaying various selectors with separate styles. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/05fig04_alt.jpg [View full size image]]</div>[[Image:05fig04.jpg|500px]] </center> Listing 5.4. A Variety of Selectors in a Single Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* babe-5.4.css: Style sheet for Babe review */<br />body<br />{ font-family: Arial, sans-serif;<br />color: black;<br />background-color: white; }<br />.header h1<br />{ font-family: "Courier New", monospace;<br />color: silver;<br />background-color: black; }<br />.header cite<br />{ font-family: Verdana, sans-serif;<br />background-color: silver;<br />color: black; }<br />.header p<br />{ font-family: Arial, monospace;<br />color: black;<br />font-size: x-large; }<br />.opinion h2<br />{ color: white;<br />background-color: navy;<br />font-family: Arial, sans-serif; }<br />em<br />{ font-size: larger; }<br />p cite<br />{ color: white;<br />background-color: black; }<br />.footer<br />{ font-family: "Times New Roman", serif;<br />font-size: small;<br />color: white;<br />background-color: gray; }<br />.footer a<br />{ color: white;<br />background-color: black; }<br /></pre></div><br /> |} {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Experimenting with Simple Selectors Why not try out these selectors yourself? You can use the example HTML files from this chapter. {| border="0" |- | <div>'''1. '''</div> | <div>Download either the accessibility tip in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05lev1sec1.html#ch05ex01 Listing 5.1] or the movie review in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex03 Listing 5.3] from the book's website.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Open the HTML file in a browser and view it without styles.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Create a style sheet. Add your own style rules based on the <tt>class</tt> and <tt>id</tt> attributes set in the HTML. Choose your own text colors, backgrounds, font sizes, and other properties.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Link your style sheet to the HTML file with the <tt><link></tt> element and view it in a browser. Are they styled the way you wanted? If not, try again until you're satisfied.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Add to the HTML filesrewrite the text, add more paragraphs, create new <tt>class</tt> and <tt>id</tt> attributes. Write new CSS rules based on these! Or even better, write your own pages from scratch and use your own content for testing out combined selectors.<br /><br /></div> |} |} ./ ADD NAME=CH05LEV1SEC3.HTML == Pseudo-Classes and Pseudo-Elements == In addition to type selectors, <tt>id</tt> selectors, and <tt>class</tt> selectors, CSS also allows pseudo-class and pseudo-element selectors. A pseudo-class selector is a selector based on a set of predefined qualities that an HTML element can possess. These qualities function in practice similar to a <tt>class</tt> attribute on the element, so in CSS terms, they are called pseudo-classes. No actual <tt>class</tt> attributes exist in the markup that corresponds to these pseudo-classes; instead, they represent some aspect of the element to which they're applied, or even the state of the browser's user interface relative to that element. A pseudo-element selector identifies a virtual element, one that doesn't exist in the markup but can be deduced by the browser and used to apply a style. As with pseudo-classes, there is no markup that corresponds to the pseudo-element. Simple Pseudo-Classes The pseudo-classes in CSS are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05table01 Table 5.1]. The <tt>:active, :focus</tt>, and <tt>:hover</tt> pseudo-classes are covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch12.html#ch12 Hour 12], "Styling Links." {| cellspacing="0" cellpadding="5"|+ Table 5.1. CSS Pseudo-Classes |- | Pseudo-class | Selects |- | <tt>:active</tt> | Elements that have been activated (such as active links) |- | <tt>:first-child</tt> | The first child of an element |- | <tt>:focus</tt> | Elements that have focus (such as form fields receiving input) |- | <tt>:hover</tt> | Elements that are pointed at (such as by a mouse) |- | <tt>:lang()</tt> | Styles for a specific language |- | <tt>:link</tt> | Unfollowed links |- | <tt>:visited</tt> | Previously visited links |} Pseudo-classes can stand alone in a style rule, as classes can, but most commonly they're used with elements as a type selector, as follows: <div><pre>:link { color: red; } a:link { color: red; } </pre></div> Both these rules are valid; the former applies to any element that happens to be a link, whereas the latter rule covers only <tt><a></tt> tags. In practice, these are the same things in HTML: Only the <tt><a></tt> elements are links, and so the rules mean the same thing. You can combine pseudo-classes with real classes or even other pseudo-classes by putting them together with no spaces between, just the <tt>.</tt> and <tt>:</tt> indicators. For example, here's HTML with <tt>class</tt> attributes set on links: <div><pre><a href="search.html" class="nav"> Search the Site </a> ... <a href="http://www.idyllmtn.com/" class="offsite"> Idyll Mountain Internet </a> </pre></div> Here are rules to work with each of those links; note that the order of the <tt>class</tt> and the pseudo-class doesn't matter: <div><pre>a:link.nav { color: cyan; } a.offsite:link { color: green; } </pre></div> The <tt>:link</tt> and <tt>:visited</tt> Pseudo-Classes In HTML, you can use attributes on the <tt><body></tt> tag to determine the colors of links: <div><pre><body link="red" visited="gray"> </pre></div> CSS gives the same functionality through pseudo-classes, and by combining pseudo-class selectors with <tt>class</tt> or <tt>id</tt> selectors, you can put different link colors on different parts of the page as you'll see later in this hour. The <tt>:link</tt> pseudo-class is the equivalent of the <tt><body></tt> attribute link in HTML: It defines a style for links that have yet to be followed. You usually set these on the <tt><a></tt> tag because <tt><a></tt> is the only visible linking element in HTML. Here's an example CSS rule using <tt>:link:</tt> <div><pre>a:link { color: red; } </pre></div> Visited links are those that the user has already been to; the browser keeps track of a list of visited URLs and colors them differently. The <tt>:visited</tt> pseudo-class is used to write rules applying to those types of links, as follows: <div><pre>a:visited { color: gray; } </pre></div> The <tt>:link</tt> and <tt>:visited</tt> pseudo-selectors are mutually exclusive; a given link is either one or the other at any given time and can't be both at once. However, you can write a rule that applies to both, such as <div><pre>a:link, a:visited { color: blue; } </pre></div> <div>Watch Out! Note that changing the <tt>:link</tt> and <tt>:visited</tt> colors to the same value can cause problems for users! Most users expect links to change to some coloranything other than the original, although usually from blue to purpleafter they have been visited. Unless you've got a good reason for it, you'll probably want to supply different <tt>:link</tt> and <tt>:visited</tt> colors.</div> Unlike HTML, which lets you change only the colors of the links, CSS allows you to apply nearly any style to unvisited or visited links by using the <tt>:link</tt> and <tt>:visited</tt> pseudo-selectors. For example: <div><pre>a:link { color: black; background-color: lime; font-family: Arial, sans-serif; } a:visited { color: gray; background-color: yellow; font-family: "Times New Roman", serif; } </pre></div> This puts your unvisited links in black text on a lime green background and puts the visited links in gray on a yellow background. Unvisited links are in Arial font, and visited links are in Times New Roman. Now, apart from an illustrative example, you never want to write rules like these; it doesn't make sense, for example, for the font face to change when you've clicked on a link and some of my color choices are just plain ugly. Background colors on links do help them stand out from rest of the page, though, and that's not such a bad thing. You'll learn more about the theory behind link styles in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch12.html#ch12 Hour 12]. To color links differently on different sections of the page, combine <tt>:link</tt> and <tt>:visited</tt> pseudo-selectors with section classes in a descendant selector, like this: <div><pre>#breadcrumb { background-color: black; color: white; } #breadcrumb a:link { color: cyan; font-size: large; } #breadcrumb a:visited { font-size: small; color: fuchsia; } </pre></div> This creates a black breadcrumb trail with unvisited links in large cyan letters (bright blue) and visited links in smaller, fuchsia (bright purple). If you add these styles to the style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05lev1sec1.html#ch05ex02 Listing 5.2], the accessibility tip page from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05lev1sec1.html#ch05ex01 Listing 5.1] will look like the page shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig05 Figure 5.5]. <center> Figure 5.5. Pseudo-class selectors coloring links on a page. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/05fig05_alt.jpg [View full size image]]</div>[[Image:05fig05.jpg|500px]] </center> The <tt>:first-child</tt> Pseudo-Class The <tt>:first-child</tt> pseudo-class is used to select an element that's the first child of another element. The first child is the first tag within some other element; if the first child matches the base type of the selectorthe part before the <tt>:first-child</tt> pseudo-classthen the rule applies to that element. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex05 Listing 5.5] shows the start of a short story. The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex06 Listing 5.6] sets the first paragraph of the story to be larger than the rest, as well as gives it a silver background. The results are displayed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig06 Figure 5.6]. Listing 5.5. A Few Paragraphs in HTML {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- story-5.5.html --><br /><html><br /><head><br /><title>Fortune of Reversal</title><br /><link type="text/css" rel="stylesheet"<br />href="story-5.7.css"><br /></head><br /><body><br /><h1 id="storytitle">Fortune of Reversal</h1><br /><div class="storybody"><br /><p>They dined on heaping platters of Szechuan chicken, of<br />spicy beef, of shrimp and vegetables in some exotic dish<br />without a name. Bits of food were passed from chopsticks<br />to chopsticks, violating all known laws of Chinese<br />cuisine etiquette. The tea flowed hot and fast that night,<br />until the meal finally concluded itself.</p><br /><p>"Thank you for dining here tonight," said the badgeless,<br />anonymous waitress. She placed a small tray containing the<br />check and two wrapped fortune cookies on the edge of the<br />table, and hefted the empty plates one by one, forming a<br />stack on the crook of her elbow.</p><br /><p>"Absolutely delicious," declared Oliver as he pulled a card<br />from his wallet and flicked it onto the bill. He picked up<br />the two cookies, an afterthought. "Fortune cookie, my<br />love?" he asked Amanda.</p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} Listing 5.6. A Style Sheet Using <tt>:first-child</tt> Pseudo-Class Selector {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* story-5.6.css */<br /><br />#storytitle<br />{ font-family: Verdana; }<br /><br />.storybody p<br />{ font-family: Arial; }<br /><br />.storybody p:first-child<br />{ font-size: x-large;<br />background-color: silver; }<br /></pre></div><br /> |} <center> Figure 5.6. Firefox uses the <tt>:first-child</tt> selector to style the first paragraph. [[Image:05fig06.jpg|500px]] </center> <div>Watch Out! Internet Explorer for Windows does not support the <tt>:first-child</tt> pseudo-element; rules with such selectors are ignored. For maximum compatibility, set a <tt>class</tt> attribute manually on your first child elements, such as <tt>class="firstone"</tt>, and then include that <tt>class</tt> as an additional selector in your rule. For example: <div><pre>.storybody p:first-child, .storybody p.firstone { font-size: large; } </pre></div> Of course, by doing so you've made the first half of the selector redundantthe other browsers understand the class-based workaround! So you may want to drop the use of <tt>:first-child</tt> entirely if you're going to add this workaround.</div> The <tt>:lang()</tt> Pseudo-Class On the Web, languages are indicated by a two-letter code, sometimes followed by a dash and an additional country code for regional versions of a language. Some of these languages are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05table02 Table 5.2]; for a complete list, see the book's website. {| cellspacing="0" cellpadding="5"|+ Table 5.2. Several Language Codes |- | Code | Language |- | <tt>de</tt> | German |- | <tt>en</tt> | English |- | <tt>en-ca</tt> | Canadian English |- | <tt>en-uk</tt> | British English |- | <tt>en-us</tt> | American English |- | <tt>fr</tt> | French |- | <tt>jp</tt> | Japanese |- | <tt>ru</tt> | Russian |} The choice of language can dictate a number of factors, including the direction of the text, the fonts used, or even the dictionary for pronunciation used by a screen reader. The CSS language doesn't allow you to set the language, which must be done in the HTML or in an HTTP header, but it does let you create rules or style sheets that apply to only certain languages. To set the language within an HTML document, you simply have to use the <tt>lang</tt> attribute on the <tt><html></tt> tag. Sections of a second language embedded within the document can be indicated with the <tt>lang</tt> attribute on a <tt><span></tt> or any other appropriate HTML element, such as <tt><blockquote></tt> or <tt><div></tt>. The CSS specification defines a special pseudo-class, <tt>:lang()</tt>, for indicating rules that should be applied only to elements that match a certain language. Such a rule is written like the following: <div><pre>:lang(en-uk) { background-color: #CCCCFF; } </pre></div> This would display anything written in British English with a light blue background color. How does the browser know which parts of the text are written in British English? It needs to be set in the HTML, as in the following: <div><pre><p>He cried out in a bad Monty Python imitation, <span lang="en-uk">He's pinin' for the fjords!</span> </p> </pre></div> By itself, <tt>:lang()</tt> is not particularly useful, but when combined with other CSS rules and properties, it can be quite powerful. Pseudo-Elements in CSS Cascading Style Sheets defines four pseudo-elementsvirtual elements created from their content in the document in relationship to a base element. These are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05table03 Table 5.3]. The pseudo-elements <tt>:before</tt> and <tt>:after</tt> are used to insert generated content and are discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch23.html#ch23 Hour 23], "User Interface and Generated Content." {| cellspacing="0" cellpadding="5"|+ Table 5.3. The Pseudo-Elements of CSS |- | Pseudo-Element | Selects |- | <tt>:before</tt> | Inserts something before an element |- | <tt>:after</tt> | Inserts something after an element |- | <tt>:first-letter</tt> | The first letter of a block element |- | <tt>:first-line</tt> | The first line of a block element |} The pseudo-elements <tt>:first-line</tt> and <tt>:first-letter</tt> select portions of another element, and these portions operate as if they were separate inline elements; however, only certain properties can be applied to these pseudo-elements, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05table04 Table 5.4]. {| cellspacing="0" cellpadding="5"|+ Table 5.4. Recognized Properties for <tt>:first-line</tt> and <tt>:first-letter</tt> Selectors |- | valign="bottom" | Property or Category | valign="bottom" | <tt>:first-line</tt> | valign="bottom" | <tt>:first-letter</tt> | valign="bottom" | Hour Covered |- | Background properties | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch11.html#ch11 Hour 11] |- | Border properties | | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16] |- | Color properties | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | Font properties | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch09.html#ch09 Hour 9] |- | Margin properties | | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16] |- | Padding properties | | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16] |- | <tt>clear</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15] |- | <tt>float</tt> | | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15] |- | <tt>letter-spacing</tt> | yes | | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | <tt>line-height</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | <tt>text-decoration</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | <tt>text-shadow</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | <tt>text-TRansform</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |- | <tt>vertical-align</tt> | yes | yes | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15] |- | <tt>word-spacing</tt> | yes | | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] |} The <tt>:first-line</tt> Pseudo-Element The <tt>:first-line</tt> pseudo-element is a virtual element used to identify the first line of an element for adding specific styles that apply to only the first line. For example, you might want to put the first line of a news story in larger print to make it stand out. Such a rule would look like this: <div><pre>p:first-line { font-size: large; } </pre></div> A <tt>:first-line</tt> pseudo-element creates a fictional tag set that is similar to a <tt><span></tt> or another inline element but whose content is determined when the page is rendered. As much as will fit on one line is included in the fictional tag. This will vary depending on the size of the user's browser window, the font size, and other factors, so there's no way to calculate it beforehand. This means that there aren't any viable workarounds for browsers that don't support <tt>:first-line</tt> because there's no way to know what will fit on one line. Fortunately, the current versions of modern browsers support <tt>:first-line</tt>. The <tt>:first-letter</tt> Pseudo-Element A <tt>:first-letter</tt> selector also references one of those imaginary, generated elements that doesn't appear in the source code but can be referenced by CSS rules. In this case, the imaginary tag is one surrounding the first letter of the element. The most common use for this is creating an initial capital letter that's larger than surrounding text. Here's an example of a style sheet that uses both <tt>:first-letter</tt> and <tt>:first-line:</tt> <div><pre>/* story-5.7.css */ #storytitle { font-family: Verdana, sans-serif; } .storybody p { font-family: Arial, sans-serif; } .storybody p:first-line { background-color: silver; } .storybody p:first-letter { font-size: xx-large; color: white; background-color: black; font-family: Verdana, sans-serif; } </pre></div> The result of applying this style sheet to the story sample from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex05 Listing 5.5] can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig07 Figure 5.7]. <center> Figure 5.7. A large initial capital letter styled by a <tt>:first-letter</tt> rule. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/05fig07_alt.jpg [View full size image]]</div>[[Image:05fig07.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Using <tt>:first-letter</tt> with <tt>:first-child</tt> In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05fig07 Figure 5.7], each paragraph begins with a large capital letter, white on a black background. In many situations, however, only the first paragraph should have such a large initial capital letter. Make it so by doing the following: {| border="0" |- | <div>'''1. '''</div> | <div>Download both the HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex05 Listing 5.5] and the style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05ex06 Listing 5.6] from the book's website.<br /><br /></div> |- | > | > |- | <div>'''2. '''</div> | <div>Edit the <tt>.storybody p:first-letter</tt> rule so that it looks like this:<br /><br /><div><pre>.storybody p:first-child:first-letter<br />{ font-size: xx-large;<br />color: white;<br />background-color: black;<br />font-family: Verdana, sans-serif; }<br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Open this in your browser. How does it look? If you aren't using Internet Explorer for Windows, you should see that only the first paragraph has a large initial capital letter.<br /><br /></div> |- | <div>'''4. '''</div> | <div>How can you fix this to work in Internet Explorer? Recall the warning and work-around earlier this chapter.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Edit your HTML and CSS file to add a class and a style rule that will make your initial capital letter Internet Explorer-proof.<br /><br /></div> |} |} ./ ADD NAME=CH05LEV1SEC4.HTML == Summary == The selector is the part of the CSS rule that designates the recipient of the styles defined in the style declaration. Type selectors can be used to style specific types of HTML elements, and <tt>class</tt> and <tt>id</tt> selectors choose them according to attribute values. The universal selector sets a style on all elements. You create a descendant selector by combining two or more simple selectors together to show the hierarchy of the elements on the page. Using this technique, you can apply different styles to different sections of the page. Pseudo-element and pseudo-class selectors let you select parts of the page that aren't otherwise distinguished in the HTML. Rules with <tt>:link</tt> and <tt>:visited</tt> pseudo-class selectors can be used to style hypertext links. The <tt>:lang()</tt> pseudo-class can add styles to text in specific languages. The <tt>:first-child</tt>, <tt>:first-letter</tt>, and <tt>:first-line</tt> selectors are used for text formatting. ./ ADD NAME=CH05LEV1SEC5.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa1q1a1 Q.]''' | Are there other selectors that aren't covered here? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa1q1 A.]''' | Yes, and you'll learn about them in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], "Advanced Selectors." Some of these are not well supported by the browsers, however. |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa1q2a2 Q.]''' | Can I string together as many selectors as I like? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa1q2 A.]''' | Certainly. You aren't limited to just two items in a descendant selector, for example. You could write a rule with a selector like the following, if you wanted: <div><pre>body div #content p.special a:visited { color: green; }<br /></pre></div><br /> |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q1a1 1.]''' | Which of the following selectors means "select any <tt><em></tt> tag that's both part of the class <tt>old</tt> and within a <tt><p></tt> tag?" <div># <div><tt>em.old p</tt></div> # <div><tt>em.old, p</tt></div> # <div><tt>p.old em</tt></div> # <div><tt>p em.old</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q2a2 2.]''' | What rules would you write to make all visited links red and all unvisited links lime, and to make both kinds of links display in Arial font? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q3a3 3.]''' | Which pseudo-element or pseudo-class can't be duplicated by using a <tt><span></tt> tag with an appropriate class set, and why? <div># <div><tt>:first-child</tt></div> # <div><tt>:first-line</tt></div> # <div><tt>:first-letter</tt></div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q1 1.]''' | The correct answer is (d), <tt>p em.old</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q2 2.]''' | Here is one set of CSS rules to make unvisited links lime and visited links red, both in Arial font: <div><pre>a:link { color: red; font-family: Arial, sans-serif; }<br />a:visited { color: lime; font-family: Arial, sans-serif; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch05qa2q3 3.]''' | The <tt>:first-line</tt> cannot be duplicated by the <tt><span></tt> tag because the author of the web page doesn't know where the first line will end when displayed on the user's browser. |} Exercise In this hour, you saw several HTML pages and associated style sheets that used selectors to style the page. To further explore selectors, you can create additional style rules by selecting specific elements and styling them appropriately. ./ ADD NAME=CH06.HTML 532zqy1eljin32mj4itv57s12fovku8 User:Bartlett/06 2 2109 5494 5469 2007-06-17T15:49:54Z Bartlett 26 5494 wikitext text/x-wiki = Hour 6. The CSS Box Model = ; What You'll Learn in This Hour: * How web content is displayed visually in CSS as boxes * What categories of display elements are used and how you can affect an element's display type * How CSS browsers interpret and display web pages * How to set margins, borders, and padding on a box This hour explores the core of Cascading Style Sheetsthe part of the specification that defines how parts of a web page are displayed: as stacks of boxes. The visual presentation of CSS is defined as a series of boxes based on the structure of the original document. |} ./ ADD NAME=CH06LEV1SEC1.HTML == Displaying Content in CSS == The content of a web page is the information encoded within the HTML page, found between the opening and closing tags of the HTML markup. These tags define the structure of the content, a framework that gives meaning to the content. For example, consider the following HTML: <div><pre><p>This is the <strong>tricky part</strong>, so pay attention!</p> </pre></div> The content in this example is simply the sentence <tt>This is the tricky part, so pay attention!</tt> The tags embedded within (and surrounding) the content create the structure, which gives meaning to the content. Any browser that understands HTML knows that the whole thing is a paragraph (identified by the <tt><p></tt> tag) and that the phrase <tt>TRicky part</tt> is strongly emphasized. The presentation of the content, however, is not defined by the HTML; instead, it's determined by CSS rules. The browser has default rules for <tt><p></tt> and <tt><strong></tt> tags, which say that a <tt><p></tt> is shown visually as a paragraph on lines of its own, with leading and trailing space, and that the <tt><strong></tt> is shown as bold text within that paragraph. Both the <tt><p></tt> and <tt><strong></tt> tags are shown as display boxes, which is how CSS browsers deal with HTML elements. Each HTML element corresponds to a display box, although not all elements are shown on the screen. A display box is a rectangular shape on the screen that can contain text content, images, form controls, or other display boxes. The exact method by which HTML elements are shown as CSS display boxes is called the visual formatting method. The visual formatting method tells browsers how they should show HTML content on the screen. Types of Elements In the visual formatting model, markup elements are classified into two basic typesblock and inline. The type of element determines how CSS browsers will display instances of that element. The initial type of each HTML element is set by the HTML specification. For example, <tt><p></tt> tags are block elements, and <tt><em></tt> tags are inline elements. The full list is given in the HTML 4.01 Recommendation; each tag has an indication as to what type it is. You can change the type of a specific element with CSS, although often you won't need to. Certain CSS properties can be set only on block or inline elements; for example, the <tt>text-indent</tt> property (which you'll learn about in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment") applies only to block elements. Block A block element is one that is intended to be displayed as a distinct block of content, starting and ending with a new line. Besides the <tt><p></tt> tag, other block elements in HTML include <tt><div></tt>, <tt><blockquote></tt>, <tt><table></tt>, <tt><br></tt>, <tt><ol></tt>, and the <tt><h1></tt> to <tt><h6></tt> tags. Block elements are listed one after each other, vertically down the page. They are as wide as they can be, which means that unless they're constrained in some way (by other block elements, by CSS properties, or by HTML markup), they'll stretch across the whole page. <div>Did you Know? One thing you'll notice when you start using CSS is that your headers (<tt><h1></tt> and friends) go all the way across the screen. Set the <tt>background-color</tt> property on an <tt><h1></tt> and you'll see how big it really is.</div> Inline An inline element doesn't begin and end lines; instead, it is contained within the flow of the text. Examples of inline tags include <tt><em></tt>, <tt><span></tt>, <tt><b></tt>, <tt><img></tt>, <tt><input></tt>, and <tt><a></tt>. Inline elements flow one after another in a line, with no line breaks, horizontally across the page until the end of the available space is used up; then they just continue where they left off on the next line down. The <tt>display</tt> Property You can change the type of an element by using the <tt>display</tt> property. This property can take several values; the ones we're primarily concerned with in this hour are <tt>block</tt> and <tt>inline</tt>. There's another important value for <tt>display</tt> that's called none; something that has the <tt>display</tt> property set to <tt>none</tt> does not display at all, nor is anything inside of it displayed. Setting the <tt>display</tt> property to <tt>block</tt> or <tt>inline</tt> changes the type of that element to the specified type. For example, imagine that you want to make a navigation menu, and you want all your <tt><a></tt> elements within that menu to appear as block elements. The HTML code may look like this: <div><pre><div class="nav"> <a href="friends.html">My Friends</a> <a href="cat.html">My Cat</a> <a href="friendscats.html">My Friends' Cats</a> <a href="catsfriends.html">My Cat's Friends</a> </div> </pre></div> The <tt><a></tt> element is an inline element according to the HTML 4.01 specification, so by default browsers display these links as a row all on the same line, or maybe wrapping around to the next line down if there is no more room. To display these <tt><a></tt> tags as block tags, use this rule: <div><pre>.nav a { display: block; } </pre></div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig01 Figure 6.1] shows the effect of applying this rule; the first set of links is identical to the second, except that the previous rule and a silver background have been applied to it. The background illustrates that the block element goes all the way across the browser window and doesn't stop at the end of the text within it. Also, the links are clickable even on the far right side of the screen, not just on the blue underlined words. <center> Figure 6.1. Before and after redefining the <tt><a></tt> links as block. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/06fig01_alt.jpg [View full size image]]</div>[[Image:06fig01.jpg|500px]] </center> ./ ADD NAME=CH06LEV1SEC2.HTML == Understanding the Box Model == Within the visual formatting model, all elements generate specific types of boxes. The method for displaying these boxes is called the box model, and understanding the box model is crucial for understanding how Cascading Style Sheets will display web pages. The box model is defined in terms of elements, documents, trees, and of course, boxes. Many of us are not used to thinking about web pages in terms of these elements unless we've done a lot with XML or SGML. So you first need to understand the assumptions that CSS makes about web documents. <div>By the Way In formal W3C specifications, you rarely see terms such as web page; instead everything talks about documents. Likewise, you don't see much about tags and browsers, but instead elements and user agents. Although it may seem that this is just semantic snobbishnessand to some degree it is!there are actually some valid reasons for drawing these distinctions when speaking formally. In this book, I try to avoid writing text like you'd see in a W3C Recommendation; if you want one of those, you can find it on the W3C site at [http://www.w3.org/ http://www.w3.org/]. However, terminology counts for this discussion, and my apologies if I sound formal.</div> Documents as Trees Did you know that every web page is actually a tree of tags and content? If you didn't, that's okay; these types of trees are the same kind of data structures used in computer science, and most web developers aren't necessarily computer scientists. A tree is a way of representing information in a hierarchy of elements. Think of it as somewhat similar to a family tree in genealogyone that starts at a certain ancestor and goes down from there. Your great-grandmother may be at the top; her children (including your grandmother) in the second level down; your mother, her siblings, and her cousins in the third level down; and you and the other members of your generation in the fourth level. In the same way, an HTML document can be thought of as a tree with the <tt><html></tt> element as the top. In this context, the <tt><html></tt> element is known as the root element. The <tt><html></tt> element has two children: the <tt><head></tt> and the <tt><body></tt>. These are shown lower on the treethe next levels down. The <tt><head></tt> has children too; <tt><title></tt> is one in every document, and <tt><link></tt> may be there to call in an external style sheet. The <tt><body></tt> element contains the content of the page; this could be anything from <tt><h1></tt> and <tt><table></tt> to <tt><div></tt> or <tt><hr></tt>. Some of those may have their own children, and some may not. Each part of a tree is called a node. A node is either an element (possibly with children) or some text. Text nodes can't have children; they're just text. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06ex01 Listing 6.1] shows a very simple web page, and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig02 Figure 6.2] shows a representation of a tree based on that page. Listing 6.1. The First Two Lines of a Poem About Trees {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><html><br /><head><br /><title>Trees</title><br /></head><br /><body><br /><h1>Trees, by <i>Joyce Kilmer</i></h1><br /><p><br />I think that I shall never see<br /><br><br />A poem as lovely as a tree.<br /></p><br /></body><br /></html><br /></pre></div><br /> |} <center> Figure 6.2. Our poem represented as a tree. [[Image:06fig02.jpg|500px]] </center> Documents as Boxes After an HTML document has been defined as a data tree, it can then be visually interpreted as a series of boxes. This is probably an easier way for web developers to think of a page, but it's important to reach that understanding by first visualizing a tree because that's how a CSS browser considers the page. You can think of these boxes as containers that hold other boxes or that hold text values. Each box in the CSS box model is held within another box, except for the box corresponding to the root node in the tree. The outer box is called the containing box. A block-containing box can hold other block boxes or inline boxes; an inline-containing box can hold only inline boxes. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig03 Figure 6.3], you can see the tree poem expressed as a series of nested boxes. You'll notice that some of these boxes don't have labels; a box exists, but no HTML tag! Those boxes are known as anonymous boxes. Anonymous boxes result whenever a tag contains mixed contentboth text and some HTML tags. The text parts become anonymous boxes. An anonymous box is styled the same as its containing box. <center> Figure 6.3. The tree poem as nested boxes. [[Image:06fig03.jpg|500px]] </center> Also notice that the <tt><br></tt> tag is an empty tag; it doesn't contain any content, but it still generates a box. The <tt><head></tt> box appears in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig03 Figure 6.3], but in HTML the <tt><head></tt> tag is defined as <tt>display: none;;</tt> this is why you never see the content of the <tt><head></tt> tag. ./ ADD NAME=CH06LEV1SEC3.HTML == Box Display Properties == After a browser has established that a box exists by building a tree as shown earlier and then by filling in the box model; it displays that box, either according to its own internal rules for displaying HTML or according to the style properties on that box. In a way, all the CSS properties are box-display properties: They control how a box is displayed. However, three properties define the edges of that box: the <tt>margin</tt>, the <tt>border</tt>, and the <tt>padding</tt>. The relationship between <tt>margin, border, padding</tt>, and the content itself is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig04 Figure 6.4]. In this example, the border color has been set to <tt>gray</tt> and the <tt>background-color</tt> to <tt>silver</tt>. <center> Figure 6.4. The <tt>margin, border, padding</tt>, and content of a box. [[Image:06fig04.jpg|500px]] </center> <div>By the Way You'll learn more about the <tt>margin, border</tt>, and <tt>padding</tt> properties in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes;" the current hour is a general introduction to the box model, and we'll get into more detail about other property values later in the book.</div> The <tt>margin</tt> Property The margin is an invisible property that surrounds all CSS boxes; it dictates how far that box is from other boxes. The margin is the outermost property of the box and defines the far edge of the box. Nearly all of the visible HTML elements have margins, although for many the default margin is 0 pixels. Values for <tt>margin</tt> can be expressed in a variety of units; the most common values are pixels or ems. A pixel is the width of a single dot on the screen; pixel values are written as a number followed by <tt>px</tt>, such as <tt>4px</tt> or <tt>12px</tt>. An em is unit of measure that refers to the size of the current font; if the font is 12 pixels, an em is a unit of measure equal to 12 pixels. You write ems by putting the word <tt>em</tt> after a number, such as <tt>3em</tt> or <tt>0.5em</tt>. Pixels are absolute units; they do not scale with the user's preferences. Ems are relative units; relative units are calculated based on the current font. Other units you can use include points (<tt>pt</tt>), centimeters (<tt>cm</tt>), inches (<tt>in</tt>), and percentages. To set a margin of 1 em around a specific box, such as an <tt><h1></tt>, you'd write a CSS rule like this: <div><pre>h1 { margin: 1em; } </pre></div> Margins are always transparent, meaning that whatever background color is set on the containing box shines through. There's one more thing you need to know about margins, and that's collapsing margins. The vertical marginsthose above and below the elementdo something called collapsing, which means that only the largest value of the margins between two elements is used. Margins collapse only on block elements and only in a vertical direction, not horizontally. <div>Did you Know? One way to think of the collapse of margins is to imagine two motor homes parked next to each other. The owner of the motor home to the north says to the other, "Don't park within six feet of me." The owner of the southern motor home says, "Don't park within three feet of me." How close together can you park the motor homes, assuming you want to get them as close as you can? Obviously, you would park six feet away; that distance fits both requirements. That's what a <tt>margin</tt> value is like; you take the largest value of the two and use that as the vertical distance between two elements.</div> The <tt>border</tt> Property The <tt>border</tt> property is used to draw a border around a box. All boxes have borders, even if the size of the border is 0 pixels or ems, which is the default for HTML elements. Each border has three qualities associated with it, which can all be set with the <tt>border</tt> property: the size of the border, the style of the border, and the color of the border. A border declaration reads like this: <div><pre>selector { border: size style color; } </pre></div> The size of the border is measured the same way as the margin; pixels or ems are the most common units. Border styles include <tt>solid, dashed</tt>, and <tt>dotted;</tt> you'll use more border styles in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16]. The color of a border can be any CSS color name or RGB triplet. So, to set a solid navy blue border that is 1/4 of the current font size around an <tt><h1></tt>, you would write a rule like this: <div><pre>h1 { border: 0.25em solid navy; } </pre></div> And here's a dashed three-pixel purple border around paragraphs: <div><pre>p { border: 3px dashed #660099; } </pre></div> You can set borders (and margins and padding) around inline elements as well as block elements. This sets a thin black border around <tt><i></tt> tags: <div><pre>i { border: 1px solid black; } </pre></div> The <tt>padding</tt> Property The space surrounding the content is the padding; this could be thought of as whitespace because there's nothing in it (no content or border), but keep in mind that it doesn't have to be white. The padding is always the same background color as the content itself, which means it is the color of the <tt>background-color</tt> set on the box. Padding is measured in the same way as margins or borders; here's a three-pixel padding around <tt><i></tt> and a padding of 0.5 em around <tt><h1></tt>: <div><pre>i { padding: 3px; } h1 { padding: 0.5em; } </pre></div> Want to see the result of all the examples discussed so far? [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06fig05 Figure 6.5] shows what happens if you apply all the CSS rules named, including <tt>margin, border</tt>, and <tt>padding</tt>, to the poem from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06lev1sec2.html#ch06ex01 Listing 6.1]. I added a <tt><style></tt> section in the <tt><head></tt> and included these rules as an embedded style sheet. <center> Figure 6.5. Applying various box styles to the tree poem, as shown in Firefox. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/06fig05_alt.jpg [View full size image]]</div>[[Image:06fig05.jpg|500px]] </center> ./ ADD NAME=CH06LEV1SEC4.HTML == Summary == The visual formatting model of CSS describes how pages should be displayed. An HTML (or XML) element can be block or inline, and the <tt>display</tt> property can change how an element is displayed. The box model views web pages as nested boxes based on a tree view of a web document. Web pages are displayed as CSS properties set on those boxes. The <tt>margin, border</tt>, and <tt>padding</tt> properties define the outer edge of the box. Margins are transparent and surround the box, separating it from other boxes; vertical borders collapse to the largest value. Borders are in specified colors and styles and are within the box's margin. Padding is inside the border and is the same background color as the content. ./ ADD NAME=CH06LEV1SEC5.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q1a1 Q.]''' | What kind of element is a table cell? Is that block or inline? |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q1 A.]''' | It's neither inline nor block. The display value for a table cell (<tt><td></tt>) is special; it's <tt>table-cell</tt>. An element that has been set <tt>display: table-cell</tt> is displayed like a table cell (of course). This is a special type of block element, although there are some limitations; a <tt>table-cell</tt> element can't have a <tt>margin</tt>, for example. You'll learn more about tables and CSS in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17], "Styling Tables." |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q2a2 Q.]''' | What is an em, anyway? Is it related to the size of a capital M? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q2 A.]''' | Not really, although that's where it gets the name from, historically. In CSS, an em is defined as a measure equal to the size of the font; it is a square that is as tall as the font size and as wide as it is tall. It's not related to letter M officially because some fontsnon-English fontsdon't have the letter M, and CSS needs to be able to function with all fonts around the world. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q3a3 Q.]''' | Okay, then what's a pixel? And a point? And how do percentages work? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa1q3 A.]''' | A pixel is basically one dot on a screen; if you've got 800x600 resolution displaying on your monitor, it is showing you 800 pixels across and 600 pixels down. A point is 1/72 of an inch in CSS. Percentages are based on the width of the containing block. You'll learn more about CSS's units of measurement in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch09.html#ch09 Hour 9], "Fonts and Font Families," and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16]. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q1a1 1.]''' | Is the <tt><hr></tt> element block or inline? How can you tell? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q2a2 2.]''' | What is the correct order of the box model, from outside to inside? <div># <div><tt>border, margin, padding, content</tt></div> # <div><tt>padding, border, margin, content</tt></div> # <div><tt>margin, border, padding, content</tt></div> # <div><tt>margin, padding, border, content</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q3a3 3.]''' | Consider the following style rules: <div><pre>body { background-color: red;<br />color: white; }<br />h1 { color: black;<br />padding: 1.5em;<br />border: 5px solid green;<br />background-color: yellow;<br />margin: 0.5em; }<br /></pre></div><br /> What is the color of the <tt>margin</tt> around an <tt><h1></tt>? What is the color of the <tt>padding</tt>? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q1 1.]''' | Because horizontal rules are on separate lines and don't occur inline, <tt><hr></tt> must be block. You can check by looking it up in the HTML 4.01 specification on the W3C's website, [http://www.w3.org/ http://www.w3.org/]. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q2 2.]''' | (c). The outermost part of the box is the <tt>margin</tt>, then the <tt>border</tt>, and then the <tt>padding</tt> around the content. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch06qa2q3 3.]''' | The color of the <tt>margin</tt> would be the <tt>background-color</tt> of the containing box; assuming the <tt><body></tt> contains the <tt><h1></tt>, the color would be red. The <tt>background-color</tt> of the <tt><h1></tt> determines the color of the <tt>padding</tt>, so the padding color is yellow. |} Exercise Reading about margins and padding is one thing, but actually using them is how you'll learn to master them. Create a web page with some blocks to style<tt><div></tt> or <tt><p></tt> work well for this, as do the <tt><h1></tt> through <tt><h6></tt> headingsand set various values of margin and padding on each. Make sure that you know the difference between the margin and padding by setting the padding around a block to 1 em, then the margin. Add in a border and you'll be able to see even more clearly that padding is within the border line and margin is without. ./ ADD NAME=CH07.HTML 1vnsm2fzsy6s9axf4vc69k7yr1sepne User:Bartlett/07 2 2110 5496 5495 2007-06-17T15:51:07Z Bartlett 26 5496 wikitext text/x-wiki =Hour 7. Cascading and Inheritance = {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What the secret formula behind the cascade really is * Which CSS rules have the highest weight, and how those relate to HTML attributes * How you can override the order of the cascade when writing CSS rules * How the user can supply her own style sheet to express her preferences for display, and how those are balanced with the author's desires * How to include one style sheet's rules within another style sheet, and which set of rules takes priority * Which property values are inherited, which are calculated, and what that means for your CSS designs The cascade is one of the key concepts of Cascading Style Sheetsso important, in fact, that the language was named after it. The cascade defines how you combine rules, including rules from different sourcessome provided by the web developer, some by the browser, and some from the user. When these are combined, values for properties on individual HTML tags are calculated. Some of these take their values directly from the CSS rules, whereas others are derived from other properties. |} ./ ADD NAME=CH07LEV1SEC1.HTML == How the Cascade Works == The cascade is the set of directions that determine what rules apply to a given element on the page. Without a method for determining priority of conflicting rules, it would be impossible to figure out which styles should be used. Take, for example, the style sheet shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07ex01 Listing 7.1]different rules with a number of different selectors. Listing 7.1. A Colorful Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* colors-7.1.css */<br /><br />body { background-color: white;<br />color: black; }<br /><br />h1 { background-color: blue;<br />color: red; }<br /><br />em { background-color: green;<br />color: black; }<br /><br />#serious { color: purple; }<br /><br />.yahoo { color: black;<br />background-color: yellow; }<br /><br />#serious { color: maroon; }<br /><br />h1 em { color: lime; }<br /></pre></div><br /> |} Now you'll look at a page that uses the style sheet and also has its own embedded CSS rules within a <tt><style></tt> element in the <tt><head></tt>. Such a page is listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07ex02 Listing 7.2]. Listing 7.2. An HTML Page with Tips on Color Use {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- tips-7.2.html --><br /><html><br /><head><br /><title>Accessibility of Color</title><br /><link type="text/css" rel="stylesheet" href="colors-7.1.css"><br /><style type="text/css"><br />.yahoo { background-color: silver;<br />color: white; }<br />h1 { background-color: yellow; }<br /></style><br /></head><br /><body><br /><h2>Accessibility Tip:</h2><br /><h1>Don't<br /><em class="yahoo" id="serious"<br />style="background-color: white;">Rely</em><br />on Color Alone</h1><br /><p> Some Web users may be unable to see color -- they may<br />be blind (and use a screenreader program); they may<br />be color-blind and unable to easily distinguish colors;<br />or they could be using an access device, such as a cell<br />phone, which does not display color. For this reason,<br />the W3C's Web Accessibility Initiative recommends that<br />you not <em>rely</em> upon color as the <em>only</em><br />way of conveying information.</p><br /><p style="color: navy;">This doesn't mean<br /><em class="yahoo" style="color: red;">"don't use color"</em><br />-- on the contrary,<br />color is very useful to those who can see it, and will<br />help make your page understandable. What it does mean<br />is that color (and other presentational effects) should<br />not be the only way you make something special. For<br />example, rather than use a &lt;span&gt; and a color<br />style to make something stand out, use the &lt;strong&gt;<br />tag (which you can also style) so browsers that<br />can't use the visual CSS color rule can at least know<br />to emphasize that section -- perhaps by increasing the<br />volume when reading the text out loud, for example.</p><br /></body><br /></html><br /></pre></div><br /> |} Now concentrate on the second word in the headline, "Rely." This word is within an <tt><em></tt> element, which is part of an <tt><h1></tt>. It has a class of yahoo and an id of <tt>serious</tt>. What color will the text be, and what color background will it have? You have several choices from several sources; by using the cascade, you can figure out what a browser will do with your example. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07table01 Table 7.1], I've listed the various sources from which the browser might find the background and foreground color for the word "Rely." {| cellspacing="0" cellpadding="5"|+ Table 7.1. CSS Rules Applying to the Word "Rely" |- | Color | Background | Selector | Source |- | <tt>black</tt> | <tt>white</tt> | <tt>body</tt> | Linked style sheet |- | <tt>red</tt> | <tt>blue</tt> | <tt>H1</tt> | Linked style sheet |- | <tt>black</tt> | <tt>green</tt> | <tt>em</tt> | Linked style sheet |- | <tt>purple</tt> | | <tt>#serious</tt> | Linked style sheet |- | <tt>black</tt> | <tt>yellow</tt> | <tt>.yahoo</tt> | Linked style sheet |- | <tt>marooon</tt> | | <tt>#serious</tt> | Linked style sheet |- | <tt>lime</tt> | | <tt>h1 em</tt> | Linked style sheet |- | <tt>white</tt> | <tt>silver</tt> | <tt>.yahoo</tt> | Embedded style sheet |- | | <tt>yellow</tt> | <tt>H1</tt> | Embedded style sheet |- | | <tt>white</tt> | (implied) | Inline style element |} Order of the Cascade To be able to figure out which properties get applied to the <tt><em></tt> tag in your example, you need to think like a web browser. The first thing you need to do is to realize that many of your rules are combined rules. For example, take this rule: <div><pre>.yahoo { color: black; background-color: yellow; } </pre></div> The rule is actually two different rules, which happen to share a common selector, as follows: <div><pre>.yahoo { color: black; } .yahoo { background-color: yellow; } </pre></div> This is important because each declaration (property name and value) could be overridden separately. A rule that changes the color might not change the background color at all, so the <tt>.yahoo</tt> background-color rule would continue to stay in effect even if the <tt>.yahoo</tt> color rule is superceded. So you need to consider only those rules that are in conflictin other words, those that designate different values for the same property name, such as those rules that affect the color property. When trying to analyze which rule takes priority, always break up rules in individual units as just shown. How do you calculate which rule is applied? First, you sort these rules by their origin. In the cascade, the origin means one of the following: the author of the page, the user, or the browser. Author rules have priority over user rules, which have priority over the browser's default rules for how to display HTML elements. In this case, all of these rules have the same origin; they come from the author of the page. Next you order the rules based on the selector and how specific it is. This specificity is calculated as follows: <div># <div>An inline style attribute is the most specific type of rule. If there is an inline style rule for a specific CSS property, that rule "wins."</div> # <div>An <tt>id</tt> selector is the second most specific. If there is more than one <tt>id</tt> in the rule, the rule with greatest number of <tt>id</tt> selectors wins.</div> # <div>If there aren't any <tt>id</tt> selectors, or if there's the same number, count the number of classes or pseudo-classes in the rule. The rule with the most classes or pseudo-classes has the higher priority.</div> # <div>If there's the same number of classes (or no classes), compare the number of elementsthe greater number of elements, the higher the specificity.</div> # <div>If the number of <tt>id</tt> values, classes, and elements are all the same, whichever was declared most recently has the highest priority. If two rules have the same selector and are in disagreement on the value of a specific CSS property, the one listed second is more specific.</div></div> If you ever encounter a tie, then move on to the next rule. For example, if you have a complex rule that has three id selectors, three <tt>class</tt> selectors, and two element selectors, and another with three <tt>id</tt> selectors, three <tt>class</tt> selectors, and one element selector, you have a tie for the <tt>id</tt> selectors, and a tie for the <tt>class</tt> selectors, so to resolve the cascade you need to move on to the number of elements to break the tie. Applying these rules to your <tt><em></tt> text, you must consider the <tt>color</tt> property separately from the <tt>background-color</tt> property. The most specific rules that set the <tt>color</tt> property are the two rules with an id selectorthe <tt>#serious</tt> rules. Of these, the second one takes priority, which means the text color will be maroon. To figure out the <tt>background-color</tt>, you just have to determine the most specific rule as well. In this case, the most specific rule is the inline style attribute, so the background will be white. Calculating the colors of the <tt><h1></tt> is also a useful illustration; you have two competing <tt><h1></tt> selectors: one in the linked style sheet and one in the embedded style sheet. Which one triumphs? The one declared most recently; because your <tt><style></tt> comes after your <tt><link></tt>, the background-color will be yellow. If the order of the <tt><link></tt> and <tt><style></tt> elements were reversed, the background would be blue. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Pretend to Be a Web Browser Here's your chance to show how good you are at imitating a web browser. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07ex01 Listing 7.1], there's a section in the second paragraph that reads "don't use color." {| border="0" |- | <div>'''1. '''</div> | <div>Construct a table like [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07table01 Table 7.1]. List the selector, the source, the color, and the background color of each rule that applies to that section of text.<br /><br /></div> |- | <div>'''2. '''</div> | <div>For each rule, identify whether it comes from a <tt>style</tt> attribute, an <tt>id</tt> selector, a <tt>class</tt> (or pseudo-class) selector, an element selector, or a combination of these.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Rank each selector according to the specificity, as described this hour.<br /><br /></div> |- | <div>'''4. '''</div> | <div>What color will the text be? Test it in your web browser to check your answer.<br /><br /></div> |} |} Cascading and HTML Attributes In addition to setting <tt>style, class</tt>, and <tt>id</tt> attributes, HTML also has presentational attributes that let you affect how the page looks. Examples include <tt>align, color, face, link, vlink, bgcolor</tt>, and <tt>background</tt>. When these attributes conflict with a CSS rule, the HTML attribute is considered to be the least specific declaration possible. In other words, the HTML attribute always is overridden by a CSS rule. However, in many cases you may want to set an HTML presentation attribute in case CSS is disabled or not understood by an older browser. Keep in mind that HTML presentational attributes are ignored only if there is a corresponding CSS rule; if there's no rule setting the color of an item, for example, the HTML value is used. <div>Did you Know? Remember, you generally can't use HTML presentation attributes with CSS if you are using the Strict variety of HTML. Use HTML 4.01 Transitional (or XHTML 1.0 Transitional) if you need to use HTML attributes along with your CSS styles.</div> Using <tt>!important</tt> in Rules When necessary, an author of a style sheet can designate one rule as explicitly more important than others. To do this, the author adds <tt>!important</tt> after the specific property name and value declaration, like this: <div><pre>em { color: blue !important; } </pre></div> This overrides the normal order of the cascade by inserting a new requirement: Important rules come before rules that have not been designated as important. An <tt>!important</tt> rule, even one that is not very specific, always takes priority over a non-<tt>!important</tt> rule even if the latter is extremely specific. The use of <tt>!important</tt> also changes one other part of the cascade: <tt>!important</tt> rules that originate with the user take priority over the author's rules. Normally, the author's rules have higher priority than the user's rules, but this allows users with special needs to define their own style sheets and designate their needs for access as more important than the author's desire for a certain style. <div>Watch Out! Those of you who have done programming in a language such as C++ or Perl may find this particular part of CSS perplexing. In most programming languages, an exclamation point (!) means "not," so <tt>!important</tt> looks like it means "not important," which is the exact opposite of the true meaning. Don't be surprised if it takes a while to get used to reading <tt>!important</tt> as "very important."</div> ./ ADD NAME=CH07LEV1SEC2.HTML == User-Defined Style Sheets == A user-defined style sheet is one created by the user and stored on that person's local computer. The browser automatically loads this file and applies it to web pages that are viewed. The purpose of a user-defined style sheet is to let the web surfer's preferences influence how he views the web. This is especially useful for certain specific groups of users, including those users with visual disabilities. For example, if you need a high-contrast display, your user style sheet could be set with a default black background, white text, and large font sizes. In theory, user style sheets are quite beneficial; in practice, though, they require each web user to know how to write CSS to see the web the way she would like to see it! This is a rather high learning threshold for users who simply want to surf the web comfortably; you're learning CSS now because you want to design websites, not because you simply want to access information. Despite this, user style sheets are still incredibly functional for those who know how to use them, or for those who can download and install user style sheets written by others. A user style sheet can have any kind of CSS rules that could normally be included in a style sheet, and the syntax is exactly the same; it's just another external style sheet, after all. However, there are certain types of rules that make less sense in a user style sheet, and several normal cautions can be relaxed. In a user style sheet, you don't want to use any selectors that presume specific attribute values will be set, such as <tt>class</tt> or <tt>id</tt>, because you won't know what's in the HTML of each page. Normally when creating a style sheet, you don't want to use absolute values in your font sizes, such as <tt>9px</tt> or <tt>2cm</tt>, because these don't take the user's preferences into account. A user with poor vision would have problems seeing a 9-pixel font size if you put this on a style sheet for the web. But because you know the exact properties of the final output medium when writing a user-defined style sheet for yourself, it's perfectly fine to use those values in your own user-defined style sheet. Finally, you should declare these as <tt>!important</tt> to give them highest priority because, after all, it doesn't make sense to set your own preferences if the designer's style sheet can just overrule them. An example of a user-defined style sheet is given in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07ex03 Listing 7.3]. This style sheet is designed specifically for a user who needs large print and high contrast (white-on-black). Listing 7.3. A Sample User-Defined Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* user-7.3.css */<br />* { color: white !important;<br />background-color: white !important;<br />font-family: Verdana, sans-serif !important; }<br />body { font-size: 24pt !important; }<br />a:link { color: cyan !important; }<br />a:visited { color: violet !important; }<br /></pre></div><br /> |} After you've created a user-defined style sheet and saved it on your hard drive (somewhere you can remember its location), you need to tell your browser to use it. How you do that depends on which browser you're using. In Internet Explorer, this is a preference under Accessibility. If you're using Firefox, you need to add your rules to the <tt>user.css</tt> file. In Opera, this is a preference under Document that lets you select a user-defined style sheet. It's an Advanced preference in Safari. ./ ADD NAME=CH07LEV1SEC3.HTML == Importing CSS == To make style sheets that are more modular, you may want to import another style sheet. Importing, in this context, means that all the rules in the imported style sheet are included in the style sheet that is doing the importing. In this way, importing is like linking an external style sheet. You can import another style sheet from an embedded style sheet, from a linked style sheet, or from a user style sheet. An imported style sheet can even import additional style sheets. How do imported style sheets affect the cascade order? You might think that rules are included at the point where the importation is declared, but this actually isn't the case. Any imported style sheets are treated as if their rules had been declared before any of the rules in the importing style sheet. You can think of the imported style sheet as being more distant, which means it is lower priority if there is a conflict. All other things being equal (same number of id attributes, classes, and elements), the importing style sheet's rules are considered more recently declared, even if the rule happens before the importation. <div>By the Way If you're designing a large website, and some CSS rules apply to the whole site, whereas others should be used only with certain sections of the site, you may want to write one site-wide style sheet and then import it into the style sheets you write for each part of the site.</div> The <tt>@import</tt> Rule To import a file, you write as a complete rule (with no property declarations or curly braces) an <tt>@import</tt> statement that looks like this: <div><pre>@import url("filename.css"); </pre></div> An alternate way to write the same rule is to leave out the <tt>url()</tt> function because everything you will <tt>@import</tt> will be a URL. So you can also write the rule like this: <div><pre>@import "filename.css"; </pre></div> You can also give <tt>@import</tt> an extra parameter, which is a list of media types. Like the media attribute on the <tt><link></tt> attribute, the style sheet loads only if the media type is correct for the browser being used. For example: <div><pre>@import "screenorprint.css" screen, print; @import "allmedia.css" all; </pre></div> Here's an example of <tt>@import</tt> in action. First, the importing style sheet: <div><pre>h1 { color: red; } h1, h2, h3, h4, h5, h6 { font-family: sans-serif; } @import "sitewide.css"; h2 { color: blue; } </pre></div> And here's the imported style sheet: <div><pre>/* sitewide.css */ h1, h2, h3, h4, h5, h6 { color: green; } body { background-color: silver; } </pre></div> What color is an <tt><h1></tt>, <tt><h2></tt>, or <tt><h3></tt> on a page using the importing style sheet? The <tt><h1></tt> would be red and the <tt><h2></tt> would be blue because all the imported rules are considered to come before the original style sheet's rules. The <tt><h3></tt> would be green because that's the only rule setting its color. <div>Did you Know? The old, nearly extinct Netscape 4 browser didn't understand the <tt>@import</tt> rule; it simply wouldn't import other style sheets. This flaw actually got put to good use by web developers, to hide other rules that Netscape 4 couldn't understand. (It was a browser with lots of CSS problems.) All rules that were "Netscape 4 safe" could be put in the main CSS file, and then an additional style sheet could be <tt>@imported</tt> that contained style rules that would break in Netscape 4 but worked in other then-contemporary browsers. This was the first browser filter ever developed. You'll learn more about filtering and other tricks in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks."</div> ./ ADD NAME=CH07LEV1SEC4.HTML == Inheritance == As you've already seen, some property values don't have to be explicitly set on each element if the value is already set on a parent element. For example, if you set a <tt>font-family</tt> property on the <tt><body></tt>, all other elements on the page will also have the same value unless it's changed by another rule. This is called inheritance; the page elements have inherited the property value from their parent element, <tt><body></tt>. Not all properties inherit naturally; some simply don't make sense for inheritance. For example, the <tt>border, margin</tt>, and <tt>padding</tt> properties from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6], "The CSS Box Model," don't inherit. Otherwise, whenever you'd draw a box, all elements inside it would have the same type of box around them. Each property, when it's defined in the CSS specifications, is designated as either inheriting or not inheriting, by default. Inherited Values An inherited value is passed along in most cases as if it had been set on the element itself. Thus, if you make an <tt><h1></tt> blue, you're making all its children blue because they'll inherit the color. Other rulesmore specific or higher prioritycould change this, of course. Of the properties you've learned so far, <tt>font-family</tt> and <tt>color</tt> are inherited. The <tt>display, border, margin</tt>, and <tt>padding</tt> properties are not inherited. You might think that <tt>background-color</tt> is inherited, but actually it's not; the default when <tt>background-color</tt> is unset is actually the special value <tt>TRansparent</tt>, which means the color "underneath" can be seen, so it's not quite the same as inheriting the value. Calculated Values The <tt>font-size</tt> property works a little differently when it comes to inheritance. That's because you don't actually inherit the declaration; you inherit the calculated value. Some values are absolute values, such as <tt>12px</tt>, but most will be relative values, such as <tt>smaller</tt> or <tt>3em</tt>. When a relative value is inherited, the value is first calculated before being passed on to child element. Specifying Inheritance If you want a property to inherit from its parent, but it doesn't actually do so by default, you can use the special value of <tt>inherit</tt> in a rule you write. Say that you decide any <tt><div></tt> in the class <tt>standout</tt> should have a blue border and that any paragraphs inside it should have the same border. You could write these rules: <div><pre>div.standout { border: 1px solid blue; } div.standout p { border: inherit; } </pre></div> ./ ADD NAME=CH07LEV1SEC5.HTML == Summary == In this hour, you learned about the cascade, user style sheets, importing style sheets, and inheritance. The cascade first sorts rules based on source: Author style rules take priority over user style rules, which take priority over browser default styles. After that, the more specific a rule, the higher priority it's given. You can add <tt>!important</tt> to a rule to give it a higher priority. User style sheets are a crucial part of the cascade that allows the user's preferences to blend with the author's desires. Users with disabilities can often benefit from specific style sheets tailored to their needs. Not all values need to be explicitly set; values can be inherited from their parent element. Some properties inherit, and some don't; those that use relative values pass along the calculated value. ./ ADD NAME=CH07LEV1SEC6.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa1q1a1 Q.]''' | Why is it a big deal that calculated values are inherited, instead of relative values? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa1q1 A.]''' | Well, consider this example: <div><pre><div class="footer"><br /><p><br />Questions? Send me email at<br /><a href="mailto:kynn@idyllmtn.com"><br />kynn@idyllmtn.com<br /></a><br /></p><br /></div><br /></pre></div><br /> If the font on the page is 20 pixels, and the style rule is <tt>div.footer { font-size: smaller; }</tt>, text elements within the <tt><div></tt> inherit the calculated value 16 pixels, which is 20% smaller than 20 pixels. The elements within the <tt><div></tt> do not inherit the relative value <tt>smaller</tt>. What if the text elements did inherit the relative value? Well, then the <tt><p></tt> would have to be 20% smaller than the size of the <tt><div></tt> (about 12.8 pixels). The <tt><a></tt> would inherit smaller from its parent and would shrink to 80% of the <tt><p></tt>, so the email address would be 10.24 pixelsincredible shrinking text! This is why calculated values are not inherited. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa1q2a2 Q.]''' | How did the order of the Cascade change between CSS Level One and CSS Level Two? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa1q2 A.]''' | When CSS Level One was published, the author's <tt>!important</tt> styles took precedence over the user's <tt>!important</tt> styles. This was found to be a problem because it meant that users with special needs had no way to insist that the browser meet their needs. In the CSS Level Two recommendation, this was changed so that the user's <tt>!important</tt> rules beat the author's <tt>!important</tt> rules. Note that this is a special case exception; in most cases, the author's styles override the user's styles, assuming the user's styles are not flagged as <tt>!important</tt>. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa2q1a1 1.]''' | Rank these CSS rules in order from least specific to most specific: <div># <div><tt>p { font-family: serif; }</tt></div> # <div><tt><p style="font-family: fantasy;"></tt></div> # <div><tt>p#mocha { font-family: monospace; }</tt></div> # <div><tt>TR td p { font-family: sans-serif; }</tt></div> # <div><tt>TD p.latte { font-family: cursive; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa2q2a2 2.]''' | How would your answer to question 1 change if rule (a) were rewritten like this? <div># <div><tt>p { font-family: serif !important ; }</tt></div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa2q1 1.]''' | The least specific is (a): It has no id selectors, no classes, and only one element. Rule (d) is more specific because it has three elements instead of one. Rule (e) is more specific than (d), even though it has only two elements, because (e) has one class and (d) has none. Rule (c) is less specific than Rule (b) because <tt>id</tt> selectors are less specific than inline styles. Therefore, a paragraph that was affected by all these rules would be in a <tt>fantasy</tt> font. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch07qa2q2 2.]''' | The addition of <tt>!important</tt> to rule (a) makes it more important than the others, and thus the <tt>font-family</tt> value would be <tt>serif</tt>. However, the specificity technically did not change; it is still less specific than the others, although it has higher priority. So it's a bit of a trick question; the priority would change, but because question 1 asked you about specificity, not priority, your answer should not change. |} Exercise One of the best ways to become familiar with the cascade is to set up your own user style sheet. Create your own style sheet, save it on your hard drive, and tell your browser to use it as a user style sheet. You can experiment with <tt>!important</tt> and other aspects of the cascade by changing your user style sheet. ./ ADD NAME=CH08.HTML 40a4vvr4zefyu8yvr9ktfn740ajewnn User:Bartlett/08 2 2111 5497 5471 2007-06-17T15:51:48Z Bartlett 26 5497 wikitext text/x-wiki = Hour 8. Advanced Selectors = ; What You'll Learn in This Hour: * How to create CSS rules that select only those tags that have a specific attribute * How to create rules based on the values of those attributes * How to create rules that select direct children of another element and why you'd want to do that * How to select an element that directly follows another element |} ./ ADD NAME=CH08LEV1SEC1.HTML == Attribute Selectors == An attribute selector tests for the existence, and possibly the values, of any specific HTML attributes set on an element. You'd use an attribute selector if you wanted all elements with a certain attribute to be styled a certain way. For example, <tt>noshade</tt> is an HTML attribute for the <tt><hr></tt> tag; it means that there shouldn't be any shading effects applied to the tag. If you wanted all those <tt><hr></tt> tags to be colored <tt>silver</tt>, you'd use an attribute selector based on the <tt>noshade</tt> attribute. The simplest form of attribute selector is simply the attribute within square brackets, as follows: <div><pre>element[attribute] { declaration; } </pre></div> For example: <div><pre>hr[noshade] { color: silver; } </pre></div> This rule would declare that all <tt><hr></tt> elements with the <tt>noshade</tt> attribute should be colored <tt>silver</tt>. You can write an attribute selector rule so that it selects all elements with the chosen attribute by using the universal selector (<tt>*</tt>). For example, you could set a specific rule for all tags that have a <tt>title</tt> attribute to indicate which parts of the page will pop up a tooltip when you move the mouse over them, as in the following: <div><pre>*[title] { background-color: yellow; } </pre></div> This marks with a <tt>yellow</tt> background all tags with <tt>title</tt> attributes. Because the universal selector is optional, you can also write the rule like this: <div><pre>[title] { background-color: yellow; } </pre></div> <div>Watch Out! Internet Explorer (up to version 5.5) does not support attribute selectors. For compatibility with older Internet Explorer versions, you can use an explicit <tt>class</tt> attribute and <tt>class</tt> selector rule. For example, to make the two attribute selector examples work in Internet Explorer 5.5, you'll need to write your HTML like this: <div><pre><hr class="unshaded" noshade> <a href="summer2001.html" class="hastooltip" title="What I Did for Summer Vacation">Summer 2001</a> </pre></div> Your CSS rules would then look like this: <div><pre>hr[noshade], hr.unshaded { color: silver; } *[title], .hastooltip { background-color: yellow; } </pre></div></div> Selecting by Attribute Value In addition to checking for the existence of the attribute, you can also select by attribute value. There are three ways to do this: <div><pre>element[attribute="value"] { declaration; } element[attribute~="value"] { declaration; } element[attribute|="value"] { declaration; } </pre></div> The first version designates an exact match; it selects only those elements for which the attribute has the given value. The second registers a match if the value in the rule is one of several values given in the HTML, separated by spaces. The third matches the rule's value against the HTML's value and compares the characters before hyphens. (This is to allow matching of language groups, which are written as <tt>en-us, en-uk, en-au</tt>, and so on. See [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5], "Selectors," for a listing of some common language codes.) [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08table01 Table 8.1] shows several types of selectors and attribute values and indicates whether or not each selector would match the HTML. {| cellspacing="0" cellpadding="5"|+ Table 8.1. Testing Attribute Values |- | CSS Selector | HTML Snippet | Match? |- | <tt>table[summary="layout"]</tt> | <tt><table summary="layout"></tt> | Yes |- | <tt>table[summary~="layout"]</tt> | <tt><table summary="layout"></tt> | Yes |- | <tt>table[summary|="layout"]</tt> | <tt><table summary="layout"></tt> | Yes |- | <tt>div[class="bar"]</tt> | <tt><div class="foo bar baz"></tt> | No |- | <tt>div[class~="bar"]</tt> | <tt><div class="foo bar baz"></tt> | Yes |- | <tt>div[class|="bar"]</tt> | <tt><div class="foo bar baz"></tt> | No |- | <tt>*[lang="en"]</tt> | <tt><span lang="en"></tt> | Yes |- | <tt>*[lang~="en"]</tt> | <tt><span lang="en"></tt> | Yes |- | <tt>*[lang|="en"]</tt> | <tt><span lang="en"></tt> | Yes |- | <tt>*[lang="en"]</tt> | <tt><span lang="en-us"></tt> | No |- | <tt>*[lang~="en"]</tt> | <tt><span lang="en-us"></tt> | No |- | <tt>*[lang|="en"]</tt> | <tt><span lang="en-us"></tt> | Yes |- | <tt>*[lang="en"]</tt> | <tt><span lang="english"></tt> | No |- | <tt>*[lang~="en"]</tt> | <tt><span lang="english"></tt> | No |- | <tt>*[lang|="en"]</tt> | <tt><span lang="english"></tt> | No |} Let's look at an example of attribute selectors in action. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08ex01 Listing 8.1] is an HTML page consisting of a table of departure times for airline flights. I've chosen to use the <tt>axis</tt> attribute on table cells to group similar types of flights. <tt>axis</tt> is an HTML 4.01 attribute that allows for groupings of related table cells. Those flights that fly through Saint Louis have been assigned an <tt>axis</tt> value of <tt>stlouis</tt>, whereas those going through Chicago are labeled with an <tt>axis</tt> value of <tt>ord</tt>. Listing 8.1. HTML Table Marked Up with the <tt>axis</tt> Attribute {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- flights-8.1.html --><br /><html><br /><head><br /><title>Flights from Los Angeles to New York</title><br /><link type="text/css" rel="stylesheet"<br />href="flights-8.2.css"><br /></head><br /><body><br /><h1>Schedule of Flights</h1><br /><h2>Los Angeles to New York</h2><br /><table><br /><tr> <th>Monday</th> <th>Tuesday</th> <th>Wednesday</th><br /><th>Thursday</th> <th>Friday</th> </tr><br /><tr> <td axis="ord">09:13 (ORD)</td><br /><td axis="ord">09:13 (ORD)</td><br /><td>10:17 (direct)</td><br /><td axis="ord">09:13 (ORD)</td><br /><td>10:17 (direct)</td> </tr><br /><tr> <td axis="stlouis">12:05 (STL)</td><br /><td axis="stlouis">12:05 (STL)</td><br /><td axis="stlouis">12:05 (STL)</td><br /><td axis="stlouis">12:05 (STL)</td><br /><td axis="stlouis">12:05 (STL)</td> </tr><br /><tr> <td axis="ord">17:15 (ORD)</td><br /><td axis="stlouis">13:44 (STL)</td><br /><td axis="ord">17:15 (ORD)</td><br /><td axis="stlouis">13:44 (STL)</td><br /><td>14:30 (direct)</td> </tr><br /><tr> <td></td><br /><td axis="ord">17:15 (ORD)</td><br /><td>19:20 (direct)</td><br /><td axis="ord">17:15 (ORD)</td><br /><td axis="ord">17:15 (ORD)</td> </tr><br /></table><br /></body><br /></html><br /></pre></div><br /> |} The cascading style sheet for this example is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08ex02 Listing 8.2]; you'll use attribute selectors to set up rules on each flight type to show them with different background colors. This effect is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08fig01 Figure 8.1]. <center> Figure 8.1. Using attribute selectors to make <tt>axis</tt> values visual. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/08fig01_alt.jpg [View full size image]]</div>[[Image:08fig01.jpg|500px]] </center> Listing 8.2. This Style Sheet Uses Rules Based on the <tt>axis</tt> Attribute Selector {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* flights-8.2.css */<br /><br />body { font-family: Verdana, sans-serif; }<br /><br />td { border: 1px solid black;<br />padding: 0.25em;<br />color: black;<br />background-color: white; }<br /><br />td[axis="stlouis"]<br />{ background-color: silver;<br />color: black; }<br /><br />td[axis="ord"]<br />{ background-color: black;<br />color: white; }<br /></pre></div><br /> |} You've been using shorthand versions of some attribute selectors for some time now; the <tt>class</tt> and <tt>id</tt> selectors are just special cases of an attribute value selector. The following pairs of rules are equivalent: <div><pre>.apple { color: green; } *[class~="apple"] { color: green; } #banana { color: yellow; } *[id="banana"] { color: yellow; } </pre></div> You can combine multiple attribute values together by simply adding on another attribute test. Here's an example of a rule that selects all table cells that are right-aligned and vertically aligned to the bottom: <div><pre>td[align="right"][valign="bottom"] { font-size: small; } </pre></div> <div>Did you Know? You can use attribute selector rules with a user style sheet to create some very simple but powerful testing tools for web development. For example, to make anchors visible, create a style sheet, set it as your user style sheet in your browser, and add the following rule: <div><pre>a[name], [[Image:135fig01.jpg|8px]] { border: 1px dotted red; } </pre></div> This puts a dotted line around your anchors and anything else with the <tt>id</tt> attribute set. You can use this same trick to make table borders, form boundaries, field <tt><label></tt>s, and other block elements visible because they're outlined with a <tt>border</tt>. Here's a pair of rules to make it very clear which of your images don't have <tt>alt</tt> attributes on them: <div><pre>img { border: 5px solid lime; } img[alt] { border: none; } </pre></div></div> Family Relationships Family-based selectors in CSS choose elements based on the relationships between the HTML tags; these relationships are named after family relationships. You've already used one of the family relationship selectors: the descendant selector, which selects elements descended from another tag. Other relationship selectors include child and adjacent sibling selectors. Child Selectors A child selector is a special case of descendant selectors, which were covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5]. A child selector identifies only those elements that are immediate children of another element, not any "grandchildren" or other descendants. A child selector is indicated by a greater-than symbol (>) between the parent element and the child: <div><pre>parent > child { declaration; } </pre></div> For example, consider the following snippet of HTML: <div><pre><blockquote> <div class="opinion"> <p>I'm voting Green next year.</p> <p>I'm wearing green, too!</p> </div> </blockquote> </pre></div> Here are some style rules, but only a few of these will be applied to the code sample: <div><pre>blockquote p { font-size: large; } blockquote > p { font-family: Arial, sans-serif; } .opinion > p { font-color: green; } </pre></div> The first rule is used on the quote; it's a normal descendant selector, and both of the paragraphs are within a <tt><blockquote></tt>. The second rule is not applied; there are no <tt><p></tt> tags that are direct children of a <tt><blockquote></tt> tag; both of them are direct children of the <tt><div></tt>. (They're descendants of the <tt><blockquote></tt>, of course, but only direct children, not grandchildren, count for child selectors.) The third rule is applied to the <tt><p></tt> text because both paragraphs are direct children of a tag with <tt>class="opinion"</tt>. So the total effect will be two green paragraphs, both in the default font face. <div>Watch Out! Some older browsers, notably Internet Explorer 6 and earlier, don't recognize child selectors. For compatibility with these older browsers, use descendant selectors; if you're unable to get the effects you want with just descendants, use class selectors too. Here's how you would rewrite the green quote style sheet rules: <div><pre>blockquote p { font-size: large; /* same */ } blockquote p.childofblockquote { font-family: Arial, sans-serif; } .opinion p { font-color: green; } </pre></div> You'll notice the additional class called <tt>childofblockquote;</tt> it has to be added to every <tt><p></tt> that is a direct child of a <tt><blockquote></tt>.</div> <div>Did you Know? Internet Explorer's lack of support for child selectors has a silver lining. Because rules with child selectors are ignored, you're able to write styles that are understood by most other modern browsers but aren't displayed by Internet Explorer. This is an example of a browser filter; you'll learn more about those in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks."</div> Adjacent Sibling Selectors Two HTML tags are siblings if they have the same parent; they are adjacent siblings if the second occurs directly after the first in the source code. Here's some HTML to illustrate a sibling relationship: <div><pre><ul> <li id="greg">Greg</li> <li id="peter">Peter</li> <li id="bobby">Bobby</li> <!-- id attributes are included for reference --> </ul> </pre></div> The <tt><li></tt> elements are all siblings of each other. The <tt>greg</tt> and <tt>peter <li></tt> tags are adjacent siblings, and the <tt>peter</tt> and <tt>bobby <li></tt> tags are adjacent as well. However, the <tt>greg</tt> and <tt>bobby</tt> tags are not adjacent. An adjacent sibling selector makes a selection based on two adjacent siblings, but it applies the declared style only to the second of the two. This is very important to remember: You are not selecting the pair; you are selecting only the final one in the list. You write an adjacent sibling rule by listing the first sibling, a plus sign (+), and then the second sibling. A rule such as the following turns only the Peter and Bobby names blue, because they're <tt>li</tt> elements that directly follow another <tt>li</tt> element: <div><pre>li + li { color: blue; } </pre></div> <div>Watch Out! Like many other advanced selectors in CSS, the usefulness of adjacent sibling selectors has been crippled by a lack of browser support in Internet Explorer. Using the same techniques described previously in this hour, you can add a number of class attributes and selectors and approximate the behavior for those older browsers that don't support CSS Level 2 selectors. This isn't the best solution, but it's the only one that works now.</div> Adjacent sibling selectors are useful for adding or removing margins, padding, and borders when siblings are meant to flow together visually. An example of this is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08ex03 Listing 8.3]. Listing 8.3. A Definition List with Adjacent <tt><dt></tt> and <tt><dd></tt> Elements {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- acronyms-8.3.html --><br /><html><br /><head><br /><title> Some Common Acronyms </title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br /><br />dt { font-weight: bold; }<br /><br />dt + dt, dd + dt<br />{ margin-top: 1em;<br />font-weight: bold;<br />padding-top: 1em;<br />border-top: 1px solid black; }<br />/* These rules apply to any dt that follows<br />another dt, or a dd. The only dt that<br />would not match such a rule is the first<br />one, which is a direct child of the dl. */<br /><br />dt + dd { margin-top: 0.5em; }<br />/* This applies to any dd that immediately follows<br />a dt. It doesn't apply to a dd that follows<br />another dd. */<br /><br />dd + dd { font-size: small;<br />border: 1px;<br />padding: 0.1em; }<br /><br />/* This rule selects any dd that follows another<br />dd, but not to a dd that follows a dt. */<br /><br /></style><br /></head><br /><body><br /><h1>Common Acronyms</h1><br /><br /><dl><br /><dt>CSS</dt><br /><dd>Cascading Style Sheets</dd><br /><br /><dt>HTML</dt><br /><dd>Hypertext Markup Language</dd><br /><dd>See also: <cite>XHTML</cite></dd><br /><br /><dt>WAI</dt><br /><dd>Web Accessibility Initiative</dd><br /><dd>See also: <cite>W3C</cite></dd><br /><br /><dt>WCAG</dt><br /><dd>Web Content Accessibility Guidelines</dd><br /><br /><dt>WWW</dt><br /><dd>World Wide Web</dd><br /><br /><dt>WWWC -- see <cite>W3C</cite></dt><br /><br /><dt>W3C</dt><br /><dd>World Wide Wide Consortium</dd><br /><dd>See also: <cite>WAI</cite></dd><br /><br /><dt>XHTML</dt><br /><dd>Extensible HTML</dd><br /><dd>See also: <cite>HTML</cite></dd><br /></dl><br /></body><br /></html><br /></pre></div><br /> |} The embedded style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08ex03 Listing 8.3] uses styles based on adjacent-sibling rules applied to a definition list. In HTML, a definition list is declared by the <tt><dl></tt> element, which can only have <tt><dt></tt> (term) or <tt><dd></tt> (definition) elements as children; this is important for understanding why the adjacent-sibling rules work as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08fig02 Figure 8.2]. <center> Figure 8.2. Adjacent sibling rules improve the look of a definition list. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/08fig02_alt.jpg [View full size image]]</div>[[Image:08fig02.jpg|500px]] </center> ./ ADD NAME=CH08LEV1SEC2.HTML == Summary == Although unsupported by all but the newest browsers, advanced selectors add considerably to the CSS developer's toolbox. Attribute selectors allow styles to be set based on specific attribute values or even the existence of an attribute on the tag. Relationships between elements can be expressed in CSS by the child selector, which applies to direct children of a specific element, and by the adjacent sibling selector, which chooses the second of a pair of specified tags. ./ ADD NAME=CH08LEV1SEC3.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q1a1 Q.]''' | Can I do pattern matching in attribute values? Suppose I want to select all <tt><a></tt> tags that are <tt>mailto</tt> links. Can I use <tt>a[href="mailto:*"]</tt> as my selector? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q1 A.]''' | Nope. The CSS specifications don't define a way to do this type of pattern matching. Future versions of CSS based on XPath and XPointer might allow this, but for now there is no way to use pattern matching in CSS. To make your <tt>mailto</tt> links stand out, set a <tt>class</tt> attribute on them and use a <tt>class</tt> selector. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q2a2 Q.]''' | If I could use either a child selector or a descendant selector, which should I use? For example, if I want to select all <tt><img></tt> tags within <tt><a></tt> links. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q2 A.]''' | In theory, it's better to use a child selector if you know you're dealing with a direct child because it's quicker for the browser to calculate child selectors. It doesn't have to look over the full tree of the HTML document, just up one level. In practice, though, you are better off sticking with the descendant selector because of poor browser support; don't rely on a child selector alone. You can use both, if you like. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q3a3 Q.]''' | Can I combine advanced selectors with simple selectors or other advanced selectors? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa1q3 A.]''' | Certainly! This is a valid CSS rule: <div><pre>.chap > th + td img[alt] { border: 2px solid green; }<br /></pre></div><br /> What would match this? Basically, anything that meets the following criteria: * An image element * With an <tt>alt</tt> attribute set (to any value) * Where that image is a descendant of a table cell * Assuming that table cell has a table header cell as a sibling * Which is a direct child of an element in the <tt>chap</tt> class |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q1a1 1.]''' | What does the <tt>+</tt> symbol indicate, in a selector? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q2a2 2.]''' | Which selector will select the HTML element <tt><h1 align="right">Welcome</h1></tt>, and why? <div># <div><tt>h1[align~="right"]</tt></div> # <div><tt>*[align="right"]</tt></div> # <div><tt>[align|="right"]</tt></div> # <div><tt>H1[align]</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q3a3 3.]''' | You're using Opera 8.5 and you want to write a rule in your user style sheet to hide banners that are 468 pixels across and 60 pixels high. How do you write that rule? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q1 1.]''' | The <tt>+</tt> symbol designates a direct sibling selector. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q2 2.]''' | It's kind of a trick question. All of them will select the <tt><h1></tt>. The first will select it because <tt>right</tt> is one of the values listed in the attribute (it's the only value, too). The second will select it because it's exactly the value (and the selector's type is universal). The third is also a universal selector, and it will compare values before a dash; because there is no dash, it will compare just <tt>right</tt> with <tt>right</tt>. The last matches because the <tt><h1></tt> tag has an <tt>align</tt> attribute, with any value. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch08qa2q3 3.]''' | Here's one way to zap away those annoying banners: <div><pre>img[height="60"][width="468"] { display: none; }<br /></pre></div><br /> |} Exercise You'll master selectors gradually, as you work on other projects using CSS and write style sheets using these types of rules. To practice as you learn, make a "cheat sheet" to remind yourself which advanced selectors you can use, and keep that list handy as you read this book and create style sheets. Identify specific situations in which a complex rule might actually work better than simply adding <tt>class</tt> and <tt>id</tt> in HTML, which is an easy habit to fall into. ./ ADD NAME=CH09.HTML 267m51x20m2jin1cptwvmg3zqxwc5a1 User:Bartlett/09 2 2112 5498 5472 2007-06-17T15:52:52Z Bartlett 26 5498 wikitext text/x-wiki = Hour 9. Fonts and Font Families = ; What You'll Learn in This Hour: * Which font properties specify bold, italic, and variant fonts * How you can set a number of font properties at once using a shorthand property * What the generic font families are and how to use them * Which fonts are most commonly installed on browsers One of the most effective changes you can make to a web page when using CSS is to simply alter the browser's default font. This can add a more professional look to your website immediately, as well as make it easier for users to read and find information. |} ./ ADD NAME=CH09LEV1SEC1.HTML == Specifying Font Properties == In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "Getting Started with CSS," you were introduced to two font properties: <tt>font-size</tt> and <tt>font-family</tt>. These enable you to specify the size and typeface of the font, respectively. In addition, a number of other properties can be used to further select fonts from within those families. These properties are <tt>font-weight, font-variant, font-style, font-stretch</tt>, and <tt>font-size-adjust</tt>. To understand how these properties work, it's important to understand how CSS views fonts. A font in CSS is one specific instance of several properties: a specific typeface, size, weight, and other variables. So the <tt>font 12pt Arial bold italic</tt> is different from the <tt>font 10pt Arial</tt>. They are part of the same font family, of course. It's helpful to remember that when you declare a font family, you're actually selecting a group of fonts to be used. Other properties (or browser defaults) narrow down the specific font. Font families generally include a number of variations on the base fontfor example, an italic version of the font. In some cases, you will specify a font combination that simply isn't available as a distinct variant. The browser then has to create a variant on the fly by slanting the text to produce italic effects, for example, or by using the closest available equivalent in the font family. The effects produced by various font settings are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09table01 Table 9.1] for reference; this is because it's not always clear which property controls which effect. {| cellspacing="0" cellpadding="5"|+ Table 9.1. Properties Affecting Font Display |- | Property | Effect |- | <tt>font-family</tt> | Selects the typeface family |- | <tt>font-size</tt> | Sets the size of the font |- | <tt>font-weight</tt> | Makes text bold or lighter |- | <tt>font-variant</tt> | Creates "small caps" effect |- | <tt>font-style</tt> | Sets italic font |- | <tt>text-decoration</tt> ([file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10]) | Underlines text |- | <tt>color</tt> ([file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10]) | Changes the color of text |- | <tt>line-height</tt> ([file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15]) | The height of the line (but not the text height) |- | <tt>font</tt> | Sets <tt>font-family, font-size, font-weight, font-variant, font-style</tt>, and <tt>line-height</tt> |} The <tt>font-weight</tt> Property The <tt>font-weight</tt> property controls how heavy a font appearsin other words, the thickness of the lines used to draw that font, relative to the size of the font. The weight of a font is measured in numbers that range from <tt>100</tt> to <tt>900</tt>, in steps of <tt>100</tt>. The higher the number, the bolder the font; normal text has a weight of <tt>400</tt> and bold text (as created by the HTML <tt><b></tt> tag) has a weight of <tt>700</tt>. Not all font families have specific fonts at all values; in such a situation, the browser usually uses the closest match. For example, if there's no weight <tt>800</tt> variant for a font, the browser may substitute weight <tt>700</tt>. Many browsers support only two to four <tt>font-weight</tt> values. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig01 Figure 9.1] shows how Safari displays each <tt>font-weight</tt> value of Verdana, whereas [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig02 Figure 9.2] is from Firefox. Notice that they differ on whether weight <tt>600</tt> should be weighted like <tt>500, 700</tt>, or somewhere in between. Keep this in mind; it will be important later on. <center> Figure 9.1. Successive <tt>font-weight</tt> values of Verdana font, shown in Safari. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig01_alt.jpg [View full size image]]</div>[[Image:09fig01.jpg|500px]] </center> <center> Figure 9.2. Successive <tt>font-weight</tt> values of Verdana font, shown in Firefox. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig02_alt.jpg [View full size image]]</div>[[Image:09fig02.jpg|500px]] </center> In addition to numeric values, the <tt>font-weight</tt> property can take named values, as shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09table02 Table 9.2]. The <tt>font-weight</tt> value is inherited from the containing box if any is set. The default value is <tt>normal (400)</tt> for most HTML tags; some, such as <tt><b></tt>, <tt><strong></tt>, <tt><h1></tt> to <tt><h6></tt>, and <tt><th></tt>, default to <tt>bold (700)</tt>. {| cellspacing="0" cellpadding="5"|+ Table 9.2. Values for the font-weight Property |- | Value | Effect |- | <tt>100</tt> to <tt>900</tt> | Lightest (<tt>100</tt>) to heaviest (<tt>900</tt>) font weight |- | <tt>bold</tt> | Same as <tt>700</tt> |- | <tt>bolder</tt> | One step (<tt>+100</tt>) heavier than the containing box's <tt>font-weight</tt> |- | <tt>lighter</tt> | One step (<tt>-100</tt>) lighter than the containing box's <tt>font-weight</tt> |- | <tt>normal</tt> | Same as <tt>400</tt> |- | <tt>inherit</tt> | The value of the containing box's <tt>font-weight</tt> property |} If a font's weight is already at <tt>900</tt>, the value <tt>bolder</tt> won't make it any heavier; likewise, if the <tt>font-weight</tt> is <tt>100</tt>, <tt>lighter</tt> has no additional effect. <div>Watch Out! Comparing [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig01 Figure 9.1] and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig02 Figure 9.2], it's clear that browsers aren't consistent about how heavy they make in-between values such as <tt>500</tt> or <tt>600</tt>. Because <tt>bolder</tt> and <tt>lighter</tt> move up or down in steps of <tt>100</tt>, it's possible that a <tt>bolder</tt> (or <tt>lighter</tt>) rule may have no effect. If the default is <tt>400</tt>, and the browser does not render <tt>500</tt> as <tt>700</tt> but as <tt>400</tt>, an increase of <tt>100</tt> is meaningless. For this reason it's better to use either explicit numeric values (<tt>400</tt> or <tt>700</tt>) or the keyword <tt>bold</tt> for cross-browser consistency.</div> The <tt>font-variant</tt> Property Only one type of variant font can be set with the <tt>font-variant</tt> property, a variant where lowercase letters are represented with smaller versions of capital letters. The three possible values for <tt>font-variant</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09table03 Table 9.3]; the default value is <tt>normal</tt>, and if there is a value set on the containing box, it will be inherited. {| cellspacing="0" cellpadding="5"|+ Table 9.3. Values for the <tt>font-variant</tt> Property |- | Value | Effect |- | <tt>normal</tt> | Use normal lowercase letters |- | <tt>small-caps</tt> | Use small capitals instead of lowercase letters |- | <tt>inherit</tt> | Use the value of the containing box's <tt>font-variant</tt> property |} An example of <tt>font-variant</tt> is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig03 Figure 9.3]; the rule used is <center> Figure 9.3. Using <tt>font-variant: small-caps</tt>. [[Image:09fig03.jpg|250px]] </center> <div><pre>#a { font-family: Optima, sans-serif; font-variant: small-caps; } </pre></div> The <tt>font-style</tt> Property To set something in an italic or oblique font, you can use the <tt>font-style</tt> property; <tt>font-style</tt> is not used for anything else, although the name seems deceptively general. The values for <tt>font-style</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09table04 Table 9.4]. If a <tt>font-style</tt> property is set on the containing box, it is inherited. Otherwise, the default is usually <tt>normal</tt>, although some HTML properties, such as <tt><i></tt>, <tt><em></tt>, and <tt><address></tt>, are normally italicized by web browsers. {| cellspacing="0" cellpadding="5"|+ Table 9.4. Values for the <tt>font-style</tt> Property |- | Value | Effect |- | <tt>italic</tt> | Use an italic font. |- | <tt>normal</tt> | Use a non-oblique, non-italic font. |- | <tt>oblique</tt> | Use an oblique or slanted font. |- | <tt>inherit</tt> | Use the value of the containing box's <tt>font-style</tt> property. |} <div>Did you Know? What is <tt>oblique?</tt> Although it's a less common term than <tt>italic</tt>, it's a related concept. Most fonts we see are called Roman fonts; these are not slanted, and they correspond to the CSS value of <tt>normal</tt>. An italic font is created by making slanted, slightly curly alternate versions of the letters in a Roman font; each letter has been redesigned so that it's essentially a new set of characters within the same font family. An oblique font, on the other hand, is created by just tilting the Roman font's characters at an angle. This doesn't always require font redesign and can be done automatically by a computer, but often the results are not nearly as nice looking. Many typography books explicitly discourage the use of computer-created obliques.</div> Browsers treat <tt>italic</tt> and oblique property values the same because they don't really know the difference most of the time. The CSS specification allows for italic fonts to be displayed as oblique (even oblique fonts generated automatically) if a matching italic font is not available. You'll probably want to simply use italic; don't worry about the difference unless you are a professional typographer, in which case you don't need me to explain the difference between oblique and italic. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig04 Figure 9.4] shows the lack of difference between <tt>oblique</tt> and <tt>italic</tt> by current browsers; they're both rendered the same, in slanted text. This is unfortunate for typographers, but for most of us it won't be a major problem. The code used in this screenshot is <center> Figure 9.4. Oblique versus italic. In practice, there's no difference. [[Image:09fig04.jpg|250px]] </center> <div><pre><div style="font-style: normal;"> This is normal text. </div> <div style="font-style: italic;"> This text is italic. </div> <div style="font-style: oblique;"> This text is oblique. </div> </pre></div> The <tt>font</tt> Shorthand Property As you've probably noticed this hour, quite a few properties define a font. Rather than typing out each property, the <tt>font</tt> property enables you to set these values at one time. The <tt>font</tt> property is a shorthand property in CSS terminology. A shorthand value has two effects: It sets all affected properties to their default values, and it assigns designated values to the appropriate properties. The <tt>font</tt> property is shorthand for the <tt>font-family</tt>, <tt>font-size</tt>, <tt>font-weight</tt>, <tt>font-variant</tt>, <tt>font-style</tt>, and <tt>line-height</tt> properties. (You'll learn about <tt>line-height</tt> and how to use it with font in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment.") The font property doesn't let you set values for <tt>font-stretch</tt> or <tt>font-size-adjust</tt>; these need to be set in separate rules. <div>Watch Out! Don't overlook that first function, resetting to default values! You can easily spend hours trying to debug your style sheet if you don't remember that shorthand properties set all values, even those not shown. In addition to anything else a <tt>font</tt> rule does, it also is roughly equivalent to the following declarations: <div><pre>font-family: serif; /* or the default browser font */ font-size: medium; font-weight: normal; font-variant: normal; font-style: normal; line-height: 100%; </pre></div></div> A font rule looks like this: <div><pre>selector { font: style variant weight size family; } </pre></div> The values for <tt>weight</tt>, <tt>size</tt>, and <tt>family</tt> must be specified in that exact order, but other than that the values can appear in any order. Any values that aren't listed are set to their default values. Here are some examples of font shorthand rules: <div><pre>body { font: 12pt normal "Times New Roman"; } h1 { font: 20pt Arial italic small-caps; } blockquote { font: bold "Courier New", sans-serif; } </pre></div> When using <tt>font</tt> it's important to keep in mind that the first function of this property is to reset values to their defaults; this means that priority order counts. For example, consider these two pairs of rules: <div><pre>#a { font-weight: 700; font: large Verdana, sans-serif; } #b { font: large Verdana, sans-serif; font-weight: 700; } </pre></div> In the <tt>#a</tt> rules, the <tt>font-weight</tt> gets set to <tt>700</tt> by the <tt>font-weight</tt> property, but then the <tt>font</tt> property resets it to the default, so the weight is back to <tt>400</tt>. The #b rules are in the correct order to make the text bold; first the <tt>font</tt> rule sets everything to default values, and then the specific rule for <tt>font-weight</tt> overrides the default. <div>By the Way The <tt>font</tt> property can also take values based on the user's operating system fonts; these are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch23.html#ch23 Hour 23], "User Interface and Generated Content."</div> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Setting Font Properties The best way to understand how the font properties and font shorthand work is to try it yourself. Follow these steps: {| border="0" |- | <div>'''1. '''</div> | <div>Create an HTML page with various types of text for styling. Include <tt><h1></tt> and <tt><p></tt> elements, plus other types of text such as <tt><blockquote></tt>.<br /><br /></div> |- | <div>'''2. '''</div> | <div>For each type of text, write a series of separate CSS rules, using <tt>font-family</tt>, <tt>font-weight</tt>, <tt>font-style</tt>, <tt>font-size</tt>, and <tt>font-variant</tt>. For example:<br /><br /><div><pre>h1 { font-family: Verdana, sans-serif;<br />font-weight: normal;<br />font-size: 200%;<br />font-style: italic;<br />font-variant: small-caps; }<br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Give different rules for your headlines and your body text. Set aside quotes with <tt><blockquote></tt> rules. Choose fonts and font sizes that complement the different types of text. Do your headlines have to be bold?<br /><br /></div> |- | <div>'''4. '''</div> | <div>Now combine your style rules together into one <tt>font</tt> rule, being mindful of the default values set by a shorthand property. For example, you could write<br /><br /><div><pre>h1 { font: italic small-caps 200% Verdana, sans-serif; }<br /></pre></div><br /></div> |} |} ./ ADD NAME=CH09LEV1SEC2.HTML == Font Families == As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], the <tt>font-family</tt> property is used to select the family of font faces. A <tt>font-family</tt> rule can be written like this: <div><pre>selector { font-family: font1, font2, font3, ... generic; } </pre></div> You can give as many alternate fonts as you want; the browser looks through its own list (from the computer's operating system) and locates the closest match. After it finds one, it displays the text with that font face. For example, consider this rule: <div><pre>h1 { font-family: "MS Sans Serif", Palatino, Helvetica, "Bookman Old Style", "Times New Roman", Times, Garamond, Chicago, Arial, Geneva, Verdana, cursive; } </pre></div> The browser starts looking through the list of fonts, and if it finds a match, it uses that font. So on my Windows computer, it might find <tt>"MS Sans Serif"</tt> and display the <tt><h1></tt> in that font; on my Apple iBook, it won't find <tt>"MS Sans Serif"</tt> and will go on to the next one. If the iBook has <tt>Palatino</tt> (which it does), that's the font family that will be used. <div>Watch Out! Remember to include quotes around font names that are more than one word!</div> The Generic Font Families In the long rule you just saw, I included a generic font family name at the end<tt>cursive</tt>. In case the browser can't find any of the 11 named fonts, it will use the browser's <tt>cursive</tt> font. The exact value of the <tt>cursive</tt> font varies a lot from operating system to operating system; also, modern browsers (such as Firefox or Opera) enable the user to set specific fonts tied to the generic families. So on my Firefox browser, cursive might mean <tt>"Apple Chancery"</tt>, whereas on yours it may be the <tt>"Lucida Handwriting"</tt> font. The five generic font families in CSS are <tt>serif</tt>, <tt>sans-serif</tt>, <tt>cursive</tt>, <tt>fantasy</tt>, and <tt>monospace</tt>. To show you how different browsers (on two different operating systems) will display the generic font families, I've taken some screen shots. Your browser may display these differently as well; in most browsers you can reconfigure your generic font families depending on which fonts are installed on your system. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09ex01 Listing 9.1] is a simple HTML file with embedded style attribute rules that use the generic font families. Listing 9.1. Styling with Generic Font Families {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- generic-9.1.html --><br /><html><br /><head><br /><title>Generic Font Families</title><br /></head><br /><body><br /><h1 style="font-family: serif;">Serif Family</h1><br /><h1 style="font-family: sans-serif;">Sans-Serif Family</h1><br /><h1 style="font-family: monospace;">Monospace Family</h1><br /><h1 style="font-family: fantasy;">Fantasy Family</h1><br /><h1 style="font-family: cursive;">Cursive Family</h1><br /></body><br /></html><br /></pre></div><br /> |} In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig05 Figure 9.5], you can see the generic font families from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09ex01 Listing 9.1] as shown in Firefox, running on my iBook Macintosh laptop. <center> Figure 9.5. Generic font families in Firefox (Mac OS X). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig05_alt.jpg [View full size image]]</div>[[Image:09fig05.jpg|500px]] </center> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig06 Figure 9.6] shows you what the generic font families look like in Firefox running on my Windows desktop computer. Notice that the <tt>serif</tt>, <tt>sans-serif</tt>, and <tt>monospace</tt> families are consistent with the iBook's families, but the <tt>cursive</tt> and <tt>fantasy</tt> families are very different. In fact, the <tt>fantasy</tt> font family seems to be unsupported in this particular browser configuration, as it uses a plain looking sans-serif font. Especially for the <tt>fantasy</tt> and <tt>cursive</tt> families, the choice of font for generic families depends a lot on which browser and operating system are used, and which fonts are installedeven when the browser versions are identical. <center> Figure 9.6. Generic font families in Firefox (Windows XP). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig06_alt.jpg [View full size image]]</div>[[Image:09fig06.jpg|500px]] </center> What about Internet Explorer's generic fonts? [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig07 Figure 9.7] shows how Internet Explorer on Windows handles the fonts. In this example as well, there is no special font for the <tt>fantasy</tt> family; it may well be that whatever font Internet Explorer is looking for is not installed on the computer in question. You can't rely on having any given font on a user's machine, or even rely on the generic <tt>fantasy</tt> and <tt>cursive</tt> families being either fantastic or cursive. They may just be plain fonts, as these examples show. <center> Figure 9.7. Generic font families in Internet Explorer (Windows XP). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig07_alt.jpg [View full size image]]</div>[[Image:09fig07.jpg|500px]] </center> As described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3], "Browser Support for CSS," Internet Explorer for Macintosh is an entirely different piece of software than Internet Explorer on Windows. This is evident in the generic font families, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig08 Figure 9.8]. <center> Figure 9.8. Generic font families in Internet Explorer (Mac OS X). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig08_alt.jpg [View full size image]]</div>[[Image:09fig08.jpg|500px]] </center> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig09 Figure 9.9] shows the generic font families as displayed by Opera 8.5 on the Macintosh. There are several things to note here: The first is that Opera isn't displaying Arial for the <tt>sans-serif</tt> family, as you see with the other browsers. The second is that the MS Comic Sans font, used as a <tt>cursive</tt> font by Internet Explorer and Firefox on Windows, appears here as a <tt>fantasy</tt> font! <center> Figure 9.9. Generic font families in Opera 8.5 (Mac OS X). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig09_alt.jpg [View full size image]]</div>[[Image:09fig09.jpg|500px]] </center> Finally, [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig10 Figure 9.10] shows how Safari displays the font families. In short, it doesn't bother with the cursive and fantasy fonts; instead, they're shown as plain, ordinary sans-serif Arial. <center> Figure 9.10. Generic font families in Safari (Mac OS X). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig10_alt.jpg [View full size image]]</div>[[Image:09fig10.jpg|500px]] </center> Generic font families are good for fallback; without them, your font face will be the single default of the browser, usually something like <tt>"Times New Roman"</tt>. Though as you can see, they're not very consistent. They are still better than the basic default, however, and you will want to include a generic family in each <tt>font-family</tt> property value (or font shorthand property value). Serif In font terminology, serifs are defined as the little feet or curved bits added to the ends of the straight lines that constitute a letter. These help to make the characters easier to distinguish when reading, especially when reading print. A serif font makes it much easier to distinguish among the number 1, the lowercase letter l, and the uppercase letter I, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig11 Figure 9.11]. <center> Figure 9.11. Serif fonts make it easier to distinguish letters. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig11_alt.jpg [View full size image]]</div>[[Image:09fig11.jpg|350px]] </center> Serif fonts are often used for normal body text in web browsers. The default test font is commonly <tt>"Times New Roman"</tt>, which is usually the generic <tt>serif</tt> family font as well. However, serif fonts tend to display poorly on the screen compared with print, especially at smaller font sizes. Many web developers will immediately change the <tt>font-family</tt> to a sans-serif font as the first rule of their style sheets. Other examples of serif fonts include <tt>"Bookman Old Style"</tt>, <tt>"Book Antiqua"</tt>, <tt>"Century Schoolbook"</tt>, <tt>Garamond</tt>, <tt>"Goudy Old Style"</tt>, <tt>Palatino</tt>, and <tt>Sonoma</tt>. The font <tt>Times</tt> is similar to <tt>"Times New Roman"</tt>, and it's often useful to specify both of those fonts together, like this: <div><pre>blockquote { font-family: "Times New Roman", Times, serif; } </pre></div> Sans-serif The prefix sans means "without," so a sans-serif font is one that does not have serifs. Sans-serif fonts look cleaner and more streamlined than serif fonts, and they often fit better on most web pages. (Not all web designs are the same, though, and you can many times find uses of both serif and sans-serif fonts, often within the same style sheet.) A sans-serif font is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig12 Figure 9.12]. <center> Figure 9.12. Sans-serif fonts have a more modern look than serif fonts. [[Image:09fig12.jpg|300px]] </center> The most common sans-serif font is <tt>Arial</tt>; its near relatives are <tt>Helvetica</tt> and <tt>Geneva</tt>. Another important font is <tt>Verdana</tt>, which was specifically developed for on-screen display; it is wider than <tt>Arial</tt> and easier to read, especially at smaller sizes. Other examples of sans-serif fonts are <tt>"Century Gothic"</tt>, <tt>Chicago</tt>, <tt>Futura</tt>, and <tt>Tahoma</tt>. Monospace The term monospace means that each letter is displayed in the same amount of space; columns of text line up by character, for example, so that the 15th character from the left on each line is always at the same location. This is rather like an old typewriter. (Do people still use typewriters in the 21st century?) The code samples in this book are set in a monospace font, as is any word meant to be typed, such as property values and the names of properties and selectors. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig13 Figure 9.13] is an example of the monospace generic family. <center> Figure 9.13. The letters of monospace fonts line up in columns. [[Image:09fig13.jpg|300px]] </center> The most common <tt>monospace</tt> font family is <tt>"Courier New"</tt>, and this is the default <tt>monospace</tt> value on pretty much every browser. <tt>Courier</tt> is an older version of <tt>"Courier New"</tt>; you may want to list both of these to ensure a greater likelihood of a font match. Other monospace fonts include <tt>"Andale Mono"</tt>, <tt>VT102</tt>, and <tt>Mishiwaka</tt>. Fantasy The <tt>fantasy</tt> generic family is even more of a grab bag than the <tt>cursive</tt> family; any irregular, somewhat-whimsical font falls into this category. Some are old woodcut-style ornate letters; some are bizarre squiggles; some look like animals; and some look like letters cut from newspapers for a ransom note. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig14 Figure 9.14] has an example of a font from the <tt>fantasy</tt> generic family. <center> Figure 9.14. One of many possible fantasy fonts. [[Image:09fig14.jpg|300px]] </center> Because the <tt>fantasy</tt> generic family is so loosely defined and because browsers have interpreted this as a catchall for any strange fonts that may come along, a declaration of <tt>fantasy</tt> could produce text that looks like anything. For example, on my browser it may display in a comic book print font, but on yours it could appear in an old English woodcut font. Because this kind of irregularity makes it hard to design effectively, you'll probably want to avoid using this family. Cursive The <tt>cursive</tt> generic family is very variable; it refers to any font that was based on the way people handwrite text. As with <tt>fantasy</tt>, there are no real standards on what the default <tt>cursive</tt> family should be, which is why it is different from computer to computer and even from browser to browser. Examples include <tt>"Script MT Bold"</tt>, <tt>"Apple Chancery"</tt>, Swing, <tt>"MS Sans Serif"</tt>, and <tt>"Lucida Handwriting"</tt>. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09fig15 Figure 9.15], you can see one example of a cursive font. <center> Figure 9.15. One browser's cursive font (Firefox running on Mac OS X). <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/09fig15_alt.jpg [View full size image]]</div>[[Image:09fig15.jpg|500px]] </center> Cursive fonts tend to be very difficult to read onscreen and probably should be avoided unless you have a very specific reason to use one, such as the writer's name after a formal letter, styled to represent a written signature. Commonly Installed Fonts Because there's so much variance among computers, you may not be able to know with certainty whether or not a given font will appear on a user's computer. She might indeed be using Internet Explorer 6 on Windows, but she also could have decided to delete Arial entirely! (Why someone would do this, I'm not quite sure.) However, it's possible to devise a list of relatively safe fontsthose that are found on most operating systems and browsers. You should continue to use generic families as fallbacks, but these are relatively safe. The common fonts are <tt>"Times New Roman"</tt>, <tt>Times</tt>, <tt>Arial</tt>, <tt>Helvetica</tt>, <tt>Geneva</tt>, <tt>Verdana</tt>, <tt>"Courier New"</tt>, and <tt>Courier</tt>. Other fonts are less reliable, such as <tt>"MS Comic Sans"</tt>, <tt>Papyrus</tt>, and <tt>Optima</tt>. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Font Families in Action Let's look at what fonts you have installed on your computer which are used by your browser. Do the following: {| border="0" |- | <div>'''1. '''</div> | <div>Create an HTML file with various types of text to style. You can download [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09ex01 Listing 9.1] from the book's website, or make up your own page.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Try out the generic fonts. Set a rule like this to make all the text on your page the same font family:<br /><br /><div><pre>body { font-family: sans-serif; }<br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Then try setting different fonts for the headline elements and the body text; combine them together to get the best appearance.<br /><br /><div><pre>h1, h2, h3, h4, h5, h6 { font-family: fantasy; }<br />p { font-family: cursive; }<br /></pre></div><br /></div> |- | <div>'''4. '''</div> | <div>Now view the page in a different browser. How does your page change, or does it?<br /><br /></div> |- | <div>'''5. '''</div> | <div>Try using the common fonts such as Arial or Verdana. These are nearly ubiquitous on the Web, but what about Papyrus or Optima?<br /><br /><div><pre>h1 { font-family: Verdana, sans-serif; }<br />blockquote { font-family: Papyrus, fantasy; }<br /></pre></div><br /></div> |} |} ./ ADD NAME=CH09LEV1SEC3.HTML == Summary == When you specify a font, you're actually selecting a font from a set maintained by the user's browser and operating system. Browsers use the various font properties, such as <tt>font-weight</tt>, <tt>font-variant</tt>, <tt>font-style</tt>, and <tt>font-size</tt>, to narrow down the fonts within a specific <tt>font-family</tt> and select the right one to use. All these properties can be specified with the font shorthand property. Five generic font familiesserif, sans-serif, cursive, fantasy, and monospaceare used if the user's computer doesn't contain a font you specify. A short list of common fonts is available on all browsers. CSS describes a method for downloading fonts on demand, but unfortunately neither of the two competing methods for downloading fonts is very reliable. ./ ADD NAME=CH09LEV1SEC4.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa1q1a1 Q.]''' | I need to have specific fonts on my page, even if the user doesn't have them on his computer. What can I do? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa1q1 A.]''' | If you want specific fonts for headers or navigation buttons, you can create graphics containing your text, using a graphics editing program to choose the exact fonts required. The problem with text-as-graphics is that the images don't scale at all with the user's preferences, which may make it harder for some users with visual disabilities. In any case, you need to remember to set the alt attribute on the HTML <tt><img></tt> tag to a value equal to the text on the graphic. For more on this, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media," and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks." |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q1a1 1.]''' | Consider the following HTML: <div><pre><div style="font-weight: bold;"><br />That's <span style="font-weight: bolder;">heavy</a>,<br />man.<br /></div><br /></pre></div><br /> What numeric value (<tt>100</tt> to <tt>900</tt>) is the equivalent of the font weight on the word <tt>heavy</tt>? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q2a2 2.]''' | How do you write the following properties with the <tt>font</tt> shorthand property? <div><pre>.double { font-weight: 700;<br />color: navy;<br />font-family: Verdana, sans-serif;<br />font-size: x-large;<br />font-style: oblique;<br />font-variant: small-caps; }<br /></pre></div><br /> |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q3a3 3.]''' | What are the generic font families that are closest to each of these fonts? <div># <div>Verdana</div> # <div>Times New Roman</div> # <div>Lucida Handwriting</div> # <div>Helvetica</div> # <div>Courier New</div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q1 1.]''' | The value <tt>bold</tt> is inherited from the containing box, and it has a value of <tt>700</tt>. The <tt>bolder</tt> property value increases the inherited value by <tt>100</tt>, so the total is <tt>800</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q2 2.]''' | Here's one way to write that rule with the <tt>font</tt> property: <div><pre>.double { font: oblique small-caps 700<br />x-large Verdana sans-serif;<br />color: navy; }<br /></pre></div><br /> Because <tt>color</tt> isn't included in the <tt>font</tt> shorthand property, it has to be declared separately. Note that the order of <tt>weight</tt>, <tt>size</tt>, and <tt>family</tt> is used; hopefully, you remembered that the order does matter for those values. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch09qa2q3 3.]''' | The generic families for each font are <div># <div>sans-serif</div> # <div>serif</div> # <div>cursive</div> # <div>sans-serif</div> # <div>monospace</div></div> |} Exercise Explore the use of fonts in CSS with this optional project. Create a web page with a style sheet that uses a number of different fonts for headers, paragraphs, navigation, footers, tables, and anything else. Go overboard with your font choicesmake up dozens of styles, a different font for each type of contentand then start decreasing the variety of fonts you use. Discover at what point "a lot" is "too many," and discover how many fonts you really need to make a web page look right. (My preference? No more than two or three.) ./ ADD NAME=CH10.HTML dgqhcc8ijhn0fs2jtvci1wedd6f569g User:Bartlett/10 2 2113 5499 5473 2007-06-17T15:53:52Z Bartlett 26 5499 wikitext text/x-wiki = Hour 10. Text Colors and Effects = {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * Additional ways to specify the color of text * How to use color effectively in web design * How to add or remove underlines from your text * How to add lines through or over your text * Which CSS property enables you to change the case of your letters * How to control the spaces between letters and words * How to control line breaks and duplicate the HTML <tt><pre></tt> and <tt><nobr></tt> tags * How to adjust the spacing between lines Use of Cascading Style Sheets can transform a plain, boring page of text into a visual treat, without even any graphics. The CSS specifications define ways to enhance your textual content visually, from changing the colors to adding strikethrough lines. In addition, you can change the spaces between letters, words, and lines, as well as the points at which browsers wrap lines, by using simple CSS properties. |} ./ ADD NAME=CH10LEV1SEC1.HTML == Text Colors == Colors are a key part of conveying information in a visual medium. Giving distinct colors to certain types of information on a page can emphasize or de-emphasize the importance; for example, new content can be marked with a bright, vivid color, and outdated content may be presented in a more muted hue. As you already know, using the <tt>color</tt> property is the primary method for setting the foreground color. You can set the background color with the <tt>background-color</tt> property, which is covered in detail next hour. The foreground <tt>color</tt> is also used by other properties as a default color value if none is specified. For example, if a color value is omitted for the <tt>border</tt> property, the foreground <tt>color</tt> will be used. Specifying Color Values CSS provides two ways to define a color. The first is to use a color name, such as <tt>green</tt> or <tt>black</tt>; the second is to use a set of three RGB values, corresponding to the amount of red, green, and blue desired. RGB colors were introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "Getting Started with CSS," and in this hour we'll tell you other ways to specify a set of RGB values. Color Names Back in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], you learned about the 17 colors recognized by the CSS specifications. These color names<tt>aqua</tt>, <tt>black</tt>, <tt>blue</tt>, <tt>fuchsia</tt>, <tt>gray</tt>, <tt>green</tt>, <tt>lime</tt>, <tt>maroon</tt>, <tt>navy</tt>, <tt>olive</tt>, <tt>orange</tt>, <tt>purple</tt>, <tt>red</tt>, <tt>silver</tt>, <tt>teal</tt>, <tt>white</tt>, and <tt>yellow</tt>are well-supported by the browsers. Most browsers accept other color names as well, such as <tt>pink</tt>, <tt>cyan</tt>, and <tt>violet</tt>. However, until a future version of CSS adds those colors to the official specification, it's probably best to avoid using such nonstandard colors. There's no guarantee that a browser will support them, so you're safer with RGB values. Some other colors are accepted by browsers as well; those are based on the user's operating system preferences and are called system colors. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch23.html#ch23 Hour 23], "User Interface and Generated Content," you'll learn more about system colors and how to use them in your web design. RGB Color Values To specify a color in RGB notation, you need to know how much red, green, and blue is contained in that color. Web colors are a bit strange at first if you're not used to them; they're not at all like mixing paints as a child. For example, when you're blending paint colors, you mix red and yellow to make orange. When you're making RGB colors, you mix red and green to make yellow! If you did that with paint, you'd get some ugly, muddy gray-brown shade. Paints (and ink, as well as most other physical objects you look at) have color because they selectively reflect light; something that actually emits light, as your monitor does, creates colors by adding together portions of colored light. It's a bit confusing, but you'll get used to it after you've worked with RGB values. Even more confusing is the way RGB colors are written. All RGB colors are measured based on a scale from 0 to 255. They're usually counted in hexadecimal, which means a base-16 number system where the digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F. The number 32 is written as <tt>20</tt> (two sixteens and zero ones), and the number 111 is <tt>6F</tt> (six sixteens and 15 ones). CSS offers four ways to present RGB values. The first uses straightforward hexadecimal notation, as a six-digit number: <div><pre>body { color: #CC66FF; } </pre></div> This means the foreground color should have a red value of <tt>CC</tt> (204 out of 255, or 80%); <tt>66</tt> green, which is 102 (40%); and <tt>FF</tt> blue, or 255 (100%). What does this color look like? Kind of a light lavender. The closer you are to white (<tt>#FFFFFF</tt>) the more pastel the colors, and when you mix large amounts of blue and red, you get a purple effect. You can also write this in short hex notation. This is a three-digit hexadecimal number; to convert a three-digit RGB code to a six-digit one, simply double each letter. So the same rule can be written like this: <div><pre>body { color: #C6F; } </pre></div> The <tt>rgb()</tt> function provides two more ways to set colors, especially if you don't know hexadecimal numbers well. One of those is to provide a triplet of RGB numbers, rated from 0 to 255, separated by commas. The other is to give percentages. Here's how the lavender rule can be written: <div><pre>body { color: rgb(204, 102, 255); } body { color: rgb(80%, 40%, 100%); } </pre></div> You can use these color values when setting any color in CSS, not just the <tt>color</tt> property. For example, you can set a <tt>background-color</tt> or a <tt>border</tt> with any of these types of values. <div>Did you Know? To design effectively with color, you need a color chart, or else you have to be very willing to experiment with RGB values! I recommend getting a color chart; either a printed one you can keep by your computer or an electronic file you can refer to, or both. A great site for web color information is VisiBone, [http://www.visibone.com/ http://www.visibone.com/], which has a hex color chart arranged by hue.</div> Using Color Effectively When you're designing a web page and adding color by using CSS, it is always helpful to put some thought into the process. The theory and practice of employing color is a topic that could fill an entire book or several books, as not everyone seems to agree! However, here are some pointers that can help you use color more effectively in your designs; most of these are common sense, but it's amazing how many web designs don't seem to have taken these into account. * Use colors to visually emphasize important differences among types of content. The presentation of your content should be derived from the meaning of that information. Color your navigation bar differently from your main content. Set sidebars apart visually with background colors that fit well with the rest of the page. Change the color of headings to make them more visible. * Change colors for a reason, not on a whim. I've seen many websites where the developers appear to have discovered color just the day before and changed the color for no reason. Be able to justify your color choices. * Bright colors draw attention; faded colors hide unimportant material. As an example, if some content is more important or changes often, give it a vibrant, bright color, such as yellow (on a dark background) or red, to make it stand out. * Too many colors will make your page seem confusing and unprofessional; a restricted set of hues often works better. If you don't have any experience with graphic design, pick up a good book on color and design, and notice that many great designs have a limited palette. * You don't have to change the color of everything. Black on white is not the enemy. Web users are accustomed to the default colors, and often it's easier to read text if there's high contrast, such as black on white (or white on black). * If you're designing for a whole site, use a consistent look across your pages. Consistency helps users recognize that they're still at your site and helps establish a feeling of familiarity. If you change your site too often, regular users may be disoriented. * If there are identifiable subsites, consider assigning each one a color scheme. Don't create a brand new design for each; it can be disorienting if each section looks like a brand new website. Instead, add color that complements the primary site design. * Make sure your color choices look good together and contrast well. Subtle shades of difference, such as medium blue on dark blue, may not come across well and content could be lost. * Use colors that complement any images or graphics on your page. You can derive color schemes from your graphical content, or choose graphics that fit your chosen colors. The more coordinated your colors, the better your site will look. * Test your colors in several browsers and computers; your monitor's settings may be different than someone else's. Try testing with 256 colors instead of thousands, millions, or billions; if you can, try your site in black and white. * Don't employ color as the only way of conveying information; visually impaired users might miss important context. It's fine to use color, but make sure that important distinctions among content are reflected in the markup as well. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media," you'll learn more about designing to enable access for people with disabilities. ./ ADD NAME=CH10LEV1SEC2.HTML == Special Text Effects == In addition to changing the colors of the text and the font properties from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch09.html#ch09 Hour 9], "Fonts and Font Families," Cascading Style Sheets can be used to produce text effects ranging from decorations to drop shadows. These can be used only on CSS elements that actually contain text; on anything else, they have no effect. For example, a <tt>text-shadow</tt> property set on an <tt><img></tt> tag doesn't produce a shadow under the displayed image. The <tt>text-decoration</tt> Property CSS uses the term text decoration to refer to a specific set of effects that can be applied to text: lines through, under, or around the text, and blinking text. The types of values that can be set for the <tt>text-decoration</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table01 Table 10.1]. The default value for <tt>text-decoration</tt> is usually none, although most browsers automatically use <tt>text-decoration: underline</tt> for hypertext links. {| cellspacing="0" cellpadding="5"|+ Table 10.1. Values for the <tt>text-decoration</tt> Property |- | Value | Effect |- | <tt>blink</tt> | The text blinks off and on. |- | <tt>line-through</tt> | Draws a line through the middle of the text. |- | <tt>overline</tt> | Draws a line over the top of the text. |- | <tt>underline</tt> | Draws a line under the bottom of the text. |- | <tt>none</tt> | None of the effects listed here. |- | <tt>inherit</tt> | Uses the value of <tt>text-decoration</tt> on the containing box. |} <div>Watch Out! The <tt>blink</tt> property value is not very popular, primarily because of serious abuse of the <tt><blink></tt> tag by designers when it was first introduced by Netscape. The <tt><blink></tt> tag is nonstandard in HTML and highly discouraged. Therefore, <tt>text-decoration: blink</tt> is specifically stated to be an optional part of the CSS specification; browsers don't have to support it, and in fact, most of them do not.</div> The value of <tt>text-decoration</tt> technically is not inherited, although if it is set on a block element, the decoration should be applied to all text within that block. The color of the <tt>text-decoration</tt>the line through, over, or under the textis the same as that of the text itself, and so can be set with the <tt>color</tt> property. The lines drawn are thin, and the exact thickness is up to the browser; you can't change the line thickness with CSS. The most common value for <tt>text-decoration</tt> in style sheets is <tt>none;</tt> the property is mainly used to turn off underlines rather than add them or any other text decorations. Why is this so? Because you can use <tt>text-decoration</tt> to turn off the underlines on links by writing <tt>a:link</tt> and <tt>a:visited</tt> rules. Many designers find underlined links to be annoyingly ugly and much less elegant than links without underlines. However, there are some problems with that approach: Namely, it makes it harder for the user to know what's a link and what's not. If you're going to remove one of the user's primary cues to find clickable links, you need to make sure that the links are obvious. Color typically isn't enough by itself, even though web developers like to think it should be. If you're using inline linksthose within paragraphs of textthen you should probably leave the underlines alone. An alternative approach is to set obvious borders or background colors on your inline links. Navigation bars are a different case; even without underlines, users can tell they're supposed to click on things that look like buttons or a list of options. Removing underlines from navigation bars is acceptable and won't cause problems. The other side of the link-underlining coin is this: Users think that anything that is underlined is clickable. If you put <tt>text-decoration: underline</tt> on your <tt><h2></tt> tag, people will try to click it. And they'll get annoyed when it doesn't click. Therefore, you should avoid using underlines nearly all the time. If you need to call attention to something, use the <tt><em></tt> or <tt><strong></tt> tags, font effects such as <tt>font-weight</tt> or <tt>font-style</tt>, or colors. For more about styling links, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch12.html#ch12 Hour 12], "Styling Links." [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex01 Listing 10.1] is an HTML file with an embedded style sheet that demonstrates <tt>text-decoration</tt> in action; you can see the results displayed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig01 Figure 10.1]. Listing 10.1. Text Decorations in an Embedded Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- decorate-10.1.html --><br /><html><br /><head><br /><title>I love to decorate</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />h1 em { text-decoration: underline; }<br />.nav { border: 0.3em solid black; }<br />.nav a:link, .nav a:visited<br />{ text-decoration: none; }<br />.oops { text-decoration: line-through; }<br />.eg { border: 1px solid black;<br />margin: 2em; padding: 1em; }<br />#a { text-decoration: underline; }<br />#b { text-decoration: line-through; }<br />#c { text-decoration: overline; }<br />#d { text-decoration: blink; }<br /></style><br /></head><br /><body><br /><table class="nav" border="0" align="right"><br /><tr><th><a href="home.html">Home</a></th></tr><br /><tr><th><a href="info.html">Info</a></th></tr><br /><tr><th><a href="help.html">Help</a></th></tr><br /><tr><th><a href="news.html">News</a></th></tr><br /></table><br /><h1>I <em>love</em> to decorate!</h1><br /><p> I think that decorating<br /><span class="oops">cakes</span>HTML is lots<br />of fun. Here are some of my favorites: </p><br /><div class="eg"><br /><p id="a">Underlined text (don't you want to<br />click here?) </p><br /><p id="b">Line-through text</p><br /><p id="c">Overlined text</p><br /><p id="d"> Blinking text (this is hard to show<br />in print!) </p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} <center> Figure 10.1. A variety of text decoration effects. [[Image:10fig01.jpg|500px]] </center> The <tt>text-transform</tt> Property You can change the case of text from upper- to lowercase, or vice versa, by using the <tt>text-transform</tt> property. Well, you're actually not changing the text itself, but rather how a CSS-enabled browser displays it. The values you can set for this property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table02 Table 10.2]; the default is none, although if a <tt>text-TRansform</tt> property is set on the containing box, that value will be inherited. {| cellspacing="0" cellpadding="5"|+ Table 10.2. Values for the <tt>text-transform</tt> Property |- | Value | Effect |- | <tt>capitalize</tt> | Capitalizes the first letter of each word. |- | <tt>lowercase</tt> | Changes all uppercase letters to lowercase. |- | <tt>uppercase</tt> | Changes all lowercase letters to uppercase. |- | <tt>none</tt> | Doesn't change anything. |- | <tt>inherit</tt> | Uses the value on the containing box. |} This property is dependent upon the language and character set being used; if a language doesn't have upper- or lowercase letters, nothing is changed. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex02 Listing 10.2] is an HTML file with an embedded style sheet that contains text-transform examples. Listing 10.2. Text Transforms in an Embedded Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- transform-10.2.html --><br /><html><br /><head><br /><title>Text Transformations</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />div.eg { margin: 1em; padding: 1em;<br />font-family: Arial, sans-serif;<br />border: 1px solid black; }<br />/*<br />#nav { text-transform: lowercase; }<br />#header h3 { text-transform: capitalize; }<br />#header h4 { text-transform: uppercase; }<br />#lion p:first-child:first-line<br />{ text-transform: uppercase; }<br />*/<br /></style><br /></head><br /><body><br /><h3>Navigation Bar:</h3><br /><div class="eg" id="nav"><br /><a href="index.html">Teach Yourself CSS</a> &middot;<br /><a href="about.html">About</a> &middot;<br /><a href="author.html">Author</a> &middot;<br /><a href="downloads.html">Downloads</a> &middot;<br /><a href="contact.html">Contact</a><br /></div><br /><h3>Subheading:</h3><br /><div class="eg" id="header"><br /><h3>george l. mountainlion</h3><br /><h4>Born February 1952<br>Died March 8, 1955</h4><br /></div><br /><h3>First Line:</h3><br /><div class="eg" id="lion"><br /><p>I freely give all signs and sounds of nature I<br />have known to those who have the grace to enjoy<br />not man-made materialism but God-made beauty.</p><br /><p>The magnificent Arizona sunsets I have watched<br />from my enclosure, I bequeath to all who see<br />not only with their eyes but with their hearts.</p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} As listed, the style sheet doesn't actually display any transformations because the style rules that use <tt>text-TRansform</tt> are commented out. This enables you to see the "before" view as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig02 Figure 10.2]. <center> Figure 10.2. Example page before <tt>text-TRansform</tt> rules are applied. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/10fig02_alt.jpg [View full size image]]</div>[[Image:10fig02.jpg|500px]] </center> By removing the lines containing the <tt>/*</tt> and <tt>*/</tt> markers (but not the rules between them), you can turn the transformations on, and the results are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig03 Figure 10.3]. The style examples used here are commonly found on the Webmany web designers enjoy putting navigation elements in all lowercase or uppercase text, and news sites frequently use all capital letters for sub-headlines and the first line of a story. <center> Figure 10.3. Example page after <tt>text-transform</tt> rules are applied. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/10fig03_alt.jpg [View full size image]]</div>[[Image:10fig03.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Transform Text to Uppercase and Lowercase It's one thing to look at a pair of screenshots, but another to actually see the effects of style rules yourself. Try out <tt>text-transform</tt> by doing the following steps: {| border="0" |- | <div>'''1. '''</div> | <div>Download a copy of the HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex02 Listing 10.2] from the book's website.<br /><br /></div> |- | <div>'''2. '''</div> | <div>View the untransformed text in your web browser.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Edit the file to remove the comments and reload, noting the changes.<br /><br /></div> |- | > | > |- | <div>'''4. '''</div> | <div>Start changing the style rules. Make the headers all follow <tt>text-transform: capitalize</tt>. Change the navigation to uppercase.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Capitalize everything except the first letter of every <tt>#lion</tt> paragraph with rules that use <tt>:first-letter</tt> (from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5], "Selectors") like this:<br /><br /><div><pre>#lion { text-transform: uppercase; }<br />#lion p:first-letter { text-transform: lowercase; }<br /></pre></div><br /></div> |- | <div>'''6. '''</div> | <div>Get creative! View your page in your web browser to see how text-transform works. How can you incorporate text-transform into your own site designs?<br /><br /></div> |} |} ./ ADD NAME=CH10LEV1SEC3.HTML == Controlling Text Spacing == The display characteristics of the text can be controlled by a number of properties that affect the spaces between characters and words. These properties are less useful than many others, such as the font properties, but if you ever need to fine-tune your text display, these are the properties you will use. The <tt>letter-spacing</tt> Property All browsers use default spacing between letters; if there wasn't such a space, the letters would touch up against each other and would be nearly impossible to read. The <tt>letter-spacing</tt> property lets you adjust this space by increasing or decreasing the value of the default spacing. Values for <tt>letter-spacing</tt> are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table03 Table 10.3]; the default value is <tt>normal</tt>. If the letter-spacing property is set on the containing box, the value is inherited. {| cellspacing="0" cellpadding="5"|+ Table 10.3. Values for the <tt>letter-spacing</tt> Property |- | Value | Effect |- | <tt>normal</tt> | Don't insert extra spacing between letters. |- | <tt>measurement</tt> | Insert extra letter spacing. |- | <tt>negative measurement</tt> | Reduce spacing between letters. |- | <tt>inherit</tt> | Use the value of <tt>letter-spacing</tt> from the containing box. |} <div>Did you Know? In typography, the space between letters is known as the kerning. Professionally typeset text often contains very subtle but important kerning effects. For example, the letters in most logos are not evenly spaced; varying the kerning can make text look a lot better. Usually this doesn't matter too much on the Web, but sometimes it is vitally important, especially to professional typesetters.</div> The <tt>text-align</tt> property can also affect the <tt>letter-spacing</tt>; if <tt>text-align</tt> is set to <tt>justify</tt>, the browser automatically adjusts the space between letters so that the text can be justified. If the <tt>letter-spacing</tt> property is set to a measurement, such as <tt>0.1em</tt> or <tt>2px</tt>, the browser isn't allowed to change that space, even if it is justifying text. The <tt>word-spacing</tt> Property The <tt>word-spacing</tt> property is similar to the <tt>letter-spacing</tt> property, except, of course, that it controls the space between words. Browsers convert any whitespace (spaces, tabs, line breaks) to a single space and then display that space as a gap between words. The size of the space depends on the browser and the font; the <tt>word-spacing</tt> property adjusts from that initial size. Values for <tt>word-spacing</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table04 Table 10.4]. If there is a value on a containing box, that will be inherited; otherwise, the default value is <tt>normal</tt>. Like <tt>letter-spacing</tt>, if a <tt>word-spacing</tt> value is set, the browser is not allowed to change the spacing even when the <tt>text-align</tt> value is <tt>justify</tt>. {| cellspacing="0" cellpadding="5"|+ Table 10.4. Values for the <tt>word-spacing</tt> Property |- | Value | Effect |- | <tt>normal</tt> | Don't insert extra spacing between words. |- | <tt>measurement</tt> | Insert extra word spacing. |- | <tt>negative measurement</tt> | Reduce spacing between words. |- | <tt>inherit</tt> | Use the value of <tt>word-spacing</tt> from the containing box. |} Keep in mind that both <tt>letter-spacing</tt> and <tt>word-spacing</tt> add or subtract from the default browser spacing; they don't set it to that value. So if a browser normally has a space of 0.5 em between words, a <tt>word-spacing</tt> value of <tt>0.3em</tt> will make the total gap 0.8 em, not 0.3 em. Examples of letter-spacing and word-spacing rules are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex03 Listing 10.3]. Listing 10.3. Styles Affecting Letter and Word Spacing {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- spacing-10.3.html --><br /><html><br /><head><br /><title>Tips on Color Use</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />li { margin: 0.5em; }<br />h1 { letter-spacing: 0.25em;<br />word-spacing: 0.5em;<br />}<br />li#a { word-spacing: 1.5em; }<br />li#b { letter-spacing: 8px; }<br />li#c { letter-spacing: -0.1em; }<br />li#d { word-spacing: -0.3em; }<br /></style><br /></head><br /><body><br /><h1>Tips on Color Use</h1><br /><ul><br /><li id="a"><br />Use colors to visually emphasize important differences<br />among types of content. The presentation of your<br />content should be derived from the meaning of that<br />information. Color your navigation bar differently<br />from your main content. </li><br /><li id="b"><br />Change colors for a reason, not on a whim. I've seen<br />many websites where the developers appear to have<br />discovered color just the day before and changed the<br />color for no reason. Be able to justify your color<br />choices.</li><br /><li id="c"><br />Bright colors draw attention; faded colors hide<br />unimportant material. As an example, if some content<br />is more important or changes often, give it a<br />vibrant, bright color, such as yellow or red, to make<br />it stand out.</li><br /><li id="d"><br />Too many colors will make your page seem confusing<br />and unprofessional; a restricted set of hues often<br />works better. If you don't have any experience with<br />graphic design, pick up a good book on color and<br />design, and notice that many great designs have a<br />limited palette.</li><br /></ul><br /></body><br /></html><br /></pre></div><br /> |} Each list item in this example has a different style for the word or letter spacing but the same font size, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig04 Figure 10.4]. <center> Figure 10.4. Letter and word spacing can make a difference. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/10fig04_alt.jpg [View full size image]]</div>[[Image:10fig04.jpg|500px]] </center> The <tt>white-space</tt> Property When displaying a web page, browsers condense all whitespace in the source and consider it as if there's only one space. This is whitespace condensation. If the content exceeds the width of the box allocated to that content, the browser simply moves down to the next line and continues with the rest of the text. This is called word wrapping because the new lines occur immediately before a new word. The <tt>white-space</tt> property enables you to control both the condensation of whitespace and the word wrapping by setting the values shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table05 Table 10.5]. The value of this property is inherited if it is set on a containing box; otherwise the default is <tt>normal</tt>. {| cellspacing="0" cellpadding="5"|+ Table 10.5. Values for the <tt>white-space</tt> Property |- | Value | Effect |- | <tt>normal</tt> | Do normal word wrapping and whitespace condensing. |- | <tt>nowrap</tt> | Condense whitespace, but don't wrap lines. |- | <tt>pre</tt> | Don't condense whitespace, and wrap lines as in the source markup. |- | <tt>pre-line</tt> | Don't condense whitespace, and wrap lines where there are line breaks in the source or at the end of the line. |- | <tt>pre-wrap</tt> | Condense whitespace, and wrap lines where there are line breaks in the source or at the end of a line. |- | <tt>inherit</tt> | Use the value of <tt>white-space</tt> from the containing box. |} A value of <tt>nowrap</tt> means that the text won't have automatic lines inserted, and that can lead very long lines that force the browser to display horizontal scroll bars. The <tt>nowrap</tt> value is similar to the old <tt><nobr></tt> element, which was a nonstandard HTML tag introduced by Netscape to prevent lines from breaking in the wrong place. The <tt><nobr></tt> tag was never adopted as an official part of the HTML standard; if you need that same effect, use a <tt>white-space:</tt> nowrap rule instead. The value <tt>pre</tt> produces an effect quite similar to the <tt><pre></tt> tag in HTML, except that <tt><pre></tt> also sets the font to a monospace font. The <tt>white-space: pre</tt> declaration doesn't change the <tt>font-family</tt> unless you explicitly write a rule to that effect. <div>Watch Out! The <tt>pre-line</tt> and <tt>pre-wrap</tt> values were introduced in the CSS 2.1 specification and aren't supported uniformly by the browsers, with the exception of Operawhich recognizes <tt>pre-wrap</tt> (but not <tt>pre-line</tt>).</div> The HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex04 Listing 10.4] includes an embedded style sheet with <tt>white-space</tt> declarations. Listing 10.4. A Demonstration of <tt>white-space</tt> Values {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- white-space-10.4.html --><br /><html><br /><head><br /><title>White-Space in Action</title><br /><style type="text/css"><br />h1 { font-family: Verdana, sans-serif; }<br />h2 { font-family: "Courier New", monospace; }<br />p#a { white-space: nowrap; }<br />p#b { white-space: pre;<br />font-family: Verdana, sans-serif; }<br /></style><br /></head><br /><body><br /><h1>White-Space in Action</h1><br /><h2>nowrap</h2><br /><p id="a">A value of <tt>nowrap</tt> means that the<br />text won't have automatic lines inserted, and that<br />can lead very long lines that force the browser<br />to display horizontal scroll bars. </p><br /><h2>pre</h2><br /><p>You can use <tt>white-space: pre</tt> to display<br />code samples. Unlike <tt>&lt;pre></tt>, the font<br />isn't automatically monospaced.<p><br /><p id="b">&lt;html&gt;<br />&lt;head&gt;<br />&lt;title>Simple HTML Page&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;h1>Simple HTML Page&lt;/h1&gt;<br />&lt;p&gt;This is a basic HTML web page.&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p><br /></body><br /></html><br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig05 Figure 10.5] shows how this page is displayed by a web browser. Notice that the nowrap value has caused the first paragraph to scroll off the screen to the right, creating a horizontal scrollbar. <center> Figure 10.5. The effects of the <tt>white-space</tt> property. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/10fig05_alt.jpg [View full size image]]</div>[[Image:10fig05.jpg|500px]] </center> The <tt>line-height</tt> Property The line height of a line of text is determined initially by the <tt>font-size</tt> property's value. Usually the line height is either the same as the <tt>font-size</tt> or a little larger, depending on the browser's internal rules for the line height. The <tt>line-height</tt> property enables you to adjust the height of the line by using a value listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10table06 Table 10.6]. The value normal means that the the browser's usual methods should be used to calculate the line height; this is the default value. Usually browsers calculate <tt>line-height</tt> as equal to the font size times 1 or 1.2. A font that is <tt>12pt</tt> tall will have a line height of <tt>12pt</tt> to <tt>14pt</tt> in most browsers. {| cellspacing="0" cellpadding="5"|+ Table 10.6. Values for the <tt>line-height</tt> Property |- | Value | Effect |- | <tt>normal</tt> | Use the default line height. |- | <tt>measurement</tt> | Set the line height to a particular value. |- | <tt>multiplier</tt> | Set the line height based on the <tt>font-size</tt>. |- | <tt>percentage</tt> | Set the line height based on the <tt>font-size</tt>. |- | <tt>inherit</tt> | Use the value of <tt>line-height</tt> from the containing box. |} A multiplier is a normal number without any units, such as <tt>1.5</tt> or <tt>3</tt>, which is multiplied by the <tt>font-size</tt> value. A multiplier of <tt>1.5</tt> means the same thing as a percentage of <tt>150%</tt>, and is also the same as <tt>1.5em</tt>. The value of <tt>line-height</tt> is inherited from a containing box if the property is set; in most cases, the calculated value is inherited. For example, if the <tt>font-size</tt> is <tt>18pt</tt> and the value of <tt>line-height</tt> is <tt>200%</tt>, the calculated value <tt>36pt</tt> will be inherited by children boxes. However, if a multiplier value such as <tt>2</tt> is set, that multiplier is passed on directly, and not the calculated value. <div>Did you Know? Because the specification allows a browser some latitude in determining the default line height, you may not get identical line spacing across all browsers. You can force a specific line height by setting the <tt>line-height</tt> property, thus taking the decision out of the hands of the browser's default style sheet.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex05 Listing 10.5] is a set of style rules that can be applied to the HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10ex03 Listing 10.3] to change the line height of the list items; in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10fig06 Figure 10.6], this is displayed by a browser. Setting the <tt>line-height</tt> to a value based on the font-size, such as <tt>2</tt> or <tt>200%</tt>, has the effect of spacing out the lines equally, assuming the <tt>font-size</tt> doesn't change; <tt>200%</tt> is double-spacing. To double-space text that contains several different font sizes, you need to use an absolute measurement, such as <tt>32px</tt>. Listing 10.5. Making Space with <tt>line-height</tt> {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>body { font-family: Verdana, sans-serif; }<br />li { margin: 0.5em; }<br />h1 { letter-spacing: 0.25em;<br />word-spacing: 0.5em;<br />}<br />li#a { line-height: 1.2; }<br />li#b { line-height: 0.8em; }<br />li#c { line-height: 2; }<br />li#d { line-height: 200%; }<br /></pre></div><br /> |} <center> Figure 10.6. Spacing out lines. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/10fig06_alt.jpg [View full size image]]</div>[[Image:10fig06.jpg|500px]] </center> You can also set the <tt>line-height</tt> value as part of the <tt>font</tt> property, which you learned about in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch09.html#ch09 Hour 9]. When setting the font with the <tt>font</tt> shorthand property, include a slash after the <tt>font-size</tt> and indicate the desired <tt>line-height</tt> value. For example, to set a paragraph font that's 12-point Verdana with a line height of 200%, you'd write the following rule: <div><pre>p { font: 12pt/200% Verdana, sans-serif; } </pre></div> ./ ADD NAME=CH10LEV1SEC4.HTML == Summary == The foreground color of text can be set with the <tt>color</tt> property, as you've seen in previous hours. You can set the color value in several ways, including color names, long or short hexadecimal values, and the <tt>rgb()</tt> function. Color is a powerful tool for visual communication, but you also need to take care to use it effectively. Consistency and simplicity will help your websites convey information better and produce a more professional look. Other effects you can apply to your text include decorations such as underlines and strikethroughs using the <tt>text-decoration</tt> property and changes of case with <tt>text-TRansform</tt>. Using the <tt>letter-spacing</tt> and <tt>word-spacing</tt> properties, you can fine-tune the display of your text, increasing or decreasing the gaps between letters and words. The <tt>white-space</tt> property controls both the condensation of whitespace and word wrapping. The <tt>line-height</tt> property can be used to double-space text or otherwise control the distance between each line. ./ ADD NAME=CH10LEV1SEC5.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q1a1 Q.]''' | I've heard someone mention "browser-safe colors" before. What is that? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q1 A.]''' | When web browsers were first created, they couldn't handle the full range of colors available. Instead, they displayed only a limited subset of specific colors216 colors to be precise. Any other colors were displayed poorly, making some backgrounds and images look quite bad. These days, browsers can support a full range of color choices, so the browser-safe color list isn't as important, although you may want to look into it if you are supporting older hardware or software. For more information, see the VisiBone site at [http://www.visibone.com/ http://www.visibone.com/]. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q2a2 Q.]''' | I really want to use <tt>text-decoration: blink</tt>. Can I? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q2 A.]''' | No. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q3a3 Q.]''' | Are you serious? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q3 A.]''' | Well, if you have to, you can use it. Keep in mind that blinking text is very hard to read and very distracting. Use it only if that's the only way you can get an effect; remember, though, that most browsers don't support it. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q4a4 Q.]''' | How can I set an exact value for <tt>letter-spacing</tt> or <tt>word-spacing</tt>? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa1q4 A.]''' | You can't; you can adjust it only from what the browser uses as a default. Fortunately, most browsers use sensible defaults, but there's no way to set an absolute value for letter or word spacing. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q1a1 1.]''' | Consider the color <tt>#FFFF00</tt>. How do you write this color in the following ways? <div># <div>Short hexadecimal</div> # <div>RGB percentages</div> # <div>RGB values</div> # <div>Color names</div></div> |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q2a2 2.]''' | You want to transform this text so that the first line is in uppercase, the second line is mixed case but with each letter capitalized, and the third is in lowercase. What CSS rules do you write? <div><pre><div id="a">CSS is fun.</div><br /><div id="b">I use CSS each day.</div><br /><div id="c">Do you like it too?</div><br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q3a3 3.]''' | The default word spacing in a hypothetical browser is 0.5 ems, and you'd like to put a full em between each word. Which of these declarations accomplishes that? <div># <div><tt>word-spacing: 0.5em;</tt></div> # <div><tt>word-spacing: 1em;</tt></div> # <div><tt>word-spacing: 200%;</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q4a4 4.]''' | You want to space out each line of <tt><p></tt> text evenly so they are double-spaced, 16-point Arial font. How do you write this with a <tt>line-height</tt> rule, and how do you write it without using <tt>line-height</tt>? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q1 1.]''' | Here are the alternate ways to write <tt>#FFFF00</tt>: <div># <div><tt>#FF0</tt></div> # <div><tt>rgb(100%, 100%, 0%)</tt></div> # <div><tt>rgb(255, 255, 0)</tt></div> # <div><tt>yellow</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q2 2.]''' | Here's how you transform that text: <div><pre>#a { text-transform: uppercase; }<br />#b { text-transform: capitalize; }<br />#c { text-transform: lowercase; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q3 3.]''' | Declaration (a) produces a total word spacing of 1 em if the browser's default is 0.5 em, but remember that you can't set the exact value. If the browser's default is 0.75 em, (a) results in a gap of 1.25 em, and (b) produces a 1.75 em gap. Percentages, such as (c), aren't valid values for <tt>word-spacing</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch10qa2q4 4.]''' | Here's one way to write the <tt>line-height</tt> rule: <div><pre>p { line-height: 200%; }<br /></pre></div><br /> You could also write the same rule with a line-height value of <tt>2</tt>, <tt>2em</tt>, or even <tt>32pt</tt>. Without using <tt>line-height</tt>, you'd use the <tt>font</tt> property: <div><pre>p { font: 16pt/32pt Arial, sans-serif; }<br /></pre></div><br /> |} Exercises To get your hands dirty with text colors and formats, try these exercises; you'll know whether you've succeeded because you'll be able to see the desired effect. <div># <div>Make a page with headings that contrast in color with the text. What color combinations work best?</div> # <div>See whether you can specify each color in more than one way; first try it with words, and then RGB values. Which approach is easier, and which is more flexible?</div> # <div>Turn off underlining of links on a page. Have someone else try to use it; is it easier or harder to use? Then try overlines.</div> # <div>Convert text to upper- or lowercase, using <tt>text-TRansform</tt>. In what circumstances would it be easier to simply change the text in the HTML rather than using CSS? You will discover that in some situations, <tt>text-TRansform</tt> is more convenient, and in others it's easier to just edit the source.</div></div> ./ ADD NAME=CH11.HTM nxsk8dex52sidd0phuklh0w1nb4vx8o User:Bartlett/11 2 2114 5501 5474 2007-06-17T15:55:49Z Bartlett 26 5501 wikitext text/x-wiki = Hour 11. Backgrounds and Background Colors = ; What You'll Learn in This Hour: * More using about the <tt>background-color</tt> property * How to use background and foreground colors together effectively * How to set a background image and how to control the display of that background * Which types of images you can use as backgrounds In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "Getting Started with CSS," you learned how to use the <tt>background-color</tt> property to change the appearance of HTML elements. Background colors can be used to good effect in web design to group related items together, or to highlight important parts of the page. In addition to pure colors, you can also use images as backgrounds for the whole page or for any element on the page. |} ./ ADD NAME=CH11LEV1SEC1.HTML == Setting Background Color == As you've learned already, the <tt>background-color</tt> property is used to set the background of an HTML element and is written like this: <div><pre>selector { background-color: color; } </pre></div> This property is similar to the <tt>bgcolor</tt> attribute in HTML. The CSS version of background colors is a lot more useful, if just because it can be applied to anything. The <tt>bgcolor</tt> attribute can be set only on <tt><body></tt>, <tt><table></tt>, <tt><tr></tt>, <tt><th></tt>, and <tt><td></tt> tags. CSS selectors, such as <tt>class</tt> selectors, <tt>id</tt> selectors, and <tt>:link</tt> and <tt>:visited</tt> pseudo-class selectors, let you change the background colors for specific parts of the page. The <tt>background-color</tt> Property Like the foreground colors discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10], "Text Colors and Effects," a <tt>background-color</tt> can be specified in a number of ways: color name, RGB codes, triplets of numbers, or triplets of percentages. Here are some examples of background color declarations: <div><pre>h1 { background-color: white; } h2 { background-color: #FFFFFF; } h3 { background-color: #FFF; } h4 { background-color: rgb(255, 255, 255); } h5 { background-color: rgb(100%, 100%, 100%); } </pre></div> In addition to color values, <tt>background-color</tt> can take two other values: <tt>TRansparent</tt> and <tt>inherit</tt>. The <tt>transparent</tt> value is actually the default for all elements; <tt>TRansparent</tt> means that whatever background already exists will be shown. So if a <tt>background-color</tt> of <tt>blue</tt> is set on the <tt><body></tt>, all elements that don't have a <tt>background-color</tt> setting are <tt>TRansparent</tt> and thus are <tt>blue</tt>. This actually isn't the same as inheriting the value because <tt>background-color</tt> doesn't naturally get inherited from the containing block. If you really need the <tt>background-color</tt> property to inherit, you can use the value <tt>inherit</tt>. In practice, <tt>transparent</tt> and <tt>inherit</tt> almost always have the same effect, although there are a few cases when you'd need to use <tt>inherit</tt> instead of <tt>TRansparent</tt>. Remember that <tt>inherit</tt> is the same as setting a value equal to that of the containing block's value, whereas <tt>TRansparent</tt> just makes the background so that it can be seen through. It is the difference between painting the ceiling blue and installing a window on the roof. If the sky is blue anyway, they'll look about the same. Backgrounds and Foregrounds When you're setting background and foreground colors in CSS, it's very important to make sure that your color choices will be usable by your audience. You'll need to worry about both the contrast of your color choices and the completeness of your color declarations. Lack of contrast between your foreground and background colors can make your page difficult for a variety of users to use. Those who have poor vision will struggle to see the letters, and users of limited or black-and-white displays may be left out as well. Printed pages can also suffer from contrast problems. When considering contrast, you also have to take the needs of users with color blindness into account; if someone can't distinguish between red and green, they may not be able to make out your green heading on a red background. It's not just users with specific disabilities who have problems with low contrast text; many people find text or images that have poor contrast to be harder to read. High contrast between foreground and background makes your site more useable by everyone, not just users with specific needs. <div>Did you Know? An excellent site for color advice is Bob Stein's VisiBone website at [http://www.visibone.com/ http://www.visibone.com/]. Bob offers color charts as well as suggestions on testing your site for use by color-blind users. You can also check how users with color vision deficiencies view websites by visiting [http://www.vischeck.com/ http://www.vischeck.com/].</div> In addition to contrast, you also have to consider completeness. By this I mean that if you specify a foreground color, you also need to specify a background color. Don't assume that all users have the same initial background and foreground colors that you do! For example, let's say you write the following rule: <div><pre>h1 { color: black; font-family: Verdana, sans-serif; } </pre></div> Looks harmless, until you consider that the user's browser settings or style sheet may have set text to be white on a black background. Your <tt><h1></tt> becomes invisible black-on-black by this rule! So if you want it to be visible, you have to set the background color explicitly whenever you set the foreground colorsomething like this: <div><pre>h1 { color: black; background-color: white; font-family: Verdana, sans-serif; } </pre></div> ./ ADD NAME=CH11LEV1SEC2.HTML == Using Background Images == In addition to using solid colors as your background, you can also use images. This is similar to using the <tt>background</tt> attribute of HTML; the <tt>background</tt> attribute can be set only on the <tt><body></tt> tag, but CSS allows you to set a background image on any element. A background image can be of any type understood by the browser, which means most background images are GIFs or JPEGs (a few browsers also support PNG background images). Background images are more versatile than a solid color; for example, by using an image with a gradient, you can introduce fades and blends into your backgrounds. Photographic images used as backgrounds can often have a striking affect that can't be achieved with a solid RGB color. However, complex backgrounds also have their price: It is much harder to find text colors that will contrast well with a background image. The <tt>background-image</tt> property is used to set a background image on an element. The browser loads the image and then displays it behind the foreground content as specified by the CSS properties <tt>background-repeat</tt>, <tt>background-position</tt>, and <tt>background-attachment</tt>. TRansparent parts of the background image show the background color of the element (if any) or the background of the containing element. In most cases, a background image tiles, which means that it repeats both horizontally and vertically across the box containing that element. A background image fills only the area inside the border (if any), which means the padding and the content itself, as defined by the box model. <div>Did you Know? Remember that to set a background image for the entire page, you just need to write a CSS rule for the <tt><body></tt> tag.</div> A good background image intended to tile both across and down should be created so that it doesn't have visible edges and seems to flow smoothly between one tile and another. If you're going to position text over the graphic, you should also make sure that it's not too busy; you should still be able to read text after that text is placed over the background. For the examples in this hour, I created a very simple background graphica star field. I created a 100 pixel by 100 pixel black square, made a few dots in various colors, and saved it as <tt>stars.gif</tt>. The background image is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig01 Figure 11.1]. <center> Figure 11.1. A star-spangled background image, enlarged for editing. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig01_alt.jpg [View full size image]]</div>[[Image:11fig01.jpg|500px]] </center> I also created a simple HTML page with some content, so you can see the effects of using this background image behind text; the page contains the first few lines of the U.S. national anthem, the Star Spangled Banner; apologies to my non-American readersit just seemed appropriate given the background graphic! [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex01 Listing 11.1] shows this sample HTML page, which will be used for applying styles learned this chapter. You can download the full HTML listing from the book's website. Listing 11.1. The Sample HTML Page {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- anthem-11.1.html --><br /><html><br /><head><br /><title> The Star Spangled Banner </title><br /><style type="text/css"><br />/* insert style rules here */<br /></style><br /></head><br /><body><br /><h1>The Star Spangled Banner</h1><br /><h2>By Francis Scott Key</h2><br /><h3>HTML markup by <a href="http://kynn.com/">Kynn Bartlett</a></h3><br /><p><br />Oh say, can you see, by the dawn's early light, <br><br /><!-- rest of the lines omitted here --><br /></p><br /></body><br /></html><br /></pre></div><br /> |} The <tt>background-image</tt> Property Values for the <tt>background-image</tt> property are an image address URL, none, or <tt>inherit</tt>. URLs are indicated by the <tt>url()</tt> function around the address of the image. Quotes around the URL are optional and can be either single or double quotes (but they have to match); the following rules are all identical: <div><pre>selector { background-image: url(image.gif); } selector { background-image: url('image.gif'); } selector { background-image: url("image.gif"); } </pre></div> The URL is calculated relative to wherever the rule appears, not necessarily to the web page. For example, the page URL might be [http://www.css24.com/author/index.php http://www.css24.com/author/index.php], and it links in an external style sheet located at [http://www.css24.com/styles/site.css http://www.css24.com/styles/site.css]. A value in that style sheet, such as <tt>url("bg.gif")</tt>, refers to something in the <tt>/styles/</tt> directory, not the <tt>/author/</tt> directory, because the <tt>url()</tt> style rule is located in a file in <tt>/styles/</tt>. However, if the same rule were part of an embedded style sheet or an inline style attribute on the <tt>index.php</tt> page, it would reference something in the <tt>/author/</tt> directory because it's all relative to the file that contains the rule. When you set the <tt>background-image</tt>, you should set the foreground colors so that they contrast with the background, just as you do when setting the <tt>background-color</tt>. You should also designate a <tt>background-color</tt> that is roughly equal to most of the <tt>background-image</tt> or at least one that contrasts well with the foreground color. If the <tt>background-image</tt> can't be loaded, the <tt>background-color</tt> is displayed instead. If you have a cloudy, sky-blue <tt>background-image</tt>, set your <tt>color</tt> property to <tt>black</tt> (because that contrasts well with the light background) and the <tt>background-color</tt> to something like <tt>#CCCCFF</tt> (light blue). For example, here's a rule to set the <tt>stars.gif</tt> image as the <tt>background-image</tt> of the page, along with the appropriate colors: <div><pre>body { background-image: url("stars.gif"); background-color: black; color: white; } a:link { color: yellow; } a:visited { color: lime; } </pre></div> You'll notice I set the <tt>a:link</tt> and <tt>a:visited</tt> colors as well; otherwise, my links might not be visible against the dark background if they were left as the browser's default (blue and purple, respectively). You can see these style rules applied to the Star Spangled Banner page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig02 Figure 11.2]. <center> Figure 11.2. Oh say, can you see the <tt>stars.gif</tt> background? <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig02_alt.jpg [View full size image]]</div>[[Image:11fig02.jpg|500px]] </center> As you can see, the image was tiled across and down the page and looks like it fills up the entire page with a star field. As noted earlier, you can set background images on any element, not just the <tt><body></tt>. This lets you set a background on paragraphs, <tt><div></tt> tags, or any other HTML tags. For example, these rules set the <tt>background-image</tt> on headline elements: <div><pre>body { background-color: white; color: black; } h1, h2, h3 { background-image: url("stars.gif"); background-color: black; color: white; } h1 { padding: 0.5em; } h2, h3 { padding: 0.25em; } a:link { color: yellow; } a:visited { color: lime; } </pre></div> I've added <tt>padding</tt> here to make it easier to see the effects of the background behind the text. Apply these rules and you get a different look to the page, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig03 Figure 11.3]. <center> Figure 11.3. Background images behind <tt><h1></tt>, <tt><h2></tt>, and <tt><h3></tt>. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig03_alt.jpg [View full size image]]</div>[[Image:11fig03.jpg|500px]] </center> Inline elements as well as block elements can have backgrounds; here's a set of rules that just make the star field appear behind links: <div><pre>body { background-color: white; color: black; } a:link { background-image: url("stars.gif"); background-color: black; padding: 0.5em; color: cyan; } a:visited { background-image: url("stars.gif"); background-color: black; padding: 0.5em; color: violet; } </pre></div> You can see these styles at work in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig04 Figure 11.4]. <center> Figure 11.4. Inline background image. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig04_alt.jpg [View full size image]]</div>[[Image:11fig04.jpg|500px]] </center> The <tt>background-repeat</tt> Property The <tt>background-repeat</tt> property enables you to control whether or not the background image tiles across the screen. Values for <tt>background-repeat</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11table01 Table 11.1]; the default value is <tt>repeat</tt>, and <tt>background-repeat</tt> values do not inherit from the containing block. {| cellspacing="0" cellpadding="5"|+ Table 11.1. Values for the <tt>background-repeat</tt> Property |- | Value | Effect |- | <tt>repeat</tt> | Tile horizontally and vertically |- | <tt>repeat-x</tt> | Tile only horizontally (along the X-axis) |- | <tt>repeat-y</tt> | Tile only vertically (along the Y-axis) |- | <tt>no-repeat</tt> | Display the image only once, with no tiling |- | <tt>inherit</tt> | Inherit the <tt>background-repeat</tt> value of the containing block |} It's easier to demonstrate these in action rather than explain them in text, so let's look at how you use <tt>background-repeat</tt>. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex02 Listing 11.2] is a style sheet that sets a horizontally repeating background on the <tt><body></tt>, which puts a band of stars across the top of the page. Listing 11.2. A <tt>repeat-x</tt> Background Image {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* stars-11.2.css */<br />body { background-color: gray;<br />background-image: url("stars.gif");<br />color: white;<br />background-repeat: repeat-x; }<br /></pre></div><br /> |} In this example, you'll notice I set the background color to gray; this makes it easier to see where the black image starts and stops. I had to choose a color that would be dark enough to show the white text, but light enough to contrast with the black of the starfield. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig05 Figure 11.5] shows this style sheet applied to the HTML page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex01 Listing 11.1]. <center> Figure 11.5. Horizontal tiling of the background image. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig05_alt.jpg [View full size image]]</div>[[Image:11fig05.jpg|500px]] </center> To tile the figure vertically, you use the <tt>background-repeat</tt> value of <tt>repeat-y</tt>, as in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex03 Listing 11.3]. Listing 11.3. A repeat-y Background Image {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* stars-11.3.css */<br />body { background-color: gray;<br />background-image: url("stars.gif");<br />color: white;<br />background-repeat: repeat-y; }<br /></pre></div><br /> |} This creates a stripe down the left side, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig06 Figure 11.6]. In the next section of this hour, you'll learn how you can use the <tt>background-position</tt> property to move the stripes created by <tt>repeat-x</tt> and <tt>repeat-y</tt>. <center> Figure 11.6. Vertical tiling of the background image. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig06_alt.jpg [View full size image]]</div>[[Image:11fig06.jpg|500px]] </center> If you don't want the image to repeat at all, use the <tt>background-repeat</tt> value of <tt>no-repeat</tt>, as in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex04 Listing 11.4]. You use this value whenever you want a single placement of an image, such as a watermark or a very large background that shouldn't be repeated. See [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig07 Figure 11.7]. Listing 11.4. A Nonrepeating Background Image {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* stars-11.4.css */<br />body { background-color: gray;<br />background-image: url("stars.gif");<br />color: white;<br />background-repeat: no-repeat; }<br /></pre></div><br /> |} <center> Figure 11.7. The background image without tiling. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig07_alt.jpg [View full size image]]</div>[[Image:11fig07.jpg|500px]] </center> <div>Did you Know? When an image doesn't repeat or repeats only in one direction, you can worry less about the sides of the image matching up properly when it tiles. A <tt>no-repeat</tt> image doesn't wrap around, so there's no need to blend the top and bottom, or the left and right, into each other smoothly.</div> The <tt>background-position</tt> Property As you can see in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig07 Figure 11.7], a background image is placed in the upper-left corner of the element box it is styling. If tiling occurs, either by default or because of the <tt>background-repeat</tt> property setting, the image reproduces itself to the left and right horizontally, or up and down verticallyor bothfrom that starting position. You can change the location of the initial image by using the <tt>background-position</tt> property. A <tt>background-position</tt> value consists of two size values or percentages: one indicating the horizontal position and the second indicating the vertical. If only one value is given, it sets the horizontal position. A size value for <tt>background-position</tt> is a number and a unit, such as <tt>30px</tt> or <tt>4em</tt>; this tells where the initial image's upper-left corner is to be placed. A percentage value indicates how far over the image should be aligned; <tt>50%</tt> means that the center of the image (horizontally or vertically) aligns with the center of the element being styled. A pair of values, such as <tt>75% 25%</tt>, means the spot on the image that's 75% over from the left horizontally and 25% down from the top should be matched with the corresponding location in the element's box. In addition to sizes and percentages, word values can be used for <tt>background-position</tt>; these are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11table02 Table 11.2]. Values can be combined together; <tt>right center</tt> means <tt>100% 50%</tt>, for example. However, if only one word value is given, the second value is assumed to be <tt>center</tt>. Word values can be listed in either order, so <tt>bottom left</tt> is the same as <tt>left bottom</tt>. {| cellspacing="0" cellpadding="5"|+ Table 11.2. Values for the <tt>background-position</tt> Property |- | Value | Effect |- | <tt>size size</tt> | Place the image at the specified location |- | <tt>percent% percent%</tt> | Place the image proportionally |- | <tt>top</tt> | Corresponds to <tt>50% 0%</tt> |- | <tt>left</tt> | Corresponds to <tt>0% 50%</tt> |- | <tt>right</tt> | Corresponds to <tt>100% 50%</tt> |- | <tt>bottom</tt> | Corresponds to <tt>50% 100%</tt> |- | <tt>center</tt> | Corresponds to <tt>50% 50%</tt> |- | <tt>top left</tt> | Corresponds to <tt>0% 0%</tt> |- | <tt>top center</tt> | Same as <tt>top (50% 0%)</tt> |- | <tt>top right</tt> | Corresponds to <tt>100% 0%</tt> |- | <tt>left center</tt> | Same as <tt>left (0% 50%)</tt> |- | <tt>center center</tt> | Same as <tt>center (50% 50%)</tt> |- | <tt>right center</tt> | Same as <tt>right (100% 50%)</tt> |- | <tt>bottom left</tt> | Corresponds to <tt>0% 100%</tt> |- | <tt>bottom center</tt> | Same as <tt>bottom (50% 100%)</tt> |- | <tt>bottom right</tt> | Corresponds to <tt>100% 100%</tt> |} <div>Did you Know? You can use the <tt>background-position</tt> property to place repeating stripes across or down your page in conjunction with the <tt>background-repeat</tt> property. A single faint image can be used as a watermark with the <tt>background-repeat</tt> value of <tt>no-repeat</tt> and the <tt>background-position</tt> of <tt>center center</tt>.</div> The default value of this property is <tt>top left</tt>, which is the same as <tt>0% 0%</tt>. Like <tt>background-repeat</tt>, this property's value is not inherited from the containing block. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex05 Listing 11.5] uses the <tt>background-position</tt> property to place an image that is set to tile horizontally. Listing 11.5. A Positioned, Repeating Background Image {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* stars-11.5.css */<br />body { background-color: gray;<br />background-image: url("stars.gif");<br />color: white;<br />background-repeat: repeat-x;<br />background-position: 0% 33%; }<br /></pre></div><br /> |} As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig08 Figure 11.8], when this style sheet is applied to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex01 Listing 11.1]'s HTML page, the effect is a stripe across the page. <center> Figure 11.8. Placing an image with <tt>background-position</tt>. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig08_alt.jpg [View full size image]]</div>[[Image:11fig08.jpg|500px]] </center> The <tt>background-attachment</tt> Property Normally, images scroll with the rest of the page; however, you can change that by using the <tt>background-attachment</tt> property. This property can take three values: <tt>scroll, fixed</tt>, or <tt>inherit</tt>. The default value is <tt>scroll</tt>, and the property's value is not inherited from the containing block unless the value is explicitly set to <tt>inherit</tt>. A <tt>background-attachment</tt> value of <tt>fixed</tt> means that the image doesn't move relative to the original position of the page, even if this means it might not be displayed because the element being styled is not on the screen or is not within the region where the background image could be seen (as determined from the <tt>background-repeat</tt> and <tt>background-attachment</tt> properties). If the value of <tt>background-attachment</tt> is <tt>fixed</tt>, the location of the image is placed relative to the whole page, not to the element being styled. You can see an example of using a <tt>fixed</tt> background image in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11ex06 Listing 11.6]. This is a repeating stripe across the top of the page, which won't move even when the page is scrolled up or down. Listing 11.6. Style Sheet for a Fixed Background {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* stars-11.6.css */<br />body { background-color: gray;<br />background-image: url("stars.gif");<br />color: white;<br />background-repeat: repeat-x;<br />background-position: top left;<br />background-attachment: fixed; }<br /></pre></div><br /> |} In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig09 Figure 11.9], I've scrolled down a little with the scrollbar, but the background image remains at the top of the page where I placed it. You can test this yourself by viewing the page at the book's website; you can also download the HTML page, style sheet, and image, for local viewing. <center> Figure 11.9. A fixed background doesn't scroll from its original position even when you scroll the page. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/11fig09_alt.jpg [View full size image]]</div>[[Image:11fig09.jpg|500px]] </center> <div>Watch Out! Fixed backgrounds are supposed to be placed relative to the page even when set on boxes within the page; however, Internet Explorer positions them relative to the box of the element being styled. For this reason, it's usually best to set the style rules for watermarks or other fixed background images on the <tt><body></tt> tag, or another HTML element that's the same size as the whole page (such as an outermost <tt><div></tt>).</div> The <tt>background</tt> Shorthand Property Like the font property, <tt>background</tt> is a shorthand property that enables you to set several properties at once. By using <tt>background</tt>, you can set the <tt>background-color</tt>, the <tt>background-image</tt>, the <tt>background-repeat</tt>, the <tt>background-position</tt>, and the <tt>background-attachment</tt>. Simply list the values you want (in any order) as the value for <tt>background</tt>; any values you don't set are set to their default values. The CSS rules used to create [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig09 Figure 11.9] can be rewritten like this: <div><pre>body { color: white; background: url("stars.gif") repeat-x fixed top left gray; } </pre></div> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Create a Web Page Watermark Let's put together everything you've learned in this chapter and create a practical example: A transparent, fixed position watermark for a web page. {| border="0" |- | <div>'''1. '''</div> | <div>Create a watermark image, using a graphics program. This should be something light enough that your text can be seen over it. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11fig10 Figure 11.10] shows a rather tongue-in-cheek light blue watermark I created.<br /><br /><center> Figure 11.10. Surely you can do better than this. [[Image:11fig10.jpg|200px]] </center><br /></div> |- | <div>'''2. '''</div> | <div>Write a style sheet, using the image you created in step one. Set the image as a background using a rule like this:<br /><br /><div><pre>background-image: url("watermark.gif");<br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Center it on your page with this kind of style rule:<br /><br /><div><pre>background-position: center center;<br /></pre></div><br /></div> |- | <div>'''4. '''</div> | <div>Make sure it doesn't repeat:<br /><br /><div><pre>background-repeat: no-repeat;<br /></pre></div><br /></div> |- | > | > |- | <div>'''5. '''</div> | <div>Prevent it from scrolling:<br /><br /><div><pre>background-attachment: fixed;<br /></pre></div><br /></div> |- | <div>'''6. '''</div> | <div>Set the background for the rest of the page:<br /><br /><div><pre>background-color: white;<br /></pre></div><br /></div> |- | <div>'''7. '''</div> | <div>Now, show off by replacing all those rules with a single <tt>background</tt> shorthand property rule!<br /><br /></div> |} |} ./ ADD NAME=CH11LEV1SEC3.HTML == Summary == The background of any element can be set with the <tt>background-color</tt> and <tt>background-image</tt> properties. When using backgrounds, make sure there is contrast between the colors you're using (including image colors), and also ensure that you've set the foreground colors as well. The tiling, position, and scrolling of the background image can be set with the <tt>background-repeat</tt>, <tt>background-position</tt>, and <tt>background-attachment</tt> properties. All the background properties can be set at once with the <tt>background</tt> shorthand property. ./ ADD NAME=CH11LEV1SEC4.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and exercises to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa1q1a1 Q.]''' | What if I want a graphic to tile across the page horizontally and vertically, forming a "T" or "L" shape instead of filling the whole page? Can that be done? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa1q1 A.]''' | Yes, but it's kind of tricky. Here's how you do it: Add a <tt><div></tt> tag just inside the <tt><body></tt> of your page; have it contain all the content you'd normally put in <tt><body></tt> and give it an <tt>id</tt> attribute. Then use the <tt>transparent</tt> value for <tt>background-color</tt>, like this: <div><pre>body { background: gray url("stars.gif") repeat-x;<br />padding: 0px;<br />margin: 0px; }<br />div#mydiv { background: transparent url("stars.gif")<br />center repeat-y;<br />color: white;<br />padding: 0.5em; }<br /></pre></div><br /> This makes a T-shaped star background. The <tt>padding</tt> and <tt>margin</tt> adjustments are necessary to remove the default padding and margin the browsers put on <tt><body></tt> and add them back in for the <tt><div></tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa1q2a2 Q.]''' | Why doesn't the order matter for the <tt>background</tt> shorthand property? That seems confusing. Shouldn't they be in some specific order? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa1q2 A.]''' | Nope. Because the properties set by the shorthand property all have completely different types of values that can be assigned to them, it's pretty easy for a browser to figure out that, for example, the value <tt>green</tt> must go with <tt>background-color</tt> and the value <tt>url("stars.gif")</tt> with <tt>background-image</tt>. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa2q1a1 1.]''' | Which of these values for <tt>background-position</tt> places the background image at the middle and bottom of the styled element's display box? <div># <div><tt>bottom center</tt></div> # <div><tt>center bottom</tt></div> # <div><tt>bottom</tt></div> # <div><tt>50% 100%</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa2q2a2 2.]''' | You have an image named <tt>skyblue.jpg</tt>; it's a graphic that looks like a blue sky with a few wispy clouds. The color is closest to <tt>rgb(75%, 75%, 100%)</tt>. You want it to tile down the right side of the page, and the background image shouldn't scroll when the page scrolls. The rest of the page will be white; all your text will be black or other colors that contrast against the background. What CSS rule would you write, using the <tt>background</tt> shorthand property? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa2q1 1.]''' | Trick question! They all do; they're all the same value. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch11qa2q2 2.]''' | Because you want the rest of the page to be white, the RGB values of the sky don't matter that much; your black text will contrast nicely with either white or light blue. Therefore, the rule can be written like this: <div><pre>body { background: url("skyblue.jpg") white<br />right top repeat-y fixed; }<br /></pre></div><br /> |} Exercises The best way to understand background colors and images is to get some hands-on practice. Create yourself a test page, an image or two, and a style sheet. Try the following exercises: <div># <div>Position the graphic in each corner of the page.</div> # <div>Tile the graphic along each edge of the page.</div> # <div>Set backgrounds on inline and block elements besides just <tt><body></tt>. Make them scroll or tile!</div></div> ./ ADD NAME=CH12.HTML 70y85tehbbb2360r9kvs4he2jbanygv User:Bartlett/12 2 2115 5500 5475 2007-06-17T15:55:08Z Bartlett 26 5500 wikitext text/x-wiki = Hour 12. Styling Links = ; What You'll Learn in This Hour: * What pseudo-selectors let you designate effects for active links, mouse hovers, and an element focus * Which order pseudo-classes follow for link styling and inheritance * How to create some of the most common link effects, including replacing the attributes on the <tt><body></tt> tag, removing underlines, and creating dynamic mouseovers The capability to make hyperlinks is what enables the interconnectedness of the Web; HTML itself is named for the hypertext links. Cascading Style Sheets can be used to style these links beyond the default blue-underlined-text. You've already learned how to use <tt>:link</tt> and <tt>:visited</tt> pseudo-classes to create CSS rules for link presentation in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5], "Selectors," and this hour expands on that knowledge and gives you additional types of selectors and style rules to use with links. |} ./ ADD NAME=CH12LEV1SEC1.HTML == CSS for Link Styling == The style rules you write to affect hypertext links are much the same as other CSS rules: You identify the elements to be styled by using a selector, and you write property declarations describing how you want the elements to appear. So why spend a whole hour on links? One reason is that rules for hypertext links require extensive use of pseudo-selectors, whereas most other rules don't. You can't just use the element name alone and get full functionality; you need to write your rules with <tt>a:link</tt> and <tt>a:visited</tt> selectors. In this hour, you'll learn about three more pseudo-classes, as well<tt>:active</tt>, <tt>:hover</tt>, and <tt>:focus</tt>. Link styles are very dependent upon the state of the user interface; what the user is doing and has done is at least as important as the content. That's not the case with most styles. You don't have to worry about your paragraph text changing state after the styles have been applied to it. Links require dynamic reapplication of the cascade and inheritance rules as the page is used. One more reason that links are set off with their own hour is that questions about them are among those most commonly asked by people learning CSS. Underlines, mouseovers, and special effects on links are some of the coolest simple style effects you can add to a site, along with colors and fonts. Links are active styles, and the pseudo-classes used with them can add unexpected pleasant touches to a page, if done properly. The <tt>:link</tt> and <tt>:visited</tt> Pseudo-Classes Although you learned about <tt>a:link</tt> and <tt>a:visited</tt> selectors in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch05.html#ch05 Hour 5], we revisit them briefly here. The <tt>:link</tt> state and the <tt>:visited</tt> state are mutually exclusive, which means that either one or the other applies, but not both. Neither inherits property values from the other; if you set a style property on <tt>a:link</tt>, the same property isn't set on <tt>a:visited</tt>. You'd need to write two rules (or one rule with a combined selector). A rule based on the <tt><a></tt> tag is applied to <tt><a></tt> links, visited or unvisited. They also are used on anchors set with the <tt><a name="anchor"></tt> syntax. So if you want your links to all have a yellow background, you're better off with a rule based on <tt>a:link</tt> and <tt>a:visited</tt> instead of <tt>a</tt> by itself, or else your anchor points will be yellow, too. Other styles set on the box holding the <tt><a></tt> tag are inherited normally if those properties usually inherit. So the <tt>font-family</tt> and <tt>font-size</tt> properties, for example, are inherited from whatever element contains the link tag. One exception is the default styling on links. Unless explicitly set by a CSS rule to something else, your links will look like whatever the browser thinks they should look like. At least, that's true when it comes to two specific properties: <tt>color</tt> and <tt>text-decoration</tt>. The accepted practice is to make unvisited links blue, visited links purple, and both kinds of links underlined. Effectively, browsers have a built-in set of style rules that look like this (although user preferences can change the specifics): <div><pre>a:link { color: blue; } a:visited { color: purple; } a:link, a:visited { font-decoration: underline; } </pre></div> To change these default styles, you need to override these style rules explicitly with more specific ones of your own. Remember that the cascade counts pseudo-classes as classes, and it gives priority to author styles over browser default styles; that means that your <tt>a:link</tt> rule will win out. The <tt>:active</tt> Pseudo-Class An active link is a link that's in the process of being activated by the user in some way. How this activation occurs is dependent on the type of input and output media used. Usually this means that a mouse pointer has clicked on the link and the page is about to be replaced by a new one reached by following the link. This corresponds to the HTML attribute <tt>alink</tt>, which can be set on the <tt><body></tt> tag (although <tt>alink</tt> can change only the color, whereas a CSS rule can do far more). Browsers usually display this as if the following rule were in its default style sheet: <div><pre>a:active { color: red; } </pre></div> The <tt>:active</tt> state is not mutually exclusive with <tt>:link</tt> or <tt>:visited</tt>. In fact, any link that is <tt>:active</tt> is undoubtedly going to be one or the other: visited or unvisited. Property values set on the <tt>:link</tt> or <tt>:visited</tt> state are inherited by the <tt>:active</tt> element, as appropriate for each value. For example, if you've already declared that there should be no underlines in your <tt>a:link</tt> and <tt>a:visited</tt> rules, you don't need to worry about declaring <tt>text-decoration: none</tt>; in the <tt>a:active</tt> rule if you want active links to continue to be underlined. Cascading is also a consideration. If there's a property value conflict between an <tt>a:link</tt> and <tt>a:active</tt> rule, which one wins according to the cascade order? Well, they have the same origin (your style sheet), the same number of <tt>id</tt> attributes (none, presumably), the same number of classes or pseudo-classes, and the same number of elements, which means it's a tie. Therefore, the winner is whichever one is declared last, according to the source code. In practice, this means that you should put your <tt>a:active</tt> rule after your <tt>a:link</tt> and <tt>a:visited</tt> links. You can combine together two or more pseudo-class selectors by simply chaining them together without spaces, like this: <div><pre>a:link { color: blue; background-color: white; } a:link:active { color: white; background-color: blue; } a:visited { color: purple; background-color: white; } a:visited:active { color: white; background-color: purple; } </pre></div> These rules display unvisited and visited links in <tt>blue</tt> or <tt>purple</tt> as usual, but when the link is clicked, the colors invert while the page is loading. Combined selectors let you make sure the colors are kept straight. If you didn't write a rule with two pseudo-classes, you'd have to choose either <tt>blue</tt> or <tt>purple</tt> as the color you'd use, like this: <div><pre>a:active { color: white; background-color: purple; } </pre></div> The <tt>:hover</tt> Pseudo-Class Hovering means that the mouse pointer has been positioned over a particular element, but the user has not necessarily clicked a button to activate it. In HTML, this state triggers a mouseover event, which can invoke JavaScript functions set on the <tt>onMouseOver</tt> attribute; when the mouse is no longer hovering, that's an <tt>onMouseOut</tt> event. The CSS approach is to add the state of <tt>:hover</tt> to any other states currently on the element (such as <tt>:link</tt> or <tt>:visited</tt>) and apply an appropriate style. You can change the color, of course, but you can also change the <tt>background</tt> properties, <tt>border</tt>, <tt>font-family</tt>, <tt>font-size</tt>, or anything else you like. Some of these changes may cause the dimensions of displayed boxes to change, which can be distracting because the page has to redraw itself and shift about as someone moves the mouse, so you probably should avoid major changes such as <tt>padding</tt> or <tt>display</tt>. Here's an example of the <tt>:hover</tt> rule in action. I want to make my links change <tt>color</tt> and <tt>background-color</tt> when the user moves the mouse. This points out which link will be followed if the user clicksa typical mouseover function. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex01 Listing 12.1] has an embedded style sheet in the HTML for this example. Listing 12.1. A Simple Question that Hovers Ominously {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- game-12.1.html --><br /><html><br /><head><br /><title>Want to play a game?</title><br /><style type="text/css"><br />body {<br />background-color: black;<br />color: lime;<br />font: xx-large Verdana, sans-serif; }<br />a:link, a:visited {<br />color: lime;<br />text-decoration: none; }<br />a:hover {<br />background-color: white;<br />color: black; }<br /></style><br /></head><br /><body><br /><h1>Want to play a game?</h1><br /><h1><br /><a href="yes.html">yes</a> /<br /><a href="no.html">no</a><br /></h1><br /></body><br /></html><br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12fig01 Figure 12.1] shows what this looks like in a browser; unlike most of the screenshots in this book, I've included the mouse pointer so you can see where it is. The no option is in black-on-white text when the mouse is over it, and when the mouse is elsewhere, it turns back to lime-on-black. <center> Figure 12.1. How about a nice game of chess? The mouse is over "no." [[Image:12fig01.jpg|300px]] </center> The CSS specifications are very vague on which HTML tags must be able to take on the <tt>:hover</tt> state. Can you set a rule with a selector like <tt>H1:hover</tt> and then change the styling on the <tt><h1></tt> tag whenever the mouse is moved over it? Good question. At the present time, you can't; only items that can be clicked can enter the <tt>:hover</tt> state in current browsers. <div>Did you Know? If you want to add mouseover effects to other items, you can use the HTML event attributes and JavaScript. For example, the following bit of HTML code creates an <tt><h1></tt> tag that changes color when the mouse moves over it: <div><pre><h1 onmouseover="style.color = 'blue';" onmouseout="style.color = 'red';" style="color: red; background-color: white;" >Superman</h1> </pre></div></div> The <tt>:focus</tt> Pseudo-Class If you can type something into an HTML element, that element is said to have the focus. Focus is an indication of something that's been selected but not necessarily activated. The focus is often indicated by a light dashed line or by a colored glow around part of the page. Being able to identify the current focus is important for keyboard access to the Web. Web surfers who aren't able to use a mouse use the tab key to move from link to link or to <tt><form></tt> field tags, such as <tt><input></tt> and <tt><textarea></tt>. The HTML <tt>tabindex</tt> attribute can affect the order of tabbing. When an element receives the focus, it enters the <tt>:focus</tt> state and applicable styles are applied. In the example from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex01 Listing 12.1], the background and foreground colors don't change if someone tabs through the links; they change only if the mouse is used. Because you want to serve all your web usersnot just those with mice!you need to add the following rules to the style sheet: <div><pre>a:focus { background-color: white; color: black; } </pre></div> <div>Did you Know? Not all browsers support the <tt>:focus</tt> pseudo-class. You can use the same JavaScript techniques as already described for <tt>:hover</tt>, but you should use the <tt>onFocus</tt> attribute when the element comes into focus and the <tt>onBlur</tt> attribute when it loses focus.</div> It's possible for an element to be in a state of <tt>:active, :hover</tt>, and <tt>:focus</tt> all at the same time; none of them are mutually exclusive. An <tt><a></tt> link is either <tt>:link</tt> or <tt>:visited</tt> as well. You should put your <tt>:active, :hover</tt>, and <tt>:focus</tt> rules after the <tt>:link</tt> and <tt>:visited</tt> rules because of the order of the cascade and inheritance. ./ ADD NAME=CH12LEV1SEC2.HTML == Common Link-Styling Techniques == The rest of this hour, I'll show you how to do some of the most common tasks related to styling links. Think of this section as a small cookbook with some key recipes. Armed with these and with your growing knowledge of CSS, you can improvise on your own sites, creating your own style sheet culinary masterpieces. Replacing HTML <tt><body></tt> Attributes The <tt><body></tt> tag in HTML lets you set a number of attributes that affect the appearance of the entire page. Now you can replace those with CSS rules and go further than the capabilities of HTML because you can fine-tune parts of the page separately by using selectors and by having better control over backgrounds and link styles. Here's a typical <tt><body></tt> tag: <div><pre><body background="mybg.jpg" bgcolor="#FFFFCC" text="#000066" link="red" vlink="#999999" alink="#FFCC99"> </pre></div> As you can see, this uses presentational HTML attributesthe <tt>background, bgcolor, text, link, vlink</tt>, and <tt>alink</tt> attributesto control the colors and background image on the page. This works in current browsers, but from a CSS point of view, it's a poor idea because the presentation is mixed in with the markup, and that always makes things harder, not easier. For example, if you want to change the appearance of the entire site at once, you need to go into every single HTML file and edit the attributes, but if you are using a linked style sheet, it's just a minor tweak to a single style sheet file. So, how do you write the <tt><body></tt> tag with Cascading Style Sheets rules? Something like this would work: <div><pre>body { background: #FFFFCC url("mybg.jpg"); color: #000066; } a:link { color: red; } a:visited { color: #999999; } a:active { color: #FFCC99; } </pre></div> Removing Underlines This seems to be one of the first questions web developers want to know: How do I turn off the underlines? If you've been reading this book straight through from beginning to end, you learned about the <tt>text-decoration</tt> property in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10], "Text Colors and Effects." However, in case you jumped directly to this chapter, we'll review and summarize here. You remove underlines by using the <tt>text-decoration</tt> property with a value of <tt>none</tt>. Here's an example: <div><pre>.navbar a:link, .navbar a:visited { text-decoration: none; } </pre></div> <div>By the Way Several important cautions were mentioned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10] about the effect on usability if you remove link underlines; you may want to go back and read that section if it's not fresh in your mind.</div> Removing underlines from links can be relatively easy. The bigger question is how will you replace them? The reason that links were underlined in the first place was to make them stand out so the web user doesn't have to randomly guess what can be clicked and what can't. Here are some ideas, which can be used separately or in combination: * Use very bright colors, set with the <tt>color</tt> property, to make links that much more visible. Links should stand out from the rest of the page and should be easily seen. * Put borders around the links by using the <tt>border</tt> property so that the links are in boxes. Boxes can draw attention, as color does. * Employ the <tt>font-weight</tt> property to make your links stand out better. Bold links likewise catch the eye; I have used <tt>font-weight: bold</tt> for unvisited links and <tt>font-weight: normal</tt> for visited links when designing styles for certain sites. * Make all links italic (or oblique) by using <tt>font-style</tt>, or put them in small caps with <tt>text-transform</tt>. Be careful about readability, though; excessive use of this technique can make your navigation hard to use. * Add a background color to your links with the <tt>background-color</tt> property. This can often give an effect similar to a highlighter pen; make sure your background stands out against both the visited and unvisited link colors. * Utilize <tt>class</tt> or <tt>id</tt> selectors to give different styles to different kinds of links; for example, style offsite links differently from local links. Likewise, use different styles for inline links in the body of your text and for navigation links located in a sidebar. Mouseover Effects A mouseover effect can be as simple as swapping the colors, as you've seen earlier in this hour, or as subtle as adding the underline back on a mouseover, as follows: <div><pre>a:link, a:visited { text-decoration: none; } a:hover { text-decoration: underline; } </pre></div> You can also head for the other extreme and get pretty complex. Here's an example of making buttons with CSS and making those buttons change when the mouse rolls over them, all without using JavaScript. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex02 Listing 12.2] is the HTML file to be styled, and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex03 Listing 12.3] is the style sheet. In this example, I'm using tables for layout, but in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS," you'll learn how to lay out a page with pure CSS. Listing 12.2. An HTML Page with a Navigation Bar {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- buttons-12.2.html --><br /><html><br /><head><br /><title>About the Local Writers Group</title><br /><link type="text/css" rel="stylesheet"<br />href="buttons-12.3.css"><br /></head><br /><body><br /><table width="100%" border="0"><br /><tr><td valign="top" align="center" width="150"><br /><div class="navbar"><br /><a href="/">Home</a><br /><a href="about.html">About Us</a><br /><a href="writers.html">Writers</a><br /><a href="links.html">Links</a><br /><a href="map.html">Map</a><br /><a href="calendar.html">Calendar</a><br /><a href="contact.html">Contact</a><br /></div><br /></td><td valign="top"><br /><h1>About Us</h1><br /><p>The Local Writers Group is an informal group of<br />writers who meet <a href="calendar.html">every other<br />Wednesday evening</a> from 7:30 to 9:00, at the<br />bookstore near the mall.</p><br /><p>If you'd like to attend, just stop by for the next<br />meeting, or <a href="contact.html">drop a note via<br />email</a> to one of our members.</p><br /></td></tr></table><br /></body><br /></html><br /></pre></div><br /> |} Listing 12.3. Style Sheet with Mouseover Effects {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* buttons-12.3.css */<br />body { font-family: Verdana, sans-serif;<br />color: black; background-color: white; }<br />h1 { color: navy; }<br />/* link colors */<br />.nav a:link { color: yellow; }<br />.nav a:visited { color: lime; }<br />/* link buttons */<br />.nav a:link, .nav a:visited<br />{ font: bold 12pt Verdana, sans-serif;<br />padding: 0.5em; margin: 0.5em;<br />display: block; text-decoration: none;<br />background: url("button.gif") transparent 50% 50% no-repeat; }<br />/* change the button on hover and focus */<br />.nav a:hover, .nav a:focus<br />{ background-image: url("button_yellow.gif");<br />color: black; }<br />.nav a:visited:hover, .nav a:visited:focus<br />{ background-image: url("button_green.gif");<br />color: black; }<br /></pre></div><br /> |} The three button images used are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12fig02 Figure 12.2], and the final effect can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12fig03 Figure 12.3]. When the mouse is moved over the navigation bar, the glow graphic is used. You'll notice that I used an <tt>a:hover:visited</tt> rule, as well, so that visited links glow lime green instead of yellow. <center> Figure 12.2. Background graphics for making buttons. [[Image:12fig02.jpg|300px]] </center> <center> Figure 12.3. Mouseovers in action, with the mouse over "Map." <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/12fig03_alt.jpg [View full size image]]</div>[[Image:12fig03.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Link Buttons in CSS The technique shown here can be used to make buttons quickly and easily, without having to create each one in a graphics program. Try this: {| border="0" |- | <br /> | > |- | <div>'''1. '''</div> | <div>Make a default blank button in a graphics program, or download one from the Web.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Using the file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex02 Listing 12.2] or your own web page, employ styles to use the blank button in your navigation menu. Use [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12ex03 Listing 12.3] as an example.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Try changing the font size of the text links. What happens if the text is too big for a button?<br /><br /></div> |- | <div>'''4. '''</div> | <div>Create (or download) a button with a mouseover effect, such as a glow or outline.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Change the colors of your links text. How does it contrast with your button you've chosen? Make sure your links are readable when moused over, when visited, and when the page is newly loaded.<br /><br /></div> |} |} ./ ADD NAME=CH12LEV1SEC3.HTML == Summary == CSS rules for styling hypertext links use the same properties as other style rules but extensively utilize pseudo-class selectors. These pseudo-class selectors track the state of various qualities<tt>:link</tt> and <tt>:visited</tt> depend on web browsing history; <tt>:active, :hover</tt>, and <tt>:focus</tt> depend on the user's interaction with the page. Link styles can be used to replace the <tt><body></tt> attributes in HTML, remove links, and even create complex mouseover effects without requiring JavaScript. Armed with your growing knowledge of CSS, you can now confidently apply styles to your hypertext links. ./ ADD NAME=CH12LEV1SEC4.HTML == Workshop == The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa1q1a1 Q.]''' | Now that I know CSS, I can throw away all those <tt><body></tt> attributes, such as <tt>vlink</tt> and <tt>bgcolor</tt>, right? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa1q1 A.]''' | Well, probably. If you are using the Strict versions of HTML or XHTML, you have to remove them for your markup to be valid anyway. On the other hand, there are a few old browsers still out there that understand only the <tt><body></tt> attributes, and it probably can't hurt to include presentation markup. |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa1q2a2 Q.]''' | What about those annoying blue borders around image links? How do I get rid of those? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa1q2 A.]''' | How about this? <div><pre>a:link img, a:visited img { border: 0px; }<br /></pre></div><br /> |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa2q1a1 1.]''' | Which of these rules makes the text bold when the user tabs to a link with the keyboard? <div># <div><tt>a:visited { font-weight: 700; }</tt></div> # <div><tt>a:hover { font-weight: 700; }</tt></div> # <div><tt>a:active { font-weight: 700; }</tt></div> # <div><tt>a:focus { font-weight: 700; }</tt></div> # <div><tt>a:active:hover { font-weight: 700; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa2q2a2 2.]''' | How would you rewrite this <tt><body></tt> tag as CSS rules? <div><pre><body text="white" background="stars.gif"<br />bgcolor="black" link="#00FFFF"<br />vlink="#FF00FF" alink="#FFFF00"><br /></pre></div><br /> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa2q1 1.]''' | d. The <tt>a:focus</tt> selector activates whenever a link has the keyboard focus. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch12qa2q2 2.]''' | Here's one way to rewrite the <tt><body></tt> attributes in CSS: <div><pre>body { color: white;<br />background: url("stars.gif") black; }<br />a:link { color: #00FFFF; }<br />a:visited { color: #FF00FF; }<br />a:active { color: #FFFF00; }<br /></pre></div><br /> |} Exercises What makes for good link styles and for bad? Experimenting is the best way to figure out what works for the needs of each website. Here are some ideas you can try: * Eliminate underlines from your inline links, but replace them with another style that makes them stand out. Which works best, in your opinionbackground colors, font weight, italics, or something else? * Build a navigation menu that uses backgrounds, borders, and fonts instead of images. Is it easier to maintain CSS-styled text links than graphical navigation bars? ./ ADD NAME=CH13.HTML Hour 13. Lists j5kdxteh9cdzr9xy7xmm8jllsi2a3er User:Bartlett/monobook.css 2 2116 5556 5503 2007-06-17T18:19:19Z Bartlett 26 5556 css text/css @import "http://hu.wikipedia.org/w/index.php?title=MediaWiki:Monobook.css&action=raw"; @import "http://so.wiktionary.org/w/index.php?title=User:Bartlett/monobook1.css&action=edit&action=raw"; #content {letter-spacing: 1px; font-family:georgia; color:darkgreen} #content p {font-size:16px;} #content tt {font-size:18px; color:darkred; letter-spacing: 0px;font-weight:bold } #content pre {font-size:18px; color:darkred; letter-spacing: 0px;font-weight:bold } #content li {font-size:15px;line-height:1.4em;} #content dl {font-size:15px;} jk7hqf35bgeh03g1d3k4q3vifzr4ttw User:Bartlett/13 2 2117 5517 2007-06-17T17:08:12Z Bartlett 26 Bog cusub: ./ ADD NAME=CH13.HTML Hour 13. Lists {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How lists are formatted in CSS * What the different types of ... 5517 wikitext text/x-wiki ./ ADD NAME=CH13.HTML Hour 13. Lists {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How lists are formatted in CSS * What the different types of lists are, and how they're coded in HTML * How other elements can be displayed as lists * Which CSS properties change the shape and appearance of bullets * How to set the counting methods of numbered lists Not all information is organized into paragraphs of text. Many types of web content are actually lists of information, including navigation menus, product feature lists, glossaries, and step-by-step instructions. Because of the way information is read on the Web, the use of lists can be one of the most effective and direct methods of conveying information to an audience. Styling lists attractively can also enhance their usefulness. |} ./ ADD NAME=CH13LEV1SEC1.HTML List Formatting Before I discuss how CSS browsers display lists, I need to define some terms that will be important this hour. A list is just a set of information that has been organized into discrete pieces called list items. A list can be ordered, which means that the order in which the items are presented is important, or it can be unordered, indicating that there isn't any specific order to the items or that order isn't important. A third type of list is the definition list (also called a dictionary list); these consist of pairs of shorter terms and longer explanations. Types of HTML Lists Lists in HTML are usually indicated by appropriate list markup, which means they usually include a list tag such as <tt><ol></tt>, <tt><ul></tt>, or <tt><dl></tt>, and then list items marked up with <tt><li></tt> or <tt><dt></tt>, and <tt><dd></tt> for definition lists. It's also possible to create a list using nonlist tags, such as <tt><div></tt> or <tt><a></tt>, and use CSS to convert them into lists. Within a CSS context, an element is a list item if it has the <tt>display</tt> property value <tt>list-item</tt>. When that value is set, the element is treated as an <tt><li></tt> tag by the browser, no matter what the tag really is. The <tt>list-item</tt> value designates the element as a block element, except that it also allows for a list marker. A list marker is a symbol before each list item that indicates it's a list. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex01 Listing 13.1], you can see each of the three types of HTML lists, along with a fourth "list" done without using HTML list markup. Listing 13.1. Four Lists in HTML {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- lists-13.1.html --><br /><html><br /><head><title>List-O-Rama</title></head><br /><body><br /><table border="0" width="100%"><br /><tr><td valign="top" width="50%"><br /><h2>Ordered List: Tallest Mountains</h2><br /><ol><li>Everest</li> <li>K2</li><br /><li>Kangchenjunga</li> <li>Lhotse</li><br /><li>Makalu</li> <li>Cho Oyu</li><br /><li>Dhaulagiri</li><br /></ol</td><br /><td valign="top" width="50%"><br /><h2>Unordered List: Flavors of Soda</h2><br /><ul><li>Peach</li><br /><li>Berry:<br /><ul><li>Raspberry</li><br /><li>Blackberry</li><br /><li>Boysenberry</li><br /></ul></li><br /><li>Orange</li> <li>Kiwi</li><br /></ul></td><br /></tr><br /><tr><td valign="top" width="50%"><br /><h2>Definition List: Common Abbreviations</h2><br /><dl> <!-- definition list --><br /><dt>CSS</dt> <dd>Cascading Style Sheets</dd><br /><dt>HTML</dt> <dd>Hypertext Markup Language</dd><br /><dt>W3C</dt> <dd>World Wide Web Consortium</dd><br /></dl></td><br /><td valign="top" width="50%"><br /><h2>Non-List: Links</h2><br /><div id="nav"> <!-- not done with list markup --><br /><a href="/">Home</a><br /><a href="info/">Info</a><br /><a href="shop/">Shop</a><br /><a href="map/">Map</a><br /><a href="contact/">Contact</a><br /></div></td><br /></tr><br /></table></body></html><br /></pre></div><br /> |} The four lists are shown in a browser in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig01 Figure 13.1]; this HTML file will be used in the examples later this hour to illustrate how CSS can be used to style lists. <center> Figure 13.1. Four different lists displayed by Firefox. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig01_alt.jpg [View full size image]]</div>[[Image:13fig01.jpg|500px]] </center> Ordered (Numbered) Lists Browsers display an ordered list by putting a number marker of some kind before the list items. Usually number markers are ordinary numbers, such as 1, 2, 3, and so on, but later in this hour you'll learn to change those to other counting methods. Examples of ordered lists include the top ten best-seller list at a bookstore or a set of instructions for making a cake. In both cases, the specific order of the list items is significant. Ordered lists in HTML are created by the <tt><ol></tt> element, which contains <tt><li></tt> tags for each list item. <div>Did you Know? Users with visual disabilities often find ordered lists easier to navigate than unordered lists because they have a better sense of context; the numbers can be used to keep track of location in a list. Using ordered lists on your page is very helpful to these users.</div> Unordered (Bulleted) Lists An unordered list is commonly displayed with a bullet marker. This is a symbol placed before each item of the list; it most often looks like a solid circle. During this hour you'll learn how to change the list bullet to other shapes or replace it with an image. Unordered list examples include a list of toppings you could order on a pizza or a roster of students in a class. Even though the class roster may have an orderusually alphabetical by last namethe order probably isn't significant; it's arbitrary. For example, the list isn't ordered by the tallest or the shortest in the class. In most cases, the significance of a list's order depends on how the list is meant to be used. A list's order may not matter in one case but might in another. To create an unordered list in HTML, you use the <tt><ul></tt> element, and each bullet point gets an <tt><li></tt> tag. Two other HTML tags create bulleted lists, <tt><dir></tt> and <tt><menu></tt>, but these are deprecated in HTML 4.01, which means that you should use the <tt><ul></tt> tag instead; newer browsers may not support the deprecated tags. Definition Lists Definition lists consist of pairs of contenta shorter term and a longer definition. The term is displayed first, and then the definition is displayed on a new line with an indented left margin. A definition list in HTML is created with the <tt><dl></tt> element, with several <tt><dt></tt> and <tt><dd></tt> tags inside it. A definition list doesn't have to be a glossary. Although that's a common use, it could be anything from a listing of features in a car to a menu of desserts that describes each treat. A definition list can be used whenever you have pairs of shorter text and longer explanations or descriptions of that text. Unlike the <tt><li></tt> tags in <tt><ol></tt> or <tt><ul></tt> elements, the <tt><dt></tt> and <tt><dd></tt> tags do not have the property <tt>display</tt> set to <tt>list-item</tt>. Instead, they have the <tt>display</tt> value of <tt>block</tt>, although the <tt><dd></tt> tag usually has an extra <tt>margin-left</tt> value of <tt>1.33em</tt>. <div>Watch Out! Sometimes web developers use the <tt><ol></tt>, <tt><ul></tt>, or <tt><dl></tt> tags to create indented texts or margins. Using structural tags, such as the list elements, for presentational effects such as margins reduces the separation of content from presentation. To create margin effects, use the CSS properties in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes," not list markup.</div> Changing List Type with <tt>display</tt> Using the CSS <tt>display</tt> property, you can override the default presentation of a tag and create a list from nonlist elements or change a list into a nonlist. If you change the value of the display property, it changes only how it's presented block or inlineand in the case of the <tt>list-item</tt> value, it sets aside space for a marker. Changing the display property doesn't affect any other values, such as the inherent <tt>margin-left</tt> on <tt><ol></tt> or <tt><dd></tt>. Examples of setting <tt>display</tt> properties can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex02 Listing 13.2], a style sheet to change the appearance of your HTML lists. Notice that I set <tt>margin-left</tt> values to remove the left margins when changing the <tt>display</tt> value to <tt>block</tt>, and I add <tt>margin-left</tt> when setting <tt>display: list-item</tt>. Listing 13.2. Several Lists with Type Changed {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* lists-13.2.css */<br />ul li { display: inline; }<br /><br />ol { margin-left: 0px; }<br />ol li { display: block; }<br /><br />dt { display: list-item;<br />margin-left: 1em; }<br /><br />dd { display: list-item;<br />margin-left: 2em; }<br /><br />div#nav a { text-decoration: none;<br />margin-left: 2em;<br />display: list-item; }<br /></pre></div><br /> |} The effects of this style sheet can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig02 Figure 13.2], which applies the style sheet to the HTML lists from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex01 Listing 13.1]. The Unordered List is jumbled, there are no number markers for the Ordered List, and there are new list markers before the Definition List and Non-List items. Because the type of list marker is not set, the exact marker used varies from browser to browser, depending on what the browser chooses to use for a default; your browser may show some of the lists differently than in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig02 Figure 13.2]. To ensure consistency across browsers, you should set the list item properties described later this hour whenever you change the <tt>display</tt> of an element to <tt>list-item</tt>. <center> Figure 13.2. Displaying alternate list formatting. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig02_alt.jpg [View full size image]]</div>[[Image:13fig02.jpg|500px]] </center> The <tt>list-style-type</tt> Property You can change the type of list marker by using the <tt>list-style-type</tt> property. This property is used only on elements that have the display value of <tt>list-item</tt>, but it can be set on any tag, and the value is inherited by children that are list items. Most commonly, it's set on the <tt><ol></tt> or <tt><ul></tt> tags that enclose the <tt><li></tt> list items; this way you can set different styles for each list. The most common values for <tt>list-style-type</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13table01 Table 13.1]. The default value for <tt><ol></tt> is <tt>decimal</tt>, for <tt><ul></tt> is <tt>disc</tt>, and for lists created with <tt>display: list-item</tt> it is <tt>disc</tt> as well. {| cellspacing="0" cellpadding="5"|+ Table 13.1. Values for the <tt>list-style-type</tt> Property |- | Value | Effect |- | <tt>circle</tt> | A hollow circle bullet |- | <tt>decimal</tt> | Decimal number markers (1, 2, 3, ...) |- | <tt>decimal-leading-zero</tt> | Decimal number markers with leading zeros (01, 02, 03, ...) |- | <tt>disc</tt> | A solid circle bullet |- | <tt>lower-alpha</tt> | Lowercase alphanumeric markers (a, b, c, ...) |- | <tt>lower-roman</tt> | Lowercase roman number markers (i, ii, iii, ...) |- | <tt>none</tt> | Don't display any marker before the list |- | <tt>square</tt> | A square bullet |- | <tt>upper-alpha</tt> | Uppercase alphanumeric markers (A, B, C, ...) |- | <tt>upper-roman</tt> | Uppercase roman number markers (I, II, III, ...) |- | <tt>inherit</tt> | Use the value of <tt>list-style-type</tt> from the containing box |} There are two types of values: those that set bullet markers and those that set number markers. It is possible to set a bullet <tt>list-style-type</tt> for ordered lists or to set a number marker on unordered list, but generally speaking, this should be avoided. As a rule of thumb, you should use number markers only with ordered lists, and bullet markers only with unordered lists. One list contained within another list is called a nested list. Most browsers display nested, unordered lists by changing the bullet type from <tt>disc</tt>, to <tt>circle</tt>, and then to <tt>square</tt>. Using <tt>list-style-type</tt>, you can control the marker with appropriate descendant rules. Topical outlines created using <tt><ol></tt> tags can be styled as well, like the following: <div><pre>ol { list-style-type: upper-roman; } ol ol { list-style-type: upper-alpha; } ol ol ol { list-style-type: decimal; } ol ol ol ol { list-style-type: lower-alpha; } ol ol ol ol ol { list-style-type: lower-roman; } </pre></div> A style sheet that changes list markers is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex03 Listing 13.3]. Listing 13.3. Setting the <tt>list-style-type</tt> in CSS {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* lists-13.3.css */<br /><br />ol { list-style-type: upper-roman; }<br /><br />ul { list-style-type: square; }<br />ul ul { list-style-type: circle; }<br /><br />#nav a { display: list-item;<br />margin-left: 2em;<br />list-style-type: square; }<br /></pre></div><br /> |} The results of applying this style sheet to your sample lists are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig03 Figure 13.3]. <center> Figure 13.3. Lists with different marker types. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig03_alt.jpg [View full size image]]</div>[[Image:13fig03.jpg|500px]] </center> <div>By the Way Markers (bullet or number) are displayed with the same font characteristic as the list item. If you want to change a propertyfor example, the colorset the property on the list item, and then use a <tt><span></tt> or other inline element to change the text, as in the following: <div><pre><ol> <li><span class="person">Nick Mamatas</span></li> </ol> </pre></div> To change the color of the list marker but not the list text, write rules like these, which put the number in red: <div><pre>ol { color: black; } ol li { color: red; } ol li span.person { color: black; } </pre></div></div> International List Markers You can set the list marker to count using Roman numerals, numbers, or letters, but what about languages that don't use the same alphabet? A list of additional values for the <tt>list-style-type</tt> property is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13table02 Table 13.2]. {| cellspacing="0" cellpadding="5"|+ Table 13.2. International Values for the <tt>list-style-type</tt> Property |- | Value | Effect |- | <tt>armenian</tt> | Traditional Armenian numbers |- | <tt>cjk-ideographic</tt> | Ideographic numbers (Asian languages) |- | <tt>georgian</tt> | Traditional Georgian numbers |- | <tt>hebrew</tt> | Traditional Hebrew numbers |- | <tt>hiragana</tt> | Japanese hiragana numbers |- | <tt>hiragana-iroha</tt> | Japanese hiragana-iroha numbers |- | <tt>katakana</tt> | Japanese katakana numbers |- | <tt>katakana-iroha</tt> | Japanese katakana-iroha numbers |- | <tt>lower-greek</tt> | Lowercase Greek letters |} The <tt>:lang()</tt> pseudo-selector, described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], "Advanced Selectors," can be used in conjunction with these <tt>list-style-type</tt> values; or you could use a normal element selector, a <tt>class</tt> or <tt>id</tt> selector, or anything else that fits your markup. Here are two examples: <div><pre>li:lang(jp) { list-style-type: hiragana; } ul.alphabeta { list-style-type: lower-greek; } </pre></div> <div>Watch Out! These are supported only for those browsers and operating systems that support these character sets and appropriate fonts. This is highly dependent upon the specific version and language support on each computer. Although you should feel free to use these with content in the appropriate language, you should also expect that browsers without support for such a given language will display these as <tt>list-style-type: decimal</tt>.</div> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Styling Your To-Do List If you're like many people, you probably keep a list of what you need to get done. You can organize your life and practice your new CSS skills by following along: {| border="0" |- | <div>'''1. '''</div> | <div>First, create a list in an HTML page of the items you need to complete. Use standard list markupthe <tt><ol></tt> tag is probably most appropriate, so that you can prioritize your list.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Add a style rule, on a linked style sheet or in a <tt><style></tt> section of the <tt><head></tt>, that sets the <tt>list-style-type</tt> property.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Experiment with different list types. Does your list look better with letters, numbers, or Roman numerals?<br /><br /></div> |- | > | > |- | <div>'''4. '''</div> | <div>Try it with a circle, disk, and square as list markers. Which is best for checking off completed items when you print out the list?<br /><br /></div> |} |} The <tt>list-style-image</tt> Property You aren't restricted to bullets that are circles or squares; you can actually use any image you like by using the <tt>list-style-image</tt> property. Naturally, you'll want to use only small images that can function as bullets for this purpose; images that are too large overwhelm the text. As an approximate rule, you should use bullets that are between 12 and 20 pixels in size. I created a simple one-bullet image in a graphics program by first creating a 16-pixel by 16-pixel blank image, then drawing a black circle, and then adding a yellow plus sign in the middle of it; this is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig04 Figure 13.4]. <center> Figure 13.4. Creating a simple list bullet image. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig04_alt.jpg [View full size image]]</div>[[Image:13fig04.jpg|500px]] </center> To use this image as a bullet, I simply need to set the <tt>list-style-image</tt> property in a rule, as in the following: <div><pre>selector { list-style-image: url("graphic"); </pre></div> An example of a style sheet that uses bullet images is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex04 Listing 13.4]. Notice that I also set the <tt>list-style-type</tt> property to <tt>circle;</tt> if the image can't be loaded for any reason, the <tt>circle</tt> is displayed instead. Listing 13.4. Setting a <tt>list-style-image</tt> {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* lists-13.4.css */<br />ol { list-style-type: upper-roman; }<br />ul { list-style-type: square;<br />list-style-image: url("yellowplus.gif"); }<br />ul ul { list-style-type: circle; }<br />/* This will inherit the list-style-image above */<br />#nav a { display: list-item;<br />margin-left: 2em;<br />list-style-type: square;<br />list-style-image: url("yellowplus.gif"); }<br /></pre></div><br /> |} Applying this style sheet to the sample lists gives the results in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig05 Figure 13.5]. <center> Figure 13.5. Bullet images marking lists. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig05_alt.jpg [View full size image]]</div>[[Image:13fig05.jpg|500px]] </center> The <tt>list-style-position</tt> Property When a bullet or number marker is placed, it's normally located outside the main content to the left of the list element's box. A virtual marker box is created; the box inherits the text properties of the list item, although the background is always transparent. The browser determines the placement of this virtual marker box; as a web developer, you can't affect the exact placement of the marker. You can control one thing, though: You can move the marker box inside the list element's box, so it functions as an inline box instead. You do this by setting the <tt>list-style-position</tt> property. Three values are possible for <tt>list-style-position: outside</tt> (the default), <tt>inside</tt>, and <tt>inherit</tt>. Any value set on a containing box is inherited, so you can set it on <tt><ol></tt> or <tt><ul></tt> selectors and it will apply to list items within them. The effects of <tt>list-style-position</tt> are clarified in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13ex05 Listing 13.5]; <tt>border</tt> properties have been added to make the list item display boxes clear. Listing 13.5. Setting the Position of the List Bullet or Number {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* lists-13.5.css */<br /><br />ol { list-style-type: upper-roman;<br />list-style-position: inside; }<br /><br />li { border: 1px solid black; margin: 2px; }<br />ul { list-style-type: square;<br />list-style-image: url("yellowplus.gif");<br />list-style-position: outside; }<br />ul ul { list-style-type: circle;<br />list-style-position: inside; }<br /><br />#nav a { display: list-item;<br />list-style-position: inside;<br />list-style-type: square;<br />list-style-image: url("yellowplus.gif");<br />border: 1px solid black; margin: 2px; }<br /></pre></div><br /> |} The repositioned markers are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13fig06 Figure 13.6]. <center> Figure 13.6. List positioning shown by outline boxes. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/13fig06_alt.jpg [View full size image]]</div>[[Image:13fig06.jpg|500px]] </center> The <tt>list-style</tt> Shorthand Property Like other shorthand properties, the <tt>list-style</tt> property lets you set multiple CSS properties at once. A <tt>list-style</tt> rule is written like the following: <div><pre>selector { list-style: type position image; } </pre></div> The values for <tt>type, position</tt>, and <tt>image</tt> can appear in any order; any values that aren't specified are set to their default values. For example, to set the image to <tt>yellowplus.gif</tt>, the bullet type to <tt>square</tt>, and the position to <tt>inside</tt>, you can use the following rule: <div><pre>ul li { list-style: url("yellowplus.gif") square inside; } </pre></div> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Further To-Do List Styling Let's apply what you've learned to further enhance your list of items that need to be done: {| border="0" |- | <div>'''1. '''</div> | <div>If you haven't done so already, create an HTML file with your to-do list in an ordered list (<tt><ol></tt>).<br /><br /></div> |- | <div>'''2. '''</div> | <div>For each item, set a <tt>class</tt> attributeeither <tt>pending</tt> or <tt>done</tt>.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Create two separate graphics, or download them from the Web, to represent <tt>pending</tt> and <tt>done</tt>. I like a simple empty square box for <tt>pending</tt>, and the same box with a check mark for <tt>done</tt>.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Set a <tt>list-style</tt> rule that uses your graphics. Be sure to include default values for the marker type if the graphic isn't available, and adjust the location if you need to.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Load your HTML page in a web browser and change the style rules until you're happy. You can add additional rules that aren't related to <tt>list-style</tt> properties, of course: Do you want to put pending items in bold, or use a strikethrough text effect on completed items? It's your to-do liststyle it the way you'd like!<br /><br /></div> |} |} ./ ADD NAME=CH13LEV1SEC2.HTML Summary HTML defines three types of lists: ordered lists, unordered lists, and definition lists. Ordered and unordered lists contain <tt>list-item</tt> elements, which are a special type of <tt>block</tt> content. Any HTML element with the CSS property display set to <tt>list-item</tt>including <tt><li></tt> tags, thanks to browsers' default style sheetswill generate a virtual marker box. This marker box contains a marker of some kind; ordered lists have number markers and unordered lists have bullets. The type of marker can be set with the <tt>list-style-type</tt> property; a variety of number schemes and bullet types are available. Bullet images can also be used with the <tt>list-style-image</tt> property. The location of the marker box is set with the <tt>list-style-location</tt> property. All these properties can be set at once with the <tt>list-style</tt> shorthand property. ./ ADD NAME=CH13LEV1SEC3.HTML Workshop The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa1q1a1 Q.]''' | How do I set styles on definition lists? You've mostly talked about <tt><ol></tt> and <tt><ul></tt>, not <tt><dl></tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa1q1 A.]''' | That's because from the CSS perspective, definition lists aren't lists at all! They're simply <tt>block</tt> content, not <tt>list-item</tt> elements. That means that you can just create style rules for <tt><dl></tt>, <tt><dt></tt>, and <tt><dd></tt> normally, as you would for any block elements. I personally like to do the following: <div><pre>dt { font-weight: bold; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa1q2a2 Q.]''' | How do I use CSS to set the starting values for ordered lists? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa1q2 A.]''' | Unfortunately, you can't set those with CSS. To set specific number values for ordered lists, you need to use the HTML <tt>start</tt> attribute on the <tt><ol></tt> element or the <tt>value</tt> attribute on <tt><li></tt>. Both these values are deprecated in HTML 4.01, which means you can't use them in Strict HTML documents. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q1a1 1.]''' | Which of these rules will make an ordered list count in lower-case letters? <div># <div><tt>ol { list-style-type: alphabet; }</tt></div> # <div><tt>ol { list-style-type: lower-case; }</tt></div> # <div><tt>ol { list-style-type: lower-letters; }</tt></div> # <div><tt>ol { list-style-type: lower-alpha; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q2a2 2.]''' | Assuming the following style rules, what color will the numbers before a list item be? <div><pre>ol { color: green; }<br />ol li { color: blue; }<br />li { color: black; }<br />ol li span { color: red; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q3a3 3.]''' | You want your bullet list items to be marked by a graphic, <tt>bullet01.jpg</tt>, which looks like a small box. You also want the graphic to be placed inside the list item's display box. How do you write this with the <tt>list-style</tt> shorthand property? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q1 1.]''' | The correct answer is (d); the <tt>lower-alpha</tt> value orders list items with a, b, c, and so on. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q2 2.]''' | The numbers will be the same color as the <tt><li></tt>; in this case, that color is <tt>blue</tt>. (If you think it's <tt>black</tt>, you're forgetting that the second rule is more specific than the first in cascade order.) |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch13qa2q3 3.]''' | Here's one way to write such a rule: <div><pre>ul { list-style: square inside url("bullet01.jpg"); }<br /></pre></div><br /> |} Exercises Some projects you can undertake to investigate list styles on your own include the following: * Build an outline using <tt><ol></tt> and <tt>list-style-type</tt> properties. Adjust the margins and padding to suit taste. * Design several list bullet graphics for your web pages, and add these using the <tt>list-style-image</tt> property. Which kinds of bullets are best at capturing the user's attention? * Create a navigation bar on a web page, consisting of <tt><a></tt> links not grouped in a list. Use <tt>display: list-item</tt> to change the <tt><a></tt> links to a list, then add two types of list bulletsone for unvisited links, one for visited links. ./ ADD NAME=CH14.HTML argdqne8667wrz6xsgth3hrc6ejxd2t User:Bartlett/14 2 2118 5518 2007-06-17T17:09:23Z Bartlett 26 Bog cusub: ./ ADD NAME=CH14.HTML Hour 14. Forms {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The structure of HTML forms and how they interact with CSS ru... 5518 wikitext text/x-wiki ./ ADD NAME=CH14.HTML Hour 14. Forms {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The structure of HTML forms and how they interact with CSS rules * How to style labels, field sets, and legends * How to style text input fields * How to style Submit and Reset buttons * How to style check boxes and radio buttons * How to style pull-down selectors and selection lists * Which style properties are supported for HTML form elements The HTML language provides a <tt><form></tt> element that can be used to gather information interactively from the user, either for submission to the web server or for processing with JavaScript. These forms can be styled with CSS rules, although variable browser support makes it an uncertain proposition. In this hour, you'll learn about which types of styles are supported for forms and which are not. |} ./ ADD NAME=CH14LEV1SEC1.HTML === Styling Form Controls === You create a form in HTML by using the <tt><form></tt> element. Between the <tt><form></tt> and <tt></form></tt> tags, you put the HTML that will comprise the form. This consists of normal markup and content, plus form controls and other HTML tags used specifically for creating forms. Form controls are the interactive portions of the form that let the user enter data for processing on the server or in the browser via JavaScript (or another browser-side language). Examples include text input boxes, check boxes, Submit buttons, and pull-down menus. Other tags that are used with forms designate labels for form elements or group them together in identified sets. Such labels are beneficial for users with disabilities who employ assistive technologies for web access, as well as make your forms easier for everyone to use. <div>Did you Know? If you aren't familiar with the HTML tags for forms, you can learn more by reading Sams Teach Yourself Web Publishing with HTML and CSS in One Hour a Day; ISBN: 0672328860, 5th Edition.</div> The full list of form controls and markup for labels is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14table01 Table 14.1]. The <tt><input></tt> tag alone can be used to create 10 different types of form controls; the specific control created depends on the <tt>type</tt> attribute. {| cellspacing="0" cellpadding="5"|+ Table 14.1. Form Controls and Label Markup |- | HTML Tag | Function |- | <tt><button></tt> | Creates a Reset, Submit, or other programmable pushbutton |- | <tt><fieldset></tt> | Groups related form controls |- | <tt><input type="button"></tt> | Creates a programmable push button |- | <tt><input type="checkbox"></tt> | Creates a check box |- | <tt><input type="file"></tt> | Selects a file from the user's computer system for uploading |- | <tt><input type="hidden"></tt> | Creates a hidden field |- | <tt><input type="image"></tt> | Creates a Submit button from an image |- | <tt><input type="password"></tt> | Creates a single-line text field with obscured input |- | <tt><input type="radio"></tt> | Creates one in a set of radio buttons |- | <tt><input type="reset"></tt> | Creates a Reset button |- | <tt><input type="submit"></tt> | Creates a Submit button |- | <tt><input type="text"></tt> | Creates a single-line text field |- | <tt><label></tt> | Provides a text label for a form control |- | <tt><legend></tt> | Provides a text label for a <tt><fieldset></tt> |- | <tt><optgroup></tt> | Groups related <tt><option></tt> elements together |- | <tt><option></tt> | Designates one choice in a <tt><select></tt> menu |- | <tt><select></tt> | Creates a pull-down menu or scrollable section menu |- | <tt><textarea></tt> | Creates a multi-line text input box |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1] is an example of an HTML form that shows off a number of different form controls. This is part of a hypothetical e-commerce system that enables the user to add a note card to what she's bought from the site. As with most examples, this is a bit contrived, but the purpose is to demonstrate how styles can be applied to HTML forms. Listing 14.1. An HTML Form {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- form-14.1.html --><br /><html><br /><head><br /><title>Include a Note Card</title><br /></head><br /><body><br /><h1>Include a Note Card</h1><br /><form method="post" action="placeholder.php"><br /><p><label><input type="checkbox" id="gift" name="gift"<br />value="1"><br />Check this box if your order is a gift</label></p><br /><p><label for="sendername">Sender's Name:</label><br /><input type="text" name="sendername"<br />value="Your Name Here"<br />size="40" id="sendername"></p><br /><fieldset id="papercolorfieldset"><br /><legend>Color of Paper:</legend><br /><label><input type="radio" name="papercolor"<br />id="papercolorblue" value="blue"><br />Blue</label><br /><label><input type="radio" name="papercolor"<br />id="papercolorpink" value="pink"><br />Pink</label><br /><label><input type="radio" name="papercolor"<br />checked="checked"<br />id="papercolorwhite" value="white"><br />White</label><br /></fieldset><br /><p><label for="inkcolor">Ink Color:</label><br /><select name="inkcolor" id="inkcolor"><br /><option selected value="black">Black</option><br /><option value="navy">Navy Blue</option><br /><option value="maroon">Maroon</option><br /><option value="green">Green</option><br /><option value="gray">Gray</option><br /><option value="red">Red</option><br /></select></p><br /><p><label for="message">Card Message:<br /></label><br /><textarea id="message" name="message" rows="4"<br />cols="40">Type your message here.</textarea></p><br /><p><label for="font">Choose a Font:</label><br /><select name="font" id="font" size="4"><br /><option selected value="TimesNewRoman"><br />Times New Roman</option><br /><option value="Optima">Optima</option><br /><option value="Verdana">Verdana</option><br /><option value="Papyrus">Papyrus</option><br /><option value="MarkerFelt">Marker Felt</option><br /><option value="Arial">Arial</option><br /><option value="CourierNew">Courier New</option><br /></select></p><br /><p><button type="button" id="backbutton"<br />name="backbutton">&lArr; Go Back</button><br /><input type="submit" id="submitbutton"<br />name="submitbutton" value="Submit Form"><br /><input type="reset" id="resetbutton"<br />name="resetbutton" value="Reset Form"></p><br /></form><br /></body><br /></html><br /></pre></div><br /> |} Without styles, this is a rather boring form, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig01 Figure 14.1]. Have no fear; it can be improved with CSS. <center> Figure 14.1. Firefox displays the HTML form with default styles. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig01_alt.jpg [View full size image]]</div>[[Image:14fig01.jpg|500px]] </center> Labels, Fieldsets, and Legends The labels for form elements are the easiest to style; they're not even form controls, just normal HTML blocks. The <tt><label></tt> tag, for labeling individual form controls, is an inline element and can be styled like any other inline element. The <tt><fieldset></tt> tag is a block element, used to group together related elements (such as a group of radio buttons), and the <tt><legend></tt> element serves as a label for a <tt><fieldset></tt>. These are shown by example in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1]. As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig01 Figure 14.1], the <tt><fieldset></tt> tag creates a border around the form controls it encloses, and <tt><legend></tt> is set as an introductory header. This styling convention isn't specified in the standards, but is ubiquitous in modern browsers. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2] is a style sheet that adds rules specifically to style the <tt><label></tt>, <tt><fieldset></tt>, and <tt><legend></tt> elements, as well as adding a border and font to the entire <tt><form></tt>. <div>By the Way This hour's style sheets demonstrate some style properties that you haven't learned yet, if you're reading this book in sequential order. You'll learn about <tt>float</tt> in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment"; padding, margin, and border properties in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes"; and width and height in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], "Box Sizing and Offset."</div> Listing 14.2. A Style Sheet for Form Labels {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* labels-14.2.css */<br /><br />form { padding:0 0.5em;<br />margin: 0 0.5em;<br />border: 1px solid black;<br />font-family: Arial, sans-serif; }<br /><br />label { border: 1px dotted gray;<br />background-color: silver; }<br />label[for] { border: none; background-color: inherit;<br />float: left; width: 25%; }<br /><br />fieldset { margin-left: 25%; width: 60%; padding: 0; }<br />legend { color: white; background-color: black; }<br /></pre></div><br /> |} <div>Watch Out! The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2], and the rest of the style sheets in this hour, use attribute value selectors, which were introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], "Advanced Selectors." Internet Explorer version 6.0 (and earlier) does not support attribute value selectors; to support these styles in Internet Explorer, you need to add additional <tt>class</tt> or <tt>id</tt> selectors. The examples in this hour omit these additional selectors to make it clear which form controls are being styled. You can download the versions that work with Internet Explorer 6 from the book's website.</div> Linking the style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2] to the HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1] produces the effect shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig02 Figure 14.2]. You can use any styles with <tt><form></tt>, <tt><label></tt>, <tt><fieldset></tt>, or <tt><legend></tt> that you can use with any normal box elements in HTML, and this is well supported by the web browsers. <center> Figure 14.2. Borders, margins, and backgrounds are added to form labels. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig02_alt.jpg [View full size image]]</div>[[Image:14fig02.jpg|500px]] </center> Text Input Fields Text boxes are created by the <tt><input type="text"></tt> tag or by the <tt><textarea></tt> tag. The <tt><input type="password"></tt> tag creates a text box as well; any letters typed in it are shown as asterisks but are stored by the browser as data. You can set the font, text color, and background color on a text box. Most browsers default to a white background with black text for text boxes, with <tt><input type="text"></tt> displaying in a serif font, and <tt><textarea></tt> in monospace (as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig01 Figure 14.1]), but there are no hard and fast rules. Your CSS rules can override these browser defaults. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex03 Listing 14.3] is a style sheet with rules for text fields. Listing 14.3. Style Rules for Text Input Fields {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* textboxes-14.3.css */<br /><br />input[type="text"]<br />{ font-size: x-large; background-color: yellow;<br />font-variant: small-caps;<br />color: maroon; width: 60%;<br />padding-left: 1em; padding-right: 1em;<br />font-family: "Courier New", monospace; }<br /><br />textarea { font-family: cursive; width: 60%;<br />color: white; background-color: navy; }<br /></pre></div><br /> |} The style sheet also sets the <tt>padding</tt> and the text box <tt>width</tt> in one rule. In general, dimensions can be set reliably, but other box values (<tt>padding, margin</tt>, and <tt>border</tt>) are less reliable because of browser differences. The results of applying this style sheet to the form in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1] are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig03 Figure 14.3]. The label style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2] was also applied, because it makes the form look a little more tidy. <center> Figure 14.3. Colors and fonts can be set on text input fields. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig03_alt.jpg [View full size image]]</div>[[Image:14fig03.jpg|500px]] </center> Buttons A button in an HTML form does one of three things: submits, resets, or is a programmable button called a "push" button. A Submit button, when clicked by the user, sends the form data to the server. A Reset button restores the form to its original state, with fields that are either blank or preset to a default value by the form designer. A pushbutton has no predefined action associated with it; a JavaScript action needs to be attached to make the button do anything. See Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch01.html#ch01 Hour 1], "CSS and JavaScript," for more on the JavaScript language. A button is created by the <tt><input></tt> tag or the <tt><button></tt> tag. There are three buttons in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1], one of each type: Submit, Reset, and a programmable push button the "Go Back" button which, on a real form, could be tied to a JavaScript function. The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex04 Listing 14.4] sets CSS values on these buttons. Listing 14.4. Rules for Styling Form Buttons {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* buttons-14.4.css */<br />input[type="submit"]<br />{ font-style: oblique;<br />background-color: navy; color: white;<br />padding-left: 2em; padding-right: 2em; }<br />input[type="reset"]<br />{ font-family: cursive; background-color: white;<br />border: 3px solid blue; color: red;<br />margin-left: 25%; width: 300px; }<br />button { border-style: inset;<br />border-color: green;<br />padding: 10px; color: green; }<br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig04 Figure 14.4] shows the style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex04 Listing 14.4] applied to the HTML form in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1], as well as the label styles from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2]. <center> Figure 14.4. Each button has been styled separately. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig04_alt.jpg [View full size image]]</div>[[Image:14fig04.jpg|500px]] </center> Check Boxes A check box in HTML is created by the <tt><input type="checkbox"></tt> tag, and is a simple binary switch: It is either off or on, like a light switch. Browsers display check boxes as square boxes that can be clicked, and when clicked, an "X" or a check mark appears in the box. A radio button is one of a set of form controls that share the same name attribute, created by <tt><input type="radio"></tt>. Only one radio button in a set can be checked at a time; selecting a new value deselects the previous setting. This is analogous to old-time analog car radios, which had push buttons that caused the tuner to jump to a new value. Browsers display radio buttons as circles with a dark dot in the selected value. The <tt><label></tt> tag is used to provide a label for each type of check box. It can be either wrapped around a check box by containing the <tt><input></tt> tag that defines the check box, or set next to it with a <tt>for</tt> attribute designating which form control it labels. A set of radio buttons can be wrapped in a <tt><fieldset></tt> tag to group the <tt><input></tt> tags with an appropriate <tt><legend></tt> label. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex05 Listing 14.5] is a style sheet that provides some style rules for the HTML form's check boxes. Listing 14.5. A Style Sheet That Styles Check Boxes {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* checkradio-14.5.css */<br />input[type="checkbox"]<br />{ background-color: blue;<br />color: yellow;<br />font-size: xx-large;<br />width: 50px; border-style: solid; }<br />input[type="radio"]<br />{ background-color: lime;<br />color: orange;<br />font-size: small; }<br />input[checked]<br />{ color: black; background-color: silver;<br />width: 50px; }<br /></pre></div><br /> |} You can see the results of linking this style sheet (and the label styles from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2]) to the HTML form in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1] in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig05 Figure 14.5]. As you can see, most of the rules, such as the font-size and the color rules, have had almost no effect. The <tt>width</tt> rule has stretched out the check box and radio button, however. As you'll see later in this hour, Firefox is the only browser that does this; other browsers reserve more room for the check box, but leave the actual check box the same. <center> Figure 14.5. The effects of styling a check box are minimal, as seen in Firefox. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig05_alt.jpg [View full size image]]</div>[[Image:14fig05.jpg|500px]] </center> Directly styling a check box or radio button is not very useful because most browsers ignore such attempts. It is better to apply styles to the labels surrounding the check boxes. Selection Lists You form a selection list by wrapping the <tt><select></tt> tag around one or more <tt><option></tt> tags. If no <tt>size</tt> property is given, the selection list will be a pull-down list; if a <tt>size</tt> value is given, it will be a scrollable list showing as many lines as indicated by the <tt>size</tt>. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex06 Listing 14.6] is a style sheet that gives a width to the two <tt><select></tt> tags in the example form, as well as setting various properties on the <tt><option></tt> elements. Listing 14.6. Style Rules for Changing Selection List Options {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* select-14.6.css */<br />select { width: 60%; }<br />#inkcolor option { color: white; }<br />option[value="black"] { background-color: black; }<br />option[value="navy"] { background-color: navy; }<br />option[value="maroon"] { background-color: maroon; }<br />option[value="green"] { background-color: green; }<br />option[value="gray"] { background-color: gray; }<br />option[value="red"] { background-color: red; }<br />#font { border: none; background-color: silver;<br />padding: 1em 15%; height: 100px; }<br />#font option<br />{ text-align: center; border: 1px solid black;<br />margin: 3px 0; font-size: large;<br />background-color: white; }<br />option[value="TimesNewRoman"]<br />{ font-family: "Times New Roman", serif; }<br />option[value="Optima"]<br />{ font-family: Optima, sans-serif; }<br />option[value="Verdana"]<br />{ font-family: Verdana, sans-serif; }<br />option[value="Papyrus"]<br />{ font-family: Papyrus, fantasy; }<br />option[value="MarkerFelt"]<br />{ font-family: "Marker Felt", cursive; }<br />option[value="Arial"]<br />{ font-famiy: Arial, sans-serif; }<br />option[value="CourierNew"]<br />{ font-family: "Courier New", sans-serif; }<br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig06 Figure 14.6] shows [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex06 Listing 14.6] (and [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex02 Listing 14.2]) applied to the HTML form in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14ex01 Listing 14.1]. As you can see, the fonts and colors specified are used, as well as the box properties (padding, margins, borders) in the second <tt><select></tt> that sets the font choices. <center> Figure 14.6. The selection options appear in different colors and fonts. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig06_alt.jpg [View full size image]]</div>[[Image:14fig06.jpg|500px]] </center> Although this is a very neat effect, don't get too excited about it. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig06 Figure 14.6] was created with Firefox, which is the only browser to support restyling selection lists in this manner, as you'll see later this hour. Applying styles to <tt><option></tt> elements is fun, but not reliable. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Styling a Simple Email Form Create your own form to apply style rules and find out which your browsers fully support. Follow these steps: {| border="0" |- | <div>'''1. '''</div> | <div>Create an HTML file in your text editor or web development software.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Add a form tag like this, but with your own email address:<br /><br /><div><pre><form action="mailto:kynn@example.com"><br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Create a text input field in which the user can enter her email address, a pull-down menu for choosing a subject category, and a text area for a message. Make sure you include <tt><label></tt> tags for the field labels as well.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Include a button for submitting the form, and don't forget to close the form with a <tt></form></tt> tag.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Now create a style sheet for the form. Set your default styles such as the font and colors first.<br /><br /></div> |- | <div>'''6. '''</div> | <div>Add styles for the text input field. Select colors and fonts that are pleasing.<br /><br /></div> |- | <div>'''7. '''</div> | <div>Similarly, write style rules for the text area; add a background color and change the font if you wish.<br /><br /></div> |- | <div>'''8. '''</div> | <div>Provide style rules for the pull-down menu as well. Not all browsers support these rules, so don't be too disappointed if they don't show up.<br /><br /></div> |- | <div>'''9. '''</div> | <div>View the form in your web browser, with the style sheet unlinked, then link it in. How does it look to you?<br /><br /></div> |} |} ./ ADD NAME=CH14LEV1SEC2.HTML === Browser Support for Form Styles === As noted earlier in this hour, browsers don't reliably style form elements in the same way, making certain stylesespecially on check boxes and selection listsvery hitand-miss in actual practice. Why is this? The CSS specifications themselves are conspicuously silent on the issue of styling form controls. Form controls are considered part of the browser's user interface (UI), not actual content for manipulation by CSS rules. The way buttons, check boxes, and pull-down lists are displayed depends on the browser's UI scheme, which is based on the operating system's user interface. For example, the figures in this chapter were primarily shot on a computer running Mac OS X. If you are using a Windows computer, the appearance, shape, and size of your Submit button will look appropriate for your system, and not like those in the book. This means that form controls fall into a no-man's-land in the specification; it is up to the browser programmers to decide to what extent the form controls can be reshaped with CSS. Each browser company has chosen a different solution, which makes form element styling inconsistent from browser to browser. Firefox Firefox (and any other Gecko-based browser) supports styling for most form controls, as seen earlier in this hour, with the exception of check boxes, which are minimally styled. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig07 Figure 14.7] shows the results of applying all five style sheets in this hour to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14lev1sec1.html#ch14ex01 Listing 14.1]. <center> Figure 14.7. Firefox displaying all form styles. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig07_alt.jpg [View full size image]]</div>[[Image:14fig07.jpg|500px]] </center> Opera Opera is the only browser to allow extensive styling of check boxes; the <tt>color, background-color</tt>, and <tt>border</tt> properties are applied correctly, and the check box is not stretched out. However, Opera (as of version 8.5) doesn't allow restyling of selection boxes. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig08 Figure 14.8] shows all five style sheets linked to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14lev1sec1.html#ch14ex01 Listing 14.1]. Compare this with [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig07 Figure 14.7]; the font-variant and padding properties for the text input box aren't respected. (The <tt><textarea></tt> box is styled correctly, though, even though you can't see it in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig08 Figure 14.8] because of the pull-down menu.) <center> Figure 14.8. All form style sheets, shown by Opera. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig08_alt.jpg [View full size image]]</div>[[Image:14fig08.jpg|500px]] </center> Safari Safari's take on the five style sheets is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig09 Figure 14.9]. Space is reserved for check boxes with <tt>width</tt> set, but they're not stretched as in Firefox. Note that only the button created with <tt><button></tt> is styled; the submit and reset button are unchanged. As with Opera, neither <tt><select></tt> menu is styled. <center> Figure 14.9. Form styles displayed by Safari. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig09_alt.jpg [View full size image]]</div>[[Image:14fig09.jpg|500px]] </center> Internet Explorer Internet Explorer 6 applies the fewest style rules from the five style sheets, as you can see in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig10 Figure 14.10]. Style rules are applied to the <tt><textarea></tt> box, but not the simple text box created by <tt><input></tt>. The width properties on the check boxes are ignored, and the styles for <tt><select></tt> menus aren't used. You can't add many styles to your forms in Internet Explorer 6. <center> Figure 14.10. Internet Explorer attempts to display form styles. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/14fig10_alt.jpg [View full size image]]</div>[[Image:14fig10.jpg|500px]] </center> <div>By the Way The screenshot in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig10 Figure 14.10] was taken after ID values were added to the HTML in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14lev1sec1.html#ch14ex01 Listing 14.1], and additional ID selectors in the five style sheets given this hour, as noted earlier.</div> <div>Watch Out! You can use CSS rules to produce some very extensive changes in the appearance of form controls. On browsers supporting specific form styles, you can drastically change the appearance of Submit buttons, of selection lists, and other aspects of the HTML form elements. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig10 Figure 14.10] is vivid example of this. But just because you can do something, that doesn't mean you should do it. Your web page visitors are used to standard forms, with the Submit and Reset buttons at the bottom of the form and the text input fields displayed in a standard font. The more changes you make with CSS rules to the appearance of your form, the more likely you are to throw off your users. When styling your form elements, don't confuse your users by going against their expectations unnecessarily. Use moderation and care when styling forms, and try to avoid making your form look anything like the demonstration form in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14fig10 Figure 14.10]!</div> ./ ADD NAME=CH14LEV1SEC3.HTML Summary CSS rules can be written to style form elements, but the results of these rules are very browser dependent. Some browsers allow extensive restyling of form elements, whereas others are very restrictive. Form labels can be styled easily because they are treated like any other HTML box element. Text input elements can be styled in most browsers; all modern browsers support fonts, colors, and background colors for <tt><textarea></tt>. Buttons created with the <tt><button></tt> tag can be styled in all browsers; however, Submit and Reset buttons created with <tt><input></tt> are less consistent. Check box styles are ignored by most browsers, and only Firefox allows restyling of selection menu options. ./ ADD NAME=CH14LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa1q1a1 Q.]''' | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14lev1sec1.html#ch14ex05 Listing 14.5] has a style rule for a checked radio button. Does this change the style dynamically if you select another radio button? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa1q1 A.]''' | Nope. Browsers unfortunately don't work that way with HTML forms and CSS. To get that type of dynamic effect, try using JavaScript, as described in Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch01.html#ch01 Hour 1]. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa1q2a2 Q.]''' | What's a <tt>&lArr;</tt> anyway? You use it in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14lev1sec1.html#ch14ex01 Listing 14.1] but it shows up as a little rectangle in half the browsers. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa1q2 A.]''' | The double left arrow symbol is represented in HTML by the <tt>&lArr;</tt> entity, and is part of HTML 4.01. A few browsers don't fully support all HTML entities, because they are naughty, naughty browsers. You can use the <tt>&larr;</tt> (left arrow) entity, which is better supported, or just leave it out of your web designs. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q1a1 1.]''' | Which of the following tags does not create a submit button? <div># <div><tt><submit value="Send it!"></tt></div> # <div><tt><input type="submit" value=Sent it!"></tt></div> # <div><tt><input type="image" src="submit.gif" alt="Send it!"></tt></div> # <div><tt><button type="submit">Send it!</button></tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q2a2 2.]''' | You want to put a dotted, silver line under all form labels that enclose their associated form controls. You don't want any underlines on form labels that use <tt>for</tt> attributes to associate the label with the form control. How do you write this rule? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q3a3 3.]''' | Which statements about browser support for form styling are true? <div># <div>Only one browser lets you style selection list values separately.</div> # <div>Internet Explorer 6 has good support for form styles.</div> # <div>Most browsers ignore style rules relating to check boxes.</div> # <div>Labels and legends are hard to style in CSS.</div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q1 1.]''' | (a). There is no <tt><submit></tt> tag in HTML. The others all create Submit buttons. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q2 2.]''' | Here is one way you could do this, using two rules: <div><pre>label { border-bottom: 1px dotted silver;}<br />label[for] { border-bottom: none; }<br /></pre></div><br /> Remember that this won't work in Internet Explorer 6, which doesn't recognize attribute value selectors. All your labels will be underlined in Internet Explorer. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch14qa2q3 3.]''' | Statements (a) and (c) are true, and statements (b) and (d) are false. |} Exercise You are now able to add styles to your HTML forms. To get a better grasp on the browser support issues, create several different types of forms, and add styles to the labels, the text areas, and the form controls such as buttons and check boxes. Which styles not covered in this hour work reliably with each of these types of form elements? Build your forms in a way that the CSS enhances the usefulness for your website visitors. ./ ADD NAME=CH15.HTML ontelcl9fgb72uoz9cyknfpqxkd0z9c User:Bartlett/15 2 2119 5519 2007-06-17T17:10:21Z Bartlett 26 Bog cusub: ./ ADD NAME=CH15.HTML Hour 15. Alignment {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How to align, justify, and center content with CSS * How ... 5519 wikitext text/x-wiki ./ ADD NAME=CH15.HTML Hour 15. Alignment {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How to align, justify, and center content with CSS * How to indent paragraphs and other HTML elements * How to make text that rises above or sinks below the rest of the text, such as subscripts or superscripts * How to float an element on the right or left side so that subsequent content wraps around it Control over text formatting enables you to replace many HTML tags with CSS rules. Effects that were previously available only as presentational markup attributes are part of the Cascading Style Sheets specification and can help you separate presentation from content. |} ./ ADD NAME=CH15LEV1SEC1.HTML === Aligning and Indenting Text === The alignment of text defines the way in which the text lines up with the left or right margins. Most things you read (including this book) are left aligned; left-aligned text is generally easier to read. Centered text is often used on headlines, but it is rarely used on blocks of text because both margins are irregular and jagged, and experienced designers usually reserve right-aligned text for special text effects. An indent is the extra space at the start of a line that lets you know you're on a new paragraph. In web design, new paragraphs are more commonly indicated by extra spacing than by indented text, although you are free to combine both if it suits your needs. CSS properties enable you to control both the alignment and the indentation, setting them to whatever values you like on HTML block elements. The <tt>text-align</tt> Property Alignment of text inside a block property is controlled by the <tt>text-align</tt> property. This property has meaning only on block boxes; the content of inline boxes has no alignment, although the inline boxes themselves are aligned within the surrounding box. The block box itself is not actually positioned; only the content inside the box is aligned. To position the box itself, rather than its content, use either the margin properties you'll learn in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes," or the positioning properties you'll learn in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], "Absolute and Fixed Positioning." [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15table01 Table 15.1] shows the values you can assign to the <tt>text-align</tt> property; the default value is <tt>left</tt>. The <tt>text-align</tt> property is inherited, so you can use a single <tt><div></tt> or even a rule on the <tt><body></tt> to center an entire page. There's one exception; for backwards compatibility, browsers usually have a default rule that sets <tt>text-align: left</tt> for <tt><td></tt> tags and <tt>text-align: center</tt> for <tt><th></tt> tags. Keep this in mind when using tables, especially if you use them for layout. {| cellspacing="0" cellpadding="5"|+ Table 15.1. Values for the <tt>text-align</tt> Property |- | Value | Effect |- | <tt>center</tt> | Center the content. |- | <tt>justify</tt> | Justify text on both sides. |- | <tt>left</tt> | Align content on the left. |- | <tt>right</tt> | Align content on the right. |- | <tt>inherit</tt> | Use the value of <tt>text-align</tt> from the containing box. |} Text that is justified is printed so that both the left and right sides line up; browsers accomplish this by adding extra spaces between words and letters. The last line of a justified paragraph is usually left aligned, if it's too short to fill an entire line by itself. A simple HTML page with embedded style sheet that uses <tt>text-align</tt> is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex01 Listing 15.1]; the style rules result in the effects shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig01 Figure 15.1]. Borders have been added to the paragraph boxes to make it easier to see how the text aligns with the edges of the boxes. Listing 15.1. CSS for Alignment {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- imgtip-15.1.html --><br /><html><br /><head><br /><title>Image Accessibility</title><br /><style type="text/css"><br />body { font-family: Arial, sans-serif; }<br />p { border: 1px solid #333333;<br />padding: 0.5em; }<br />p#a { text-align: left; }<br />p#b { text-align: justify; }<br />p#c { text-align: center; }<br />p#d { text-align: right; }<br /></style><br /></head><br /><body><br /><p id="a"><br />Always include an <tt>alt</tt> attribute on your<br /><tt>&lt;img&gt;</tt> tag.<br />The <tt>alt</tt> attribute should contain a short<br />replacement for the graphic, in text. If the image<br />itself has text, list that in <tt>alt</tt>.<br />If the image is purely decorative and doesn't convey<br />any additional information, use <tt>alt=""</tt>.<br />If there is more information in the graphic than you<br />can convey in a short <tt>alt</tt> attribute, such<br />as the information in a graph or chart, then use<br />the <tt>longdesc</tt> attribute to give the URL of<br />a page that describes the graphic in text.<br /></p><br /><p id="b"><br />...<br /><!-- repeat of the previous paragraph --><br /></p><br /><p id="c"><br />...<br /></p><br /><p id="d"><br />...<br /></p><br /></body><br /></html><br /></pre></div><br /> |} <center> Figure 15.1. Lining up margins with CSS. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig01_alt.jpg [View full size image]]</div>[[Image:15fig01.jpg|500px]] </center> The <tt>text-indent</tt> Property Although it's most commonly used on <tt><p></tt> tags, the <tt>text-indent</tt> property can be set on any block element in HTML. (It has no effect if applied to an inline tag.) The effect produced by this property is indentation of the first line of the element, resulting from an added blank space. This blank space is treated similarly to the <tt>padding</tt> of the displayed box: It is inside the <tt>margin</tt> and <tt>border</tt> of the box, and it is colored with the same <tt>background-color</tt> as the element content. The values for <tt>text-indent</tt> are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15table02 Table 15.2]; in summary, you can either give a measurement value, such as <tt>3em</tt> and <tt>10px</tt>, or a percentage value based on the size of the containing box. The default indentation is <tt>0px</tt>. The value of <tt>text-indent</tt> is inherited by all children elements, but keep in mind that it has no effect on inline elements, only block elements that inherit the value. {| cellspacing="0" cellpadding="5"|+ Table 15.2. Values for the <tt>text-indent</tt> Property |- | Value | Effect |- | <tt>measurement</tt> | Sets an indent. |- | <tt>negative measurement</tt> | Sets a hanging indent. |- | <tt>percentage</tt> | Sets an indent based on a fraction of the containing box. |- | <tt>inherit</tt> | Use the value of <tt>text-indent</tt> from the containing box. |} The simplest indentations are the most straightforward; here's a rule to indent all paragraphs by 3ems: <div><pre>p { text-indent: 3em; } </pre></div> It gets a little trickier if you want to make a hanging indentone where the first line is not actually indented but the other lines of the text are indented. To do this, you can give a negative measurement, but it then flows off the left side of the element's box, which means it may not be visible or may overwrite other content. The best solution is to add a <tt>margin</tt> to the box, which indents all the text except for that initial line, which subtracts its value from the <tt>margin</tt>. Here's an example, which creates a <tt>2.8em</tt> hanging indent: <div><pre>p { text-indent: -2.8em; margin-left: 3em; } </pre></div> <div>By the Way This example used the <tt>margin-left</tt> property, which sets the <tt>margin</tt> for just the left side of the box. You'll learn about this and other properties that affect only one side of the box in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16].</div> The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex02 Listing 15.2] uses several different ways to set indents. Replacing the embedded style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex01 Listing 15.1] with the style sheet in this listing produces the effects shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig02 Figure 15.2]. The border on the fourth box shows how the hanging indent actually extends outside the paragraph element's display box. In practice, when using hanging indents you should avoid using borders or backgrounds on those elements; wrap them in a <tt><div></tt> and style instead to get the appropriate border or background effect. Listing 15.2. Style Sheet with Several Different <tt>text-indent</tt> Values {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>body { font-family: Arial, sans-serif; }<br />p { border: 1px solid #333333;<br />padding: 0.5em; }<br />p#a { text-indent: 25px; }<br />p#b { text-indent: 75%; }<br />p#c { text-indent: 3em; }<br />p#d { text-indent: -3em;<br />margin-left: 3em; }<br /></pre></div><br /> |} <center> Figure 15.2. Various types of indentations. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig02_alt.jpg [View full size image]]</div>[[Image:15fig02.jpg|500px]] </center> <div>Did you Know? There is no value none for <tt>text-indent; text-indent</tt> only takes measurements (or <tt>inherit</tt>) as values. To set indentation to "none" use <tt>text-indent: 0</tt>.</div> The <tt>vertical-align</tt> Property The property <tt>vertical-align</tt> is used to adjust vertical alignment within an inline box. This can be used to make text appear higher or lower compared with the rest of the text on the line; it's most useful for creating superscripts or subscripts. Superscripts are bits of text with the baseline above the surrounding text; subscripts have baselines lower than the surrounding text. <div>Did you Know? Except for table cells, only inline elements use the <tt>vertical-align</tt> property. The use of <tt>vertical-align</tt> with table cells is covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17], "Styling Tables."</div> The types of values that can be set for the <tt>vertical-align</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15table03 Table 15.3]. The default value is <tt>baseline</tt>, and any values set on containing boxes are not inherited. {| cellspacing="0" cellpadding="5"|+ Table 15.3. Values for the <tt>vertical-align</tt> Property |- | Value | Effect |- | <tt>baseline</tt> | Align with the surrounding text. |- | <tt>bottom</tt> | Align the bottom with bottom of line. |- | <tt>middle</tt> | Align with the middle of the surrounding text. |- | <tt>sub</tt> | Lower to subscript level. |- | <tt>super</tt> | Raise to superscript level. |- | <tt>text-top</tt> | Align with the top of surrounding text. |- | <tt>text-bottom</tt> | Align with the bottom of surrounding text. |- | <tt>top</tt> | Align the top with top of line. |- | <tt>measurement</tt> | Raise above surrounding text. |- | <tt>negative measurement</tt> | Lower below surrounding text. |- | <tt>percentage</tt> | Raise as a percentage of the <tt>line-height</tt>. |- | <tt>negative percentage</tt> | Lower as a percentage of the <tt>line-height</tt>. |} Several of these values require further explanation. The <tt>middle</tt> value aligns the middle of the text with a height that's <tt>0.5ex</tt> above the baseline of the surrounding text. An <tt>ex</tt> is a unit of measure equal to the height of a lowercase letter, usually about half the <tt>font-size</tt>. Percentages are based on the value of the <tt>line-height</tt>, which is usually equal to the <tt>font-size</tt>. The <tt>top</tt> and <tt>bottom</tt> values align with the highest and lowest parts of the line, whereas <tt>text-top</tt> and <tt>text-bottom</tt> are based only on the containing box's <tt>font-size</tt> values. <div>Watch Out! Browser implementation of <tt>vertical-align</tt> is highly variable and is dependent upon factors such as <tt>font-size, ex</tt> calculation, and others. The safest values for consistency's sake are <tt>sub</tt>, <tt>super</tt>, measurements, and percentages; fortunately, the others are not particularly useful most of the time, anyway.</div> To create superscripts or subscripts, you use the <tt>vertical-align</tt> property, probably in combination with <tt>font-size</tt>; the <tt>vertical-align</tt> property doesn't affect the size of text, but most subscripts or superscripts are smaller than the surrounding text. Here are some example rules: <div><pre>.atoms { vertical-align: -0.4em; font-size: smaller; } .power { vertical-align: super; font-size: smaller; } </pre></div> You'd use these style rules in HTML by setting <tt>class</tt> attributes, like this: <div><pre>H<span class="atoms">2</span>0 x<span class="power">2</span> - 1 = 63 </pre></div> The effects of these styles can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig03 Figure 15.3]. You could also use the HTML Transitional elements <tt><sub></tt> and <tt><sup></tt> for the same effects, but CSS affords you more control over the specific presentation details. <center> Figure 15.3. Superscripts and subscripts in CSS. [[Image:15fig03.jpg|300px]] </center> ./ ADD NAME=CH15LEV1SEC2.HTML === Floating Content === Another way to align content is to float it. Floating boxes move to one side or another according to the value of the <tt>float</tt> property, and any following content flows around them in a liquid fashion. The <tt>clear</tt> property can be used to indicate when the rest of the content should stop flowing around the floating box. This effect should be familiar to experienced HTML developers who have used the <tt>align</tt> attribute on <tt><img></tt> or <tt><table></tt> tags to position floating content on either side of the page layout. The <tt>clear</tt> attribute on the <tt><br></tt> tag has been used to control when the floating should end. The CSS properties <tt>float</tt> and <tt>clear</tt> can be used on any HTML elements and therefore greatly extend the types of content that can be set to float or to stop flowing. An example of floating content can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig04 Figure 15.4]; the pull quote is positioned on the left, and the subsequent text content wraps around it on the right side and then flows back out to the full width when the quote ends. <center> Figure 15.4. Floating content to the left. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig04_alt.jpg [View full size image]]</div>[[Image:15fig04.jpg|500px]] </center> Floating content is especially useful for pictures (with or without captions), pull quotes, and sidebar text. The <tt>float</tt> Property The values for the <tt>float</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15table04 Table 15.4]; the default value is <tt>none</tt>, meaning that the box and subsequent content are laid out according to the normal flow. {| cellspacing="0" cellpadding="5"|+ Table 15.4. Values for the <tt>float</tt> Property |- | Value | Effect |- | <tt>left</tt> | The box moves to the left, and text flows around the right side. |- | <tt>none</tt> | The box doesn't move, and text is not flowed around it. |- | <tt>right</tt> | The box moves to the right, and text flows around the left side. |- | <tt>inherit</tt> | Use the <tt>float</tt> value of the containing box. |} When a box is floated, it is positioned within its containing box's content section. The floating box remains within the margin, border, and padding of its containing box; it simply moves to the right or left side as appropriate. Any subsequent content is placed alongside the floating box for the length of that box. The source for the page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig04 Figure 15.4] is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex03 Listing 15.3]. Listing 15.3. An HTML File with a Pull Quote That Will Be Floated {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- pullquote-15.3.html --><br /><html><br /><head><br /><title>Accessibility of Color</title><br /><style type="text/css"><br />h1 { font-family: Verdana, sans-serif; }<br />p { font-size: large;<br />font-family: Arial, sans-serif;<br />line-spacing: 1.25; }<br />.pullquote<br />{ float: left;<br />font-family: Verdana, sans-serif;<br />text-indent: 0;<br />border: 5px solid black;<br />padding: 0.5em;<br />margin: 0.75em;<br />background-color: silver; }<br />.pullquote p<br />{ margin: 0; padding: 0; }<br />.pullquote blockquote<br />{ font-style: italic;<br />padding: 0; margin: 0; }<br />.pullquote img { float: left; }<br /></style><br /></head><br /><body><br /><h1>Don't <em>Rely</em> on Color Alone</h1><br /><p> Some web users may be unable to see color -- they may<br />be blind (and use a screen reader program); they may<br />be color-blind and unable to easily distinguish colors;<br />or they could be using an access device, such as a cell<br />phone, which does not display color. For this reason,<br />the W3C's Web Accessibility Initiative recommends that<br />you not <em>rely</em> upon color as the <em>only</em><br />way of conveying information.</p><br /><div class="pullquote"><br /><img src="k.gif" alt=""> <!-- decorative only --><br /><p>Kynn says:</p><br /><blockquote><br /><p>"Color is very<br><br />useful to those<br><br />who can see it"</p><br /></blockquote><br /></div><br /><p> This doesn't mean "don't use color" -- on the contrary,<br />color is very useful to those who can see it, and will<br />help make your page understandable. What it does mean<br />is that color (and other presentational effects) should<br />not be the only way you make something special. For<br />example, rather than use a &lt;span&gt; and a color<br />style to make something stand out, use the &lt;strong&gt;<br />tag (which you can also style) so browsers that<br />can't use the visual CSS color rule can at least know<br />to emphasize that section -- perhaps by increasing the<br />volume when reading the text out loud, for example.</p><br /></body><br /></html><br /></pre></div><br /> |} The rule that makes the content move to the side is <tt>float: left</tt>. To place the pull-quote on the right side of the text, you can simply change that rule to read <tt>float: right</tt> instead. This is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig05 Figure 15.5]. <center> Figure 15.5. Floating the content to the right. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig05_alt.jpg [View full size image]]</div>[[Image:15fig05.jpg|500px]] </center> <div>Did you Know? Other properties can be set on floated elements, of course, and some of the most useful are the <tt>margin</tt> properties, which can be used to affect how close subsequent content will flow. For example, <tt>margin-left</tt> on a right-floating element keeps the flowing text at a respectable distance. The example in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex03 Listing 15.3] also sets a background on the pull quote, as well as increases the size and adds italics.</div> In addition to the pull quote itself, there's an additional piece of floating content in this examplethe graphic symbol within the pull-quote is also floating. This was set by the following rule in the embedded style sheet: <div><pre>.pullquote img { float: left; } </pre></div> Notice that this rule moves the image within its own containing boxthe pull quote <tt><div></tt>and doesn't move it to the edge of the entire page. The <tt>clear</tt> Property To stop subsequent text from flowing around a floating element, you can set the <tt>clear</tt> property on the first element you don't want to flow. This moves that element down far enough so that it doesn't wrap around the floating box. This effectively increases the top margin of the element with the <tt>clear</tt> property on it by an amount calculated by the browser to provide enough space to reach past the floating box. The values for <tt>clear</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15table05 Table 15.5]; naturally, the default value is <tt>none</tt>. Other values specify whether the content should stop the flow around all floating boxes or only boxes on either the left or right side. {| cellspacing="0" cellpadding="5"|+ Table 15.5. Values for the <tt>clear</tt> Property |- | Value | Effect |- | <tt>both</tt> | Move this box down enough so it doesn't flow around floating boxes. |- | <tt>left</tt> | Move this box down enough so it doesn't flow around left-floating boxes. |- | <tt>none</tt> | Don't move this box; allow it to flow normally. |- | <tt>right</tt> | Move this box down enough so it doesn't flow around right-floating boxes. |- | <tt>inherit</tt> | Use the <tt>clear</tt> value of the containing box. |} To use this property with the pull quote example from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex03 Listing 15.3] requires only adding a rule such as this to the embedded style sheet: <div><pre>blockquote { clear: left; } </pre></div> This rule says that when a <tt><blockquote></tt> element is found, stop flowing the text around floated elements, and move down far enough to get past any that are present. The <tt><blockquote></tt> in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex03 Listing 15.3] would normally flow around the floating image next to "Kynn says:", but as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig06 Figure 15.6], the <tt>clear</tt> rule stops the flow of text. <center> Figure 15.6. Clearing the float at the blockquote. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig06_alt.jpg [View full size image]]</div>[[Image:15fig06.jpg|500px]] </center> <div>Did you Know? Sometimes, if you float multiple boxes of content, you get a staggered effect down the page, where one box is positioned against the lower right corner of another. This happens because floated content tries to locate itself as high as possible, in addition to moving to the left or right. To avoid this problem, set a <tt>clear</tt> property on your floating content, like this: <div><pre>div#sidebar { float: right; clear: right; } </pre></div></div> Thumbnail Galleries A common use for the <tt>float</tt> property is in creating a gallery of thumbnail images that link to larger pictures, for displaying photographs or artwork on a website. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex04 Listing 15.4] is an HTML page with embedded style sheet that employs <tt>float</tt> in this manner. Listing 15.4. A Simple Photo Gallery Page {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- gallery-15.4.html --><br /><html><br /><head><br /><title>Desert Museum Pictures</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />#gallery<br />{ border: 3px solid gray;<br />margin: 1em;<br />padding: 0.75em; }<br />#gallery h2 { margin: 0; }<br />#gallery div<br />{ border: 1px solid black;<br />margin: 10px;<br />padding: 10px;<br />width: 100px;<br />font-size: small;<br />float: left;<br />text-align: center; }<br />#gallery h2<br />{ clear: left; }<br />#credits { clear: both; }<br /></style><br /></head><br /><body><br /><h1>Desert Museum</h1><br /><p>Here are some pictures I took at the<br />Arizona-Sonora Desert Museum in Tucson:</p><br /><div id="gallery"><br /><h2>Mammals:</h2><br /><div><br /><a href="pics/coyote-001.jpg"><img<br />src="pics/thumb/coyote-001_thumb.jpg"<br />border="Thumbnail"></a><br><br />A Coyote<br /></div><br /><div><br /><a href="pics/coyote-002.jpg"><img<br />src="pics/thumb/coyote-002_thumb.jpg"<br />border="Thumbnail"></a><br><br />Another Coyote<br /></div><br />... <!-- more like these --><br /><h2>Birds:</h2><br />...<br /><p id="credits"><br />Pictures taken by<br /><a href="http://kynn.com/">Kynn Bartlett</a>.<br /></p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} <div>By the Way The picture gallery here uses the <tt>width</tt> property, which you'll learn about in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], "Box Sizing and Offset." The <tt>width</tt> property forces all the images and their captions to take up the same horizontal space.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15fig07 Figure 15.7] shows the results of displaying this page in a browser. When the browser window changesbecause of different screen resolution or simply shrinking the size of the browser application's windowthe pictures continue to line up. The extra pictures just get pushed down to the next available space. <center> Figure 15.7. Thumbnail gallery displayed in a browser. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/15fig07_alt.jpg [View full size image]]</div>[[Image:15fig07.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Create an Image Gallery Use CSS to display your own pictures as in this example. Follow these steps: {| border="0" |- | <div>'''1. '''</div> | <div>Get a number of pictures together, perhaps some you've taken on a family vacation or at a friend's birthday party. Save these all in one web directory.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Using a graphics program, create smaller versions of these pictures that are no more than 100 pixels wide. Save these in a "thumb" directory.<br /><br /></div> |- | > | > |- | <div>'''3. '''</div> | <div>Create an HTML page similar to that in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15ex04 Listing 15.4], which has a <tt><div></tt> around each picture and its caption. Each picture should be a link to the full-size version of the picture.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Write a CSS rule using <tt>float</tt> to line up these <tt><div></tt>s so that they line up across the page and continue down to the next line when they're out of room.<br /><br /></div> |- | <div>'''5. '''</div> | <div>View your gallery in your web browser. What other styles would you like to add to your gallery to enhance its appearance? Some font choices perhaps?<br /><br /></div> |} |} ./ ADD NAME=CH15LEV1SEC3.HTML Summary Several CSS properties allow you to adjust the appearance of text when displayed by the browsers, altering the alignment, indentation, and flow of content. The <tt>text-align</tt> property specifies whether the text should be lined up on the left side, the right side, or both sides, or in the center. The <tt>text-indent</tt> property lets you set a paragraph indent or other indent, although hanging indents are somewhat unreliable across browsers. The <tt>vertical-align</tt> property lets you specify how text is aligned within an inline box and can create subscripts or superscripts. The normal flow of the page can be affected by the <tt>float</tt> property, which positions a display box on either the right or left side of its containing box's content area. Subsequent text then flows around the floating box, wrapping around the outer margin. The <tt>clear</tt> property can be used to move content down the page until it no longer flows. ./ ADD NAME=CH15LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and exercises to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa1q1a1 Q.]''' | The <tt>text-align</tt> property works only on inline content. So how do I align a block element? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa1q1 A.]''' | You can align a block element in two ways: with margin properties and float. To place a block element on the left side of its containing block, use the <tt>margin-right</tt> property with a value of <tt>auto</tt>, and to align it on the right, use a <tt>margin-left</tt> value of <tt>auto</tt>. To center it, set both <tt>margin-left</tt> and <tt>margin-right</tt> to <tt>auto</tt>. You'll learn more about the right and left margins in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16]. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa2q1a1 1.]''' | Which of these rules sets a paragraph indent equal to 300% of the <tt>font-size?</tt> <div># <div><tt>p { text-indent: 300%; }</tt></div> # <div><tt>p { text-indent: 30px; }</tt></div> # <div><tt>p { text-indent: 3em; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa2q2a2 2.]''' | Part of your web page consists of an image followed by text; the next section begins with an <tt><h3></tt> tag. You want the image to be located on the left and the text to flow around it, but you don't want the next section's header to be placed next to the image. What CSS rules would you write to do this? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa2q1 1.]''' | Rule (c) is the correct answer. <tt>1em</tt> equals the <tt>font-size</tt> measurement; if the <tt>font-size</tt> is <tt>12pt, 3em</tt> is 36 points. Percentages in <tt>text-indent</tt>, such as rule (a), are based on the containing block's size; so <tt>text-indent: 300%</tt> means to have a first line indent that is three times larger than the box holding the paragraph! A more reasonable value would be between <tt>0%</tt> and <tt>50%</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch15qa2q2 2.]''' | Here's an example of the type of rules you would write; in practice you'd probably use <tt>class</tt> or <tt>id</tt> selectors to make these more specific: <div><pre>img { float: left; }<br />h3 { clear: left; }<br /></pre></div><br /> |} Exercises Your own experiments with the properties in this hour will help you master how to use them to style your text and float content. Try the following to expand your understanding: * Using <tt>vertical-align: super</tt>, create some links that are anchors to footnotes at the bottom of the page. What makes a good-looking footnote reference? Experiment with smaller font size and adding or removing underlines. * Try some text styles for your paragraphs, including <tt>line spacing</tt> (from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10], "Text Colors and Effects") coupled with <tt>text-indent</tt>. Printed text has often used indentation for paragraph text, whereas web browsers simply use vertical space (created by margins) between paragraphs. Test it out yourself to see how indenting paragraphs changes the feel of your page. * The <tt>float</tt> property can be used to position menus on the sides of your web pages. Create some pages that use <tt>float</tt> to provide simple layout. You'll learn more about using <tt>float</tt> in layout in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS," but for now you have a useful tool for styling your pages. ./ ADD NAME=CH16.HTML mosj3zx9dch43sojqw1rl8ttlrkjh44 User:Bartlett/16 2 2120 5520 2007-06-17T17:13:00Z Bartlett 26 Bog cusub: ./ ADD NAME=CH16.HTML Hour 16. Borders and Boxes {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What the four sides of each box are called, and h... 5520 wikitext text/x-wiki ./ ADD NAME=CH16.HTML Hour 16. Borders and Boxes {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What the four sides of each box are called, and how to refer to them in CSS rules * How to use the margin shorthand property to specify margins for specific sides of a box * Which margin values to set to center boxes horizontally * How to set the padding on each side of a box * Which width, color, and line styles can be used on box borders * How to set borders for specific sides of the box * Which properties and values enable you to hide the display of a box and its contents Within the CSS visual formatting model, all HTML elements are displayed as either inline boxes or block boxes. Property values in CSS rules affect the way these boxes are displayed by applying the styles to the content of each box. You learned about the box model in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6], "The CSS Box Model," and how you can use the <tt>margin</tt>, <tt>padding</tt>, and <tt>border</tt> properties to affect how a box is displayed. Those core properties enable you to manipulate the edges of the box itself, from the space around the content, to the border around the box, and finally to the space surrounding the content of the box. |} ./ ADD NAME=CH16LEV1SEC1.HTML Adjusting Boxes As you've seen before, CSS browsers view all web pages as a series of nested boxes. Block boxes contain inline boxes or other block boxes; inline boxes contain content, usually text. Styles are applied on a box-by-box basis, using selectors that identify boxes or groups of boxes. Each of these boxes consists of the inside of the box, which is where you can find the content or any child boxes, and the edgethe margin, border, and padding. As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6], you can adjust these by using properties known as the edge properties. You use the <tt>margin</tt> property to set the blank space just within the limits of the box; the border property to set a line surrounding the content, within the margin; and the <tt>padding</tt> property to add spacing between the content and the other edge properties. Changing these properties lets you affect the appearance and placement of a display box so that you can better control how your content is shown to the web user. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6] when I introduced the <tt>margin</tt>, <tt>padding</tt>, and <tt>border</tt> properties, I didn't mention that they are actually shorthand properties, as are the <tt>font</tt> and <tt>background</tt> properties. A shorthand property is one that sets several properties at once, first resetting them to their default values (as defined by the W3C specification) and then setting individual values as given in the declaration. Each of the edge shorthand properties sets the edge characteristics of all four sides of the box. A box in the CSS has four sides: top, bottom, left, and right. The edge properties for each side are displayed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16fig01 Figure 16.1]. <center> Figure 16.1. The edge properties surrounding the content in the box model, on four sides. [[Image:16fig01.jpg|479px]] </center> Edge properties for each side enable you either to set the margin, padding, and border separately for every side or to set several at once with a shorthand property. When using a shorthand property, you can specify between one and four values; the results of these values are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table01 Table 16.1]. {| cellspacing="0" cellpadding="5"|+ Table 16.1. Shorthand Values for Edge Properties |- | Shorthand Values | Effect |- | <tt>value</tt> | Sets all four properties to the same value |- | <tt>value1 value2</tt> | Set the top and bottom properties to <tt>value1</tt> and the right and left properties to <tt>value2</tt> |- | <tt>value1 value2 value3</tt> | Set the top property to <tt>value1</tt>, the right and left properties to <tt>value2</tt>, and the bottom property to <tt>value3</tt> |- | <tt>value1 value2 value3 value4</tt> | Set properties in clockwise order: top, right, bottom, left |} Values can also be set with individual properties, such as <tt>margin-left</tt> or <tt>padding-bottom</tt>. A shorthand value always sets all appropriate values; no sides are left unset, even if less than four values are specified. Setting the Margins Take a look at setting the margins first. You can set all the margins to a single value with the <tt>margin</tt> property, like this: <div><pre>#content p { margin: 3em; } </pre></div> This would put a margin space of 3 ems around any paragraphs identified by this selector. Remember that vertical margins collapse, so the nearest vertical content will be 3 ems away, unless the other content has a greater margin. When collapsing margins, you compare the bottom margin of the first box to the top margin of the second. If both are positive, the distance is the greater of the two; if one is negative, the distance is the difference between them. If both vertical margins are negative, the distance between the boxes is the largest negative value. Negative distances mean overlapping display boxes, which is allowable in CSS, albeit often confusing. Imagine that you want to set just the horizontal margins. Here are four ways to do that: <div><pre>#content p { margin-left: 3em; margin-right: 3em; } #content p { margin: 0em 3em; } #content p { margin: 0em 3em 0em; } #content p { margin: 0em 3em 0em 3em; } </pre></div> All these rules are identical in effect; they set the right and left margins to 3 ems. <div>Did you Know? Nearly any displayed element box has margins that can be adjusted; the exceptions are table cells. Table cells, represented by <tt><td></tt> or <tt><th></tt> in HTML, don't have margins. See the discussion of table styling in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17], "Styling Tables," for more about this.</div> Margin values are not inherited; unless otherwise set, a box's margin will be zero. The types of values you can set for margins are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table02 Table 16.2]. {| cellspacing="0" cellpadding="5"|+ Table 16.2. Values for the <tt>margin</tt> Properties |- | Value | Effect |- | <tt>measurement</tt> | Set the margin(s) to a specified size. |- | <tt>negative measurement</tt> | Reduce the margin(s) of touching boxes by a specified size. |- | <tt>percentage</tt> | Set the margin(s) to a percentage of the containing box's width. |- | <tt>auto</tt> | Automatically calculate the margin(s). |- | <tt>inherit</tt> | Use the margin value(s) of the containing box. |} <div>By the Way Note that percentages are always based on the width of the containing block, even vertical margins. You'd expect them to be determined relative to the height of the containing box, but this just isn't the case in CSS.</div> The value <tt>auto</tt> requires some explanation. If it is set on an inline element's margins, the value is calculated to <tt>0</tt>. If set on a box element's left margin or right margin, the margin is set to be all remaining space within the containing box; this will move the box with the margin to one side or another. If both the left and right margins are set to <tt>auto</tt>, the box will be centered within its containing box. A value of <tt>auto</tt> for a top or bottom margin has no effect. <div>Did you Know? Actually, a value of auto for any margin can mean more than what I've described here, but only when you're using CSS to position content on the screen. You'll learn more about auto margins in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], "Absolute and Fixed Positioning," in the discussion on CSS positioning.</div> Setting the Padding Setting values for <tt>padding</tt> in CSS is simpler than setting <tt>margin</tt> values because there are no <tt>auto</tt> values and no negative measurements. The only values for padding are measurements and percentages. Percentage values for <tt>padding</tt>, such as <tt>margin</tt> percentages, are based on the containing box's width, even for the top and bottom padding properties. Here are four different ways to set the top padding to 4 pixels, the left and right padding to 0 pixels, and the bottom padding to 8 pixels: <div><pre>#content p { padding-top: 4px; padding-bottom: 8px; } #content p { padding: 4px 0px 8px; } #content p { padding: 4px 0px 8px 0px; } #content p { padding: 4px 0px; padding-bottom: 8px; } </pre></div> Note that in the last rule, the <tt>padding-bottom</tt> was set twice, once as part of the <tt>padding</tt> shorthand rule, to <tt>4px</tt>, and later separately to <tt>8px</tt>. Because the second rule comes later (and all other priority factors are the same), the bottom padding will be 8 pixels. Setting the Border Borders in CSS have three distinct values associated with them: the width, or thickness of the border; the color of the border; and the style, or type of line drawn. With four sides, that means that there are actually 12 properties associated with the borders: the <tt>width</tt>, <tt>color</tt>, and <tt>style</tt> for <tt>top</tt>, <tt>bottom</tt>, <tt>left</tt>, and <tt>right</tt>. Each is written as <tt>border-</tt><tt>side</tt><tt>-</tt><tt>property</tt>, such as <tt>border-left-style</tt> or <tt>border-bottom-color</tt>. The <tt>border</tt> shorthand property sets all 12 of these properties at once. Using the border property, you'd write a rule like this: <div><pre>#nav div { border: solid purple 3px; } </pre></div> This defines the border as a solid purple line that is 3 pixels wide. This is the same as the following rule: <div><pre>#nav div { border-top-style: solid; border-top-color: purple; border-top-width: 3px; border-right-style: solid; border-right-color: purple; border-right-width: 3px; border-bottom-style: solid; border-bottom-color: purple; border-bottom-width: 3px; border-left-style: solid; border-left-color: purple; border-left-width: 3px; } </pre></div> Unlike <tt>margin</tt> and <tt>width</tt>, you can't set one to four different values for each side's border using the <tt>border</tt> shorthand property; instead, you can use one shorthand property per side, as in the following: <div><pre>#nav div { border-left: 1em solid green; border-right: 2em dashed blue; border-top: 1.5em dotted red; border-bottom: 0.5em solid purple; } </pre></div> Alternately, you can use other shorthand properties to set all the <tt>border-width</tt>, <tt>border-color</tt>, and <tt>border-style</tt> values at once. You also can set the 12 border-style properties individually or combine these approaches, using normal CSS cascading rules to resolve priorities. Border Width The thickness of the border is set by a <tt>border-width</tt> value; possible values are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table03 Table 16.3]. If no <tt>border-width</tt> value is specified in a shorthand property, the default is <tt>medium</tt>. For a border to be displayed at all, the <tt>border-width</tt> value for each side must be set to something, even if it's simply set to the default with a shorthand property. {| cellspacing="0" cellpadding="5"|+ Table 16.3. Values for the <tt>border-width</tt> Properties |- | Value | Effect |- | <tt>medium</tt> | Sets a medium thickness border |- | <tt>thick</tt> | Sets a thick border |- | <tt>thin</tt> | Sets a thin border |- | <tt>measurement</tt> | Sets a border as wide as the specified measurement |- | <tt>inherit</tt> | Uses the inherited <tt>border-width</tt> value of the containing box |} The values <tt>thin</tt>, <tt>medium</tt>, and <tt>thick</tt> are relative values whose exact measurements are left up to the browser. The browser can determine the precise thickness however it likes, though within certain constraints; thin can't be thicker than <tt>medium</tt>, <tt>thick</tt> can't be thinner than <tt>medium</tt>, and when displaying a page, all borders of a given thickness must be the same width. One browser's interpretation of these values is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16fig02 Figure 16.2]. <center> Figure 16.2. Each <tt>border-width</tt> value displayed in Firefox. [[Image:16fig02.jpg|300px]] </center> The thickness of each side's border doesn't have to be the same; each can be set to a different value if you like. To set different thicknesses, you can either use multiple values with the <tt>border-width</tt> shorthand property, or use the <tt>border-width</tt> property for each side. Here are some examples: <div><pre>#nav div { border-width: 3px 2px 3px 4px; } #nav div { border-top-width: 3px; border-right-width: 2px; border-bottom-width: 3px; border-left-width: 4px; } #nav div { border-width: 3px 4px; border-right: 2px; } </pre></div> These all set the same effect: a top border of 3 pixels, a right border of 2 pixels, a bottom border of 3 pixels, and a left border of 4 pixels. <div>Did you Know? Border values that are measurements based on ems are calculated based on the size of the text for that box. For example, if you have the following rules in your style sheet: <div><pre>body { font-size: 30px; } .sidebar { font-size: 50%; border: 0.2em; } </pre></div> The text within the <tt>.sidebar</tt> will be 50% of <tt>30px</tt>, or <tt>15px</tt>, and the border will be <tt>0.2em</tt> at that current size, or <tt>3px</tt> wide. It won't be <tt>6px</tt>, which is what it would be based on the size of the body text, not the <tt>.sidebar</tt> text. If there were no font-size rule for <tt>.sidebar</tt>, then the border would be <tt>6px</tt> wide. This also applies to margins and padding, so when you change the size of the text in a box, you may also change relative units as well, which are based on that font size.</div> Border Color The color of all borders can be set at once with the <tt>border-color</tt> shorthand property or set individually with the <tt>border-top-color</tt>, <tt>border-right-color</tt>, <tt>border-bottom-color</tt>, and <tt>border-left-color</tt> properties. If no color is specified, the default color value will be the foreground text color set by the <tt>color</tt> attribute. You can specify the border color as you would any other colors in CSS: by RGB hex values, numeric values, or percentages, or by color name. Examples of setting border color are <div><pre>#nav div { border-color: red white blue; } #nav div { border-top-color: red; border-right-color: white; border-bottom-color: blue; border-left-color: white; } </pre></div> Border Style The line appearance of the border is determined by the <tt>border-style</tt> properties: <tt>border-top-style</tt>, <tt>border-right-style</tt>, <tt>border-bottom-style</tt>, and <tt>border-left-style</tt>. These can be set with the <tt>border</tt> shorthand property or with the <tt>border-style</tt> shorthand property that sets the style for all four of the borders. Valid border types are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table04 Table 16.4]. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6] introduced the <tt>solid</tt>, <tt>dashed</tt>, and <tt>dotted</tt> values. This hour adds the three-dimensional border values <tt>groove</tt>, <tt>ridge</tt>, <tt>inset</tt>, and <tt>outset</tt>, as well as the <tt>hidden</tt> and <tt>double</tt> values. {| cellspacing="0" cellpadding="5"|+ Table 16.4. Values for the <tt>border-style</tt> Properties |- | Value | Effect |- | <tt>dashed</tt> | A dashed border |- | <tt>dotted</tt> | A dotted border |- | <tt>double</tt> | A solid double line border |- | <tt>groove</tt> | The border appears to be carved into the page |- | <tt>hidden</tt> | No border displayed; borders collapsed in tables |- | <tt>inset</tt> | The entire box appears to be carved into the page |- | <tt>none</tt> | No border displayed |- | <tt>outset</tt> | The entire box appears to rise up from the page |- | <tt>ridge</tt> | The border appears to rise up from the page |- | <tt>solid</tt> | A solid single line border |- | <tt>inherit</tt> | Use the value of the border-style from the containing box |} The <tt>none</tt> and <tt>hidden</tt> values are identicalno border is displayedexcept in table styles. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17] you'll learn more about collapsing borders for table cells. The exact rendition of each border style is left up to the browser implementation, constrained by the definitions of each style; obviously, a <tt>dashed</tt> border should be made up of dashed lines. Examples of each type of border are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16fig03 Figure 16.3]. <center> Figure 16.3. Each <tt>border-style</tt> value displayed in Firefox. [[Image:16fig03.jpg|500px]] </center> Not all browsers support all border styles; in fact, the CSS specifications explicitly allow them to opt out certain border styles. Browsers that don't display all border styles can instead choose to show them as <tt>solid</tt>. However, the styles listed here are currently supported by all modern browsers. ./ ADD NAME=CH16LEV1SEC2.HTML Displaying Boxes In addition to changing the properties of the box edge, you can also set certain boxes to not be displayed at all or to display differently. The properties controlling this are the <tt>display</tt> and <tt>visibility</tt> properties. Why wouldn't you want a box to display? Well, in most cases you'll want them to show up; this is why they're in the page content, after all. However, you may want to hide a display box if that content is inappropriate for the type of output medium being used. For example, a navigation bar may not make sense on the printed page because you obviously can't click on paper. The <tt>display</tt> and <tt>visibility</tt> properties are also useful with JavaScript to produce Dynamic HTML effects. <div>By the Way You'll learn more about style sheets for printers in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media." Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch01.html#ch01 Hour 1], "CSS and JavaScript" (on the book's website), can fill you in on Dynamic HTML.</div> The <tt>display</tt> Property As you've seen before, you can use the <tt>display</tt> property to change a box from a block element to an inline element or vice versa; you can also use it to make something display as a list item. In general, you'll want to avoid overriding the default display rules for HTML in browsers; there are too many things that can get confused if you do this, such as the default margins on certain elements. However, setting the <tt>display</tt> property is very useful when you're dealing with XML, as you'll learn in Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "CSS and XML" (on the book's website). There are going to be some times when you're going to want to use the <tt>display</tt> property with HTML, especially if you need to hide some content. The values you can assign to <tt>display</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table05 Table 16.5]. {| cellspacing="0" cellpadding="5"|+ Table 16.5. Values for the <tt>display</tt> Property |- | Value | Effect |- | <tt>block</tt> | Display as a block box |- | <tt>inline</tt> | Display as an inline box |- | <tt>inline-block</tt> | Display inline, as an inline box, but with the box's content displayed as if it were a block box |- | <tt>list-item</tt> | Display as a list item with list item marker |- | <tt>none</tt> | Don't display the box or its children boxes |- | <tt>run-in</tt> | Display as a run-in box |- | <tt>inherit</tt> | Use the display value of the containing box |} In addition to the values listed here, there are several values for display that apply only to tables, such as <tt>inline-table</tt> or <tt>table-row-group</tt>; these are covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17]. The <tt>inline-block</tt> property was introduced in CSS Level 2.1, and is a compromise between an <tt>inline</tt> box and a <tt>block</tt> box. For purposes of placing the <tt>inline-block</tt> box, it is treated as an <tt>inline</tt> element. However, <tt>inline</tt> elements usually contain only other <tt>inline</tt> boxes; the <tt>inline-block</tt> element contains <tt>block</tt>-level boxes. Boxes with the <tt>display</tt> value <tt>run-in</tt> are displayed as either block or inline depending on context. A <tt>run-in</tt> box displays as a block element unless there's another block element (which isn't positioned with CSS positioning) after it as a sibling element, in which case it will become the first inline block of that subsequent block element. <div>Watch Out! The <tt>run-in</tt> value for the <tt>display</tt> property isn't supported by Firefox. However, <tt>run-in</tt> boxes are rather complex for the actual benefit they provide; you can likely get the same effect with other properties, values, and markup, rather than try to use <tt>run-in</tt>.</div> Hiding Boxes with <tt>display: none</tt> The value <tt>none</tt> means that any selected elements aren't displayed; their boxes (and the boxes of their children) don't even appear. This value technically isn't inherited, but if you set one box to <tt>display: none</tt> and then try to set one of its children to <tt>display: block</tt> (or <tt>display: inline</tt>), the inner box still doesn't appear. <div>Did you Know? The <tt>display</tt> property is a handy way to include messages for users with browsers that don't support CSS, such as Lynx. For example, if you're using a specific color to mark new entries, you can add some text explanations with <tt>display: none</tt>. Here is an example: <div><pre>New books are marked in red<span class="hidden"> or with the word New</span>: <ul> <li><span class="hidden">New:</span> <span class="new">Teach Yourself CSS in 24 Hours</span> </li> </ul> </pre></div> You'd then write CSS rules to support those classes, like this: <div><pre>.hidden { display: none; } .new { color: red; } </pre></div></div> <div>Watch Out! You might guess you'd be able to use the <tt>display</tt> trick to hide or reveal content selectively for users with visual disabilities who use screen readers, perhaps in combination with a media type. If you thought that, you wouldn't be alone (a lot of experienced web developers have assumed it would work that way), but unfortunately it's not true in practice. Screen readers take their presentation from what's displayed on the screen by a browser such as Internet Explorer, and if you hide accessibility information with a <tt>display: none</tt> rule, the browser won't see itand neither will the screen reader. For some interesting attempts at work-arounds, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks."</div> Styling Navigation Lists A navigation bar on a web page is simply a list of linksa list in the normal English sense of the word list, not the HTML meaning with <tt><ul></tt> and <tt><li></tt> tags. Or is it? Most navigation bars don't need list markers, such as bullets or numbers. Furthermore, many navigation bars are horizontal, whereas lists are vertical. So at first glance, an HTML list built with <tt><ul></tt> would seem inappropriate for navigation. However, you can use the <tt>display</tt> property to change the way these lists are displayed. Consider the following HTML, which contains a navigation list: <div><pre><ul id="nav"> <li><a href="/">Home</a></li> <li><a href="/author.html">The Author</a></li> <li><a href="/downloads.html">Downloads</a></li> <li><a href="/contact.html">Contact</a></li> </ul> </pre></div> Normally this is displayed by a browser as a list of bullet items. Using CSS, you can style this to be either a vertical navigation bar or a horizontal one. To create a vertical navigation bar, simply use these simple style rules: <div><pre>#nav li { display: block; } #nav { padding: 0; margin: 0; } </pre></div> This changes the list items from <tt>display</tt> type <tt>list-item</tt> to <tt>block</tt>, and remove the padding and margins inserted by <tt><ul></tt> lists. To create a horizontal navigation bar, you can do the same, but change the list items to inline blocks: <div><pre>#nav li { display: inline; padding-right: 1em; padding-left: 1em; } </pre></div> Some <tt>padding</tt> was added to provide some extra space. Of course, you can use CSS to set background colors, borders, and any other appropriate properties you wish on the <tt><ul></tt> and <tt><li></tt> elements. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16fig04 Figure 16.4] displays the same navigation list three timesthe identical HTML, but styled to be a vertical navigation bar and a horizontal navigation bar. <center> Figure 16.4. A navigation list restyled to navigation bars. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/16fig04_alt.jpg [View full size image]]</div>[[Image:16fig04.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Create Graphics-Free Navigation Buttons The border properties can be used in conjunction with color, background-color, and font properties to create "buttons" that look like graphics but are really HTML tags with styles applied. Here are some ideas you could try for practice: {| border="0" |- | <div>'''1. '''</div> | <div>Use a simple HTML list to create a menu bar. Add this to a web page as a navigation bar, using either tables for layout or CSS-based layouts (described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS").<br /><br /></div> |- | <div>'''2. '''</div> | <div>Add style rules to change the navigation bar to be either vertical or horizontal, as fits your page. If you have two navigation barsand many pages willthen style one as horizontal and one as vertical.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Set the font characteristics and size, the foreground and background colors, and the <tt>text-decoration</tt> on any links present.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Draw a border around each list item, using an <tt>inset</tt> or <tt>outset border-style</tt>. This will make your button appear to stand out (or sink into) the page.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Finally, change the border style to solid and try setting your own colors on each border to give a different three-dimensional effect. If you set the colors explicitly, you have more control over the resulting button's appearance. To make a button stand out from the page, use a light color on the top and left and a darker color on the right and bottom.<br /><br /></div> |} |} The <tt>visibility</tt> Property Both the <tt>visibility</tt> and <tt>display</tt> properties affect whether or not the element's display box is shown. The difference between the two is that <tt>visibility</tt> sets aside a place on the page for an undisplayed box, whereas <tt>display</tt> does not. The place where the box (and its contents) would normally be displayed is instead shown as a transparent box of the same size. The values for <tt>visibility</tt> are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16table06 Table 16.6]. {| cellspacing="0" cellpadding="5"|+ Table 16.6. Values for the <tt>visibility</tt> Property |- | Value | Effect |- | <tt>collapse</tt> | Collapse only table cells; see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17] |- | <tt>hidden</tt> | Don't display the box, but reserve the space in the layout |- | <tt>visible</tt> | Display the box normally |- | <tt>inherit</tt> | Use the visibility value of the containing box |} The <tt>visibility</tt> property is most useful in dynamic HTML and JavaScript, where you can interactively change the <tt>visibility</tt> of a box in response to user actions. For more on this, see Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch01.html#ch01 Hour 1] on the book's website. ./ ADD NAME=CH16LEV1SEC3.HTML Summary Each side of a display box is named: top, right, bottom, and left. You can set the margins and padding space for each, using shorthand properties or individual properties. If you use shorthand properties and specify one value, it applies to all sides; two values assign the top/bottom and left/right; three designate top, left/right, and bottom; and four values set the properties in clockwise order. There are also 12 properties that control the borders, and a number of shorthand properties exist to set them all in various combinations. The width, color, and line style of the borders can be set all at once, or they can be set individually for each side. You can also control whether or not a box is displayed at all. To hide a box entirely, use the <tt>display: none</tt> value. If you want to reserve space for the box, but not actually show it or its content, use the <tt>visibility</tt> property with a value of <tt>hidden</tt>. ./ ADD NAME=CH16LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa1q1a1 Q.]''' | How can I align a box with <tt>margin</tt> properties? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa1q1 A.]''' | Here's how it works. First, don't use <tt>text-align</tt> unless you want the content of the box to be aligned. Instead, use <tt>margin-left</tt> and <tt>margin-right</tt> properties as shown here: <div><pre>.left { margin-right: auto; } /* align left */<br />.right { margin-left: auto; } /* align right */<br />.center { margin-right: auto;<br />margin-left: auto; } /* center */<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa1q2a2 Q.]''' | I tried setting a black border that should be <tt>inset</tt>, <tt>groove</tt>, <tt>outset</tt>, or <tt>ridge</tt>, and it showed up as <tt>solid</tt>! What gives? |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa1q2 A.]''' | When you set a border with those three-dimensional border types, you add the third dimension by adjusting the base color. The edges "facing the light" are colored lighter, and the edges "in shadow" are darker. The CSS specification doesn't say how to derive those colors, so browsers are free to use their own methods. If a browser decides that the light color is 20% brighter and the dark color is 20% darker, that works unless your color is less than 20% dark to begin with, like black (<tt>#000000</tt>)you can't actually make a darker version of <tt>#000000</tt>. If you want to be certain that your border colors appear properly three-dimensional, you should set the border style to <tt>solid</tt> and manually choose your own lighter and darker side colors, setting them individually on each side border. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q1a1 1.]''' | These two shorthand properties set the margin and padding. What are equivalent declarations that don't use shorthand properties, and instead use properties such as <tt>margin-left</tt>? <div><pre>#demo { margin: 0em 1em 1.5em;<br />padding: 5px 7px; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q2a2 2.]''' | Likewise, these border shorthand properties can be written as 12 separate property value declarations. What are they? <div><pre>#demo2 { border: 3px groove black;<br />border-style: dashed dotted double solid;<br />border-left: medium inset green; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q3a3 3.]''' | A box that looks like it's depressed into the page has been styled with which border line style? <div># <div><tt>border-style: emboss;</tt></div> # <div><tt>border-style: groove;</tt></div> # <div><tt>border-style: inset;</tt></div> # <div><tt>border-style: sunken;</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q4a4 4.]''' | What's the difference between these two rules? <div><pre>.hide1 { visibility: hidden; }<br />.hide2 { display: none; }<br /></pre></div><br /> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q1 1.]''' | The equivalent declarations are <div><pre>#demo { margin-top: 0em;<br />margin-right: 1em;<br />margin-bottom: 1.5em;<br />margin-left: 1em;<br />padding-top: 5px;<br />padding-right: 7px;<br />padding-bottom: 5px;<br />padding-left: 7px; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q2 2.]''' | Here's how to write those rules as separate properties: <div><pre>#demo2 { border-top-width: 3px;<br />border-top-color: black;<br />border-top-style: dashed<br />border-right-width: 3px;<br />border-right-color: black;<br />border-right-style: dotted;<br />border-bottom-width: 3px;<br />border-bottom-color: black;<br />border-bottom-style: double;<br />border-left-width: medium;<br />border-left-color: green;<br />border-left-style: inset; }<br /></pre></div><br /> Aren't shorthand properties nicer? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q3 3.]''' | The correct answer is (c), <tt>inset</tt>. The <tt>groove</tt> value makes the line appear carved but not the box itself, and there are no such values as <tt>emboss</tt> or <tt>sunken</tt> for border styles. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch16qa2q4 4.]''' | With the first rule, empty (transparent) space is reserved for the box, but with the second, no space is reserved and the box won't be displayed at all. |} Exercise Give yourself some practice with the box properties by experimenting with the appearance of padding, margin, and borders. The <tt><blockquote></tt> element is a good subject for such experimentation: It is used to identify sections of text that are quoted from another source. Special margins, padding, and borders are therefore useful for identifying these. The default styles in web browsers for <tt><blockquote></tt> set margins on the left and right side. Try writing rules that style these quotes differently. For example, your block quotes could have a solid, thin black line on the top and bottom (with an attractive bit of padding added), or a thick dotted line on the left side with no extra margins added. Find something you likeand don't neglect changing the font, the color, and the background color to suit your tastes. ./ ADD NAME=CH17.HTML fxc0zfsa5l6rsnzljuqjakl4rwexmhj User:Bartlett/17 2 2121 5521 2007-06-17T17:14:19Z Bartlett 26 Bog cusub: ./ ADD NAME=CH17.HTML Hour 17. Styling Tables {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What the HTML table model is, and how it is used wit... 5521 wikitext text/x-wiki ./ ADD NAME=CH17.HTML Hour 17. Styling Tables {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What the HTML table model is, and how it is used with CSS * How tables are laid out on the screen * What the layers of a table are, and how CSS rules can be used to affect cells in those layers * How the borders, padding, and spacing of table cells can be affected by CSS * How to use other CSS properties with table layout Tables in HTML are a staple of web development and are used for everything from schedules and calendars to page layout. Although CSS offers the capability to replace tables for visual design of the page, it's a more common scenario to find tables and CSS styles used together for best effect. |} ./ ADD NAME=CH17LEV1SEC1.HTML === Table Formatting === Tables are ubiquitous on the Web and constitute the primary way of formatting output visually; they were intended originally for pure data but have evolved to serve as a rudimentary page-layout sublanguage within HTML. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS," I show you how you can eliminate tables entirely from your web designs and use pure CSS for the positioning of page elements. In this hour, I'm going to assume that you are using tables either for data or layout; the properties here can be used for either. The examples given are for data tables but apply equally well to layout tables. HTML Table Model The way HTML browsers display tables should be familiar to anyone who has done web development work. Tables are employed not only for displaying columns of tabular data, but also for graphically laying out entire pages on the screen. To do any serious web development, you need to know how tables are used in HTML. This same knowledge will serve you well in CSS because the CSS table model is based on the HTML table model. You have probably worked with tables before, and this explanation will be a review for you. An HTML table is defined by the <tt><table></tt> element. Within the opening and closing tags of the <tt><table></tt> can be found a number of table rows, designated by the <tt><tr></tt> tag. Each row is composed of one or more table cells. A table cell can be either table data, <tt><td></tt>, or a table header, <tt><th></tt>. Table headers are generally assumed to convey some sort of information about the corresponding table data cells; at least, if the markup is used properly, this will be true. More complex tables can be built by collecting table rows into groups, using the <tt><thead></tt>, <tt><tbody></tt>, and <tt><tfoot></tt> elements. Each of these tags defines a container that holds one or more table rows and identifies them as a group. The <tt><thead></tt> tag is used to designate table header rows; if a printed table spans more than one sheet of paper, the <tt><thead></tt> should be repeated on the top of each page. The <tt><tfoot></tt> is the complement of the table header rows; it is a group of rows that serves as a footer and should also be repeated if the table spans multiple pages. Table body sections, marked with <tt><tbody></tt> tags, group together related rows; a table can have one or more <tt><tbody></tt> sections. An example of a data table built with table row groups can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1]; this is an HTML file that contains a weekly listing of scheduled events. In fact, it's my current schedule, as I'm writing this book; you can assume that all other time is taken up with either writing or sleeping, and often with very little of the latter! Listing 17.1. A Simple HTML Table {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- schedule-17.1.html --><br /><html><br /><head><br /><title>Weekly Schedule</title><br /></head><br /><body><br /><table><br /><caption>My Schedule</caption><br /><thead><br /><tr><br /><th></th><br /><th>Mon</th><br /><th>Tue</th><br /><th>Wed</th><br /><th>Thu</th><br /><th>Fri</th><br /></tr><br /></thead><br /><tbody><br /><tr><br /><th>Morning</th><br /><td>Class</td><br /><td></td><br /><td>Class</td><br /><td></td><br /><td></td><br /></tr><br /><tr><br /><th>Afternoon</th><br /><td></td><br /><td>Online Gaming</td><br /><td></td><br /><td></td><br /><td></td><br /></tr><br /><tr><br /><th>Evening</th><br /><td></td><br /><td>Class</td><br /><td></td><br /><td>Game Night</td><br /><td></td><br /></tr><br /></tbody><br /></table><br /></body><br /></html><br /></html><br /></pre></div><br /> |} This sample table also contains a <tt><caption></tt> tag; the caption is used to provide a label for the table. You could have specified table columns, as well, by using the <tt><colgroup></tt> and <tt><col></tt> tags, but for now, this table will serve as an effective example for your table-related style properties. Later in this hour, I'll cover columns and column groups. A web browser displays tables with default styling based on the browser's understanding of table markup. Borders typically aren't drawn between cells or around the table; table data cells are left-justified in normal text; table header cells are center-justified and set in bold font; and captions are centered over the table. This can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig01 Figure 17.1], which shows the default styles Firefox uses to display a table. <center> Figure 17.1. Schedule table with default HTML styling in Firefox. [[Image:17fig01.jpg|500px]] </center> CSS Table Layout The Cascading Style Sheets model for tables is based on the HTML model; CSS was specifically built to be compatible with HTML as used on the web. Style sheets can be used in conjunction with HTML markup to style and present columns and rows of information or to lay out the whole page on the screen. <div>Watch Out! Just because you can do something, that doesn't mean you always should. HTML tables were not originally designed for page layout; in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20] you'll learn how you can use CSS positioning properties to create powerful and flexible layouts without using <tt><table></tt> tags. You may still want to use layout tables for backward compatibility with older browsers, but you should also be aware that tables, as a visual way of conveying information, may sometimes leave behind people who have vision-related disabilities. For more on users with disabilities, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media."</div> The link between the HTML and CSS table models is the <tt>display</tt> property in CSS. Each table tag corresponds to a value for <tt>display;</tt> the default style sheet within a CSS-based browser specifies how each item should be shown to the user. The list of additional <tt>display</tt> values is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table01 Table 17.1]. {| cellspacing="0" cellpadding="5"|+ Table 17.1. Table-Related Values for the <tt>display</tt> Property |- | Value | Effect |- | <tt>inline-table</tt> | As <tt><table></tt>; displayed as an inline box. |- | <tt>table</tt> | As <tt><table></tt>; displayed as a block box. |- | <tt>table-caption</tt> | As <tt><caption></tt>; displayed before, after, or beside the table. |- | <tt>table-cell</tt> | As <tt><td></tt> or <tt><th></tt>; an individual table cell. |- | <tt>table-column</tt> | As <tt><col></tt>; not displayed but can be used for formatting. |- | <tt>table-column-group</tt> | As <tt><colgroup></tt>; not displayed but can be used for formatting. |- | <tt>table-footer-group</tt> | As <tt><tfoot></tt>; designates a group of footer rows. |- | <tt>table-header-group</tt> | As <tt><thead></tt>; designates a group of header rows. |- | <tt>table-row</tt> | As <tt><tr></tt>; a row of table cells. |- | <tt>table-row-group</tt> | As <tt><tbody></tt>; designates a group of rows. |} Because these values are built into the browser, you won't ever actually need to change the <tt>display</tt> property to work with tables, but it is useful to know how CSS considers each. For example, CSS classifies <tt><td></tt> and <tt><th></tt> as the same type of <tt>display</tt> property. Table cells in CSS are treated as block boxes; they can contain inline or block content and are contained by <tt>table-row</tt> block boxes. Table rows and groups of table rows are used primarily for grouping. Usually, styles can't be applied to them directly, although properties that are inherited can be set on rows or groups of rows and will apply to cells (<tt><td></tt> or <tt><th></tt>) within those rows. In general, applying styles to table cells is straightforward and follows all the normal rules of cascade and inheritance; nearly any CSS properties can be set on table cells. There are a few exceptions, however, so before you go on, I'll spend some time looking at how CSS styles interact with HTML tables. Layers and Inheritance One key way in which tables differ from other block boxes is the introduction of table layers into the inheritance method. Each cell is considered to be a descendant of several other layers of markup, as shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table02 Table 17.2]. {| cellspacing="0" cellpadding="5"|+ Table 17.2. Table Layers, in Order from Most Specific to Most General |- | Layer | Equivalent HTML |- | cells | <tt><td></tt>, <tt><th></tt> |- | rows | <tt><tr></tt> |- | row groups | <tt><thead></tt>, <tt><tbody></tt>, <tt><tfoot></tt> |- | columns | <tt><col></tt> |- | column groups | <tt><colgroup></tt> |- | table | <tt><table></tt> |} The most surprising thing about table layers is that they exist even if the actual tags do not! For example, all cells are part of a row group, even if there are no <tt><thead></tt>, <tt><tbody></tt>, or <tt><tfoot></tt> tags in the document. It is assumed that there is an unstated, invisible <tt><tbody></tt> surrounding all table rows that aren't already within a row group. Likewise, all cells are part of columns and column groups. When considering the appearance of a table cell, you need to take into account the effects of these table layers. For example, the <tt>background-color</tt> property is normally transparent unless otherwise specified. This means that the background of the containing box of the <tt><table></tt> is visible. If <tt>background-color</tt> is set on a <tt><tbody></tt>, that is the cell's background color, unless the property is set on a <tt><tr></tt> or a table cell, which are more specific, according to the table layers model. Automatic and Fixed Layouts The browser usually automatically determines the dimensions of the table's box and of the box sizes of each cell within it. Browsers generally follow the same method of calculating the size, but this is not a requirement, and in fact the CSS Level 2.1 specification allows browsers to use whatever method they like to size a table and its cells. This is called an automatic layout. However, in many cases you need more control over the dimensions of the table. At those times, you'll want to use a fixed layout, one where the width and cells of the table are specified in the CSS rules. To tell the browser you're working with a fixed layout, use the <tt>table-layout</tt> property. Values for <tt>table-layout</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table03 Table 17.3]; the default is <tt>auto</tt>. This property can be set only on table elements. {| cellspacing="0" cellpadding="5"|+ Table 17.3. Values for the <tt>table-layout</tt> Property |- | Value | Effect |- | <tt>auto</tt> | Let the browser determine the dimensions of the table and table cells. |- | <tt>fixed</tt> | Explicitly designate the width of each table cell. |- | <tt>inherit</tt> | Use the value of <tt>table-layout</tt> set on the containing block. |} After you have informed the browser that you're using a fixed layout, you then need to define the widths of each column. You do this by setting the <tt>width</tt> property on the table and on each table cell. The value of the <tt>width</tt> property can be either a measurement, such as <tt>300px</tt> or <tt>6em</tt>, or a percentage value. <div>Did you Know? The <tt>width</tt> property can be used with other block elements, as well; you'll learn more about this useful property in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], "Box Sizing and Offset."</div> The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex02 Listing 17.2] sets the <tt>table-layout</tt> property to <tt>fixed</tt> and provides width values for the table and for each table cell. A border is drawn around each cell to make the widths more apparent. Listing 17.2. Style Sheet with Fixed Layout {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.2.css */<br />table { table-layout: fixed;<br />width: 90%; }<br />td, th { width: 15%;<br />border: 2px solid gray; }<br /></pre></div><br /> |} Applying this style sheet to the schedule table from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1] produces the effects shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig02 Figure 17.2]. The primary advantage of a fixed layout is that it displays faster because the browser doesn't have to calculate the column widths. <center> Figure 17.2. Firefox displays a schedule with a fixed layout. [[Image:17fig02.jpg|500px]] </center> Table Borders, Padding, and Spacing Like other block display boxes in CSS, table cells can be surrounded by borders and can have internal padding. Unlike other block boxes, though, a table cell never has a margin on any side. Instead, table styles are used to control spacing around table cells. The appearance of a table cell's borders is affected by several properties that determine which cells display borders and how adjacent borders interact with each other. Displaying or Hiding Empty Cells If you looked carefully at [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig02 Figure 17.2], you might have noticed something unusual: Only cells that contained content had borders drawn around them. This can be an effective way of presenting information in some circumstances, but in others you are going to want a border drawn around all table cells, even those that are empty. You can control the display of borders around table cells by using the <tt>empty-cells</tt> property. The <tt>empty-cells</tt> property can be set only on table elements, and the valid values for this property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table04 Table 17.4]. The default is <tt>hide</tt>, which means borders aren't shown for empty cells. {| cellspacing="0" cellpadding="5"|+ Table 17.4. Values for the <tt>empty-cells</tt> Property |- | Value | Effect |- | <tt>hide</tt> | Don't display borders for empty cells. |- | <tt>show</tt> | Display appropriate borders for empty cells. |- | <tt>inherit</tt> | Use the value of <tt>empty-cells</tt> set on the containing box. |} By setting <tt>empty-cells</tt> to <tt>show</tt>, you are telling the browser that if a cell is empty, it can go ahead and apply whatever <tt>border</tt> style would be used if the cell contained content. If there is no applicable border to use, the cell isn't displayed. Setting only the <tt>empty-cells</tt> property without the appropriate border properties (or the border <tt>shorthand</tt> property) is ineffective. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex03 Listing 17.3] contains rules for several styles of borders, along with an <tt>empty-cells: show</tt> declaration on the table. Listing 17.3. Turning on Borders Around Empty Cells Via the <tt>empty-cells</tt> Property {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.3.css */<br />table { table-layout: auto; width: 90%;<br />font-size: large;<br />empty-cells: show; }<br />td, th { width: 15%; }<br />thead th { border: 0.20em dashed gray; }<br />tbody th { border: 0.25em solid black; }<br />td { border: 0.10em solid gray; }<br /></pre></div><br /> |} In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig03 Figure 17.3], you can see the results of applying this style sheet to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1]; a border surrounds every table cell, in contrast to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig02 Figure 17.2]. <center> Figure 17.3. Empty cells become visible, as shown by Firefox. [[Image:17fig03.jpg|500px]] </center> Collapsing Borders Within CSS you can have two options for how you want table cell borders to be handled: They can either collapse or remain separate. You can choose which of these two display models to use by setting a value for <tt>border-collapse</tt> on your <tt><table></tt> element; appropriate values are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table05 Table 17.5]. {| cellspacing="0" cellpadding="5"|+ Table 17.5. Values for the <tt>border-collapse</tt> Property |- | Value | Effect |- | <tt>collapse</tt> | Collapse adjacent borders together. |- | <tt>separate</tt> | Keep adjacent borders separated. |- | <tt>inherit</tt> | Use the value of <tt>border-collapse</tt> set on the containing box. |} In the collapsed border model, two cells that are adjacent, horizontally or vertically, share a single, common border line between them. There is no space between the cells; one ends where the other begins. You'd use this to produce a clean, simple table presentation where the cells aren't separated within distinct boxes. This is a style choice you'd make based on how you envision the final look of the table. If two adjacent cells have different border properties set on them, the border is based on the most visible <tt>border</tt> of the two. A wider <tt>border</tt> takes precedence over a narrow <tt>border</tt>. If two borders are the same width, the <tt>border-style</tt> determines which one is chosen; in order from most important to least important, a <tt>border-style</tt> value of <tt>double</tt> takes precedence over <tt>solid</tt>, <tt>dashed</tt>, <tt>dotted</tt>, <tt>ridge</tt>, <tt>outset</tt>, <tt>groove</tt>, and <tt>inset</tt>. If two border declarations have the same width and style and differ only in color, a rule set on a more specific layer takes precedence; a style on a table cell beats a row, row group, column, column group, or table rule. Otherwise, normal CSS cascading order is followed. An example of collapsed borders is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex04 Listing 17.4]. This table has different border values for <tt><td></tt> and <tt><th></tt> elements in the table heading and body. Listing 17.4. Style Sheet to Collapse Borders Between Cells {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.4.css */<br />table { table-layout: auto; width: 90%;<br />border-collapse: collapse;<br />font-size: large; empty-cells: show; }<br />td, th { width: 15%; }<br />thead th { border: 0.20em dotted gray; }<br />tbody th { border: 0.25em solid black; }<br />td { border: 0.10em solid gray; }<br /></pre></div><br /> |} The effect of collapsing these borders can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig04 Figure 17.4]. <center> Figure 17.4. Collapsed cell borders displayed by Firefox. [[Image:17fig04.jpg|500px]] </center> Separated Borders Table cells can also be displayed with space between them. This is known as the separated borders model and is selected by a rule on the <tt><table></tt> cell setting the <tt>border-collapse</tt> property to <tt>separate</tt>. You'd choose this stylistic approach if you want cells presented as a distinct box, with a background surrounding each one. For example, a table meant to look like a telephone keypad would use separated borders. In HTML, the spacing between cells is set by the <tt>cellspacing</tt> attribute; in CSS the same effect is accomplished by the <tt>border-spacing</tt> property. The <tt>border-spacing</tt> property sets the distance between the outer edge of adjacent cellsin other words, the spacing between each border. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table06 Table 17.6] indicates the possible values for <tt>border-spacing;</tt> if one value is given, that sets both the horizontal and vertical border-spacing; if two are supplied, the first is the horizontal spacing and the second is the vertical. The space between cells displays the background of the table. {| cellspacing="0" cellpadding="5"|+ Table 17.6. Values for the <tt>border-spacing</tt> Property |- | Value | Effect |- | <tt>measurement</tt> | Set the horizontal and vertical cell-spacing to the same value |- | <tt>measurement measurement</tt> | Set the horizontal and vertical cell-spacing, respectively |- | <tt>inherit</tt> | Use the value(s) for <tt>border-spacing</tt> set on the containing box. |} <div>Watch Out! Current versions of Internet Explorer do not support the <tt>border-spacing</tt> property.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex05 Listing 17.5] is a style sheet that you can apply to the schedule from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1]; it displays the cells with a horizontal spacing of <tt>0.45em</tt> and a vertical spacing of 1em. Listing 17.5. Increasing the Spacing Between Cells Using the <tt>border-spacing</tt> Property {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.5.css */<br />table { table-layout: auto; width: 90%;<br />border-collapse: separate;<br />font-size: large; empty-cells: show;<br />border-spacing: 0.45em 1em; }<br />td, th { width: 15%; }<br />thead th { border: 0.20em dotted gray; }<br />tbody th { border: 0.25em solid black; }<br />td { border: 0.10em solid gray; }<br /></pre></div><br /> |} As you can see from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig05 Figure 17.5], the applied style sheet spaces out the cells appropriately in the schedule. <center> Figure 17.5. Firefox displays spacing between cells. [[Image:17fig05.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Styling Your Weekly Calendar To get your hands dirty with table styles, why not make your own weekly schedule? {| border="0" |- | <div>'''1. '''</div> | <div>Create an HTML table containing your weekly schedule.<br /><br /></div> |- | <div>'''2. '''</div> | <div>You can break it down into the hours of each day, and then group morning, afternoon, and evening rows, using <tt><tbody></tt> elements.<br /><br /></div> |- | > | > |- | <div>'''3. '''</div> | <div>Set specific styles for the <tt><th></tt> and <tt><thead></tt> elements that are the headers for your columns and rows.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Select border styles that fit your personal preferences. Try both the separated and collapsed border models, and see which one you like best. Do you want to display borders around empty cells?<br /><br /></div> |} |} Table Captions The HTML <tt><caption></tt> tag gives the caption, which is a label for a table. This appears within the <tt><table></tt> element as the first child, and it is usually presented before the table. The display box containing the <tt><caption></tt> is as wide as the table itself. The location of the caption isn't fixed; the CSS <tt>caption-side</tt> property can be used to place the caption on a different side of the table box. The values for <tt>caption-side</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17table07 Table 17.7]. This property can be set only on <tt><caption></tt> elements, and the default value is <tt>top</tt>. {| cellspacing="0" cellpadding="5"|+ Table 17.7. Values for the <tt>caption-side</tt> Property |- | Value | Effect |- | <tt>bottom</tt> | Caption appears after the table. |- | <tt>top</tt> | Caption appears before the table. |- | <tt>inherit</tt> | Uses the value of <tt>caption-side</tt> set on the containing box. |} <div>Watch Out! Internet Explorer does not support the <tt>caption-side</tt> property. Your caption always appears before the table rows in Internet Explorer.</div> The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex06 Listing 17.6] moves the caption from the top to the bottom and sets specific font and box properties on the caption, as well. The default styling for <tt><caption></tt> in most browsers is the default font, centered above the table. Listing 17.6. Style Sheet to Move the Caption to the Bottom of the Table {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.6.css */<br /><br />table { table-layout: auto; width: 90%;<br />border-collapse: separate; font-size: large;<br />border: 6px double black;<br />padding: 1em;<br />margin-bottom: 0.5em; }<br />td, th { width: 15%; }<br />thead th { border: 0.10em solid black; }<br />tbody th { border: 0.10em solid black; }<br />td { border: 0.10em solid gray; }<br /><br />caption { caption-side: bottom;<br />font-size: x-large; font-style: italic;<br />border: 6px double black; padding: 0.5em; }<br /></pre></div><br /> |} The results of applying this style sheet to the schedule from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1] can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig06 Figure 17.6]; notice that the widths of the table and the caption are the same. <center> Figure 17.6. The caption displayed after the table, by Firefox. [[Image:17fig06.jpg|500px]] </center> Styling Columns As noted before, each cell in a table is part of a column in addition to being in a row. Cascading Style Sheets can be used to affect the presentation of columns, but only within certain parameters. If you need to apply a set of style rules to a specific column, such as making the third column of cells have a black background, there are two approaches. The first way to do this is to set the third cell of every row to the same <tt>class</tt> and then to write a <tt>class</tt> selector. The second is to write selectors based on columns. To designate a column or a group of columns, you use the <tt><col></tt> and <tt><colgroup></tt> tags. These can be given <tt>class</tt> or <tt>id</tt> attributes to be used in selectors, or they can have <tt>style</tt> attributes for inline styles. You'll extend your schedule markup by adding the <tt><colgroup></tt> and <tt><col></tt> tags in your example. Add the following lines to the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex01 Listing 17.1] immediately after the <tt><caption></tt> tag to define the columns: <div><pre><colgroup> <col id="time"> </colgroup> <colgroup id="days"> <col id="mon"> <col id="tue"> <col id="wed"> <col id="thu"> <col id="fri"> </colgroup> </pre></div> These tags define specific identifiers for columns, which you can use in your CSS rules with id selectors. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex07 Listing 17.7] contains several examples of these types of selectors. Listing 17.7. A Style Sheet Based on Columns {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.7.css */<br /><br />table { table-layout: auto; width: 90%;<br />empty-cells: show; font-size: large; }<br />td, th { width: 15%; }<br />tbody th { border-top: 2px solid black; }<br />tbody td { border-top: 2px solid black; }<br />caption { caption-side: top; text-align: right;<br />font-size: x-large; font-style: italic; }<br />col#mon { background-color: silver; }<br />col#tue { background-color: black;<br />color: white; /* Note: color rule is ignored! */ }<br />col#wed { background-color: violet; }<br />col#thu { background-color: yellow; }<br />col#fri { background-color: lime; }<br /></pre></div><br /> |} Only certain types of properties are allowed in column or column group rules; other properties are ignored. The appropriate properties are <tt>background</tt> and related properties; <tt>width</tt>; <tt>visibility</tt>; and the border properties. The <tt>visibility</tt> property can take the value of <tt>collapse</tt> to hide an entire column; the <tt>border</tt> properties are respected only if the collapsing border model has been chosen with the <tt>border-collapse</tt> property. <div>Watch Out! Opera and Safari do not support the use of columns and column groups in selectors. To set styles on specific columns in these browsers, you will need to set <tt>class</tt> attributes on specific table cells and use appropriate <tt>class-based</tt> selectors.</div> The effects of applying the style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex07 Listing 17.7] to the modified HTML page, with added column markup, can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig07 Figure 17.7]. Note that the rule setting text <tt>color</tt> on Tuesday is ignored because only <tt>background</tt>, <tt>width</tt>, <tt>visibility</tt>, and <tt>border</tt> can be set on columns, but the <tt>background-color</tt> rule was still applied. This leads to black-on-black text, which is unreadable. Be careful that you aren't hiding text like this accidentally. <center> Figure 17.7. The effects of applying the columnar style. [[Image:17fig07.jpg|500px]] </center> ./ ADD NAME=CH17LEV1SEC2.HTML === Applying Other Styles to Tables === Nearly any other styles that can be applied to block elements can be applied to tables or table cells; the primary exception is that table cells never have margin properties. To set the spaces between table cells, you would instead use a separated-borders model, as described earlier, and set the <tt>border-spacing</tt> property on the table. The effect is the same as setting the margin between the cells. Horizontal Alignment As with other block boxes, the alignment of inline elements inside a table cell can be set with the <tt>text-align</tt> property. Use of <tt>text-align</tt> can easily make tables more readable, lining up columns to the <tt>left</tt>, <tt>right</tt>, or <tt>center</tt> as appropriate. Because <tt><th></tt> cells are center-aligned and <tt><td></tt> cells are left-aligned, columns can look a bit disorganized; <tt>text-align</tt> rules can correct this. For example, if you have a table listing movie show dates, you'd want to align the columns to the right, so that the times line up. A sample style sheet using <tt>text-align</tt> is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex08 Listing 17.8]. Listing 17.8. Setting the Horizontal Alignment of Table Cells {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.8.css */<br /><br />table { table-layout: auto; width: 90%;<br />border-collapse: separate; border-spacing: 0.25em;<br />empty-cells: hide; font-size: small;<br />margin-left: auto; margin-right: auto; }<br />td, th { width: 15%; }<br />th { border: 2px solid black; }<br />td { border: 2px solid gray; }<br />caption { caption-side: top; text-align: left;<br />font-size: x-large; font-style: italic; }<br /><br />tbody th { text-align: right; }<br />tbody td { text-align: center; }<br /></pre></div><br /> |} Applying this style sheet to the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17lev1sec1.html#ch17ex01 Listing 17.1] gives the effects shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig08 Figure 17.8]. For this screenshot, I've decreased the font size so that you can see the text alignment effects easily in each cell. <center> Figure 17.8. Aligning cells horizontally. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/17fig08_alt.jpg [View full size image]]</div>[[Image:17fig08.jpg|500px]] </center> Vertical Alignment The <tt>vertical-align</tt> property in CSS is the equivalent of the HTML <tt>valign</tt> property; browsers often align table cells to the vertical middle, and this can make cell contents look clumsy if the text wraps. Most of the time you are going to want to align data cells vertically so that the first line of each row is lined up on the top. Column header cells may look better aligned along the bottom. You can use the <tt>vertical-align</tt> property to affect these styles. <div>By the Way The vertical-align property was introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment."</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17ex09 Listing 17.9] is a style sheet that aligns the content of each <tt><td></tt> cell with the <tt>bottom</tt> of that cellsee Tuesday evening for an example. It also vertically centers each <tt><th></tt> cell with the middle value for <tt>vertical-align</tt>. Listing 17.9. Setting the Vertical Alignment of Table Cells {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* schedule-17.9.css */<br />table { table-layout: auto; width: 90%;<br />border-collapse: separate; border-spacing: 0.25em;<br />empty-cells: hide; font-size: medium;<br />margin-left: auto; margin-right: auto; }<br />td, th { width: 15%; }<br />th { border: 2px solid black; }<br />td { border: 2px solid gray; }<br />tbody th { text-align: right; }<br />tbody td { text-align: center; }<br />caption { caption-side: top; text-align: right;<br />font-size: x-large; font-style: italic; }<br />td { vertical-align: bottom; }<br />th { vertical-align: middle; }<br /></pre></div><br /> |} The results of this style sheet, when applied to the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17lev1sec1.html#ch17ex01 Listing 17.1], are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17fig09 Figure 17.9]. <center> Figure 17.9. Aligning cells vertically. [[Image:17fig09.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Further Styles for Your Calendar You can add to your calendar additional styles based on what you've learned this hour. {| border="0" |- | <div>'''1. '''</div> | <div>Add <tt><col></tt> and <tt><colgroup></tt> elements to your HTML, and a <tt><caption></tt> to title your calendar.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Move the <tt><caption></tt> to before or after the calendar table, based on what you think looks best.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Set the backgrounds of each day by using column-based selectors.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Adjust the alignment, colors, and fonts of your table to suit your taste, and now you've got your own calendar!<br /><br /></div> |} |} ./ ADD NAME=CH17LEV1SEC3.HTML Summary CSS rules can be used in conjunction with HTML tables to create a pleasing presentation of columnar data or layout tables. CSS browsers conceptualize tables as a series of layers: In order from most specific to least, those are the table cells, the table rows, the groups of table rows, the table columns, the groups of table columns, and the table itself. Inheritance follows these layers, as can be seen in <tt>background</tt> property effects. Nearly any CSS property can be applied to table elements, although table cells don't have margins. Borders are of special importance when dealing with tables, and CSS offers two models for displaying tables: collapsed and separated. Both are set via the <tt>border-collapse</tt> property. Table cells in the collapsed border model share a common border, whereas in the separated border model, a distance defined by the <tt>border-spacing</tt> property separates all cells from each other. In both models, the <tt>empty-cells</tt> property defines whether or not borders around empty table cells are displayed. The caption, a label for the content of the table, can be located on any side of the table and styled separately. Rules can also be set by column rather than by row or cell if you use the <tt><col></tt> and <tt><colgroup></tt> tags, although the types of properties available for column styling are limited. You can improve the appearance and usability of a table by adjusting the <tt>text-align</tt> and <tt>vertical-align</tt> properties of the cells. ./ ADD NAME=CH17LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa1q1a1 Q.]''' | When would I ever want to change the <tt>display</tt> property value of a tag to a different type of table element? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa1q1 A.]''' | When using HTML, you pretty much don't ever want to do that. The browsers all understand what the default display values for each table element are supposed to be, and they often ignore attempts to change those values. The table-related display values are intended for use with XML, which doesn't have specific tags that are shown as tables. Using the <tt>display</tt> property, you can make XML elements show up as tables with rows, columns, and cells. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q1a1 1.]''' | All the following rules apply to a certain cell in a table. What color will the background of that cell be? <div><pre>tbody { background-color: green; }<br />table { background-color: blue; }<br />tr { background-color: transparent; }<br />col { background-color: yellow; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q2a2 2.]''' | You want to set the spacing between table cells to 10 pixels in both the horizontal and vertical directions. Which of the following CSS rules accomplishes that? <div># <div><tt>table { cell-spacing: 10px; table-layout: separate; }</tt></div> # <div><tt>table { cell-spacing: 10px; border-collapse: collapse; }</tt></div> # <div><tt>table { border-spacing: 10px; border-collapse: separate; }</tt></div> # <div><tt>table { cell-spacing: 10px; border-collapse: separate; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q3a3 3.]''' | How would you write a rule to make the caption appear after the table in a smaller, italic font with a thin black border around it? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q1 1.]''' | The background color will be green. In order from most specific to least specific, the selectors are <tt><tr></tt>, <tt><tbody></tt>, <tt><col></tt>, and <tt><table></tt>. Because the background color of the table row is <tt>transparent</tt>, the next selector's <tt>background-color</tt> shows through, and that is the <tt>green</tt> of the <tt><tbody></tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q2 2.]''' | The correct answer is (c). There is no <tt>cell-spacing</tt> property; the correct name is <tt>border-spacing</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch17qa2q3 3.]''' | Here is one such rule: <div><pre>caption { caption-side: bottom;<br />font-size: smaller;<br />font-style: italic; <br />border: thin solid black; }<br /></pre></div><br /> |} Exercise Tables are all around us, and not just for page layout. Any time in which you're building a grid that conveys information based on position in that grid, you're dealing with a table. Write up some tables based on what you encounter around youa bus schedule, a campus phone and office directory, columns of weights and measures, accounting records, or whatever else strikes your fancy. Use the HTML tags and style rules presented in this hour to create data tables. Get creativehow can you best present this tabular data in a clear, straightforward manner where the styles enhance the tables? ./ ADD NAME=CH18.HTML 454hkuxsoza3283wbigdwrn695tvygy User:Bartlett/18 2 2122 5522 2007-06-17T17:15:28Z Bartlett 26 Bog cusub: ./ ADD NAME=CH18.HTML Hour 18. Box Sizing and Offset {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How browsers calculate the width and height d... 5522 wikitext text/x-wiki ./ ADD NAME=CH18.HTML Hour 18. Box Sizing and Offset {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How browsers calculate the width and height dimensions of a display box * Which properties can control the dimensions of a box * What browsers will do if a box's content exceeds the dimensions of the box, and how you can control the result with CSS * How to reposition a box from its original location, using relative positioning and the four offset properties |} ./ ADD NAME=CH18LEV1SEC1.HTML Sizing Content When laying out a page, it's not always enough to specify only where content should be placed, as you can do with the <tt>float</tt> property (or the positioning properties, which you'll learn about in this hour and the next). To create effective layouts, you need to set the size of display boxes. In HTML, this is done with the <tt>height</tt> and <tt>width</tt> attributes; unsurprisingly, those are the names of the CSS properties that control a content box's dimensions. To illustrate the use of the <tt>width</tt> and <tt>height</tt> attributes, I've created a sample HTML page that is used use for most of this hour. You can see this in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex01 Listing 18.1], or you can download it from the book's website. Listing 18.1. This HTML Page Has Unsized Boxes {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- sizes-18.1.html --><br /><html><br /><head><br /><title>Tucson Valley News</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />h3 { font-style: oblique;<br />font-weight: normal; }<br />#nav { float: right; }<br />#nav ul { padding-left: 0; }<br />#nav li { display: block; }<br /><br />div { border: 1px solid black; margin: 1em; }<br /></style><br /></head><br /><body><br /><div id="banner"><br /><h1>Tucson Valley News</h1><br /></div><br /><div id="nav"><br /><h4>Tucson Valley News Quick Navigation<br />Links</h4><br /><ul><br /><li><a href="/breaking/">Breaking<br />News</a></li><br /><li><a href="/current/">Current<br />Issue</a></li><br /><li><a href="/editorial/">Editorial<br />Page</a></li><br /><li><a href="/subscribe/">Subscriptions<br /></a></li><br /></ul><br /></div><br /><div id="main"><br /><h2>Desert Museum hires webmaster</h2><br /><h3>Congrats to Liz Bartlett</h3><br /><p>The <a href="http://www.desertmuseum.org/"><br />Arizona-Sonora Desert Museum</a> has hired<br /><a href="http://www.khyri.com/">Liz<br />Bartlett</a> to be their new webmaster.</p><br /><p>Founded in 1952 by William Carr and Arthur<br />Pack, the Desert Museum is a private, nonprofit<br />organization dedicated to the conservation<br />of the Sonoran Desert.</p><br /><p>Liz Bartlett has over 11 years' experience in<br />web design, and was a founder of Idyll<br />Mountain Internet in 1995. She now lives in<br />Tucson with her husband Kynn.</p><br /></div><br /></body><br /></html><br /></pre></div><br /> |} The intent of the embedded style sheet within [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex01 Listing 18.1] is to create a very simple "newspaper" layout, with a headline at the top, a navigation menu at the right, and an article to the left and middle. To help you keep track of the display boxes involved, CSS rules add borders and margins to each <tt><div></tt>. When a browser displays this page, it determines the layout based on the space available and how large the content is. You can see this in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig01 Figure 18.1]note how the <tt><h4></tt> headline in the navigation bar expands that box out to fill the available space. It's not the best design, especially because the <tt><h4></tt> isn't line-wrapping nicely. <center> Figure 18.1. The browser tries to determine the size and placement of each box, and doesn't do very well. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig01_alt.jpg [View full size image]]</div>[[Image:18fig01.jpg|500px]] </center> The <tt>width</tt> and <tt>height</tt> Properties To correct the problems displayed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig01 Figure 18.1], you need to use the <tt>width</tt> and <tt>height</tt> properties. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch17.html#ch17 Hour 17], "Styling Tables," briefly introduced <tt>width</tt>, and in this hour you'll learn to use it with all block content, as well as with its fraternal twin, <tt>height</tt>. A CSS display box actually has two widths: the content width and the box width. The content width is, as you might imagine, the width of the box's content area; it is the area where the box's content exists, within the padding, the border, and the margin; this is what's set by the <tt>width</tt> property. The box width is the width of the entire box, including the left and right padding, the left and right border, and the left and right margin, as well as the content width. You can see this visually displayed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig02 Figure 18.2]. <center> Figure 18.2. Content width and box width. [[Image:18fig02.jpg|494px]] </center> The content height and box height are determined in the same way. The CSS properties <tt>width</tt> and <tt>height</tt> are used to control the size of the content width; the box width and box height can't be set directly. Instead, you can control the box width and height by setting appropriate padding, border, and margin values that add to the content width and height. Values for <tt>width</tt> and <tt>height</tt> can be measurements, such as <tt>3em</tt> or <tt>5px</tt>. They can also be percentage values, such as <tt>20%</tt>. The percentage is based on the height or width of the parent box's content area. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex02 Listing 18.2] shows a style sheet that fixes the text wrap problem from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig01 Figure 18.1] by using <tt>height</tt> and <tt>width</tt> properties to help lay out the page. Listing 18.2. Setting <tt>height</tt> and <tt>width</tt> Values via CSS {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>#banner { width: 80%; height: 4em; }<br />#nav { width: 20%; }<br />#nav { height: 15em; }<br />#main { width: 60%; }<br /></pre></div><br /> |} This sets a <tt>height</tt> and <tt>width</tt> on the banner, making it at least 4ems tall, and with a width of <tt>80%</tt> of the available screen space. The navigation bar is <tt>20%</tt> wide, and the height is <tt>10ems</tt>. The main article space is <tt>60%</tt> wide. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig03 Figure 18.3], you can see the result of applying this style sheet to the HTML page of [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex01 Listing 18.1]. Because a <tt>width</tt> has been set on the navigation bar, the text is forced to wrap. Also, there is extra white space at the bottom of the navigation bar; the <tt>height</tt> has been set, and the space is reserved even if the content does not fill that space. There is no height for the <tt>#main <div></tt>, so the box ends when the text ends. <center> Figure 18.3. Boxes set to specific heights and widths. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig03_alt.jpg [View full size image]]</div>[[Image:18fig03.jpg|500px]] </center> You should notice one more thing here. The <tt>#banner</tt> element is <tt>80%</tt> wide, and the <tt>#nav</tt> element is <tt>20%</tt> wide. You'd think they'd line up, right? But look carefully at [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig03 Figure 18.3]. If the two boxes were right on top of each other, they'd intersect. Why is that? The <tt>width</tt> property sets only the content width, not the actual size taken up by the box. The true box width includes the margin (which is <tt>1em</tt> in this example), the border (which is <tt>1px</tt>) and any margins set. So the <tt>#banner</tt>'s content width may be <tt>80%</tt>, but the box width is <tt>80% + 2em + 2px</tt>remember to add in both the left and right sides!whereas the <tt>#nav</tt> element is <tt>20% + 2em + 2px</tt>. Together they add up to <tt>100%</tt> of the screen, plus <tt>4em</tt>, plus <tt>4px</tt>. Oops. The Internet Explorer <tt>width</tt> Bug Unfortunately, previous versions of Internet Explorer for both Windows and Macintosh have a bug that miscalculates content width. Internet Explorer prior to version 6 doesn't consider the content width to be just the width of the content area of a box; instead, it includes the padding and the border width, as well. This is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig04 Figure 18.4]. <center> Figure 18.4. How Internet Explorer 5.5 (and earlier) improperly calculates widths. [[Image:18fig04.jpg|490px]] </center> This leads to a problem where Internet Explorer miscalculates the size of a display box, throwing off the display of your web page. Fortunately, there is a workaround for this bug. The trick is to create two <tt><div></tt> elements instead of just one, thus using two boxes. The first <tt><div></tt> box has <tt>width</tt> and <tt>margin</tt> properties set on it. The second box is located inside the first and has <tt>border</tt> and <tt>padding</tt> properties. Boxes nested in this way display properly in Internet Explorer, as well as in properly compliant browsers, such as Firefox, Opera, and Safari. This bug was fixed in Internet Explorer 6; however, to get correct <tt>width</tt> calculations, you need to use a correct <tt>DOCTYPE</tt> statement at the beginning of your document. If you don't use a <tt>DOCTYPE</tt> statement, IE 6 displays the page using a backward-compatible method identical to IE 5, which means the buggy version. For more on <tt>DOCTYPE</tt> switching, see [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp]. Keep in mind that some Internet Explorer users are still using Internet Explorer 5.0 or 5.5, so the type of workaround described in this hour may still be necessary on your site even if you use the correct <tt>DOCTYPE</tt>. Minimum and Maximum Dimensions Sometimes you might not want to set specific sizes for dimensions; instead, you might want more flexible designs that allow something to range in size between two values. A constraint is a value beyond which a box isn't allowed to grow or shrink; if the size is smaller than the minimum constraint, the size is that minimum, and if it's larger than the maximum constraint, the size is that maximum value. For example, you might want a navigation bar to be as wide as 20% of the screen most of the time, but if the browser's window is only 500 pixels across, this may be too small to display your navigation links. A minimum size of <tt>10em</tt> would therefore be a constraint placed on the width. The constraints for <tt>width</tt> are set with the <tt>min-width</tt> and <tt>max-width</tt> properties; for <tt>height</tt>, the values are <tt>min-height</tt> and <tt>max-height</tt>. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex03 Listing 18.3] is a style sheet that sets constraints on the boxes in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex01 Listing 18.1]. Listing 18.3. A Style Sheet to Constrain the Maximum and Minimum Sizes of Display Boxes {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* sizes-18.3.css */<br />#banner { width: 60%;<br />min-width: 500px;<br />min-height: 5em;}<br />#nav { width: 30%; min-width: 200px; }<br />#nav { max-height: 15em; }<br />#main { min-width: 300px;<br />width: 50%;<br />max-width: 600px; }<br /></pre></div><br /> |} You can see the results of using this style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig05 Figure 18.5]. <center> Figure 18.5. Setting box size with constraints. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig05_alt.jpg [View full size image]]</div>[[Image:18fig05.jpg|500px]] </center> This style sheet gives the navigation menu a width of <tt>30%</tt>, which works decently enough unless the browser window is small. In such cases, the minimum width is set to <tt>200px</tt>. The <tt>#banner</tt> is <tt>60%</tt> of the space available, or a minumum of 500 pixels wide; it is also a minimum height of <tt>5em</tt>, although there is no extra content to fill in that space, which is just left blank. The <tt>#main</tt> section varies between 300 and 600 pixels, based on the width of the browser window. If the browser display space is less than 600 pixels, <tt>#main</tt> is <tt>300px</tt> (the <tt>min-width</tt> value); between 600 and 1200 pixels wide, <tt>#main</tt> is 50% of the display space; and if the browser's display area is more than 1200 pixels wide, the max-width constrains it to <tt>600px</tt> and no more. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig06 Figure 18.6] demonstrates what happens when the display area changesin this case, the browser window has been decreased to about two thirds of the screen, and the minimum values are being used for each window. <center> Figure 18.6. Shrinking the browser window brings constraints into play. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig06_alt.jpg [View full size image]]</div>[[Image:18fig06.jpg|500px]] </center> ./ ADD NAME=CH18LEV1SEC2.HTML === Content Overflow === If a display box's height hasn't been set by the <tt>height</tt> property, the height is calculated automatically to take up enough room for all the content. But what happens if a <tt>height</tt> property has been set that doesn't allow enough space for all the content? This creates a situation called overflow. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex04 Listing 18.4] is a style sheet specifically designed to create overflow. Listing 18.4. A Style Sheet Where the Size of the Content Exceeds the Height {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* sizes-18.4.css */<br />#banner { width: 80%; height: 1.5em; }<br />#nav { width: 20%; }<br />#nav { height: 8em; }<br />#main { width: 500px; height: 450px; }<br /></pre></div><br /> |} As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig07 Figure 18.7], the content of the columns simply spills out the bottom of the box because there's not enough room. This is the default behavior for overflow, but you can change it by using the <tt>overflow</tt> property. <center> Figure 18.7. Sometimes content just won't fit inside a box, and it overflows. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig07_alt.jpg [View full size image]]</div>[[Image:18fig07.jpg|500px]] </center> The <tt>overflow</tt> Property To change what happens when a box's content overflows, you can set the <tt>overflow</tt> property to one of the values shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18table01 Table 18.1]. The default value is <tt>visible</tt>, which has the effect shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig07 Figure 18.7]. {| cellspacing="0" cellpadding="5"|+ Table 18.1. Values for the <tt>overflow</tt> Property |- | Value | Effect |- | <tt>auto</tt> | The browser determines what to do with overflowing content, choosing either <tt>scroll</tt> or <tt>visible</tt>. |- | <tt>hidden</tt> | Overflowing content is clipped and not displayed. |- | <tt>scroll</tt> | A scrollable box is used to provide access to all content. |- | <tt>visible</tt> | The overflowing content spills out of the box. |- | <tt>inherit</tt> | Use the value of <tt>overflow</tt> set on the containing box. |} The <tt>scroll</tt> value provides scrollbars at the edges of the display box that let the user access all the content. The <tt>hidden</tt> value prevents that content from being displayed, so it should be used with care. A value of <tt>auto</tt> leaves the decision up to the browser; because this can vary from browser to browser, I advise against relying on it. Two examples of the <tt>overflow</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex05 Listing 18.5], a style sheet that sets one column to <tt>scroll</tt>, and the other to <tt>hidden</tt>. Listing 18.5. A Style Sheet Using the <tt>overflow</tt> Property {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* sizes-18.5.css */<br />#banner { width: 80%; }<br />#nav { width: 20%; }<br />#nav { height: 8em;<br />overflow: scroll; }<br />#main { width: 500px; height: 300px;<br />overflow: hidden; }<br /></pre></div><br /> |} As you can see in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig08 Figure 18.8], a scrollbar gives access to the content in the menu bar. How do you see the content in the left column? You don't. Only the content that fits in the box is visible. This is known as clipping, a term that refers to cutting away (and not displaying) all the extra content that won't fit. To prevent your content from being lost to clipping, you can avoid using <tt>overflow: hidden</tt> and instead set <tt>overflow: scroll</tt> on elements that might exceed the space you've allocated. <center> Figure 18.8. Overflowing content can scroll or be clipped. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/18fig08_alt.jpg [View full size image]]</div>[[Image:18fig08.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Create Scrollable Panels with CSS One of the more controversial HTML tags has historically been <tt><frame></tt>, which enables you to make distinct panels for content, which can be scrolled separately from the rest of the page. The <tt><frame></tt> tag (and its sibling <tt><iframe></tt>) is considered harmful by some web development gurus because of accessibility problems and other perceived flaws. Using what you learned this hour, you can now make separately scrollable sections of your web page without using <tt><frame></tt> or <tt><iframe></tt>. Follow these steps: {| border="0" |- | <br /> | > |- | <div>'''1. '''</div> | <div>Make a web page with a reasonably large amount of text to readperhaps a letter, a short story, or even a style sheet listing. (If it's a style sheet, try setting the <tt>white-space</tt> property to <tt>pre</tt>, as described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10.html#ch10 Hour 10], "Text Colors and Effects.")<br /><br /></div> |- | <div>'''2. '''</div> | <div>Enclose the text within a <tt><div></tt> and give that <tt><div></tt> a class such as <tt>scrollable</tt>.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Set a <tt>width</tt> and <tt>height</tt> for the <tt>.scrollable</tt> class in a style sheet, and link to or embed that style sheet in the HTML page. Give it a <tt>border</tt> as well, so you know where the content starts to overflow.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Test the page nowyou will see something similar to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig07 Figure 18.7], with text overflowing the boundaries of the box.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Add a rule for your <tt>.scrollable</tt> box that sets the <tt>overflow</tt> property to <tt>scroll</tt>.<br /><br /></div> |- | <div>'''6. '''</div> | <div>Try it out in your browseryou should now have a scrollable text window!<br /><br /></div> |} |} Relative Positioning CSS offers several ways to position boxes on the screen. You've already learned about the <tt>float</tt> property in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment." You can also use the <tt>position</tt> property to designate a box's location on the screen. A box that has been placed according to relative positioning has been located relative to the position in which that box would normally appear, modified by an offset. This offset is designated by the <tt>top, left, right</tt>, and <tt>bottom</tt> properties. You declare a box to be relatively placed by setting the <tt>position</tt> property on it with a value of <tt>relative</tt>. The possible values for <tt>position</tt> are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18table02 Table 18.2]. {| cellspacing="0" cellpadding="5"|+ Table 18.2. Values for the <tt>position</tt> Property |- | Value | Effect |- | <tt>absolute</tt> | Position the box relative to the containing box. |- | <tt>fixed</tt> | Position the box relative to the containing box, and don't move it even if the page scrolls. |- | <tt>relative</tt> | Position the box relative to its normal position. |- | <tt>static</tt> | Position the box where it should normally be placed. |- | <tt>inherit</tt> | Use the <tt>position</tt> value of the containing box. |} You'll learn about the <tt>position</tt> values <tt>absolute</tt> and <tt>fixed</tt> in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], "Absolute and Fixed Positioning." The value <tt>static</tt> simply tells the browser to not apply any special positioning and to ignore the four offset values. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex06 Listing 18.6] is an HTML page with an embedded style sheet to relatively position one of the boxes outside of its normal position. Listing 18.6. Relative Positioning Shown via a Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- relative-18.6.html --><br /><html><br /><head><br /><title>Three Boxes in a Row</title><br /><style type="text/css"><br />.demobox {<br />border: 3px solid black; width: 8em;<br />font-family: Verdana, sans-serif;<br />background-color: white;<br />padding: 1em; margin: 0.5em; }<br />#mars { position: relative;<br />left: 5em; top: 2em; }<br /></style><br /></head><br /><body><br /><div class="demobox" id="earth"><br />Earth</div><br /><div class="demobox" id="mars"><br />Mars</div><br /><div class="demobox" id="jupiter"><br />Jupiter</div><br /></body><br /></html><br /></pre></div><br /> |} As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig09 Figure 18.9], the space that would normally be taken up by the box has still been set aside for it, although the box itself is now located 5 ems to the right and 2 ems down from where it would normally be. <center> Figure 18.9. One of the planets is out of position. [[Image:18fig09.jpg|300px]] </center> The <tt>top, right, bottom</tt>, and <tt>left</tt> Properties As shown in the previous example, the <tt>top</tt> and <tt>left</tt> properties can be used to set the distance by which a relatively positioned box is placed, with respect to the static position. The <tt>bottom</tt> and <tt>right</tt> properties also can be used to designate offsets. The types of values that can be given to these offset properties are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18table03 Table 18.3]. The default value is <tt>auto</tt>, which means that it is up to the browser to determine where something should be placedwhich is to say it places the box where it belongs according to normal (<tt>static</tt>) flow. {| cellspacing="0" cellpadding="5"|+ Table 18.3. Values for the Offset Properties |- | Value | Effect |- | <tt>measurement</tt> | Offset the box by some amount, toward the "inside." |- | <tt>negative-measurement</tt> | Offset the box by some amount, toward the "outside." |- | <tt>percentage</tt> | Offset the box by a percentage, toward the "inside." |- | <tt>negative-percentage</tt> | Offset the box by a percentage, toward the "outside." |- | <tt>auto</tt> | Calculate the offset automatically. |- | <tt>inherit</tt> | Use the value of the offset property from the containing box. |} Because positive values are toward the center point of the context box, some of these offsets can seem backward in effect from what you'd expect. For example, setting a <tt>left</tt> value of <tt>4em</tt> actually moves the box to the right; a <tt>right</tt> value of <tt>4em</tt> moves the box to the left; and a <tt>top</tt> value of <tt>-4em</tt> moves the box up, not down. You need to remember this when placing boxes. Positive values are toward the middle of the box, and negative are away from the middle. You can also use negative values to move a box away from the center of its normal location. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex07 Listing 18.7] is a style sheet that can be used to position the planet-named boxes from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex06 Listing 18.6]. Listing 18.7. Moving Boxes with Relative Positioning {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>.demobox {<br />border: 3px solid black; width: 8em;<br />font-family: Verdana, sans-serif;<br />background-color: white;<br />padding: 1em; margin: 0.5em; }<br />#earth {<br />position: relative;<br />top: -2em; right: -5em; }<br />#mars {<br />left: 5em; top: 2em; }<br />#jupiter {<br />position: relative;<br />left: 10em; }<br /></pre></div><br /> |} The effects of applying [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex07 Listing 18.7] to the HTML page of [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18ex06 Listing 18.6] are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18fig10 Figure 18.10]. The Earth box has been moved up and right; in fact, the top of the box is off the screen entirely. Likewise, the Jupiter box has moved far to the rightremember that the <tt>left</tt> value moves the box to the right when positive. A horizontal scroll bar has appeared for Jupiter; you can scroll to the right to see the whole box, even though you can't scroll up to see the Earth box. <center> Figure 18.10. Boxes placed with relative offsets, shown in Firefox. [[Image:18fig10.jpg|300px]] </center> The Mars box didn't move this time. Why not? Because there is no <tt>position</tt> property for <tt>#mars</tt> in this style sheet, the <tt>left</tt> and <tt>top</tt> values are ignored. The default value for <tt>position</tt> is <tt>static</tt>, and unless you set <tt>position: relative</tt>, the box isn't offset. ./ ADD NAME=CH18LEV1SEC3.HTML Summary The CSS language provides a number of properties for fine-tuning your layout, giving functionality that actually exceeds that of HTML layout tables, such as scrollable display boxes. These properties include the <tt>width</tt> and <tt>height</tt> properties for setting a box's dimensions, as well as the <tt>min-width, min-height, max-width</tt>, and <tt>max-height</tt> properties that constrain a box's dimensions. Content that naturally exceeds the dimensions of its display box is said to have overflowed. The <tt>overflow</tt> property can be used to determine whether the excess content is shown, clipped, or shown with a scrollbar. In addition to sizing boxes, you can also move them from their original positions with relative positioning. Setting the <tt>position</tt> property to <tt>relative</tt> turns on relative positioning for that box, and the four offset properties<tt>top, right, bottom</tt>, and <tt>left</tt>can be used to adjust the box's location. ./ ADD NAME=CH18LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q1a1 Q.]''' | What's the difference between relative positioning, absolute positioning, and fixed positioning? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q1 A.]''' | Giving a position rule to a box is the way to set all these types of positioning initially, but each is very different in practice. Relative positioning always involves moving a box from its original location, and always reserves the space for that box in the layout. Absolute and fixed positioning, which you'll learn about in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], place the box relative to a containing block, not the original position of the box, and neither of these types of positioning reserves the space where the box would normally appear. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q2a2 Q.]''' | When would I use relative positioning instead of absolute or fixed positioning? |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q2 A.]''' | Relative positioning is useful if you need to make small changes in the location of a box, such as moving a header a little to the left or adjusting the vertical position of a box. You can also use a <tt>position: relative</tt> rule without any offset properties to establish a containing box for absolute positioning, as you'll learn in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19]. In fact, this is probably the most common use for the <tt>relative</tt> value for <tt>position</tt>. It's rare to create style sheets that actually use relative positioning for offsets. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q3a3 Q.]''' | You wrote that there's a bug in Internet Explorer 5 related to box dimensions. Do I really need to worry about that in this day and age? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa1q3 A.]''' | Yes! At least, as of early 2006, Internet Explorer versions 5 and 5.5 are still used by a decent portion of the web-navigating population. You wouldn't want one user in twenty to experience problems on your site, would you? As described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3], "Browser Support for CSS," IE 5 and 5.5 are quirky browsers, and require special considerations. The method described in this hourusing two <tt><div></tt>s to set box propertiesis one such approach, and using a browser filter is another. You'll learn about browser filters in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks." |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q1a1 1.]''' | The browser's display window is 500 pixels wide. How wide will an <tt><h1></tt> be, assuming it's the first element of the <tt><body></tt> and that the following CSS rule applies to it? <div><pre>h1 { width: 20%; min-width: 125px;<br />max-width: 200px; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q2a2 2.]''' | Which of these rules will make scrollbars on a <tt>blockquote?</tt> <div># <div><tt>blockquote { height: 175px; scroll: auto; }</tt></div> # <div><tt>blockquote { overflow: scroll; }</tt></div> # <div><tt>blockquote { scroll: overflow; }</tt></div> # <div><tt>blockquote { height: 175px; overflow: scroll; }</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q3a3 3.]''' | Which of the following best describes relative positioning? <div># <div>Subsequent text is flowed around the positioned box, relative to the box's new left or right location.</div> # <div>The box is held in a location relative to where it is located, even if the page is scrolled.</div> # <div>Relative to the box's original location, the box is offset by a certain distance.</div> # <div>The box is placed relative to its containing box.</div></div> |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q4a4 4.]''' | Which of these offset declarations moves a display box 20 pixels to the right? <div># <div><tt>right: 20px;</tt></div> # <div><tt>left: 20px;</tt></div> # <div><tt>left: -20px;</tt></div> # <div><tt>right: -20px;</tt></div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q1 1.]''' | The <tt><h1></tt> tag will be 125 pixels wide, the minimum width. The calculated width, 100 pixels (20% of 500), is smaller than the <tt>min-width</tt> value, so it is increased to the value of <tt>min-width</tt>. Because it is not larger than the <tt>max-width</tt> value of <tt>200px</tt>, the final size is 125 pixels. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q2 2.]''' | The correct answer is (d). There is no CSS property named <tt>scroll</tt>, and the <tt>height</tt> property is necessary or else the content doesn't overflow. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q3 3.]''' | Choice (c) is a description of relative positioning, (a) describes floating content (from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15]), (b) describes fixed positioning, and (d) defines absolute positioning. (You'll learn about those latter two in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19].) |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch18qa2q4 4.]''' | Both (b) and (d) shift a box to the right. Remember that positive offsets are toward the middle of the box, and negative offsets are away from it. |} Exercise One of the trickier things to understand about relative positioning is that box properties offset in a funny direction. If you want to move something to the right, you set a positive <tt>left</tt> value, or a negative <tt>right</tt> value. To move something down, you set the top value. To get a grasp on the way that box offsets always point toward the middle of the box, create a web page with a relatively positioned box and then play with the various options for offset properties. This will be good practice for [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19] because offset properties are also used with the other possible values for the <tt>position</tt> property. ./ ADD NAME=CH19.HTML s5ybsnspcsjhray8j9k4jgh40rhtpcw User:Bartlett/19 2 2123 5523 2007-06-17T17:16:40Z Bartlett 26 Bog cusub: ./ ADD NAME=CH19.HTML Hour 19. Absolute and Fixed Positioning {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The types of positioning schemes ava... 5523 wikitext text/x-wiki ./ ADD NAME=CH19.HTML Hour 19. Absolute and Fixed Positioning {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The types of positioning schemes available for placing a display box on the screen * How to place an HTML element in relation to its containing block * How to use CSS positioning to create a simple cartoon combining a photograph, text, and graphics * How to control clipped content that is larger than the size allotted to a display box * How to create rounded corners for boxes and position them with CSS * How to designate which items should appear in front or back when content is layered over other content * How to fix an HTML element on the screen, even if the page scrolls |} ./ ADD NAME=CH19LEV1SEC1.HTML Positioning Content Whenever you include an HTML element on a page, it generates a display box, as you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch06.html#ch06 Hour 6], "The CSS Box Model." Normally, these boxes are placed one after another or within another box, based on the structure of the document and whether the box is an inline or block box. This is known as normal flow in the CSS specifications. Whenever you move an element's display box to a new location, you are disrupting the normal flow to create a new layout. One way to disrupt the normal flow of content is by using the <tt>float</tt> (and <tt>clear</tt>) properties, which you learned about in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment." Floating content moves out of the normal order to one side or the other, and subsequent content flows around it. Relative positioning preserves the normal content flow by reserving the appropriate amount of space for the relatively positioned element, and then moving it relative to that location. There are two other types of positioning techniques you can use, called absolute and fixed positioning. These methods also use the <tt>position</tt> property and the four offset properties<tt>top, right, bottom</tt>, and <tt>left</tt>introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], "Box Sizing and Offset," but the exact meanings of these properties are different from how they're used in relative positioning. The first way to lay out the page with CSS is to use styles that position an element relative to a specific context on the page. The <tt>position</tt> property is used to choose that context. Positioned content is offset from the context by a specific amount that you can set with the <tt>top, right, bottom</tt>, or <tt>left</tt> properties. <div>By the Way As a historical footnote, the positioning properties in CSS were originally introduced in a draft produced between the CSS Level 1 and CSS Level 2 recommendations and were called CSS-P, for CSS Positioning. CSS-P properties were partially implemented by the browsers and were formally added to the CSS language when CSS Level 2 was released.</div> The Containing Block To properly place a display box by using positioning styles, you must establish the context of that position. You accomplish this by using the <tt>position</tt> property, which defines how a box should be positioned. The values for the <tt>position</tt> property were listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18lev1sec2.html#ch18table02 Table 18.2] in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18]; the two we're concerned with in this hour are <tt>position: absolute</tt> and <tt>position: fixed</tt>. When you set the <tt>position</tt> property to <tt>absolute</tt>, you are taking the element out of the normal flow of text and locating it relative to another box. This is called the containing block. The positioned element is placed relative to this containing block based on the offset properties <tt>top, right, bottom</tt>, and <tt>left</tt>. The containing block is one of the parent boxes that contains the box being displayedbut it's not necessarily the immediate parent. The containing block is defined as the nearest ancestor to that box that has a <tt>position</tt> property value set on it (to something besides <tt>static</tt>). If none of the box's ancestors has a <tt>position</tt> property set, then the containing block is the display box of the <tt><body></tt> tag. <div>Did you Know? The easiest way to force a box to become a containing block for everything within itand thus change the context in which those elements are positionedis to set the <tt>position</tt> property of that box to <tt>relative</tt>. This tells the browser to reserve the space that the box would normally take up, and then move the box by the measurements given by the <tt>top, right, bottom</tt>, and <tt>left</tt> properties. If you don't set any values for the offsets, however, they default to 0and the box doesn't move. The effect of using <tt>position: relative</tt> without offsets is to simply create a new containing block context.</div> ./ ADD NAME=CH19LEV1SEC2.HTML Absolute Positioning In absolute positioning, the display box is placed in relation to the containing block, offset by a certain amount. The box is removed from the normal flow, and in fact the space normally taken up by the absolutely positioned box isn't even allocated for it. Instead, it appears somewhere else, possibly even overlaying existing content. The containing block in absolute positioning is initially set to be the box of the <tt><body></tt> tag, and absolutely positioned elements are placed relative to the rest of the page. However, if an ancestor box of an element is positioned (with <tt>absolute, relative</tt>, or <tt>fixed</tt> positioning), that positioned box becomes the new containing block for absolute positioning. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex01 Listing 19.1] is a web page with embedded style sheet that sets the inner <tt><div></tt> to use absolute positioning, and specifies an offset of <tt>4em</tt> on the left and top from the outer box, which has been set to <tt>position: relative</tt> to make it the new containing block for its children. Listing 19.1. A Web Page Demonstrating Absolute Positioning {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- absolute-19.1.html --><br /><html><br /><head><br /><title>Three Boxes in a Row</title><br /><style type="text/css"><br />.demobox {<br />border: 3px solid black; width: 8em;<br />font-family: Verdana, sans-serif;<br />background-color: white;<br />padding: 1em; margin: 0.5em; }<br />#mars { position: absolute;<br />right: 2em; top: 6em; }<br /></style><br /></head><br /><body><br /><div class="demobox" id="earth"><br />Earth</div><br /><div class="demobox" id="mars"><br />Mars</div><br /><div class="demobox" id="jupiter"><br />Jupiter</div><br /></body><br /></html><br /></pre></div><br /> |} So what effect does the embedded style sheet have? [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig01 Figure 19.1] shows absolute positioning at work. The middle box, Mars, has been removed entirely from its position in the normal flow of layout; unlike relative positioning, absolute positioning does not leave the appropriate space for the positioned object in its original position. <center> Figure 19.1. Absolute positioning is based on the containing block. [[Image:19fig01.jpg|300px]] </center> Offset Properties in Absolute Positioning The <tt>#mars</tt> box in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig01 Figure 19.1] has been positioned at <tt>right: 2em</tt> and <tt>top: 6em</tt>this is not relative to the original position, but to the containing block of the <tt>#mars</tt> box. In this case, there are no ancestors to <tt>#mars</tt> that have a position property, so the containing block is the <tt><body></tt> element of HTML. Thus, the right side of the box is placed 2 ems in from the right side of the browser's display area, and the top side of the box is placed 6 ems down from the top. The <tt>top, right, bottom</tt>, and <tt>left</tt> properties have different meanings when used with absolute positioning than their meanings under relative positioning. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19table01 Table 19.1] is a summary of these values and their effects; contrast this with [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18lev1sec2.html#ch18table03 Table 18.3] in the last hour. {| cellspacing="0" cellpadding="5"|+ Table 19.1. Absolute Positioning Values for the Offset Properties |- | Value | Effect |- | <tt>measurement</tt> | Position the edge of the box toward the "inside" of the containing block |- | <tt>negative-measurement</tt> | Position the edge of the box toward the "outside" of the containing block |- | <tt>percentage</tt> | Position the edge of the box toward the "inside" of the containing block, as a percentage of the containing block's dimension |- | <tt>negative-percentage</tt> | Position the edge of the box toward the "outside" of the containing block, as a percentage of the containing block's dimension |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex02 Listing 19.2] is a style sheet that can replace the embedded style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex01 Listing 19.1] with one that uses percentages. (To make it more clear where the boxes meet, the margin property has been removed.) Listing 19.2. Percentages for Absolute Positioning {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* absolute-19.2.css */<br />.demobox {<br />border: 3px solid black; width: 8em;<br />font-family: Verdana, sans-serif;<br />background-color: white;<br />padding: 1em; }<br />#mars { position: absolute;<br />right: 50%; bottom: 50%; }<br />#earth { position: absolute;<br />left: 50%; top: 50%;}<br />#jupiter { position: absolute;<br />left: -50%; bottom: 100%; }<br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig02 Figure 19.2] is the result of applying the style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex02 Listing 19.2] to the HTML page in 19.1. <center> Figure 19.2. Percentages used to place boxes absolutely. [[Image:19fig02.jpg|300px]] </center> Notice that the Mars and Earth boxes almost touch in the center. This is because they have values of <tt>50%</tt> set for their <tt>right</tt> and <tt>left</tt> values, and <tt>50%</tt> for their <tt>top</tt> and <tt>bottom</tt> values. However, the effects of these rules are not the same; <tt>50% right</tt> and <tt>50% left</tt> are two different positions. The <tt>right</tt> property lines up the right edge of the box along that halfway line, and the <tt>left</tt> property positions the left edge of the box at the same line. There are three boxes in the HTML source code, but only two boxes in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig02 Figure 19.2]. Where's Jupiter? The rule of <tt>-50% left</tt> moved the left side of the box half a screen's width off to the left of the display window. The <tt>bottom: 100%</tt> rule moved the bottom of the box a full screen's height up, so it's off the top of the screen. The Jupiter box is located off to the upper left, where we can't see it. <div>Watch Out! It's entirely possible to position a box off the visible part of the page. For example, if you use a value of <tt>-1000px</tt> for <tt>left</tt> and <tt>-800px</tt> for top, the box will probably be displaced completely off the page. Such a box still "exists," but just won't be seen. In some cases, this may be exactly what you wantin [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks," you'll learn how this type of technique can be used to hide content from certain browsers, with varying degrees of success.</div> You can also use the <tt>top, right, bottom</tt>, and <tt>left</tt> properties to place content atop existing content when you use absolute positioning. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex03 Listing 19.3] is an HTML file that contains four elements to position: a picture of a coyote, a bit of text, a graphic of a triangle, and a picture credit. Listing 19.3. Parts of a Cartoon to Be Positioned {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- cartoon-19.3.html --><br /><html><br /><head><br /><title>Coyote Cartoon</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />a:link, a:visited { <cs>text-decoration</cs>: none;<br />color: inherit; font-weight: bold; }<br />#cartoon { padding: 16px; margin: 10px auto;<br />border: 1px solid black; }<br />#bubble { font-size: 24px;<br />text-align: center;<br />border: 1px solid black;<br />background-color: white; color: black;<br />width: 250px; padding: 2px; }<br />#credits { font-size: 14px;<br />bottom: 16px; right: 20px; }<br /></style><br /></head><br /><body><br /><div id="cartoon"><br /><img src="coyote.jpg" alt="Coyote"><br /><div id="bubble"><br />Hey! I can see my house from here!<br /></div><br /><img src="balloontail.png" id="tail" alt=""><br /><div id="credits"><br />Picture by<br /><a href="http://kynn.com/">Kynn Bartlett</a><br /></div><br /></div><br /></body><br /></html><br /></pre></div><br /> |} The <tt>balloontail.png</tt> image is a simple black and white triangle made with a transparent section. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig03 Figure 19.3] is a screen capture of the image creation process, with the transparent section shown in a gray checkerboard pattern. <center> Figure 19.3. Creating an image with a transparent section. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig03_alt.jpg [View full size image]]</div>[[Image:19fig03.jpg|500px]] </center> Without any positioning properties, the cartoon appears as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig04 Figure 19.4]. <center> Figure 19.4. Not very much of a cartoon, is it? <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig04_alt.jpg [View full size image]]</div>[[Image:19fig04.jpg|500px]] </center> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex04 Listing 19.4] is a style sheet that can be embedded in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex03 Listing 19.3] (or linked from it) to position each of the elements absolutely on top of the coyote's picture and assemble the cartoon properly. Listing 19.4. Style Sheet to Lay Out the Cartoon {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* cartoon-19.4.css */<br />#cartoon { position: relative;<br />width: 600px; }<br />/* sets the containing block */<br />#bubble { position: absolute;<br />bottom: 340px; left: 215px; }<br />#tail { position: absolute;<br />bottom: 277px; left: 240px; }<br />#credits { position: absolute;<br />bottom: 16px; right: 20px; }<br /></pre></div><br /> |} You can see the results of this style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig05 Figure 19.5]. The box is over the coyote's head, and the triangular wedge serves to show that the coyote is "speaking." The transparent section of the triangle graphic lets the coyote image show through the transparent area. <center> Figure 19.5. A cartoon built with CSS. Can you do better? <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig05_alt.jpg [View full size image]]</div>[[Image:19fig05.jpg|500px]] </center> The 1px border of the word bubble is missing where it touches the <tt>balloontail.png</tt> graphic. This isn't a CSS trick; the graphic is simply positioned so that it overlaps, and thus covers, the border at that point. You'll learn more about controlling overlap of layered content later this hour. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Use Absolute Positioning to Create a Cartoon This is your chance to express the budding cartoonist within you. {| border="0" |- | <div>'''1. '''</div> | <div>Find a photograph you like. Maybe it's one you've taken, maybe it's one of you. Create an HTML page with that picture.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Write some dialogue for the picture and add it to the HTML page. Set a <tt>class</tt> or <tt>id</tt> on the dialogue so you can position it.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Create a "tail" graphic for your word balloon, or use a simple one like the one above (available from the book's website). Add a <tt>class</tt> or <tt>id</tt> here as well.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Add a wrapper <tt><div></tt> around your cartoon, with a <tt>class</tt> or <tt>id</tt> property. This is important so that you can set the containing box in your CSS rules.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Write the style sheet. The first thing you'll want to do is define the containing box by setting <tt>position: relative</tt> on your wrapper <tt><div></tt>; also give it a width and a border.<br /><br /></div> |- | <div>'''6. '''</div> | <div>Position the dialogue, using <tt>position: absolute</tt> and the offset properties (<tt>top, right, bottom</tt>, and <tt>left</tt>). Reload the page in your browser as you make changes; it could take several tries to position the box right where you want it to be.<br /><br /></div> |- | <div>'''7. '''</div> | <div>Put your word balloon "tail" in place. Again, this may require fine adjustments, possibly pixel-by-pixel, as you line it up just right.<br /><br /></div> |- | > | > |- | <div>'''8. '''</div> | <div>View the cartoon in your web browser. If it looks good, you're ready to share this with your friends, who will delight in your wonderful sense of humor and thrill to your CSS positioning skills!<br /><br /></div> |} |} The <tt>clip</tt> Property In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], you learned how you can clip content that extends out of the display box by using the <tt>overflow</tt> value of hidden. Normally, only content that extends outside the display box is clipped. However, the <tt>clip</tt> property enables you to define a clipping area within an absolutely positioned box that defines where the content will be clipped. The types of values that can be set for the <tt>clip</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19table02 Table 19.2]. The <tt>clip</tt> property is used only if the box's <tt>overflow</tt> value is not <tt>visible</tt>, and if the <tt>position</tt> value is <tt>absolute</tt>. {| cellspacing="0" cellpadding="5"|+ Table 19.2. Values for the <tt>clip</tt> Property |- | Value | Effect |- | <tt>auto</tt> | The clipping area is defined by the box's edges. |- | <tt>rect(</tt><tt>top</tt>, <tt>right</tt>, <tt>bottom</tt>, <tt>left</tt><tt>)</tt> | The clipping area is a rectangle defined by four measurements. |- | <tt>inherit</tt> | Use the value of <tt>clip</tt> set on the containing block. |} When using the <tt>rect()</tt> function to define a clipping area, you're defining a subbox relative to the display box. The values <tt>top</tt>, <tt>right</tt>, <tt>bottom</tt>, and <tt>left</tt> are measurements (which can be ems, pixels, percentages, or other types of CSS measurement) which define where the box is clippedrelative to the upper-left corner of the box. The easiest way to think of these values is to consider them a pair of points, the first in the upper-right corner and the second in the lower-left, which define the clipping area. For example, let's say you're using clipping on a box that is 400 pixels wide and 300 across, and you have written a rule such as this: <div><pre>#box { overflow: hidden; clip: rect(0px, 300px, 200px, 100px); </pre></div> This defines a clip area where one corner is at <tt>400px</tt> to the right, <tt>0px</tt> down, and the other corner is at <tt>300px</tt> down, and <tt>100px</tt> to the right. Thus the displayed area would be from <tt>100px</tt> to <tt>300px</tt> horizontally, and <tt>0px</tt> to <tt>200px</tt> vertically. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig06 Figure 19.6] shows this rule in action, clipping text content down to size. Note that even the border is clipped; this clips the entire element box. <center> Figure 19.6. Clipped content, before and after. [[Image:19fig06.jpg|500px]] </center> You can use clipped content with absolute positioning for some interesting effects. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex05 Listing 19.5] is an HTML page with one graphic that will be placed in each corner of the content box. Listing 19.5. A Text Box with Corner Graphics {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- corners-19.5.html --><br /><html><br /><head><br /><title>Rounded corners</title><br /><style type="text/css"><br />/* basic formatting styles */<br />body { font-family: Optima, Geneva, serif;<br />color: white; background-color: black; }<br />.section { margin: 2em; padding: 1em 2em;<br />color: black; background-color: white; }<br />h1, h2 { text-align: center; margin: 0;<br />font-variant: small-caps; }<br />p { text-indent: 3em; text-transform: uppercase; }<br /></style><br /></head><br /><body><br /><div class="section"><br /><img src="corners.png" alt=""<br />class="corner" id="topleft"><br /><img src="corners.png" alt=""<br />class="corner" id="topright"><br /><img src="corners.png" alt=""<br />class="corner" id="bottomleft"><br /><img src="corners.png" alt=""<br />class="corner" id="bottomright"><br /><h1>George L. Mountainlion</h1><br /><h2>Born February 1952</h2><h2>Died March 8, 1955</h2><br /><p>I freely give all sights and sounds of nature I<br />have known to those who have the grace to enjoy<br />not man-made materialism but God-made beauty.</p><br /><p>The magnificent Arizona sunsets I have watched<br />from my enclosure, I bequeath to all who see not<br />only with their eyes but with their hearts.</p><br /><!-- ... --><br /></div><br /></body><br /></html><br /></pre></div><br /> |} The corner graphic is simply a circle on a square black background, 32 pixels by 32 pixels. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig07 Figure 19.7] shows the image being created in a simple graphics program. <center> Figure 19.7. Creating a graphic for rounded corners. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig07_alt.jpg [View full size image]]</div>[[Image:19fig07.jpg|500px]] </center> Displayed without positioning and clipping properties added, the HTML page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex05 Listing 19.5] looks passable, but the corner images aren't in the corners, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig08 Figure 19.8]. <center> Figure 19.8. Unpositioned and unclipped corners. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig08_alt.jpg [View full size image]]</div>[[Image:19fig08.jpg|500px]] </center> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex06 Listing 19.6] is a style sheet that uses absolute positioning to position the graphic, and then clips off everything except the appropriate corner of the circle. Listing 19.6. Positioning and Clipping Round Corners {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* corners-19.6.css */<br />.section { position: relative; }<br />.corner { position: absolute; }<br />#topleft { top: 0px; left: 0px;<br />overflow: hidden;<br />clip: rect(0px, 16px, 16px, 0px); }<br />#topright { top: 0px; right: 0px;<br />overflow: hidden;<br />clip: rect(0px, 32px, 16px, 16px); }<br />#bottomleft { bottom: 0px; left: 0px;<br />overflow: hidden;<br />clip: rect(16px, 16px, 32px, 0px); }<br />#bottomright { bottom: 0px; right: 0px;<br />overflow: hidden;<br />clip: rect(16px, 32px, 32px, 16px); }<br /></pre></div><br /> |} You can see the properly positioned and clipped corner graphics in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig09 Figure 19.9]. <center> Figure 19.9. Rounded corners, positioned and clipped. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig09_alt.jpg [View full size image]]</div>[[Image:19fig09.jpg|500px]] </center> ./ ADD NAME=CH19LEV1SEC3.HTML === Layered Content === As you've seen in the coyote cartoon example, content can be positioned into a location already occupied by something else through the use of absolute (or relative) positioning. Each of the overlapping display boxes can be thought of as existing in a third dimension, as if it were printed on a piece of clear plastic. This is commonly referred to as a layer. <div>By the Way Netscape 4 also used the term layer to refer to the nonstandard <tt><layer></tt> tag. The <tt><layer></tt> tag should be avoided because it is not part of the HTML specification and is not widely supported by browsers. In this book, layering refers to creating distinct, overlapping boxes with CSS and does not refer to the <tt><layer></tt> tag.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex07 Listing 19.7] is a simple logo designed in HTML and CSS. The intent is to create a box with "Pie Walkers of Tucson" in the foreground, and a large pi (π) symbol in the background. Listing 19.7. Content to Be Displayed in Overlapping Layers {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- layers-19.7.html --><br /><html><br /><head><br /><title>Pie Walkers of Tucson</title><br /><style type="text/css"><br />body { font-family: Arial, sans-serif; }<br />.pwlogo { position: relative; overflow: hidden;<br />height: 175px; width: 350px;<br />border: 2px solid black;<br />margin: 10em auto; }<br />.pwlogo span { display: block; }<br />.pwlogo .pi { font: 360px bold Verdana, sans-serif;<br />position: absolute; color: silver;<br />left: 40px; top: -165px; }<br />.pwlogo .pw { font: 60px "Times New Roman", serif;<br />position: absolute;<br />font-variant: small-caps;<br />left: 10px; top: 10px; }<br />.pwlogo .of { font: 70px oblique bold Papyrus, cursive;<br />position: absolute; color: gray;<br />left: 150px; top: 30px; }<br />.pwlogo .tucson { font: 60pt bold Verdana, sans-serif;<br />position: absolute;<br />text-transform: uppercase;<br />bottom: 5px; right: 5px; }<br /></style><br /></head><br /><body><br /><div class="pwlogo"><br /><span class="pw">Pie Walkers</span><br /><span class="of">of</span><br /><span class="tucson">Tucson</span><br /><span class="pi">&pi;</span><br /></div><br /></body><br /></html><br /></pre></div><br /> |} In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig10 Figure 19.10], you can see the layered effect, as each display box is placed over another. However, there's a problem! The boxes are not in a sensible order. The pi symbol covers everything else. There are two ways to fix this: first, by changing the order of the HTML tags, and second, by using the <tt>z-index</tt> property. <center> Figure 19.10. One box is laid over another, making the logo unreadable. [[Image:19fig10.jpg|500px]] </center> The <tt>z-index</tt> Property Each layer is placed in the order it appears in the HTML source code, with subsequent layers placed on top of earlier ones. This order can be changed with the <tt>z-index</tt> property. Values for <tt>z-index</tt> are numbers that indicate the layering order. A lower number goes on the bottom, and a higher number goes on the top. <div>Did you Know? The property name <tt>z-index</tt> comes from basic geometry. Horizontal placement is said to be along the x-axis, vertical along the y-axis, and third-dimensional placementout of the page or the screenis along the z-axis.</div> The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex08 Listing 19.8] reassigns the layering order by using the <tt>z-index</tt> property. As you can see, you can skip numbers, so you don't have to assign them sequentially; all the layers are considered and then sorted so the highest are on top, even if there are gaps in the sequence. Listing 19.8. Style Sheet to Change the Order of Layering {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* layers-19.8.css */<br />.pwlogo .pi { z-index: 1; }<br />.pwlogo .pw { z-index: 10; }<br />.pwlogo .of { z-index: 3; }<br />.pwlogo .tucson { z-index: 5; }<br /></pre></div><br /> |} Applying this style sheet to the HTML page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex07 Listing 19.7] results in the layering order shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig11 Figure 19.11]. <center> Figure 19.11. The layers are now in the desired order. [[Image:19fig11.jpg|500px]] </center> ./ ADD NAME=CH19LEV1SEC4.HTML Fixed Positioning In fixed positioning, a box placed on the screen doesn't move even if the rest of the page moves; it seems to float above the rest of the content without leaving its original position. This is useful if you want to create a menu bar or graphic that never leaves the page. A box placed according to fixed positioning is located in relation to the whole page, not to its containing block or its original position. Like absolute positioning (and unlike relative positioning), no space is set aside for the box in its normal flow location. The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex09 Listing 19.9] uses fixed positioning to set both a bar at the top that never goes away, and a "back to top" button that always stays fixed in the lower right corner. The full text of "The War Prayer" is omitted in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19ex09 Listing 19.9], but you can view the entirety on the book's website, to test scrolling with fixed positioning. Listing 19.9. Using Fixed Positioning {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- fixed-19.9.html --><br /><html><br /><head><br /><title>Page with a lot of text</title><br /><style type="text/css"><br />.section { margin: 0 8em; }<br />.topbar {<br />position: fixed; top: 0; left: 0;<br />width: 100%;<br />background-color: black; color: white; }<br />.backtotop {<br />background-color: white;<br />border: 1px solid black;<br />position: fixed; bottom: 1em; right: 1em; }<br /></style><br /></head><br /><body><br /><div class="topbar"><br />You are reading:<br /><cite>The War Prayer</cite> by Mark Twain<br /></div><br /><div class="section"><br /><h1><a name="top">The War Prayer by Mark Twain</a></h1><br /><p> It was a time of great and exalting excitement.<br /><!-- ... --><br /></div><br /><div class="backtotop"><br /><a href="#top">Back to top</a><br /></div><br /></body><br /></html><br /></pre></div><br /> |} The effects of fixed positioning are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19fig12 Figure 19.12]. <center> Figure 19.12. Objects fixed in position don't move when the rest of the page scrolls. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/19fig12_alt.jpg [View full size image]]</div>[[Image:19fig12.jpg|500px]] </center> ./ ADD NAME=CH19LEV1SEC5.HTML Summary Display boxes can be moved from their original positions in the normal flow of layout by using the <tt>position</tt> property. The <tt>position</tt> property selects among four different types of positioning schemes. Absolute positioning places the HTML element in a new location within or relative to its containing block. Fixed positioning locates the display box on a set position on the screen, even if the page scrolls. Placement of boxes in the context of their positioning schemes is determined by the values of the offset properties: <tt>left, right, top</tt>, and <tt>bottom</tt>. These can be measurements or percentages, with a positive value moving in the direction of the center of the containing block, and a negative value moving away from it. Care needs to be taken when placing boxes so that content isn't obscured or moved off the visible part of the page entirely. Absolutely positioned content that overflows its box can be clipped with the <tt>clip</tt> property. In addition to existing in two dimensions, CSS boxes occupy a third dimension, as well, that determines which boxes are layered on top of other boxes if the content overlaps. The order of layering can be set with the <tt>z-index</tt> property. ./ ADD NAME=CH19LEV1SEC6.HTML Workshop The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa1q1a1 Q.]''' | My <tt>clip</tt> rule isn't working right, and I am following the CSS spec exactly! The clipped element doesn't appear at all. What's wrong? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa1q1 A.]''' | The problem here is an unclear specification. You might assume that the dimensions for <tt>rect()</tt> are like those of <tt>relative</tt> offsetsthat each one specifies how to adjust the sides, with positive changes being toward the middle of the box. This is a natural assumption when you're working with positioning CSS, but it's not the case at all. Instead, a <tt>rect()</tt> defines a rectangle within the content box. As explained in this hour, it's easiest to think of the <tt>rect()</tt> values as a pair of coordinates for the upper-right and lower-left corners. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q1a1 1.]''' | Which of the following best describes absolute positioning? <div># <div>Subsequent text is flowed around the positioned box, relative to the box's new left or right location.</div> # <div>The box is held in location relative to where it is located, even if the page is scrolled.</div> # <div>Relative to the box's original location, the box is offset by a certain distance.</div> # <div>The box is placed relative to its containing box.</div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q2a2 2.]''' | The three <tt><div></tt> elements in the following snippet of HTML are placed with absolute positioning. What letter will be seen and why? <div><pre><div style="position: absolute; top: 0px; left: 0px;<br />background-color: white; width: 2em; z-index: 10;">K</div><br /><div style="position: absolute; top: 0px; left: 0px;<br />background-color: white; width: 2em; z-index: 1;">L</div><br /><div style="position: absolute; top: 0px; left: 0px;<br />background-color: white; width: 2em; z-index: 6;">B</div><br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q3a3 3.]''' | You have an <tt><img></tt> tag that is 450 pixels wide and 300 pixels tall. The graphic is composed of nine images of television actors in a three by three grid, each cell 150 pixels wide by 100 pixels tall. You want to show only the face of the youngest one, in curls, in the lower left cell. How do you use <tt>clip</tt> to show only that portion of the image? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q1 1.]''' | Absolute positioning is choice (c). Choice (c) is a description of relative positioning (from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18]), (a) describes floating content (from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15]), and (b) describes fixed positioning. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q2 2.]''' | The letter K. Because they are all placed in the same location, the one that is displayed will be the <tt><div></tt> on the top of the stacking order. The highest <tt>z-index</tt> value is <tt>10</tt>, and so the letter K will be visible. (Technically, the other letters are visible, too; we just can't see them.) |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch19qa2q3 3.]''' | Here is the type of rule you would write: <div><pre>img#bunch {<br />overflow: hidden;<br />clip: rect(150, 200, 0, 300); }<br /></pre></div><br /> Did you remember that you needed to change the <tt>overflow</tt> value from the default of <tt>visible</tt> to be able to use <tt>clip?</tt> The values for <tt>rect()</tt> come from the coordinates for the upper-left corner and the lower-right corner of the portion that should be displayedthe points (150,200) and (0,300), respectively. |} Exercise Placing boxes on the screen can seem arcane until you get plenty of practice with it. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS," you're going to see how to bring together what you've learned to lay out a page effectively. But you have the tools already to get started on positioning content blocks, and exercising your use of absolute and fixed positioning will help you prepare. Begin by creating a simple HTML page with a number of different elementssome headers, a few images, <tt><div></tt> elements containing sections of text, some lists of linksand start placing them with absolute (or fixed) positioning. After you've got them where you want them...move them! The power of CSS-based positioning lets you move sections of your page around the screen by simply changing offset property values, thus enabling you to re-order the entire page without changing the HTML. Try it, and practice it until you've fully grasped the implications; then you'll be ready for the next hour! ./ ADD NAME=CH20.HTML gr5ulifmoftug2zsy9awajmrjpgnu9d User:Bartlett/20 2 2124 5524 2007-06-17T17:18:33Z Bartlett 26 Bog cusub: ./ ADD NAME=CH20.HTML Hour 20. Page Layout in CSS {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The different strategies for laying out a page i... 5524 wikitext text/x-wiki ./ ADD NAME=CH20.HTML Hour 20. Page Layout in CSS {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * The different strategies for laying out a page in CSS * Why it's a bad idea to use <tt><table></tt> for page layout * The steps to replacing a table-based layout with a CSS-based structure * How to write HTML code for CSS-based layouts * How to use positioned content to lay out a page * How to use floating columns to lay out a page One of the major draws of modern CSSas supported by recent, more compliant browsersis the freedom to replace clunky HTML layout tables with structured HTML markup, styled by CSS rules. In previous hours, you've learned how to place individual portions of your web page in specific locations using absolute positioning or floating content. You can use the same types of style rules to build the visual structure of the page. |} ./ ADD NAME=CH20LEV1SEC1.HTML === Laying Out the Page === This hour will bring together many of the techniques you've learned in previous hours for using CSS properties to lay out an entire page or even an entire website. You won't need to misuse HTML <tt><table></tt> elements for page layout now that you have reliable CSS techniques for layout in your repertoire. The examples this hour use a redesigned version of the website for the Dunbar Project ([http://www.thedunbarproject.com/ http://www.thedunbarproject.com]). Dunbar School in Tucson, Arizona, was a segregated school for African-American students from 1918 until 1951, and was closed in 1978. Since then, a community group has been working to restore the school and make it into a community cultural center. The Dunbar Project has graciously allowed the author to use their website in this book for a sample website redesign in CSS. The Dunbar Project site as it appeared in early 2006 is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig01 Figure 20.1]. It is mostly a dark teal color, and although it's not bad, it could be improved through the use of Cascading Style Sheets, as you'll see this hour. <center> Figure 20.1. The Dunbar Project's original website. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig01_alt.jpg [View full size image]]</div>[[Image:20fig01.jpg|500px]] </center> The Problems with Layout Tables [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig02 Figure 20.2] shows the source view for the original version of the Dunbar Project web-site, which was not designed with CSS. Instead, multiple nested <tt><table></tt> tags provide the page layout, and <tt><font></tt> is used extensively. <center> Figure 20.2. Table-based layout can be very convoluted. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig02_alt.jpg [View full size image]]</div>[[Image:20fig02.jpg|500px]] </center> Tables for layout are problematic for a number of reasons. HTML purists argue against tables on principle: The <tt><table></tt> tag is meant to identify data in rows and columns of information, and is not intended for page layout. Accessibility mavens will tell you that screen readers employed by visually impaired users struggle with table layout. Table-based layouts are often harder to maintain than CSS-based layouts, requiring extensive rewriting of HTML tags to make simple changes. Later this hour, you'll see how a few CSS rules can easily move entire sections around without touching the HTML document at all. CSS-based layouts make it easier to maintain your HTML pages without cluttering them up with <tt><tr></tt> and <tt><td></tt> tags, and make for simpler transitions to new layouts by just swapping in a new style sheet. Your web pages laid out with CSS will be smaller (and thus load more quickly) than table-based pages. You can write web pages with the main content first in the HTML source and the navigation and footer information after, making your page more friendly to screen readers and search engines. Writing HTML with Structure The first step to laying out a page is to start with well-written HTML that is divided into sections for styling. This is commonly done with <tt><div></tt> tags that have id attributes set on them, corresponding to the different sections of the page. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex01 Listing 20.1], you can see a redesign of the Dunbar Project home page, which uses simple markup to store the site navigation, the content, the side navigation links, and the page footer. Listing 20.1. Using <tt><div></tt> Tags to Create Sections for Positioning {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- dunbar-20.1.html --><br /><html><br /><head><br /><title>The Dunbar Project</title><br /></head><br /><body><br /><div id="header"><br /><h1>The Dunbar Project</h1><br /><h2>In the Shadow of Downtown Tucson</h2><br /><div id="sitenav"><br /><ol><li><a href="index.html">Home</a></li><br /><li><a href="about/">About the Dunbar Project</a></li><br /><li><a href="gallery/">Photo Galleries</a></li><br /><li><a href="donate/">Donate</a></li><br /><li><a href="contact/">Contact</a></li></ol><br /></div> <!-- sitenav --><br /></div> <!-- header --><br /><div id="main"><br /><div id="content"><br /><h3>Welcome to The Dunbar Project Website</h3><br /><img src="DunbarTop.jpg" alt="[Dunbar School]"><br /><p>Dunbar School was completed in January 1918, for the<br />purpose of educating Tucson's African-American students.<br />The school was named after <a href="poet.html">Paul<br />Laurence Dunbar</a>, a renowned African-American poet.<br />African-American children in first through ninth grades<br />attended Dunbar until 1951, when de jure segregation was<br />eliminated from the school systems of Arizona. When<br />segregation in Arizona was eliminated, Dunbar School<br />became the non-segregated John Spring Junior High School,<br />and continued as such until 1978 when the school was<br />closed permanently.</p><br /><!-- ... more content omitted ... --><br /></div> <!-- content --><br /><div id="sidebar"><br /><h3>Dunbar Project</h3><br /><ol><li><a href="plan/">The Dunbar Site Plan</a></li><br /><li><a href="auditorium/">Dunbar Auditorium</a></li><br /><li><a href="history/">School History</a></li><br /><li><a href="proposal/">Project Proposal</a></li><br /><li><a href="donors/">Dunbar Donors</a></li><br /><li><a href="poet.html">About Paul Laurence Dunbar,<br />Poet</a></li><br /><li><a href="links/">Related Links</a></li></ol><br /><h3>Coalition Partners</h3><br /><ol><li>The Tucson Urban League</li><br /><li>The Dunbar Alumni Association</li><br /><li>The Dunbar/Spring Neighborhood Association</li><br /><li>The Juneteenth Festival Committee</li></ol><br /><h3>Individual Members</h3><br /><ol> <!-- ... list of donors omitted ... --> </ol><br /></div> <!-- sidebar --><br /><div id="footer"><br /><p id="note501c3">The Dunbar Project is a 501c(3) organization,<br />and your contributions are tax deductible.</p><br /><p id="copyright">Copyright &copy; 2006 by the Dunbar<br />Project. Questions?<br /><a href="mailto:webmaster@thedunbarproject.com"<br />>Mail the Webmaster.</a></p><br /></div> <!-- footer --><br /></div> <!-- main --><br /></body><br /></html><br /></pre></div><br /> |} You can download a full copy of this HTML file from the book's website; the content has been cut for space in this listing. The structure of this page is defined by the <tt><div></tt> tags with id attributes. The general skeleton (with content omitted) consists of the following: <div><pre><div id="header"> <div id="sitenav"></div> </div> <! header > <div id="main"> <div id="content"></div> <div id="sidebar"></div> <div id="footer"></div> </div> <! main > </pre></div> Comments are used with the closing <tt></div></tt> tags as reminders about which <tt><div></tt> is being closed; it makes the page easier to edit later. The page is constructed of two sections: a header and a main body. Each of these has one or more subsections. This structure provides what's needed to redesign and lay out the page. Why this particular structure? There are actually many ways you could structure such the page, inserting <tt><div></tt> tags appropriately. This skeleton is simply the method chosen for this example, to get the specific styles used later on. During the web development process, you might go back to your HTML and add or remove <tt><div></tt> tags while styling to give more flexibility when creating page layouts. The number of <tt><div></tt> tags you use will vary from layout to layout. Some web designers believe strongly in using only a minimum number of <tt><div></tt> tags, whereas others add them freely whenever needed. The approach for this example is down the middle between those extremes: There are enough to make it easy to illustrate how CSS-based layout works, but not so many that we're adding extraneous <tt><div></tt> tags just because we can. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig03 Figure 20.3] shows the new HTML page without any styles applied. <center> Figure 20.3. An unstyled page, ready for layout. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig03_alt.jpg [View full size image]]</div>[[Image:20fig03.jpg|500px]] </center> Writing a Layout Style Sheet With an HTML page ready for styling, the next step is to write the style sheet. There are several questions to consider regarding how to lay out the page. The first is a technical question: Will you use absolute positioning for layout, or will you use floated columns? You can get the same general layout effects from both techniques. Positioning is a little bit easier to grasp, at first, so this example uses absolute positioning. Later this hour, however, you'll learn how to lay out the same HTML page with the float property. You need to figure out how many columns you want. There's a slight increase in complexity when you have more columns, but the specific techniques remain the same whether you're using two columns, three columns, or more. In this redesign, two columns are used to avoid making the example overly complex. Finally, you need to determine whether you are using a fixed layout or a liquid layout. A fixed layout is one that defines a specific width for an entire page; for example, it may be always 700 pixels across, and excess space in the browser simply becomes wider margins. A liquid layout is one that grows larger (or smaller) based on the user's screen resolution and browser window size. There are advantages and disadvantages to both fixed and liquid layouts. A fixed layout may be easier to create and easier to read on larger monitors; a liquid layout is more adaptable but could result in overly long lines, which are harder to read. In this example, the Dunbar Project site will use a liquid design with margin size based on em units. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex02 Listing 20.2] is a style sheet that starts to set up the layout choices. Listing 20.2. A Style Sheet for Page Layout {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* dunbar-layout-20.2.css */<br /><br />body { margin: 0; padding: 0;<br />background-color: silver; }<br />#header { background-color: black; color: white; }<br />#sitenav ol { padding: 0; margin: 0;<br />display: inline; }<br />#sitenav li { display: inline; padding-left: 1em;<br />margin-left: 1em; border-left: 1px<br />solid black; }<br />#sitenav li:first-child<br />{ padding-left: 0; border-left: none;<br />margin-left: 0; }<br />#sitenav li a { color: white; }<br />#main { padding: 0 12em 2em 2em;<br />position: relative;<br />background-color: gray; }<br />#content { background-color: white; }<br />#sidebar { position: absolute; width: 10em;<br />right: 1em; top: 1em; }<br />#sidebar h3 { color: white;<br />background-color: black; }<br />#sidebar ol { margin: 0 0 1em 0;<br />background-color: white;<br />border: 2px solid black; }<br />#footer { background-color: white; }<br /></pre></div><br /> |} This style sheet is deliberately plain and simple, with colors of black, gray, silver, and white to make it easier for you to identify the various sections of the page. So what's happening here? * The first rule sets the margin and padding of the <tt><body></tt> to <tt>0</tt>. This is an important first rule for layout because browsers typically add one or the other (or both) to any web page. * The <tt>#sitenav</tt> rules in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex02 Listing 20.2] are used to turn the ordered list of links into a horizontal navigation bar. * The <tt>#main</tt> section is set to <tt>position: relative</tt> to become the containing block around the <tt>#content, #sidebar</tt>, and <tt>#footer</tt> sections. * The <tt>#main</tt> section is also given a large padding on the right, <tt>12em</tt>. This is where the <tt>#sidebar</tt> will be located. * Absolute positioning is used to move the <tt>#sidebar</tt> into the margin, out of its place in the normal flow of content. It is positioned 1 em to the left of the right edge of its containing block (<tt>#main</tt>) by <tt>right: 1em</tt>, and 1 em down from the top edge of the containing block by <tt>top: 1em</tt>. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig04 Figure 20.4] shows the results of linking this style sheet to the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex01 Listing 20.1]. <center> Figure 20.4. Positioning properties define the rough outline of the page. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig04_alt.jpg [View full size image]]</div>[[Image:20fig04.jpg|500px]] </center> It's still quite rough, but you can see the different sections moved into place. You should note the silver bars above and below the header. Where did they come from, and why? The silver bars are the result of the background color set on the <tt><body></tt> showing through. They are formed because of the default margin properties set on the <tt><h1></tt> and <tt><h3></tt> headings used on the page. Remember that margins are outside of the border of an element's box, and the <tt>background-color</tt> property on a box colors only the interior content, not the margin. This applies even when you have a <tt><div></tt> wrapped around a heading, such as <tt><h1></tt>. The margin extends beyond the edge of the <tt><div></tt>'s background-color. To fix this, we explicitly set the heading margins to zero on the heading tags. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex03 Listing 20.3] is a style sheet that not only does that, but also assigns colors, fonts, and other styles on the site. The teal, purple, white, and yellow colors were chosen to reflect not only the original design of the website, but also the actual colors used at the Dunbar school auditorium as well. Listing 20.3. A Style Sheet for Colors and Fonts {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* dunbar-colors-20.3.css */<br /><br />body { font-family: Optima, sans-serif; }<br />a:link { color: #055; }<br />a:visited { color: #404; }<br />#header { text-align: center;<br />color: white; background-color: #055; }<br />#header h1, #header h2<br />{ margin: 0; }<br /><br />#header h1 { color: #FFFF00; font-size: 250%; }<br />#header h2 { font-weight: normal; font-style: italic; }<br />#sitenav { color: white; background-color: #404; }<br />#sitenav ol { font-size: 90%; text-align: center; }<br />#sitenav li { margin-left: 1em;<br />border-left: 1px solid #DD0; }<br />#sitenav li a:link, #sitenav li a:visited<br />{ color: white; text-decoration: none; }<br />#sitenav li a:hover<br />{ color: #DDDD00; }<br /><br />#main { background-color: #055; }<br /><br />#content { background-color: white; padding: 1em 5em; }<br />#content h3 { margin-top: 0; }<br />#content p { font-size: 90%; line-height: 1.4; }<br /><br />#sidebar h3 { font-size: 100%; color: white; margin: 0;<br />font-weight: normal; padding: 0.125em 0.25em;<br />background-color: #404; }<br />#sidebar ol { background-color: white; border: 2px solid #404;<br />border-top: 0; margin: 0 0 1em 0;<br />padding: 0.125em 0.25em; }<br />#sidebar li { font-size: 85%;<br />display: block; padding: 0.125em 0; }<br />#sidebar li a:link, #sidebar li a:visited<br />{ text-decoration: none; color: #055; }<br />#sidebar li a:hover { color: #404; }<br /><br />#footer { background-color: #404; color: white;<br />padding: 0.5em 5em; }<br />#footer p { margin: 0em; font-size: 85%; }<br />#footer p a:link, #footer p a:visited<br />{ color: #DDDD00; }<br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig05 Figure 20.5] shows the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex01 Listing 20.1] with both the layout style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex02 Listing 20.2] and the colors and fonts style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex03 Listing 20.3]. <center> Figure 20.5. Fonts and colors help define the website's look. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig05_alt.jpg [View full size image]]</div>[[Image:20fig05.jpg|500px]] </center> As you can see, the styled page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig05 Figure 20.5] looks quite different from the unstyled version in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig03 Figure 20.3]. Re-Ordering Sections with Positioning Styles The page in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig05 Figure 20.5] looks okay, but let's say that you got this far into the web design process and you suddenly decided that you want to have the site navigation bar located on top of the headline, rather than below it. You could go in and change your HTML source around. This would work, but it would introduce a problem. The order of the HTML in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex01 Listing 20.1] is sensiblethe name of the site is given first, and then the navigation menu. This is how users of non-CSS browsers such as Lynx will read your page, and also how search engines and screen readers will understand it as well. Moving the title of the page after the list of links doesn't make much sense. Instead, you can use CSS positioning properties to reformat the page without touching the HTML file. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex04 Listing 20.4] is a style sheet to do exactly that. Listing 20.4. Moving One Section Before Another {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* dunbar-move-20.4.css */<br /><br />#header { padding: 1.25em 0 0.25em 0;<br />position: relative;<br />background-color: #404; }<br />#sitenav { position: absolute;<br />top: 0; right: 0;<br />border-bottom: 1px solid #DDDD00;<br />width: 100%;<br />background-color: #055; }<br /></pre></div><br /> |} What's happening here? * The <tt>#header</tt> section encloses the <tt>#sitenav</tt> in the HTML source, so by setting it to <tt>position: relative</tt>, it now becomes the containing block for the site navigation links. * Padding is added to the top of the <tt>#header</tt> section. This is where subsequent rules will place the site navigation menu; the padding reserves the space for it. * Absolute positioning properties align the top-right corner of the <tt>#sitenav</tt> section with the top-right corner of its containing block, the <tt>#header</tt>. * Giving a <tt>width</tt> of <tt>100%</tt> to the <tt>#sitenav</tt> ensures it will reach across the full width of its containing block, which is, in this case, as wide as the browser display window. * Finally, colors are swapped on the <tt>#header</tt> and the <tt>#sitenav</tt> to make them fit in better with the overall design in their new locations, and a yellow border is added to the bottom of the navigation links. You can see the effects of these changes in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig06 Figure 20.6]. <center> Figure 20.6. The navigation menu is now above the page headline. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig06_alt.jpg [View full size image]]</div>[[Image:20fig06.jpg|500px]] </center> {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Redesign the Layout of a Page You just learned how to move the site navigation menu around. What if you want to make further changes to the page? Try these steps to get familiar with how easy it is to change the layout with CSS: {| border="0" |- | <br /> | > |- | <div>'''1. '''</div> | <div>Download a copy of the Dunbar Project page for editing. You can get all the files used in this hour from the book's website. The file <tt>dunbar.html</tt> contains the complete HTML page, and <tt>dunbar-full.css</tt> has all the style rules listed in this chapter combined into a single style sheet.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Move the sidebar to the left side of the page instead of the right. To do this, you need to make space for it in the left gutter by changing the padding rule on the <tt>#main</tt> section to<br /><br /><div><pre>#main { padding: 0 2em 2em 12em; }<br /></pre></div><br /></div> |- | <div>'''3. '''</div> | <div>Then change the positioning offset properties the <tt>#sidebar</tt>. You don't even have to change the rule for the top property; just replace the property name <tt>right</tt> with <tt>left</tt>.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Reload the page. You should now see the menu bar on the left side of the screen.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Next, move the <tt>#footer</tt> section. Even though the id of the <tt><div></tt> is <tt>"footer"</tt>, there's nothing magical about that name that means it needs to be at the bottom of the page. Place it on the right side, where the sidebar used to be located. First clear some space:<br /><br /><div><pre>#main { padding: 0 12em 2em 12em; }<br /></pre></div><br /></div> |- | <div>'''6. '''</div> | <div>Then reposition the footer with these rules:<br /><br /><div><pre>#footer { position: absolute;<br />top: 1em; right: 1em;<br />width: 10em;<br />padding: 0; }<br />#footer p { padding: 0.5em; }<br /></pre></div><br /></div> |- | <div>'''7. '''</div> | <div>Reload the page. The <tt>#footer</tt> is now no longer a footer, but a third column on the right side of the page.<br /><br /></div> |} |} The Floated Columns Layout Technique You can also lay out a web page by using the <tt>float</tt> property rather than positioning properties. This method is a little bit more complex, but is favored by some designers who prefer the versatility. In addition, floated columns can be written with fewer <tt><div></tt> tags, and in some cases deal better with side columns that are shorter than the main text. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex05 Listing 20.5] is a style sheet demonstrating how you can float entire columns on a page with CSS. This is a replacement for the <tt>dunbar-layout-20.2.css</tt> style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex02 Listing 20.2]. The new style sheet places the menu bar on the left instead of the right, just for variety's sakethere's nothing inherently left-biased about floated columns (or right-biased about positioning). Listing 20.5. Float-Based Layouts in CSS {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* dunbar-float-20.5.css */<br /><br />body { margin: 0; padding: 0; }<br />#sitenav ol { padding: 0; margin: 0;<br />display: inline; }<br />#sitenav li { display: inline; padding-left: 1em;<br />margin-left: 1em; border-left: 1px<br />solid black; }<br />#sitenav li:first-child<br />{ padding-left: 0; border-left: none;<br />margin-left: 0; }<br /><br />/* This is what positions the sidebar: */<br />#main { padding: 0 2em 2em 12em; }<br />#content { float: left; }<br />#sidebar { float: left; width: 10em;<br />position: relative;<br />right: 11em; top: 1em;<br />margin-left: -100%; }<br />#sidebar ol { margin: 0 0 1em 0; }<br /></pre></div><br /> |} What does this style sheet do? * The first section simply duplicates the site navigation bar code from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex02 Listing 20.2], so that the entire style sheet can be replaced by this one. * Starting at the second comment, the code for positioning the columns appears. The first rule sets the <tt>#main</tt> section to have a wide gutter on the left, which is where we will be placing the sidebar. * Both the <tt>#content</tt> and <tt>#sidebar</tt> sections are set to float. This means that they line up on the left side of the <tt>#main</tt> section, just inside the padding. * A width is given to the <tt>#sidebar</tt> of <tt>10em</tt>the same width as in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch10lev1sec2.html#ch10ex02 Listing 10.2]. The size was chosen because that allows 1 em of space around it, after it is placed inside the 12 em gutter set by the <tt>padding</tt> rule on <tt>#main</tt>. * A negative margin is set on the left side of the <tt>#sidebar</tt>, which actually makes it overlay the <tt>#content</tt> section. Relative positioning is then used, via the <tt>right</tt> and <tt>top</tt> rules, to push the sidebar into the correct place in the gutter. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20fig07 Figure 20.7] shows this style sheet applied to the HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex01 Listing 20.1], along with the colors and fonts style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex03 Listing 20.3] and the style sheet from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20ex04 Listing 20.4], which relocated the site navigation menu. <center> Figure 20.7. The sidebar is positioned as floating content. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/20fig07_alt.jpg [View full size image]]</div>[[Image:20fig07.jpg|500px]] </center> ./ ADD NAME=CH20LEV1SEC2.HTML Summary Tables have long been used in web design to lay out a web page. However, this misuse of <tt><table></tt> markup introduces a plethora of complications, from accessibility concerns to complexity problems. Using CSS for layout can clean up your HTML code and produce flexible designs that can be updated easily to new styles. Laying out a page with CSS starts with adding sections to the HTML, using <tt><div></tt>s with ID selectors. These are then arranged in vertical columns, through the use of either positioning rules or the float property. With CSS layouts, it's not difficult to re-order and reshape the page simply by changing the style sheet. ./ ADD NAME=CH20LEV1SEC3.HTML Workshop The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q1a1 Q.]''' | Is it ever okay to use tables for layout? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q1 A.]''' | Never, ever, ever! Well, almost. CSS layouts generally are more efficient and versatile than <tt><table></tt>-based code, but if you are careful to test your layout tables in a browser such as Lynx to make sure that the site is usable without tables, you can probably get away with it. Tables aren't awful for laying out a page, and CSS can be tricky when you're dealing with grid-based designs. In general, though, you're better off using CSS whenever you can. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q2a2 Q.]''' | Which are better measurements for layouts, pixels or percentages? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q2 A.]''' | Some web designers, especially those from a print background or who have picky clients to please, swear by pixels. With some patience (and possibly work-arounds for browser quirks, as described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks"), you can get close to pixel-perfect designs in CSS. Other designers like percentage measurements, which scale with the size of the text window. Personally, I prefer em measurements, which are based on the user's chosen font size. There's no clear-cut advantage to any approach, however; all have their pros and cons. You can experiment with a variety of measurement types, and don't be afraid to mix and match them sensibly on your sitefor example, designating column widths in percentages but also setting pixel-based <tt>min-width</tt> and <tt>max-width</tt> values. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q3a3 Q.]''' | Are there problems with using ems for layout? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa1q3 A.]''' | Only if you're not careful. The biggest problems result from setting margins, padding, or positioning properties based on em values, and then changing the font size of those values. For example, you might overlook the effects of the <tt>font-size</tt> rule buried in these declarations: <div><pre>#sidebar { right: 1em; top: 1em;<br />text-align: right; color: white;<br />font-family: Verdana, sans-serif;<br />font-size: 50%; }<br /></pre></div><br /> This won't actually be located 1 em in each direction from the corner of its containing block; it will be 0.5 em from the right, and 0.5 em from the top. If you are going to change the font size within a section that uses ems for dimensions or placement, set the <tt>font-size</tt> rules on the contents of the box, as done in this chapter's style sheets with <tt>#sidebar h3 { ... }</tt> and <tt>#sidebar ol { ... }</tt> rules. You could also add an extra <tt><div></tt> inside the sidebar, and set the <tt>font-size</tt> rule on that <tt><div></tt>. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q1a1 1.]''' | Which property tells the text to start flowing normally again, after a floated column? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q2a2 2.]''' | How do you designate the containing block for an absolutely positioned element? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q3a3 3.]''' | What kind of rules would you write to change an ordered list of navigation links into a horizontal navigation bar? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q1 1.]''' | The <tt>clear</tt> property, which was introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch15.html#ch15 Hour 15], "Alignment," can be used after floated columnsfor example, if you want a footer to reach across the entire browser window below the floated columns. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q2 2.]''' | As explained in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], "Absolute and Fixed Positioning," you set the containing block by changing the <tt>position</tt> property, usually to a value of <tt>relative</tt> (with no offset properties designated). |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch20qa2q3 3.]''' | [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20lev1sec1.html#ch20ex02 Listing 20.2] has an example of a style sheet with rules to do that, using the display property as described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes." |} Exercises Practice the following exercises: * What kind of layouts can you create with CSS? Choose your favorite siteseither your own or some you enjoy usingand duplicate their layout styles with CSS. Existing sites make good models for doing your own practice, but keep in mind that unless you get permission, you shouldn't simply steal someone else's code. Start with the visual appearance as you see it on the screen, and draw out boxes on paper as guidelines showing you where various columns are located. Use that as your model to write the HTML and CSS for building a similar layout. * Try both of the techniques described in this hourusing absolutely positioned content and using floating columns. Start with one version and convert it over to the other. Find a style of page that looks right to you, and the CSS code that you feel is easiest to understand, apply, and modify consistently. ./ ADD NAME=CH21.HTML e0o6q3cn770ddxilfp2hc8mntayk1y3 User:Bartlett/24 2 2125 5525 2007-06-17T17:19:18Z Bartlett 26 Bog cusub: ME=CH24.HTML Hour 24. Troubleshooting and Browser Hacks {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How to detect errors in your style sheets ... 5525 wikitext text/x-wiki ME=CH24.HTML Hour 24. Troubleshooting and Browser Hacks {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How to detect errors in your style sheets or HTML code by using validators * What browser hacks are and how they work * How to write CSS rules that filter out specific browsers * What conditional comments are, and how to use them with Internet Explorer * How to reliably hide content from visual browsers while still making it available to screen readers for blind users * Four ways to change the transparency of any element with proprietary CSS rules * How to produce a variety of visual transformations that will appear only in Internet Explorer * How to create rounded corners in Gecko-based browsers with proprietary CSS rules Writing style sheets can feel like an arcane art when the style rules don't have quite the effect you want. Sometimes it will be a problem with the way you've written the rules, and other times you've just run into a browser bug or quirk. This hour teaches you how to identify your own mistakes, work around browser quirks, and use certain browser deviations from the standard to benefit rather than break your CSS-based designs. |} ./ ADD NAME=CH24LEV1SEC1.HTML Troubleshooting Style Sheets When you're writing a style sheet, sometimes the results you get in your browser don't match what you were hoping for. Don't worrythis happens to everyone. To correct these problems, you can follow a strategy of eliminating syntax errors though validation, simplifying the possible sources of errors, and working around browser bugs and quirks. HTML and CSS Validation Everyone makes mistakes, even you and I. Mistakes in writing CSS can be benign, producing a minor effect such as putting a block of text in the wrong font, or they can be much more serious and prevent people from using your page at all. The first step to making sure that your style sheet contains no mistakes is ensuring that your HTML isn't broken. As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4], "Using CSS with HTML," you can validate your HTML by using the World Wide Web Consortium's HTML validator at [http://validator.w3.org/ http://validator.w3.org]. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig01 Figure 24.1] shows the validator inspecting the author's website. <center> Figure 24.1. The W3C's HTML validator locates problems in web pages. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/24fig01_alt.jpg [View full size image]]</div>[[Image:24fig01.jpg|500px]] </center> As you can see, the validator discovered a problemthere is an extra closing tag, </a>, that is not matched by an opening tag. This was the result of a simple HTML editing problemI changed the spot at which I wanted my link to end, but forgot to remove the original closing tag. Thanks, validator, for spotting that! The W3C provides a free CSS validation service, as well, for checking your CSS syntax. This is located at [http://jigsaw.w3.org/css-validator/ http://jigsaw.w3.org/css-validator/]. <div>By the Way Another CSS validator, this one from the Web Design Group, can be found at [http://www.htmlhelp.com/tools/csscheck/ http://www.htmlhelp.com/tools/csscheck/].</div> To use the W3C CSS validator, you can specify a web page that contains CSS code, give the direct URL of a style sheet, or paste your style rules directly into a text box. The validator analyzes your CSS rules and notifies you of errors. It also gives useful warnings. An example of CSS validation is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig02 Figure 24.2], which shows the results of validating the style sheet for the author's website. As you can see, it caught an error and gave a warning about some possible errors. <center> Figure 24.2. Using the W3C's CSS validator on a style sheet. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/24fig02_alt.jpg [View full size image]]</div>[[Image:24fig02.jpg|500px]] </center> Validation is a useful strategy for a number of reasons. The biggest benefit is that it enables you to spot errors in your style sheet syntax. For example, in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig02 Figure 24.2], the CSS validator noticed a problem with the style sheet. The style sheet contained a reference to a <tt>pudding</tt> CSS property; this was a typo for the <tt>padding</tt> property. The warnings issued by the CSS validator are quite useful for spotting accidental omissions, such as setting a foreground color without a contrasting background color. However, you have to interpret those results carefully. The CSS validator can't fully account for inheritance and transparency in your web page, and so you need to determine for yourself whether a warning is an actual problem. A validator is like a spell-checker or grammar-checker in a word processor. It can spot potential problems and you wouldn't think of submitting a document without checking it first, but blind reliance on an automated checker without using human judgment is just as bad. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Check for Valid HTML and CSS Get some hands-on experience with the W3C's validators by following these simple steps: {| border="0" |- | <div>'''1. '''</div> | <div>Choose a web page you've worked on that uses CSS.<br /><br /></div> |- | <div>'''2. '''</div> | <div>First, validate the HTML at [http://validator.w3.org/ http://validator.w3.org/] and take note of any problems you find.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Fix any HTML errors the validator found in your page; clean HTML is a solid foundation for CSS work.<br /><br /></div> |- | <div>'''4. '''</div> | <div>Next, run the page's style sheet through the CSS validator at [http://jigsaw.w3.org/css-validator/ http://jigsaw.w3.org/css-validator/]. You'll get two types of responseserrors and warnings.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Fix any errors that appear, such as mistyped property names or poorly formed CSS rules. It's not uncommon to leave out closing curly braces or have extraneous ones, for example.<br /><br /></div> |- | <div>'''6. '''</div> | <div>Then go through each warning and analyze what it's trying to tell you. You may not need to change your style sheet at all, if you can check against your HTML and determine whether the warning calls for action or not.<br /><br /></div> |- | <div>'''7. '''</div> | <div>Fix any warnings that are helpful, and ignore any you don't need to fix. For example, if it tells you that you need to set a background color, but it will always be inherited from an appropriate parent element, you don't need to make that change.<br /><br /></div> |} |} Narrowing Your Focus Validation won't find all your mistakes, just as a spell-checker in a word processing problem won't catch factual errors in a term paper. So just because your page is designated as syntactically valid, that doesn't mean it won't have additional problems that can affect how it appears on the screen. After you have validated your CSS, it's time to start stripping it out. Save the original version of your HTML and CSS, and work on a copy off it. Remove sections of the CSS step by step, reloading the page in the browser each time. You can remove these rules from the page by editing them out of the source, or you can comment them out. Your goal in this process is to identify exactly which rules are causing problems for you. Cut away any extraneous style rules that you suspect have nothing to do with your problemsbut be sure to reload after each removal, because it's possible that something that appears completely unrelated might be causing your problems! Style rules sometimes have unintended consequences. Problems involving the cascade are particularly hard to spot at first glance because the individual rules look right, and the effects of the combination can be tricky to figure out. If you need to, review [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch07.html#ch07 Hour 7], "Cascading and Inheritance," for details on how selectors are given higher specificity based on the types of selectors used. The more selectors of each type used, the more specific the rule; <tt>id</tt> selectors beat class (and pseudo-class) selectors, and class selectors beat element type selectors. You should also watch for shorthand properties, such as <tt>font, background, border, margin</tt>, and so on. These properties not only set the values given, but also reset to the default (by the CSS specification, not by other rules on your page) any of the properties they represent. Consider this rule: <div><pre>.sidebar { font-weight: bold; font: 12pt Verdana, sans-serif; } </pre></div> This certainly looks as if it would give you Verdana text, 12 points high and in bold. But it won't. Because the <tt>font</tt> rule listed here is a shorthand property, it is actually identical to the following: <div><pre>font-style: normal; font-variant: normal; font-weight: normal; font-size: 12pt; line-height: normal; font-family: Verdana, sans-serif; </pre></div> Because the <tt>font</tt> rule follows the <tt>font-weight: bold;</tt> rule, the weight of the font is effectively set back to <tt>normal</tt> from <tt>bold</tt>. The sidebar text would be 12 point Verdana, but it would not be bold. Narrowing down your rules to a smaller set and checking the cascading, inheritance, and shorthand properties can identify many of these kinds of mistakes in your style sheets. Ruling Out Browser Bugs Now, it may be that you've made no mistakes at all in your CSS rules. As discussed throughout this book, especially in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3], "Browser Support for CSS," no browser has perfect support for the CSS standards and all have quirks and bugs ranging from minor to serious. So it's possible that a problem just isn't your fault. To identify whether a CSS problem is the result of a browser quirk or bug, you'll first need to do some browser testing in alternate browsers. This should be part of your normal routine anyway, but you use a slightly different approach when hunting down a problem. Your goal is not to make it appear the same, but to see whether or not you can reproduce the problem on other browsers with different layout engines, including mostly compliant browsers (such as Firefox, Opera, or Safari). Use the simplified version of the style rules you developed when narrowing down the rules to a smaller subset, and see whether you can confirm what the correct behavior should be. If two or three other browsers agree on the way your CSS code should be presented, they're probably right; however, if there's one browser that's just doing it all wrong, you most likely have stumbled onto a browser bug or quirk. <div>By the Way When you are trying to hunt down problems in Internet Explorer, make sure you are aware whether or not you are in "quirks mode." By default, Internet Explorer 6 is in a quirky, backwards-compatible mode that matches IE 5 and 5.5, but you can put it into a more standards-compliant mode by using a <tt><!DOCTYPE></tt> definition, as you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4].</div> If you think you've found a bug, you may be rightand you may not be the only person to find it. Check on some of the very valuable websites that document browser bugs, such as Position Is Everything ([http://www.positioniseverything.net/ http://www.positioniseverything.net/]), or simply do a web search with keywords such as the name of your browser, the name of the CSS property, and "bug." You'll likely find other people who have encountered the same problems, and advice on how you can use other browser quirks to get yourself out of your difficulties. ./ ADD NAME=CH24LEV1SEC2.HTML Browser Hacks In a perfect world, you could sit down with this book, a copy of the CSS specification, and your computer, and write style sheets that display properly on every browser in the world. Unfortunately, as discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3], we don't live in that perfect world yet. Each browser has its own quirks and bugs, some very minor and some quite serious. To work around these quirks and bugs, web designers have developed certain techniques for dealing with browsers that don't always behave as they should. Somewhat ironically, these techniques themselves rely on quirks and bugs themselves to get around other quirks and bugs. A browser hack, therefore, is any technique that uses CSS rules (or sometimes HTML tags) in a quirky way to address a known problem in a browser. If a CSS rule wouldn't be included in that perfect world, but is included because, for example, Internet Explorer 5.5 has a bug, then that rule is the result of a browser hack. A hack isn't all bad, mind you. The term "hack" has both negative and positive connotations in the English language, depending on the context in which it is used. A hack writer is a bad writer, but in computer programming, a hacker is a deft manipulator of the computer systemas opposed to a cracker, which is someone who maliciously breaks in and steals your data. In the sense we're using it here, a browser hack is an unfortunate compromise forced upon web designers because of browser limitations. Nobody likes to use a browser hack; we'd rather live in a CSS utopia where rules work correctly. A browser hack is therefore a compromise we live with because we have to. Browser hacks have several identifying features. First, they are targeted at specific web browsers. One browser hack might be aimed at Internet Explorer 5.5, whereas another works to correct a quirk in Opera 7. Secondly, browser hacks are almost always valid CSS, especially if they're well-written hacks. Thirdly, they exploit bugs or limitations in the targeted browser that deal with how it handles proper CSS. Some browser hacks use selectors that are not implemented in the target browser, and thus will be ignored. For example, if you want to write a rule that won't be understood by Internet Explorer 6, an easy way to do this is to use one of the selectors from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], "Advanced Selectors," such as an attribute selector. Other browser hacks depend on bugs in the way the layout engine reads through the style sheet and parses out the CSS rules. For example, certain browsers have problems with comments stuck in the middle of property names, and these bugs can be exploited to write rules targeting those browsers. The vast majority of browser hacks depend on at least two bugs: one in the way the rule is read by the layout engine, and one in the way the layout engine places the content on the page. The combination of these two bugs results in a hack to use the former as a fix for the latter. These double-bug browser hacks are useful only as long as each bug is unique to only that browser. The examples in this hour use Internet Explorercurrently the most commonly used quirky browser, as described in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3]to illustrate how filtering works. You can find specific hacks for specific browsers at Position is Everything ([http://www.positioniseverything.net/ http://www.positioniseverything.net/]) and Centricle ([http://centricle.com/ref/css/filters/ http://centricle.com/ref/css/filters/]), among other sites. Filtering Out Specific Browsers As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], "Box Sizing and Offset," there is a bug in the way certain versions of Internet Explorer calculate the width (and height) of a box. This is called the IE box model bug. Versions of Internet Explorer prior to 6 (and IE 6 in quirks mode) miscalculate the box dimensions by including the border and padding in the width and height. If you use CSS to set a box's <tt>width</tt> to 600 pixels, plus another 300 pixels of border and padding, most browsers correctly display this as 900 pixels wide. Internet Explorer makes the box 600 pixels across. If you set the <tt>width</tt> to 900 pixels, it displays as desired in Internet Explorer, but is suddenly 1200 pixels wide in compliant browsers. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig03 Figure 24.3] shows exactly this scenariothe <tt>width</tt> has been set to 600 pixels, and Internet Explorer displays it incorrectly. <center> Figure 24.3. This box should be 900 pixels wide, but IE miscalculates. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/24fig03_alt.jpg [View full size image]]</div>[[Image:24fig03.jpg|500px]] </center> It would be nice if there were a way to feed separate values for <tt>width</tt> to Internet Explorer and to browsers that respect the standards. This desire has led to the development of browser filters. A <tt>filter</tt> is a kind of browser hack that targets certain browsers by writing rules that either are ignored by only those browsers, or understood by only those browsers. You can use browser filters to address the box model bug in Internet Explorer. One way to do this is by using a rule other browsers understand, but that Internet Explorer cannot understand, and will therefore ignore. <div>Did you Know? As explained in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch18.html#ch18 Hour 18], there are several other ways to deal with the IE box model bug. One method is to simply never set the <tt>padding</tt> and <tt>border</tt> on any object that has the <tt>width</tt> set. Use nested <tt><div></tt>s instead of a single <tt><div></tt>, assign the (larger) <tt>width</tt> to the outer <tt><div></tt>, and the <tt>padding</tt> and <tt>border</tt> to the inner <tt><div></tt>. This makes your HTML more complex, which offends some markup purists because the extra <tt><div></tt> is extraneous. Another method is to force Internet Explorer out of the default "quirks mode" and into "standards mode" by using a <tt><!DOCTYPE></tt> statement; this works only in Internet Explorer 6, which means you will still have to do something about IE 5.0 and 5.5. The filters in this hour can help you in that regard.</div> The Direct Child Selector Filter In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch08.html#ch08 Hour 8], you learned that Internet Explorer (even version 6) does not understand the direct child selector, represented by a > symbol between the parent and child elements. This means that any rule written with a direct child selector will not be understood by current versions of IE. Therefore, you can write two rules: first, a rule setting the <tt>width</tt> to the Internet Explorer dimension, and then a second rule that updates that <tt>width</tt> to the "real" value, for browsers that understand direct child selectors. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1] is an example of this type of filter. Listing 24.1. Using Child Selectors to Filter Out Internet Explorer {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- box-model-24-1.html --><br /><html><br /><head><br /><title>Box Model Woes</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />.bar { color: white; background: black;<br />text-align: center; margin: 1em 0; }<br />#six { width: 600px; } #nine { width: 900px; }<br />#box { width: 900px; /* The width for IE */<br />background-color: silver;<br />padding: 100px; border: 50px solid #555; }<br />html>body #box { width: 600px; }<br />/* The "real" width value */<br /></style><br /></head><br /><body><br /><div id="six" class="bar">600 pixels</div><br /><div id="box"><br /><p>This is a box displaying the box model<br />bug problem. Namely, we want it to have<br />a width of 600 pixels with a 100 pixel<br />padding on each side, and a 50 px border.<br />According to the W3C box model, the<br />box should be 600 + 100 + 100 + 50 + 50<br />= 900 pixels wide. According to Internet<br />Explorer, it should be 600 pixels wide.</p><br /></div><br /><div id="nine" class="bar">900 pixels</div><br /></body><br /></html><br /></pre></div><br /> |} The results of displaying this page in Internet Explorer 6 (not in "quirks mode," because there is no <tt><!DOCTYPE></tt> in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1]) are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig04 Figure 24.4]. As you can see, the box is now the right size. A browser such as Firefox would also display the box at the same size because it would understand and use the real value of <tt>600px</tt> given in the child selector rule. <center> Figure 24.4. Internet Explorer uses the 900px value to produce a box of the proper dimensions. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/24fig04_alt.jpg [View full size image]]</div>[[Image:24fig04.jpg|500px]] </center> The embedded style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1] first sets the <tt>width</tt> to the wrong value of <tt>900px</tt>, and then corrects it with the subsequent rule, which IE ignores. Another way to use a browser filter is to write a rule that is ignored by all other browsers, but understood by only the targeted browser. This is the opposite approach to the method in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1]. The Star HTML Filter Internet Explorer, up to and including version 6, has a minor bug. IE believes that there is an invisible, unknown element that contains the <tt><html></tt> element. No other browser has this quirk, but if you write a rule such as the following, Internet Explorer will apply it: <div><pre>* html p { color: blue; } </pre></div> Such a rule will make your paragraph tags blue, but only in IE. Any other browser would look first at the universal selector (*) and then at the <tt>html</tt> element selector, and conclude that there's no parent element that contains htmlso the rule won't apply to anything. Web designers call this the star HTMLfilter or star HTML hack. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex02 Listing 24.2] is a style sheet that uses this particular quirk to write a style rule just for Internet Explorer; this style sheet is a replacement for the embedded style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1]. Listing 24.2. A Style Sheet That Uses the Star HTML Filter {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>body { font-family: Verdana, sans-serif; }<br />.bar { color: white; background: black;<br />text-align: center; margin: 1em 0; }<br />#six { width: 600px; } #nine { width: 900px; }<br />#box { width: 600px; /* The correct width */<br />background-color: silver;<br />padding: 100px;<br />border: 50px solid #555; }<br />* html #box { width: 900px; }<br />/* The width for only Internet Explorer */<br /></pre></div><br /> |} Internet Explorer displays the box correctly when this rule is used. IE actually reads both rules in this case, both the width of <tt>600px</tt> and the <tt>width</tt> of <tt>900px</tt>. It chooses to use the latter rule because of the specificity calculations that you learned about [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch07.html#ch07 Hour 7]. A rule with more selectors of a given type is more specific. <div>By the Way There isn't a screen capture of [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex02 Listing 24.2] displayed in a browser because it would look identical to [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig04 Figure 24.4], which illustrated the direct child filter. Later in this hour you will learn yet another way to fix the box model problem, and again it will look just like [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig04 Figure 24.4].</div> So which method should you use? There are advantages and disadvantages to both. The technique in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex01 Listing 24.1] makes the assumption that any browser that understands direct child selectors will not have the Internet Explorer box model bug, and vice versa. So far this is true, but it is somewhat shaky ground. The star HTML hack in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex02 Listing 24.2] presumes that every browser that recognizes the nonsensical <tt>* html</tt> selector will also have a broken box model algorithm. Each hack therefore depends upon two unrelated bugs or quirks to function. What if the next version of Internet Explorer fixes one of the bugs used in a hack but not both? For example, what if Internet Explorer 7 stopped believing in a fictional parent for <tt><html></tt>, but still had the box model bug in quirks mode? What if Internet Explorer suddenly understood child selectors? In fact, it appears that exactly this situation has come trueas this book is being written, Internet Explorer 7 is available in only a preview release, but Microsoft's developers have warned that the star HTML selector won't be recognized by IE7, and direct child selectors will be understood. However, not all CSS bugs in IE6 will be fixed in IE7. Some web designers are upset by thistheir browser hacks will break in IE7. Conditional Comments Microsoft has recommended that web developers stop using filters that target Internet Explorer for inclusion or exclusion, such as the direct child hack or the star HTML hack. Instead, they promote the use of conditional comments. Conditional comments are HTML markup following the general syntax of normal commentsthey begin with <tt><!--</tt> and end with <tt>--></tt>. This means that most browsers ignore anything between those markers, even if it looks like normal HTML tags. However, Internet Explorer will look inside certain comments if they contain a conditional statement. These conditional statements enable you to embed within the comments some HTML tags that will be read only by Internet Explorer. You can even refine these conditional statements further by requiring that only IE browsers of a certain version read the HTML that is contained. Here are several examples that illustrate the syntax for conditional comments: <div><pre><!--[if IE]> <p>Internet Explorer detected!</p> <![endif]--> <!--[if IE 6]> <p>Congratulations (or condolences), you're using IE 6.</p> <![endif]--> <!--[if lte IE 5.5]> <p>I'm sorry, you're using an earlier version of IE.</p> <![endif]--> </pre></div> If you viewed this HTML code in a non-Microsoft browser, such as Firefox, you wouldn't see any of these messages, as anything between the <tt><!--</tt> and the <tt>--></tt> is ignored as a comment. But if you view this in Internet Explorer, you will see a message dependent upon your browser version. Conditional statements can be as simple as <tt>[if IE]</tt> (to match all versions of Internet Explorer from 5.0 onward, when conditional comments were introduced), or more complex statements with the modifiers <tt>lt</tt> (less than), <tt>gt</tt> (greater than), <tt>lte</tt> (less than or equal to), or <tt>gte</tt> (greater than or equal to) matching against specific browser version numbers. <div>By the Way For more details on using conditional comments, read about them at the Microsoft Developer Network at [http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp].</div> HTML-style comments aren't allowed inside style sheets, including embedded style sheets, so you can't use conditional comments mixed directly into your CSS rules. To use conditional comments with CSS, create one or more extra <tt><style></tt> or <tt><link></tt> elements containing style rules for Internet Explorer, and then wrap them in an appropriate conditional comment. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex03 Listing 24.3] contains an example that illustrates how to use conditional comments instead of the star HTML hack to fix box model problems. Listing 24.3. An HTML File Containing a Conditional Comment {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- box-model-24.3.html --><br /><html><br /><head><br /><title>Box Model Woes</title><br /><style type="text/css"><br />body { font-family: Verdana, sans-serif; }<br />.bar { color: white; background: black;<br />text-align: center; margin: 1em 0; }<br />#six { width: 600px; } #nine { width: 900px; }<br />#box { width: 600px; /* the real width */<br />background-color: silver;<br />padding: 100px; border: 50px solid #555; }<br /></style><br /><!--[if lte IE 6]><br /><style type="text/css"><br />/* the width for Internet Explorer */<br />#box { width: 900px; }<br /></style><br /><![endif]--><br /></head><br /><body><br /><div id="six" class="bar">600 pixels</div><br /><div id="box"><br /><p>This is a box displaying the box model<br />bug problem. Namely, we want it to have<br />a width of 600 pixels with a 100 pixel<br />padding on each side, and a 50 px border.<br />According to the W3C box model, the<br />box should be 600 + 100 + 100 + 50 + 50<br />= 900 pixels wide. According to Internet<br />Explorer, it should be 600 pixels wide.</p><br /></div><br /><div id="nine" class="bar">900 pixels</div><br /></body><br /></html><br /></pre></div><br /> |} The net result of this style sheet is identical to that in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex02 Listing 24.2], which used the star HTML filter. Most browsers receive only the first width rule, and Internet Explorer receives both. In this case, both rules have the same selector (#box) and thus the same specificity; therefore, the one defined later in the HTML source code is used. The result of displaying this web page is identical to that shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig04 Figure 24.4]. Hiding Content Meant for Screen Readers When you are designing a web page, it's important for you to consider the needs of users with disabilities, as you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media." Using CSS means you're already off to a good start toward meeting those needs as a natural consequence of good web design techniques. Sometimes there is a perceived conflict between designing a page that is accessible and designing one that is visually attractive. For example, web accessibility checklists such as the U.S. government's Section 508 requirements ([http://www.access-board.gov/sec508/guide/1194.22.htm http://www.access-board.gov/sec508/guide/1194.22.htm]) require web designers to provide links that skip over navigation lists and go directly to the main content of the page. Such a link might look like this: <div><pre><p class="skiplink"><a href="#content">Skip Navigation</a></p> <ul> <!-- navigation links would be listed here --> </ul> <h1><a name="content">Main Content</a></h1> </pre></div> This provides easy access for users with screen readers, giving them a shortcut to avoid listening to long and possibly repetitive lists of links before getting to the main content of the site. However, this method also presents a problem: The text <tt>Skip Navigation</tt> is visible onscreen to all users and is a clickable link, but it doesn't actually seem to do anything, and the meaning of the text <tt>Skip Navigation</tt> is undoubtedly opaque to the average visually dependent web user. A web designer concerned with the visual appearance of the page is likely to want to hide these links. Another example would be the ubiquitous search box. As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch14.html#ch14 Hour 14], "Forms," the <tt><label></tt> tag can be used to provide a text label for an HTML form element. But what about a short form like this? <div><pre><form method="post" action="search.php"> <input type="text" id="searchtext"> <input type="submit" value="Search!"> </form> </pre></div> This type of form can be found around the Web, and for most users it is quite obvious what it does: You type something in the box and press the button and it searches. You know this because you can see the button labeled Search! to the right of the box. Visually impaired users, however, don't hear the search button first because web pages are read in order by screen readers. They hear an announcement of the input box, and don't know what to type because they don't hear the word "Search!" The obvious solution is to add a <tt><label></tt> element telling the user it it's a search box, like this: <div><pre><form method="post" action="search.php"> <label for="searchtext">Search:</label> <input type="text" id="searchtext"> <input type="submit" value="Search!"> </form> </pre></div> This works great for screen reader users. However, to a web designer focused on the visual appearance, the label takes up extra space and unnecessarily repeats the word "Search." The most obvious solution is to write a CSS rule to hide the display of the label text. That would be something simple such as <div><pre>label { display: none; } </pre></div> This seems straightforward and simple, and many web designers using CSS seem to think this would work. A very famous "image replacement technique" using this method was promoted by the big names in CSS-based web designuntil it was discovered that it does not work. Why not? Screen readers are a very specific type of technology; they read what is on the screen. If something is not displayed on the screenwhich is what <tt>display: none</tt> doesthen the screen reader doesn't read it. This is also why it doesn't work to simply add an <tt>@media</tt> rule; screen readers don't actually use the media type "aural" but instead read out the text as displayed visually by the browser. A number of alternative methods for hiding material from visual browsers but still making it accessible to screen readers have been proposed over the years, many of them without being tested first in actual screen readers. Bob Easton has compiled a chart testing each of these methods in leading screen readers and makes the results available at [http://www.access-matters.com/screen-reader-test-results/ http://www.access-matters.com/screen-reader-test-results/]. From those results, it has become clear that the most reliable method to hide content while keeping it accessible to screen readers is called the off-left technique. In short, you use absolute positioning to place the hidden content way off to the left side of the screen, where it can't be seen but is still read out loud by screen readers. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex04 Listing 24.4] shows how you can use off-left placement to hide the <tt>.skiplink</tt> and <tt><label></tt> in the example HTML fragments. Listing 24.4. A Style Sheet That Visually Hides Content but Leaves It Available for Screen Readers {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>.skiplink, label {<br />position: absolute;<br />left: -999px;<br />width: 90px; }<br /></pre></div><br /> |} <div>By the Way You might wonder whether it's really necessary to go to these lengths to hide accessibility-related content. In many cases, you can meet the needs of users with disabilities by simply designing your page differently. For example, perhaps your search form will start with a <tt><label></tt> of Search:, but the Submit button will read Go! instead. Even so, you may find situations in which you want to hide certain parts of your page but still make them readable by screen readers, and this is currently the best way to do that.</div> ./ ADD NAME=CH24LEV1SEC3.HTML Proprietary CSS Many web browsers can understand and apply more CSS properties than simply the ones listed in the CSS 2.1 specification. These additional CSS properties can expand your capabilities to style a page, but are usually restricted to only one or two browsers. Such properties are called proprietary CSS styles. Rather than being part of the standards agreed to by all browsers and developed by the World Wide Web Consortium (W3C), these CSS properties were created by the browser companies themselves. As such, they can be rather unreliable; browsers that don't understand these additional properties just ignore them. Most responsible browser companies give these properties names that make it clear they are not ordinary CSS properties, but something proprietary. The most common way to do this is with a prefix on the property name identifying the browser or browser company. For example, proprietary properties recognized by Mozilla's Gecko layout engine all begin with <tt>-moz-</tt> (for Mozilla). <div>Watch Out! Proprietary CSS properties have an additional problem, in addition to being ignored by browsers that don't understand them. Any style sheet with a proprietary property uses invalid CSS, and thus will fail when tested with a validator. If validation is a priority for you, you should avoid using proprietary CSS properties.</div> In the remainder of this hour, you'll learn about some of the proprietary extensions to the CSS language that can be used in current browsers. This isn't an extensive list; instead it's meant to make you familiar with the concept of proprietary CSS and the limitations involved as well. For more details on which specific proprietary values are supported by the browsers, see each browser's documentation website. Opacity One ability web designers greatly desire is to control the opacity of an objecthow opaque or transparent it is. An object that is partially opaque is partially transparentmeaning that anything placed behind it can be seen through that object. Control over the opacity of a content block is not available in CSS 2.1. You can't do it under the current standards. However, in the proposed drafts for CSS Level 3, there is an opacity property. This property can be assigned values from <tt>0.0</tt> (completely transparent) to <tt>1.0</tt> (completely opaque), with a default value of <tt>1.0</tt>. Some browser companies have implemented opacity in their browsers. However, as the CSS3 specification is still being written, it's not exactly prudent to use the draft as a reference. If the W3C's working group decided to change the definition of the <tt>opacity</tt> propertyfor example, to change it to a percentage scalethen web pages built with the early implementations would break. To prevent these types of problems, the programmers working on the Gecko layout engine (used in Firefox and related browsers) chose to call this property <tt>-moz-opacity</tt>, and the creators of the KHTML layout engine (used in Konqueror) named it <tt>-khtml-opacity</tt>. This is both responsible behavior and rather frustrating to web designers, because it means that to create an opaque content block, you need to set three properties: <tt>-moz-opacity, -khtml-opacity</tt>, and <tt>opacity</tt> itself, for those browsers such as Safari that jumped the gun and implemented the CSS3 version. The situation is even more complex, thanks to Internet Explorer. Internet Explorer doesn't attempt to implement an opacity property a la the CSS3 standard. Instead, Internet Explorer provides what it calls the <tt>filter</tt> property, which lets you define IE-only transformations on any content block. One of those filters is the opacity filter, and that's what you use to get the same effect as the CSS3 <tt>opacity</tt> property. <div>Watch Out! This is an all too common situation where you have the same term with several meanings. As defined earlier in this hour, a browser filter is a hack designed to keep certain browsers from applying specific rules. But as used here, filter refers to a proprietary CSS property implemented by Microsoft. This leads to confusing ambiguitydoes "an Internet Explorer filter" refer to a browser hack to hide (or show) rules to IE, or to Internet Explorer's visual transformation <tt>filter</tt> property? In the rest of this hour, I will make it clear by context which sense of the word filter is being used.</div> The syntax for the <tt>filter</tt> property is very different from the <tt>opacity</tt> (and <tt>-moz-opacity</tt> and <tt>-khtml-opacity</tt>) property: It uses percentages instead of a decimal number between 0 and 1. The four methods for setting opacity to 65% are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex05 Listing 24.5]. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig05 Figure 24.5] demonstrates how this is displayed in a web browser. <center> Figure 24.5. Firefox renders the content as partially transparent. [[Image:24fig05.jpg|300px]] </center> Listing 24.5. Four Different Rules to Modify Opacity {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- opacity-24.5.html --><br /><html><br /><head><br /><title>Tucson Transfer Building</title><br /><style type="text/css"><br />body { margin: 0; padding: 0;<br />background-color: #6666CC;<br />background-position: top center;<br />background-repeat: none;<br />background-image: url("tucson-transfer.jpg");}<br />h1 { margin-top: 50px; margin-left: 5%;<br />width: 40%; text-align: center;<br />font-family: Optima, sans-serif;<br />background: black; color: white; }<br />#caption<br />{ width: 40%; position: absolute;<br />font-family: Optima, sans-serif;<br />top: 50px; right: 5%; padding: 0 0.5em;<br />background: white; color: black; }<br />#footer<br />{ font-size: small; margin: 1em;<br />padding: 0 0.75em;<br />border: 0.5em solid black; }<br />/* opacity rules: */<br />#caption, h1<br />{ opacity: 0.65;<br />-moz-opacity: 0.65;<br />-khtml-opacity: 0.65;<br />filter: alpha(opacity=65); }<br /></style><br /></head><br /><body><br /><h1>Tucson Transfer Building</h1><br /><div id="caption"><br /><p>The Tucson Warehouse and Transfer Company building is<br />located at the corner of 6th Street and 7th Avenue<br />in Tucson.</p><br /><p>The building is currently occupied by a number of<br />businesses, including an architectural firm and a<br />plumbing supply company.</p><br /><p>One of the early African-American pioneers of<br />Tucson, Henry Ransom, worked at the Tucson Transfer<br />Company from 1892 until his retirement in 1931.</p><br /><div id="footer"><br /><p>This page is part of the<br /><a href="http://kynn.com/projects/heritage-tour/"<br />>Tucson Black Heritage Tour</a></p><br /></div><br /></div><br /></body><br /></html><br /></pre></div><br /> |} Microsoft's <tt>filter</tt> Property Microsoft's Internet Explorer understands a proprietary CSS property known as <tt>filter;</tt> the preceding section of this hour showed you how to use <tt>filter</tt> to change the opacity of a content box. Additional filters are supported by Internet Explorer versions 4 or later; these include those shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24table01 Table 24.1]. {| cellspacing="0" cellpadding="5"|+ Table 24.1. Types of Filters Available in Internet Explorer 4 or Later |- | Filter Value | Visual Effect |- | <tt>alpha(opacity=</tt><tt>percent</tt><tt>)</tt> | Changes the opacity |- | <tt>blur(direction=</tt><tt>degrees</tt>, <tt>strength=</tt><tt>px</tt><tt>)</tt> | Applies a motion blur effect |- | <tt>chroma(color=</tt><tt>rgb</tt><tt>)</tt> | Sets one color as transparent |- | <tt>dropshadow(color=</tt><tt>rgb</tt>, <tt>offX=</tt><tt>px</tt>, <tt>offY=</tt><tt>px</tt><tt>)</tt> | Creates a shadow effect |- | <tt>fliph</tt> | Flips along the horizontal axis |- | <tt>flipv</tt> | Flips along the vertical axis |- | <tt>glow(color=</tt><tt>rgb</tt>, <tt>strength=</tt><tt>px</tt><tt>)</tt> | Surrounds with a glow effect |- | <tt>gray</tt> | Converts to 256-color grayscale |- | <tt>invert</tt> | Displays in "negative" colors |- | <tt>light</tt> | Shines a light source on an object |- | <tt>mask(color=</tt><tt>rgb</tt><tt>)</tt> | Reveals transparent pixels and hides others |- | <tt>shadow(color=</tt><tt>rgb</tt>, <tt>direction=</tt><tt>degrees</tt>, <tt>strength=</tt><tt>px</tt><tt>)</tt> | Adds a shadow effect |- | <tt>wave(freq=</tt><tt>num</tt>, <tt>phase=</tt><tt>percent</tt>, <tt>strength=</tt><tt>px</tt><tt>)</tt> | Applies a sine wave distortion |- | <tt>xray</tt> | Displays in stark black-and-white |} You use these filter values with the <tt>filter</tt> proprietary property, as you did earlier to change opacity. For example, to create a shadow in Internet Explorer, you can write the following CSS rule: <div><pre>img.shadowed { filter: shadow(color=#808080, direction=135, strength=5); } </pre></div> This creates a shadow around any <tt><img></tt> that has the <tt>shadowed</tt> class; the shadow will be gray in color, will be offset 135° (with 0° pointing toward the top of the screen), and will extend for 5 pixels. Internet Explorer version 5.5 and later versions support additional filters and use a more complex syntax, although they also understand the IE4 versions. As an example, to write a rule using the <tt>fliph</tt> and <tt>glow</tt> filters in Internet Explorer 4 syntax, you can write <div><pre>h3 { filter: fliph glow(color=lime, strength=5); } </pre></div> The Internet Explorer 5.5 version of this rule is: <div><pre>h3 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1) progid:DXImageTransform.Microsoft.Glow(color=lime, strength=5); } </pre></div> For full details on Internet Explorer filters, see the Microsoft Developer Network Site page at [http://msdn.microsoft.com/library/default.asp?url=/workshop/author/filter/reference/reference.asp http://msdn.microsoft.com/library/default.asp?url=/workshop/author/filter/reference/reference.asp], which has documentation and sample code. Mozilla Corners In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch19.html#ch19 Hour 19], "Absolute and Fixed Positioning," you learned how to create rounded corners on boxes by using images, absolute placement, and trimming. Browsers based on the Gecko layout engine, such as Firefox, Camino, or SeaMonkey, recognize proprietary CSS properties that enable you to create these effects entirely with styles instead of images. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24table02 Table 24.2] is a listing of these properties. Each property begins with the <tt>-moz-</tt> prefix to indicate that these are proprietary properties. Other browsers don't recognize these properties; they are ignored silently, and the corners of selected boxes remain square. {| cellspacing="0" cellpadding="5"|+ Table 24.2. Properties Creating Curved Corners in Gecko-Based Browsers |- | Property Name | Effect |- | <tt>-moz-border-radius</tt> | Sets the radius for all four corners. |- | <tt>-moz-border-radius-bottomleft</tt> | Sets the radius for the bottom-left corner. |- | <tt>-moz-border-radius-bottomright</tt> | Sets the radius for the bottom-right corner. |- | <tt>-moz-border-radius-topleft</tt> | Sets the radius for the top-left corner. |- | <tt>-moz-border-radius-topright</tt> | Sets the radius for the top-right corner. |} The <tt>-moz-border-radius property</tt> is similar to the border, margin, and padding properties in that you can give it one, two, or four values. If one value is given, then the border radius for each corner is set to that value. If two are given, the first value is applied to the top-left and bottom-right corners, and the second value to the top-right and bottom-left. If four values are given, they are assigned to the top-left, top-right, bottom-right, and bottom-left corners respectively. The values for the properties in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24table02 Table 24.2] can be measurements such as <tt>2em</tt> or <tt>12px</tt>, or percentages based on the height of the box. These measurements indicate how far in from the corner, in both directions, the radius of a circle should be drawn. The edge of the box is then wrapped along that circle, and the border (if any) is drawn on that edge. If there is a background, the background ends at the newly drawn quarter-circle edge rather than continuing to fill out to the corner of the box. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24ex06 Listing 24.6] gives an example of the corner properties in use. Each box is styled with a different radius for illustrative purposes. Listing 24.6. Boxes with Curved Corners {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- rounded-corners-24.6.html --><br /><html><br /><head><br /><title>Daily Reminder List</title><br /><style type="text/css"><br />body { margin: 0; padding: 2em;<br />font-family: Verdana, sans-serif;<br />color: black; background: white; }<br />h1 { padding: 0.5em; margin: 0;<br />border: 2px solid black;<br />background-color: silver;<br />-moz-border-radius: 0.75em; }<br />#todo { border: 3px solid gray; padding: 25px;<br />width: 40%; position: absolute;<br />left: 2em; top: 8em;<br />-moz-border-radius: 0 10%; }<br />#schedule { border: 3px solid gray;<br />width: 40%; position: absolute;<br />right: 2em; top: 8em; padding: 25px;<br />-moz-border-radius: 20px 300px 65px 0; }<br />#schedule dl { margin-left: 20%; }<br />#schedule dt { float: left; width: 20%;<br />margin-left: -20%; text-align: right;<br />font-weight: bold; font-size: small; }<br />#schedule dd.empty { background-color: silver; }<br />#schedule dd { margin: 3px 0; width: 60%;<br />height: 1.5em; padding: 2px 10px;<br />background-color: gray; color: white;<br />-moz-border-radius: 50%; }<br /></style><br /></head><br /><body><br /><h1>Daily Reminder List</h1><br /><div id="todo"><br /><h2>Things to Do</h2><br /><ul><br /><li>Feed the cat</li><br /><li>Pay bills</li><br /><li>Laundry</li><br /><li>Change the oil</li><br /><li>Call mom and dad</li><br /><li>Go shopping</li><br /></ul><br /></div><br /><div id="schedule"><br /><h2>Today's schedule</h2><br /><dl><br /><dt>9:00</dt><dd class="empty"></dd><br /><dt>10:00</dt><dd>Conference call</dd><br /><dt>11:00</dt><dd class="empty"></dd><br /><dt>12:00</dt><dd>Lunch</dd><br /><dt>1:00</dt><dd>Client Meeting</dd><br /><dt>2:00</dt><dd class="empty"></dt><br /><dt>3:00</dt><dd>Staff Party</dd><br /><dt>4:00</dt><dd class="empty"></dd><br /><dt>5:00</dt><dd class="empty"></dd><br /></dl><br /></div><br /></body><br /></html><br /></pre></div><br /> |} [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24fig06 Figure 24.6] shows how these boxes appear in a Gecko-based browser. <center> Figure 24.6. Firefox displays the box with rounded corners. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/24fig06_alt.jpg [View full size image]]</div>[[Image:24fig06.jpg|500px]] </center> ./ ADD NAME=CH24LEV1SEC4.HTML Summary To properly troubleshoot your style sheet, you need to start with valid HTML and CSS. The W3C's online validators can check for problems in your code and offer warnings about possible problems. After you have eliminated syntax errors, you should simplify your code until you spot the source of your problems. If it turns out that you're dealing with a browser bug or quirk, you may need to use a browser hack to fix the problem. Most browser hacks rely on using one bug to fix another, including browser filters that exclude or include targeted browsers. Examples include the direct child selector hack and the star HTML hack, which can be used in rules targeting Internet Explorer quirks and bugs. You can also use Microsoft's conditional comments to provide rules that are recognized by only Internet Explorer. Some browsers have extended the CSS they recognize beyond the specifications written by the W3C; the results are proprietary CSS properties. Examples of proprietary properties include the various versions of opacity, Internet Explorer's visual transformation filters, and Gecko's rounded corners. ./ ADD NAME=CH24LEV1SEC5.HTML Workshop The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa1q1a1 Q.]''' | The HTML and CSS validators provide little buttons saying my code is valid. Should I use those? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa1q1 A.]''' | It's really up to you. As a matter of aesthetics, most websites aren't designed to look good with those graphics slapped onto them; the colors, fonts, and designs of the buttons aren't guaranteed to be compatible with any random site you might create. Furthermore, the information conveyed"valid HTML!"will mean nothing to your target audience for your site, unless you are designing a website for web developers. On my personal sites, I usually use a simple text link to the validators. Keep in mind that by putting up one of these buttons or links, you are obligating yourself to validate your HTML and CSS each and every time you make a change. It's really embarrassing to proudly proclaim your compliance with the standards, then have someone email you that the site isn't really valid CSS because you wrote <tt>pudding</tt> for <tt>padding!</tt> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa1q2a2 Q.]''' | What should I use to filter for Internet Explorer? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa1q2 A.]''' | Before Internet Explorer 7 came on the scene, both of the CSS-based filtering techniques given in this hour would have worked welldirect child selectors and star HTML selectors. With IE7 promising to fix both of these bugs, hacks that rely on them will no longer function for version 7 (but will still work in earlier versions). For this reason, conditional comments seem to be the safest bet. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q1a1 1.]''' | Which of the following is not a benefit of validating your HTML and CSS? <div># <div>You will find typographical errors in the names of CSS properties.</div> # <div>The validator will warn you about problems with unset background colors.</div> # <div>You will be able to use proprietary CSS properties easily.</div> # <div>Unclosed or prematurely closed HTML tags will be brought to your attention.</div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q2a2 2.]''' | You want to make an image appear to be 50% transparent. Which set of rules accomplishes this on the widest variety of browsers? <div># <div><div><pre>img.fade { opacity: 50%; -khtml-opacity: 50%;<br />-moz-opacity: 50%; -ie-opacity: 50%; }<br /></pre></div></div> # <div><div><pre>img.fade { opacity: 0.5; -khtml-opacity: 0.5;<br />-moz-opacity: 0.5; -ie-opacity: 0.5; }<br /></pre></div></div> # <div><div><pre>img.fade { opacity: 0.5; -khtml-opacity: 0.5;<br />-moz-opacity: 0.5; filter: alpha(opacity=50); }<br /></pre></div></div> # <div><div><pre>img.fade { opacity: 50%; -khtml-opacity: 50%;<br />-moz-opacity: 50%; filter: alpha(opacity=50); }<br /></pre></div></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q3a3 3.]''' | You want to send a style rule to Internet Explorer only (versions 6 or lower). Can you name at least three ways to do this? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q1 1.]''' | (c) is not a benefit of validation; if you try to validate a style sheet with proprietary CSS properties, you will get an error message. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q2 2.]''' | The correct answer is (c). There is no property named <tt>-ie-opacity</tt>, and the other opacity values must be written as decimal numbers between 0 and 1, not as percentages. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch24qa2q3 3.]''' | The three methods you learned in this hour were the direct child selector browser filter, the star HTML selector browser filter, and conditional comments. |} Exercise Your ability to test browser filters depends on which browsers and operating systems you have access to. To better understand browser filtering, use the Centricle listing of filters ([http://centricle.com/ref/css/filters/ http://centricle.com/ref/css/filters/]) to discover hacks that target your specific browsers, and write rules that apply to those browsers only. Validate your code to see whether the browser filters are producing legitimate CSS. If your browsers support proprietary CSS properties, add those to your style sheet and then validate. What does the validator seem to think of your non-standard CSS? tjeuzkt7khkur9xskpyg9l4i6tenqkl User:Bartlett/21 2 2126 5526 2007-06-17T17:20:31Z Bartlett 26 Bog cusub: ./ ADD NAME=CH21.HTML Hour 21. Web Design with CSS {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * Why it's important to design for your audience ... 5526 wikitext text/x-wiki ./ ADD NAME=CH21.HTML Hour 21. Web Design with CSS {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * Why it's important to design for your audience and to test carefully * How to incorporate style sheets into your web design practices * Which questions you need to ask yourself before starting on a style sheet * How to organize your style sheets to make them easier to use and edit * How to create alternate style sheets that can be selected by your site visitors The web developer's role is more than just that of a programmer or code author. In addition to understanding properties, values, selectors, and the cascade order, a CSS developer needs to be conversant in the art of design and the craft of usability. |} ./ ADD NAME=CH21LEV1SEC1.HTML Basic Principles of Web Design In previous hours, you've learned the "what" of using Cascading Style Sheets. You can write your own rules, set your own fonts, choose your colors, and lay out a page. In this hour, you'll look at the question of "when," which is what design principles are all about. It's not enough to know the method of doing something; you also need to know the right times to do it and when it's best to not do it. Web development is a complex field, even if some of the component parts seem simple at first. Designing a website is all about balance; it's a complicated balancing act between the desires of the site operator and the needs of the audience. Even basic issues such as how much content to place on each page require finding the right balance between too much and too little. Web developers spend a lot of time making compromises, often choosing an alternative that isn't necessarily the absolute best but that works for the greatest amount of people. Designs that reflect an understanding of the audience and put their needs first are referred to as user-centric designs. Some site designs are designer-centric, meaning that the web developer's need for artistic expression comes first; for some sites, such as a personal website, this may make sense. More common are content-centric designs, which are focused on the site information and functionality. Content-centric sites are usually more effective than designer-centric sites, but their designs sometimes fail to fully understand how their content is used in practice. An effective designer utilizes all these techniques to create web designs. Color, Fonts, and Layout Presentation isn't everything, but it's a whole lot of something. In an information-intensive medium such as the Webaccessed visually by most usersit's important to have an effective presentation that supports the purpose of the site. Rather than being mere window dressing, style sheets can be an integral part of a website, crucial to understanding and using the site. Some people think that because the Web is a completely new medium, the old rules of offline design don't apply. Although the Web does introduce new challenges because of the nature of the medium, it's not so revolutionary that everything can be discarded. The disciplines of graphic design and user-interface design have a lot to teach, but few web developers learn it. For example, graphic design can tell you much about the effective use of color and whitespace, and user-interface design informs you how computer users make choices. On the other hand, some designers make the opposite mistake of assuming they can just put the same design on the Web as on paper, and this often leads to disastrous results. "Brochure" websites gained a bad reputation early, and in most cases it was deserved, based on sites that were barely more than a scanned pamphlet posted on the Internet. The flexible nature of web design, where the user's choices can influence the final presentation as much as the author's, can prove frustrating and incomprehensible to graphic artists who are used to working in a fixed, printed medium. As noted in previous hours, font and color rules should be used sparingly; don't go nuts simply because you can. A restrained presentation usually looks better than an overly complex one that is awash in every hue under the sun and set with dozens of fonts. CSS rules can be used for a number of effects in combination, including simulating buttons and logos with styles. This is generally a good idea, although in some cases you'll be unable to get the exact effect you want. For example, if you need a rare font with a drop shadow, you're in trouble because the user may not have the same font on her browser, and text shadow effects are tricky in CSS. In those cases, you should use a GIF or JPEG with text to gain the desired effects. <div>Did you Know? Navigation menus created with CSS instead of graphics are much easier to maintain and load faster than images. If you need to add a new link, just add the HTMLno need to open a graphics program.</div> Usability Not all attractive web pages are created equal. Some great-looking sites are hard to use, whereas others are elegantly straightforward and a joy to use. The difference isn't found in the appearance alonealthough the visible look can affect ease of usebut instead in a somewhat nebulous quality called the usability. The usability of a website is a measure of how easy it is for people to use that site. Usability is also the name of a field of study concerned with understanding and improving how people use computers, websites, and other technologies. <div>Did you Know? Jakob Nielsen's website at [http://www.useit.com/ http://www.useit.com/] has good information on usability. You may also notice that his site is very plain. This is more a reflection of Jakob's personal aesthetic than of a strict usability principle. A website can (and should) employ good visual design in addition to adherence to usability; there's not a conflict between the two, and a great visual design is actually a boon to usability.</div> Cascading Style Sheets can be used to enhance usability by producing web presentations that are simple and distinct. Your styles should reflect how the information is used, highlighting information that is most essential to the site's purpose and the user's needs while still allowing access to all the content. For example, you can make your site's navigation system stand out by giving a distinct appearance to that part of the pagevisible enough that it can be found, but not so intrusive that the design overwhelms the rest of the content. Many popular conventions observed on the Web are so widespread that they are second nature to use, making your site easier for visitors. As an example, placing a row of links with distinct styles on the left or top of your page lets users instantly recognize those as navigation links. Don't be afraid to reuse existing web design elements in this manner; often a site that is too creative can inadvertently become amazingly difficult to use. Knowing Your Audience To create user-centric designs, you need to be aware of who your audience is. In some cases, you may be in luck, as you may know everything there is to know about your users. For example, if you are working on an intranet site for your employer, and the company has standardized on Firefox, your task suddenly becomes a lot easier. You can use advanced features found only in Firefox and you don't have to worry about quirks in Internet Explorer, Opera, or other browsers. <div>Watch Out! However, there's a danger in taking intranet "freedom" too far. You may have to recode your entire site if there's a policy change mandating a new browser or a new version of the same browser. Some users may prefer to use familiar software, such as the Internet Explorer browser they used at their last job. Employees with disabilities might employ special assistive technologies to access the intranet. It usually saves you time and effort in the long run if you design your site to be generally accessible by everyone and not dependent upon a single browser.</div> If you don't know exactly who your audience is, you can still make some educated guesses. Web servers dutifully record all accesses, and the information they save includes the browser type (name, version, and platform) of each person who downloads a file. These are stored in a web server log, a long listing of all connections to the server; you can then run a log analysis program, such as Analog ([http://www.analog.cx/ http://www.analog.cx/]), to collate and summarize this information. If your ISP or web host doesn't provide you with this information, ask for it; it's important data for anyone running a website. The information you're looking for is not only the type of browser, but also which pages are being used. By looking at site usage patterns you can discern which pages are most popular and also measure the effectiveness of your navigation systems. You can also learn other useful information such as screen resolution from your browser statistics. This is useful for knowing how to design your page layouts and font sizes. Another useful tactic for getting information on your users is to simply ask for it. Put up a survey on your site to gather responses from your current users so you can serve their needs better. In addition to gathering technical browser information, you should consider other demographics that can also affect the way you design the site. For example, generational differences among audiences can influence whether you build your site for younger or older users. Users with disabilities may have specific needs; in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22], "Accessibility and Print Media," you'll find out more about how to satisfy those needs. Organization and Planning Before you write one line of HTML or CSS code, you need to spend some time planning out your site and organizing the information contained on it. A carefully planned site is much easier to maintain and update than one that grows organically, out of control. Websites have a natural tendency to evolve, and this is a good thing, but planned growth is always better than accidental growth. You may want to draw your site out on paper; you might want to create a diagram with software that creates flow charts. The exact way in which you plan your site will depend on your own preferences. Building a chart of your web content and the links between pages will help you visualize the information and group it into natural sections. The better you organize the page, the easier it will be for users to find your content. Testing Your Website After you've got the site up and running, it's time for testing. The first testing will be your own browser tests, using your suite of browsers. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch03.html#ch03 Hour 3], "Browser Support for CSS," I recommended building up a standard set of browsers, ideally on different platforms if you can manage it, which represent a broad spectrum of web users. After you start using a browser with decent CSS support, such as Opera, Netscape 6, or Internet Explorer, you may not want to use older or broken browsers regularly. However, it's still important to test on those because, for whatever reason, people are still out there using them! After you've given your pages a once-over, you're not really finished. For the same reason that writers can't edit their own work, you can't be the only one to test your web pages. A writer will often miss mistakes she's generated, because she knows how something's supposed to be written, and her mind fills in the correct version instead of what's really on the page. For the same reason, you'll want to have others test your site. One thing you can do is to ask some fellow web developers for a critique. Because they understand the code behind the designs, they can often point out not only mistakes, but also how to fix them. If you don't know any other web developers, consider joining a local group or a mailing list. Another way to test your site is by doing user testing, one of the core techniques employed by usability experts. In a formal usability test, you get a number of people and have them attempt to use specific site features, filming them and taking notes from behind a one-way mirror. As explained by Jakob Nielsen, a formal usability test may be overkill; a small sample of around five representative users should be enough, and you can get by without the camera and the mirror. Here's how you do it: <div># <div>Look over your site and choose several primary functions that users would want to accomplish. Write up several of them (five is a good number again) as tasks or questions; select a variety of functions ranging from easy to difficult. For example, to do such a test on [http://www.css24.com/ http://www.css24.com/], I might choose, "Who is the technical editor of this book?" and "Order this book from Amazon.com" as two of the questions. (On the latter task, I wouldn't require that the transaction actually be completed.)</div> # <div>Find your test subjects. Ask them politely, and if possible, offer them compensation or a latte. As much as possible, choose representative users, but don't get obsessed about making sure they're "really" representative. For example, I wouldn't choose my mom for a test of the book's site because she's not a web developer and won't be using CSS, but I might ask my dad, who has done web design himself. If you work for a large company, find some users outside your workgroup who can spare a few minutes.</div> # <div>Invite each user to access the website and have them attempt the list of tasks you've created. Stress to your users that you're testing the site, not them; if they get something wrong, that's great because it points out a weakness in your design. Watch the users and take notes as they move around your site. No matter how strong the temptation, don't jump in and help them; if they can't figure something out, write that down.</div> # <div>When the test is over, thank your test subject and buy that latte. Then sit down with the results and make sure your ego is safely locked away; every site can be made better. Look at all the comments and notes you made and look for patterns across your users. If a certain function is hidden or confusing for several of them, it's likely a good candidate for redesign.</div></div> As you can see, this kind of easy user testing isn't a formal science, but it can still produce very useful results. It's certainly better than doing no user testing at all, which is sadly the case for many websites. ./ ADD NAME=CH21LEV1SEC2.HTML The Role of CSS in Web Design As a web developer, skilled in HTML, Cascading Style Sheets, and possibly other web languages and technologies, you have a web development process. Even if you haven't planned it out formally, you've got a method that works for you, whether it's as simple as sitting down and designing whatever strikes your fancy or as complex as working in a multi-developer corporate development system for a large employer. Adding CSS to your repertoire has made you an even better web developer than before; your skill set has expanded and the types of designs you can create are nearly limitless. The next step is to integrate your CSS skills into your web development process. I'm not going to tell you exactly how you'll do thatpeople have their own methodsbut I'll help you think about how you can go about using CSS in your web designs. In a few cases you may be able to develop your style sheets completely separately from your HTML pages. More commonly you'll employ an iterative process, where you make changes to the style sheet, then changes to the HTML page, and then go back to the style sheet for a few more tweaks until you're satisfied with the results. The adaptive nature of style sheets makes it easy to create these kinds of changes, and you may find yourself continuing to perfect your styles even after you post your content on the Web. <div>By the Way You may not be starting with a blank slate and an uncreated website when you begin using CSS. Redesigns are very common in web development, and you may want to take advantage of a new site design to convert to a CSS-based presentation. It can sometimes be harder, but it's certainly possible to keep the same look and feel of your site when converting it to use CSS. If you're using a content management system (CMS) that automatically generates your website from a database, converting to style sheets may be a snap. CSS is very compatible, on a conceptual level, with the idea of templates as used by content management systems.</div> As mentioned at the start of this hour, CSS design involves balancing a number of factors to arrive at the best compromise for your site and its users. Questions will arise as you work with CSS on any site, and you'll need to answer them before you go on. I've listed several of these key questions here to help you plan your site: * Will you use Cascading Style Sheets, and if so, to what effect? You certainly aren't required to use CSS, even after reading this entire book. You can create websites that are usable, accessible, attractive, and effective without a single CSS property anywhere in evidence. However, using CSS will make your site more flexible and easier to maintain and will give you access to presentation effects you couldn't get through HTML alone. * What "flavor" of HTML will you use? As you may recall from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4], "Using CSS with HTML," there are three varieties of HTML: Strict, Transitional, and Frameset. The Strict variety relies upon CSS for all styling effects, whereas Transitional (and Frameset) HTML can mix CSS rules with presentational markup. If you're concerned about older browsers that don't understand CSS, you may want to choose Transitional. * Which browsers will you support? By "support," I mean investing the effort to work around the quirks of certain browsers. (By "certain browsers," I mostly mean Internet Explorer 6 and earlier.) This book has a number of workarounds, plus ways to exclude certain browsers from viewing styles. If you are designing just for CSS-enabled browsers, such as recent Firefox, Safari, or Opera versions, those workarounds become less important. * Are you using positioning CSS for layout? It's relatively easy to use CSS for formatting text, controlling fonts, and setting colors. Using it for layout is trickier, especially with inconsistent browser support among some of the older versions. Don't assume that you must use positioning CSS; even in 2006, many sites are still using tables extensively for page layout. Using CSS for positioning is still more tricky for some developers than misusing the <tt><table></tt> tag. * Will you use embedded or linked style sheets? Here, I'll give you advice: Use linked style sheets whenever you can. Many of the examples in this book use embedded style sheets, but that's mainly because it's easier to give you one listing than two. The preceding list isn't exhaustive; you'll encounter more choices to make when designing and using CSS, but you should have learned enough by now to answer them. Style Sheet Organization The way you organize your style sheet can affect how easy it is for you to use and maintain your CSS, even if the effects are not evident in the presentation. This becomes even more critical if you're in a situation where someone else may have to use your styles in the future. You may work with an organization where multiple people will be working on the same site, or perhaps when you move on to another job your successor will inherit your style sheets. To make a great style sheet, be organized and clear in what you're doing, and above all, use comments. Web developers often overlook comments in CSS, but if you have to come back later and try to figure out why you did something, they're invaluable. Comments can also be used to group related styles together into sections. Reasonable names for <tt>class</tt> and <tt>id</tt> attributes can make your style sheet easier to read; choose names for these important selectors that reflect the functions of the elements. If you can, avoid selectors based solely on appearance characteristics, such as the <tt>boldtext</tt> or <tt>redbox</tt> classes; instead try something descriptive of why you've chosen those styles, such as <tt>definition</tt> or <tt>sidebar</tt>. That way, if you change your page styles later, you won't have to rewrite your HTML; there are few things as confusing as a rule like the following: <div><pre>.redbox { color: blue; background-color: white; } </pre></div> In what way is that box red? Well, it probably was red in some prior incarnation of the style rules, but not now. When you list your rules in your style sheet, do them in a sensible order. Generally speaking, it's best to start with the body rules first and then proceed down from there, but because the cascade order matters only in case of conflict, it's not strictly necessary to mirror the page hierarchy. What's more important is that you are able to locate the rules that apply to a given selector and to discern which styles should be applied. An example of bad style sheet organization is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21ex01 Listing 21.1]. This is part of the style sheet from the author's personal website, but with the rules in a scrambled order. How hard is it for you to figure out what is going on here? Listing 21.1. A Randomly Organized Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>#sidebar0 .section, #sidebar1 .section { font-size: smaller;<br />border: 0px solid lime; text-transform: lowercase;<br />margin-bottom: 1em; }<br />gnav a:link, #nav a:visited, #footer a:link, #footer<br />a:visited { text-decoration: none; color: #CCCCCC; }<br />#nav .section, #nav .shead, #nav .sitem, #nav h1 { display:<br />inline; }<br />#sidebar1 { position: absolute; right: 2em; top: 3em;<br />width: 9em; } a:link { color: #DD8800; text-decoration: none; }<br />#main { } a:hover { color: lime; }<br />#nav .shead, #nav .sitem { padding-left: 1em; padding-right:<br />1em; }<br />#nav { position: fixed; top: 0px; left: 0px; padding-top:<br />3px; padding-bottom: 3px; background-color: #333333; color:<br />white; width: 100%; text-align: center; text-transform:<br />lowercase; }<br />#nav .section { font-size: 90%; } #layout { padding: 1em; }<br />body { background-color: white; color: #333333; font-family:<br />Verdana, sans-serif; margin: 0; padding: 0; }<br />#nav h1 { font-size: 1em; background-color: #333333; color:<br />white; } a:visited { color: #CC8866; text-decoration: none; }<br />#nav { border-bottom: 1px solid lime; } #main { margin-left:<br />11.5em; margin-right: 11.5em; border: 0px solid lime;<br />margin-bottom: 1.5em; margin-top: 1.5em; }<br />#nav a:hover, #footer a:hover { color: lime; }<br />#sidebar0 { position: absolute; left: 2em; top: 3em;<br />width: 9em; text-align: right; }<br /></pre></div><br /> |} If that was hard to follow, don't feel bad; the difficulty was intentional. CSS rules are very easily obfuscated if you're not careful. Most style sheets grow organically as piecemeal additions are made; discipline is necessary to keep the style sheet readable. The style sheet in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21ex02 Listing 21.2] is really the same style sheet as in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21ex01 Listing 21.1]. Both are valid style sheets and both produce the same results when applied to the web page, but the second one is easier to understand. Comments make clearer what each section of the style sheet does, indentation and whitespace are used effectively, and the order is much easier to follow. Listing 21.2. A Better-Organized Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* default styles for the page */<br />body { background-color: white;<br />color: #333333;<br />font-family: Verdana, sans-serif;<br />margin: 0;<br />padding: 0; }<br /><br />a:link { color: #DD8800; text-decoration: none; }<br />a:visited { color: #CC8866; text-decoration: none; }<br />a:hover { color: lime; }<br /><br />/* layout superstructure */<br />#layout { padding: 1em; }<br /><br />/* top navigation bar */<br />#nav { position: fixed;<br />top: 0px; left: 0px;<br />color: white; width: 100%;<br />padding-top: 3px; padding-bottom: 3px;<br />background-color: #333333;<br />text-align: center;<br />text-transform: lowercase; }<br />border-bottom: 1px solid lime; }<br />#nav .section, #nav .shead, #nav .sitem, #nav h1<br />{ display: inline; }<br />#nav .section<br />{ font-size: 90%; }<br />#nav .shead, #nav .sitem<br />{ padding-left: 1em; padding-right: 1em; }<br />#nav h1 { font-size: 1em;<br />background-color: #333333; color: white; }<br />#nav a:hover, #footer a:hover<br />{ color: lime; }<br />#nav a:link, #nav a:visited,<br />#footer a:link, #footer a:visited<br />{ text-decoration: none; color: #CCCCCC; }<br /><br />/* main content section */<br />#main { margin-left: 11.5em; margin-right: 11.5em;<br />margin-bottom: 1.5em; margin-top: 1.5em;<br />border: 0px solid lime; }<br /><br />/* two sidebars, absolutely positioned */<br />#sidebar1 { position: absolute;<br />right: 2em; top: 3em; width: 9em; }<br />#sidebar0 { position: absolute;<br />left: 2em; top: 3em; width: 9em;<br />text-align: right; }<br />#sidebar0 .section, #sidebar1 .section<br />{ font-size: smaller;<br />border: 0px solid lime;<br />text-transform: lowercase;<br />margin-bottom: 1em; }<br /></pre></div><br /> |} Site-wide Style Sheets The style sheet given in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21ex02 Listing 21.2] was created to be used on the entire site, not just on one page. Linking to an external style sheet is an easy way for you to apply style sheets over your entire set. You simply use the <tt><link></tt> tag on every page, with the <tt>href</tt> attribute set to the location of your site-wide style sheet. A site-wide style sheet can be used to enforce a consistent appearance on the website, even if you have multiple web developers working on different parts of the same site. Additional styles can be added in embedded style sheets or in additional linked CSS files that are created for each department or business unit. For example, each department at a school may use the school's global style sheet for design elements common to the entire site, and individual departmental style sheets for that department's unique color, layout, and font choices. ./ ADD NAME=CH21LEV1SEC3.HTML Alternate Style Sheets Not all style sheets are going to appeal to everyone. Some users might prefer a smaller font, letting more fit on the screen, whereas other visitors to your site might require large print with high contrast. The CSS specification allows you to create alternate style sheets that can be switched out by the user upon request. This allows you to create sites which offer a variety of "skins" that are selectable in browsers that support alternate style sheets. There are actually three types of linked style sheetspersistent style sheets, preferred style sheets, and alternate style sheets. A persistent style sheet is one that can't be switched for another style sheet through use of the browser's mechanism for alternate style sheets; it is always on. The style sheets you have created so far have all been persistent. A preferred style sheet is loaded automatically by the browser, but if an alternate style sheet is selected, the preferred sheet switches off, and the alternate style sheet is used instead. You can have multiple alternate style sheets, but only one preferred style sheet. To designate an alternate style sheet that can be swapped out for the main style sheet, you change the attributes of the <tt><link></tt> property. A name must be assigned to a preferred or alternate style sheet and must be set as the <tt>title</tt> attribute on the link, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21table01 Table 21.1]. {| cellspacing="0" cellpadding="5"|+ Table 21.1. Attributes for <tt><link></tt> That Determine Style Sheet Type |- | Style Sheet Type | <tt>rel</tt> Attribute | <tt>title</tt> Attribute |- | Persistent | <tt>"stylesheet"</tt> | Unset |- | Preferred | <tt>"stylesheet"</tt> | <tt>"</tt><tt>Name of the style sheet</tt><tt>"</tt> |- | Alternate | <tt>"alternate stylesheet"</tt> | <tt>"</tt><tt>Name of the style sheet</tt><tt>"</tt> |} For example, imagine that you have basic rules that should always be used in <tt>base.css</tt>, the preferred styles in <tt>default.css</tt>, and an older version of your style sheet in <tt>old-2005.css</tt>. You would write the following HTML to allow users to switch between these style sheets: <div><pre><link type="text/css" rel="stylesheet" href="base.css"> <link type="text/css" rel="stylesheet" href="default.css" title="Current Site Style"> <link type="text/css" rel="alternate stylesheet" href="old-2005.css" title="Last Year's Style"> </pre></div> These attributes establish <tt>base.css</tt> as a persistent style sheet, <tt>default.css</tt> as the preferred style sheet, and <tt>old-2005.css</tt> as an alternate style sheet. Browser Support for Alternate Style Sheets You know how to designate alternate style sheets with the <tt><link></tt> tag, but what browsers will use them? Not all web browsers fully implement the CSS specification, and alternate style sheets are one example of this. On a browser that supports alternate style sheets, the user can select which style sheets to use from a menu option. In Firefox, this is found on the View menu, under Page Style. As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21fig01 Figure 21.1], the title properties from the <tt><link></tt> tag are used as menu choices; the user can also view the page without any style sheets. <center> Figure 21.1. Firefox allows selection of alternate style sheets. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/21fig01_alt.jpg [View full size image]]</div>[[Image:21fig01.jpg|500px]] </center> As of early 2006, only Firefox and Opera support selection of alternate style sheets from the browser interface. Other browsers apply persistent and preferred style sheets, but don't allow switching out the preferred style sheet for an alternate style sheet. Creating an Alternate Style Sheet Why would you want to create an alternate style sheet? There are a number of valid reasons, including showing off your ability to use CSS to reformat and restyle a website easily. A better reason might be to meet specific user needs. Web accessibility proponent Joe Clark has promoted the use of "zoom" layouts to accommodate users with visual disabilities; see [http://joeclark.org/access/webaccess/zoom/ http://joeclark.org/access/webaccess/zoom/] for a full explanation. <div>By the Way You'll learn more about CSS and web accessibility in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch22.html#ch22 Hour 22].</div> A zoom layout is simply a style sheet that has been designed to show a page in a single column, with high contrast, scalable large fonts, and simple navigation controls. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21ex03 Listing 21.3] is an example of a zoom style sheet, written for the Dunbar Project website, which was introduced in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20], "Page Layout in CSS." The colors yellow, violet, and lime are used as brighter versions of the colors in the original design of the site. Listing 21.3. A "Zoom" Style Sheet {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* dunbar-zoom-21.3.css */<br /><br />body { background-color: black; color: white;<br />font-size: 125%; line-height: 1.25;<br />font-family: Verdana, sans-serif;<br />letter-spacing: 1px; /* one pixel extra */<br />word-spacing: 1px;<br />margin: 0; padding: 0; }<br /><br />a:link { color: violet; }<br />a:visited { color: lime; }<br />a:link:hover { color: black; background-color: violet; }<br />a:visited:hover<br />{ color: black; background-color: lime; }<br /><br />#header, #content, #sidebar, #footer<br />{ padding: 1em; margin: 1em;<br />border: 0.15em solid white; }<br />#header { border-color: lime; }<br />#sidebar { border-color: lime; }<br />#footer { border-color: violet; }<br />#header h1 { color: yellow; }<br /><br />#sitenav ol { padding: 0; margin: 0;<br />display: inline; }<br />#sitenav li { display: inline; padding-left: 1em; }<br />#sidebar li { display: block; }<br />table { border-collapse: collapse;<br />border: 0.15em solid yellow;<br />margin: 1em; } table th, table td<br />{ vertical-align: top; text-align: left;<br />padding: 0.2em 1em 0.2em 0.2em;<br />font-size: 125%; line-height: 1.25;<br />border-bottom: 0.15em solid yellow; }<br />th { color: lime; }<br />.mailingaddress<br />{ margin: 0 2em; color: lime; }<br /></pre></div><br /> |} As you can see, this does not use any CSS for layout, and it makes for a larger, bolder presentation with bright colors against a dark background. Such a style sheet is useful for certain users with specific visual impairments. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21fig02 Figure 21.2] shows this style sheet displayed in a web browser; compare with the figures from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch20.html#ch20 Hour 20] to see the difference that an alternate style sheet can make. <center> Figure 21.2. A zoomed version of a website. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/21fig02_alt.jpg [View full size image]]</div>[[Image:21fig02.jpg|500px]] </center> Making Alternate Style Sheets Stick There's one problem with alternate style sheetsthey don't last. You can choose an alternate style sheet in your browser, but the minute you go to another page, or even reload the current page, you're back to the preferred style sheet. One way to get around this limitation is to use HTML cookies, and server-side or client-side programming. A cookie is small bit of information stored by a web browser, associated with a specific website. Programming languages on both the server side and client side can access these cookies. JavaScript is an example of a client-side programming language that can manipulate cookies; for more about JavaScript, see Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch01.html#ch01 Hour 1], "CSS and JavaScript." {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Create a Zoom Style Sheet Creating an alternate style sheet for users who need high contrast is a good exercise in minimalism. Learn how to do it by following these steps: {| border="0" |- | <div>'''1. '''</div> | <div>Start with a website you've created, perhaps in the course of reading this book.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Keep your original style sheet handy for reference, but start over with an empty style sheet to begin creating your zoom style sheet.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Set a dark background and light text with a body rule. Add some extra line spacing, letter spacing, and word spacing, as these can help make the page more readable.<br /><br /></div> |- | > | > |- | <div>'''4. '''</div> | <div>Add additional styles, but keeping within the general philosophy of simple, bold design without columns. Which elements such as colors and fonts can you preserve from the original design? Try to work those in so that the zoom version seems like a sibling of the original, rather than an unrelated design.<br /><br /></div> |- | <div>'''5. '''</div> | <div>Link the style sheet with <tt><link type="alternate stylesheet"></tt> and be sure to add a <tt>title</tt> attribute as well. When choosing a <tt>title</tt>, web designer jargon like "zoom" may confuse users. How about simply "High Contrast"?<br /><br /></div> |- | <div>'''6. '''</div> | <div>View your creation in Firefox or Opera, and use the browser's style sheet switcher to test your new creation!<br /><br /></div> |} |} ./ ADD NAME=CH21LEV1SEC4.HTML Summary When creating any web pages, whether using CSS or not, it's important to keep the needs of your users in mind. Providing them with an attractive website is not in conflict with giving them an easy-to-use site. In fact, the two approaches are both complementary and necessary for making a truly great site. Testing plays a major role in any CSS design, and you can't rely on your own judgment when catching possible mistakes. Three important resources are other web developers who can give advice about your design efforts, users in informal tests who point out unexpected errors, and CSS validation services that check your syntax and warn of omissions. Web development using CSS is a balancing act, and the factors you'll have to weigh include using CSS for layout, supporting older browsers, and accounting for browser quirks. Because each site is unique, there's no universal answer; you need to use your own judgment to figure out what works for you. Organizing your style sheets in a sensible manner will make life easier for you and anyone else who has to read your style sheet. Use comments whenever you think of it, and group your styles together in natural groupings. You'll thank yourself later, when you need to maintain the style sheet. Alternate style sheets can give your users a choice of appearance, enhancing the site's overall usability and meeting specific needs, such as zoom text. Cookies can be used with PHP, JavaScript, or other programming languages to make these choices persistent. ./ ADD NAME=CH21LEV1SEC5.HTML Workshop The workshop contains a Q&A section, quiz questions, and activities to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa1q1a1 Q.]''' | I've created a design that is 1024 pixels wide but my web stats tell me that 35% of my audience is still using 800x640 resolution. What should I do? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa1q1 A.]''' | You have several options here. The first is to simply give up the idea of fixed-width designs and redesign a more fluid site. Site designs that are fluid can expand or shrink to fit the user's screen, but they offer you less control over the end result. You could redesign the same look to fit in an 800-pixel-wide window. Fixed-width resolution designs look best when they're around 700 pixels or so across. You could also make your page adaptable with minimum and maximum widths so that the content scales down better on smaller resolutions. Finally, you could use server-side or client-side programming, such as PHP or JavaScript, respectively, to provide alternative style sheets based on the browser's resolution. One style sheet could take advantage of the full-width displays and offer your original 1024-pixel design, whereas the fallback would be designed simply, with fluid layout. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa1q2a2 Q.]''' | How can I learn more about web programming? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa1q2 A.]''' | Client-side and server-side programming practices are beyond the scope of this introductory book on CSS, but the Sams Teach Yourself catalog offers a wide range of books on web programming topics, such as Sams Teach Yourself JavaScript in 24 Hours, 4th Edition and Sams Teach Yourself PHP in 24 Hours, 3rd Edition. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q1a1 1.]''' | Which of these is not a benefit of a well-organized style sheet? <div># <div>It's easier to make changes later on, after the design goes live.</div> # <div>The download time is quicker if your style sheet is nicely formatted.</div> # <div>You can spot problems such as unexpected cascading or inheritance consequences more easily when you've grouped your style rules sensibly.</div> # <div>If you hand the website off to someone else, it's easier for them to understand how the site's style rules function.</div></div> |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q2a2 2.]''' | What do you need for effective user testing? <div># <div>Nothing. Just follow your own instincts because you're a user too. You'll find out after the site goes live whether it's working or not.</div> # <div>Five people, five tasks, and five lattes; have your volunteers attempt to accomplish specific goals at the site, and thank them with a bribe of an appropriate beverage.</div> # <div>A usability lab with one-way mirrors, video cameras, and a million-dollar budget; if you have less than that, don't bother.</div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q3a3 3.]''' | Why would you want to use cookies and server-side or client-side programming with alternate style sheets? |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q1 1.]''' | All the listed benefits are the result of having a well organized style sheet, with the exception of (b). A style sheet that compresses together all your CSS rules on one line or otherwise lacks white space may actually load fractionally quicker because it is a few bytes shorter in size than one with more readable formattingbut this benefit is very small compared to the advantages of using indentation in readability and maintenance. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q2 2.]''' | The answer is (b), but the lattes are optional. I prefer a nice cold cherry cola myself. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch21qa2q3 3.]''' | When a browser lets you pick an alternate style sheet, it doesn't save that choice, which means the next time you view the page, or another page on the site, you're back to the original. Using cookies lets the designer code client-side or server-side solutions that save a user's style sheet choice. |} Exercises Here's a list of projects you can undertake to reinforce what you've learned this hour: * Look at a website you've worked on, or one that you've used before, and design a hypothetical usability test. Create at least five questions that could be answered by using the site, in the form of tasks that would be performed by an average user to the site. Some should be difficult, and some can be easy. * In fact, if you've got the time and the inclination, do an informal user test as described earlier this hour. The results are always educational, even if they just tell you that you're on the right track. * Look at some of the style sheets you've worked on, and see whether you can reorganize them to be easier to understand. Comments, comments, comments! ./ ADD NAME=CH22.HTML j7l4cu0tq8sw393qytdbah1rpc54n8h User:Bartlett/23 2 2127 5527 2007-06-17T17:21:08Z Bartlett 26 Bog cusub: 23.HTML Hour 23. User Interface and Generated Content {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How you can change the appearance of the mou... 5527 wikitext text/x-wiki 23.HTML Hour 23. User Interface and Generated Content {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * How you can change the appearance of the mouse pointer * Which properties allow you to create outlines, and how an outline is different than a border * How to use the system colors and fonts in your design, and why you'd want to in the first place * How you can add content to a page, before or after specific elements * Which properties let you control the appearance of quotation marks * How to use generated content to add shadows to text * How counters can be used to number lists and other elements automatically The properties defined in the Cascading Style Sheets specification allow you to do more than simply place and present content. Specific properties also enable you to shape the user's experience directly through interaction with the operating system and browser; other properties let you add to the content of the page to build an appropriate presentation for the user. |} ./ ADD NAME=CH23LEV1SEC1.HTML User Interface Properties The user interface (UI) of a computer program is the part that interacts with the person using the program. This interaction includes not only the visual output, but also the method of providing information to the program via mouse, keyboard, or other input device. When talking about web content, you're dealing with several layers of user interface. The operating systembe it various versions of Windows, Mac OS, or Linux running XWindowsprovides a basic graphical user interface (GUI) layer, which creates the windows, menus, and boxes onscreen. The browser's user interface is built upon the operating system's UI and generally is designed to mesh with the operating system while adding appropriate controls for web surfing. A third layer of user interface is created by the content itself; a web page can be thought of as a UI for the information contained in the markup. CSS Level 2.1 has several user interface properties examined in this part of the hour. These are not enough to fully control all interactions with the user, but they do enable you to alter some UI components and use information provided by the operating system to style the page. Changing the Cursor Appearance A key part of the web-user experience is showing what part of the GUI is currently being pointed to by a pointing device, such as a mouse. The mouse cursor could be controlled by a mouse or by another tool, such as a track-ball, a joystick, or a virtual mouse via the keyboard, for people who can't operate a normal mouse. For users with severe disabilities, mouse control can be approximated by pointer wands attached to the head, or even by eye-tracking sensors. A mouse cursor is applicable only in certain contexts; in print or Braille, for example, there is no mouse cursor. The mouse cursor is disabled or ignored by screen readers for blind users, and it's also inapplicable for kiosk systems with touch panels or for small devices with touch screens, such as Palm or Pocket PC organizers. It's important to keep in mind that a mouse cursor is just an indicator of potential action and not necessarily a choice that's been acted on; the cursor's location corresponds to the <tt>:hover</tt> pseudo-class in CSS, not to the <tt>:active</tt> or <tt>:focus</tt> pseudo-classes. The CSS property <tt>cursor</tt> can be used to change the appearance of the mouse cursor; this change occurs whenever the mouse cursor is over the part of the page display corresponding to the display rule's selector. Because <tt>:hover</tt> is implied, it's not necessary to use that pseudo-class with the selector. A <tt>cursor</tt> rule is written like this: <div><pre>selector { cursor: cursor-type; } </pre></div> The values that can be assigned to the <tt>cursor</tt> property are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table01 Table 23.1]. The default value is <tt>auto</tt>, and if this value is set on a containing box, it is inherited by that box's children elements. {| cellspacing="0" cellpadding="5"|+ Table 23.1. Values for the <tt>cursor</tt> Property |- | Value | Effect |- | <tt>auto</tt> | Lets the browser decide the shape of the cursor |- | <tt>crosshair</tt> | Displays a crosshair cursor |- | <tt>default</tt> | Displays the default cursor (usually an arrow) |- | <tt>e-resize</tt> | Indicates that the object can be resized eastward |- | <tt>help</tt> | Displays a help-available cursor (usually a question mark) |- | <tt>move</tt> | Indicates a movable object's cursor (usually crossed arrows) |- | <tt>n-resize</tt> | Indicates that the object can be resized northward |- | <tt>ne-resize</tt> | Indicates that the object can be diagonally resized to the northeast |- | <tt>nw-resize</tt> | Indicates that the object can be diagonally resized to the northwest |- | <tt>pointer</tt> | Displays a link pointer cursor (usually a pointing hand) |- | <tt>s-resize</tt> | Indicates that the object can be resized southward |- | <tt>se-resize</tt> | Indicates that the object can be diagonally resized to the southeast |- | <tt>sw-resize</tt> | Indicates that the object can be diagonally resized to the southwest |- | <tt>text</tt> | Displays a text editing cursor (usually an I-shaped bar) |- | <tt>wait</tt> | Displays a waiting cursor (usually an hourglass) |- | <tt>w-resize</tt> | Indicates the object can be resized westward |- | <tt>url(</tt><tt>address</tt><tt>)</tt> | Displays a cursor image from a given URL |- | <tt>inherit</tt> | Uses the cursor value for the containing box |} Many of the values listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table01 Table 23.1] refer to compass directions. These cursors are intended to be used with client-side programming techniques such as JavaScript and AJAX to mark objects that are resizable when clicked and dragged. The compass directions are a bit misleading "north" simply means up, toward the top of the screen; "west" means left; "south" means down; and "east" means to toward the right. Therefore, a cursor with the value of <tt>se-resize</tt> indicates the object is resizable in a lower-right direction. The <tt>url()</tt> value is written in a special format; you can write as many <tt>url()</tt> values as you like, and the browser displays the first one it is able to load and understand. After the last <tt>url()</tt> value, you should provide a "generic" cursor value from the list in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table01 Table 23.1], in case the <tt>url()</tt> cursors can't be displayed; for example, if the file format isn't understood by the browser. The concept of a generic default is similar to that of the <tt>font-family</tt> property and so should be familiar to you. Because there is not a universal format for cursor files, you should use multiple <tt>url()</tt> values to provide cursor images in several file formats. For example, give a version of the cursor in SVG, <tt>.tiff</tt>, <tt>.cur</tt>, and <tt>.gif</tt> formats, in addition to supplying a generic value. Cursor images should usually be smallno more than around 40 by 40 pixels, and usually around 16 by 16. <div>Watch Out! Only Internet Explorer 6 for Windows supports the <tt>url()</tt> method for specifying a cursor image, so be sure to provide a backup cursor type as you would for fonts. Opera has limited support for cursor changes, especially the <tt>-resize</tt> values. The <tt>progress</tt> cursor was introduced in CSS 2.1, and is currently supported only by Firefox.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex01 Listing 23.1] is an HTML file that demonstrates the various cursors available in CSS. You can test these out yourself and see how your operating system and browser display each cursor type. Listing 23.1. The Different Styles of Cursors {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- cursors-23.1.html --><br /><html><br /><head><br /><title>Changing Cursors</title><br /><style type="text/css"><br />table { border-spacing: 0.5em;<br />width: 100%; margin: 0;<br />empty-cells: hide; }<br />#a td { width: 25%; } #b td { width: 33%; }<br />td { padding: 1.5em 1em; text-align: center;<br />font-family: Verdana, sans-serif;<br />border: 3px solid silver;<br />text-align: right; }<br />td:first-child { text-align: left; }<br /></style><br /></head><br /><body><br /><table id="a"><br /><tr><td style="cursor: crosshair;">crosshair</td><br /><td style="cursor: default;">default</td><br /><td style="cursor: help;">help</td><br /><td style="cursor: pointer;">pointer</td></tr><br /><tr><td style="cursor: progress;">progress</td><br /><td style="cursor: text;">text</td><br /><td style="cursor: wait;">wait</td><br /><td style="cursor: url('k-small.cur'),<br />url('k-small.tiff'),<br />url('k-small.gif'),<br />auto;">url()</td></tr><br /></table><br /><table id="b"><br /><tr><td style="cursor: nw-resize;">nw-resize</td><br /><td style="cursor: n-resize;">n-resize</td><br /><td style="cursor: ne-resize;">ne-resize</td></tr><br /><tr><td style="cursor: w-resize;">w-resize</td><br /><td style="cursor: move;">move</p></td><br /><td style="cursor: e-resize;">e-resize</td></tr><br /><tr><td style="cursor: sw-resize;">sw-resize</td><br /><td style="cursor: s-resize;">s-resize</td><br /><td style="cursor: se-resize;">se-resize</td></tr><br /></table><br /></body><br /></pre></div><br /> |} The screenshot in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig01 Figure 23.1] is actually a composite of several screenshots; obviously, only one cursor can usually be displayed at a time, so I've combined images together to show you how one browser displays these cursors. <center> Figure 23.1. A variety of cursors on display. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/23fig01_alt.jpg [View full size image]]</div>[[Image:23fig01.jpg|500px]] </center> <div>Did you Know? Now you know how to change the cursor, but why would you want to? In most cases, the web browser automatically sets the style of the cursor to something sensible, which actually serves as a useful cue to the user. A <tt>pointer</tt> finger cursor, for example, lets users know that they are over a link. In general, you should change the cursor appearance only if you have a very good reason. For example, if you're using Asynchronous JavaScript and XML (AJAX) client-side programming to load information dynamically, you can change the cursor to <tt>progress</tt> or <tt>wait</tt> so the user is aware of the change. If you're using graphics for cursors, don't just set one for the whole page; create different graphics for links and input fields, and write appropriate rules to call them. Otherwise, your users will be confused when the cursor doesn't change over a text field or a hyperlink.</div> Creating Outlines An outline is a visual line surrounding an element. This sounds similar to a border, doesn't it? Unlike a border, an outline doesn't actually take up any space in the box model. Instead, it's laid over other elements. The outline is placed just outside of the border, and thus it will be displayed over the margin or even over other content if the margin is small and the outline is wide. The appearance of the outline is set with the <tt>outline-width</tt>, <tt>outline-style</tt>, and <tt>outline-color</tt> properties, or the <tt>outline</tt> shorthand property that sets them all at once. The <tt>outline-width</tt> property can take the same types of values as the <tt>border-width</tt> property; the <tt>outline-style</tt> can accept <tt>border-style</tt> properties. Unlike the border properties (which are covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch16.html#ch16 Hour 16], "Borders and Boxes"), there are not outline properties for each side of a box; the outline must be consistently the same color, width, and style on all sides. The <tt>outline-color</tt> value can be any normal color value, or <tt>invert</tt>, which means the outline is displayed in the opposite colors of the margins (or other content) over which it lies. Unlike borders, there is only one outline; you can't set separate outlines for different sides of the outlined element. An outline is most useful for indicating focus or hover, although you can use it without the <tt>:focus</tt> or <tt>:hover</tt> pseudo-classes to simply draw an outline around anything. For example: <div><pre>a:focus, a:hover { outline-width: medium; outline-style: dotted; outline-color: invert; } h2 { outline: green 1px solid; } </pre></div> Outlines can be very useful if you are debugging your style sheets. Because an outline doesn't affect the width of the box model, this means that your outlines don't change the way the page is laid out. You can use outlines to highlight specific boxes and watch how they react with each other. <div>Watch Out! Internet Explorer (as of version 6.0) doesn't support the <tt>outline-width</tt>, <tt>outline-style</tt>, <tt>outline-color</tt>, or <tt>outline</tt> properties. Don't rely on your outlines being visible on someone else's browserbut if you're using Firefox, Safari, or Opera, you can still use outlines for troubleshooting.</div> Using the System Colors and Fonts The CSS language enables you to access certain qualities of the system or browser user interface and use these for color or font values. You can do this by using special keywords that correspond to the current system settings. The system color keywords can be used with any CSS property that can be set to a specific color value<tt>color</tt>, <tt>background-color</tt>, <tt>border-color</tt>, and so on. These are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table02 Table 23.2]. These keywords are traditionally written in mixed case, with capital letters at the beginning of words for greater legibility. However, CSS is not case sensitive for color values, so if you write <tt>activeborder</tt> or <tt>ACTIVEBORDER</tt>, it means the same thing as <tt>ActiveBorder</tt>. {| cellspacing="0" cellpadding="5"|+ Table 23.2. System Color Keywords |- | Value | Effect |- | <tt>ActiveBorder</tt> | The border color around the active window |- | <tt>ActiveCaption</tt> | The background color of the caption on the active window |- | <tt>AppWorkspace</tt> | The background color within the application's main window |- | <tt>Background</tt> | The background color of the desktop |- | <tt>ButtonFace</tt> | The background color of a three-dimensional button |- | <tt>ButtonHighlight</tt> | The border color for the dark edge of a three-dimensional button |- | <tt>ButtonShadow</tt> | The shadow color of a three-dimensional button |- | <tt>ButtonText</tt> | The text color for a three-dimensional button |- | <tt>CaptionText</tt> | The text color in a caption |- | <tt>GrayText</tt> | The text color for disabled options (grayed out) |- | <tt>Highlight</tt> | The background color for selected items |- | <tt>HighlightText</tt> | The text color for selected items |- | <tt>InactiveBorder</tt> | The border color around an inactive window |- | <tt>InactiveCaption</tt> | The background color of the caption on an inactive window |- | <tt>InactiveCaptionText</tt> | The text color of the caption on an inactive window |- | <tt>InfoBackground</tt> | The background color for tooltips |- | <tt>InfoText</tt> | The text color for tooltips |- | <tt>Menu</tt> | The background color for menu items |- | <tt>MenuText</tt> | The text color for menu items |- | <tt>Scrollbar</tt> | The color of the scrollbar |- | <tt>ThreeDDarkShadow</tt> | The dark shadow for a three-dimensional element |- | <tt>THReeDFace</tt> | The background color for a three-dimensional element |- | <tt>THReeDHighlight</tt> | The highlight color for a three-dimensional element |- | <tt>ThreeDLightShadow</tt> | The border color for the light edge of a three-dimensional element |- | <tt>ThreeDShadow</tt> | The shadow color for a three-dimensional element |- | <tt>Window</tt> | The background color of a window |- | <tt>WindowFrame</tt> | The border color of the frame around a window |- | <tt>WindowText</tt> | The text color within a window |} For each of the values in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table02 Table 23.2], a descriptive adjective such as highlight, border, background, or text is given before the word color. These describe how the colors are used within the system user interface, but you don't have to use them for only those purposes in your style sheet. For example, you could set the text <tt>color</tt> to <tt>Window</tt>, and the <tt>background-color</tt> to <tt>WindowText</tt>; the AppWorkspace value could be used to set a box's <tt>border</tt>. Here are examples of how to use these values: <div><pre>.showthis { color: window; background-color: windowText; border: 2px solid AppWorkspace; } </pre></div> You can also use the system font settings for various types of text within your style sheet. You do so by setting the font shorthand property to one of the system values shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table03 Table 23.3]. For example, to make a <tt><div></tt> use the font qualities for a system message box, use the following: {| cellspacing="0" cellpadding="5"|+ Table 23.3. System Values for the <tt>font</tt> Property |- | Value | Effect |- | <tt>caption</tt> | Uses the same font values as system captions |- | <tt>icon</tt> | Uses the same font values as system icons |- | <tt>menu</tt> | Uses the same font values as system menus |- | <tt>message-box</tt> | Uses the same font values as system message boxes |- | <tt>small-caption</tt> | Uses the same font values as small system captions |- | <tt>status-bar</tt> | Uses the same font values as the status bar |} <div><pre>div { font: message-box; } </pre></div> Each use of font in this manner sets the <tt>font-size</tt>, <tt>font-style</tt>, <tt>font-weight</tt>, <tt>font-variant</tt>, and <tt>font-family</tt> to the same values as the specified kind of system text. Subsequent rules can change those values, as shown here: <div><pre>div { font: message-box; font-weight: bold; font-size: larger; color: window; background-color: windowText; border: 2px solid AppWorkspace; } </pre></div> Why would you want to use system colors and fonts? Usually you wouldn't, actually. Websites have good reason to express their own individuality and style, and utilizing the user's system appearance doesn't mesh well with that. However, there are some cases, such as alert boxes, where you may very well want to mimic the effects of an operating system prompt. There is a potential accessibility benefit: In general, you can be sure that system colors will be usable by someone with visual impairments because otherwise she couldn't operate her computer at all. Most users with special needs set their computers to high contrast, large fonts, and any other required properties. However, the accessibility benefit of system styles is small compared with the negative effects of "sameness" and bland design; even users with poor vision can benefit from an attractive website design. User style sheets and alternate style sheets provide better accessibility options for all users in the long run. ./ ADD NAME=CH23LEV1SEC2.HTML === Creating Content === In CSS terminology, generated content consists of text or images that aren't present in the HTML markup but are added through CSS rules. The ability to generate content allows for even more flexibility in designing style sheets and alternate style sheets that effectively convey the information on the page to the user. In overview, generating content depends on using the <tt>:before</tt> and <tt>:after</tt> pseudo-classes as selectors for rules with <tt>content</tt> property declarations. Text, attribute values, images, quotation marks, and numbered counters can all be added to HTML using CSS content generation. <div>Watch Out! Because of browser deficiencies, users who have turned off style sheets, or devices that can't display CSS, generated content is not always going to be available, so you shouldn't rely on generated content unless you know the browser on the other end can display it. Generated content is therefore only safe when you can be sure that it will actually be displayed to the end userfor example, if you are serving content to a specific browser. In some cases, you can use generated content to enhance the presentation without being dependent upon it as the only way to convey important information. In this hour, you will see an example of using generated content to create a specific text effect that enhances the web page for display in browsers that support CSS, but doesn't leave out users whose browsers don't produce generated content.</div> The <tt>:before</tt> and <tt>:after</tt> Pseudo-Classes To generate content, you must use the <tt>:before</tt> and <tt>:after</tt> pseudo-classes. These pseudo-classes define the point where you place additional material. Content can be added at the beginning or the end of an element. To add content at the beginning of an element, you would write a rule like this: <div><pre>element:before { declarations; } </pre></div> To insert the content after the element, the rule looks like this: <div><pre>element:after { declarations; } </pre></div> You can combine this with any other CSS selectors, such as <tt>class</tt>, <tt>id</tt>, attribute, relationship, or pseudo-class selectors. You can't write a single rule that has both <tt>:before</tt> and <tt>:after</tt> selectors, but you can write one rule putting content before the element and another adding content after it. The <tt>content</tt> Property The material generated at the insertion point (either before or after the selector) is defined by the content property. This CSS property can be used only within a rule with a <tt>:before</tt> or <tt>:after</tt> pseudo-class selector. The values for <tt>content</tt> are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23table04 Table 23.4]. {| cellspacing="0" cellpadding="5"|+ Table 23.4. Values for the <tt>content</tt> Property |- | Value | Effect |- | "<tt>quoted-text</tt>" | Inserts the specified text |- | <tt>attr(</tt><tt>attribute</tt><tt>)</tt> | Inserts the value of the specified attribute |- | <tt>close-quote</tt> | Inserts an appropriate closing quote mark |- | <tt>counter(</tt><tt>name</tt><tt>)</tt> | Inserts a counter's value |- | <tt>counter(</tt><tt>name</tt>, <tt>marker-style</tt><tt>)</tt> | Inserts a counter's value |- | <tt>counters(</tt><tt>name</tt>, <tt>string</tt><tt>)</tt> | Inserts a counter's value and a string |- | <tt>counters(</tt><tt>name</tt>, <tt>string</tt>, <tt>marker-style</tt><tt>)</tt> | Inserts a counter's value and a string no-close-quote Suppresses the printing of a closing quote mark |- | <tt>no-open-quote</tt> | Suppresses the printing of an opening quote mark |- | <tt>open-quote</tt> | Inserts an appropriate opening quote mark |- | <tt>url(</tt><tt>address</tt><tt>)</tt> | Inserts the contents of the specified URL |} The <tt>content</tt> property allows for multiple values, separated by spaces. Here is an example of a complex <tt>content</tt> rule: <div><pre>.note:before { content: url('note.gif') "Note " counter(notes) ": (" attr(title) ")"; } </pre></div> The content inserted consists of an image, quoted text, a counter reference, another bit of quoted text, an attribute value, and a final snippet of quoted text. The specified content is added at the designated insertion point and becomes a virtual child element. Although the generated content inherits all appropriate properties from the element into which it was inserted, it can also be styled separately, as well. <div>Watch Out! Internet Explorer versions 6.0 and earlier don't display generated content. As suggested before, you should use generated content only if you can be certain which browser will be used or if you are using the generated content only to enhance, rather than to provide the full presentation.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex02 Listing 23.2] and is a brief (and deliberately incomplete) list of books by J.R.R. Tolkien, which will be used to demonstrate how content generation can be used. Listing 23.2. A Simple HTML File Listing Some Works of Tolkien {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- generated-23.2.html --><br /><html><br /><head><br /><title>Author Data: J.R.R. Tolkien</title><br /><style type="text/css"><br />/* Insert style rules here */<br /></style><br /></head><br /><body><br /><h3>J.R.R. Tolkien</h3><br /><ul id="works"><br /><li class="book">The Hobbit</div><br /><li class="series" ><br /><ul title="Lord of the Rings"><br /><li class="book">The Fellowship of the Ring</li><br /><li class="book">The Two Towers</li><br /><li class="book">Return of the King</li><br /></ul><br /></li><br /><li class="book">The Silmarillion</li><br /></ul><br /></body><br /></html><br /></pre></div><br /> |} The HTML file in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex02 Listing 23.2] defines a simple structure wherein book titles are identified by <tt><li></tt> list items with the book class, and related books are grouped within titled <tt><ul></tt> tags. There is no styling information provided, so the list appears plain and straightforward, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig02 Figure 23.2]. Note that the series title Lord of the Rings isn't shown because it is an attribute value and not text content. <center> Figure 23.2. No styles applied to the Tolkien book list. [[Image:23fig02.jpg|500px]] </center> Adding Text and Images You can insert text into a page by giving a quoted text value to the <tt>content</tt> property. The quotes around the value can be either double quotes (<tt>"</tt>) or single quotes (<tt>'</tt>); they have to match. You can use double quotes to surround single quotes (or apostrophes), or single quotes to surround double quotes. For example: <div><pre>h1:before { content: "Kynn's Headline: "; } h2:before, h2:after { content: '"'; } </pre></div> You can also insert text by using an attribute's value via the <tt>attr()</tt> function, which inserts the value of a specific attribute on the element. Here is an example combining quoted text with an attribute value to make the alternative text of an image visible, which is useful for testing your web pages: <div><pre>img:after { content: " [ALT: " attr(alt) "]"; } </pre></div> If you want to insert an image before or after an element, you give a <tt>url()</tt> value. This is similar to providing a bullet image with the <tt>list-style-image</tt> property, although it can be done with any element. <div>Watch Out! Opera doesn't display images inserted with the <tt>url()</tt> function, although it displays generated text and attribute values just fine.</div> [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex03 Listing 23.3] is a style sheet that adds explanatory text, as well as a small graphic, to the HTML file's presentation. The most important rules here are the <tt>content</tt> rules, listed first after each selector. Listing 23.3. Style Sheet Generating Text for Book List {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* generated-23.3.css */<br /><br />body { font-family: Verdana, sans-serif; }<br />h3:before<br />{ content: "BookBase: ";<br />font-size: small;<br />font-family: cursive, sans-serif;<br />color: white; background-color: black; }<br />h3:after<br />{ content: " (author index)";<br />font-weight: normal; font-size: small; }<br />.series ul:before<br />{ content: "Series: " attr(title)<br />" " url('series_l.gif');<br />font-weight: bold; }<br />.book:after<br />{ content: " " url('book_l.gif'); }<br />.series .book:after<br />{ content: " "url('bookinseries_l.gif'); }<br />li { list-style-type: square; }<br />li.series { list-style-type: none; }<br />.series ul li:first-child { margin-top: 0.5em; }<br />.series ul { margin-bottom: 0.5em; }<br />.series li { margin-left: 1em; }<br /></pre></div><br /> |} Not all browsers support generated content, but Firefox, Opera, and Safari do. The results of applying the style sheet to the Tolkien listing are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig03 Figure 23.3]. You'll notice that separate books are followed by one icon, the name of a series with another icon, and books within a series by a third icon. The word series has also been added to further identify books within a particular series. <center> Figure 23.3. Firefox generating content for Tolkien list. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/23fig03_alt.jpg [View full size image]]</div>[[Image:23fig03.jpg|500px]] </center> Generating Quotation Marks You can use CSS to add quotation marks to your web page. This is most useful when you're dealing with multiple languages on the same site, where different languages have different quotation symbols. It's also applicable if you use the HTML element <tt><q></tt> to mark up your quotations. To add quotations, first you must define which quotation marks should be used by using the <tt>quotes</tt> property. The values for <tt>quotes</tt> are pairs of symbols enclosed in double quotes themselves (or single quotes if they contain double-quote characters). The first pair is considered the outer pair of quotation symbols; inner quotes use the next pair in, and so on. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex04 Listing 23.4] gives an example, using doubled left-ticks and right-ticks for some quotes and square brackets for others. Your values for <tt>quotes</tt> don't have to be actual quotation marks; you can use any symbols or text. Listing 23.4. Style Sheet That Adds Quotes to the Book List {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* generated-23.4.css */<br /><br />/* Set values for quotes */<br />ul { quotes: "[" "]"; }<br />ul li { quotes: "`" "'"; }<br />.series ul:before<br />{ content: "Series: " open-quote attr(title)<br />close-quote " " url('series_l.gif');<br />font-weight: bold; }<br />.book:before<br />{ content: open-quote; }<br />.book:after<br />{ content: close-quote " " url('book_l.gif'); }<br />.series .book:after<br />{ content: close-quote " " url('bookinseries_l.gif'); }<br /></pre></div><br /> |} As shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex04 Listing 23.4], the <tt>open-quote</tt> or <tt>close-quote</tt> values for <tt>content</tt> designate the types of the quote marks to be generated. You can see the effect of these rules in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig04 Figure 23.4], which applies the updated style sheet to the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex02 Listing 23.2]. <center> Figure 23.4. Quote marks inserted as generated content. [[Image:23fig04.jpg|500px]] </center> Counters and Numbering Generated content can also consist of counter values. A CSS counter is like a very simple variable from a programming language. Each counter is identified by a name and holds a numeric integer value, such as 1, 2, 335, or -5. The counter can be set to a specific value, increased or decreased by a certain amount, or displayed as part of a <tt>content</tt> rule. You set a counter to a specific value by using the <tt>counter-reset</tt> property; whenever a CSS rule containing <tt>counter-reset</tt> is applied to a selector, the counter is reset to the specified value, or to zero if no value is given. The name of the counter must be specified in the <tt>counter-reset</tt> declaration. The counter increases whenever a <tt>counter-increment</tt> property is applied that designates a counter of the same name. The general syntax for <tt>counter-reset</tt> and <tt>counter-increment</tt> looks like this: <div><pre>selector { counter-reset: name amount name amount ... ; } selector { counter-increment: name amount name amount ...; } </pre></div> The <tt>amount</tt> can be omitted; for <tt>counter-reset</tt> this resets the counter to zero, and for <tt>counter-increment</tt> this increases the counter by one. You can reset or increment multiple counters by giving <tt>name</tt>-<tt>amount</tt> pairs (or just multiple counter names if you want to use the default <tt>amount</tt> values). To display the counter value, use the function <tt>counter()</tt> or <tt>counters()</tt> within a content declaration. Each counter has a scope over which the counter applies, which consists of the element in which it was declared and its children; you can have multiple counters with the same name. The value of the current counter with a given <tt>name</tt> is specified by <tt>counter</tt>(<tt>name</tt>); the values of all counters with that <tt>name</tt> within the scope are given by <tt>counters</tt>(<tt>name</tt>, <tt>delimiter</tt>). The <tt>delimiter</tt> option specifies a string to be displayed between values. This lets you create nested lists with proper numbering. An additional option can be supplied to the <tt>counter()</tt> and <tt>counters()</tt> functions, which selects a list style to be applied to the display of the counter. This can be any <tt>list-style-type</tt> value as covered in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch12.html#ch12 Hour 12], "Styling Links." An example of counters in a style sheet can be seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex05 Listing 23.5]. This example counts books within a series and the total numbers of books from the HTML Tolkien book list. Listing 23.5. Style Sheet for Adding Counters to the Book List {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* generated-23.5.css */<br /><br />#works { counter-reset: Total; }<br />.series { counter-reset: BooksInSeries; }<br />.book { counter-increment: BooksInSeries Total; }<br />.series:after { content: "Books in Series: "<br />counter(BooksInSeries, decimal);<br />margin-left: 2em;<br />text-decoration: overline;<br />display: block; }<br />#works:after { content: "Total books in index: "<br />counter(Total);<br />margin-top: 1em; display: block;<br />font-weight: bold; }<br /></pre></div><br /> |} Some browsers do not support counters; Opera and Firefox display counters, whereas Safari and Internet Explorer (as of version 6.0) do not. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig05 Figure 23.5] shows how Firefox displays the HTML file from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex02 Listing 23.2] with the styles from [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex05 Listing 23.5] sheet applied. <center> Figure 23.5. Firefox displays counts for Tolkien's books. [[Image:23fig05.jpg|500px]] </center> Generating Text Shadows The original CSS Level 2 specification included a property, <tt>text-shadow</tt>, that allowed drop shadows to be generated around text, giving a three-dimensional look. Only one browser, Safari, supports <tt>text-shadow</tt>, and so the property was removed in CSS 2.1. However, you can use generated content to create your own text shadows around certain text elements. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23ex06 Listing 23.6] has the code that creates text shadows; the explanation follows after. Listing 23.6. Adding Shadows to Text {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre><!-- text-shadow-23.6.html --><br /><html><br /><head><br /><title>Text Shadows</title><br /><style type="text/css"><br />body {font-family: Verdana, sans-serif; }<br /><br />.shadow:before { color: gray; }<br /><br />.shadow[title] {<br />line-height: 2em;<br />margin: 0; }<br /><br />.shadow[title]:before {<br />display: block;<br />margin: 0 0 -2.10em 0.20em;<br />content: attr(title); }<br /><br />h1.shadow { color: white; }<br />h1.shadow:before { color: black; }<br /></style><br /></head><br /><body style="text-align: center;" ><br /><h1 class="shadow" title="Announcing..."><br />Announcing...</h1><br /><h2 class="shadow"<br />title="Teach Yourself CSS in 24 Hours!"><br />Teach Yourself CSS in 24 Hours!</h2><br /><p>Want to learn Cascading Style Sheets the easy way?<br />Read this book! It's fun! Give it a try!</p><br /><p class="shadow" title="Tell all your friends!"><br />Tell all your friends!</p><br /></body><br /></html><br /></pre></div><br /> |} So what's going on here? Look carefully at the HTMLeach element that is to receive a text shadow has a <tt>class</tt> of <tt>shadow</tt>, as well as a <tt>title</tt> attribute that repeats the text of that element. This is then used in the <tt>content</tt> rule for the <tt>.shadow[title]:before</tt> selector in an <tt>attr()</tt> rule. That produces a copy of the text to be shadowed. Thanks to the <tt>.shadow:before</tt> rule, the color of this text will be <tt>gray</tt>. Because the <tt>.shadow[title]:before</tt> rule sets the <tt>display</tt> to <tt>block</tt>, we end up with a repeat of the text on two linesone line in <tt>black</tt> (default) text, one in <tt>gray</tt> text. The <tt>margin</tt> rule of the <tt>.shadow[title]:before</tt> selector moves the <tt>gray</tt> text behind the <tt>black</tt> text, and the <tt>line-height</tt> rule on the <tt>.shadow[title]</tt> text is there to ensure there's enough room to do that. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig06 Figure 23.6] shows exactly how these rules come together and display a text shadow in a browser. <center> Figure 23.6. Shadows behind text, thanks to generated content. [[Image:23fig06.jpg|500px]] </center> You can tweak the parameters here by changing the values for the margin rule; the difference from <tt>2.0em</tt> is the vertical offset for the text shadow, and the difference from <tt>0.0em</tt> is the horizontal offset. In this example, the final two rules set up a different color schemewhite on blackfor <tt><h1></tt> text shadows, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23fig06 Figure 23.6]. This method for text shadows works well as long as your text is all on one line. If it wraps around, everything is thrown off. You can insert a <tt>white-space: nowrap</tt> rule to prevent text wrapping. If this method of creating text shadows seems arcane, don't feel too badit is quite complicated, and is an example of the type of hoops that web designers are often willing to jump through to gain a specific effect. You'll learn more about the types of accommodations necessary for browser quirks and bugs in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html#ch24 Hour 24], "Troubleshooting and Browser Hacks." ./ ADD NAME=CH23LEV1SEC3.HTML Summary Cascading Style Sheets enable your web designs to incorporate elements of the user interface into the presentation. Through CSS, you can change the cursor with the cursor property or draw highlights around certain items with the outline properties. Colors and fonts can be tuned to fit the operating system or the user's browser preferences if you employ special keywords for the <tt>color, background-color, border</tt>, and <tt>font</tt> properties. Additional information can be added to the HTML by style sheets using content generation. Quoted text, attribute values, images, quotation marks, and counters can be included via the <tt>content</tt> property. The <tt>quotes</tt> property specifies the styles of quotes to be used, and the <tt>counter-reset</tt> and <tt>counter-increment</tt> properties manage the values of the counters. As with many advanced CSS features, content generation may be supported sporadically by the browsers. If the primary content of the site is supported or explained only by generated content, users without access to the style sheet are left out, so care should be taken whenever using these techniques. ./ ADD NAME=CH23LEV1SEC4.HTML Workshop The workshop contains a Q&A section, quiz questions, and exercises to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa1q1a1 Q.]''' | Can I use content generation to insert HTML tags before and after an element? That would be really cool. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa1q1 A.]''' | It would indeed be cool, but the answer is no, you can't. Quoted text is inserted directly as text, not as markup, which means that if you wrap HTML tags around something, they won't be interpreted by the browser. Instead you'll just see those tags, in angle brackets, when viewing the page. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa1q2a2 Q.]''' | Generating content doesn't sound reliable. It would be easier to just add the content to the HTML, and that works in Internet Explorer and every other browser! Why would I ever use generated content? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa1q2 A.]''' | Content generation is useful and powerful, but as you say, it can be unreliable. In general, you're right; if you need to include some text in your output, you should put it in the HTML. There are a few cases where generated content is particularly useful, though, including sites where you may not have access to the content but can style it; alternate style sheets for specific presentations, such as a screen reader style sheet for visually impaired users; and XML files that don't inherently contain explanatory text. For more on XML and generated markup, see Bonus Web [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch02.html#ch02 Hour 2], "CSS and XML" (available on this book's website). |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q1a1 1.]''' | Which of these options is not a valid declaration for the cursor property? <div># <div><tt>cursor: hourglass;</tt></div> # <div><tt>cursor: ne-resize;</tt></div> # <div><tt>cursor: url('target.cur'), crosshair;</tt></div> # <div><tt>cursor: text;</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q2a2 2.]''' | Your HTML contains <tt><a></tt> links of the class <tt>button3d</tt> that you want to style to look like three-dimensional buttons. How do you make members of this class appear as such, using the system <tt>color</tt> and <tt>font</tt> properties? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q3a3 3.]''' | What does each of the following content rules accomplish? <div># <div><tt>a[href]:after { content: "[LINK: " attr(href) "]"; }</tt></div> # <div><tt>h1:before { "#" counter(item); counter-increment: item; }</tt></div> # <div><tt>blockquote p:before { content: open-quote; }</tt></div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q1 1.]''' | (a). <tt>hourglass</tt> is not a proper value for <tt>cursor</tt>; to display an hourglass or timer cursor, use the value <tt>wait</tt>. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q2 2.]''' | Here is one way to write the appropriate style rules: <div><pre>a.button3d:link {<br />display: block;<br />font: menu; color: ButtonText;<br />background-color: ButtonFace;<br />border-width: medium; border-type: outset;<br />border-color: ButtonHighlight; }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch23qa2q3 3.]''' | The rules generate the following types of content: <div># <div>All links are followed by an indication of their link target. This is a very handy rule if you are printing out documents.</div> # <div>This numbers all <tt><h1></tt> elements.</div> # <div>This starts all paragraphs within a <tt><blockquote></tt> with the opening quote character.</div></div> |} Exercises Here are some projects that will help you get practice using the properties from this hour: <div># <div>Experiment with changing the cursors on your website. Does it make it easier to use or harder to use if the cursors aren't set by the browser?</div> # <div>Using the <tt>:active</tt> pseudo-class, extend the style rules from Quiz question 2 to create three-dimensional buttons that appear to depress when clicked.</div> # <div>Use content generation to add notes to a web page explaining the function of each element. Style these notes in a different color or with a border around them.</div></div> s3f6catknwhsyb0czoh06u5nvgupo7u User:Bartlett/22 2 2128 5528 2007-06-17T17:22:45Z Bartlett 26 Bog cusub: ./ ADD NAME=CH22.HTML Hour 22. Accessibility and Print Media {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What hurdles people with disabilities... 5528 wikitext text/x-wiki ./ ADD NAME=CH22.HTML Hour 22. Accessibility and Print Media {| cellspacing="0" cellpadding="5" border="1" |- | What You'll Learn in This Hour: * What hurdles people with disabilities face and how your use of CSS design can increase their accessibility to the Web * Which standards relating to accessibility the W3C and the U.S. government have published * How Aural Cascading Style Sheets are used and which browsers for visually impaired users support them * How to specify rules for specific media types * Which media types are supported by CSS and when they are used * What kinds of things to consider when making a print style sheet The promise inherent in the name "World Wide Web" is an information network that can be used by everyone across the entire world. To a large degree this promise has been fulfilled, although there are still many groups of users whose needs aren't adequately met. To address these needs, the Cascading Style Sheets recommendations included specific support for accessibility by people with disabilities and for internationalization and non-English languages. Related to universal accessibility is the concept of alternate media types. Most style sheets are written for onscreen display in a web browser. However, CSS isn't restricted only to screen display; style sheets can be applied to printed versions of a page as well as to other media types. |} ./ ADD NAME=CH22LEV1SEC1.HTML === What Is Accessibility? === When we talk about web accessibility, we're talking about the interaction between content and presentation and about ensuring that people who may have disabilities can use the result of that interaction. The content is the information you want to convey to your audience; it's not even necessarily the HTML code, but rather the information embodied by the HTML codeor by a Flash animation, GIF image, or multimedia movie. The presentation is the specific way you choose to express that information to your audience. A basic principle of accessibility is that these two types of information, the content and the presentation, should be separated from each other. This allows for alternate versions of the presentation to be constructed, conveying the information in a way that the user can perceive it. If the content cannot be extracted from the presentation easily, an alternate version can be provided. The classic example of this is the <tt>alt</tt> attribute on the HTML <tt><img></tt> tag (and the <tt><area></tt> tag as well). The content of a visual image is obviously going to be inaccessible to user who is blind; she simply can't see it. However, if a text equivalent of the image is supplied (by the <tt>alt</tt> attribute), her computer has information about what the image means, and it can provide that to the userfor example, by reading it out loud to her. Users with disabilities often use assistive technology (AT) to enable access. Assistive technology is a broad category that not only includes Braille terminals and screen readers for blind users, but also includes magnification devices, voice recognition software, specialized input devices for those who can't type or use a mouse, and other hardware and software solutions. Although assistive technology can solve many problems for users with special needs, it can't solve them all because it can work only with the information that is available. For example, if there is no <tt>alt</tt> attribute for an image, the assistive technology has no clue what to tell the user about the image's function and purpose. AT alone can't enable access; it requires cooperation from the web developer as well. How People with Disabilities Use the Web Most of the time when you hear about web accessibility, the focus is on blind and visually impaired users. The Web is commonly thought of as a visual medium; however, it's more accurate to say that it's an information medium, and the visual representation of information is simply the most common. A mistaken insistence that the Web is meant to be only visual can lead many web developers to inadvertently create websites that are inaccessible to users who can't see well. A user who is blind commonly uses a screen reader, a software program that uses a synthetic voice to read the output of other programs. Examples of common screen readers include JAWS for Windows ([http://www.freedomscientific.com/ http://www.freedomscientific.com/]) and WindowsEyes ([http://www.gwmicro.com/ http://www.gwmicro.com/]). Screen readers depend on a web browser to retrieve and process web pages; for example, JAWS is integrated with Internet Explorer for web display. Another option is a speaking web browser, which is essentially a browser with a specialized screen reader built into it; examples are IBM's Home Page Reader ([http://www.ibm.com/able/ http://www.ibm.com/able/]) and EmacSpeak for Linux/Unix ([http://emacspeak.sourceforge.net/ http://emacspeak.sourceforge.net/]). Also in use are Braille terminals, which display around 40 characters at a time using raised dots in a row. All these access solutions for blind users dramatically change the experience of using the typical website. Rather than experience the content as a two-dimensional visual display, a user hears (or feels) the content in a sequential, linear order. On most page designs this means having to wade through the navigation options and banner ads before finally reaching the main content of the page. Users who can see, but not necessarily see well, often employ other solutions to access web content. For some, screen magnification software, which allows sections of the screen to be increased to many times their original size, may be necessary for ease of reading. A user with less severe requirements may simply increase his default font size to allow for comfortable reading. Color blindness may cause someone to be unable to distinguish content within color graphics or to have difficulty discerning text against the background colors. The use of color as the only means of conveying information can restrict access by users who are color-blind or who can't see at all. Compared with users with visual disabilities, deaf or hearing-impaired users are relatively fortunate when using the Web because most sites don't make heavy use of sound. However, those users can miss sound cues, audio files, and the sound tracks of multimedia presentations. Users who are unable to use a keyboard or a mouse often employ creative means to provide equivalent input to their computers. For example, a quadriplegic user who is unable to use his arms or hands may move the mouse pointer by moving a pointer wand worn on his head. One of the broadest groups of users with disabilities is also the least understood when it comes to web accessibilityusers with cognitive disabilities. This wide category includes everything from relatively simple dyslexia to extreme mental retardation. Many individuals with varying cognitive impairments regularly use the Web as a primary information source, and they should not be discounted as a potential audience for your site simply because of their disabilities. CSS Enables Access Because the W3C created the CSS specifications with the needs of disabled users in mind, Cascading Style Sheets, if applied correctly, have great potential to meet the needs of those users. The primary benefit of using CSS is the separation of presentation from content; using CSS with HTML (especially Strict HTML) makes it clear which code is meant for presentational effects and which is the structured information of the page. The CSS language has many features specifically intended to benefit users with visual disabilities, mainly because style sheet properties primarily define visual appearance. Media-specific alternate style sheets and rules can be created for screen readers, Braille terminals, and Braille printers. Aural CSS properties, described later in this hour, give control over the pitch, frequency, and even apparent location of synthesized speech. Using relative measurements, such as ems instead of absolute font sizes, allows your style sheets to adapt to user preferences, either in browser settings or in a user style sheet. This lets users with special needs for font or color choices continue to access your site even if the styles you've set are not sufficient for their needs. Style sheets do little to benefit deaf, hard of hearing, physically restricted, or cognitively impaired users, although a CSS-styled website based on sound usability and design principles will provide benefits for users both with and without these disabilities. Many cognitively disabled users specifically benefit from nontextual information cues, such as color, layout, and graphics. Accessibility Standards and CSS To fully test your CSS designs on all possible web browsers and AT devices, you'd have to spend a fortune; you already know how hard it can be to fully test a CSS design on mainstream browsers, and adding assistive technology software and hardware to the mix makes the task nearly impossible. So what is a web developer to do? The solution is for those with expertise in assistive technologies to gather information on accessibility and create a set of recommendations for web developers to follow. By learning these standards, a web developer won't have to spend time researching every possible access method, but can instead be reasonably sure that a page created according to those principles will be accessible to a broad audience of users. W3C's Web Content Accessibility Guidelines The World Wide Web Consortium, in addition to publishing CSS, HTML, XHTML, XML, and other language specifications, also established the Web Accessibility Initiative (WAI). The purpose of the WAI is to create and distribute information on making the Web more accessible to people with disabilities. The WAI has issued guidelines for browser programmers, web editing tool programmers, and web developers that suggest how to improve web accessibility. Most of us aren't programming browsers or authoring environments, so the WAI recommendation we're concerned with is the Web Content Accessibility Guidelines (WCAG), a list of checkpoints that can be used to measure the accessibility of your website. Each WCAG checkpoint has a priority rating of one, two, or three, where priority one checkpoints are the most important and priority three the least. The WCAG checkpoints most applicable to CSS design are: * Provide text alternatives for non-text elements (priority one) Most images used in style sheets, such as backgrounds or list bullets, are purely decorative, and thus don't require additional alternatives. * Don't use color as the only way to convey information (priority one) Make sure that the content can be understood if CSS colors aren't displayed. * Design pages that function even if style sheets are turned off (priority one) Test your page in Lynx, or with styles turned off in your browser, to ensure the pages still function properly. * Style sheets should be used instead of presentational markup (priority two) After reading this book, this should be an easy one for you to meet! See also [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/app01.html#app01 Appendix A], "Replacing Presentational HTML with CSS." * Use relative values for styles instead of absolute values (priority two) For example, use <tt>x-large</tt>, <tt>smaller</tt>, or <tt>3em</tt> instead of pixels or points for fonts; this is more responsive to users' own preferences. * Use foreground and background colors that contrast well with each other (priority three) Colors that don't stand out well cause problems for users with poor vision or color blindness. This list is far from complete, but these are the checkpoints that are most relevant for CSS developers. If a web page or site conforms to all the priority one checkpoints (not just those listed here), it is said to be Single-A accessible. Meeting the priority one and two checkpoints equates to Double-A accessibility, and Triple-A accessibility means that all checkpoints of any priority level are met. Many governments, schools, and other public institutions around the world have adopted Double-A accessibility as a standard for their sites; Single-A accessibility is considered the minimum for a public website. <div>Did you Know? You can use several websites to measure the accessibility of your website. These automatic checkers don't discover every problem, but they can help you get started on solving accessibility hurdles you may have accidentally introduced. Examples of accessibility evaluators include Access Valet at [http://valet.webthing.com/access/ http://valet.webthing.com/access/], Cynthia Says at [http://www.cynthiasays.com/ http://www.cynthiasays.com/], TAW Online at [http://www.tawdis.net/ http://www.tawdis.net/], and WAVE at [http://wave.webaim.org/ http://wave.webaim.org/]. You can find a full list of accessibility evaluators and other useful online tools on the World Wide Web Consortium's site ([http://www.w3.org/WAI/ER/tools http://www.w3.org/WAI/ER/tools]).</div> U.S. Government's Section 508 As part of employment and civil rights regulations, the U.S. Federal government requires all agencies to make their public and internal sites accessible to people with disabilities. Known as Section 508 (from the applicable section of the Rehabilitation Act), these regulations affect how agencies can purchase and use information technologyaccessibility is a requirement for hardware, software, and websites employed by the government. <div>By the Way If you're not an American or don't work for the U.S. Federal government, you might think these rules don't apply to youand you're right. Section 508 is not an attempt to regulate the private sector, just Federal agencies. However, as the U.S. Federal government is the largest employer of information technology in the world, these rules have far-reaching influence and may be considered as a model for future accessibility standards. Therefore, it's important to be familiar with these requirements and how they apply to web development that uses CSS.</div> The requirements for web page accessibility are based on the W3C's Web Content Accessibility Guidelines; specifically, most of the priority one checkpoints with a few additions. Those include the following: * Make online forms compatible with assistive technology. * Inform users whether a timed response is required, and if so, allow for extra time to be requested. * Allow users to skip over lists of repetitive links, such as a navigation bar. A common way to do this is to create a link that jumps ahead in the page to the main content. Many of these requirementsand the WCAG checkpointsdon't deal directly with Cascading Style Sheets and should be handled by the way you create your HTML (and are thus beyond the scope of this book). However, even in those cases, CSS can still be used to enhance the style and accessibility of your page. {| cellspacing="0" cellpadding="5" border="1" |- | Try it Yourself: Disable Your Web Access What's it like to be a computer user with disabilities? Most of us who are visually dependentwe are forced to use our eyes to access the Webdon't have a good idea of what it's like to have limitations on our Internet access. Here's a simple exercise you can try that doesn't exactly mimic any specific disabilities, but is useful in raising your awareness: {| border="0" |- | <div>'''1. '''</div> | <div>Sit down at your computer and open up your web browser.<br /><br /></div> |- | <div>'''2. '''</div> | <div>Go into the preferences or configuration section of your browser and start turning things off. Anything you can turn off that relates to displaying content, do it.<br /><br /></div> |- | <div>'''3. '''</div> | <div>Turn off images. Turn off JavaScript and Java. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22fig01 Figure 22.1] shows how you do this in Firefox; it's similar in most other browsers as well.<br /><br /><center> Figure 22.1. Disabling content preferences in Firefox on Mac OS X. <div>[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/images/22fig01_alt.jpg [View full size image]]</div>[[Image:22fig01.jpg|500px]] </center><br /></div> |- | > | > |- | <div>'''4. '''</div> | <div>While you're at it, if you can disable style sheets, or force your own fonts and colors, do that too. (In Firefox, set the Advanced and Colors options under Fonts and Colors.)<br /><br /></div> |- | <div>'''5. '''</div> | <div>Mute your computer's speakers.<br /><br /></div> |- | <div>'''6. '''</div> | <div>Unplug your mouse and throw it out the window. No, don't really do that; just set it aside for now, and eschew the use of it for this exercise.<br /><br /></div> |- | <div>'''7. '''</div> | <div>Now visit your favorite websites and see how well you can use them. Try sites you've designed as well. Are you able to accomplish the basic functions of each site easily? Is it designed to be easily usable by someone with limitations, or does it shut out users with special needs?<br /><br /></div> |- | <div>'''8. '''</div> | <div>You may want to read up on your operating system's accessibility features such as keyboard access. Most of us don't realize how to turn them on and off until we actually need them. Remember, we're all getting olderit's quite likely that you will need accessibility features yourself as you age! Will the Web be usable by you then?<br /><br /></div> |} |} ./ ADD NAME=CH22LEV1SEC2.HTML Aural Cascading Style Sheets Aural properties for Cascading Style Sheets were first proposed as an extension to CSS level 1 and were incorporated into the CSS level 2 specification. In the CSS 2.1 update, they've been assigned to an optional appendix; they're not widely applicable to, nor supported by, existing browsers. These properties enable you to control the sound properties of spoken text, just as the visual properties control the visual properties of text and other elements. Browsers That Understand Aural CSS Unfortunately, this list is quite short. There are no mainstream browsers that support aural CSS properties. The EmacSpeak browser, developed for Linux and Unix by one of the primary authors of the aural properties of the CSS level 2 specification, is the only browser that supports aural CSS. <div>Did you Know? If you're running a Unix-based system, you can download EmacSpeak from T.V. Raman's website at [http://emacspeak.sourceforge.net/ http://emacspeak.sourceforge.net/].</div> Currently, screen readers and speaking browsers, such as JAWS for Windows and Home Page Reader, do not support aural CSS either; they use their own rules, which are not fully CSS compliant, to determine how to speak each page. Future versions may support aural CSS, though. Because of this lack of support, there's little reason today to spend much time with aural style sheets; this is unfortunate because many of the properties are quite useful both for disability access and potentially for general use. Because these properties don't cause any problems in existing browsersthey're all completely ignoredit doesn't hurt anything to include them; there is a very low cost of failure when an aural CSS property is not supported. Future versions of browsers, screen readers, and other access methods may support aural CSS; one particularly interesting proposal is for multi-modal access methods that would provide both visual and aural renditions simultaneously. Aural CSS Properties Rules using aural CSS properties are written just like rules for any other property, with a selector and a declaration of property names and values. You could use the <tt>@media</tt> selector described later in this hour to limit these rules only to media type <tt>aural</tt>, although by their very nature these properties apply only to text that is spoken by the computer. <div>Watch Out! You might think that simply setting rules with the <tt>aural</tt> media type would allow you to create separate style sheets for blind users with screen readers. For example, this seems a natural way to hide "skip navigation" links: <div><pre>@media aural { .nav { display: none; } } </pre></div> The problem here is that screen readers aren't fully <tt>aural</tt> browsers; what most of them do is literally read the screen out loud. Thus many times something that is hidden in the visual presentation is also hidden in the screen reader's audio output. This rule simply won't work as desired, even if it's encapsulated in a style sheet linked with <tt><link media="aural"></tt>, on most modern assistive technology. This is disappointing and limits the effectiveness of CSS for overcoming accessibility barriers; for some work-arounds, see [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch24.html# Hour 24], "Troubleshooting and Browser Hacks."</div> Because aural CSS is so poorly supported, I won't give an extensive tutorial on each property; if you want specifics, you can consult the aural properties section of the CSS specification. In this hour I'll just tell you enough to know the general capabilities of aural CSS. Volume and Voices The characteristics of the voice speaking the content of the page are determined by several properties relating to volume, pitch, and other qualities. These properties are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table01 Table 22.1] along with the range of values allowed. {| cellspacing="0" cellpadding="5"|+ Table 22.1. Volume and Voice Aural Properties |- | valign="bottom" | Property Name | valign="bottom" | Values |- | <tt>pitch</tt> | <tt>frequency</tt>, <tt>x-low</tt>, <tt>low</tt>, <tt>medium</tt>, <tt>high</tt>, <tt>x-high</tt>, <tt>inherit</tt> |- | <tt>pitch-range</tt> | <tt>variation-number</tt>, <tt>inherit</tt> |- | <tt>richness</tt> | <tt>richness-number</tt>, <tt>inherit</tt> |- | <tt>speech-rate</tt> | <tt>words-per-minute</tt>, <tt>x-slow</tt>, <tt>slow</tt>, <tt>medium</tt>, <tt>fast</tt>, <tt>x-fast</tt>, <tt>faster</tt>, <tt>slow</tt>, <tt>inherit</tt> |- | <tt>stress</tt> | <tt>stress-number</tt>, <tt>inherit</tt> |- | <tt>voice-family</tt> | <tt>specific-family</tt>, <tt>generic-family</tt>, <tt>inherit</tt> |- | <tt>volume</tt> | <tt>volume-number</tt>, <tt>percentage</tt>, <tt>silent</tt>, <tt>x-soft</tt>, <tt>soft</tt>, <tt>medium</tt>, <tt>loud</tt>, <tt>x-loud</tt>, <tt>inherit</tt> |} The <tt>voice-family</tt> property is similar to <tt>font-family</tt>; you can define a specific voice, which may or may not be supported by the aural CSS browser, or you can use one of three generic voice families: <tt>male</tt>, <tt>female</tt>, or <tt>child</tt>. There's no standard list of voice types beyond this, and so the use of specific voices (such as <tt>robot</tt>, <tt>Spock</tt>, or <tt>"Britney Spears"</tt>) depends on the browser. Pausing and Cues Aural CSS properties enable you either to insert pauses to break up the aural reading, either before or after an element, or to insert specific sound files, called audio cues. These properties are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table02 Table 22.2]. {| cellspacing="0" cellpadding="5"|+ Table 22.2. Pausing and Cues Aural Properties |- | valign="bottom" | Property Name | valign="bottom" | Values |- | <tt>cue</tt> | Shorthand property, setting <tt>cue-after</tt> and <tt>cue-before</tt> |- | <tt>cue-after</tt> | <tt>sound-url</tt>, <tt>none</tt>, <tt>inherit</tt> |- | <tt>cue-before</tt> | <tt>sound-url</tt>, <tt>none</tt>, <tt>inherit</tt> |- | <tt>pause</tt> | Shorthand property, setting <tt>pause-after</tt> and <tt>pause-before</tt> |- | <tt>pause-after</tt> | <tt>time-measurement</tt>, <tt>percentage</tt>, <tt>inherit</tt> |- | <tt>pause-before</tt> | <tt>time-measurement</tt>, <tt>percentage</tt>, <tt>inherit</tt> |} Cues are normal sound files, usually <tt>.wav</tt> or <tt>.au</tt> files, and are indicated by <tt>url()</tt> notation. Pauses are measured in seconds (<tt>s</tt>) or milliseconds (<tt>ms</tt>), such as <tt>2s</tt> or <tt>30ms</tt>. Three-Dimensional Sounds Most humans without hearing impairments hear sound in three dimensions. Aural Cascading Style Sheets enable you to designate a specific location, within three dimensions, from which a sound could originate. Consider a transcript of an interview, marked up with voice properties similar to those of the appropriate speakers, where the interviewer's voice is heard on the left side, and the subject of the interview is heard on the right. A question from the audience could come from behind and below while an overhead announcement originates from directly above the listener. The properties that place each sound in a specific location are shown on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table03 Table 22.3]. {| cellspacing="0" cellpadding="5"|+ Table 22.3. Three-Dimensional Sound Aural Properties |- | Property Name | Values |- | <tt>azimuth</tt> | <tt>angle</tt>, <tt>left-side</tt>, <tt>far-left</tt>, <tt>left</tt>, <tt>center-left</tt>, <tt>center</tt>, <tt>center-right</tt>, <tt>right</tt>, <tt>far-right</tt>, <tt>right-side</tt>, <tt>behind</tt>, <tt>leftwards</tt>, <tt>rightwards</tt>, <tt>inherit</tt> |- | <tt>elevation</tt> | <tt>angle</tt>, <tt>below</tt>, <tt>level</tt>, <tt>above</tt>, <tt>higher</tt>, <tt>lower</tt>, <tt>inherit</tt> |} Angles are measured in degrees (<tt>deg</tt>), grads (<tt>grad</tt>), or radians (<tt>rad</tt>), such as <tt>90deg</tt>, <tt>100grad</tt>, or <tt>1.571rad</tt>, which are all (approximately) a right angle. A <tt>0deg</tt> azimuth is directly in front of the listener, and <tt>0deg</tt> elevation is level with the listener. Choosing What to Speak Just as the display and visibility properties let you hide what is shown visually, aural CSS also lets you control what is vocalized and how that's done. You can even add the equivalent of a background image by specifying a background sound to be played while an element is spoken. These properties are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table04 Table 22.4]. {| cellspacing="0" cellpadding="5"|+ Table 22.4. Speaking Method Aural Properties |- | Property Name | Value |- | <tt>play-during</tt> | <tt>background-sound</tt>, <tt>mix</tt>, <tt>repeat</tt>, <tt>auto</tt>, <tt>none</tt>, <tt>inherit</tt> |- | <tt>speak</tt> | <tt>normal</tt>, <tt>none</tt>, <tt>spell-out</tt>, <tt>inherit</tt> |- | <tt>speak-header</tt> | <tt>always</tt>, <tt>once</tt>, <tt>inherit</tt> (table cells only) |- | <tt>speak-numeral</tt> | <tt>continuous</tt>, <tt>digits</tt>, <tt>inherit</tt> |- | <tt>speak-punctuation</tt> | <tt>code</tt>, <tt>none</tt>, <tt>inherit</tt> |} The <tt>play-during</tt> property enables you to specify whether a background file is mixed in with any other background sounds already playing (from a containing element) or whether it replaces the other sound. ./ ADD NAME=CH22LEV1SEC3.HTML === Media-Specific Style Sheets === Using CSS, you can create style sheets that are media specific, meaning that they should be applied to only one particular type of output device. An output device is any physical hardware device that can present web contentvisually or otherwiseas well as the software necessary to allow for that presentation, such as a printer driver or a screen reader. In [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4], "Using CSS with HTML," you learned the basics of the <tt><link></tt> element and its attribute <tt>media</tt>, which enable you to tie style sheets to categories of output media. In this hour, you'll expand your knowledge of media types and learn how to write rules within one style sheet that apply to different media. Categories of Media Types The full list of media types defined in CSS is listed on [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table05 Table 22.5]. A given browser is required to support only those media types appropriate for that browser. For example, a set-top box doesn't need to support screen, aural, or print media types. The typical visual browser uses two media types: <tt>screen</tt> and <tt>print</tt>. Opera also supports the <tt>projection</tt> media type in full-screen kiosk mode. {| cellspacing="0" cellpadding="5"|+ Table 22.5. Media Types in CSS |- | Media Type | Description |- | <tt>aural</tt> | Pages read out loud by synthesized voice; for example, screen readers for the blind. |- | <tt>braille</tt> | Content represented by raised dot characters on Braille terminals for blind users. |- | <tt>emboss</tt> | Pages printed out as raised dots in Braille, on thick paper. |- | <tt>handheld</tt> | Content displayed on a limited-size handheld screen. |- | <tt>print</tt> | Pages printed out on paper. |- | <tt>projection</tt> | Content displayed as slides or transparencies projected on a large screen. |- | <tt>screen</tt> | Pages displayed on a color monitor. |- | <tt>tty</tt> | Content printed on teletype devices or other media with limited display capabilities, which print only characters of a fixed size and type. |- | <tt>tv</tt> | Pages displayed on a television screen, possibly taking advantage of sound capabilities but with limited interaction. |} Media type values are used in <tt><link></tt> tags and <tt>@import</tt> rules for the purpose of specifying which style sheets to use, and they are also used to classify certain rules within a style sheet as applicable. <div>Did you Know? The media types described here are obviously not enough to fully capture the diversity of access methods available to web users of the 21st century. For example, the <tt>handheld</tt> media type assumes that a handheld device will be monochrome, but we've already seen a number of color handheld devices become available. Also, there is a large difference between a PDA, a pocket computer, and a cell phone, although these are all grouped under the term "<tt>handheld</tt>." The W3C realizes these deficiencies and is developing a better classification system for the CSS level 3 recommendation; you can read the current drafts at [http://www.w3.org/Style/CSS/current-work http://www.w3.org/Style/CSS/current-work]. Also, the W3C's Composite Capabilities/Preferences Profile (CC/PP) work is moving toward a standardized way of describing end-user device characteristics; see [http://www.w3.org/Mobile/CCPP/ http://www.w3.org/Mobile/CCPP/] for more.</div> Linking and Importing Media-Specific Style Sheets You've already seen in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch04.html#ch04 Hour 4] how to use a media type with the <tt><link></tt> tag in HTML: <div><pre><link type="text/css" rel="stylesheet" media="print, emboss" href="paged-output.css"> </pre></div> Such a link would load only the style sheet if the browser were currently printing to a standard or Braille printer. An <tt>@import</tt> rule at the beginning of a style sheet can also be set to specify style sheets applicable to certain media types: <div><pre>@import url("site.css"); @import url("screen.css") screen, tv; @import url("dots.css") braille; </pre></div> These rules always load the <tt>site.css</tt> file, and load <tt>screen.css</tt> for display on a computer or television screen and <tt>dots.css</tt> for a Braille display terminal. <div>Watch Out! Internet Explorer on Windows does not support <tt>@import</tt> rules with media types. For compatibility with Internet Explorer, you should use some other method of linking media-specific style sheets, such as the <tt><link></tt> tag or the <tt>@media</tt> rule described next.</div> Using the <tt>@media</tt> Rule Within the same style sheet, you can mix rules for different media types by using an <tt>@media</tt> rule. This is a special type of rule that surrounds your other CSS rules and applies them only to certain media types. The basic form of this rule is <div><pre>@media media-type { selector { declaration; } selector { declaration; } ... } </pre></div> That last curly brace is important because it marks the end of the <tt>@media</tt> rule. Any rules within the <tt>@media</tt> rule's braces are applied only to the media type listed. [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22ex01 Listing 22.1] has several examples of the <tt>@media</tt> rule limiting certain rules to only certain types of output devices. Listing 22.1. A Style Sheet with <tt>@media</tt> Rules {| cellspacing="0" cellpadding="5" border="1" |- | <div><pre>/* media-rules-22.1.css */<br /><br />@media print {<br />body { font: 10pt "Times New Roman", serif;<br />color: black; background-color: white; }<br />.footer { border-top: 1px solid black;<br />font-size: 8pt; }<br />}<br /><br />@media screen {<br />body { font-family: Verdana, sans-serif;<br />color: white; background-color: #330000; }<br />.footer { padding: 2em; font-size: smaller;<br />border: 1em solid green; color: #330000;<br />background-color: white; }<br />}<br /></pre></div><br /> |} ./ ADD NAME=CH22LEV1SEC4.HTML CSS Properties for the <tt>print</tt> Medium By far the most common medium you'll be concerned withbesides <tt>screen</tt>is <tt>print</tt>. Nearly all computers have printers attached, and it's common for users to print a page as a way of making a permanent copy of the content. CSS rules can be used to format the appearance of the printed page. You can control the layout, fonts, line spacing, display characteristics, and more, separately from the way a page is displayed on the screen. A specific style sheet for printing is a nice addition to any CSS-based website. Browsers and Printing Printing a web page is often a risky proposition. The combination of text, tables, style rules, frames, and low-resolution GIF images often results in a poor-looking printed document. Most of the time, browsers don't print nearly as well as they display onscreen. You can overcome some of these problems with a print style sheet. To link in a style sheet for printing, simply use the HTML <tt><link></tt> tag as described previously. You can also use an <tt>@import</tt> rule or an <tt>@media</tt> rule in the main style sheet with the appropriate media type. Multiple <tt><link></tt> tags let you provide one style sheet for rules common to all media typesone for screen display and one for printing, like the following: <div><pre><link type="text/css" rel="stylesheet" media="all" href="all.css"> <link type="text/css" rel="stylesheet" href="screen.css"> <!-- default value for media attribute is screen --> <link type="text/css" rel="stylesheet" media="print" href="print.css"> </pre></div> Measurements for Printing When you're creating a style sheet for printing, you can use additional units of measurement that would be inappropriate or meaningless on a computer monitor. These units correspond to real-world units of measurement used in printing and are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22table06 Table 22.6]. {| cellspacing="0" cellpadding="5"|+ Table 22.6. Units of Measurement Appropriate for Printing |- | Unit | Measurement |- | <tt>cm</tt> | Centimeters |- | <tt>in</tt> | Inches (<tt>1in = 2.54cm</tt>) |- | <tt>mm</tt> | Millimeters (<tt>1mm = 0.1cm</tt>) |- | <tt>pc</tt> | Picas (<tt>1pc = 12pt</tt>) |- | <tt>pt</tt> | Points (<tt>72pt = 1in</tt>) |} These units can be used with any CSS property that requires a measurement value. For example, the following rule sets a padding value in centimeters: <div><pre>@media print { h1 { padding: 1cm 2cm 1cm 1cm; } } </pre></div> Designing CSS for Print When creating style rules or style sheets for the print medium, it's important to remember how the medium differs from the computer screen. The point of using a different style sheet for print is to make the resulting hardcopy easier to read and use. Many printers out there will be black-and-white, although color printers are used often. However, many users avoid printing in full color simply to save ink. Therefore, you want to make sure you're not relying on color entirely. A printed page is clearly not interactive. When someone is printing a page, they're usually doing it for the content. Therefore, things such as navigation bars and hypertext links are pretty useless. You can't click on a piece of paper. The <tt>display</tt>, <tt>visibility</tt>, and <tt>text-decoration</tt> properties can help with this. You may want to enclose your navigation bar in a <tt><div class="nav"></tt> and set rules like the following: <div><pre>.nav { display: none; } a:link, a:visited { text-decoration: none; } </pre></div> Areas with dark backgrounds and light colors consume a lot of black ink. Changing these to black text on a white background, is a friendly thing to do when creating a style sheet for print. You'll save a lot of ink for your users who choose to print your pages out. As described earlier in the hour, you can use exact units such as centimeters or inches when printing, as well as points for font sizes. Be careful not to assume that your users' papers will be the same size as yours, though. For example, a user may just decide to print out your web page in landscape mode (wider than it is long) instead of portrait. ./ ADD NAME=CH22LEV1SEC5.HTML Summary Users with disabilities are as entitled to use the Web as anyone else, but often they are unable to access sites because of careless web design. Using Cascading Style Sheets is an excellent first step toward developing a site that can be used by everyone, as style sheets separate presentation from content. Assistive technology devices and software can often enable access by disabled users, but only if sites are designed in accordance with web accessibility standards. The W3C has produced Web Content Accessibility Guidelines that are an invaluable resource for web developers and that form the basis of the U.S. Government's Section 508 regulations for Federal agency sites. Aural CSS properties let you determine qualities of the voice used to read content out loud, such as the pitch, speed, and "family" of the voice. Unfortunately, almost no browsers support aural CSS currently, thus limiting its usefulness. Alternate style sheets for different access devices are classified by the media types to which they apply. You can set the media type of a CSS rule in several ways: by linking to a style sheet containing the rule with the <tt><link></tt> element in HTML; by using <tt>@import</tt> to import a style sheet with that rule; or by wrapping the CSS rule in an <tt>@media</tt> rule. Visual browsers support the <tt>screen</tt> media type, and nearly all of them also support the <tt>print</tt> media type. Designing for the print medium requires a different approach than doing so for the screen. Scrolling, links, interactivity, and paging are all changed, so you need to think carefully about how to devise your print styles. ./ ADD NAME=CH22LEV1SEC6.HTML Workshop The workshop contains a Q&A section, quiz questions, and an exercise to help reinforce what you've learned in this hour. If you get stuck, the answers to the quiz can be found after the questions. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q1a1 Q.]''' | Is Section 508 the same as the Americans with Disabilities Act (ADA)? What are the ADA requirements for web accessibility? |- | > | > |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q1 A.]''' | Section 508 and the ADA are different sets of regulations. Section 508 applies only to Federal agencies, whereas the ADA is applicable to a number of private and public sector entities. There are no formal ADA regulations for web accessibility as there are for Section 508; however, the ADA requires organizations to avoid discrimination on basis of disability when providing services. For detailed commentary on legal requirements for accessibility, see Cynthia Waddell's essays on the website of the International Center for Disability Resources on the Internet ([http://www.icdri.org/ http://www.icdri.org/]). |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q2a2 Q.]''' | Can tables be made accessible? Frames? JavaScript? Java? Flash? PDF? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q2 A.]''' | Yes. You can make tables and frames accessible by using HTML markup carefully and by providing additional attributes or elements, such as <tt><noframes></tt>. If a certain technology or file format can't be made accessible directly, the content within it can be presented in an alternate, accessible format, such as a transcript or HTML version. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q3a3 Q.]''' | I need more control over the print layout than what CSS gives me (and the browsers don't support). What other options are there? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa1q3 A.]''' | As an alternative to CSS's print-related properties, you may want to investigate Extensible Stylesheet Language Formatting Objects (XSL-FO). Formatting objects use XML elements with attribute values related to CSS and are usually created by applying an Extensible Stylesheet Language Transformations (XSLT) sheet. Obviously, this is advanced stuff, but if you need advanced layout capabilities for print, this may be what you are looking for. See the W3C's XSL page at [http://www.w3.org/Style/XSL/ http://www.w3.org/Style/XSL/] for more. |} Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q1a1 1.]''' | Do the Web Content Accessibility Guidelines suggest that color should be avoided in web design? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q2a2 2.]''' | Which of the following is not an aural CSS property? <div># <div><tt>voice-family</tt></div> # <div><tt>stress</tt></div> # <div><tt>accent</tt></div> # <div><tt>speak-numeral</tt></div></div> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q3a3 3.]''' | Your navigation bar has a <tt>class</tt> of <tt>navbar</tt>, and you've decided you don't want it to appear when the page is printed. How do you write such a rule using <tt>@media</tt>? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q4a4 4.]''' | Which of the following is not a unit of measurement in CSS? <div># <div><tt>in</tt></div> # <div><tt>mm</tt></div> # <div><tt>ft</tt></div> # <div><tt>pc</tt></div></div> |} Answers {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q1 1.]''' | No. This is a common misunderstanding; the restriction is on using color as the only way to convey information. If you also provide that information in the HTML tags or the text content, your colors are not a problem at all. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q2 2.]''' | <tt>c.</tt> There is no <tt>accent</tt> property in CSS. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q3 3.]''' | Here is one way to write a rule to hide the <tt>navbar</tt> class: <div><pre>@media print { .navbar { display: none; } }<br /></pre></div><br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/Sams%20Teach%20Yourself%20CSS%20in%2024%20Hours_2ndEd/0672329069/ch.htm#ch22qa2q4 4.]''' | <tt>c.</tt> Feet are not a valid unit of measurement in CSS; inches, millimeters, and picas are. |} Exercise Because most browsers don't have good support for printing CSS styles, it can be rather hit-and-miss designing a print style sheet. However, this is still probably one of the best exercises: It forces you to think through some of the assumptions you make when designing a page. For example, you've probably laid out your page in percentages or pixels, for online display. Do those measurements work well in print, or would it be better to use centimeters or inches? What do you want to do about links on the page? Present them as underlined text, even though they can't be clicked on? Remove the underlines? Or remove the navigation bar entirely? Choose a style sheet you've worked on in the past and redesign it for printed output. Next, how would you redesign the same style sheet for the aural media type? ./ ADD NAME=CH23.HT 8068x4e8ex9p33davooqji8u3aefof3 User:Bartlett/monobook1.css 2 2129 5555 2007-06-17T18:19:02Z Bartlett 26 Bog cusub: /* basic-2.1.css */ body { font-family: Arial; color: black; background-color: white; } /* I think Verdana looks nice for headlines */ h1, h2, h3, h4, h5, h6 { font-family: Verdana, sa... 5555 css text/css /* basic-2.1.css */ body { font-family: Arial; color: black; background-color: white; } /* I think Verdana looks nice for headlines */ h1, h2, h3, h4, h5, h6 { font-family: Verdana, sans-serif; } /* This makes the largest heading have a background */ h1 { background-color: silver; } /* This puts the even numbered headings in gray */ h2, h4, h6 { color: gray; } table { background-color: white; } th { background-color: black; color: white; font-size: smaller; } td { background-color: gray; font-size: smaller; } address { font-family: "Courier New", monospace; font-size: larger; } b50bvqcpllcztcxcma07tfe5eacpbtw User:Foxall 2 2130 5987 5908 2007-06-21T15:27:29Z Foxall 27 5987 wikitext text/x-wiki [[/monobook.css]] [[/monobook.js]] [[/1]] [[/2]] [[/3]] [[/4]] [[/5]] [[/answers]] fm7j059cpug3efotp419yzwsfvf6yd0 User:Foxall/monobook.js 2 2131 5995 5592 2007-06-21T15:45:20Z Foxall 27 5995 javascript text/javascript /* <pre> */ document.write('<script type="text/javascript" src="' + 'http://hu.wiktionary.org/w/index.php?title=MediaWiki:Monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://so.wiktionary.org/w/index.php?title=User:Foxall/script.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&oldid=132696960' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); var wikEdTextZoom = wikEdTextZoom || 180; var wikEdCloseToolbarPreset = wikEdCloseToolbarPreset || true; var wikEdButton = []; wikEdButton[76] = ['wikEd1', 'wikEdButton', 'pre', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('<pre>','\<\/pre\>','');"]; wikEdButton[77] = ['wikEdSign', 'wikEdButton', 'typewriter', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('<tt>','</tt>','');"]; wikEdButton[78] = ['wikEdSign', 'wikEdButton', 'deflist', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags(';',': ','');"]; wikEdButton[75] = ['wikEdSign', 'wikEdButton', 'emdash', 'http://upload.wikimedia.org/wikipedia/commons/e/e5/WikEd_fix_dash.png', '16', '16', '', "javascript:insertTags('—','','');"]; q5ewmvao72p0b2pp7ndvdda2vlmb9yc User:Foxall/01 2 2132 5907 5593 2007-06-20T02:41:18Z Moncur 24 5907 wikitext text/x-wiki =Hour 1. A C# Programming Tour = Learning a new programming language can be intimidating. If you've never programmed before, the act of typing seemingly cryptic text to produce sleek and powerful applications probably seems like a black art, and you may wonder how you'll ever learn everything you need to know. The answer is, of course, one step at a time. The first step to learning a language is the same as that of any other activity�building confidence. Programming is part art and part science. Although it may seem like magic, it's more akin to illusion; after you know how things work, a lot of the mysticism goes away, freeing you to focus on the mechanics necessary to produce the desired result. In this hour, you'll complete a quick tour that takes you step-by-step through creating a complete, albeit small, C# program. I've yet to see a "Hello World" program that's the least bit helpful (they usually do nothing more than print "hello world" to the screen�oh, fun). So instead, you'll create a picture-viewer application that lets you view Windows bitmaps and icons on your computer. You'll learn how to let a user browse for a file and how to display a selected picture file on the screen, both of which are skills that will come in handy in later applications that you create. Creating large, commercial solutions is accomplished by way of a series of small steps. After you've finished creating this small project, you'll have an overall feel for the development process. The highlights of this hour include the following: * Building a simple, yet functional, C# application * Letting a user browse a hard drive * Displaying a picture from a file on disk * Getting familiar with some programming lingo * Learning about the Visual Studio�C# IDE I hope that by the end of this hour, you'll realize just how much fun it is to program using C#. === Starting C# === You must become familiar with a few terms before you begin to create programs in C#: * Distributable Component The final, compiled version of a project. Components can be distributed to other people and other computers and do not require C# to run (although the .NET Framework is required, which you'll learn about in coming hours). Distributable components are also called programs. In [ch22.htm#ch22 Hour 22], "Deploying a Solution," you'll learn how to distribute the Picture Viewer program that you're about to build to other computers. * Project A collection of files that can be compiled to create a distributable component (program). There are many types of projects, and complex applications may consist of many projects, such as a Windows Application project and support DLL projects. * Solution A collection of projects and files that compose an application or component. |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | C# is a complete development environment; every tool you'll need to create your C# projects is accessed from within Visual Studio. The Visual Studio-C# environment is called the IDE, short for Integrated Development Environment, and it is the design framework in which you build applications. To work with C# projects, you must first start the Visual Studio IDE. |} Start the C# IDE now by choosing Microsoft Visual Studio .NET from within the Microsoft Visual Studio .NET folder on your Start menu. | align="right" | [ch01.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec2.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC02.HTM | align="right" | [ch01lev1sec1.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec3.htm [[Image:next.gif|41px|Next Section]]] |} Creating a New Project When you first start Visual Studio .NET, you're shown the Visual Studio Start Page tab within the IDE. Using this page, you can open projects created previously or create new ones (see [01.htm#ch01fig01 Figure 1.1]). For this quick tour, you're going to create a new Windows application, so click New Project to display the New Project dialog box shown in [01.htm#ch01fig02 Figure 1.2]. <center>Figure 1.1. You can open existing projects or create new projects from the Visual Studio Start page. [[Image:01fig01.jpg|500px|graphics/01fig01.jpg]] </center> <center>Figure 1.2. The New Project dialog box allows you to create many types of .NET projects. [[Image:01fig02.jpg|500px|graphics/01fig02.jpg]] </center> |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you don't see the Visual Studio Start page, chances are that you've changed the default settings. [ch02.htm#ch02 Hour 2], "Navigating C#," shows you how to change them back. For now, be aware that you can create a new project from the File menu in addition to using the techniques described in this hour. |} You can create many types of projects with C#, as well as with the other supported languages of the .NET platform. The New Project dialog box is used to specify the type of C# project you want to create. If the Visual C# Projects folder isn't selected, click it to display the C# project types and then make sure the Windows Application icon is selected (if it's not, click it once to select it). At the bottom of the New Project dialog box is a Name text box, in which you specify the name of the project you're creating; in the Location text box, you can enter the location in which to save the project files. |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | You should always set these values to something meaningful before creating a project, or you'll have more work to do later if you want to move or rename the project. |} Type Picture Viewer into the Name text box to name your project. There's no need to change the location where the project files are to be saved at this time, so go ahead and create the new Windows Application project by clicking OK. C# creates the new project, complete with one form (design window) for you to begin building the interface for your application (see [01.htm#ch01fig03 Figure 1.3]). <center>Figure 1.3. New Windows applications start with a blank form; the fun is just beginning! [[Image:01fig03.jpg|500px|graphics/01fig03.jpg]] </center> Your C# environment may look different from that shown in the figures of this hour, depending on the edition of C# you're using, whether you've already played with C#, and other factors such as the resolution of your monitor. All the elements discussed in this hour, however, exist in all editions of C#. (If your IDE doesn't have a window displayed that is shown in a figure, use the View menu to display the window.) |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To create a program that can be run on another computer, you start by creating a project, and then you compile the project into a component, such as an executable (a program a user can run) or a DLL (a component that can be used by other programs and components). The compilation process is discussed in detail in [ch22.htm#ch22 Hour 22], "Deploying a Solution." The important thing to note at this time is that when you hear someone refer to creating or writing a program, just as you are creating the Picture Viewer program now, they're referring to the completion of all steps up to and including compiling the project to a distributable file. |} | align="right" | [ch01lev1sec1.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec3.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC03.HTM | align="right" | [ch01lev1sec2.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec4.htm [[Image:next.gif|41px|Next Section]]] |} Understanding the C# Environment The first time you run C#, you'll notice that the IDE contains a lot of windows, such as the Properties window on the right, which is used to view and set properties of objects. In addition to these windows, the IDE contains a lot of tabs, such as the Toolbox tab on the left edge of the IDE (refer to [ch01lev1sec2.htm#ch01fig03 Figure 1.3]). Clicking a tab displays an associated window. Try this now: click the Toolbox tab to display the Toolbox window. You can also hover the mouse over a tab for a few seconds to display the window. To hide the window, simply move the mouse off the window. To close the window completely, click the Close (X) button in the window's title bar. You can adjust the size and position of any of these windows, and you can even hide and show them at will. You'll learn how to customize your design environment in [ch02.htm#ch02 Hour 2], "Navigating C#." |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Unless specifically instructed to do so, do not double-click anything in the C# design environment. Double-clicking most objects produces an entirely different outcome than single-clicking does. If you mistakenly double-click an object on a form, a code window is displayed. At the top of the code window is a set of tabs: one for the form design and one for the code. Click the tab for the form design to hide the code window and return to the form. |} The Properties window at the right side of the design environment is perhaps the most important window, and it's the one you'll use most often. If your computer's display is set for 640x480, you can probably see only a few properties at this time. This makes it difficult to view and set properties as you create projects. I highly recommend that you don't attempt development with Visual Studio at a resolution below 800x600. Personally, I prefer 1024x768 because it offers plenty of work space. To change your display settings, right-click your desktop and select Properties. | align="right" | [ch01lev1sec2.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec4.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC04.HTM | align="right" | [ch01lev1sec3.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec5.htm [[Image:next.gif|41px|Next Section]]] |} Changing the Characteristics of Objects Almost everything you work with in C# is an object. Forms, for instance, are objects, as are all the items you can put on a form to build an interface, such as list boxes and buttons. There are many types of objects ([ch03.htm#ch03 Hour 3], "Understanding Objects and Collections," discusses objects in detail). Objects, in turn, are classified by type. For instance, a form is a Form object, whereas items you can place on a form are called Control objects, or controls. Some objects don't have a physical appearance, but exist only in code. You'll learn about these kinds of objects in later hours. |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Every object, regardless of whether it has a physical appearance, has a distinct set of attributes known as properties. You have certain properties about you, such as your height and hair color, and C# objects have properties as well, such as Height and BackColor. Properties define the characteristics of an object. When you create a new object, the first thing you need to do is set its properties so that the object appears and behaves in the way you desire. To display the properties of an object, click the object in its designer. Click the form now to ensure that its properties are displayed in the Properties window. |} | align="right" | [ch01lev1sec3.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec5.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC05.HTM | align="right" | [ch01lev1sec4.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec6.htm [[Image:next.gif|41px|Next Section]]] |} Naming Objects The property you should set first for any new object is the Name property. Press F4 to display the Properties window (if it's not already visible), and notice the Name given to your default form (the first property listed in the Properties window)�Form1. When you first create an object, C# gives the object a unique, generic name based on the object's type. Although these names are functional, they aren't very descriptive. For instance, C# named your form Form1, but it's common to have dozens of forms in a project, and it would be extremely difficult to manage a complicated project if all forms were distinguishable only by a number (Form2, Form3, and so forth). |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In actuality, what you're creating is a form class, or template, that will be used to create and show forms at runtime. For the purpose of this quick tour, I simply refer to it as a form. See [ch05.htm#ch05 Hour 5], "Building Forms�Part I," for more information. |} To better manage your forms, you should give each one a descriptive name. C# gives you the chance to name new forms as they're created. Because C# created this default form for you, you didn't get a chance to name it, so you must change both the filename and name of the form. Change the name of the form now by clicking the Name property and changing the text from Form1 to fclsViewer. Notice that this did not change the filename of the form as it is displayed in the Solution Explorer window. Change the filename now by right-clicking Form1.cs in the Solution Explorer window, choosing Rename from the context menu, and changing the text from Form1.cs to fclsViewer.cs. In future examples, I won't have you change the filename each time because you'll have enough steps to accomplish as it is. I do recommend, however, that you always change your filenames to something meaningful in your 'real' projects. |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I use the fcls prefix here to denote that the file is a form class. There are different types of classes, so using a prefix helps differentiate the classes in code. You're not required by C# to use object prefixes, but I highly recommend that you do so. In [ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays," you'll learn the benefits of using a naming convention as well as the standard prefixes for many .NET objects. |} | align="right" | [ch01lev1sec4.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec6.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC06.HTM | align="right" | [ch01lev1sec5.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec7.htm [[Image:next.gif|41px|Next Section]]] |} Setting the Text Property of the Form Notice that the text that appears in the form's title bar says Form1. This is because C# sets the form's title bar text to the name of the form when it is first created, but doesn't change it when you change the name of the form. The text in the title bar is determined by the value of the Text property of the form. Click the form once more so that its properties appear in the Properties window. Use the scrollbar in the Properties window to locate the Text property in the Properties window and then change the text to Picture Viewer. | align="right" | [ch01lev1sec5.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec7.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC07.HTM | align="right" | [ch01lev1sec6.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec8.htm [[Image:next.gif|41px|Next Section]]] |} Giving the Form an Icon Everyone who has used Windows is familiar with icons, which are the little pictures used to represent programs. Icons most commonly appear in the Start menu next to the name of their respective programs. In C#, you not only have control over the icon of your program file, you can also give every form in your program a unique icon if you want to. |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The instructions that follow assume you have access to the source files for the examples in this book. They are available at [http://www.samspublishing.com/detail_sams.cfm?item=0672320800 www.samspublishing.com/detail_sams.cfm?item=0672320800]. You don't have to use the icon I've provided for this example; you can use any icon of your choice. If you don't have an icon available, you can skip this section without affecting the outcome of the example. |} To give the form an icon, follow these steps: # In the Properties window, click the Icon property to select it. # When you click the Icon property, a small button with three dots appears to the right of the property. Click this button. # To locate the HourOne.ico file or another ico file of your choice, use the Open dialog box that appears. When you've found the icon, double-click it, or click it once to select it and then click Open. After you've selected the icon, it appears in the Icon property along with the word (Icon). A small version of the icon appears in the upper-left corner of the form, as well. Whenever this form is minimized, this is the icon that's displayed on the Windows taskbar. (Note: This doesn't change the icon for the project as a whole. In [ch22.htm#ch22 Hour 22], you'll learn how to assign an icon to your distributable file.) | align="right" | [ch01lev1sec6.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec8.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC08.HTM | align="right" | [ch01lev1sec7.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec9.htm [[Image:next.gif|41px|Next Section]]] |} Changing the Size of the Form Next, you're going to change the Width and Height properties of the form. The Width and Height values are shown collectively under the Size property; Width appears to the left of the comma, Height to the right. You can change the Width or Height by changing the corresponding number in the Size property. Both values represent the number of pixels of the dimension. To display and adjust the Width and Height properties separately, click the small plus sign (+) next to the Size property (see [01.htm#ch01fig04 Figure 1.4]). <center>Figure 1.4. Some properties can be expanded to show more specific properties. [[Image:01fig04.jpg|500px|graphics/01fig04.jpg]] </center> Change the Width property to 400 and the Height to 325. To commit a property change, press Tab or click a different property or window. Your screen should now look like the one in [01.htm#ch01fig05 Figure 1.5]. <center>Figure 1.5. A change in the Properties window is reflected as soon as the change is committed. [[Image:01fig05.jpg|500px|graphics/01fig05.jpg]] </center> When you first created this project, C# saved a copy of the source files in their initial state. The changes you've made so far exist only in memory; if you were to turn your computer off at this time (don't do this), you would lose any and all work up to this point. You should get into the habit of saving your work frequently. Save the project now by choosing Save All from the File menu or by clicking the Save All button on the toolbar (it has a picture of stacked disks on it). | align="right" | [ch01lev1sec7.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec9.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC09.HTM | align="right" | [ch01lev1sec8.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec10.htm [[Image:next.gif|41px|Next Section]]] |} Adding Controls to a Form |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Now that your form has its properties set, you need to add objects to the form to produce a user interface. Objects that can be placed on a form are called controls. Some controls have a visible interface with which a user can interact, whereas others are always invisible to the user. You'll use controls of both types in this example. On the left side of the screen is a tab titled Toolbox. Click the Toolbox tab now to display the Toolbox window shown in [01.htm#ch01fig06 Figure 1.6]. The toolbox contains all the controls available in the project, such as labels and text boxes. |} <center>Figure 1.6. The toolbox is used to select controls to build a user interface. [[Image:01fig06.jpg|500px|graphics/01fig06.jpg]] </center> |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | You can add a control to a form in three ways, and [ch05.htm#ch05 Hour 5] explains them in detail. In this hour, you'll use the technique of double-clicking a tool in the toolbox. |} The toolbox closes itself soon after you've added a control to a form and the pointer is no longer over the toolbox. To make the toolbox stay visible, click the little picture of a pushpin located in the toolbox's title bar. |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Refer to [ch02.htm#ch02 Hour 2], "Navigating C#," for more information on customizing the design environment. |} Your Picture Viewer interface will consist of the following controls: * Two Button controls * A PictureBox control * An OpenFileDialog control | align="right" | [ch01lev1sec8.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec10.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC10.HTM | align="right" | [ch01lev1sec9.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec11.htm [[Image:next.gif|41px|Next Section]]] |} Designing an Interface It's generally best to design the user interface of a form and then add the code behind the interface that makes the form functional. The user interface for your Picture Viewer program will consist of a View Picture button, a Close button, and a PictureBox in which to display a picture. Adding a Visible Control to a Form Start by adding a Button control to the form. Do this by double-clicking the Button item in the toolbox. C# then creates a new button and places it in the upper-left corner of the form (see [01.htm#ch01fig07 Figure 1.7]). <center>Figure 1.7. When you double-click a control in the toolbox, the control is added to the upper-left corner of the form. [[Image:01fig07.jpg|500px|graphics/01fig07.jpg]] </center> Using the Properties window, set the button's properties as follows (note that you may want to change the Properties list to alphabetical, if it is not already, to make it easier to find these properties by name): {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnSelectPicture</tt> |- | <tt>Text</tt> | <tt>Select Picture</tt> |- | <tt>Location</tt> | <tt>301</tt>,<tt>10</tt> (Note: 301 is the x coordinate, 10 is the y coordinate.) |- | <tt>Size</tt> | <tt>85,23</tt> |} You're now going to create a button that the user can click to close the Picture Viewer program. Rather than adding a new button to the form, you're going to create a copy of the button you've already defined. To do this, right-click the button on the form and choose Copy from its shortcut menu. Next, right-click anywhere on the form and choose Paste from the form's shortcut menu. The new button appears over the button you copied, and it is selected by default. Change the properties of the new button as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnQuit</tt> |- | <tt>Text</tt> | <tt>Quit</tt> |- | <tt>Location</tt> | <tt>301</tt>,<tt>40</tt> |} The last control you need to add to the form is a PictureBox control. A PictureBox has many capabilities, but its primary purpose is to show pictures�which is precisely what you'll use it for in this example. Add a new PictureBox control to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>picShowPicture</tt> |- | <tt>BorderStle</tt> | <tt>FixedSingle</tt> |- | <tt>Location</tt> | <tt>8</tt>,<tt>8</tt> |- | <tt>Size</tt> | <tt>282</tt>, <tt>275</tt> |} After you've made these property changes, your form will look like the one in [01.htm#ch01fig08 Figure 1.8]. Click the Save All button on the toolbar to save your work. <center>Figure 1.8. An application's interface doesn't have to be complex to be useful. [[Image:01fig08.jpg|500px|graphics/01fig08.jpg]] </center> | align="right" | [ch01lev1sec9.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec11.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC11.HTM | align="right" | [ch01lev1sec10.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec12.htm [[Image:next.gif|41px|Next Section]]] |} Adding an Invisible Control to a Form |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | So far, all the controls that you've used sit on a form and have a physical appearance. However, not all controls have a physical appearance. Such controls, referred to as invisible-at-runtime controls, aren't designed for user interactivity, but they're designed to give you, the programmer, functionality beyond the standard features of C#. |} To allow the user to select a picture to display, you need to give her the capability to locate a file on her hard drive. You've probably noticed in the past that whenever you choose to open a file from within any Windows application, the dialog box displayed is almost always the same. It doesn't make any sense to force each and every developer to write the code necessary to perform standard file operations. Instead, Microsoft has exposed the functionality via a control that you can use in your project. This control is called the OpenFileDialog control, and it will save you dozens of hours that you would otherwise spend trying to duplicate common functionality. |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Other controls besides the OpenFileDialog control give you file functionality. For example, the SaveFileDialog control provides features for enabling the user to save a file. |} Scroll the toolbox until you can see the OpenFileDialog control, and then double-click it to add it to your form. (You may have to scroll the toolbox, which is done by clicking the up arrow toward the top of the window or the down arrow toward the bottom.) Note that the control isn't placed on the form, but it appears in a special area below the form (see [01.htm#ch01fig09 Figure 1.9]). This happens because the OpenFileDialog control has no interface to display to a user. It does have an interface, a dialog box that you can display as necessary, but it has nothing to display directly on a form. <center>Figure 1.9. Controls that have no interface appear below the form designer. [[Image:01fig09.jpg|500px|graphics/01fig09.jpg]] </center> Select the OpenFileDialog control and change its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>ofdSelectPicture</tt> |- | <tt>Filter</tt> | <tt>Windows Bitmaps|*.BMP|JPEG Files|*.JPG</tt> |- | <tt>Title</tt> | <tt>Select Picture</tt> |} The Filter property determines the filtering of the control. The text that appears before the pipe symbol (<tt>|</tt>) is the descriptive text of the file type, whereas the text after the pipe symbol is the pattern to use to filter files; you can specify more than one filter type. Text entered into the Title property appears in the title bar of the Open File dialog box. | align="right" | [ch01lev1sec10.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec12.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC12.HTM | align="right" | [ch01lev1sec11.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec13.htm [[Image:next.gif|41px|Next Section]]] |} Coding an Interface The graphical interface for your Picture Viewer program is now complete, so click the pushpin in the title bar of the toolbox to close it. Now, you have to write code for the program to be capable of performing actions. C# is an event-driven language, which means that code is executed in response to events. These events may come from users, such as a user clicking a button, or from Windows itself (see [ch04.htm#ch04 Hour 4], "Understanding Events," for a complete explanation of events). Currently, your application looks nice but it won't do a darn thing. The user can click the Select Picture button, for example, until the cows come home, but nothing will happen because you haven't told the program what to do when the user clicks the button. You're going to write code to accomplish two tasks. First, you're going to write code that lets the user browse his or her hard drives to locate and select a picture file and then display the file in the picture box (this sounds a lot harder than it is). Second, you're going to add code to the Quit button that shuts down the program when the user clicks the button. Letting a User Browse for a File The first bit of code you're going to write will allow the user to browse his or her hard drives, select a file, and then show the selected picture in the PictureBox control. This code will execute when the user clicks the Select Picture button; therefore, it's added to the Click event of that button (you'll learn all about events in later hours). When you double-click a control on a form in Design view, the default event for that control is created and displayed in a code window. The default event for a Button control is its Click event, which makes sense because clicking a button is its most common purpose. Double-click the Select Picture button now to access its Click event in the code window (see [01.htm#ch01fig10 Figure 1.10]). <center>Figure 1.10. You will write all code in a window such as this. [[Image:01fig10.jpg|500px|graphics/01fig10.jpg]] </center> |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | When you access an event, C# builds an event handler, which is essentially a template procedure in which you add the code that executes when the event is fired. The cursor is already placed within the code procedure, so all you have to do is add code. You will also notice that the open and closing braces are preset for your new event procedure. The braces, in this case, define the beginning and end of your procedure. You will soon see that C# requires many open and closing braces({ } ). By the time you're done with this book, you'll be madly clicking away as you write your own code to make your applications do exactly what you want them to do�well, most of the time. For now, just enter the code as I present it here. |} It's very important that you get in the habit of commenting your code, so the first line you're going to enter is a comment. Beginning a statement with the characters <tt>//</tt> designates the statement as a comment; the compiler won't do anything with the statement, so you can enter whatever text you want after the double slashes. Type the following statement exactly as it appears and press the Enter key at the end of the line. |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | For more information on creating good comments, see [ch16.htm#ch16 Hour 16], "Debugging Your Code." |} <pre>// Show the open file dialog box. </pre> The next statement you'll enter triggers a method of the OpenFileDialog control that you added to the form. You'll learn all about methods in [ch03.htm#ch03 Hour 3], "Understanding Objects and Collections." For now, think of a method as a mechanism to make a control take action. The ShowDialog method tells the control to show its Open dialog box and let the user select a file. The ShowDialog method returns a value that indicates its success or failure, which we are then comparing to a predefined result (<tt>DialogResult.OK</tt>). Don't worry too much about what is happening here, because you'll be learning the details of this in later hours. In a nutshell, the ShowDialog method is called to let a user browse for a file, and if the user selects a file, more code gets executed. Of course, there is a lot more to using the OpenFileDialog control than I present in this basic example, but this simple statement gets the job done. Enter the following if statement followed by an open brace: <pre>if (ofdSelectPicture.ShowDialog() == DialogResult.OK) { </pre> |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Open and closing braces are necessary for this if statement because they denote that multiple lines will be part of this construct. |} Time for another comment. Enter this statement and remember to press Enter at the end of each code line. <pre>// Load the picture into the picture box. </pre> |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Don't worry about indenting the code by pressing the Tab key or using spaces. C# .NET automatically indents code for you. |} You're now going to enter the next line of code. This statement, which appears within the if construct, is the line of code that actually displays the picture in the picture box. (If you're itching to know more about graphics, take a look at [ch10.htm#ch10 Hour 10], "Drawing and Printing.") Enter the following statement: <pre>picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName); </pre> In addition to displaying the selected picture, your program is going to display the path and filename of the picture in the title bar. When you first created the form, you changed the Text property of the form using the Properties window. To create dynamic applications, properties need to be constantly adjusted at runtime, and this is done using code. Enter the following three lines of code: <pre>// Show the name of the file in the form's caption. this.Text = String.Concat("Picture Viewer (" + ofdSelectPicture.FileName + ")"); } </pre> |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | C# is case sensitive! You must enter all code using the same case as shown in the text. |} Checking Your Program Entry Point All C# programs must contain an entry point. The Main() method is the entry point. In this sample you need to change the reference from Form1 to fclsViewer (this is necessary because we renamed the form earlier) . This statement will invoke the constructor on the form. C++ programmers will be familiar with the Main() entry point method, but they should take notice of the capitalization of Main. We will talk a bit more about the program entry point later in the book. To update the entry point in this sample, press Ctrl+F to open the Find window, enter Form1, and click Find Next. Close the Find window and replace the text Form1 with fclsViewer. The updated statement should now read: <pre>Application.Run(new fclsViewer()); </pre> After you've entered all the code, your editor should look like that shown in [01.htm#ch01fig11 Figure 1.11]. <center>Figure 1.11. Make sure your code exactly matches the code shown here. [[Image:01fig11.jpg|500px|graphics/01fig11.jpg]] </center> Terminating a Program Using Code The last bit of code you'll write will terminate the application when the user clicks the Quit button. To do this, you'll need to access the Click event handler of the btnQuit button. At the top of the code window are two tabs. The current tab has the text fclsViewer.cs. Next to this is a tab that contains the text fclsViewer.cs [Design]. Click this tab now to switch from Code view to the form designer. If you receive an error when you click the tab, the code you entered is incorrect, and you need to edit it to make it the same as I've presented it. After the form designer is displayed, double-click the Quit button to access its Click event. Enter the following code in the Quit button's Click event handler: <pre>this.Close(); </pre> |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Close statement closes the current form. When the last loaded form in a program is closed, the application shuts itself down�completely. As you build more robust applications, you'll probably want to execute all kinds of clean-up routines before terminating your application, but for this example, closing the form is all you need to do. |} | align="right" | [ch01lev1sec11.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec13.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC13.HTM | align="right" | [ch01lev1sec12.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec14.htm [[Image:next.gif|41px|Next Section]]] |} Running a Project Your application is now complete. Click the Save All button (it looks like a stack of disks) on the toolbar, and then run your program by pressing F5. You can also run the program by clicking the button on the toolbar that looks like a right-facing triangle and resembles the Play button on a VCR (this button is also found on the Debug menu, and it is called Start). However, learning the keyboard shortcuts will make your development process move along faster. When you run the program, the C# interface changes, and the form you've designed appears floating over the design environment (see [01.htm#ch01fig12 Figure 1.12]). <center>Figure 1.12. When in Run mode, your program executes the same as it would for an end user. [[Image:01fig12.jpg|400px|graphics/01fig12.jpg]] </center> You're now running your program as though it were a standalone application running on another user's machine; what you see is exactly what someone else would see if they ran the program (without the C# design environment in the background, of course). Click the Select Picture button to display the Select Picture dialog box (see [01.htm#ch01fig13 Figure 1.13]). Use the dialog box to locate a picture file. When you've found a file, double-click it, or click once to select it and then click Open. The selected picture is then displayed in the PictureBox control, as shown in [01.htm#ch01fig14 Figure 1.14]. <center>Figure 1.13. The OpenFileDialog control handles all the details of browsing for files. Cool, huh? [[Image:01fig13.jpg|500px|graphics/01fig13.jpg]] </center> <center>Figure 1.14. C# makes it easy to display pictures with very little work. [[Image:01fig14.jpg|399px|graphics/01fig14.jpg]] </center> | align="right" | [ch01lev1sec12.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec14.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC14.HTM | align="right" | [ch01lev1sec13.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec15.htm [[Image:next.gif|41px|Next Section]]] |} Summary When you're done playing with the program, click the Quit button and then save your project by clicking Save All on the C# toolbar. That's it! You've just created a bona fide C# program. You've used the toolbox to build an interface with which users can interact with your program, and you've written code in strategic event handlers to empower your program to do things. These are the basics of application development in C#. Even the most complicated programs are built using this basic approach; you build the interface and add code to make the application do things. Of course, writing code to do things exactly the way you want things done is where the process can get complicated, but you're on your way. If you take a close look at the organization of the hours in this book, you'll see that I start out by teaching you the C# environment. I then move on to building an interface, and later I teach you all about writing code. This organization is deliberate. You might be a little anxious to jump in and start writing serious code, but writing code is only part of the equation. As you progress through the hours, you'll be building a solid foundation of development skills. Soon, you'll pay no attention to the man behind the curtain�you'll be that man (or woman)! | align="right" | [ch01lev1sec13.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec15.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC15.HTM | align="right" | [ch01lev1sec14.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec16.htm [[Image:next.gif|41px|Next Section]]] |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[01.htm#qad1e5122 Q1:]''' | Can I show bitmaps of file types other than BMP and JPG? |- | align="right" | ''' A1: ''' | Yes. The PictureBox supports the display of images with the extensions BMP, JPG, ICO, EMF, WMF, and GIF. The PictureBox can even save images to a file. |- | align="right" | '''[01.htm#qad1e5146 Q2:]''' | Is it possible to show pictures in other controls? |- | align="right" | ''' A2: ''' | The PictureBox is the control to use when you are just displaying images. However, many other controls allow you to display pictures as part of the control. For instance, you can display an image on a Button control by setting the button's Image property to a valid picture. |} | align="right" | [ch01lev1sec14.htm [[Image:previous.gif|62px|Previous Section]]] [ch01lev1sec16.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} ./ ADD NAME=CH01LEV1SEC16.HTM | align="right" | [ch01lev1sec15.htm [[Image:previous.gif|62px|Previous Section]]] [ch02.htm [[Image:next.gif|41px|Next Section]]] |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[app01lev1sec1.htm#ch01ans01 1:]''' | What type of C# project creates a standard Windows program? |- | align="right" | '''[app01lev1sec1.htm#ch01ans02 2:]''' | What window is used to change the attributes (location, size, and so on) of a form or control? |- | align="right" | '''[app01lev1sec1.htm#ch01ans03 3:]''' | How do you access the default event (code) of a control? |- | align="right" | '''[app01lev1sec1.htm#ch01ans04 4:]''' | What property of a PictureBox do you set to display an image? |- | align="right" | '''[app01lev1sec1.htm#ch01ans05 5:]''' | What is the default event for a Button control? |} Exercise # Change your Picture Viewer program so that the user can also locate and select GIF files. (Hint: Change the Filter property of the OpenFileDialog control.) # Alter the form in your Picture Viewer project so that the buttons are side by side in the lower-right corner of the form, rather than vertically aligned in the upper-right corner. | align="right" | [ch01lev1sec15.htm [[Image:previous.gif|62px|Previous Section]]] [ch02.htm [[Image:next.gif|41px|Next Section]]] |} | align="right" | [01.htm#toppage Top] |} a5voflavnr138jmbr11dg9ufqyrmpul User:Foxall/02 2 2133 15819 5594 2016-02-24T01:59:58Z CommonsDelinker 15 Removing "02fig06.jpg", it has been deleted from Commons by [[commons:User:Ronhjones|Ronhjones]] because: [[:c:COM:L|Copyright violation]]: Mass deletion of files added by [[:c:User:จิรพันธ์ รองในเมือง|]]] (copyvio-only 15819 wikitext text/x-wiki == Hour 2. Navigating C# == The key to expanding your knowledge of C# is to become as comfortable as possible�as quickly as possible�with the C# design environment. Just as a carpenter doesn't think much about hammering a nail into a piece of wood, performing actions such as saving projects, creating new forms, and setting object properties should become second nature to you. The more comfortable you are with the tools of C#, the more you can focus your energies on what you're creating with the tools. In this hour, you'll learn how to customize your design environment. You'll learn how to move, dock, float, hide, and show design windows, as well as how to customize menus and toolbars; you'll even create a new toolbar from scratch. After you've gotten acquainted with the environment, I'll teach you about projects and the files that they're made of (taking you beyond what was briefly discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour"), and I'll introduce you to the design windows with which you'll work most frequently. Finally, I'll show you how to get help when you're stuck. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec2.htm#ch02lev1sec2 Navigating C#] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec1.htm#ch02lev1sec1 Using the Visual Studio .NET Start Page to open and create projects] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec2.htm#ch02lev3sec1 Showing, hiding, docking, and floating design windows] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec2.htm#ch02lev3sec8 Customizing menus and toolbars] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec3.htm#ch02lev1sec3 Adding controls to a form using the toolbox] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec4.htm#ch02lev1sec4 Viewing and changing object attributes using the Properties window] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec5.htm#ch02lev1sec5 Working with the files that make up a project] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02lev1sec7.htm#ch02lev1sec7 How to get help] ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using the Visual Studio .NET Start Page By default, the Visual Studio Start Page shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig01 Figure 2.1] is the first thing you see when you start C# (if C# isn't running, start it now). The Visual Studio Start Page is a gateway for performing tasks with C#. From this page, you can open previously edited projects, create new projects, edit your user profile, and browse information provided by Microsoft. <center>Figure 2.1. The Visual Studio Start Page is the default starting point for all Visual Studio programming languages, including C#. [[Image:02fig01.jpg|500px|graphics/02fig01.jpg]] </center> From this page, you can have C# load the last solution you edited, show the Open Project dialog box, show the New Project dialog box, or show an empty design environment. To view or edit the startup options, choose Options from the Tools menu to display the Options dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig02 Figure 2.2]. By default, the General section of the Environment folder is selected, which happens to contain the At Startup option. <center>Figure 2.2. Use the At Startup setting to control the first thing you see when C# starts. [[Image:02fig02.jpg|500px|graphics/02fig02.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If the Visual Studio Start Page doesn't appear when you start C#, check the settings on the Options form; you may need to change At Startup to Show Start Page. |} Creating New Projects To create new projects, click New Project on the Visual Studio Start Page. This shows the New Project dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig03 Figure 2.3]. The Project Types list varies from machine to machine, depending on which products of the Visual Studio .NET family are installed. Of course, we're interested only in the C# Project types in this book. <center>Figure 2.3. Use the New Project dialog box to create C# projects from scratch. [[Image:02fig03.jpg|500px|graphics/02fig03.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can create many types of projects with C#, but this book focuses mostly on creating Windows Applications, perhaps the most common of the project types. You will learn about some of the other project types as well, but when you're told to create a new project, make sure the Windows Application template is selected unless you're told otherwise. |} When you create a new project, be sure to enter a name for it in the Name text box before clicking OK or double-clicking a project type icon. This ensures that the project is created with the proper path and filenames, eliminating work you would otherwise have to do to change these values later. After you specify a name, you can create the new project either by double-clicking the project type template icon or by clicking an icon once to select it and then clicking OK. After you've performed either of these actions, the New Project dialog box closes and a new project of the selected type is created. By default, Visual Studio saves all your projects in subfolders of your My Documents folder. The hierarchy used by C# is <pre>\My Documents\Visual Studio Projects\<Project Name> </pre> Notice how the name you give your project is used as its folder name. This makes it easy to find the folders and files for any given project and is one reason that you should always give your projects descriptive names. You can use a path other than the default by specifying a specific path on the New Project dialog box, although you probably won't often need to do so. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can create a new project at any time (not just when starting C#) by opening the New submenu on the File menu and choosing Project. |} Opening an Existing Project Over time, you'll open more projects than you create. There are essentially two ways to open projects from the Visual Studio Start Page. If it's one you've recently opened, the project name will appear in a list within a rectangle in the middle of the Start Page (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig01 Figure 2.1]). Because the name displayed for the project is the one given when it was created, this is yet another reason to give your projects descriptive names. Clicking a project name opens the project. I'd venture to guess that you'll use this technique 95% of the time. To open a project for the first time (such as when opening sample projects), click Open Project on the Visual Studio Start Page. Clicking this link displays a standard dialog box that you can use to locate and select a project file. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | As with creating new projects, you can open an existing project at any time, not just when starting C#, by selecting File, Open. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Navigating and Customizing the C# Environment C# lets you customize many of its interface elements, such as windows and toolbars, enabling you to be more efficient in the work that you do. Create a new Windows Application now (use the New Project dialog box or select File, New) so that you can see and manipulate the design environment. Name this project Environment Tutorial. (This exercise won't create anything reusable, but it will help you learn how to navigate the design environment.) Your screen should look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig04 Figure 2.4]. <center>Figure 2.4. This is pretty much how the IDE appears when you first install C#. [[Image:02fig04.jpg|500px|graphics/02fig04.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Your screen may not look exactly like that shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig04 Figure 2.4], but it'll be close. For example, the Output window won't be visible unless you've built a project. If you completed [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], the window will be visible. By the time you've finished this hour, you'll be able to change the appearance of the design environment to match this figure�or to any configuration you prefer. |} Working with Design Windows Design windows, such as the Properties and Solution Explorer windows shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig04 Figure 2.4], provide functionality for building complex applications. Just as your desk isn't organized exactly like that of your co-workers, your design environment doesn't have to be the same as anyone else's, either. A design window may be placed into one of four primary states: * Closed * Floating * Docked * Auto hidden Showing and Hiding Design Windows When a design window is closed, it doesn't appear anywhere. There is a difference between being closed and being hidden, as you'll learn shortly. To display a closed or hidden window, choose the corresponding menu item from the View menu. For example, if the Properties window isn't displayed in your design environment, you can display it by choosing Properties Window on the View menu (or press its keyboard shortcut�F4). Whenever you need a design window and can't find it, use the View menu to display it. To close a design window, click its Close button (the button on the right side of the title bar with the X on it), just as you would close an ordinary window. Floating Design Windows Floating design windows are visible windows that float over the workspace, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig05 Figure 2.5]. Floating windows are like typical application windows in that you can drag them around and place them anywhere you please, even on other monitors when you're using a multiple-display setup. In addition to moving a floating window, you can also change its size by dragging a border. <center>Figure 2.5. Floating windows appear over the top of the design environment. [[Image:02fig05.jpg|332px|graphics/02fig05.jpg]] </center> Docking Design Windows Visible windows appear docked by default. A docked window is a window that appears attached to the side, top, or bottom of the work area or to some other window. The Properties window in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig04 Figure 2.4], for example, is docked to the right side of the design environment. To make a floating window a docked window, drag the title bar of the window toward the edge of the design environment to which you want to dock the window. As you drag the window, you'll drag a rectangle that represents the outline of the window. When you approach an edge of the design environment, the rectangle will change shape and "stick" in a docked position. If you release the mouse while the rectangle appears this way, the window will be docked. Although this is hard to explain, it's very easy to do. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can size a docked window by dragging its edge opposite the side that's docked. If two windows are docked to the same edge, dragging the border between them enlarges one while shrinking the other. |} To try this, you'll need to float a window that's already docked. To float a window, you "tear" the window away from the docked edge by dragging the title bar of the docked window away from the edge to which it is docked. Note that this technique won't work if a window is set to Auto Hide (which is explained next). Try docking and floating windows now by following these steps: # Ensure that the Properties window is currently displayed (if it's not, show it using the View menu). Make sure the Properties window isn't set to Auto Hide by right-clicking its title bar and deselecting Auto Hide (if it's selected) from the shortcut menu, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig06 Figure 2.6]. <center>Figure 2.6. You can't float a window that's set to Auto Hide. </center> # Drag the title bar of the Properties window away from the docked edge. When the rectangle representing the border of the window changes shape, release the mouse button. The Properties window should now appear floating. # Dock the window once more by dragging the title bar toward the right edge of the design environment. Again, release the mouse button when the rectangle changes shape. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | If you don't want a floating window to dock, regardless of where you drag it to, right-click the title bar of the window and choose Floating from the context menu. To allow the window to be docked again, right-click the title bar and choose Dockable. |} Auto Hiding Design Windows A feature of C# design environment is the capability to auto hide windows. Although you might find this a bit disconcerting at first, after you get the hang of things, this is a very productive way in which to work because your workspace is freed up, yet design windows are available by simply moving the mouse. Windows that are set to Auto Hide are always docked; you can't set a floating window to Auto Hide. When a window auto hides, it appears as a tab on the edge to which it's docked�much like minimized applications are placed in the Windows taskbar. Look at the left edge of the design environment in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig06 Figure 2.6]. Notice the two tabs on the left side of the IDE. One tab has a picture of two computers, and the other is labeled Toolbox. These tabs represent auto-hidden windows. To display an auto-hidden window, move the pointer over the tab representing the window. When you move the pointer over a tab, C# displays the design window so that you can use its features. When you move the pointer away from the window, the window automatically hides itself�hence the name. To make any window hide itself automatically, right-click its title bar and select Auto Hide from its shortcut menu. Alternatively, you can click the little picture of a pushpin appearing in the title bar next to the Close button to toggle the window's Auto Hide state. Performing Advanced Window Placement The techniques discussed in this section so far are basic methods for customizing your design environment. Things can actually get a bit more complicated if you want them to. Such complication presents itself primarily as the capability to create tabbed floating windows like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig05 Figure 2.5]. Notice that at the bottom of the floating window is a set of tabs. Clicking a tab shows its corresponding design window, replacing the window currently displayed. These tabs are created much the same way in which you dock and undock windows�by dragging and dropping. For instance, to make the Solution Explorer window a floating window of its own, you would drag the Solution Explorer window tab away from the floating window. As you do so, a rectangle appears, showing you the outline of the new window. Where you release the rectangle determines whether you dock the design window you're dragging or whether you make the window floating. To make a design window a new tab of an already floating window, drag its title bar and drop it in the title bar of a window that is already floating. In addition to creating tabbed floating windows, you can dock two floating windows together. To do this, drag the title bar of one window over another window (other than over the title bar) until the shape changes, and then release the mouse. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig07 Figure 2.7] shows two floating windows that are docked to one another and a third window that is floating by itself. <center>Figure 2.7. Floating, docked, floating and docked�the possibilities are numerous! [[Image:02fig07.jpg|500px|graphics/02fig07.jpg]] </center> Using all the techniques discussed here, you can tailor the appearance of your design environment in all sorts of ways. There is no one best configuration. You'll find that different configurations work better for different projects and in different stages of development. For instance, when I'm designing the interface of a form, I want the toolbox to stay visible but out of my way, so I tend to make it float, or I turn off its Auto Hide property and leave it docked to the left edge of the design environment. However, after the majority of the interface elements have been added to a form, I want to focus on code. Then I dock the toolbox and make it auto hide itself; it's there when I need it, but it's out of the way when I don't. Don't be afraid to experiment with your design windows, and don't hesitate to modify them to suit your changing needs. Working with Toolbars Toolbars are the mainstay for performing functions quickly in almost all Windows programs (you'll probably want to add them to your own programs at some point, and [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09.htm#ch09 Hour 9], "Adding Menus and Toolbars to Forms," shows you how). Every toolbar has a corresponding menu item, and buttons on toolbars are essentially shortcuts to their corresponding menu items. To maximize your efficiency when developing with C#, you should become familiar with the available toolbars. As your C# skills progress, you can customize existing toolbars and even create your own toolbars to more closely fit the way you work. Showing and Hiding Toolbars C# includes a number of built-in toolbars for you to use when creating projects. Two toolbars are visible in most of the figures shown so far in this hour. The one on the top is the Standard toolbar, which you'll probably want displayed all the time. The second toolbar is the Layout toolbar, which provides useful tools for building forms. The previous edition of Visual Studio had about 5 toolbars; Visual Studio .NET, on the other hand, has more than 20 toolbars! The toolbars you'll use most often as a C# developer are the Standard, Text Editor, and Debug toolbars. Therefore, this hour discusses each of these. In addition to these predefined toolbars, you can create your own custom toolbars to contain any functions you think necessary, which you'll learn how to do later in this hour. To show or hide a toolbar, choose View, Toolbars to display a list of available toolbars. Toolbars currently displayed appear selected (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig08 Figure 2.8]). Click a toolbar name to toggle its visible state. <center>Figure 2.8. Hide or show toolbars to make your work more efficient. [[Image:02fig08.jpg|500px|graphics/02fig08.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | A quick way to access the list of toolbars is to right-click any visible toolbar. |} Docking and Resizing Toolbars Just as you can dock and undock C#'s design windows, you can dock and undock the toolbars. Unlike the design windows, however, C#'s toolbars don't have a title bar that you can click and drag when they're in a docked state. Instead, each docked toolbar has a drag handle (a set of horizontal lines along its left edge). To float (undock) a toolbar, click and drag the grab handle away from the docked edge. After a toolbar is floating, it has a title bar. To dock a floating toolbar, click and drag its title bar to the edge of the design environment to which you want it docked. This is the same technique you use to dock design windows. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | A shortcut for docking a toolbar is to double-click its title bar. |} Although you can't change the size of a docked toolbar, you can resize a floating toolbar (a floating toolbar behaves like any other normal window). To resize a floating toolbar, move the pointer over the edge you want to stretch and then click and drag to the border to change the size of the toolbar. Customizing Toolbars As your experience with C# grows, you'll find that you use certain functions repeatedly. To increase your productivity, you can customize any of C#'s toolbars, and you can create your own from scratch. You can even customize the C# menu and create your own menus. To customize toolbars and menus, you use the Customize dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig09 Figure 2.9], which is accessed by choosing View, Toolbars, Customize. <center>Figure 2.9. Create new toolbars or customize existing ones to fit the way you work. [[Image:02fig09.jpg|383px|graphics/02fig09.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I strongly suggest that you don't modify the existing C# toolbars. Instead, create new toolbars. If you modify the predefined toolbars, you may find that you've removed tools that I refer to in later examples. If you do happen to change a built-in toolbar, you can reset it to its original state by selecting it in the Customize dialog box and clicking Reset. |} The Toolbars tab on the Customize dialog box shows you a list of all the existing toolbars and menus. The toolbars and menus currently visible have a check mark next to them. To toggle a toolbar or menu between visible and hidden, click its check box. Creating a New Toolbar You're now going to create a new toolbar to get a feel for how toolbar customization works. Your toolbar will contain only a single button, which will be used to call C#'s Help program. To create your new toolbar, follow these steps: # From the Toolbars tab of the Customize dialog box, click New. # Enter My Help as the name for your new toolbar when prompted. # Click OK to create the new toolbar. After you've entered a name for your toolbar and clicked OK, your new toolbar appears, floating on the screen�most likely somewhere outside the Customize dialog box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig10 Figure 2.10]). Dock your toolbar now by double-clicking the blank area on the toolbar (the area where a button would ordinarily appear). Your screen should look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig11 Figure 2.11]. <center>Figure 2.10. New toolbars are pretty tiny; they have no buttons on them. [[Image:02fig10.jpg|500px|graphics/02fig10.jpg]] </center> <center>Figure 2.11. It's easier to customize toolbars when they're docked. [[Image:02fig11.jpg|500px|graphics/02fig11.jpg]] </center> Adding Buttons to a Toolbar Now that you have an empty toolbar, the next step is to add the desired command buttons to it. Click the Commands tab of the Customize dialog box to display all the available commands. The Commands tab contains the following: * A list of command categories * A list of the commands for the selected command category The Categories list shows all available command categories, such as File and Edit functions. When you select a category, all the available commands for that category are shown in the list on the right. You're going to add a toolbar button that appears as a Help icon and that actually displays Help when clicked. To add the command button to your toolbar, follow these steps: # Locate and select the category Help. All the available commands for the Help category will appear in the list on the right. # From the Commands list, click and drag the Contents command to your custom toolbar. As you drag, the pointer changes to an arrow pointing to a small gray box. At the lower-right corner of the pointer is a little hollow box with an x in it. This indicates that the location over which the pointer is positioned is not a valid location to drop the command. # As you drag the command over your toolbar (or any other toolbar for that matter), the x in the little box will change to a plus sign (+), indicating that the command can be placed in the current location. In addition, an insertion point (often called an I-beam because that's what it looks like) appears on the toolbar to indicate where the button would be placed if the command were dropped at that spot. When an I-beam appears on your toolbar and the pointer box contains a plus sign, release the mouse button. Your toolbar will now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig12 Figure 2.12]. <center>Figure 2.12. Building toolbars is a simple matter of dragging and dropping commands. [[Image:02fig12.jpg|500px|graphics/02fig12.jpg]] </center> You can alter any button on a toolbar by right-clicking the button to access its shortcut menu and then choosing Change Button Image. Feel free to experiment with changing the image of the button on your custom toolbar, but be sure to leave the buttons on the built-in toolbars as they are. To remove a button from a toolbar, drag the button to remove it from the toolbar and drop it somewhere other than on the same toolbar. If you drop the button onto another toolbar, the button is removed from the original toolbar and placed on the toolbar on which you dropped it. If you drop the button in a location where no toolbar exists, the button is simply removed from the toolbar. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can drag command buttons only in Customize mode. If you attempt to drag an item during normal operation, you'll simply click the button. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Although these techniques are illustrated using toolbars, they apply to menus, as well. |} Moving Buttons on a Menu or Toolbar You should always attempt to group command buttons logically. For example, the Edit functions are all grouped together on the Standard toolbar, as are the File operations. A separator (space) is used to separate groups. To create a separator space, right-click the button that starts a new group and choose Begin a Group from the button's shortcut menu. You probably won't get the exact groupings you want when you first add commands to a toolbar, but that's not a problem because you can change the position of a button at any time. To move a button on a toolbar, drag the button and drop it in the desired location (remember, you have to be in Customize mode to do this). To move a button from one toolbar to another, drag the button from its toolbar and drop it at the preferred location on the desired toolbar. Now that your toolbar is complete (Hey, I never said it'd be fancy), click Close on the Customize dialog box to exit Customize mode. All toolbars, including the one you just created, are no longer in Customize mode and they can't be modified. Click the button you placed on your new toolbar and C#'s Help will appear. Because your custom toolbar really doesn't do much, hide it now to save screen real estate by right-clicking any toolbar to display the Toolbar shortcut menu and then deselecting My Help. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | As you work your way through this book, you should always have the Standard toolbar and menu bar displayed on your screen. |} Typically, you should customize toolbars only after you're very familiar with the available functions and only after you know which functions you use most often. I recommend that you refrain from modifying any of the predefined toolbars until you're quite familiar with C#. As you become more comfortable with C#, you can customize the toolbars to make your project work area as efficient as possible. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Adding Controls to a Form Using the Toolbox The toolbox is used to place controls, such as the common text box and list box, onto a form. The default toolbox you see when you first run C# is shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig13 Figure 2.13]. The buttons labeled Data, Components, Windows Forms, and so on are actually tabs, although they don't look like standard tabs. Clicking any of these tabs causes a related set of controls to appear. The default tab is the Windows Forms tab, and it contains many great controls you can place on Windows forms (the forms used to build Windows applications, in contrast to Web applications). All the controls that appear by default on the tabs are included with C#, and these controls are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7], "Working with Traditional Controls," and [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08.htm#ch08 Hour 8], "Advanced Controls." You'll learn how to add other controls to your toolbox as well. <center>Figure 2.13. The standard toolbox contains many useful controls you can use to build robust user interfaces. [[Image:02fig13.jpg|500px|graphics/02fig13.jpg]] </center> You can add a control to a form in one of three ways: * In the toolbox, click the tool that you want to place on a form, and then click and drag on the form where you want the control placed (essentially, you're drawing the border of the control). The location at which you start dragging is used for the upper-left corner of the control, and the lower-right corner is the point at which you release the mouse button and stop dragging. * Double-click the desired control in the toolbox. When you double-click a control in the toolbox, a new control of the selected type is placed in the upper-left corner of the form. The control's height and width are set to the default height and width of the selected control type. * Drag a control from the toolbox and drop it somewhere on a form. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | If you prefer to draw controls on your forms by clicking and dragging, I strongly suggest that you dock the toolbox to the right or bottom edge of the design environment or float it; the toolbar tends to interfere with drawing controls when it's docked to the left edge, because it obscures part of the form. |} The very first item on the Windows Forms tab, titled Pointer, isn't actually a control. When the pointer item is selected, the design environment is placed in a select mode rather than in a mode to create a new control. With the pointer item selected, you can select a control (by clicking it) to display all its properties in the Properties window; this is the default behavior. Setting Object Properties Using the Properties Window When developing the interface of a project, you'll spend a lot of time viewing and setting object properties using the Properties window (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig14 Figure 2.14]). The Properties window contains four items: * An object drop-down list * A list of properties * A set of tool buttons used to change the appearance of the properties grid * A section showing a description of the selected property <center>Figure 2.14. Use the Properties window to view and change properties of forms and controls. [[Image:02fig14.jpg|500px|graphics/02fig14.jpg]] </center> Selecting an Object and Viewing Its Properties The drop-down list at the top of the Properties window contains the name of the form with which you're currently working and all the controls (objects) on the form. To view the properties of a control, select it from the drop-down list or click the control on the form. You must have the pointer item selected in the toolbox to select an object by clicking it. Viewing and Changing Properties The first two buttons in the Properties window (Categorized and Alphabetic), enable you to select the format in which you view properties. When you select the Alphabetic button, the selected object's properties are listed in the Properties window in alphabetical order. When you click the Categorized button, all the selected object's properties are displayed by category. For example, the Appearance category contains properties such as BackColor and BorderStyle. When working with properties, select the view you're most comfortable with and feel free to switch back and forth between the views. The Properties pane of the Properties window is used to view and set the properties of a selected object. You can set a property in one of the following ways: * Type in a value * Select a value from a drop-down list * Click a Build button for property-specific options {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Many properties can be changed by more than one of these methods. |} To better understand how changing properties works, follow these steps: # Start by creating a new Windows Application project. Name this project Changing Properties. # Add a new text box to a form by double-clicking the TextBox tool in the toolbox. You're now going to change a few properties of the new text box. # Select the Name property in the Properties window by clicking it, and then type in a name for the text box�call it txtComments. # Click the BorderStyle property and try to type in the word Big�you can't; the BorderStyle property supports only selecting values from a list. You can type a value that exists in the list, however. When you selected the BorderStyle property, a drop-down arrow appeared in the value column. Click this arrow now to display a list of the values that the BorderStyle property accepts. Select FixedSingle and notice how the appearance of the text box changes. To make the text box appear three dimensional again, open the drop-down list and select Fixed3D. # Select the BackColor property, type in some text, and press the Tab key to commit your entry. C# displays an Invalid Property Value error. This happened because, although you can type in text, you're restricted to entering specific values (in the case of BackColor, the value must be a number within a specific range or a named color). Click the drop-down arrow of the BackColor property and select a color from the drop-down list. (Selecting colors using the Color Palette is discussed later in this hour, and detailed information on using colors is provided in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10], "Drawing and Printing.") # Select the Font property. Notice that a Build button appears (a small button with three dots on it). When you click the Build button, a dialog box specific to the property you've selected appears. In this instance, a dialog box that allows you to manipulate the font of the text box appears (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig15 Figure 2.15]). Different properties display different dialog boxes when you click their Build buttons. <center>Figure 2.15. The Font dialog box gives you complete authority over the font of a control. [[Image:02fig15.jpg|437px|graphics/02fig15.jpg]] </center> By clicking a property in the Properties window, you can easily tell the type of input the property requires. Working with Color Properties Properties that deal with colors, such as BackColor and ForeColor, are unique in the way in which they accept values, yet all color-related properties behave the same way. In C#, all colors are expressed as a set of three numbers, each number having a value from 0 to 255. The set of numbers represents the Red, Green, and Blue (RGB) components of the color, respectively. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The value 0,255,0, for instance, represents pure green, whereas the values 0,0,0 represent black and 255,255,255 represents white. (See [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10] for more information on the specifics of working with color.) |} A color rectangle is displayed for each color property in the Properties window; this color is the selected color for the property. Text is displayed next to the colored rectangle. This text is either the name of a color or a set of RGB values that defines the color. Clicking in a color property causes a drop-down arrow to appear, but the drop-down you get by clicking the arrow isn't a typical drop-down list. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig16 Figure 2.16] shows what the drop-down list for a color property looks like. <center>Figure 2.16. The color drop-down list enables you to select from three sets of colors. [[Image:02fig16.jpg|204px|graphics/02fig16.jpg]] </center> The color drop-down list is composed of three tabs: Custom, Web, and System. Most color properties use a system color by default. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10] goes into great detail on system colors, so I only want to mention here that system colors vary from computer to computer; they are the colors determined by the user when he or she right-clicks the desktop and chooses Properties from the desktop's shortcut menu. Use a system color when you want a color to be one of the user's selected system colors. When a color property is set to a system color, the name of the color appears in the property sheet. The Custom tab shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig17 Figure 2.17] is used to specify a specific color, regardless of the user's system color settings; changes to system colors have no effect on the property. The most common colors appear on the palette of the Custom tab, but you can specify any color you desire. <center>Figure 2.17. The Custom tab of the color drop-down list lets you specify any color imaginable. [[Image:02fig17.jpg|204px|graphics/02fig17.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The colors visible in the various palettes are limited by the number of colors that can be produced by your video card. If your video card doesn't support enough colors, some will appear dithered, which means they will appear as dots of colors rather than as a true, solid color. |} The bottom two rows in the Custom color palette are used to mix your own colors. To assign a color to an empty color slot, right-click a slot in one of the two rows to access the Define Color dialog box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig18 Figure 2.18]). Use the controls on the Define Color dialog box to create the color you desire, and then click Add Color. The new color appears on the color palette in the slot you selected, and it is automatically assigned to the current property. <center>Figure 2.18. The Define Color dialog box lets you create your own colors. [[Image:02fig18.jpg|275px|graphics/02fig18.jpg]] </center> The Web tab is used to pick colors from a list of named colors for building Web pages. Viewing Property Descriptions It's not always immediately apparent just exactly what a property is or does�especially for new users of Visual Studio. The Description section at the bottom of the Properties window shows a simple description of the selected property (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig14 Figure 2.14]). To view a description, simply click a property or value area of a property. You can hide or show the Description section of the Properties window at any time by right-clicking anywhere within the Properties window (other than in the value column or on the title bar) to display the Properties window shortcut menu and choosing Description. Each time you do this, you toggle the Description section between visible and hidden. To change the size of the Description box, click and drag the border between it and the Properties pane. Managing Projects Before you can effectively create an interface and write code, you need to understand what makes up a C# project and how to add and remove various components from within your own projects. In this section, you'll learn about the Solution Explorer window and how it's used to manage project files. You'll also learn specifics about projects and project files, as well as how to change a project's properties. Managing Project Files with the Solution Explorer As you develop projects, they'll become more and more complex, often containing many objects such as forms and modules. Each object is defined by one or more files. In addition, you can build complex solutions composed of more than one project. The Solution Explorer window shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig19 Figure 2.19] is the tool for managing all the files in a simple or complex solution. Using the Solution Explorer, you can add, rename, and remove project files, as well as select objects to view their properties. If the Solution Explorer window isn't visible on your screen, show it now by choosing Solution Explorer from the View menu. <center>Figure 2.19. Use the Solution Explorer window to manage all the files that make up a project. [[Image:02fig19.jpg|500px|graphics/02fig19.jpg]] </center> To better understand the Solution Explorer window, follow these steps: # Locate the Picture Viewer program you created in the Quick Tour by choosing File, Open, and then clicking Project. # Open the Picture Viewer project. The file you need to select is located in the Picture Viewer folder that C# created when the project was constructed. The file has the extension .sln (for solution). If you're asked whether you want to save the current project, choose No. # Select the Picture Viewer project item in the Solution Explorer. When you do, a button becomes visible toward the top of the window. This button has a picture of pieces of paper and has the ToolTip Show All Files (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig20 Figure 2.20]). Click this button and the Solution Explorer displays all files in the project. <center>Figure 2.20. Notice that the form you defined appears as two files in the Solution Explorer. [[Image:02fig20.jpg|500px|graphics/02fig20.jpg]] </center> Your design environment should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig20 Figure 2.20]. If your screen looks much different from the one in this figure, use the techniques you've learned in this hour to change your design environment so that it's similar to the one shown here. Be sure to widen the Solution Explorer window so that you can read all the text it contains. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Some forms and other objects may be composed of more than one file. By default, C# hides project files that you don't directly manipulate. Click the plus sign (+) next to the form item and you'll see a sub item titled Form1.resx. You'll learn about these additional files in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05.htm#ch05 Hour 5], "Building Forms�Part I." For now, click the Show All Files button again to hide these related files. |} You can view any object listed within the Solution Explorer using the object's default viewer by double-clicking the object. Each object has a default viewer but may actually have more than one viewer. For instance, a form has a Form Design view as well as a Code view. By default, double-clicking a form in the Solution Explorer displays the form in Form Design view, where you can manipulate the form's interface. You've already learned one way to access the code behind a form�double-click an object to access its default event handler. You'll frequently need to get to the code of a form without adding a new event handler. One way to do this is to use the Solution Explorer. When a form is selected in the Solution Explorer, buttons are visible at the top of the Solution Explorer window that allow you to display the code editor or the form designer, respectively. You'll use the Solution Explorer window so often that you'll probably want to dock it to an edge and set it to Auto Hide, or perhaps keep it visible all the time. The Solution Explorer window is one of the easiest to get the hang of in C#; navigating the Solution Explorer window will be second nature to you before you know it. Working with Solutions In truth, the Solution Explorer window is the evolution of the Project Explorer window from versions of Visual Studio prior to .NET, and the two are similar in many ways. Understanding solutions is easier to do when you understand projects. A project is what you create with C#. Often, the words project and program are used interchangeably; this isn't much of a problem if you understand the important distinctions. A project is the set of source files that make up a program or component, whereas a program is the binary file that you build by compiling source files into something such as a Windows executable file (.exe). Projects always consist of a main project file and may be made up of any number of other files, such as form files, module files, or class module files. The main project file stores information about the project�all the files that make up the project, for example�as well as properties that define aspects of a project, such as the parameters to use when the project is compiled into a program. What then, is a solution? As your abilities grow and your applications increase in complexity, you'll find that to accomplish your development goals, you'll have to build multiple projects that work harmoniously. For instance, you might build a custom user control such as a custom data grid that you use within other projects you design, or you may isolate the business rules of a complex application into separate components to run on isolated servers. All the projects used to accomplish those goals are collectively called a solution. Therefore, a solution (at its most basic level) is really nothing more than a grouping of projects. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | You should group projects into a single solution only when the projects relate to one another. If you have a number of projects that you're working on, but each of them is autonomous, work with each project in a separate solution. |} Understanding Project Components As I stated earlier, a project always consists of a main project file, and it may consist of one or more secondary files, such as files that make up forms or code modules. As you create and save objects within your project, one or more corresponding files are created and saved on your hard drive. All files that are created for C# source objects have the extension .cs, designating that they define C# objects. Make sure that you save your objects with understandable names, or things might get confusing as the size of your project grows. All the files that make up a project are text files. Some objects, however, need to store binary information, such as a picture, for a form's BackgroundImage property. Binary data is stored in an XML file (which is still a text file). Suppose you had a form with an icon on it. You'd have a text file defining the form (its size, the controls on it, and the code behind it), and an associated resource file with the same name as the form file but with the extension .resx. This second file would be in XML format and would contain all the binary data needed to create the form. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you want to see what the source file of a form file looks like, use Notepad to open a form file on your computer. Don't save any changes to the file, however, or it may never work again. |} The following is a list of some of the components you may use in your projects: * Forms Forms are the visual windows that make up the interface of your application. Forms are defined using a special type of module. * Class Modules Class modules are a special type of module that enable you to create object-oriented applications. Throughout the course of this book, you're learning how to program using an object-oriented language, but you're mostly learning how to use objects supplied by C#. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects with Classes," you'll learn how to use class modules to create your own objects. Forms are derived from a special type of class module. * User Controls User controls (formerly ActiveX controls, which are formerly OLE controls) are controls that can be used on the forms of other projects. For example, you could create a User control with a calendar interface for a contact manager. Creating user controls requires the skill of an experienced programmer; therefore, I won't be covering them in this book. Setting Project Properties C# projects have properties, just as other objects do, such as forms and controls. Projects have lots of properties, many of them relating to advanced functionality that I won't be covering in this book. However, you need to be aware of how to access project properties and how to change some of the more commonly used properties. To access the properties for a project, right-click the project in the Solution Explorer window and choose Properties from the shortcut menu. Do this now. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In earlier versions of Visual Studio, you accessed the project properties via the Project menu. You can still do this, but you must have the project selected in the Solution Explorer, or the Properties menu won't appear on the Project menu. If you don't remember this, you could spend a lot of time trying to find the properties�I sure did. |} The Tree View control on the left side of the dialog box is used to display a property page (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig21 Figure 2.21]). When you first open the dialog box, the General page is visible. On this page, the setting you'll need to worry about most is the Startup Object property. The Startup Object setting determines the name of the class that contains the Main() method that you want called on program startup. The (Not Set) option, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig21 Figure 2.21], is valid if only one Main() method exists in your application. <center>Figure 2.21. Project properties let you tailor aspects of the project as a whole. [[Image:02fig21.jpg|500px|graphics/02fig21.jpg]] </center> The Output Type option determines the type of compiled component defined by this source project. When you create a new project, you select the type of project to create (such as Windows Application), so this field is always filled in. At times, you might have to change this setting after the project has been created, and this is the place to do so. Notice that the project folder, project filename, and output name are displayed on this page as well. If you work with a lot of projects, you may find this information valuable, and this is certainly the easiest spot to obtain it. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The output name determines the filename created when you build a distributable component. Distributing applications is discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22.htm#ch22 Hour 22]. |} As you work through the hours in this book, I'll refer to the Project Properties dialog box as necessary, explaining pages and items in context with other material. Adding and Removing Project Files When you first start C# and create a new Windows Application project, C# creates the project with a single form. You're not limited to having one form in a project, however; you can create new forms or add existing forms to your project at will. You can also create and add code files and classes, as well as other types of objects. You can add a new or existing object to your project in one of three ways: * Choose the appropriate menu item from the Project menu. * Click the small drop-down arrow that is part of the Add New Item button on the Standard toolbar, and then choose the object type from the drop-down list that is displayed (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig22 Figure 2.22]). * Right-click the project name in the Solution Explorer window, and then choose Add from the shortcut menu to access a submenu from which you can select object types. When you select Add ObjectType from any of these menus, a dialog box appears, showing you the objects that can be added to the project. Your chosen item is selected by default (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig23 Figure 2.23]). Simply name the object and click Open to create a new object of the selected type. To create an object of a different type, click the type to select it, name it, and then click Open. <center>Figure 2.23. Regardless of the menu option you select, you can add any type of object you want using this dialog box. [[Image:02fig23.jpg|500px|graphics/02fig23.jpg]] </center> Adding new forms and modules to your project is easy, and you can add as many as you like. You'll come to rely more heavily on the Solution Explorer to manage all the objects in the project as the project becomes more complex. Although it won't happen as often as adding project files, you may sometimes need to remove an object from a project. Removing objects from your project is even easier than adding them. To remove an object, simply right-click the object in the Solution Explorer window and select Exclude from Project. This removes the object from the file but does not delete the source file from the disk. Selecting Delete, on the other hand, removes the file from the project and deletes it from the disk. Don't select Delete unless you want to totally destroy the file and you're sure that you'll never need it again in the future. Getting Help Although C# was designed to be as intuitive as possible, you'll find that you occasionally need assistance in performing a task. It doesn't matter how much you know, C# is so complex and contains so many features that you'll have to use Help sometimes. This is particularly true when writing C# code; you won't always remember the command you need or the syntax of the command. Fortunately, C# includes a comprehensive Help feature. To access Help from within the design environment, press F1. Generally speaking, when you press F1, C# shows you a help topic directly related to what you're doing. This is known as context-sensitive help, and when it works, it works well. For example, you can display help for any C# syntax or keyword (functions, objects, methods, properties, and so on) when writing C# code by typing the word into the code editor, positioning the cursor anywhere within the word (including before the first letter or after the last), and pressing F1. You can also get to help from the Help menu on the menu bar. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | C#'s Help won't be displayed if your program is in Run mode when you press F1. Instead, the help for your application will appear�if you've created Help. |} Help displays topics directly within the design environment instead of in a separate window. This is a new feature of .NET. Personally, I think this method is considerably inferior to the old style of Visual Studio having Help float above the design environment. When Help is displayed within the design environment, you can't necessarily see the code, form, or other object with which you're working. To make Help float above the design environment, choose Options from the Tools menu to display the Options dialog box, click Help in the Tree view on the left, and select External Help. C# includes a Help feature called Dynamic Help. To display the Dynamic Help window, choose Dynamic Help from the Help menu. The Dynamic Help window shows Help links related to what it is you're working on (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#ch02fig24 Figure 2.24]). For instance, if you select a form, the contents of the Dynamic Help window show you Help links related to forms. If you click a text box, the contents of the Dynamic Help window adjust to show you Help links related to text boxes. This is an interesting feature, and you may find it valuable. <center> [[Image:02fig24.jpg|500px|graphics/02fig24.jpg]] </center> Summary In this hour, you learned how to use the Visual Studio Start page�your gateway to C#. You learned how to create new projects and how to open existing projects. The C# environment is your workspace, toolbox, and so much more. You learned how to navigate the environment, including how to work with design windows (hide, show, dock, and float). You'll use toolbars constantly, and now you know how to modify them to suit your specific needs. You learned how to create new toolbars and how to modify existing toolbars. This is an important skill that shouldn't be overlooked. C# has many different design windows, and in this hour, you began learning about some of them in detail. You learned how to get and set properties using the Properties window, how to manage projects using the Solution Explorer, and how to add controls to a form using the toolbox. You'll use these skills often, so it's important to get familiar with them right away. Finally, you learned how to access C#'s Help feature, which I guarantee you will find very important as you learn to use C#. C# is a vast and powerful development tool. Don't expect to become an expert overnight; this is simply impossible. However, by learning the tools and techniques presented in this hour, you've begun your journey. Remember, you'll use most of what you learned in this hour each and every time you use C#. Get proficient with these basics and you'll be building cool programs in no time! Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#qad1e9108 Q1:]''' | How can I easily get more information about a property when the Description section of the Properties window just doesn't cut it? |- | align="right" | ''' A1: ''' | Click the property in question to select it, and then press F1; context-sensitive help applies to properties in the Properties window, as well. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/02.htm#qad1e9118 Q2:]''' | I find that I need to see a lot of design windows at one time, but I can't find that "magic" layout. Any suggestions? |- | align="right" | ''' A2: ''' | Run at a higher resolution. Personally, I won't develop in less than 1024x768. As a matter of fact, all my development machines have two displays, both running at this resolution. You'll find that any investment you make in having more screen real estate will pay you big dividends. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans01 1:]''' | How can you make the Visual Studio Start Page appear at startup if this feature has been disabled? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans02 2:]''' | Unless instructed otherwise, you are to create what type of project when building examples in this book? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans03 3:]''' | To make a docked design window appear when you hover over its tab and disappear when you move the mouse away from it, you change what setting of the window? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans04 4:]''' | How do you access the Toolbars menu? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans05 5:]''' | What design window do you use to add controls to a form? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans06 6:]''' | What design window is used to change the attributes of an object? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans07 7:]''' | To modify the properties of a project, you must select the project in what design window? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec2.htm#ch02ans08 8:]''' | Which Help feature adjusts the links it displays to match what it is you are doing? |} Exercises # Create a custom toolbar that contains Save All, Start, and Stop Debugging�three buttons you'll use a lot throughout this book. # Use the Custom Color dialog box to create a color of your choice, and then assign the color to the BackColor property of a form. 4ww69g16bbykb3hzer8bshltq848cia User:Foxall/03 2 2134 7174 7171 2010-11-24T11:27:22Z Mercy 238 Reverted edits by [[Special:Contributions/Yxefejod|Yxefejod]] ([[User talk:Yxefejod|talk]]) to last revision by [[User:Foxall|Foxall]] 7174 wikitext text/x-wiki == Hour 3. Understanding Objects and Collections == So far, you've gotten an introduction to programming in C# by building a Picture Viewer project. You spent the previous hour digging into the IDE and learning skills critical to your success with C#. In this hour, you're going to start learning about some important programming concepts, namely objects. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The term object, as it relates to programming, may have been new to you prior to this book. The more you work with C#, the more you'll hear about objects. C# is a true object-oriented language. This hour isn't going to discuss object-oriented programming in any detail, because object-oriented programming is a very complex subject and is well beyond the scope of this book. Instead, you'll learn about objects in a more general sense. Everything you use in C# is an object, so understanding this material is critical to your success with C#. Forms are objects, for example, as are the controls you place on a form. Pretty much every element of a C# project is an object and belongs to a collection of objects. All objects have attributes (called properties), most have methods, and many have events. Whether creating simple applications or building large-scale enterprise solutions, you must understand what an object is and how it works. In this hour, you'll learn what makes an object an object, and you'll learn about collections. |} The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec1.htm#ch03lev1sec1 Understanding objects] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec2.htm#ch03lev2sec1 Getting and setting properties] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec3.htm#ch03lev2sec3 Triggering methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec3.htm#ch03lev2sec4 Understanding method dynamism] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec4.htm#ch03lev2sec6 Writing object-based code] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec5.htm#ch03lev1sec5 Understanding collections] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec6.htm#ch03lev1sec6 Using the Object Browser] {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you've listened to the programming press at all, you've probably heard the term object oriented, and perhaps words such as polymorphism, encapsulation, and inheritance. In truth, these object-oriented features of C# are very exciting, but they're far beyond [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03 Hour 3]. You'll learn a little about object-oriented programming in this book, but if you're really interested in taking your programming skills to the next level, you should buy a book dedicated to the subject after you've completed this one. |} ---- === Understanding Objects === Object-oriented programming has been a technical buzzword for quite some time. Almost everywhere you look�the Web, publications, books�you read about objects. What exactly is an object? Strictly speaking, it is a programming structure that encapsulates data and functionality as a single unit and for which the only public access is through the programming structure's interfaces (properties, methods, and events). In reality, the answer to this question can be somewhat ambiguous because there are so many types of objects�and the number grows almost daily. However, all objects share specific characteristics, such as properties and methods. The most commonly used objects in Windows applications are the form object and the control object. Earlier hours introduced you to working with forms and controls and even showed you how to set form and control properties. In your Picture Viewer project from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], for instance, you added a picture box and two buttons to a form. Both the PictureBox and the Button control are control objects, but each is a specific type of control object. Another, less-technical example uses pets. Dogs and cats are definitely different entities (objects), but they both fit into the category of Pet objects. Similarly, text boxes and buttons are each a unique type of object, but they're both considered a control object. This small distinction is important. Understanding Properties All objects have attributes used to specify and return the state of the object. These attributes are properties, and you've already used some of them in previous hours using the Properties window. Indeed, every object exposes a specific set of properties, but not every object exposes the same set of properties. To illustrate this point, I will continue with the Pet object concept. Suppose you have an object, and the object is a dog. This Dog object has a certain set of properties that are common to all dogs. These properties include attributes such as the dog's name, the color of its hair, and even the number of legs it has. All dogs have these same properties; however, different dogs have different values for these properties. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig01 Figure 3.1] illustrates such a Dog object and its properties. <center>Figure 3.1. Properties are the attributes that describe an object. [[Image:03fig01.gif|334px|graphics/03fig01.gof]] </center> Getting and Setting Properties You've already seen how to read and change properties using the Properties window. The Properties window is available only at design time, however, and is used only for manipulating the properties of forms and controls. Most reading and changing of properties you'll perform will be done with C# code, not by using the Properties window. When referencing properties in code, you specify the name of the object first, followed by a period (.), and then the property name, as in the following syntax: <pre>{ObjectName}.{Property} </pre> If you had a Dog object named Bruno, for example, you would reference Bruno's hair color this way: <pre>Bruno.HairColor </pre> This line of code would return whatever value was contained in the HairColor property of the Dog object Bruno. To set a property to some value, you use an equal (=) sign. For example, to change the Dog object Bruno's Weight property, you would use a line of code such as the following: <pre>Bruno.Weight = 90; </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | A little later in this hour, I discuss instantiation, which is the process of creating an object based on a template. It's important to note here that Bruno is a named instance of an object derived from a template or blueprint (called a class). Each object instance has its own set of data, such as property values. For example, you could also have a Dog object named Bonnie, which has a unique set of properties. In a more real-world example, consider how you can have two buttons on a form. Although they have different property values (such as Name), and they have different code within their Click events, they are both Button objects. |} When you reference a property on the left side of an equal sign, you're setting the value. When you reference a property on the right side of the equal sign, you're getting (reading) the value. <pre>Bruno.Weight = 90; </pre> It's easier to see here that referencing the property on the left side of the equal sign indicates that you are setting the property to some value. The following line of code places the value of the Weight property of the Dog object called Bruno into a temporary variable. This statement retrieves the value of the Weight property because the Weight property is referenced on the right side of the equal sign. <pre>fltWeight = Bruno.Weight; </pre> Variables are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays." For now, think of a variable as a storage location. When the processor executes this code statement, it retrieves the value in the Weight property of the Dog object Bruno and places it in the variable (storage location) titled Weight. Assuming that Bruno's Weight is 90, as set in the previous example, the computer would process the following code statement: <pre>fltWeight = 90; </pre> Just as in real life, some properties can be read but not changed. Suppose you had a Sex property to designate the gender of a Dog object. It's impossible for you to change a dog from a male to a female or vice versa (at least I think it is). Because the Sex property can be retrieved but not changed, it is a read-only property. You'll often encounter properties that can be set in Design view but become read-only when the program is running. One example of a read-only property is the Height property of the Combo Box control. Although you can view the value of the Height property in the Properties window, you cannot change the value�no matter how hard you try. If you attempt to change the Height property using C# code, C# simply changes the value back to the default. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The best way to determine which properties of an object are read-only is to consult the online help for the object in question. |} Working with an Object and Its Properties Now that you know what properties are and how they can be viewed and changed, you're going to experiment with properties in a simple project. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], you learned how to set the Height and Width properties of a form using the Properties window. Now, you're going to change the same properties using C# code. The project you're going to create consists of a form with some buttons on it. One button will enlarge the form when clicked, whereas the other will shrink the form. This is a very simple project, but it illustrates rather well how to change object properties in C# code. # Start by creating a new Windows Application project (from the File menu, choose New, Project). # Name the project Properties Example. # Use the Properties window to change the name of the form to fclsShrinkMe. (Click the form once to select it and press F4 to display the Properties window.) # Next, change the Text property of the form to Grow and Shrink. # Click the View Code button in Solution Explorer to view the code behind the form. Scroll down and locate the reference to Form1 and change it to fclsShrinkMe. # Click the Form1.cs [Design] tab to return to the form designer. When the project first runs, the default form will have a Height and Width as specified in the Properties window. You're going to add buttons to the form that a user can click to enlarge or shrink the form at runtime. Add a new button to the form by double-clicking the Button tool in the toolbox. Set the new button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Set To |- | <tt>Name</tt> | <tt>btnEnlarge</tt> |- | <tt>Location</tt> | <tt>111,70</tt> |- | <tt>Text</tt> | <tt>Enlarge</tt> |} Now for the Shrink button. Again, double-click the Button tool in the toolbox to create a new button on the form. Set this new button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Set To |- | <tt>Name</tt> | <tt>btnShrink</tt> |- | <tt>Location</tt> | <tt>111,120</tt> |- | <tt>Text</tt> | <tt>Shrink</tt> |} Your form should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig02 Figure 3.2]. <center>Figure 3.2. Each button is an object, as is the form the buttons sit on. [[Image:03fig02.jpg|500px|graphics/03fig02.jpg]] </center> To complete the project, you need to add the small amount of C# code necessary to modify the form's Height and Width properties when the user clicks a button. Access the code for the Enlarge button now by double-clicking the Enlarge button. Type the following statement exactly as you see it here. Do not hit the Enter key or add a space after you've entered this text. <pre>this.Width </pre> When you typed the period, or "dot," as it's called, a small drop-down list appeared, like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig03 Figure 3.3]. C# is smart enough to realize that this represents the current object (more on this in a moment), and to aid you in writing code for the object, it gives you a drop-down list containing all the properties and methods of the form. This feature is called IntelliSense, and it is relatively new to Visual Studio. Because C# is fully object-oriented, you'll come to rely on IntelliSense drop-down lists in a big way; I think I'd rather dig ditches than program without them. <center>Figure 3.3. IntelliSense drop- down lists, or auto-completion drop-down lists, make coding dramatically easier. [[Image:03fig03.jpg|500px|graphics/03fig03.jpg]] </center> Use the Backspace key to completely erase the code you just entered and enter the following code in its place (press Enter at the end of each line): <pre>this.Width = this.Width + 20; this.Height = this.Height + 20; </pre> Again, the word <tt>this</tt> refers to the object to which the code belongs (in this case, the form). The word <tt>this</tt> is a reserved word; it's a word that you cannot use to name objects or variables because C# has a specific meaning for it. When writing code within a form module, as you are doing here, you should always use the <tt>this</tt> reserved word rather than using the name of the form. <tt>this</tt> is much shorter than using the full name of the current form, and it makes the code more portable (you can copy and paste the code into another form module and not have to change the form name to make the code work). Also, should you change the name of the form at any time in the future, you won't have to change references to the old name. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The word <tt>this</tt> is the equivalent to the <tt>Me</tt> reserved word in Visual Basic. |} The code you've entered simply sets the Width and Height properties of the form to whatever the current value of the Width and Height properties happens to be, plus 20 pixels. Redisplay the form designer by selecting the tab titled Form1.cs [Design]; then double-click the Shrink button to access its Click event and add the following code: <pre>this.Width = this.Width � 20; this.Height = this.Height � 20; </pre> This code is very similar to the code in the Enlarge_Click event, except that it reduces the Width and Height properties of the form by 20 pixels. Your screen should now look like [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig04 Figure 3.4]. <center>Figure 3.4. The code you've entered should look exactly like this. [[Image:03fig04.jpg|500px|graphics/03fig04.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | As you create projects, it's a very good idea to save frequently. Save your project now by clicking the Save All button on the toolbar. |} Again, display the form designer by clicking the tab Form1.cs [Design]. Your Properties Example is now ready to be run! Press F5 to put the project in Run mode (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig05 Figure 3.5]). <center>Figure 3.5. What you see is what you get�the form you created should look just as you designed it. [[Image:03fig05.jpg|301px|graphics/03fig05.jpg]] </center> Click the Enlarge button a few times and notice how the form gets bigger. Next, click the Shrink button to make the form smaller. When you've clicked enough to satisfy your curiosity (or until you get bored), end the running program and return to Design mode by clicking the Stop Debugging button on the toolbar. Understanding Methods In addition to properties, most objects have methods. Methods are actions the object can perform, in contrast to attributes that describe the object. To understand this distinction, think about the Pet object example. A Dog object has a certain set of actions that it can perform. These actions, called methods in C#, include barking and tail wagging. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig06 Figure 3.6] illustrates the Dog object and its methods. <center>Figure 3.6. Invoking a method causes the object to perform an action. [[Image:03fig06.gif|334px|graphics/03fig06.gof]] </center> Triggering Methods Think of methods as functions�which is exactly what they are. When you invoke a method, code is executed. You can pass data to the method, and methods may return values. However, a method is neither required to accept parameters (data passed by the calling code) nor required to return a value; many methods simply perform an action in code. Invoking (triggering) a method is similar to referencing the value of a property; you first reference the object's name, then a "dot," then the method name, followed by a set of parentheses, which can optionally contain any parameters that must be passed to the method. <pre>{ObjectName}.{Method}(); </pre> For example, to make the hypothetical Dog object Bruno bark using C# code, you would use this line of code: <pre>Bruno.Bark(); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Method calls in C# must always have parentheses. Sometimes they'll be empty, but at other times they'll contain data. |} Invoking methods is simple; the real skill lies in knowing what methods an object supports and when to use a particular method. Understanding Method Dynamism Properties and methods go hand in hand, and at times a particular method may become unavailable because of one or more property values. For example, if you were to set the NumberofLegs on the Dog object Bruno equal to zero, the Walk and Fetch methods would obviously be inapplicable. If you were to set the NumberofLegs property back to four, you could then trigger the Walk or Fetch methods again. In C#, a method or property won't physically become unavailable�you can still call it, but doing so might cause an exception (error) or the call may be ignored. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Building an Object Example Project The only way to really grasp what objects are and how they work is to use them. I've said this before but I can't say it enough: everything in C# is an object. You're about to create a sample project that uses objects. If you're new to programming with objects, you'll probably find this a bit confusing. However, I'll walk you through step by step, explaining each section in detail. The project you're going to create consists of a single form with one button on it. When the button is clicked, a line will be drawn on the form beginning at the upper-left corner of the form and extending to the lower-right corner. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10], "Drawing and Printing," you'll learn all about the drawing functionality within C#. |} Creating the Interface for the Drawing Project Follow these steps to create the interface for your project: # Create a new Windows Application project titled Object Example. # Change the form's Text property to Object Example using the Properties window. # Add a new button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnDraw</tt> |- | <tt>Location</tt> | <tt>112,120</tt> |- | <tt>Text</tt> | <tt>Draw</tt> |} Writing the Object-Based Code You're now going to add code to the Click event of the button. I'm going to explain each statement, and at the end of the steps, I'll show the complete code listing. Object Example Project # Double-click the button to access its Click event. # Enter the first line of code as follows (remember to press Enter at the end of each statement): <pre>System.Drawing.Graphics objGraphics = null; </pre> Objects don't materialize out of thin air; they have to be created. When a form is loaded into memory, it loads all its controls (that is, creates the control objects), but not all objects are created automatically like this. The process of creating an instance of an object is called instantiation. When you load a form, you instantiate the form object, which in turn instantiates its control objects. You could load a second instance of the form, which in turn would instantiate a new instance of the form and new instances of all controls. You would then have two forms in memory and two of each used control. To instantiate an object in code, you create a variable that holds a reference to an instantiated object. You then manipulate the variable as an object. The statement you wrote in step 2 creates a new variable called objGraphics, which holds a reference to an object of type Graphics from the .NET Framework System.Drawing class. You also initialized the value for objGraphics to null. You learn more about variables in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays." # Enter the second line of code exactly as shown here: <pre>objGraphics = CreateGraphics(); </pre> CreateGraphics is a method of the form. The CreateGraphics method is pretty complicated under the hood, and I discuss it in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10]. For now, understand that the method CreateGraphics instantiates a new object that represents the client area of the current form. The client area is the gray area within the borders and title bar of a form. Anything drawn onto the objGraphics object appears on the form. What you've done is set the variable objGraphics to point to an object that was returned by the CreateGraphics method. Notice how values returned by a property or method don't have to be traditional values such as numbers or text; they can also be objects. # Enter the third line of code as shown next: <pre>objGraphics.Clear(System.Drawing.SystemColors.Control); </pre> This statement clears the background of the form using whatever color the user has selected as the Windows forms color. How does this happen? In step 3, you used the CreateGraphics method of the form to instantiate a new graphics object in the variable objGraphics. With the code statement you just entered, you're calling the clear method of the objGraphics object. The Clear method is a method of all Graphics objects used to clear the graphics surface. The Clear method accepts a single parameter�the color to which you want the surface cleared. The value you're passing to the parameter looks fairly convoluted. Remember that "dots" are a method of separating objects from their properties and methods. Knowing this, you can discern that System is an object (technically it's a Namespace, as discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24], "The 10,000-Foot View," but for our purposes it behaves just like an object) because it appears before any of the dots. However, there are multiple dots. What this means is that Drawing is an object property of the System object; it's a property that returns an object. So the dot following Drawing is used to access a member of the Drawing object, which in turn is a property of the System object. We're not done yet, however, because there is yet another dot. Again, this indicates that SystemColors, which follows a dot, is an object of the Drawing object, which in turn is…well, you get the idea. As you can see, object references can and do go pretty deep, and you'll use many dots throughout your code. The key points to remember are the following: #* Text that appears to the left of a dot is always an object (or Namespace). #* Text that appears to the right of a dot is a property reference or a method call. #* Methods are never objects. In addition, methods are always followed by parentheses. If the text in question isn't followed by parentheses, it's definitely a property. Therefore, text that appears between two dots is a property that returns an object. Such a property is called an object property. The final text in this statement is the word Control. Because Control is not followed by a dot, you know that it's not an object; therefore, it must be a property or a method. Because you expect this string of object references to return a color value to be used to clear the Graphics object, you know that Control must be a property or a method that returns a value. A quick check of the documentation (or simply realizing that the text isn't followed by a set of parentheses) would tell you that Control is indeed a property. The value of Control always equates to the color designated on the user's computer for the face of forms. By default, this is a light gray (often fondly referred to as battleship gray), but users can change this value on their computers. By using this property to specify a color rather than supplying the actual value for gray, you are assured that no matter the color scheme used on a computer, the code will clear the form to the proper system color. System colors are explained in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10]. # Enter the following statement: <pre>objGraphics.DrawLine(System.Drawing.Pens.Chartreuse, 0, 0, this.DisplayRectangle.Width, this.DisplayRectangle.Height); </pre> This statement draws a chartreuse line on the form. Within this statement is a single method call and three property references. Can you tell what's what? Immediately following objGraphics (and a dot) is DrawLine. Because no equal sign is present (and the text is followed by parentheses), you can deduce that this is a method call. As with the Clear() method, the parentheses after DrawLine() are used to enclose a value passed to the method. The DrawLine() method accepts the following parameters in the order in which they appear here: #* A Pen #* X value of first coordinate #* Y value of first coordinate #* X value of second coordinate #* Y value of second coordinate The DrawLine() method draws a straight line between coordinate one and coordinate two, using the pen specified in the Pen parameter. I'm not going to go into detail on pens here (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10]), but suffice it to say that a pen has characteristics such as width and color. Looking at the dots once more, notice that you're passing the Chartreuse property of the Pens object. Chartreuse is an object property that returns a predefined Pen object that has a width of 1 pixel and the color chartreuse. You're passing 0 as the next two parameters. The coordinates used for drawing are defined such that 0,0 is always the upper-left corner of a surface. As you move to the right of the surface, X increases, and as you move down the surface, Y increases; you can use negative values to indicate coordinates that appear to the left or above the surface. The coordinate 0,0 causes the line to be drawn from the upper-left corner of the form's client area. The object property DisplayRectangle is referenced twice in this statement. DisplayRectangle is a property of the form that holds information about the client area of the form. Here, you're simply getting the Width and Height properties of the client area and passing them to the DrawLine method. The result is that the end of the line will be at the lower-right corner of the form's client area. # Last, you have to clean up after yourself by entering the following code statement: <pre>objGraphics.Dispose(); </pre> Objects often make use of other objects and resources. The underlying mechanics of an object can be truly boggling and almost impossible to discuss in an entry-level programming book. The net effect, however, is that you must explicitly destroy most objects when you're done with them. If you don't destroy an object, it may persist in memory and it may hold references to other objects or resources that exist in memory. This means you can create a memory leak within your application that slowly (or rather quickly) munches system memory and resources. This is one of the cardinal no-no's of Windows programming, yet the nature of using resources and the fact you're responsible for telling your objects to clean up after themselves makes this easy to do. Objects that must explicitly be told to clean up after themselves usually provide a Dispose method. When you're done with such an object, call Dispose on the object to make sure it frees any resources it might be holding. For your convenience, following are all the lines of code: <pre>System.Drawing.Graphics objGraphics = null; objGraphics = CreateGraphics(); objGraphics.Clear(System.Drawing.SystemColors.Control); objGraphics.DrawLine(System.Drawing.Pens.Chartreuse, 0, 0, this.DisplayRectangle.Width, this.DisplayRectangle.Height); objGraphics.Dispose(); </pre> Testing Your Object Example Project Now the easy part. Run the project by pressing F5 or by clicking the Start button on the toolbar. Your form looks pretty much like it did at design time. Clicking the button causes a line to be drawn from the upper-left corner of the form's client area to the lower-right corner (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig07 Figure 3.7]). <center>Figure 3.7. Simple lines and complex drawings are accomplished using objects. [[Image:03fig07.jpg|301px|graphics/03fig07.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you receive any errors when you attempt to run the project, go back and make sure the code you entered exactly matches the code I've provided. |} Resize the form, larger or smaller, and click the button again. Notice that the form is cleared and a new line is drawn. If you were to omit the statement that invokes the Clear method (and you're welcome to stop your project and do so), the new line would be drawn, but any and all lines already drawn would remain. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you use Alt+Tab to switch to another application after drawing one or more lines, the lines will be gone when you come back to your form. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10], you'll learn why this is so and how to work around this behavior. |} Stop the project now by clicking Stop Debugging on the C# toolbar and then click Save All to save your project. What I hope you've gained from building this example is not necessarily that you can now draw a line (which is cool), but rather an understanding of how objects are used in programming. As with learning almost anything, repetition aids in understanding. Therefore, you'll be working with objects a lot throughout this book. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Understanding Collections A collection is just what its name implies: a collection of objects. Collections make it easy to work with large numbers of similar objects by enabling you to create code that performs iterative processing on items within the collection. Iterative processing is an operation that uses a loop to perform actions on multiple objects, rather than writing the operative code for each object. In addition to containing an indexed set of objects, collections also have properties and may have methods. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig08 Figure 3.8] illustrates the structure of a collection. <center>Figure 3.8. Collections contain sets of like objects, and they have their own properties and methods. [[Image:03fig08.gif|324px|graphics/03fig08.gof]] </center> Continuing with the Dog/Pet object metaphor, think about what an Animals collection might look like. The Animals collection could contain one or more Pet objects, or it could be empty (containing no objects). All collections have a Count property that returns the total count of objects contained within the collection. Collections may also have methods, such as a Delete method used to remove objects from the collection or an Add method used to add a new object to the collection. To better understand collections, you're going to create a small C# project that cycles through the Controls collection of a form, telling you the value of the Name property of every control on the form. To create your sample project, follow these steps: # Start C# now (if it's not already loaded) and create a new Windows Application project titled Collections Example. # Change the text of the form to Collections Example by using the Properties window. # Add a new button to the form by double-clicking the Button tool in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowNames</tt> |- | <tt>Location</tt> | <tt>88,112</tt> |- | <tt>Size</tt> | <tt>120,23</tt> |- | <tt>Text</tt> | <tt>Show Control Names</tt> |} # Next, add some text box and label controls to the form. As you add the controls to the form, be sure to give each control a unique name. Feel free to use any name you like, but you can't use spaces in a control name. You may want to drag the controls to different locations on the form so that they don't overlap. # When you are finished adding controls to your form, double-click the Show Control Names button to add code to its Click event. Enter the following code: <pre>for (int intIndex=0; intIndex < this.Controls.Count; intIndex++) { MessageBox.Show ("Control # " + intIndex.ToString() + " has the name " + this.Controls[intIndex].Name); } </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Every form has a Controls collection, which may or may not contain any controls. Even if no controls are on the form, the form still has a Controls collection. |} The first statement (the one that begins with for) accomplishes a few tasks. First, it initializes the variable intIndex to 0, and then tests the variable. It also starts a loop executing the statement block (loops are discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch15.htm#ch15 Hour 15], "Looping for Efficiency"), incrementing intIndex by one until intIndex equals the number of controls on the form, less one. The reason that intIndex must always be less than the Count property is that when referencing items in a collection, the first item is always item zero�collections are zero based. Thus, the first item is in location zero, the second item is in location one, and so forth. If you tried to reference an item of a collection in the location of the value of the Count property, an error would occur because you would be referencing an index that is one higher than the actual locations within the collection. The MessageBox.Show() method (discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch18.htm#ch18 Hour 18], "Interacting with Users ") is a class available in the .NET Framework that is used to display a simple dialog box with text. The text that you are providing, which the MessageBox.Show() method will display, is a concatenation of multiple strings of text. (Concatenation is the process of adding strings together; it is discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13.htm#ch13 Hour 13], "Performing Arithmetic, String Manipulation, and Date/Time Adjustments.") Run the project by pressing F5 or by clicking Start on the toolbar. Ignore the additional controls that you placed on the form and click the Show Control Names button. Your program will then display a message box similar to the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig09 Figure 3.9] for each control on your form (because of the loop). When the program is finished displaying the names of the controls, choose Stop Debugging from the Debug toolbar to stop the program, and then save the project. <center>Figure 3.9. The Controls collection enables you to get to each and every control on a form. [[Image:03fig09.jpg|298px|graphics/03fig09.jpg]] </center> Because everything in C# is an object, you can expect to use numerous collections as you create your programs. Collections are powerful, and the quicker you become comfortable using them, the more productive you'll become. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using the Object Browser C# includes a useful tool that lets you easily view members, such as properties and methods, of all the objects in a project: the Object Browser (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig10 Figure 3.10]). This is extremely useful when dealing with objects that aren't well documented, because it enables you to see all the members an object supports. To view the Object Browser, display the Other Windows submenu of the View menu and choose Object Browser. <center>Figure 3.10. The Object Browser lets you view all properties and methods of an object. [[Image:03fig10.jpg|500px|graphics/03fig10.jpg]] </center> The Browse drop-down list in the upper-left corner of the Object Browser is used to determine the browsing scope. You can choose Active Project to view only the objects referenced in the active project, or you can choose Selected Components (the default) to view a set of selected objects. The Object Browser shows a preselected set of objects for Selected Components, but you can customize the object set by clicking the Customize button next to the Browse drop-down list. I wouldn't recommend changing the custom object set until you have some experience using C# objects and some experience using the Object Browser, as well. The top-level nodes in the Objects tree are libraries. Libraries are usually DLL or EXE files on your computer that contain one or more objects. To view the objects within a library, simply expand the library node. As you select objects within a library, the list to the right of the Objects tree will show information regarding the members of the selected object (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#ch03fig10 Figure 3.10]). For even more detailed information, click a member in the list on the right, and the Object Browser will show information about the member in the gray area below the two lists. Summary In this hour, you learned all about objects. You learned how objects have properties, which are attributes that describe the object. Some properties can be set at design time using the Properties window, and most can also be set at runtime in C# code. You learned that referencing a property on the left side of the equal sign has the effect of changing a property, whereas referencing a property on the right side of the equal sign retrieves the property's value. In addition to properties, you learned that objects have executable functions, called methods. Like properties, methods are referenced by using a "dot" at the end of an object reference. An object may contain many methods and properties, and some properties can even be objects themselves. You learned how to "follow the dots" to interpret a lengthy object reference. Objects are often used as a group, called a collection. You learned that a collection often contains properties and methods, and that collections let you easily iterate through a set of like objects. Finally, you learned that the Object Browser can be used to explore all the members of an object in a project. The knowledge you've gained in this hour is fundamental to understanding programming with C#, because objects and collections are the basis on which applications are built. After you have a strong grasp of objects and collections�and you will have by the time you've completed all the hours in this book�you'll be well on your way to fully understanding the complexities of creating robust applications using C#. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#qad1e12077 Q1:]''' | Is there an easy way to get help about an object's member? |- | align="right" | ''' A1: ''' | Absolutely. C#'s context-sensitive Help extends to code as well as to visual objects. To get help on a member, write a code statement that includes the member (it doesn't have to be a complete statement), position the cursor within the member text, and press F1. For instance, to get help on the Count property of the controls collection, you could type this.Controls.Count, position the cursor within the word Count, and press F1. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#qad1e12096 Q2:]''' | Are there any other types of object members besides properties and methods? |- | align="right" | ''' A2: ''' | Yes. An event is actually a member of an object, although it's not always thought of that way. Not all objects support events, however, but most objects do support properties and methods. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans01 1:]''' | True or False: C# is a true object-oriented language. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans02 2:]''' | An attribute that defines the state of an object is called a what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans03 3:]''' | To change the value of a property, the property must be referenced on which side of an equal sign? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans04 4:]''' | What is the term for when a new object is created from a template? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans05 5:]''' | An external function of an object (one that is available to code using an object) is called a what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans06 6:]''' | True or False: A property of an object can be another object. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans07 7:]''' | A group of like objects is called what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec3.htm#ch03ans08 8:]''' | What tool is used to explore the members of an object? |} Exercises # Create a new project and add text boxes and a button to the form. Write code that, when clicked, places the text in the first text box into the second text box. Hint: Use the Text property of the text box controls. # Modify the collections example in this hour to print the Height of all controls, rather than the name. {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03lev1sec8.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04.htm [[Image:next.gif|41px|Next Section]]] |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/03.htm#toppage Top] |} phqkcvx0fuenrn5smfs4f0y7r6s3u9n User:Foxall/04 2 2135 5596 2007-06-18T00:23:03Z Foxall 27 Bog cusub: == Hour 4. Understanding Events == It's fairly easy to create an attractive interface for an application using C#'s integrated design tools. You can create beautiful forms that have butt... 5596 wikitext text/x-wiki == Hour 4. Understanding Events == It's fairly easy to create an attractive interface for an application using C#'s integrated design tools. You can create beautiful forms that have buttons to click, text boxes in which to type information, picture boxes in which to view pictures, and many other creative and attractive elements with which users can interact. However, this is just the start of producing a C# program. In addition to designing an interface, you have to empower your program to perform actions in response to how a user interacts with the program and how Windows interacts with the program. This is accomplished by using events. In the previous hour, you learned about objects and their members�notably, properties and methods. In this hour, you'll learn about object events and event-driven programming, and you'll learn how to use events to make your applications responsive. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev1sec1 Understanding event-driven programming] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev2sec1 Triggering events] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev2sec3 Avoiding recursive events] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev2sec4 Accessing an object's events] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev2sec5 Working with event parameters] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec2.htm#ch04lev2sec8 Creating event handlers] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec1.htm#ch04lev2sec4 Dealing with orphaned events] ---- === Understanding Event-Driven Programming === With "traditional" programming languages (often referred to as procedural languages), the program itself fully dictates what code is executed and when it's executed. When you start such a program, the first line of code in the program executes, and the code continues to execute in a completely predetermined path. The execution of code may, on occasion, branch and loop, but the execution path is completely controlled by the program. This often meant that a program was rather restricted in how it could respond to the user. For instance, the program might expect text to be entered into controls on the screen in a predetermined order, unlike in Windows, where a user can interact with different parts of the interface, often in any order the user chooses. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | C# incorporates an event-driven programming model. Event-driven applications aren't bound by the constraints of procedural programs. Instead of the top-down approach of procedural languages, event-driven programs have logical sections of code placed within events. There is no predetermined order in which events occur, and often the user has complete control over what code is executed in an event-driven program by interactively triggering specific events, such as by clicking a button. An event, along with the code it contains, is called an event procedure. |} Triggering Events In the previous hour, you learned how a method is simply a function of an object. Events are a special kind of method; they are a way for objects to signal state changes that may be useful to clients of that object. Events are methods that can be called in special ways�usually by the user interacting with something on a form or by Windows itself, rather than being called from a statement in your code. There are many types of events and many ways to trigger those events. You've already seen how a user can trigger the Click event of a button by clicking it. User interaction isn't the only thing that can trigger an event, however. An event can be triggered in one of the following four ways: * Users can trigger events by interacting with your program. * Objects can trigger their own events, as needed. * The operating system (whichever version of Windows the user is running) can trigger events. * You can trigger events by calling them using C# code. Events Triggered Through User Interaction The most common way an event is triggered is by a user interacting with a program. Every form, and almost every control you can place on a form, has a set of events specific to its object type. For example, the Button control has a number of events, including the Click event, which you've already used in previous hours. The Click event is triggered, and then the code within the Click event executes when the user clicks the button. The Textbox control allows users to enter information using the keyboard, and it also has a set of events. The Textbox control has some of the same types of events as the Button control, such as a Click event, but the Textbox control also has events not supported by the Button control, such as a TextChanged event. The TextChanged event occurs each time the contents of the text box change, such as when the user types information into the text box. Because you can't enter text within a Button control, it makes sense that the Button control wouldn't have a TextChanged event. Each and every object that supports events supports a unique set of events. Each type of event has its own behavior, and it's important to understand the events with which you work. The TextChanged event, for instance, exhibits a behavior that may not be intuitive to a new developer because the event fires each time the contents of the text box change. If you were to type the following sentence into an empty text box: <pre>C# is very cool! </pre> the Change event would be triggered 16 times�once for each character typed�because each time you enter a new character, the contents of the text box are changed. Although it's easy to think that the Change event fires only when you commit your entry, such as by leaving the text box or pressing Enter, this is simply not how it works. Again, it's important to learn the nuances and the exact behavior of the events you're using. If you use events without fully understanding how they work, your program may exhibit unusual, and often very undesirable, results. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Triggering events (which are just a type of procedure) using C# code is discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods." |} Events Triggered by an Object Sometimes an object triggers its own events. The most common example of this is the Timer control's Timer event. The Timer control doesn't appear on a form when the program is running; it appears only when you're designing a form. The Timer control's sole purpose is to trigger its Timer event at an interval that is specified in its Interval property. By setting the Timer control's Interval property, you control the interval, in milliseconds, when the Timer event executes. After firing its Timer event, a Timer control resets itself and again fires its Timer event when the interval has passed. This occurs until the interval is changed, the Timer control is disabled, or the Timer control's form is unloaded. A common use of timers is to create a clock on a form. You can display the time in a label and update the time at regular intervals by placing the code to display the current time in the Timer event. You'll create a project with a Timer control in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08.htm#ch08 Hour 8], "Advanced Controls." Events Triggered by the Operating System Finally, Windows can trigger certain events within your program �events that you may not even know exist. For example, when a form is fully or partially obstructed by another window, the program needs to know when the offending window is resized or moved so that it can repaint the area of its window that's been hidden. Windows and C# work together in this respect. When the obstructing window is moved or resized, Windows tells C# to repaint the form, which C.htm# does. This also causes C# to raise the form's Paint event. You can place code into the Paint event to create a custom display for the form, such as drawing shapes on the form using a Graphics object. That way, every time the form repaints itself, your custom drawing code executes. Avoiding Recursive Events {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | You must make sure never to cause an event to endlessly trigger itself. An event that continuously triggers itself is called a recursive event. To illustrate a situation that causes a recursive event, think of the text box's TextChanged event discussed earlier. The TextChanged event fires every time the text within the text box changes. Placing code into the TextChanged event that alters the text within the text box would cause the Change event to be fired again, which could result in an endless loop. Recursive events terminate when Windows returns a StackOverFlow exception (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig01 Figure 4.1]), indicating that Windows no longer has the resources to follow the recursion. |} <center>Figure 4.1. Recursive events eventually exhaust Windows's resources until an exception (error) occurs. [[Image:04fig01.gif|376px|graphics/04fig01.gof]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | When you receive a StackOverFlow exception, you should look for a recursive event as the culprit. |} Recursive events can involve more than one event in the loop. For example, if Event A triggers Event B, which in turn triggers Event A, you can have recursion of the two events. Recursion can take place among a sequence of many events, not just one or two. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Uses for recursive procedures actually exist, such as when you are writing complex math functions. For instance, recursive events are often used to compute factorials. However, when you purposely create a recursive event, you must ensure that the recursion isn't infinite. |} Accessing an Object's Events Accessing an object's events is simple, and if you've been following the examples in this book, you've already accessed a number of objects' default events. To access all of an object's events, you can use the Events icon (the lightning bolt) in the Properties window. You're now going to create a project to get the feel for working with events. Start C# and create a new Windows Application project titled View Events, and then follow these steps: # Use the toolbox to add a picture box to the form. # Change the name of the picture box to picText. # Click the Events button on the Properties window toolbar (the lightning bolt icon). Your screen should look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig02 Figure 4.2]. Notice that the Properties window now lists all the events for the selected object; in your case, it is the picText PictureBox object. <center>Figure 4.2. Double�click an event in the Properties window to create the desired event. [[Image:04fig02.jpg|500px|graphics/04fig02.jpg]] </center> When you access a control's events, the default event for that type of control is selected. As you can see, the Click event is the default for a PictureBox. Scroll through the picText events and select the MouseDown event. Double-click the word MouseDown and C# will create the MouseDown event procedure and position you within it, ready to enter code (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig03 Figure 4.3]). <center>Figure 4.3. C# creates an empty event procedure when you select an object's event for the first time. [[Image:04fig03.jpg|500px|graphics/04fig03.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The code statement above the cursor is the event declaration. An event declaration is a statement that defines the structure of an event handler. Notice that this event declaration contains the name of the object, an underscore character (_), and then the event name. Following the event name is a set of parentheses. The items within the parentheses are called parameters, which is the topic of the next section. This is the standard declaration structure for an event procedure. |} The full event declaration for the Click event is the following: <pre>private void picText_MouseDown(object sender, _ System.Windows.Forms.MouseEventArgs e) </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The words Private and Void are reserved words that indicate the scope and type of the method. Scope and type are discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11]. |} Working with Event Parameters {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As mentioned previously, the items within the parentheses of an event declaration are called parameters. An event parameter is a variable that is created and assigned a value by C#. These parameter variables are used to get, and sometimes set, relevant information within the event. Multiple parameters within an event procedure are always separated by commas. A parameter contains data that relates to the event. This data may be a number, text, an object�almost anything. As you can see, the MouseDown event has two parameters. When the Click event procedure is triggered, C# automatically creates the parameter variables and assigns them values for use in this one execution of the event procedure; the next time the event procedure occurs, the values in the parameters are reset. You use the values in the parameters to make decisions or perform operations in your code. |} The MouseDown event of a form has the following parameters: <pre>object sender </pre> and <pre>System.Windows.Forms.MouseEventArgs e </pre> The first word identifies the type of data the parameter contains, followed by the name of the parameter. The first parameter, sender, holds a generic object. Object parameters can be any type of object supported by C#. It's not critical that you understand data types right now, just that you're aware that different parameter variables contain different types of information. Some contain text, others contain numbers, and still others (many others) contain objects. In the case of the sender parameter, it will always hold a reference to the control causing the event. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The sender parameter returns a reference to the control that causes the event. It's often best to use the sender parameter rather than referencing the control by name, so that if you change the name of the control, you won't have to update the code. Also, by referencing the sender object, the code becomes portable; you can copy and paste it into the event of a different control of the same type, and the code should work without modification. |} The e parameter, on the other hand, is where the real action is with the MouseDown event. The e parameter also holds an object; in this case the object is of the type <tt>System.WinForms.MouseEventArgs</tt>. This object has properties that relate to the MouseDown_event. To see them, type in the following code, but don't press anything after entering the dot (period): <pre>e. </pre> When you press the period, you'll get a drop-down list showing you the members (properties and methods) of the e object (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig04 Figure 4.4]). Using the e object, you can determine a number of things about the occurrence of the MouseDown event. I've listed some of the more interesting items in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04table01 Table 4.1]. <center>Figure 4.4. IntelliSense drop-down lists alleviate the need for memorizing the makeup of hundreds of objects. [[Image:04fig04.jpg|500px|graphics/04fig04.jpg]] </center> {| cellspacing="0" cellpadding="1" border="1"|+ Table 4.1. Commonly used members of <tt>System.WinForms.MouseEventArgs</tt> |- | Property | Description |- | <tt>Clicks</tt> | Returns the number of times the user clicked the mouse button. |- | <tt>Button</tt> | Returns the button that was clicked (left, middle, right). |- | <tt>X</tt> | Returns the horizontal coordinate at which the pointer was located when the user clicked. |- | <tt>Y</tt> | Returns the vertical coordinate at which the pointer was located when the user clicked. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Each time the event occurs, the parameters are initialized by C# so that they always reflect the current occurrence of the event. |} Each event has parameters specific to it. For instance, the <tt>TextChanged</tt> event returns parameters different from the <tt>MouseDown</tt> event. As you work with events�and you'll work with a lot of events�you'll quickly become familiar with the parameters of each event type. You'll learn how to create parameters for your own methods in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11]. Deleting an Event Handler Deleting an event handler involves more than just deleting the event procedure. When you add a new event handler to a class, C# automatically creates the event procedure for you and positions you to enter code within the event. However, C# does a little bit more for you "under the covers" to hook the event procedure to the control. It does this by creating a code statement in the hidden code of the class. Ordinarily, you don't have to worry about this statement. However, when you delete an event procedure, C# doesn't automatically delete the hidden code statement, and your code won't compile. The easiest way to correct this is to run the project; when C# encounters the error, it will show you the offending statement, which you can delete. Try this now: # Delete the MouseDown procedure (don't forget to delete the open and close brackets of the procedure, as well as any code within them). This deletes the procedure. # Press F5 to run the project. You'll receive a message that a build error has occurred. Click No to return to the code editor. # A task for the error has been created in the Task List. Double-click the task and C# will take you to the offending statement. It will read: <pre>this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown); </pre> # Delete this statement, and now your code will compile and run. Whenever you delete an event procedure, you will have to delete the corresponding statement that links the procedure to its object before the code will run. Building an Event Example Project You're now going to create a very simple project in which you'll use the event procedures of a text box. Specifically, you're going to write code to display a message when a user presses a mouse button on the text box, and you'll write code to clear the text box when the user releases the button. You'll be using the e parameter to determine which button the user has pressed. Creating the User Interface Create a new Windows application titled Events Example. Change the form's Text property to Events Demo. Next, add a text box to the form by double-clicking the TextBox tool in the toolbox. Set the properties of the text box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtEvents</tt> |- | <tt>Location</tt> | <tt>48</tt>,<tt>120</tt> |- | <tt>Size</tt> | <tt>193</tt>,<tt>20</tt> |- | <tt>Text</tt> | <tt>Click Me!</tt> |} The only other control you need on your form is a label. Label controls are used to display static text; users cannot type text into a label. Add a new label to your form now by double-clicking the Label tool in the toolbox and then setting the Label control's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lblMessage</tt> |- | <tt>Location</tt> | <tt>48</tt>,<tt>152</tt> |- | <tt>Size</tt> | <tt>192</tt>,<tt>16</tt> |- | <tt>Text</tt> | <tt>(</tt><tt>make blank</tt><tt>)</tt> |- | <tt>TextAlign</tt> | <tt>MiddleCenter</tt> |} Your form should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig05 Figure 4.5]. It's a good idea to save frequently, so save your project now by clicking the Save All button on the toolbar. <center>Figure 4.5. A Label control that has no value in its Text property can be hard to see unless selected. [[Image:04fig05.jpg|500px|graphics/04fig05.jpg]] </center> Creating Event Handlers The interface for the Events Example project is complete�on to the fun part. You're now going to create the event procedures that empower your program to do something. The event that we're interested in first is the <tt>MouseDown</tt> event. Select the TextBox on your design form, and then click the Events icon on the Properties window toolbar. The default event for text boxes is the TextChanged event, so it's the one now selected. You're not interested in the TextChanged event at this time, however. Scroll through the event list for the MouseDown event. Double-click MouseDown; C# then creates a new MouseDown event procedure for the text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig06 Figure 4.6]). <center>. [[Image:04fig06.jpg|500px|graphics/04fig06.jpg]] </center> Enter the following code into the MouseDown event procedure: <pre>switch(e.Button) { case MouseButtons.Left: lblMessage.Text = "You are pressing the left button!"; break; case MouseButtons.Right: lblMessage.Text = "You are pressing the right button!"; break; case MouseButtons.Middle: lblMessage.Text = "You are pressing the middle button!"; break; } </pre> The Switch construct, which is discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14.htm#ch14 Hour 14], "Making Decisions in C# Code," compares the value of an expression to a list of possible values. In this instance, the expression is the value of e.Button (the Button property of the object e). When this code executes, the expression is compared to each Case statement in the order in which the statements appear. If and when a match is found, the code immediately following the Case statement that was matched gets executed. Therefore, the code you wrote looks at the value of e.Button and compares it to three values, one at a time. When the Switch construct determines which button has been pressed, it displays a message about it in the Label control. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In a more robust application, you would probably perform more useful and more complicated code. For instance, you may want to display a custom pop-up menu when the user clicks with the right button and execute a specific function when the user clicks with the middle button. All this is possible, and more. |} The nice thing about objects is that you don't have to commit every detail about them to memory. For example, you don't need to memorize the return values for each type of button (who wants to remember MouseButtons.Left anyway?). Just remember that the e parameter contains information about the event. When you type e and press the period, the IntelliSense drop-down list appears and shows you the members of e, one of which is Button. Don't feel overwhelmed by all the object references you'll encounter throughout this book. Simply accept that you can't memorize them all, nor do you need to; you'll learn the ones that are important, and you'll use Help when you're stuck. Also, after you know the parent object in a situation, such as the e object in this example, it's easy for you to determine the objects and members that belong to it by using the IntelliSense drop-down lists. You're now going to add code to the MouseUp event to clear the label's Text property when the user releases the button. First, you'll need to create the MouseUp event procedure. To do this, return to the Form Design view (click the Form1.cs[Design] tab). The Properties should still have the txtEvents object's events listed. If the events aren't shown in the Properties window, select txtEvents from the drop-down list box in the Properties window and click the events icon. Locate and double-click the MouseUp event from the events list. All you're going to do in the MouseUp_event is clear the label. Enter the following code: <pre>lblMessage.Text = ""; </pre> Testing Your Events Project Run your project now by pressing F5. If you entered all the code correctly and you don't receive any errors, your form will be displayed as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#ch04fig07 Figure 4.7]. <center>Figure 4.7. A simple but functional example. [[Image:04fig07.jpg|298px|graphics/04fig07.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Remember that C# is case sensitive. Entering only one character in the wrong case will cause your project to fail to compile. |} Click the text box with the left mouse button and watch the label. It will display a sentence telling you which button has been clicked. When you release the button, the text is cleared. Try this with the middle and right buttons, as well. When you click the text box with the right button, Windows displays the standard shortcut menu for text boxes. When this menu appears, you have to select something from it or click somewhere off the menu to trigger the MouseUp event. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09.htm#ch09 Hour 9], "Adding Menus and Toolbars to Forms," you'll learn how to add your own shortcut menus to forms and controls. When you're satisfied that your project is behaving as it should, from the Debug menu choose Stop Debugging to stop the project (or click the Close button on your form), and then save your work by clicking Save All on the toolbar. Summary In this hour, you learned about event-driven programming, including what events are, how to trigger events, and how to avoid recursive events. In addition, you've learned how to access an object's events and how to work with parameters. Much of the code you'll write will execute in response to an event of some kind. By understanding how events work, including being aware of the available events and their parameters, you'll be able to create complex C# programs that react to a multitude of user and system input. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#qad1e14038 Q1:]''' | Is it possible to create custom events for an object? |- | align="right" | ''' A1: ''' | You can create custom events for objects created from your custom classes (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects with Classes"), but you cannot create custom events for existing C# objects such as forms and controls (without using some seriously advanced object-oriented techniques that are beyond the scope of this book). |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#qad1e14064 Q2:]''' | Is it possible for objects that don't have an interface to support events? |- | align="right" | ''' A2: ''' | Yes. However, to use the events of such an object, the object variable must be dimensioned a special way or the events aren't available. This gets a little tricky and is beyond the scope of this book. If you have an object in code that supports events, look in Help for the keyword WithEvents for information on how to use such events. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans01 1:]''' | Name three things that can cause events to occur. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans02 2:]''' | True or False: All objects support the same set of events. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans03 3:]''' | What is the default event type for a button? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans04 4:]''' | The act of an event calling itself in a loop is called what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans05 5:]''' | What is the easiest way to access a control's default event handler? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec4.htm#ch04ans06 6:]''' | All control events pass a reference to the control causing the event. What is the name of the parameter that holds this reference? |} Exercises # Create a project with a single text box. In the Resize event of the form, show the Width of the form in the text box. # Create a project with a form and a text box. Add code to the TextChange event to cause a recursion when the user types in text. Hint: Concatenate a character to the end of the user's text using a statement such as <tt>txtMyTextBox.Text = String. Concat(this. txtMyTextBox.Text,"a");</tt> {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04lev1sec4.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/part02.htm [[Image:next.gif|41px|Next Section]]] |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/04.htm#toppage Top] |} 7yjw4iiln0qjdv0924p3roa0hovvo2n User:Foxall/05 2 2136 5597 2007-06-18T00:24:20Z Foxall 27 Bog cusub: ./ ADD NAME=CH05.HTM {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/part02.htm [[Image:previous.gif|62px|Pre... 5597 wikitext text/x-wiki ./ ADD NAME=CH05.HTM {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/part02.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec1.htm [[Image:next.gif|41px|Next Section]]] |} ---- Hour 5. Building Forms�Part I With few exceptions, forms are the cornerstone of every Windows application's interface. Forms are essentially windows and the two terms are often used interchangeably. More accurately, "window" refers to what's seen by the user and what the user interacts with, whereas "form" refers to what you see when you design. Forms let users view and enter information in a program (such as the form you built in your Picture Viewer program in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour"). Such information may be text, pictures, graphs�almost anything that can be viewed onscreen. Understanding how to design forms correctly will enable you to begin creating solid interface foundations for your programs. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | C# uses a new forms engine called Windows Forms. |} Think of a form as a canvas on which you build your program's interface. On this canvas, you can print text, draw shapes, and place controls with which users can interact. The wonderful thing about C# forms is that they behave like a dynamic canvas; not only can you adjust the appearance of a form by manipulating what's on it, you can also manipulate specific properties of the form itself. In previous hours, you manipulated the following form appearance properties: * Text * Height * Left * Top * Width The capability to tailor your forms, however, goes far beyond these simple manipulations. There is so much to cover about Windows Forms that I've broken the material into two hours. In this hour, you'll learn the very basics of forms�adding them to a project, manipulating their properties, and showing and hiding them using C# code. Although you've done some of these things in previous hours, here you'll learn the nuts and bolts of the tasks you've performed. In the following hour, you'll learn more advanced form techniques. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec1.htm#ch05lev1sec1 Changing the name of a form] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev1sec2 Changing the appearance of a form] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec1 Displaying text on a form's title bar] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec3 Adding an image to a form's background] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec4 Giving a form an icon] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec5 Preventing a form from appearing in the taskbar] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec8 Specifying the initial display position of a form] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec9 Displaying a form in a normal, maximized, or minimized state] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm#ch05lev2sec10 Changing the mouse pointer] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec3.htm#ch05lev1sec3 Showing and hiding forms] {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/part02.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec1.htm [[Image:next.gif|41px|Next Section]]] |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#toppage Top] |} ./ ADD NAME=CH05LEV1SEC1.HTM {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05lev1sec2.htm [[Image:next.gif|41px|Next Section]]] |} Changing the Name of a Form The first thing you should do when you create a new object is give it a descriptive name, so that's the first thing I'll talk about in this hour. Start C# now (if it's not already running) and create a new Windows Application titled Forms Example. Using the Properties window, change the name of the form to fclsExample. When you need to create a new instance of this form, you'll use this name rather than the default generic name of Form1. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Remember, when you change the name of the startup form for your application, you need to update the class name in the entry point of your application (<tt>static void Main()</tt>). Refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1] for instructions on how to do this. |} Changing the Appearance of a Form Take a moment to browse the rest of the form's properties in the Properties window. In this hour, I'll show you how to use the more common properties of the form to tailor its appearance. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Remember, to get help on any property at any time, select the property in the Properties window and press F1. |} Displaying Text on a Form's Title Bar You should always set the text in a form's title bar to something meaningful. (Note: Not all forms have title bars, as you'll see later in this hour.) The text displayed in the title bar is the value placed in the form's Text property. Generally, the text should be one of the following: * The name of the program. This is most appropriate when the form is the program's main or only form. * The purpose of the form. This is perhaps the most common type of text displayed in a title bar. For example, if a form is used to select a printer, consider setting the Text property to Select Printer. When you take this approach, use active voice (for instance, don't use Printer Select). * The name of the form. If you choose to place the name of the form into the form's title bar, use the "English" name, not the actual form name. For instance, if you've used a naming convention and named a form fclsLogin, use the text Login or Login Form. Change the Text property of your form to Building Forms Example. Your form should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig01 Figure 5.1]. <center>Figure 5.1. Use common sense when setting title bar text. [[Image:05fig01.jpg|500px|graphics/05fig01.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | As with most other form properties, you can change the Text property at any time using C# code. |} Changing a Form's Background Color Although most forms appear with a gray background (this is part of the standard 3D color scheme in Windows), you can change a form's background to any color you like. To change a form's background color, you change its BackColor property. The BackColor property is a unique property in that you can specify a named color or an RGB value in the format Red, Green, Blue. By default, the BackColor is set to the color named Control. This color is a system color and may not be gray. When Windows is first installed, it's configured to a default color scheme. In the default scheme, the color for forms and other objects is the familiar "battleship" gray. However, as a Windows user, you're free to change any system color you desire. For instance, some people with color blindness prefer to change their system colors to colors that have more contrast than the defaults so that objects are more clearly distinguishable. When you assign a system color to a form or control, the appearance of the object adjusts itself to the current user's system color scheme. This doesn't just occur when a form is first displayed; changes to the system color scheme are immediately propagated to all objects that use the affected colors. Change the background color of your form to blue now by deleting the word Control in the BackColor property in the Properties window; in its place enter 0,0,255 and press Enter or Tab to commit your entry. Your form should now be blue because you entered an RGB value in which you specified no red, no green, and maximum blue (color values range from 0 to 255). In reality, you'll probably rarely enter RGB values. Instead, you'll select colors from color palettes. To view color palettes from which you can select a color for the BackColor property, click the drop-down arrow in the BackColor property in the Properties window (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig02 Figure 5.2]). <center>Figure 5.2. All color properties have palettes from which you can choose a color. [[Image:05fig02.jpg|202px|graphics/05fig02.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | System colors are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10], "Drawing and Printing." |} When the drop-down list appears, the color Blue on the Web tab is selected. This occurs because when you entered the RGB value 0,0,255, C# looked for a named color composed of the same values and it found blue. The color palettes were explained in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch02.htm#ch02 Hour 2], "Navigating C#," so I'm not going to go into detail about them here. For now, select the System tab to see a list of the available system colors and choose Control from the list to change the BackColor of your form back to the default Windows color. Adding an Image to a Form's Background In addition to changing the color of a form's background, you can also place a picture on it. To add a picture to a form, set the form's BackgroundImage property. When you add an image to a form, the image is "painted" on the form's background. All the controls that you place on the form appear on top of the picture. Add an image to your form now by following these steps: # Select the form. # Click the BackgroundImage property in the Properties window. # Click the Build button that appears next to the property (the small button with three dots). # Use the Open dialog box that appears to locate and select an image file from your hard drive. (I used Blue Lace 16.BMP, which I found in my \WinNT folder.) C# always tiles an image specified in a BackgroundImage property (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig03 Figure 5.3]). This means that if the selected picture isn't big enough to fill the form, C# will display additional copies of the picture, creating a tiled effect. If you want to display a single copy of an image on a form, anywhere on the form, you should use a picture box, as discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10]. <center>Figure 5.3. Images are tiled to fill the form. [[Image:05fig03.jpg|500px|graphics/05fig03.jpg]] </center> Notice that to the left of the BackgroundImage property is a small box containing a plus sign. This indicates that there are related properties, or subproperties, of the BackgroundImage property. Click the plus sign now to expand the list of subproperties (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig03 Figure 5.3]). In the case of the BackgroundImage property, C# shows you a number of properties related to the image assigned to the property, such as its dimensions and image format. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Adding background images to forms can add pizzazz to a program, but it can also confuse users by making forms unnecessarily busy. Try to avoid adding images just because you can. Use discretion, and add an image to a form only when the image adds value to the interface. |} Removing an image from a form is just as easy as adding the image in the first place. To remove the picture that you just added to your form, right-click the BackgroundImage property name and choose Reset from the shortcut menu that appears. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You must right-click the Name column of the property, not the Value column. If you right-click the value of the property, you get a different shortcut menu that doesn't have a Reset option. |} Giving a Form an Icon The icon assigned to a form appears in the left side of the form's title bar, in the taskbar when the form is minimized, and in the iconic list of tasks when you press Alt+Tab to switch to another application. The icon often represents the application; therefore, you should assign an icon to any form a user can minimize. If you don't assign an icon to a form, C# supplies a default icon to represent it when the form is minimized. This default icon is generic and unattractive, and you should avoid it. In the past, it was recommended that every form have a unique icon related to the form's purpose. This has proved very difficult to accomplish in large applications. As an alternative, I recommend that you set the icon of the main form in your program to the icon that you want to represent your application, and then assign that icon to other forms as they are loaded rather than assigning them at design time. If this proves to be a hassle, just assign the same icon to all your forms. You assign an icon to a form in much the same way you assign an image to the BackgroundImage property. Add an icon to your form now by clicking the form's Icon property in the Properties window, clicking the Build button that appears, and selecting an icon file from your hard drive. After you've selected the icon, it appears in the form's title bar to the left. Run your project by pressing F5, and then click the form's Minimize button to minimize it to the taskbar. Look at the form in the taskbar; you'll see both the form's caption and the form's icon displayed (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig04 Figure 5.4]). <center>Figure 5.4. Assigning meaningful icons to your forms makes your application easier to use. [[Image:05fig04.jpg|500px|graphics/05fig04.jpg]] </center> Stop the project now by choosing Stop Debugging from the Debug menu. Preventing a Form from Appearing in the Taskbar Being able to display an icon for a minimized form is nice, but sometimes it's necessary to prevent a form from even appearing in the taskbar. For instance, if your application has a number of palette windows that float over a main form, it's unlikely that you'd want all but your main form to appear in the taskbar. To prevent a form from appearing in the taskbar, set the form's ShowInTaskbar property to false. If the user minimizes a form with its ShowInTaskbar property set to false, the user can still get to the application by pressing Alt+Tab, even though the program can't be accessed via the taskbar; C# won't allow the application to become completely inaccessible to the user. Changing the Appearance and Behavior of a Form's Border You may have noticed while working with other Windows programs that the borders of forms can vary. Some forms have borders that you can click and drag to change the size of the form, some have fixed borders that can't be changed, and still others have no borders at all. The appearance and behavior of a form's border is controlled by its FormBorderStyle property. The FormBorderStyle property can be set to one of the following values: * None * FixedSingle * Fixed3D * FixedDialog * Sizable * FixedToolWindow * SizableToolWindow Run your project now by pressing F5, and move the mouse pointer over one of the borders of your form. This form has a sizable border, which means that the border can be resized by the user. Notice how the pointer changes from a large arrow to a line with arrows pointing on either side, indicating the direction you can stretch the border. When you move the pointer over a corner, you get a diagonal cursor that indicates you can stretch both of the sides that meet at the corner. Stop the project now by choosing Stop Debugging from the Debug menu (or click the Close button on the form) and change the form's FormBorderStyle property to None. Your form should look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig05 Figure 5.5]. When you choose to not give a form a border, the title bar of the form is removed. Of course, when the title bar is gone, there is no visible title bar text, no control box, and no Minimize or Maximize buttons. Run your project by pressing F5, and notice how the form appears as it did in Form Design view�with no border or title bar. Without a border, the form cannot be resized by the user, and without a title bar, the form cannot be repositioned. Rarely is it appropriate to specify None for a form's BorderStyle, but in the event you need to do this, it's entirely possible. <center>Figure 5.5. You can create forms without borders. [[Image:05fig05.jpg|500px|graphics/05fig05.jpg]] </center> Stop the project (you should know how by now) and change the FormBorderStyle to FixedDialog. Press F5 to run the project again, and move the mouse pointer over a border of the form; the mouse pointer won't change, and you won't be able to stretch the borders of the form. Stop the project again and set the form's FormBorderStyle property to FixedToolWindow. This setting causes the title bar of the form to appear smaller than normal and the text to display in a smaller font (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig06 Figure 5.6]). In addition, the only thing displayed on the title bar besides the text is a Close button. C#'s various design windows, such as the Properties window and the toolbox, are good examples of tool windows. <center>Figure 5.6. A tool window is a special window whose title bar takes up the minimum space possible. [[Image:05fig06.jpg|500px|graphics/05fig06.jpg]] </center> The FormBorderStyle is a good example of how changing a single property can greatly affect the look and behavior of an object. Set the FormBorderStyle of the form back to Sizable, the default setting for new forms. Adding Minimize, Maximize, and Control Box Buttons to a Form Minimize and Maximize buttons make it easy for a user to quickly hide a form or make it fill the entire display. Adding a Minimize or Maximize button to your forms is as easy as setting a property (or two). To add a Minimize button to a form's title bar, set the form's MinimizeBox property to true. To add a Maximize button to a form, set its MaximizeBox property to true. Conversely, set the appropriate property to false to hide a button. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The form's ControlBox property must be set to true to display a Maximize and/or Minimize button on a form. When the ControlBox property of a form is set to true, a button with an X appears in the title bar at the right side, which the user can click to close the form. In addition, the form's icon is displayed in the left side of the title bar, and clicking it opens the form's System menu. |} Notice that the title bar of your form shows all three buttons to the far right. From left to right, these are Minimize, Maximize, and Close. Run the project now and right-click the title bar to open the control box's menu, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig07 Figure 5.7]. Notice that the icon isn't visible in the form's title bar. Some FormBorderStyle settings cause the icon to be hidden. When this occurs, right-clicking the title bar causes the menu to appear as though you clicked the icon. Close the form now by either selecting Close from the menu or clicking the Close button on the far right of the title bar. <center>Figure 5.7. Clicking the icon of a form with a control box (or right-clicking a title bar) displays a system menu. [[Image:05fig07.jpg|300px|graphics/05fig07.jpg]] </center> Changing the MaximizeBox or MinimizeBox properties of a form enables or disables the corresponding item on the system menu in addition to the button on the toolbar. Save your project now by clicking the Save All button on the toolbar. Specifying the Initial Display Position of a Form The location on the display (monitor) where a form first appears isn't random but is controlled by the form's StartPosition property. The StartPosition property can be set to one of the values in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05table01 Table 5.1]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 5.1. Values for the StartPosition Property |- | Value | Description |- | Manual | The Location property of the form determines where the form first appears. |- | CenterScreen | The form appears centered in the display. |- | WindowsDefaultLocation | The form appears in the Windows default location, which is toward the upper left of the display. |- | WindowsDefaultBounds | The form appears in the Windows default location with its bounds (size) set to the Windows default bounds. |- | CenterParent | The form is centered within the bounds of its parent form. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Generally, it's best to set the StartPosition property of all your forms to CenterParent, unless you have a specific reason to do otherwise. For the very first form that appears in you project, you might consider using the WindowsDefaultLocation (but I generally prefer CenterScreen). |} Displaying a Form in a Normal, Maximized, or Minimized State Using the Size and Location properties of a form in conjunction with the StartPosition property enables you to display forms at any location and at any size. You can also force a form to appear minimized or maximized. Whether a form is maximized, minimized, or shown normally is known as the form's state, and it's determined by the WindowState property. Look at your form's WindowState property now. New forms have their WindowState property set to Normal by default. When you run the project, as you have several times, the form displays in the same size as it appears in the form designer, at the location specified by the form's Location property. Change the WindowState property now to Minimized. Nothing happens in the Form Design view, but run your project by pressing F5 and you'll see that the form is immediately minimized to the taskbar. Stop the project and change the WindowState property to Maximized. Again, nothing happens in the Form Design window. Press F5 to run the project and notice how the form immediately maximizes to fill the entire screen. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | When a form is maximized, it fills the entire screen regardless of the current screen resolution being used in Windows. |} Stop the project and change the WindowState property back to Normal. Rarely will you set a form's WindowState property at design time to Minimize, but you'll probably encounter situations in which you need to change (or determine) the WindowState at runtime. As with most properties, you can accomplish this using code. For example, the following statement would minimize a form: <tt>this.WindowState = FormWindowState. Minimized</tt>. You don't have to remember the names of the values when entering code; you'll get an IntelliSense drop-down list when you type the period. Changing the Mouse Pointer You've no doubt used a program that altered the cursor when the pointer was moved over an object. This behavior is prevalent in Web browsers, in which the cursor is changed to the shape of a pointing hand when moved over a hyperlink. Using the Cursor property, you can specify the image of the pointer displayed when the pointer is over a form (or control). Click the Cursor property of the form in the Properties window now and a drop-down arrow appears. Click the arrow to view a list of cursors (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig08 Figure 5.8]). Selecting a cursor from the list causes the pointer to change to that cursor when positioned over the form. Change the Cursor property of the form to AppStarting and press F5 to run the project. Move the pointer over the form and notice that the cursor changes to the AppStarting cursor while over the form and reverts to the default cursor when moved off the form. Stop the project now and click Save All on the toolbar to save your work. <center>Figure 5.8. Use the Cursor property to designate the image of the pointer when it's moved over the object. [[Image:05fig08.jpg|209px|graphics/05fig08.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Rarely will you want to change the cursor for a form, but you may find occasion to change the Cursor property for specific controls. Whenever you find yourself changing the default cursor for a form or control, choose a cursor that is consistent in purpose with well-known commercial applications. |} Showing and Hiding Forms [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/part03.htm#part03 Part III] of this book is devoted to programming in C#, and I've avoided going into much programming detail in this hour so that you can focus on the concepts at hand. However, knowing how to create forms does nothing for you if you don't have a way to show and hide them. Because C# can display a single form automatically only when a program starts, you have to write code to show and hide other forms. Showing Forms In C#, everything is an object, and objects are based on classes (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects with Classes," for information on creating classes). Because the definition of a form is a class, you have to create a new Form object using the class as a template. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Understanding Objects and Collections," I discussed objects and object variables, and these principles apply to creating forms. As discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], the process of creating an object from a class (template) is called instantiation. The syntax you'll use most often to instantiate a form is the following: <pre>{ formclassname } {objectvariable} = new {formclassname()} ; </pre> The parts of this declaration are as follows: * formclassname the name of the class that defines the form. * objectvariable This is the name for the form that you will use in code. * The keyword new Indicates that you want to instantiate a new object for the variable. Last, you specify the name of the class used to derive the object�your form class. If you have a form class named fclsLoginDialog, for example, you could create a new Form object using the following code: <pre>fclsLoginDialog frmLoginDialog = new fclsLoginDialog(); </pre> Thereafter, for as long as the object variable remains in scope (scope is discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays"), you can manipulate the Form object using the variable. For instance, to display the form, you call the Show method of the form or set the Visible property of the form to true using code such as this: <pre>frmLoginDialog.Show(); </pre> or <pre>frmLoginDialog.Visible = true; </pre> The easiest way to get the hang of this is to actually do it. To begin, choose Add Windows Form from the Project menu to display the Add New Item dialog box. Change the name of the form to fclsMyNewForm.cs (as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#ch05fig09 Figure 5.9]), and click Open to create the new form. <center>Figure 5.9. When you change the default name of a form, remember to leave the .cs extension. [[Image:05fig09.jpg|500px|graphics/05fig09.jpg]] </center> Your project now has two forms, as you can see by viewing the Solution Explorer window. The new form is displayed in the form designer, but right now you need to work with the main form. At the top of the main design area is a set of tabs. Currently, the tab fclsMyNewForm.cs [Design] is selected. Click the tab titled Form1.cs [Design] to show the designer for the first form. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Notice how the designer uses the filename rather than the object name on the tabs. You could right-click Form1.cs in the Solutions Explorer window and choose Rename to change the name of the file and therefore the name that appears on the tabs. You should actually do this in all your projects for the default forms. However, I haven't done this throughout the book because it adds yet another step to each example, and I don't want to complicate things too much. |} Add a new button to your original form by double-clicking the Button item on the toolbox (be careful not to add the button to the new form by mistake). Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowForm</tt> |- | <tt>Location</tt> | <tt>112,112</tt> |- | <tt>Text</tt> | <tt>Show Form</tt> |} Double-click the button to access its Click event (double-clicking a control is a shortcut for accessing its default event) and enter the following code: <pre>fclsMyNewForm frmTest = new fclsMyNewForm(); frmTest.Show(); </pre> The first statement creates a new object variable and instantiates an instance of the fclsMyNewForm form. The second statement uses the object variable, now holding a reference to a Form object, to display the form. Press F5 to run the project and click the button. (If the button doesn't appear on the form, you may have accidentally added it to the wrong form). When you click the button, a new instance of the second form is created and displayed. Move this form and click the button again. Each time you click the button, a new form is created. Stop the project now and click Save All on the toolbar. Understanding Form Modality You can present two types of forms to the user: modal and nonmodal forms. The modality of a form is determined by how you show the form rather than by how you create the form (both modal and nonmodal forms are created the same way). A nonmodal window is a window that doesn't cause other windows to be disabled. The forms you created in this example are nonmodal, which is why you were able to continue clicking the button on the first form even though the second form was displayed. Another example of a nonmodal window is the Find and Replace window in Word (and in C#, as well). When the Find and Replace window is visible, the user can still access other windows. When a form is displayed as a modal form, on the other hand, all other forms in the same application become disabled until the modal form is closed; the other forms won't accept any keyboard or mouse input. The user is forced to deal only with the modal form. When the modal form is closed, the user is free to work with other visible forms within the program. Modal forms are most often used to create dialog boxes in which the user works with a specific set of data and controls before moving on. For instance, the Print dialog box of Microsoft Word is a modal dialog box. When the Print dialog box is displayed, the user cannot work with the document on the main Word window until the Print dialog box is closed. Most secondary windows in any given program are modal windows. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can display one modal form from another modal form, but you cannot display a nonmodal form from a modal form. |} To show a form as a modal form, you call the form's ShowDialog method rather than its Show method. Change the code in your button's Click event to read: <pre>fclsMyNewForm frmTest = new fclsMyNewForm(); frmTest.ShowDialog(); </pre> When your code looks like this, press F5 to run the project. Click the button to create an instance of the second form. Then, move the second form away from the first window and try to click the button again. You can't�because you've created a modal form. Close the modal form now by clicking the Close button in the title bar. Now, the first form is enabled again and you can click the button once more. When you are done testing this, stop the running project. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You can test to see whether a form has been shown modally by testing the form's Modal property. |} Unloading Forms After a form has served its purpose, you'll want it to go away. However, "go away" can mean one of two things. First, you can make a form disappear without closing it or freeing its resources (this is called hiding). To do so, set its Visible property to false. This hides the visual part of the form, but the form still resides in memory and can still be manipulated by code. In addition, all the variables and controls of the form retain their values when a form is hidden, so that if the form is displayed again, the form looks the same as it did when its Visible property was set to false. Second, you can completely close a form and release the resources it consumes. You should close a form when it's no longer needed, so Windows can reclaim all resources used by the form. To do so, you invoke the Close method of the form like this: <pre>this.Close(); </pre> In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], you learned how this is used to reference the current Form object. Because this represents the current Form object, you can manipulate properties and call methods of the current form using this. (<tt>this.Visible = false</tt>, and so forth). The Close method tells C# to not simply hide the form, but to destroy it completely. If variables in other forms are holding a reference to the form you close, their references will be set to null and will no longer point to a valid Form object (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12] for information on null). Select the fclsMyNewForm.cs [Design] tab to display the form designer for the second form, add a new button to the form, and set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnCloseMe</tt> |- | <tt>Location</tt> | <tt>112,112</tt> |- | <tt>Text</tt> | <tt>Close Me</tt> |} Double-click the button to access its Click event and then enter the following statement: <pre>this.Close(); </pre> Next, run the project by pressing F5. Click the Show Form button to display the second form, and then click the second form's button. The form will disappear. Again, the form isn't just hidden; the form instance is unloaded from memory and no longer exists. You can create a new one by single-clicking the Show Form button on the first form. When you're finished, stop the running project and save your work. Summary In this hour, you've learned the basics of creating forms. You've learned how to add them to your project, how to set basic appearance properties, and how to show and hide them using C# code. In the next hour, you'll learn more advanced functionality for working with forms. After you've mastered the material in this hour as well as in the next hour, you'll be ready to dig into C#'s controls; that's where the fun of building an interface really begins! Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#qad1e16659 Q1:]''' | How many form properties should I define at design time vs. runtime? |- | align="right" | ''' A1: ''' | You should set all properties that you can at design time. First, it'll be easier to work with the form because you can see exactly what the user will see. Also, debugging is easier because there's less code. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/05.htm#qad1e16669 Q2:]''' | Should I let the user minimize and maximize all forms? |- | align="right" | ''' A2: ''' | Probably not. First, there's no point in letting a form be maximized if you haven't anchored and aligned controls so that they adjust their appearance when the form is resized. In fact, if a form's contents don't change when a form is resized (including maximized), the form should not have a sizable border or a Maximize button. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans01 1:]''' | True or False: The text displayed in the form's title bar is determined by the value in the TitleBarText property. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans02 2:]''' | The named color Control is what kind of color? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans03 3:]''' | In what three places are a form's icon displayed? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans04 4:]''' | A window with a smaller than normal title bar is called what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans05 5:]''' | For a Minimize or Maximize button to be visible on a form, what other element must be visible? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans06 6:]''' | What, in general, is the best value to use for the StartPosition property of a form? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans07 7:]''' | To maximize, minimize, or restore a form in code, you set what property? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans08 8:]''' | True or False: To display a form, you must create a variable in code. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec5.htm#ch05ans09 9:]''' | What property do you set to make a hidden form appear? |} Exercises # Create a semitransparent form with a picture in its background. (Hint: Change the form's Opaque property.) Does the image become transparent? Add some controls to the form. Does the image appear behind or in front of the controls? (Hint: To create a transparent form, set the form's Opacity to something other than 100%�try 50%.) # Create a Windows Application with three forms. Give the startup form two buttons. Make the other two forms tool windows, and make one button display one tool window and the other button display the second tool window. fzbz16wqki98yzr3tp1i9pwmbdra8b1 User:Foxall/06 2 2137 5598 2007-06-18T00:26:14Z Foxall 27 Bog cusub: == Hour 6. Building Forms�Part II == A form is just a canvas, and although you can tailor a form by setting its properties, you'll need to add controls to it to make it functional. In ... 5598 wikitext text/x-wiki == Hour 6. Building Forms�Part II == A form is just a canvas, and although you can tailor a form by setting its properties, you'll need to add controls to it to make it functional. In the previous hour, you learned how to add forms to a project, how to set basic form properties, and how to show and hide forms. In this hour, you'll learn all about adding controls to a form, including arranging and aligning controls to create a pleasing and functional interface. You also learn how to create advanced multiple document interfaces (MDIs), as employed in applications such as Word. After you complete the material in this hour, you'll be ready to learn the details about the various controls available in C#. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec1.htm#ch06lev2sec1 Adding controls to a form] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec1.htm#ch06lev2sec2 Positioning, aligning, sizing, spacing, and anchoring controls] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec1.htm#ch06lev2sec3 Creating intelligent tab orders] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec1.htm#ch06lev2sec4 Adjusting the z-order of controls] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec3.htm#ch06lev1sec3 Creating transparent forms] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec2.htm#ch06lev1sec2 Creating forms that always float over other forms] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec5.htm#ch06lev1sec5 Creating multiple-document interfaces] ---- === Working with Controls === As discussed earlier, controls are the objects that you place on a form for users to interact with. If you've followed the examples in the previous hours, you've already added controls to a form. However, you'll be adding a lot of controls to forms, and it's important for you to understand all aspects of the process. Following the drill-down in this hour, the next two hours will teach you the ins and outs of the very cool controls provided by C#. Adding Controls to a Form All the controls that you can add to a form can be found in the toolbox. By default, the toolbox appears as a docked window on the left side of the design environment. This location is useful when you're only occasionally adding controls to forms. However, when doing serious form-design work, I find it best to dock the toolbox to the right side of the design environment, where it doesn't overlap so much (if at all) onto the form with which you're working. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Remember that before you can undock a toolbar to move it to a new location, you must make sure it isn't set to Auto Hide. |} The buttons on the toolbox are actually considered tabs because clicking one of them displays a specific page of controls. For most of your design, you'll use the controls on the Win Forms tab. However, as your skills progress, you may find yourself using more complex and highly specialized controls found on the other tabs. You can add a control to a form in three ways, and you're now going to perform all three methods. Create a new Windows Application called Adding Controls. Change the name of the default form to fclsAddingControls and set its Text property to Adding Controls. Update the main entry point in the Main() function to reflect the new class name by clicking the View Code button on the Solution Explorer toolbar and then locating the reference to Form1 and replacing it with <tt>fclsAddingControls</tt>. Click Form1.cs [Design] to return to the form designer. The easiest way to add a control to a form is to double-click the control in the toolbox. Try this now: display the toolbox and double-click the TextBox tool. C# creates a new text box in the upper-left corner of the form. Of course, you're free to move and size the text box as you please. Nevertheless, when you double-click a control in the toolbox, C# always creates the control in the upper-left corner, with the default size for the type of control you're adding. If you want a little more authority over where the new control is placed, you can drag a control to the form. Try this now: display the toolbox and then click the Button control and drag it to the form. When the cursor is roughly where you want the button created, release the mouse button. The last and most precise method of placing a control on a form is to "draw" the control on a form. Display the toolbox now and click the ListBox tool once to select it. Next, move the pointer to where you want the upper-left corner of the list box to appear and then click and hold the mouse button. Drag the pointer to where you want the bottom-right corner of the list box to be and release the button. The list box is created with its dimensions set to the rectangle you drew on the form. This is by far the most precise method of adding controls to a form. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | If you prefer to draw controls on your forms by clicking and dragging, I strongly suggest that you dock the toolbox to the right or bottom edge of the design environment or float it. The toolbox tends to interfere with drawing controls when it's docked to the left edge, because it obscures part of the form. |} It's important to note that the very first item on the Windows Forms tab, titled Pointer, isn't actually a control. When the pointer item is selected, the design environment is placed in Select mode rather than in a mode to create a new control. With the pointer selected, you can select a control simply by clicking it, displaying all its properties in the Properties window. This is the default behavior of the development environment. Manipulating Controls Getting controls on a form is the easy part. Arranging them so that they create an intuitive and attractive interface is the challenge. Interface possibilities are nearly endless, so I can't tell you how to design any given interface. However, I can show you the techniques to move, size, and arrange controls so that they appear the way you want them to. By mastering these techniques, you'll be much faster at building interfaces, freeing your time for writing the code that makes things happen. Using the Grid (Size and Snap) When you first install C#, all forms appear with a grid of dots on them. When you draw or move controls on a form with a grid, the coordinates of the control automatically snap to the nearest grid coordinate. This offers some precision when adjusting the size and location of controls. In practical use, I often find the grid to be only slightly helpful because the size or location you want to specify often doesn't fit neatly with the grid locations. You can, however, control the granularity and even the visibility of the grid, and I suggest you do both. You're now going to assign a higher level of granularity to the grid (the space between the grid points will be smaller). I find that this helps with design, without causing edges to snap to unwanted places. To adjust the granularity of the grid on a form, you change the GridSize property (or the Width and Height subproperties of the GridSize property). Setting the Width or Height of the grid to a smaller number creates a smaller grid, which allows for finer control over sizing and placement, whereas using larger values creates a much larger grid and offers less control. With a larger grid, you'll find that edges snap to grid points much easier and at larger increments, making it impossible to fine-tune the size or position of a control. Change the GridSize property of your form now to 4,4. Notice that a lot more grid dots appear (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig01 Figure 6.1]). <center>Figure 6.1. Grids can be distracting. [[Image:06fig01.jpg|500px|graphics/06fig01.jpg]] </center> Try dragging the controls on your form or dragging their edges to size them. Notice that you have more control over the placement with the finer grid. Try changing the GridSize to a set of higher numbers, such as 25,25 and see what happens. When you're finished experimenting, change the GridSize values back to 4,4. An unfortunate side effect of a smaller grid is that the grid can become quite distracting. Again, you'll decide what you like best, but I generally turn grids off on my form. You do this by setting the DrawGrid property of the form to false. Try hiding the grid of your form now. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | This property determines only whether the grid is drawn, not whether it's active; grids are always active, regardless of whether they're visible. |} Selecting a Group of Controls As your skills grow, you'll find your forms becoming increasingly complex. Some forms may contain dozens, or even hundreds, of controls. C# has a set of features that makes it easy to align groups of controls. Create a new Windows Application titled Align Controls. Change the name of the default form to fclsAlignControls and set its Text property to Control Alignment Example. Next, update the main entry point in the Main() function to reflect the new class name by clicking the View Code button on the Solution Explorer toolbar and then locating the reference to Form1 and replacing it with <tt>fclsAlignControls</tt>. Click Form1.cs [Design] to return to the form designer. Double-click the TextBox tool in the toolbox to add a text box to the form. Set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txt1</tt> |- | <tt>Location</tt> | <tt>20</tt>, <tt>20</tt> |- | <tt>Multiline</tt> | <tt>True</tt> |- | <tt>Size</tt> | <tt>100</tt>, <tt>30</tt> |- | <tt>Text</tt> | <tt>txt1</tt> |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you don't set the Multiline property of a text box to true, C# ignores the Height setting (the second value of the Size property) and instead, keeps the height at the standard height for a single-line text box. |} Use the same technique (double-click the TextBox item in the toolbox) to add two more text boxes to the form. Set their properties as follows: Text Box 2: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txt2</tt> |- | <tt>Location</tt> | <tt>90</tt>, <tt>80</tt> |- | <tt>Multiline</tt> | <tt>True</tt> |- | <tt>Size</tt> | <tt>50</tt>, <tt>50</tt> |- | <tt>Text</tt> | <tt>txt2</tt> |} Text Box 3: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txt3</tt> |- | <tt>Location</tt> | <tt>140</tt>, <tt>200</tt> |- | <tt>Multiline</tt> | <tt>True</tt> |- | <tt>Size</tt> | <tt>100</tt>, <tt>60</tt> |- | <tt>Text</tt> | <tt>txt3</tt> |} Your form should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig02 Figure 6.2]. Save the project now by clicking the Save All button on the toolbar. <center>Figure 6.2. It's easy to align and size controls as a group. [[Image:06fig02.jpg|500px|graphics/06fig02.jpg]] </center> By default, clicking a control on a form selects it while deselecting any controls that were previously selected. To perform actions on more than one control, you need to select a group of controls. You can do so in one of two ways, the first of which is to lasso the controls. To lasso a group of controls, you first click and drag the mouse pointer anywhere on the form. As you drag the mouse, a rectangle is drawn on the form. When you release the mouse button, all controls intersected by the rectangle become selected. Note that you don't have to completely surround a control with the lasso (also called a marquee), you only have to intersect part of the control to select it. Try this now: click somewhere in the upper-right corner of the form and drag the pointer toward the bottom of the form without releasing the button (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig03 Figure 6.3]). When the rectangle has surrounded or intersected all the controls, release the button and the controls will be selected (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig04 Figure 6.4]). <center>Figure 6.3. Click and drag to create a selection rectangle. [[Image:06fig03.jpg|500px|graphics/06fig03.jpg]] </center> <center>Figure 6.4. All selected controls appear with a hatched border and sizing handles. [[Image:06fig04.jpg|500px|graphics/06fig04.jpg]] </center> When a control is selected, it has a hatched border and a number of sizing handles (the rectangles in the hatched border at the corners and midpoints of the control). Pay careful attention to the sizing handles. The control with the black-centered sizing handles is the active control in the selected group. When you use C#'s tools, such as the alignment and formatting features, to work on a group of selected controls, the values of the active control are used. For example, if you were to align the left side of the selected controls shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig04 Figure 6.4], each of the controls would have its Left property value set to that of the active control. When you use the lasso technique to select a group of controls, you really don't have much authority over which control C# makes the active control. In this example, you want to align all controls to the control at the top, so you'll have to use a different technique to select the controls. Deselect all the controls now by clicking anywhere on the form (other than on a control). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | When the sizing handle of an active control is colored white, you can click and drag the handle to alter the size of the control. Not all sizing handles are movable at all times. For example, before you set the Multiline property of a text box to true, C# won't allow you to change the height of the text box, so only the sizing handles at the left and right edges are movable and therefore are colored white. |} The second technique for selecting multiple controls is to use the Shift or Ctrl key; this method is much like selecting multiple files in Windows Explorer. Click the bottom control (txt3) now to select it. Notice that its sizing handles are outlined in black; because it's the only control selected, it's automatically made the active control. Now hold down the Shift key and click the center control (txt2); txt2 and txt3 are now selected. However, txt2 is the active control (when multiple controls are selected, the active control has black-filled sizing handles rather than white). When you add a control to a group of selected controls, the newly selected control is always made the active control. Finally, with the Shift key still pressed, click txt1 to add it to the group of selected controls. All the controls should now be selected and txt1 should be the active control. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Clicking a selected control while Shift is held down deselects the control. |} You can combine the two selection techniques when needed. For instance, you could first lasso all controls to select them. If the active control isn't the one you want it to be, you could hold the Shift key down and click the control you want made active, thereby deselecting it. Clicking the control a second time while still holding down the Shift key would again select the control. Because the control would then be the last control added to the selected group, it would be made active. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you must click the same control twice, such as to deselect and then reselect, do so slowly. If you click too fast, C# interprets your actions as a double-click, and it creates a new event handler for the control. |} Aligning Controls Now that you've selected all three controls, open C#'s Format menu (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig05 Figure 6.5]). The Format menu has a number of submenus containing functions to align, size, and format groups of controls. Open the Align submenu now to see the available options (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig06 Figure 6.6]). <center>Figure 6.5. Use the Format menu to quickly whip an interface into shape. [[Image:06fig05.jpg|500px|graphics/06fig05.jpg]] </center> <center>Figure 6.6. The Align menu makes it easy to align an edge of a group of controls. [[Image:06fig06.jpg|247px|graphics/06fig06.jpg]] </center> The top three items on the Align menu are used to align the selected controls horizontally, and the middle three items align the selected controls vertically. The last item, To Grid, will snap the corners of all the selected controls to the nearest grid points. Choose Align Lefts now, and C# aligns the left edges of the selected controls. Notice how the Left edge of the active control is used as the baseline for the alignment (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig07 Figure 6.7]). <center>Figure 6.7. The property values of the active control are always used as the baseline values. [[Image:06fig07.jpg|500px|graphics/06fig07.jpg]] </center> Making Controls the Same Size In addition to aligning controls, you can als o make all selected controls the same size�Height, Width, or Both. To do this, use the Make Same Size submenu on the Format menu (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig08 Figure 6.8]). Make all your controls the same size now by choosing Both from the Make Same Size menu. As with the Align function, the values of the active control are used as the baseline values. <center>Figure 6.8. Use this menu to quickly make a group of controls the same size. [[Image:06fig08.jpg|261px|graphics/06fig08.jpg]] </center> Evenly Spacing a Group of Controls As many a salesman has said, "…and that's not all!" You can also make the spacing between controls uniform using the Format menu. Try this now: open the Vertical Spacing submenu of the Format menu and then choose Make Equal. All the controls are now evenly spaced. Next, choose Decrease from the Vertical Spacing menu and notice how the spacing between the controls decreases slightly. You can also increase the vertical spacing or completely remove vertical space from between controls using this menu. To perform the same functions on the horizontal spacing between controls, use the Horizontal Spacing submenu of the Format menu. Save your project now by clicking the Save All button on the toolbar. Setting Property Values for a Group of Controls You can change a property value in the Properties window when multiple controls are selected, and the change will be made to all controls. To do this, make sure all three controls are still selected and then display the Properties window. When a group of controls is selected, the Properties window appears with some modifications (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig09 Figure 6.9]): * No Name property is shown. This occurs because it's not allowable to have two controls with the same name, so C# won't even let you try. * Only properties shared by all controls are displayed. If you had selected a label control and a text box, for example, only the properties shared by both control types would appear. * For properties in which the values of the selected controls differ (such as the Location property in this example), the value is left empty in the Properties window. <center>Figure 6.9. You can view the property values of many controls at once, with some caveats. [[Image:06fig09.jpg|253px|graphics/06fig09.jpg]] </center> Entering a value in any property changes the corresponding property for all selected controls. To see how this works, change the BackColor property to a shade of yellow, and you'll see that all controls have their BackColor set to yellow. Anchoring and Autosizing Controls One of my favorite additions to the forms engine in C# is the capability to anchor controls to one or more edges of a form so that controls can now size themselves appropriately when the user sizes the form. In the past, you had to use a (usually cumbersome) third-party component or resort to writing code in the form Resize event to get this behavior, but it's an intrinsic capability of C#'s form engine. The default behavior is that controls are docked to the top and left edges. What if you want a control to always appear in the lower-left corner of a form? This is precisely what the Anchor property is designed to handle. The easiest way to understand how anchoring works is to do it. # Create a new Windows Application called Anchoring Example. # Change the name of the default form to fclsAnchoringExample and set the form's Text property to Anchoring Example. # Change the main entry point to reflect the new form name. # Add a new button to the form and name it btnAnchor. # Run the project by pressing F5. # Click and drag the border of the form to change its size. Notice that no matter what size you change the form to, the button stays in the upper-left corner of the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig10 Figure 6.10]). <center>Figure 6.10. By default, controls are anchored to the upper-left corner of the form. [[Image:06fig10.jpg|500px|graphics/06fig10.jpg]] </center> Stop the running project now by choosing Stop Debugging from the Debug menu. Click the button on the form to select it, click the Anchor property, and then click the drop-down arrow that is displayed. You'll see a drop-down box that is unique to the Anchor property (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig11 Figure 6.11]). <center>Figure 6.11. You use this unique drop-down box to set the Anchor property of a control. [[Image:06fig11.jpg|500px|graphics/06fig11.jpg]] </center> The gray square in the center of the drop-down box represents the control whose property you are setting. The thin rectangles on the top, bottom, left, and right represent the possible edges to which you can dock the control; if a rectangle is filled in, the edge of the control facing that rectangle is docked to that edge of the form. # Click the rectangle above the control so that it's no longer filled in, and then click the rectangle to the right of the control so that it is filled in. # Click any other property to close the drop-down box. The Anchor property should now read LeftRight. # Press F5 to run the project, and then drag an edge of the form to make it larger. Pretty odd, huh? What C# has done is anchored the left edge of the button to the left edge of the form and anchored the right edge of the button to the right edge of the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig12 Figure 6.12]). Really, anchoring means keeping an edge of the control a constant relative distance from an edge of the form, and it's an unbelievably powerful tool for building interfaces. Now you can make forms that users can resize, but you write little or no code to make the interface adjust accordingly. One caveat: depending on their anchor settings, controls may disappear if the form is shrunk quite small. <center>Figure 6.12. Anchoring is a powerful feature for creating adaptable forms. [[Image:06fig12.jpg|500px|graphics/06fig12.jpg]] </center> Creating a Tab Order Tab order is something that is often (emphasis on often) overlooked. You're probably familiar with tab order as a user, although you may not realize it. When you press Tab while on a form, the focus moves from the current control to the next control in the tab order. This allows easy keyboard navigation on forms. The tab order for controls on a form is determined by the TabIndex properties of the controls. The control with the TabIndex value of 0 is the first control that receives the focus when the form is shown. When you press Tab, the control with the TabIndex of 1 receives the focus. When you add a control to a form, C# assigns the next available TabIndex value. Each control has a unique TabIndex value, and TabIndex values are always used in ascending order. If the tab order isn't set correctly for a form, pressing Tab will cause the focus to jump from control to control in no apparent order. This really isn't a way to impress users. The forms engine in C# has a far superior way to set the tab order for controls on a form. Create a new Windows Application named Tab Order, change the name of the default form to fclsTabOrder, set the Text property of the form to Tab Order Example and update the entry point with the fclsTabOrder reference. Add three text box controls to the form and set their properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value | Property | Value | Property | Value |- | <tt>Name</tt> | <tt>TextBox1</tt> | <tt>Name</tt> | <tt>TextBox2</tt> | <tt>Name</tt> | <tt>TextBox37</tt> |- | <tt>Location</tt> | <tt>90,120</tt> | <tt>Location</tt> | <tt>90,50</tt> | <tt>Location</tt> | <tt>90,190</tt> |} Save the project by clicking the Save All button on the toolbar and then press F5 to run the project. Notice how the middle text box is the one with the focus. This is because it's the first one you added to the form and therefore has a TabIndex value of 0. Press Tab to move to the next control in the tab order (the top control); then press Tab once more and the focus jumps to the bottom control. Obviously, this isn't productive. Stop the project now by choosing Stop Debugging from the Debug menu (or simply close the form). You're now going to set the tab order via the new visual method. Choose Tab Order from the View menu; notice how C# superimposes a set of numbers over the controls (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig13 Figure 6.13]). The number on a control indicates its TabIndex property value. Now it's very easy to see that the tab order is incorrect. Click the top control. Notice how the number over the control changes to 0. Click the middle control and you'll see its number change to 1. As you click controls, C# assigns the next highest number to the clicked control. Choose Tab Order from the View menu again to take the form out of Tab Order mode. Run the project again and you'll see that the top control is the first to get the focus, and pressing Tab now moves the focus logically. <center>Figure 6.13. The numbers over each control indicate the control's TabIndex. [[Image:06fig13.jpg|300px|graphics/06fig13.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To programmatically move the focus via the tab order, use the SelectNextControl() method of a control or a form. |} To remove a control from the tab sequence, set its TabStop property to false. When a control's TabStop property is set to false, users can still select the control with the mouse, but they can't enter the control using the Tab key. You should still set the TabIndex property to a logical value so that if the control receives the focus (such as by being clicked), pressing Tab will move the focus to the next logical control. Layering Controls (Z-Order) Tab order and visual alignment are key elements for effectively placing controls on forms. However, these two elements address control placement in only two dimensions�the x,y axis. At times, you may need to have controls overlap, although it's rare that you'll need to do so. Whenever two controls overlap, whichever control is added to the form most recently appears on top of the other (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig14 Figure 6.14]). You can control the ordering of controls using the Order submenu of the Format menu (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig15 Figure 6.15]). <center>Figure 6.14. Controls can overlap. [[Image:06fig14.jpg|500px|graphics/06fig14.jpg]] </center> <center>Figure 6.15. The Order menu is used to adjust the layering order of overlapping controls. [[Image:06fig15.jpg|276px|graphics/06fig15.jpg]] </center> To send a control backward in the layering order, click it once to select it and then choose Send to Back from the Order menu. To bring the control forward in the layering order, select the control and choose Bring to Front from the Order menu. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | You can accomplish the same thing in C# code by invoking the BringToFront or SendToBack methods of a control. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating TopMost Windows As you're probably aware, when you click a window it usually comes to the foreground and all other windows appear behind it. At times, you may want a window to stay on top of other windows, regardless of whether it's the current window (that is, it has the focus). An example of this is the Find window in C# and other applications such as Word. Regardless of which window has the focus, the Find form always appears floating over all other windows. Such a window is created by setting the form's TopMost property to true. Not exactly rocket science. However, that's the point; often a simple property change or method call is all it takes to accomplish what may otherwise seem to be a difficult task. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating Transparent Forms A new property of forms that I think is very cool, yet I still can't come up with a reason to use it in a production application, is the Opacity property. This property controls the opaqueness of the form as well as all controls on the form. The default Opacity value of 100% means that the form and its controls are completely opaque (solid), whereas a value of 0% creates a completely transparent form (no real point in that). A value of 50% then, creates a form that is between solid and invisible (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig16 Figure 6.16]). I suppose you could write a loop that takes the Opaque property from 100% to 0% to fade out the form. Other than that, I don't know where to take advantage of this technique. But ain't it cool? <center> [[Image:06fig16.jpg|500px|graphics/06fig16.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec2.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch06lev1sec4.htm [[Image:next.gif|41px|Next Section]]] |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#toppage ]<br /> |} Creating Scrollable Forms A scrollable form is a form that can display scrollbars when its contents are larger than the physical size of the form. Not only is this a cool and necessary feature, it's also trivial to implement in your own applications. The scrolling behavior of a form is determined by the following three properties: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Description |- | AutoScroll | This property determines whether scrollbars will ever appear on a form. |- | AutoScrollMinSize | The minimum size of the scroll region (area). If the size of the form is adjusted so that the client area of the form (the area of the form not counting borders and title bar) is smaller than the AutoScrollMinSize, scrollbars will appear. |- | AutoScrollMargin | This property determines the margin given around controls during scrolling. This essentially determines how far past the edge of the outermost controls you can scroll. |} Again, it's easiest to understand this concept by doing it. Create a new Windows Application named AutoScroll Example, rename the default form to fclsAutoScroll, set the text of the form to AutoScroll Example, and update the entry point in Main(). Add a new Button control to the form by double-clicking the Button tool on the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnTest</tt> |- | <tt>Location</tt> | <tt>110,120</tt> |- | <tt>Text</tt> | <tt>Test</tt> |} Save the project and press F5 to run it. Drag the borders of the control to make it larger and smaller. Notice that no matter how small you make the form, no scrollbars appear. This makes it possible to have controls on the form that are only partially visible or that can't be seen at all (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig17 Figure 6.17]). <center>Figure 6.17. Without scrollbars, it's possible to have controls that can't be seen. [[Image:06fig17.jpg|153px|graphics/06fig17.jpg]] </center> Stop the project now by choosing Stop Debugging from the Debug menu or by closing the form. Change the AutoScroll property of the form to true. At this point you still won't get scrollbars, because you need to adjust at least one of the other scroll properties. Change the AutoScrollMargin property to 50,50 and run the project once more. Make the form smaller by dragging a border or a corner, and you'll see scrollbars appear (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig18 Figure 6.18]). The AutoScrollMargin property creates a virtual margin (in pixels) around all the outermost controls on the form. If the form is sized to within the margin area of a control, scrollbars automatically appear. <center>Figure 6.18. Scrollbars allow the user to view all parts of the form without needing to change the form's size. [[Image:06fig18.jpg|500px|graphics/06fig18.jpg]] </center> The final property that affects scrolling is the AutoScrollMinSize. Use the AutoScrollMinSize property to create a fixed-size scrolling region. If the form is ever sized such that the visible area of the form is smaller than the scrolling region defined by AutoScrollMinSize, scrollbars appear. Creating MDI Forms All the projects you've created so far have been single-document interface (SDI) projects. In SDI programs, every form in the application is a peer of all other forms; no intrinsic hierarchy exists between forms. C# also lets you create multiple-document interface (MDI) programs. A MDI program contains one parent window (also called a container) and one or more child windows. A classic example of a MDI program is Microsoft Word 95 (200 behaves slightly different, depending on how it's set up). When you run Word 97, a single parent window appears. Within this parent window, you can open any number of documents, which appear in child windows. In a MDI program, all child windows share the same toolbar and menu bar, which appears on the parent window. One restriction of child windows is that they can exist only within the confines of the parent window. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig19 Figure 6.19] shows an example of Word running with a number of child document windows open. <center>Figure 6.19. MDI applications consist of a single parent window and one or more child windows. [[Image:06fig19.gif|500px|graphics/06fig19.gof]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | MDI applications can have any number of normal windows (dialog boxes, for example) in addition to child windows. |} You're now going to create a simple MDI project. Create a new Windows Application named MDI Example. Change the name of the default form to fclsMDIParent, change its Text property to MDI Parent, update the entry point, and change its IsMdiContainer property to true (If you don't set the IsMdiContainer property to true, this example won't work). The first thing you'll notice is that C# changed the client area to a dark gray and gave it a sunken appearance. This is the standard appearance for MDI parent windows, and all visible child windows appear in this area. Create a new form by choosing Add Windows Form from the Project menu. Name the form fclsChild1.cs and change its Text property to Child 1. Add a third form to the project in the same way. Name it fclsChild2.cs and set its Text property to Child 2. Any form can be a child form (except, of course, a MDI parent form). To make a form a child form, you set its MDIParent property to a form that is defined as a MDI container. Make sure the fclsMDIParent parent form is visible in the form designer. If it's not, you can display it by double-clicking it in the Solution Explorer. Next, double-click the form to access its default event�the Load event. Enter the following code: <pre>fclsChild1 objChild = new fclsChild1(); objChild.MdiParent = this; objChild.Show(); </pre> By now, you should know what this code does. The first statement creates a new object variable of type fclsChild1 and initializes it to hold a new instance of a form. The last statement simply shows the form. What we're interested in here is the middle statement. It sets the MdiParent property of the form to the current form (<tt>this</tt> always references the current object), which is a MDI parent form because its IsMdiContainer property is set to true. When the new form is shown, it's shown as a MDI child. Save your work and then press F5 to run the project. Notice how the child form appears on the client area of the parent form. If you size the parent form so that one or more child windows can't fully be displayed, scrollbars appear (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig20 Figure 6.20]). If you were to remove the statement that set the MdiParent property, the form would simply appear floating over the parent form and would not be bound by the confines of the parent (it wouldn't be a child window). <center>Figure 6.20. Child forms appear only within the confines of the parent form. [[Image:06fig20.jpg|291px|graphics/06fig20.jpg]] </center> Stop the project by choosing Stop Debugging from the Debug menu. Display the Solution Explorer and double-click the fclsChild1 form in its designer to display it in the designer. Add a button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowChild2</tt> |- | <tt>Location</tt> | <tt>105</tt>,<tt>100</tt> |- | <tt>Size</tt> | <tt>85</tt>,<tt>23</tt> |- | <tt>Text</tt> | <tt>Show Child 2</tt> |} Double-click the button to access its Click event, and then add the following code: <pre>fclsChild2 objChild = new fclsChild2(); objChild.MdiParent = this.MdiParent; objChild.Show(); </pre> This code shows the second child form. Note that two differences exist between this code and the code you entered earlier. First, the objChild variable creates a new instance of the fclsChild2 form rather than the fclsChild1 form. The second difference is how the parent is set. Because the child form is not a parent form, you can't simply set the second child's MdiParent property to this, because this doesn't refer to a parent form. However, you know that this.MdiParent references the parent form because this is precisely the property you set to make the form a child in the first place. Therefore, you can simply pass the parent of the first child to the second child, and they'll both be children of the same form. Press F5 to run the project now. You'll see the button on the child form, so go ahead and click it (if you don't see the button, you may have mistakenly added it to the second child form). When you click the button, the second child form appears. Notice how this is also bound by the constraints of the parent form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig21 Figure 6.21]). <center>Figure 6.21. Child forms are peers with one another. [[Image:06fig21.jpg|500px|graphics/06fig21.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The MDI parent form has an ActiveMdiChild property, which you can use to get a reference to the currently active child window. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To make the parent form larger when the project is first run, you set the Height and Width properties of the form either at design time or at runtime in the Load event of the form. |} One thing about forms that is important to note is that you can create as many instances of a form as you desire. For instance, you could change the code in the button to create a new instance of fclsChild1. The form that would be created would be the same as theform that created it, complete with a button to create yet another instance. Although you probably won't apply this technique because you're just getting started with C#, you may find it quite useful in the future. For instance, if you wanted to create a text editor, you might define the text entry portion as one form but create multiple instances of the form as new text files are opened, much like Word does with documents. Setting the Startup Object The Startup object in Windows Applications is, by default, the first form added to the project. This also happens to be the form that C# creates automatically when you create the new Windows Application project. Although the Startup object of a project was discussed briefly in a previous hour, it's worth mentioning here as well. Every project must have a Startup object as the entry point to the program. The class that contains the Main() method that you want called as the entry point of the application is determined by the Startup Object property. You can change the Startup object by right-clicking the project name in the Solution Explorer and choosing Properties. The Startup Object property appears on the first property page that displays (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#ch06fig22 Figure 6.22]). <center>Figure 6.22. The Startup Object property determines the first class that gets initialized and executed. [[Image:06fig22.jpg|500px|graphics/06fig22.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The setting of the Startup Object property isn't required if only one <tt>Main()</tt> method exists in the project. |} If MDI forms still confuse you, don't worry. Most of the applications you'll write as a new C# programmer will be SDI programs. As you become more familiar with creating C# projects in general, start experimenting with MDI projects. Remember, you don't have to make a program a MDI program simply because you can; make a MDI program if the requirements of the project dictate that you do so. Summary Understanding forms is critical because forms are the dynamic canvases on which you build your user interface. If you don't know how to work with forms, your entire application will suffer. Many things about working with forms go beyond simply setting properties, especially as you begin to think about the end user. As your experience grows, you'll get into the groove of form design and things will become second nature to you. In this hour, you learned how to do some interesting things, such as creating transparent forms, as well as some high-end techniques, such as building an MDI application. You also learned how to create scrolling forms (an interface element that shouldn't be overlooked), and you spent a lot of time on working with controls on forms, which is important because the primary function of a form is as a place to host controls. In the next two hours, you'll learn the details of many of C#'s powerful controls that will eventually become important weapons in your vast development arsenal. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#qad1e19828 Q1:]''' | Do I need to worry about the anchoring and scrolling capabilities of every form I create? |- | align="right" | ''' A1: ''' | Absolutely not. The majority of forms in most applications are dialog boxes. A dialog box is a modal form used to gather data from the user. A dialog box is usually a fixed size, which means that its border style is set to a style that cannot be sized. With a fixed-size form, you don't need to worry about anchoring or scrolling. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/06.htm#qad1e19841 Q2:]''' | How do I know if a project is a candidate for a MDI interface? |- | align="right" | ''' A2: ''' | If the program will open many instances of the same type of form, it's a candidate for a MDI interface. For instance, if you're creating an image-editing program and the intent is to allow the user to open many images at once, MDI makes sense. Also, if you'll have many forms that will share a common toolbar and menu, you might want to consider MDI. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans01 1:]''' | True or False: The first control selected in a series is always made the active control. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans02 2:]''' | How many methods are there to add a control to a form from the toolbox? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans03 3:]''' | If you double-click a tool in the toolbox, where on the form is it placed? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans04 4:]''' | Which property fixes an edge of a control to an edge of a form? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans05 5:]''' | Which property do you change to hide the grid on a form? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans06 6:]''' | Which menu contains the functions for spacing and aligning controls? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec6.htm#ch06ans07 7:]''' | Which property do you set to make a form a MDI parent? |} Exercises # Use your knowledge of the Anchor property and modify the Picture Viewer project you built in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1] so that the main form can be sized. The buttons should always stay the size that they are and in the relative location in which they're placed, but the picture box should change size to show as much of the picture as possible, given the size of the form. # Modify the MDI Example project in this hour so that the first child form shows another instance of itself, rather than showing an instance of the second child form. 43n3xet2a1alb4qnmwbncyzynnvssmv User:Foxall/07 2 2138 5599 2007-06-18T00:28:41Z Foxall 27 Bog cusub: == Hour 7. Working with the Traditional Controls == The previous two hours described in considerable detail how to work with forms. Forms are the foundation of a user interface but are r... 5599 wikitext text/x-wiki == Hour 7. Working with the Traditional Controls == The previous two hours described in considerable detail how to work with forms. Forms are the foundation of a user interface but are rather useless by themselves. To create a usable interface, you'll need to use controls. Controls are the various widgets and doodads on a form with which a user interacts. Dozens of different types of controls exist, from the simple Label control used to display static text to the rather complicated Tree View control used to present trees of data like that found in Explorer. In this hour, I'll introduce you to the most common (and most simple) controls, which I call traditional controls. In the next hour, you'll learn about the more advanced controls that you can use to create professional-looking applications. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec1.htm#ch07lev1sec1 Displaying static text with the Label control] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec2.htm#ch07lev1sec2 Allowing users to enter text using a text box] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec2.htm#ch07lev2sec5 Creating password fields] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec4.htm#ch07lev2sec10 Working with buttons] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec4.htm#ch07lev2sec8 Using panels, group boxes, check boxes, and option buttons] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07lev1sec5.htm#ch07lev1sec5 Displaying lists with list boxes and combo boxes] ---- === Displaying Static Text with the Label Control === Label controls are used to display static text to the user. By static, I mean that the user can't change the text directly (but you can change the text with code). Label controls are one of the most common controls used; fortunately, they're also one of the easiest. Labels are most often used to provide descriptive text for other controls, such as text boxes. Labels are also great for providing status-type information to a user, as well as for providing general instructions on a form. Begin by creating a new Windows Application named Traditional Controls. Change the name of the default form to fclsControls, and change its Text property to Traditional Controls Example. Next, change the Main entry point to use flcsControls. Add a new Label control to the form by double-clicking the Label item in the toolbox. The primary property of the Label control is the Text property, which determines the text displayed to the user. When a Label control is first added to a form, the Text property is set to the name of control�this isn't very useful. Set the properties of the new Label control as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lblMyLabel</tt> |- | <tt>Location</tt> | <tt>5,6</tt> |- | <tt>Size</tt> | <tt>100,25</tt> |- | <tt>Text</tt> | <tt>Labels are for static text!</tt> |} Notice how the label's text appears on two lines (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig01 Figure 7.1]). This occurs because the text is forced to fit within the size of a new Label control. In most cases, it's best to place label text on a single line. To do this, you could increase the width either by using the Properties window or by dragging the edge of the control, but there is an easier way. Double-click the Label control's AutoSize property now and notice how the label resizes itself automatically to fit the text on a single line. Double-clicking a property that accepts a set number of values cycles the property to the next value. The AutoSize property of new Label controls is false by default, so double-clicking this property changed it to <tt>true</tt>. <center> </center> Allowing Users to Enter Text Using a Text Box A Label control is usually the best control for displaying text a user can't change. However, when you need to let users enter or edit text, the text box is the tool for the job. If you've ever typed information on a form, you've almost certainly used a text box. Add a new text box to your form now by double-clicking the TextBox item in the toolbox. Set the text box's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtMyTextBox</tt> |- | <tt>Location</tt> | <tt>128,4</tt> |- | <tt>Size</tt> | <tt>136,20</tt> |} When you first create a new text box, its Text property is set to its default name (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig02 Figure 7.2]). Unfortunately, the Text property isn't automatically changed when you change the name of the text box (which you should always do), so I recommend that you clear out the Text property of new text boxes. Delete the text in the Text property now and notice that the text box appears empty on the form. <center>Figure 7.2. A new text box has its Text property set to its default name. [[Image:07fig02.jpg|500px|graphics/07fig02.jpg]] </center> Although you'll probably want to clear the Text property of most of your text boxes at design time, understanding certain aspects of the text box is easier when a text box contains text. Set the text box's Text property to This is sample text. Remember to press Enter or Tab to commit your property change. Specifying Text Alignment Both the TextBox and the Label controls have a TextAlign property (as do many other controls). The TextAlign property determines the alignment of the text within the control�very much like the justification setting in a word processor. You can select from Left, Center, or Right. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Label controls allow you to set the vertical alignment and the horizontal alignment using the TextAlign property. This works best when AutoSize is set to false. |} Change the TextAlign property of the text box to Right, and see how the text becomes right-aligned within the text box. Next, change TextAlign to Center to see what center alignment looks like. As you can see, this property is pretty straightforward. Change the TextAlign property back to Left before continuing. Creating a Multiline Text Box In the previous hour, I talked about the sizing handles of a selected control. I mentioned how handles that can be sized appear filled with white, and handles that are locked appear with a gray center. Notice how only the left and right edges of the text box have white sizing handles. This means that you can adjust only the left and right edges of the control (you can alter only the width, not the height). This is because the text box is defined as a single-line text box, meaning it will display only one line of text. What would be the point of a really tall text box that showed only a single line? To allow a text box to display multiple lines of text, set its Multiline property to true. Set the Multiline property of your text box to true now, and notice that all the sizing handles become white. Change the Text property of the text box to This is sample text. A multiline text box will wrap its contents as necessary. Press Enter or Tab to commit the property change. Notice how the text box displays only part of what you entered because the control simply isn't big enough to show all the text (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig03 Figure 7.3]). Change the Size property to 136,60, and you'll then see the entire content of the text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig04 Figure 7.4]). <center>Figure 7.3. A text box may contain more text than it can display. [[Image:07fig03.jpg|500px|graphics/07fig03.jpg]] </center> <center>Figure 7.4. A multiline text box can be sized as large as necessary. [[Image:07fig04.jpg|500px|graphics/07fig04.jpg]] </center> At times, you won't want a user to be able to interact with a control. For instance, you may implement a security model in your application, and if the user doesn't have the necessary privileges, you may not want the user to be able to alter data. The Enabled property, which almost every control has, determines whether the user can interact with the control. Change the Enabled property of the text box to false, and press F5 to run the project. Although no noticeable change occurs in the control in Design view, there is a big change to the control at runtime: the text appears in gray rather than black, and the text box won't accept the focus or allow you to change the text (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig05 Figure 7.5]). <center>Figure 7.5. You can't interact with a text box whose Enabled property is set to false. [[Image:07fig05.jpg|500px|graphics/07fig05.jpg]] </center> Stop the project now by choosing Stop Debugging from the Debug menu, and then change the control's Enabled property back to true. Adding Scrollbars Even though you can size a multiline text box, there may be times when the contents of the control are more than what can be displayed. If you believe that this is a possibility for a text box you're adding to a form, give the text box scrollbars by changing the ScrollBars property from None to Vertical, Horizontal, or Both. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | For a text box to display scrollbars, its Multiline property must be set to true. |} Change the ScrollBars property of your text box to Vertical and notice how scrollbars appear in the text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig06 Figure 7.6]). <center>Figure 7.6. If a text box may contain lots of text, give it a scrollbar. [[Image:07fig06.jpg|500px|graphics/07fig06.jpg]] </center> Limiting the Number of Characters a User Can Enter You can limit the number of characters a user can type into a text box using the MaxLength property. All new text boxes are given the default value of 32767 for MaxLength, but you can change this as needed (up or down). Add a new text box to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtRestrict</tt> |- | <tt>Location</tt> | <tt>128,80</tt> |- | <tt>MaxLength</tt> | <tt>10</tt> |- | <tt>Size</tt> | <tt>136,20</tt> |- | <tt>Text</tt> | (make blank) |} Run the project by pressing F5 and then enter the following text into the text box: So you run and you run. Be sure to try to enter more than 10 characters of text�you can't (if you can, you're probably entering the text into the text box with scrollbars, rather than into the new text box). All that you're allowed to enter is So you run (10 characters). The text box allows only 10 characters, whether that's via entry using the keyboard or a Paste operation. The MaxLength property is most often used when the text box's content is to be written to a database, in which field sizes are usually restricted (using a database is discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21.htm#ch21 Hour 21], "Working with a Database"). Stop the project by choosing Stop Debugging from the Debug menu and then click Save All on the toolbar. Creating Password Fields You've probably used a password field: a text box that displays an asterisk for each character entered. Any text box can be made a password field by assigning a character to its PasswordChar field. Select the PasswordChar property of the second text box now (txtRestrict) and enter an asterisk (*) for the property value. Run the project once more and enter text into the text box. Now an asterisk is displayed for each character you enter (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig07 Figure 7.7]). Although the user doesn't see the actual text contained in the text box, referencing the Text property in code always returns the true text. <center>Figure 7.7. A password field displays its password character for all entered text. [[Image:07fig07.jpg|300px|graphics/07fig07.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | A text box will display password characters only if its Multiline property is set to false. |} Stop the project by choosing Stop Debugging from the Debug menu. Delete the asterisk from the PasswordChar field, and then save the project by clicking Save All on the toolbar. Creating Buttons Every dialog box that Windows displays has at least one button on it. Buttons enable a user to invoke a function with a click of the mouse. Create a new project named Button Example, change the name of the default form to fclsButtonExample, set the form's Text property to Button Example, and update the entry point Main() to reference fclsButtonExample instead of Form1. Next, add a new button to the form by double-clicking the Button item in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnClose</tt> |- | <tt>Location</tt> | <tt>104,90</tt> |- | <tt>Text</tt> | <tt>Close</tt> |} Add a new text box to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtTest</tt> |- | <tt>Location</tt> | <tt>92,40</tt> |- | <tt>TabIndex</tt> | <tt>0</tt> |- | <tt>Text</tt> | (make blank) |} You're probably starting to see a pattern here. Whenever you add a new control to a form, the first thing you should do is give the control a descriptive name. If the control has a Text property, you should also change that to something meaningful. Your form should now look like [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig08 Figure 7.8]. <center>Figure 7.8. Users click buttons, such as the Close button, to make things happen. [[Image:07fig08.jpg|500px|graphics/07fig08.jpg]] </center> There's no point in having a button that doesn't do anything, so double-click the button now to access its Click event, and then add the following statement: <pre>this.Close(); </pre> Recall from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05.htm#ch05 Hour 5], "Building Forms�Part I," that this statement closes the current form. Because you'll have only one form in the project, this has the effect of terminating the application. Press F5 to run the project. The cursor appears in the text box, which means that the text box has the focus (it has the lowest <tt>TabIndex</tt> property). Press Enter and note that nothing happens (this will make sense shortly). Next, click the button and the form will close. Accept and Cancel Buttons When creating dialog boxes, it's common to assign one button as the default button (called the Accept button). If a form has an Accept button, that button's Click event is fired when the user presses Enter, regardless of which control has the focus. This is great for dialog boxes in which the user enters some text and presses Enter to commit the data and close the form. To designate a button as an Accept button, use the following steps: # Select the AcceptButton property of the form. # Look at the AcceptButton property of your form now�it reads (none). Click the property to select it and a drop-down arrow appears. # Click the down arrow and you'll get a list of the buttons on the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig09 Figure 7.9]). Choose btnClose to make it the Accept button. Notice how the button now appears with a dark border, indicating that it is the Accept button. <center>Figure 7.9. You can designate only one button as a form's Accept button. [[Image:07fig09.jpg|178px|graphics/07fig09.jpg]] </center> # Press F5 to run the project. Again, the text box has the focus. Press Enter, and you'll find that the form closes. Again, pressing Enter on a form that has a designated Accept button causes that button's Click event to fire the same as if the user clicked it with the mouse, regardless of which control has the focus. The Accept button is a useful concept, and you should take advantage of this functionality when possible. Keep in mind that when you do create an Accept button for a form, you should also create a Cancel button. A Cancel button is a button that fires its Click event when the user presses the Esc key, regardless of which control has the focus. Generally, you place code in a Cancel button to shut down the form without committing any changes made by the user. To designate a button as a Cancel button, choose it as the CancelButton property of the form. Adding a Picture to a Button Although it's not standard practice, and you shouldn't overuse the technique because doing so causes clutter and can reduce the usefulness of your interface, it's possible to add a picture to a button. The two primary methods of doing this are to add the picture to the button at design time by loading a picture into the Image property of the control using the Properties window, or to bind the button to an image list. I'll discuss loading a picture using the Properties window here and the Image List control in the next hour. (Note: You can load an image at runtime using the technique discussed for the Picture Viewer program in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour.") {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To perform this operation, you'll need a small bitmap. I've provided one at [http://www.samspublishing.com/ www.samspublishing.com] called Close.bmp. |} Select the button and display its properties in the Properties window. Click the Image property to select it, and then click the button with the three dots. The Open File dialog box is displayed, allowing you to find and select a bitmap. Use this dialog box to locate and select the Close.bmp bitmap or another small bitmap of your choosing. Click Open to load the image into the button's Image property, and the picture will appear on your button (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig10 Figure 7.10]). <center>Figure 7.10. The picture loaded into the Image property of a button appears on the button. [[Image:07fig10.jpg|500px|graphics/07fig10.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Many controls have an Image property, and for the most part, they all work the same way as the Image property of the Button control. |} Notice that there is a problem with how the picture appears on the button�the image overlays the text. This problem is easily corrected. Although a picture is displayed in the center of a button by default, you can specify the placement using the ImageAlign property. Click the ImageAlign property to display a drop-down arrow, and then click the arrow. The drop-down list contains a special interface for specifying the alignment of the picture (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig11 Figure 7.11]). Each rectangle in the drop-down list corresponds to an alignment (center-left, center-center, center-right, and so on) Click the center-left rectangle now and the image will be moved to the left of the text. So much for problem one… <center> </center> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating Containers and Groups of Option Buttons In this section, you'll learn how to create containers for groups of controls using panels and group boxes. You'll also learn how to use the Check Box and Option Button controls in conjunction with these container controls to present multiple choices to a user. Begin by creating a new Windows Application titled Options. Change the name of the default form to fclsOptions and set the form's Text property to Options. Next, change the entry point Main() to reference fclsOptions instead of Form1. Using Panels and Group Boxes {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Controls can be placed on a form because the form is a container object�an object that can contain controls. A form is not the only type of container, however. Some controls act as containers as well, and a container may host one or more other containers. The Panel and Group Box controls are both container controls that serve a similar purpose, yet each is more suited to a particular application. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Panel control is a slimmed-down version of the Group Box control, so I won't be discussing it in depth. If you need a very basic container control without the additional features offered by the group box, such as a border and a caption, use the Panel control. |} The group box is a container control with properties that let you create a border (frame) and caption. Add a new group box to your form now by double-clicking the GroupBox item in the toolbox. When you create a new group box, it has a border by default, and its caption is set to the name of the control (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig12 Figure 7.12]). <center>Figure 7.12. A group box acts like a form within a form. [[Image:07fig12.jpg|500px|graphics/07fig12.jpg]] </center> Set the properties of the group box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>grpMyGroupBox</tt> |- | <tt>Location</tt> | <tt>48,16</tt> |- | <tt>Size</tt> | <tt>200,168</tt> |- | <tt>Text</tt> | <tt>This is a group box</tt> |} The group box is a fairly straightforward control. Other than defining a border and displaying a caption, the purpose of a group box is to provide a container for other controls. The next two sections, "[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07lev2sec9 Presenting Yes/No Options Using Check Boxes]" and "[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07lev2sec10 Working with Radio Buttons]," help demonstrate the benefits of using a group box as a container. Presenting Yes/No Options Using Check Boxes The check box is used to display true/false values on a form. You're now going to add a check box to your form�but not in the way you have been adding other controls. As you know by now, double-clicking the CheckBox item in the toolbox will place a new Check Box control on the form. However, this time you're going to place the check box on the Group Box control. To place a control on a group box, you can use one of the following techniques: * Add the control to the form, cut the control from the form, select the group box, and paste the control on the group box. * Draw the control directly on the group box. * Drop the control on the group box. You're going to use the third method�dropping a new control directly on the group box. Follow these steps: # Click the group box to select it. # Click the CheckBox item in the toolbox and drag it to the group box. # Release the mouse when you are over the group box. You should now have a check box on your group box like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig13 Figure 7.13]. <center>Figure 7.13. Container controls hold other controls. [[Image:07fig13.jpg|500px|graphics/07fig13.jpg]] </center> Move the check box around by clicking and dragging it. You'll notice that you can't move the check box outside the group box's boundaries. This is because the check box is a child of the group box, not of the form. Set the properties of the check box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>chkMyCheckBox</tt> |- | <tt>Location</tt> | <tt>16,24</tt> |- | <tt>Size</tt> | <tt>120,24</tt> |- | <tt>Text</tt> | <tt>This is a check box</tt> |} When the user clicks the check box, it changes its visible state from checked to unchecked. To see this behavior, press F5 to run the project and click the check box a few times. When you're done experimenting, stop the running project. To determine the state of the check box in code, use its Checked property. You can also set this property at design time using the Properties window. Working with Radio Buttons Check boxes are excellent controls for displaying true/false values. Check boxes work independently of one another, however. If you have five check boxes on a form, each of them could be checked or unchecked. Radio buttons, on the other hand, are mutually exclusive to the container on which they are placed. This means that only one radio button per container may be selected at a time. Selecting one radio button automatically deselects any other radio buttons on the same container. Radio buttons are used to offer a selection of items to a user when the user is allowed to select only one item. To better see how mutual exclusivity works, you're going to create a small group of radio buttons. Click the RadioButton item in the toolbox to begin dragging, move the pointer over the group box, and then release the button to drop a new radio button on the group box. Set the properties of the radio button as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>optOption1</tt> |- | <tt>Location</tt> | <tt>19,65</tt> |- | <tt>Size</tt> | <tt>104,24</tt> |- | <tt>Text</tt> | <tt>This is option 1</tt> |} You're going to copy this radio button and paste a copy of the control on the group box. Begin by right-clicking the radio button and choosing Copy from its context menu. Next, click the group box to select it, right-click the group box, and choose Paste from its context menu to create a new radio button. Set the properties of the radio button as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>optOption2</tt> |- | <tt>Checked</tt> | <tt>true</tt> |- | <tt>Location</tt> | <tt>19,96</tt> |- | <tt>Text</tt> | <tt>This is option 2</tt> |} Now that you have your two radio buttons (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig14 Figure 7.14]), run the project by pressing F5. <center>Figure 7.14. Radio buttons restrict a user to selecting a single item. [[Image:07fig14.jpg|500px|graphics/07fig14.jpg]] </center> Click the first radio button to select it, and notice how the second radio button becomes deselected automatically (its Checked property is set to false). Two radio buttons are sufficient to demonstrate the mutual exclusivity, but be aware that you could add as many radio buttons to the group box as you care to and the behavior would be the same. The important thing to remember is that mutual exclusivity is shared only by radio buttons placed on the same container. To create radio buttons that behave independently of one another, you would need to create a second set. You could easily create a new group box (or panel for that matter) and place the second set of radio buttons on the new container. The two sets of radio buttons would behave independently of one another, but mutual exclusivity would still exist among the buttons within each set. Stop the running project and save your work. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Displaying a List with the List Box The list box is used to present a list of items to a user. You can add items to and remove items from the list at any time with very little C# code. In addition, you can set up a list box so that a user can select only a single item or multiple items. When a list box contains more items than it can show because of the size of the control, scrollbars are automatically displayed. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The cousin of the list box is the combo box, which looks like a text box with a down-arrow button at its right side. Clicking a combo box's button causes the control to display a drop-down list box. Working with the lists of a combo box is pretty much identical to working with a list box, so I'll discuss the details of list manipulation in this section. In the next section, I'll discuss features specific to the combo box. |} Create a new project titled Lists. Change the name of the default form to fclsLists and set its Text property to Lists Example. Next, change the entry point Main() to reference fclsLists instead of Form1. Set the form's <tt>Size</tt> property to 300,320. Add a new list box control to the form by double-clicking the ListBox item in the toolbox. Set the properties of the list box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lstPinkFloydAlbums</tt> |- | <tt>Location</tt> | <tt>72,32</tt> |- | <tt>Size</tt> | <tt>160,121</tt> |} Every item contained in a list box is a member of the list box's Items collection. Working with items, including adding and removing items, is performed using the Items collection. Most often, you'll manipulate the Items collection using code (which I'll show you a little bit later in this hour), but you can also work with the collection at design time using the Properties window. Manipulating Items at Design Time The Items collection is available as a property of the list box. Locate the Items property in the Properties window and click it to select it. The familiar button with three dots appears, indicating that you can do advanced things with this property. Click the button now to show the String Collection Editor. To add items to the collection, simply enter the items into the text box�one item to a line. Enter the following items: * Atom Heart Mother * Saucer Full of Secrets * Wish You Were Here * Animals * Echoes * Piper at the Gates of Dawn When you're finished, your screen should look like that shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig15 Figure 7.15]. Click OK to commit your entries and close the window. Notice that the list box contains the items that you entered. <center>Figure 7.15. Use this dialog box to manipulate an Items collection at design time. [[Image:07fig15.jpg|437px|graphics/07fig15.jpg]] </center> Manipulating Items at Runtime In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Understanding Objects and Collections," you learned all about objects, properties, methods, and collections. All this knowledge comes into play when manipulating lists at runtime. The Items property of a list box (and a combo box) is an object property that returns a collection (collections in many ways are like objects�they have properties and methods). To manipulate list items, you manipulate the Items collection. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Whether you choose to set values at design time or runtime depends on the situation. For example, if you don't know the values at design time, you'll have to set them at runtime. I recommend that you set values at design-time whenever possible. |} A list may contain duplicate values, as you'll see in this example. Because of this, C# needs another mechanism to treat each item in a list as a unique item. This is done by assigning each item in an Items collection a unique index. The first item in the list has an index of 0, the second an index of 1, and so on. The index is the ordinal position of an item relative to the first item in the Items collection, not the top item visible in the list. Adding Items to a List New items are added to the Items collection using the <tt>Add</tt> method of the collection. You're now going to create a button that adds an album to the list. Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnAddItem</tt> |- | <tt>Location</tt> | <tt>104,160</tt> |- | <tt>Size</tt> | <tt>96,23</tt> |- | <tt>Text</tt> | <tt>Add an Item</tt> |} Double-click the button to access its <tt>Click</tt> event and add the following code: <pre>lstPinkFloydAlbums.Items.Add("Dark Side of the Moon"); </pre> Notice that the Add method accepts a string argument�the text to add to the list. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Unlike items added at design time, items added through code aren't preserved when the program is ended. |} Press F5 to run the project now and click the button. When you do, the new album is added to the bottom of the list. Clicking the button a second time adds another item to the list with the same album name. The list box doesn't care whether the item already exists in the list; each call to the Add method of the Items collection adds a new item to the list. The Add method of the Items collection can be called as a function, in which case it returns the index (ordinal position of the newly added item in the underlying collection), as in the following: <pre>int intIndex; intIndex = lstPinkFloydAlbums.Items.Add("Dark Side of the Moon"); </pre> Stop the running project and save your work before continuing. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | To add an item to an Items collection at a specific location in the list, use the Insert method. The <tt>Insert</tt> method accepts an index in addition to text. For instance, to add an item at the top of the list, you could use a statement such as <tt>lstPinkFloydAlbums.Items.Insert(0,"Dark Side of the Moon");.</tt> Remember, the first item in the list has an index of 0. |} Removing Items from a List Removing an individual item from a list is as easy as adding an item and requires only a single method call: a call to the Remove method of the Items collection. The Remove method accepts a string, which is the text of the item to remove. You're now going to create a button that will remove an item from the list. Create a new button and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnRemoveItem</tt> |- | <tt>Location</tt> | <tt>104,192</tt> |- | <tt>Size</tt> | <tt>96,23</tt> |- | <tt>Text</tt> | <tt>Remove an Item</tt> |} Double-click the new button to access its Click event and enter the following statement: <pre>lstPinkFloydAlbums.Items.Remove("Dark Side of the Moon"); </pre> The Remove method tells C# to search the Items collection, starting at the first item (index = 0), and when an item is found that matches the specified text, to remove that item. As I stated earlier, you can have multiple items with the same text. The Remove method will remove only the first occurrence; after the text is found and removed, C# stops looking. Press F5 to run the project now. Click the Add an Item button a few times to add Dark Side of the Moon to the list (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig16 Figure 7.16]). Next, click the Remove an Item button and notice how C# finds and removes one instance of the item. <center>Figure 7.16. The list box may contain duplicate entries, but each entry is a unique item in the Items collection. [[Image:07fig16.jpg|300px|graphics/07fig16.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To remove an item at a specific index, use the RemoveAt method. For instance, to remove the first item in the list, you could use a statement such as <tt>lstPinkFloydAlbums.Items.RemoveAt(0);</tt>. |} Stop the running project and save your work. Clearing a List To completely clear the contents of a list box, use the Clear method. You are now going to add a button to the form that will clear the list when clicked. Add a new button to the form now and set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnClearList</tt> |- | <tt>Location</tt> | <tt>104,224</tt> |- | <tt>Size</tt> | <tt>96,23</tt> |- | <tt>Text</tt> | <tt>Clear List</tt> |} Double-click the new button to access its Click event and enter the following statement: <pre>lstPinkFloydAlbums.Items.Clear(); </pre> Press F5 to run the project, and then click the Clear List button. The Clear method doesn't care if an item was added at design time or runtime; Clear() always removes all items from the list. Stop the project and again save your work. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Remember, the Add, Insert, Remove, RemoveAt, and Clear methods are all methods of the Items collection, not of the list box itself. If you forget that these are members of the Items collection, you might get confused when you don't find them when you enter a period after typing a list box's name in code. |} Retrieving Information About the Selected Item in a List By default, a list box allows only a single item to be selected by the user at one time. Whether a list allows multiple selections is determined by the SelectionMode property of the list box. You will need to understand how to work with the selected item in a list box that allows only a single selection (list boxes that allow multiple selections are more complex and are beyond the scope of the book). Two properties provide information about the selected item: SelectedItem and SelectedIndex. It's important to note that these are properties of the list box itself, not of the Items collection of a list box. The <tt>SelectedItem</tt> method returns the text of the currently selected item. If no item is selected, an empty string is returned. At times, it's desirable to know the index of the selected item. This is returned by the SelectedIndex property of the list box. As you know, the first item in a list has the index of 0. If no item is selected, SelectedIndex returns a �1, which is never a valid index for an item. You're now going to add a button to the form that, when clicked, displays the selected item's text and index in the Output window. First, change the Height property of the form to 320 to accommodate one more button. As you build your interfaces, you'll often have to make small tweaks such as this because it's nearly impossible to anticipate everything ahead of time. Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowItem</tt> |- | <tt>Location</tt> | <tt>104,256</tt> |- | <tt>Size</tt> | <tt>96,23</tt> |- | <tt>Text</tt> | <tt>Show Selected</tt> |} Double-click the new button to access its Click event and enter the following statements: <pre>System.Diagnostics.Debug.WriteLine(lstPinkFloydAlbums.SelectedItem); System.Diagnostics.Debug.WriteLine(lstPinkFloydAlbums.SelectedIndex); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | System.Diagnostics.Debug.WriteLine sends text to the Output window. If you are planning to write several debug statements, it may be helpful to declare the System.Diagnostics namespace at the beginning of your class. This permits you to use the methods of the namespace without having to qualify the entire namespace. For example, after the namespace System.Diagnostics is declared in the class, you could use a statement like the following: <pre>Debug.WriteLine(lstPinkFloydAlbums.SelectedItem);<br /></pre> Notice how you don't have to reference System.Diagnostics on this line; the compiler is able to determine this automatically. To specify a namespace so that you can reference its objects without explicitly referencing the namespace, you add a using statement in the header of the class file (with the other using statements that C# automatically places in the header). For example, to reference the System.Diagnostics namespace, you could add a statement like this to the class's header: <pre>using System.Diagnostics;<br /></pre> Again, after you've added the namespace with a using statement, you can reference the namespace's objects without explicitly referencing <tt>System.Diagnostics</tt>, as seen next: <pre>Debug.WriteLine(lstPinkFloydAlbums.SelectedItem);<br />Debug.WriteLine(lstPinkFloydAlbums.SelectedIndex);<br /></pre> |} Press F5 to run the project and click the Show Selected button. Take a look at the Output window. You'll see a blank line (the empty string returned by SelectedItem) and a �1, returned by <tt>SelectedIndex</tt> denoting that no item is selected. Click an item in the list to select it, and then click Show Selected again. This time, you'll see the text of the selected item and its index in the Output window (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig17 Figure 7.17]). <center>Figure 7.17. The SelectedItem and SelectedIndex properties make it easy to determine which item is selected. [[Image:07fig17.jpg|300px|graphics/07fig17.jpg]] </center> Stop the running project and save your work. Sorting a List List boxes and combo boxes have a <tt>Sorted</tt> property. By default, this property is set to false. Changing this property value to true causes C# to sort the contents of the list alphabetically. When the contents of a list are sorted, the index of each item in the Items collection is changed; therefore, you can't use an index value obtained prior to setting Sorted to true. Sorted is a property, not a member. You don't have to call Sorted to sort the contents of a list. Instead, as long as the Sorted property is set to true, C# enforces a sort order. This means that all items added using the Add method are automatically inserted into the proper location, in contrast to being inserted at the end of the list, which is the behavior of an unsorted list. Creating Drop-Down Lists Using the Combo Box List boxes are great, but they have two shortcomings. First, they take up quite a bit of space. Second, users can't enter their own values; they have to select from the items in the list. If you need to conserve space or if you want to allow a user to enter a value that may not exist in the list, use the Combo Box control. Combo boxes have an Items collection that behaves exactly like that of the List Box control (refer to the previous section for information on manipulating lists). Here I will show you the basics of how a combo box works. Add a new combo box to the form by double-clicking the ComboBox item in the toolbox. Set the combo box's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>cboColors</tt> |- | <tt>Location</tt> | <tt>72,8</tt> |- | <tt>Size</tt> | <tt>160,21</tt> |- | <tt>Text</tt> | (make blank) |} The first thing you should note is that the combo box has a Text property, whereas the list box doesn't. This works the same as the Text property of a text box. When the user selects an item from the drop-down list, the value of the selected item is placed in the Text property of the text box. The default behavior of a combo box is to allow the user to enter any text in the text box portion of the control�even if the text doesn't exist in the list. Shortly, I'll show you how to change this behavior. Select the Items property of the combo box in the Properties window and click the button that appears. Add the following items to the String Collection editor and click OK to commit your entries. * Black * Blue * Gold * Green * Red * Yellow Press F5 to run the project. Click the arrow at the right side of the combo box and a drop-down list appears (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#ch07fig18 Figure 7.18]). <center>Figure 7.18. Combo boxes conserve space. [[Image:07fig18.jpg|300px|graphics/07fig18.jpg]] </center> Next, try typing in the text Magenta. C# lets you do this. Indeed, you can type any text that you desire. Often, you'll want to restrict a user to entering only values that appear in the list. To do this, you change the DropDownStyle property of the combo box. Close the form to stop the running project and change the DropDownStyle property of the combo box to DropDownList. Press F5 to run the project again and try to type text into the combo box. You can't. However, if you enter a character that is the start of a list item, C# will select the closest matching entry. As a matter of fact, clicking in the "text box" portion of the combo box opens the list the same as if you clicked the drop-down arrow. When set as a DropDownList, a combo box won't allow any text entry; therefore, the user is limited to selecting items from the list. Stop the running project now and save your work. As you can see, the combo box and list box offer similar functionality. In fact, the coding of their lists is identical. However, each one of these controls serves a slightly different purpose. Which one is better? That depends entirely on the situation. As you use professional applications, pay attention to their interfaces; you'll start to get a feel for which control is appropriate in a given situation. Summary In this hour you learned how to present text to a user. You learned that the Label control is perfect for displaying static text (text the user can't enter) and that the text box is the control to use for displaying edited text. You can now create text boxes that contain many lines of text, and you know how to add scrollbars when the text is greater than what can be displayed in the control. I don't think I've ever seen a form without at least one button on it. You've now learned how to add buttons to your forms and how to do some interesting things, such as adding a picture to a button. For the most part, working with buttons is a simple matter of adding one to a form, settings its Name and Text properties, and adding some code to its Click event�all of which you now know how to do. Check boxes and option buttons are used to present true/false and mutually exclusive options, respectively. In this hour, you learned how to use each of these controls and how to use group boxes to logically group sets of related controls. Last, you learned how to use list boxes and combo boxes to present lists of items to a user. You now know how to add items to a list at design time as well as runtime, and you know how to sort items. The List Box and Combo Box are powerful controls, and I encourage you to dig deeper into the functionality they possess. Without controls, users would have nothing to interact with on your forms. In this hour, you learned how to use the standard controls to begin building functional interfaces. Keep in mind that I only scratched the surface of each of these controls and that most do far more than I've hinted at here. Mastering these controls will be easy for you, as you'll be using them a lot. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#qad1e25275 Q1:]''' | Can I place radio buttons directly on a form? |- | align="right" | ''' A1: ''' | Yes. The form is a container, so all radio buttons placed on a form are mutually exclusive to one another. If you wanted to add a second set of mutually exclusive buttons, they'd have to be placed on a container control. In general, I think it's best to place radio buttons on a group box rather than on a form because the group box provides a border and a caption for the radio buttons and makes it much easier to move the set of radio buttons around when you're designing the form. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/07.htm#qad1e25285 Q2:]''' | I've seen what appears to be list boxes that have a check box next to each item in the list. Is this possible? |- | align="right" | ''' A2: ''' | Yes. In C#, this is accomplished using an entirely different control: the checked list box. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans01 1:]''' | Which control would you use to display text that the user can't edit? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans02 2:]''' | What common property is shared by the Label control and text box 2and whose value determines what the user sees in the control? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans03 3:]''' | To change the Height of a text box, you must set what property? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans04 4:]''' | What is the default event of a Button control? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans05 5:]''' | A button whose Click event is triggered when the user presses Enter, regardless of the control that has the focus, is called an…? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans06 6:]''' | Which control would you use to display a yes/no value to a user? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans07 7:]''' | How would you create two distinct sets of mutually exclusive option buttons? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans08 8:]''' | To manipulate items in a list, you use what collection? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec7.htm#ch07ans09 9:]''' | What method adds an item to a list in a specific location? |} Exercises # Create a form with a text box and a combo box. Add a button that, when clicked, adds the contents of the text box to the combo box. # Create a form with two list boxes. Add a number of items to one list box at design time using the Properties window. Create a button that, when clicked, removes the selected item in the first list and adds it to the second list. tbaw16ewtqch0cmu9oxx35v90u9bk1a User:Foxall/08 2 2139 5600 2007-06-18T00:31:28Z Foxall 27 Bog cusub: == Hour 8. Advanced Controls == The standard controls presented in the previous hour enable you to build many types of functional forms. However, to create truly robust and interactive a... 5600 wikitext text/x-wiki == Hour 8. Advanced Controls == The standard controls presented in the previous hour enable you to build many types of functional forms. However, to create truly robust and interactive applications, you've got to use the more advanced controls. As a Windows user, you've encountered many of these controls, such as the Tab control, which presents data on tabs, and the Tree View control, which displays hierarchical lists such as the one in Explorer. In this hour, you'll learn about these advanced controls and learn how to use them to make professional interfaces like those you're accustomed to seeing in commercial products. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08lev1sec1.htm#ch08lev1sec1 Creating timers] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08lev1sec2.htm#ch08lev1sec2 Creating tabbed dialog boxes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08lev1sec3.htm#ch08lev1sec3 Storing pictures in an Image List] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08lev1sec4.htm#ch08lev1sec4 Building enhanced lists using the List View control] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch08lev1sec5.htm#ch08lev1sec5 Creating hierarchical lists with the Tree View control] {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In many of the examples in this hour, I show you how to add items to collections at design time. Keep in mind that almost everything you can do at design time can also be accomplished with C# code at runtime. |} ---- === Creating Timers === One thing that all the controls you used in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7], "Working with Traditional Controls," have in common is that the user can interact with them. However, not all controls have this capability�or restriction, depending on how you look at it. Some controls are designed for use only by the developer. One such control is the Open File Dialog control you used in your Picture Viewer application in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour." Another control that is invisible at runtime is the Timer control. The Timer control's sole purpose is to trigger an event at a specified interval of time. Create a new Windows Application titled Timer Example. Change the name of the default form to fclsTimerExample and then set its Text property to Timer Example. Next, be sure to set the Main() entry point of the project to fclsTimerExample or the project won't run. Add a new Timer control to your form by double-clicking the Timer item in the toolbox. Because the Timer control is invisible at runtime, it's added to the gray area at the bottom of the screen rather than placed on the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig01 Figure 8.1]). Set the properties of the Timer control as follows: <center>Figure 8.1. Invisible-at-runtime controls are shown at the bottom of the designer, not on the form. [[Image:08fig01.jpg|500px|graphics/08fig01.jpg]] </center> {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>tmrClock</tt> |- | <tt>Enabled</tt> | <tt>True</tt> |- | <tt>Interval</tt> | <tt>1000</tt> |} You probably noticed that there are very few properties for the Timer control, compared to the other controls with which you've worked. The key property of the Timer control is the Interval property. The Interval property determines how often the Timer control fires its Tick event. The Interval is specified in milliseconds, so a setting of 1,000 is equal to 1 second. The best way to understand how the timer works is to use it. Using the Timer and a Label control, you're now going to create a simple clock. The way the clock will work is that the timer will fire its Tick event once every second (because you'll set the Interval = 1000 milliseconds), and within the Tick event, the label's Text property will be updated with the current system time. Add a new label to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lblClock</tt> |- | <tt>BorderStyle</tt> | <tt>FixedSingle</tt> |- | <tt>Location</tt> | <tt>96,120</tt> |- | <tt>Size</tt> | <tt>100,23</tt> |- | <tt>Text</tt> | (make blank) |- | <tt>TextAlign</tt> | <tt>MiddleCenter</tt> |} Next, double-click the Timer control to access its Tick event. When a timer is first enabled, it starts counting, in milliseconds, from 0. When the amount of time specified in the Interval property passes, the Tick event fires and the timer starts counting from 0 again. This continues until the timer is disabled (that is, when its Enabled property is set to False). Because you've set the Enabled property of the timer to True at design time, it will start counting as soon as the form on which it is placed is loaded. Enter the following statement in the Tick event: <pre>DateTime dtCurrentTime = DateTime.Now; lblClock.Text = dtCurrentTime.ToLongTimeString(); </pre> The .NET Framework provides date/time functionality in the System namespace. The Now property of the DateTime class returns the current time. Using the ToLongTimeString method returns a string with a time format of hh:mm:ss. Using this class, property, and method, we set the Text property of the label to the current time of day, and it does this once a second. Press F5 to run the project now and you'll see the Label control acting as a clock, updating the time every second (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig02 Figure 8.2]). <center> </center> Stop the running project now and save your work. Timers are powerful, but you must take care not to overuse them. For a timer to work, Windows must be aware of the timer and must constantly compare the current internal clock to the interval of the timer. It does all this so that it can notify the timer at the appropriate time to execute its Tick event. In other words, timers take system resources. This isn't a problem for an application that uses a few timers, but I wouldn't overload an application with a dozen timers unless I had no other choice. Creating Tabbed Dialog Boxes Windows 95 was the first version of Windows to introduce a tabbed interface. Since then, tabs have been unanimously adopted as a primary interface element. Tabs provide two primary benefits: the logical grouping of controls and the reduction of required screen space. Although tabs may look complicated, they are, in fact, extremely easy to build and use. Create a new Windows Application named Tabs Example. Change the name of the default form to reference fclsTabs instead of Form1, set its Text property to Tabs Example, and modify the Main() entry point to fclsTabs. Next, add a new Tab control to your form by double-clicking the TabControl item in the toolbox. At first, the new control looks more like a panel than a set of tabs because it has no tabs. Set the Tab control's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>tabMyTabs</tt> |- | <tt>Location</tt> | <tt>8,16</tt> |- | <tt>Size</tt> | <tt>272,208</tt> |} The tabs on a Tab control are part of the control's TabPages collection. Click the TabPages property of the Tab control in the Properties window and then click the small button that appears. C# then shows the TabPage Collection Editor. As you can see, your Tab control has no tabs. Click Add now to create a new tab (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig03 Figure 8.3]). <center>Figure 8.3. New Tab controls have no tabs; you must create them. [[Image:08fig03.jpg|487px|graphics/08fig03.jpg]] </center> Each tab in the collection is called a page. C# names each new page with TabPageX, in which X is a unique number. It's usually not necessary to change the name of a page, but you can if you choose. Each page has a number of properties, but the property you'll be concerned with most is the Text property because the value in the Text property is the text the user will see on the tab. Change the Text property of your tab page to Contacts, and then click Add to create a second page. Change the Text property of the second page to Appointments and click OK to close the dialog box. Your Tab control now has two tabs (pages). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | A shortcut to adding or removing a tab is to use the shortcuts provided in the description pane at the bottom of the Properties window. |} Each page on a Tab control acts as a container, much like the Panel and Group Box controls. This is why you can't drag the Tab control by clicking in the middle of it; to drag a container control, you have to click and drag the dotted border around the control. Add a text box to the first tab now by dragging the TextBox item from the toolbox and dropping in on the tab page. After it's on the page, drag it to approximately the center of the page. Next, click the Appointments tab, the same as if you were a user switching tabs. As you can see, the Appointments tab comes to the front, and the text box is no longer visible. C# has hidden the first page and shown you the second. Drag a check box from the toolbox and drop it on the tab page, and then click Contacts once more. Again, C# handles the details of showing and hiding the tab pages; you no longer see the check box, but you do see the text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig04 Figure 8.4]). <center>Figure 8.4. The Tab control makes it easy to create a tabbed interface. [[Image:08fig04.jpg|500px|graphics/08fig04.jpg]] </center> By understanding two simple programming elements, you'll be able to do 99% of what you need to with the Tab control. The first is that you will, at times, need to know which tab is selected. The SelectedIndex property of the control (not of the TabPages collection) sets and returns the index of the currently selected tab�0 for the first tab, 1 for the second, and so forth. The second thing you need to know is how to tell when the user switches tabs. The Tab control has a SelectedIndexChanged event, which fires whenever the selected tab is changed. In this event, you can check the value of SelectedIndex to determine the tab that has been selected. The only tricky part here is that each tab page has its own set of events, so to get to the events of the Tab control itself, you'll have to use the techniques discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04.htm#ch04 Hour 4], "Understanding Events." Storing Pictures in an Image List Many of the controls I'll be discussing in this hour support the capability to attach pictures to different types of items. For instance, the Tree View control, which is used in Explorer for navigating folders, displays images next to each folder node. Not all these pictures are the same; the control uses specific pictures to denote information about each node. It would have been possible for Microsoft to make each control store its images internally, but that would be highly inefficient because it wouldn't allow controls to share the same pictures; you'd have to store the pictures in each control that needed them. Instead, Microsoft created a control dedicated to storing pictures and serving them to other controls: the Image List. Create a new Windows Application named Lists and Trees. Change the name of the default form to fclsListsAndTrees, set its Text property to Lists and Trees Example, and set the entry point of the project to reference fclsListsAndTrees instead of Form1. Next, add a new Image List control by double-clicking the ImageList item in the toolbox. Like the timer, the Image List is an invisible-at-runtime control, so it appears below the form. Change the name of the Image List to imgMyImages. The sole purpose of an Image List control is to store pictures and make them available to other controls. The pictures of an Image List are stored in the Images collection of the control. Click the Images property of the control in the Properties window and then click the small button that appears. C# then displays the Image Collection Editor, which is similar to other editors you've used in this hour. Click Add to display the Open dialog box and use this dialog box to locate and select a 16x16 pixel bitmap. If you don't have a 16x16 pixel bitmap, you can create one using Microsoft Paint, or you can download samples I've provided at [http://www.samspublishing.com/detail_sams.cfm?item=0672322870 http://www.samspublishing.com/detail_sams.cfm?item=0672322870]. After you've added an image, click OK to close the Image Collection Editor. Take a look at the ImageSize property of the Image control. It should read 16,16. If it doesn't, the bitmap you selected is not 16x16 pixels; this property sets itself to the dimensions of the first picture added to the Image List. You can't always rely on the background where a picture will be displayed to be white�or any other color for that matter. Because of this, the Image List has a TransparentColor property. By default, this is set to Transparent, which essentially means that no color in the picture is transparent (if the pictures in the Image List are icons, rather than bitmaps, the transparent portion of the icons will remain transparent). If you designate a specific color for the TransparentColor property, when a picture is served from the Image List to another control, all occurrences of the specified color will appear transparent�the background will show through. This gives you the power to create pictures that can be served to controls without concern about the color on which the picture will appear. That's all there is to adding images to an Image List. The power of the Image List resides in its capability to be linked to by other controls that can access the pictures it stores. Building Enhanced Lists Using the List View The List View control is like a list box on steroids�and then some. The List View can be used to create simple lists, multicolumn grids, and icon trays. The right pane in Explorer is a List View. (You may not know it, but you can change the appearance of the List View in Explorer by right-clicking it and using the View submenu of the context menu that appears.) The primary options you have available for changing the appearance of your List Views are Large Icons, Small Icons, List, and Details. These correspond exactly to the display options available for a List View by way of its View property. You're going to create a List View with a few items on it and experiment with the different views�including showing a picture for the items. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | I can only scratch the surface of this great control here. After you've learned the basics in this hour, I highly recommend that you spend some time with the control, the help text, and whatever additional material you can find. I use the List View all the time; it's a very powerful tool to have in your arsenal because displaying lists is so common. |} Add a List View to your form now by double-clicking the ListView item in the toolbox. Set the properties of the List View as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lvwMyListView</tt> |- | <tt>Location</tt> | <tt>8,8</tt> |- | <tt>Size</tt> | <tt>275,97</tt> |- | <tt>SmallImageList</tt> | <tt>imgMyImages</tt> |- | <tt>View</tt> | <tt>Details</tt> |} As you can see, you can attach an Image List to a control via the Properties window (or with code). Not all controls support the Image List, but those that do make it as simple as setting a property to link to an Image List. The List View actually allows linking to two Image Lists: one for large icons (32x32 pixels) and one for small images. In this example, you're going to use only small pictures. If you wanted to use the large format, you could hook up a second Image List containing larger images to the List View's LargeImageList control. Creating Columns When you changed the View property to Details, an empty header was placed at the top of the control. The contents of this header are determined by the columns defined in the Columns collection. Select the Columns property on the Properties window and click the small button that appears. C# then displays the ColumnHeader Collection Editor window. Click Add to create a new header and change its Text to Name and its Width to 120. Click Add once more to create a second column and change its Text to State. Click OK to save your column settings and close the window. Your list view should now have two named columns (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig05 Figure 8.5]). <center>Figure 8.5. List Views enable you to present multicolumn lists. [[Image:08fig05.jpg|500px|graphics/08fig05.jpg]] </center> Adding List Items You're now going to add two items to the list view. # Click the Items property in the Properties window and then click the small button that appears, which displays the ListViewItem Collection Editor dialog box. # Click Add to create a new item, and change the item's Text to James Foxall. # Next, open the drop-down list for the ImageIndex property. Notice how the list contains the picture in the linked Image List control (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig06 Figure 8.6]). Select the image. <center>Figure 8.6. Pictures from a linked Image List are readily available to the control. [[Image:08fig06.jpg|487px|graphics/08fig06.jpg]] </center> # The Text property of an item determines the text displayed for the item in the List View. If the View property is set to Details and multiple columns have been defined, the value of the Text property appears in the first column. Subsequent column values are determined by the SubItems collection. # Click the SubItems property and then click the small button that appears, which displays the ListViewSubItem Collection Editor. The item that appears in the list refers to the text of the item itself, which you don't want to change. # Click Add to create a new sub item and change its text to Nebraska. # Click OK to return to the ListViewItem Collection Editor. # Click the Add button to create another item. This time, change the Text property to your name and use the techniques you just learned to add a sub item. For the Text property of the sub item, enter your state of residence. # When you're finished, click OK to close the ListViewItem Collection Editor. Your List View should now contain two list items (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig07 Figure 8.7]). <center>Figure 8.7. List views offer much more functionality than a standard list box. [[Image:08fig07.jpg|500px|graphics/08fig07.jpg]] </center> # Next, experiment with the View property of the List View control to see how the various settings affect the appearance of the control. The Large Icons setting doesn't display an icon, because you didn't link an Image List control to the LargeImageList property of the List View. # Press F5 to run the project and try selecting your name by clicking your state. You can't. The default behavior of the List View is only to consider the clicking of the first column as selecting an item. # Stop the project and change the FullRowSelect property to True; then run the project once more. # Click your state again, and this time your name becomes selected (actually, the entire row becomes selected). Personally, I prefer to set up all my List Views with FullRowSelect set to True, but this is just a personal preference. Stop the project now and save your work. Manipulating a List View Using Code You've just learned the basics of working with a List View control. Although you performed all the steps in Design view, you'll probably manipulate your list items using code because you won't necessarily know ahead of time what to display in the list, so I'll show you how. Adding List Items Using Code Adding an item using code is very simple�if the item you are adding is simple. To add an item to your list view, you use the Add method of the Items collection, like this: <pre>lstMyListView.Items.Add("Mark Haro"); </pre> If the item is to have a picture, you can specify the index of the picture as a second parameter, like this: <pre>lstMyListView.Items.Add("Luis Haro",0); </pre> If the item has sub items, things get more complicated. The Add method allows you only to specify the text and image index. To access the additional properties of a list item, you need to get a reference to the item in code. Remember that new items have only one sub item; you have to create additional items. The Add method of the Items collection returns a reference to the newly added item. Knowing this, you can create a new variable to hold a reference to the item, create the item, and manipulate anything you choose to about the item using the variable (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays," for information on using variables). The following code creates a new item and appends a sub item to its SubItems collection: <pre>ListViewItem objListItem; objListItem = lstMyListView.Items.Add("Yvette Webster", 0); objListItem.SubItems.Add("Tennessee"); </pre> Determining the Selected Item in Code The List View control has a collection that contains a reference to each selected item in the control: the SelectedItems collection. If the MultiSelect property of the List View is set to True, as it is by default, the user can select multiple items by holding down the Ctrl or Shift keys when clicking items. This is why the List View supports a SelectedItems collection rather than a SelectedItem property. To gather information about a selected item, you refer to it by its index. For example, to print the text of the first selected item (or the only selected item if just one is selected), you could use code like this: <pre>if (lstMyListView.SelectedItems.Count > 0) System.Diagnostics.Debug.WriteLine(lstMyListView.SelectedItems[0].Text); </pre> The reason you check the Count property of the SelectedItems collection is that if no items are selected, you would cause a runtime error by attempting to reference element 0 in the SelectedItems collection. Removing List Items Using Code To remove a list item, use the Remove method of the Items collection. The Remove Item method accepts and expects a reference to a list item. For instance, to remove the currently selected item, you could use a statement such as <pre>lstMyListView.Items.Remove(lstMyListView.SelectedItems[0]); </pre> or <pre>lstMyListView.Items.RemoveAt(0); </pre> Again, you'd want to make sure an item is actually selected before using this statement. Removing All List Items If you're filling a List View using code, you'll probably want to clear the contents of the List View first. That way, if the code to fill the List View is called a second time, you won't create duplicate entries. To clear the contents of a List View, use the Clear method of the Items collection, like this: <pre>lstMyListView.Items.Clear(); </pre> The List View control is an amazingly versatile tool. As a matter of fact, I rarely use the standard list box now, preferring to use the List View because of its added functionality, such as displaying an image for an item. I've barely scratched the surface here, but you now know enough to begin using this awesome tool in your own development. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating Hierarchical Lists with the Tree View The Tree View control is used to present hierarchical data. Perhaps the most commonly used Tree View control is found in Explorer, where you can use the Tree View to navigate the folders and drives on your computer. The Tree View is perfect for displaying hierarchical data, such as a departmental display of employees. In this section, I'll teach you the basics of the Tree View control so that you can use this great interface element in your applications. The Tree View's items are contained in a Nodes collection. To add items to the tree, you append them to the Nodes collection. As you can probably see by now, after you understand the basics of objects and collections, you can apply that knowledge to almost everything in C#. For instance, the skills you learned in working with the Items collection of the List View control are similar to the skills needed for working with the Nodes collection of the Tree View control. Add a Tree View control to your form now by double-clicking the TreeView item in the toolbox. Set the Tree View control's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>tvwLanguages</tt> |- | <tt>ImageList</tt> | <tt>imgMyImages</tt> |- | <tt>Location</tt> | <tt>8,128</tt> |- | <tt>Size</tt> | <tt>272,97</tt> |} Adding Nodes to a Tree View To add a node, call the Add method of the Nodes collection. Add a new button to your form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnAddNode</tt> |- | <tt>Location</tt> | <tt>8,240</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>Add Node</tt> |} Double-click the button to access its Click event and enter the following code: <pre>tvwLanguages.Nodes.Add("Sam Chun"); tvwLanguages.Nodes.Add("C#"); </pre> Press F5 to run the project, and then click the button. Two nodes will appear in the tree, one for each Add method call (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig08 Figure 8.8]). <center>Figure 8.8. Nodes are the items that appear in a tree. [[Image:08fig08.jpg|301px|graphics/08fig08.jpg]] </center> Notice how both nodes appear at the same level in the hierarchy; neither node is a parent or child of the other. If all your nodes are going to be at the same level in the hierarchy, you should consider using a List View instead, because what you're creating is simply a list. Stop the project and return to the button's <tt>Click</tt> event. Any given node can be both a parent to other nodes and a child of a single node. For this to work, each node has its own Nodes collection. This can get confusing, but if you realize that children nodes belong to the parent node, it starts to make sense (but it still gets confusing in practice). You're now going to create a new button that adds the same two nodes as before but makes the second node a child of the first. Create a new button and set its properties as shown: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnCreateChild</tt> |- | <tt>Location</tt> | <tt>96,240</tt> |- | <tt>Size</tt> | <tt>80,23</tt> |- | <tt>Text</tt> | <tt>Create Child</tt> |} Double-click the new button to access its Click event and add the following code: <pre>TreeNode objNode; objNode = tvwLanguages.Nodes.Add("Wendy Chun"); objNode.Nodes.Add("C#"); </pre> This code is similar to what you created in the List View example. The Add method of the Nodes collection returns a reference to the newly created node. Thus, this code creates a variable of type TreeNode (variables are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12]), creates a new node whose reference is placed in the variable, and then adds a new node to the Nodes collection of the first node. To see the effect that this has, press F5 to run the project and click the new button. You'll see a single item in the list, with a plus sign to the left of it. This plus sign indicates that child nodes exist. Click the plus sign, and the node is expanded to show its children (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#ch08fig09 Figure 8.9]). <center>Figure 8.9. You can create as deep a hierarchy as you need. [[Image:08fig09.jpg|301px|graphics/08fig09.jpg]] </center> This example is a simple one�a single parent node having a single child node. However, the principles used here are the same as those used to build complex trees with dozens or hundreds of nodes. Removing Nodes Removing a node is simply a matter of calling the Remove method of the Nodes collection. The Remove method accepts and expects a valid node, so you must know which node to remove. Again, the Nodes collection works very much like the Items collection in the List View control, so the same ideas apply. For example, the currently selected node is returned in the SelectedNode property of the Tree View. So, to remove the currently selected node, you could use this statement: <pre>tvwLanguages.Nodes.Remove(tvwLanguages.SelectedNode); </pre> If this statement is called when no node is selected, an error would occur. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], you'll learn all about data types and equalities, but here's a preview: If an object variable doesn't reference an object, it is equivalent to the C# keyword null. Knowing this, you could validate whether an item is selected with a little bit of logic, like this: <pre>if (!(tvwLanguages.SelectedNode == null)) tvwLanguages.Nodes.Remove(tvwLanguages.SelectedNode); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Removing a parent node causes all its children to be removed as well. |} Clearing All Nodes To clear all nodes in a Tree View, invoke the <tt>Clear</tt> method of the Nodes collection, like this: <pre>tvwLanguages.Nodes.Clear(); </pre> As with the List View, I've only scratched the surface of the Tree View. Spend some time becoming familiar with the basics of the Tree View, as I've shown here, and then dig a bit deeper to discover the not-so-obvious power and flexibility of this control. Summary C# includes a number of controls that go beyond the standard functionality of the traditional controls discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7]. In this hour, I discussed the most commonly used advanced controls. You learned how to use the Timer control to trigger events at predetermined intervals. You also learned how to use the tab to create the tabbed dialog boxes with which you're so familiar. Also in this hour, you learned how to add pictures to an Image List so that other controls can use them. The Image List makes it easy to share pictures among many controls, making it a very useful tool. Finally, I taught you the basics of the List View and Tree View controls; two controls you can use to build high-end interfaces that present structured data. The more time you spend with all these controls, the better you will become at creating great interfaces. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#qad1e28118 Q1:]''' | What if I need a lot of timers, but I'm concerned about system resources? |- | align="right" | ''' A1: ''' | When possible, use a single timer for multiple duties. This is extremely easy when two events occur at the same interval�why bother creating a second timer? When two events occur at different intervals, you can use some decision skills along with static variables (discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12]) to share Timer events. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/08.htm#qad1e28132 Q2:]''' | What else can I do with an Image List? |- | align="right" | ''' A2: ''' | You can assign a unique picture to a node in a Tree View when the node is selected. You can also display an image in the tab of a tab page in a Tab control. There are a lot of uses, and as you learn more about advanced controls, you'll see additional opportunities for using images from an Image List. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans01 1:]''' | What increment of time is applied to the <tt>Interval</tt> property of the Timer control? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans02 2:]''' | What collection is used to add new tabs to a Tab control? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans03 3:]''' | What property returns the index of the currently selected tab? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans04 4:]''' | True or False: You should use different Image List controls for storing images of different sizes. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans05 5:]''' | To see columns in a List View control, the View property must be set to what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans06 6:]''' | The additional columns of data that can be attached to an item in a list view are stored in what collection? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans07 7:]''' | What property of what object would you use to determine how many items are in a List View? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans08 8:]''' | Each item in a Tree View is called a what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec8.htm#ch08ans09 9:]''' | How do you make a node the child of another node? |} Exercises # Add a second Image List to your project with the List View. Place an icon (32x32 pixels) in this Image List and link the Image List to the LargeImageList property of the List View control. Change the View to Large Icons. Does the icon appear next to a list item? If not, is there a property of an item you can set so that it does? # Create a new project and add a List View, a button, and a text box to the default form. When the button is clicked, create a new item in the List View using the text entered into the text box. ocqoicqjq6ejh51m5q2c9aat8lyrlbb User:Foxall/24 2 2140 5601 2007-06-18T00:33:14Z Foxall 27 Bog cusub: ./ ADD NAME=CH24.HTM {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec8.htm [[Image:previous.gif|62... 5601 wikitext text/x-wiki ./ ADD NAME=CH24.HTM {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec8.htm [[Image:previous.gif|62px|Previous Section]]] [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec1.htm [[Image:next.gif|41px|Next Section]]] |} ---- Hour 24. The 10,000-Foot View You know a lot about C# by now. You can create projects, use forms and controls to build an interface, and you know how to add menus and toolbars to a form. You've also learned how to create modules and procedures and how to write code to make things happen. You can use variables, make decisions, perform looping, and even debug your code. The question you may be thinking now is, "Where to next?" Throughout this book, I've focused my discussions on C#. When it comes to Microsoft's .NET platform, however, C# is just part of the picture. In this hour, I provide an overview of Microsoft's .NET platform so that you can see how C# relates to .NET as a whole. By the time you finish this hour, you'll understand the various pieces of .NET and how they are interrelated. Hopefully, you'll be able to combine this information with your current personal and professional needs to determine the facets of .NET that you want to explore in more detail. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec1.htm#ch24lev1sec1 Introduction to the .NET Framework] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec2.htm#ch24lev1sec2 Appreciating the Common Language Runtime (CLR)] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec3.htm#ch24lev1sec3 Understanding Microsoft Intermediate Language (IL)] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec4.htm#ch24lev1sec4 Working with namespaces] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec5.htm#ch24lev1sec5 The Common Type System] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24lev1sec6.htm#ch24lev1sec6 Garbage collection] The .NET Framework The components and technology that make up Microsoft .NET are collectively called the .NET Framework. The framework comprises numerous classes and includes components such as the Common Language Runtime, Microsoft Intermediate Language, and ADO.NET. In the following sections, I'll explain the various pieces that make up the .NET Framework. Common Language Runtime (CLR) A language runtime is what allows an application to run on a target computer; it consists of code that is shared among all applications developed using a supported language. A runtime contains the "guts" of language code, such as code that draws forms to the screen, handles user input, and manages data. The runtime of .NET is called the Common Language Runtime (CLR). Unlike runtimes for other languages, the CLR is designed as a multilanguage runtime. For example, C# and Visual Basic both use the CLR. In fact, currently more than 15 language compilers are being developed to use the CLR. Because all .NET languages share the CLR, they share the same IDE, the same forms engine, the same exception-handling mechanism, the same garbage collector (discussed shortly), and much more. One benefit of the multilanguage capability of the CLR is that programmers can leverage their knowledge of a given .NET language. For example, some developers on a team may be comfortable with C#, whereas others are more comfortable with Visual Basic. Because both languages share the same runtime, both can be integrated to deliver a solution. In addition, a common exception-handling mechanism is built into the CLR so that exceptions can be thrown from code written in one language and caught in code written in another .NET language. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Code that runs within the CLR is called managed code because the code and resources used by the code (variables, objects, and so on) are fully managed by the CLR. C# is restricted to working only in managed code, but some languages (such as C++) are capable of dropping to unmanaged code�code that isn't managed by the CLR. One big advantage with working in managed code is that the CLR provides garbage collection�the automatic freeing up of unused resources. You'll learn a bit more about garbage collection later in this hour. |} Another advantage of the CLR is that all .NET tools share the same debugging and code-profiling tools. In the past, languages such as Visual Basic were limited to their own debugging tools, whereas languages such as C++ had many third-party debugging tools available. Now, all languages share the same tools. This means that as advancements are made to the debugging tools of one product, they're made to tools of all products because the tools are shared. This aspect goes beyond debugging tools. For example, add-ins to the IDE (such as code managers) are just as readily available to C# as they are to Visual Basic�or any other .NET language, for that matter. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Although Microsoft hasn't announced any official plans to do so, it's possible that Microsoft could produce a version of the CLR that runs on other operating systems, such as Macintosh or Linux. If this occurs, the applications that you've written for Windows should run on a newly supported operating system with little or no modification. |} Microsoft Intermediate Language As you can see in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#ch24fig01 Figure 24.1], all .NET code, regardless of the language syntax used, compiles to Intermediate Language (IL) code. IL code is the only code the CLR understands; it doesn't understand C#, Visual Basic, or any other developer syntax. It's IL that gives .NET its multilanguage capabilities; as long as an original source language can be compiled to IL, it can become a .NET language. For example, people are developing a .NET compiler for COBOL�a mainframe language with a long history. This compiler will take existing COBOL code and compile it to IL so that it will run within the .NET Framework using the CLR. COBOL itself isn't a Windows language and doesn't support many of the features found in a true Windows language (such as a Windows Forms engine), so you can imagine the excitement of COBOL programmers at the prospect of being able to leverage their existing code and programming skills to create powerful Windows applications. <center>Figure 24.1. These are the steps taken to turn developer code into a running component. [[Image:24fig01.gif|495px|graphics/24fig01.gof]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | One of the potential drawbacks of IL is that it may be susceptible to reverse compilation. This has many people questioning the security of .NET code and the security of the .NET Framework, in general. If code security is a serious concern for you, I encourage you to research this matter on your own. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | IL code isn't the final step in the process of compiling and running an application. For a processor (CPU) to execute programmed instructions, those instructions must be in machine-language format. When you run a .NET application, a just-in-time compiler (called a JITter) compiles the IL to machine-language instructions that the processor can understand. IL code is processor independent, which again brings up the possibility that JITters could be built to create machine code for computers that are using something other than Intel-compatible processors. If Microsoft were to offer a CLR for operating systems other than Windows, much of the differences would lie in the way IL would be compiled by the JITter. |} As .NET evolves, changes made to the CLR will benefit all .NET applications. For example, if Microsoft finds a way to further increase the speed at which forms are drawn to the screen by making improvements to the CLR, all .NET applications will immediately benefit from the improvement. Optimizations made to a specific syntax compiler, such as the one that compiles C# code to IL, are language specific, however. This means that even though all .NET languages compile to IL code and use the CLR, it's possible for one language to have small advantages over another because of the way in which the language's code is compiled to IL. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Namespaces {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As I mentioned earlier, the .NET Framework is composed of classes�many classes. Namespaces are the method used to create a hierarchical structure of all these classes and they help prevent naming collisions. A naming collision occurs when two classes have the same name. Because namespaces provide a hierarchy, it's possible to have two classes with the same name, as long as they exist in different namespaces. Namespaces, in effect, create a scope for classes. |} The base namespace in the .NET Framework is the System namespace. The System namespace contains classes for garbage collection (discussed shortly), exception handling, data typing, and so much more. The System namespace is just the tip of the iceberg. There are literally dozens of namespaces. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#ch24table01 Table 24.1] lists some of the more common namespaces, many of which you've used in this book. All the controls that you've placed on forms and even the forms themselves, for example, belong to the System.Windows.Forms namespace. Use [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#ch24table01 Table 24.1] as a guide; if a certain namespace interests you, I suggest that you research it further in the Visual Studio .NET online help. {| cellspacing="0" cellpadding="1" border="1"|+ Table 24.1. Commonly Used Namespaces |- | valign="middle" | Namespace | valign="middle" | Description |- | Microsoft.CSharp | Contains classes that support compilation and code generation using the C# language. |- | Microsoft.VisualBasic | Contains classes that support compilation and code generation using the Visual Basic language. |- | System | Contains fundamental classes and base classes that define commonly used value and reference data types, event handlers, interfaces, attributes, and exceptions. This is the base namespace of .NET. |- | System.Data | Contains classes that constitute the ADO.NET architecture. |- | System.Diagnostics | Contains classes that enable you to debug your application and to trace the execution of your code. |- | System.Drawing | Contains classes that provide access to the Graphical Device Interface (GDI) basic graphics functionality. |- | System.IO | Contains classes that allow reading from and writing to data streams and files. |- | System.Net | Contains classes that provide a simple programming interface to many of the protocols found on the network. |- | System.Security | Contains classes that provide the underlying structure of the CLR security system. |- | System.Web | Contains classes that provide interfaces that enable browser/server communication. |- | System.Windows.Forms | Contains classes for creating Windows-based applications that take advantage of the rich user-interface features available in the Microsoft Windows operating system. |- | System.Xml | Contains classes that provide standards-based support for processing XML. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | All Microsoft-provided namespaces begin with either System or Microsoft. Other vendors can provide their own namespaces, and it's possible for you to create your own custom namespaces as well, but that's beyond the scope of this book. |} Common Type System The Common Type System in the CLR is the component that defines how data types are declared and used. The fact that the CLR can support cross-language integration to the level it does is largely because of the Common Type System. In the past, each language used its own data types and managed data in its own way. This made it very difficult for applications developed in different languages to communicate, because no standard way existed in which to pass data between them. The Common Type System ensures that all .NET applications use the same data types, provides for self-describing type information (called metadata), and controls all the data manipulation mechanisms so that data is handled (stored and processed) in the same way among all .NET applications. This allows data (including objects) to be treated the same way in all .NET languages. === Garbage Collection === Although I've talked a lot about objects (you can't talk about anything .NET related without talking about objects), I've avoided discussing the underlying technical details of how .NET creates, manages, and destroys objects. Although you don't need to know the complex minutiae of how .NET works with objects, you do need to understand a few details of how objects are destroyed. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As I discussed in previous hours, setting an object variable to <tt>null</tt> or letting it go out of scope destroys the object. However, as I mentioned in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects Using Classes," this isn't the whole story. The .NET platform uses a garbage collector for destroying objects. The specific type of garbage collection implemented by .NET is called reference-tracing garbage collection. Essentially, the garbage collector monitors the resources used by a program, and when resources reach a defined threshold, the garbage collector proceeds to look for unused objects. When the garbage collector finds an unused object, it destroys it, freeing all the memory and resources the object was using. |} An important thing to remember about garbage collection is that releasing an object by setting it to null or letting an object variable go out of scope doesn't mean the object will be destroyed immediately. The object won't be destroyed until the garbage collector is triggered to go looking for unused objects. Summary Now that you've completed this book, you should have a solid working understanding of developing applications with C#. Nevertheless, you've just embarked on your journey. One of the things I love about developing applications is that there is always something more to learn, and there's always a better approach to a development problem. In this hour, I acquainted you with the "bigger picture" of Microsoft's .NET platform by exposing you to the .NET Framework and its various components. Consider the information you learned in this hour a primer; what you do with this information and where you go from here is entirely up to you. I wish you the best of luck on your programming endeavors! {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#qad1e69464 Q1:]''' | The .NET Framework seems incredibly complex and daunting. How should I go about learning it? |- | align="right" | ''' A1: ''' | I wouldn't recommend that you attempt to learn the entire framework; I have no plans to do so, either. Instead, focus on areas of interest or research facets of the framework as the need arises. For instance, if security is very important to you, learn about System.Security. Attempting to learn everything you can about the framework may not be as productive as spending your time mastering user-interface design and general programming skills. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#qad1e69474 Q2:]''' | Does an end user have to have the Common Language Runtime on his or her computer to run my .NET application? |- | align="right" | ''' A2: ''' | Yes. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22.htm#ch22 Hour 22], "Deploying a Solution," I discussed how to deploy a solution, as well as how to include the Common Language Runtime. If you know for a fact that your end user has the runtime, you can remove it from your setup, vastly reducing the size of your setup program. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans01 1:]''' | The classes and technology that make up .NET's underlying infrastructure are called what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans02 2:]''' | What is the name of the shared .NET runtime? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans03 3:]''' | True or False: Each .NET language uses its own code editor and debugging tools. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans04 4:]''' | True or False: Code that runs within the Common Language Runtime is called unmanaged code. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans05 5:]''' | Code written in a .NET language such as C# is compiled to what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans06 6:]''' | What are namespaces? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans07 7:]''' | One of the things that gives .NET its multilanguage capabilities is that all data is declared and managed in the same way across all languages. This is handled by .NET's what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec24.htm#ch24ans08 8:]''' | What destroys objects, freeing all the resources that they consume? |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/24.htm#toppage Top] |} cori9ukmssnplbmzcyfdm8t7thv21g1 User:Foxall/23 2 2141 5602 2007-06-18T00:34:35Z Foxall 27 Bog cusub: == Hour 23. Introduction to Web Development == Visual Studio .NET, more than any previous Microsoft technology, offers incredible Web development tools and functionality. In fact, .NET i... 5602 wikitext text/x-wiki == Hour 23. Introduction to Web Development == Visual Studio .NET, more than any previous Microsoft technology, offers incredible Web development tools and functionality. In fact, .NET is very much about programming for the Web. Creating Web applications requires a thorough understanding of all the skills you've acquired in this book�and more. In addition to the complexities of programming that you've dealt with, such as creating forms, writing code, and so on, additional concerns exist, such as Web protocols, firewalls, Web servers, and scalability. Teaching you how to create Web applications is beyond the scope of this book. However, it's important that you're at least a little familiar with the concepts and technologies involved with Microsoft's .NET Internet programming strategy. This hour gives you an overview of the .NET Web programming technologies. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec1.htm#ch23lev1sec1 XML] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec2.htm#ch23lev1sec2 SOAP (Simple Object Access Protocol)] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec3.htm#ch23lev1sec3 ASP.NET] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec4.htm#ch23lev1sec4 Web Forms] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch23lev1sec5.htm#ch23lev1sec5 XML Web services] ---- === XML === XML (eXtensible Markup Language) is a universal format for transferring data across the Internet. On the surface, XML files are simply text files. However, this is oversimplifying things. The beauty in XML is that XML files themselves contain not only data, but self-describing information (metadata) about the data. The fact that XML files are text files makes it relatively easy to move them across boundaries (such as firewalls) and platforms. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Semantic tags are used to describe data in an XML file, and a starting and ending tag are used to define an element. The data between a starting and ending tag is the value of the element. Tags are similar to HTML tags and have the following format: |} <pre><tagname>data</tagname> </pre> For example, you could store a color in an element titled BackColor, like this: <pre><BackColor>Blue</BackColor> </pre> It's important to note that XML tags are case sensitive; therefore, BackColor is not the same as backcolor, and both elements could exist in the same XML file. Elements can be nested as long as the starting and ending tags of elements don't overlap. For example, two customers could be stored in an XML file like this: <pre><Customer> <Name>John Smith</Name> <OrderItemID>Elder Scrolls: Morrowind</OrderItemID> <Price>$20.00</Price> </Customer> <Customer> <Name>Jane Aroogala</Name> <OrderItemID>Ultima VII: The Black Gate</OrderItemID> <Price>$62.00</Price> </Customer> </pre> XML files can be much more complex, but this simple example should suffice to show you that XML documents are text documents that can store just about any type of data you can think of. In fact, Microsoft is using XML in just about everything, from ADO.NET to XML Web services. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} SOAP To pass structured data across the Web (such as passing objects or calling methods on objects), the sender and receiver must agree on how the data will be transmitted. SOAP (Simple Object Access Protocol) is Microsoft's new protocol used to exchange structured data over the Web using an XML format. SOAP is lightweight (doesn't consume a lot of resources or bandwidth) and makes use of the widely accepted HTTP protocol. SOAP is fundamental to Microsoft's .NET strategy because it allows different applications on multiple platforms to share structured data and interoperate across the Web. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} ASP.NET ASP.NET is the next evolution of ASP (Active Server Pages). ASP.NET is a framework for creating applications that reside on a Web server and that are run from within a client browser. ASP.NET enables you to program Web-based client-server applications using tools and methodologies much like those used to create traditional applications. ASP.NET solutions execute on a Web server running Microsoft Internet Information Server (IIS). Therefore, to create ASP.NET solutions, you'll need to have some knowledge of IIS. In a nutshell, ASP.NET is used to dynamically generate Web pages by serving up Web Forms (discussed shortly). For example, you may create an e-commerce site where a user may choose to view all products by category. Using ASP.NET, you could dynamically build and display a Web page containing the appropriate list of products. The server would execute the code to build the new Web page and then send the page to the user's browser as an HTML document. Web Forms Web Forms are similar to Windows Forms applications (which you've been creating and programming throughout this book). However, Web Forms are designed specifically to run in a browser over the Web. Although Web Forms are designed to run within any browser by default, you can target deployment to a specific browser to take advantage of a particular browser's features. To create a Web Forms application, you choose ASP.NET Web Application on the New Project dialog box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/23.htm#ch23fig01 Figure 23.1]). Be aware that to create and test a Web Forms application, you will have to have a Web server installed. If you don't have a Web server installed and configured, you'll receive a message similar to that shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/23.htm#ch23fig02 Figure 23.2], and you'll be prevented from creating the project. <center>Figure 23.1. A Web Forms project is different from a Windows Forms project. [[Image:23fig01.jpg|500px|graphics/23fig01.jpg]] </center> <center>Figure 23.2. To create a Web Forms application, you will need to install and configure a Web server. [[Image:23fig02.gif|414px|graphics/23fig02.gof]] </center> Comparing Windows Forms to Web Forms Creating a Web Form application may offer many advantages. For example, to deploy a Web Form application, you have to deploy only to a Web server (not to all client machines). After it is set up on the server, users can run the program simply by pointing their browsers to the proper URL. Contrast this with the need to deploy a Windows Application to hundreds or thousands of users' computers. Another benefit of Web Forms is that applications are essentially platform independent because the code runs on the server and the browser is the only thing running on the client side. When deciding whether to make an application Windows-Forms based or Web-Forms based, consider the following. Deployment As mentioned previously, Windows applications built on Windows Forms are installed and executed on the user's machine. Web Forms, however, run within a browser and therefore do not require deployment to a client machine. Rather than having to install updates on every client as you do with a Windows Forms application, with a Web Forms application you need to update only the server (which must be running the .NET Framework). Graphics Windows Forms include the capability to interact with the Windows graphics device interface (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10.htm#ch10 Hour 10], "Drawing and Printing," for information on the GDI) to create intricate graphics with excellent performance. Web Forms can access the GDI on a Web server. However, round-trips are required for screen updates, which can negatively affect the performance of drawing graphics. Responsiveness When an application requires a high degree of interactivity with the user (such as screen updates, lots of event code, and data validation), Windows Forms provide the best performance because they run on the client machine. Most interactive processes with Web Forms require round-trips to the server, which again can negatively affect the responsiveness of an application. Text Formatting and Control Positioning Windows Forms provide exceptional capability of placing controls (for example, Windows Forms support snapping to grids). Displaying text on a Windows Form, however, requires using controls such as a label or a text box. Making text flow on a Windows Form (such as flowing around other controls when adjusting to the sizing of a form) can be very difficult to accomplish. In addition, formatting text can be problematic because most controls support only one font at a time. Web Forms, on the other hand, are served to clients as HTTP Web pages, which excel at formatting and flowing text. Web Forms aren't as precise as Windows Forms when it comes to placing controls, however. .NET Platform Installation To run a Windows Forms application, users must have the .NET Framework installed on their computer. Web Forms, however, are installed on the server; therefore, the .NET Framework must be installed on the server but isn't needed on the client. The client needs only a Web browser. It is important to note that future service packs of Windows will likely include the latest .NET Framework�but don't depend on this. Security and System Resources Windows Forms applications can have complete control over system resources such as the Registry and also may be restricted using the operating system's security features. Web Forms are restricted by the user's browser security settings and thus have very limited access to system resources. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} XML Web Services Perhaps the technology that Microsoft is most excited about in .NET is XML Web services. Microsoft describes an XML Web service as "a unit of application logic providing data and services to other applications." It's easiest to think of XML Web services as applications that reside on a server without a user interface, providing objects to clients. The following are a few practical examples of what can be done with XML Web services: * A company could create stock quote XML Web services that clients could use to get real-time stock quotes. * A doctor's office could expose scheduling functions so that clients could use their mobile devices to schedule appointments. * A government office could expose tax-related objects, which businesses could use to get accurate tax rates. * A company could expose data that is paid for by subscription. When clients access the data via the Web service's objects, a billing system could track the number of accesses. * An auction company such as eBay could expose its bidding system as authenticated XML Web services, and third-party vendors could create their own front ends to placing bids on the auction site. Obviously, this list just scratches the surface. Microsoft ambitiously envisions everyone exposing application logic as XML Web services. Although this may not become a reality in the near future (indeed, XML Web services may never take off like Microsoft hopes), many companies are generating a lot of excitement about this technology. As a programmer, a lot of the details of XML Web services are handled for you by .NET. For example, SOAP and XML are used to marshal objects and method calls across the Web so that you don't have to worry about the details of the plumbing. Because a standard protocol is used to marshal this information, you don't have to worry about the language or the platform used to implement the XML Web services�almost any type of client can consume XML Web services (C#, Visual Basic, Java, and so on). Clients don't even have to be Windows based or even be PCs; Web-enabled phones and other wireless devices can consume XML Web services. Writing code to consume XML Web services is actually similar to writing code to access an Automation server. First, you create a Web reference, which is much like creating a reference to an Automation library such as Excel or ADO. After you've got a reference to the XML Web services, the objects become available in code, and you can browse them as you would "traditional" objects. To create XML Web services, you have to have a sound understanding of creating objects by programming classes, and you have to learn ASP.NET�the underlying technology of XML Web services. The .NET Framework handles the details of using SOAP to allow clients to interact with your XML Web services, so you focus most of your attention on creating useful objects rather than on details of the underlying plumbing. Programming for the Web is an exciting proposition, and one that can't be entered into lightly. To create robust Web applications requires an understanding of a lot of technologies, including Web servers, protocols, firewalls, security, object-oriented programming concepts, and much more. By completing this book, you're gaining a solid understanding of application development with C#, and you're building a set of skills that you can use to move into Web programming. If you're interested in Web development, you should consider purchasing a book dedicated to the subject, such as ''Sams Teach Yourself C# Web Programming in 21 Days''. === Q&A === {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/23.htm#qad1e68577 Q1:]''' | Can I use XML files within my applications? |- | align="right" | ''' A1: ''' | Yes, you can design your own XML files and use them any way you see fit. For example, you could save a configuration file in an XML file with a scheme you've designed. For more information, look at the documentation on <tt>System.Xml</tt> in the online Help. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans01 1:]''' | What does XML stand for? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans02 2:]''' | An element is designated in an XML document using the what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans03 3:]''' | True or False: XML tag names are case sensitive. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans04 4:]''' | What is the name of the protocol used by .NET to marshal object requests across the Web? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans05 5:]''' | What forms engine is used to create forms that run over the Internet? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans06 6:]''' | Which forms engine provides for faster response to user interaction? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans07 7:]''' | Where is the .NET Framework installed for Windows Forms applications? Web Forms applications? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec23.htm#ch23ans08 8:]''' | What is the name of the ASP.NET technology used to expose application logic as objects over the Web? |} khqvydeao0r56lar2z81wcgnit24riv User:Foxall/22 2 2142 5603 2007-06-18T00:35:48Z Foxall 27 Bog cusub: == Hour 22. Deploying a Solution == Now you've learned how to create a C# application, and you're just itching to create some project and send it to the world. Fortunately, Visual Studio... 5603 wikitext text/x-wiki == Hour 22. Deploying a Solution == Now you've learned how to create a C# application, and you're just itching to create some project and send it to the world. Fortunately, Visual Studio includes the tools you need to create a setup program for an application. In this hour, you'll learn how to use these tools to create a setup program that a user can run to install an application you've developed. In fact, you'll be creating a setup program for the Picture Viewer application you created in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour." The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev1sec1 Creating a custom setup program] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec2.htm#ch22lev1sec2 Installing the output of a project] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev3sec1 Changing the installation location of a file] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev3sec2 Specifying build options] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev2sec2 Adding files to an installation] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev2sec3 Creating a custom folder on installation] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch22lev1sec1.htm#ch22lev2sec4 Creating a shortcut on the Start menu] ---- === Creating a Custom Setup Program === A custom setup program (the program the user runs to install a program) is the result of building a special type of project in C#. Throughout most of this book, you've created projects of the type Windows Application. To create a custom setup program, you start with a different type of project. Start Visual Studio and choose to create a new project now. On the New Project dialog box, click the Setup and Deployment Projects item to display its contents, and then click Setup Project (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig01 Figure 22.1]). This is the project type to use when you distribute Windows Applications; use the Web Setup Project item when distributing Web projects. Enter the name TYCSharp Picture Viewer and click OK to create the project. <center>Figure 22.1. Create a Setup Project to distribute Windows Applications. [[Image:22fig01.jpg|500px|graphics/22fig01.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The name you give your Setup Project is the name that will appear in the setup wizard when the user installs your program. Unfortunately, the name you use for this project can't be the same as the one you used for the project whose output you are distributing (for reasons you'll learn shortly). This is why I had you put TYCSharp (for Teach Yourself C#) in the project name. |} The interface for a Setup Project consists primarily of two panes. The pane on the left side represents the file system of the target machine (the computer on which the software is being installed). The pane on the right shows the contents of the selected item in the left pane (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig02 Figure 22.2]). You really can do a lot when creating custom setup programs, but as you'll see, accessing the features to modify your setup program isn't all that intuitive. <center>Figure 22.2. The interface for creating a setup program isn't intuitive. [[Image:22fig02.jpg|500px|graphics/22fig02.jpg]] </center> Adding the Output of a Project At this point, the setup program doesn't install anything; you need to add the output of another project. For the purposes of creating a setup program, the final file (EXE, DLL, and so on) produced in building a C# project is called the output of the project. The setup program is used to install the output of a project on the user's computer. The first step to including a project's output is to add the project to the setup program project. Because you're creating a setup program for the Picture Viewer you created in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], you need to add the Picture Viewer project to the current solution. Add the project to the solution now by right-clicking the solution name in the Solution Explorer window and then choosing Existing Project from the Add menu. Use the Add Existing Project dialog box to locate your Picture Viewer project and add it to the current solution. The Picture Viewer project should now appear in the Solution Explorer (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig03 Figure 22.3]). <center>Figure 22.3. To distribute the output of a project, the project must be part of the solution. [[Image:22fig03.jpg|332px|graphics/22fig03.jpg]] </center> Now that the Picture Viewer project is part of the solution, you have to tell the setup program to install the output of the Picture Viewer project. This is where things get a bit odd because the Project menu changes according to what project you have selected in the Project Explorer. What you're going to do next is have the Setup Project install the final executable of your Picture Viewer project. # Click the TYCSharp Picture Viewer project in the Solution Explorer before continuing. If you don't do this, you won't find the appropriate menu items when you open the Project menu. # Open the Project menu and then open the Add submenu. # Choose Project Output to display the Add Project Output Group dialog box that appears in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig04 Figure 22.4]. Make sure that the project selected is Picture Viewer and that Primary Output is selected as well. <center>Figure 22.4. Choosing Primary Output ensures that the distributable file of the project is installed on the user's machine. [[Image:22fig04.jpg|324px|graphics/22fig04.jpg]] </center> # Click OK to commit your selections. # Next, click the Application Folder in the left pane to view its contents. Notice that it now contains the primary output from the Picture Viewer project. This means that the EXE built by the Picture Viewer project will be installed in whatever folder the user designates as the application folder. Changing the Installation Location of a File You have complete control over where on the user's computer a file is installed. Most program files (such as the output of the Picture Viewer project) are installed in an application folder. The Application Folder has the following path by default: <pre>[ProgramFilesFolder][\Manufacturer][\ProductName] </pre> Users can change this when they run your setup program. However, you might want to change the default folder as well, which is what you'll do next. Right-click the Application Folder in the left pane and choose Properties Window from its Context menu. In the Properties Window, notice that the DefaultLocation property contains the information that defines the default installation location. The items in brackets are tokens that get replaced when the user is running the setup program. The Manufacturer token pulls its value from the company name you entered when you installed C#. Go ahead and change the DefaultLocation property to the following: <pre>[ProgramFilesFolder]\[ProductName] </pre> This new property value eliminates one folder in the final path. Specifying the Build Options of a Project's Output At this point, the setup program installs the final output of the Picture Viewer program, which is an EXE. However, you have more control over the output of a project than just the file type. For example, you can specify the icon assigned to the EXE file. Right-click the Picture Viewer project in the Solution Explorer and choose Properties from its context menu to display the Picture Viewer Property Pages dialog box. Next, click General in the list on the left to display the General options for the project (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig05 Figure 22.5]). <center>Figure 22.5. Use this dialog box to tailor the output of a project. [[Image:22fig05.jpg|500px|graphics/22fig05.jpg]] </center> The icon specified appears wherever a shortcut is created for your program. The default icon assigned to executables isn't all that attractive (and even less meaningful), so I recommend that you assign a custom icon. Go ahead and click the Application Icon item to select it, and then click the Build button (<tt>...</tt>) that appears to the right of the Application Icon. Select the same icon that you used for the Picture Viewer's form. Adding a File to the Install You aren't limited to installing the output of a project; you can install any file that you choose. For example, you might want to include sample data or support files with your program. You're now going to install a bitmap with your application so that the user has something to view. Again, select the TYCSharp Picture Viewer project in the Solution Explorer or you won't have the appropriate items on the Project menu. Next, add a file by opening the Project menu and then choosing File from the submenu. Locate a BMP or JPG on your system, click it to select it, and then click Open to add the file to the install project. Adding a Custom Folder to the Install The pane on the left lists folders that correspond to folders on the user's computer. You can add other folders to this list. These folders may already exist on the user's computer (such as the user's Favorites folder) or may be a brand-new folder that your install creates. Add a new folder to the install now by right-clicking the File System on Target Machine item in the left pane (the first item) and choosing Add Special Folder from its context menu. As you can see, you can select from a number of folders that already exist on the user's computer. Now, however, you're going to create a custom folder: # Choose Custom Folder (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig06 Figure 22.6]). The new folder is added to the left pane. <center>Figure 22.6. It's easy to select existing folders or create new ones. [[Image:22fig06.jpg|338px|graphics/22fig06.jpg]] </center> # Change the name of the new folder to Pictures. # Click Application Folder again. Notice that the BMP file you selected for installation appears in the Application Folder. # Drag the bitmap to the Pictures folder you just created. Now, when the picture is installed, it will be installed in the Pictures folder. Creating a Shortcut on the Start Menu The Setup Project doesn't automatically create shortcuts for your application�you have to create these yourself. Most applications create a shortcut in the Programs folder on the Start menu (or in a subfolder of the Project folder). You're going to create a shortcut for the Picture Viewer program. This shortcut will be placed in the Programs folder on the Start menu. Click the Application Folder to view its contents. Right-click the Primary Output from Picture Viewer item and choose Create Shortcut to Primary Output from Picture Viewer. C# creates the shortcut item and places it in the Application Folder. Drag the shortcut to the User's Programs Menu item in the left pane. Now, when the user installs your program, a shortcut will be placed in the Programs folder on the user's Start menu. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Apparently, an issue with .NET prohibits the user from moving the shortcuts for .NET applications after they're installed. Hopefully, Microsoft will eventually correct this. As it stands, however, if the user moves the shortcuts, Windows will move them back. For this reason alone, you should pick a good name for your folder. |} Defining the Build Configuration for the Setup Program When you create a setup program, you can choose to include debug information. This information allows you to perform advanced debugging using techniques beyond the scope of this book. When distributing to other machines, you may want to leave out this debugging information and instead create a Release build. Release builds are smaller and faster than Debug builds. Change your installation to a Release build by choosing Configuration Manager from the Build menu and selecting Release from the drop-down list (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig07 Figure 22.7]). Click Close to save your changes. <center>Figure 22.7. Release builds are smaller and faster than Debug builds. [[Image:22fig07.jpg|453px|graphics/22fig07.jpg]] </center> Installing the Common Language Runtime (CLR) The Common Language Runtime (discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24], "The 10,000-Foot View") allows any Visual Studio .NET language (C#, Visual Basic .NET, and so on) to run on a computer. For a user to run your C# application, the Common Language Runtime (CLR) must exist on the user's computer. By default, your new setup program contains the CLR; therefore, the CLR will be installed when your application is installed (if the current version of the CLR isn't already installed on the user's computer). If you know for a fact that your end user already has the CLR installed (such as when distributing an update to your application), you can omit the CLR from your installation�creating a much smaller installation file (14MB smaller in my tests). The CLR is listed in your Solution Explorer as dotnetfxredist_x86_enu.msm (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig08 Figure 22.8]). To remove the CLR from your installation, right-click the item and choose Exclude from its context menu. <center>Figure 22.8. The CLR looks like this in the Solution Explorer. [[Image:22fig08.jpg|332px|graphics/22fig08.jpg]] </center> Building the Setup Program That's it, you're done! All you have left is to actually build the program. Choose Build Solution from the Build menu to create the distributable file. As Visual Studio is building the file, a small animation appears in the status bar. This is because it can take some time to build a file, especially for large solutions compiling on slower machines with minimum RAM. When Visual Studio is done building the setup program, the status bar will read Build Succeeded. The setup program can be found in the Release subfolder of the TYCSharp Picture Viewer project folder. The file has the extension of MSI, which indicates that the file is a Windows Installer Package. Running a Custom Setup Program You should always test your setup programs before distribution. (I recommend that you test your setup wizard on a separate machine when possible.) You're now going to run the custom setup program that you've built, but you'll just do it on your current machine. Shut down C# now, saving your work if prompted. Double-click the installation program in the Release folder to start your custom setup program. The setup program is a wizard (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig09 Figure 22.9]), so installation for an end user is pretty simple. Click Next to pass the Welcome page. <center>Figure 22.9. Your final setup program is in the form of a wizard. [[Image:22fig09.jpg|500px|graphics/22fig09.jpg]] </center> The second page in your setup program is where the user can specify the installation folder. Notice that the default path is what you specified when you created the setup program (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig10 Figure 22.10]). The wizard even allows the user to install the application for shared use; you don't have to worry about the details. Clicking Disk Cost shows all installed drives, their disk space, and the disk space required by the setup program. Click Next to accept the default path and continue. <center>Figure 22.10. The user can change your default installation path. [[Image:22fig10.jpg|500px|graphics/22fig10.jpg]] </center> The last page of your setup wizard is used to ask for confirmation before installing the files (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig11 Figure 22.11]). You can add a lot more functionality to your setup program, and doing so might create additional pages in the final setup wizard. However, this example is pretty straightforward, so there's not much to the wizard. Click Next to install the Picture Viewer program. After the program is installed, users will get one last wizard page telling them the installation is complete (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig12 Figure 22.12]). <center>Figure 22.11. Clicking Next from here causes your program to be installed. [[Image:22fig11.jpg|500px|graphics/22fig11.jpg]] </center> <center>Figure 22.12. A successful installation! [[Image:22fig12.jpg|500px|graphics/22fig12.jpg]] </center> Open up the Start menu and look at the contents of your Programs folder; you should see the shortcut to your Picture Viewer program. Click the shortcut to start your program. That's it! You've just created an installation program that installs the Picture Viewer program, and you can now distribute your program to other computers�even if they don't have C# installed. === Uninstalling an Application You've Distributed === All Windows applications should provide a facility for easily being removed from the user's computer. Most applications provide this functionality in the Add/Remove Programs dialog box, and yours is no exception. Open the Start menu, choose Settings, and then click Control Panel. Locate the Add/Remove Programs icon and double-click it. Scroll down in your Add/Remove programs dialog box until you find the Picture Viewer program (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#ch22fig13 Figure 22.13]). To uninstall the program, click it to select it and then click Remove. <center>Figure 22.13. Your program can be uninstalled using the Add/Remove Programs dialog box. [[Image:22fig13.jpg|500px|graphics/22fig13.jpg]] </center> Summary In this hour, you learned how to create a custom setup program to distribute an application you've built using C#. You learned how to work with folders on the user's computer, how to create shortcuts, how to install files, and how to install the output of a C# project. Custom setup programs can get quite complex, but even the most advanced ones build on the foundation of skills you learned in this hour. Creating a useful program is a very rewarding experience. Nevertheless, your level of satisfaction will increase dramatically the first time you have a user running your creation on the user's own computer. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#qad1e66918 Q1:]''' | Should I always include the Common Language Runtime (CLR) in my setup programs? |- | align="right" | ''' A1: ''' | That depends. If you're planning on distributing to a lot of users, it's probably best to include the CLR. If you're just distributing to a few users and you're sure they have the CLR, it may not be so important. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/22.htm#qad1e66934 Q2:]''' | Can I install multiple applications in a single setup program? |- | align="right" | ''' A2: ''' | Yes. Just add each project as you did the Picture Viewer project, and be sure to include the output of each project. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans01 1:]''' | To create a custom setup program, you start by creating what type of Visual Studio project? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans02 2:]''' | The final build file of a project (EXE, DLL, and so on) is referred to as the what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans03 3:]''' | True or False: To include the output of a project, the project must be added to the solution containing the setup program. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans04 4:]''' | Which build option creates smaller and faster builds? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans05 5:]''' | How do you add a file to an installation? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans06 6:]''' | If the Project menu doesn't have the menu options for creating a setup program, what might be wrong? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans07 7:]''' | How do you add folders to the custom setup program? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec22.htm#ch22ans08 8:]''' | How do you create a shortcut for a file in a setup program? |} Exercises # Modify the setup program you created in this hour so that the shortcut created appears on the Start menu with the name Picture Viewer. Also, give the shortcut the same icon you assigned to the Picture Viewer program. # Modify the setup program that you created in this hour so that it creates a custom folder within the Programs folder on the Start menu. Install the shortcut to this folder. 5wkzn36veleqijvrkju9sjww3sp9v43 User:Foxall/21 2 2143 5604 2007-06-18T00:37:17Z Foxall 27 Bog cusub: == Hour 21. Working with a Database == You've heard it so many times that it's almost a cliché: This is the information age. Information is data, and managing information means working ... 5604 wikitext text/x-wiki == Hour 21. Working with a Database == You've heard it so many times that it's almost a cliché: This is the information age. Information is data, and managing information means working with databases. Database design is a skill unto itself, and entire books are devoted to database design and management. In this hour, you'll learn the basics of working with a database using ADO.NET, Microsoft's newest database technology. Although high-end solutions are built around advanced database technologies such as Microsoft's SQL Server, the Microsoft Jet database (used by Microsoft Access) is more readily available and easier to learn, so you'll build working examples that use a Jet database. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec1.htm#ch21lev1sec1 Introduction to ADO.NET] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec2.htm#ch21lev1sec2 Connecting to a database] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec3.htm#ch21lev2sec2 Understanding DataTables] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec3.htm#ch21lev2sec3 Creating a DataAdapter] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec3.htm#ch21lev2sec5 Referencing fields in a DataRow] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec3.htm#ch21lev2sec6 Navigating records] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec3.htm#ch21lev2sec6 Adding, editing, and deleting records] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch21lev1sec4.htm#ch21lev1sec4 Building an ADO.NET example] {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You'll learn a lot in this hour, but realize that this material is really the tip of the iceberg. Database programming can be, and often is, very complex. This hour is intended to get you writing database code as quickly as possible, but if you plan on doing a lot of database programming, you'll want to consult a dedicated book (or two) on the subject. |} Start by creating a new Windows Application named Database Example. Change the name of the default form to fclsMain and set its Text property to Database Example. Next, click the View Code button on the Solution Explorer window to access the form's code, scroll down and locate the procedure Main(), and change the reference of Form1 to fclsMain. Finally, click the Form1.cs tab to return to the form designer. ---- === Introduction to ADO.NET === ADO.NET is the .NET platform's new database technology, and it builds on ADO (Active Data Objects). ADO.NET defines DataSet and DataTable objects that are optimized for moving disconnected sets of data across intranets and Internets, including through firewalls. At the same time, ADO.NET includes the traditional Connection and Command objects, as well as an object called a DataReader that resembles a forward-only, read-only ADO recordset. Together these objects provide the very best performance and throughput for retrieving data from a database. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Connecting to a Database To access data in a database, you must first establish a connection using an ADO.NET connection object. Two connection objects are included in the .NET Framework: the OleDbConnection object, for working with the same OLE DB data providers you would access through traditional ADO, and the SqlConnection object, for optimized access to Microsoft SQL Server. Because these examples connect to the Microsoft Jet Database, you'll be using the OleDbConnection object. To create an object variable of type OleDbConnection and initialize the variable to a new connection, you could use a statement such as the following: <pre>OleDbConnection cnADONetConnection = new OleDbConnection(); </pre> To use ADO.NET, the first step that you need to take is to add the proper Namespace to your project. Double-click the form now to access its events. Scroll to the top of the class and add the following <tt>using</tt> statement on the line below the other <tt>using</tt> statements: <pre>using System.Data.OleDb; </pre> You're going to create a module-level variable to hold the connection, so place the cursor below the left bracket (<tt>{</tt>) that follows the statement <tt>public class fclsMain : System.Windows.Forms.Form</tt> and press Enter to create a new line. Enter the following statement: <pre>OleDbConnection m_cnADONetConnection = new OleDbConnection(); </pre> Before using this connection, you must specify the data source to which you want to connect. This is done through the ConnectionString property of the ADO.NET connection object. The ConnectionString contains connection information such as the name of the provider, username, and password. The ConnectionString might contain many connection parameters; the set of parameters available varies depending on the source of data that you are connecting to. Some of the parameters used in the OLE DB ConnectionString are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21table01 Table 21.1]. If you specify multiple parameters, separate them with a semicolon. {| cellspacing="0" cellpadding="1" border="1"|+ Table 21.1. Possible Parameters for ConnectionString |- | Parameter | Description |- | <tt>Provider=</tt> | The name of the data provider (Jet, SQL, and so on) to use. |- | <tt>Data Source=</tt> | The name of the data source (database) to connect to. |- | <tt>UID=</tt> | A valid username to use when connecting to the data source. |- | <tt>PWD=</tt> | A password to use when connecting to the data source. |- | <tt>DRIVER=</tt> | The name of the database driver to use. This isn't required if a DSN is specified. |- | <tt>SERVER=</tt> | The network name of the data source server. |} The Provider= parameter is one of the most important at this point and is governed by the type of database you're accessing. For example, when accessing a SQL database, you specify the provider information for SQL; when accessing a Jet database, you specify the provider for Jet. In this example, you'll be accessing a Jet (Microsoft Access) database, so you'll use the provider information for Jet. In addition to specifying the provider, you're also going to specify the database. I've provided a sample database at the Web site for this book. This code assumes that you've placed the database in a folder called C:\Temp. If you are using a different folder, you'll need to change the code accordingly. To specify the ConnectionString property of your ADO.NET connection, place the following statement in the Load event of your form: <pre>m_cnADONetConnection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp\contacts.mdb"; </pre> After the connection string is defined, a connection to a data source is established by using the Open() method of the connection object. The Open() method has the following syntax: <pre>objectvariable.Open(); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Refer to the online documentation for information on the connection strings for providers other than Jet. |} When you attach to an unsecured Jet database, it's not necessary to provide a username and password. When attaching to a secured Jet database, however, you'll have to provide a username and a password. This is done by passing the username and password as parameters in the ConnectionString property. The sample database I've provided isn't secured, so it's not necessary to provide a username and password. Closing a Connection to a Data Source You should always explicitly close a connection to a data source. This means that you should not rely on a variable going out of scope to close a connection, but you should force an explicit disconnect via code. This is accomplished by calling the Close() method of the connection object. You're now going to write code to explicitly close the connection when the form is closed. Start by clicking the Form1.cs tab to return to the form designer. Next, click the Events button on the Properties window (the lightening bolt) to access the list of events for the form. Double-click the Closed event to create a new event handler. Enter the following statement in the Closed event: <pre>m_cnADONetConnection.Close(); </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Manipulating Data The easiest way to manipulate data using ADO.NET is to create a DataTable object containing the resultset of a table, query, or stored procedure. Using a DataTable, you can add, edit, delete, find, and navigate records. The following sections explain how to use DataTables. Understanding DataTables {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | DataTables contain a snapshot of the data in the data source. You generally start by filling a DataTable, and then you manipulate the results of the DataTable before finally sending the changes back to the data source. The DataTable is populated using the Fill() method of a DataAdapter object, and changes are sent back to the database using the Update() method of a DataAdapter. Any changes made to the DataTable appear only in the local copy of the data until you call the Update() method. Having a local copy of the data reduces contention by preventing users from blocking others from reading the data while it is being viewed. This is similar to the Optimistic Batch Client Cursor in ADO. |} Creating a DataAdapter {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | To populate a DataTable, you need to create a DataAdapter, an object that provides a set of properties and methods to retrieve and save data between a DataSet and its source data. The DataAdapter you're going to create will use the connection you've already defined to connect to the data source and will then execute a query you'll provide. The results of that query will be pushed into a DataTable. |} Just as two ADO.NET connection objects are in the .NET Framework, there are two ADO.NET DataAdapter Objects as well: the OleDbDataAdapter and the SqlDataAdapter. Again, you'll be using the OleDbDataAdapter because you aren't connecting to Microsoft SQL Server. The constructor for the DataAdapter optionally takes the command to execute when filling a DataTable or DataSet, as well as a connection specifying the data source. (You could have multiple connections open in a single project.) This constructor has the following syntax: <pre>OleDbDataAdapter cnADONetAdapter = new OleDbDataAdapter([CommandText],[Connection]); </pre> To add the DataAdapter to your project, first add the following statement immediately below the statement you entered to declare the m_cnADONewConnection object. <pre>OleDbDataAdapter m_daDataAdapter = new OleDbDataAdapter(); </pre> Next, add the following statement to the Load event of the form, immediately following the statement that creates the connection: <pre>_daDataAdapter = new OleDbDataAdapter("Select * From Contacts",m_cnADONetConnection); </pre> Because you're going to use the DataAdapter to update the original data source, you need to specify the insert, update, and delete statements to use to submit changes from the DataTable to the data source. ADO.NET lets you customize how updates are submitted by allowing you to manually specify these statements as database commands or stored procedures. In this case, you're going to have ADO.NET automatically generate these statements for you by creating a CommandBuilder object. Enter the following statement to create the CommandBuilder. <pre>OleDbCommandBuilder m_cbCommandBuilder = new OleDbCommandBuilder(m_daDataAdapter); </pre> When you create the CommandBuilder, you pass into the constructor the DataAdapter that you want the CommandBuilder to work with. The CommandBuilder then registers for update events on the DataAdapter and provides the insert, update, and delete commands as needed. You don't need to do anything further with the CommandBuilder. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | When using a Jet database, the CommandBuilder object can create the dynamic SQL code only if the table in question has a primary key defined. |} Creating and Populating DataTables You're going to create a module-level DataTable in your project. First, create the DataTable variable by adding the following statement on the line below the statement you entered previously to declare a new module-level m_daDataAdapter object: <pre>DataTable m_dtContacts = new DataTable(); </pre> You are going to use an integer variable to keep track of the user's current position within the DataTable. To do this, add the following statement immediately below the statement you just entered to declare the new DataTable object: <pre>int m_rowPosition = 0; </pre> Next, add the following statement to the Load event of the form, immediately following the statement that creates the CommandBuilder: <pre>m_daDataAdapter.Fill(m_dtContacts); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Because the DataTable doesn't hold a connection to the data source, it's not necessary to close it when you're finished. |} Your class should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig01 Figure 21.1]. <center>Figure 21.1. This code accesses a database and creates a DataTable that can be used anywhere in the class. [[Image:21fig01.jpg|500px|graphics/21fig01.jpg]] </center> Referencing Columns in a DataRow DataTables contain a collection of DataRows. To access a row within the DataTable, you specify the ordinal of that DataRow. For example, you could access the first row of your DataTable like this: <pre>DataRow m_rwContact = m_dtContacts.Rows[0]; </pre> Data elements in a DataRow are called columns. For example, two columns, ContactName and State, are in the Contacts table I've created. To reference the value of a column, you can pass the column name to the DataRow like this: <pre>m_rwContact["ContactName"] = "Bob Brown"; </pre> or <pre>Debug.WriteLine(m_rwContact["ContactName"]); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you spell a column name incorrectly, an exception occurs when the statement executes at runtime. |} You're now going to create a procedure that is used to display the current record in the database. To display the data, you need to add a few controls to the form. Create a new text box and set its properties as follows (you'll probably need to click the Properties button on the Properties window to view the text box's properties rather than its events): {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtContactName</tt> |- | <tt>Location</tt> | <tt>48,112</tt> |- | <tt>Size</tt> | <tt>112,20</tt> |- | <tt>Text</tt> | (make blank) |} Add a second text box to the form and set its properties according to the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtState</tt> |- | <tt>Location</tt> | <tt>168,112</tt> |- | <tt>Size</tt> | <tt>80,20</tt> |- | <tt>Text</tt> | (make blank) |} Next, click the Form1.cs tab in the IDE to return to the code window. Position the cursor after the right bracket that ends the fclsMain_Closed() event and press Enter a few times to create some blank lines. Next, enter the following procedure in its entirety: <pre>private void ShowCurrentRecord() { if (m_dtContacts.Rows.Count==0) { txtContactName.Text = ""; txtState.Text = ""; return; } txtContactName.Text = m_dtContacts.Rows[m_rowPosition]["ContactName"].ToString(); txtState.Text = m_dtContacts.Rows[m_rowPosition]["State"].ToString(); } </pre> Ensure that the first record is shown when the form loads by adding the following statement to the Load event, after the statement that fills the DataTable: <pre>this.ShowCurrentRecord(); </pre> You've now ensured that the first record in the DataTable is shown when the form first loads. Next, you'll learn how to navigate and modify records in a DataTable. Navigating and Modifying Records The ADO.NET DataTable object supports a number of methods that can be used to access its DataRows. The simplest of these is the ordinal accessor that you used in your ShowCurrentRecord() method. Because the DataTable has no dependency on the source of the data, this same functionality is available regardless of where the data came from. You're now going to create buttons that the user can click to navigate the DataTable. The first button is used to move to the first record in the DataTable. Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnMoveFirst</tt> |- | <tt>Location</tt> | <tt>16,152</tt> |- | <tt>Size</tt> | <tt>32,23</tt> |- | <tt>Text</tt> | <tt><<</tt> |} Double-click the button and add the following code to its Click event: <pre>m_rowPosition = 0; this.ShowCurrentRecord(); </pre> A second button is used to move to the previous record in the DataTable. Add another button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnMovePrevious</tt> |- | <tt>Location</tt> | <tt>56,152</tt> |- | <tt>Size</tt> | <tt>32,23</tt> |- | <tt>Text</tt> | <tt><</tt> |} Double-click the button and add the following code to its Click event: <pre>if (m_rowPosition > 0) { m_rowPosition = m_rowPosition-1; this.ShowCurrentRecord(); } </pre> A third button is used to move to the next record in the DataTable. Add a third button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnMoveNext</tt> |- | <tt>Location</tt> | <tt>96,152</tt> |- | <tt>Size</tt> | <tt>32,23</tt> |- | <tt>Text</tt> | <tt>></tt> |} Double-click the button and add the following code to its Click event: <pre>if (m_rowPosition < m_dtContacts.Rows.Count-1) { m_rowPosition = m_rowPosition + 1; this.ShowCurrentRecord(); } </pre> A fourth button is used to move to the last record in the DataTable. Add yet another button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnMoveLast</tt> |- | <tt>Location</tt> | <tt>136,152</tt> |- | <tt>Size</tt> | <tt>32,23</tt> |- | <tt>Text</tt> | <tt>>></tt> |} Double-click the button and add the following code to its Click event: <pre>If (m_dtContacts.Rows.Count !=0) { m_rowPosition = m_dtContacts.Rows.Count-1; this.ShowCurrentRecord(); } </pre> Editing Records To edit records in a DataTable, simply change the value of a particular column in the desired DataRow. Remember, however, that changes are not made to the original data source until you call Update() on the DataAdapter, passing in the DataTable containing the changes. You're now going to add a button that the user can click to update the current record. Add a new button to the form now and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnSave</tt> |- | <tt>Location</tt> | <tt>176,152</tt> |- | <tt>Size</tt> | <tt>40,23</tt> |- | <tt>Text</tt> | <tt>Save</tt> |} Double-click the Save button and add the following code to its Click event: <pre>if (m_dtContacts.Rows.Count !=0) { m_dtContacts.Rows[m_rowPosition]["ContactName"]= txtContactName.Text; m_dtContacts.Rows[m_rowPosition]["State"] = txtState.Text; m_daDataAdapter.Update(m_dtContacts); } </pre> Creating New Records Adding records to a DataTable is performed very much like editing records. However, to create a new row in the DataTable, you must first call the NewRow() method. After creating the new row, you can set its column values. The row isn't actually added to the DataTable, however, until you call the Add() method on the DataTable's RowCollection. You're now going to modify your interface so that the user can add new records. You'll use one text box for the contact name and a second text box for the state. When the user clicks a button you'll provide, the values in these text boxes will be written to the Contacts table as a new record. Start by adding a group box to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>grpNewRecord</tt> |- | <tt>Location</tt> | <tt>16,192</tt> |- | <tt>Size</tt> | <tt>264,64</tt> |- | <tt>Text</tt> | <tt>New Contact</tt> |} Next, add a new text box to the group box and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtNewContactName</tt> |- | <tt>Location</tt> | <tt>8,24</tt> |- | <tt>Size</tt> | <tt>112,20</tt> |- | <tt>Text</tt> | (make blank) |} Add a second text box to the group box and set its properties as shown: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtNewState</tt> |- | <tt>Location</tt> | <tt>126,24</tt> |- | <tt>Size</tt> | <tt>80,20</tt> |- | <tt>Text</tt> | (make blank) |} Finally, add a button to the group box and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnAddNew</tt> |- | <tt>Location</tt> | <tt>214,24</tt> |- | <tt>Size</tt> | <tt>40,23</tt> |- | <tt>Text</tt> | <tt>Add</tt> |} Double-click the Add button and add the following code to its Click event: <pre>DataRow drNewRow = m_dtContacts.NewRow(); drNewRow["ContactName"] = txtNewContactName.Text; drNewRow["State"] = txtNewState.Text; m_dtContacts.Rows.Add(drNewRow); m_daDataAdapter.Update(m_dtContacts); m_rowPosition = m_dtContacts.Rows.Count-1; this.ShowCurrentRecord(); </pre> Notice that after the new record is added, the position is set to the last row and the ShowCurrentRecord() procedure is called. This causes the new record to appear in the text boxes you created earlier. Deleting Records To delete a record from a DataTable, you call the Delete() method on the DataRow to be deleted. Add a new button to your form (not to the group box) and set its properties as shown in the following table. {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnDelete</tt> |- | <tt>Location</tt> | <tt>224,152</tt> |- | <tt>Size</tt> | <tt>56,23</tt> |- | <tt>Text</tt> | <tt>Delete</tt> |} Double-click the Delete button and add the following code to its Click event: <pre>if (m_dtContacts.Rows.Count !=0) { m_dtContacts.Rows[m_rowPosition].Delete(); m_daDataAdapter.Update(m_dtContacts); m_rowPosition=0; this.ShowCurrentRecord(); } </pre> Your form should now look like that in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig02 Figure 21.2]. <center>Figure 21.2. A basic data-entry form. [[Image:21fig02.jpg|314px|graphics/21fig02.jpg]] </center> Running the Database Example Press F5 to run the project. If you entered all the code correctly, and you placed the Contacts database into the C:\Temp folder (or modified the path used in code), the form should display without errors, and the first record in the database will appear. Click the navigation buttons to move forward and backward. Feel free to change the information of a contact, click the Save button, and your changes will be made to the underlying database. Next, enter your name and state into the New Contact section of the form and click Add. Your name will be added to the database and displayed in the appropriate text boxes. Using the Data Form Wizard Visual Basic .NET includes a tool to help introduce you to ADO.NET�the Data Form Wizard. In this section, you're going to use the Data Form Wizard to create a form that is bound to the same database you used in the previous example. Start by creating a new Windows Application titled Data Form Example. The Data Form Wizard is run by adding it to your project as a form template. Choose Add Windows Form from the Project menu to display the Add New Item dialog box, click the Data Form Wizard icon, change the name to fclsDataForm.cs (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig03 Figure 21.3]), and click Open to start the wizard. <center> </center> The first page of the wizard is simply an introduction. Click Next to get to the first "real" page. This next page is used to choose the dataset you want to bind to the form. ADO.NET datasets hold a collection of DataTables. Enter AllContacts into the text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig04 Figure 21.4]) and click Next to continue. <center> </center> The next page of the wizard is used to specify a connection to a data source (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig05 Figure 21.5]). Note: Because you haven't previously defined a connection to the Contacts database, your drop-down list will be empty. Click the New Connection button to display the Data Link Properties dialog box. Notice that this dialog box opens with the Connection page visible. Click the Provider tab to see the list of installed providers on your computer (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig06 Figure 21.6]), choose Microsoft Jet 4.0 OLE DB Provider to select it, and then click the Connection tab once more. <center> </center> <center> </center> Now that you've selected the provider, you need to locate and select the data source (your Jet database). Click the build button next to the database name text box, and then locate and select the contacts.mdb database. Next, click Test Connection to make sure the information you have supplied creates a valid connection to the database. If the test succeeded, click OK to close the Data Link Properties dialog box. The database should now appear in the Connection drop-down list. Click Next to continue. The next step in completing the wizard is to choose the table or tables you want to use (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig07 Figure 21.7]). The tables you choose here will be used to supply the data that is bound to your form. Double-click the Contacts table to add it to the Selected Items list and click Next to continue. <center> </center> This page shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig08 Figure 21.8] is used to specify the columns that you want bound on the form. The two columns in your Contacts table are already selected by default, so click Next to continue. <center> </center> The last step of the wizard is specifying the style in which you want the data to appear (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig09 Figure 21.9]). Because the previous example had you add individual controls for each column, leave the All Records in a Grid radio button, selected (this will create a data grid). Click Finish to create your new data form, which will appear in the form designer (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig10 Figure 21.10]). <center>Figure 21.9. The Data Form Wizard gives you a number of choices for displaying your data. [[Image:21fig09.jpg|500px|graphics/21fig09.jpg]] </center> <center>Figure 21.10. This bound grid was created by the Data Form Wizard. [[Image:21fig10.jpg|414px|graphics/21fig10.jpg]] </center> To test your form, you'll have to display it. Click Form1.cs to display the designer for the default form in your project and add a new button to the form. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowDataForm</tt> |- | <tt>Location</tt> | <tt>96,120</tt> |- | <tt>Size</tt> | <tt>104,23</tt> |- | <tt>Text</tt> | <tt>Show Data Form</tt> |} Next, double-click the button to access its Click event and add the following code: <pre>fclsDataForm objDataForm = new fclsDataForm (); objDataForm.Show(); </pre> Press F5 to run the project, and then click the button and your bound form will appear. To load the grid with records, click the Load button (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#ch21fig11 Figure 21.11]). Stop the running project, click fclsDataForm.cs in the Solution Explorer, and then click the View Code button on the Solution Explorer to view the class. Notice that the Data Form Wizard created all the ADO.NET code for you, and even included rudimentary error handling. The Data Form Wizard is a great way to get started with ADO.NET, but it will take you only so far. To create robust ADO.NET applications, you will need to find one or more dedicated resources that focus on the intricacies of ADO.NET. Summary Most commercial applications use some sort of database. Becoming a good database programmer requires extending your skills beyond being just a good programmer. There is so much to know about optimizing database and database code, creating usable database interfaces, creating a database scheme�the list goes on. However, writing any database application begins with the basic skills you learned in this hour. You learned how to connect to a database, create and populate a DataTable, and navigate the records in the DataTable. In addition, you learned how to edit records and how to add and delete records. Finally, you learned how to use the Data Form Wizard to create a basic ADO.NET bound form. You are now prepared to write simple, yet functional, database applications. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#qad1e65222 Q1:]''' | If I want to connect to a data source other than Jet, how do I know what connect string to use? |- | align="right" | ''' A1: ''' | Not only is different connection information available for different types of data sources, but also for different versions of different data sources. The best way of determining the connection string is to consult the documentation for the data source to which you want to attach. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/21.htm#qad1e65235 Q2:]''' | What if I don't know where the database will be at runtime? |- | align="right" | ''' A2: ''' | For file-based data sources such as Jet, you can add an Open File dialog control to the form and let the user browse and select the database. Then, concatenate the file with the rest of the connection information (such as the provider string). |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans01 1:]''' | What is the name of the data access components used in the .NET Framework? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans02 2:]''' | What is the name given to a collection of DataRows? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans03 3:]''' | How do I get data into and out of a DataTable? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans04 4:]''' | What object is used to connect to a data source? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans05 5:]''' | What argument of a connection string contains information about the type of data being connected to? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans06 6:]''' | The functionality of a DataTable (read-only, updateable, and so forth) is determined by what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans07 7:]''' | What are the two .NET data providers supplied as part of the .NET Framework? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec21.htm#ch21ans08 8:]''' | What method of a DataTable object do you call to create a new row? |} Exercises # Create a new project that connects to the same database used in this example. Rather than displaying a single record in two text boxes, put a list box on the form and fill the list box with the names of the people in the database. # Further extend the project you built in exercise 1 by adding a Name text box below the list. When the user clicks a name in the list, show the name in the text box. If the user clicks another name, update the database with any changes made in the text box to the previously selected name. c6td7a171zoq447b3qwjlrnht84qt1g User:Foxall/09 2 2144 20213 20212 2019-03-09T23:12:03Z Esteban16 1971 Wuxuu dib u noqay badalkii oo sameeyay [[Special:Contributions/185.159.87.79|185.159.87.79]] ([[User talk:185.159.87.79|talk]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:Foxall|Foxall]] 5605 wikitext text/x-wiki == Hour 9. Adding Menus and Toolbars to Forms == The use of a Graphical User Interface (GUI) for interacting with and navigating programs is one of the greatest features of Windows. In spite of this, a fair number of Windows users still rely primarily on the keyboard, preferring to use a mouse only when absolutely necessary. Data-entry people in particular never take their hands off the keyboard. Many software companies receive support calls from angry customers because a commonly used function is accessible only by using a mouse. Menus are the easiest way for a user who relies on the keyboard to navigate your program. Visual Studio and C# make it easier than ever to create menus for your applications. In this hour, you'll learn how to build, manipulate, and program menus on a form. In addition, I'll teach you how to use the Toolbar control to create attractive and functional toolbars. Finally, you'll learn how to "finish off" a form with a status bar. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec1.htm#ch09lev2sec1 Adding, moving, and deleting menu items] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec1.htm#ch09lev2sec3 Creating checked menu items] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec2.htm#ch09lev1sec2 Programming menus] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec2.htm#ch09lev2sec4 Implementing context menus] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec2.htm#ch09lev2sec5 Assigning shortcut keys] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec3.htm#ch09lev1sec3 Creating toolbar items] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec3.htm#ch09lev2sec8 Defining toggle buttons and separators] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch09lev1sec4.htm#ch09lev1sec4 Creating a status bar] ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Building Menus When I said that C# makes building menus easier than ever, I wasn't kidding. Building menus is now an immediately gratifying process. I can't stress enough how important it is to have good menus, and now that it's so easy to do, there is no excuse for not putting menus in an application. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | When running an application for the first time, users often scan the menus before opening a manual. (Most users never open the manual!) When you provide comprehensive menus, you make your program easier to learn and use. |} Adding Menu Items Adding menus to a form is accomplished by way of a control: the Main Menu control. The Main Menu control is a bit odd in that it's the only control I know of that sits at the bottom of the form in the space reserved for controls without an interface (like a Timer control), yet actually has a visible interface on the form. Start by creating a new Windows Application project named Menus and More. # Change the name of the default form to fclsMenusAndMore, set its Text to Menus and More, and change the Main entry point of the project to reference fclsMenusAndMore instead of Form1. # Next, add a new Main Menu control to your form by double-clicking the MainMenu item in the toolbox. As you can see, the control is added to the pane at the bottom of the form designer. Take a look at the top of the form�you'll see the text Type Here (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig01 Figure 9.1]). <center>Figure 9.1. A menu has no items when first added to a form. [[Image:09fig01.jpg|500px|graphics/09fig01.jpg]] </center> # Click this text and type &File. As you begin typing, C# displays two new boxes that say Type Here (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig02 Figure 9.2]). <center>Figure 9.2. Creating a menu item automatically prepares the control for more items. [[Image:09fig02.jpg|500px|graphics/09fig02.jpg]] </center> Notice the Properties window (if it's not visible, press F4 to show it). The text you just entered created a new menu item. Each menu item is an object; therefore, the item has properties. (You may have to press Tab to commit your entry and then click the text you typed once more to see its properties.)MenuItem1 isn't very descriptive, so change the name of the item to mnuFileMenu. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | You may have been wondering why I had you enter the ampersand (&) in front of the word File. Take a look at your menu now, and you'll see that C# doesn't display the ampersand; instead, it displays the text with the F underlined, as in File. The ampersand, when used in the Text property of a menu item, tells C# to underline the character immediately following it. For top-level menu items, such as the File item you just created, this underlined character is known as an accelerator key. Pressing Alt+ an accelerator key opens the menu as if the user had clicked it. You should avoid assigning the same accelerator key to more than one top-level menu item on a given menu. When the menu item appears on a drop-down menu, in contrast to being a top-level item, the underlined character is called a hotkey. When a menu is visible (open), the user can press a hotkey to trigger the corresponding menu item the same as if it was clicked. Again, don't use the same hotkey for more than one item on the same menu. |} # Click the Type Here text that appears to the immediate right of the File item and enter the text &Help. C# gives you two more Type Here items, the same as when you entered the File item. Adding new menu items is a matter of clicking a Type Here box and entering the text for an item. # Press Tab to commit your entry and then click the text you typed once more to select it. Change the name of your new menu item in the Properties window to mnuHelpMenu. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you click a Type Here box below an existing menu item, you'll add a new item to the same menu as the item above the box. If you click the Type Here box to the right of a menu item, you'll create a submenu using the menu to the left of the box as the entry point for the submenu. As you've already seen, clicking the Type Here box along the top of the menu bar creates a top-level menu. |} # Click once more on the File item to display a Type Here box below the item. Click this box and enter the text &Quit. # Press Tab to commit your entry and then click the new item once more to select it. Change the name of the new item to mnuQuit. Now is a good time to save your work, so click Save All on the toolbar. Moving and Deleting Menu Items Deleting and moving menu items are even easier processes than adding new items. To delete a menu item, right-click it and choose Delete from the context menu that appears. To move an item, drag it from its current location and drop it in the location in which you want it placed. Creating Checked Menu Items A menu item that isn't used to open a submenu can display a check mark next to its text. Check marks are used to create menu items that have state�the item is either selected or it is not selected. You're now going to create a checked menu item. Click the Type Here box below the Quit menu item and enter Ask before closing and then change the name of this new item (remember to press Tab to commit your entry and then click the item again to select it) to mnuAskBeforeClosing. Next, change the Checked property of the new item to true. Notice that the menu item now has a check mark next to it (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig03 Figure 9.3]). <center>Figure 9.3. Menu items can be used to indicate state. [[Image:09fig03.jpg|500px|graphics/09fig03.jpg]] </center> Press F5 to run the project. The menu will appear on your form, just as you designed it (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig04 Figure 9.4]). Click the File menu to open it and then click Quit; nothing happens. In the next section, I'll show you how to add code to menu items to make them actually do something. Stop the project before continuing. Programming Menus As I've said before, every menu item is a unique object�this is why you were able to change the name for each item you created. Although individual menu items aren't controls, per se, adding code behind them is very similar to adding code behind a control. You're now going to add code to the Quit and Ask Before Closing menu items. # Click the File menu now to open it. # Double-click the Quit menu item. Just as when you double-click a control, C# displays the code editor with the default event for the menu item you've clicked. For menu items, this is the Click event. # Enter the following code: <pre>this.Close(); </pre> As you know by now, this code closes the current form, which has the effect of stopping the project because this is the only form and it's designated as the Main entry point object. # Switch back to the form designer (click the Form1.cs [Design] tab). You're now going to create the code for the Ask Before Closing button. This code will invert the Checked property of the menu item; if <tt>Checked = True</tt>, it will be set to false and vice versa. # Double-click the Ask Before Closing item to access its Click event and enter the following code: <pre>mnuAskBeforeClosing.Checked = (!mnuAskBeforeClosing.Checked); </pre> The logical negation operator (<tt>!</tt>) is used to perform a negation of a Boolean value. Don't worry, I discuss this in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13.htm#ch13 Hour 13], "Performing Arithmetic, String Manipulation, and Date/Time Adjustments." For now, realize that if the current value of the Checked property is true, <tt>(!Checked)</tt> returns false. If Checked is currently false, <tt>(!Checked)</tt> returns true. Therefore, the checked value will toggle between true and false each time the menu item is clicked. # Press F5 to run the project. Open the File menu by pressing Alt+F (remember, the F is the accelerator key). # Next, click the Ask Before Closing button�it becomes unchecked. Click the menu item once more and it becomes checked again. # Click it a third time to remove the check mark, and then click Quit to close the form. Did you notice that you weren't asked whether you really wanted to quit? This is because the quit code hasn't been written to consider the checked state of the Ask Before Closing button. # Return to the Click event of the Quit button and change its code to look like this: <pre>if (mnuAskBeforeClosing.Checked) { if (MessageBox.Show("Do you really wish to exit?","Quit Verification",MessageBoxButtons.YesNo) == DialogResult.No) return; } this.Close(); </pre> Now when the user selects the Quit button, C# considers the checked state of the Ask Before Closing menu item. If the item is checked, C# asks users whether they really want to exit. If a user chooses No, the procedure quits and the form doesn't unload. This code may be a bit foreign to you now, but you'll learn the ins and outs of making decisions (executing code based on conditions) and message boxes in later hours. # Press F5 to run the project. Open the File menu, click the Ask Before Closing item to select it, and then click Quit. # This time, C# asks you to confirm your intentions rather than immediately closing the form. Go ahead and close the form, and then click Save All on the toolbar to save your work. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | When designing your menus, look at some of the many popular Windows applications available and consider the similarities and differences between their menus and yours. Although your application may be quite unique and therefore may have very different menus from other applications, similarities probably exist as well. When possible, make menu items in your application follow the same structure and design as similar items in the popular programs. This will shorten the learning curve of your application, reduce user frustration, and save you time. |} Implementing Context Menus Context menus are the pop-up menus that appear when you right-click an object on a form. Context menus get their name from the fact that they display context-sensitive choices�menu items that relate directly to the object that's right-clicked. Most C# controls have a default context menu, but you can assign custom context menus if you desire. Add a new text box to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtMyTextbox</tt> |- | <tt>Location</tt> | <tt>96,122</tt> |- | <tt>Size</tt> | <tt>100,20</tt> |- | <tt>Text</tt> | (make blank) |} Press F5 to run the project, and then right-click the text box to display its context menu (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig05 Figure 9.5]). This menu is the default context menu for the <tt>Text Box</tt> control; it is functional but limited. Stop the project now and return to Design view. <center>Figure 9.5. Most items have a default context menu. [[Image:09fig05.jpg|300px|graphics/09fig05.jpg]] </center> Creating context menus is very much like creating regular menus. Context menus, however, are created using a different control: the Context Menu control. # Add a new context menu to the form by double-clicking the ContextMenu item in the toolbox. Like the Main Menu control, the Context Menu control is placed in the pane below the form designer. When the control is selected, a Context Menu item appears at the top of the form. # Clicking the Context Menu box opens the context menu, which is empty by default. Click the Type Here box and enter the text Clear text box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig06 Figure 9.6]). You've just created a context menu with a single menu item. <center>Figure 9.6. Context menus are edited much like regular menus. [[Image:09fig06.jpg|500px|graphics/09fig06.jpg]] </center> # Change the name of the new menu item to mnuClearTextbox, and then double-click the item to access its Click event. Enter the following code: <pre>txtMyTextbox.Text = ""; </pre> # Linking a control to a context menu is accomplished by setting a property. Display the form designer once more, and then click the Text Box control to select it and display its properties in the Properties window. # Change the ContextMenu property of the text box to ContextMenu1; the context menu is now linked to the text box. Press F5 to run the project. # Enter some text into the text box and then right-click the text box; your custom context menu appears in place of the default context menu. # Choose Clear Text Box from the context menu, and the contents of the text box will clear. Stop the project and save your work. Assigning Shortcut Keys If you've spent any time learning a Microsoft application, you've most likely learned some keyboard shortcuts. For instance, pressing Alt+P in any application that prints has the same effect as opening the File menu and choosing Print. You can add the same type of shortcuts to your menus by following these steps: # Click the Main Menu control at the bottom of the form designer, click File on its menu, and then click Quit to select the Quit menu item. # Next, click the Shortcut property in the Properties window and then click the down arrow that appears. This list contains all the shortcut keys that can be assigned to a menu item. # Locate and select CtrlQ (for Quit) in the list (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig07 Figure 9.7]). <center>Figure 9.7. A shortcut key is assigned using the shortcut property of a menu item. [[Image:09fig07.jpg|193px|graphics/09fig07.jpg]] </center> # Press F5 to run the project once more. Next, press Ctrl+Q, and the application will behave just as though you opened the File menu and clicked the Quit item. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Although it's not always possible, try to assign logical shortcut key combinations. The meaning of F6 is hardly intuitive, for example, but when assigning modifiers such as Ctrl with another character, you have some flexibility. For instance, the key combination of Ctrl+Q might be a more intuitive shortcut key for Quit than Ctrl+T. |} Using the Toolbar Control Generally speaking, when a program has a menu (as most programs should), it should also have a toolbar. Toolbars are one of the easiest ways for a user to access program functions. Unlike menu items, toolbar items are always visible and therefore are immediately available. In addition, toolbar items have ToolTips, which allow a user to discover a toolbar button's purpose simply by hovering the pointer over the button. Toolbar items are really shortcuts for menu items; every item on a toolbar should have a corresponding menu item. Remember that some users prefer to use the keyboard, in which case they need to have keyboard access to functions via menus. The actual items you place on a toolbar depend on the features supported by the application. However, the mechanics of creating toolbars and toolbar items is the same, regardless of the buttons you choose to use. Toolbars are created using the Toolbar control. # Add a new Toolbar control to your form now by double-clicking the ToolBar item in the toolbox. A new toolbar is then added to the top of your form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig08 Figure 9.8]). Change the name of the toolbar to tbrMainToolbar. <center> </center> Every toolbar you've used displays pictures on buttons. The Toolbar control gets the pictures for its buttons from an Image List control. # Go ahead and add an Image List control to the form now and change its name to imgMyPictures. # Add a new 16x16 pixel bitmap to the Images collection of the Image List control (you can use a picture you created or use one from the samples I've made available on the Web site). # When you're finished adding the new button, close the Image Collection Editor and select the Toolbar control on the form. # Set the ImageList property of the toolbar to use the image list you've just created. Adding Toolbar Buttons Using the Buttons Collection Like many other controls you've already learned about, the Toolbar control supports a special collection: the Buttons collection. The Buttons collection contains the buttons that appear on the toolbar. Click the Buttons property in the Properties window and then click the small button that appears; the ToolBarButton Collection Editor displays. The list of button members is empty because new toolbars have no buttons. Click Add to create a new button, and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>tbbQuit</tt> |- | <tt>ImageIndex</tt> | <tt>0</tt> |- | <tt>Text</tt> | <tt>Quit</tt> |- | <tt>ToolTipText</tt> | <tt>Quit this application</tt> |} Click OK to close the ToolBarButton Collection Editor. Your new button is now visible on the toolbar. As you can see, text appears below the picture in the button, but this is not how most toolbars appear. Not a problem�access the Buttons collection once more and clear the Text property of the button. Programming Toolbars Unlike menus, where each menu item receives its own Click event, the Toolbar control has one common Click event that fires when the user clicks any button on the toolbar. Double-click the Toolbar control on the form to access the toolbar's ButtonClick event (close the button editor first if it's open). Enter the following code: <pre>if (e.Button == tbbQuit) this.Close(); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In a nontrivial program, the ideal way to set this up would be to create a method that is called both by the Click event of the menu item and by clicking the equivalent toolbar button. This reduces duplication of code and eliminates bugs (the Quit button doesn't honor the Ask Before Closing option in this example, even though the menu item does). |} The e object is discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods." For now, realize that the Button property of the e object is an object property that holds a reference to the button that is clicked. This code uses an if statement to determine if the clicked button is the Quit button. If the Quit button was clicked, the form closes. When you have many buttons on a toolbar, a switch statement is much more useful than an if statement, as you'll see in the next section. (Decision-making constructs such as if and switch statements are discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14.htm#ch14 Hour 14], "Making Decisions in C# Code.") Creating Toggle Buttons The button that you've created for your toolbar is a standard push-style button. When the user clicks it with the mouse, the button will appear to be pressed while the user holds down the mouse button and will return to a normal state when the user releases the mouse button. Although this is the style you'll use for most of your toolbar buttons, the Toolbar control supports other styles as well. One such style is the toggle button. A toggle button, much like the check mark of a menu item, is used to denote state. When a toggle button is clicked, it appears in a pressed state and stays that way until clicked again, in which case it returns to its normal appearance. Microsoft Word has a number of such buttons. For instance, the paragraph alignment buttons are all toggle buttons�the button that corresponds to the current paragraph's alignment appears to be pressed. Add a new button to your toolbar now and change its name to tbbInvisible. Change its Text property to Invisible and its Style to ToggleButton. Click OK to close the editor and the new button will appear on the toolbar. Take note that you didn't have to designate a picture for the toolbar item (but you usually should). Because you don't want the toolbar's height to be larger than necessary, change the TextAlign property of the Toolbar control to Right. Your toolbar should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig09 Figure 9.9]. <center> </center> Again, double-click the toolbar to access its ButtonClick event. Now that there are two buttons, the simple if statement is no longer suited to determining the button pushed. Change the code in your procedure to match the following: <pre>switch (tbrMainToolbar.Buttons.IndexOf(e.Button)) { case 0: this.Close(); break; case 1: txtMyTextbox.Visible = (!tbbInvisible.Pushed); break; } </pre> This code is a bit more complex than the previous code. The switch construct compares one value to many possible values, looking for a match. In this case, the <tt>IndexOf()</tt> method of the Buttons collection is used to determine the index of the clicked tool button (the first button is 0, the second is 1, and so forth). The index is then compared to values using the case statements, and when a match is found, the appropriate code executes. Again, don't worry too much about the details of the switch statement, because you'll learn everything you need to know about it in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14.htm#ch14 Hour 14], "Making Decisions in C# Code." The new statement that you're interested in at the moment is where the Visible property of the text box is set. Remember, the logical negation operator (<tt>!</tt>) negates a value. Therefore, this statement sets the Visible property of the text box to the negation of the pushed state of the tbbInvisible button. In other words, when the button is pushed, the text box is hidden, and when the button is not pushed, the text box is visible. Press F5 to run the project now and notice that the text box is visible. Click the Invisible button on the toolbar and note that its appearance changes to a pushed state and the text box becomes hidden (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig10 Figure 9.10]). Click the button again to return the button's state to normal, and the text box reappears. When you're finished, stop the project and save your work. <center>Figure 9.10. Toggle-style buttons appear "pressed" when clicked. [[Image:09fig10.jpg|300px|graphics/09fig10.jpg]] </center> Creating Separators As you add more and more buttons to a toolbar, it becomes evident that you need a way to logically group buttons. Placing related buttons next to one another is a great start toward building a good toolbar. However, a toolbar may be a bit difficult to use even if its buttons are placed in a logical order, unless the buttons are separated into groups. Placing a space between sets of related buttons creates button groups. You're now going to add a separator space to your toolbar. Add a new button to your toolbar using the Buttons collection in the Properties window. Change its name to tbbSeparator1 and change its Style to Separator. When you change the Style property of the button to Separator, it disappears from the toolbar, or at least it seems to. When a button is designated as a separator, it's simply an empty placeholder used to create a space between two buttons. Because this separator is at the end row of buttons, you can't see it. Move it to the second position by selecting it in the ToolBarButton Collection Editor and clicking the up arrow that appears to the right of the Members list; this arrow and the one below it are used to move a button up or down in the list. Click OK to save your changes and your toolbar will now have a space between the two buttons (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig11 Figure 9.11]). <center>Figure 9.11. Separators are used to create spaces between groups of buttons. [[Image:09fig11.jpg|500px|graphics/09fig11.jpg]] </center> Press F5 to run the project once more and click the Invisible button; the text box no longer becomes hidden. This is a common problem when working with toolbars. Remember how the switch statement looks at the index of the clicked button? The index is the ordinal position of a button in the Buttons collection. When you changed the order of the buttons by moving the separator button up in the list, you changed the index of the separator button and the button it displaced�the tbbInvisible button. The tbbInvisible button now has an index of two (because it's the third button). Change the case statement in the ButtonClick event that compares the case to 1 so that it compares it to 2, and your code will work again. As you fine-tune your toolbars, you need to be conscious of any code that's been written to work with the indexes of buttons in the Buttons collection. Creating Drop-Down Menus for Toolbar Buttons You need to be familiar with one last type of toolbar button. Create a new button using the Buttons collection in the Properties window. Change the name of the new button to tbbDropdown, clear the Text property, and set the button's Style property to DropDownButton. Finally, set the DropDownMenu property to ContextMenu1 and click OK to commit your changes. Notice how the button has a drop-down arrow on it. Press F5 to run the project and click the drop-down arrow; the menu that you designated in the DropDownMenu property appears (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig12 Figure 9.12]). As you can see, the DropDownMenu property makes it easy to integrate drop-down menus with your toolbars. <center> </center> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating a Status Bar The last control I'm going to show you is the Status Bar control. The status bar isn't nearly as fancy, or even as useful, as other controls, such as the Toolbar or the Main Menu. It's also not that hard to work with. Nevertheless, a status bar adds value to an application in that it makes additional information available, and users have come to expect it. In its simplest form, a status bar displays a text caption and sizing grip�the three diagonal lines to the right of the control that the user can drag with the mouse to change the size of the form. Add a new status bar to the form now by double-clicking the StatusBar item in the toolbox. Change the name of the status bar to sbrMyStatusBar. The Text property determines the text displayed in the left side of the status bar. Notice that the Text is set to the default name of the control. Change the Text property to Menus and Toolbars Example now, and notice how the text in the status bar changes (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig13 Figure 9.13]). <center>Figure 9.13. Status bars dress out a form. [[Image:09fig13.jpg|500px|graphics/09fig13.jpg]] </center> If a form's border is sizable, the user can click and drag the sizing grip at the right side of the status bar to change the size of the form. The status bar isn't smart enough to realize when a form's border can't be resized; you'll have to change the SizingGrip property of the status bar to false to hide the grip. The default behavior of the status bar is quite simple, consisting of text and a sizing grip. However, you can create more complex status bars with this control. The Status Bar control contains a Panels collection. To see how a panel works, select the Panels property in the Properties window and click the small button that appears. On the StatusBarPanel Collection Editor, click Add to create a new panel. Set the Text of the panel to Panel Text, set the AutoSize property to Contents, and click OK to save your changes. Nothing looks different, right? This is because one last thing is required to display the status bar panels. Change the ShowPanels property of the status bar to true now, and the status bar will display its panel (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#ch09fig14 Figure 9.14]). You can add multiple panels to a Status Bar control and even tailor the appearance of each panel by changing the border style or displaying an image from a linked Image List control. The status bar is such a simple control that you may overlook using it. However, I encourage you to use it when appropriate. Summary Menus, toolbars, and status bars add tremendous value to an application by greatly enhancing its usability. In this hour, you learned how to use the Main Menu control to build comprehensive menus for your applications. You learned how to add, move, and delete menu items and how to define accelerator and shortcut keys to facilitate better navigation via the keyboard. You also saw how toolbars provide shortcuts for accessing common menu items. You learned how to use the Toolbar control to create functional toolbars complete with bitmaps, drop-downs, and logical groupings. Finally, you discovered how to use the status bar to "dress out" the application. Implementing these items is an important part of the interface design process for an application, and you now have the skills necessary to start putting them into your own programs. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#qad1e31135 Q1:]''' | I have a number of forms with nearly identical menus. Do I really need to take the time to create menus for all these forms? |- | align="right" | ''' A1: ''' | Not as much as you think. Create a Main Menu control that has the common items on it, and then copy and paste the control to other forms. You can then build on this menu structure, saving you a lot of time. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/09.htm#qad1e31145 Q2:]''' | I've seen applications that allow the end user to customize the menus and toolbars. Can I do that with the C# menus and toolbars? |- | align="right" | ''' A2: ''' | No. To accomplish this behavior, you would have to purchase a third-party component. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A] Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans01 1:]''' | True or False: Form menu bars are created using the Context Menu control. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans02 2:]''' | To create an accelerator or hotkey, preface the character with a(n): |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans03 3:]''' | If you've designed a menu using a Main Menu control, but that menu isn't visible on the form designer, how do you make it appear? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans04 4:]''' | To place a check mark next to a menu item, you set what property of the item? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans05 5:]''' | How do you add code to a menu item? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans06 6:]''' | Toolbar items are part of what collection? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans07 7:]''' | To create a separator on a toolbar, you create a new button and set what property? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans08 8:]''' | True or False: Every button on a toolbar has its own Click event. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec9.htm#ch09ans09 9:]''' | What must you do to have panels appear on a status bar? |} Exercises # Modify the code you created for the toolbar that closes the form to take into consideration the checked status of the Ask Before Closing menu item. # Implement a toggle button that works just like the Ask Before Closing menu item. a9use0s4h4wgevgq0moch5cjfi47vay User:Foxall/10 2 2145 5606 2007-06-18T00:40:38Z Foxall 27 Bog cusub: == Hour 10. Drawing and Printing == C# provides an amazingly powerful array of drawing capabilities. However, this power comes at the price of a steep learning curve. Drawing isn't intui... 5606 wikitext text/x-wiki == Hour 10. Drawing and Printing == C# provides an amazingly powerful array of drawing capabilities. However, this power comes at the price of a steep learning curve. Drawing isn't intuitive; you can't sit down for a few minutes with the online Help text and start drawing graphics. After you learn the basic principles involved, however, you'll find that drawing isn't that complicated. In this hour, you'll learn the basic skills for drawing shapes and text to a form or other graphical surface. You'll learn about pens, colors, and brushes. In addition, you'll learn how to persist graphics on a form�and even how to create bitmaps that exist solely in memory. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec1.htm#ch10lev1sec1 Understanding the Graphics object] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec2.htm#ch10lev1sec2 Working with pens] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec3.htm#ch10lev1sec3 Using system colors] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec4.htm#ch10lev1sec4 Working with rectangles] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec5.htm#ch10lev1sec5 Drawing shapes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec6.htm#ch10lev1sec6 Drawing text] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec7.htm#ch10lev1sec7 Persisting graphics on a form] ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Understanding the Graphics Object {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The code within the Windows operating system that handles drawing everything to the screen, including text, lines, and shapes, is called the Graphics Device Interface (GDI). The GDI processes all drawing instructions from applications as well as from Windows itself and generates the proper output for the current display. Because the GDI generates what you see onscreen, it has the responsibility of dealing with the particular display driver installed on the computer and the settings of the driver, such as resolution and color depth. This means that applications don't have to worry about these details; you write code that tells the GDI what to output and the GDI does whatever is necessary to produce that output. This behavior is called device independence because applications can instruct the GDI to display text and graphics using code that is independent of the particular display device. |} C# code communicates with the GDI primarily via a Graphics object. The basic process is the following: * An object variable is created to hold a reference to a Graphics object. * The object variable is set to a valid Graphics object (new or existing). * To draw or print, you call methods of the Graphics object. Creating a Graphics Object for a Form or Control If you want to draw directly to a form or control, you can easily get a reference to the drawing surface by calling the CreateGraphics() method of the object in question. For example, to create a Graphics object that draws to a text box, you could use code such as: <pre>System.Drawing.Graphics objGraphics; objGraphics = this.textBox1.CreateGraphics(); </pre> When you call CreateGraphics(), you're setting the object variable to hold a reference to the Graphics object of the form or control's client area. The client area of a form is the gray area within the borders and title bar of the form. The client area of a control is usually the entire control. All drawing and printing done using the Graphics object is sent to the client area. In the code shown previously, the Graphics object references the client area of a text box, so all drawing methods called on the Graphics object would draw on the text box only. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | When you draw directly to a form or control, the object in question doesn't persist what is drawn on it. If the form is obscured in any way, such as by a window covering it or by minimizing the form, the next time the form is painted, it won't contain anything that was drawn on it. Later in this hour, I'll teach you how to persist graphics on a form. |} Creating a Graphics Object for a New Bitmap You don't have to set a Graphics object to the client area of a form or control; you can also set a Graphics object to a bitmap that exists only in memory. For performance reasons, you might want to use a memory bitmap to store temporary images or to use as a place to build complex graphics before sending them to a visible element. To do this, you first have to create a new bitmap. To create a new bitmap, you declare a variable to hold a reference to the new bitmap, and then you create a new bitmap using the following syntax: <pre>Bitmap variable = new Bitmap(width, height, pixelformat); </pre> The width and height arguments are exactly what they appear to be: the width and height of the new bitmap. The pixelformat argument, however, is less intuitive. This argument determines the color depth of the bitmap and may also specify whether the bitmap has an alpha layer (used for transparent portions of bitmaps). [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10table01 Table 10.1] lists a few of the common values for PixelFormat (see C#'s online Help for the complete list of values and their meanings). Note that the pixelformat parameter is referenced as <tt>System.Drawing.Imaging.PixelFormat</tt>.<tt>formatenumeration</tt>. {| cellspacing="0" cellpadding="1" border="1"|+ Table 10.1. Common Values for PixelFormat |- | Value | Description |- | <tt>Format16bppGrayScale</tt> | The pixel format is 16 bits per pixel. The color information specifies 65,536 shades of gray. |- | <tt>Format16bppRgb555</tt> | The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, and 5 bits are blue. |- | <tt>Format24bppRgb</tt> | The pixel format is 24 bits per pixel. The color information specifies 16,777,216 shades of color, of which 8 bits are red, 8 bits are green, and 8 bits are blue. |} For example, to create a new bitmap that is 640 pixels wide by 480 pixels tall and has a pixel depth of 24 bits, you could use the following statement: <pre>objMyBitMap = new Bitmap(640, 480, System.Drawing.Imaging.PixelFormat.Format24bppRgb); </pre> After the bitmap is created, you can create a Graphics object that references the bitmap using the FromImage() method, like this: <pre>objGraphics = Graphics.FromImage(objMyBitMap); </pre> Now, any drawing or printing done using objGraphics would be performed on the memory bitmap. For the user to see the bitmap, you'd have to send the bitmap to a form or control. You'll do this in the section "[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch10lev1sec7.htm#ch10lev1sec7 Persisting Graphics on a Form]." Disposing of an Object When you're finished with a Graphics object, you should call its Dispose() method to ensure that all resources used by the Graphics object are freed. Simply letting an object variable go out of scope doesn't ensure that the resources used by the object are freed. Graphics objects can use considerable resources, so you should always call Dispose() when you're finished with any graphics object (including Pens and other types of objects). C# also supports a way of automatically disposing object resources. This can be accomplished utilizing C#'s <tt>using</tt> statement. The <tt>using</tt> statement wraps a declared object or objects in a block and disposes of those objects after the block is done. As a result, after the code is executed in a block, the block is exited and the resources are disposed of on exit. Following is the syntax for the <tt>using</tt> statement and a small sample: <pre>using (expression | type identifier = initializer) { // Statements to execute } using (MyClass objClass = new MyClass()) { objClass.Method1(); objClass.Method2(); } </pre> One thing to keep in mind is that the using statement acts as a wrapper for an object within a specified block of code; therefore, it is only useful for declaring objects that are used and scoped within a method (scope is discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays"). {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Working with Pens A pen is an object that defines line-drawing characteristics. Pens are used to define color, line width, and line style (solid, dashed, and so on), and pens are used with almost all the drawing methods you'll learn about in this hour. C# supplies a number of predefined pens, and you can also create your own. To create your own pen, use the following syntax: <pre>Pen variable = new Pen(color, width); </pre> After a pen is created, you can set its properties to adjust its appearance. For example, all Pen objects have a DashStyle property that determines the appearance of lines drawn with the pen. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10table02 Table 10.2] lists the possible values for DashStyle. {| cellspacing="0" cellpadding="1" border="1"|+ Table 10.2. Possible Values for DashStyle |- | valign="middle" | Value | valign="middle" | Description |- | <tt>Dash</tt> | Specifies a line consisting of dashes. |- | <tt>DashDot</tt> | Specifies a line consisting of a pattern of dashes and dots. |- | <tt>DashDotDot</tt> | Specifies a line consisting of alternating dashes and double dots. |- | <tt>Dot</tt> | Specifies a line consisting of dots. |- | <tt>Solid</tt> | Specifies a solid line. |- | <tt>Custom</tt> | Specifies a custom dash style. The Pen object contains properties that can be used to define the custom line. |} The enumeration for DashStyle is part of the Drawing.Drawing2D object. Therefore, to create a new pen and use it to draw an ellipse, for example, you could use the following code: <pre>Pen objMyPen = new Pen(System.Drawing.Color.DarkBlue, 3); objMyPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; </pre> C# includes many standard pens, which are available via the System.Drawing.Pens class, as in the following: <pre>objPen = System.Drawing.Pens.DarkBlue; </pre> When drawing using the techniques discussed shortly, you can use custom pens or system-defined pens�it's your choice. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using System Colors At some point, you may have changed your Windows theme, or perhaps you changed the image or color of your desktop. What you may not be aware of is that Windows enables you to customize the colors of almost all Windows interface elements. The colors that Windows allows you to change are called system colors. To change your system colors, right-click the desktop and choose Properties from the shortcut menu to display the Display Properties dialog box, and then click the Appearance tab (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig01 Figure 10.1]). To change the color for a specific item, you can select the item from the Item drop-down list, or you can click the element in the top half of the tab. <center>Figure 10.1. The Display Properties dialog box lets you select the colors of most Windows interface elements. [[Image:10fig01.jpg|404px|graphics/10fig01.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | On Windows XP, you'll need to click Advanced on the Appearance tab to change your system colors. |} When you change a system color using the Display Properties dialog box, all loaded applications should change their appearance to match your selection. In addition, when you start any new applications, they should also match their appearance to your selection. If you had to write code to manage this behavior, you would have to write a lot of code, and you would be justified in avoiding the whole thing. However, making an application adjust its appearance to match the user's system color selections is actually quite trivial; therefore, there's no reason not to do it. To designate that an interface color should stay in sync with a user's system colors, you assign a system color to a color property of the item in question (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig02 Figure 10.2]). [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10table03 Table 10.3] lists the system colors you can use. For example, if you wanted to ensure that the color of a button matches the user's corresponding system color, you would assign the system color named Control to the BackColor property of the Button control. <center>Figure 10.2. System colors are assigned using the System palette tab. [[Image:10fig02.gif|204px|graphics/10fig02.gof]] </center> Fortunately, when you create new forms and when you add controls to forms, C# automatically assigns the proper system color to the appropriate properties. Another good thing is that when a user changes a system color using the Display Properties dialog box, C# automatically updates the appearance of objects that use system colors; you don't have to write a single line of code to do this. Be aware that you aren't limited to assigning system colors to their logically associated properties. You can assign system colors to any color property you want, and you can also use system colors when drawing. This allows you, for example, to draw custom interface elements that match the user's system colors. Be aware, however, that if you do draw with system colors, C# won't update the colors automatically when the user changes system colors; you would have to redraw the elements with the new system color. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Users don't just change their system colors for aesthetic purposes. I work with a programmer who is color blind. He's modified his system colors so that he can see things better on the screen. If you don't allow your applications to adjust to the color preferences of the user, you may make using your program unnecessarily difficult, or even impossible, for someone with color blindness. |} {| cellspacing="0" cellpadding="1" border="1"|+ Table 10.3. Properties of the SystemColors Class |- | valign="middle" | Enumeration | valign="middle" | Description |- | <tt>ActiveBorder</tt> | The color of the filled area of an active window border. |- | <tt>ActiveCaption</tt> | The color of the background of an active caption bar (title bar). |- | <tt>ActiveCaptionText</tt> | The color of the text of the active caption bar (title bar). |- | <tt>AppWorkspace</tt> | The color of the application workspace. The application workspace is the area in a multiple-document view that is not being occupied by child windows. |- | <tt>Control</tt> | The color of the background of push buttons and other 3D elements. |- | <tt>ControlDark</tt> | The color of shadows on a 3D element. |- | <tt>ControlDarkDark</tt> | The color of darkest shadows on a 3D element. |- | <tt>ControlLight</tt> | The color of highlights on a 3D element. |- | <tt>ControlLightLight</tt> | The color of lightest highlights on a 3D element. |- | <tt>ControlText</tt> | The color of the text on buttons and other 3D elements. |- | <tt>Desktop</tt> | The color of the Windows desktop. |- | <tt>GrayText</tt> | The color of the text on a user-interface element when it's unavailable. |- | <tt>Highlight</tt> | The color of the background of highlighted text. This includes selected menu items as well as selected text. |- | <tt>HighlightText</tt> | The color of the foreground of highlighted text. This includes selected menu items as well as selected text. |- | <tt>HotTrack</tt> | The color used to represent hot tracking. |- | <tt>InactiveBorder</tt> | The color of an inactive window border. |- | <tt>InactiveCaption</tt> | The color of the background of an inactive caption bar. |- | <tt>InactiveCaptionText</tt> | The color of the text of an inactive caption bar. |- | <tt>Info</tt> | The color of the background of the ToolTip. |- | <tt>InfoText</tt> | The color of the text of the ToolTip. |- | <tt>Menu</tt> | The color of the menu background. |- | <tt>MenuText</tt> | The color of the menu text. |- | <tt>ScrollBar</tt> | The color of the scrollbar background. |- | <tt>Window</tt> | The color of the background in the client area of a window. |- | <tt>WindowFrame</tt> | The color of the frame around a window. |- | <tt>WindowText</tt> | The color of the text in the client area of a window. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | |} Working with Rectangles Before learning how to draw shapes, you need to understand the concept of a rectangle as it relates to C# programming. A rectangle isn't necessarily used to draw a rectangle (although it can be). Rather, a rectangle is a structure used to hold bounding coordinates used to draw a shape. Obviously, a square or rectangle can fit within a rectangle. However, so can circles and ellipses. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig03 Figure 10.3] illustrates how most shapes can be bound by a rectangle. <center>Figure 10.3. Rectangles are used to define the bounds of most shapes. [[Image:10fig03.gif|316px|graphics/10fig03.gof]] </center> To draw most shapes, you must have a rectangle. The rectangle you pass to a drawing method is used as a bounding rectangle; the proper shape (circle, ellipse, and so on) is always drawn. Creating a rectangle is easy. First, you set the dimensions of a variable as Rectangle and then you set the X, Y, Width, and Height properties of the object variable. The X, Y value is the coordinate of the upper-left corner of the rectangle. For example, the following code creates a rectangle that has its upper-left corner at coordinate 0,0, has a width of 100, and a height of 50: <pre>Rectangle rectBounding = new Rectangle(); rectBounding.X = 0; rectBounding.Y = 0; rectBounding.Width = 100; rectBounding.Height = 50; </pre> The Rectangle object enables you to send the X, Y, Height, and Width values as part of its initialize construct. Using this technique, you could create the same rectangle with only a single line of code: <pre>Rectangle rectBounding = new Rectangle(0,0,100,50); </pre> You can do a number of things with a rectangle after it's defined. Perhaps the most useful is the capability to enlarge or shrink the rectangle with a single statement. You enlarge or shrink a rectangle using the Inflate() method. The most common syntax of Inflate() is the following: <pre>object.Inflate(changeinwidth, changeinheight); </pre> When called this way, the rectangle width is enlarged (the left side of the rectangle remains in place) and the height is enlarged (the top of the rectangle stays in place). To leave the size of the height or width unchanged, pass 0 as the appropriate argument. To shrink a dimension, specify a negative number. If you're going to do much with drawing, you'll use a lot of Rectangle objects, and I strongly suggest that you learn as much about them as you can. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Drawing Shapes Now that you've learned about the Graphics object, pens, and rectangles, you'll probably find drawing shapes to be fairly simple. Shapes are drawn by calling methods of a Graphics object. Most methods require a rectangle, which is used as the bounding rectangle for the shape, as well as a pen. In this section, I'll show you what you need to do to draw different shapes. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I've chosen to discuss only the most commonly drawn shapes. The Graphics object contains many methods for drawing additional shapes. |} Drawing Lines Drawing lines is accomplished with the DrawLine() method of the Graphics object. DrawLine() is one of the few drawing methods that doesn't require a rectangle. The syntax for DrawLine() is <pre>object.DrawLine(pen, x1, y1, x2, y2); </pre> <tt>Object</tt> refers to a Graphics object and <tt>pen</tt> refers to a Pen object, both of which have already been discussed. X1, Y1 is the coordinate of the starting point of the line, whereas X2, Y2 is the coordinate of the ending point; C# draws a line between the two points, using the specified pen. Drawing Rectangles Drawing rectangles (and squares for that matter) is accomplished using the DrawRectangle() method of a Graphics object. As you might expect, DrawRectangle() accepts a pen and a rectangle. Following is the syntax for calling DrawRectangle() in this way: <pre>object.DrawRectangle(pen, rectangle); </pre> If you don't have a Rectangle object (and you don't want to create one), you can call DrawRectangle() using the following format: <pre>object.DrawRectangle(pen, X, Y, width, height); </pre> Drawing Circles and Ellipses Drawing circles and ellipses is accomplished by calling the DrawEllipse() method. If you're familiar with geometry, you'll note that a circle is simply an ellipse that has the same height as it does width. This is why no specific method exists for drawing circles; DrawEllipse() works perfectly. Like the DrawRectangle() method, DrawEllipse() accepts a Pen and a Rectangle. The rectangle is used as a bounding rectangle�the width of the ellipse is the width of the rectangle, whereas the height of the ellipse is the height of the rectangle. DrawEllipse() has the following syntax: <pre>object.DrawEllipse(pen, rectangle); </pre> In the event that you don't have a Rectangle object defined (and again you don't want to create one), you can call DrawEllipse() with this syntax: <pre>object.DrawEllipse(pen, X, Y, Width, Height); </pre> Clearing a Drawing Surface To clear the surface of a Graphics object, call the Clear() method, passing it the color to paint the surface, like this: <pre>objGraphics.Clear(Drawing.SystemColors.Control); </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Drawing Text Printing text on a Graphics object is very similar to drawing a shape, and the method name even contains the word Draw, in contrast to Print. To draw text on a Graphics object, call the DrawString() method. The basic format for DrawString() looks like this: <pre>object.DrawString(stringoftext, font, brush, topX, leftY); </pre> A few of these items are probably new to you. The argument <tt>stringoftext</tt> is fairly self-explanatory; it's the string you want to draw on the Graphics object. The <tt>topX</tt> and <tt>leftY</tt> arguments represent the coordinate at which drawing will take place; they represent the upper-left corner of the string, as illustrated in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig04 Figure 10.4]. <center>Figure 10.4. The coordinate specified in DrawString() represents the upper-left corner of the printed text. [[Image:10fig04.gif|500px|graphics/10fig04.gof]] </center> The arguments <tt>brush</tt> and <tt>font</tt> aren't so obvious. Both arguments accept objects. A brush is similar to a pen. However, whereas a pen describes the characteristics of a line, a brush describes the characteristics of a fill. For example, both pens and brushes have a color, but where pens have an attribute for defining a line style, such as dashed or solid, a brush has an attribute for a fill pattern, such as solid, hatched, weave, or trellis. When drawing text, a solid brush is usually sufficient. You can create brushes in much the same way as you create pens, or you can use one of the standard brushes available from the System.Drawing.Brushes class. A Font object defines characteristics used to format text, including the character set (Times New Roman, Courier, for example), size (point size), and style (bold, italic, normal, underline, and so on). To create a new Font object, you could use code such as the following: <pre>Font objFont; objFont = new System.Drawing.Font("Arial", 30); </pre> The text <tt>Arial</tt> in this code is the name of a font installed on my computer. In fact, Arial is one of the few fonts installed on all Windows computers. If you supply the name of a font that doesn't exist, C# will use a default font. The second parameter is the point size of the text. If you want to use a style other than normal, you can provide a style value as a third parameter, like this: <pre>objFont = new System.Drawing.Font("Arial Black", 30,FontStyle.Bold); </pre> or <pre>objFont = new System.Drawing.Font("Arial Black", 30,FontStyle.Italic); </pre> In addition to creating a Font object, you can also use the font of an existing object, such as a Form. For example, the following statement prints text to a Graphics object using the font of the current form: <pre>objGraphics.DrawString("This is the text that prints!", this.Font,System.Drawing.Brushes.Azure, 0, 0); </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Persisting Graphics on a Form You'll often use the techniques discussed in this hour to draw to a form. However, you may recall from earlier hours that when you draw to a form (actually, you draw to a Graphics object that references a form), the things that you draw aren't persisted; the next time the form paints itself, the drawn elements will disappear. For example, if the user minimizes the form or obscures the form with another window, the next time the form is painted, it will be missing any and all drawn elements that were obscured. You can use a couple of approaches to deal with this behavior: * Place all code that draws to the form in the form's Paint event. * Draw to a memory bitmap and copy the contents of the memory bitmap to the form in the form's Paint event. If you're drawing only a few items, placing the drawing code in the Paint event might be a good approach. However, consider a situation in which you've got a lot of drawing code. Perhaps the graphics are drawn in response to user input, so you can't re-create them all at once. In these situations, the second approach is clearly better. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Build a Graphics Project Example You're now going to build a project that uses the skills you've already learned to draw to a form. In this project, you'll use the technique of drawing to a memory bitmap to persist the graphics each time the form paints itself. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The project you're about to build is perhaps the most difficult yet. I'll explain each step of the process of creating this project, but I won't spend any time explaining the objects and methods that I've already discussed. |} To make things interesting, I've used random numbers to determine font size as well as the X, Y coordinate of the text you're going to draw to the form. The Random class and its Next() method will be used to generate pseudo-random numbers. To generate a random number within a specific range (such as a random number between 1 and 10), you use the following: <pre>randomGenerator.Next(1,10); </pre> I don't want you to dwell on the details of how the ranges of random numbers are created. However, at times, you may need to use a random number, so I thought I'd spice things up a bit and teach you something cool at the same time. Start by creating a new Windows Application titled Persisting Graphics. Change the name of the default form to fclsMain, set the form's Text property to Persisting Graphics, and change the entry point of the project to reference fclsMain instead of Form1. The interface of your form will consist of a text box and a button. When the user clicks the button, the contents of the text box will be drawn on the form in a random location and a random font size. Add a new text box to your form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtInput</tt> |- | <tt>Location</tt> | <tt>56,184</tt> |- | <tt>Size</tt> | <tt>100,20</tt> |- | <tt>Text</tt> | (make blank) |} Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnDrawText</tt> |- | <tt>Location</tt> | <tt>160,184</tt> |- | <tt>Text</tt> | <tt>Draw Text</tt> |} Let the code fly! As I mentioned earlier, all drawing is going to be performed using a memory bitmap, which will then be drawn on the form. You will reference this bitmap in multiple places, so you're going to make it a module-level variable by following these steps: # Double-click the Form to access its Load event. # Locate the statement <tt>public class fclsMain : System.Windows.Forms.Form</tt> and position your cursor immediately after the left bracket ({) on the next line. # Press Enter to create a new line. # Enter the following statement: <pre>private System.Drawing.Bitmap m_objDrawingSurface; </pre> For the bitmap variable to be used, it must reference a Bitmap object. A good place to initialize things is in the form's Load event, so put your cursor back in the Load event now and enter the following code: <pre>// Create a drawing surface with the same dimensions as the client // area of the form. m_objDrawingSurface = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); InitializeSurface(); </pre> Your procedure should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig05 Figure 10.5]. <center>Figure 10.5. Make sure your code appears exactly as it does here. [[Image:10fig05.jpg|500px|graphics/10fig05.jpg]] </center> The first statement creates a new bitmap in memory. Because the contents of the bitmap are to be sent to the form, it makes sense to use the dimensions of the client area of the form as the size of the new bitmap�which is exactly what you've done. The final statement calls a procedure that you haven't yet created. Position the cursor after the closing bracket (}) of the fclsMain_Load event and press Enter to create a new line. You're now going to write code to initialize the bitmap. The code will clear the bitmap to the system color named Control and then draw an ellipse that has the dimensions of the bitmap. (I've added comments to the code so that you can follow along with what's happening; all the concepts in this code have been discussed already.) Enter the following in its entirety: <pre>private void InitializeSurface() { Graphics objGraphics; Rectangle rectBounds; // Create a Graphics object that references the bitmap and clear it. objGraphics = Graphics.FromImage(m_objDrawingSurface); objGraphics.Clear(SystemColors.Control); //Create a rectangle the same size as the bitmap. rectBounds = new Rectangle(0, 0, m_objDrawingSurface.Width,m_objDrawingSurface.Height); //Reduce the rectangle slightly so the ellipse won't appear on the border. rectBounds.Inflate(-1, -1); // Draw an ellipse that fills the form. objGraphics.DrawEllipse(Pens.Orange, rectBounds); // Free up resources. objGraphics.Dispose(); } </pre> Your procedure should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig06 Figure 10.6]. <center>Figure 10.6. Again, verify that your code is entered correctly. [[Image:10fig06.jpg|500px|graphics/10fig06.jpg]] </center> If you run your project now, you'll find that nothing is drawn to the form. This is because the drawing is being done to a bitmap in memory, and you haven't yet added the code to copy the bitmap to the form. The place to do this is in the form's Paint event so that the contents of the bitmap are sent to the form every time the form paints itself. This ensures that the items you draw always appear on the form. Create an event handler for the form's Paint event by first returning to the form designer and selecting the form. Click the Event icon (the lightning bolt) in the Properties window and then double-click Paint to create a Paint event. Add the following code to the Paint event: <pre>Graphics objGraphics ; //You can't modify e.Graphics directly. objGraphics = e.Graphics; // Draw the contents of the bitmap on the form. objGraphics.DrawImage(m_objDrawingSurface, 0,0, m_objDrawingSurface.Width, m_objDrawingSurface.Height); objGraphics.Dispose(); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The previous code can be rewritten as follows when utilizing the <tt>using</tt> statement mentioned earlier in this chapter; notice how the Dispose() method is not required anymore. <pre>using (Graphics objGraphics = e.Graphics)<br />{<br />objGraphics.DrawImage(m_objDrawingSurface,0,0, m_objDrawingSurface.Width<br />m_objDrawingSurface.Height);<br />}<br /></pre> |} The e parameter of the Paint event has a property that references the Graphics object of the form. However, you can't modify the Graphics object using the e parameter (it's read-only), which is why you've created a new Graphics object to work with and then set the object to reference the form's Graphics object. The method DrawImage() draws the image in a bitmap to the surface of a Graphics object, so the last statement is simply sending the contents of the bitmap to the form. If you run the project now, you'll find that the ellipse appears on the form. Furthermore, you can cover the form with another window or even minimize it, and the ellipse will always appear on the form when it's displayed again. The last thing you're going to do is write code that draws the contents entered into the text box on the form. The text will be drawn with a random size and location. Return to the form designer and double-click the button to access its <tt>Click</tt> event. Add the following code: <pre>Graphics objGraphics; Font objFont; int intFontSize, intTextX, intTextY; Random randomGenerator = new Random(); // If no text has been entered, get out. if (txtInput.Text == "") return; // Create a graphics object using the memory bitmap. objGraphics = Graphics.FromImage(m_objDrawingSurface); // Create a random number for the font size. Keep it between 8 and 48. intFontSize = randomGenerator.Next(8,48); // Create a random number for the X coordinate of the text. intTextX = randomGenerator.Next(0,this.ClientRectangle.Width); // Create a random number for the Y coordinate of the text. intTextY = randomGenerator.Next(0,this.ClientRectangle.Height); // Create a new font object. objFont = new System.Drawing.Font("Arial", intFontSize, FontStyle.Bold); // Draw the user's text. objGraphics.DrawString(txtInput.Text, objFont, System.Drawing.Brushes.Red, intTextX, intTextY); // Clean up. objGraphics.Dispose(); // Force the form to paint itself. This triggers the Paint event. this.Invalidate(); </pre> The comments I've included should make the code fairly self-explanatory. However, the last statement bears discussing. The Invalidate() method of a form invalidates the client rectangle. This operation tells Windows that the appearance of the form is no longer accurate and that the form needs to be repainted. This, in turn, triggers the Paint event of the form. Because the Paint event contains the code that copies the contents of the memory bitmap to the form, invalidating the form causes the text to appear. If you don't call Invalidate() here, the text won't appear on the form (but it is still drawn on the memory bitmap). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you draw elements that are based on the size of the form, you'll need to call <tt>Invalidate()</tt> in the Resize event of the form; resizing a form doesn't trigger the form's Paint event. |} The last thing you need to do is make sure you free up the resources used by your module-level <tt>Graphics</tt> object. Using the Properties window, add an event handler for the Closed event of the form now and enter the following statement: <pre>m_objDrawingSurface.Dispose(); </pre> Your project is now complete! Click Save All on the toolbar to save your work, and then press F5 to run the project. You'll notice immediately that the ellipse is drawn on the form. Type something into the text box and click the button. Click it again. Each time you click the button, the text is drawn on the form using the same brush, but with a different size and location (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#ch10fig07 Figure 10.7]). <center> </center>Summary You won't need to add drawing capabilities to every project you create. However, when you need the capabilities, you need the capabilities. In this hour, you learned the basic skills for drawing to a graphics surface, which can be a form, control, memory bitmap, or one of many other types of surfaces. You learned that all drawing is done using a Graphics object, and you now know how to create a Graphics object for a form or control and even how to create a Graphics object for a bitmap that exists in memory. Most drawing methods require a pen and a rectangle, and you can now create rectangles and pens using the techniques you learned in this hour. After learning pens and rectangles, you've found that the drawing methods themselves are pretty easy to use. Even drawing text is a pretty easy process when you've got a Graphics object to work with. Persisting graphics on a form can be a bit complicated, and I suspect this will confuse a lot of new C# programmers who try to figure it out on their own. However, you've now built an example that persists graphics on a form, and you'll be able to leverage the techniques involved when you have to do this in your own projects. I don't expect you to be able to sit down for an hour and create an Adobe Photoshop knock-off. However, you now have a solid foundation on which to build. If you're going to attempt a project that performs a lot of drawing, you'll want to dig deeper into the Graphics object. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#qad1e35180 Q1:]''' | What if I need to draw a lot of lines, one starting where another ends? Do I need to call DrawLine() for each line? |- | align="right" | ''' A1: ''' | The Graphics object has a method called DrawLines(), which accepts a series of points. The method draws lines connecting the sequence of points. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/10.htm#qad1e35199 Q2:]''' | Is there a way to fill a shape? |- | align="right" | ''' A2: ''' | The Graphics object includes methods that draw filled shapes, such as FillEllipse() and FillRectangle(). |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans01 1:]''' | What object is used to draw to a surface? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans02 2:]''' | To set a Graphics object to draw to a form directly, you call what method of the form? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans03 3:]''' | What object defines the characteristics of a line? A fill pattern? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans04 4:]''' | How do you make a color property adjust with the user's Windows settings? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans05 5:]''' | What object is used to define the bounds of a shape to be drawn? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans06 6:]''' | What method do you call to draw an irregular ellipse? A circle? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans07 7:]''' | What method do you call to print text on a Graphics surface? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec10.htm#ch10ans08 8:]''' | To ensure that graphics persist on a form, the graphics must be drawn on the form in what event? |} Exercises # Modify the example in this hour to use a font other than Arial. If you're not sure what fonts are installed on your computer, open the Start menu and choose Settings and then Control Panel. You'll have an option on the Control Panel for viewing your system fonts. # Create a project that draws an ellipse that fills the form, much like the one you created in this hour. However, draw the ellipse directly to the form in the Paint event. Make sure that the ellipse is redrawn when the form is sized. (Hint: Invalidate the form in the form's Resize event.) lsxtsmhe6do37pppkx8h4mu2a1dnqq5 User:Foxall/11 2 2146 5607 2007-06-18T00:42:48Z Foxall 27 Bog cusub: == Hour 11. Creating and Calling Methods == You've now spent about 11 hours building the basic skills necessary to navigate C# and to create an application interface. Creating a good int... 5607 wikitext text/x-wiki == Hour 11. Creating and Calling Methods == You've now spent about 11 hours building the basic skills necessary to navigate C# and to create an application interface. Creating a good interface is extremely important, but it's only one step toward creating a Windows program. After you've created the basic interface of an application, you need to enable the program to do something. The program may perform an action all on its own, or it may perform actions based on a user interacting with the interface�either way, to make your application perform tasks, you write C# code. In this hour, you'll learn how to create sets of code (called classes), and how to create and call isolated code routines (called methods). The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec1.htm#ch11lev1sec1 Creating static class members] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec2.htm#ch11lev1sec2 Creating methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec4.htm#ch11lev1sec4 Calling methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec5.htm#ch11lev1sec5 Exiting methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec4.htm#ch11lev2sec3 Passing parameters] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec4.htm#ch11lev2sec4 Avoiding recursive methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11lev1sec6.htm#ch11lev1sec6 Working with tasks] ---- === Creating Class Members === {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | A class is a place to store the code you write. Before you can begin writing C# code, you must start with a class. As mentioned in previous hours, a class is used as a template to create an object (which may have properties and/or methods). Properties and methods of classes can be either instance members or static members. Instance members are associated with an instance of a class�an object created from a class using the keyword new. On the other hand, static members belong to the class as a whole, not to a specific instance of a class. You've already worked with one class using instance members to create a form (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05.htm#ch05 Hour 5], "Building Forms�Part I, for more information).When you double-click an object on a form, you access events that reside in the form's class module. |} Other languages, such as Visual Basic, differentiate between class methods and public methods that are globally available outside of a class. C# requires all methods to exist in the context of a class, but a globally available method can be achieved by defining static methods in your class. Static methods are always available regardless of whether an instance of the class exists. In fact, you can't access a static member through an instance of a class, and attempting to do so results in an exception (error). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Classes are used as templates for the instantiation of objects. I discuss the specifics of creating objects in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects Using Classes." Most of the techniques discussed in this hour apply to class modules with instance members (methods that are part of an instantiated object), but I'm going to focus this discussion on static members because they are easier to use (you can create and use static methods without getting into the complications of creating objects). |} Although you could place all your program's code into a single class module, it's best to create different modules to group different sets of code. In addition, it's best not to place code that isn't specifically related to a form within a form's class module; place such code in the logical class or in a specialized class module. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The current development trend centers on object-oriented programming, which revolves around class modules. I'll give you a primer on object-oriented programming in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], but this is a very advanced topic so I won't be covering it in detail. I highly recommend that you read a dedicated object-oriented book, such as ''''''Sams Teach Yourself Object-Oriented Programming in 21 Days'', after you are comfortable with the material in this book. |} One general rule for using static members is that you should create classes to group related sets of code. This isn't to say you should create dozens of classes. Rather, group related methods into a reasonably sized set of classes. For instance, you might want to create one class that contains all your printing routines and another that holds your data-access routines. In addition, I like to create a general-purpose class in which to place all the various routines that don't necessarily fit into a more specialized class. Start C# now and create a new Windows Application project named Static Methods. Change the name of the default form to fclsExample, set its Text property to Method Example, and set the Main() entry point of the project to reference fclsExample instead of Form1. Change the Size property of the form to 371, 300. Next, add a new class to the project by choosing Add Class from the Project menu. C# then displays the Add New Item dialog box, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig01 Figure 11.1]. <center>Figure 11.1. All new project items are added using this dialog box. [[Image:11fig01.jpg|500px|graphics/11fig01.jpg]] </center> Note that this is the same dialog box used to add new forms. Change the name of the class to clsStaticExample.cs and click Open. C# then creates the new class and positions you in the code window�ready to enter code (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig02 Figure 11.2]). <center>Figure 11.2. Classes have no graphical interface, so you always work with them in the code editor. [[Image:11fig02.jpg|500px|graphics/11fig02.jpg]] </center> Save your project now by clicking Save All on the toolbar. Writing Methods {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | After you've created the class(es) in which to store your code, you can begin writing methods. A method is a discrete set of code that can be executed. Methods are much like events, but rather than being executed by a user interacting with a form or control, methods are executed when called by a code statement. |} The first thing to keep in mind is that every method should perform a specific function, and it should do it very well. You should avoid creating methods that perform many tasks. As an example of the use of methods, consider that you want to create a set of code that, when called, draws an ellipse on a form. You also want a second method to clear the form. If you placed both sets of code into the same method, the ellipse would be drawn and then would immediately be erased. By placing each set of code in its own method, you can draw the ellipse by calling one method and then erase it at any time by calling the other method. By placing these routines in a class rather than attaching them to a specific form, you also make the methods available to any form that may need them. There are two types of methods in C#: * Methods that return a value * Methods that do not return a value (void) There are many reasons to create a method that returns a value. For example, a method can return true or false, depending on whether it was successful in completing its task. You could also write a method that accepts certain parameters (data passed to the method, in contrast to data returned by the method) and returns a value based on those parameters. For example, you could write a method that lets you pass it a sentence, and in return it passes back the number of characters in the sentence. The possibilities are limited only by your imagination. Just keep in mind that a method doesn't have to return a value. Declaring Methods That Don't Return Values Because you've already created a class, you're ready to create methods (to create a method, you first declare it within a class). Position the cursor to the right of the closed brace (<tt>}</tt>) that signifies the end of the public clsStaticExample block and press Enter to create a new line. Enter the following three statements: <pre>public static void DrawEllipse(System.Windows.Forms.Form frm) { } </pre> Next, position your cursor to the right of the open brace (<tt>{</tt>) and press Enter to create a new line between the two braces. This is where you'll place the code for the method. The declaration of a method (the statement used to define a method) has a number of parts. The first word, public, is a keyword (a word with a special meaning in C#). The keyword public defines the scope of this method, designating that the method can be called from code contained in modules other than the one containing the defined method (scope is discussed in detail in the next hour). You can use the keyword private in place of public to restrict access of the method to code only in the module in which the method resides. The word static is another C# keyword. As mentioned earlier, static members belong to a class as a whole, not to a specific instance of a class. This will allow the DrawEllipse() method to be accessed from other classes without having to instantiate an clsStaticExample object. The word void is another C# keyword. The void keyword is used to declare a method that doesn't return a value. Later in this hour, you will learn how to create methods that do return values. The third word, DrawEllipse, is the actual name of the method and can be any string of text you want it to be. Note, however, that you can't assign a name that is a keyword, nor can you use spaces within a name. In this example, the method is going to draw an ellipse on the form, so you used the name DrawEllipse. You should always give method names that reflect their purpose. You can have two methods with the same name only if they have different scope (discussed in the next hour). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Some programmers prefer the readability of spaces in names, but in many instances, such as when naming a method, spaces can't be used. A common technique is to use an underscore (_) in place of a space, such as in Draw_Ellipse. This isn't a recommended practice, however. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Immediately following the name of the method is a set of parentheses surrounding some text. Within these parentheses you can define parameters�data to be passed to the method by the calling program. In this example, you've created a parameter that accepts a reference to a form. The routine will draw an ellipse on whatever form is passed to the parameter. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Parentheses must always be supplied, even when a procedure doesn't accept any parameters (in which case nothing is placed between the parentheses). |} Add the following code to your DrawEllipse method: <pre>System.Drawing.Graphics objGraphics; System.Drawing.Rectangle recDrawRectangle; recDrawRectangle = frm.DisplayRectangle; recDrawRectangle.Inflate(-5, -5); objGraphics = frm.CreateGraphics(); objGraphics.Clear(System.Drawing.SystemColors.Control); objGraphics.DrawEllipse(System.Drawing.Pens.Blue, recDrawRectangle); objGraphics.Dispose(); </pre> Much of this code is similar to a code example discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Understanding Objects and Collections," so I'm not going to go over it in detail. Basically, this routine creates a rectangle with the same dimensions as the client rectangle of the supplied form. Then, the Inflate method is used to reduce the size of the rectangle by 5 pixels in each dimension. Finally, a graphics object is created and set to reference the client area of the supplied form, and a rectangle is drawn within the boundaries of the rectangle. When you've finished entering your code, it should look like that in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig03 Figure 11.3]. <center>Figure 11.3. All code for a method must reside between the open and close braces of the method. [[Image:11fig03.jpg|500px|graphics/11fig03.jpg]] </center> Now you're going to create a procedure that erases the ellipse from a form. Place the caret (cursor) at the end of the closing brace (} ) for the DrawEllipse() method and press enter to create a new line. Enter the following three statements: <pre>public static void ClearEllipse(System.Windows.Forms.Form frm) { } </pre> Add the following line of code to the ClearEllipse() method on a new line between the opening and closing braces: <pre>frm.Refresh(); </pre> This single line of code forces the designated form to refresh itself. Because the ellipse that was drawn by the first procedure isn't part of the form (it was simply drawn onto the form), the ellipse is cleared. Declaring Methods That Return Values {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The two methods you've created so far don't return values. You're now going to declare a method that returns a value. Here's the general syntax for the method you will create: |} <pre>[modifiers] datatype MethodName(parameters) </pre> You'll notice one key difference between declaring a method that doesn't return a value and declaring one that does: you have to define the data type of the value returned. Previously, you used the keyword void to declare that no value was being returned. Data types are discussed in detail in the next hour, so it's not important that you fully understand them now. It is important, however, that you understand what is happening. The data type entered before the method name denotes the type of data returned by the method. The method that you're about to enter returns a numeric value of type integer. If the method were to return a string of text, it would be declared as string. It is very important that you declare the proper data type for your functions. Position the cursor to the right of the closing brace for the ClearEllipse() method, press Enter to create a new line, and enter the following three statements: <pre>public static int ComputeLength(string strText) { } </pre> Add the following code to a new line between the two braces: <pre>return strText.Length; </pre> When you create a method that returns a value, you use the C# keyword return to return whatever value you want the method to return. In this example, you're using the built-in Length() method of the string class to determine the number of characters within the string that's passed to the method. This value is returned as the value of the method. (You could, of course, avoid writing the function altogether and just use the String.Length() method in the calling code, but this makes a good example.) Your methods should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig04 Figure 11.4]. <center>Figure 11.4. Classes often contain many methods. [[Image:11fig04.jpg|500px|graphics/11fig04.jpg]] </center> Creating the User Interface of Your Project Now that you've written this example's procedures, you need to create the interface for the project. Click the Form1.cs [Design] tab in the IDE to display the form designer for the default form. You'll need three buttons on this form�one to call each of your methods. Add the first button to the form by double-clicking the Button icon in the toolbox and then set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | Name | btnDrawEllipse |- | Location | 0,0 |- | Size | 80,23 |- | Text | Draw Ellipse |} Add a second button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | Name | btnClearEllipse |- | Location | 283,0 |- | Size | 80,23 |- | Text | Clear Ellipse |} Finally, add the third button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | Name | btnComputeLength |- | Location | 0,250 |- | Size | 100,23 |- | Text | Compute Length |} The last control you need to add to your form is a text box. When the user clicks the Compute Length button, the button's Click event will call the ComputeLength function, passing it the text entered into the text box. It will then display the length of the text in the Output window (this works only when running in the IDE, not when compiled as an application). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Output window is a Visual Studio design window to which you can print text. I use the Output window a lot in examples throughout the remaining hours. When you send text to the Output window, Visual Studio ensures that the Output window is visible. You can display it at any time while working in the IDE by choosing Other Windows from the View menu and then selecting Output. Be aware that the Output window is not available to a compiled component. |} Add a text box to the form by double-clicking the Textbox icon in the toolbox. Set the new text box's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | Name | txtInputForLength |- | Location | 110,250 |- | Text | (make blank) |} Your form should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig05 Figure 11.5]. You're now ready to write the C# code to call your methods. <center>Figure 11.5. This form is not all that attractive, but it's functional enough for our purposes. [[Image:11fig05.jpg|500px|graphics/11fig05.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Calling Methods Calling a method is fairly simple. However, just as methods that return values are declared differently from methods that do not, calling these two types of methods differs as well. You're first going to write code to call the two methods you declared as void (methods that don't return values). Double-click the Draw Ellipse button to access its Click event and take a look at the event declaration: <pre>private void btnDrawEllipse_Click(object sender, System.EventArgs e) { } </pre> As you can see, event handlers are methods. The only real difference is that event methods are called automatically in response to the user doing something, rather than being called by code you write. In this case, the btnDrawEllipse_Click() event is called when the user clicks the btnDrawEllipse button. This method is declared as private, so only methods within this module could call this method (yes, you can call event methods). Add the following statement to this Click event: <pre>clsStaticExample.DrawEllipse(this); </pre> To call the DrawEllipse method, you must precede it with the name of the class in which it is defined. The method name and parentheses always come next. If the method expects one or more parameters, place them within the parentheses. In this case, the DrawEllipse() procedure expects a reference to a form. By specifying the keyword this, you're passing a reference to the current form. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | When you type in the class name <tt>clsStaticExample</tt> followed by a period, C# displays the methods defined for the <tt>clsStaticExample</tt> class. Also, notice that when you type in the left parenthesis for the <tt>DrawEllipse()</tt> <tt>method</tt> , C# displays a ToolTip showing the parameters expected by the method (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig06 Figure 11.6]). It can be difficult to remember the parameters expected by all methods (not to mention the proper order in which to pass them), so this little feature will save you a great deal of time and frustration. |} <center>Figure 11.6. C# displays the parameters expected of a method. [[Image:11fig06.jpg|500px|graphics/11fig06.jpg]] </center> You're now going to place a call to the ClearEllipse() method in the Click event of the Clear Ellipse button. Display the form in Design view again and double-click the Clear Ellipse button to access its Click event. Add the following statement: <pre>clsStaticExample.ClearEllipse(this); </pre> All that's left to do is add code that computes the length of the string entered by the user. Again, display the form in Design view. Double-click the Compute Length button to access its Click event and enter the following statements (recall from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7], "Working with Traditional Controls," that Debug.WriteLine() sends text to the Output window.): <pre>int intLength; intLength = clsStaticExample.ComputeLength(txtInputForLength.Text); System.Diagnostics.Debug.WriteLine("length = " + intLength); </pre> The first line creates a new variable to hold the return value of the ComputeLength() method (the next hour covers variables). The second statement calls the ComputeLength() method. When calling a method that returns a value, think of the method in terms of the value it returns. For example, when you set a form's Height property, you set it with code like this: <pre>MyForm.Height = 200; </pre> This statement sets a form's height to 200. Suppose you had a method that returned a value that you wanted to use to set the form's Height property. Thinking of the method in terms of the value it returns, you could replace the literal value with a method call, as in the following: <pre>MyForm.Height = MyClass.MyMethod(); </pre> Try to look at the statement you just entered using this way of thinking. When you do, you see that the statement in this example really says, "Set the variable intLength equal to the value returned by the method ComputeLength()." If ComputeLength() returned the value 20, for example, the line of code would behave as though it were written like this: <pre>intLength = 20; </pre> When calling methods, you must treat the method call the same as you would treat the literal value returned by the method. This often means placing a method call on the right side of an equal sign. The last line of code you entered outputs the result of the method call to the Output window in the IDE (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7]). The text "length =" and the value of intLength are concatenated (joined together), to produce one string of text that gets displayed. You'll learn about concatenation in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13.htm#ch13 Hour 13], "Performing Arithmetic, String Manipulation, and Date/Time Adjustments." The project is now complete. Click Save All on the toolbar to save your work, and then press F5 to run the project. Click the Draw Ellipse button and an ellipse is drawn on the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig07 Figure 11.7]). <center>Figure 11.7. Clicking the button calls the method that draws the ellipse in the house that Jack built. [[Image:11fig07.jpg|372px|graphics/11fig07.jpg]] </center> Here's what is happening when you click the Draw Ellipse button: # The Draw Ellipse button's Click event is triggered. # The method call statement within the Click event is executed. # Code execution jumps to the DrawEllipse() method. # All code within the DrawEllipse() method gets executed. # Execution returns to the Click event. Click the Clear Ellipse button now to clear the form. When you click this button, the following occurs: # The Clear Ellipse button's Click event is triggered. # The method call statement within the Click event is executed. # Code execution jumps to the ClearEllipse() method. # All code within the ClearEllipse() method gets executed. # Execution returns to the Click event. Finally, enter some text into the text box and click the Compute Length button. Here's what happens: # The Compute Length button's Click event is triggered. # The reference to the ComputeLength method causes code execution to jump to that method. # The ComputeLength() method determines the length of the string. This value is passed back as the result of the method. # Execution returns to the Click event. # The result of the method is placed in the variable intLength. # The rest of the code within the Click event executes. The final result is the length of the string, which is printed in the Output window (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig08 Figure 11.8]). <center>Figure 11.8. <tt>System.Diagnostics.Debug.WriteLine</tt> sends text to the Output window. [[Image:11fig08.jpg|500px|graphics/11fig08.jpg]] </center> Passing Parameters Parameters are used within a method to allow the calling code to pass data into the method; methods help eliminate module and global variables. You've already seen how parameters work�parameters are created within the parentheses of a method declaration. A parameter definition consists of the data type and a name for the parameter, as shown here: <pre>public static void MyMethod(string strMyStringParameter) </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | After you've read about variables in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays," this structure will make a lot more sense. Here, I just want you to get the general idea of how to define and use parameters. |} You can define multiple parameters for a method by separating them with a comma, like this: <pre>public static void MyMethod(string strMyStringParameter, int intMyIntegerParameter) </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | A calling method passes data to the parameters by way of arguments. This is mostly a semantic issue; when defined in the declaration of a method, the item is called a parameter. When the item is part of the statement that calls the method, it's called an argument. Arguments are passed within parentheses�the same as parameters are defined. If a procedure has multiple arguments, you separate them with commas. For example, you could pass values to the method just defined using a statement such as this: |} <pre>MyClass.MyProcedure("This is a string", 11); </pre> The parameter acts like an ordinary variable within the method. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12] discusses variables in depth. For now, just realize that variables are storage entities whose values can be changed. In the call statement shown previously, I sent literal values to the procedure. I could have also sent the values of variables like this: <pre>MyClass.MyProcedure(strAString, intAnInteger); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | An important thing to note about passing variables in C# is that parameters are passed by value rather than by reference. When passed by value, the method receives a copy of the data; changes to the parameter don't affect the value of the original variable. When passed by reference, the parameter is actually a pointer to the original variable. Changes made to the parameter within the method propagate to the original variable. To pass a parameter by reference, you preface the parameter definition with the keyword ref as shown here: |} <pre>public static void MyMethod(ref string strMyStringParameter, int intMyIntegerParameter) </pre> Parameters defined without ref are passed by value; this is the default behavior of parameters in C#. Therefore, in this declaration, the first parameter is passed by reference, whereas the second parameter is passed by value. Avoiding Recursive Methods It's possible to call methods in such a way that a continuous loop occurs. Consider the following procedures: <pre>public static void DoSomething() { DoSomethingElse(); } public static void DoSomethingElse() { DoSomething(); } </pre> Calling either of these methods produces an infinite loop of methods calls and results in the error shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig09 Figure 11.9]. <center> </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | This endless loop is known as a recursive loop. Without getting too technical, C# allocates some memory for each method call in an area known as the stack. Only a finite amount of space is on the stack, so infinite recursion eventually uses all the available stack space and an exception occurs. This is a serious error, and steps should be taken to avoid such recursion. |} Legitimate uses exist for recursion, most notably in the use of algorithms such as those used in calculus. Deliberate recursion techniques don't create infinite recursion, however. There is always a point where the recursion stops (hopefully, before the stack is consumed). If you have an interest in such algorithms, you should consider reading a book dedicated to the subject. Exiting Methods Ordinarily, code within a method executes from beginning to end�literally. However, when a return statement is reached, execution immediately returns to the statement that made the method call; you can force execution to leave the method at any time by using a return statement. If C# encounters a return statement, the method terminates immediately, and code returns to the statement that called the method. As you build your applications, you'll find that the number of methods and classes expands rather quickly. At times, you'll realize that a method isn't finished or that you had to use a "hack" (a less-desirable solution) to solve a problem. You'll need an easy way to keep these things straight so that you can revisit the code as needed. You'll learn a powerful way to do this in the next section. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Working with Tasks One of the most exciting IDE enhancements from previous versions of Visual Studio, in my opinion, is the new Task List. Tasks are really all about managing code. If your Task List window isn't displayed, show it now by choosing Show Tasks from the View menu and then choosing All. Tasks are used to keep track of critical spots in code or things that need to be done. C# automatically creates some tasks for you, and you can create your own as needed. One instance in which C.htm# creates tasks is when your code has compile (build) errors. Because C# knows the exact error and the offending statement, it creates an appropriate task. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig10 Figure 11.10] shows the Task List containing a build error. Notice how the task's description tells you the exact problem. Double-clicking a system-generated task takes you directly to the related statement (double-clicking a task that you created has a different effect, as discussed shortly). If the task exists in a class that isn't loaded, C# loads the class and then takes you to the statement. This greatly simplifies the process of addressing compile errors in code; you can simply work through the list of tasks rather than compile, fix an error, try compiling again, fix the next error, and so on. <center>Figure 11.10. Tasks help you keep track of critical spots in code. [[Image:11fig10.jpg|500px|graphics/11fig10.jpg]] </center> In addition to system-generated tasks, you can create your own tasks as often and wherever needed. In the past, it was common to place certain comments such as "TODO" in code where you needed to address something. These comments often were forgotten. When you wanted to address the issues, you had to perform a text search in your code. This was a highly inefficient process. Now you can create a task wherever you need to. Creating a task is easy. Right-click the code statement to which you want to attach the task and choose Add Task List Shortcut from the context menu. C# creates a task shortcut at the statement (as indicated by a blue arrow in the left margin of the code window) and adds the task to the Task List window. The default description for the next task is the actual code statement you flagged (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#ch11fig11 Figure 11.11]). To change this text, click the description in the Task List to put it in Edit mode and then change the text. To go directly to the statement to which a task is attached, double-click the shortcut arrow next to the task in the Task List (the arrow is the same one that appears in the left margin of the code window). <center>Figure 11.11. Tasks make it easy to track issues that need to be addressed. [[Image:11fig11.jpg|500px|graphics/11fig11.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Another way to create a task is to insert a comment that literally starts with TODO:�Visual Studio .NET will then automatically create a task using the comment. |} You don't have to attach a task to a code statement. To create a task that isn't attached to code, click the first row of the Task List. The default text <tt>Click here to add a new task</tt> goes away, and you're free to enter the description for your new task. To delete a task you created, click once on the task in the Task List to select it, and then right-click the task and choose Delete from the context menu. You can't delete a task that was created by C# as a result of a build error�you must correct the error to make the task go away. Tasks are an incredibly simple, yet useful, tool. I highly encourage you to use them in your development. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary In this hour, you learned how a method is a discrete set of code designed to perform a task or related set of tasks. Methods are where you write C# code. Some methods may be as short as a single line of code, whereas others are pages in length. You learned how to define methods and how to call them. Creating and calling methods is critical to your success in programming with C#; be sure to avoid creating recursive methods! Because you use methods so often, they'll become second nature to you in no time. Classes are used to group methods. In this hour, I focused on the class module (which is little more than a container for methods) and static methods. Remember to group related methods in the same class and to give each class a descriptive name. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], you'll build on your experience with classes and methods and work with instance classes. Finally, you learned about Visual Studio's new Task List feature. You now know that C# creates some tasks for you but that you are free to create tasks as you see fit. You learned how to easily jump to a statement that's related to a task and how to create tasks that aren't related to a specific code statement. The Task List is a powerful tool to have in your arsenal, and I encourage you to use it. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#qad1e37796 Q1:]''' | Do I need to pay much attention to scope when defining my methods? |- | align="right" | ''' A1: ''' | It may be tempting to create all your methods as public static, but this is bad coding practice for a number of reasons. For one thing, you will find that in larger projects, you'll have methods with the same name that do slightly different things. Usually, these routines are relevant only within a small scope. If the method isn't needed at the public level, don't define it for public access. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/11.htm#qad1e37824 Q2:]''' | How many classes is a "reasonable" amount? |- | align="right" | ''' A2: ''' | This is hard to say. There really is no right answer. Instead of worrying about an exact count, you should strive to make sure that your classes are logical and that they contain only appropriate methods and properties. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans01 1:]''' | What are the entities called that are used to house methods? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans02 2:]''' | True or False: To access methods in a class module, you must first create an object. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans03 3:]''' | Data that has been passed into a method by a calling statement is called a |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans04 4:]''' | To pass multiple arguments to a method, separate them with a |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans05 5:]''' | The situation in which a method or set of methods continue to call each other in a looping fashion is called |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec11.htm#ch11ans06 6:]''' | How do you attach a task to a code statement? |} Exercises # Create a method as part of a form that accepts a string and outputs to the string. Add code to the TextChanged event of a text box to call the procedure, passing the contents of the text box as the argument. # Create a single method that calls itself. Call this method from the Click event of a button and observe the error that results. rzmasbjpsg2k7rkpgz5kir92g8b36yr User:Foxall/12 2 2147 5608 2007-06-18T00:44:11Z Foxall 27 Bog cusub: == Hour 12. Using Constants, Data Types, Variables, and Arrays == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As you write your C#... 5608 wikitext text/x-wiki == Hour 12. Using Constants, Data Types, Variables, and Arrays == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As you write your C# methods, you'll regularly need to store and retrieve various pieces of information. In fact, I can't think of a single application I've written that didn't need to store and retrieve data in code. For example, you might want to keep track of how many times a method has been called, or you may want to store a property value and use it at a later time. Such data can be stored as constants, variables, or arrays. Constants are named values that you define once at design time but that can be referenced as often as needed. Variables, on the other hand, are like storage bins; you can retrieve or replace the data in a variable as often as you need to. Arrays act like grouped variables, allowing you to store many values in a single array variable. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Whenever you define one of these storage entities, you must decide the type of data it will contain. For example, is a new variable going to hold a string value (text) or perhaps a number? If it will hold a number, is the number a whole number, an integer, or something else entirely? After you determine the type of data to store, you must choose the level of visibility that the data has to other methods within the project (this visibility is known as scope). In this hour, you'll learn the ins and outs of C# new data types, how to create and use these "storage" mechanisms, and you'll learn how to minimize problems in your code by reducing scope. |} The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec1.htm#ch12lev1sec1 Understanding data types] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec1.htm#ch12lev2sec1 Determining data type] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec1.htm#ch12lev2sec1 Converting data to different data types] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec2.htm#ch12lev1sec2 Defining and using constants] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec3.htm#ch12lev1sec3 Dimensioning and referencing variables] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec3.htm#ch12lev2sec6 Working with arrays] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec4.htm#ch12lev1sec4 Determining scope] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec5.htm#ch12lev1sec5 Using a naming convention] {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I cover a lot of important material in this hour, but you'll notice a lack of hands-on examples. You're going to use variables throughout the rest of this book, and you've already used them in earlier hours. I've used the space in this hour to teach you the meat of the subject; you'll get experience with the material in other hours. |} ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Understanding Data Types In any programming language, it's critical that the compiler, the part of the Visual Studio framework that interprets the code you write into a language the computer can understand, fully understands the type of data you're manipulating in code. For example, if you asked the compiler to add the following values, it would get confused: <pre>659 / "Dog" </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | When the compiler gets confused, it either refuses to compile the code (which is the preferred situation because you can address the problem before your users run the application), or it will halt execution and display an exception (error) when it reaches the confusing line of code. (These two types of errors are discussed in detail in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch16.htm#ch16 Hour 16], "Debugging Your Code.") Obviously, you can't subtract 659 by the word "Dog"; these two values are different types of data. In C#, these two values are said to have two different data types. In C#, constants, variables, and arrays must always be defined to hold a specific type of information. |} Determining Data Type {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Data typing�the act of defining a constant, a variable, or an array's data type�can be confusing. To C#, a number is not a number. A number that contains a decimal value is different from a number that does not. C# can perform arithmetic on numbers of different data types, but you can't store data of one type in a variable with an incompatible type. Because of this limitation, you must give careful consideration to the type of data you plan to store in a constant, a variable, or an array at the time you define it. C# supports two categories of data types: value types and reference types. The main difference between these two types is how their values are stored in memory. As you continue to create more complex applications, this difference may have an impact on your programming. For this book, however, this distinction is minimal. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12table01 Table 12.1] lists the C# data types and the range of values they can contain. |} {| cellspacing="0" cellpadding="1" border="1"|+ Table 12.1. The C# Data Types |- | valign="middle" | Data Type�Value | valign="middle" | Value Range |- | bool | true or false |- | byte | 0 to 255 |- | char | a single character |- | decimal | �79,228,162,514,264,337,593,543,950,335 to �7.9228162514264337593543950335. Use this data type for currency values |- | double | �1.79769313486232E308 to �4.94065645841247E-324 for negative values; 4.94065645841247E�324 to 1.79769313486232E308 for positive values |- | float | �3.402823E38 to �1.401298E�45 for negative values; 1.401298E�45 to 3.402823E38 for positive values |- | int | �2,147,483,648 to 2,147,483,647. |- | long | �9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |- | sbyte | �128 to 127 |- | short | �32,768 to 32,767 |- | uint | Integers in the range from 0 to 4,294,967,295 |- | ulong | Integers in the range from 0 to 10^20 |- | ushort | Integers in the range from 0 to 65,535 |} {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Data Type�Reference | valign="middle" | Value Range |- | string | 0 to approximately 2 billion characters |- | object | Any type can be stored in a variable type Object |} C# supports unsigned data types for short, int, and long (the types prefaces with u, such as uint). Because negative numbers are excluded (there is no sign) this has the effect of doubling the positive values for a short, an int, or a long. Signed data types are preferable and should be used unless you have a very good reason for doing otherwise (such as declaring a variable that will never hold a negative value). ==== Tips for Determining Data Type ==== The list of data types may seem daunting at first, but you can follow some general guidelines for choosing among them. As you become more familiar with the different types, you'll be able to fine-tune your data type selection. Following are some helpful guidelines for using data types: * If you want to store text, use the string data type. The string data type can be used to store any valid keyboard character, including numbers and nonalphabetic characters. * If you want to store only the values true or false, use the bool data type. * If you want to store a number that contains no decimal places and is greater than �32,768 and smaller than 32,767, use the short data type. * If you need to store numbers with no decimal places but with values larger or smaller than short allows, use the int or long data types. * If you need to store numbers that contain decimal places, use the float data type. The float data type should work for almost all your values containing decimals, unless you're writing incredibly complex mathematical applications or need to store very large numbers; in that case, use a double. * If you need to store currency amounts, use the decimal data type. * If you need to store a single character, use the char data type. Casting Data from One Data Type to Another {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Under some circumstances, C# won't allow you to move data of one type into a variable of another type. The process of changing a value's data type is known as casting. C# supports two types of casting: implicit and explicit. Implicit conversions are done automatically by the compiler. These conversions guarantee that no data is lost in the conversion. For instance, you can set the value of a variable declared as double to the value of a variable declared as float without an explicit cast because there is no risk of losing data; (the double data type holds a higher value than does a float. |} Explicit casting is required when a potential exists for data loss or when converting a larger data type into a smaller data type. If you tried to place a value in a variable when the value was higher than the variable's supported data type, some data would be lost. Therefore, C# requires that these types of conversions be explicitly written using the cast operator. For instance, you can set the value of a variable declared as short to the value of a variable declared as integer using the following syntax: <pre>short MyShortInterger; int MyInteger = 1000; MyShortInterger = (short) MyInteger; </pre> Notice here that 1000 would fit in a short, so data wouldn't actually be lost if no explicit cast were performed. However, C# doesn't care; it's the potential for data loss that causes C# to require explicit casts. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12table02 Table 12.2] lists some of the type conversions that can be done implicitly with no loss of information. {| cellspacing="0" cellpadding="1" border="1"|+ Table 12.2. Safe Conversions |- | Type | Can Be Safely Converted To |- | byte | char, short, int, long, float, double, decimal |- | short | int, long, float, double, decimal |- | int | long, float, double, decimal |- | long | float, double, decimal |- | float | double, decimal |- | double | decimal |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Defining and Using Constants When you hard-code numbers in your code (such as in intVotingAge = 19;), a myriad of things can go wrong. Hard-coded numbers are generally referred to as "magic numbers" because they're often shrouded in mystery; the meaning of such a number is obscure because the digits themselves give no indication as to what the number represents. Constants are used to eliminate the problems of magic numbers. You define a constant as having a specific value at design time, and that value never changes throughout the life of your program. Constants offer the following benefits: * Elimination or reduction of data entry problems It is much easier, for example, to remember to use a constant named c_pi than it is to enter 3.14159265358979 everywhere that pi is needed. The compiler will catch misspelled or undeclared constants, but it doesn't care one bit what you enter as a literal value. (Incidentally, you can retrieve the value of pi using System.Math.PI, so you don't have to worry about creating your own constant!) * Code is easier to update If you hard-coded a mortgage interest rate at 6.785, and rates were changed to 7.00, you would have to change every occurrence of 6.785 in code. In addition to the possibility of data entry problems, you'd run the risk of changing a value of 6.785 that had nothing to do with the interest rate�perhaps a value that represented a savings bond yield. With a constant, you change the value once, and all code uses the new value. * Code is easier to read Magic numbers are often anything but intuitive. Well-named constants, on the other hand, add clarity to code. For example, which of the following statements makes the most sense? <pre>decInterestAmount = ((decLoanAmount * 0.075) * 12); </pre> * or <pre>decInterestAmount = ((decLoanAmount * c_fltInterestRate) * _ c_intMonthsInTerm); </pre> Constant definitions have the following syntax: <pre>const datatype name = value; </pre> For example, to define a constant to hold the value of pi, you could use a statement such as this: <pre>const float c_pi = 3.14159265358979; </pre> Note how I prefix the constant name with c_. I do this so that it's easier to determine what's a variable and what's a constant when reading code. See the section on [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec5.htm#ch12lev1sec5 naming conventions] later in this hour for more information. After a constant is defined, you can use the constant's name anywhere in code in place of the constant's value. For example, to output the result of two times the value of pi, you could use a statement like this (the * character is used for multiplication and is covered in the next hour): <pre>Debug.WriteLine(c_pi * 2); </pre> Using the constant is much easier and less error prone than typing this: <pre>Debug.WriteLine(3.14159265358979 * 2); </pre> Constants can be referenced only in the scope in which they are defined. I discuss scope in the section "[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12lev1sec4.htm#ch12lev1sec4 Determining Scope]." Declaring and Referencing Variables Variables are similar to constants in that when you reference a variable's name in code, C# substitutes the variable's value in place of the variable name when the code executes. This doesn't happen at compile time, however. Instead, it happens at runtime�the moment the variable is referenced. This is because variables, unlike constants, may have their values changed at any time. Declaring Variables {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The act of defining a variable is called declaring. (Variables with scope other than local are dimensioned in a slightly different way, as discussed in the section on scope.) You've already defined variables in previous hours, so the statement should look familiar to you: |} <pre>datatype variablename = initialvalue; </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | It's possible to declare multiple variables of the same type on a single line. However, this is often considered bad form because it tends to make the code harder to read. |} You don't have to specify an initial value for a variable, although being able to do so in the declaration statement is very cool and useful. For example, to create a new string variable and initialize it with a value, you could use two statements, such as the following: <pre>string strName; strName = "Chris Bermejo"; </pre> However, if you know the initial value of the variable at design time, you can include it on the declaration statement, like this: <pre>string strName = "Chris Bermejo"; </pre> Note, however, that supplying an initial value doesn't make this a constant; it's still a variable, and the content of the variable can be changed at any time. This method of creating an initial value eliminates a code statement and makes the code a bit easier to read because you don't have to go looking to see where the variable is initialized. It's important to note that C# is a strongly typed language; therefore, you must always declare the data type of a variable. In addition, C# requires that all variables be initialized before they're used. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Visual Basic programmers should note that C# will not default numeric variables to 0 or strings to empty strings. |} For example, the following statements would result in a compiler error in C#: <tt>Type or namespace "single" could not be found</tt>. <pre>single sngMyValue; Debug.WriteLine(sngMyValue + 2); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You cannot use a reserved word to name a constant or a variable. For instance, you couldn't use public or private as variable names. |} Passing Literal Values to a Variable The syntax of passing a literal value (a hard-coded value such as 6 or "test") to a variable depends on the data type of the variable. For strings, you must pass the value in quotes, like this: <pre>strCollegeName = "Bellevue University"; </pre> There is one caveat when assigning literal values to strings: C# interprets slashes (<tt>\</tt>) as being a special type of escape sequence. If you pass a literal string containing one or more slashes to a variable, you'll get an error. What you have to do in such instances is preface the literal with the symbol <tt>@</tt>, like this: <pre>strFilePath = @"c:\Temp"; </pre> When C# encounters the <tt>@</tt> symbol, it knows not to treat slashes in the string as escape sequences. To pass a literal value to a char variable, use single quotes instead of double quotes, like this: <pre>chaMyCharacter = 'j'; </pre> For numeric values, you don't enclose the value in anything: <pre>IntAnswerToEverything = 42; </pre> Using Variables in Expressions Variables can be used anywhere an expression is expected. The arithmetic functions, for example, operate on expressions. You could add two literal numbers and store the result in a variable like the following: <pre>IntMyVariable = 2 + 5; </pre> You could replace either or both literal numbers with numeric variables or constants, as shown next: <pre>IntMyVariable = intFirstValue + 5; IntMyVariable = 2 + intSecondValue; IntMyVariable = intFirstValue + intSecondValue; </pre> Variables are a fantastic way to store values during code execution, and you'll use variables all the time�from performing decisions and creating loops to using them only as a temporary place to stick a value. Remember to use a constant when you know the value at design time and the value won't change. When you don't know the value ahead of time or the value may change, use a variable with a data type appropriate to the function of the variable. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | In C#, variables are created as objects. Feel free to create a variable and explore the members of the variable. You do this by entering the variable name and pressing a period (this will work only after you've entered the statement that defines the variable). |} Working with Arrays An array is a special type of variable�it's a variable with multiple dimensions. Think of an ordinary variable as a single mail slot. You can retrieve or change the contents of the mail slot by referencing the variable. An array is like having an entire row of mail slots (called elements). You can retrieve and set the contents of any of the individual mail slots at any time by referencing the single array variable. You do this by using an index that points to the appropriate slot. Declaring Arrays Before you can use an array, you must first declare it (the same as you have to declare variables). Consider the following statements: <pre>string[] strMyArray; strMyArray = new string[10]; </pre> The first statement declares strMyArray as an array, and the second statement defines the array as having 10 string elements. The number in brackets specifies how many "mail slots" the array variable will contain, and it can be a literal value, a constant, or the value of another variable. Referencing Array Variables To place a value in an array index, you specify the index number when referencing the variable. Most computer operations consider 0 to be the first value in a series�not 1, as you might expect. This is how array indexing behaves. For example, for an array dimensioned with 10 elements, you would reference the elements sequentially using the indexes 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. Notice that the upper index is one fewer than the total elements because 0 is the first index, not 1. Therefore, to place a value in the first element of the array variable, you would use 0 as the index, like this: <pre>strMyArray[0] = "This value goes in the first element"; </pre> The data type specified for the array variable is used for all the elements in the array. This is where the object data type can come in handy. For example, suppose you wanted to store the following pieces of information in an array: Name, City, State, Age, and DateOfBirth. As you can see, you need to store string values for Name, City, and State, but you need to store a number for Age. By dimensioning an array variable as data type object, you can store all these different types of data in the array; C# will determine the data type of each element as the data is placed into it. The following shows an example of a declaration of such an array: <pre>object[] objPersonalInfo; objPersonalInfo = new object[10]; </pre> Again, after it's defined, you can reference the array variable as you would an ordinary variable, with the exception that you must include an index. For example, you could populate the array using code like this: <pre>objPersonalInfo[0] = "James Foxall"; objPersonalInfo[1] = "Papillion"; objPersonalInfo[2] = "Nebraska"; objPersonalInfo[3] = 32; </pre> Creating Multidimensional Arrays Array variables require only one declaration, yet they can store numerous pieces of data; this makes them perfect for storing sets of related information. The array example shown previously is a single-dimension array. Arrays can be much more complex than this example and can have multiple dimensions of data. For example, a single array variable could be defined to store the personal information shown previously for different people. Multidimensional arrays are declared with multiple parameters such as the following: <pre>int[,] intMeasurements; intMeasurements = new int[3,2]; </pre> These statements create a two-dimensional array. The first dimension (defined as having three elements) serves as an index to the second dimension (defined as having two elements). Suppose you wanted to store the height and weight of three people in this array. You reference the array as you would a single-dimension array, but you include the extra parameter index. The two indexes together specify an element, much like coordinates in Battleship relate to specific spots on the game board. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12fig01 Figure 12.1] illustrates how the elements are related. <center>Figure 12.1. Two-dimensional arrays are like a wall of mail slots. [[Image:12fig01.gif|478px|graphics/12fig01.gof]] </center> Elements are grouped according to the first index specified; think of the first set of indexes as being a single-dimension array. For example, to store the height and weight of a person in the array's first dimension, you could use code such as the following: <pre>intMeasurements[0,0] = FirstPersonsHeight; intMeasurements[0,1] = FirstPersonsWeight; </pre> I find it helpful to create constants for the array elements, which makes array references much easier to understand. Consider the following: <pre>const int c_Height = 0; const int c_Weight = 1; intMeasurements[0,c_Height] = FirstPersonsHeight; intMeasurements[0,c_Weight] = FirstPersonsWeight; </pre> You could then store the height and weight of the second and third person like this: <pre>intMeasurements[1,c_Height] = SecondPersonsHeight; intMeasurements[1,c_Weight] = SecondPersonsWeight; intMeasurements[2,c_Height] = ThirdPersonsHeight; intMeasurements[2,c_Width] = ThirdPersonsWeight; </pre> In this array, I've used the first dimension to differentiate people. I've used the second dimension to store a height and weight for each element in the first dimension. Because I've consistently stored heights in the first slot of the array's second dimension and weights in the second slot of the array's second dimension, it becomes easy to work with these pieces of data. For example, you can retrieve the height and weight of a single person as long as you know the first dimension index used to store the data. You could, for instance, print out the total weight of all three people using the following code: <pre>Debug.WriteLine(intMeasurements[0,c_Weight] + intMeasurements[1,c_Weight] + intMeasurements[2,c_Weight]); </pre> When working with arrays, keep the following points in mind: * The first element in any dimension of an array has an index of 0. * Dimension an array to hold only as much data as you intend to put into it. * Dimension an array with a data type appropriate to the values to be placed in the array's elements. Arrays are an extremely powerful and easy way to store and work with related sets of data in C# code. Arrays can make working with larger sets of data much simpler and more efficient than using other methods. To maximize your effectiveness with arrays, study the for loop discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch15.htm#ch15 Hour 15], "Looping for Efficiency." Using a for loop, you can quickly iterate through all the elements in an array. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | This section discussed the rectangular type of a C# multidimensional array. C# also supports another type of multidimensional array called jagged. Jagged arrays are an array of one-dimensional arrays, each of which can be of different lengths. However, teaching jagged arrays is beyond the scope of this book. |} Determining Scope Constants, variables, and arrays are extremely useful ways to store and retrieve data in C# code. Hardly a program is written that doesn't use at least one of these elements. To properly use them, however, it's critical that you understand scope. You had your first encounter with scope in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods," with the keywords private and public. You learned that code is written in procedures and that procedures are stored in modules. Scope refers to the level that a constant, a variable, an array, or a procedure can be "seen" in code. For a constant or variable, scope can be one of the following: * Block level * Method level (local) * Private level {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Scope has the same effect on array variables as it does on ordinary variables. For the sake of clarity, I'll reference variables in this discussion on scope, but understand that what I discuss applies equally to arrays. |} The different levels of scope are explained in the following sections. Understanding Block Scope {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Block scope, also called structure scope, is when a variable is declared within a structure, and if so, it gives the variable block scope. |} Structures are coding constructs that consist of two statements as opposed to one. For example, the standard <tt>do</tt> structure is used to create a loop; it looks like this: {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | C# uses the word structure to mean a user-defined type. However, when talking about code, structure is also used to mean a block of code that has a beginning and an end. For the purpose of this discussion, it is this code block that I am referring to. |} <pre>do <statements to execute in the loop while(i <10) </pre> Another example is the for loop, which looks like this: <pre>for (int I = 1; i<10;i++) { <statements to execute when expression is True> } </pre> If a variable is declared within a structure, the variable's scope is confined to the structure; the variable isn't created until the declaration statement occurs, and it's destroyed when the structure completes. If a variable is needed only within a structure, think about declaring it within the structure to give it block scope. Consider the following example: <pre>if (blnCreateLoop) { int intCounter ; for (intCounter=1; intCounter<=100; intCounter++) // Do something } </pre> By placing the variable declaration statement within the if structure, you ensure that the variable is created only if it is needed. In fact, you can create a block simply by enclosing statements in opening and closing braces like this: <pre>{ int intMyVariable = 10; Console.WriteLine(intMyVariable); } </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The various structures, including looping and decision-making structures, are discussed in later hours. |} Understanding Method-Level (Local) Scope {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | When you declare a constant or variable within a method, that constant or variable has method-level, or local, scope. Most of the variables you'll create will have method scope. In fact, all the variables you've created in previous hours have had method-level scope. You can reference a local constant or variable within the same method, but it isn't visible to other methods. If you try to reference a local constant or variable from a method other than the one in which it's defined, C# returns a compile error to the method making the reference (the variable or constant doesn't exist). It's generally considered the best practice to declare all your local variables at the top of a method, but C# doesn't care where you place declaration statements within a method. Note, however, that if you place a declaration statement within a structure, the corresponding variable will have block scope, not local scope. |} Understanding Private-Level Scope When a constant or variable has private-level scope, it can be viewed by all methods within the class containing the declaration. To methods in all other classes, however, the constant or variable doesn't exist. To create a constant or variable with private-level scope, you must place the declaration within a class but not within a method. Class member declarations are generally done at the beginning of the class (right after the opening brace of the class). Use private-level scope when many methods must share the same variable and when passing the value as a parameter is not a workable solution. For all modules other than those used to generate forms, it's easy to add code to the declarations section; simply add the declaration statements just after the class declaration line and prior to any method definitions, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12fig02 Figure 12.2]. <center>Figure 12.2. The declarations section exists above all declared methods. [[Image:12fig02.jpg|500px|graphics/12fig02.jpg]] </center> Classes used to generate forms have lots of system-generated code within them, so it might not be so obvious where to place private-level variables. C# inserts many private statements in classes used to build forms, so place your variable declarations after any and all form-type declaration statements in such classes (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12fig03 Figure 12.3]). <center>Figure 12.3. The declarations section includes the C# generated statements. [[Image:12fig03.jpg|500px|graphics/12fig03.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | In general, the smaller the scope the better. When possible, give a variable block or local scope. If you have to increase scope, attempt to make the variable a private-level variable. You should use public variables only when absolutely necessary (and there are times when it is necessary to do so). The higher the scope, the more possibilities exist for problems and the more difficult it is to debug those problems. |} Naming Conventions To make code more self-documenting (always an important goal) and to reduce the chance of programming errors, you need an easy way to determine the exact data type of a variable or the exact type of a referenced control in C# code. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Variable naming conventions have long been a hot topic. With the release of .NET, Microsoft has officially recommended that you not use naming conventions (although it's hard to imagine why). As a professional developer, I find this idea counterproductive, and most other developers I have spoken with have no plans to abandon using naming conventions. Because I so firmly believe in them and because they aid the learning process, I have used them, and I teach them in this book. Please be aware that if you don't like naming conventions, you don't have to use them. However, I strongly recommend that you do use naming conventions; the benefits they provide are considerable. |} Using Prefixes to Denote Data Type [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12table03 Table 12.3] lists the prefixes of the common data types. {| cellspacing="0" cellpadding="1" border="1"|+ Table 12.3. Prefixes for Common Data Types |- | valign="middle" | Data Type | valign="middle" | Prefix | valign="middle" | Value |- | Boolean | <tt>bln</tt> | <tt>blnLoggedIn</tt> |- | Byte | <tt>byt</tt> | <tt>bytAge</tt> |- | Char | <tt>chr</tt> | <tt>chrQuantity</tt> |- | Decimal | <tt>dec</tt> | <tt>decSalary</tt> |- | Double | <tt>dbl</tt> | <tt>dblCalculatedResult</tt> |- | Integer | <tt>int</tt> | <tt>intLoopCounter</tt> |- | Long | <tt>lng</tt> | <tt>lngCustomerID</tt> |- | Object | <tt>obj</tt> | <tt>objWord</tt> |- | Short | <tt>sho</tt> | <tt>shoTotalParts</tt> |- | String | <tt>str</tt> | <tt>strFirstName</tt> |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The prefix of obj should be reserved for when a specific prefix isn't available. The most common use of this prefix is when referencing Automation libraries of COM applications. For instance, when automating Microsoft Word, you create an instance of Word's Application object. Because no prefix exists specifically for Word objects, obj works just fine (that is, <tt>Word.Application objWord = new Word.Application);</tt>. |} Denoting Scope Using Variable Prefixes Prefixes are useful not only to denote data types, they also can be used to denote scope (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#ch12table04 Table 12.4]). In particularly large applications, a scope designator is almost a necessity. Again, C# doesn't care whether you use prefixes, but consistently using prefixes benefits you as well as others who have to review your code. {| cellspacing="0" cellpadding="1" border="1"|+ Table 12.4. Prefixes for Variable Scope |- | valign="middle" | Prefix | valign="middle" | Description | valign="middle" | Example |- | <tt>g</tt> | Global | <tt>g_strSavePath</tt> |- | <tt>m</tt> | Private to class | <tt>m_blnDataChanged</tt> |- | (no prefix) | Nonstatic variable, local to method | |} Other Prefixes Prefixes aren't just for variables. All standard objects (including forms and controls) can use a three-character prefix. There are simply too many controls and objects to list all the prefixes here, although you will find that I use control prefixes throughout this book. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary In this hour, you learned how to eliminate magic numbers by creating constants. By using constants in place of literal values, you increase code readability, reduce the possibilities of coding errors, and make it much easier to change a value in the future. In addition, you learned how to create variables for data elements in which the initial value isn't known at design time or for elements whose values will be changed at runtime. You learned how arrays add dimensions to variables and how to declare and reference them in your code. C# enforces strict data typing, and in this hour you learned about the various data types and how they're used, as well as tips for choosing data types and functions for converting data from one type to another. Finally, you learned about scope�a very important programming concept�and how to manage scope within your projects. Writing code that can be clearly understood even by those who didn't write it is a worthwhile goal. Naming prefixes goes a long way toward accomplishing this goal. In this hour you learned the naming prefixes for the common data types, and you learned to use prefixes to denote scope. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#qad1e41129 Q1:]''' | Are any performance tricks related to the many data types? |- | align="right" | ''' A1: ''' | One trick when using whole numbers (values with no decimal places) is to use the data type that matches your processor. For instance, most current home and office computers have 32-bit processors. The C# integer data type is made up of 32 bits. Believe it or not, C# can process an integer variable faster than it can process a short variable, even though the short variable is smaller. This has to do with the architecture of the CPU, memory, and bus. The explanation is complicated, but the end result is that you should usually use integer rather than short, even when working with values that don't require the larger size of the integer. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/12.htm#qad1e41139 Q2:]''' | Are arrays limited to two dimensions? |- | align="right" | ''' A2: ''' | Although I showed only two dimensions (that is, intMeasurements[3,1]), arrays can have many dimensions, such as intMeasurements[3,3,3,4]. The technical maximum is 60 dimensions, but you probably won't use more than three. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans01 1:]''' | What data type would you use to hold currency values? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans02 2:]''' | Which data type can be used to hold any kind of data and essentially serves as a generic data type? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans03 3:]''' | What values does C# support for type bool? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans04 4:]''' | What can you create to eliminate magic numbers by defining a literal value in one place? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans05 5:]''' | What type of data element can you create in code that can have its value changed as many times as necessary? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans06 6:]''' | What are the first and last indexes of an array dimensioned using <tt>string_strMyArray[5]</tt>? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans07 7:]''' | What word is given to describe the visibility of a constant or variable? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec12.htm#ch12ans08 8:]''' | In general, is it best to limit the scope of a variable or to use the widest scope possible? |} Exercises # Create a project with a text box, a button, and a label control. When the user clicks the button, move the contents of the text box to a variable, and then move the contents of the variable to the Text property of the label. (Hint: a string variable will do the trick.) # Rewrite the following code so that a single array variable is used rather than two standard variables. (Hint: Do not use a multidimensional array.) <pre>string strFirstName; string strLastName ; strFirstName = "Allison"; strLastName = "Bermejo";</pre> phpeiq7fl4fkq336kt3lstxdr7ebize User:Foxall/14 2 2148 5609 2007-06-18T00:47:34Z Foxall 27 Bog cusub: == Hour 14. Making Decisions in C# Code == In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods," you learned how to sepa... 5609 wikitext text/x-wiki == Hour 14. Making Decisions in C# Code == In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods," you learned how to separate code into multiple methods to be called in any order required. But if you had to separate each small code routine into its own method, your projects would quickly become unmanageable. Instead of creating numerous methods, you can use decision-making techniques to execute or omit specific lines of code within a single method. Decision-making constructs or coding structures allow you to execute (or omit) code based on the current situation, such as the value of a variable. C# includes two constructs that allow you to make any type of branching decision you can think of: if…else and switch. In this hour, you'll learn how to use the decision constructs provided by C# to perform robust yet efficient decisions in C# code. In addition, you'll learn how to use the goto statement to redirect code. You'll probably create decision constructs in every application you build, so the quicker you master these skills, the easier it will be to create robust applications. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14lev1sec1.htm#ch14lev1sec1 Making decisions using if statements] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14lev1sec1.htm#ch14lev2sec1 Expanding the capability of if statements using else] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14lev1sec2.htm#ch14lev1sec2 Evaluating an expression for multiple values using the switch statement] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch14lev1sec3.htm#ch14lev1sec3 Redirecting code flow using goto] ---- === Making Decisions Using if Statements === By far the most common decision-making construct used in programming is the if construct. A simple if construct looks like this: <pre>if (expression) ... statement to execute when expression is true; </pre> The if construct uses Boolean logic, as discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13.htm#ch13 Hour 13], "Performing Arithmetic, String Manipulation, and Date/Time Adjustments," to evaluate an expression to either true or false. The expression may be simple (<tt>if (x == 6)</tt>) or complicated (<tt>if (x==6 && y>10)</tt>). If the expression evaluates to true, the statement or block of statements (if enclosed in braces) gets executed. If the expression evaluates to false, C# doesn't execute the statement or statement block for the if construct. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Remember that compound, also frequently called block statements, can be used anywhere a statement is expected. A compound statement consists of zero or more statements enclosed in braces (<tt>{}</tt>). Following is an example of the if construct using a block statement: |} <pre>if (expression) { statement 1 to execute when expression is true; statement 2 to execute when expression is true; ... statement n to execute when expression is true; } </pre> You're going to create a simple if construct in a C# project. Create a new Windows Application named Decisions. Rename the default form to fclsDecisions, set the Text property of the form to Decisions Example, and update the entry point Main() to reference fclsDecisions instead of Form1. Add a new text box to the form by double-clicking the Textbox icon in the toolbox. Set the properties of the text box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtInput</tt> |- | <tt>Location</tt> | <tt>44,44</tt> |- | <tt>Text</tt> | <tt>(make blank)</tt> |} Next, add a new button to the form by double-clicking the Button icon in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnIsLessThanHundred</tt> |- | <tt>Location</tt> | <tt>156,42</tt> |- | <tt>Size</tt> | <tt>100,23</tt> |- | <tt>Text</tt> | <tt>Is text < 100?</tt> |} Your form should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#ch14fig01 Figure 14.1]. <center>Figure 14.1. You'll use the if statement to determine whether the value of the text entered into the text box is less than 100. [[Image:14fig01.jpg|500px|graphics/14fig01.jpg]] </center> You're now going to add code to the button's Click event. This code will use a simple if construct and the int.Parse() method. The int.Parse() method is used to convert text into its numeric equivalent, and you'll use it to convert the text in txtInput into an integer. The if statement will then determine whether the number entered into the text box is less than 100. Double-click the button now to access its Click event, and enter the following code: <pre>if (int.Parse(txtInput.Text)< 100 ) MessageBox.Show("The text entered is less than 100."); </pre> This code is simple when examined one statement at a time. Look closely at the first statement and recall that a simple if statement looks like this: <pre>if (expression) statement; </pre> In the code you entered, expression is <pre>int.Parse(txtInput.Text)< 100 </pre> What you are doing is asking C# to evaluate whether the parsed integer is less than 100. If it is, the evaluation returns true. If the value is greater than or equal to 100, the expression returns false. If the evaluation returns true, execution proceeds with the line immediately following the if statement and a message is displayed. If the evaluation returns false, the line statement (or block of statements) following the if statement doesn't execute and no message is displayed. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If the user leaves the text box empty or enters a string, an exception will be thrown. Therefore, you'd normally implement exception handling around this type of code. You'll learn about exception handling in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch16.htm#ch16 Hour 16], "Debugging Your Code." |} Executing Code When Expression Is False If you want to execute some code when expression evaluates to false, include the optional else keyword, like this: <pre>if (expression) statement to execute when expression is true; else statement to execute when expression is false; </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you want to execute code only when expression equates to false, not when true, use the not-equal operator (<tt>!=</tt>) in the expression. Refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13.htm#ch13 Hour 13] for more information on Boolean logic. |} By including an else clause, you can have one or more statements execute when expression is true and other statements execute when the expression is false. In the example you've built, if a user enters a number less than 100, the user will get a message. However, if the number is greater than or equal to 100, the user receives no feedback. Modify your code to look like the following, which ensures that the user always gets a message: <pre>if (int.Parse(txtInput.Text)< 100 ) MessageBox.Show("The text entered is less than 100."); else MessageBox.Show("The text entered is greater than or equal to 100."); </pre> Now, if the user enters a number less than 100, the message <tt>The text entered is less than 100</tt> is displayed, but nothing more. When C# encounters the else statement, it ignores the statement(s) associated with the else statement. The statements for the else condition execute only when expression is false. Likewise, if the user enters text that is greater than or equal to 100, the message <tt>The text entered is greater than or equal to 100</tt> is displayed, but nothing more; when expression evaluates to false, execution immediately jumps to the else statement. Click Save All on the toolbar to save your work and then press F5 to run the project. Enter a number into the text box and click the button. A message box appears, telling you whether the number you entered is less than or greater than 100 (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#ch14fig02 Figure 14.2]). <center>Figure 14.2. As implied with this message box, if gives you great flexibility in making decisions. [[Image:14fig02.jpg|301px|graphics/14fig02.jpg]] </center> Feel free to enter other numbers and click the button as often as you like. When you're satisfied that the code is working, choose Stop Debugging from the Debug menu. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Get comfortable with if; chances are you'll include at least one in every project you create. |} Nesting if Constructs As mentioned earlier, you can nest if statements to further refine your decision making. The format you use can be something like the following: <pre>if ( expression1 ) if ( expression2 ) ... else ... else ... </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Evaluating an Expression for Multiple Values Using switch At times, the if construct isn't capable of handling a decision situation without a lot of extra work. One such situation is when you need to perform different actions based on numerous possible values of an expression, not just true or false. For instance, suppose you wanted to perform actions based on a user's profession. The following shows what you might create using if: <pre>if (strProfession =="programmer") ... else if (strProfession =="teacher") ... else if (strProfession =="accountant") ... else ... </pre> As you can see, this structure can be a bit hard to read. If the number of supported professions increases, this type of construction will get harder to read and debug. In addition, executing many if statements like this is rather inefficient from a processing standpoint. The important thing to realize here is that each else…if is really evaluating the same expression (strProfession) but considering different values for the expression. C# includes a much better decision construct for evaluating a single expression for multiple possible values: switch. A switch construct looks like the following: <pre>switch (expression) { case value1: ... jump-statement default: ... jump-statement } </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | default is used to define code that executes only when expression doesn't evaluate to any of the values in the case statements. Use of default is optional. |} Here's the Profession example shown previously, but this time switch is used: <pre>switch (strProfession) { case "teacher" : MessageBox.Show("You educate our young"); break; case "programmer": MessageBox.Show("You are most likely a geek"); break; case "accountant": MessageBox.Show("You are a bean counter"); break; default: MessageBox.Show("Profession currently not supported in switch statement"); break; } </pre> The flow of the switch statement is as follows: When the case expression is matched, the code statement or statements within the case are executed. This must be followed by a jump-statement, such as break, to transfer control out of the case body. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you create a case construct but fail to put code statements or a jump-statement within the case, execution will fall through to the next case statement, even if the expression doesn't match. |} The switch makes decisions much easier to follow. Again, the key with switch is that it's used to evaluate a single expression for more than one possible value. Building a switch Example You're now going to build a project that uses expression evaluation in a switch construct. This simple application will display a list of animals in a combo box to the user. When the user clicks a button, the application will display the number of legs of the animal in the list (if an animal is selected). Create a new Windows Application named Switch Example. Rename the default form to flcsSwitchExample, set the form's Text property to Switch Example, and update the entry point in procedure Main() to reference flcsSwitchExample instead of Form1. Next, add a new combo box to the form by double-clicking the ComboBox item on the toolbox. Set the combo box's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>cboAnimals</tt> |- | <tt>Location</tt> | <tt>80,100</tt> |- | <tt>Text</tt> | <tt>(make blank)</tt> |} Next, you'll add some items to the list. Click the Items property of the combo box, and then click the Build button that appears in the property to access the String Collection Editor for the combo box. Enter the text as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#ch14fig03 Figure 14.3]; be sure to press Enter at the end of each list item to make the next item appear on its own line. <center>Figure 14.3. Each line you enter here becomes an item in the combo box at runtime. [[Image:14fig03.jpg|437px|graphics/14fig03.jpg]] </center> Next you'll add a Button control. When the button is clicked, a <tt>switch</tt> construct will be used to determine which animal the user has selected and to tell the user how many legs the selected animal has. Add a new button to the form by double-clicking the Button tool in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowLegs</tt> |- | <tt>Location</tt> | <tt>102,140</tt> |- | <tt>Text</tt> | <tt>Show Legs</tt> |} Your form should now look like the one in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#ch14fig04 Figure 14.4]. Click Save All on the toolbar to save your work before continuing. <center>Figure 14.4. This example uses only a combo box and a button control. [[Image:14fig04.jpg|314px|graphics/14fig04.jpg]] </center> All that's left to do is add the code. Double-click the Button control to access its Click event, and then enter the following code: <pre>switch (cboAnimals.Text) { case "Bird": MessageBox.Show("The animal has 2 legs."); break; case "Dog": // Notice there is no code here to execute. case "Cat": MessageBox.Show("The animal has 4 legs."); break; case "Snake": MessageBox.Show("The animal has no legs."); break; case "Centipede": MessageBox.Show("The animal has 100 legs."); break; default: MessageBox.Show("You did not select from the list!"); break; } </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Here's what's happening: The switch construct compares the content of the cboAnimals combo box to a set of predetermined values. Each case statement is evaluated in the order in which it appears in the list. Therefore, the expression is first compared to "Bird." If the content of the combo box is Bird, the MessageBox.Show() method immediately following the case statement is called, followed by the break statement, which transfers control outside of the switch construct. If the combo box doesn't contain Bird, C# looks to see if the content is "Dog," and so on. Notice that the Dog case contains no code, therefore the execution of the code in the following case (Cat) is executed if the text Dog was selected (this is known as execution falling through). In this situation, you end up with the correct output. However, what happens if you move the Snake case in front of Cat? You'd end up telling the user that the dog has no legs! When using this technique, you must be careful that all situations will produce desired behavior. |} Each successive case statement is evaluated in the same way. If no matches are found for any of the case statements, the MessageBox.Show() method in the default statement is called. If there were no matches and no default statement, no code would execute. As you can see, adding a new animal to the list can be as simple as adding a case statement. Press F5 to run your project now and give it a try. Select an animal from the list and click the button. Try clearing the contents of the combo box and clicking the button. When you're finished, choose Stop Debugging from the Debug menu to stop the project and click Save All on the toolbar. Branching Within Code Using goto {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Decision structures are used to selectively execute code. When a decision statement is encountered, C# evaluates an expression and diverts code according to the result. You don't have to use a decision structure to divert code, however, because C# includes a statement that can be used to jump code execution to a predetermined location within the current procedure: the goto statement. Before I talk about how to use goto, I want to say that under most circumstances, it's considered bad coding practice to use a goto. Code that's heavily laden with gotos is difficult to read and debug because the execution path is so convoluted. Such code is often called spaghetti code, and should be avoided at all costs. I'd say that in 90% of the situations in which goto is used, a better approach to the problem exists, and I'll show an example of just such a case shortly. Nevertheless, goto, like all other statements, is a tool. Although it's not needed as often as some of the other C# statements are, it's still a useful tool to have at your disposal�when used judiciously. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | To jump to a specific location in code, you must first define the jump location using a code label. A code label is not the same as a Label control that you place on a form. You create a code label by positioning the cursor on a new line in a method, typing in a name for the label followed by a colon, and pressing Enter. Code labels can't contain spaces and they can't be a C# reserved word. For instance, you can't create a code label called try, because try is a reserved word in C#. However, you could create a label called TryThis, because TryThis isn't a reserved word. Code labels act as pointers that you can jump to using goto. The following shows an example using goto to jump code execution to a label. |} <pre>private void btnGoto_Click(object sender, System.EventArgs e) { long lngCounter = 0; IncrementCounter: lngCounter++; if (lngCounter < 5000) goto IncrementCounter; } </pre> This code does the following: * Dimensions a long variable called lngCounter. * Sets the new variable to 0. * Defines a code label titled IncrementCounter. One or more goto statements can be used to jump code execution to this label at any time. * Increments lngCounter by 1. * Uses an if statement to determine if lngCounter has exceeded 5000. If it hasn't, a goto statement forces code execution back to the IncrementCounter label, where lngCounter is incremented and tested again, creating a loop. This code works, and you're welcome to try it. However, this is terrible code. Remember how I said that the use of a goto can often be replaced by a better coding approach? In this case, C# has specific looping constructs that you'll learn about in the next hour. These looping constructs are far superior to building your own loop under most conditions, so you should avoid building a loop using a goto statement. In fact, one of the biggest misuses of goto is using it in place of one of C#'s internal looping constructs. In case you're interested, here's the loop that would replace the use of goto in this example: <pre>for(long lngCounter = 0; lngCounter<=5000; lngCounter++) ... </pre> This discussion may leave you wondering why you would ever use goto. One situation in which I commonly use goto statements is to create single exit points. As you know, you can force execution to leave a method at any time using return. Often, clean-up code is required before a method exits. In a long method, you may have many return statements. However, such a method can be a problem to debug because clean-up code may not be run under all circumstances. Because all methods have a single entry point, it makes sense to give them a single exit point. With a single exit point, you use a goto statement to go to the exit point, rather than use a return statement. The following procedure illustrates using goto to create a single exit point: <pre>private void btnGoto_Click(object sender, System.EventArgs e) { ... ... // If it is necessary to exit the code, perform a goto to // the PROC_EXIT label, rather than using an Exit statement. PROC_EXIT: ... return; } </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary In this hour you learned how to use C#'s decision constructs to make decisions in C# code. You learned how to use if statements to execute code when an expression evaluates to true and to use else to run code when the expression evaluates to false. For more complicated decisions, you learned how to use else…if to add further comparisons to the decision construct and nest if structures for more flexibility. In addition to if, you learned how to use switch to create powerful decision constructs to evaluate a single expression for many possible values. You learned how you can check for multiple possible values using a fall through case statement. Finally, you learned how to use goto to jump to any predefined position in code. Decision-making constructs are often the backbone of applications. Without the capability to run specific sets of code based on fluctuating situations, your code would be very linear and hence very limited. Get comfortable with the decision constructs and make a conscious effort to use the best construct for any given situation. The better you are at writing decision constructs, the faster you'll be able to product solid and understandable code. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#qad1e45927 Q1:]''' | What if I want to execute code only when an expression in an if statement is false, not true? Do I need to place the code in an else clause, and no code after the if? |- | align="right" | ''' A1: ''' | This is where Boolean logic helps. What you need to do is make the expression evaluate to true for the code you want to run. This is accomplished using the not operator (!) in the expression, like this: <pre>if (!expression)<br />. . .<br /></pre> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/14.htm#qad1e45943 Q2:]''' | How important is the order in which case statements are created? |- | align="right" | ''' A2: ''' | This all depends on the situation. In the example given in the text in which the selected animal was considered and the number of legs it has was displayed, the order of the Dog case was important. If all case statements contained code, the order has no effect. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans01 1:]''' | Which decision construct should you use to evaluate a single expression to either true or false? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans02 2:]''' | Evaluating expressions to true or false for both types of decision constructs is accomplished using ________ logic. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans03 3:]''' | If you want code to execute when the expression of an if statement evaluates to false, include an ____ clause. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans04 4:]''' | Which decision construct should you use when evaluating the result of an expression that may equate to one of many possible values? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans05 5:]''' | Is it possible that more than one case statement may have its code execute? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans06 6:]''' | True or False: You can use goto to jump code execution to a different method. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec14.htm#ch14ans07 7:]''' | To use goto to jump execution to a new location in code, what must you create as a pointer to jump to? |} Exercises # Create a project that allows the user to enter text into a text box. Use an if construct to determine whether the text entered is Circle, Triangle, Square, or Pentagon, and display the number of sides the entered shape has. If the text doesn't match one of these shapes, let the users know that they must enter a shape. # Rewrite the following code using only an if structure; the new code should not contain a goto. <pre>... if (!blnAddToAge) goto SkipAddToAge; lngAge++; SkipAddToAge: ...</pre> rqfwkslqmtqsbrfqm7gl1k3e7yq8xpi User:Foxall/15 2 2149 5610 2007-06-18T00:48:36Z Foxall 27 Bog cusub: == Hour 15. Looping for Efficiency == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As you develop your C# programs, you'll encounte... 5610 wikitext text/x-wiki == Hour 15. Looping for Efficiency == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As you develop your C# programs, you'll encounter situations in which you'll need to execute the same code statement or statements repeatedly. Often, you'll need to execute these statements a specific number of times, but you may need to execute them as long as a certain condition persists (an expression is true) or until a condition occurs (an expression becomes true). C# includes constructs that enable you to easily define and execute these repetitive code routines: loops. This hour shows you how to use the two major looping constructs to make your code smaller, faster, and more efficient. |} The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch15lev1sec1.htm#ch15lev1sec1 Looping a specific number of times using for statements] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch15lev1sec2.htm#ch15lev1sec2 Looping an indeterminate number of times using do…while and while statements] ---- === Looping a Specific Number of Times Using for Statements === The simplest type of loop to create is the for loop, which has been around since the earliest forms of the BASIC language. With a for loop, you instruct C# to begin a loop by starting a counter at a specific value. C# then executes the code within the loop, increments the counter by a defined incremental value, and repeats the loop until the counter reaches an upper limit you've set. The following is the syntax for the basic for loop: <pre>for ([initializers]; [expression]; [iterators]) statement </pre> Initiating the Loop Using For The for statement both sets up and starts the loop. The for statement has the components shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/15.htm#ch15table01 Table 15.1]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 15.1. Components of the for Statement |- | Part | Description |- | initializers | A comma-separated list of expressions or assignment statements to initialize the loop counters. |- | expression | An expression that can be implicitly converted to boolean. The expression is used to test the loop-termination criteria. |- | iterators | Expression statement(s) to increment or decrement the loop counters. |- | statement | The embedded statement(s) to execute. |} The following is a simple example of a for loop, followed by an explanation of what it's doing: <pre>for (int intCounter = 1; intCounter <= 100; intCounter++) Debug.WriteLine(intCounter); </pre> This for statement initializes an Integer named intCounter at 1; the condition intCounter <= 100 is tested and returns true; therefore, the statement debug.WriteLine(lngCounter) is executed. After the statement(s) are executed, the variable intCounter is incremented (intCounter++). This loop would execute 100 times, printing the numbers 1 through 100 to the Output debug window. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | To use the Debug object, you need to use the System.Diagnostics namespace. |} To execute multiple statements within a for loop, braces { } are used; a single line for statements does not require braces. Here is the previous for loop written to execute multiple statements: <pre>for (int intCounter = 1; intCounter <= 100; intCounter++) { Debug.WriteLine(intCounter); Debug.WriteLine(intCounter-1); } </pre> Exiting a for Loop Early There may be times when you'll want to terminate a for loop before the expression evaluates to true. To exit a for loop at any time, use the break statement. Building a for Loop Example You're now going to create a method containing two for loops�one nested within the other. The first loop is going to count from 1 to 100 and set the Width property of a Label control to the current counter value; this will emulate a Windows progress meter. The second loop will be used to slow the execution of the first loop�an old programmer's trick using a for loop. Create a new Windows Application named ForExample. Set the form's Text to For Statement Example. Add a Label control to the form by double-clicking the Label tool in the toolbox. Set the label's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lblMeter</tt> |- | <tt>BackColor</tt> | (Set to a light blue or any color you like.) |- | <tt>Location</tt> | <tt>100,100</tt> |- | <tt>Text</tt> | (make blank) |- | <tt>Size</tt> | <tt>100,17</tt> |} Next, add a button to the form by double-clicking the Button item in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnForLoop</tt> |- | <tt>Location</tt> | <tt>88,125</tt> |- | <tt>Size</tt> | <tt>125,23</tt> |- | <tt>Text</tt> | <tt>Run a For Loop</tt> |} Your form should look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/15.htm#ch15fig01 Figure 15.1]. <center>Figure 15.1. This simple project will emulate a progress meter. [[Image:15fig01.jpg|500px|graphics/15fig01.jpg]] </center> All that's left to do is to write the code. Double-click the button to access its Click event and enter the following: <pre>for (int intLabelWidth=1; intLabelWidth<=100; intLabelWidth++) { lblMeter.Width = intLabelWidth; lblMeter.Refresh(); for (int intPauseCounter=1; intPauseCounter<=600000; intPauseCounter++); } </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Using a loop to create a delay is actually a very poor and outdated coding technique. Other options can be used for creating a delay, such as calling System.Threading.Thread.Sleep(). This example is designed to illustrate nested loops�which it does, not to show the best way to create a delay. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Remember that C# is case sensitive. (Hint: for, int, and long are all lowercase). |} The first line starts the first for loop. It starts by creating and initializing the variable intLabelWidth; next comes an expression used to evaluate the variable, and the third part is the iterator, which increments intLabelWidth by one each time the loop completes. The first statement within this for loop sets the width of the Label control to the value of intLabelWidth. The next statement calls the Refresh method of the Label control to ensure that it paints itself. Often, painting catches up when the CPU has idle time. Because you want the transition from a small label to a large one to be smooth, you need to make sure the label paints itself after each update to its Width property. After all the statements within the braces execute, intLabelWidth is incremented by one (intLabelWidth++) and the expression is evaluated once more. This means that the code within the loop will execute 100 times. The next statement starts a second for loop using the intPauseCounter variable, creating and initializing intPauseCounter to 1 and setting the upper limit of the loop to 600,000. Following this for statement is a semicolon(;) with no statement before it. This creates an empty statement. Why is there no code for this for statement of the lngPauseCounter loop? This loop is used simply to create a delay within the processor. Most computers are so fast that if you didn't add a delay here, the first for loop would update the label's width from 1 to 100 so fast that you might not even see it update! {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I wrote this code on a 1.33GHz (1,333MHz) machine; you may have to alter this value if your processor speed is much different. If you have a slower CPU, reduce this value. If you have a much faster processor, increase this value. Wait until you test this code before making changes to the upper limit, however. Again, using another method, such as calling System.Threading.Thread.Sleep(), would allow precise control over the delay, regardless of the speed of the machine. |} Click Save All on the toolbar and press F5 to run the project. The label starts with a width of 100. Click the button, and you'll see the label's width change to 1 and then increment to 100. If the speed is too slow or too fast, stop the project and adjust the upper limit of the inner for loop. If you were to forgo a loop and write each and every line of code necessary to draw the label with a width from 1 to 100, it would take 100 lines of code. Using a simple for loop, you performed the same task in just a few lines. In addition, a for loop allowed you to create a pause during the update. A for loop is best when you know the number of times you want the loop to execute. This doesn't mean that you have to actually know the number of times you want the loop to execute at design time; it simply means that you must know the number of times you want the loop to execute when you first start the loop. You can use a variable to define any of the arguments of the for loop, as illustrated in the following code: <pre>int intUpperLimit=100; for (int intCounter=1; intCounter<=intUpperLimit;intCounter++) Debug.WriteLine(intCounter); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | One of the keys to writing efficient code is to eliminate redundancy. If you find yourself typing the same (or a similar) line of code repeatedly in the same procedure, chances are it's a good candidate for a loop (and you may even want to place the duplicate code in its own method). |} Using do…while to Loop an Indeterminate Number of Times In some situations, you won't know the exact number of times a loop needs to be performed�not even when the loop begins. When you need to create such a loop, using the do…while loop is the best solution. The do…while comes in a number of flavors. Its most basic form has the following syntax: <pre>do statement while (expression); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The following is used to execute multiple statements: <pre>do<br />{<br />[Statements]<br />} while (expression); </pre> |} Ending a do…while A do…while without some sort of exit mechanism or defined condition is an endless loop. In its most basic form, nothing is present to tell the loop when to stop looping. At times you may need an endless loop (game programming is an example), but more often, you'll need to exit the loop when a certain condition is met. Like the for loop, you can use the break statement to exit a do…while loop at any time. For example, you could expand the do…while we're discussing to include a break statement like the following: <pre>do { [Statements] if (expression) break; } while (x==x); </pre> In this code, the loop would execute until expression evaluates to true. Generally, the expression is based on a variable that's modified somewhere within the loop. Obviously, if the expression never changes, the loop never ends. The second flavor of the while loop is the while…do loop. The following is a simple while…do loop: <pre>while (expression) statement </pre> As long as expression evaluates to true, the loop continues to occur. If expression evaluates to false when the loop first starts, the code between the statement(s) doesn't execute�not even once. The difference between the do…while and the while…do loops is that the code statements within the do…while loop always execute at least once; expression isn't evaluated until the loop has completed its first cycle. Therefore, such a loop executes at least once, regardless of the value of expression. The while loop evaluates the expression first; therefore, the statements associated with it may not execute at all. Creating a do…while Example You're now going to create an example using a do…while loop that updates a label to once again simulate a progress meter. This loop performs the same purpose as the for loop you created in the previous example, but its structure is quite different. If your for example is currently running, choose Stop Debugging from the Debug menu. Add another button to the formand set the new button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnDoLoop</tt> |- | <tt>Location</tt> | <tt>88,160</tt> |- | <tt>Size</tt> | <tt>125,23</tt> |- | <tt>Text</tt> | <tt>Run a Do Loop</tt> |} Your form should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/15.htm#ch15fig02 Figure 15.2]. <center>Figure 15.2. You'll use the same form for both loop examples. [[Image:15fig02.jpg|500px|graphics/15fig02.jpg]] </center> Double-click the new button to access its Click event and then enter the following code: <pre>int intLabelWidth=1; while (intLabelWidth != 100) { lblMeter.Width = intLabelWidth; lblMeter.Refresh(); intLabelWidth++; // Increment by one. for (int intPauseCounter=1; intPauseCounter<=600000; intPauseCounter++); } </pre> Again, this code is more easily understood when broken down, as shown in the following list: * The first line creates the intLabelWidth variables and sets it to 1. * A while statement is used to start a loop. This loop will execute until intLabelWidth has the value 100. It can also be read as "the statements will execute while intLabelWidth does not equal 100." * The Label's Width property is set to the value of intLabelWidth. * The Label is forced to refresh its appearance. * The intLabelWidth variable is incremented by 1. * A for loop is used to slow down the procedure, just as it was in the previous example. Again, this is just to illustrate nested loops. Calling System.Threading.Thread.Sleep() would be a better way to create a delay. * Click Save All on the toolbar to save the project, and then press F5 to run it. Click the Run a Do Loop button to see the progress meter set itself to 1 pixel and then update itself by 1 until it reaches 100 pixels. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | I wanted to show you how both types of loops could be used to accomplish the same task. In this example, however, the for loop is clearly the best approach because you know the starting values and the number of times to loop when the loop starts. |} You've now seen how to perform the same function with two entirely different coding techniques. This is fairly common when creating programs; usually, multiple ways exist to approach a solution to a given problem. Simply being aware of your options makes writing code that much easier. When you hear of people optimizing their code, they're usually looking for a different, faster approach to a problem they've already solved. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary Looping is a powerful technique that allows you to write tighter code. Tighter code is code consisting of fewer lines, is more efficient, and is usually�but not always�more readable. In this hour, you learned to write for loops for situations in which you know the precise number of times you want a loop executed. Remember, it's not necessary to know the number of iterations at design time, but you must know the number at runtime to use a for loop. You learned how to use iterators to increment the counter of a for loop, and even how to exit a loop prematurely using break. In this hour, you also learned how to use the very powerful do…while loop. The do…while loop enables you to create very flexible loops that can handle almost any looping scenario. You learned how evaluating expression in a do…while loop makes the loop behave differently than when evaluating the expression in a while…do loop. If a for loop can't do the job, some form of the do…while or while…do loop will. In addition to learning the specifics about loops, you've seen firsthand how multiple solutions to a problem can exist. Often, one approach is clearly superior to all other approaches, although you may not always find it. Other times, one approach may be only marginally superior, or multiple approaches may all be equally applicable. Expert programmers are able to consistently find the best approaches to any given problem. With time, you'll be able to do the same. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/15.htm#qad1e47323 Q1:]''' | Are there any specific cases in which one loop is appropriate over another? |- | align="right" | ''' A1: ''' | Usually, when you have to walk an index or sequential set of elements (such as referencing all elements in an array), the for loop is the best choice. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/15.htm#qad1e47333 Q2:]''' | Should I be concerned about the performance differences between the two types of loops? |- | align="right" | ''' A2: ''' | With today's fast processors, chances are good that the performance difference between the two loop types in any given situation will be overshadowed by the readability and functionality of the best choice of loop. If you have a situation in which performance is critical, write the loop using all the ways you can think of, benchmark the results, and choose the fastest loop. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec15.htm#ch15ans01 1:]''' | True or False: You have to know the start and end values of a for loop at design time to use this type of loop. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec15.htm#ch15ans02 2:]''' | Is it possible to nest loops? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec15.htm#ch15ans03 3:]''' | What type of loop would you most likely need to create if you didn't have any idea how many times the loop would need to occur? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec15.htm#ch15ans04 4:]''' | If you evaluate the expression in a do…while on the while statement, is it possible that the code within the loop may never execute? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec15.htm#ch15ans05 5:]''' | What statement do you use to terminate a do…while without evaluating the expression on the do or while statements? |} Exercises # The status meter example using do…while has a deliberate "bug." The meter will display only to 99 (the label's width will adjust only to 99 pixels, not 100). The problem has to do with how the expression is evaluated. Find and correct this problem. # Use two for loops nested within each other to size a label in two dimensions. Have the outer loop change the Width of the label from 1 to 100 and have the inner loop change the Height from 1 to 100. Don't be surprised by the result�the end result is rather odd. 0mdb2l7wcmsvyavvj4k6m6x2jey367q User:Foxall/16 2 2150 5611 2007-06-18T00:50:28Z Foxall 27 Bog cusub: == Hour 16. Debugging Your Code == No one writes perfect code. You're most certainly familiar with those problems that prevent code from executing properly�they're called bugs. Being n... 5611 wikitext text/x-wiki == Hour 16. Debugging Your Code == No one writes perfect code. You're most certainly familiar with those problems that prevent code from executing properly�they're called bugs. Being new to C#, your code will probably contain a fair number of bugs. As you gain proficiency, the number of bugs in your code will decrease, but they will never disappear entirely. Debugging is a skill and an art. This book can't teach you how to debug every possible build or runtime error you may encounter; however, in this hour you will learn the basic skills necessary to trace and correct most bugs in your code. The highlights of this hour include the following: * Adding comments to your code * Identifying the two basic types of errors * Working with break points * Using the Command window * Using the Output window * Creating a structured error handler {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Task List window is useful for addressing build errors in code. However, because its use goes beyond this simple debugging application, I discuss the Task List in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods." |} Before proceeding, create a new Windows Application project named Debugging Example. Change the name of the default form to fclsDebuggingExample, set its Text property to Debugging Example, and change the Main() entry point of the project to reference fclsDebuggingExample instead of Form1. Add a new text box to the form by double-clicking the TextBox item in the toolbox. Set the text box's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>txtInput</tt> |- | <tt>Location</tt> | <tt>88,112</tt> |- | <tt>Size</tt> | <tt>120,20</tt> |- | <tt>Text</tt> | (make blank) |} Next, add a new button to the form by double-clicking the Button item in the toolbox, and then set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnPerformDivision</tt> |- | <tt>Location</tt> | <tt>96,144</tt> |- | <tt>Size</tt> | <tt>104,23</tt> |- | <tt>Text</tt> | <tt>Perform Division</tt> |} Your form should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig01 Figure 16.1]. <center>Figure 16.1. This simple interface will help teach you debugging techniques. [[Image:16fig01.jpg|500px|graphics/16fig01.jpg]] </center> All this little project will do is divide 100 by whatever is entered into the text box. As you write the code to accomplish this, various bugs will be introduced (on purpose), and you'll learn to correct them. Save your project now by clicking the Save All button on the toolbar. ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Adding Comments to Your Code One of the simplest things you can do to reduce bugs from the start�and make tracking down existing bugs easier�is to add comments to your code. A code comment is simply a line of text that C# knows isn't actual code. Comment lines are stripped from the code when the project is compiled to create a distributable component, so comments don't affect performance. C#'s code window shows comments as green text. This makes it easier to read and understand procedures. You should consider adding comments to the top of each procedure stating the purpose of the procedure. In addition, you should add liberal comments throughout all procedures, detailing what's occurring in the code. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | Comments are meant to be read by humans, not by computers. Strive to make your comments intelligible. Keep in mind that a comment that is hard to understand is not much better than no comment at all. Also, remember that comments serve as a form of documentation. Just as documentation for an application must be clearly written, code comments should also follow good writing principles. |} To create a comment, precede the comment text with two forward slash marks (<tt>//</tt>). For example, a simple comment might look like this: <pre>// This is a comment because it is preceded with double forward slashes. </pre> Comments can also be placed at the end of a line of code, like this: <pre>int intAge; // Used to store the user's age in years. </pre> Everything to the right of and including the double forward slashes in this statement is a comment. C# also supports a second type of comment. This allows for comments to span multiple lines without forcing the developer to add <tt>//</tt> characters to each line. The comment begins with an open comment mark of a forward slash, followed by an asterisk (<tt>/*</tt>), and the comment closes with a close mark of an asterisk followed by a forward slash (<tt>*/</tt>). For example, a comment can look like this: <pre>/* Chapter 16 in Sams TY C# focuses on debugging code, a topic every developer spends a lot of time on. */ </pre> By adding comments to your code, you don't have to rely on memory to decipher the code's purpose or mechanics. If you've ever had to go back and work with code you haven't looked at in a while, or had to work with someone else's code, you probably already have a great appreciation for comments. Double-click the button now to access its <tt>Click</tt> event and add the following two lines of code (comments, actually): <pre>// This procedure divides 100 by the value entered in // the text box txtInput. </pre> Notice that after you enter the second forward slash, both slashes turn green. Comments, whether single line (<tt>//</tt>) or multiline (<tt>/*</tt> comments <tt>*/</tt>), will be displayed in a green font in Visual Studio. When creating code comments, strive to do the following: * Document the purpose of the code (the why, not the how). * Clearly indicate the thinking and logic behind the code. * Call attention to important turning points in code. * Reduce the need for readers to run a simulation of code execution in their heads. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | C# also supports an additional type of comment denoted with three slashes (///). When the C# compiler encounters these comments, it processes them into an XML file. These types of comments are often used to create documentation for code. Creating XML files from comments is beyond the scope of this book, but if these features intrigue you, I highly recommend that you look into it. |} Identifying the Two Basic Types of Errors {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Essentially, two types of errors can occur in code: compile errors and runtime errors. A compile error (commonly called a build error) is an error in code that prevents C#'s compiler from being able to process the code. C# won't compile a project that has a build error in it. A method call with incorrect parameters, for example, will generate a build error. Runtime errors are errors that don't occur at compile time but are encountered when the project is being run. Runtime errors are usually a result of trying to perform an invalid operation on a variable. |} For example, the following code won't generate a compile error: <pre>intResult = 10 / intSomeOtherVariable; </pre> Under most circumstances, this code won't even generate a runtime error. However, what happens if the value of intSomeOtherVariable is 0? Ten divided by zero is infinity, which won't fit into intResult (intResult is an Integer variable). Attempting to run the code with the variable having a value of 0 causes C# to return a runtime error. Runtime errors are called exceptions, and when an exception is created, it is said to be thrown (that is, C# throws an exception when a runtime error occurs). When an exception is thrown, code execution stops at the offending statement and C# displays an error message. You can prevent C# from stopping execution when an exception is thrown by writing special code to handle the exception (writing error handlers is discussed later in this hour). Add the following statements to the Click event, right below the two comment lines: <pre>long lngAnswer; lngAnswer = 100 / long.Parse(txtInput.Text); MessageBox.Show("100/" + txtInput.Text + " is " + lngAnswer) </pre> The missing semicolon in the MessageBox.Show line is intentional; type in the preceding line of code exactly as it appears. Although you've missed the ending semicolon, C# doesn't return an immediate error. However, notice how C# displays a wavy red line at the end of the statement. Notice the Description in the Task List following an exclamation point and a red, wavy line; C# displays a tip explaining the nature of the error (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig02 Figure 16.2]). <center>Figure 16.2. Using wavy underlines, C# highlights build errors in the code window. [[Image:16fig02.jpg|500px|graphics/16fig02.jpg]] </center> Press F5 to run the project. When you do, C# displays a message that a build error was found and asks you whether you want to continue. Because the code won't run, there's no point in continuing, so click No to return to the code editor. Take a look at the Task List (if it's not displayed, use the View menu to show it). All build errors in the current project appear in the Task List (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig02 Figure 16.2]). To view a particular offending line of code, double-click an item in the Task List. Build errors are very serious errors in that they prevent code from being compiled; therefore, they completely prevent execution. Build errors must be corrected before you can run the project. Double-click the build error in the Task List to go directly to the error. Correct the problem by adding a semicolon to the end of the line. After you've made this change, press F5 to run the project. C# no longer returns a build error; you've just successfully debugged a problem! Click the Perform Division button now, and you'll receive another error (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig03 Figure 16.3]). <center>Figure 16.3. A runtime exception halts code execution at the offending line. [[Image:16fig03.jpg|444px|graphics/16fig03.jpg]] </center> This time, the error is a runtime error, or exception. If an exception occurs, you know that the code compiled without a problem because build errors prevent code from compiling and executing. This particular exception is a Format exception. Format exceptions generally occur when you attempt to perform a method using a variable, and the variable is of an incompatible data type for the specified operation. Click Break to view the offending line of code. C# denotes the offending statement with a green arrow (the arrow indicates the current statement). At this point, you know that the statement has a "bug," and you know it is related to data typing. Choose Stop Debugging from the Debug menu now to stop the running project and return to the code editor. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using C#'s Debugging Tools C# includes a number of debugging tools to help you track down and eliminate bugs. In this section, you'll learn how to use break points, the Command window, and the Output window�three tools that form the foundation of any debugging arsenal. Working with Break Points {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | The same way an exception halts the execution of a method, you can deliberately stop execution at any statement of code by creating a break point. When C# encounters a break point while executing code, execution is halted at the break statement, prior to it being executed. Break points enable you to query or change the value of variables at a specific instance in time, and they let you step through code execution one line at a time. |} You're going to create a break point to help troubleshoot the exception in your MessageBox.Show() statement. Adding a break point is simple. Just click in the gray area to the left of the statement at which you want to break code execution. When you do so, C# displays a red circle, denoting a break point at that statement (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig04 Figure 16.4]). To clear a break point, click the red circle. <center>Figure 16.4. Break points give you control over code execution. [[Image:16fig04.jpg|500px|graphics/16fig04.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Break points are saved with the project. This makes it much easier to suspend a debugging session; you don't have to reset all your break points each time you open the project. |} Set a new break point on the statement shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig04 Figure 16.4] (the statement where <tt>lngAnswer</tt> is set). Do this by clicking in the gray area to the left of the statement. After you've set the break point, press F5 to run the program. Again, click the button. When C# encounters the break point, code execution is halted and the procedure with the break point is shown. In addition, the cursor is conveniently placed at the statement with the current break point. Notice the yellow arrow overlaying the red circle of the break point (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig05 Figure 16.5]). This yellow arrow marks the next statement to be executed. It just so happens that the statement has a break point, so the yellow arrow appears over the red circle (the yellow arrow won't always be over a red circle, but it will always appear in the gray area aligned with the next statement to execute). <center>Figure 16.5. A yellow arrow denotes the next statement to be executed. [[Image:16fig05.jpg|500px|graphics/16fig05.jpg]] </center> When code execution is halted at a break point, you can do a number of things. See [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16table01 Table 16.1] for a list of the most common actions. For now, press F5 to continue program execution. Again, you get the Format exception. Click Break to access the code procedure with the error. {| cellspacing="0" cellpadding="1" border="1"|+ Table 16.1. Actions That Can Be Taken at a Break Point |- | valign="middle" | Action | valign="middle" | Keystroke | valign="middle" | Description |- | Continue Code Execution | F5 | Continues execution at the current break statement. |- | Step Into | F11 | Executes the statement at the break point and then stops at the next statement. If the current statement is a function call, F11 enters the function and stops at the first statement in the function. |- | Step Over | F10 | Executes the statement at the break point and then stops at the next statement. If the current statement is a function call, the function is run in its entirety; then execution stops at the statement following the function call. |- | Step Out | Shift+F11 | Runs all the statements in the current procedure and halts execution at the statement following the one that called the current procedure. |} Using the Command Window Break points themselves aren't usually sufficient to debug a procedure. In addition to break points, you'll often use the Command window to debug code. The Command window is a Visual Studio IDE window that generally appears only when your project is in Run mode. If the Command window isn't displayed, press Ctrl+Alt+A to display it now (or use the Other Views submenu of the View menu). Using the Command window, you can type in code statements that C# executes immediately. You'll use the Command window now to debug our problem statement example. Type the following statement into the Command window and press Enter: <pre>? txtInput.Text </pre> Although not intuitive, the <tt>?</tt> character has been used in programming for many years as a shortcut for the word "print." The statement that you entered simply prints the contents of the Text property of the text box. Notice how the command window displays <tt>""</tt> on the line below the statement you entered. This indicates that the text box contains an empty string (also called a zero-length string). The statement throwing the exception is attempting to use the <tt>long.Parse()</tt> method to convert the contents of the text box to a Long. The <tt>long.Parse()</tt> method expects data to be passed to it, yet the text box has no data (the Text property is empty). Consequently, a Format exception occurs. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Generally, when you receive a Format exception, you should look at any variables or properties being referenced to ensure that the data they contain is appropriate data for the statement. Often, you'll find that the code is trying to perform an operation that is inappropriate for the data being supplied. |} You can do a number of things to prevent this error. The most obvious is to ensure that the text box contains a value before attempting to use the <tt>long.Parse()</tt> method. You'll do this now. C# doesn't allow you to modify code when in break mode, so choose Stop Debugging from the Debug menu before continuing. Add the following statement to your method, right above the statement that throws the exception (the one with the break point): <pre>if (txtInput.Text == "") return; </pre> Press F5 to run the project once more, and then click the button. This time, C# won't throw an exception, and it won't halt execution at your break point; the test you just created causes code execution to leave the procedure before the statement with the break point is reached. Type your name into the text box and click the button again. Now that the text box is no longer empty, execution passes the statement with the exit test and stops at the break point. Press F5 to continue executing the code, and again you'll receive an exception. Click Break to enter Break mode, and type the following into the Command window (be sure to press Enter when done): <pre>? txtInput.Text </pre> The Command window prints your name. Well, you eliminated the problem of not supplying any data to the <tt>long.Parse()</tt> method, but something else is wrong. Press F5 to continue executing the code and take a closer look at the exception text. The last statement in the text says <tt>Input string was not in a correct format</tt>. It apparently still doesn't like what's being passed to the <tt>long.Parse()</tt> method. By now, it may have occurred to you that no logical way exists to convert alphanumeric text to a number; <tt>long.Parse()</tt> needs a number to work with. You can easily test this by entering a number into the text box. Do this now by clicking Break, choosing Stop Debugging from the Debug menu, and pressing F5 to run the project. Enter a number into the text box and click the button. Code execution again stops at the break point. Press F11 to execute the statement. No errors this time! Press F5 to continue execution and C# will display the message box (finally). Click OK to dismiss the message box and then close the form to stop the project. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | You can use the Command window to change the value of a variable in addition to printing the value. |} Because the <tt>long.Parse()</tt> method expects a number, yet the text box contains no intrinsic way to force numeric input, you have to accommodate this situation in your code. You will learn how to deal with exceptions later on in this chapter using a catch statement. Using the Output Window The Output window (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig06 Figure 16.6]) is used by C# to display various status messages and build errors. The most useful feature of the Output window, for general use, is the capability to send data to it from a running application. This is especially handy when debugging applications. <center>Figure 16.6. The Output window displays a lot of useful information�if you know what you're looking for. [[Image:16fig06.gif|500px|graphics/16fig06.gof]] </center> You've already used the Output window in previous hours, but you might not have seriously considered its application as related to debugging. As you can see from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig06 Figure 16.6], some data sent to the Output window by C# isn't that intuitive�in fact, you can ignore much of what is automatically sent to the Output window. What you'll want to use the Output window for is printing data for debugging (as you have done and will do throughout this book). Therefore, it's no coincidence that printing to the Output window is accomplished via the Debug object. To print data to the Output window, use the WriteLine() method of the Debug object, like this: <pre>Debug.WriteLine("Results = " + lngResults); </pre> The Debug object is a member of the <tt>System.Diagnostics</tt> namespace. Therefore, to define the scope for <tt>Debug.WriteLine</tt> statements, you will need to add using System.Diagnostics to the header section of your class (along with the other using statements C# creates automatically. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you do not add using System.Diagnostics to the top of your code file, you can still access Debug.WriteLine() by writing out the full expression: System.Diagnostics.Debug.WriteLine(). |} Whatever you place within the parentheses of the <tt>WriteLine()</tt> method is what is printed to the Output window. Note that you can print literal text and numbers, variables, or expressions. <tt>WriteLine()</tt> is most useful in cases where you want to know the value of a variable, but you don't want to halt code execution using a break point. For instance, suppose you have a number of statements that manipulate a variable. You can sprinkle <tt>WriteLine()</tt> statements into the code to print the variable's contents at strategic points. When you do this, you'll want to print some text along with the variable's value so that the output makes sense to you. For example: <pre>Debug.WriteLine("Results of area calculation = " + sngArea); </pre> You can also use <tt>WriteLine()</tt> to create checkpoints in your code, like this: <pre>Debug.WriteLine("Passed Checkpoint 1"); // Execute statement here Debug.WriteLine("Passed Checkpoint 4"); // Execute another statement here Debug.WriteLine("Passed Checkpoint 3"); </pre> Many creative uses exist for the Output window. Just remember that the Output window isn't available to a compiled component; calls to the Debug object are ignored by the compiler when creating distributable components. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Writing an Error Handler Using '''<tt>try...catch...finally</tt>''' It's very useful to have C# halt execution when an exception occurs. When the code is halted while running with the IDE, you receive an error message and you're shown the offending line of code. However, when your project is run as a compiled program, unhandled exceptions will cause the program to terminate (crash to the desktop). This is one of the most undesirable things an application can do. Fortunately, you can prevent exceptions from stopping code execution (and terminating compiled programs) by writing code specifically designed to deal with exceptions. Exception-handling code is used to instruct C# on how to deal with an exception, rather than relying on C#'s default behavior. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | C# supports structured error handling (a formal way of dealing with errors) in the form of a try block and/or catch block(s) and/or a finally block. Creating structured error-handling code can be a bit confusing at first, and like most coding principles, it is best understood by doing it. |} Create a new Windows Application called Structured Error Handling. Change the name of the default form to flcsErrorHandlingExample, set its Text property to Try…Catch…Finally, and change the Main() entry point of the project to reference fclsErrorHandlingExample instead of Form1. Next, add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnCatchException</tt> |- | <tt>Location</tt> | <tt>104,128</tt> |- | <tt>Size</tt> | <tt>96,23</tt> |- | <tt>Text</tt> | <tt>Catch Exception</tt> |} Double-click the button and add the following code. <pre>try { Debug.WriteLine("Try"); } catch { Debug.WriteLine("Catch"); } finally { Debug.WriteLine("Finally"); } Debug.WriteLine("Done Trying"); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Remember to add using System.Diagnostics to the top of your class so that you can use the <tt>Debug.WriteLine()</tt> statement. |} As you can see, the <tt>try</tt>, <tt>catch</tt>, and <tt>finally</tt> statements use the braces ({ } ) to enclose statements. The try, catch, and finally structure is used to wrap code that may cause an exception; it provides the means of dealing with thrown exceptions. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16table02 Table 16.2] explains the sections of this structure. {| cellspacing="0" cellpadding="1" border="1"|+ Table 16.2. try, catch, and finally Structure |- | valign="middle" | Part | valign="middle" | Description |- | try | The try section is where you place code that may cause an exception. You may place all of a procedure's code within the try section, or just a few lines. |- | catch | Code within a general catch clause executes only when an exception occurs; it's the code you write to catch any exception. There may be multiple catch clauses to handle specific exceptions. |- | finally | Code within the finally section occurs when the code within the try and/or code within the catch sections completes. This section is where you place your "clean up" code�code that you want always executed regardless of whether an exception occurs. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Three possible forms of <tt>try</tt> statements are the following: * A try block followed by one or more catch blocks. * A try block followed by a finally block. * A try block followed by one or more catch blocks, followed by a finally block. This example is using a try block followed by a catch block, followed by a finally block. |} Press F5 to run the project and then click the button. Next, take a look at the contents of the Output window. The Output window should contain the following lines of text: <pre>Try Finally </pre> <tt>Done Trying</tt> Here's what happened: # The try block begins, and code within the try section executes. # No exception occurs, so code within the catch section doesn't execute. # When all statements within the try section finish executing, the code within the finally section executes. # When all statements within the finally section finish executing, execution jumps to the statement immediately following the try, catch, and finally statements. Stop the project now by choosing Stop Debugging from the Debug menu. Now that you understand the basic mechanics of the try, catch, and finally structure, you're going to add statements within the structure so that an exception occurs and gets handled. Change the contents of the code to match this code: <pre>long lngNumerator = 10; long lngDenominator = 0; long lngResult; try { Debug.WriteLine("Try"); lngResult = lngNumerator / lngDenominator; } catch { Debug.WriteLine("Catch"); } finally { Debug.WriteLine("Finally"); } Debug.WriteLine("Done Trying"); </pre> Again, press F5 to run the project; then click the button and take a look at the Output window. This time, the text in the Output window should read <pre>Try Catch Finally </pre> <tt>Done Trying</tt> Notice that this time the code within the catch section is executed. This is because the statement that sets <tt>lngResult</tt> causes a DivideByZero exception. Had this statement not been placed within a catch block, C# would have raised the exception and an error dialog box would have appeared. However, because the statement is placed within the try block, the exception is "caught." This means that when the exception occurred, C# directed execution to the catch section (you do not have to use a catch section, in which case caught exceptions are simply ignored). Notice also how the code within the finally section executed after the code within the catch section. Remember, code within the finally section always executes, regardless of whether an exception occurs. Dealing with an Exception Catching exceptions so that they don't crash your application is a noble thing to do, but it's only part of the error-handling process. Usually, you'll want to tell the user (in a friendly way) that an exception has occurred. You'll probably also want to tell the user what type of exception occurred. To do this, you have to have a way of knowing what exception was thrown. This is also important if you intend to write code to deal with specific exceptions. The catch statement enables you to specify a variable to hold a reference to an Exception object. Using this Exception object, you can get information about the exception. The following is the syntax used to place the exception in an Exception object: <pre>catch ( Exception variablename) </pre> Modify your catch section to match the following: <pre>catch (Exception objException) { Debug.WriteLine("Catch"); MessageBox.Show("An error has occurred: " + objException.Message); } </pre> The Message property of the Exception object contains the text that describes the specific exception that occurs. Run the project, click the Catch Exception button, and C# displays your custom error message (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#ch16fig07 Figure 16.7]). <center>Figure 16.7. Structured exception handling lets you decide what to do when an exception occurs. [[Image:16fig07.jpg|361px|graphics/16fig07.jpg]] </center> Handling an Anticipated Exception At times, you'll anticipate a specific exception being thrown. For example, you may write code that attempts to open a file when the file does not exist. In such an instance, you'll probably want the program to perform certain actions when this exception is thrown. When you anticipate a specific exception, you can create a catch section designed specifically to deal with that one exception. Recall from the previous section that you can retrieve information about the current exception using a catch statement such as catch (Exception). By creating a generic Exception variable, this catch statement will catch any and all exceptions thrown by statements within the try section. To catch a specific exception, change the data type of the exception variable to a specific exception type. Remember the code you wrote earlier that caused a Format exception when an attempt was made to pass an empty string to the long.Parse() method? You could have used a try structure to deal with the exception, using code such as this: <pre>long lngAnswer; try { lngAnswer = 100 / long.Parse(txtInput.Text); MessageBox.Show("100/" + txtInput.Text + " is " + lngAnswer); } catch (System.FormatException) { MessageBox.Show("You must enter a number in the text box."); } catch { MessageBox.Show("Caught an exception that wasn't a format exception."); } </pre> Notice that two catch statements are in this structure. The first catch statement is designed to catch only a Format exception; it won't catch exceptions of any other type. The second catch statement doesn't care what type of exception is thrown; it catches all of them. This second catch statement acts as a "catch all" for any exceptions that aren't Format exceptions, because catch sections are evaluated from top to bottom, much like case statements in the switch structure. You could add more catch sections to catch other specific exceptions if the situation calls for it. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary In this hour, you learned the basics for debugging applications. You learned how adding useful and plentiful comments to your procedures makes debugging easier. However, no matter how good your comments are, you'll still have bugs. You learned about the two basic types of errors: build errors and runtime errors (exceptions). Build errors are easier to troubleshoot because the compiler tells you exactly what line contains a build error and generally provides useful information about the error. Exceptions, on the other hand, can crash your application if not handled properly. You learned how to track down exceptions using break points, the Command window, and the Output window. Finally, you learned to how to make your applications more robust by creating structured error handlers using the <tt>try</tt> structure. No book can teach you everything you need to know to write bug-free code. However, this hour taught you the basic skills to track down and eliminate many types of errors in your programs. As your skills as a programmer improve, so will your debugging abilities. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#qad1e50188 Q1:]''' | Should I alert the user that an exception has occurred to just let the code keep running? |- | align="right" | ''' A1: ''' | If you've written code to handle the specific exception, then there's probably no need to tell the user about it. However, if an exception occurs that the code doesn't know how to address, you should provide the user with the exception information so that he or she can report the problem and you can fix it. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#qad1e50198 Q2:]''' | Should I comment every statement in my application? |- | align="right" | ''' A2: ''' | Probably not. However, you should consider commenting every decision-making and looping construct in your program. Usually, these sections of code are pivotal to the success of the procedure, and it's not always obvious what they do. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/16.htm#qad1e50208 Q3:]''' | I'm tired of writing out the full qualifier System.Diagnostics.Debug.WriteLine(). Is there anyway to shorten this? |- | align="right" | ''' A3: ''' | Yes, by adding a <tt>using</tt> directive for the System.Diagnostics namespace, you will be able to access its members without having to specify the namespace. This will shorten all your System.Diagnostics.Debug.WriteLine() statements to Debug. WriteLine(). |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans01 1:]''' | What type of error prevents C# from compiling and running code? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans02 2:]''' | What is the name of a runtime error: an error that usually occurs as a result of attempting to process inappropriate data? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans03 3:]''' | What character is used to denote a single line comment? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans04 4:]''' | To halt execution at a specific statement in code, you set a what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans05 5:]''' | Explain the yellow arrow and red circles that can appear in the gray area in the code editor. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans06 6:]''' | What IDE window would you use to poll the contents of a variable in Break mode? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec16.htm#ch16ans07 7:]''' | True or False: You must always specify a catch section in a try structure. |} Exercises # In the code example that sets lngAnswer to the result of a division expression, change lngAnswer from a long to a single (call it sngAnswer). Next, remove the if statement that tests the contents of the text box before performing the division. Do you get the same exceptions that you did when the variable was a long? Why or why not? # Rewrite the code that sets lngAnswer to the result of a division expression so that the code is wrapped in a try structure. Remove the if statements that perform data validation, and create two catch sections�one for each of the possible exceptions that may be thrown. cf7duqextmdxybsgwv3qauubvfo4d7e User:Foxall/20 2 2151 5612 2007-06-18T00:51:32Z Foxall 27 Bog cusub: == Hour 20. Controlling Other Applications Using Automation == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | In [file:///C:/Document... 5612 wikitext text/x-wiki == Hour 20. Controlling Other Applications Using Automation == {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17.htm#ch17 Hour 17], "Designing Objects Using Classes," you learned how to use classes to create objects. In that hour, I mentioned that objects could be exposed to outside applications�Excel, for example, exposes most of its functionality as a set of objects. The process of using objects from another application is called Automation. The externally accessible objects of an application compose its object model. Using Automation to manipulate a program's object model enables you to reuse components. For instance, you can use Automation with Excel to perform complex mathematical functions using the code that's been written and tested within Excel, rather than having to write and debug the complex code yourself. |} Programs that expose objects are called servers, and the programs that consume those objects are called clients. Creating automation servers requires advanced skills, including a very thorough understanding of programming classes. Creating clients to use objects from other applications, on the other hand, is relatively simple. In this hour, you'll learn how to create a client application that uses objects of an external server application. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch20lev1sec1.htm#ch20lev1sec1 Creating a reference to an automation library] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch20lev1sec2.htm#ch20lev1sec2 Creating an instance of an automation server] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch20lev1sec3.htm#ch20lev1sec3 Manipulating the objects of an automation server] To understand Automation, you're going to build a Microsoft Excel client�a program that automates Excel via Excel's object model. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | This exercise is designed to work with Excel 2000 or Excel XP. If you don't have Excel installed on your computer, you won't be able to complete the exercise. |} Create a new Windows Application named Automate Excel. Change the name of the default form to fclsMain, set its Text property to Automate Excel, and then set the entry point in Main() to reference fclsMain instead of Form1. Next, add a button to the form by double-clicking the Button item in the toolbox and set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | Name | <tt>btnAutomateExcel</tt> |- | Location | <tt>96,128</tt> |- | Size | <tt>104,23</tt> |- | Text | <tt>Automate Excel</tt> |} ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating a Reference to an Automation Library {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | To use the objects of a program that supports Automation (a server), you have to reference the program's type library. A program's type library (also called object library) is a file that contains a description of the program's object model. After you've referenced the type library of an automation server (also called a component), you can access the objects of the server as though they were internal C# objects. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | To create a reference to a type library, first display the Add Reference dialog box by choosing Add Reference from the Project menu (do this now). A number of types of components support automation. Of course, .NET is the latest technology, but in the case of Excel, we're interested in the COM components. COM stands for Component Object Model, and it's been the technology for working with objects within windows for many years. Microsoft's .NET platform is designed to replace COM. This isn't going to happen overnight, however; literally thousands of objects are built on COM technology. In fact, all the Microsoft Office products up to and including Office XP are based on COM. |} Click the COM tab now to display the available COM components (programs that have a type library) on your computer. Scroll the list and locate the Microsoft Excel X Object Library (where X is the version of Excel installed on your computer). Double-click the Excel item to add it to the list of selected components at the bottom of the Add Reference dialog box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/20.htm#ch20fig01 Figure 20.1]). <center>Figure 20.1. To use an object library, you need to reference it first. [[Image:20fig01.jpg|500px|graphics/20fig01.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you don't see an entry for Microsoft Excel, you probably don't have Excel installed on your computer; therefore, this code won't work. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Click OK now to add the reference to your project. C# doesn't work directly with COM components. Instead, it interacts through a wrapper, a set of code and objects that works as an intermediary between C# and a COM component. Chances are that your machine doesn't have an existing wrapper for Excel; if this is the case, C# automatically creates the wrapper and references the component. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating an Instance of an Automation Server Referencing a type library allows C# to integrate the available objects of the type library with its own internal objects. After this is done, you can create object variables based on object types found in the type library. Excel has an object called Application, which acts as the primary object in the Excel object model. In fact, most Office programs have an Application object. How do you know what objects an automation server supports? The only sure way is to consult the documentation of the program in question or use the Object Browser discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Understanding Objects and Collections." {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In this example, you'll be using about a half-dozen members of an Excel object. This doesn't even begin to scratch the surface of Excel's object model, and it isn't intended to. What you should learn from this example is the mechanics of working with an automation server. If you choose to automate a program in your own projects, you'll want to consult the program's developer documentation to learn about its object model; you're sure to be surprised at the functionality available to you. |} Double-click the button to access its Click event, and then enter the following code, which creates a new Excel Application: <pre>Excel.Application objExcel = new Excel.Application(); </pre> Notice that C# included Excel in its IntelliSense drop-down list of available objects. It was able to do this because you referenced Excel's type library. Excel is the reference to the server and Application is an object supported by the server. This statement creates a new Application object based on the Excel object model. Manipulating the Server After you have an instance of an object from an automation server, manipulating the server (creating objects, setting properties, calling methods, and so forth) is accomplished by manipulating the object. Forcing Excel to Show Itself When Excel is started using Automation, it's loaded but not shown. By remaining hidden, it allows the developer to use its functionality and then close Excel without the user ever knowing what happened. For instance, you could create an instance of an Excel object, perform a complicated formula to obtain a result, close Excel, and return the result to the user�all without the user ever seeing Excel. In this example, you want to see Excel so that you can see what your code is doing. Fortunately, showing Excel couldn't be easier. Add the following statement to make Excel visible: <pre>objExcel.Visible = true; </pre> Creating an Excel Workbook and Worksheet In Excel, a Workbook is the file in which you work and store your data; you can't manipulate data without a Workbook. When you first start Excel from the Start menu, an empty Workbook is created for you. However, when you start Excel via Automation, Excel doesn't create a Workbook; you have to do it yourself. To create a new Workbook, you use the Add method of the Workbooks collection. After the Workbook has been created, you need to set up a worksheet. Enter the following statements: <pre>//start a new workbook and a worksheet. Excel.Workbook objBook = objExcel.Workbooks.Add(System.Reflection.Missing.Value); Excel.Worksheet objSheet = (Excel.Worksheet)objBook.Worksheets.get_Item(1); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Notice how <tt>System.Reflection.Missing.Value</tt> is being passed into the Add() method. This is because the Add() method supports a default parameter and C# does not support default parameters. Using the <tt>System.Reflection.Missing.Value</tt> as the parameter in the Add() method enables the COM's late-binding service to use the default value for the indicated parameter value. |} Working with Data in an Excel Workbook In this section, you're going to manipulate data in the worksheet. The following describes what you'll do: # Add data to four cells in the worksheet. # Select the four cells. # Total the selected cells and place the sum into a fifth cell. # Bold all five cells. To manipulate cells in the worksheet, you manipulate the Range object, which is an object property of the Worksheet object. Entering data into a cell involves first selecting a cell and then passing data to it. Selecting a cell is accomplished by setting a range object by calling the get_Range () method of the Worksheet object; the get_Range () method is used to select one or more cells. The get_Range () method accepts a starting column and row and an ending column and row. If you want to select only a single cell, as we do here, you can substitute the ending column and row with System.Reflection.<tt>Missing.Value parameter</tt>. After a range is set, you pass data to the selected range by using the set_Value() method on the Range object. Sound confusing? Well, it is to some extent. Programs that support Automation are often vast and complex, and programming them is usually far from intuitive. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | <tt>range.set_Value(Missing.Value,"75")</tt> is used for Excel 10 (Excel XP). Use <tt>range.Value = "75"</tt> for Excel 9 (Excel 2000). |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | If the program you want to automate has a macro builder (as most Microsoft products do), you can save yourself a lot of time and headache by creating macros of the tasks you want to automate. The "macros" are actually code, and in the case of Microsoft products, they're VBA code. |} The following section of code uses the techniques just described to add data to four cells. Enter this code into your procedure: <pre>Excel.Range objRange; objRange = objSheet.get_Range("A1", System.Reflection.Missing.Value); // For EXCEL9 Use objRange.Value method in place of all of the // objRange.set_Value() statements used in this example. i.e. // objRange.Value = "75"; objRange.set_Value(System.Reflection.Missing.Value, 75 ); objRange = objSheet.get_Range("B1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 125 ); objRange = objSheet.get_Range("C1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 255 ); objRange = objSheet.get_Range("D1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 295 ); </pre> The next step is to have Excel total the four cells. You'll do this by using the get_Range() method to select the cell in which to place the total, and then use set_Value() method again to create the total by passing it a formula, rather than a literal value. Enter the following code into your procedure: <pre>objRange = objSheet.get_Range("E1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, "=SUM(RC[-4]:RC[-1])" ); </pre> Next, you'll select all five cells and bold them. Enter the following statements to accomplish this: <pre>objRange = objSheet.get_Range("A1", "E1"); objRange.Font.Bold=true; </pre> The last thing you need to do is destroy the object reference by setting the object variable to null. Excel will remain open even though you've destroyed the Automation instance (not all servers will do this). Add this last statement to your procedure: <pre>objExcel=null; </pre> To help you ensure that everything is entered correctly, [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/20.htm#ch20list01 Listing 20.1] shows the procedure in its entirety. ===== Listing 20.1 Code to Automate Excel ===== <pre>private void btnAutomateExcel_Click(object sender, System.EventArgs e) { Excel.Application objExcel = new Excel.Application(); objExcel.Visible = true; //start a new workbook and a worksheet. Excel.Workbook objBook = objExcel.Workbooks.Add(System.Reflection.Missing.Value); Excel.Worksheet objSheet = Excel.Worksheet)objBook.Worksheets.get_Item(1); Excel.Range objRange; objRange = objSheet.get_Range("A1", System.Reflection.Missing.Value); // For EXCEL9 Use objRange.Value method in place of all of the // objRange.set_Value() statements used in this example. i.e. // objRange.Value = "75"; objRange.set_Value(System.Reflection.Missing.Value, 75 ); objRange = objSheet.get_Range("B1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 125 ); objRange = objSheet.get_Range("C1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 255 ); objRange = objSheet.get_Range("D1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, 295 ); objRange = objSheet.get_Range("E1", System.Reflection.Missing.Value); objRange.set_Value(System.Reflection.Missing.Value, "=SUM(RC[-4]:RC[-1])" ); objRange = objSheet.get_Range("A1", "E1"); objRange.Font.Bold=true; objExcel=null; } </pre> Testing Your Client Application Now that your project is complete, press F5 to run it and then click the button to automate Excel. If you entered the code correctly, Excel will start, data will be placed into four cells, the total of the four cells will be placed into a fifth cell, and all cells will be made bold (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/20.htm#ch20fig02 Figure 20.2]). <center>Figure 20.2. You can control almost every aspect of Excel using its object model. [[Image:20fig02.jpg|500px|graphics/20fig02.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Automating applications, particularly Office products such as Excel and Word, requires a lot of system resources. If you intend to perform a lot of automation, you should use the fastest machine with the most RAM that you can afford. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary In this hour, you learned how a program can make available an object model that client applications can use to manipulate the program. You learned that the first step in automating a program (server) is to reference the type library of the server. After the type library is referenced, the objects of the server are available as though they're internal C# objects. As you have seen, the mechanics of automating a program aren't that difficult�they build on the object-programming skills you've already learned in this book. The real challenge comes in learning the object model of a given server and in making the most productive use of the objects available. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/20.htm#qad1e60730 Q1:]''' | What are some applications that support Automation? |- | align="right" | ''' A1: ''' | All the Microsoft Office products, as well as Microsoft Visio, support Automation. You can create a useful application by building a client that makes use of multiple automation servers. For instance, you could calculate data in Excel and then format and print the data in Word. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/20.htm#qad1e60746 Q2:]''' | Can you automate a component without creating a reference to a type library? |- | align="right" | ''' A2: ''' | Yes, but this gets considerably more complicated than when using a type library. First, you can't early bind to objects, because C# knows nothing about the objects. This means you have no IntelliSense drop-down list to help you navigate the object model; the chances for bugs in this situation are almost unbearably large. To use late binding in Visual C#, use the System.Type.InvokeMember method. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec20.htm#ch20ans01 1:]''' | Before you can early bind objects in an automation server, you must do what? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec20.htm#ch20ans02 2:]''' | What is the most likely cause of not seeing a type library listed in the Add References dialog box? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec20.htm#ch20ans03 3:]''' | For C# to use a COM library, it must create a: |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec20.htm#ch20ans04 4:]''' | To manipulate a server via automation, you manipulate: |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec20.htm#ch20ans05 5:]''' | To learn about the object library of a component, you should: |} Exercises # Modify the Excel example to save the Workbook. Hint: Consider the SaveAs() method of the Workbooks collection. # If you have Word installed, add the Word type library to a new project, create an object variable that holds a reference to Word's Application object, create a new document, and send some text to the document. 4vkc7d1vcbqepz6taug00xxzgwuwrau User:Foxall/17 2 2152 5613 2007-06-18T00:53:14Z Foxall 27 Bog cusub: == Hour 17. Designing Objects Using Classes == You learned about what makes an object an object in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Un... 5613 wikitext text/x-wiki == Hour 17. Designing Objects Using Classes == You learned about what makes an object an object in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], "Understanding Objects and Collections." Since that hour, you've learned how to manipulate objects such as forms and controls. The real power of leveraging objects comes from being able to design and implement custom objects of your own design. In this hour, you'll learn how to create your own objects by using classes (in contrast to using static methods). You'll learn how to define the template for an object and how to create your own custom properties and methods. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev2sec1 Encapsulating data and code using classes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev2sec2 Comparing instance member classes with static member classes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev2sec3 Constructors and destructors] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev2sec4 Creating an object interface] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev3sec1 Exposing object attributes as properties] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec1.htm#ch17lev3sec2 Exposing methods] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec2.htm#ch17lev1sec2 Instantiating objects from classes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec2.htm#ch17lev2sec5 Binding an object reference to a variable] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec2.htm#ch17lev2sec7 Understanding object lifetime] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch17lev1sec2.htm#ch17lev2sec6 Releasing object references] {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | There is simply no way to become an expert on programming classes in a single hour. However, when you've finished with this hour, you'll have a working knowledge of creating classes and deriving custom objects from those classes; consider this hour a primer on object-oriented programming. I strongly encourage you to seek other texts that focus on object-oriented programming after you feel comfortable with the material presented throughout this book. |} ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Understanding Classes Classes enable you to develop applications using object-oriented programming (OOP) techniques (recall that I discussed OOP briefly in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3]). Classes are templates that define objects. Although you may not have known it, you have been programming with classes throughout this book. When you create a new form in a C# project, you are actually creating a class that defines a form; forms instantiated at runtime are derived from the class. Using objects derived from predefined classes, such as a C# Form class, is just the start of enjoying the benefits of object-oriented programming�to truly realize the benefits of OOP, you must create your own classes. The philosophy of programming with classes is considerably different from that of "traditional" programming. Proper class-programming techniques can make your programs better, both in structure and in reliability. Class programming forces you to consider the logistics of your code and data more thoroughly, causing you to create more reusable and extensible object-based code. Encapsulating Data and Code Using Classes An object derived from a class is an encapsulation of data and code; that is, the object comprises its code and all the data it uses. For example, suppose that you need to keep track of employees in an organization and that you need to store many of pieces of information for each employee, such as Name, Date Hired, and Title. In addition, suppose you need methods for adding and removing employees, and you want all this information and functionality available to many functions within your application. You could use static methods to manipulate the data. However, this would most likely require many variable arrays, as well as code to manage the arrays. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | A better approach is to encapsulate all the employee data and functionality (adding and deleting routines and so forth) into a single, reusable object. Encapsulation is the process of integrating data and code into one entity�an object. Your application, as well as external applications, could then work with the employee data through a consistent interface�the Employee object's interface (An interface is a set of exposed functionality�essentially, code routines.) |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Creating objects for use outside of your application is beyond the scope of this book. The techniques you'll learn in this hour, however, are directly applicable to creating externally creatable objects. |} The encapsulation of data and code is the key detail of classes. By encapsulating the data and the routines to manipulate the data into a single object by way of a class, you free application code that needs to manipulate the data from the intricacies of data maintenance. For example, suppose company policy has changed so that when a new employee is added to the system, a special tax record needs to be generated and a form needs to be printed. If the data and code routines weren't encapsulated in a common object but were written in various places throughout your code, you would need to modify each and every module that contained code to create a new employee record. By using a class to create an object, you need to change only the code in one location: within the object. As long as you don't modify the interface of the object (discussed shortly), all the routines that use the object to create a new employee will instantly have the policy change in effect. Comparing Instance Members with Static Members You learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch11.htm#ch11 Hour 11], "Creating and Calling Methods," that C# does not support global methods, but supports only class methods. By creating static methods, you create methods that can be accessed from anywhere in the project through the class. Instance methods are similar to static methods in how they appear in the C# design environment and in the way in which you write code within them. However, the behavior of classes at runtime differs greatly from that of static members. With static members, all static data is shared by all members of the class. In addition, there are never multiple instances of the static class data. With instance member classes, objects are instantiated from a class and each object receives its own set of data. Static methods are accessed through the class, whereas nonstatic methods (also called instance methods) are accessed through instances of the class. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Instance methods differ from static methods in more ways than just in how their data behaves. When you define a static method, it is instantly available to other classes within your application. However, instant member classes aren't immediately available in code. Classes are templates for objects. At runtime, your code doesn't interact with the code in the class per se, but it instantiates objects derived from the class. Each object acts as its own class "module" and thus it has its own set of data. When classes are exposed externally to other applications, the application containing the class's code is called the server. Applications that create and use instances of objects are called clients. When you use instances of classes in the application that contains those classes, the application itself acts as both a client and a server. In this hour, I'll refer to the code instantiating an object derived from a class as client code. |} Begin by creating a new Windows Application titled Class Programming Example. Change the name of the default form to fclsClassExample and set its Text property to Class Example. Next, change the entry point of the project in the method Main() to reference fclsClassExample instead of Form1. Add a new class to the project by choosing Add Class from the Project menu. Save the class with the name clsMyClass.cs (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#ch17fig01 Figure 17.1]). <center>Figure 17.1. Classes are added to a project the same as other object files are added. [[Image:17fig01.jpg|500px|graphics/17fig01.jpg]] </center> Constructors and Destructors {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | As you open your new class file, you'll notice that C# added the public class declaration and a method called clsMyClass(). This is known as the class constructor. A constructor has the same name as the class, includes no return type, and has no return value. A class constructor is called whenever a class object is instantiated. Therefore, it's normally used for initialization if some code needs to be executed automatically when a class is instantiated. If a constructor isn't specified in your class definition, the Common Language Runtime (CLR) will provide a default constructor. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Objects consume system resources. The .NET Framework (discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24], "The 10,000-Foot View") has a built-in mechanism to free resources used by objects. This mechanism is called the Garbage Collector [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24] as well). Essentially, the garbage collector determines when an object is no longer being used and then destroys the object. When the garbage collector destroys an object, it calls the object's destructor method. If you aren't careful about how to implement a destructor method, you can cause problems. I recommend that you seek a book dedicated to object-oriented programming to learn more about constructors and destructors. |} Creating an Object Interface For an object to be created from a class, the class must expose an interface. As I mentioned earlier, an interface is a set of exposed functionality (essentially, code routines/methods). Interfaces are the means by which client code communicates with the object derived from the class. Some classes expose a limited interface, whereas some expose complex interfaces. The content and quantity of your class's interface is entirely up to you. The interface of a class consists of one or more of the following members: * Properties * Methods * Events For example, assume that you are creating an Employee object (that is, a class used to derive employee objects). You must first decide how you want client code to interact with your object. You'll want to consider both the data contained within the object and the functions the object can perform. You might want client code to be able to retrieve the name of an employee and other information such as sex, age, and the date of hire. For client code to get these values from the object, the object must expose an interface member for each of the items. Recall from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3] that values exposed by an object are called properties. Therefore, each piece of data discussed here would have to be exposed as a property of the Employee object. In addition to properties, you can expose functions�such as a Delete or AddNew function. These functions may be simple in nature or very complex. The Delete function of the Employee object, for example, might be quite complex. It would need to perform all the actions necessary to delete an employee, including such things as removing the employee from an assigned department, notifying accounting to remove the employee from the payroll, notifying security to revoke the employee's security access, and so on. Publicly exposed functions of an object, as you should remember from [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch03.htm#ch03 Hour 3], are called methods. Properties and methods are the most commonly used interface members. Although designing properties and methods may be new to you, by now using them isn't; you've been using properties and methods in almost every hour so far. Here, you're going to learn the techniques for creating properties and methods for your own objects. For even more interaction between the client and the object, you can expose custom events. Custom object events are similar to the events of a form or a text box. However, with custom events you have complete control over the following: * The name of the event * The parameters passed to the event * When the event occurs {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Events in C# are based on delegates. Creating custom events is complicated, and I'll be covering only custom properties and methods in this hour. |} Properties, methods, and events together make up an object's interface. This interface acts as a contract between the client application and the object. Any and all communication between the client and the object must transpire through this interface (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#ch17fig02 Figure 17.2]). <center>Figure 17.2. Clients interact with an object via the object's interface. [[Image:17fig02.gif|500px|graphics/17fig02.gof]] </center> The technical details of the interaction between the client and the object by way of the interface are, mercifully, handled by C#. Your responsibility is to define the properties, methods, and events of an object so that its interface is logical, consistent, and exposes all the functionality a client needs to use the object. Exposing Object Attributes as Properties Properties are the attributes of objects. Properties can be read-only, or they can allow both reading and writing of their values. For example, you may want to let a client retrieve the value of a property containing the path of the component, but not let the client change it because you can't change the path of a running component. You can add properties to a class in two ways. The first is to declare public variables. Any variable declared as public instantly becomes a property of the class (technically, it's referred to as a field). For example, suppose you have the following statement in the Declarations section of a class: <pre>public long Quantity; </pre> Clients could read from and write to the property using code such as the following: <pre>objMyObject.Quantity = 139; </pre> This works, but significant limitations exist that make this approach less than desirable: * You can't execute code when a property value changes. For example, what if you wanted to write the quantity change to a database? Because the client application can access the variable directly, you have no way of knowing when the value of the variable changes. * You can't prevent client code from changing a property, because the client code accesses the variable directly. * Perhaps the biggest problem is this: How do you control data validation? For instance, how could you ensure that Quantity was never set to a negative value? You simply can't work around these issues using a public variable. Instead of exposing public variables, you should create class properties using property procedures. Property procedures enable you to execute code when a property is changed, to validate property values, and to dictate whether a property is read-only, write-only, or both readable and writable. Declaring a property procedure is similar to declaring a method, but with some important differences. The basic structure of a property looks like this: <pre>Private int privatevalue; public int propertyname { get { return privatevalue; // Code to return the property's value . } set { privatevalue = value; // Code that accepts a new value. } } </pre> The first word in the property declaration simply designates the scope of the property (public or private). Properties declared with public are available to code outside of the class (they can be accessed by client code). Properties declared as private are available only to code within the class. Immediately following public or private are the data type and property name. Place your cursor after the left bracket following the statement <tt>public class clsMyclass</tt> and press Enter to create a new line. Type the following statements into your class: <pre>private int m_intHeight; public int Height { get { } set { } } </pre> You might be wondering why you just created a module-level variable of the same name as your property procedure (with a naming prefix, of course). After all, I just finished preaching about the problems of using a module-level variable as a property. A property has to get its value from somewhere, and a module-level variable is usually the best place to store it. The property procedure will act as a wrapper for this variable. Notice here that the variable is private rather than public. This means that no code outside of the class can view or modify the contents of this variable; as far as client code is concerned, this variable doesn't exist. Between the property declaration statement and its closing brace are two constructs: the get construct and a set construct. Each of these constructs is discussed in its own section. Creating Readable Properties Using the get Accessor The get accessor is used to place code that returns a value for the property when read by the client. If you remove the get accessor and its corresponding brackets, clients won't be able to read the value of the property. It's rare that you'll want to create such a property, but you can. Think of the get accessor as a method; whatever you return as the result of the method becomes the property value. Add the following statement between the get brackets: <pre>return m_intHeight; </pre> You return the value of the property by using the return keyword followed by the value. Creating Writable Properties Using the set Accessor The set accessor is where you place code that accepts a new property value from client code. If you remove the set <tt>accessor (and its corresponding brackets)</tt>, clients won't be able to change the value of the property. Leaving the get accessor and removing the set accessor creates a read-only property; clients can retrieve the value of the property but they cannot change it. Add the following statement between the set brackets: <pre>m_intHeight = value; </pre> The set clause uses a special variable called value, which is provided automatically by C# and always contains the value being passed to the property by the client code. The statement you just entered assigns the new value to the module-level variable. As you can see, the property method is a wrapper around the module-level variable. When the client code sets the property, the set accessor stores the new value in the variable. When the client retrieves the value of the property, the get accessor returns the value in the module-level variable. So far, the property code, with its get and set accessor, doesn't do anything different from what it would do if you were to simply declare a public variable (only the property procedure requires much more code). However, look at this variation of the same set accessor: <pre>set { if (value >=10) m_intHeight = value; } </pre> This set accessor restricts the client to setting the Height property to a value greater than 10. If a value less than 10 is passed to the property, the property procedure is exited without setting <tt>m_intHeight</tt>. You're not limited to performing only data validation; you can pretty much add whatever code you desire and even call other methods. Go ahead and add the verification statement to your code so that the set accessor looks like this one. Your code should now look like the procedure shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#ch17fig03 Figure 17.3]. <center>Figure 17.3. This is a property procedure, complete with data validation. [[Image:17fig03.jpg|500px|graphics/17fig03.jpg]] </center> Exposing Functions as Methods Unlike a property that acts as an object attribute, methods are functions exposed by an object. A method can return a value, but it doesn't have to. Create the following method in your class now. Enter this code on the line following the closing bracket for the declared public int Height property: <pre>public long AddTwoNumbers(int intNumber1, int intNumber2) { return intNumber1 + intNumber2; } </pre> Recall that methods defined with a data-type return values, whereas methods defined with void don't. To make a method private to the class and therefore invisible to client code, declare the method as private rather than public. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Instantiating Objects from Classes After you obtain a reference to an object and assign it to a variable, you can manipulate the object using an object variable. You're going to do this now. Click the Form1.cs Design tab to view the form designer and add a button to the form by double-clicking the Button item in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnCreateObject</tt> |- | <tt>Location</tt> | <tt>104,120</tt> |- | <tt>Size</tt> | <tt>88,23</tt> |- | <tt>Text</tt> | <tt>Create Object</tt> |} Next, double-click the button to access its Click event and enter the following code: <pre>clsMyClass objMyObject = new clsMyClass(); MessageBox.Show(objMyObject.AddTwoNumbers(1,2).ToString()); </pre> The first statement creates a variable of type clsMyClass. (Declaring variables was discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], "Using Constants, Data Types, Variables, and Arrays.") The new keyword tells C# to create a new object, and the text following new is the name of the class to use to derive the object (remember, classes are object templates). The last statement calls the AddTwoNumbers method of your class and displays the result in a message box after converting the return value to a string. Notice that C# displayed an IntelliSense drop-down list with all the members of the class (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#ch17fig04 Figure 17.4]). <center>Figure 17.4. C# displays IntelliSense drop-down lists for members of early-bound objects. [[Image:17fig04.jpg|500px|graphics/17fig04.jpg]] </center> Go ahead and run the project by pressing F5, and then click the button to make sure everything is working correctly. When finished, stop the project and save your work. Binding an Object Reference to a Variable {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | An object can contain any number of properties, methods, and events; every object is different. When you write code to manipulate an object, C# has to understand the interface of the object or your code won't work. Resolving the interface members (the properties, methods, and events of the object) occurs when an object variable is bound to an object. The two forms of binding are early binding and late binding. In addition, binding can occur at runtime or at compile time. It is important that you have at least a working understanding of binding if you are to create code based on classes. Although I can't explain the intricacies and technical details of early binding versus late binding in this hour, I will teach you what you need to know to perform each type of binding. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Benefits exist to both types of binding, but early binding is generally superior to late binding because code that uses late-bound objects requires more work (time and resources) by C# than code that uses early-bound objects. |} Late Binding an Object Variable When you declare a variable using the generic data type Object, you are late binding to the object. Unfortunately, C# requires you to handle additional details when late binding to an object (unlike Visual Basic, which handles the details for you). Late binding is beyond the scope of this book, so I'll be focusing on early binding in this hour. Late binding requires a great deal of overhead, and it adversely affects the performance of an application. Therefore, late binding isn't the preferred method of binding. Late binding does have some attractive uses; however, most of these are related to using objects outside your application, not for using objects derived from classes within the project. One of the main drawbacks of late binding is the inability for the compiler to check the syntax of the code manipulating an object. Because C# doesn't know anything about the members of a late-bound object, the compiler has no way of knowing whether you're using a member correctly�or even if the member you're referencing exists. This can result in a runtime exception or some other unexpected behavior. As explained in the previous hour, runtime exceptions are more problematic than build errors because they're usually encountered by end users and under varying circumstances. When you late bind objects, it's easy to introduce these types of problems; therefore, a real risk exists of throwing exceptions with late binding. As you'll see in the next section, early binding reduces a lot of these risks. Early Binding an Object Variable For a member of an object to be referenced, C# must determine and use the internal ID of the specified member. You don't have to know this ID yourself; just be aware that C# needs to know the ID of a member to use it. When an object is early bound (declared as a specific type of object), C# is able to gather the necessary ID information at compile time. This results in considerably faster calls to object members at runtime. In addition, C# can validate a member call at compile time, reducing the chance of errors in your code. Early binding occurs when you declare a variable as a specific type of object, rather than just as object. The following are important reasons to use early binding: * Speed. * More speed. * Objects, their properties, and their methods appear in IntelliSense drop-down lists. * The compiler can check for syntax and reference errors in your code so that many problems are found at compile time, rather than at runtime. For early binding to take place, an object variable must be declared as a specific object type. Releasing Object References When an object is no longer needed, it should be destroyed so that all the resources used by the object can be reclaimed. Objects are destroyed automatically when the last reference to the object is released. Be aware, however, that objects aren't necessarily destroyed immediately when they are no longer referenced and that you don't have control over when they are destroyed. In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24], you'll learn how the garbage collector cleans up unused objects. In this hour, I'm going to focus on what you should do with an object when you're finished with it. One way to release a reference to an object is simply to let the object variable holding the reference go out of scope, letting the garbage collection of .NET regain the memory space. To explicitly release an object, set the object variable equal to null, like this: <pre>objMyObject = null; </pre> When you set an object variable equal to null, you're assured that the object reference is fully released. However, just because the reference is released does not mean the object is destroyed! The garbage collector will periodically check for unused objects and reclaim the resources they consume, but this may occur a considerable length of time after the object is no longer used. Therefore, you should add a Dispose() method to all your classes. You should place clean-up code within your Dispose() method and always call Dispose() when you are finished with an object. One thing to keep in mind is that it is technically possible to have more than one variable referencing an object. When this occurs, calling Dispose() may cause clean-up code to execute and therefore cause problems for the code using the second object variable. As you can see, you need to consider many things when programming objects. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you don't correctly release resources used by your objects, your application may experience resource leaks, may become sluggish, and might consume more resources than it should. If your object uses resources (such as memory or hardware resources), you should implement a Dispose() method. In addition, you should always call the Dispose() method of an object you are finished with if the object has implemented a Dispose() method. |} Understanding the Lifetime of an Object An object created from a class exists until the garbage collector (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24]) determines it is no longer used and then destroys the object. Fortunately, C# (or more specifically, the .NET Framework ) handles the details of keeping track of the references to a given object; you don't have to worry about this when creating or using objects. When all the references to an object are released, C# destroys the object. Your primary responsibility for destroying objects is to call Dispose() on any objects that you are finished with and to create a Dispose() method for your own classes that use resources. Beyond that, the garbage collector handles the details of destroying the objects. * An object is created (and hence referenced) when an object variable is declared using the keyword new (for example, <tt>clsMyClass objMyObject = new clsMyClass();</tt>). * An object is referenced when an object variable is assigned an existing object (for example, <tt>objThisObject = objThatObject;</tt>). * An object reference is released when an object variable is set to null (see the section "[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#ch17lev2sec6 Releasing Object References]") or goes out of scope. * When the last reference to an object is released, the object becomes eligible for garbage collection. Many factors, including available system resources, determine when the garbage collector executes next and destroys unused objects. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary Object-oriented programming is an advanced methodology that enables you to create more robust applications; programming classes is the foundation of OOP. In this hour, you learned how to create classes, which are the templates used to instantiate objects. You learned how to create a custom interface consisting of properties and methods and how to use the classes you've defined to instantiate and manipulate objects by way of object variables. You've also learned how you should implement a Dispose() method for classes that consume resources and how it is important to call Dispose() on objects that implement it to ensure that the object frees up its resources as soon as possible. Finally, you learned how objects aren't destroyed as soon as they are no longer needed; rather, they become eligible for garbage collection and are destroyed when the garbage collector next cleans up. In this hour, you learned the basic mechanics of programming objects with classes. Object-oriented programming takes considerable skill, and you'll need to master the concepts in this book before you can really begin to take advantage of what OOP has to offer. Nevertheless, what you learned in this hour will take you further than you might think. Using an OOP methodology is as much a way of thinking as it is a way of programming; consider how things in your projects might work as objects, and before you know it, you'll be creating robust classes. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#qad1e52454 Q1:]''' | Should I always try to place code into instance classes rather than static classes? |- | align="right" | ''' A1: ''' | Not necessarily. As with most things, there are no hard and fast rules. Correctly programming instance classes takes some skill and experience, and programming static is easier for the beginner. If you want to experiment with instance classes, I encourage you to do so. However, don't feel as though you have to place everything into instantiated classes. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/17.htm#qad1e52464 Q2:]''' | I want to create a general class with a lot of miscellaneous methods�sort of a "catchall" class. What is the best way to do this? |- | align="right" | ''' A2: ''' | If you want to create some sort of utility class, I recommend calling the class something like clsUtility. Then you can use this class throughout your application to access the utility functions. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans01 1:]''' | To create objects, you must first create a template. This template is called a: |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans02 2:]''' | One of the primary benefits of object-oriented programming is that objects contain both their data and their code. This is called: |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans03 3:]''' | With static classes, public variables and routines are always available to code via the static class in other modules. Is this true with public variables and routines in classes? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans04 4:]''' | True or False: Each object derived from a class has its own set of class-level data. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans05 5:]''' | What must you do to create a property that can be read but not changed by client code? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans06 6:]''' | What is the best way to store the internal value of a property within a class? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans07 7:]''' | Which is generally superior, early binding or late binding? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec17.htm#ch17ans08 8:]''' | What is the best way to release an object you no longer need? |} Exercises # Add a new property to your class called DropsInABucket. Make this property a Long, and set it up so that client code can read the property value but not set it. Finally, add a button to the form that, when clicked, prints the value of the property to the Output window. When this is working, modify the code so that the property always returns 1,000,000. # Add a button to your form that creates two object variables of type clsMyClass(). Use the new keyword to instantiate a new instance of the class in one of the variables. Then set the second variable to reference the same object and print the contents of the Height property to the Output window. 5qptz9tvpukvzzjl5bqe4i82367bdu7 User:Foxall/18 2 2153 5614 2007-06-18T00:55:16Z Foxall 27 Bog cusub: == Hour 18. Interacting with Users == Forms and controls are the primary means by which users interact with an application, and vice versa. However, program interaction can and often doe... 5614 wikitext text/x-wiki == Hour 18. Interacting with Users == Forms and controls are the primary means by which users interact with an application, and vice versa. However, program interaction can and often does go deeper than that. For example, a program can display customized messages to a user, and it can be finely tuned to deal with certain keystrokes or mouse clicks. In this hour, you'll learn how to create functional and cohesive interaction between your application and the user. In addition, you'll learn how to program the keyboard and the mouse so that you can expand the interactiveness of your program beyond what is natively supported by a form and its controls. The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch18lev1sec1.htm#ch18lev1sec1 Displaying messages using the MessageBox.Show() method] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch18lev1sec2.htm#ch18lev1sec2 Creating custom dialog boxes] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch18lev1sec3.htm#ch18lev1sec3 Interacting with the keyboard] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch18lev1sec4.htm#ch18lev1sec4 Using the common mouse events] ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Displaying Messages Using the MessageBox.Show() Method A message box is a small dialog box that displays a message to the user. Message boxes are often used to tell the user the result of some action, such as <tt>The file has been copied</tt>. or <tt>The file could not be found</tt>. A message box is dismissed when the user clicks one of the message box's available buttons. Most applications have many message boxes, yet developers often don't display messages correctly. It's important to remember that when you display a message to a user, you're communicating with the user. In this section, I want to teach you not only how to use the MessageBox.Show() method to display messages, but how to use the statement effectively. The MessageBox.Show() method can be used to tell a user something or ask the user a question. In addition to text, which is its primary function, you can also use this function to display an icon or display one or more buttons that the user can click. Although you are free to display whatever text you want, you must choose from a predefined list of icons and buttons. A MessageBox.Show() method is an overloaded method. This means that the method was written with numerous constructs supporting various options. While coding in Visual Studio .NET, IntelliSense displays a drop-down scrolling list displaying any of the twelve overloaded MessageBox.Show method calls to aid in coding. Following are a few ways to call MessageBox.Show(): To display a message box with specified text, a caption in the title bar, and an OK button, use this syntax: <pre>MessageBox.Show(MessageText, Caption); </pre> To display a message box with specified text, caption, and one or more specific buttons, use this syntax: <pre>MessageBox.Show(MessageText, Caption, Buttons); </pre> To display a message box with specified text, caption, buttons, and icon, use this syntax: <pre>MessageBox.Show(MessageText, Caption, Buttons, Icon); </pre> In all these statements, <tt>MessageText</tt> is the text to display in the message box, <tt>Caption</tt> determines what appears in the title bar, <tt>Buttons</tt> determines which buttons the user sees, and <tt>Icon</tt> determines what icon (if any) appears in the message box. Consider the following statement, which produces the message box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig01 Figure 18.1]. <center> </center> <pre>MessageBox.Show("This is a message."); </pre> As you can see, if you omit <tt>Buttons</tt>, C# displays only an OK button. You should always ensure that the buttons displayed are appropriate for the message. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Visual Basic MsgBox() function defaults the caption for the message box to the name of the project. There is no default in C#. |} Specifying Buttons and an Icon The Buttons parameter contains the "meat" of the message box statement. Using the Buttons parameter, you can display a button (or buttons) in the message box. The Buttons parameter type is MessageBoxButtons, and the allowable values are shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table01 Table 18.1]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 18.1. Allowable Enumerators for MessageBoxButtons |- | Members | Description |- | <tt>AbortRetryIgnore</tt> | Displays Abort, Retry, and Ignore buttons. |- | <tt>OK</tt> | Displays OK button only. |- | <tt>OKCancel</tt> | Displays OK and Cancel buttons. |- | <tt>YesNoCancel</tt> | Displays Yes, No, and Cancel buttons. |- | <tt>YesNo</tt> | Displays Yes and No buttons. |- | <tt>RetryCancel</tt> | Displays Retry and Cancel buttons. |} Because the Buttons parameter is an enumerated type, C# gives you an IntelliSense drop-down list when specifying a value for this parameter. Therefore, committing these values to memory isn't all that important; you'll fairly quickly commit the ones you use most often to memory. The Icon parameter determines the symbol displayed in the message box. The Icon parameter is an enumeration from the MessageBoxIcon type. The MessageBoxIcon has the values shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table02 Table 18.2]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 18.2. Enumerators for MessageBoxIcon |- | Members | Description |- | Asterisk | Displays a symbol consisting of a lowercase letter i in a circle. |- | Error | Displays a symbol consisting of a white X in a circle with a red background. |- | Exclamation | Displays a symbol consisting of an exclamation point in a triangle with a yellow background. |- | Hand | Displays a symbol consisting of a white X in a circle with a red background. |- | Information | Displays a symbol consisting of a lowercase letter i in a circle. |- | None | Displays no symbol. |- | Question | Displays a symbol consisting of a question mark in a circle. |- | Stop | Displays a symbol consisting of a white X in a circle with a red background. |- | Warning | Displays a symbol consisting of an exclamation point in a triangle with a yellow background. |} The Icon parameter is also an enumerated type; therefore, C# gives you an IntelliSense drop-down list when specifying a value for this parameter. The message box in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig02 Figure 18.2] was created with the following statement: <pre>MessageBox.Show("I'm about to do something...","MessageBox sample", MessageBoxButtons.OKCancel,MessageBoxIcon.Information); </pre> <center>Figure 18.2. Assign the Information icon to general messages. [[Image:18fig02.jpg|299px|graphics/18fig02.jpg]] </center> The message box in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig03 Figure 18.3] was created with a statement almost identical to the previous one, except that the second button is designated the default button. If a user presses the Enter key with a message box displayed, the message box acts as though the user clicked the default button. You'll want to give careful consideration to the default button in each message box. For example, if the application is about to do something that the user probably doesn't want to do, it's best to make the Cancel button the default button�in case the user is a bit quick when pressing the Enter key. Following is the statement used to generate the message box in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig03 Figure 18.3]. <center>Figure 18.3. The default button has a dark border. [[Image:18fig03.jpg|301px|graphics/18fig03.jpg]] </center> <pre>MessageBox.Show("I'm about to do something...","MessageBox sample", MessageBoxButtons.OKCancel,MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); </pre> In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig04 Figure 18.4], the Error icon is shown. The Error icon is best used in rare circumstances, such as when an exception has occurred. Overusing the Error icon is like crying wolf�when a real problem emerges, the user might not take notice. Notice here how I've displayed only the OK button. If something has already happened and there's nothing the user can do about it, don't bother giving the user a Cancel button. The following statement generated the message box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig04 Figure 18.4]. <center>Figure 18.4. If users have no control over what has occurred, don't give them a Cancel button. [[Image:18fig04.jpg|301px|graphics/18fig04.jpg]] </center> <pre>MessageBox.Show("Something bad has happened!","MessageBox sample", MessageBoxButtons.OK,MessageBoxIcon.Error); </pre> In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig05 Figure 18.5], a question has been posed to the user, so I chose to display the Question icon. Also note how I assumed that the user would probably choose No, so I made the second button the default. In the next section, you'll learn how to determine which button the user clicks. Here's the statement used to generate the message box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig05 Figure 18.5]: <pre>MessageBox.Show("Would you like to format your hard drive now?", "MessageBox sample",MessageBoxButtons.YesNo,MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); </pre> <center>Figure 18.5. Message boxes can be used to ask a question. [[Image:18fig05.jpg|330px|graphics/18fig05.jpg]] </center> As you can see, designating buttons and icons is not all that difficult. The real thought comes in determining which buttons and icons are appropriate for a given situation. Determining Which Button Is Clicked You'll probably find that many of your message boxes are simple, containing only an OK button. For other message boxes, however, you'll need to determine which button a user clicks. Why give the user a choice if you're not going to act on that choice? The MessageBox.Show() method returns the button clicked as a DialogResult enumeration. The DialogResult has the following values, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table03 Table 18.3]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 18.3. Enumerators for DialogResult |- | Members | Description |- | Abort | Return value Abort, usually sent from a button labeled Abort. |- | Cancel | Return value Cancel, usually sent from a button labeled Cancel. |- | Ignore | Return value Ignore, usually sent from a button labeled Ignore. |- | No | Return value No, usually sent from a button labeled No. |- | None | Nothing is returned from the dialog box. The model dialog will continue running. |- | OK | Return value OK, usually sent from a button labeled OK. |- | Retry | Return value Retry, usually sent from a button labeled Retry. |- | Yes | Return value Yes, usually sent from a button labeled Yes. |} Performing actions based on the button clicked is a matter of using one of the decision constructs. For example: <pre>if (MessageBox.Show("Would you like to do X?","MessageBox sample", MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes) // Code to do X would go here. </pre> As you can see, MessageBox.Show() is a method that gives you a lot of "bang for your buck"; it offers considerable flexibility. Crafting Good Messages The MessageBox.Show() method is surprisingly simple to use, considering all the different forms of messages it enables you to create. The real trick is in providing appropriate messages to users and appropriate times. In addition to considering the icon and buttons to display in a message, you should follow these guidelines for crafting message text. * Use a formal tone. Don't use large words, and avoid using contractions. Strive to make the text immediately understandable and not overly fancy; a message box is not a place to show off your literary skills. * Limit messages to two or three lines. Lengthy messages are not only harder for users to read, but they can also be intimidating. When a message box is used to ask a question, make the question as simple as possible. * Never make users feel as though they've done something wrong. Users will, and do, make mistakes, but you should craft messages that take the sting out of the situation. * Spell check all message text. Visual Studio's code editor doesn't spell check for you, so you should type your messages into a program such as Word and spell check the text before pasting it into your code. Spelling errors have an adverse effect on a user's perception of a program. * Avoid technical jargon. Just because someone uses software doesn't mean that he or she is a technical person; explain things in plain English. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Creating Custom Dialog Boxes Most of the time, the MessageBox.Show() method should be a sufficient means to display messages to a user. At times, however, the MessageBox.Show() method is too limited for a given purpose. For example, suppose you wanted to display a lot of text and therefore wanted a message box that was sizable by the user. Custom dialog boxes are nothing more than standard modal forms with one notable exception: one or more buttons are designated to return a dialog result, the same as the buttons on a message box shown with the MessageBox.Show() method. You're now going to create a custom dialog box. Create a new Windows Application titled Custom Dialog Example. Change the name of the default form to fclsMain, set its Text property to Custom Dialog Box Example, and set the Main() entry point of the project to reference fclsMain rather than Form1. Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowCustomDialogBox</tt> |- | <tt>Location</tt> | <tt>72,180</tt> |- | <tt>Size</tt> | <tt>152,23</tt> |- | <tt>Text</tt> | <tt>Show Custom Dialog Box</tt> |} Next, you're going to create the custom dialog box. Add a new form to the project by choosing Add Windows Form from the Project menu. Save the new form with the name fclsCustomDialogBox.cs. Change the Text property of the new form to This is a custom dialog box. Add a new text box to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtCustomMessage</tt> |- | <tt>Location</tt> | <tt>8,8</tt> |- | <tt>Locked</tt> | <tt>true</tt> |- | <tt>Multiline</tt> | <tt>true</tt> |- | <tt>Size</tt> | <tt>276,224</tt> |- | <tt>Text</tt> | <tt>Custom message goes here</tt> |} For a custom dialog box to return a result like a standard message box does, it must have buttons that are designated to return a dialog result. This is accomplished by setting the DialogResult property of a button (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig06 Figure 18.6]). <center>Figure 18.6. The DialogResult property determines the return value of the button. [[Image:18fig06.jpg|500px|graphics/18fig06.jpg]] </center> Add a new button to the form and set its properties as shown in the following table. This button will act as the custom dialog box's Cancel button. {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnCancel</tt> |- | <tt>DialogResult</tt> | <tt>Cancel</tt> |- | <tt>Location</tt> | <tt>128,240</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>Cancel</tt> |} Last, you need to create an OK button for the custom dialog box. Create another button and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnOK</tt> |- | <tt>DialogResult</tt> | <tt>OK</tt> |- | <tt>Location</tt> | <tt>208,240</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>OK</tt> |} Specifying a dialog result for one or more buttons is the first step in making a form a custom dialog box. The second part of the process is in how the form is shown. As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch05.htm#ch05 Hour 5], "Building Forms�Part I," forms are displayed by calling the Show method of the form or setting its visible property to true. However, to show a form as a custom dialog box, you call the ShowDialog method instead. When a form is displayed using ShowDialog, the following occurs: * The form is shown modally. * If the user clicks a button that has its DialogResult property set to return a value, the form is immediately closed and that value is returned as the result of the ShowDialog method call. Notice how you don't have to write code to close the form; clicking a button with a dialog result closes the form automatically. This simplifies the process of creating custom dialog boxes. Return to the first form in the form designer by clicking the Form1.cs [Design] tab. Double-click the button you created and add the following code: <pre>fclsCustomDialogBox objCustomDialogBox = new fclsCustomDialogBox(); if (objCustomDialogBox.ShowDialog() == DialogResult.OK) MessageBox.Show("You clicked OK."); else MessageBox.Show("You clicked Cancel."); objCustomDialogBox = null; </pre> Press F5 to run the project, click the button to display your custom dialog box (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig07 Figure 18.7]), and then click one of the available dialog box buttons. When you're satisfied the project is working correctly, stop the project and save your work. <center>Figure 18.7. The ShowDialog method enables you to create custom message boxes. [[Image:18fig07.jpg|300px|graphics/18fig07.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you click the Close (X) button in the upper-right corner of the form, the form is closed and the code behaves as if you've clicked Cancel; the else code occurs. |} The capability to create custom dialog boxes is a powerful feature. Usually, a call to MessageBox.Show() will suffice, but when you need more control over the appearance and contents of a message box, creating a custom dialog box is the way to go. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Interacting with the Keyboard Most every control handles its own keyboard input; however, on occasion, you'll want to handle keyboard input directly. For example, you might want to perform an action when the user presses a specific button or releases a specific button. Most controls support three events that you can use to work directly with keyboard input. These are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table04 Table 18.4]. {| cellspacing="0" cellpadding="1" border="1"|+ Table 18.4. Events That Handle Keyboard Input |- | Event Name | Description |- | <tt>KeyDown</tt> | Occurs when a key is pressed down while the control has the focus. |- | <tt>KeyPress</tt> | Occurs when a key is pressed (the key has been pushed down and then released) while the control has the focus. |- | <tt>KeyUp</tt> | Occurs when a key is released while the control has the focus. |} These events fire in the same order in which they appear in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table04 Table 18.4]. Suppose, for example, that the user presses a key while a text box has the focus. The following list shows how the events would fire for the text box: # When the user presses a key, the KeyDown event fires. # When the user releases a key, the KeyPress event fires. # After the KeyPress event fires, the KeyUp event fires, completing the cycle of keystroke events. You're now going to create a project that illustrates handling keystrokes. This project has a text box that will refuse to display the letter "k." Start by creating a new Windows Application titled Keyboard Example. Change the name of the default form to fclsKeyboardExample, set its Text property to Keyboard Example, and set the Main() entry point of the project to reference fclsKeyboardExample instead of Form1. Add a new text box to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtInput</tt> |- | <tt>Location</tt> | <tt>24,80</tt> |- | <tt>Multiline</tt> | <tt>true</tt> |- | <tt>Size</tt> | <tt>240,120</tt> |- | <tt>Text</tt> | (make blank) |} You're going to add code to the KeyPress event of the text box to "eat" keystrokes made with the letter "k." Select the text box on the form and open the events list in the Properties window (Remember, this is the lightning bolt icon). Scroll through the list and locate the KeyPress event. Next, double-click the KeyPress event to access it in code. Your code editor should look now look like [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig08 Figure 18.8]. <center>Figure 18.8. The KeyPress event is a good place to handle keyboard entry. [[Image:18fig08.jpg|500px|graphics/18fig08.jpg]] </center> As you learned in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch04.htm#ch04 Hour 4], "Understanding Events," the e parameter contains information about the occurrence of this event. In the keyboard events, the e parameter contains information about the key being pressed; therefore, it's what you'll be using to work with the keystroke made by the user. The key being pressed is available as the KeyChar property of the e parameter. You are going to write code that handles the keystroke when the key being pressed is "k." Add the following code to the KeyPress event: <pre>if (e.KeyChar == 'k') e.Handled = true; </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Be sure to surround the k with single quotes, not double-quotes, because you're dealing with a character (char), not a string. |} I would imagine that you're curious about the Handled property of the e object. When you set this property to true, you are telling C# that you handled the keystroke, and C# should ignore it. To see the effect this has, press F5 to run the project and enter the following into the text box: Heard any good jokes lately? What you'll end up with is the text shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig09 Figure 18.9]. <center>Figure 18.9. Notice how the letter k was "eaten" by your code. [[Image:18fig09.jpg|301px|graphics/18fig09.jpg]] </center> Go ahead, try to enter another "k"�you can't. Next, try to enter an uppercase "K"; C# allows you to do this because uppercase and lowercase characters are considered different characters. Want to catch all "Ks," regardless of case? You could do so by adding the <tt>OR (||)</tt> operand to your decision construct, like this: <pre>if (e.KeyChar == 'k'|| e.KeyChar == 'K') e.Handled = true; </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | It's not often that I need to catch a keypress, but every now and then I do. The three keystroke events have always made it easy to do what I need to do, but if there's any caveat I've discovered, it's that you need to give careful consideration to which event you choose (such as KeyPress or KeyUp, for example). Different events work best in different situations, and the best thing to do is to start with what seems like the most logical event, test the code, and change the event if necessary. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using the Common Mouse Events As with keyboard input, most controls support mouse input natively; you don't have to write code to deal with mouse input. However, at times you need more control than that offered by the native functionality of a control. C# supports six events that enable you to deal with mouse input directly. These events are listed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18table05 Table 18.5], in the order in which they occur. {| cellspacing="0" cellpadding="1" border="1"|+ Table 18.5. Events Used to Handle Mouse Input |- | Event Name | Description |- | <tt>MouseEnter</tt> | Occurs when the pointer enters a control. |- | <tt>MouseMove</tt> | Occurs when the pointer moves over a control. |- | <tt>MouseHover</tt> | Occurs when the pointer hovers over a control. |- | <tt>MouseDown</tt> | Occurs when the pointer is over a control and a button is pressed. |- | <tt>MouseUp</tt> | Occurs when the pointer is over a control and a button is released. |- | <tt>MouseLeave</tt> | Occurs when the pointer leaves a control. |} You're now going to build a project that illustrates interacting with the mouse, using the MouseMove event. This project will allow a user to draw on a form, much like you can draw in a paint program. Begin by creating a new Windows Application titled Mouse Paint. Change the name of the default form to fclsMousePaint, set its Text property to Paint with the Mouse, and set the Main() entry point of the project to reference fclsMousePaint instead of Form1. Next, double-click the form to access its default event, the Load event. Enter the following statement into the load event: <pre>m_objGraphics = this.CreateGraphics(); </pre> You've already used a graphics object a few times. What you're doing here is setting a graphics object to the client area of the form; any drawing performed on the object will appear on the form. Because you're going to draw to this graphics object each time the mouse moves over the form, there's no point in creating a new graphics object each time you need to draw to it. Therefore, you're going to make m_objGraphics a module-level variable, which will be instantiated only once�in the Load event of the form. Enter this statement below the opening curly-brace after the public class fclsMousePaint class declaration: <pre>private Graphics m_objGraphics; </pre> As I've said previously, you should always destroy objects when you're done with them. In this case, you want the object to remain in existence for the life of the form. Therefore, you'll destroy it in the Closed event of the form, which occurs when the form is unloaded. Return to the Form1.cs[Design] tab, open the events list in the Property window and double-click the Closed event to create and open the code window to the Closed event. Enter the following statement in the Closed event: <pre>m_objGraphics.Dispose(); </pre> Your form should now look like the one shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig10 Figure 18.10]. The last bit of code you need to add is the code that will draw on the form. You're going to place code in the MouseMove event of the form to do this. First, the code will make sure the left mouse button is held down. If it's not, no drawing will take place; the user must hold down the mouse button to draw. Next, a rectangle will be created. The coordinates of the mouse pointer will be used to create a very small rectangle that will be passed to the DrawEllipse method of the graphics object. This has the effect of drawing a tiny circle right where the mouse pointer is positioned. Again, Return to the Form1.cs[Design] tab, open the events list in the Property window, and double-click the MouseMove event to create and open the code window to the MouseMove event. Add the following code to this event: <pre>Rectangle rectEllipse = new Rectangle() ; if (e.Button != MouseButtons.Left) return; rectEllipse.X = e.X - 1; rectEllipse.Y = e.Y - 1; rectEllipse.Width = 2; rectEllipse.Height = 2; m_objGraphics.DrawEllipse(System.Drawing.Pens.Blue, rectEllipse); </pre> Like all events, the e object contains information related to the event. In this example, you are using the X and Y properties of the e object, which is the coordinate of the pointer when the event fires. In addition, you're checking the Button property of the object to make sure the user is pressing the left button. Your project is now complete! Save your work by clicking Save All on the toolbar, and then press F5 to run the project. Move your mouse over the form�nothing happens. Now, hold down the left mouse button and move the mouse. This time, you'll be drawing on the form (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#ch18fig11 Figure 18.11]). <center> </center> Notice that the faster you move the mouse, the more space appears between circles. This shows you that the user is able to move the mouse faster than the MouseMove event can fire, so you can't get every single movement of the mouse. This is important to remember. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary Forms and controls allow for a lot of flexibility in the way a user interacts with an application. However, solid interactivity goes beyond what is placed on a form. In this hour, you learned how to use the MessageBox.Show() method to create informational dialog boxes. You learned how to specify an icon, buttons, and even how to designate a specific button as the default button. You also learned some valuable tips to help you create the best messages possible. You'll create message boxes frequently, so mastering this skill is important. Finally, you learned how to interact with the keyboard and the mouse directly, through numerous events. Sometimes, the mouse or keyboard capabilities of a control fall short of what you want to accomplish. By understanding the concepts presented in this hour, you can go beyond the native capabilities of controls to create a rich, interactive experience for your users. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#qad1e55907 Q1:]''' | Is it possible to capture keystrokes at the form level, rather than capturing them in control events? |- | align="right" | ''' A1: ''' | Yes. For the form's keyboard-related events to fire when a control has the focus, however, you must set the form's KeyPreview property to true. The control's keyboard events will still fire, unless you set <tt>KeyAscii = 0</tt> in the form's KeyPress event and <tt>KeyCode = 0</tt> in the form's KeyDown event. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/18.htm#qad1e55926 Q2:]''' | You don't seem to always specify a button in your MessageBox.Show() statements throughout this book. Why? |- | align="right" | ''' A2: ''' | If you don't explicitly designate a button or buttons, C# displays the OK button. Therefore, if all you want is an OK button, you do not need to pass a value to the buttons argument. |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec18.htm#ch18ans01 1:]''' | What minimal argument should you supply when calling MessageBox.Show()? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec18.htm#ch18ans02 2:]''' | If you don't supply a value for the title parameter of MessageBox.Show(), what gets displayed in the title bar of the message? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec18.htm#ch18ans03 3:]''' | What type of data is always returned by the MessageBox.Show() method? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec18.htm#ch18ans04 4:]''' | Which event fires first, the KeyUp or KeyPress event? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec18.htm#ch18ans05 5:]''' | How do you determine which button is being pressed in a mouse-related event? |} Exercises # Modify your custom dialog box project so that the OK button is the Accept button of the form. That way, the user has only to press Enter to dismiss the dialog box. Next, make the Cancel button the Cancel button of the form so that the user can press the Esc key to dismiss the form as well. # Modify your mouse paint project so that the form clears each time the user starts drawing. Hint: Clear the graphics object in the MouseDown event. cnzeda5kaz7z4h7srd9gxica5kqvlu8 User:Foxall/19 2 2154 5615 2007-06-18T00:56:42Z Foxall 27 Bog cusub: == Hour 19. Performing File Operations == It's very difficult to imagine any application other than a tiny utility program that doesn't make use of the file system. In this hour, you'll ... 5615 wikitext text/x-wiki == Hour 19. Performing File Operations == It's very difficult to imagine any application other than a tiny utility program that doesn't make use of the file system. In this hour, you'll learn how to use the controls to make it easy for a user to browse and select files. In addition, you'll learn how to use the System.IO.File and System.IO.Directory objects to manipulate the file system. Using these objects, you can delete files and directories, move them, rename them, and more. These objects are powerful, but please remember: play nice! The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch19lev1sec1.htm#ch19lev1sec1 Using the Open File Dialog and Save File Dialog controls] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch19lev1sec2.htm#ch19lev1sec2 Manipulating files with System.IO.File] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch19lev1sec3.htm#ch19lev1sec3 Manipulating directories with System.IO.Directory] ---- {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Using the Open File Dialog and Save File Dialog Controls In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch01.htm#ch01 Hour 1], "A C# Programming Tour," you used the Open File Dialog control to enable a user to browse for pictures to display in your Picture Viewer program. In this section, you'll move beyond those basics to learn important details about working with the Open File Dialog control, as well as its sister control, the Save File Dialog. You're going to build a project to illustrate most of the file-manipulation concepts discussed in this hour. Before continuing, create a new Windows Application titled Manipulating Files. Change the name of the default form to fclsManipulatingFiles, set its Text to Manipulating Files, and then set the entry point of the project to fclsManipulatingFiles. Add a new text box to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>txtSource</tt> |- | <tt>Location</tt> | <tt>95,8</tt> |- | <tt>Size</tt> | <tt>184,20</tt> |- | <tt>Text</tt> | (make blank) |} Using the Open File Dialog Control The Open File Dialog control is used to display a dialog box that enables the user to browse and select a file (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig01 Figure 19.1]). It's important to note that usually the Open File Dialog doesn't actually open a file, but it allows a user to select a file that is then opened by code within the application. <center>Figure 19.1. The Open File dialog box is used to browse and select files. [[Image:19fig01.jpg|500px|graphics/19fig01.jpg]] </center> Add a new Open File Dialog to your project now by double-clicking the OpenFileDialog item in the toolbox. The Open File Dialog doesn't have an interface per se, so it appears in the area below the form rather than on it. For the user to browse for files, you have to manipulate the Open File Dialog using its properties and methods. You're going to add a button to the form that, when clicked, allows a user to locate and select a file. If a user selects a file, the filename will be placed in the text box you've created. Go ahead and add a button to the form now, and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnOpenFile</tt> |- | <tt>Location</tt> | <tt>8,8</tt> |- | <tt>Size</tt> | <tt>80,23</tt> |- | <tt>Text</tt> | <tt>Source</tt> |} Next, double-click the button and add the following code to its Click event: <pre>openFileDialog1.InitialDirectory = @"C:\"; openFileDialog1.Title = "Select a File"; </pre> The first statement specifies the directory to display when the dialog box is first shown. If you don't specify a directory for the InitialDirectory property, the active system directory is used (for example, the last directory browsed to with a different Open File dialog box). The Title property of the Open File Dialog determines the text displayed in the title bar of the Open File dialog box. If you don't specify text for the Title property, C# displays the word Open in the title bar. Different types of files have different extensions. The Filter property determines what types of files appear in the Open File dialog box (refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig01 Figure 19.1]). A filter is specified in the following format: <pre>Description|*.extension </pre> The text that appears before the pipe symbol (<tt>|</tt>) is the descriptive text of the file type to filter on, whereas the text after the pipe symbol is the pattern used to filter files. For example, to display only Windows bitmap files, you could use a filter such as the following: <pre>control.Filter = "Windows Bitmaps|*.bmp"; </pre> You can specify more than one filter type. To do this, add a pipe symbol (<tt>|</tt>) between the filters, like this: <pre>control.Filter = "Windows Bitmaps|*.bmp|JPEG Files|*.jpg"; </pre> You're going to restrict your Open File dialog box to show only text files, so enter the following statement in your btnOpenFile_Click code: <pre>openFileDialog1.Filter = "Text Files|*.txt"; </pre> When you have more than one filter, you can specify which filter appears selected by default using the <tt>FilterIndex</tt> property. Although you've specified only one filter type in this example, it's still a good idea to designate the default filter, so add this statement to your code: <pre>openFileDialog1.FilterIndex = 1; </pre> Finally, you need to show the Open File dialog box and take action based on whether the user selects a file. The ShowDialog() method of the Open File Dialog control acts much like the method of forms by the same name, returning a result that indicates the user's selection on the dialog box. Enter the following statements into your procedure: <pre>if (openFileDialog1.ShowDialog() != DialogResult.Cancel) txtSource.Text = openFileDialog1.FileName; else txtSource.Text = ""; </pre> This code just places the selected filename into the text box txtSource. If the user clicks Cancel, the contents of the text box are cleared. Press F5 to run the project and click the button. You'll get the same dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig01 Figure 19.1] (with different files and directories, of course). Select a text file, click Open, and C# places the name of the file into the text box. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | By default, the Open File Dialog won't allow the user to enter a filename that doesn't exist. You can override this behavior by setting the CheckFileExists property of the Open File Dialog to false. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Open File Dialog control has the capability to allow the user to select multiple files. It's rare that you need to do this (I don't recall ever needing this capability in one of my projects), so I won't go into the details here. If you're interested, take a look at the Multiselect property of the Open File Dialog in the Help text. |} The Open File Dialog control makes allowing a user to browse and select a file almost trivial. Without this code, you would have to write an amazing amount of very difficult code and would still probably not come up with all the functionality supported by this control. Using the Save File Dialog Control The Save File Dialog control is very similar to the Open File Dialog control, but it is used to allow a user to browse directories and specify a file to save, rather than open. Again, it's important to note that the Save File Dialog doesn't actually save a file, it is used to enable a user to specify a file to save; you'll have to write code to do something with the filename returned by the control. You're going to use the Save File Dialog to let the user specify a filename. This filename will be the target of various file operations you'll learn about later in this hour. Create a new text box on your form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>txtDestination</tt> |- | <tt>Location</tt> | <tt>95,40</tt> |- | <tt>Size</tt> | <tt>184,20</tt> |- | <tt>Text</tt> | (make blank) |} You're now going to create a button that, when clicked, enables the user to specify a filename to save a file. Add a new button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnSaveFile</tt> |- | <tt>Location</tt> | <tt>8,40</tt> |- | <tt>Size</tt> | <tt>80,23</tt> |- | <tt>Text</tt> | <tt>Destination</tt> |} Of course, none of this will work without adding a Save File dialog box. Double-click the SaveFileDialog item in the toolbox to add a new control to the project. Next, double-click the new button (btnSaveFile) and add the following code to its Click event: <pre>saveFileDialog1.Title = "Specify Destination Filename"; saveFileDialog1.Filter = "Text Files|*.txt"; saveFileDialog1.FilterIndex = 1; saveFileDialog1.OverwritePrompt = true; </pre> The first three statements set properties that are identical to those of the Open File Dialog. The OverwritePrompt property, however, is unique to the Save File Dialog. When this property is set to true, C# asks users to confirm their selections when they choose a file that already exists, as shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig02 Figure 19.2]. I highly recommend that you prompt the user about replacing files by ensuring the OverwritePrompt property is set to true. <center>Figure 19.2. It's a good idea to get confirmation before replacing an existing file. [[Image:19fig02.jpg|291px|graphics/19fig02.jpg]] </center> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If you want the Save File dialog box to prompt users when the file they specify doesn't exist, set the CreatePrompt property of the Save File Dialog control to true. |} The last bit of code you need to add places the selected filename in the txtDestination text box. Enter the code as shown here: <pre>if (saveFileDialog1.ShowDialog() != DialogResult.Cancel) txtDestination.Text = saveFileDialog1.FileName; </pre> Press F5 to run the project. Then click each of the buttons and select a file. When you're satisfied that your selections are being sent to the appropriate text box, stop the project and save your work. If your selected filenames aren't being sent to the proper text box, verify that your code is correct. The Open File Dialog and Save File Dialog controls are very similar in their design and appearance, but each serves a specific purpose. Throughout the rest of this hour, you'll be using the interface you've just created. Manipulating Files with the File Object .NET includes a powerful object called System.IO (technically, System and IO are Namespaces, but they behave like objects). Using various properties, methods, and object properties of System.IO, you can do just about anything you can imagine with the file system. In particular, the System.IO.File and System.IO.Directory objects provide you with extensive file and directory (folder) manipulation. In the following sections, you'll continue to expand the project that you created earlier in this hour. You'll be writing code that manipulates the filenames selected using the Open File Dialog and Save File Dialog controls. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The code you'll write in the following sections is "the real thing." For instance, the code for deleting a file really deletes a file. Don't forget this as you test your project; the files selected as the source and as the destination will be affected by your actions. I provide the cannon; it's up to you not to shoot yourself in the foot. |} Determining Whether a File Exists Before attempting any operation on a file, such as copying or deleting it, it's a good idea to make certain the file exists. For example, if the user doesn't click the Source button to select a file but types the name and path of a file into the text box instead, the user could type an incorrect filename. Attempting to manipulate a nonexistent file could result in an exception, which you don't want to happen. Because you're going to work with the source file selected by the user in many routines, you're going to write a central function that can be called to determine whether the source file exists. The function uses the Exists() method of the System.IO.File object to determine whether the file exists. Add the following method to your Form class: <pre>bool SourceFileExists() { if (!System.IO.File.Exists(txtSource.Text)) { MessageBox.Show("The source file does not exist!"); return false; } else return true; } </pre> The Exists() method accepts a string containing the filename (with path) of the file to verify. If the file exists, Exists() returns true; otherwise, it returns false. Copying a File Copying files is a common task. For instance, you may want to create an application that backs up important data files by copying them to another location. For the most part, copying is pretty safe�as long as you specify a destination filename that doesn't already exist. Copying files is accomplished using the Copy() method of the System.IO.File object. You're now going to add a button to your form. When the user clicks this button, the file specified in the source text box will be copied to a new file with the name given in the destination text box. Add a button to your form now and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnCopyFile</tt> |- | <tt>Location</tt> | <tt>96,80</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>Copy</tt> |} Double-click the Copy button and add the following code: <pre>if (!SourceFileExists()) return; System.IO.File.Copy(txtSource.Text, txtDestination.Text); MessageBox.Show("The file has been successfully copied."); </pre> The Copy() method has two arguments. The first is the file that you want to copy, and the second is the name and path of the new copy of the file. In this example, you're using the filenames in the two text boxes. Press F5 to run the project and test your copy code now by following these steps: # Click the Source button and select a text file. # Click the Destination button to display the Save File dialog box. Don't select an existing file. Instead, type a new filename into the File Name text box and click Save. If you are asked whether you want to replace a file, click No and change your filename; don't use the name of an existing file. # Click Copy to copy the file. After you get the message box telling you the file was copied, you can use Explorer to locate the new file and open it. Stop the project and save your work before continuing. Moving a File When you move a file, the file is taken out of its current directory and placed into a new one. You can specify a new name for the file or use the original name. Moving a file is accomplished with the Move() method of the System.IO.File object. You're now going to create a button on your form that will move the file selected as the source to the path and the filename selected as the destination. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | I recommend that you use Notepad to create a text file and then use this temporary text file when testing this code and the rest of the examples that permanently alter or destroy a file. |} Add a new button to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnMove</tt> |- | <tt>Location</tt> | <tt>96,112</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>Move</tt> |} Double-click the Move button and add the following code to its Click event: <pre>if (!SourceFileExists()) return; System.IO.File.Move(txtSource.Text, txtDestination.Text); MessageBox.Show("The file has been successfully moved."); </pre> Remember, if you specify a name for the destination that isn't the same as that of the source, the file will be given the new name when it's copied. Deleting a File Deleting a file can be a risky proposition. The Delete() method of System.IO.File deletes a file permanently�it doesn't send the file to the Recycle Bin. For this reason, you should take great care when deleting files. First and foremost, this means testing your code. When you write a routine to delete a file, be sure to test it under various conditions. For example, if you mistakenly referenced the destination text box instead of the source text box in this project, you could inadvertently delete the wrong file! Users aren't forgiving of such mistakes. You're now going to add a button to your project that deletes the source file when clicked. Remember, be careful when testing this code. Add a button to the form now and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnDelete</tt> |- | <tt>Location</tt> | <tt>96,144</tt> |- | <tt>Size</tt> | <tt>75,23</tt> |- | <tt>Text</tt> | <tt>Delete</tt> |} Next, double-click the button and add the following code to its Click event: <pre>if (!SourceFileExists()) return; if (MessageBox.Show("Are you sure you want to delete the source file?", "Delete [[Image:ccc.gif|18px|graphics/ccc.gif]]Verification",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes) { System.IO.File.Delete(txtSource.Text); MessageBox.Show("The file has been successfully deleted."); } </pre> Notice that you've included a message box to confirm the user's intentions. It's a good idea to do this whenever you are about to perform a serious action that can't be undone. In fact, the more information you can give, the better. For example, I would suggest that if this were production code (code meant for end users) that you include the name of the file in the message box, so the user knows without a doubt what the program intends to do. Renaming a File When you rename a file, it remains in the same directory and nothing materially happens to the contents of the file�the name is changed to something else. Because the original file isn't altered, renaming a file isn't as risky as performing an action such as deleting the file. Nevertheless, it is frustrating trying to determine what happened to a file when it was mistakenly renamed. To rename a file, use the Move() method of System.IO.File, specifying a new filename but keeping the same path. Retrieving a File's Properties Although many don't realize it, files have a number of properties, such as the date the file was last modified. The easiest way to see these properties is to use Explorer. View the attributes of a file now by starting Explorer, right-clicking any file displayed in Explorer, and choosing Properties. Explorer then shows the File Properties window with information about the file (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig03 Figure 19.3]). <center> </center> The System.IO.File object provides ways to get at most of the data displayed on the General tab of the File Properties dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig03 Figure 19.3]. Some of this data is available directly from the File object, whereas others are accessed using a FileAttributes object. Getting Date and Time Information About a File Getting the last created, last accessed, and last modified dates of a file is easy; the System.IO.File object supports a method for each of these dates. [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19table01 Table 19.1] lists the applicable methods and what they return. {| cellspacing="0" cellpadding="1" border="1"|+ Table 19.1. File Object Methods to Retrieve Data Information |- | valign="middle" | Property | valign="middle" | Description |- | <tt>GetCreationTime</tt> | Returns the date and time the file was created. |- | <tt>GetLastAccessTime</tt> | Returns the date and time the file was last accessed. |- | <tt>GetLastWriteTime</tt> | Returns the date and time the file was last modified. |} Getting the Attributes of a File The attributes of a file (refer to the bottom of the dialog box shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig03 Figure 19.3]) aren't available as properties or methods of the System.IO.File object. Just how you determine an attribute's value is a bit complicated. The GetAttributes() method of System.IO.File returns a FileAttributes enumeration. This, in turn, acts as a set of flags for the various attributes. The method used to store these values is called bit packing. Bit packing is pretty complicated and has to do with the binary method in which values are stored in memory and on disk. Teaching bit packing is beyond the scope of this book�what I want to show you is how to determine if a certain flag is set in a value that is bit packed. The first step to determining the attributes is to get the file attributes. To do this, create a FileAttributes variable and call GetAttributes(), like this: <pre>System.IO.FileAttributes objfileAttributes ; lngAttributes = System.IO.File.GetAttributes(txtSource.Text); </pre> After you have the flags in the variable, by <tt>&</tt>ing the variable with one of the flags shown in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19table02 Table 19.2] and then testing whether the result equals the flag, you can determine whether a particular attribute is set. For example, to determine whether a file's ReadOnly flag is set, you could use a statement like the following: <pre>(objfileAttributes & System.IO.FileAttributes.ReadOnly == System.IO.FileAttributes.ReadOnly) </pre> When you <tt>&</tt> a flag value with a variable, you'll get the flag value back if the variable contains the flag; otherwise, you'll get a zero back. {| cellspacing="0" cellpadding="1" border="1"|+ Table 19.2. File Attribute Flags |- | valign="middle" | Attribute | valign="middle" | Meaning |- | <tt>Archive</tt> | The file's archive status. Applications use this attribute to mark files for backup and removal. |- | <tt>Directory</tt> | The file is a directory. |- | <tt>Hidden</tt> | The file is hidden and therefore not included in an ordinary directory listing. |- | <tt>Normal</tt> | The file is normal and has no other attributes set. |- | <tt>ReadOnly</tt> | The file is a read-only file. |- | <tt>System</tt> | The file is part of the operating system or is used exclusively by the operating system. |- | <tt>Temporary</tt> | The file is a temporary file. |} Writing Code to Retrieve a File's Properties Now that you know how to retrieve the properties of an object, you're going to use this knowledge to display the properties of the file specified in the source text box on your form. Begin by adding a new button to your form and setting its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>btnGetFileProperties</tt> |- | <tt>Location</tt> | <tt>8,176</tt> |- | <tt>Size</tt> | <tt>80,56</tt> |- | <tt>Text</tt> | <tt>Get Properties of Source File</tt> |} Next, add a text box to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | valign="middle" | Property | valign="middle" | Value |- | <tt>Name</tt> | <tt>txtProperties</tt> |- | <tt>Location</tt> | <tt>96,176</tt> |- | <tt>Multiline</tt> | <tt>True</tt> |- | <tt>ScrollBars</tt> | <tt>Vertical</tt> |- | <tt>Size</tt> | <tt>184,88</tt> |- | <tt>Text</tt> | (make blank) |} The code you enter into the Click event of the button will be a bit longer than most of the code you've entered so far. Therefore, I'll show the code in its entirety, and then I'll explain what the code does. Double-click the button and add the following code to the button's Click event: <pre>System.Text.StringBuilder stbProperties = new System.Text.StringBuilder(""); System.IO.FileAttributes fileAttributes ; if (!SourceFileExists()) return; // Get the dates. stbProperties.Append("Created: "); stbProperties.Append(System.IO.File.GetCreationTime(txtSource.Text)); stbProperties.Append("\r\n"); stbProperties.Append("Accessed: "); stbProperties.Append(System.IO.File.GetLastAccessTime(txtSource.Text)); stbProperties.Append("\r\n"); stbProperties.Append("Modified: "); stbProperties.Append(System.IO.File.GetLastWriteTime(txtSource.Text)); // Get File Attributes fileAttributes = System.IO.File.GetAttributes(txtSource.Text); stbProperties.Append("\r\n"); stbProperties.Append("Normal: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.Normal) ==System.IO.FileAttributes.Normal)); stbProperties.Append("\r\n"); stbProperties.Append("Hidden: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.Hidden) ==System.IO.FileAttributes.Hidden)); stbProperties.Append("\r\n"); stbProperties.Append("ReadOnly: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.ReadOnly) ==System.IO.FileAttributes.ReadOnly)); stbProperties.Append("\r\n"); stbProperties.Append("System: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.System) ==System.IO.FileAttributes.System)); stbProperties.Append("\r\n"); stbProperties.Append("Temporary File: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.Temporary) ==System.IO.FileAttributes.Temporary)); stbProperties.Append("\r\n"); stbProperties.Append("Archive: "); stbProperties.Append( Convert.ToBoolean((fileAttributes & System.IO.FileAttributes.Archive) ==System.IO.FileAttributes.Archive)); txtProperties.Text = stbProperties.ToString(); </pre> All the various properties of the file are appended to the StringBuilder variable stbProperties. The <tt>"\r\n"</tt> denotes a carriage return and a linefeed, and appending this into the string ensures that each property appears on its own line. The first statement declares an empty StringBuilder variable called stbProperties. The StringBuilder object was designed for optimizing string concatenation. You'll be using the append method of the StringBuilder class to create the file properties text. The second set of statements simply call the GetCreateTime(), GetLastAccessTime(), and GetLastWriteTime() methods to get the values of the date-related properties. Next, the attributes are placed in a variable by way of the GetAttributes() method, and the state of each attribute is determined. The Convert.ToBoolean() method is used so that the words True and False appear. Lastly, you assign the txtProperties.Text value to the created StringBuilder string. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | You've previously used the + to concatenate strings, and this will also work. But, when concatenating a large number of strings, you should use the StringBuilder object. The reason for this is that strings are immutable in .NET�they can never be changed. So every concatenation operation creates an entirely new string object, discarding both of the other strings. This can have a negative affect on performance. |} Press F5 to run the project, click Source to select a file, and then click the button to get and display the attributes. If you entered the code exactly as shown, the attributes of the file should appear in the text box as they do in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#ch19fig04 Figure 19.4]. <center>Figure 19.4. The System.IO.File object enables you to look at the properties of a file. [[Image:19fig04.jpg|312px|graphics/19fig04.jpg]] </center>Manipulating Directories with the Directory Object Manipulating directories (folders) is very similar to manipulating files. However, rather than using System.IO.File, you use System.IO.Directory. Notice that when you specify a directory path, double slashes are used instead of just one. If any of these method calls confuse you, see the previous section on System.IO.File for more detailed information. Following are the method calls: * To create a directory, call the CreateDirectory() method of System.IO.Directory, passing the name of the new folder, like this: (Note: As discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch12.htm#ch12 Hour 12], you must preference literal strings containing slashes with the <tt>@</tt> character.) <pre>System.IO.Directory.CreateDirectory(@"c:\my new directory"); </pre> * To determine whether a directory exists, call the Exists() method of System.IO.Directory, passing it the directory name in question, like this: <pre>MessageBox.Show(Convert.ToString(System.IO.Directory.Exists(@"c:\temp"))); </pre> * To move a directory, call the Move() method of System.IO.Directory. The Move() method takes two arguments. The first is the current name of the directory, and the second is the new name and path of the directory. When you move a directory, the contents of it are moved as well. The following illustrates a call to Move(). <pre>System.IO.Directory.Move(@"c:\current directory name", @"d:\new directory name"); </pre> * Deleting directories is even more perilous than deleting files; when you delete a directory, you also delete all files and subdirectories within the directory. To delete a directory, call the Delete() method of System.IO.Directory, passing it to the directory to delete. I can't tell you often enough that you have to be careful when calling this method; it can you get you into a lot of trouble. The following statement illustrates deleting a directory: <pre>System.IO.Directory.Delete(@"c:\temp"); </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary The Open File Dialog and Save File Dialog controls coupled with System.IO enable you to do many powerful things with a user's file system. In this hour, you learned how to let a user browse and select a file for opening, and how to let a user browse and select a file for saving. Determining a user's file selection is only the first part of the process, however. You also learned how to manipulate files and directories, including renaming, moving, and deleting, by using System.IO. Finally, you learned how to retrieve the properties and attributes of a file. With the techniques shown in this hour, you should be able to do most of what you'll need to do with files and directories. None of this material is very difficult, but don't be fooled by the simplicity; use care whenever manipulating a user's file system. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#qad1e59343 Q1:]''' | What if I want to perform an operation on a file, but something is preventing the operation, such as the file may be open or I don't have rights to the file? |- | align="right" | ''' A1: ''' | All the method calls have one or more exceptions that can be thrown in the event that the method fails. These method calls are listed in the online Help. You can use the techniques discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch16.htm#ch16 Hour 16], "Debugging Your Code," to trap the exceptions. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/19.htm#qad1e59359 Q2:]''' | What if a user types a filename into one of the file dialog boxes, but the user doesn't include the extension? |- | align="right" | ''' A2: ''' | By default, both file dialog controls have their AddExtension properties set to true. When this property is set to true, C# automatically appends the extension of the currently selected filter. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A], "Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans01 1:]''' | True or False: The Open File dialog box automatically opens a file. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans02 2:]''' | What symbol is used to separate a filter description from its extension? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans03 3:]''' | What objects are used to manipulate files? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans04 4:]''' | What arguments are required by System.IO.File.Copy()? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans05 5:]''' | How would you rename a file? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans06 6:]''' | True or False: Files deleted with System.IO.File.Delete() are sent to the Recycle Bin. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec19.htm#ch19ans07 7:]''' | What objects are used to manipulate folders? |} Exercises # Create a project that enables a user to select a file with the Open Dialog control. Store the filename in a text box. Provide another button that, when clicked, creates a backup of the file by making a copy of it with the extension .bak. # Create a project with a text box on it in which the user can type in a three-character file extension. Include a button that, when clicked, shows an Open File dialog box with the filter set to the extension entered by the user. 2dqoxqzgp7gahlb6wodw7dwqkq6c2ju User:Foxall/13 2 2155 5616 2007-06-18T01:00:16Z Foxall 27 Bog cusub: == Hour 13. Performing Arithmetic, String Manipulation, and Date/Time Adjustments == Just as arithmetic is a necessary part of everyday life, it's also vital to developing Windows progra... 5616 wikitext text/x-wiki == Hour 13. Performing Arithmetic, String Manipulation, and Date/Time Adjustments == Just as arithmetic is a necessary part of everyday life, it's also vital to developing Windows programs. You probably won't write an application that doesn't add, subtract, multiply, or divide some numbers. In this hour, you'll learn how to perform arithmetic in code. You'll also learn about order of operator precedence, which determines how C# evaluates complicated expressions (or equations). After you understand operator precedence, you'll learn how to compare equalities�something you'll do all the time. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Boolean logic is the logic C# itself uses to evaluate expressions in decision-making constructs. If you've never programmed before, Boolean logic may be a new concept to you. However, in this hour I explain what you need to know about Boolean logic to create efficient code that performs as expected. Finally, I show you how to manipulate strings and work with dates and times. |} The highlights of this hour include the following: * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec1.htm#ch13lev1sec1 Performing arithmetic] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec1.htm#ch13lev2sec6 Understanding the order of operator precedence] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec2.htm#ch13lev1sec2 Comparing equalities] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec3.htm#ch13lev1sec3 Understanding Boolean logic] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec4.htm#ch13lev1sec4 Manipulating strings] * [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch13lev1sec5.htm#ch13lev1sec5 Working with dates and times] ---- === Performing Basic Arithmetic === To be a programmer, you have to have solid math skills; you'll be performing a lot of basic arithmetic when writing C# applications. To get the results you're looking for in any given calculation, you must * Know the mathematical operator that performs the desired arithmetic function. * Understand and correctly use order of precedence. Using the correct mathematical operator is simple. Most are easy to commit to memory, and you can always look up the ones you're not quite sure of. I'm not going to go into great detail on any of the math functions (if you've made it this far, I'm sure you have a working grasp of math), but I will cover them all. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch07.htm#ch07 Hour 7], "Working with Traditional Controls," I mentioned how the System.Diagnostics.Debug.WriteLine() method prints text to the Output window. I use this method in the examples throughout this hour. You will not be asked to create a project in this chapter, but you may want to try some of these examples in a test project. Because we are planning to use several debug statements, it will be helpful to declare the System.Diagnostics namespace in the header of your class. This permits you to use the methods of the namespace without having to qualify the entire namespace. The following is the line you need to add at the beginning of your class (put it with the other using statements created automatically by C#): <pre>using System.Diagnostics;<br /></pre> For more specific information on the Debug object, refer to [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch16.htm#ch16 Hour 16], "Debugging Your Code." |} Performing Addition Simple addition is performed using the standard addition symbol, the + character. The following line prints the sum of 4, 5, and 6: <pre>Debug.WriteLine(4 + 5 + 6); </pre> You don't have to use a hard-coded value with arithmetic operators. You can use any of the arithmetic operators on numeric variables and constants. For example: <pre>const int c_FirstValue = 4; const int c_SecondValue = 5; Debug.WriteLine(c_FirstValue + c_SecondValue); </pre> This bit of code prints the sum of the constants <tt>c_FirstValue</tt> and <tt>c_SecondValue</tt>, which, in this case, is 9. Performing Subtraction and Negation Like the addition operator, you're most likely familiar with the subtraction operator because it's the same one you would use on a calculator or when writing an equation: the � character. The following line of code prints 2 (the total of 6�4): <pre>Debug.WriteLine(6 - 4); </pre> As with written math, the � character is also used to denote a negative number. For example, to print the value �<tt>6</tt>, you would use a statement such as the following: <pre>Debug.WriteLine(-6); </pre> Performing Multiplication If you work with adding machines, you already know the multiplication operator. The multiplication character is the asterisk (*) character. You can enter this character using Shift+8 or by pressing the * key located in the upper row of the keypad section of the keyboard. Although you would ordinarily use an "x" when writing multiplication equations such as 6 = 3x2 on paper, you'll receive an error if you try this in code; you have to use the * character. The following statement prints 20 (5 multiplied by 4): <pre>Debug.WriteLine(5 * 4); </pre> Performing Division Division is accomplished using the slash (/) operator. This operator is easy to remember if you think of division as fractions. For example, one-eighth is written as 1/8, which literally means one divided by eight. The following statement prints 8 (32 divided by 4): <pre>Debug.WriteLine(32 / 4); </pre> C# overloads the division operator. This means that based on the input arguments, the results may vary. For example, C# division will return an integer when dividing integers, but it will return a fractional number if a float, a double, or a decimal data type is used. Hence, <tt>32 / 5</tt> will return <tt>6</tt>, dropping the remainder (2, in this case). If you wanted to return the actual value of the operation 32 / 5, you would have to specify the numbers with decimal places (that is, 32.0 / 5.0). {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | The modulus operator (%) can be used to find the remainder of an integer division. |} Performing Modulus Arithmetic {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Modulus arithmetic is the process of performing division on two numbers but keeping only the remainder. Modulus arithmetic is performed using the <tt>%</tt> operand, in contrast to using a slash (/) operator symbol. The following are examples of modulus statements and the values they would print: |} <pre>Debug.WriteLine(10 % 5); // Prints 0 Debug.WriteLine(10 % 3); // Prints 1 Debug.WriteLine(12 % 4.3); // Prints 3.4 Debug.WriteLine(13.6 % 5); // Prints 3.6 </pre> The first two statements are relatively easy to understand: 5 goes into 10 twice with no remainder and 3 goes into 10 three times with a remainder of 1. C# processes the third statement as 4.3 going into 12 three times with a remainder of 3.4. In the last statement, C# performs the modulus operation as 5 going into 13.6 twice with a remainder of 3.6. Determining the Order of Operator Precedence {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | When several arithmetic operations occur within a single equation (called an expression), C# must resolve the expression in pieces. The order in which these pieces are evaluated is known as operator precedence. To fully understand operator precedence, you have to brush up a bit on your algebra (most of the math you perform in code is algebraic). |} Consider the following expression: <pre>Debug.WriteLine(6 * 5 + 4); </pre> Two arithmetic operations occur in this single expression. To evaluate the expression, C# must perform both operations: multiplication and addition. Which operation does C# perform first? Does it matter? Absolutely. If C# performs the multiplication before the addition, you end up with the following: [[Image:13equ01.gif|150px|graphics/13equ01.gif]] [[Image:13equ02.gif|162px|graphics/13equ02.gif]] The final result would be that of C# printing 34. Now look at the same equation with the addition performed prior to multiplication: [[Image:13equ03.gif|141px|graphics/13equ03.gif]] [[Image:13equ04.gif|150px|graphics/13equ04.gif]] In this case, C# would print 54�a drastically different number from the one computed when the multiplication is performed first. To prevent these types of errors, C# consistently performs arithmetic operations in the same order�the order of operator precedence (in this case, multiplication and then addition). [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/13.htm#ch13table01 Table 13.1] lists the order of operator precedence for arithmetic and Boolean operators. (Boolean operators are discussed later in this hour.) If you're familiar with algebra, you'll note that the order of precedence used by C# is the same as that used in algebraic formulas. {| cellspacing="0" cellpadding="1" border="1"|+ Table 13.1. C#'s Order of Operator Precedence, Highest to Lowest |- | Category | Operators |- | Multiplicative | <tt>* / %</tt> |- | Additive | <tt>+</tt> <tt>-</tt> |- | Equality | <tt>==</tt> (equal), <tt>!=</tt> (not equal) |- | Logical AND | <tt>&</tt> |- | Logical XOR | <tt>^</tt> |- | Logical OR | <tt>|</tt> |- | Conditional AND | <tt>&&</tt> |- | Conditional OR | <tt>||</tt> |- | Conditional | <tt>?:</tt> |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | Notice that two equal signs are used to denote equality, not one as you might expect. |} {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | All comparison operators (discussed in the next section) have an equal precedence. When operators have an equal precedence, C# evaluates them from left to right. Notice that the multiplication and division operators have an equal precedence, so in an expression that has both, the operators would be evaluated from left to right. The same holds true for addition and subtraction. When expressions contain operators from more than one category (arithmetic, comparison, or logical), arithmetic operators are evaluated first, comparison operators are evaluated next, and logical operators are evaluated last. |} Just as when writing an equation on paper, you can use parentheses to override the order of operator precedence. Operations placed within parentheses are always evaluated first. Consider the previous example: <pre>Debug.WriteLine(6 * 5 + 4); </pre> Using the order of operator precedence, C# evaluates the equation like this: <pre>Debug.WriteLine((6 * 5) + 4); </pre> The multiplication is performed first, and then the addition. If you wanted the addition performed prior to the multiplication, you could write the statement like this: <pre>Debug.WriteLine(6 * (5 + 4)); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | When writing complex expressions, you absolutely must keep in mind the order of operator precedence and use parentheses to override the default operator precedence when necessary. Personally, I try to always use parentheses so that I'm sure of what is happening and my code is easier to read. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Comparing Equalities Comparing values, particularly variables, is even more common than performing arithmetic (but you need to know how C# arithmetic works before you can understand the evaluation of equalities). Comparison operators are most often used in decision-making structures, as explained in the next hour. Indeed, these operators are best understood using a simple if decision structure. In an if construct, C# considers the expression on the if statement, and if the expression equates to true, the code statement(s) are executed. For example, the following is an if operation (a silly one at that) expressed in English, not in C# code: IF DOGS BARK, THEN SMILE. If this were in C# code format, C# would evaluate the if condition, which in this case is dogs bark. If the condition is found to be true, the code following the expression is Performing Arithmetic, String Manipulation, and Date/Time Adjustments performed. Because dogs bark, you'd smile. Notice how these two things (dogs barking and you smiling) are relatively unrelated. This doesn't matter; the point is that if the condition evaluates to true, certain actions (statements) occur. You'll often compare the value of one variable to that of another variable or to a specific value when making decisions. The following are some basic comparisons and how C# evaluates them: <pre>Debug.WriteLine(6 > 3); // Evaluates to true Debug.WriteLine(3 == 4); // Evaluates to false Debug.WriteLine(3 >= 3); // Evaluates to true Debug.WriteLine(5 <= 4); // Evaluates to false </pre> Performing comparisons is pretty straightforward. If you get stuck writing a particular comparison, attempt to write it in English before creating it in code. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Understanding Boolean Logic Boolean logic is a special type of arithmetic/comparison. Boolean logic is used to evaluate expressions down to either true or false. This may be a new concept to you, but don't worry; it's not difficult to understand. Boolean logic is performed using a logical operator. Consider the following sentence: If black is a color and wood comes from trees then print "ice cream." At first glance, it might seem that this is nonsensical. However, C# could make sense of this statement using Boolean logic. First, notice that three expressions are actually being evaluated within this single sentence. I've added parentheses in the following sentence to clarify two of the expressions. If (black is a color) and (wood comes from trees) then print "ice cream." Boolean logic evaluates every expression to either true or false. Therefore, substituting true or false for each of these expressions yields the following: if (true) And (true) then print "ice cream." Now, for the sake of clarity, here is the same sentence with parentheses placed around the final expression to be evaluated: If (True And True) then print "ice cream." This is the point where the logical operators come into play. The And (&&) operator returns true if the expressions on each side of the And (&&) operator are true (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/13.htm#ch13table02 Table 13.2] for a complete list of logical operators). In the sentence we're considering, the expressions on both sides of the And (&&) operator are true, so the expression evaluates to true. Replacing the expression with true yields: If True then print "ice cream." This would result in the words "ice cream" being printed. If the expression had evaluated to false, nothing would be printed. As you'll see in the next hour, the decision constructs always fully evaluate their expressions to either true or false, and statements execute according to the results. {| cellspacing="0" cellpadding="1" border="1"|+ Table 13.2. Logical (Boolean) Operators |- | Operator | Description |- | And (&&) | Evaluates to true when the expressions on both sides are true. |- | Not (!) | Evaluates to true when its expression evaluates to false; otherwise, it returns false (the true/false value of the expression is negated, or reversed). |- | Or (||) | Evaluates to true if an expression on either side evaluates to true. |- | Xor (^) | Evaluates to true if one, and only one, expression on either side evaluates to true. |} Each of these is discussed in the following sections. Using the And (&&) Operator The And (&&) operator is used to perform a logical conjunction. If the expressions on both sides of the And (&&) operator evaluate to true, the And (&&) operation evaluates to true. If either expression is false, the And (&&) operation evaluates to false, as illustrated in the following examples: <pre>Debug.WriteLine(true && true); // Prints true Debug.WriteLine(true && false); // Prints false Debug.WriteLine(false && true); // Prints false Debug.WriteLine(false && false); // Prints false Debug.WriteLine((32 > 4) && (6 == 6)); // Prints true </pre> Using the Not(!) Operator The Not(!) operator performs a logical negation. That is, it returns the opposite of the expression. Consider the following examples: <pre>Debug.WriteLine(! (true)); // Prints false Debug.WriteLine(! (false)); // Prints true Debug.WriteLine(! (5 == 5)); // Prints false Debug.WriteLine(!(4 < 2)); // Prints true </pre> The first two statements are easy enough; the opposite of true is false and vice versa. For the third statement, remember that C#'s operator precedence dictates that arithmetic operators are evaluated first (even if no parentheses are used), so the first step of the evaluation would look like this: <pre>Debug.WriteLine( ! (true)); </pre> The opposite of true is false, of course, so C# prints false. The fourth statement would evaluate to: <pre>Debug.WriteLine( !(false)); </pre> This happens because 4 is not less than 2, which is the expression C# evaluates first. Because the opposite of false is true, this statement would print true. Using the Or (||) Operator The Or(||) operator is used to perform a logical disjunction. If the expression to the left or right of the Or(||) operator evaluates to true, the Or(||) operation evaluates to true. The following are examples using Or(||) operations, and their results: <pre>Debug.WriteLine(true || true); // Prints true Debug.WriteLine(true || false); // Prints true Debug.WriteLine(false || true); // Prints true Debug.WriteLine(false || false); // Prints false Debug.WriteLine((32 < 4) || (6 == 6)); // Prints true </pre> Using the Xor (^) Operator The Xor(^) operator performs a nifty little function. I personally haven't had to use it much, but it's great for those times when its functionality is required. If one�and only one�of the expressions on either side of the Xor(^) operator is true, the Xor(^) operation evaluates to true. Take a close look at the following statement examples to see how this works: <pre>Debug.WriteLine(true ^ true); // Prints false Debug.WriteLine(true ^ false); // Prints true Debug.WriteLine(false ^ true); // Prints true Debug.WriteLine(false ^ false); // Prints false Debug.WriteLine((32 < 4) ^ (6 == 6)); // Prints true </pre> {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Manipulating Strings Recall from the previous hour that a string is text. Although string manipulation isn't technically arithmetic, the things that you do with strings are very similar to things you do with numbers, such as adding two strings together; string manipulation is much like creating equations. Chances are you'll be working with strings a lot in your applications. C# includes a number of methods that enable you to do things with strings, such as retrieve a portion of a string or find one string within another. In the following sections, you'll learn the basics of string manipulation. Concatenating Strings of Text {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | C# makes it possible to "add" two strings of text together to form one string. Although purists will say it's not truly a form of arithmetic, it's very much like performing arithmetic on strings, so this hour was the logical place in which to present this material. The process of adding two strings together is called concatenation. Concatenation is very common. For example, you may want to concatenate variables with hard-coded strings to display meaningful messages to the user, such as <tt>Are you sure you wish to delete the user XXX?</tt>, where XXX is the contents of a variable. |} To concatenate two strings, you use the + operator as shown in this line of code: <pre>Debug.WriteLine("This is" + "a test."); </pre> This statement would print: <pre>This isa test. </pre> Notice that there is no space between the words is and a. You could easily add a space by including one after the word is in the first string or before the a in the second string, or you could concatenate the space as a separate string, like this: <pre>Debug.WriteLine("This is" + " " + "a test."); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:newterm.gif|85px|graphics/newterm.gif]] | Text placed directly within quotes is called a literal. Variables are concatenated in the same way as literals and can even be concatenated with literals. The following code creates two variables, sets the value of the first variable to "Allan," and sets the value of the second variable to the result of concatenating the variable with a space and the literal "Reed": |} <pre>string strFullName; string strFirstName = "Allan"; strFullName = strFirstName + " " + "Reed"; </pre> The final result is that the variable strFullName contains the string Allan Reed. Get comfortable concatenating strings of text�you'll do this often. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | In C#, strings are immutable. What this means is that they never change. When you concatenate two strings together, neither is modified; instead a new string is created. Eventually, the garbage collector (discussed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch24.htm#ch24 Hour 24], "The 10,000-Foot View") will clean up the unused strings. However, if you're going to be concatenating a lot of strings, this could have an adverse effect on system resources (until the garbage collector springs into action). C# includes a highly efficient way to concatenate strings via <tt>System.Text. StringBuilder</tt>. Although I can't go into the details here, I highly encourage you to research this if you plan to concatenate a lot of strings at once. |} Using the Basic String Methods and Properties The .NET Framework includes a number of functions that make working with strings of text considerably easier than it might be otherwise. These functions let you easily retrieve a piece of text from a string, compute the number of characters in a string, and even determine whether one string contains another. The following sections summarize the basic string functions. Determining the Number of Characters Using Length The Length property of the string object returns the variable's length. The following statement prints <tt>26</tt>, the total number of characters in the literal string <tt>"Pink Floyd reigns supreme."</tt> Remember, the quotes that surround the string tell C# that the text within them is a literal; they are not part of the string. <pre>Debug.WriteLine(("Pink Floyd reigns supreme.").Length); // Prints 26 </pre> Retrieving Text from a String Using the Substring() Method The Substring() method retrieves a part of a string. The Substring() method can be used with the following parameters: <pre>public string Substring(startposition,numberofcharacters); </pre> For example, the following statement prints <tt>Queen</tt>, the first five characters of the string. <pre>Debug.WriteLine(("Queen to Queen's Level Three.").Substring(0,5)); </pre> The arguments used in this Substring example are 0 and 5. The 0 indicates starting at the 0 position of the string (beginning). The <tt>5</tt> indicates the specified length to return (characters to retrieve). The Substring() method is commonly used with the IndexOf() method (discussed shortly) to retrieve the path portion of a variable containing a filename and path combination, such as <tt>c:\Myfile.txt</tt>. If you know where the \character is, you can use Substring() to get the path. {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | If the number of characters requested is greater than the number of characters in the string, an exception (error) occurs. If you're unsure about the number of characters in the string, use the Length property of the string to find out. (Exception handling is reviewed in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/ch16.htm#ch16 Hour 16], "Debugging Your Code.") |} Determining Whether One String Contains Another Using IndexOf() Method At times you'll need to determine whether one string exists within another. For example, suppose you let users enter their full name into a text box, and that you want to separate the first and last names before saving them into individual fields in a database. The easiest way to do this is to look for the space in the string that separates the first name from the last. You could use a loop to examine each character in the string until you find the space, but C# includes a string method that does this for you, faster and easier than you could do it yourself: the IndexOf() method. The basic IndexOf() method has the following syntax: <pre>MyString.IndexOf(searchstring); </pre> The IndexOf() method of a string searches the string for the occurrence of a string passed as an argument. If the string is found, the location of character at the start of the string is returned. If the search string is not found within the other string, <tt>-1</tt> is returned. The IndexOf() method can be used with the following arguments: * <tt>public int IndexOf(</tt><tt>searchstring</tt><tt>);</tt> * <tt>public int IndexOf(</tt><tt>searchstring, startinglocation</tt><tt>);</tt> * <tt>public int IndexOf(</tt><tt>searchstring, startinglocation,</tt> <tt>numberofcharacterstosearch);</tt> The following code searches a variable containing the text <tt>"Jayson Goss"</tt>, locates the space, and uses the Substring() method and Length property to place the first and last names in separate variables. <pre>string strFullName = "Jayson Goss"; string strFirstName, strLastName; int intLocation, intLength; intLength = strFullName.Length; intLocation = strFullName.IndexOf(" "); strFirstName = strFullName.Substring(0,intLocation ); strLastName = strFullName.Substring(intLocation + 1); </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bulb.gif|35px|graphics/bulb.gif]] | This code assumes that a space will be found and that it won't be the first or last character in the string. In your applications, your code may need to be more robust, including checking to ensure that IndexOf() returned a value other than <tt>-1</tt>, which would indicate that no space was found. |} When this code runs, IndexOf() returns 6, the location in which the first space is found. Notice how I subtracted an additional character when using SubString() to initialize the strLastName variable; this was to take the space into account. Trimming Beginning and Trailing Spaces from a String As you work with strings, you'll often encounter situations in which spaces exist at the beginning or ending of strings. The .NET Framework includes the following four methods for automatically removing spaces from the beginning or end of a string: {| cellspacing="0" cellpadding="1" border="1" |- | Method | Description |- | <tt>String.Trim</tt> | Removes white spaces from the beginning and end of a string. |- | <tt>String.TrimEnd</tt> | Removes characters specified in an array of characters from the end of a string. |- | <tt>String.TrimStart</tt> | Removes characters specified in an array of characters from the beginning of a string. |- | <tt>String.Remove</tt> | Removes a specified number of characters from a specified index position in a string. |} Working with Dates and Times Dates are a unique beast. In some ways, they act like strings, in which you can concatenate and parse pieces. In other ways, dates seem more like numbers in that you can add to or subtract from them. Although you'll often perform math-type functions on dates (such as adding a number of days to a date or determining the number of months between two dates), you don't use the typical arithmetic operations. Instead, you use functions specifically designed for working with dates. Understanding the DateTime Data Type Working with dates is very common (suppose, for example, that you want your program to determine when a service contract expires). No matter the application, you'll probably need to create a variable to hold a date using the DateTime data type. You can get a date into a DateTime variable in several ways. Recall that when setting a string variable to a literal value, the literal is enclosed in quotes. When setting a numeric variable to a literal number, the number is not closed in quotes: <pre>string strMyString = "This is a string literal" ; int intMyInteger = 69 ; </pre> The more common way to set a DateTime variable to a literal date is to instantiate the variable passing in the date, like this (year, month, day): <pre>DateTime objMyBirthday = new DateTime(1969,7,22); </pre> You cannot pass a string directly to a DateTime variable. For instance, if you let the user enter a date into a text box and you want to move the entry to a DateTime variable, you'll have to parse out the string to be able to adhere to one of the allowable DateTime constructors. The DateTime data type is one of the more complicated data types. This chapter will expose you to enough information to get started, but this is only the tip of the iceberg. I suggest reviewing the MSDN documentation of this curious data type for more information. It's important to note that DateTime variables store a date and a time�always. For example, the following code: <pre>DateTime objMyBirthday = new DateTime(1969,7,22); Debug.WriteLine(objMyBirthday.ToString()); </pre> Produces this output: <pre>7/22/1969 12:00:00 AM </pre> Although a DateTime variable always holds a date and a time, on occasion, you'll only be concerned with either the date or the time. Notice that the previous example printed the time <tt>12:00:00 AM</tt>, even though no time was specified for the variable. This is the default time placed in a DateTime variable when only a date is specified. Later, I'll show you how to use the GetDateTimeFormats() method to retrieve just a date or a time. Adding to or Subtracting from a Date or Time To add a specific amount of time (such as one day or three months) to a specific date or time, you use methods of the DateTime class (see [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/13.htm#ch13table03 Table 13.3]). These methods do not change the value of the current DataTime variable; instead, they return a new DateTime instance whose value is the result of the operation. {| cellspacing="0" cellpadding="1" border="1"|+ Table 13.3. Available Data Adding Methods (Source MSDN) |- | Method | Description |- | <tt>Add</tt> | Adds the value of the specified TimeSpan instance to the value of this instance. |- | <tt>AddDays</tt> | Adds the specified number of days to the value of this instance. |- | <tt>AddHours</tt> | Adds the specified number of hours to the value of this instance. |- | <tt>AddMilliseconds</tt> | Adds the specified number of milliseconds to the value of this instance. |- | <tt>AddMinutes</tt> | Adds the specified number of minutes to the value of this instance. |- | <tt>AddMonths</tt> | Adds the specified number of months to the value of this instance. |- | <tt>AddSeconds</tt> | Adds the specified number of seconds to the value of this instance. |- | <tt>AddYears</tt> | Adds the specified number of years to the value of this instance. |} For instance, to add six months to the date 7/22/69, you could use the following statements: <pre>DateTime objMyBirthday = new DateTime(1969,7,22); DateTime objNewDate = objMyBirthday.AddMonths(6); </pre> After this second statement executes, <tt>objNewDate</tt> contains the date <tt>1/22/1970 12:00:00 AM</tt>. The following code shows sample addition methods and the date they would return: <pre>objNewDate = objMyBirthday.AddYears(2); // Returns 7/22/1971 12:00:00 AM objNewDate = objMyBirthday.AddMonths(5); // Returns 12/22/1971 12:00:00 AM objNewDate = objMyBirthday.AddMonths(-1); // Returns 6/22/1971 12:00:00 AM objNewDate = objMyBirthday.AddHours(7); // Returns 7/22/1969 7:00:00 AM </pre> Retrieving Parts of a Date Sometimes, it can be extremely useful to know just a part of a date. For example, you may have let a user enter his or her birth date, and you want to perform an action based on the month in which they were born. To retrieve part of a date, the DateTime class exposes properties such as Month, Day, Year, Hour, Minute, Second, and so on. The following should illustrate the retrieval of some properties of the DateTime class(the instance date is still 7/21/1969): <pre>objMyBirthday.Month // Returns 7 objMyBirthday.Day // Returns 22 objMyBirthday.DayOfWeek // Returns DayOfWeek.Monday </pre> {| cellspacing="0" cellpadding="0" border="0" |- | [[Image:bookpencil.gif|80px|graphics/bookpencil.gif]] | The Hour property will return the hour in military format. Also, note that DayOfWeek returns an enumerated value. |} Formatting Dates and Times As I stated earlier, at times you'll want to work with only the date or a time within a DateTime variable. In addition, you'll probably want to control the format in which a date or time is displayed. All this and more can be accomplished via the DateTime class by way of the following: * Using the DateTime methods to retrieve formatted strings * Using standard-format strings * Using custom-format strings I can't possibly show you everything regarding formatting a DateTime value here, but I do want to show you how to use formatting to output either the date portion or the time portion of a DateTime variable. (The DateTime class is comprehensive; you'll most likely want to investigate it more thoroughly as you continue in your programming efforts.) The following illustrates some basic formatting methods available with the DateTime class. (Note that the instance date is still 7/22/1969 12:00:00 AM) <pre>objMyBirthday.ToLongDateString(); // Returns Monday, July 21, 1969 objMyBirthday.ToShortDateString(); // Returns 7/21/1969 objMyBirthday.ToLongTimeString(); // Returns 12:00:00 AM objMyBirthday.ToShortTimeString(); // Returns 12:00 AM </pre> Retrieving the Current System Date and Time C# gives you the capability to retrieve the current system date and time. Again, this is accomplished by way of the DateTime class. For example, the Today property returns the current system date. To place the current system date into a new DateTime variable, for example, you could use a statement such as this: <pre>DateTime objToday = DateTime.Today; </pre> To retrieve the current system date and time, use the Now property of DateTime, like this: <pre>DateTime objToday = DateTime.Now; </pre> Commit DateTime.Today and DateTime.Now to memory. You'll need to retrieve the system date and/or time in an application, and this is by far the easiest way to get that information. {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Summary Being able to work with all sorts of data is crucial to your success as a C# developer. Just as you need to understand basic math to function in society, you need to be able to perform basic math in code to write even the simplest of applications. Knowing the arithmetic operators and understanding the order of operator precedence will take you a long way in performing math using C# code. Boolean logic is a special form of evaluation used by C# to evaluate simple and complex expressions alike down to a value of true or false. In the following hours, you'll learn how to create loops and how to perform decisions in code. What you learned here about Boolean logic is critical to your success with loops and decision structures; you'll use Boolean logic perhaps even more often than you'll perform arithmetic. Manipulating strings and dates each takes special considerations. In this hour, you learned how to work with both types of data to extract portions of values and to add pieces of data together to form a new whole. String manipulation is pretty straightforward, and you'll get the hang of it soon enough as you start to use some of the string functions. Date manipulation, on the other hand, can be a bit tricky. Even experienced developers need to refer to the online help at times. You learned the basics in this hour, but don't be afraid to experiment on your own. Q&A {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/13.htm#qad1e44138 Q1:]''' | Should I always specify parentheses to ensure that operators are evaluated as I expect them to be? |- | align="right" | ''' A1: ''' | C# never fails to evaluate expressions according to the order of operator precedence, so using parentheses isn't necessary when the order of precedence is correct for an expression. However, using parentheses assures you that the expression is being evaluated and may make the expression easier to read by other people. This really is your choice. |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/13.htm#qad1e44148 Q2:]''' | I would like to learn more about the properties and methods available in the DateTime structure; where can I find all the members listed? |- | align="right" | ''' A2: ''' | I would look at the DateTime members documentation found within the .NET Framework documentation. This is available on the MSDN and as an installable option when installing Visual Studio .NET. |} {| cellspacing="0" cellpadding="0" border="0" | align="right" | > |} Workshop The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01.htm#app01 Appendix A],"Answers to Quizzes/Exercises." Quiz {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans01 1:]''' | To get only the remainder of a division operation, you use which operator? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans02 2:]''' | Which operation is performed first in the following expression�the addition or the multiplication? [[Image:13equ05.gif|178px|graphics/13equ05.gif]] <br /> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans03 3:]''' | Does this expression evaluate to true or to false? <pre>((true || true) && false) == !true<br /></pre> |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans04 4:]''' | Which Boolean operator performs a logical negation? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans05 5:]''' | The process of appending one string to another is called? |- | align="right" | '''[file:///C:/Documents%20and%20Settings/dani/Asztal/c%23in24h/app01lev1sec13.htm#ch13ans06 6:]''' | What property can be used to return the month of a given date? |} Exercises # Create a project that has a single text box on a form. Assume the user enters a first name, a middle initial, and a last name into the text box. Parse the contents into three variables�one for each part of the name. # Create a project that has a single text box on a form. Assume the user enters a valid birthday into the text box. Use the date functions as necessary to tell the user the number of the month in which they were born. 830r4oc677zbd0tzdpul89jtxddsukj User:Foxall/answers 2 2156 5618 2007-06-18T01:01:31Z Foxall 27 Bog cusub: ./ ADD NAME=APP01.HTM Appendix A. Answers to Quizzes/Exercises Answers to Hour 1 Answers to Hour 2 Answers to Hour 3 Answers to Hour 4 Answers to Ho... 5618 wikitext text/x-wiki ./ ADD NAME=APP01.HTM Appendix A. Answers to Quizzes/Exercises Answers to Hour 1 Answers to Hour 2 Answers to Hour 3 Answers to Hour 4 Answers to Hour 5 Answers to Hour 6 Answers to Hour 7 Answers to Hour 8 Answers for Hour 9 Answers to Hour 10 Answers to Hour 11 Answers to Hour 12 Answers to Hour 13 Answers to Hour 14 Answers to Hour 15 Answers to Hour 16 Answers to Hour 17 Answers to Hour 18 Answers for Hour 19 Answers to Hour 20 Answers to Hour 21 Answers to Hour 22 Answers for Hour 23 Answers for Hour 24 Top ./ ADD NAME=APP01LEV1SEC01.HTM Answers to Hour 1 1: What type of C# project creates a standard Windows program? A1: Windows Application project 2: What window is used to change the attributes (location, size, and so on) of a form or control? A2: Properties window 3: How do you access the default event (code) of a control? A3: Double-click the control 4: What property of a PictureBox do you set to display an image? A4: The Image property 5: What is the default event for a Button control? A5: Click event Top ./ ADD NAME=APP01LEV1SEC02.HTM Answers to Hour 2 1: How can you make the Visual Studio Start Page appear at startup if this feature has been disabled? A1: Change the At Startup property of the project. 2: Unless instructed otherwise, you are to create what type of project when building examples in this book? A2: Windows Application project 3: To make a docked design window appear when you hover over its tab and disappear when you move the mouse away from it, you change what setting of the window? A3: Auto Hide 4: How do you access the Toolbars menu? A4: Choose Toolbars from the View menu or right-click any toolbar. 5: What design window do you use to add controls to a form? A5: The toolbox 6: What design window is used to change the attributes of an object? A6: The Properties window 7: To modify the properties of a project, you must select the project in what design window? A7: Solution Explorer 8: Which Help feature adjusts the links it displays to match what it is you are doing? A8: Dynamic Help Top ./ ADD NAME=APP01LEV1SEC03.HTM Answers to Hour 3 1: True or False: C# is a true object-oriented language. A1: True. 2: An attribute that defines the state of an object is called a what? A2: Property 3: To change the value of a property, the property must be referenced on which side of an equal sign? A3: The left side 4: What is the term for when a new object is created from a template? A4: Instantiation 5: An external function of an object (one that is available to code using an object) is called a what? A5: Method 6: True or False: A property of an object can be another object. A6: True. Such properties are called object properties. 7: A group of like objects is called what? A7: Collection 8: What tool is used to explore the members of an object? A8: Object Browser Top ./ ADD NAME=APP01LEV1SEC04.HTM Answers to Hour 4 1: Name three things that can cause events to occur. A1: The operating system, a user, objects 2: True or False: All objects support the same set of events. A2: False. Each object supports a set of events specific to itself, or no events at all. 3: What is the default event type for a button? A3: Click 4: The act of an event calling itself in a loop is called what? A4: Recursion 5: What is the easiest way to access a control's default event handler? A5: Double-click the control in the form designer. 6: All control events pass a reference to the control causing the event. What is the name of the parameter that holds this reference? A6: sender Top ./ ADD NAME=APP01LEV1SEC05.HTM Answers to Hour 5 1: True or False: The text displayed in the form's title bar is determined by the value in the TitleBarText property. A1: False. The title bar text is determined by the Text property. 2: The named color Control is what kind of color? A2: A system color. System colors are determined at runtime by the user's Windows settings. 3: In what three places are a form's icon displayed? A3: In the form's title bar, in the taskbar when the form is minimized, and in the task list when the user presses Alt+Tab. 4: A window with a smaller than normal title bar is called what? A4: A tool window 5: For a Minimize or Maximize button to be visible on a form, what other element must be visible? A5: The ControlBox must be visible. 6: What, in general, is the best value to use for the StartPosition property of a form? A6: CenterParent 7: To maximize, minimize, or restore a form in code, you set what property? A7: The WindowState property 8: True or False: To display a form, you must create a variable in code. A8: True 9: What property do you set to make a hidden form appear? A9: The form's Visible property. Top ./ ADD NAME=APP01LEV1SEC06.HTM Answers to Hour 6 1: True or False: The first control selected in a series is always made the active control. A1: False 2: How many methods are there to add a control to a form from the toolbox? A2: Three: double-click, drag and drop, select and draw 3: If you double-click a tool in the toolbox, where on the form is it placed? A3: Upper-left corner 4: Which property fixes an edge of a control to an edge of a form? A4: Anchor 5: Which property do you change to hide the grid on a form? A5: DrawGrid 6: Which menu contains the functions for spacing and aligning controls? A6: The Format menu 7: Which property do you set to make a form a MDI parent? A7: IsMdiContainer Top ./ ADD NAME=APP01LEV1SEC07.HTM Answers to Hour 7 1: Which control would you use to display text that the user can't edit? A1: A Label control 2: What common property is shared by the Label control and text box 2and whose value determines what the user sees in the control? A2: Text 3: To change the Height of a text box, you must set what property? A3: You must set the MultiLine property to true. 4: What is the default event of a Button control? A4: The Click event. 5: A button whose Click event is triggered when the user presses Enter, regardless of the control that has the focus, is called an…? A5: Accept button. 6: Which control would you use to display a yes/no value to a user? A6: A check box. 7: How would you create two distinct sets of mutually exclusive option buttons? A7: Place each set of option buttons on a different container control, such as a group box. 8: To manipulate items in a list, you use what collection? A8: The Items collection of the control. 9: What method adds an item to a list in a specific location? A9: The Insert method of the Items collection. Top ./ ADD NAME=APP01LEV1SEC08.HTM Answers to Hour 8 1: What increment of time is applied to the Interval property of the Timer control? A1: Milliseconds 2: What collection is used to add new tabs to a Tab control? A2: The TabPages collection 3: What property returns the index of the currently selected tab? A3: The SelectedIndex property of the control 4: True or False: You should use different Image List controls for storing images of different sizes. A4: True 5: To see columns in a List View control, the View property must be set to what? A5: Details 6: The additional columns of data that can be attached to an item in a list view are stored in what collection? A6: The SubItems collection 7: What property of what object would you use to determine how many items are in a List View? A7: The Count property of the Items collection 8: Each item in a Tree View is called a what? A8: Node 9: How do you make a node the child of another node? A9: Add it to the Nodes collection of the first node. Top ./ ADD NAME=APP01LEV1SEC09.HTM Answers for Hour 9 1: True or False: Form menu bars are created using the Context Menu control. A1: False. They are created using the Main Menu control. 2: To create an accelerator or hotkey, preface the character with a(n): A2: Ampersand (&) 3: If you've designed a menu using a Main Menu control, but that menu isn't visible on the form designer, how do you make it appear? A3: Click the Main Menu control at the bottom of the form designer. 4: To place a check mark next to a menu item, you set what property of the item? A4: The Checked property. 5: How do you add code to a menu item? A5: Double-click the item while in Edit mode. 6: Toolbar items are part of what collection? A6: The Buttons collection 7: To create a separator on a toolbar, you create a new button and set what property? A7: The Style property to Separator. 8: True or False: Every button on a toolbar has its own Click event. A8: False. All buttons share a ButtonClick event. 9: What must you do to have panels appear on a status bar? A9: Set the ShowPanels property to true. Top ./ ADD NAME=APP01LEV1SEC10.HTM Answers to Hour 10 1: What object is used to draw to a surface? A1: Graphics 2: To set a Graphics object to draw to a form directly, you call what method of the form? A2: CreateGraphics() 3: What object defines the characteristics of a line? A fill pattern? A3: Pens define lines, brushes define fill patterns. 4: How do you make a color property adjust with the user's Windows settings? A4: Assign a system color to the property 5: What object is used to define the bounds of a shape to be drawn? A5: Rectangle 6: What method do you call to draw an irregular ellipse? A circle? A6: Ellipses and circles are both drawn using the DrawEllipse() method. 7: What method do you call to print text on a Graphics surface? A7: DrawString() 8: To ensure that graphics persist on a form, the graphics must be drawn on the form in what event? A8: The form's Paint event Top ./ ADD NAME=APP01LEV1SEC11.HTM Answers to Hour 11 1: What are the entities called that are used to house methods? A1: Classes 2: True or False: To access methods in a class module, you must first create an object. A2: False. Static methods do not require that an object be instantiated for the static methods to be called. 3: Data that has been passed into a method by a calling statement is called a A3: Parameter 4: To pass multiple arguments to a method, separate them with a A4: Comma 5: The situation in which a method or set of methods continue to call each other in a looping fashion is called A5: Recursion 6: How do you attach a task to a code statement? A6: Right-click the statement and choose Add Task List Shortcut from the context menu. Top ./ ADD NAME=APP01LEV1SEC12.HTM Answers to Hour 12 1: What data type would you use to hold currency values? A1: decimal 2: Which data type can be used to hold any kind of data and essentially serves as a generic data type? A2: object 3: What values does C# support for type bool? A3: true or false 4: What can you create to eliminate magic numbers by defining a literal value in one place? A4: Constant 5: What type of data element can you create in code that can have its value changed as many times as necessary? A5: Variable 6: What are the first and last indexes of an array dimensioned using string_strMyArray[5]? A6: First index = 0, last index = 4 7: What word is given to describe the visibility of a constant or variable? A7: Scope 8: In general, is it best to limit the scope of a variable or to use the widest scope possible? A8: It is usually best to limit scope. Top ./ ADD NAME=APP01LEV1SEC13.HTM Answers to Hour 13 1: To get only the remainder of a division operation, you use which operator? A1: % 2: Which operation is performed first in the following expression�the addition or the multiplication? A2: Multiplication 3: Does this expression evaluate to true or to false? ((true || true) && false) == !true A3: true 4: Which Boolean operator performs a logical negation? A4: ! 5: The process of appending one string to another is called? A5: Concatenation 6: What property can be used to return the month of a given date? A6: Month Top ./ ADD NAME=APP01LEV1SEC14.HTM Answers to Hour 14 1: Which decision construct should you use to evaluate a single expression to either true or false? A1: if 2: Evaluating expressions to true or false for both types of decision constructs is accomplished using ________ logic. A2: Boolean 3: If you want code to execute when the expression of an if statement evaluates to false, include an ____ clause. A3: else 4: Which decision construct should you use when evaluating the result of an expression that may equate to one of many possible values? A4: switch 5: Is it possible that more than one case statement may have its code execute? A5: Yes, the case statement requires a jump-statement. A valid jump-statement is goto case expression, which transfers control to a specific switch-case label or the default label. 6: True or False: You can use goto to jump code execution to a different method. A6: False. goto can be used only to divert code in the method in which the goto exists. 7: To use goto to jump execution to a new location in code, what must you create as a pointer to jump to? A7: A code label Top ./ ADD NAME=APP01LEV1SEC15.HTM Answers to Hour 15 1: True or False: You have to know the start and end values of a for loop at design time to use this type of loop. A1: False. You must know these values at runtime, but it isn't necessary to know them at design time. 2: Is it possible to nest loops? A2: Yes, and this is a common thing to do. 3: What type of loop would you most likely need to create if you didn't have any idea how many times the loop would need to occur? A3: do…while 4: If you evaluate the expression in a do…while on the while statement, is it possible that the code within the loop may never execute? A4: No. When you evaluate the expression on the while statement, the code within the loop is guaranteed to execute at least once. 5: What statement do you use to terminate a do…while without evaluating the expression on the do or while statements? A5: break Top ./ ADD NAME=APP01LEV1SEC16.HTM Answers to Hour 16 1: What type of error prevents C# from compiling and running code? A1: A build error 2: What is the name of a runtime error: an error that usually occurs as a result of attempting to process inappropriate data? A2: An exception 3: What character is used to denote a single line comment? A3: The double slashes character (//) 4: To halt execution at a specific statement in code, you set a what? A4: Break point 5: Explain the yellow arrow and red circles that can appear in the gray area in the code editor. A5: The yellow arrow denotes the next statement to be processed. Red circles are used to mark break points. 6: What IDE window would you use to poll the contents of a variable in Break mode? A6: The Command window 7: True or False: You must always specify a catch section in a try structure. A7: False Top ./ ADD NAME=APP01LEV1SEC17.HTM Answers to Hour 17 1: To create objects, you must first create a template. This template is called a: A1: Class 2: One of the primary benefits of object-oriented programming is that objects contain both their data and their code. This is called: A2: Encapsulation 3: With static classes, public variables and routines are always available to code via the static class in other modules. Is this true with public variables and routines in classes? A3: No. To access the public variables and routines, an object must be instantiated from the class. 4: True or False: Each object derived from a class has its own set of class-level data. A4: True 5: What must you do to create a property that can be read but not changed by client code? A5: Create a property procedure that includes the get accessor, but not the set accessor. 6: What is the best way to store the internal value of a property within a class? A6: As a private class-level variable 7: Which is generally superior, early binding or late binding? A7: Early binding 8: What is the best way to release an object you no longer need? A8: Call the object's Dispose() method if it has one, and then set the object variable to null. Top ./ ADD NAME=APP01LEV1SEC18.HTM Answers to Hour 18 1: What minimal argument should you supply when calling MessageBox.Show()? A1: The prompt argument, the string for the message. 2: If you don't supply a value for the title parameter of MessageBox.Show(), what gets displayed in the title bar of the message? A2: Nothing 3: What type of data is always returned by the MessageBox.Show() method? A3: A DialogResult 4: Which event fires first, the KeyUp or KeyPress event? A4: KeyPress 5: How do you determine which button is being pressed in a mouse-related event? A5: Use the Buttons property of the e object in the event handler. Top ./ ADD NAME=APP01LEV1SEC19.HTM Answers for Hour 19 1: True or False: The Open File dialog box automatically opens a file. A1: False. The control returns the name of the file the user wants to open, but it doesn't open the file. 2: What symbol is used to separate a filter description from its extension? A2: The pipe (|) symbol 3: What objects are used to manipulate files? A3: System.IO.File and System.IO.FileInfo 4: What arguments are required by System.IO.File.Copy()? A4: Two arguments are required. The first is the name of the current file; the second is the name of the file to create as a result of the copy. 5: How would you rename a file? A5: Use System.IO.File.Move(), using the same path but a different filename. 6: True or False: Files deleted with System.IO.File.Delete() are sent to the Recycle Bin. A6: False 7: What objects are used to manipulate folders? A7: System.IO.Directory and System.IO.DirectoryInfo. Sometimes Microsoft calls them folders, sometimes directories. In .NET, however, it's usually directory. Top ./ ADD NAME=20.HTM Answers to Hour 20 1: Before you can early bind objects in an automation server, you must do what? A1: Create a reference to a type library. 2: What is the most likely cause of not seeing a type library listed in the Add References dialog box? A2: You don't have the component installed on your computer. 3: For C# to use a COM library, it must create a: A3: Wrapper 4: To manipulate a server via automation, you manipulate: A4: An object variable referencing an object in the server's object model 5: To learn about the object library of a component, you should: A5: Read the documentation or use the Object Browser. Top ./ ADD NAMEC21.HTM Answers to Hour 21 1: What is the name of the data access components used in the .NET Framework? A1: ADO.NET 2: What is the name given to a collection of DataRows? A2: DataTable 3: How do I get data into and out of a DataTable? A3: Use the Fill() and Update() methods of the ADO.NET DataAdapter. 4: What object is used to connect to a data source? A4: The connection object appropriate to the data source (SqlConnection or OleDbConnection) 5: What argument of a connection string contains information about the type of data being connected to? A5: The Provider= argument 6: The functionality of a DataTable (read-only, updateable, and so forth) is determined by what? A6: The DataTable always has the same functionality, regardless of the source of the data. 7: What are the two .NET data providers supplied as part of the .NET Framework? A7: The OleDb .NET Data Provider and the SqlClient .NET Data Provider 8: What method of a DataTable object do you call to create a new row? A8: NewRow() Top ./ ADD NAME=APP01LEV1SEC22.HTM Answers to Hour 22 1: To create a custom setup program, you start by creating what type of Visual Studio project? A1: The project type is Setup Project, which can be found in the Setup and Deployment Projects folder. 2: The final build file of a project (EXE, DLL, and so on) is referred to as the what? A2: Output of the project 3: True or False: To include the output of a project, the project must be added to the solution containing the setup program. A3: True 4: Which build option creates smaller and faster builds? A4: Release builds are smaller and faster than Debug builds. 5: How do you add a file to an installation? A5: Open the Project menu, open the Add submenu, and choose File. 6: If the Project menu doesn't have the menu options for creating a setup program, what might be wrong? A6: You probably have a project other than the Setup Project selected in the Solution Explorer. 7: How do you add folders to the custom setup program? A7: Right-click the File System on the Target Machine item in the left pane of the Setup Project. 8: How do you create a shortcut for a file in a setup program? A8: Right-click the file and choose the appropriate menu item. Top ./ ADD NAME=APP01LEV1SEC23.HTM Answers for Hour 23 1: What does XML stand for? A1: eXtensible Markup Language 2: An element is designated in an XML document using the what? A2: Starting and ending tags 3: True or False: XML tag names are case sensitive. A3: True 4: What is the name of the protocol used by .NET to marshal object requests across the Web? A4: SOAP (Simple Object Access Protocol) 5: What forms engine is used to create forms that run over the Internet? A5: Web Forms 6: Which forms engine provides for faster response to user interaction? A6: Windows Forms 7: Where is the .NET Framework installed for Windows Forms applications? Web Forms applications? A7: The .NET Framework is installed on the user's computer for Windows applications and on the Web server for Web Forms applications. 8: What is the name of the ASP.NET technology used to expose application logic as objects over the Web? A8: XML Web services Top ./ ADD NAME=APP01LEV1SEC24.HTM Answers for Hour 24 1: The classes and technology that make up .NET's underlying infrastructure are called what? A1: The .NET Framework 2: What is the name of the shared .NET runtime? A2: The Common Language Runtime (CLR) 3: True or False: Each .NET language uses its own code editor and debugging tools. A3: False. All .NET languages share the same IDE and the same debugging tools. These are just a few of the benefits of the Common Language Runtime. 4: True or False: Code that runs within the Common Language Runtime is called unmanaged code. A4: False. It is called managed code because it is managed by the runtime. 5: Code written in a .NET language such as C# is compiled to what? A5: Intermediate Language code (IL) 6: What are namespaces? A6: Namespaces are the "nodes" in the hierarchical structure of classes in the .NET environment. 7: One of the things that gives .NET its multilanguage capabilities is that all data is declared and managed in the same way across all languages. This is handled by .NET's what? A7: Common Type System 8: What destroys objects, freeing all the resources that they consume? A8: .NET's garbage collector Top 0ll38up3g24ruty66qiu7ypw1ktt5f2 User:Moncur/11 2 2157 6010 6009 2007-06-21T16:45:30Z Foxall 27 /* Q&A */ 6010 wikitext text/x-wiki = 11. Getting Data with Forms = == The Basics of HTML Forms == Forms are among the most useful features of the HTML language. As you'll learn during this hour, adding JavaScript to forms can make them more interactive and provide a number of useful features. The first step in creating an interactive form is to create the HTML form itself. === Defining a Form === An HTML form begins with the <tt><form></tt> tag. This tag indicates that a form is beginning, and it enables form elements to be used. The <tt><form></tt> tag includes several attributes: * <tt>name</tt> is simply a name for the form. You can use forms without giving them names, but you'll need to assign a name to a form in order to easily use it with JavaScript. * <tt>method</tt> is either <tt>GET</tt> or <tt>POST</tt>; these are the two ways the data can be sent to the server. * <tt>action</tt> is the CGI script that the form data will be sent to when submitted. You can also use the <tt>mailto:</tt> action to send the form's results to an email address, as described later in this hour. * <tt>enctype</tt> is the MIME type the form's data will be encoded with. This is usually not necessary; see the "[Sending Form Results by Email]" section of this hour for an example that requires it. For example, here is a <tt><form></tt> tag for a form named <tt>Order</tt>. This form uses the <tt>GET</tt> method and sends its data to a CGI script called <tt>order.cgi</tt> in the same directory as the web page itself: <pre><form name="Order" method="GET" action="order.cgi"></pre> For a form that will be processed entirely by JavaScript (such as a calculator or an interactive game), the <tt>method</tt> and <tt>action</tt> attributes are not needed. You can use a simple <tt><form></tt> tag that names the form: <pre><form name="calcform"></pre> The <tt><form></tt> tag is followed by one or more form elements. These are the data fields in the form, such as text fields, buttons, and check boxes. In the next section, you'll learn how JavaScript assigns objects to each of the form elements. == Using the <tt>form</tt> Object with JavaScript == Each form in your HTML page is represented in JavaScript by a <tt>form</tt> object, which has the same name as the <tt>NAME</tt> attribute in the <tt><form></tt> tag you used to define it. Alternatively, you can use the <tt>forms</tt> array to refer to forms. This array includes an item for each form element, indexed starting with 0. For example, if the first form in a document has the name <tt>form1</tt>, you can refer to it in one of two ways: <pre>document.form1 document.forms[0] </pre> === The <tt>form</tt> Object's Properties === Along with the elements, each <tt>form</tt> object also has a list of properties, most of which are defined by the corresponding <tt><form></tt> tag. You can also set these from within JavaScript. They include the following: * <tt>action</tt> is the form's <tt>action</tt> attribute, or the program to which the form data will be submitted. * <tt>encoding</tt> is the <tt>MIME</tt> type of the form, specified with the <tt>enctype</tt> attribute. In most cases, this is not needed. See the "[Sending Form Results by Email]" section of this hour for an example of its use. * <tt>length</tt> is the number of elements in the form. You cannot change this property. * <tt>method</tt> is the method used to submit the form, either <tt>GET</tt> or <tt>POST</tt>. This determines the data format used to send the form result to a CGI script, and does not affect JavaScript. * <tt>target</tt> specifies the window in which the result of the form (from the CGI script) will be displayed. Normally, this is done in the main window, replacing the form itself, but you can use this attribute to work with pop-up windows or frames. === Submitting and Resetting Forms === The <tt>form</tt> object has two methods, <tt>submit()</tt> and <tt>reset()</tt>. You can use these methods to submit the data or reset the form yourself, without requiring the user to press a button. One reason for this is to submit the form when the user clicks an image or performs another action that would not usually submit the form. ; Watch Out!: If you use the <tt>submit()</tt> method to send data to a server or by email, most browsers will prompt the user to verify that he or she wants to submit the information. There's no way to do this behind the user's back. === Detecting Form Events === The <tt>form</tt> object has two event handlers, <tt>onSubmit</tt> and <tt>onReset</tt>. You can specify a group of JavaScript statements or a function call for these events within the <tt><form></tt> tag that defines the form. If you specify a statement or a function for the <tt>onSubmit</tt> event, the statement is called before the data is submitted to the CGI script. You can prevent the submission from happening by returning a value of <tt>false</tt> from the <tt>onSubmit</tt> event handler. If the statement returns <tt>true</tt>, the data will be submitted. In the same fashion, you can prevent a Reset button from working with an <tt>onReset</tt> event handler. == Scripting Form Elements == The most important property of the <tt>form</tt> object is the <tt>elements</tt> array, which contains an object for each of the form elements. You can refer to an element by its own name or by its index in the array. For example, the following two expressions both refer to the first element in the <tt>order</tt> form, the <tt>name1</tt> text field: <pre>document.order.elements[0] document.order.name1 </pre> ; By the Way: Both forms and elements can be referred to by their own names or as indices in the <tt>forms</tt> and <tt>elements</tt> arrays. For clarity, the examples in this hour use individual form and element names rather than array references. You'll also find it easier to use names in your own scripts. If you do refer to forms and elements as arrays, you can use the <tt>length</tt> property to determine the number of objects in the array: <tt>document.forms.length</tt> is the number of forms in a document, and <tt>document.form1.elements.length</tt> is the number of elements in the <tt>form1</tt> form. You can also access form elements using the W3C DOM. In this case, you use an <tt>id</tt> attribute on the form element in the HTML document, and use the <tt>document.getElementById()</tt> method to find the object for the form. For example, this statement finds the object for the text field called <tt>firstname</tt> and stores it in the <tt>fn</tt> variable: <pre>fn = document.getElementById("firstname");</pre> This allows you to quickly access a form element without first finding the <tt>form</tt> object. You can assign an <tt>id</tt> to the <tt><form></tt> tag and find the corresponding object if you need to work with the form's properties and methods. ; Did you Know?: See [Hour 13], "Using the W3C DOM," for details on the <tt>document.getElementById()</tt> method. === Text Fields === Probably the most commonly used form elements are text fields. You can use them to prompt for a name, an address, or any information. With JavaScript, you can display text in the field automatically. The following is an example of a simple text field: <pre><input type="TEXT" name="text1" value="hello" size="30"></pre> This defines a text field called <tt>text1</tt>. The field is given a default value of <tt>"hello"</tt> and allows up to 30 characters to be entered. JavaScript treats this field as a <tt>text</tt> object with the name <tt>text1</tt>. Text fields are the simplest to work with in JavaScript. Each <tt>text</tt> object has the following properties: * <tt>name</tt> is the name given to the field. This is also used as the object name. * <tt>defaultValue</tt> is the default value and corresponds to the <tt>VALUE</tt> attribute. This is a read-only property. * <tt>value</tt> is the current value. This starts out the same as the default value, but can be changed, either by the user or by JavaScript functions. When you work with text fields, most of the time you will use the <tt>value</tt> attribute to read the value the user has entered or to change the value. For example, the following statement changes the value of a text field called <tt>username</tt> in the <tt>order</tt> form to <tt>"John Q. User"</tt>: <pre>document.order.username.value = "John Q. User"</pre> === Text Areas === Text areas are defined with their own tag, <tt><textarea></tt>, and are represented by the <tt>textarea</tt> object. There is one major difference between a text area and a text field: Text areas enable the user to enter more than just one line of information. Here is an example of a text area definition: <pre><textarea name="text1" rows="2" cols="70"> This is the content of the TEXTAREA tag. </textarea> </pre> This HTML defines a text area called <tt>text1</tt>, with two rows and 70 columns available for text. In JavaScript, this would be represented by a text area object called <tt>text1</tt> under the <tt>form</tt> object. The text between the opening and closing <tt><textarea></tt> tags is used as the initial value for the text area. You can include line breaks within the default value with the special character <tt>\n</tt>. === Working with Text in Forms === The <tt>text</tt> and <tt>textarea</tt> objects also have a few methods you can use: * <tt>focus()</tt> sets the focus to the field. This positions the cursor in the field and makes it the current field. * <tt>blur()</tt> is the opposite; it removes the focus from the field. * <tt>select()</tt> selects the text in the field, just as a user can do with the mouse. All of the text is selected; there is no way to select part of the text. You can also use event handlers to detect when the value of a text field changes. The <tt>text</tt> and <tt>textarea</tt> objects support the following event handlers: * The <tt>onFocus</tt> event happens when the text field gains focus. * The <tt>onBlur</tt> event happens when the text field loses focus. * The <tt>onChange</tt> event happens when the user changes the text in the field and then moves out of it. * The <tt>onSelect</tt> event happens when the user selects some or all of the text in the field. Unfortunately, there's no way to tell exactly which part of the text was selected. (If the text is selected with the <tt>select()</tt> method described previously, this event is not triggered.) If used, these event handlers should be included in the <tt><input></tt> tag declaration. For example, the following is a text field including an <tt>onChange</tt> event that displays an alert: <pre><input type="TEXT" name="text1" onChange="window.alert('Changed.');"></pre> === Buttons === One of the most useful types of form element is a button. Buttons use the <tt><input></tt> tag and can use one of three different types: * <tt>type=SUBMIT</tt> is a Submit button. This button causes the data in the form fields to be sent to the CGI script. * <tt>type=RESET</tt> is a Reset button. This button sets all the form fields back to their default value, or blank. * <tt>type=BUTTON</tt> is a generic button. This button performs no action on its own, but you can assign it one using a JavaScript event handler. All three types of buttons include a <tt>name</tt> attribute to identify the button and a <tt>value</tt> attribute that indicates the text to display on the button's face. A few buttons were used in the examples in [Hour 10], "Using Windows and Frames." As another example, the following defines a Submit button with the name <tt>sub1</tt> and the value <tt>"Click Here"</tt>: <pre><input type="SUBMIT" name="sub1" value="Click Here"></pre> If the user presses a Submit or a Reset button, you can detect it with the <tt>onSubmit</tt> or <tt>onReset</tt> event handlers, described earlier in this hour. For generic buttons, you can use an <tt>onClick</tt> event handler. === Check Boxes === A check box is a form element that looks like a small box. Clicking on the check box switches between the checked and unchecked states, which is useful for indicating Yes or No choices in your forms. You can use the <tt><input></tt> tag to define a check box. Here is a simple example: <pre><input type="CHECKBOX" name="check1" value="Yes" checked></pre> Again, this gives a name to the form element. The <tt>value</tt> attribute assigns a meaning to the check box; this is a value that is returned to the server if the box is checked. The default value is "on." The <tt>checked</tt> attribute can be included to make the box checked by default. A check box is simple: It has only two states. Nevertheless, the <tt>checkbox</tt> object in JavaScript has four different properties: * <tt>name</tt> is the name of the check box, and also the object name. * <tt>value</tt> is the "true" value for the check box—usually <tt>on</tt>. This value is used by server-side programs to indicate whether the check box was checked. In JavaScript, you should use the <tt>checked</tt> property instead. * <tt>defaultChecked</tt> is the default status of the check box, assigned by the <tt>checked</tt> attribute in HTML. * <tt>checked</tt> is the current value. This is a Boolean value: <tt>true</tt> for checked and <tt>false</tt> for unchecked. To manipulate the check box or use its value, you use the <tt>checked</tt> property. For example, this statement turns on a check box called <tt>same</tt> in the <tt>order</tt> form: <pre>document.order.same.checked = true;</pre> The check box has a single method, <tt>click()</tt>. This method simulates a click on the box. It also has a single event, <tt>onClick</tt>, which occurs whenever the check box is clicked. This happens whether the box was turned on or off, so you'll need to examine the <tt>checked</tt> property to see what happened. === Radio Buttons === Another element for decisions is the radio button, using the <tt><input></tt> tag's <tt>RADIO</tt> type. Radio buttons are also known as option buttons. These are similar to check boxes, but they exist in groups and only one button can be checked in each group. They are used for a multiple-choice or "one of many" input. Here's an example of a group of radio buttons: <pre><input type="RADIO" name="radio1" value="Option1" checked> Option 1 <input type="RADIO" name="radio1" value="Option2"> Option 2 <input type="RADIO" name="radio1" value="Option3"> Option 3 </pre> These statements define a group of three radio buttons. The <tt>name</tt> attribute is the same for all three (which is what makes them a group). The <tt>value</tt> attribute is the value passed to a script or a CGI program to indicate which button is selected—be sure you assign a different value to each button. ; By the Way: Radio buttons are named for their similarity to the buttons on old pushbutton radios. Those buttons used a mechanical arrangement so that when you pushed one button in, the others popped out. As for scripting, radio buttons are similar to check boxes, except that an entire group of them shares a single name and a single object. You can refer to the following properties of the <tt>radio</tt> object: * <tt>name</tt> is the name common to the radio buttons. * <tt>length</tt> is the number of radio buttons in the group. To access the individual buttons, you treat the <tt>radio</tt> object as an array. The buttons are indexed, starting with <tt>0</tt>. Each individual button has the following properties: * <tt>value</tt> is the value assigned to the button. (This is used by the server.) * <tt>defaultChecked</tt> indicates the value of the <tt>checked</tt> attribute and the default state of the button. * <tt>checked</tt> is the current state. For example, you can check the first radio button in the <tt>radio1</tt> group on the <tt>form1</tt> form with this statement: <pre>document.form1.radio1[0].checked = true;</pre> However, if you do this, be sure you set the other values to <tt>false</tt> as needed. This is not done automatically. You can use the <tt>click()</tt> method to do both of these in one step. Like a check box, radio buttons have a <tt>click()</tt> method and an <tt>onClick</tt> event handler. Each radio button can have a separate statement for this event. ; Did you Know?: You can have more than one group of radio buttons on a page, and they will act independently. Assign a separate <tt>name</tt> attribute value to each group. === Drop-Down Lists === A final form element is also useful for multiple-choice selections. The <tt><select></tt> HTML tag is used to define a selection list, or a drop-down list of text items. The following is an example of a selection list: <pre><select name="select1" SIZE=40> <option value="choice1" SELECTED>This is the first choice. <option value="choice2">This is the second choice. <option value="choice3">This is the third choice. </select> </pre> Each of the <tt><option></tt> tags defines one of the possible choices. The <tt>value</tt> attribute is the name that is returned to the program, and the text outside the <tt><option></tt> tag is displayed as the text of the option. An optional attribute to the <tt><select></tt> tag, <tt>multiple</tt>, can be specified to allow multiple items to be selected. Browsers usually display a single-selection <tt><select></tt> as a drop-down list and a multiple-selection list as a scrollable list. The object for selection lists is the <tt>select</tt> object. The object itself has the following properties: * <tt>name</tt> is the name of the selection list. * <tt>length</tt> is the number of options in the list. * <tt>options</tt> is the array of options. Each selectable option has an entry in this array. * <tt>selectedIndex</tt> returns the index value of the currently selected item. You can use this to check the value easily. In a multiple-selection list, this indicates the first selected item. The <tt>options</tt> array has a single property of its own, <tt>length</tt>, which indicates the number of selections. In addition, each item in the <tt>options</tt> array has the following properties: * <tt>index</tt> is the index into the array. * <tt>defaultSelected</tt> indicates the state of the <tt>selected</tt> attribute. * <tt>selected</tt> is the current state of the option. Setting this property to <tt>true</tt> selects the option. The user can select multiple options if the <tt>multiple</tt> attribute is included in the <tt><select></tt> tag. * <tt>name</tt> is the value of the <tt>name</tt> attribute. This is used by the server. * <tt>text</tt> is the text that is displayed in the option. The <tt>select</tt> object has two methods—<tt>blur()</tt> and <tt>focus()</tt>—which perform the same purposes as the corresponding methods for <tt>text</tt> objects. The event handlers are <tt>onBlur</tt>, <tt>onFocus</tt>, and <tt>onChange</tt>, also similar to other objects. ; By the Way: You can change selection lists dynamically—for example, choosing a product in one list could control which options are available in another list. You can also add and delete options from the list. Reading the value of a selected item is a two-step process. You first use the <tt>selectedIndex</tt> property, and then use the <tt>value</tt> property to find the value of the selected choice. Here's an example: <pre>ind = document.navform.choice.selectedIndex; val = document.navform.choice.options[ind].value; </pre> This uses the <tt>ind</tt> variable to store the selected index, and then assigns the <tt>val</tt> variable to the value of the selected choice. Things are a bit more complicated with a multiple selection: You have to test each option's <tt>selected</tt> attribute separately. == Displaying Data from a Form == As a simple example of using forms, [Listing 11.1] shows a form with name, address, and phone number fields, as well as a JavaScript function that displays the data from the form in a pop-up window. ; Listing 11.1. A Form That Displays Data in a Pop-up Window <pre><html> <head> <title>Form Example</title> <script language="JavaScript" type="text/javascript"> function display() { DispWin = window.open('','NewWin', 'toolbar=no,status=no,width=300,height=200') message = "<ul><li><b>NAME: </b>" + document.form1.yourname.value; message += "<li><b>ADDRESS: </b>" + document.form1.address.value; message += "<li><b>PHONE: </b>" + document.form1.phone.value + "</ul>"; DispWin.document.write(message); } </script> </head> <body> <h1>Form Example</h1> Enter the following information. When you press the Display button, the data you entered will be displayed in a pop-up window. <form name="form1"> <p><b>Name:</b> <input type="TEXT" size="20" name="yourname"> </p> <p><b>Address:</b> <input type="TEXT" size="30" name="address"> </p> <p><b>Phone: </b> <input type="TEXT" size="15" name="phone"> </p> <p><input type="BUTTON" value="Display" onClick="display();"></p> </form> </body> </html> </pre> Here is a breakdown of how this HTML document and script work: * The <tt><script></tt> section in the document's header defines a function called <tt>display()</tt> that opens a new window (as described in [Hour 10]) and displays the information from the form. * The <tt><form></tt> tag begins the form. Because this form is handled entirely by JavaScript, no form action or method is needed. * The <tt><input></tt> tags define the form's three fields: <tt>yourname</tt>, <tt>address</tt>, and <tt>phone</tt>. The last <tt><input></tt> tag defines the Display button, which is set to run the <tt>display()</tt> function. ; Did you Know?: As usual, you can download the listings for this hour from this book's website. [Figure 11.1] shows this form in action. The Display button has been pressed, and the pop-up window shows the results. == Sending Form Results by Email == One easy way to use a form is to send the results by email. You can do this without using any JavaScript, although you could use JavaScript to validate the information entered (as you'll learn later in this hour). To send a form's results by email, you use the <tt>mailto:</tt> action in the form's <tt>action</tt> attribute. [Listing 11.2] is a modified version of the name and address form from [Listing 11.1] that sends the results by email. ; Listing 11.2. Sending a Form's Results by Email <pre><html> <head> <title>Email Form Example</title> </head> <body> <h1>Email Form Example</h1> Enter the following information. When you press the Submit button, the data you entered will be sent by email. <form name="form1" action="mailto:user@host.com" enctype="text/plain" method="POST"> <p><b>Name:</b> <input type="TEXT" size="20" name="yourname"> </p> <p><b>Address:</b> <input type="TEXT" size="30" name="address"> </p> <p><b>Phone: </b> <input type="TEXT" size="15" name="phone"> </p> <p><input type="submit" value="Submit"></p> </form> </body> </html> </pre> To use this form, change <tt>user@host.com</tt> in the <tt>action</tt> attribute of the <tt><form></tt> tag to your email address. Notice the <tt>enctype=text/plain</tt> attribute in the <tt><form></tt> tag. This ensures that the information in the email message will be in a readable plain-text format rather than encoded. Although this provides a quick and dirty way of retrieving data from a form, the disadvantage of this technique is that it is highly browser dependent. Whether it will work for each user of your page depends on the configuration of his or her browser and email client. ; Watch Out!: Because this technique does not consistently work on all browsers, I don't recommend you use it. For a more reliable way of sending form results, you can use a CGI form-to-email gateway. Several free CGI scripts and services are available. You'll find links to them on this book's website. == Try It Yourself Validating a Form == One of JavaScript's most useful purposes is validating forms. This means using a script to verify that the information entered is valid—for example, that no fields are blank and that the data is in the right format. You can use JavaScript to validate a form whether it's submitted by email or to a CGI script, or is simply used by a script. [Listing 11.3] is a version of the name and address form that includes validation. ; Listing 11.3. A Form with a Validation Scrip <pre><html> <head> <title>Form Example</title> <script language="JavaScript" type="text/javascript"> function validate() { if (document.form1.yourname.value.length < 1) { alert("Please enter your full name."); return false; } if (document.form1.address.value.length < 3) { alert("Please enter your address."); return false; } if (document.form1.phone.value.length < 3) { alert("Please enter your phone number."); return false; } return true; } </script> </head> <body> <h1>Form Example</h1> <p>Enter the following information. When you press the Submit button, the data you entered will be validated, then sent by email.</p> <form name="form1" action="mailto:user@host.com" enctype="text/plain" method="POST" onSubmit="return validate();"> <p><b>Name:</b> <input type="TEXT" size="20" name="yourname"> </p> <p><b>Address:</b> <input type="TEXT" size="30" name="address"> </p> <p><b>Phone: </b> <input type="TEXT" size="15" name="phone"> </p> <p><input type="SUBMIT" value="Submit"></p> </form> </body> </html> </pre> This form uses a function called <tt>validate()</tt> to check the data in each of the form fields. Each <tt>if</tt> statement in this function checks a field's length. If the field is long enough to be valid, the form can be submitted; otherwise, the submission is stopped and an alert message is displayed. ; By the Way: The validation in this script is basic—you could go further and ensure that the <tt>phone</tt> field contains only numbers, and the right amount of digits, by using JavaScript's string features described in [Hour 5], "Using Variables, Strings, and Arrays." This form is set up to send its results by email, as in [Listing 11.2]. If you wish to use this feature, be sure to read the information about email forms earlier in this hour and change <tt>user@host.com</tt> to your desired email address. The <tt><form></tt> tag uses an <tt>onSubmit</tt> event handler to call the <tt>validate()</tt> function. The <tt>return</tt> keyword ensures that the value returned by <tt>validate()</tt> will determine whether the form is submitted. ; Did you Know?: You can also use the <tt>onChange</tt> event handler in each form field to call a validation routine. This allows the field to be validated before the Submit button is pressed. [Figure 11.2] shows this script in action, as displayed by Firefox. The form has been filled out except for the name, and a dialog box indicates that the name needs to be entered. == Summary == During this hour, you've learned all about HTML forms and how they can be used with JavaScript. You learned about the <tt>form</tt> object and the objects for the various form elements, and used them in several example scripts. You also learned how to submit a form by email, and how to use JavaScript to validate a form before it is submitted. In the next hour, you'll look at CSS (Cascading Style Sheets)—a standards-compliant way to achieve just about any visual effect on a page, and the foundation for using JavaScript to change a page's appearance. === Q&A === ; Q1: If I use JavaScript to add validation and other features to my form, can users with non-JavaScript browsers still use the form? ; A1: Yes, if you're careful. Be sure to use a Submit button rather than the <tt>submit</tt> action. Also, the CGI script might receive nonvalidated data, so be sure to include the same validation in the CGI script. Non-JavaScript users will be able to use the form, but won't receive instant feedback about their errors. ; Q2: Can I add new form elements on the fly or change them—for example, change a text box into a password field? ; A2: Not in the traditional way described in this hour. However, you can change any aspect of a page, including adding, removing, or changing form elements, using the W3C DOM. See [Hour 13] for details. ; Q3: Is there any way to create a large number of text fields without dealing with different names for all of them? ; A3: Yes. If you use the same name for several elements in the form, their objects will form an array. For example, if you defined 20 text fields with the name <tt>member</tt>, you could refer to them as <tt>member[0]</tt> through <tt>member[19]</tt>. This also works with other types of form elements. ; Q4: Is there a way to place the cursor on a particular field when the form is loaded, or after my validation routine displays an error message? ; A4: Yes. You can use the field's <tt>focus()</tt> method to send the cursor there. To do this when the page loads, you can use the <tt>onLoad</tt> method in the <tt><body></tt> tag. However, there is no way to place the cursor in a particular position within the field. === Quiz Questions === Test your knowledge of JavaScript and forms by answering the following questions. ''' 1:''' Which of these attributes of a <tt><form></tt> tag determines where the data will be sent? # <tt>action</tt> # <tt>method</tt> # <tt>name</tt> '''2:''' Where do you place the <tt>onSubmit</tt> event handler to validate a form? # In the <tt><body></tt> tag # In the <tt><form></tt> tag # In the <tt><input></tt> tag for the Submit button ''' 3:''' What can JavaScript do with forms that a CGI script can't? # Cause all sorts of problems # Give the user instant feedback about errors # Submit the data to a server === Quiz Answers === '''1.''' a. The <tt>action</tt> attribute determines where the data is sent. ''' 2.''' b. You place the <tt>onSubmit</tt> event handler in the <tt><form></tt> tag. ''' 3.''' b. JavaScript can validate a form and let the user know about errors immediately, without waiting for a response from a server. === Exercises === To further explore the JavaScript features you learned about in this hour, you can perform the following exercises: * Change the <tt>validate</tt> function in [Listing 11.3] so that after a message is displayed indicating that a field is wrong, the cursor is moved to that field. (Use the <tt>focus()</tt> method for the appropriate form element.) * Add a text field to the form in [Listing 11.3] for an email address. Add a feature to the <tt>validate</tt> function that verifies that the email address is at least five characters and that it contains the <tt>@</tt> symbol. 2tq7zrgvl2wkwrpyg1kt09f5zuoeak5 User:Moncur/12 2 2158 6084 6029 2007-06-22T18:58:26Z Foxall 27 6084 wikitext text/x-wiki <!- - =12. Working with Style Sheets= == Style and Substance == If you've ever tried to make a really good-looking web page, you've probably encountered some problems. First of all, HTML doesn't give you very much control over a page's appearance. For example, you can't change the amount of space between words—in fact, you can't even use two spaces between words because they'll be converted to a single space. Second, even when you do your best to make a perfect-looking document using HTML, you will find that it doesn't necessarily display the same way on all browsers—or even on different computers running the same browser. The reason for these problems is simple: HTML was never meant to handle such things as layout, justification, and spacing. HTML deals with a document's structure—in other words, how the document is divided into paragraphs, headings, lists, and other elements. This isn't a bad thing. In fact, it's one of the most powerful features of HTML. You only define the structure of the document, so it can be displayed in all sorts of different ways without changing its meaning. For example, a well-written HTML document can be displayed in Netscape, Firefox, or Internet Explorer, which generally treat elements the same way—there is a space between paragraphs, headings are in big, bold text, and so on. Because HTML only defines the structure, the same document can be displayed in a text-based browser, such as Lynx. In this case, the different elements will be displayed differently, but you can still tell which text is a heading, which is a list, and so on. ; By the Way: Text-based browsers aren't the only alternative way of displaying HTML. Browsers designed for the blind can read a web page using a speech synthesizer, with different voices or sounds that indicate the different elements. As you should now understand, HTML is very good at its job—defining a document's structure. Not surprisingly, using this language to try to control the document's presentation will only drive you crazy. Fortunately, the World Wide Web Consortium (W3C) realized that web authors need to control the layout and presentation of documents. This resulted in the Cascading Style Sheets (CSS) standard. CSS adds a number of features to standard HTML to control style and appearance. More importantly, it does this without affecting HTML's capability to describe document structures. Although style sheets still won't make your document look 100% identical on all browsers and all platforms, it is certainly a step in the right direction. Let's look at a real-world example. If you're browsing the Web with a CSS-supported browser and come across a page that uses CSS, you'll see the document exactly as it was intended. You can also turn off your browser's support for style sheets if you'd rather view all the pages in the same consistent way. ; Did you Know?: Using CSS and simplifying HTML markup is also helpful in making pages compatible with the various tiny browsers used on mobile phones. == Defining and Using CSS Styles == You can define a CSS style sheet within an HTML document using the <tt><style></tt> tag. The opening <tt><style></tt> tag specifies the type of style sheet—CSS is currently the only valid type—and begins a list of styles to apply to the document. The <tt></style></tt> tag ends the style sheet. Here's a simple example: <pre><style type="text/css"> H1 {color: blue;} </style> </pre> Because the style sheet definition itself doesn't create any output on the page, you should place the <tt><style></tt> tags in the <tt><head></tt> section of the HTML document. ; Watch Out!: You can only use style sheet rules within the <tt><style></tt> tags. HTML tags are not valid within a style sheet. === Creating Rules === Each element within the <tt><style></tt> tags is called a rule. To create a rule, you specify the HTML elements that it will affect, as well as a list of properties and values that control the appearance of those elements. We'll look at the properties in the next section. As a simple example, the following style sheet contains a single rule. All Level 1 headings are blue: <pre><style type="text/css"> H1 {color: blue;} </style> </pre> Each rule includes three components: * A selector (<tt>H1</tt> in the example) describing which HTML tags will be affected * One or more property names (<tt>color</tt> in the example) * A value for each property name (<tt>blue</tt> in the example) Each rule uses braces to surround the list of properties and values, and a semicolon after each value. The semicolon is optional if you are only specifying one property and value. You can specify multiple HTML tags for the selector, as well as multiple properties and values. For example, the following style sheet specifies that all headings are blue, italic, and centered: <pre><style type="text/css"> H1,H2,H3,H4,H5,H6 {color: blue; font-style: italic; text-align: center; } </style> </pre> ; By the Way: If you make a rule that sets the style of the <tt><body></tt> tag, it will affect the entire document. This becomes the default rule for the document, but you can override it with the styles of elements within the body of the page. === Setting Styles for Specific Elements === Rather than setting the style for all elements of a certain type, you can specify a style for an individual element only. For example, the following HTML tag represents a Level 1 heading colored red: <pre><h1 style="color: red; text-align: center;">This is a red heading.</h1> </pre> This is called an inline style because it's specified in the HTML tag itself. You don't need to use <tt><style></tt> tags with this type of style. If you have used both, inline style rules override rules in a style sheet—for example, if the preceding tag appeared in a document that sets H1 headings to be blue in a style sheet, the heading would still be red. === Using <tt>id</tt> Attributes === You can also create a rule within a style sheet that will only apply to a certain element. The <tt>id</tt> attribute of an HTML tag enables you to assign a unique identifier to that element. For example, this tag defines a paragraph with the <tt>id</tt> attribute <tt>intro</tt>: <pre><p id="intro">This is a paragraph</p> </pre> After you've assigned this attribute to the tag, you can include rules for it as part of a style sheet. CSS uses the pound sign (<tt>#</tt>) to indicate that a rule applies to a specific <tt>id</tt>. For example, the following style sheet sets the <tt>intro</tt> paragraph to be red in color: <pre><style type="text/css"> # intro {color: red;} </style> </pre> ; Watch Out!: An <tt>id</tt> value should define a single element in a page. Most browsers will enable you to define more than one element with the same <tt>id</tt> value, but this is not valid and will not work consistently. It's best to use classes, as described in the next section, when you need to apply the same styles to multiple elements. === Using Classes === Although the <tt>id</tt> attribute is useful, you can only use each unique <tt>id</tt> value with a single HTML tag. If you need to apply the same style to several tags, you can use the <tt>class</tt> attribute instead. For example, this HTML tag defines a paragraph in a class called <tt>smallprint</tt>: <pre><p class="smallprint">This is the small print</p> </pre> To refer to a class within a style sheet, you use a period followed by the class name. Here is a style sheet that defines styles for the <tt>smallprint</tt> class: <pre><style type="text/css"> .smallprint {color: black; font-size: 10px; } </style> </pre> ; By the Way: You can use a class on any number of elements within a page. You can also define multiple classes for an element, separated by spaces: <tt>class="smallprint bold"</tt>. When you do this, the CSS rules for all of the classes will be applied to the element. == Using CSS Properties == CSS supports a wide variety of properties, such as <tt>color</tt> and <tt>text-align</tt>, in the previous example. The following sections list some of the most useful CSS properties for aligning text, changing colors, working with fonts, and setting margins and borders. ; Did you Know?: This is only an introduction to CSS, and there are many properties beyond those listed here. For more details about CSS, consult one of the web resources or books listed in [Appendix A], "Other JavaScript Resources." === Aligning Text === One of the most useful features of style sheets is the capability to change the spacing and alignment of text. Most of these features aren't available using standard HTML. You can use the following properties to change the alignment and spacing of text: * <tt>letter-spacing</tt> Specifies the spacing between letters. * <tt>text-decoration</tt> Enables you to create lines over, under, or through the text, or to choose blinking text. The value can be <tt>none</tt> (default), <tt>underline</tt>, <tt>overline</tt>, <tt>line-through</tt>, or <tt>blink</tt>. Blinking text is, thankfully, unsupported by most browsers. * <tt>vertical-align</tt> Enables you to move the element up or down to align with other elements on the same line. The value can be <tt>baseline</tt>, <tt>sub</tt>, <tt>super</tt>, <tt>top</tt>, <tt>text-top</tt>, <tt>middle</tt>, <tt>text-bottom</tt>, and <tt>bottom</tt>. * <tt>text-align</tt> Specifies the justification of text. This can be <tt>left</tt>, <tt>right</tt>, <tt>center</tt>, or <tt>justify</tt>. * <tt>text-transform</tt> Changes the capitalization of text. <tt>capitalize</tt> makes the first letter of each word uppercase; <tt>uppercase</tt> makes all letters uppercase; and <tt>lowercase</tt> makes all letters lowercase. * <tt>text-indent</tt> Enables you to specify the amount of indentation for paragraphs and other elements. * <tt>line-height</tt> Enables you to specify the distance between the top of one line of text and the top of the next. === Changing Colors and Background Images === You can also use style sheets to gain more control over the colors and background images used on your web page. CSS includes the following properties for this purpose: * <tt>color</tt> Specifies the color of the text within an element. This is useful for emphasizing text or for using a specific color scheme for the document. You can specify a named color (for example, <tt>red</tt>) or red, green, and blue values to define a specific color (for example, <tt>#0522A5</tt>). * <tt>background-color</tt> Specifies the background color of an element. By setting this value, you can make paragraphs, table cells, and other elements with unique background colors. As with <tt>color</tt>, you can specify a color name or numeric color. * <tt>background-image</tt> Specifies the URL for an image to be used as the background for the element. This is specified with the keyword <tt>url</tt> and a URL in parentheses, as in <tt>url(/back.gif)</tt>. * <tt>background-repeat</tt> Specifies whether the background image is repeated (tiled). The image can be repeated horizontally, vertically, or both. * <tt>background-attachment</tt> Controls whether the background image scrolls when you scroll through the document. <tt>fixed</tt> means that the background image stays still while the document scrolls; <tt>scroll</tt> means the image scrolls with the document (like background images on normal web documents). * <tt>background-position</tt> Enables you to offset the position of the background image. * <tt>background</tt> Provides a quick way to set all of the background elements in this list. You can specify all of the attributes in a single <tt>background</tt> rule. ; Did you Know?: The basic list of colors supported by most browsers for the <tt>color</tt> and <tt>background-color</tt> properties includes <tt>aqua</tt>, <tt>black</tt>, <tt>blue</tt>, <tt>fuchsia</tt>, <tt>gray</tt>, <tt>green</tt>, <tt>lime</tt>, <tt>maroon</tt>, <tt>navy</tt>, <tt>olive</tt>, <tt>orange</tt>, <tt>purple</tt>, <tt>red</tt>, <tt>silver</tt>, <tt>teal</tt>, <tt>white</tt>, and <tt>yellow</tt>. === Working with Fonts === Style sheets also enable you to control the fonts used on the web document and how they are displayed. You can use the following properties to control fonts: * <tt>font-family</tt> Specifies the name of a font, such as <tt>arial</tt> or <tt>helvetica</tt>, to use with the element. Because not all users have the same fonts installed, you can list several fonts. The CSS specification also supports several generic font families that are guaranteed to be available: <tt>serif</tt>, <tt>sans-serif</tt>, <tt>cursive</tt>, <tt>fantasy</tt>, and <tt>monospace</tt>. * <tt>font-style</tt> Specifies the style of a font, such as <tt>normal</tt>, <tt>italic</tt>, or <tt>oblique</tt>. * <tt>font-variant</tt> This value is <tt>normal</tt> for normal text, and <tt>small-caps</tt> to display lowercase letters as small capitals. * <tt>font-weight</tt> Enables you to specify the weight of text: <tt>normal</tt> or <tt>bold</tt>. You can also specify a numeric font weight for a specific amount of boldness. * <tt>font-size</tt> The point size of the font. * <tt>font</tt> This is a quick way to set all the font properties in this list. You can list all the values in a single <tt>font</tt> rule. === Margins and Borders === Last but not least, you can use style sheets to control the general layout of the page. The following properties affect margins, borders, and the width and height of elements on the web page: * <tt>margin-top, margin-bottom, margin-left, margin-right</tt> Specify the margins of the element. You can specify the margins as an exact number or as a percentage of the page's width. * <tt>margin</tt> Allows you to specify a single value for all four of the margins. * <tt>width</tt> Specifies the width of an element, such as an image. * <tt>height</tt> Specifies the height of an element. * <tt>float</tt> Enables the text to flow around an element. This is particularly useful with images or tables. * <tt>clear</tt> Specifies that the text should stop flowing around a floating image. ; Did you Know?: Along with these features, CSS style sheets enable you to create sections of the document that can be positioned independently. This feature is described in [Hour 13], "Using the W3C DOM." === Units for Style Sheets === Style sheet properties support a wide variety of units, or types of values you can specify. Most properties that accept a numeric value support the following types of units: * <tt>px</tt> Pixels (for example, <tt>15px</tt>). Pixels are the smallest addressable units on a computer screen or other device. In some devices with non-typical resolutions (for example, handheld computers) the browser might rescale this value to fit the device. * <tt>pt</tt> Points (for example, <tt>10pt</tt>). Points are a standard unit for font size. The size of text of a specified point size varies depending on the monitor resolution. Points are equal to 1/72 of an inch. * <tt>ex</tt> Approximate height of the letter <tt>x</tt> in the current font (for example, <tt>1.2ex</tt>). * <tt>em</tt> Approximate width of the letter <tt>m</tt> in the current font (for example, <tt>1.5em</tt>). This is usually equal to the <tt>font-size</tt> property for the current element. * <tt>%</tt> Percentage of the containing object's value (for example, <tt>150%</tt>). Which unit you choose to use is generally a matter of convenience. Point sizes are commonly used for fonts, pixel units for the size and position of layers or other objects, and so on. == Creating a Simple Style Sheet == As an example of CSS, you can now create a web page that uses a wide variety of styles: * For the entire body, the text is blue. * Paragraphs are centered and have a wide margin on either side. * Level 1, 2, and 3 headings are red. * Bullet lists are boldface and green by default. The following is the CSS style sheet to define these properties, using the <tt><style></tt> tags: <pre><style type="text/css"> BODY {color: blue} P {text-align: center; margin-left:20%; margin-right:20%} H1, H2, H3 {color: red} UL {color: green; font-weight: bold} </style> </pre> Here's a rundown of how this style sheet works: * The <tt><style></tt> tags enclose the style sheet. * The <tt>BODY</tt> section sets the page body's default text color to blue. * The <tt>P</tt> section defines the style for paragraphs. * The <tt>H1, H2, H3</tt> section defines the style for heading tags. * The <tt>UL</tt> section defines a style for bullet lists. To show how this style sheet works, [Listing 12.1] shows a document that includes this style sheet and a few examples of overriding styles for particular elements. [Figure 12.1] shows Internet Explorer's display of this example. ; Listing 12.1. An Example of a Document Using CSS Style Sheets <pre><html> <head><title>Style Sheet Example</title> <style type="text/css"> BODY {color: blue} P {text-align: center; margin-left:20%; margin-right:20%} H1, H2, H3 {color: red} UL {color: green; font-weight: bold} </style> </head> <body> <h1>Welcome to this page</h1> <p>The above heading is red, since we specified that H1-H3 headings are red. This paragraph is blue, which is the default color for the entire body. It's also centered and has 20% margins, which we specified as the default for paragraphs. </p> <p style="color:black">This paragraph has black text, because it overrides the default color in the paragraph tag. We didn't override the centering, so this paragraph is also centered.</p> <ul> <li>This is a bullet list. <li>It's green and bold, because we specified those defaults for bullet lists. <li style="color:red">This item is red, overriding the default. <li>This item is back to normal. </ul> <p>This is another paragraph with the default paragraph style.</p> </body> </html> </pre> ; Did you Know?: Remember that you can download the code for this listing from this book's website. == Using External Style Sheets == The preceding example only changes a few aspects of the HTML document's appearance, but it adds about 10 lines to its length. If you were trying to make a very stylish page and had defined new styles for all of the attributes, you would end up with a very long and complicated document. For this reason, you can use a CSS style sheet from a separate file in your document. This makes your document short and to the point. More importantly, it enables you to define a single style sheet and use it to control the appearance of all of the pages on your site. === Linking to External Style Sheets === You can refer to an external CSS file by using the <tt><link></tt> tag in the <tt><head></tt> section of one or more HTML documents: <pre><link rel="stylesheet" type="text/css" href="style.css"> </pre> This tag refers to an external CSS style sheet stored in the <tt>style.css</tt> file. ; By the Way: Using external style sheets is a good practice because it separates content (HTML), presentation (CSS), and behavior (JavaScript). See [Hour 15], "Unobtrusive Scripting," for more information on best practices. === Creating External <tt>.css</tt> Files === After you've linked to an external <tt>.css</tt> file, you need to create the file itself. The external style sheet is a simple text file that you can create with the same editor you use for HTML documents. The <tt>.css</tt> file should contain a list of CSS rules, in the same format you would use between <tt><style></tt> tags. However, the file should not include <tt><style></tt> tags or any other HTML tags. Here is what the styles from the previous example would look like as an external style sheet: <pre>BODY {color: blue} P {text-align: center; margin-left:20%; margin-right:20%} H1, H2, H3 {color: red} UL {color: green; font-weight: bold} </pre> == Controlling Styles with JavaScript == The new W3C DOM (Document Object Model) makes it easy for JavaScript applications to control the styles on a page. Whether or not you use style sheets, you can use JavaScript to modify the style of any element on a page. As you learned in [Hour 4], "Working with the Document Object Model (DOM)," the DOM enables you to access the entire HTML document and all of its elements as scriptable objects. You can change any object's style by modifying its <tt>style</tt> object properties. The names and values of objects under the <tt>style</tt> object are the same as you've learned in this hour. For example, you can change an element's color by modifying its <tt>style.color</tt> attribute: <pre>element.style.color="blue"; </pre> Here, <tt>element</tt> represents the object for an element. There are many ways of finding an element's corresponding object, which you will learn about in detail in [Hour 13]. In the meantime, an easy way to find an element's object is to assign an identifier to it with the <tt>id</tt> attribute. The following statement creates an <tt><nowiki><h1></nowiki></tt> element with the identifier <tt>"head1"</tt>: <pre><h1 id = "head1">This is a heading</h1> </pre> Now that you've assigned an identifier, you can use the <tt>getElementById()</tt> method to find the DOM object for the element: <pre>element = document.getElementById("head1"); </pre> You can also use a shortcut to set styles and avoid the use of a variable by directly working with the <tt>getElementbyId()</tt> method: <pre>document.getElementById("head1").style.color="blue"; </pre> This statement combines the preceding examples by directly assigning the blue color style to the <tt>head1</tt> element of the page. You'll use this technique to create a dynamic page in the following Try It Yourself section. == Try It Yourself — Creating Dynamic Styles == Using the DOM style objects, you can create a page that enables you to directly control the colors used in the page's text. To begin with, you will need a form with which to select colors. You can use <tt><select></tt> tags to allow a color choice: <pre><select name="heading" onChange="changehead();"> <option value="black">Black</option> <option value="red">Red</option> <option value="blue">Blue</option> <option value="green">Green</option> <option value="yellow">Yellow</option> </select> </pre> ; By the Way: If you are unsure of the syntax used in forms, you might want to review [Hour 11], "Getting Data with Forms." Notice that this <tt><select></tt> definition uses <tt>onChange</tt> attributes in the <tt><select></tt> tags to call two functions, <tt>changehead()</tt> and <tt>changebody()</tt>, when their respective selection changes. Combining two of these selections with some basic HTML results in the complete HTML document shown in [Listing 12.2]. ; Listing 12.2. The HTML File for the Dynamic Styles Example <pre><html> <head> <title>Controlling Styles with JavaScript</title> <script language="Javascript" type="text/javascript" src="styles.js"> </script> </head> <body> <h1 id="head1"> Controlling Styles with JavaScript</h1> <hr> <p id="p1"> Select the color for paragraphs and headings using the form below. The colors you specified will be dynamically changed in this document. The change occurs as soon as you change the value of either of the drop-down lists in the form. </p> <form name="form1"> <b>Heading color: </b> <select name="heading" onChange="changehead();"> <option value="black">Black</option> <option value="red">Red</option> <option value="blue">Blue</option> <option value="green">Green</option> <option value="yellow">Yellow</option> </select> <br> <b>Body text color: </b> <select name="body" onChange="changebody();"> <option value="black">Black</option> <option value="red">Red</option> <option value="blue">Blue</option> <option value="green">Green</option> <option value="yellow">Yellow</option> </select> </form> </body> </html> </pre> Notice that the <tt><nowiki><h1></nowiki></tt> tag has an <tt>id</tt> attribute of <tt>"head1"</tt>, and the <tt><nowiki><p></nowiki></tt> tag has an <tt>id</tt> of <tt>"p1"</tt>. These are the values the script will use in the <tt>getElementById()</tt> function. The <tt><script></tt> tag in the <tt><nowiki><head></nowiki></tt> section links the document to the <tt>styles.js</tt> script, which you will create next. Save your HTML file as <tt>styles.html</tt>. You can test it in a browser now, but the dynamic features will not work until you create the JavaScript file containing the script functions. [Listing 12.3] shows the JavaScript code for this example. ; Listing 12.3. The JavaScript File for the Dynamic Styles Example <pre>function changehead() { i = document.form1.heading.selectedIndex; headcolor = document.form1.heading.options[i].value; document.getElementById("head1").style.color = headcolor; } function changebody() { i = document.form1.body.selectedIndex; doccolor = document.form1.body.options[i].value; document.getElementById("p1").style.color = doccolor; } </pre> This script first defines the <tt>changehead()</tt> function. This reads the index for the currently selected heading color, and then reads the color value for the index. This function uses the <tt>getElementById()</tt> method described in the previous section to change the color. The <tt>changebody()</tt> function uses the same syntax to change the body color. Store your JavaScript file as <tt>styles.js</tt>, and be sure it is in the same folder as the HTML document you saved from [Listing 12.2]. To test the dynamic styles script, load [Listing 12.2] (<tt>styles.html</tt>) into the browser. Select the colors, and notice the immediate change in the heading or body of the page. [Figure 12.2] shows a typical display of this document after the colors have been changed. == Summary == In this hour, you've used style sheets to control the appearance of web documents. You've learned the CSS syntax for creating style sheets, and used JavaScript to control the styles of a document. In the next hour, you will move on to Dynamic HTML (DHTML) using layers and other features of the W3C DOM. === Q&A === ''' Q1:''' What's the difference between changing the appearance of text with traditional tags, such as <tt><nowiki><b></nowiki></tt> and <tt><nowiki><i></nowiki></tt>, and using a style sheet? ''' A1: ''' Functionally, there is no difference. In principle, though, the HTML should define the structure of the document, and CSS should define the presentation. ''' Q2:''' What happens if two style sheets affect the same text? ''' A2: ''' The CSS specification is designed to allow style sheets to overlap, or cascade. Thus, you can specify a style for the body of the document and override it for specific elements, such as headings and paragraphs. You can even go one step further and override the style for one particular instance of an element. CSS has a set of rules governing which styles have precedence over others, although you might find that different browsers interpret CSS differently when you have many overlapping styles. ''' Q3:''' With CSS in one separate file and JavaScript in another, doesn't web development get confusing? ''' A3: ''' Yes, this can make a simple page unnecessarily complex. However, as you build more complex pages, you'll find it very helpful to have three separate files. This lets you deal with the content and structure (HTML), presentation (CSS), and behavior (JavaScript) separately. '''Q4:''' What if users don't like the styles I use in my pages? ''' A4: ''' This is another distinct advantage style sheets have over browser-specific tags. With the latest browsers, users can choose a default style sheet of their own and override any properties they want. === Quiz Questions === Test your knowledge of style sheets and JavaScript by answering the following questions. ''' 1. ''' Which of the following tags is the correct way to begin a CSS style sheet? # <tt><style></tt> # <tt><style type="text/css"></tt> # <tt><style rel="css"></tt> ''' 2. ''' Why isn't the normal HTML language very good at defining layout and presentation? # Because it was designed by programmers. # Because magazines feared the competition. # Because its main purpose is to define document structure. ''' 3. ''' Which feature of new browsers allows you to use JavaScript statements to change styles? # HTML 4.0 # The DOM # CSS 2.0 === Quiz Answers === ''' 1. ''' b. You begin a CSS style sheet with the tag <tt><style type="text/css"></tt>. ''' 2. ''' c. HTML is primarily intended to describe the structure of documents. ''' 3. ''' b. The DOM (Document Object Model) enables you to change styles using JavaScript. === Exercises === If you want to gain more experience using CSS style sheets, try the following exercise: * Modify [Listing 12.2] to include an <tt><nowiki><h2></nowiki></tt> tag with a subheading. Add a form element to select this tag's color, and a corresponding <tt>changeh2</tt> function in the script. * Now that [Listing 12.2] has three different changeable elements, there is quite a bit of repetition in the script. Create a single <tt>ChangeColor</tt> function that takes a parameter for the element to change, and modify the <tt>onChange</tt> event handlers to send the appropriate element <tt>id</tt> value as a parameter to this function. f5x4j8brkqu1o0kemtezr0ro6gg03po User:Moncur/13 2 2159 6043 6042 2007-06-21T22:36:46Z Foxall 27 6043 wikitext text/x-wiki =13. Using the W3C DOM= == The DOM and Dynamic HTML == Due to the basic DOM of older browsers, JavaScript could only have a limited effect on a page. There were certain elements, such as forms and images, that you could control with JavaScript, but if you wanted to do something more complex—such as adding or removing several paragraphs, making a form appear out of nowhere, or displaying data dynamically within text—you were out of luck. To escape this limitation, browser manufacturers created Dynamic HTML, or DHTML—an extended DOM that allowed JavaScript to manipulate more of a page. Unfortunately, this was still limiting—you had to work with certain defined parts of the page called layers rather than having complete control over the page. Worse yet, Microsoft and Netscape created completely different and incompatible versions of DHTML, which led to some complicated and unreliable scripting. Fortunately, you won't have to learn about those incompatible versions of DHTML because the W3C DOM has made them unnecessary. Although browsers still aren't perfectly interchangeable, today's browsers support enough of the standard DOM to enable you to fully control the content of pages without much concern over browser issues. In this hour and the next hour, you'll create several examples of DOM scripts that will work fine in all modern browsers. ; By the Way: There are still browser issues, of course. [Hour 15], "Unobtrusive Scripting," will show you how to deal with browser differences and how to minimize your chances of running into problems with new browsers. == Understanding DOM Structure == In [Hour 4], "Working with the Document Object Model (DOM)," you learned about how some of the most important DOM objects are organized: The <tt>window</tt> object contains the <tt>document</tt> object, and so on. Although these objects were the only ones available in older browsers, the new DOM adds objects under the <tt>document</tt> object for every element of a page. To better understand this concept, let's look at the simple HTML document in [Listing 13.1]. This document has the usual <tt><head></tt> and <tt><body></tt> sections, a heading, and a single paragraph of text. ; Listing 13.1. A Simple HTML Document <pre><html> <head> <title>A simple HTML Document</title> </head> <body> <h1>This is a Heading</h1> <p>This is a paragraph</p> </body> </html> </pre> Like all HTML documents, this one is composed of various containers and their contents. The <tt><html></tt> tags form a container that includes the entire document, the <tt><body></tt> tags contain the body of the page, and so on. In the DOM, each container within the page and its contents are represented by an object. The objects are organized into a tree-like structure, with the <tt>document</tt> object itself at the root of the tree, and individual elements such as the heading and paragraph of text at the leaves of the tree. [Figure 13.1] shows a diagram of these relationships. In the following sections, you will examine the structure of the DOM more closely. ; By the Way: Don't worry if this tree structure confuses you; you can do almost anything by simply assigning IDs to elements and referring to them. This is the method used in earlier hours of this book, as well as in the Try It Yourself section of this hour. In [Hour 14], "Using Advanced DOM Features," you will look at more complicated examples that require you to understand the way objects are organized in the DOM. === Nodes === Each container or element in the document is called a node in the DOM. In the example in [Figure 13.1], each of the objects in boxes is a node, and the lines represent the relationships between the nodes. You will often need to refer to individual nodes in scripts. You can do this by assigning an ID, or by navigating the tree using the relationships between the nodes. === Parents and Children === As you learned earlier in this book, each JavaScript object can have a parent—an object that contains it—and can also have children—objects that it contains. The DOM uses the same terminology. In [Figure 13.1], the <tt>document</tt> object is the parent object for the remaining objects, and does not have a parent itself. The <tt>html</tt> object is the parent of the <tt>head</tt> and <tt>body</tt> objects, and the <tt>h1</tt> and <tt>p</tt> objects are children of the <tt>body</tt> object. Text nodes work a bit differently. The actual text in the paragraph is a node in itself, and is a child of the <tt>p</tt> object. Similarly, the text within the <tt><nowiki><h1></nowiki></tt> tags is a child of the <tt>h1</tt> object. ; By the Way: In [Hour 14], you will learn methods of referring to objects by their parent and child relationships, as well as ways of adding and removing nodes from the document. === Siblings === The DOM also uses another term for organization of objects: siblings. As you might expect, this refers to objects that have the same parent—in other words, objects at the same level in the DOM object tree. In [Figure 13.1], the <tt>h1</tt> and <tt>p</tt> objects are siblings: Both are children of the <tt>body</tt> object. Similarly, the <tt>head</tt> and <tt>body</tt> objects are siblings under the <tt>html</tt> object. == Creating Positionable Elements (Layers) == Using the W3C DOM, you can control any element in a web page, such as a paragraph or an image. You can change an element's style, as you learned in the previous hour. You can also use the DOM to change the position, visibility, and other attributes of the element. Before the W3C DOM and CSS2 standards, you could only reposition layers, special groups of elements defined with a proprietary tag. Although you can now position any element, it's still useful to work with groups of elements in many cases. You can effectively create a layer, or a group of HTML objects that can be controlled as a group, using the <tt><nowiki><div></nowiki></tt> or <tt><nowiki><span></nowiki></tt> tags. ; By the Way: The <tt><nowiki><div></nowiki></tt> and <tt><nowiki><span></nowiki></tt> tags are part of the HTML 3.0 standard. <tt><nowiki><span></nowiki></tt> defines an arbitrary section of the HTML document, and does not specify any formatting for the text it contains. <tt><nowiki><div></nowiki></tt> is similar, but includes a line break before and after its contents. To create a layer with <tt><nowiki><div></nowiki></tt>, enclose the content of the layer between the two division tags and specify the layer's properties in the <tt>style</tt> attribute of the <tt><nowiki><div></nowiki></tt> tag. Here's a simple example: <pre><div id="layer1" style="position:absolute; left:100; top:100"> <p>This is the content of the layer.</p> </pre> This code defines a layer with the name <tt>layer1</tt>. This is a moveable layer positioned 100 pixels down and 100 pixels to the right of the upper-left corner of the browser window. You'll learn more details about the positioning properties in the next section. ; Did you Know?: As with all CSS properties, you can specify the <tt>position</tt> property and other layer properties in a <tt><style></tt> block, in an external style sheet, or in the <tt>style</tt> attribute of an HTML tag. You can also control these properties using JavaScript, as described later in this hour. === Setting Object Position and Size === You can use various properties in the <tt>style</tt> attribute of the <tt></tt> tag when you define a layer to set its position, visibility, and other features. The following properties control the object's position and size: * <tt>position</tt> is the main positioning attribute and can affect the following properties. The <tt>position</tt> property can have one of three values: ** <tt>static</tt> defines items that are laid out in normal HTML fashion, and cannot be moved. This is the default. ** <tt>absolute</tt> specifies that an item will be positioned using coordinates you specify. ** <tt>relative</tt> defines an item that is offset a certain amount from the <tt>static</tt> position, where the element would normally have been laid out within the HTML page. * <tt>left</tt> and <tt>top</tt> specify offsets for the position of the item. For absolute positioning, this is relative to the main browser window or a containing item. For relative positioning, it's relative to the usual static position. * <tt>right</tt> and <tt>bottom</tt> are an alternative way to specify the position of the item. You can use these when you need to align the object's right or bottom edge. * <tt>width</tt> and <tt>height</tt> are similar to the standard HTML <tt>width</tt> and <tt>height</tt> attributes and specify a width and height for the item. * <tt>z-index</tt> specifies how items overlap. Normally indexes start with 1 and go up with each layer added "on top" of the page. By changing this value, you can specify which item is on top. ; By the Way: Properties such as <tt>left</tt> and <tt>top</tt> work in pixels by default. You can also use any of the units described in the previous hour: <tt>px</tt>, <tt>pt</tt>, <tt>ex</tt>, <tt>em</tt>, or percentages. === Setting Overflow Properties === Sometimes the content inside a layer is larger than the size the layer can display. Two properties affect how the layer is displayed in this case: * <tt>overflow</tt> indicates whether the content of an element is cut off at the edges of the element, or whether a scroll bar allows viewing the rest of the item. Values include <tt>visible</tt> to display content outside the element; <tt>hidden</tt> to hide the clipped content; <tt>scroll</tt> to display scroll bars; <tt>auto</tt> to let the browser decide whether to display scroll bars; or <tt>inherit</tt> to use a parent object's setting. * <tt>clip</tt> specifies the clipping rectangle for an item. Only the portion of the item inside this rectangle is displayed. Normally this is the same as the element's dimensions, but you can define an offset inside the element here. === Using Visibility Properties === Along with positioning objects, you can use CSS positioning to control whether the objects are visible at all, and how the document is formatted around them. These properties control how objects are displayed: * <tt>display</tt> specifies whether an item is displayed in the browser. A value of "none" hides the object. Other values include <tt>block</tt> to display the object preceded and followed by line breaks, <tt>inline</tt> to display it without line breaks, and <tt>list-item</tt> to display it as part of a list. * <tt>visibility</tt> specifies whether an item is visible. Values include <tt>visible</tt> (default), <tt>hidden</tt>, and <tt>inherit</tt>. A value of <tt>inherit</tt> means the item inherits the visibility of any item it appears within (such as a table or a paragraph). The difference between <tt>display</tt> and <tt>visibility</tt> is that objects set to <tt>display: none</tt> will not be displayed at all, and the page will be laid out as if the element wasn't there. Objects set to <tt>visibility: hidden</tt> will still be included in the layout of the page, but as empty space. === Setting Background and Border Properties === You can use the following properties to set the color and background image for a layer or other object and control whether borders are displayed: * <tt>background-color</tt> specifies the color for the background of any text in the layer. * <tt>background-image</tt> specifies a background image for any text in the layer. * <tt>border-width</tt> sets the width of the border for all four sides. This can be a numeric value or the keywords <tt>thin</tt>, <tt>medium</tt>, or <tt>thick</tt>. * <tt>border-style</tt> sets the style of border. Values include <tt>none</tt> (default), <tt>dotted</tt>, <tt>dashed</tt>, <tt>solid</tt>, <tt>double</tt>, <tt>groove</tt>, <tt>ridge</tt>, <tt>inset</tt>, or <tt>outset</tt>. * <tt>border-color</tt> sets the color of the border. As with other color properties, this can be a named color such as <tt>blue</tt> or an RGB color such as <tt>#FF03A5</tt>. === Controlling Positioning with JavaScript === As you learned in the previous hour, you can control the style attributes for an object with the attributes of the object's <tt>style</tt> property. You can control the positioning attributes listed in the previous section the same way. Suppose you have created a layer with the following <tt></tt> tags: <pre><div id="layer1" style="position:absolute; left:100; top:100"> <p>This is the content of the layer.</p> </pre> To move this layer up or down within the page using JavaScript, you can change its <tt>style.top</tt> attribute. For example, the following statements move the layer 100 pixels down from its original position: <pre>var obj = document.getElementById("layer1"); obj.style.top=200; </pre> The <tt>document.getElementById()</tt> method returns the object corresponding to the layer's <tt></tt> tag, and the second statement sets the object's <tt>top</tt> positioning property to 200. As you learned in the previous hour, you can also combine these two statements: <pre>document.getElementById("layer1").style.top = 200;</pre> This simply sets the <tt>style.top</tt> property for the layer without assigning a variable to the layer's object. You will use this technique in this hour's Try It Yourself section. ; By the Way: Some CSS properties, such as <tt>text-indent</tt> and <tt>border-color</tt>, have hyphens in their names. When you use these properties in JavaScript, you combine the hyphenated sections and use a capital letter: <tt>textIndent</tt> and <tt>borderColor</tt>. === Try It Yourself — Creating a Movable Layer === As an example of positioning an element with JavaScript, you can now create an HTML document that defines a layer, and combine it with a script to allow the layer to be moved, hidden, or shown using buttons. [Listing 13.2] shows the HTML document that defines the buttons and the layer. ; Listing 13.2. The HTML Document for the Movable Layer Example <pre><html> <head> <title>Positioning Elements with JavaScript</title> <script language="javascript" type="text/javascript" src="position.js"> </script> <style> # square { position:absolute; top: 150; left: 100; width: 200; height: 200; border: 2px solid black; padding: 10px; background-color: #E0E0E0; } </style> </head> <body> <h1>Positioning Elements</h1> <hr> <form name="form1"> <input type="button" name="left" value="<- Left" onClick="pos(-1,0);"> <input type="button" name="right" value="Right ->" onClick="pos(1,0);"> <input type="button" name="up" value="Up" onClick="pos(0,-1);"> <input type="button" name="down" value="Down" onClick="pos(0,1);"> <input type="button" name="hide" value="Hide" onClick="hideSquare();"> <input type="button" name="show" value="Show" onClick="showSquare();"> </form> <hr> <div id="square"> <p>This square is an absolutely positioned layer that you can move using the buttons above.</p> </body> </html> </pre> In addition to some basic HTML, this document consists of the following: * The <tt><script></tt> tag in the header reads a script called <tt>position.js</tt>, which you will create later in this section. * The <tt><style></tt> section is a brief style sheet that defines the properties for the movable layer. It sets the <tt>position</tt> property to <tt>absolute</tt> to indicate that it can be positioned at an exact location, sets the initial position in the <tt>top</tt> and <tt>left</tt> properties, and sets <tt>border</tt> and <tt>background-color</tt> properties to make the layer clearly visible. * The <tt><input></tt> tags within the <tt><form></tt> section define six buttons: four to move the layer left, right, up, or down, and two to control whether it is visible or hidden. * The <tt></tt> section defines the layer itself. The <tt>id</tt> attribute is set to the value <tt>"square"</tt>. This <tt>id</tt> is used in the style sheet to refer to the layer, and will also be used in your script. Type this document (or download it from this book's website) and save it. If you load it into a browser, you should see the buttons and the <tt>"square"</tt> layer, but the buttons won't do anything yet. The script in [Listing 13.3] adds the action to the HTML. ; Listing 13.3. The Script for the Movable Layer Example <pre>var x=100,y=150; function pos(dx,dy) { if (!document.getElementById) return; x += 10*dx; y += 10*dy; obj = document.getElementById("square"); obj.style.top=y; obj.style.left=x; } function hideSquare() { if (!document.getElementById) return; obj = document.getElementById("square"); obj.style.display="none"; } function showSquare() { if (!document.getElementById) return; obj = document.getElementById("square"); obj.style.display="block"; } </pre> The <tt>var</tt> statement at the beginning of the script defines two variables, <tt>x</tt> and <tt>y</tt>, that will store the current position of the layer. The <tt>pos</tt> function is called by the event handlers for all four of the movement buttons. The parameters of the <tt>pos()</tt> function, <tt>dx</tt> and <tt>dy</tt>, tell the script how the layer should move: If <tt>dx</tt> is negative, a number will be subtracted from <tt>x</tt>, moving the layer to the left. If <tt>dx</tt> is positive, a number will be added to <tt>x</tt>, moving the layer to the right. Similarly, <tt>dy</tt> indicates whether to move up or down. The <tt>pos()</tt> function begins by making sure the <tt>getElementById()</tt> function is supported, so it won't attempt to run in older browsers. It then multiplies <tt>dx</tt> and <tt>dy</tt> by 10 (to make the movement more obvious) and applies them to <tt>x</tt> and <tt>y</tt>. Finally, it sets the <tt>top</tt> and <tt>left</tt> properties to the new position, moving the layer. Two more functions, <tt>hideSquare()</tt> and <tt>showsquare()</tt>, hide or show the layer by setting its <tt>display</tt> property to <tt>"none"</tt> (hidden) or <tt>"block"</tt> (shown). To use this script, save it as <tt>position.js</tt> and then load the HTML document, [Listing 13.2], into your browser. [Figure 13.2] shows this script in action. ; By the Way: By assigning values to the layer's positioning properties repeatedly rather than at each click of a button, you can produce an animation effect. See [Hour 19], "Using Graphics and Animation," for an example of this technique. == Summary == In this hour, you've learned a bit more about the structure of DOM objects that make up a page, how to use HTML and CSS to define a positionable layer, and how you can use positioning properties dynamically with JavaScript. Layers are only a simple aspect of what you can do to a page with the W3C DOM. In the next hour, you'll learn how to manipulate the DOM tree to add elements, remove elements, and dynamically change the text within a page. === Q&A=== '''Q1:''' What happens when my web page includes multiple HTML documents, such as when frames are used? ''' A1: ''' In this case, each window or frame has its own <tt>document</tt> object that stores the elements of the HTML document it contains. '''Q2:''' If the DOM allows any object to be dynamically changed, why does the positioning example need to use tags to define a layer? ''' A2: ''' The example could just as easily move a heading, or a paragraph. The layer is just a convenient way to group objects and to create a square object with a border. '''Q3:''' Exactly which browsers support positioning elements with the DOM? ''' A3: ''' Support for the W3C DOM first appeared in Internet Explorer 5.0 and Netscape 5.0, although it was buggy. Current browsers, such as Internet Explorer 6 and 7, Firefox 1.x, and Opera 7 and 8, have solid and consistent DOM support. === Quiz Questions === Test your knowledge of the W3C DOM by answering the following questions. ''' 1. ''' Which of the following tags is used to create a layer? # <tt><layer></tt> # <tt><nowiki><div></nowiki></tt> # <tt><style></tt> ''' 2. ''' Which property controls an element's left-to-right position? # <tt>left</tt> # <tt>width</tt> # <tt>lrpos</tt> ''' 3. ''' Which of the following CSS rules would create a heading that is not currently visible in the page? # <tt>H1 {visibility: invisible;}</tt> # <tt>H1 {display: none;}</tt> # <tt>H1 {style: invisible;}</tt> === Quiz Answers === ''' 1. ''' b. The <tt><nowiki><div></nowiki></tt> tag can be used to create positionable layers. ''' 2. ''' a. The <tt>left</tt> property controls an element's left-to-right position. ''' 3. ''' b. The <tt>none</tt> value for the <tt>display</tt> property makes it invisible. The <tt>visibility</tt> property could also be used, but its possible <tt>values</tt> are visible or <tt>hidden</tt>. === Exercises === If you want to gain more experience using the W3C DOM, try the following exercises: * Modify the positioning example in Listings 13.2 and 13.3 to move the square one pixel at a time rather than ten at a time. * Modify the positioning example to eliminate the <tt></tt> layer and move a paragraph element instead. You will need to move the <tt>id</tt> attribute to the paragraph. l8taljuvyvwu9j08lnhwrute1r127ll User:Moncur/14 2 2160 6083 6053 2007-06-22T18:57:12Z Foxall 27 6083 wikitext text/x-wiki <!- - =14. Using Advanced DOM Features= == Working with DOM Nodes == As you learned in [Hour 13], "Using the W3C DOM," the DOM organizes objects within a web page into a tree-like structure. Each node (object) in this tree can be accessed in JavaScript. In the next sections you will learn how you can use the properties and methods of nodes to manage them. ; By the Way: The following sections only describe the most important properties and methods of nodes, and those that are supported by current browsers. For a complete list of available properties, see the W3C's DOM specification at [http://www.w3.org/TR/DOM-Level-2/ http://www.w3.org/TR/DOM-Level-2/]. === Basic Node Properties === You have already used the <tt>style</tt> property of nodes to change their style sheet values. Each node also has a number of basic properties that you can examine or set. These include the following: * <tt>nodeName</tt> is the name of the node (not the ID). For nodes based on HTML tags, such as <tt><nowiki><p></nowiki></tt> or <tt><body></tt>, the name is the tag name: <tt>P</tt> or <tt>BODY</tt>. For the document node, the name is a special code: <tt>#document</tt>. Similarly, text nodes have the name <tt>#text</tt>. * <tt>nodeType</tt> is an integer describing the node's type: <tt>1</tt> for normal HTML tags, <tt>3</tt> for text nodes, and <tt>9</tt> for the document node. * <tt>nodeValue</tt> is the actual text contained within a text node. This property is not valid for other types of nodes. * <tt>innerHTML</tt> is the HTML content of any node. You can assign a value including HTML tags to this property and change the DOM child objects for a node dynamically. ; By the Way: The <tt>innerHTML</tt> property is not a part of the W3C DOM specification. However, it is supported by the major browsers, and is often the easiest way to change content in a page. You can also accomplish this in a more standard way by deleting and creating nodes, as described later in this hour. === Node Relationship Properties === In addition to the basic properties described previously, each node has a number of properties that describe its relation to other nodes. These include the following: * <tt>firstChild</tt> is the first child object for a node. For nodes that contain text, such as <tt>h1</tt> or <tt>p</tt>, the text node containing the actual text is the first child. * <tt>lastChild</tt> is the node's last child object. * <tt>childNodes</tt> is an array that includes all of a node's child nodes. You can use a loop with this array to work with all the nodes under a given node. * <tt>previousSibling</tt> is the sibling (node at the same level) previous to the current node. * <tt>nextSibling</tt> is the sibling after the current node. ; Watch Out: Remember that, like all JavaScript objects and properties, the node properties and functions described here are case sensitive. Be sure you type them exactly as shown. === Document Methods === The <tt>document</tt> node itself has several methods you might find useful. You have already used one of these, <tt>getElementById()</tt>, to refer to DOM objects by their ID properties. The <tt>document</tt> node's methods include the following: * <tt>getElementById(</tt><tt>id</tt><tt>)</tt> returns the element with the specified <tt>id</tt> attribute. * <tt>getElementsByTagName(</tt><tt>tag</tt><tt>)</tt> returns an array of all of the elements with a specified tag name. You can use the wildcard <tt>*</tt> to return an array containing all the nodes in the document. * <tt>createTextNode(</tt><tt>text</tt><tt>)</tt> creates a new text node containing the specified text, which you can then add to the document. * <tt>createElement(</tt><tt>tag</tt><tt>)</tt> creates a new HTML element for the specified tag. As with <tt>createTextNode</tt>, you need to add the element to the document after creating it. You can assign content within the element by changing its child objects or the <tt>innerHTML</tt> property. === Node Methods === Each node within a page has a number of methods available. Which of these are valid depends on the node's position in the page, and whether it has parent or child nodes. These include the following: * <tt>appendChild(new)</tt> appends the specified new node after all of the object's existing nodes. * <tt>insertBefore(new, old)</tt> inserts the specified new child node before the specified old child node, which must already exist. * <tt>replaceChild(new, old)</tt> replaces the specified old child node with a new node. * <tt>removeChild(node)</tt> removes a child node from the object's set of children. * <tt>hasChildNodes()</tt> returns a Boolean value of <tt>true</tt> if the object has one or more child nodes, or <tt>false</tt> if it has none. * <tt>cloneNode()</tt> creates a copy of an existing node. If a parameter of <tt>true</tt> is supplied, the copy will also include any child nodes of the original node. == Hiding and Showing Objects == We will now move on to a number of real-world examples using the DOM objects to manipulate web pages. As a simple example, you can create a script that hides or shows objects within a page. As you learned in [Hour 13], objects have a <tt>visibility</tt> style property that specifies whether they are currently visible within the page: <pre>Object.style.visibility="hidden"; // hides an object Object.style.visibility="visible"; // shows an object</pre> Using this property, you can create a script that hides or shows objects in either browser. [Listing 14.1] shows the HTML document for a script that allows two headings to be shown or hidden. ; Listing 14.1. Hiding and Showing Objects <pre><html> <head> <title>Hiding and Showing Objects</title> <script language="Javascript" type="text/javascript"> function ShowHide() { if (!document.getElementById) return; var head1 = document.getElementById("head1"); var head2 = document.getElementById("head2"); var showhead1 = document.form1.head1.checked; var showhead2 = document.form1.head2.checked; head1.style.visibility=(showhead1) ? "visible" : "hidden"; head2.style.visibility=(showhead2) ? "visible" : "hidden"; } </script> </head> <body> <h1 ID="head1">This is the first heading</h1> <h1 ID="head2">This is the second heading</h1> <p>Using the W3C DOM, you can choose whether to show or hide the headings on this page using the checkboxes below.</p> <form name="form1"> <input type="checkbox" name="head1" checked onClick="ShowHide();"> <b>Show first heading</b><br> <input type="checkbox" name="head2" checked onClick="ShowHide();"> <b>Show second heading</b><br> </form> </body> </html> </pre> The <tt><nowiki><h1></nowiki></tt> tags in this document define headings with the identifiers <tt>head1</tt> and <tt>head2</tt>. The <tt><form></tt> section defines a form with two check boxes, one for each of the headings. When a check box is modified, the <tt>onClick</tt> method is used to call the <tt>ShowHide()</tt> function. This function is defined within the <tt><script></tt> statements in the header. The function assigns the <tt>head1</tt> and <tt>head2</tt> variables to the objects for the headings, using the <tt>getElementById()</tt> method. Next, it assigns the <tt>showhead1</tt> and <tt>showhead2</tt> variables to the contents of the check boxes. Finally, the function uses the <tt>style.visibility</tt> attributes to set the visibility of the headings. ; Did you Know?: The lines that set the <tt>visibility</tt> property might look a bit strange. The <tt>?</tt> and <tt>:</tt> characters create conditional expressions, a shorthand way of handling <tt>if</tt> statements. To review conditional expressions, see [Hour 7], "Controlling Flow with Conditions and Loops." [Figure 14.1] shows this example in action in Internet Explorer. In the figure, the second heading's check box has been unchecked, so only the first heading is visible. == Modifying Text Within a Page == Next, you can create a simple script to modify the contents of a heading within a web page. As you learned earlier this hour, the <tt>nodeValue</tt> property of a text node contains its actual text, and the text node for a heading is a child of that heading. Thus, the syntax to change the text of a heading with the identifier <tt>head1</tt> would be <pre>Var head1 = document.getElementById("head1"); Head1.firstChild.nodeValue = "New Text Here";</pre> This assigns the variable <tt>head1</tt> to the heading's object. The <tt>firstChild</tt> property returns the text node that is the only child of the heading, and its <tt>nodeValue</tt> property contains the heading text. Using this technique, it's easy to create a page that allows the heading to be changed dynamically. [Listing 14.2] shows the complete HTML document for this script. ; Listing 14.2. The Complete Text-Modifying Example <pre><html> <head> <title>Dynamic Text in JavaScript</title> <script language="Javascript" type="text/javascript"> function ChangeTitle() { if (!document.getElementById) return; var newtitle = document.form1.newtitle.value; var head1 = document.getElementById("head1"); head1.firstChild.nodeValue=newtitle; } </script> </head> <body> <h1 ID="head1">Dynamic Text in JavaScript</h1> <p>Using the W3C DOM, you can dynamically change the heading at the top of this page. Enter a new title and click the Change button.</p> <form name="form1"> <input type="text" name="newtitle" size="25"> <input type="button" value="Change!" onClick="ChangeTitle();"> </form> </body> </html> </pre> This example defines a form that allows the user to enter a new heading for the page. Pressing the button calls the <tt>ChangeTitle()</tt> function, defined in the header. This function gets the value the user entered in the form, and changes the heading's value to the new text. [Figure 14.2] shows this page in action in Internet Explorer after a new title has been entered and the Change button has been clicked. == Adding Text to a Page == Next, you can create a script that actually adds text to a page. To do this, you must first create a new text node. This statement creates a new text node with the text "this is a test": <pre>var node=document.createTextNode("this is a test");</pre> Next, you can add this node to the document. To do this, you use the <tt>appendChild</tt> method. The text can be added to any element that can contain text, but we will use a paragraph. The following statement adds the text node defined previously to the paragraph with the identifier <tt>p1</tt>: <pre>document.getElementById("p1").appendChild(node);</pre> [Listing 14.3] shows the HTML document for a complete example that uses this technique, using a form to allow the user to specify text to add to the page. ; Listing 14.3. Adding Text to a Page: <pre><html> <head> <title>Adding to a page</title> <script language="Javascript" type="text/javascript"> function AddText() { if (!document.getElementById) return; var sentence=document.form1.sentence.value; var node=document.createTextNode(" " + sentence); document.getElementById("p1").appendChild(node); document.form1.sentence.value=""; } </script> </head> <body> <h1>Create Your Own Content</h1> <p id="p1">Using the W3C DOM, you can dynamically add sentences to this paragraph. Type a sentence and click the Add button.</p> <form name="form1"> <input type="text" name="sentence" size="65"> <input type="button" value="Add" onClick="AddText();"> </form> </body> </html> </pre> In this example, the <tt><nowiki><p></nowiki></tt> section defines the paragraph that will hold the added text. The <tt><form></tt> section defines a form with a text field called <tt>sentence,</tt> and an Add button, which calls the <tt>AddText()</tt> function. This function is defined in the header. The <tt>AddText()</tt> function first assigns the <tt>sentence</tt> variable to the text typed in the text field. Next, it creates a new text node containing the sentence, and appends the new text node to the paragraph. Load this document into a browser to test it, and try adding several sentences by typing them and clicking the Add button. [Figure 14.3] shows Firefox's display of this document after several sentences have been added to the paragraph. == Try It Yourself — Creating a Navigation Tree == One common use of JavaScript and the DOM is to create a dynamic tree-like navigation system for a site, with sections that can be expanded and collapsed. Although this is unnecessary for small sites, it's a good way to organize what may be hundreds of links for a larger site. To further experiment with the techniques you learned about in this hour, you can create a simple navigation tree using the DOM. To begin, you will need an HTML document that defines the content of the navigation tree, shown in [Listing 14.4]. ; Listing 14.4. The HTML for the Navigation Tree Example: <pre><html> <head><title>Creating a Navigation Tree</title> <style> A {text-decoration: none;} # productsmenu,#supportmenu,#contactmenu { display: none; margin-left: 2em; } </style> </head> <body> <h1>Navigation Tree Example</h1> <p>The navigation tree below allows you to expand and collapse items.</p> <ul> <li><a id="products" href="#">[+] Products</a> <ul ID="productsmenu"> <li><a href="prodlist.html">Product List</a></li> <li><a href="order.html">Order Form</a></li> <li><a href="pricelist.html">Price List</a></li> </ul> </li> <li><a id="support" href="#">[+] Support</a> <ul id="supportmenu"> <li><a href="sforum.html">Support Forum</a></li> <li><a href="scontact.html">Contact Support</a></li> </ul> </li> <li><a ID="contact" href="#">[+] Contact Us</a> <ul id="contactmenu"> <li><a href="contact1.html">Service Department</a></li> <li><a href="contact2.html">Sales Department</a></li> </ul> </li> </ul> <script language="javascript" type="text/javascript" src="tree.js"> </script> </body> </html> </pre> In this document, the links are laid out as a nested list using <tt><nowiki><ul></nowiki></tt> and <tt><nowiki><li></nowiki></tt> tags. Using a standard list like this rather than <tt></tt> tags has two benefits: First, the browser formats the tree as a list with bullets automatically. Second, it supports older browser—seven a browser that does not support CSS or JavaScript will load and display the list correctly. It won't have the dynamic features, but the links will still work. The tree has three main nodes: Products, Support, and Contact Us. Each one has a link you can click to display or hide the links in that section. The <tt>id</tt> attribute has been used on each <tt><a></tt> tag so the script can attach an event handler to it. Each node also has a submenu defined with <tt><nowiki><ul></nowiki></tt> and <tt><nowiki><li></nowiki></tt> tags. An <tt>id</tt> attribute is also used on the <tt><nowiki><ul></nowiki></tt> tag so the script can hide or display the list. The <tt><script></tt> tag at the end of the document includes the script you will create next. The tag is placed after the body of the page so that the script can add event handlers to elements in the page. The <tt><style></tt> block at the beginning of the document adds some formatting to the links, and uses the <tt>display: none</tt> attribute to initially hide the submenus. They will be revealed by the script when the link is clicked. The script for this example is shown in [Listing 14.5]. ; Listing 14.5. The JavaScript File for the Navigation Tree Example: <pre>function Toggle(e) { // Don't try this in old browsers if (!document.getElementById) return; // Get the event object if (!e) var e = window.event; // Which link was clicked? whichlink = (e.target) ? e.target.id : e.srcElement.id; // get the menu object obj=document.getElementById(whichlink+"menu"); // Is the menu visible? visible=(obj.style.display=="block") // Get the key object (the link itself) key=document.getElementById(whichlink); // Get the name (Products, Contact, etc.) keyname = key.firstChild.nodeValue.substring(3); if (visible) { // hide the menu obj.style.display="none"; key.firstChild.nodeValue = "[+]" + keyname; } else { // show the menu obj.style.display="block"; key.firstChild.nodeValue = "[-]" + keyname; } } document.getElementById("products").onclick=Toggle; document.getElementById("support").onclick=Toggle; document.getElementById("contact").onclick=Toggle; </pre> The <tt>Toggle()</tt> function shows or hides a menu. It first determines which of the links triggered the event, and then uses the link's <tt>id</tt> attribute to find the objects for the menu and for the link itself. If the menu is currently visible, it is hidden, and if it is currently hidden, it is revealed. The appropriate symbol <tt>[+]</tt> or <tt>[-]</tt> is added to the link name and displayed by modifying the text node's <tt>nodeValue</tt> attribute. The last three lines of the script assign the <tt>Toggle()</tt> function as the <tt>onClick</tt> event handler for the three top-level links of the tree. To use this script, save it as <tt>tree.js</tt> in the same folder as the HTML document you created previously, and load the HTML file into a browser. [Figure 14.4] shows the example in action after all three nodes of the tree have been expanded. ; Did you Know?: To add items to the navigation tree, add links to the HTML file. If you add a new submenu, you need to assign an <tt>id</tt> attribute to the link, use the same word plus <tt>menu</tt> as the <tt>id</tt> of the menu, and assign its <tt>onclick</tt> event to the <tt>Toggle()</tt> function at the end of the script. == Summary == In this hour, you learned some of the advanced features of the new W3C DOM (Document Object Model). You learned the functions and properties you can use to manage DOM objects, and used example scripts to hide and show elements within a page, modify text, and add text. Finally, you created a dynamic navigation tree using DOM features. Congratulations—you've reached the end of Part III! Now that you've learned all about the DOM, you will move on to some advanced aspects of JavaScript. In the next hour, you will learn how to create scripts that unobtrusively handle multiple browsers, and some best practices for more involved scripting. === Q&A === '''Q1:''' Can I avoid assigning an <tt>id</tt> attribute to every DOM object I want to handle with a script? ''' A1: ''' Yes. Although the scripts in this hour typically use the <tt>id</tt> attribute for convenience, you can actually locate any object in the page by using combinations of node properties such as <tt>firstChild</tt> and <tt>nextSibling</tt>. However, keep in mind that any change you make to the HTML can change an element's place in the DOM hierarchy, so the <tt>id</tt> attribute is a reliable way to handle this. '''Q2:''' Can I include HTML tags, such as <nowiki><b></nowiki>, in the new text I assign to a text node? ''' A2: ''' Text nodes are limited to text if you use the <tt>nodeValue</tt> attribute. However, the <tt>innerHTML</tt> property does not have this limitation and can be used to insert any HTML. '''Q3:''' Is there a reference that specifies which DOM properties and methods work in which browser versions? ''' A3: ''' Yes, several websites are available that keep up-to-date lists of browser features. Some of these are listed in [Appendix A], "Other JavaScript Resources." === Quiz Questions === Test your knowledge of the DOM by answering the following questions. '''1.''' If <tt>para1</tt> is the DOM object for a paragraph, what is the correct syntax to change the text within the paragraph to "New Text"? # <tt>para1.value="New Text";</tt> # <tt>para1.firstChild.nodeValue="New Text";</tt> # <tt>para1.nodeValue="New Text";</tt> ''' 2.''' Which of the following DOM objects never has a parent node? # <tt>body</tt> # <tt>div</tt> # <tt>document</tt> '''3.''' Which of the following is the correct syntax to get the DOM object for a heading with the identifier <tt>head1</tt>? # <tt>document.getElementById("head1")</tt> # <tt>document.GetElementByID("head1")</tt> # <tt>document.getElementsById("head1")</tt> === Quiz Answers === ''' 1.''' b. The actual text is the <tt>nodeValue</tt> attribute of the text node, which is a child of the paragraph node. ''' 2.''' c. The <tt>document</tt> object is the root of the DOM object tree, and has no parent object. ''' 3.''' a. <tt>getElementById</tt> has a lowercase g at the beginning, and a lowercase d at the end, contrary to what you might know about normal English grammar. === Exercises === If you want to gain more experience using the advanced DOM features you learned in this hour, try the following exercise: * Add a third check box to [Listing 14.1] to allow the paragraph of text to be shown or hidden. You will need to add an <tt>id</tt> attribute to the <tt><nowiki><p></nowiki></tt> tag, add a check box to the form, and add the appropriate lines to the script. * Add a fourth node to the navigation tree in [Listing 14.4], and make the appropriate changes to the script in [Listing 14.5] to make the new section of the tree expand and collapse correctly. o8482quli7rt0kdmwp874y59yxrcoyv User:Moncur/25 2 2161 5706 2007-06-18T19:46:52Z Moncur 24 [[User:Moncur/25]] waxaa loo wareejiyey [[User:Moncur/05]] 5706 wikitext text/x-wiki #REDIRECT [[User:Moncur/05]] mcjduh56yj47t33y648xg514myocudp User:Moncur/26 2 2162 5708 2007-06-18T19:47:00Z Moncur 24 [[User:Moncur/26]] waxaa loo wareejiyey [[User:Moncur/06]] 5708 wikitext text/x-wiki #REDIRECT [[User:Moncur/06]] tuj1kakhtjzrul57bgcbjdwf13ejt0f User:Moncur/27 2 2163 5710 2007-06-18T19:47:07Z Moncur 24 [[User:Moncur/27]] waxaa loo wareejiyey [[User:Moncur/07]] 5710 wikitext text/x-wiki #REDIRECT [[User:Moncur/07]] qo1ymgj971r4k5w4vp6llf9ykpzk9yg User:Moncur/28 2 2164 5712 2007-06-18T19:47:14Z Moncur 24 [[User:Moncur/28]] waxaa loo wareejiyey [[User:Moncur/08]] 5712 wikitext text/x-wiki #REDIRECT [[User:Moncur/08]] r59sbo76nquwq6opa43mt1ww558399s User:Moncur/309 2 2165 5714 2007-06-18T19:47:23Z Moncur 24 [[User:Moncur/309]] waxaa loo wareejiyey [[User:Moncur/09]] 5714 wikitext text/x-wiki #REDIRECT [[User:Moncur/09]] 21ucclj341v7njd5anuaeccjommuul2 User:Moncur/310 2 2166 5716 2007-06-18T19:47:37Z Moncur 24 [[User:Moncur/310]] waxaa loo wareejiyey [[User:Moncur/10]] 5716 wikitext text/x-wiki #REDIRECT [[User:Moncur/10]] 0jvxph52ggz6wm1bggdlvvooszvwe56 User:Moncur/624 2 2167 5718 2007-06-18T19:47:50Z Moncur 24 [[User:Moncur/624]] waxaa loo wareejiyey [[User:Moncur/24]] 5718 wikitext text/x-wiki #REDIRECT [[User:Moncur/24]] 43u73u5pjbrv5mby3ia18u9fia6frx8 User:Moncur/623 2 2168 5720 2007-06-18T19:48:00Z Moncur 24 [[User:Moncur/623]] waxaa loo wareejiyey [[User:Moncur/23]] 5720 wikitext text/x-wiki #REDIRECT [[User:Moncur/23]] 8sqwtzrnpawetimh5uwewl7cei48a5n User:Moncur/622 2 2169 5722 2007-06-18T19:48:08Z Moncur 24 [[User:Moncur/622]] waxaa loo wareejiyey [[User:Moncur/22]] 5722 wikitext text/x-wiki #REDIRECT [[User:Moncur/22]] l1qqbrr5jem2zm9nv3bw56c068my38d User:Moncur/621 2 2170 5724 2007-06-18T19:48:16Z Moncur 24 [[User:Moncur/621]] waxaa loo wareejiyey [[User:Moncur/21]] 5724 wikitext text/x-wiki #REDIRECT [[User:Moncur/21]] bxsxztfwa6a7hqd09ek62yal28hmbmp User:Moncur/520 2 2171 5726 2007-06-18T19:48:23Z Moncur 24 [[User:Moncur/520]] waxaa loo wareejiyey [[User:Moncur/20]] 5726 wikitext text/x-wiki #REDIRECT [[User:Moncur/20]] pufw524a27t4z1ertq85jfqihdv3tlf User:Moncur/519 2 2172 5728 2007-06-18T19:48:31Z Moncur 24 [[User:Moncur/519]] waxaa loo wareejiyey [[User:Moncur/19]] 5728 wikitext text/x-wiki #REDIRECT [[User:Moncur/19]] rnrclj8voi9no5jk7dsxdhq3itg67e7 User:Moncur/418 2 2173 5730 2007-06-18T19:48:40Z Moncur 24 [[User:Moncur/418]] waxaa loo wareejiyey [[User:Moncur/18]] 5730 wikitext text/x-wiki #REDIRECT [[User:Moncur/18]] t4o3pmhf8uaurj6vqwvbdsujcxlvh0t User:Moncur/417 2 2174 5732 2007-06-18T19:48:48Z Moncur 24 [[User:Moncur/417]] waxaa loo wareejiyey [[User:Moncur/17]] 5732 wikitext text/x-wiki #REDIRECT [[User:Moncur/17]] e715i3r215smzxknfb1nsm0vtgn7mlm User:Moncur/416 2 2175 5734 2007-06-18T19:48:55Z Moncur 24 [[User:Moncur/416]] waxaa loo wareejiyey [[User:Moncur/16]] 5734 wikitext text/x-wiki #REDIRECT [[User:Moncur/16]] bgcw6fq79o16sd5s09ohn0jhg56xxrp User:Moncur/415 2 2176 5736 2007-06-18T19:49:02Z Moncur 24 [[User:Moncur/415]] waxaa loo wareejiyey [[User:Moncur/15]] 5736 wikitext text/x-wiki #REDIRECT [[User:Moncur/15]] khfm6uupbug4u3tab5ufz6ru0u8qgxe User:Moncur/pic-popup.js 2 2177 5814 2007-06-19T18:40:52Z Moncur 24 Bog cusub: //<pre><nowiki> // Picture Popups for Mediawiki // (c)2005 [[User:Zocky]] // Released under GPL document.write('<link rel="stylesheet" type="text/css" href="' + 'http://e... 5814 javascript text/javascript //<pre><nowiki> // Picture Popups for Mediawiki // (c)2005 [[User:Zocky]] // Released under GPL document.write('<link rel="stylesheet" type="text/css" href="' + 'http://en.wikipedia.org/w/index.php?title=User:Zocky/PicturePopups.css' + '&action=raw&ctype=text/css&dontcountme=s">'); document.addEventListener('click',firstClick,true); //Handle clicks on document until content is loaded function firstClick(e) { var c=document.getElementById('content')||document.getElementById('article'); if (c) { c.addEventListener('click',imageClick,false); document.removeEventListener('click',firstClick,true); } } //Handle clicks on images function imageClick(e) { if (!e.ctrlKey && !e.shiftKey && !e.metaKey && e.target.tagName=='IMG') { var t=e.target; var caption=t.getAttribute('alt'); while (t.tagName!='A') { t=t.parentNode; } var realurl = t.href; var pictitle = unescape(realurl.match(/\/wiki\/Image:(.*)$/)[1].replace(/_/g," ")); if (caption!='Enlarge') { try { var captiondiv=t.nextSibling.nextSibling; if (captiondiv.getAttribute('class')=='thumbcaption') {caption=captiondiv.innerHTML} } catch (er){} x=Math.round(Math.random()*200); y=Math.round(Math.random()*200); var note_content_div=new_note(x, y, '[<a href="'+realurl+'"> &gt; </a>] '+pictitle, '<blink><small><i>loading...</i></small></blink>',caption); note_content_div.addEventListener('click',noteContentClick,true); var cbSuccess=function(x,c) { note_content_div.innerHTML=''; note_content_div.appendChild(findDescendantById(c,'file')) || (note_content_div.innerHTML="Failed. <a>retry</a>"); try { note_content_div.appendChild(findDescendantById(c,'imageLicense')); } catch(er) {}; return true; } var cbFailure=function(x,c) { note_content_div.innerHTML==x.statusText; return true; } loadText(realurl,cbSuccess,cbFailure); } else { var img = t.parentNode.parentNode.parentNode.firstChild.firstChild; if (img.hasAttribute('thumbwidth')) { var dummy=img.getAttribute('thumbwidth') img.setAttribute('thumbwidth',img.width); img.width=dummy; img.parentNode.parentNode.style.width=(img.width+2) + "px"; var dummy=img.getAttribute('thumbheight') img.setAttribute('thumbheight',img.height); img.height=dummy; } else { img.setAttribute('thumbwidth',img.width); img.setAttribute('thumbheight',img.height); var cbSuccess=function(x,c) { var dummy=findDescendantById(c,'file'); if (dummy.firstChild.tagName=='IMG') { img.src=dummy.firstChild.src; img.width=dummy.firstChild.width; img.height=dummy.firstChild.height; } else { img.width=dummy.firstChild.firstChild.width; img.height=dummy.firstChild.firstChild.height; img.src=dummy.firstChild.firstChild.src; } img.parentNode.parentNode.style.width=(img.width+2) + "px"; return true; } var cbFailure=function(x,c) { return true; } loadText(realurl,cbSuccess,cbFailure); } } e.preventDefault(); } } //Stop popup images from linking to hi-res pages function noteContentClick(e) { e.target.tagName=='IMG' && e.preventDefault() ; } //NOTES var note_top=100; var active_note; var note_back='globalWrapper'; function note_icons(n) { return '<nobr>[<a onclick="toggle_note(\''+n+'\')"> - </a>] ' + '[<a onclick="close_note(\''+n+'\')"> x </a>]</nobr>'; } function new_note(x,y,title,content,caption) { var note_container=document.getElementById(note_back) note_top++; var note = document.createElement("div"); note.id = "note_" + note_top; note.setAttribute('class', "imagenote"); note.setAttribute('minimized', "0"); x>0 && (note.style.left = x + "px") || (note.style.right = -x + "px"); y>0 && (note.style.top = y + "px") || (note.style.bottom = -y + "px"); note.style.zIndex=note_top; note.innerHTML = '<table><tr class="imagenotetitlebar">' + '<td class="imagenotetitle" id="'+note.id+'_title"><span>' + title + '</span></td>' + '<td class="imagenoteicons" id="'+note.id+'_icons" align="right">' + note_icons(note.id) + '</td></tr>' + '<tr><td class="imagenotecontent" id="'+note.id+'_content" colspan="2">'+content+'</td></tr>' + '<tr><td class="imagenotecaption" id="'+note.id+'_caption" colspan="2">'+caption+'</td></tr></table>'; note_container.appendChild(note); note.addEventListener("mousedown", pick_note, true); note.addEventListener("click", click_note, true); active_note=note; return document.getElementById(note.id+'_content'); } function close_note(n) { var note_container=document.getElementById(note_back); note_container.removeChild(document.getElementById(n)); } function toggle_note(n) { var note=document.getElementById(n); note.setAttribute('minimized', 1-note.getAttribute('minimized')); } var note_dragging; function pick_note(e) { active_note=e.currentTarget; note_top++; active_note.style.zIndex = note_top; mouse_x = e.clientX; mouse_y = e.clientY; active_note_top = parseInt(active_note.style.top); active_note_left = parseInt(active_note.style.left); document.addEventListener("mousemove", drag_note, false); document.addEventListener("mouseup", drop_note, false); e.preventDefault(); note_dragging=false; } function drag_note(e) { var x = e.clientX; var y = e.clientY; active_note.style.top = (y - mouse_y + active_note_top) + "px"; active_note.style.left = (x - mouse_x + active_note_left) + "px"; note_dragging=true; } function drop_note(e) { document.removeEventListener("mousemove", drag_note, false); document.removeEventListener("mouseup", drop_note, false); } function click_note(e) { note_dragging && e.preventDefault(); } //DOWNLOADER function loadText(url,cb1,cb2) { var x = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false; var c=document.createElement("div"); if (x) { x.onreadystatechange=function() { x.readyState==4 && textLoaded(x,c,cb1,cb2)}; x.open("GET",url,true); x.setRequestHeader('Accept','text/*'); x.send(null); } } function textLoaded(x,c,cb1,cb2) { x.status==200 && ((c.innerHTML=x.responseText) && cb1 && cb1(x,c)) || ( cb2 && cb2(x,c) || alert(x.statusText)); } //XML helper functions function findDescendantById(node, id) { if (node.id == id) { return node; } var i, c; for (i = node.firstChild; i != null; i=i.nextSibling) { c = findDescendantById(i,id); if (c != null) return c; } return null; } //</nowiki></pre> ozk2p1nxjo4nj0lcwnq1yb2ivn051xo User:Foxall/1 2 2178 5944 5943 2007-06-20T03:55:39Z Moncur 24 5944 wikitext text/x-wiki =Hour 1. A C# Programming Tour = Learning a new programming language can be intimidating. If you've never programmed before, the act of typing seemingly cryptic text to produce sleek and powerful applications probably seems like a black art, and you may wonder how you'll ever learn everything you need to know. The answer is, of course, one step at a time. The first step to learning a language is the same as that of any other activity�building confidence. Programming is part art and part science. Although it may seem like magic, it's more akin to illusion; after you know how things work, a lot of the mysticism goes away, freeing you to focus on the mechanics necessary to produce the desired result. In this hour, you'll complete a quick tour that takes you step-by-step through creating a complete, albeit small, C# program. I've yet to see a "Hello World" program that's the least bit helpful (they usually do nothing more than print "hello world" to the screen�oh, fun). So instead, you'll create a picture-viewer application that lets you view Windows bitmaps and icons on your computer. You'll learn how to let a user browse for a file and how to display a selected picture file on the screen, both of which are skills that will come in handy in later applications that you create. Creating large, commercial solutions is accomplished by way of a series of small steps. After you've finished creating this small project, you'll have an overall feel for the development process. The highlights of this hour include the following: * Building a simple, yet functional, C# application * Letting a user browse a hard drive * Displaying a picture from a file on disk * Getting familiar with some programming lingo * Learning about the Visual Studio�C# IDE I hope that by the end of this hour, you'll realize just how much fun it is to program using C#. ===Starting C#=== You must become familiar with a few terms before you begin to create programs in C#: * Distributable Component The final, compiled version of a project. Components can be distributed to other people and other computers and do not require C# to run (although the .NET Framework is required, which you'll learn about in coming hours). Distributable components are also called programs. In [Hour 22], "Deploying a Solution," you'll learn how to distribute the Picture Viewer program that you're about to build to other computers. * Project A collection of files that can be compiled to create a distributable component (program). There are many types of projects, and complex applications may consist of many projects, such as a Windows Application project and support DLL projects. * Solution A collection of projects and files that compose an application or component. ;New term:C# is a complete development environment; every tool you'll need to create your C# projects is accessed from within Visual Studio. The Visual Studio-C# environment is called the IDE, short for Integrated Development Environment, and it is the design framework in which you build applications. To work with C# projects, you must first start the Visual Studio IDE. Start the C# IDE now by choosing Microsoft Visual Studio .NET from within the Microsoft Visual Studio .NET folder on your Start menu. ===Creating a New Project=== When you first start Visual Studio .NET, you're shown the Visual Studio Start Page tab within the IDE. Using this page, you can open projects created previously or create new ones (see [Figure 1.1]). For this quick tour, you're going to create a new Windows application, so click New Project to display the New Project dialog box shown in [Figure 1.2]. Figure 1.1. You can open existing projects or create new projects from the Visual Studio Start page. Figure 1.2. The New Project dialog box allows you to create many types of .NET projects. ;Book - Pencil:If you don't see the Visual Studio Start page, chances are that you've changed the default settings. [Hour 2], "Navigating C#," shows you how to change them back. For now, be aware that you can create a new project from the File menu in addition to using the techniques described in this hour. You can create many types of projects with C#, as well as with the other supported languages of the .NET platform. The New Project dialog box is used to specify the type of C# project you want to create. If the Visual C# Projects folder isn't selected, click it to display the C# project types and then make sure the Windows Application icon is selected (if it's not, click it once to select it). At the bottom of the New Project dialog box is a Name text box, in which you specify the name of the project you're creating; in the Location text box, you can enter the location in which to save the project files. ;Bulb: You should always set these values to something meaningful before creating a project, or you'll have more work to do later if you want to move or rename the project. Type Picture Viewer into the Name text box to name your project. There's no need to change the location where the project files are to be saved at this time, so go ahead and create the new Windows Application project by clicking OK. C# creates the new project, complete with one form (design window) for you to begin building the interface for your application (see [Figure 1.3]). Figure 1.3. New Windows applications start with a blank form; the fun is just beginning! Your C# environment may look different from that shown in the figures of this hour, depending on the edition of C# you're using, whether you've already played with C#, and other factors such as the resolution of your monitor. All the elements discussed in this hour, however, exist in all editions of C#. (If your IDE doesn't have a window displayed that is shown in a figure, use the View menu to display the window.) ;Book - Pencil:To create a program that can be run on another computer, you start by creating a project, and then you compile the project into a component, such as an executable (a program a user can run) or a DLL (a component that can be used by other programs and components). The compilation process is discussed in detail in [Hour 22], "Deploying a Solution." The important thing to note at this time is that when you hear someone refer to creating or writing a program, just as you are creating the Picture Viewer program now, they're referring to the completion of all steps up to and including compiling the project to a distributable file. ===Understanding the C# Environment=== The first time you run C#, you'll notice that the IDE contains a lot of windows, such as the Properties window on the right, which is used to view and set properties of objects. In addition to these windows, the IDE contains a lot of tabs, such as the Toolbox tab on the left edge of the IDE (refer tFigure 1.3]). Clicking a tab displays an associated window. Try this now: click the Toolbox tab to display the Toolbox window. You can also hover the mouse over a tab for a few seconds to display the window. To hide the window, simply move the mouse off the window. To close the window completely, click the Close (X) button in the window's title bar. You can adjust the size and position of any of these windows, and you can even hide and show them at will. You'll learn how to customize your design environment in [Hour 2], "Navigating C#." ;Bulb: Unless specifically instructed to do so, do not double-click anything in the C# design environment. Double-clicking most objects produces an entirely different outcome than single-clicking does. If you mistakenly double-click an object on a form, a code window is displayed. At the top of the code window is a set of tabs: one for the form design and one for the code. Click the tab for the form design to hide the code window and return to the form. The Properties window at the right side of the design environment is perhaps the most important window, and it's the one you'll use most often. If your computer's display is set for 640x480, you can probably see only a few properties at this time. This makes it difficult to view and set properties as you create projects. I highly recommend that you don't attempt development with Visual Studio at a resolution below 800x600. Personally, I prefer 1024x768 because it offers plenty of work space. To change your display settings, right-click your desktop and select Properties. ===Changing the Characteristics of Objects=== Almost everything you work with in C# is an object. Forms, for instance, are objects, as are all the items you can put on a form to build an interface, such as list boxes and buttons. There are many types of objects ([Hour 3], "Understanding Objects and Collections," discusses objects in detail). Objects, in turn, are classified by type. For instance, a form is a Form object, whereas items you can place on a form are called Control objects, or controls. Some objects don't have a physical appearance, but exist only in code. You'll learn about these kinds of objects in later hours. ;New term:Every object, regardless of whether it has a physical appearance, has a distinct set of attributes known as properties. You have certain properties about you, such as your height and hair color, and C# objects have properties as well, such as Height and BackColor. Properties define the characteristics of an object. When you create a new object, the first thing you need to do is set its properties so that the object appears and behaves in the way you desire. To display the properties of an object, click the object in its designer. Click the form now to ensure that its properties are displayed in the Properties window. ===Naming Objects=== The property you should set first for any new object is the Name property. Press F4 to display the Properties window (if it's not already visible), and notice the Name given to your default form (the first property listed in the Properties window)�Form1. When you first create an object, C# gives the object a unique, generic name based on the object's type. Although these names are functional, they aren't very descriptive. For instance, C# named your form Form1, but it's common to have dozens of forms in a project, and it would be extremely difficult to manage a complicated project if all forms were distinguishable only by a number (Form2, Form3, and so forth). ;Book - Pencil:In actuality, what you're creating is a form class, or template, that will be used to create and show forms at runtime. For the purpose of this quick tour, I simply refer to it as a form. See [Hour 5], "Building Forms�Part I," for more information. To better manage your forms, you should give each one a descriptive name. C# gives you the chance to name new forms as they're created. Because C# created this default form for you, you didn't get a chance to name it, so you must change both the filename and name of the form. Change the name of the form now by clicking the Name property and changing the text from Form1 to fclsViewer. Notice that this did not change the filename of the form as it is displayed in the Solution Explorer window. Change the filename now by right-clicking Form1.cs in the Solution Explorer window, choosing Rename from the context menu, and changing the text from Form1.cs to fclsViewer.cs. In future examples, I won't have you change the filename each time because you'll have enough steps to accomplish as it is. I do recommend, however, that you always change your filenames to something meaningful in your 'real' projects. ;Book - Pencil:I use the fcls prefix here to denote that the file is a form class. There are different types of classes, so using a prefix helps differentiate the classes in code. You're not required by C# to use object prefixes, but I highly recommend that you do so. In [Hour 12], "Using Constants, Data Types, Variables, and Arrays," you'll learn the benefits of using a naming convention as well as the standard prefixes for many .NET objects. ===Setting the Text Property of the Form=== Notice that the text that appears in the form's title bar says Form1. This is because C# sets the form's title bar text to the name of the form when it is first created, but doesn't change it when you change the name of the form. The text in the title bar is determined by the value of the Text property of the form. Click the form once more so that its properties appear in the Properties window. Use the scrollbar in the Properties window to locate the Text property in the Properties window and then change the text to Picture Viewer. ===Giving the Form an Icon=== Everyone who has used Windows is familiar with icons, which are the little pictures used to represent programs. Icons most commonly appear in the Start menu next to the name of their respective programs. In C#, you not only have control over the icon of your program file, you can also give every form in your program a unique icon if you want to. ;Book - Pencil:The instructions that follow assume you have access to the source files for the examples in this book. They are available at [http://www.samspublishing.com/detail_sams.cfm?item=0672320800 www.samspublishing.com/detail_sams.cfm?item=0672320800]. You don't have to use the icon I've provided for this example; you can use any icon of your choice. If you don't have an icon available, you can skip this section without affecting the outcome of the example. To give the form an icon, follow these steps: # In the Properties window, click the Icon property to select it. # When you click the Icon property, a small button with three dots appears to the right of the property. Click this button. # To locate the HourOne.ico file or another ico file of your choice, use the Open dialog box that appears. When you've found the icon, double-click it, or click it once to select it and then click Open. After you've selected the icon, it appears in the Icon property along with the word (Icon). A small version of the icon appears in the upper-left corner of the form, as well. Whenever this form is minimized, this is the icon that's displayed on the Windows taskbar. (Note: This doesn't change the icon for the project as a whole. In [Hour 22], you'll learn how to assign an icon to your distributable file.) ===Changing the Size of the Form=== Next, you're going to change the Width and Height properties of the form. The Width and Height values are shown collectively under the Size property; Width appears to the left of the comma, Height to the right. You can change the Width or Height by changing the corresponding number in the Size property. Both values represent the number of pixels of the dimension. To display and adjust the Width and Height properties separately, click the small plus sign (+) next to the Size property (see [Figure 1.4]). Figure 1.4. Some properties can be expanded to show more specific properties. Change the Width property to 400 and the Height to 325. To commit a property change, press Tab or click a different property or window. Your screen should now look like the one in [Figure 1.5]. Figure 1.5. A change in the Properties window is reflected as soon as the change is committed. When you first created this project, C# saved a copy of the source files in their initial state. The changes you've made so far exist only in memory; if you were to turn your computer off at this time (don't do this), you would lose any and all work up to this point. You should get into the habit of saving your work frequently. Save the project now by choosing Save All from the File menu or by clicking the Save All button on the toolbar (it has a picture of stacked disks on it). ===Adding Controls to a Form=== ;New term:Now that your form has its properties set, you need to add objects to the form to produce a user interface. Objects that can be placed on a form are called controls. Some controls have a visible interface with which a user can interact, whereas others are always invisible to the user. You'll use controls of both types in this example. On the left side of the screen is a tab titled Toolbox. Click the Toolbox tab now to display the Toolbox window shown in [Figure 1.6]. The toolbox contains all the controls available in the project, such as labels and text boxes. Figure 1.6. The toolbox is used to select controls to build a user interface. ;Bulb: You can add a control to a form in three ways, and [Hour 5] explains them in detail. In this hour, you'll use the technique of double-clicking a tool in the toolbox. The toolbox closes itself soon after you've added a control to a form and the pointer is no longer over the toolbox. To make the toolbox stay visible, click the little picture of a pushpin located in the toolbox's title bar. ;Book - Pencil:Refer to [Hour 2], "Navigating C#," for more information on customizing the design environment. Your Picture Viewer interface will consist of the following controls: * Two Button controls * A PictureBox control * An OpenFileDialog control ===Designing an Interface=== It's generally best to design the user interface of a form and then add the code behind the interface that makes the form functional. The user interface for your Picture Viewer program will consist of a View Picture button, a Close button, and a PictureBox in which to display a picture. ===Adding a Visible Control to a Form=== Start by adding a Button control to the form. Do this by double-clicking the Button item in the toolbox. C# then creates a new button and places it in the upper-left corner of the form (see [Figure 1.7]). Figure 1.7. When you double-click a control in the toolbox, the control is added to the upper-left corner of the form. Using the Properties window, set the button's properties as follows (note that you may want to change the Properties list to alphabetical, if it is not already, to make it easier to find these properties by name): {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnSelectPicture</tt> |- | <tt>Text</tt> | <tt>Select Picture</tt> |- | <tt>Location</tt> | <tt>301</tt>,<tt>10</tt> (Note: 301 is the x coordinate, 10 is the y coordinate.) |- | <tt>Size</tt> | <tt>85,23</tt> |} You're now going to create a button that the user can click to close the Picture Viewer program. Rather than adding a new button to the form, you're going to create a copy of the button you've already defined. To do this, right-click the button on the form and choose Copy from its shortcut menu. Next, right-click anywhere on the form and choose Paste from the form's shortcut menu. The new button appears over the button you copied, and it is selected by default. Change the properties of the new button as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnQuit</tt> |- | <tt>Text</tt> | <tt>Quit</tt> |- | <tt>Location</tt> | <tt>301</tt>,<tt>40</tt> |} The last control you need to add to the form is a PictureBox control. A PictureBox has many capabilities, but its primary purpose is to show pictures�which is precisely what you'll use it for in this example. Add a new PictureBox control to the form and set its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>picShowPicture</tt> |- | <tt>BorderStle</tt> | <tt>FixedSingle</tt> |- | <tt>Location</tt> | <tt>8</tt>,<tt>8</tt> |- | <tt>Size</tt> | <tt>282</tt>, <tt>275</tt> |} After you've made these property changes, your form will look like the one in [Figure 1.8]. Click the Save All button on the toolbar to save your work. Figure 1.8. An application's interface doesn't have to be complex to be useful. ===Adding an Invisible Control to a Form=== ;New term:So far, all the controls that you've used sit on a form and have a physical appearance. However, not all controls have a physical appearance. Such controls, referred to as invisible-at-runtime controls, aren't designed for user interactivity, but they're designed to give you, the programmer, functionality beyond the standard features of C#. To allow the user to select a picture to display, you need to give her the capability to locate a file on her hard drive. You've probably noticed in the past that whenever you choose to open a file from within any Windows application, the dialog box displayed is almost always the same. It doesn't make any sense to force each and every developer to write the code necessary to perform standard file operations. Instead, Microsoft has exposed the functionality via a control that you can use in your project. This control is called the OpenFileDialog control, and it will save you dozens of hours that you would otherwise spend trying to duplicate common functionality. ;Book - Pencil:Other controls besides the OpenFileDialog control give you file functionality. For example, the SaveFileDialog control provides features for enabling the user to save a file. Scroll the toolbox until you can see the OpenFileDialog control, and then double-click it to add it to your form. (You may have to scroll the toolbox, which is done by clicking the up arrow toward the top of the window or the down arrow toward the bottom.) Note that the control isn't placed on the form, but it appears in a special area below the form (see [Figure 1.9]). This happens because the OpenFileDialog control has no interface to display to a user. It does have an interface, a dialog box that you can display as necessary, but it has nothing to display directly on a form. Figure 1.9. Controls that have no interface appear below the form designer. Select the OpenFileDialog control and change its properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>ofdSelectPicture</tt> |- | <tt>Filter</tt> | <tt>Windows Bitmaps|*.BMP|JPEG Files|*.JPG</tt> |- | <tt>Title</tt> | <tt>Select Picture</tt> |} The Filter property determines the filtering of the control. The text that appears before the pipe symbol (<tt>|</tt>) is the descriptive text of the file type, whereas the text after the pipe symbol is the pattern to use to filter files; you can specify more than one filter type. Text entered into the Title property appears in the title bar of the Open File dialog box. ===Coding an Interface=== The graphical interface for your Picture Viewer program is now complete, so click the pushpin in the title bar of the toolbox to close it. Now, you have to write code for the program to be capable of performing actions. C# is an event-driven language, which means that code is executed in response to events. These events may come from users, such as a user clicking a button, or from Windows itself (see [Hour 4], "Understanding Events," for a complete explanation of events). Currently, your application looks nice but it won't do a darn thing. The user can click the Select Picture button, for example, until the cows come home, but nothing will happen because you haven't told the program what to do when the user clicks the button. You're going to write code to accomplish two tasks. First, you're going to write code that lets the user browse his or her hard drives to locate and select a picture file and then display the file in the picture box (this sounds a lot harder than it is). Second, you're going to add code to the Quit button that shuts down the program when the user clicks the button. ===Letting a User Browse for a File=== The first bit of code you're going to write will allow the user to browse his or her hard drives, select a file, and then show the selected picture in the PictureBox control. This code will execute when the user clicks the Select Picture button; therefore, it's added to the Click event of that button (you'll learn all about events in later hours). When you double-click a control on a form in Design view, the default event for that control is created and displayed in a code window. The default event for a Button control is its Click event, which makes sense because clicking a button is its most common purpose. Double-click the Select Picture button now to access its Click event in the code window (see [Figure 1.10]). Figure 1.10. You will write all code in a window such as this. ;New term:When you access an event, C# builds an event handler, which is essentially a template procedure in which you add the code that executes when the event is fired. The cursor is already placed within the code procedure, so all you have to do is add code. You will also notice that the open and closing braces are preset for your new event procedure. The braces, in this case, define the beginning and end of your procedure. You will soon see that C# requires many open and closing braces({ } ). By the time you're done with this book, you'll be madly clicking away as you write your own code to make your applications do exactly what you want them to do�well, most of the time. For now, just enter the code as I present it here. It's very important that you get in the habit of commenting your code, so the first line you're going to enter is a comment. Beginning a statement with the characters <tt>//</tt> designates the statement as a comment; the compiler won't do anything with the statement, so you can enter whatever text you want after the double slashes. Type the following statement exactly as it appears and press the Enter key at the end of the line. ;Book - Pencil:For more information on creating good comments, see [Hour 16], "Debugging Your Code." <pre>// Show the open file dialog box. </pre> The next statement you'll enter triggers a method of the OpenFileDialog control that you added to the form. You'll learn all about methods in [Hour 3], "Understanding Objects and Collections." For now, think of a method as a mechanism to make a control take action. The ShowDialog method tells the control to show its Open dialog box and let the user select a file. The ShowDialog method returns a value that indicates its success or failure, which we are then comparing to a predefined result (<tt>DialogResult.OK</tt>). Don't worry too much about what is happening here, because you'll be learning the details of this in later hours. In a nutshell, the ShowDialog method is called to let a user browse for a file, and if the user selects a file, more code gets executed. Of course, there is a lot more to using the OpenFileDialog control than I present in this basic example, but this simple statement gets the job done. Enter the following if statement followed by an open brace: <pre>if (ofdSelectPicture.ShowDialog() == DialogResult.OK) { </pre> ;Book - Pencil:Open and closing braces are necessary for this if statement because they denote that multiple lines will be part of this construct. Time for another comment. Enter this statement and remember to press Enter at the end of each code line. <pre>// Load the picture into the picture box. </pre> ;Bulb: Don't worry about indenting the code by pressing the Tab key or using spaces. C# .NET automatically indents code for you. You're now going to enter the next line of code. This statement, which appears within the if construct, is the line of code that actually displays the picture in the picture box. (If you're itching to know more about graphics, take a look at [Hour 10], "Drawing and Printing.") Enter the following statement: <pre>picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName); </pre> In addition to displaying the selected picture, your program is going to display the path and filename of the picture in the title bar. When you first created the form, you changed the Text property of the form using the Properties window. To create dynamic applications, properties need to be constantly adjusted at runtime, and this is done using code. Enter the following three lines of code: <pre>// Show the name of the file in the form's caption. this.Text = String.Concat("Picture Viewer (" + ofdSelectPicture.FileName + ")"); } </pre> ;Book - Pencil:C# is case sensitive! You must enter all code using the same case as shown in the text. === Checking Your Program Entry Point === All C# programs must contain an entry point. The Main() method is the entry point. In this sample you need to change the reference from Form1 to fclsViewer (this is necessary because we renamed the form earlier) . This statement will invoke the constructor on the form. C++ programmers will be familiar with the Main() entry point method, but they should take notice of the capitalization of Main. We will talk a bit more about the program entry point later in the book. To update the entry point in this sample, press Ctrl+F to open the Find window, enter Form1, and click Find Next. Close the Find window and replace the text Form1 with fclsViewer. The updated statement should now read: <pre>Application.Run(new fclsViewer()); </pre> After you've entered all the code, your editor should look like that shown in [Figure 1.11]. Figure 1.11. Make sure your code exactly matches the code shown here. ===Terminating a Program Using Code=== The last bit of code you'll write will terminate the application when the user clicks the Quit button. To do this, you'll need to access the Click event handler of the btnQuit button. At the top of the code window are two tabs. The current tab has the text fclsViewer.cs. Next to this is a tab that contains the text fclsViewer.cs [Design]. Click this tab now to switch from Code view to the form designer. If you receive an error when you click the tab, the code you entered is incorrect, and you need to edit it to make it the same as I've presented it. After the form designer is displayed, double-click the Quit button to access its Click event. Enter the following code in the Quit button's Click event handler: <pre>this.Close(); </pre> ;Book - Pencil:The Close statement closes the current form. When the last loaded form in a program is closed, the application shuts itself down�completely. As you build more robust applications, you'll probably want to execute all kinds of clean-up routines before terminating your application, but for this example, closing the form is all you need to do. ===Running a Project=== Your application is now complete. Click the Save All button (it looks like a stack of disks) on the toolbar, and then run your program by pressing F5. You can also run the program by clicking the button on the toolbar that looks like a right-facing triangle and resembles the Play button on a VCR (this button is also found on the Debug menu, and it is called Start). However, learning the keyboard shortcuts will make your development process move along faster. When you run the program, the C# interface changes, and the form you've designed appears floating over the design environment (see [Figure 1.12]). Figure 1.12. When in Run mode, your program executes the same as it would for an end user. You're now running your program as though it were a standalone application running on another user's machine; what you see is exactly what someone else would see if they ran the program (without the C# design environment in the background, of course). Click the Select Picture button to display the Select Picture dialog box (see [Figure 1.13]). Use the dialog box to locate a picture file. When you've found a file, double-click it, or click once to select it and then click Open. The selected picture is then displayed in the PictureBox control, as shown in [Figure 1.14]. Figure 1.13. The OpenFileDialog control handles all the details of browsing for files. Cool, huh? Figure 1.14. C# makes it easy to display pictures with very little work. ===Summary=== When you're done playing with the program, click the Quit button and then save your project by clicking Save All on the C# toolbar. That's it! You've just created a bona fide C# program. You've used the toolbox to build an interface with which users can interact with your program, and you've written code in strategic event handlers to empower your program to do things. These are the basics of application development in C#. Even the most complicated programs are built using this basic approach; you build the interface and add code to make the application do things. Of course, writing code to do things exactly the way you want things done is where the process can get complicated, but you're on your way. If you take a close look at the organization of the hours in this book, you'll see that I start out by teaching you the C# environment. I then move on to building an interface, and later I teach you all about writing code. This organization is deliberate. You might be a little anxious to jump in and start writing serious code, but writing code is only part of the equation. As you progress through the hours, you'll be building a solid foundation of development skills. Soon, you'll pay no attention to the man behind the curtain�you'll be that man (or woman)! ===Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Can I show bitmaps of file types other than BMP and JPG? |- | align="right" | ''' A1: ''' | Yes. The PictureBox supports the display of images with the extensions BMP, JPG, ICO, EMF, WMF, and GIF. The PictureBox can even save images to a file. |- | align="right" | '''Q2:''' | Is it possible to show pictures in other controls? |- | align="right" | ''' A2: ''' | The PictureBox is the control to use when you are just displaying images. However, many other controls allow you to display pictures as part of the control. For instance, you can display an image on a Button control by setting the button's Image property to a valid picture. |} ===Workshop=== The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [Appendix A],"Answers to Quizzes/Exercises." ===Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''1''' | What type of C# project creates a standard Windows program? |- | align="right" | '''2''' | What window is used to change the attributes (location, size, and so on) of a form or control? |- | align="right" | '''3''' | How do you access the default event (code) of a control? |- | align="right" | '''4''' | What property of a PictureBox do you set to display an image? |- | align="right" | '''5''' | What is the default event for a Button control? |} === Exercise=== # Change your Picture Viewer program so that the user can also locate and select GIF files. (Hint: Change the Filter property of the OpenFileDialog control.) # Alter the form in your Picture Viewer project so that the buttons are side by side in the lower-right corner of the form, rather than vertically aligned in the upper-right corner. = Hour 2. Navigating C# = The key to expanding your knowledge of C# is to become as comfortable as possible�as quickly as possible�with the C# design environment. Just as a carpenter doesn't think much about hammering a nail into a piece of wood, performing actions such as saving projects, creating new forms, and setting object properties should become second nature to you. The more comfortable you are with the tools of C#, the more you can focus your energies on what you're creating with the tools. In this hour, you'll learn how to customize your design environment. You'll learn how to move, dock, float, hide, and show design windows, as well as how to customize menus and toolbars; you'll even create a new toolbar from scratch. After you've gotten acquainted with the environment, I'll teach you about projects and the files that they're made of (taking you beyond what was briefly discussed in [Hour 1], "A C# Programming Tour"), and I'll introduce you to the design windows with which you'll work most frequently. Finally, I'll show you how to get help when you're stuck. The highlights of this hour include the following: * Navigating C# * Using the Visual Studio .NET Start Page to open and create projects * Showing, hiding, docking, and floating design windows * Customizing menus and toolbars * Adding controls to a form using the toolbox * Viewing and changing object attributes using the Properties window * Working with the files that make up a project * How to get help ===Using the Visual Studio .NET Start Page === By default, the Visual Studio Start Page shown in [Figure 2.1] is the first thing you see when you start C# (if C# isn't running, start it now). The Visual Studio Start Page is a gateway for performing tasks with C#. From this page, you can open previously edited projects, create new projects, edit your user profile, and browse information provided by Microsoft. Figure 2.1. The Visual Studio Start Page is the default starting point for all Visual Studio programming languages, including C#. From this page, you can have C# load the last solution you edited, show the Open Project dialog box, show the New Project dialog box, or show an empty design environment. To view or edit the startup options, choose Options from the Tools menu to display the Options dialog box shown in [Figure 2.2]. By default, the General section of the Environment folder is selected, which happens to contain the At Startup option. Figure 2.2. Use the At Startup setting to control the first thing you see when C# starts. ;Book - Pencil:If the Visual Studio Start Page doesn't appear when you start C#, check the settings on the Options form; you may need to change At Startup to Show Start Page. === Creating New Projects === To create new projects, click New Project on the Visual Studio Start Page. This shows the New Project dialog box shown in [Figure 2.3]. The Project Types list varies from machine to machine, depending on which products of the Visual Studio .NET family are installed. Of course, we're interested only in the C# Project types in this book. Figure 2.3. Use the New Project dialog box to create C# projects from scratch. ;Book - Pencil:You can create many types of projects with C#, but this book focuses mostly on creating Windows Applications, perhaps the most common of the project types. You will learn about some of the other project types as well, but when you're told to create a new project, make sure the Windows Application template is selected unless you're told otherwise. When you create a new project, be sure to enter a name for it in the Name text box before clicking OK or double-clicking a project type icon. This ensures that the project is created with the proper path and filenames, eliminating work you would otherwise have to do to change these values later. After you specify a name, you can create the new project either by double-clicking the project type template icon or by clicking an icon once to select it and then clicking OK. After you've performed either of these actions, the New Project dialog box closes and a new project of the selected type is created. By default, Visual Studio saves all your projects in subfolders of your My Documents folder. The hierarchy used by C# is <pre>\My Documents\Visual Studio Projects\<Project Name> </pre> Notice how the name you give your project is used as its folder name. This makes it easy to find the folders and files for any given project and is one reason that you should always give your projects descriptive names. You can use a path other than the default by specifying a specific path on the New Project dialog box, although you probably won't often need to do so. ;Book - Pencil:You can create a new project at any time (not just when starting C#) by opening the New submenu on the File menu and choosing Project. === Opening an Existing Project === Over time, you'll open more projects than you create. There are essentially two ways to open projects from the Visual Studio Start Page. If it's one you've recently opened, the project name will appear in a list within a rectangle in the middle of the Start Page (refer to [Figure 2.1]). Because the name displayed for the project is the one given when it was created, this is yet another reason to give your projects descriptive names. Clicking a project name opens the project. I'd venture to guess that you'll use this technique 95% of the time. To open a project for the first time (such as when opening sample projects), click Open Project on the Visual Studio Start Page. Clicking this link displays a standard dialog box that you can use to locate and select a project file. ;Book - Pencil:As with creating new projects, you can open an existing project at any time, not just when starting C#, by selecting File, Open. ===Navigating and Customizing the C# Environment === C# lets you customize many of its interface elements, such as windows and toolbars, enabling you to be more efficient in the work that you do. Create a new Windows Application now (use the New Project dialog box or select File, New) so that you can see and manipulate the design environment. Name this project Environment Tutorial. (This exercise won't create anything reusable, but it will help you learn how to navigate the design environment.) Your screen should look like the one shown in [Figure 2.4]. Figure 2.4. This is pretty much how the IDE appears when you first install C#. ;Book - Pencil:Your screen may not look exactly like that shown in [Figure 2.4], but it'll be close. For example, the Output window won't be visible unless you've built a project. If you completed [Hour 1], the window will be visible. By the time you've finished this hour, you'll be able to change the appearance of the design environment to match this figure�or to any configuration you prefer. === Working with Design Windows === Design windows, such as the Properties and Solution Explorer windows shown in [Figure 2.4], provide functionality for building complex applications. Just as your desk isn't organized exactly like that of your co-workers, your design environment doesn't have to be the same as anyone else's, either. A design window may be placed into one of four primary states: * Closed * Floating * Docked * Auto hidden === Showing and Hiding Design Windows === When a design window is closed, it doesn't appear anywhere. There is a difference between being closed and being hidden, as you'll learn shortly. To display a closed or hidden window, choose the corresponding menu item from the View menu. For example, if the Properties window isn't displayed in your design environment, you can display it by choosing Properties Window on the View menu (or press its keyboard shortcut�F4). Whenever you need a design window and can't find it, use the View menu to display it. To close a design window, click its Close button (the button on the right side of the title bar with the X on it), just as you would close an ordinary window. ===Floating Design Windows=== Floating design windows are visible windows that float over the workspace, as shown in [Figure 2.5]. Floating windows are like typical application windows in that you can drag them around and place them anywhere you please, even on other monitors when you're using a multiple-display setup. In addition to moving a floating window, you can also change its size by dragging a border. Figure 2.5. Floating windows appear over the top of the design environment. ===Docking Design Windows=== Visible windows appear docked by default. A docked window is a window that appears attached to the side, top, or bottom of the work area or to some other window. The Properties window in [Figure 2.4], for example, is docked to the right side of the design environment. To make a floating window a docked window, drag the title bar of the window toward the edge of the design environment to which you want to dock the window. As you drag the window, you'll drag a rectangle that represents the outline of the window. When you approach an edge of the design environment, the rectangle will change shape and "stick" in a docked position. If you release the mouse while the rectangle appears this way, the window will be docked. Although this is hard to explain, it's very easy to do. ;Book - Pencil:You can size a docked window by dragging its edge opposite the side that's docked. If two windows are docked to the same edge, dragging the border between them enlarges one while shrinking the other. To try this, you'll need to float a window that's already docked. To float a window, you "tear" the window away from the docked edge by dragging the title bar of the docked window away from the edge to which it is docked. Note that this technique won't work if a window is set to Auto Hide (which is explained next). Try docking and floating windows now by following these steps: # Ensure that the Properties window is currently displayed (if it's not, show it using the View menu). Make sure the Properties window isn't set to Auto Hide by right-clicking its title bar and deselecting Auto Hide (if it's selected) from the shortcut menu, as shown in [Figure 2.6]. Figure 2.6. You can't float a window that's set to Auto Hide. # Drag the title bar of the Properties window away from the docked edge. When the rectangle representing the border of the window changes shape, release the mouse button. The Properties window should now appear floating. # Dock the window once more by dragging the title bar toward the right edge of the design environment. Again, release the mouse button when the rectangle changes shape. ;Bulb: If you don't want a floating window to dock, regardless of where you drag it to, right-click the title bar of the window and choose Floating from the context menu. To allow the window to be docked again, right-click the title bar and choose Dockable. Auto Hiding Design Windows A feature of C# design environment is the capability to auto hide windows. Although you might find this a bit disconcerting at first, after you get the hang of things, this is a very productive way in which to work because your workspace is freed up, yet design windows are available by simply moving the mouse. Windows that are set to Auto Hide are always docked; you can't set a floating window to Auto Hide. When a window auto hides, it appears as a tab on the edge to which it's docked�much like minimized applications are placed in the Windows taskbar. Look at the left edge of the design environment in [Figure 2.6]. Notice the two tabs on the left side of the IDE. One tab has a picture of two computers, and the other is labeled Toolbox. These tabs represent auto-hidden windows. To display an auto-hidden window, move the pointer over the tab representing the window. When you move the pointer over a tab, C# displays the design window so that you can use its features. When you move the pointer away from the window, the window automatically hides itself�hence the name. To make any window hide itself automatically, right-click its title bar and select Auto Hide from its shortcut menu. Alternatively, you can click the little picture of a pushpin appearing in the title bar next to the Close button to toggle the window's Auto Hide state. ===Performing Advanced Window Placement=== The techniques discussed in this section so far are basic methods for customizing your design environment. Things can actually get a bit more complicated if you want them to. Such complication presents itself primarily as the capability to create tabbed floating windows like the one shown in [Figure 2.5]. Notice that at the bottom of the floating window is a set of tabs. Clicking a tab shows its corresponding design window, replacing the window currently displayed. These tabs are created much the same way in which you dock and undock windows�by dragging and dropping. For instance, to make the Solution Explorer window a floating window of its own, you would drag the Solution Explorer window tab away from the floating window. As you do so, a rectangle appears, showing you the outline of the new window. Where you release the rectangle determines whether you dock the design window you're dragging or whether you make the window floating. To make a design window a new tab of an already floating window, drag its title bar and drop it in the title bar of a window that is already floating. In addition to creating tabbed floating windows, you can dock two floating windows together. To do this, drag the title bar of one window over another window (other than over the title bar) until the shape changes, and then release the mouse. [Figure 2.7] shows two floating windows that are docked to one another and a third window that is floating by itself. Figure 2.7. Floating, docked, floating and docked�the possibilities are numerous! Using all the techniques discussed here, you can tailor the appearance of your design environment in all sorts of ways. There is no one best configuration. You'll find that different configurations work better for different projects and in different stages of development. For instance, when I'm designing the interface of a form, I want the toolbox to stay visible but out of my way, so I tend to make it float, or I turn off its Auto Hide property and leave it docked to the left edge of the design environment. However, after the majority of the interface elements have been added to a form, I want to focus on code. Then I dock the toolbox and make it auto hide itself; it's there when I need it, but it's out of the way when I don't. Don't be afraid to experiment with your design windows, and don't hesitate to modify them to suit your changing needs. ===Working with Toolbars=== Toolbars are the mainstay for performing functions quickly in almost all Windows programs (you'll probably want to add them to your own programs at some point, and [Hour 9], "Adding Menus and Toolbars to Forms," shows you how). Every toolbar has a corresponding menu item, and buttons on toolbars are essentially shortcuts to their corresponding menu items. To maximize your efficiency when developing with C#, you should become familiar with the available toolbars. As your C# skills progress, you can customize existing toolbars and even create your own toolbars to more closely fit the way you work. ===Showing and Hiding Toolbars=== C# includes a number of built-in toolbars for you to use when creating projects. Two toolbars are visible in most of the figures shown so far in this hour. The one on the top is the Standard toolbar, which you'll probably want displayed all the time. The second toolbar is the Layout toolbar, which provides useful tools for building forms. The previous edition of Visual Studio had about 5 toolbars; Visual Studio .NET, on the other hand, has more than 20 toolbars! The toolbars you'll use most often as a C# developer are the Standard, Text Editor, and Debug toolbars. Therefore, this hour discusses each of these. In addition to these predefined toolbars, you can create your own custom toolbars to contain any functions you think necessary, which you'll learn how to do later in this hour. To show or hide a toolbar, choose View, Toolbars to display a list of available toolbars. Toolbars currently displayed appear selected (see [Figure 2.8]). Click a toolbar name to toggle its visible state. Figure 2.8. Hide or show toolbars to make your work more efficient. ;Bulb: A quick way to access the list of toolbars is to right-click any visible toolbar. Docking and Resizing Toolbars Just as you can dock and undock C#'s design windows, you can dock and undock the toolbars. Unlike the design windows, however, C#'s toolbars don't have a title bar that you can click and drag when they're in a docked state. Instead, each docked toolbar has a drag handle (a set of horizontal lines along its left edge). To float (undock) a toolbar, click and drag the grab handle away from the docked edge. After a toolbar is floating, it has a title bar. To dock a floating toolbar, click and drag its title bar to the edge of the design environment to which you want it docked. This is the same technique you use to dock design windows. ;Bulb: A shortcut for docking a toolbar is to double-click its title bar. Although you can't change the size of a docked toolbar, you can resize a floating toolbar (a floating toolbar behaves like any other normal window). To resize a floating toolbar, move the pointer over the edge you want to stretch and then click and drag to the border to change the size of the toolbar. ===Customizing Toolbars=== As your experience with C# grows, you'll find that you use certain functions repeatedly. To increase your productivity, you can customize any of C#'s toolbars, and you can create your own from scratch. You can even customize the C# menu and create your own menus. To customize toolbars and menus, you use the Customize dialog box shown in [Figure 2.9], which is accessed by choosing View, Toolbars, Customize. Figure 2.9. Create new toolbars or customize existing ones to fit the way you work. ;Book - Pencil:I strongly suggest that you don't modify the existing C# toolbars. Instead, create new toolbars. If you modify the predefined toolbars, you may find that you've removed tools that I refer to in later examples. If you do happen to change a built-in toolbar, you can reset it to its original state by selecting it in the Customize dialog box and clicking Reset. The Toolbars tab on the Customize dialog box shows you a list of all the existing toolbars and menus. The toolbars and menus currently visible have a check mark next to them. To toggle a toolbar or menu between visible and hidden, click its check box. ===Creating a New Toolbar=== You're now going to create a new toolbar to get a feel for how toolbar customization works. Your toolbar will contain only a single button, which will be used to call C#'s Help program. To create your new toolbar, follow these steps: # From the Toolbars tab of the Customize dialog box, click New. # Enter My Help as the name for your new toolbar when prompted. # Click OK to create the new toolbar. After you've entered a name for your toolbar and clicked OK, your new toolbar appears, floating on the screen�most likely somewhere outside the Customize dialog box (see [Figure 2.10]). Dock your toolbar now by double-clicking the blank area on the toolbar (the area where a button would ordinarily appear). Your screen should look like the one in [Figure 2.11]. Figure 2.10. New toolbars are pretty tiny; they have no buttons on them. Figure 2.11. It's easier to customize toolbars when they're docked. ===Adding Buttons to a Toolbar=== Now that you have an empty toolbar, the next step is to add the desired command buttons to it. Click the Commands tab of the Customize dialog box to display all the available commands. The Commands tab contains the following: * A list of command categories * A list of the commands for the selected command category The Categories list shows all available command categories, such as File and Edit functions. When you select a category, all the available commands for that category are shown in the list on the right. You're going to add a toolbar button that appears as a Help icon and that actually displays Help when clicked. To add the command button to your toolbar, follow these steps: # Locate and select the category Help. All the available commands for the Help category will appear in the list on the right. # From the Commands list, click and drag the Contents command to your custom toolbar. As you drag, the pointer changes to an arrow pointing to a small gray box. At the lower-right corner of the pointer is a little hollow box with an x in it. This indicates that the location over which the pointer is positioned is not a valid location to drop the command. # As you drag the command over your toolbar (or any other toolbar for that matter), the x in the little box will change to a plus sign (+), indicating that the command can be placed in the current location. In addition, an insertion point (often called an I-beam because that's what it looks like) appears on the toolbar to indicate where the button would be placed if the command were dropped at that spot. When an I-beam appears on your toolbar and the pointer box contains a plus sign, release the mouse button. Your toolbar will now look like the one in [Figure 2.12]. Figure 2.12. Building toolbars is a simple matter of dragging and dropping commands. You can alter any button on a toolbar by right-clicking the button to access its shortcut menu and then choosing Change Button Image. Feel free to experiment with changing the image of the button on your custom toolbar, but be sure to leave the buttons on the built-in toolbars as they are. To remove a button from a toolbar, drag the button to remove it from the toolbar and drop it somewhere other than on the same toolbar. If you drop the button onto another toolbar, the button is removed from the original toolbar and placed on the toolbar on which you dropped it. If you drop the button in a location where no toolbar exists, the button is simply removed from the toolbar. ;Book - Pencil:You can drag command buttons only in Customize mode. If you attempt to drag an item during normal operation, you'll simply click the button. ;Bulb: Although these techniques are illustrated using toolbars, they apply to menus, as well. Moving Buttons on a Menu or Toolbar You should always attempt to group command buttons logically. For example, the Edit functions are all grouped together on the Standard toolbar, as are the File operations. A separator (space) is used to separate groups. To create a separator space, right-click the button that starts a new group and choose Begin a Group from the button's shortcut menu. You probably won't get the exact groupings you want when you first add commands to a toolbar, but that's not a problem because you can change the position of a button at any time. To move a button on a toolbar, drag the button and drop it in the desired location (remember, you have to be in Customize mode to do this). To move a button from one toolbar to another, drag the button from its toolbar and drop it at the preferred location on the desired toolbar. Now that your toolbar is complete (Hey, I never said it'd be fancy), click Close on the Customize dialog box to exit Customize mode. All toolbars, including the one you just created, are no longer in Customize mode and they can't be modified. Click the button you placed on your new toolbar and C#'s Help will appear. Because your custom toolbar really doesn't do much, hide it now to save screen real estate by right-clicking any toolbar to display the Toolbar shortcut menu and then deselecting My Help. ;Book - Pencil:As you work your way through this book, you should always have the Standard toolbar and menu bar displayed on your screen. Typically, you should customize toolbars only after you're very familiar with the available functions and only after you know which functions you use most often. I recommend that you refrain from modifying any of the predefined toolbars until you're quite familiar with C#. As you become more comfortable with C#, you can customize the toolbars to make your project work area as efficient as possible. Adding Controls to a Form Using the Toolbox The toolbox is used to place controls, such as the common text box and list box, onto a form. The default toolbox you see when you first run C# is shown in [Figure 2.13]. The buttons labeled Data, Components, Windows Forms, and so on are actually tabs, although they don't look like standard tabs. Clicking any of these tabs causes a related set of controls to appear. The default tab is the Windows Forms tab, and it contains many great controls you can place on Windows forms (the forms used to build Windows applications, in contrast to Web applications). All the controls that appear by default on the tabs are included with C#, and these controls are discussed in detail in [Hour 7], "Working with Traditional Controls," and [Hour 8], "Advanced Controls." You'll learn how to add other controls to your toolbox as well. Figure 2.13. The standard toolbox contains many useful controls you can use to build robust user interfaces. You can add a control to a form in one of three ways: * In the toolbox, click the tool that you want to place on a form, and then click and drag on the form where you want the control placed (essentially, you're drawing the border of the control). The location at which you start dragging is used for the upper-left corner of the control, and the lower-right corner is the point at which you release the mouse button and stop dragging. * Double-click the desired control in the toolbox. When you double-click a control in the toolbox, a new control of the selected type is placed in the upper-left corner of the form. The control's height and width are set to the default height and width of the selected control type. * Drag a control from the toolbox and drop it somewhere on a form. ;Bulb: If you prefer to draw controls on your forms by clicking and dragging, I strongly suggest that you dock the toolbox to the right or bottom edge of the design environment or float it; the toolbar tends to interfere with drawing controls when it's docked to the left edge, because it obscures part of the form. The very first item on the Windows Forms tab, titled Pointer, isn't actually a control. When the pointer item is selected, the design environment is placed in a select mode rather than in a mode to create a new control. With the pointer item selected, you can select a control (by clicking it) to display all its properties in the Properties window; this is the default behavior. Setting Object Properties Using the Properties Window When developing the interface of a project, you'll spend a lot of time viewing and setting object properties using the Properties window (see [Figure 2.14]). The Properties window contains four items: * An object drop-down list * A list of properties * A set of tool buttons used to change the appearance of the properties grid * A section showing a description of the selected property Figure 2.14. Use the Properties window to view and change properties of forms and controls. ===Selecting an Object and Viewing Its Properties=== The drop-down list at the top of the Properties window contains the name of the form with which you're currently working and all the controls (objects) on the form. To view the properties of a control, select it from the drop-down list or click the control on the form. You must have the pointer item selected in the toolbox to select an object by clicking it. ===Viewing and Changing Properties=== The first two buttons in the Properties window (Categorized and Alphabetic), enable you to select the format in which you view properties. When you select the Alphabetic button, the selected object's properties are listed in the Properties window in alphabetical order. When you click the Categorized button, all the selected object's properties are displayed by category. For example, the Appearance category contains properties such as BackColor and BorderStyle. When working with properties, select the view you're most comfortable with and feel free to switch back and forth between the views. The Properties pane of the Properties window is used to view and set the properties of a selected object. You can set a property in one of the following ways: * Type in a value * Select a value from a drop-down list * Click a Build button for property-specific options ;Book - Pencil:Many properties can be changed by more than one of these methods. To better understand how changing properties works, follow these steps: # Start by creating a new Windows Application project. Name this project Changing Properties. # Add a new text box to a form by double-clicking the TextBox tool in the toolbox. You're now going to change a few properties of the new text box. # Select the Name property in the Properties window by clicking it, and then type in a name for the text box�call it txtComments. # Click the BorderStyle property and try to type in the word Big�you can't; the BorderStyle property supports only selecting values from a list. You can type a value that exists in the list, however. When you selected the BorderStyle property, a drop-down arrow appeared in the value column. Click this arrow now to display a list of the values that the BorderStyle property accepts. Select FixedSingle and notice how the appearance of the text box changes. To make the text box appear three dimensional again, open the drop-down list and select Fixed3D. # Select the BackColor property, type in some text, and press the Tab key to commit your entry. C# displays an Invalid Property Value error. This happened because, although you can type in text, you're restricted to entering specific values (in the case of BackColor, the value must be a number within a specific range or a named color). Click the drop-down arrow of the BackColor property and select a color from the drop-down list. (Selecting colors using the Color Palette is discussed later in this hour, and detailed information on using colors is provided in [Hour 10], "Drawing and Printing.") # Select the Font property. Notice that a Build button appears (a small button with three dots on it). When you click the Build button, a dialog box specific to the property you've selected appears. In this instance, a dialog box that allows you to manipulate the font of the text box appears (see [Figure 2.15]). Different properties display different dialog boxes when you click their Build buttons. Figure 2.15. The Font dialog box gives you complete authority over the font of a control. By clicking a property in the Properties window, you can easily tell the type of input the property requires. ===Working with Color Properties=== Properties that deal with colors, such as BackColor and ForeColor, are unique in the way in which they accept values, yet all color-related properties behave the same way. In C#, all colors are expressed as a set of three numbers, each number having a value from 0 to 255. The set of numbers represents the Red, Green, and Blue (RGB) components of the color, respectively. ;Book - Pencil:The value 0,255,0, for instance, represents pure green, whereas the values 0,0,0 represent black and 255,255,255 represents white. (See [Hour 10] for more information on the specifics of working with color.) A color rectangle is displayed for each color property in the Properties window; this color is the selected color for the property. Text is displayed next to the colored rectangle. This text is either the name of a color or a set of RGB values that defines the color. Clicking in a color property causes a drop-down arrow to appear, but the drop-down you get by clicking the arrow isn't a typical drop-down list. [Figure 2.16] shows what the drop-down list for a color property looks like. Figure 2.16. The color drop-down list enables you to select from three sets of colors. The color drop-down list is composed of three tabs: Custom, Web, and System. Most color properties use a system color by default. [Hour 10] goes into great detail on system colors, so I only want to mention here that system colors vary from computer to computer; they are the colors determined by the user when he or she right-clicks the desktop and chooses Properties from the desktop's shortcut menu. Use a system color when you want a color to be one of the user's selected system colors. When a color property is set to a system color, the name of the color appears in the property sheet. The Custom tab shown in [Figure 2.17] is used to specify a specific color, regardless of the user's system color settings; changes to system colors have no effect on the property. The most common colors appear on the palette of the Custom tab, but you can specify any color you desire. Figure 2.17. The Custom tab of the color drop-down list lets you specify any color imaginable. ;Book - Pencil:The colors visible in the various palettes are limited by the number of colors that can be produced by your video card. If your video card doesn't support enough colors, some will appear dithered, which means they will appear as dots of colors rather than as a true, solid color. The bottom two rows in the Custom color palette are used to mix your own colors. To assign a color to an empty color slot, right-click a slot in one of the two rows to access the Define Color dialog box (see [Figure 2.18]). Use the controls on the Define Color dialog box to create the color you desire, and then click Add Color. The new color appears on the color palette in the slot you selected, and it is automatically assigned to the current property. Figure 2.18. The Define Color dialog box lets you create your own colors. The Web tab is used to pick colors from a list of named colors for building Web pages. ===Viewing Property Descriptions=== It's not always immediately apparent just exactly what a property is or does�especially for new users of Visual Studio. The Description section at the bottom of the Properties window shows a simple description of the selected property (refer to [Figure 2.14]). To view a description, simply click a property or value area of a property. You can hide or show the Description section of the Properties window at any time by right-clicking anywhere within the Properties window (other than in the value column or on the title bar) to display the Properties window shortcut menu and choosing Description. Each time you do this, you toggle the Description section between visible and hidden. To change the size of the Description box, click and drag the border between it and the Properties pane. Managing Projects Before you can effectively create an interface and write code, you need to understand what makes up a C# project and how to add and remove various components from within your own projects. In this section, you'll learn about the Solution Explorer window and how it's used to manage project files. You'll also learn specifics about projects and project files, as well as how to change a project's properties. Managing Project Files with the Solution Explorer As you develop projects, they'll become more and more complex, often containing many objects such as forms and modules. Each object is defined by one or more files. In addition, you can build complex solutions composed of more than one project. The Solution Explorer window shown in [Figure 2.19] is the tool for managing all the files in a simple or complex solution. Using the Solution Explorer, you can add, rename, and remove project files, as well as select objects to view their properties. If the Solution Explorer window isn't visible on your screen, show it now by choosing Solution Explorer from the View menu. Figure 2.19. Use the Solution Explorer window to manage all the files that make up a project. To better understand the Solution Explorer window, follow these steps: # Locate the Picture Viewer program you created in the Quick Tour by choosing File, Open, and then clicking Project. # Open the Picture Viewer project. The file you need to select is located in the Picture Viewer folder that C# created when the project was constructed. The file has the extension .sln (for solution). If you're asked whether you want to save the current project, choose No. # Select the Picture Viewer project item in the Solution Explorer. When you do, a button becomes visible toward the top of the window. This button has a picture of pieces of paper and has the ToolTip Show All Files (see [Figure 2.20]). Click this button and the Solution Explorer displays all files in the project. Figure 2.20. Notice that the form you defined appears as two files in the Solution Explorer. Your design environment should now look like the one in [Figure 2.20]. If your screen looks much different from the one in this figure, use the techniques you've learned in this hour to change your design environment so that it's similar to the one shown here. Be sure to widen the Solution Explorer window so that you can read all the text it contains. ;Book - Pencil:Some forms and other objects may be composed of more than one file. By default, C# hides project files that you don't directly manipulate. Click the plus sign (+) next to the form item and you'll see a sub item titled Form1.resx. You'll learn about these additional files in [Hour 5], "Building Forms�Part I." For now, click the Show All Files button again to hide these related files. You can view any object listed within the Solution Explorer using the object's default viewer by double-clicking the object. Each object has a default viewer but may actually have more than one viewer. For instance, a form has a Form Design view as well as a Code view. By default, double-clicking a form in the Solution Explorer displays the form in Form Design view, where you can manipulate the form's interface. You've already learned one way to access the code behind a form�double-click an object to access its default event handler. You'll frequently need to get to the code of a form without adding a new event handler. One way to do this is to use the Solution Explorer. When a form is selected in the Solution Explorer, buttons are visible at the top of the Solution Explorer window that allow you to display the code editor or the form designer, respectively. You'll use the Solution Explorer window so often that you'll probably want to dock it to an edge and set it to Auto Hide, or perhaps keep it visible all the time. The Solution Explorer window is one of the easiest to get the hang of in C#; navigating the Solution Explorer window will be second nature to you before you know it. ===Working with Solutions=== In truth, the Solution Explorer window is the evolution of the Project Explorer window from versions of Visual Studio prior to .NET, and the two are similar in many ways. Understanding solutions is easier to do when you understand projects. A project is what you create with C#. Often, the words project and program are used interchangeably; this isn't much of a problem if you understand the important distinctions. A project is the set of source files that make up a program or component, whereas a program is the binary file that you build by compiling source files into something such as a Windows executable file (.exe). Projects always consist of a main project file and may be made up of any number of other files, such as form files, module files, or class module files. The main project file stores information about the project�all the files that make up the project, for example�as well as properties that define aspects of a project, such as the parameters to use when the project is compiled into a program. What then, is a solution? As your abilities grow and your applications increase in complexity, you'll find that to accomplish your development goals, you'll have to build multiple projects that work harmoniously. For instance, you might build a custom user control such as a custom data grid that you use within other projects you design, or you may isolate the business rules of a complex application into separate components to run on isolated servers. All the projects used to accomplish those goals are collectively called a solution. Therefore, a solution (at its most basic level) is really nothing more than a grouping of projects. ;Bulb: You should group projects into a single solution only when the projects relate to one another. If you have a number of projects that you're working on, but each of them is autonomous, work with each project in a separate solution. Understanding Project Components As I stated earlier, a project always consists of a main project file, and it may consist of one or more secondary files, such as files that make up forms or code modules. As you create and save objects within your project, one or more corresponding files are created and saved on your hard drive. All files that are created for C# source objects have the extension .cs, designating that they define C# objects. Make sure that you save your objects with understandable names, or things might get confusing as the size of your project grows. All the files that make up a project are text files. Some objects, however, need to store binary information, such as a picture, for a form's BackgroundImage property. Binary data is stored in an XML file (which is still a text file). Suppose you had a form with an icon on it. You'd have a text file defining the form (its size, the controls on it, and the code behind it), and an associated resource file with the same name as the form file but with the extension .resx. This second file would be in XML format and would contain all the binary data needed to create the form. ;Book - Pencil:If you want to see what the source file of a form file looks like, use Notepad to open a form file on your computer. Don't save any changes to the file, however, or it may never work again. The following is a list of some of the components you may use in your projects: * Forms Forms are the visual windows that make up the interface of your application. Forms are defined using a special type of module. * Class Modules Class modules are a special type of module that enable you to create object-oriented applications. Throughout the course of this book, you're learning how to program using an object-oriented language, but you're mostly learning how to use objects supplied by C#. In [Hour 17], "Designing Objects with Classes," you'll learn how to use class modules to create your own objects. Forms are derived from a special type of class module. * User Controls User controls (formerly ActiveX controls, which are formerly OLE controls) are controls that can be used on the forms of other projects. For example, you could create a User control with a calendar interface for a contact manager. Creating user controls requires the skill of an experienced programmer; therefore, I won't be covering them in this book. ===Setting Project Properties=== C# projects have properties, just as other objects do, such as forms and controls. Projects have lots of properties, many of them relating to advanced functionality that I won't be covering in this book. However, you need to be aware of how to access project properties and how to change some of the more commonly used properties. To access the properties for a project, right-click the project in the Solution Explorer window and choose Properties from the shortcut menu. Do this now. ;Book - Pencil:In earlier versions of Visual Studio, you accessed the project properties via the Project menu. You can still do this, but you must have the project selected in the Solution Explorer, or the Properties menu won't appear on the Project menu. If you don't remember this, you could spend a lot of time trying to find the properties�I sure did. The Tree View control on the left side of the dialog box is used to display a property page (see [Figure 2.21]). When you first open the dialog box, the General page is visible. On this page, the setting you'll need to worry about most is the Startup Object property. The Startup Object setting determines the name of the class that contains the Main() method that you want called on program startup. The (Not Set) option, as shown in [Figure 2.21], is valid if only one Main() method exists in your application. Figure 2.21. Project properties let you tailor aspects of the project as a whole. The Output Type option determines the type of compiled component defined by this source project. When you create a new project, you select the type of project to create (such as Windows Application), so this field is always filled in. At times, you might have to change this setting after the project has been created, and this is the place to do so. Notice that the project folder, project filename, and output name are displayed on this page as well. If you work with a lot of projects, you may find this information valuable, and this is certainly the easiest spot to obtain it. ;Book - Pencil:The output name determines the filename created when you build a distributable component. Distributing applications is discussed in [Hour 22]. As you work through the hours in this book, I'll refer to the Project Properties dialog box as necessary, explaining pages and items in context with other material. ===Adding and Removing Project Files=== When you first start C# and create a new Windows Application project, C# creates the project with a single form. You're not limited to having one form in a project, however; you can create new forms or add existing forms to your project at will. You can also create and add code files and classes, as well as other types of objects. You can add a new or existing object to your project in one of three ways: * Choose the appropriate menu item from the Project menu. * Click the small drop-down arrow that is part of the Add New Item button on the Standard toolbar, and then choose the object type from the drop-down list that is displayed (see [Figure 2.22]). * Right-click the project name in the Solution Explorer window, and then choose Add from the shortcut menu to access a submenu from which you can select object types. When you select Add ObjectType from any of these menus, a dialog box appears, showing you the objects that can be added to the project. Your chosen item is selected by default (see [Figure 2.23]). Simply name the object and click Open to create a new object of the selected type. To create an object of a different type, click the type to select it, name it, and then click Open. Figure 2.23. Regardless of the menu option you select, you can add any type of object you want using this dialog box. Adding new forms and modules to your project is easy, and you can add as many as you like. You'll come to rely more heavily on the Solution Explorer to manage all the objects in the project as the project becomes more complex. Although it won't happen as often as adding project files, you may sometimes need to remove an object from a project. Removing objects from your project is even easier than adding them. To remove an object, simply right-click the object in the Solution Explorer window and select Exclude from Project. This removes the object from the file but does not delete the source file from the disk. Selecting Delete, on the other hand, removes the file from the project and deletes it from the disk. Don't select Delete unless you want to totally destroy the file and you're sure that you'll never need it again in the future. Getting Help Although C# was designed to be as intuitive as possible, you'll find that you occasionally need assistance in performing a task. It doesn't matter how much you know, C# is so complex and contains so many features that you'll have to use Help sometimes. This is particularly true when writing C# code; you won't always remember the command you need or the syntax of the command. Fortunately, C# includes a comprehensive Help feature. To access Help from within the design environment, press F1. Generally speaking, when you press F1, C# shows you a help topic directly related to what you're doing. This is known as context-sensitive help, and when it works, it works well. For example, you can display help for any C# syntax or keyword (functions, objects, methods, properties, and so on) when writing C# code by typing the word into the code editor, positioning the cursor anywhere within the word (including before the first letter or after the last), and pressing F1. You can also get to help from the Help menu on the menu bar. ;Book - Pencil:C#'s Help won't be displayed if your program is in Run mode when you press F1. Instead, the help for your application will appear�if you've created Help. Help displays topics directly within the design environment instead of in a separate window. This is a new feature of .NET. Personally, I think this method is considerably inferior to the old style of Visual Studio having Help float above the design environment. When Help is displayed within the design environment, you can't necessarily see the code, form, or other object with which you're working. To make Help float above the design environment, choose Options from the Tools menu to display the Options dialog box, click Help in the Tree view on the left, and select External Help. C# includes a Help feature called Dynamic Help. To display the Dynamic Help window, choose Dynamic Help from the Help menu. The Dynamic Help window shows Help links related to what it is you're working on (see [Figure 2.24]). For instance, if you select a form, the contents of the Dynamic Help window show you Help links related to forms. If you click a text box, the contents of the Dynamic Help window adjust to show you Help links related to text boxes. This is an interesting feature, and you may find it valuable. ===Summary=== In this hour, you learned how to use the Visual Studio Start page�your gateway to C#. You learned how to create new projects and how to open existing projects. The C# environment is your workspace, toolbox, and so much more. You learned how to navigate the environment, including how to work with design windows (hide, show, dock, and float). You'll use toolbars constantly, and now you know how to modify them to suit your specific needs. You learned how to create new toolbars and how to modify existing toolbars. This is an important skill that shouldn't be overlooked. C# has many different design windows, and in this hour, you began learning about some of them in detail. You learned how to get and set properties using the Properties window, how to manage projects using the Solution Explorer, and how to add controls to a form using the toolbox. You'll use these skills often, so it's important to get familiar with them right away. Finally, you learned how to access C#'s Help feature, which I guarantee you will find very important as you learn to use C#. C# is a vast and powerful development tool. Don't expect to become an expert overnight; this is simply impossible. However, by learning the tools and techniques presented in this hour, you've begun your journey. Remember, you'll use most of what you learned in this hour each and every time you use C#. Get proficient with these basics and you'll be building cool programs in no time! ===Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[Q1:''' | How can I easily get more information about a property when the Description section of the Properties window just doesn't cut it? |- | align="right" | ''' A1: ''' | Click the property in question to select it, and then press F1; context-sensitive help applies to properties in the Properties window, as well. |- | align="right" | '''[Q2:''' | I find that I need to see a lot of design windows at one time, but I can't find that "magic" layout. Any suggestions? |- | align="right" | ''' A2: ''' | Run at a higher resolution. Personally, I won't develop in less than 1024x768. As a matter of fact, all my development machines have two displays, both running at this resolution. You'll find that any investment you make in having more screen real estate will pay you big dividends. ===Workshop=== The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [Appendix A], "Answers to Quizzes/Exercises." ===Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[ 1:''' | How can you make the Visual Studio Start Page appear at startup if this feature has been disabled? |- | align="right" | '''[ 2:''' | Unless instructed otherwise, you are to create what type of project when building examples in this book? |- | align="right" | '''[ 3:''' | To make a docked design window appear when you hover over its tab and disappear when you move the mouse away from it, you change what setting of the window? |- | align="right" | '''[ 4:''' | How do you access the Toolbars menu? |- | align="right" | '''[ 5:''' | What design window do you use to add controls to a form? |- | align="right" | '''[ 6:''' | What design window is used to change the attributes of an object? |- | align="right" | '''[ 7:''' | To modify the properties of a project, you must select the project in what design window? |- | align="right" | '''[ 8:''' | Which Help feature adjusts the links it displays to match what it is you are doing? Exercises # Create a custom toolbar that contains Save All, Start, and Stop Debugging�three buttons you'll use a lot throughout this book. # Use the Custom Color dialog box to create a color of your choice, and then assign the color to the BackColor property of a form. = Hour 3. Understanding Objects and Collections = So far, you've gotten an introduction to programming in C# by building a Picture Viewer project. You spent the previous hour digging into the IDE and learning skills critical to your success with C#. In this hour, you're going to start learning about some important programming concepts, namely objects. ;New term:The term object, as it relates to programming, may have been new to you prior to this book. The more you work with C#, the more you'll hear about objects. C# is a true object-oriented language. This hour isn't going to discuss object-oriented programming in any detail, because object-oriented programming is a very complex subject and is well beyond the scope of this book. Instead, you'll learn about objects in a more general sense. Everything you use in C# is an object, so understanding this material is critical to your success with C#. Forms are objects, for example, as are the controls you place on a form. Pretty much every element of a C# project is an object and belongs to a collection of objects. All objects have attributes (called properties), most have methods, and many have events. Whether creating simple applications or building large-scale enterprise solutions, you must understand what an object is and how it works. In this hour, you'll learn what makes an object an object, and you'll learn about collections. The highlights of this hour include the following: * Understanding objects * Getting and setting properties * Triggering methods * Understanding method dynamism * Writing object-based code * Understanding collections * Using the Object Browser ;Book - Pencil:If you've listened to the programming press at all, you've probably heard the term object oriented, and perhaps words such as polymorphism, encapsulation, and inheritance. In truth, these object-oriented features of C# are very exciting, but they're far beyond [03.htm#ch03 Hour 3]. You'll learn a little about object-oriented programming in this book, but if you're really interested in taking your programming skills to the next level, you should buy a book dedicated to the subject after you've completed this one. ---- === Understanding Objects === Object-oriented programming has been a technical buzzword for quite some time. Almost everywhere you look�the Web, publications, books�you read about objects. What exactly is an object? Strictly speaking, it is a programming structure that encapsulates data and functionality as a single unit and for which the only public access is through the programming structure's interfaces (properties, methods, and events). In reality, the answer to this question can be somewhat ambiguous because there are so many types of objects�and the number grows almost daily. However, all objects share specific characteristics, such as properties and methods. The most commonly used objects in Windows applications are the form object and the control object. Earlier hours introduced you to working with forms and controls and even showed you how to set form and control properties. In your Picture Viewer project from [Hour 1], for instance, you added a picture box and two buttons to a form. Both the PictureBox and the Button control are control objects, but each is a specific type of control object. Another, less-technical example uses pets. Dogs and cats are definitely different entities (objects), but they both fit into the category of Pet objects. Similarly, text boxes and buttons are each a unique type of object, but they're both considered a control object. This small distinction is important. Understanding Properties All objects have attributes used to specify and return the state of the object. These attributes are properties, and you've already used some of them in previous hours using the Properties window. Indeed, every object exposes a specific set of properties, but not every object exposes the same set of properties. To illustrate this point, I will continue with the Pet object concept. Suppose you have an object, and the object is a dog. This Dog object has a certain set of properties that are common to all dogs. These properties include attributes such as the dog's name, the color of its hair, and even the number of legs it has. All dogs have these same properties; however, different dogs have different values for these properties. [Figure 3.1] illustrates such a Dog object and its properties. Figure 3.1. Properties are the attributes that describe an object. [[Image:03fig01.gif|334px|graphics/03fig01.gof]] ===Getting and Setting Properties=== You've already seen how to read and change properties using the Properties window. The Properties window is available only at design time, however, and is used only for manipulating the properties of forms and controls. Most reading and changing of properties you'll perform will be done with C# code, not by using the Properties window. When referencing properties in code, you specify the name of the object first, followed by a period (.), and then the property name, as in the following syntax: <pre>{ObjectName}.{Property} </pre> If you had a Dog object named Bruno, for example, you would reference Bruno's hair color this way: <pre>Bruno.HairColor </pre> This line of code would return whatever value was contained in the HairColor property of the Dog object Bruno. To set a property to some value, you use an equal (=) sign. For example, to change the Dog object Bruno's Weight property, you would use a line of code such as the following: <pre>Bruno.Weight = 90; </pre> ;Book - Pencil:A little later in this hour, I discuss instantiation, which is the process of creating an object based on a template. It's important to note here that Bruno is a named instance of an object derived from a template or blueprint (called a class). Each object instance has its own set of data, such as property values. For example, you could also have a Dog object named Bonnie, which has a unique set of properties. In a more real-world example, consider how you can have two buttons on a form. Although they have different property values (such as Name), and they have different code within their Click events, they are both Button objects. When you reference a property on the left side of an equal sign, you're setting the value. When you reference a property on the right side of the equal sign, you're getting (reading) the value. <pre>Bruno.Weight = 90; </pre> It's easier to see here that referencing the property on the left side of the equal sign indicates that you are setting the property to some value. The following line of code places the value of the Weight property of the Dog object called Bruno into a temporary variable. This statement retrieves the value of the Weight property because the Weight property is referenced on the right side of the equal sign. <pre>fltWeight = Bruno.Weight; </pre> Variables are discussed in detail in [Hour 12], "Using Constants, Data Types, Variables, and Arrays." For now, think of a variable as a storage location. When the processor executes this code statement, it retrieves the value in the Weight property of the Dog object Bruno and places it in the variable (storage location) titled Weight. Assuming that Bruno's Weight is 90, as set in the previous example, the computer would process the following code statement: <pre>fltWeight = 90; </pre> Just as in real life, some properties can be read but not changed. Suppose you had a Sex property to designate the gender of a Dog object. It's impossible for you to change a dog from a male to a female or vice versa (at least I think it is). Because the Sex property can be retrieved but not changed, it is a read-only property. You'll often encounter properties that can be set in Design view but become read-only when the program is running. One example of a read-only property is the Height property of the Combo Box control. Although you can view the value of the Height property in the Properties window, you cannot change the value�no matter how hard you try. If you attempt to change the Height property using C# code, C# simply changes the value back to the default. ;Book - Pencil:The best way to determine which properties of an object are read-only is to consult the online help for the object in question. Working with an Object and Its Properties Now that you know what properties are and how they can be viewed and changed, you're going to experiment with properties in a simple project. In [Hour 1], you learned how to set the Height and Width properties of a form using the Properties window. Now, you're going to change the same properties using C# code. The project you're going to create consists of a form with some buttons on it. One button will enlarge the form when clicked, whereas the other will shrink the form. This is a very simple project, but it illustrates rather well how to change object properties in C# code. # Start by creating a new Windows Application project (from the File menu, choose New, Project). # Name the project Properties Example. # Use the Properties window to change the name of the form to fclsShrinkMe. (Click the form once to select it and press F4 to display the Properties window.) # Next, change the Text property of the form to Grow and Shrink. # Click the View Code button in Solution Explorer to view the code behind the form. Scroll down and locate the reference to Form1 and change it to fclsShrinkMe. # Click the Form1.cs [Design] tab to return to the form designer. When the project first runs, the default form will have a Height and Width as specified in the Properties window. You're going to add buttons to the form that a user can click to enlarge or shrink the form at runtime. Add a new button to the form by double-clicking the Button tool in the toolbox. Set the new button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Set To |- | <tt>Name</tt> | <tt>btnEnlarge</tt> |- | <tt>Location</tt> | <tt>111,70</tt> |- | <tt>Text</tt> | <tt>Enlarge</tt> |} Now for the Shrink button. Again, double-click the Button tool in the toolbox to create a new button on the form. Set this new button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Set To |- | <tt>Name</tt> | <tt>btnShrink</tt> |- | <tt>Location</tt> | <tt>111,120</tt> |- | <tt>Text</tt> | <tt>Shrink</tt> |} Your form should now look like the one shown in [Figure 3.2]. Figure 3.2. Each button is an object, as is the form the buttons sit on. To complete the project, you need to add the small amount of C# code necessary to modify the form's Height and Width properties when the user clicks a button. Access the code for the Enlarge button now by double-clicking the Enlarge button. Type the following statement exactly as you see it here. Do not hit the Enter key or add a space after you've entered this text. <pre>this.Width </pre> When you typed the period, or "dot," as it's called, a small drop-down list appeared, like the one shown in [Figure 3.3]. C# is smart enough to realize that this represents the current object (more on this in a moment), and to aid you in writing code for the object, it gives you a drop-down list containing all the properties and methods of the form. This feature is called IntelliSense, and it is relatively new to Visual Studio. Because C# is fully object-oriented, you'll come to rely on IntelliSense drop-down lists in a big way; I think I'd rather dig ditches than program without them. Figure 3.3. IntelliSense drop- down lists, or auto-completion drop-down lists, make coding dramatically easier. Use the Backspace key to completely erase the code you just entered and enter the following code in its place (press Enter at the end of each line): <pre>this.Width = this.Width + 20; this.Height = this.Height + 20; </pre> Again, the word <tt>this</tt> refers to the object to which the code belongs (in this case, the form). The word <tt>this</tt> is a reserved word; it's a word that you cannot use to name objects or variables because C# has a specific meaning for it. When writing code within a form module, as you are doing here, you should always use the <tt>this</tt> reserved word rather than using the name of the form. <tt>this</tt> is much shorter than using the full name of the current form, and it makes the code more portable (you can copy and paste the code into another form module and not have to change the form name to make the code work). Also, should you change the name of the form at any time in the future, you won't have to change references to the old name. ;Book - Pencil:The word <tt>this</tt> is the equivalent to the <tt>Me</tt> reserved word in Visual Basic. The code you've entered simply sets the Width and Height properties of the form to whatever the current value of the Width and Height properties happens to be, plus 20 pixels. Redisplay the form designer by selecting the tab titled Form1.cs [Design]; then double-click the Shrink button to access its Click event and add the following code: <pre>this.Width = this.Width � 20; this.Height = this.Height � 20; </pre> This code is very similar to the code in the Enlarge_Click event, except that it reduces the Width and Height properties of the form by 20 pixels. Your screen should now look like [Figure 3.4]. Figure 3.4. The code you've entered should look exactly like this. ;Bulb: As you create projects, it's a very good idea to save frequently. Save your project now by clicking the Save All button on the toolbar. Again, display the form designer by clicking the tab Form1.cs [Design]. Your Properties Example is now ready to be run! Press F5 to put the project in Run mode (see [Figure 3.5]). Figure 3.5. What you see is what you get�the form you created should look just as you designed it. Click the Enlarge button a few times and notice how the form gets bigger. Next, click the Shrink button to make the form smaller. When you've clicked enough to satisfy your curiosity (or until you get bored), end the running program and return to Design mode by clicking the Stop Debugging button on the toolbar. Understanding Methods In addition to properties, most objects have methods. Methods are actions the object can perform, in contrast to attributes that describe the object. To understand this distinction, think about the Pet object example. A Dog object has a certain set of actions that it can perform. These actions, called methods in C#, include barking and tail wagging. [Figure 3.6] illustrates the Dog object and its methods. Figure 3.6. Invoking a method causes the object to perform an action. [[Image:03fig06.gif|334px|graphics/03fig06.gof]] ===Triggering Methods=== Think of methods as functions�which is exactly what they are. When you invoke a method, code is executed. You can pass data to the method, and methods may return values. However, a method is neither required to accept parameters (data passed by the calling code) nor required to return a value; many methods simply perform an action in code. Invoking (triggering) a method is similar to referencing the value of a property; you first reference the object's name, then a "dot," then the method name, followed by a set of parentheses, which can optionally contain any parameters that must be passed to the method. <pre>{ObjectName}.{Method}(); </pre> For example, to make the hypothetical Dog object Bruno bark using C# code, you would use this line of code: <pre>Bruno.Bark(); </pre> ;Book - Pencil:Method calls in C# must always have parentheses. Sometimes they'll be empty, but at other times they'll contain data. Invoking methods is simple; the real skill lies in knowing what methods an object supports and when to use a particular method. ===Understanding Method Dynamism=== Properties and methods go hand in hand, and at times a particular method may become unavailable because of one or more property values. For example, if you were to set the NumberofLegs on the Dog object Bruno equal to zero, the Walk and Fetch methods would obviously be inapplicable. If you were to set the NumberofLegs property back to four, you could then trigger the Walk or Fetch methods again. In C#, a method or property won't physically become unavailable�you can still call it, but doing so might cause an exception (error) or the call may be ignored. | align="right" | > Building an Object Example Project The only way to really grasp what objects are and how they work is to use them. I've said this before but I can't say it enough: everything in C# is an object. You're about to create a sample project that uses objects. If you're new to programming with objects, you'll probably find this a bit confusing. However, I'll walk you through step by step, explaining each section in detail. The project you're going to create consists of a single form with one button on it. When the button is clicked, a line will be drawn on the form beginning at the upper-left corner of the form and extending to the lower-right corner. ;Book - Pencil:In [Hour 10], "Drawing and Printing," you'll learn all about the drawing functionality within C#. Creating the Interface for the Drawing Project Follow these steps to create the interface for your project: # Create a new Windows Application project titled Object Example. # Change the form's Text property to Object Example using the Properties window. # Add a new button to the form and set its properties as shown in the following table: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnDraw</tt> |- | <tt>Location</tt> | <tt>112,120</tt> |- | <tt>Text</tt> | <tt>Draw</tt> |} Writing the Object-Based Code You're now going to add code to the Click event of the button. I'm going to explain each statement, and at the end of the steps, I'll show the complete code listing. ===Object Example Project=== # Double-click the button to access its Click event. # Enter the first line of code as follows (remember to press Enter at the end of each statement): <pre>System.Drawing.Graphics objGraphics = null; </pre> Objects don't materialize out of thin air; they have to be created. When a form is loaded into memory, it loads all its controls (that is, creates the control objects), but not all objects are created automatically like this. The process of creating an instance of an object is called instantiation. When you load a form, you instantiate the form object, which in turn instantiates its control objects. You could load a second instance of the form, which in turn would instantiate a new instance of the form and new instances of all controls. You would then have two forms in memory and two of each used control. To instantiate an object in code, you create a variable that holds a reference to an instantiated object. You then manipulate the variable as an object. The statement you wrote in step 2 creates a new variable called objGraphics, which holds a reference to an object of type Graphics from the .NET Framework System.Drawing class. You also initialized the value for objGraphics to null. You learn more about variables in [Hour 12], "Using Constants, Data Types, Variables, and Arrays." # Enter the second line of code exactly as shown here: <pre>objGraphics = CreateGraphics(); </pre> CreateGraphics is a method of the form. The CreateGraphics method is pretty complicated under the hood, and I discuss it in detail in [Hour 10]. For now, understand that the method CreateGraphics instantiates a new object that represents the client area of the current form. The client area is the gray area within the borders and title bar of a form. Anything drawn onto the objGraphics object appears on the form. What you've done is set the variable objGraphics to point to an object that was returned by the CreateGraphics method. Notice how values returned by a property or method don't have to be traditional values such as numbers or text; they can also be objects. # Enter the third line of code as shown next: <pre>objGraphics.Clear(System.Drawing.SystemColors.Control); </pre> This statement clears the background of the form using whatever color the user has selected as the Windows forms color. How does this happen? In step 3, you used the CreateGraphics method of the form to instantiate a new graphics object in the variable objGraphics. With the code statement you just entered, you're calling the clear method of the objGraphics object. The Clear method is a method of all Graphics objects used to clear the graphics surface. The Clear method accepts a single parameter�the color to which you want the surface cleared. The value you're passing to the parameter looks fairly convoluted. Remember that "dots" are a method of separating objects from their properties and methods. Knowing this, you can discern that System is an object (technically it's a Namespace, as discussed in [Hour 24], "The 10,000-Foot View," but for our purposes it behaves just like an object) because it appears before any of the dots. However, there are multiple dots. What this means is that Drawing is an object property of the System object; it's a property that returns an object. So the dot following Drawing is used to access a member of the Drawing object, which in turn is a property of the System object. We're not done yet, however, because there is yet another dot. Again, this indicates that SystemColors, which follows a dot, is an object of the Drawing object, which in turn is…well, you get the idea. As you can see, object references can and do go pretty deep, and you'll use many dots throughout your code. The key points to remember are the following: #* Text that appears to the left of a dot is always an object (or Namespace). #* Text that appears to the right of a dot is a property reference or a method call. #* Methods are never objects. In addition, methods are always followed by parentheses. If the text in question isn't followed by parentheses, it's definitely a property. Therefore, text that appears between two dots is a property that returns an object. Such a property is called an object property. The final text in this statement is the word Control. Because Control is not followed by a dot, you know that it's not an object; therefore, it must be a property or a method. Because you expect this string of object references to return a color value to be used to clear the Graphics object, you know that Control must be a property or a method that returns a value. A quick check of the documentation (or simply realizing that the text isn't followed by a set of parentheses) would tell you that Control is indeed a property. The value of Control always equates to the color designated on the user's computer for the face of forms. By default, this is a light gray (often fondly referred to as battleship gray), but users can change this value on their computers. By using this property to specify a color rather than supplying the actual value for gray, you are assured that no matter the color scheme used on a computer, the code will clear the form to the proper system color. System colors are explained in [Hour 10]. # Enter the following statement: <pre>objGraphics.DrawLine(System.Drawing.Pens.Chartreuse, 0, 0, this.DisplayRectangle.Width, this.DisplayRectangle.Height); </pre> This statement draws a chartreuse line on the form. Within this statement is a single method call and three property references. Can you tell what's what? Immediately following objGraphics (and a dot) is DrawLine. Because no equal sign is present (and the text is followed by parentheses), you can deduce that this is a method call. As with the Clear() method, the parentheses after DrawLine() are used to enclose a value passed to the method. The DrawLine() method accepts the following parameters in the order in which they appear here: #* A Pen #* X value of first coordinate #* Y value of first coordinate #* X value of second coordinate #* Y value of second coordinate The DrawLine() method draws a straight line between coordinate one and coordinate two, using the pen specified in the Pen parameter. I'm not going to go into detail on pens here (refer to [Hour 10]), but suffice it to say that a pen has characteristics such as width and color. Looking at the dots once more, notice that you're passing the Chartreuse property of the Pens object. Chartreuse is an object property that returns a predefined Pen object that has a width of 1 pixel and the color chartreuse. You're passing 0 as the next two parameters. The coordinates used for drawing are defined such that 0,0 is always the upper-left corner of a surface. As you move to the right of the surface, X increases, and as you move down the surface, Y increases; you can use negative values to indicate coordinates that appear to the left or above the surface. The coordinate 0,0 causes the line to be drawn from the upper-left corner of the form's client area. The object property DisplayRectangle is referenced twice in this statement. DisplayRectangle is a property of the form that holds information about the client area of the form. Here, you're simply getting the Width and Height properties of the client area and passing them to the DrawLine method. The result is that the end of the line will be at the lower-right corner of the form's client area. # Last, you have to clean up after yourself by entering the following code statement: <pre>objGraphics.Dispose(); </pre> Objects often make use of other objects and resources. The underlying mechanics of an object can be truly boggling and almost impossible to discuss in an entry-level programming book. The net effect, however, is that you must explicitly destroy most objects when you're done with them. If you don't destroy an object, it may persist in memory and it may hold references to other objects or resources that exist in memory. This means you can create a memory leak within your application that slowly (or rather quickly) munches system memory and resources. This is one of the cardinal no-no's of Windows programming, yet the nature of using resources and the fact you're responsible for telling your objects to clean up after themselves makes this easy to do. Objects that must explicitly be told to clean up after themselves usually provide a Dispose method. When you're done with such an object, call Dispose on the object to make sure it frees any resources it might be holding. For your convenience, following are all the lines of code: <pre>System.Drawing.Graphics objGraphics = null; objGraphics = CreateGraphics(); objGraphics.Clear(System.Drawing.SystemColors.Control); objGraphics.DrawLine(System.Drawing.Pens.Chartreuse, 0, 0, this.DisplayRectangle.Width, this.DisplayRectangle.Height); objGraphics.Dispose(); </pre> Testing Your Object Example Project Now the easy part. Run the project by pressing F5 or by clicking the Start button on the toolbar. Your form looks pretty much like it did at design time. Clicking the button causes a line to be drawn from the upper-left corner of the form's client area to the lower-right corner (see [Figure 3.7]). Figure 3.7. Simple lines and complex drawings are accomplished using objects. ;Book - Pencil:If you receive any errors when you attempt to run the project, go back and make sure the code you entered exactly matches the code I've provided. Resize the form, larger or smaller, and click the button again. Notice that the form is cleared and a new line is drawn. If you were to omit the statement that invokes the Clear method (and you're welcome to stop your project and do so), the new line would be drawn, but any and all lines already drawn would remain. ;Book - Pencil:If you use Alt+Tab to switch to another application after drawing one or more lines, the lines will be gone when you come back to your form. In [Hour 10], you'll learn why this is so and how to work around this behavior. Stop the project now by clicking Stop Debugging on the C# toolbar and then click Save All to save your project. What I hope you've gained from building this example is not necessarily that you can now draw a line (which is cool), but rather an understanding of how objects are used in programming. As with learning almost anything, repetition aids in understanding. Therefore, you'll be working with objects a lot throughout this book. | align="right" | > Understanding Collections A collection is just what its name implies: a collection of objects. Collections make it easy to work with large numbers of similar objects by enabling you to create code that performs iterative processing on items within the collection. Iterative processing is an operation that uses a loop to perform actions on multiple objects, rather than writing the operative code for each object. In addition to containing an indexed set of objects, collections also have properties and may have methods. [Figure 3.8] illustrates the structure of a collection. Figure 3.8. Collections contain sets of like objects, and they have their own properties and methods. [[Image:03fig08.gif|324px|graphics/03fig08.gof]] Continuing with the Dog/Pet object metaphor, think about what an Animals collection might look like. The Animals collection could contain one or more Pet objects, or it could be empty (containing no objects). All collections have a Count property that returns the total count of objects contained within the collection. Collections may also have methods, such as a Delete method used to remove objects from the collection or an Add method used to add a new object to the collection. To better understand collections, you're going to create a small C# project that cycles through the Controls collection of a form, telling you the value of the Name property of every control on the form. To create your sample project, follow these steps: # Start C# now (if it's not already loaded) and create a new Windows Application project titled Collections Example. # Change the text of the form to Collections Example by using the Properties window. # Add a new button to the form by double-clicking the Button tool in the toolbox. Set the button's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>btnShowNames</tt> |- | <tt>Location</tt> | <tt>88,112</tt> |- | <tt>Size</tt> | <tt>120,23</tt> |- | <tt>Text</tt> | <tt>Show Control Names</tt> |} # Next, add some text box and label controls to the form. As you add the controls to the form, be sure to give each control a unique name. Feel free to use any name you like, but you can't use spaces in a control name. You may want to drag the controls to different locations on the form so that they don't overlap. # When you are finished adding controls to your form, double-click the Show Control Names button to add code to its Click event. Enter the following code: <pre>for (int intIndex=0; intIndex < this.Controls.Count; intIndex++) { MessageBox.Show ("Control # " + intIndex.ToString() + " has the name " + this.Controls[intIndex].Name); } </pre> ;Book - Pencil:Every form has a Controls collection, which may or may not contain any controls. Even if no controls are on the form, the form still has a Controls collection. The first statement (the one that begins with for) accomplishes a few tasks. First, it initializes the variable intIndex to 0, and then tests the variable. It also starts a loop executing the statement block (loops are discussed in [Hour 15], "Looping for Efficiency"), incrementing intIndex by one until intIndex equals the number of controls on the form, less one. The reason that intIndex must always be less than the Count property is that when referencing items in a collection, the first item is always item zero�collections are zero based. Thus, the first item is in location zero, the second item is in location one, and so forth. If you tried to reference an item of a collection in the location of the value of the Count property, an error would occur because you would be referencing an index that is one higher than the actual locations within the collection. The MessageBox.Show() method (discussed in detail in [Hour 18], "Interacting with Users ") is a class available in the .NET Framework that is used to display a simple dialog box with text. The text that you are providing, which the MessageBox.Show() method will display, is a concatenation of multiple strings of text. (Concatenation is the process of adding strings together; it is discussed in [Hour 13], "Performing Arithmetic, String Manipulation, and Date/Time Adjustments.") Run the project by pressing F5 or by clicking Start on the toolbar. Ignore the additional controls that you placed on the form and click the Show Control Names button. Your program will then display a message box similar to the one shown in [Figure 3.9] for each control on your form (because of the loop). When the program is finished displaying the names of the controls, choose Stop Debugging from the Debug toolbar to stop the program, and then save the project. Figure 3.9. The Controls collection enables you to get to each and every control on a form. Because everything in C# is an object, you can expect to use numerous collections as you create your programs. Collections are powerful, and the quicker you become comfortable using them, the more productive you'll become. | align="right" | > Using the Object Browser C# includes a useful tool that lets you easily view members, such as properties and methods, of all the objects in a project: the Object Browser (see [Figure 3.10]). This is extremely useful when dealing with objects that aren't well documented, because it enables you to see all the members an object supports. To view the Object Browser, display the Other Windows submenu of the View menu and choose Object Browser. Figure 3.10. The Object Browser lets you view all properties and methods of an object. The Browse drop-down list in the upper-left corner of the Object Browser is used to determine the browsing scope. You can choose Active Project to view only the objects referenced in the active project, or you can choose Selected Components (the default) to view a set of selected objects. The Object Browser shows a preselected set of objects for Selected Components, but you can customize the object set by clicking the Customize button next to the Browse drop-down list. I wouldn't recommend changing the custom object set until you have some experience using C# objects and some experience using the Object Browser, as well. The top-level nodes in the Objects tree are libraries. Libraries are usually DLL or EXE files on your computer that contain one or more objects. To view the objects within a library, simply expand the library node. As you select objects within a library, the list to the right of the Objects tree will show information regarding the members of the selected object (refer to [Figure 3.10]). For even more detailed information, click a member in the list on the right, and the Object Browser will show information about the member in the gray area below the two lists. ===Summary=== In this hour, you learned all about objects. You learned how objects have properties, which are attributes that describe the object. Some properties can be set at design time using the Properties window, and most can also be set at runtime in C# code. You learned that referencing a property on the left side of the equal sign has the effect of changing a property, whereas referencing a property on the right side of the equal sign retrieves the property's value. In addition to properties, you learned that objects have executable functions, called methods. Like properties, methods are referenced by using a "dot" at the end of an object reference. An object may contain many methods and properties, and some properties can even be objects themselves. You learned how to "follow the dots" to interpret a lengthy object reference. Objects are often used as a group, called a collection. You learned that a collection often contains properties and methods, and that collections let you easily iterate through a set of like objects. Finally, you learned that the Object Browser can be used to explore all the members of an object in a project. The knowledge you've gained in this hour is fundamental to understanding programming with C#, because objects and collections are the basis on which applications are built. After you have a strong grasp of objects and collections�and you will have by the time you've completed all the hours in this book�you'll be well on your way to fully understanding the complexities of creating robust applications using C#. ===Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Is there an easy way to get help about an object's member? |- | align="right" | ''' A1: ''' | Absolutely. C#'s context-sensitive Help extends to code as well as to visual objects. To get help on a member, write a code statement that includes the member (it doesn't have to be a complete statement), position the cursor within the member text, and press F1. For instance, to get help on the Count property of the controls collection, you could type this.Controls.Count, position the cursor within the word Count, and press F1. |- | align="right" | '''Q2:''' | Are there any other types of object members besides properties and methods? |- | align="right" | ''' A2: ''' | Yes. An event is actually a member of an object, although it's not always thought of that way. Not all objects support events, however, but most objects do support properties and methods. ===Workshop=== The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [Appendix A], "Answers to Quizzes/Exercises." ===Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[ 1:''' | True or False: C# is a true object-oriented language. |- | align="right" | '''[ 2:''' | An attribute that defines the state of an object is called a what? |- | align="right" | '''[ 3:''' | To change the value of a property, the property must be referenced on which side of an equal sign? |- | align="right" | '''[ 4:''' | What is the term for when a new object is created from a template? |- | align="right" | '''[ 5:''' | An external function of an object (one that is available to code using an object) is called a what? |- | align="right" | '''[ 6:''' | True or False: A property of an object can be another object. |- | align="right" | '''[ 7:''' | A group of like objects is called what? |- | align="right" | '''[ 8:''' | What tool is used to explore the members of an object? Exercises # Create a new project and add text boxes and a button to the form. Write code that, when clicked, places the text in the first text box into the second text box. Hint: Use the Text property of the text box controls. # Modify the collections example in this hour to print the Height of all controls, rather than the name. | align="right" | [.htm [ch04.htm | align="right" | [03.htm#toppage Top] = Hour 4. Understanding Events = It's fairly easy to create an attractive interface for an application using C#'s integrated design tools. You can create beautiful forms that have buttons to click, text boxes in which to type information, picture boxes in which to view pictures, and many other creative and attractive elements with which users can interact. However, this is just the start of producing a C# program. In addition to designing an interface, you have to empower your program to perform actions in response to how a user interacts with the program and how Windows interacts with the program. This is accomplished by using events. In the previous hour, you learned about objects and their members�notably, properties and methods. In this hour, you'll learn about object events and event-driven programming, and you'll learn how to use events to make your applications responsive. The highlights of this hour include the following: * Understanding event-driven programming * Triggering events * Avoiding recursive events * Accessing an object's events * Working with event parameters * Creating event handlers * Dealing with orphaned events ---- === Understanding Event-Driven Programming === With "traditional" programming languages (often referred to as procedural languages), the program itself fully dictates what code is executed and when it's executed. When you start such a program, the first line of code in the program executes, and the code continues to execute in a completely predetermined path. The execution of code may, on occasion, branch and loop, but the execution path is completely controlled by the program. This often meant that a program was rather restricted in how it could respond to the user. For instance, the program might expect text to be entered into controls on the screen in a predetermined order, unlike in Windows, where a user can interact with different parts of the interface, often in any order the user chooses. ;New term:C# incorporates an event-driven programming model. Event-driven applications aren't bound by the constraints of procedural programs. Instead of the top-down approach of procedural languages, event-driven programs have logical sections of code placed within events. There is no predetermined order in which events occur, and often the user has complete control over what code is executed in an event-driven program by interactively triggering specific events, such as by clicking a button. An event, along with the code it contains, is called an event procedure. Triggering Events In the previous hour, you learned how a method is simply a function of an object. Events are a special kind of method; they are a way for objects to signal state changes that may be useful to clients of that object. Events are methods that can be called in special ways�usually by the user interacting with something on a form or by Windows itself, rather than being called from a statement in your code. There are many types of events and many ways to trigger those events. You've already seen how a user can trigger the Click event of a button by clicking it. User interaction isn't the only thing that can trigger an event, however. An event can be triggered in one of the following four ways: * Users can trigger events by interacting with your program. * Objects can trigger their own events, as needed. * The operating system (whichever version of Windows the user is running) can trigger events. * You can trigger events by calling them using C# code. Events Triggered Through User Interaction The most common way an event is triggered is by a user interacting with a program. Every form, and almost every control you can place on a form, has a set of events specific to its object type. For example, the Button control has a number of events, including the Click event, which you've already used in previous hours. The Click event is triggered, and then the code within the Click event executes when the user clicks the button. The Textbox control allows users to enter information using the keyboard, and it also has a set of events. The Textbox control has some of the same types of events as the Button control, such as a Click event, but the Textbox control also has events not supported by the Button control, such as a TextChanged event. The TextChanged event occurs each time the contents of the text box change, such as when the user types information into the text box. Because you can't enter text within a Button control, it makes sense that the Button control wouldn't have a TextChanged event. Each and every object that supports events supports a unique set of events. Each type of event has its own behavior, and it's important to understand the events with which you work. The TextChanged event, for instance, exhibits a behavior that may not be intuitive to a new developer because the event fires each time the contents of the text box change. If you were to type the following sentence into an empty text box: <pre>C# is very cool! </pre> the Change event would be triggered 16 times�once for each character typed�because each time you enter a new character, the contents of the text box are changed. Although it's easy to think that the Change event fires only when you commit your entry, such as by leaving the text box or pressing Enter, this is simply not how it works. Again, it's important to learn the nuances and the exact behavior of the events you're using. If you use events without fully understanding how they work, your program may exhibit unusual, and often very undesirable, results. ;Book - Pencil:Triggering events (which are just a type of procedure) using C# code is discussed in detail in [Hour 11], "Creating and Calling Methods." Events Triggered by an Object Sometimes an object triggers its own events. The most common example of this is the Timer control's Timer event. The Timer control doesn't appear on a form when the program is running; it appears only when you're designing a form. The Timer control's sole purpose is to trigger its Timer event at an interval that is specified in its Interval property. By setting the Timer control's Interval property, you control the interval, in milliseconds, when the Timer event executes. After firing its Timer event, a Timer control resets itself and again fires its Timer event when the interval has passed. This occurs until the interval is changed, the Timer control is disabled, or the Timer control's form is unloaded. A common use of timers is to create a clock on a form. You can display the time in a label and update the time at regular intervals by placing the code to display the current time in the Timer event. You'll create a project with a Timer control in [Hour 8], "Advanced Controls." ===Events Triggered by the Operating System=== Finally, Windows can trigger certain events within your program �events that you may not even know exist. For example, when a form is fully or partially obstructed by another window, the program needs to know when the offending window is resized or moved so that it can repaint the area of its window that's been hidden. Windows and C# work together in this respect. When the obstructing window is moved or resized, Windows tells C# to repaint the form, which C.htm# does. This also causes C# to raise the form's Paint event. You can place code into the Paint event to create a custom display for the form, such as drawing shapes on the form using a Graphics object. That way, every time the form repaints itself, your custom drawing code executes. ===Avoiding Recursive Events === ;New term:You must make sure never to cause an event to endlessly trigger itself. An event that continuously triggers itself is called a recursive event. To illustrate a situation that causes a recursive event, think of the text box's TextChanged event discussed earlier. The TextChanged event fires every time the text within the text box changes. Placing code into the TextChanged event that alters the text within the text box would cause the Change event to be fired again, which could result in an endless loop. Recursive events terminate when Windows returns a StackOverFlow exception (see [Figure 4.1]), indicating that Windows no longer has the resources to follow the recursion. Figure 4.1. Recursive events eventually exhaust Windows's resources until an exception (error) occurs. [[Image:04fig01.gif|376px|graphics/04fig01.gof]] ;Bulb: When you receive a StackOverFlow exception, you should look for a recursive event as the culprit. Recursive events can involve more than one event in the loop. For example, if Event A triggers Event B, which in turn triggers Event A, you can have recursion of the two events. Recursion can take place among a sequence of many events, not just one or two. ;Book - Pencil:Uses for recursive procedures actually exist, such as when you are writing complex math functions. For instance, recursive events are often used to compute factorials. However, when you purposely create a recursive event, you must ensure that the recursion isn't infinite. Accessing an Object's Events Accessing an object's events is simple, and if you've been following the examples in this book, you've already accessed a number of objects' default events. To access all of an object's events, you can use the Events icon (the lightning bolt) in the Properties window. You're now going to create a project to get the feel for working with events. Start C# and create a new Windows Application project titled View Events, and then follow these steps: # Use the toolbox to add a picture box to the form. # Change the name of the picture box to picText. # Click the Events button on the Properties window toolbar (the lightning bolt icon). Your screen should look like the one in [Figure 4.2]. Notice that the Properties window now lists all the events for the selected object; in your case, it is the picText PictureBox object. Figure 4.2. Double�click an event in the Properties window to create the desired event. When you access a control's events, the default event for that type of control is selected. As you can see, the Click event is the default for a PictureBox. Scroll through the picText events and select the MouseDown event. Double-click the word MouseDown and C# will create the MouseDown event procedure and position you within it, ready to enter code (see [Figure 4.3]). Figure 4.3. C# creates an empty event procedure when you select an object's event for the first time. ;New term:The code statement above the cursor is the event declaration. An event declaration is a statement that defines the structure of an event handler. Notice that this event declaration contains the name of the object, an underscore character (_), and then the event name. Following the event name is a set of parentheses. The items within the parentheses are called parameters, which is the topic of the next section. This is the standard declaration structure for an event procedure. The full event declaration for the Click event is the following: <pre>private void picText_MouseDown(object sender, _ System.Windows.Forms.MouseEventArgs e) </pre> ;Book - Pencil:The words Private and Void are reserved words that indicate the scope and type of the method. Scope and type are discussed in [Hour 11]. Working with Event Parameters ;New term:As mentioned previously, the items within the parentheses of an event declaration are called parameters. An event parameter is a variable that is created and assigned a value by C#. These parameter variables are used to get, and sometimes set, relevant information within the event. Multiple parameters within an event procedure are always separated by commas. A parameter contains data that relates to the event. This data may be a number, text, an object�almost anything. As you can see, the MouseDown event has two parameters. When the Click event procedure is triggered, C# automatically creates the parameter variables and assigns them values for use in this one execution of the event procedure; the next time the event procedure occurs, the values in the parameters are reset. You use the values in the parameters to make decisions or perform operations in your code. The MouseDown event of a form has the following parameters: <pre>object sender </pre> and <pre>System.Windows.Forms.MouseEventArgs e </pre> The first word identifies the type of data the parameter contains, followed by the name of the parameter. The first parameter, sender, holds a generic object. Object parameters can be any type of object supported by C#. It's not critical that you understand data types right now, just that you're aware that different parameter variables contain different types of information. Some contain text, others contain numbers, and still others (many others) contain objects. In the case of the sender parameter, it will always hold a reference to the control causing the event. ;New term:The sender parameter returns a reference to the control that causes the event. It's often best to use the sender parameter rather than referencing the control by name, so that if you change the name of the control, you won't have to update the code. Also, by referencing the sender object, the code becomes portable; you can copy and paste it into the event of a different control of the same type, and the code should work without modification. The e parameter, on the other hand, is where the real action is with the MouseDown event. The e parameter also holds an object; in this case the object is of the type <tt>System.WinForms.MouseEventArgs</tt>. This object has properties that relate to the MouseDown_event. To see them, type in the following code, but don't press anything after entering the dot (period): <pre>e. </pre> When you press the period, you'll get a drop-down list showing you the members (properties and methods) of the e object (see [Figure 4.4]). Using the e object, you can determine a number of things about the occurrence of the MouseDown event. I've listed some of the more interesting items in [04.htm#ch04table01 Table 4.1]. Figure 4.4. IntelliSense drop-down lists alleviate the need for memorizing the makeup of hundreds of objects. {| cellspacing="0" cellpadding="1" border="1"|+ Table 4.1. Commonly used members of <tt>System.WinForms.MouseEventArgs</tt> |- | Property | Description |- | <tt>Clicks</tt> | Returns the number of times the user clicked the mouse button. |- | <tt>Button</tt> | Returns the button that was clicked (left, middle, right). |- | <tt>X</tt> | Returns the horizontal coordinate at which the pointer was located when the user clicked. |- | <tt>Y</tt> | Returns the vertical coordinate at which the pointer was located when the user clicked. ;Book - Pencil:Each time the event occurs, the parameters are initialized by C# so that they always reflect the current occurrence of the event. Each event has parameters specific to it. For instance, the <tt>TextChanged</tt> event returns parameters different from the <tt>MouseDown</tt> event. As you work with events�and you'll work with a lot of events�you'll quickly become familiar with the parameters of each event type. You'll learn how to create parameters for your own methods in [Hour 11]. ===Deleting an Event Handler=== Deleting an event handler involves more than just deleting the event procedure. When you add a new event handler to a class, C# automatically creates the event procedure for you and positions you to enter code within the event. However, C# does a little bit more for you "under the covers" to hook the event procedure to the control. It does this by creating a code statement in the hidden code of the class. Ordinarily, you don't have to worry about this statement. However, when you delete an event procedure, C# doesn't automatically delete the hidden code statement, and your code won't compile. The easiest way to correct this is to run the project; when C# encounters the error, it will show you the offending statement, which you can delete. Try this now: # Delete the MouseDown procedure (don't forget to delete the open and close brackets of the procedure, as well as any code within them). This deletes the procedure. # Press F5 to run the project. You'll receive a message that a build error has occurred. Click No to return to the code editor. # A task for the error has been created in the Task List. Double-click the task and C# will take you to the offending statement. It will read: <pre>this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown); </pre> # Delete this statement, and now your code will compile and run. Whenever you delete an event procedure, you will have to delete the corresponding statement that links the procedure to its object before the code will run. Building an Event Example Project You're now going to create a very simple project in which you'll use the event procedures of a text box. Specifically, you're going to write code to display a message when a user presses a mouse button on the text box, and you'll write code to clear the text box when the user releases the button. You'll be using the e parameter to determine which button the user has pressed. ===Creating the User Interface=== Create a new Windows application titled Events Example. Change the form's Text property to Events Demo. Next, add a text box to the form by double-clicking the TextBox tool in the toolbox. Set the properties of the text box as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>txtEvents</tt> |- | <tt>Location</tt> | <tt>48</tt>,<tt>120</tt> |- | <tt>Size</tt> | <tt>193</tt>,<tt>20</tt> |- | <tt>Text</tt> | <tt>Click Me!</tt> |} The only other control you need on your form is a label. Label controls are used to display static text; users cannot type text into a label. Add a new label to your form now by double-clicking the Label tool in the toolbox and then setting the Label control's properties as follows: {| cellspacing="0" cellpadding="1" border="1" |- | Property | Value |- | <tt>Name</tt> | <tt>lblMessage</tt> |- | <tt>Location</tt> | <tt>48</tt>,<tt>152</tt> |- | <tt>Size</tt> | <tt>192</tt>,<tt>16</tt> |- | <tt>Text</tt> | <tt>(</tt><tt>make blank</tt><tt>)</tt> |- | <tt>TextAlign</tt> | <tt>MiddleCenter</tt> |} Your form should now look like the one in [Figure 4.5]. It's a good idea to save frequently, so save your project now by clicking the Save All button on the toolbar. Figure 4.5. A Label control that has no value in its Text property can be hard to see unless selected. ===Creating Event Handlers=== The interface for the Events Example project is complete�on to the fun part. You're now going to create the event procedures that empower your program to do something. The event that we're interested in first is the <tt>MouseDown</tt> event. Select the TextBox on your design form, and then click the Events icon on the Properties window toolbar. The default event for text boxes is the TextChanged event, so it's the one now selected. You're not interested in the TextChanged event at this time, however. Scroll through the event list for the MouseDown event. Double-click MouseDown; C# then creates a new MouseDown event procedure for the text box (see [Figure 4.6]). . Enter the following code into the MouseDown event procedure: <pre>switch(e.Button) { case MouseButtons.Left: lblMessage.Text = "You are pressing the left button!"; break; case MouseButtons.Right: lblMessage.Text = "You are pressing the right button!"; break; case MouseButtons.Middle: lblMessage.Text = "You are pressing the middle button!"; break; } </pre> The Switch construct, which is discussed in detail in [Hour 14], "Making Decisions in C# Code," compares the value of an expression to a list of possible values. In this instance, the expression is the value of e.Button (the Button property of the object e). When this code executes, the expression is compared to each Case statement in the order in which the statements appear. If and when a match is found, the code immediately following the Case statement that was matched gets executed. Therefore, the code you wrote looks at the value of e.Button and compares it to three values, one at a time. When the Switch construct determines which button has been pressed, it displays a message about it in the Label control. ;Book - Pencil:In a more robust application, you would probably perform more useful and more complicated code. For instance, you may want to display a custom pop-up menu when the user clicks with the right button and execute a specific function when the user clicks with the middle button. All this is possible, and more. The nice thing about objects is that you don't have to commit every detail about them to memory. For example, you don't need to memorize the return values for each type of button (who wants to remember MouseButtons.Left anyway?). Just remember that the e parameter contains information about the event. When you type e and press the period, the IntelliSense drop-down list appears and shows you the members of e, one of which is Button. Don't feel overwhelmed by all the object references you'll encounter throughout this book. Simply accept that you can't memorize them all, nor do you need to; you'll learn the ones that are important, and you'll use Help when you're stuck. Also, after you know the parent object in a situation, such as the e object in this example, it's easy for you to determine the objects and members that belong to it by using the IntelliSense drop-down lists. You're now going to add code to the MouseUp event to clear the label's Text property when the user releases the button. First, you'll need to create the MouseUp event procedure. To do this, return to the Form Design view (click the Form1.cs[Design] tab). The Properties should still have the txtEvents object's events listed. If the events aren't shown in the Properties window, select txtEvents from the drop-down list box in the Properties window and click the events icon. Locate and double-click the MouseUp event from the events list. All you're going to do in the MouseUp_event is clear the label. Enter the following code: <pre>lblMessage.Text = ""; </pre>===Testing Your Events Project=== Run your project now by pressing F5. If you entered all the code correctly and you don't receive any errors, your form will be displayed as shown in [Figure 4.7]. Figure 4.7. A simple but functional example. ;Book - Pencil:Remember that C# is case sensitive. Entering only one character in the wrong case will cause your project to fail to compile. Click the text box with the left mouse button and watch the label. It will display a sentence telling you which button has been clicked. When you release the button, the text is cleared. Try this with the middle and right buttons, as well. When you click the text box with the right button, Windows displays the standard shortcut menu for text boxes. When this menu appears, you have to select something from it or click somewhere off the menu to trigger the MouseUp event. In [Hour 9], "Adding Menus and Toolbars to Forms," you'll learn how to add your own shortcut menus to forms and controls. When you're satisfied that your project is behaving as it should, from the Debug menu choose Stop Debugging to stop the project (or click the Close button on your form), and then save your work by clicking Save All on the toolbar. ===Summary=== In this hour, you learned about event-driven programming, including what events are, how to trigger events, and how to avoid recursive events. In addition, you've learned how to access an object's events and how to work with parameters. Much of the code you'll write will execute in response to an event of some kind. By understanding how events work, including being aware of the available events and their parameters, you'll be able to create complex C# programs that react to a multitude of user and system input. ===Q&A=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''Q1:''' | Is it possible to create custom events for an object? |- | align="right" | ''' A1: ''' | You can create custom events for objects created from your custom classes (see [Hour 17], "Designing Objects with Classes"), but you cannot create custom events for existing C# objects such as forms and controls (without using some seriously advanced object-oriented techniques that are beyond the scope of this book). |- | align="right" | '''Q2:''' | Is it possible for objects that don't have an interface to support events? |- | align="right" | ''' A2: ''' | Yes. However, to use the events of such an object, the object variable must be dimensioned a special way or the events aren't available. This gets a little tricky and is beyond the scope of this book. If you have an object in code that supports events, look in Help for the keyword WithEvents for information on how to use such events. | align="right" | > ===Workshop=== The Workshop is designed to help you anticipate possible questions, review what you've learned, and get you thinking about how to put your knowledge into practice. The answers to the quiz are in [Appendix A],"Answers to Quizzes/Exercises." ===Quiz=== {| cellspacing="16" cellpadding="0" border="0" |- | align="right" | '''[ 1:''' | Name three things that can cause events to occur. |- | align="right" | '''[ 2:''' | True or False: All objects support the same set of events. |- | align="right" | '''[ 3:''' | What is the default event type for a button? |- | align="right" | '''[ 4:''' | The act of an event calling itself in a loop is called what? |- | align="right" | '''[ 5:''' | What is the easiest way to access a control's default event handler? |- | align="right" | '''[ 6:''' | All control events pass a reference to the control causing the event. What is the name of the parameter that holds this reference? Exercises # Create a project with a single text box. In the Resize event of the form, show the Width of the form in the text box. # Create a project with a form and a text box. Add code to the TextChange event to cause a recursion when the user types in text. Hint: Concatenate a character to the end of the user's text using a statement such as <tt>txtMyTextBox.Text = String. Concat(this. txtMyTextBox.Text,"a");</tt> | align="right" | [.htm [part02.htm | align="right" | [04.htm#toppage Top] 9xb8kuwdiw2hsaa2j01p6ay40381rtt User:Foxall/2 2 2179 5910 2007-06-20T02:56:35Z Moncur 24 Bog cusub: {{/05}} {{/06}} {{/07}} {{/08}} {{/09}} {{/10}} 5910 wikitext text/x-wiki {{/05}} {{/06}} {{/07}} {{/08}} {{/09}} {{/10}} k95pncdauiqr18gnrscqt1zvdrd7wij User:Foxall/3 2 2180 5911 2007-06-20T02:56:36Z Moncur 24 Bog cusub: {{/11}} {{/12}} {{/13}} {{/14}} {{/15}} {{/16}} {{/17}} {{/18}} 5911 wikitext text/x-wiki {{/11}} {{/12}} {{/13}} {{/14}} {{/15}} {{/16}} {{/17}} {{/18}} th15d4bpayf1kplq2l0fapmodjajtsj User:Foxall/4 2 2181 5912 2007-06-20T02:56:47Z Moncur 24 Bog cusub: {{/19}} {{/20}} {{/21}} 5912 wikitext text/x-wiki {{/19}} {{/20}} {{/21}} 0syfmpf8n6s6ld0cyje750ficqep5kb User:Foxall/5 2 2182 5913 2007-06-20T02:56:52Z Moncur 24 Bog cusub: {{/22}} {{/23}} {{/24}} 5913 wikitext text/x-wiki {{/22}} {{/23}} {{/24}} s02bgssg5hzsygi6xd9qvjx31gpvia5 User talk:Moncur/monobook.css 3 2183 5957 5956 2007-06-20T04:14:12Z Moncur 24 5957 wikitext text/x-wiki =2 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa= ==2 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa== ===2 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa=== ===4 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa === ===5 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa=== ====2 aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaa ==== 58oq9daou19rnwlqxjvwe23qg9co06k User:Foxall/monobook.css 2 2184 6045 6044 2007-06-21T22:38:18Z Foxall 27 6045 css text/css @import "http://hu.wikipedia.org/w/index.php?title=MediaWiki:Monobook.css&action=raw"; #content h1, h2, h3, h4, h5, h6 { border-bottom:1px solid #AAAAAA; } #bodyContent { padding-left:5%; padding-right:15%; } #content { letter-spacing: 0px; font-family:verdana; } #content p { margin-left:2em; margin-right:2em; text-align:justify; font-size:16px; text-indent: 2em; line-height:2em; } #content tt { font-size:18px; color:darkred; letter-spacing: 0px; font-weight:bold; } #content pre {font-size:16px; color:darkred; letter-spacing: 0px; line-height:1.4em; width:auto; margin-left:2em; margin-right:2em; } #content ul { margin-left:2em; margin-right:2em; } #content ol{ margin-left:2em; margin-right:2em; } #content li { text-align:justify; margin-left:2em; margin-right:2em; line-height:2em; font-size:15px; } #content dl { line-height:2em; font-size:15px; } #content dd { margin-left:20%; margin-right:20%; text-align:justify; } #mw-dismissable-notice {display:none;} #footer {visibility: hidden;} #editpage-copywarn {display:none;} #editpage-copywarn2 {display:none;} #editpage-copywarn3 {display:none;} #content table { border:1px solid grey; border-collapse:collapse; margin-left:auto; margin-right:auto; width:50%; } #toc table { width:60%; margin-left:1em; border:1px solid #dedede; } #toc li { word-wrap:none !important; margin-left:0em; margin-right:0em; line-height:1.5em; font-size:15px; } #toc .toctext {white-space: nowrap;} #toc a {white-space: nowrap;} //#content pre {white-space: normal;} d1swxdeznxxj48yy6ufimjd3syf12c6 User:Foxall/script.js 2 2185 5996 2007-06-21T15:46:38Z Foxall 27 Bog cusub: document.write('<style type="text/css">'); document.write('#p-logo {display:none;}'); document.write('</style>'); document.write('<div style="z-index: 3; position:absolute; top:0px; left... 5996 javascript text/javascript document.write('<style type="text/css">'); document.write('#p-logo {display:none;}'); document.write('</style>'); document.write('<div style="z-index: 3; position:absolute; top:0px; left:20px; width: 155px; height: 155px; overflow: visible;">'); document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="110" height="140" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab%23version=7,0,0,0" style="float:left;">'); document.write('<param name="bgcolor" value="ffffff" />'); document.write('<param name="movie" value="http://panther1.last.fm/widgets/radio/11.swf" />'); document.write('<param name="quality" value="high" />'); document.write('<param name="allowScriptAccess" value="sameDomain" />'); document.write('<param name="FlashVars" value="lfmMode=radio&amp;radioURL=globaltags%2Fdancehall&amp;title=Wikipédia+&amp;theme=red&amp;autostart=&amp;lang=ru" />'); document.write('<embed src="http://panther1.last.fm/widgets/radio/11.swf" type="application/x-shockwave-flash" name="widgetPlayer" bgcolor="ffffff" width="110" height="140" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="lfmMode=radio&amp;radioURL=globaltags%2Fdub&amp;title=Wikipédia+&amp;theme=red&amp;autostart=&amp;lang=ru" allowScriptAccess="sameDomain">'); document.write('</embed>'); document.write('</object>'); document.write('</div'); igguj2dqai5ccmzbi1z5ih8ustff6v3 User:Foxall/wiked.js 2 2186 6086 6085 2007-06-23T17:36:22Z Foxall 27 6086 javascript text/javascript /* {{en:User:Cacycle/wikEd_template}} <pre clear="all"><nowiki> */ // version info var wikEdProgramVersion = '0.9.37b'; var wikEdProgramDate = 'May 26, 2007'; /* == wikEd == A full-featured JavaScript in-browser editor for Wikipedia and other MediaWiki edit pages The program works currently ONLY for Mozilla-based browsers (Mozilla, Mozilla Firefox, and Mozilla SeaMonkey) Homepage: http://en.wikipedia.org/wiki/User:Cacycle/wikEd Author: Cacycle (http://en.wikipedia.org/wiki/User:Cacycle) License: This code has been released into the public domain This file has to be saved as UTF-8 in your editor to preserve Unicode characters like ♥ (heart) == Installation == * Copy the following short block of code to [[User:YOURUSERNAME/monobook.js]] * Press SHIFT-Reload to update to the newest version * PLEASE DO NOT COPY THE WHOLE PROGRAM (in order to get the frequent updates and bug fixes and to save disk space) * See http://en.wikipedia.org/wiki/User:Cacycle/wikEd for detailed instructions // ---- START INSTALLATION CODE ---- // install [[User:Cacycle/wikEd]] in-browser text editor document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js' + '&action=raw&ctype=text/javascript"></script>'); // ---- END INSTALLATION CODE ---- */ // // user configurable variables // // user readable texts, copy changes to http://en.wikipedia.org/wiki/User:Cacycle/wikEd_international_en.js, also defined in wikEdDiff.js var wikEdText = wikEdText || []; // WikedInitText: define built-in user interface texts function WikedInitText() { WikEdInitObject(wikEdText, { // logo 'wikEdLogo alt': 'wikEd', 'wikEdLogo title': 'wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable', 'wikEdLogo error alt': 'wikEd error', 'wikEdLogo error title': 'Loading error - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable', 'wikEdLogo browser alt': '(wikEd)', 'wikEdLogo browser title': 'Browser not supported - wikEd {wikEdProgramVersion} ({wikEdProgramDate})', 'wikEdLogo disabled alt': '(wikEd)', 'wikEdLogo disabled title': 'Disabled - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to enable', // top jumper 'wikEdScrollToEdit4 alt': 'Scroll to edit', 'wikEdScrollToEdit4 title': 'Scroll to edit field', // button bar grip titles 'wikEdGripFormat title': 'Formatting buttons (click to hide or show)', 'wikEdGripCustom1 title': 'Custom buttons (click to hide or show)', 'wikEdGripFind title': 'Find buttons (click to hide or show)', 'wikEdGripFix title': 'Fixing buttons (click to hide or show)', 'wikEdGripCustom2 title': 'Custom buttons (click to hide or show)', 'wikEdGripControl title': 'wikEd control buttons (click to hide or show)', // formatting buttons, top row 'wikEdUndo alt': 'Undo', 'wikEdUndo title': 'Undo', 'wikEdRedo alt': 'Redo', 'wikEdRedo title': 'Redo', 'wikEdBold title': 'Bold text', 'wikEdItalic alt': 'Italic', 'wikEdItalic title': 'Italic text', 'wikEdUnderline alt': 'Underline', 'wikEdUnderline title': 'Underline text', 'wikEdStrikethrough alt': 'Strikethrough', 'wikEdStrikethrough title': 'Strikethrough text', 'wikEdNowiki alt': 'Nowiki', 'wikEdNowiki title': 'Nowiki markup text', 'wikEdSuperscript alt': 'Superscript', 'wikEdSuperscript title': 'Superscript text', 'wikEdSubscript alt': 'Subscript', 'wikEdSubscript title': 'Subscript text', 'wikEdRef alt': 'Ref', 'wikEdRef title': 'In-text reference', 'wikEdCase alt': 'Case', 'wikEdCase title': 'Toggle between lowercase, uppercase first, and uppercase', 'wikEdRedirect alt': 'Redirect', 'wikEdRedirect title': 'Create redirect, deletes whole text', 'wikEdUndoAll alt': 'Undo all', 'wikEdUndoAll title': 'Undo all changes', 'wikEdRedoAll alt': 'Redo all', 'wikEdRedoAll title': 'Redo all changes', // formatting buttons, bottom row 'wikEdWikiLink alt': 'Link', 'wikEdWikiLink title': 'Wiki link', 'wikEdWebLink alt': 'Weblink', 'wikEdWebLink title': 'External weblink', 'wikEdHeading alt': 'Heading', 'wikEdHeading title': 'Increase heading levels (shift-click: decrease)', 'wikEdBulletList alt': 'Bullet list', 'wikEdBulletList title': 'Increase bulleted list level (shift-click: decrease)', 'wikEdNumberList alt': 'Number list', 'wikEdNumberList title': 'Increase numbered list level (shift-click: decrease)', 'wikEdIndentList alt': 'Indent list', 'wikEdIndentList title': 'Increase indention (shift-click: decrease)', 'wikEdDefinitionList alt': 'Def list', 'wikEdDefinitionList title': 'Definition list', 'wikEdImage alt': 'Image', 'wikEdImage title': 'Image', 'wikEdTable alt': 'Table', 'wikEdTable title': 'Table', 'wikEdReferences alt': 'References', 'wikEdReferences title': 'References location (shift-click: small Wikipedia style)', 'wikEdWikify alt': 'Wikify', 'wikEdWikify title': 'Convert pasted content to wiki code, update highlighting', 'wikEdTextify alt': 'Textify', 'wikEdTextify title': 'Convert pasted content to plain text, update highlighting', // find and replace buttons, top row 'wikEdFindAll alt': 'Find all', 'wikEdFindAll title': 'Find all matches', 'wikEdFindPrev alt': 'Find prev', 'wikEdFindPrev title': 'Find previous match', 'wikEdFindSelect title': 'Select a previous search or jump to a heading', 'wikEdFindNext alt': 'Find next', 'wikEdFindNext title': 'Find next match (shift-click: get selection)', 'wikEdJumpPrev alt': 'Selected prev', 'wikEdJumpPrev title': 'Find the selected text backwards', 'wikEdJumpNext alt': 'Selected next', 'wikEdJumpNext title': 'Find the selected text forwards', // find and replace buttons, bottom row 'wikEdReplaceAll alt': 'Replace all', 'wikEdReplaceAll title': 'Replace all matches in whole text or selection', 'wikEdReplacePrev alt': 'Replace prev', 'wikEdReplacePrev title': 'Replace previous match', 'wikEdReplaceSelect title': 'Select a previous replacement', 'wikEdReplaceNext alt': 'Replace next (shift-click: get selection)', 'wikEdReplaceNext title': 'Replace next match', 'wikEdCaseSensitive alt': 'Case sensitive', 'wikEdCaseSensitive title': 'Search is case sensitive', 'wikEdRegExp alt': 'RegExp', 'wikEdRegExp title': 'Search field is a regular expression', 'wikEdFindAhead alt': 'Find ahead', 'wikEdFindAhead title': 'Find ahead as you type (case-insensitive non-regexp search)', // fix buttons, top row 'wikEdFixBasic alt': 'Fix basic', 'wikEdFixBasic title': 'Fix blanks and empty lines, also done by other fixing functions', 'wikEdFixHtml alt': 'Fix html', 'wikEdFixHtml title': 'Fix html to wikicode', 'wikEdFixCaps alt': 'Fix caps', 'wikEdFixCaps title': 'Fix caps in headers and lists', 'wikEdfixUnicode alt': 'Fix Unicode', 'wikEdfixUnicode title': 'Fix Unicode character representations', 'wikEdFixAll alt': 'Fix all', 'wikEdFixAll title': 'Fix basic, html, capitalization, and Unicode', 'wikEdFixRegExTypo alt': 'Fix typos', 'wikEdFixRegExTypo title': 'Fix typos using the AutoWikiBrowser RegExTypoFixer rules', // fix buttons, bottom row 'wikEdFixDashes alt': 'Fix dashes', 'wikEdFixDashes title': 'Fix dashes', 'wikEdFixPunct alt': 'Fix punctuation', 'wikEdFixPunct title': 'Fix spaces before punctuation', 'wikEdFixMath alt': 'Fix math', 'wikEdFixMath title': 'Fix math', 'wikEdFixChem alt': 'Fix chem', 'wikEdFixChem title': 'Fix chemical formulas', 'wikEdFixUnits alt': 'Fix units', 'wikEdFixUnits title': 'Fix units', // wikEd control buttons, top row 'wikEdRefHide alt': 'Hide <ref>', 'wikEdRefHide title': 'Toggle <ref> tag hiding', 'wikEdTextZoom alt': 'Text zoom', 'wikEdTextZoom title': 'Text zoom cycling (shift-click: reverse)', 'wikEdClearHistory alt': 'Clear history', 'wikEdClearHistory title': 'Clear the find, replace, and summary history', 'wikEdScrollToPreview alt': 'Scroll to preview', 'wikEdScrollToPreview title': 'Scroll to preview field', 'wikEdScrollToEdit alt': 'Scroll to edit', 'wikEdScrollToEdit title': 'Scroll to edit field', // wikEd control buttons, bottom row 'wikEdUseWikEd alt': 'Use wikEd', 'wikEdUseWikEd title': 'Toggle between classic text area and wikEd', 'wikEdHighlightSyntax alt': 'Syntax', 'wikEdHighlightSyntax title': 'Toggle automatic syntax highlighting', 'wikEdSource alt': 'Source', 'wikEdCloseToolbar title': 'Close the standard non-wikEd toolbar', 'wikEdCloseToolbar alt': 'Close toolbar', 'wikEdSource title': 'Show the source code for testing purposes', 'wikEdUsing alt': 'Using', 'wikEdUsing title': 'Automatically add \'\'…using wikEd\'\' to summaries', 'wikEdDiff alt': 'wikEdDiff', 'wikEdDiff title': 'Toggle automatic improved diff view', 'wikEdFullScreen alt': 'Fullscreen', 'wikEdFullScreen title': 'Toggle the fullscreen mode', // summary buttons 'wikEdClearSummary alt': 'Clear summary', 'wikEdClearSummary title': 'Clear the summary field', 'wikEdSummarySelect title': 'Select a previous summary', 'wikEdPresetSummary': [ '/* */ ', 'copyedit', 'reply', 'article created', 'intro rewrite', 'linkfix', 'fixing typos', 'removing linkspam', 'reverting test', 'reverting vandalism', 'formatting source text', '{wikEdUsing}' ], 'wikEdSummaryUsing': '…using [[en:User:Cacycle/wikEd|wikEd]]', // submit buttons 'wikEdLocalPreviewImg alt': 'Preview below', 'wikEdLocalPreview title': 'Show preview below', 'wikEdLocalDiffImg alt': 'Changes below', 'wikEdLocalDiff title': 'Show current changes below', 'wikEdHelpPageLink': ' | <a href="http://en.wikipedia.org/wiki/User:Cacycle/wikEd_help" target="helpwindow">wikEd help</a>', // preview and changes buttons, top 'wikEdClose alt': 'Close', 'wikEdClose title': 'Close preview box', 'wikEdScrollToPreview2 alt': 'Scroll to preview', 'wikEdScrollToPreview2 title': 'Scroll to preview field', 'wikEdScrollToEdit2 alt': 'Scroll to edit', 'wikEdScrollToEdit2 title': 'Scroll to edit field', // preview and changes buttons, bottom 'wikEdClose alt': 'Close', 'wikEdClose title': 'Close preview box', 'wikEdScrollToPreview3 alt': 'Scroll to preview', 'wikEdScrollToPreview3 title': 'Scroll to preview field', 'wikEdScrollToEdit3 alt': 'Scroll to edit', 'wikEdScrollToEdit3 title': 'Scroll to edit field', // formatting functions 'image filename': 'filename', 'image width': 'width', 'table caption': 'caption', 'table heading': 'heading', 'table cell': 'cell', 'redirect article link': 'article link', // fixing functions 'External links': 'External links', 'See also': 'See also', 'References': 'References', // language specific wiki code 'wikicode Image': 'Image', 'wikicode Category': 'Category', 'wikicode Template': 'Template', 'wikEdReferencesSection': '\n== References ==\n\n<div class="references-small">\n<references/>\n</div>\n', // shortened button texts 'shortenedPreview': 'Preview', 'shortenedChanges': 'Changes', // follow link popup 'followLink': '(Ctrl-click)' }); } // use local copies of images for testing (set to true in local copy of edit page), also defined in wikEdDiff.js if (typeof(wikEdUseLocalImages) == 'undefined') { var wikEdUseLocalImages = false; } // path to local images for testing, also defined in wikEdDiff.js var wikEdImagePathLocal = wikEdImagePathLocal || 'file:///D:/wikEd/images/'; // path to images, also defined in wikEdDiff.js var wikEdImagePath = wikEdImagePath || 'http://upload.wikimedia.org/wikipedia/commons/'; // image filenames, also defined in wikEdDiff.js var wikEdImage = wikEdImage || []; // WikedInitImage: define built-in image URLs function WikedInitImage() { WikEdInitImage(wikEdImage, { 'blank': '5/51/WikEd_blank.png', 'bold': '5/59/WikEd_bold.png', 'browser': '0/07/WikEd_disabled.png', 'bulletList': '6/62/WikEd_bullet_list.png', 'case': 'a/aa/WikEd_case.png', 'caseSensitive': '0/0d/WikEd_case_sensitive.png', 'clearHistory': 'c/c8/WikEd_clear_history.png', 'clearSummary': '2/2c/WikEd_clear_summary.png', 'close': '9/97/WikEd_close.png', 'closeToolbar': '1/1d/WikEd_close_toolbar.png', 'ctrl': '1/10/WikEd_ctrl.png', 'definitionList': 'f/f5/WikEd_definition_list.png', 'diff': 'd/db/WikEd_diff.png', 'disabled': '0/07/WikEd_disabled.png', 'dummy': 'c/c5/WikEd_dummy.png', 'error': '3/3e/WikEd_error.png', 'findAhead': '3/34/WikEd_find_ahead.png', 'findAll': '7/75/WikEd_find_all.png', 'findNext': 'a/ad/WikEd_find_next.png', 'findPrev': 'f/f5/WikEd_find_prev.png', 'fixAll': '8/86/WikEd_fix_all.png', 'fixBasic': '3/30/WikEd_fix_basic.png', 'fixCaps': '0/00/WikEd_fix_caps.png', 'fixUnicode': 'd/d4/WikEd_fix_unicode.png', 'fixChem': 'e/e7/WikEd_fix_chem.png', 'fixDash': 'e/e5/WikEd_fix_dash.png', 'fixHtml': '0/05/WikEd_fix_html.png', 'fixMath': '3/3f/WikEd_fix_math.png', 'fixPunct': 'd/db/WikEd_fix_punct.png', 'fixRegExTypo': '9/94/WikEd_fix_reg-ex-typo.png', 'fixUnits': '6/69/WikEd_fix_units.png', 'textZoom': '7/71/WikEd_font_size.png', 'fullScreen': 'd/d3/WikEd_fullscreen.png', 'getFind': '9/96/WikEd_get_selection.png', 'grip': 'a/ad/WikEd_grip.png', 'heading': '0/07/WikEd_heading.png', 'highlightSyntax': '6/67/WikEd_syntax.png', 'image': '3/37/WikEd_image.png', 'indentList': '7/7a/WikEd_indent_list.png', 'italic': 'd/d4/WikEd_italic.png', 'jumpNext': '5/54/WikEd_jump_next.png', 'logo': '6/67/WikEd_logo.png', 'nowiki': '5/5a/WikEd_nowiki.png', 'numberList': '3/3b/WikEd_number_list.png', 'jumpPrev': 'c/c7/WikEd_jump_prev.png', 'preview': '3/31/WikEd_preview.png', 'redirect': 'f/fa/WikEd_redirect.png', 'redo': 'd/d7/WikEd_redo.png', 'ref': 'b/ba/WikEd_ref.png', 'refHide': '0/0b/WikEd_ref_hide.png', 'references': '6/66/WikEd_references.png', 'redoAll': '2/2d/WikEd_redo_all.png', 'regExp': '6/6a/WikEd_regexp.png', 'replaceAll': '2/2a/WikEd_replace_all.png', 'replaceNext': 'b/b0/WikEd_replace_next.png', 'replacePrev': 'a/a1/WikEd_replace_prev.png', 'scrollToEdit': '1/13/WikEd_align_top.png', 'scrollToPreview': '3/37/WikEd_align_preview.png', 'scrollToEditDown': 'a/a8/WikEd_align_down.png', 'scrollToPreviewDown': '5/58/WikEd_align_preview_down.png', 'source': '0/02/WikEd_source.png', 'strikethrough': '0/06/WikEd_strikethrough.png', 'subscript': '9/9e/WikEd_subscript.png', 'superscript': 'b/bf/WikEd_superscript.png', 'tab': 'e/e7/WikEd_tab.png', 'table': 'b/bd/WikEd_table.png', 'textify': 'c/cd/WikEd_textify.png', 'underline': '2/21/WikEd_underline.png', 'undo': 'e/e6/WikEd_undo.png', 'undoAll': '0/08/WikEd_undo_all.png', 'unknown': '8/8a/WikEd_unknown.png', 'useWikEd': '6/67/WikEd_logo.png', 'using': 'e/e0/WikEd_using.png', 'webLink': '1/16/WikEd_weblink.png', 'wikEdDiff': 'c/c6/WikEdDiff.png', 'wikify': '9/9f/WikEd_wikify.png', 'wikiLink': '2/21/WikEd_wikilink.png' }); } // edit-frame css rules var wikEdFrameCSS = wikEdFrameCSS || []; // WikedInitFrameCSS: define built-in edit frame css function WikedInitFrameCSS() { WikEdInitObject(wikEdFrameCSS, { // frame body '.wikedFrameBody': 'background: #FFFFFF; margin: 0px; padding: 0.2em; overflow: -moz-scrollbars-vertical; overflow-x: auto; font-family: monospace;', // syntax highlighting '.wikEdBlock': 'background-color: #e8e8e8;', '.wikEdBlockTag': 'color: #0000e0;', '.wikEdInlineTag': 'color: #0000e0;', '.wikEdUnknown': 'background-image: url({wikEdUnknown});', '.wikEdSubscript': 'position: relative; top: 0.3em;', '.wikEdSuperscript': 'position: relative; top: -0.3em;', '.wikEdBold': 'font-weight: bold;', '.wikEdRef': 'color: #808080; background-color: #e8e8e8;', '.wikEdRefHide': 'color: #c0c0c0;', '.wikEdComment': 'background-color: #fff0d0;', '.wikEdDel': 'text-decoration: line-through;', '.wikEdIns': 'text-decoration: underline;', '.wikEdItalic': 'font-style: italic;', '.wikEdNowiki': 'background-color: #e8e8e8;', '.wikEdRGB': '', // horizontal rule '.wikEdHR': 'background-color: #d0d0d0;', '.wikEdHRInline': 'background-color: #d0d0d0;', // wiki code '.wikEdWiki': 'color: #0000e0;', '.wikEdWikiRedir': 'color: #0000e0; background-color: #ffffff; font-weight: bold;', '.wikEdMagic': 'color: #0000e0; background-color: #e0e0e0; font-weight: bold;', // headings '.wikEdHeading': 'background-color: #e0e0e0; font-weight: bold;', '.wikEdHeadingWp': 'background-color: #d8e0ff; font-weight: bold;', // tables '.wikEdTableBlock': 'background-color: #e8e8e8;', '.wikEdTableLine': 'background-color: #e8e8e8;', '.wikEdTableTag': 'background-color: #e8e8e8; color: #0000e0;', // list '.wikEdListBlock': 'background-color: #e8e8e8;', '.wikEdListLine': 'background-color: #f0f0f0', '.wikEdListTag': 'background-color: #e8e8e8; color: #0000e0; font-weight: bold;', // space-pre '.wikEdSpaceBlock': 'background-color: #e8e8e8;', '.wikEdSpaceLine': 'background-color: #e8e8e8;', '.wikEdSpaceTag': 'color: #0000e0; font-weight: bold;', // wiki links, images, categories, templates '.wikEdLinkTag': 'color: #0000e0;', '.wikEdLink': '', '.wikEdImage': 'background-color: #d5ffaa;', '.wikEdCat': 'background-color: #d0d8ff;', '.wikEdTemplTag': 'color: #0000e0;', '.wikEdTempl': 'background-color: #e0e8ff;', // interlanguage '.wikEdInter': 'color: #000000;', '.wikEdLinkInter': 'background-color: #c8c8ff;', '.wikEdImageInter': 'background-color: #c8c8ff;', '.wikEdCatInter': 'background-color: #c8c8ff;', '.wikEdTemplInter': 'background-color: #c8c8ff;', // name '.wikEdLinkName': 'color: #f00000; font-weight: bold;', '.wikEdImageName': 'color: #000000; font-weight: bold;', '.wikEdCatName': 'color: #f00000; font-weight: bold;', '.wikEdTemplName': 'color: #f00000; font-weight: bold;', '.wikEdURLLink': 'color: #f00000; font-weight: bold;', // links '.wikEdHighlightLink': 'text-decoration: none; color: #909090;', ':hover.wikEdHighlightLink': 'text-decoration: underline; color: #909090;', // pasted html '.wikEdPastedHtml': 'background-color: #ffc080;', // text and parameters '.wikEdLinkText': 'color: #000000; font-weight: bold;', '.wikEdImageParam': 'color: #0000e0;', '.wikEdImageCaption': 'color: #000000;', '.wikEdCatText': 'color: #000000;', '.wikEdTemplText': 'color: #000000;', '.wikEdURLText': 'color: #000000; font-weight: bold;', // insert wikicode here '.wikEdInsertHere': 'background-color: orange; font-style: italic;', // colors '.wikEdColorsLight': 'color: black;', '.wikEdColorsDark': 'color: white;', // invisibles, control chars, and strange spaces '.wikEdTab': 'white-space: pre; background-image: url({wikEdTab}); background-position: right bottom; background-repeat: no-repeat;', '.wikEdTabPlain': 'white-space: pre;', '.wikEdCtrl': 'white-space: pre; background-image: url({wikEdCtrl}); background-position: left center; background-repeat: repeat-x; background-color: white;', '.wikEdCtrl:before': 'content: \'\u00a0\'', '.wikEdBlank': 'white-space: -moz-pre-wrap; background-image: url({wikEdBlank}); background-position: left center; background-repeat: repeat-x; background-color: white;' }); } // main window css rules var wikEdMainCSS = wikEdMainCSS || []; // WikedInitMainCSS: define built-in main window css function WikedInitMainCSS() { WikEdInitObject(wikEdMainCSS, { // combo input box '.wikEdCombo': 'font-size: smaller; padding-left: 0.1em; padding-right: 0.1em; margin: 0 0.1em 0 0.1em; height: 1.6em; vertical-align: bottom;', // wikEd button areas // button bar margins '.wikEdButtonBarFormat': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarCustom1': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarFind': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarFix': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarCustom2': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarControl': 'margin: 0 0 3px 0; float: right;', '.wikEdButtonBarPreview': 'margin: 0 0 0.15em 0.6em; float: right;', '.wikEdButtonBarPreviewFull': 'margin: -0.2em 0 0 0.6em; float: right;', '.wikEdButtonBarPreview2': 'margin: 0.2em 0 0.4em 0; float: right;', '.wikEdButtonBarJump': 'margin: 0 0 0 0.6em; float: right;', // button bar inner wrapper: border (hidden: invisible) '.wikedButtonBarInnerWrapperVisible': 'border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikedButtonBarInnerWrapperHidden': '', // button bar grip wrapper: invisible (hidden: border) '.wikedButtonBarGripWrapperVisible': 'float: left;', '.wikedButtonBarGripWrapperHidden': 'float: left; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', // button bar buttons wrapper: invisible (hidden: border) '.wikedButtonBarButtonsWrapperVisible': 'float: left; background: #d4d0cc; ', '.wikedButtonBarButtonsWrapperHidden': 'float: left; background: #d4d0cc; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0; z-index: 4;', // button bar grip '.wikedButtonBarGrip': 'background: #d4d0cc; padding: 0; background-image: url({wikEdGrip}); background-repeat: repeat-y; cursor: pointer;', // button bar buttons '.wikEdButtonsFormat': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsCustom1': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsFind': 'background: #d4d0cc; padding: 0px 2px 0 0px;', '.wikEdButtonsFix': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsCustom2': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsControl': 'background: #d4d0cc; padding: 2px 2px 0 1px;', '.wikEdButtonsPreview': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsPreviewFull': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsPreview2': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsJump': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', // wikEd buttons '.wikEdButton': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid; cursor: pointer;', '.wikEdButton:hover': 'background: #e4e0dd; border: 1px outset; cursor: pointer;', '.wikEdButton:active': 'background: #e4e0dc; border: 1px inset; cursor: pointer;', '.wikEdButtonSolo': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid; cursor: pointer;', '.wikEdButtonSolo:hover': 'background: #e4e0dd; border: 1px outset; cursor: pointer;', '.wikEdButtonChecked': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid; border-color: black white white black; cursor: pointer;', '.wikEdButtonUnchecked': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ddd8d3; border: 1px solid; border-color: white black black white; cursor: pointer;', '.wikEdButtonPressed': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid; border-color: black white white black; cursor: wait;', '.wikEdButtonInactive': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #c0c0c0; border: 1px #b0b0b0 solid; cursor: not-allowed', '.wikEdLocalPreview': 'vertical-align: top; margin: 0 0.33em 0 0.15em; padding: 0;', '.wikEdLocalDiff': 'vertical-align: top; margin: 0 0.33em 0 -0.18em; padding: 0;', '.wikEdButtonDummy': 'vertical-align: text-top; margin: 1px 2px; padding: 1px; background: #d4d0cc;', // preview box '.wikEdPreviewBoxOuter': 'clear: both; margin: 0; border-width: 1px; border-style: solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;', '.wikEdPreviewBox': 'background-color: #faf8f6; padding: 5px; border-width: 1px; border-style: solid; border-color: #404040 #ffffff #ffffff #404040;', // find field '.wikEdFindComboInput': 'position: relative; padding: 0; margin: 0 0.2em; font-style: normal; white-space: nowrap;', '#wikEdFindText': 'height: 1.4em; font-family: monospace; padding: 0; margin: 0; position: absolute; width: 170px; left: 0; top: 0; z-index: 2;', '#wikEdFindSelect': 'height: 1.5em; font-family: monospace; padding: 0; margin: 0; position: relative; border: none; vertical-align: baseline; z-index: 1;', // replace field '.wikEdReplaceComboInput': 'position: relative; padding: 0; margin: 0 0.2em; font-style: normal; white-space: nowrap;', '#wikEdReplaceText': 'height: 1.4em; font-family: monospace; padding: 0; margin: 0; position: absolute; width: 170px; left: 0; top: 0; z-index: 2;', '#wikEdReplaceSelect': 'height: 1.5em; font-family: monospace; padding: 0; margin: 0; position: relative; border: none; vertical-align: baseline; z-index: 1;', // summary field '.wikEdSummaryComboInput': 'position: relative; white-space: nowrap; margin: 0 0 0 0.1em;', '.wikEdSummaryText': 'padding: 0; margin: 0; position: absolute; left: 0; top: 0; z-index: 2;', '.wikEdSummarySelect': 'border: none; padding: 0; margin: 0; position: relative; vertical-align: middle; z-index: 1;', // space around submit buttons '.editButtons': 'margin: 0;', // frame '.wikEdFrameOuter': 'width: 100%; margin: 0; border-width: 1px; border-style: solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;', '.wikEdFrameInner': 'padding: 0; border-width: 1px; border-style: solid; border-color: #404040 #ffffff #ffffff #404040;', '.wikEdFrame': 'width: 100%; padding: 0; margin: 0; border: none;', // summary '.wikEdSummaryWrapper': 'margin: 0 0 0.4em 0;', '.wikEdSummaryWrapperTop': 'margin: 0.1em 0 0.4em 0;', '#wpSummaryLabel': 'margin: 0 0.2em 0 0;', '.editOptions': 'position: relative; top: 0.1em;', '.wikEdClearSummaryForm': 'display: inline;', '.wikEdClearSummary': 'vertical-align: middle; margin: 0 0.1em 0 0.5em; padding: 0 0 0.2em 0;', // input wrapper '.wikEdInputWrapper': 'z-index: 100; clear: both; margin-top: 0.5em;', '.wikEdInputWrapperFull': 'position: fixed; top: 0; left: 0; right: 0; padding: 4px; background: white; z-index: 100;', // other wrappers '.wikEdToolbarWrapper': 'margin: 0 0 0.25em 0;', '.wikEdTextareaWrapper': 'margin: 0 0 0.35em 0;', '.wikEdFrameWrapper': 'margin: 0 0 0.35em 0;', '.wikEdConsoleWrapper': '', '.wikEdButtonsWrapper': '', '.wikEdSummaryInputWrapper': 'display: inline; white-space: nowrap;', '.wikEdSummaryOptions': 'display: inline;', '.wikEdSubmitWrapper': 'margin: 0 0 0.25em 0;', '.wikEdSubmitButtonsWrapper': '', '.wikEdLocalPrevWrapper': '', '.wikEdInsertWrapper': '', // various '.wikEdEditOptions': 'display: inline; vertical-align: baseline; margin-right: 0.75em; white-space: nowrap;', '.wikEdEditHelp': 'vertical-align: baseline; margin-right: 0.5em; white-space: nowrap;', '#editpage-specialchars': 'clear: both;' }); } // buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters) var wikEdButton = wikEdButton || []; // WikedInitButton: define built-in buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters) function WikedInitButton() { WikEdInitObject(wikEdButton, { // format top 1: ['wikEdUndo', 'wikEdButtonInactive', wikEdText['wikEdUndo title'], wikEdImage['undo'], '16', '16', wikEdText['wikEdUndo alt'], 'javascript:WikEdEditButton(this, this.id);' ], 2: ['wikEdRedo', 'wikEdButtonInactive', wikEdText['wikEdRedo title'], wikEdImage['redo'], '16', '16', wikEdText['wikEdRedo alt'], 'javascript:WikEdEditButton(this, this.id);' ], 3: ['wikEdBold', 'wikEdButton', wikEdText['wikEdBold title'], wikEdImage['bold'], '16', '16', wikEdText['wikEdBold alt'], 'javascript:WikEdEditButton(this, this.id);' ], 4: ['wikEdItalic', 'wikEdButton', wikEdText['wikEdItalic title'], wikEdImage['italic'], '16', '16', wikEdText['wikEdItalic alt'], 'javascript:WikEdEditButton(this, this.id);' ], 5: ['wikEdUnderline', 'wikEdButton', wikEdText['wikEdUnderline title'], wikEdImage['underline'], '16', '16', wikEdText['wikEdUnderline alt'], 'javascript:WikEdEditButton(this, this.id);' ], 6: ['wikEdStrikethrough', 'wikEdButton', wikEdText['wikEdStrikethrough title'], wikEdImage['strikethrough'], '16', '16', wikEdText['wikEdStrikethrough alt'], 'javascript:WikEdEditButton(this, this.id);' ], 7: ['wikEdNowiki', 'wikEdButton', wikEdText['wikEdNowiki title'], wikEdImage['nowiki'], '16', '16', wikEdText['wikEdNowiki alt'], 'javascript:WikEdEditButton(this, this.id);' ], 8: ['wikEdSuperscript', 'wikEdButton', wikEdText['wikEdSuperscript title'], wikEdImage['superscript'], '16', '16', wikEdText['wikEdSuperscript alt'], 'javascript:WikEdEditButton(this, this.id);' ], 9: ['wikEdSubscript', 'wikEdButton', wikEdText['wikEdSubscript title'], wikEdImage['subscript'], '16', '16', wikEdText['wikEdSubscript alt'], 'javascript:WikEdEditButton(this, this.id);' ], 10: ['wikEdRef', 'wikEdButton', wikEdText['wikEdRef title'], wikEdImage['ref'], '16', '16', wikEdText['wikEdRef alt'], 'javascript:WikEdEditButton(this, this.id);' ], 12: ['wikEdCase', 'wikEdButton', wikEdText['wikEdCase title'], wikEdImage['case'], '16', '16', wikEdText['wikEdCase alt'], 'javascript:WikEdEditButton(this, this.id);' ], 25: ['wikEdRedirect', 'wikEdButton', wikEdText['wikEdRedirect title'], wikEdImage['redirect'], '16', '16', wikEdText['wikEdRedirect alt'], 'javascript:WikEdEditButton(this, this.id);' ], 13: ['wikEdUndoAll', 'wikEdButton', wikEdText['wikEdUndoAll title'], wikEdImage['undoAll'], '16', '16', wikEdText['wikEdUndoAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 14: ['wikEdRedoAll', 'wikEdButtonInactive', wikEdText['wikEdRedoAll title'], wikEdImage['redoAll'], '16', '16', wikEdText['wikEdRedoAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], // format bottom 15: ['wikEdWikiLink', 'wikEdButton', wikEdText['wikEdWikiLink title'], wikEdImage['wikiLink'], '16', '16', wikEdText['wikEdWikiLink alt'], 'javascript:WikEdEditButton(this, this.id);' ], 16: ['wikEdWebLink', 'wikEdButton', wikEdText['wikEdWebLink title'], wikEdImage['webLink'], '16', '16', wikEdText['wikEdWebLink alt'], 'javascript:WikEdEditButton(this, this.id);' ], 17: ['wikEdHeading', 'wikEdButton', wikEdText['wikEdHeading title'], wikEdImage['heading'], '16', '16', wikEdText['wikEdHeading alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseHeading\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseHeading\'); }' ], 19: ['wikEdBulletList', 'wikEdButton', wikEdText['wikEdBulletList title'], wikEdImage['bulletList'], '16', '16', wikEdText['wikEdBulletList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseBulletList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseBulletList\'); }' ], 20: ['wikEdNumberList', 'wikEdButton', wikEdText['wikEdNumberList title'], wikEdImage['numberList'], '16', '16', wikEdText['wikEdNumberList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseNumberList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseNumberList\'); }' ], 21: ['wikEdIndentList', 'wikEdButton', wikEdText['wikEdIndentList title'], wikEdImage['indentList'], '16', '16', wikEdText['wikEdIndentList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseIndentList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseIndentList\'); }' ], 22: ['wikEdDefinitionList', 'wikEdButton', wikEdText['wikEdDefinitionList title'], wikEdImage['definitionList'], '16', '16', wikEdText['wikEdDefinitionList alt'], 'javascript:WikEdEditButton(this, this.id);' ], 23: ['wikEdImage', 'wikEdButton', wikEdText['wikEdImage title'], wikEdImage['image'], '16', '16', wikEdText['wikEdImage alt'], 'javascript:WikEdEditButton(this, this.id);' ], 24: ['wikEdTable', 'wikEdButton', wikEdText['wikEdTable title'], wikEdImage['table'], '16', '16', wikEdText['wikEdTable alt'], 'javascript:WikEdEditButton(this, this.id);' ], 11: ['wikEdReferences', 'wikEdButton', wikEdText['wikEdReferences title'], wikEdImage['references'], '16', '16', wikEdText['wikEdReferences alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, this.id); } else { javascript:WikEdEditButton(this, \'wikEdReferencesSection\'); }' ], 26: ['wikEdWikify', 'wikEdButton', wikEdText['wikEdWikify title'], wikEdImage['wikify'], '16', '16', wikEdText['wikEdWikify alt'], 'javascript:WikEdEditButton(this, this.id);' ], 27: ['wikEdTextify', 'wikEdButton', wikEdText['wikEdTextify title'], wikEdImage['textify'], '16', '16', wikEdText['wikEdTextify alt'], 'javascript:WikEdEditButton(this, this.id);' ], // control top 77: ['wikEdRefHide', 'wikEdButtonUnchecked', wikEdText['wikEdRefHide title'], wikEdImage['refHide'], '16', '16', wikEdText['wikEdRefHide alt'], 'javascript:WikEdButton(this, this.id, true);' ], 29: ['wikEdTextZoom', 'wikEdButton', wikEdText['wikEdTextZoom title'], wikEdImage['textZoom'], '16', '16', wikEdText['wikEdTextZoom alt'], 'if (!event.shiftKey) { javascript:WikEdButton(this, \'wikEdTextZoomDown\'); } else { javascript:WikEdButton(this, \'wikEdTextZoomUp\'); }' ], 30: ['wikEdClearHistory', 'wikEdButton', wikEdText['wikEdClearHistory title'], wikEdImage['clearHistory'], '16', '16', wikEdText['wikEdClearHistory alt'], 'javascript:WikEdButton(this, this.id);' ], 31: ['wikEdScrollToPreview', 'wikEdButton', wikEdText['wikEdScrollToPreview title'], wikEdImage['scrollToPreviewDown'], '16', '16', wikEdText['wikEdScrollToPreview alt'], 'javascript:WikEdButton(this, this.id);' ], 32: ['wikEdScrollToEdit', 'wikEdButton', wikEdText['wikEdScrollToEdit title'], wikEdImage['scrollToEditDown'], '16', '16', wikEdText['wikEdScrollToEdit alt'], 'javascript:WikEdButton(this, this.id);' ], // control bottom 33: ['wikEdUseWikEd', 'wikEdButtonChecked', wikEdText['wikEdUseWikEd title'], wikEdImage['useWikEd'], '16', '16', wikEdText['wikEdUseWikEd alt'], 'javascript:WikEdButton(this, this.id, true);' ], 34: ['wikEdHighlightSyntax', 'wikEdButtonUnchecked', wikEdText['wikEdHighlightSyntax title'], wikEdImage['highlightSyntax'], '16', '16', wikEdText['wikEdHighlightSyntax alt'], 'javascript:WikEdButton(this, this.id, true);' ], 35: ['wikEdSource', 'wikEdButton', wikEdText['wikEdSource title'], wikEdImage['source'], '16', '16', wikEdText['wikEdSource alt'], 'javascript:WikEdEditButton(this, this.id);' ], 75: ['wikEdCloseToolbar', 'wikEdButtonUnchecked', wikEdText['wikEdCloseToolbar title'], wikEdImage['closeToolbar'], '16', '16', wikEdText['wikEdCloseToolbar alt'], 'javascript:WikEdButton(this, this.id, true);' ], 36: ['wikEdUsing', 'wikEdButtonUnchecked', wikEdText['wikEdUsing title'], wikEdImage['using'], '16', '16', wikEdText['wikEdUsing alt'], 'javascript:WikEdButton(this, this.id, true);' ], 37: ['wikEdFullScreen', 'wikEdButtonUnchecked', wikEdText['wikEdFullScreen title'], wikEdImage['fullScreen'], '16', '16', wikEdText['wikEdFullScreen alt'], 'javascript:WikEdButton(this, this.id, true);' ], // find top 39: ['wikEdFindAll', 'wikEdButton', wikEdText['wikEdFindAll title'], wikEdImage['findAll'], '16', '16', wikEdText['wikEdFindAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 40: ['wikEdFindPrev', 'wikEdButton', wikEdText['wikEdFindPrev title'], wikEdImage['findPrev'], '16', '16', wikEdText['wikEdFindPrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 41: ['wikEdFindNext', 'wikEdButton', wikEdText['wikEdFindNext title'], wikEdImage['findNext'], '16', '16', wikEdText['wikEdFindNext alt'], 'if (event.shiftKey) { javascript:WikEdEditButton(this, this.id, \'shift\'); } else { javascript:WikEdEditButton(this, this.id); }' ], 43: ['wikEdJumpPrev', 'wikEdButton', wikEdText['wikEdJumpPrev title'], wikEdImage['jumpPrev'], '16', '16', wikEdText['wikEdJumpPrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 44: ['wikEdJumpNext', 'wikEdButton', wikEdText['wikEdJumpNext title'], wikEdImage['jumpNext'], '16', '16', wikEdText['wikEdJumpNext alt'], 'javascript:WikEdEditButton(this, this.id);' ], // find bottom 46: ['wikEdReplaceAll', 'wikEdButton', wikEdText['wikEdReplaceAll title'], wikEdImage['replaceAll'], '16', '16', wikEdText['wikEdReplaceAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 47: ['wikEdReplacePrev', 'wikEdButton', wikEdText['wikEdReplacePrev title'], wikEdImage['replacePrev'], '16', '16', wikEdText['wikEdReplacePrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 48: ['wikEdReplaceNext', 'wikEdButton', wikEdText['wikEdReplaceNext title'], wikEdImage['replaceNext'], '16', '16', wikEdText['wikEdReplaceNext alt'], 'if (event.shiftKey) { javascript:WikEdEditButton(this, this.id, \'shift\'); } else { javascript:WikEdEditButton(this, this.id); }' ], 49: ['wikEdCaseSensitive', 'wikEdButtonUnchecked', wikEdText['wikEdCaseSensitive title'], wikEdImage['caseSensitive'], '16', '16', wikEdText['wikEdCaseSensitive alt'], 'javascript:WikEdButton(this, this.id, true);' ], 50: ['wikEdRegExp', 'wikEdButtonUnchecked', wikEdText['wikEdRegExp title'], wikEdImage['regExp'], '16', '16', wikEdText['wikEdRegExp alt'], 'javascript:WikEdButton(this, this.id, true);' ], 51: ['wikEdFindAhead', 'wikEdButtonUnchecked', wikEdText['wikEdFindAhead title'], wikEdImage['findAhead'], '16', '16', wikEdText['wikEdFindAhead alt'], 'javascript:WikEdButton(this, this.id, true);' ], // fix top 52: ['wikEdFixBasic', 'wikEdButton', wikEdText['wikEdFixBasic title'], wikEdImage['fixBasic'], '16', '16', wikEdText['wikEdFixBasic alt'], 'javascript:WikEdEditButton(this, this.id);' ], 53: ['wikEdFixHtml', 'wikEdButton', wikEdText['wikEdFixHtml title'], wikEdImage['fixHtml'], '16', '16', wikEdText['wikEdFixHtml alt'], 'javascript:WikEdEditButton(this, this.id);' ], 54: ['wikEdFixCaps', 'wikEdButton', wikEdText['wikEdFixCaps title'], wikEdImage['fixCaps'], '16', '16', wikEdText['wikEdFixCaps alt'], 'javascript:WikEdEditButton(this, this.id);' ], 55: ['wikEdfixUnicode', 'wikEdButton', wikEdText['wikEdfixUnicode title'], wikEdImage['fixUnicode'], '16', '16', wikEdText['wikEdfixUnicode alt'], 'javascript:WikEdEditButton(this, this.id);' ], 56: ['wikEdFixAll', 'wikEdButton', wikEdText['wikEdFixAll title'], wikEdImage['fixAll'], '16', '16', wikEdText['wikEdFixAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 57: ['wikEdFixRegExTypo', 'wikEdButton', wikEdText['wikEdFixRegExTypo title'], wikEdImage['fixRegExTypo'], '16', '16', wikEdText['wikEdFixRegExTypo alt'], 'javascript:WikEdEditButton(this, this.id);' ], // fix bottom 58: ['wikEdFixDashes', 'wikEdButton', wikEdText['wikEdFixDashes title'], wikEdImage['fixDash'], '16', '16', wikEdText['wikEdFixDashes alt'], 'javascript:WikEdEditButton(this, this.id);' ], 59: ['wikEdFixPunct', 'wikEdButton', wikEdText['wikEdFixPunct title'], wikEdImage['fixPunct'], '16', '16', wikEdText['wikEdFixPunct alt'], 'javascript:WikEdEditButton(this, this.id);' ], 60: ['wikEdFixMath', 'wikEdButton', wikEdText['wikEdFixMath title'], wikEdImage['fixMath'], '16', '16', wikEdText['wikEdFixMath alt'], 'javascript:WikEdEditButton(this, this.id);' ], 61: ['wikEdFixChem', 'wikEdButton', wikEdText['wikEdFixChem title'], wikEdImage['fixChem'], '16', '16', wikEdText['wikEdFixChem alt'], 'javascript:WikEdEditButton(this, this.id);' ], 62: ['wikEdFixUnits', 'wikEdButton', wikEdText['wikEdFixUnits title'], wikEdImage['fixUnits'], '16', '16', wikEdText['wikEdFixUnits alt'], 'javascript:WikEdEditButton(this, this.id);' ], // preview top 65: ['wikEdClose', 'wikEdButton', wikEdText['wikEdClose title'], wikEdImage['close'], '16', '16', wikEdText['wikEdClose alt'], 'javascript:WikEdButton(this, this.id);' ], 66: ['wikEdScrollToPreview2', 'wikEdButton', wikEdText['wikEdScrollToPreview2 title'], wikEdImage['scrollToPreviewDown'], '16', '16', wikEdText['wikEdScrollToPreview2 alt'], 'javascript:WikEdButton(this, this.id);' ], 67: ['wikEdScrollToEdit2', 'wikEdButton', wikEdText['wikEdScrollToEdit2 title'], wikEdImage['scrollToEdit'], '16', '16', wikEdText['wikEdScrollToEdit2 alt'], 'javascript:WikEdButton(this, this.id);' ], // preview bottom 70: ['wikEdClose2', 'wikEdButton', wikEdText['wikEdClose2 title'], wikEdImage['close'], '16', '16', wikEdText['wikEdClose2 alt'], 'javascript:WikEdButton(this, this.id);' ], 71: ['wikEdScrollToPreview3', 'wikEdButton', wikEdText['wikEdScrollToPreview3 title'], wikEdImage['scrollToPreview'], '16', '16', wikEdText['wikEdScrollToPreview3 alt'], 'javascript:WikEdButton(this, this.id);' ], 72: ['wikEdScrollToEdit3', 'wikEdButton', wikEdText['wikEdScrollToEdit3 title'], wikEdImage['scrollToEdit'], '16', '16', wikEdText['wikEdScrollToEdit3 alt'], 'javascript:WikEdButton(this, this.id);' ], // jump 78: ['wikEdDiff', 'wikEdButtonUnchecked', wikEdText['wikEdDiff title'], wikEdImage['wikEdDiff'], '16', '16', wikEdText['wikEdDiff alt'], 'javascript:WikEdButton(this, this.id, true);' ], 74: ['wikEdScrollToEdit4', 'wikEdButtonSolo', wikEdText['wikEdScrollToEdit4 title'], wikEdImage['scrollToEditDown'], '16', '16', wikEdText['wikEdScrollToEdit4 alt'], 'javascript:WikEdButton(this, this.id);' ], // dummy 76: ['wikEdDummy', 'wikEdButtonDummy', '', wikEdImage['dummy'], '16', '16', '', '' ] }); } // button bars (id, class, button numbers) var wikEdButtonBar = wikEdButtonBar || []; // WikedInitButtonBar: define built-in button bars (id outer, class outer, id inner, class inner, height, grip title, button numbers) function WikedInitButtonBar() { WikEdInitObject(wikEdButtonBar, { 'format': ['wikEdButtonBarFormat', 'wikEdButtonBarFormat', 'wikEdButtonsFormat', 'wikEdButtonsFormat', 44, wikEdText['wikEdGripFormat title'], [1,2,3,4,5,6,7,8,9,10,12,13,14,'br',15,16,17,19,20,21,22,23,24,11,25,26,27] ], 'custom1': ['wikEdButtonBarCustom1', 'wikEdButtonBarCustom1', 'wikEdButtonsCustom1', 'wikEdButtonsCustom1', 44, wikEdText['wikEdGripCustom1 title'], [ ] ], 'find': ['wikEdButtonBarFind', 'wikEdButtonBarFind', 'wikEdButtonsFind', 'wikEdButtonsFind', 44, wikEdText['wikEdGripFind title'], [39,40,'find',41,76,43,44,'br',46,47,'replace',48,49,50,51] ], 'fix': ['wikEdButtonBarFix', 'wikEdButtonBarFix', 'wikEdButtonsFix', 'wikEdButtonsFix', 44, wikEdText['wikEdGripFix title'], [52,53,54,55,56,57,'br',58,59,60,61,62] ], 'custom2': ['wikEdButtonBarCustom2', 'wikEdButtonBarCustom2', 'wikEdButtonsCustom2', 'wikEdButtonsCustom2', 44, wikEdText['wikEdGripCustom2 title'], [ ] ], 'control': ['wikEdButtonBarControl', 'wikEdButtonBarControl', 'wikEdButtonsControl', 'wikEdButtonsControl', 44, wikEdText['wikEdGripControl title'], [77,29,30,31,32,'br',33,34,35,75,36,78,37] ], 'preview': ['wikEdButtonBarPreview', 'wikEdButtonBarPreview', 'wikEdButtonsPreview', 'wikEdButtonsPreview', 0, null, [66,67,65] ], 'preview2': ['wikEdButtonBarPreview2', 'wikEdButtonBarPreview2', 'wikEdButtonsPreview2', 'wikEdButtonsPreview2', 0, null, [71,72,70] ], 'jump': ['wikEdButtonBarJump', 'wikEdButtonBarJump', 'wikEdButtonsJump', 'wikEdButtonsJump', 0, null, [74] ] }); } // history length for find, replace, and summary fields var wikEdHistoryLength = wikEdHistoryLength || []; wikEdHistoryLength['find'] = 10; wikEdHistoryLength['replace'] = 10; wikEdHistoryLength['summary'] = 10; // presets for combo input fields dropdown options, {wikEdUsing} appends a link to this script var wikEdComboPresetOptions = wikEdComboPresetOptions || []; wikEdComboPresetOptions['summary'] = wikEdComboPresetOptions['summary'] || wikEdText['wikEdPresetSummary']; // text for summary link to this script var wikEdSummaryUsing = wikEdSummaryUsing || wikEdText['wikEdSummaryUsing']; // expiration time span for permanent cookies in seconds var wikEdCookieExpireSec = wikEdCookieExpireSec || (30 * 24 * 60 * 60); // find ahead as you type checkbox preset if (typeof(wikEdHighlightSyntaxPreset) == 'undefined') { var wikEdFindAheadSelected = true; } // highlight syntax preset var wikEdHighlightSyntaxPreset = wikEdHighlightSyntaxPreset || true; // enable wikEd preset if (typeof(wikEdUseWikEdPreset) == 'undefined') { var wikEdUseWikEdPreset = true; } // add '...using wikEd' to summary preset (set to true by single-session cookie wikEdSummaryUsing) if (typeof(wikEdUsingPreset) == 'undefined') { var wikEdUsingPreset = false; } // wikEdDiff preset if (typeof(wikEdDiffPreset) == 'undefined') { var wikEdDiffPreset = false; } // fullscreen mode preset if (typeof(wikEdFullScreenModePreset) == 'undefined') { var wikEdFullScreenModePreset = false; } // show MediaWiki toolbar preset if (typeof(wikEdCloseToolbarPreset) == 'undefined') { var wikEdCloseToolbarPreset = false; } // hide ref tags preset if (typeof(wikEdRefHidePreset) == 'undefined') { var wikEdRefHidePreset = false; } // initial text zoom for edit window (percentage) var wikEdTextZoom = wikEdTextZoom || 100; // remove invisible syntax highlighting comments after closing tag if (typeof(wikEdRemoveHighlightComments) == 'undefined') { var wikEdRemoveHighlightComments = true; } // show the text-to-source button for testing purposes if (typeof(wikEdShowSourceButton) == 'undefined') { var wikEdShowSourceButton = false; } // show the using-wiked button if (typeof(wikEdShowUsingButton) == 'undefined') { var wikEdShowUsingButton = false; } // the wikEd help page link to be displayed after the editing help link, an empty string disables the link var wikEdHelpPageLink = wikEdHelpPageLink || wikEdText['wikEdHelpPageLink']; // display the wikEd button bars on top of the edit box if (typeof(wikEdButtonsOnTop) == 'undefined') { var wikEdButtonsOnTop = true; } // enable external diff script if (typeof(wikEdLoadDiffScript) == 'undefined') { var wikEdLoadDiffScript = true; } // diff script URL var wikEdDiffScriptSrc = wikEdDiffScriptSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js&action=raw&ctype=text/javascript'; // enable external wikEdDiff script if (typeof(wikEdLoadDiff) == 'undefined') { var wikEdLoadDiff = true; } // wikEdDiff script URL, also defined in wikEdDiff.js var wikEdDiffSrc = wikEdDiffSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js&action=raw&ctype=text/javascript'; // enable external InstaView script if (typeof(wikEdLoadInstaView) == 'undefined') { var wikEdLoadInstaView = true; } // InstaView script URL var wikEdInstaViewSrc = wikEdInstaViewSrc || 'http://en.wikipedia.org/w/index.php?title=User:Pilaf/include/instaview.js&action=raw&ctype=text/javascript'; // enable external RegExTypoFix script if (typeof(wikEdLoadRegExTypoFix) == 'undefined') { var wikEdLoadRegExTypoFix = false; } // RegExTypoFix script URL var wikEdRegExTypoFixSrc = wikEdRegExTypoFixSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdTypoFix.js&action=raw&ctype=text/javascript'; // enable RegExTypoFix (http://en.wikipedia.org/wiki/User:Mboverload/RegExTypoFix), needs User:Cacycle/wikEdTypoFix.js or translation if (typeof(wikEdRegExTypoFix) == 'undefined') { var wikEdRegExTypoFix = true; } // enable highlighting as links if (typeof(wikEdFollowHighlightedLinks) == 'undefined') { var wikEdFollowHighlightedLinks = false; } // skip the browser detection to run wikEd under IE and Opera if (typeof(wikEdSkipBrowserTest) == 'undefined') { var wikEdSkipBrowserTest = false; } // set the button bar grip width in px var wikEdButtonBarGripWidth = wikEdButtonBarGripWidth || 8; // enable local preview (Pilaf's InstaView) if (typeof(wikEdUseLocalPreview) == 'undefined') { var wikEdUseLocalPreview = true; } // allow ajax requests from local copy for testing, also defined in wikEdDiff.js if (typeof(wikEdAllowLocalAjax) == 'undefined') { var wikEdAllowLocalAjax = false; } // enable server preview (Ajax) if (typeof(wikEdUseAjaxPreview) == 'undefined') { var wikEdUseAjaxPreview = true; } // enable auto update (Ajax) if (typeof(wikEdAutoUpdate) == 'undefined') { var wikEdAutoUpdate = true; } // hours between update check var wikEdAutoUpdateHours = wikEdAutoUpdateHours || 20; // auto update version url (ajax) var wikEdAutoUpdateUrl = wikEdAutoUpdateUrl || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd_current_version&action=raw&maxage=0'; // show complete unshortened article text for local diff, also defined in wikEdDiff.js if (typeof(wikEdFullDiff) == 'undefined') { var wikEdFullDiff = false; } // make links ctrl-clickable if (typeof(wikEdFollowLinks) == 'undefined') { var wikEdFollowLinks = true; } // correct tab order between check boxes and submit buttons if (typeof(wikEdSubmitTabOrder) == 'undefined') { var wikEdSubmitTabOrder = false; } // // end of user configurable variables // // global variables var wikEdLoaded; var wikEdDisabled = false; // history var wikEdFieldHist = []; var wikEdCookieName = []; var wikEdInputElement = []; var wikEdSelectElement = []; var wikEdCheckMarker = []; wikEdCheckMarker[true] = '\u2022'; wikEdCheckMarker[false] = '\u22c5'; // cache the parsed DOM object var wikEdFrameDOMCache; // undo all, redo all var wikEdOrigVersion = ''; var wikEdLastVersion; // global dom elements var wikEdLogo; var wikEdLogoList; var wikEdTextarea; var wikEdFrame; var wikEdFrameBody; var wikEdFrameDocument; var wikEdFrameWindow; var wikEdInputWrapper; var wikEdToolbarWrapper; var wikEdTextareaWrapper; var wikEdFrameWrapper; var wikEdConsoleWrapper; var wikEdButtonsWrapper; var wikEdSummaryWrapper; var wikEdSummaryInputWrapper; var wikEdSummaryOptions; var wikEdSubmitWrapper; var wikEdSubmitButtonsWrapper; var wikEdLocalPrevWrapper; var wikEdInsertWrapper; var wikEdButtonBarFormat; var wikEdButtonBarCustom1; var wikEdButtonBarFind; var wikEdButtonBarFix; var wikEdButtonBarCustom2; var wikEdButtonBarControl; var wikEdButtonBarPreview; var wikEdButtonBarPreview2; var wikEdButtonBarJump; var wikEdPreviewBox; var wikEdClearSummary; var wikEdClearSummaryImg; var wikEdCaseSensitive; var wikEdRegExp; var wikEdFindAhead; var wikEdFindText; var wikEdReplaceText; var wikEdSummaryText; var wikEdSummarySelect; var wikEdEditOptions; var wikEdEditHelp; var wikEdSaveButton; var wikEdPreviewButton; var wikEdLDiffButton; var wikEdLocalPreview; var wikEdLocalDiff; var wikEdDiffPreviewButton; var wikEdSummaryLabel; // various var wikEdTextareaHeight; var wikEdClearSummaryWidth; var wikEdFullScreenMode = false; var wikeEdInsertTagsOriginal; var wikEdAddNewSection; var wikEdBrowserNotSupported var wikEdFrameScrollTop; // wikEd settings var wikEdRefHide; var wikEdUsing; var wikEdUseWikEd; var wikEdCloseToolbar; var wikEdHighlightSyntax; var wikEdDiff; // unicode fixing var wikEdControlCharsStr = ''; var wikEdSupportedChars; var wikEdSpecialChars; var wikEdProblemChars; var wikEdControlChars; var wikEdStrangeSpaces; // debugging time measurement, usage: wikEdDebugTimer.push([1234, new Date]); WikEdDebugTimer(); var wikEdDebugTimer = []; // MediaWiki file paths for use in regexps var wikEdServer = ''; var wikEdArticlePath = ''; var wikEdScriptPath = ''; var wikEdArticlePrefix = ''; // hash of loaded scripts, also defined in wikEdDiff.js var wikEdExternalScripts = wikEdExternalScripts || []; // check for updates WikEdAutoUpdate(); // call the setup routine if (typeof(addOnloadHook) == 'function') { addOnloadHook(WikEdSetup); } else { window.onload = WikEdSetup; } // // WikEdInitObject: initialize object, keep pre-defined values // function WikEdInitObject(array, preset) { for (var key in preset) { if (array[key] == null) { array[key] = preset[key]; } } return; } // // WikEdInitImage: initialize images, keep pre-defined values // function WikEdInitImage(array, preset) { for (var key in preset) { if (array[key] == null) { // remove MediaWiki path prefixes and add local path if (wikEdUseLocalImages == true) { array[key] = wikEdImagePathLocal + preset[key].replace(/^[0-9a-f]+\/[0-9a-f]+\//, ''); } // add path else { array[key] = wikEdImagePath + preset[key]; } } } return; } // // WikEdSetup: setup routine, called on page load // function WikEdSetup(scrollToText) { // initialize texts and images (needed here for logo) WikedInitText(); WikedInitImage(); // add image path to image filename if (wikEdLogo == null) { // insert logo into personal toolbar wikEdLogo = document.createElement('img'); wikEdLogo.id = 'wikEdLogoImg'; wikEdLogo.onclick = WikEdMainSwitch; wikEdLogoList = document.createElement('li'); wikEdLogoList.id = 'wikEdLogoList'; wikEdLogoList.appendChild(wikEdLogo); var personalTools = document.getElementById('p-personal'); if (personalTools != null) { personalTools.getElementsByTagName('ul')[0].appendChild(wikEdLogoList); } } // detect already loaded external scripts if (wikEdExternalScripts == null) { var pageScripts = document.getElementsByTagName('script'); for (var i = 0; i < pageScripts.length; i ++) { var nameMatch = pageScripts[i].src.match(/\/([^\/]*?)($|\?)/); if (nameMatch != null) { var scriptName = nameMatch[1]; if (scriptName != '') { wikEdExternalScripts[scriptName] = true; } } } } // load the external diff script var head = document.getElementsByTagName('head')[0]; if ( (wikEdLoadDiffScript == true) && (wikEdExternalScripts['diff.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdDiffScriptSrc; head.appendChild(script); wikEdExternalScripts['diff.js'] = true; } // load the external wikEdDiff script if ( (wikEdLoadDiff == true) && (wikEdExternalScripts['wikEdDiff.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdDiffSrc; head.appendChild(script); wikEdExternalScripts['wikEdDiff.js'] = true; } // check if disabled var cookie = WikEdGetCookie('wikEdDisabled'); if (cookie != '') { wikEdDisabled = true; wikEdUseWikEd = false; WikEdSetLogo(); return; } // check if setup was already run if (wikEdLoaded == true) { return; } // set error logo WikEdSetLogo('error'); // at the moment this works only for Mozilla browsers (Mozilla, Mozilla Firefox, Mozilla SeaMonkey) if (wikEdSkipBrowserTest != true) { // no id no wikEd if (navigator.appName == null) { wikEdBrowserNotSupported = true; } else { // check if it is a Netscape descendant var origin = navigator.appName.match(/Netscape/i); if ( (origin == null) || (origin == '') ) { wikEdBrowserNotSupported = true; } // check the generation var generation = navigator.appVersion.match(/\d+(\.\d+)/); if ( (generation == null) || (generation[0] < 5.0) ) { wikEdBrowserNotSupported = true; } // check if it is a Gecko browser var geckoDate = navigator.userAgent.match(/\bGecko\/(\d+)/i); if (geckoDate != null) { if ( (geckoDate[1] != '') && (geckoDate[1] < 20050000) ) { wikEdBrowserNotSupported = true; } } // check browser and version var agent = navigator.userAgent.match(/(Firefox|Netscape|SeaMonkey)\/(\d+\.\d+)/i); if (agent != null) { var browser = agent[1]; var version = agent[2]; if ( (browser == 'Firefox') && (version < 1.5) || (browser == 'Netscape') && (version < 8.0) || (browser == 'SeaMonkey') && (version < 1.0) ) { wikEdBrowserNotSupported = true; } } } // browser not supported, set error message if (wikEdBrowserNotSupported == true) { WikEdSetLogo('browser'); return; } } // check if this is an edit page wikEdTextarea = document.getElementsByName('wpTextbox1')[0]; var wpEditform = document.getElementById('editform'); wikEdSaveButton = document.getElementById('wpSave'); if ( (wikEdTextarea == null) || (wpEditform == null) || (wikEdSaveButton == null) ) { // reset error indicator WikEdSetLogo(); return; } // initialize frame css, main css, buttons, and button bars WikedInitFrameCSS(); WikedInitMainCSS(); WikedInitButton(); WikedInitButtonBar(); // define Unicode characters for fixing function WikEdInitUnicode(); // detect if we add a new section (+ tab) if (/(\?|&)section=new\b/.test(window.location.search) == true) { wikEdAddNewSection = true; } // load the external InstaView script if ( (wikEdLoadInstaView == true) && (wikEdExternalScripts['instaview.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdInstaViewSrc; head.appendChild(script); wikEdExternalScripts['instaview.js'] = true; } else if (wikEdLoadInstaView != true) { wikEdUseLocalPreview = false; } // load the external RegExTypoFix script if ( (wikEdLoadRegExTypoFix == true) && (wikEdExternalScripts['RegExTypoFix.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdRegExTypoFixSrc; head.appendChild(script); wikEdExternalScripts['RegExTypoFix.js'] = true; } else if (wikEdLoadRegExTypoFix != true) { wikEdRegExTypoFix = false; } // get initial textarea height wikEdTextareaHeight = wikEdTextarea.offsetHeight; // setup the undo buffers and save the original text for local changes view wikEdOrigVersion = wikEdTextarea.value; // add stylesheet definitions var mainStyle = new WikEdStyleSheet(); var rules = ''; for (var ruleName in wikEdMainCSS) { var ruleStyle = wikEdMainCSS[ruleName]; ruleStyle = ruleStyle.replace(/\{wikEdGrip\}/g, wikEdImage['grip']); rules += ruleName + ' {' + ruleStyle + '}\n'; } mainStyle.addRules(rules); // get button settings from cookies wikEdUsing = WikEdGetCookieSetting('wikEdSummaryUsing', wikEdUsingPreset); wikEdUseWikEd = WikEdGetCookieSetting('wikEdUseClassic', wikEdUseWikEdPreset); wikEdHighlightSyntax = WikEdGetCookieSetting('wikEdSyntaxOff', wikEdHighlightSyntaxPreset); wikEdFullScreenMode = WikEdGetCookieSetting('wikEdFullscreen', wikEdFullScreenModePreset); wikEdCloseToolbar = WikEdGetCookieSetting('wikEdCloseToolbar', wikEdCloseToolbarPreset); wikEdRefHide = WikEdGetCookieSetting('wikEdRefHide', wikEdRefHidePreset); wikEdDiff = WikEdGetCookieSetting('wikEdDiff', wikEdDiffPreset); // no fullscreen for preview pages if (window.location.search.match(/(\?|&)action=submit\b/) != null) { wikEdFullScreenMode = false; } // disable wikEd for js pages if ( (typeof(wgTitle) == 'string') && (typeof(wgCanonicalNamespace) == 'string') ) { if (/\.js$/.test(wgTitle) == true) { if ( (wgCanonicalNamespace != 'User_talk') && (wgCanonicalNamespace != 'Talk') ) { if (wikEdOrigVersion.length > 20000) { wikEdUseWikEd = false; } else { wikEdHighlightSyntax = false; } } } } // preset frame related styles to avoid browser crashes var styleFrameBody; var styleFrameWrapperPosition; var styleFrameWrapperVisibility; var styleTextareaWrapperPosition; var styleTextareaWrapperVisibility; if (wikEdUseWikEd == true) { styleFrameBody = 'style="display: block;" '; styleFrameWrapperPosition = 'static'; styleFrameWrapperVisibility = 'visible'; styleTextareaWrapperPosition = 'absolute'; styleTextareaWrapperVisibility = 'hidden'; } else { styleFrameBody = 'style="display: none;" '; styleFrameWrapperPosition = 'absolute'; styleFrameWrapperVisibility = 'hidden'; styleTextareaWrapperPosition = 'static'; styleTextareaWrapperVisibility = 'visible'; } var wikEdInputWrapperClass; if (wikEdFullScreenMode == true) { wikEdInputWrapperClass = 'wikEdInputWrapperFull'; } else { wikEdInputWrapperClass = 'wikEdInputWrapper'; } // create wikEd element wrappers // create input wrapper, this contains the whole fullscreen content wikEdInputWrapper = document.createElement('div'); wikEdInputWrapper.id = 'wikEdInputWrapper'; wikEdInputWrapper.className = wikEdInputWrapperClass; wikEdTextarea.parentNode.insertBefore(wikEdInputWrapper, wikEdTextarea); // create toolbar wrapper wikEdToolbarWrapper = document.createElement('div'); wikEdToolbarWrapper.id = 'wikEdToolbarWrapper'; wikEdToolbarWrapper.className = 'wikEdToolbarWrapper'; wikEdInputWrapper.appendChild(wikEdToolbarWrapper); // create textarea wrapper wikEdTextareaWrapper = document.createElement('div'); wikEdTextareaWrapper.id = 'wikEdTextareaWrapper'; wikEdTextareaWrapper.className = 'wikEdTextareaWrapper'; wikEdTextareaWrapper.style.position = styleTextareaWrapperPosition; wikEdTextareaWrapper.style.visibility = styleTextareaWrapperVisibility; wikEdInputWrapper.appendChild(wikEdTextareaWrapper); // create frame wrapper wikEdFrameWrapper = document.createElement('div'); wikEdFrameWrapper.id = 'wikEdFrameWrapper'; wikEdFrameWrapper.className = 'wikEdFrameWrapper'; wikEdFrameWrapper.style.position = styleFrameWrapperPosition; wikEdFrameWrapper.style.visibility = styleFrameWrapperVisibility; wikEdInputWrapper.appendChild(wikEdFrameWrapper); // create console wrapper for buttons, summary, and submit wikEdConsoleWrapper = document.createElement('div'); wikEdConsoleWrapper.id = 'wikEdConsoleWrapper'; wikEdConsoleWrapper.className = 'wikEdConsoleWrapper'; wikEdInputWrapper.appendChild(wikEdConsoleWrapper); // create buttons wrapper for wikEd buttons wikEdButtonsWrapper = document.createElement('div'); wikEdButtonsWrapper.id = 'wikEdButtonsWrapper'; wikEdButtonsWrapper.className = 'wikEdButtonsWrapper'; if (wikEdButtonsOnTop == true) { wikEdInputWrapper.insertBefore(wikEdButtonsWrapper, wikEdTextareaWrapper); } else { wikEdConsoleWrapper.appendChild(wikEdButtonsWrapper); } // create summary wrapper for summary, minor edit, and watch this page wikEdSummaryWrapper = document.createElement('div'); wikEdSummaryWrapper.id = 'wikEdSummaryWrapper'; // add summary above the edit field if we add a new section (+ tab) if (wikEdAddNewSection == true) { wikEdSummaryWrapper.className = 'wikEdSummaryWrapperTop'; wikEdInputWrapper.insertBefore(wikEdSummaryWrapper, wikEdFrameWrapper); } else { wikEdSummaryWrapper.className = 'wikEdSummaryWrapper'; wikEdConsoleWrapper.appendChild(wikEdSummaryWrapper); } // create summary input wrapper wikEdSummaryInputWrapper = document.createElement('div'); wikEdSummaryInputWrapper.id = 'wikEdSummaryInputWrapper'; wikEdSummaryInputWrapper.className = 'wikEdSummaryInputWrapper'; wikEdSummaryWrapper.appendChild(wikEdSummaryInputWrapper); // create minor edit and watch page wrapper wikEdSummaryOptions = document.createElement('div'); wikEdSummaryOptions.id = 'wikEdSummaryOptions'; wikEdSummaryOptions.className = 'wikEdSummaryOptions'; wikEdSummaryWrapper.appendChild(wikEdSummaryOptions); // create submit wrapper for submit elements wikEdSubmitWrapper = document.createElement('div'); wikEdSubmitWrapper.id = 'wikEdSubmitWrapper'; wikEdSubmitWrapper.className = 'wikEdSubmitWrapper'; wikEdConsoleWrapper.appendChild(wikEdSubmitWrapper); // create submit buttons wrapper for submit buttons and help links wikEdSubmitButtonsWrapper = document.createElement('div'); wikEdSubmitButtonsWrapper.id = 'wikEdSubmitButtonsWrapper'; wikEdSubmitButtonsWrapper.className = 'wikEdSubmitButtonsWrapper'; wikEdSubmitWrapper.appendChild(wikEdSubmitButtonsWrapper); // create preview wrapper for preview and diff box wikEdLocalPrevWrapper = document.createElement('div'); wikEdLocalPrevWrapper.id = 'wikEdLocalPrevWrapper'; wikEdLocalPrevWrapper.className = 'wikEdLocalPrevWrapper'; wikEdLocalPrevWrapper.style.display = 'none'; wikEdInputWrapper.appendChild(wikEdLocalPrevWrapper); // create insert wrapper for insert special chars links wikEdInsertWrapper = document.createElement('div'); wikEdInsertWrapper.id = 'wikEdInsertWrapper'; wikEdInsertWrapper.className = 'wikEdInsertWrapper'; wikEdInputWrapper.appendChild(wikEdInsertWrapper); // append input wrapper to document wpEditform.insertBefore(wikEdInputWrapper, wpEditform.firstChild); // fill the wrappers // wikEdDiff enhanced ajax diff if (typeof(wikEdDiffTable) == 'object') { if ( (wikEdDiffTable != null) && (wikEdDiff == true) ) { if (typeof(WikEdDiff) == 'function') { WikEdDiff(); } } } // add toolbar to toolbar wrapper var wpToolbar = document.getElementById('toolbar'); if (wikEdCloseToolbar == true) { wikEdToolbarWrapper.style.display = 'none'; } else { wikEdToolbarWrapper.style.display = 'block'; } if (wpToolbar != null) { wikEdToolbarWrapper.appendChild(wpToolbar); } // call wikibits:mwSetupToolbar() now because it would terminate with an error after setting textarea to display: none if (wpToolbar != null) { if (wpToolbar.getElementsByTagName('IMG').length == 0) { if (typeof(mwSetupToolbar) == 'function') { mwSetupToolbar(); window.removeEventListener('load', mwSetupToolbar, false); } } } wikEdEditOptions = document.getElementsByName('wpSummary')[0].parentNode; wikEdEditOptions.className = 'wikEdEditOptions'; // add summary elements to summary input wrapper wikEdSummaryLabel = document.getElementById('wpSummaryLabel'); if (wikEdSummaryLabel != null) { wikEdSummaryInputWrapper.appendChild(wikEdSummaryLabel); } wikEdSummaryText = document.getElementsByName('wpSummary')[0]; wikEdSummaryInputWrapper.appendChild(wikEdSummaryText); // move editpage-copywarn out of summary wrapper // needs to be done before appending editOptions to summary wrapper otherwise a linebreak stays (Mozilla bug) var copywarn = document.getElementById('editpage-copywarn'); if (copywarn != null) { wikEdInputWrapper.parentNode.insertBefore(copywarn, wikEdInputWrapper.nextSibling); } // add submit buttons to submit wrapper var wpEditButtons = wikEdSaveButton.parentNode; wikEdSubmitWrapper.insertBefore(wpEditButtons, wikEdSubmitButtonsWrapper); // move edit options after submit buttons; crashes Mozilla when appended after filling the iframe var previewButton = document.getElementById('wpDiff'); previewButton.parentNode.insertBefore(wikEdEditOptions, previewButton.nextSibling); // remove linebreak before minor edit checkbox var node = wikEdEditOptions.firstChild; while (node != null) { if (node.tagName != null) { if (node.tagName == 'BR') { node.parentNode.removeChild(node); break; } } node = node.nextSibling; } // correct tab order between check boxes and submits wikEdPreviewButton = document.getElementById('wpPreview'); wikEdDiffPreviewButton = document.getElementById('wpDiff'); if (wikEdSubmitTabOrder == true) { var wpMinoredit = document.getElementById('wpMinoredit'); var wpWatchthis = document.getElementById('wpWatchthis'); if ( (wpMinoredit != null) && (wpWatchthis != null) ) { var tabIndex = []; tabIndex.push(wpMinoredit.tabIndex, wpWatchthis.tabIndex, wikEdSaveButton.tabIndex, wikEdPreviewButton.tabIndex, wikEdDiffPreviewButton.tabIndex); wikEdSaveButton.tabIndex = tabIndex.shift(); wikEdPreviewButton.tabIndex = tabIndex.shift(); wikEdDiffPreviewButton.tabIndex = tabIndex.shift(); wpMinoredit.tabIndex = tabIndex.shift(); wpWatchthis.tabIndex = tabIndex.shift(); } } // add textarea to textarea wrapper wikEdTextareaWrapper.appendChild(wikEdTextarea); // add edit-frame to frame wrapper // any DOM changes to a starting iframe in designmode may crash mozilla, including DOM move, display: none; and position: absolute; // create the iframe var html = ''; html += '<div id="wikEdFrameOuter" class="wikEdFrameOuter">'; html += '<div id="wikEdFrameInner" class="wikEdFrameInner">'; html += '<iframe id="wikEdFrame" class="wikEdFrame" name="wikEdFrame" style="height: ' + wikEdTextareaHeight + 'px;"></iframe>'; html += '</div>'; html += '</div>'; wikEdFrameWrapper.innerHTML = html; wikEdInputWrapper.insertBefore(wikEdTextareaWrapper, wikEdFrameWrapper); // fill the frame with content html = ''; html += '<html><head></head>'; html += '<body id="wikEdFrameBody" class="wikedFrameBody"' + styleFrameBody + 'onload="window.document.designMode = \'on\'; window.document.execCommand(\'styleWithCSS\', false, false);">'; html += '</body></html>'; wikEdFrame = document.getElementById('wikEdFrame'); wikEdFrameWindow = wikEdFrame.contentWindow; wikEdFrameDocument = wikEdFrameWindow.document; wikEdFrameDocument.open(); wikEdFrameDocument.write(html); wikEdFrameDocument.close(); wikEdFrameBody = wikEdFrameDocument.body; // generate button bars and add them to the buttons wrapper // form wrapper has been added against summary input submit defaulting to this button wikEdButtonBarFormat = MakeButtonBar(wikEdButtonBar['format']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFormat); wikEdButtonBarControl = MakeButtonBar(wikEdButtonBar['control']); wikEdButtonsWrapper.appendChild(wikEdButtonBarControl); if (wikEdButtonBar['custom1'][6].length > 0) { wikEdButtonBarCustom1 = MakeButtonBar(wikEdButtonBar['custom1']); wikEdButtonsWrapper.appendChild(wikEdButtonBarCustom1); } wikEdButtonBarFind = MakeButtonBar(wikEdButtonBar['find']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFind); wikEdButtonBarFix = MakeButtonBar(wikEdButtonBar['fix']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFix); if (wikEdButtonBar['custom2'][6].length > 0) { wikEdButtonBarCustom2 = MakeButtonBar(wikEdButtonBar['custom2']); wikEdButtonsWrapper.appendChild(wikEdButtonBarCustom2); } var br = document.createElement('br'); br.style.clear = 'both'; wikEdButtonsWrapper.appendChild(br); wikEdCaseSensitive = document.getElementById('wikEdCaseSensitive'); wikEdRegExp = document.getElementById('wikEdRegExp'); wikEdFindAhead = document.getElementById('wikEdFindAhead'); wikEdFindText = document.getElementById('wikEdFindText'); wikEdReplaceText = document.getElementById('wikEdReplaceText'); // add preview box top bar to submit wrapper wikEdButtonBarPreview = MakeButtonBar(wikEdButtonBar['preview']); wikEdSubmitWrapper.insertBefore(wikEdButtonBarPreview, wikEdSubmitWrapper.firstChild); // add preview box and its bottom bar to preview wrapper var div = document.createElement('div'); div.id = 'wikEdPreviewBoxOuter'; div.className = 'wikEdPreviewBoxOuter'; wikEdLocalPrevWrapper.appendChild(div); wikEdPreviewBox = document.createElement('div'); wikEdPreviewBox.id = 'wikEdPreviewBox'; wikEdPreviewBox.className = 'wikEdPreviewBox'; div.appendChild(wikEdPreviewBox); wikEdButtonBarPreview2 = MakeButtonBar(wikEdButtonBar['preview2']); wikEdLocalPrevWrapper.appendChild(wikEdButtonBarPreview2); // add jump box to standard preview var wikiPreview = document.getElementById('wikiPreview'); if (wikiPreview != null) { if (wikiPreview.firstChild != null) { wikEdButtonBarJump = MakeButtonBar(wikEdButtonBar['jump']); wikiPreview.insertBefore(wikEdButtonBarJump, wikiPreview.firstChild); } } // add insert special chars to insert wrapper var wpSpecialchars = document.getElementById('editpage-specialchars'); if (wpSpecialchars != null) { wikEdInsertWrapper.appendChild(wpSpecialchars); } // wrappers filled // add local preview button next to submit button wikEdLocalPreview = document.createElement('button'); wikEdLocalPreview.id = 'wikEdLocalPreview'; wikEdLocalPreview.title = wikEdText['wikEdLocalPreview title']; wikEdLocalPreview.className = 'wikEdLocalPreview'; var localPreviewImg = document.createElement('img'); localPreviewImg.id = 'wikEdLocalPreviewImg'; localPreviewImg.src = wikEdImage['preview']; localPreviewImg.alt = wikEdText['wikEdLocalPreviewImg alt']; localPreviewImg.title = wikEdText['wikEdLocalPreviewImg title']; wikEdLocalPreview.appendChild(localPreviewImg); wikEdPreviewButton.parentNode.insertBefore(wikEdLocalPreview, wikEdPreviewButton.nextSibling); // add local diff button next to submit button wikEdLocalDiff = document.createElement('button'); wikEdLocalDiff.id = 'wikEdLocalDiff'; wikEdLocalDiff.title = wikEdText['wikEdLocalDiff title']; wikEdLocalDiff.className = 'wikEdLocalDiff'; var localDiffImg = document.createElement('img'); localDiffImg.id = 'wikEdLocalDiffImg'; localDiffImg.src = wikEdImage['diff']; localDiffImg.alt = wikEdText['wikEdLocalDiffImg alt']; localDiffImg.title = wikEdText['wikEdLocalDiffImg title']; wikEdLocalDiff.appendChild(localDiffImg); wikEdDiffPreviewButton.parentNode.insertBefore(wikEdLocalDiff, wikEdDiffPreviewButton.nextSibling); // initialize image buttons WikEdButton(document.getElementById('wikEdDiff'), 'wikEdDiff', null, wikEdDiff); WikEdButton(document.getElementById('wikEdRefHide'), 'wikEdRefHide', null, wikEdRefHide); WikEdButton(document.getElementById('wikEdHighlightSyntax'), 'wikEdHighlightSyntax', null, wikEdHighlightSyntax); WikEdButton(document.getElementById('wikEdUseWikEd'), 'wikEdUseWikEd', null, wikEdUseWikEd); WikEdButton(document.getElementById('wikEdCloseToolbar'), 'wikEdCloseToolbar', null, wikEdCloseToolbar); WikEdButton(document.getElementById('wikEdFullScreen'), 'wikEdFullScreen', null, wikEdFullScreenMode); WikEdButton(document.getElementById('wikEdUsing'), 'wikEdUsing', null, wikEdUsing); WikEdButton(document.getElementById('wikEdCaseSensitive'), 'wikEdCaseSensitive', null, false); WikEdButton(document.getElementById('wikEdRegExp'), 'wikEdRegExp', null, false); WikEdButton(document.getElementById('wikEdFindAhead'), 'wikEdFindAhead', null, wikEdFindAheadSelected); WikEdButton(document.getElementById('wikEdClose'), 'wikEdClose', null, false, 'wikEdButton'); WikEdButton(document.getElementById('wikEdClose2'), 'wikEdClose2', null, false, 'wikEdButton'); if (wikEdRegExTypoFix == false) { document.getElementById('wikEdFixRegExTypo').style.display = 'none'; } // add a clear summary button left to the summary input field var clearSummaryForm = document.createElement('form'); clearSummaryForm.id = 'wikEdClearSummaryForm'; clearSummaryForm.className = 'wikEdClearSummaryForm'; wikEdSummaryText.parentNode.insertBefore(clearSummaryForm, wikEdSummaryText); wikEdClearSummary = document.createElement('button'); wikEdClearSummary.id = 'wikEdClearSummary'; wikEdClearSummary.className = 'wikEdClearSummary'; wikEdClearSummary.alt = wikEdText['wikEdClearSummary alt']; wikEdClearSummary.title = wikEdText['wikEdClearSummary title']; wikEdClearSummary.style.height = (wikEdSummaryText.clientHeight + 1) +'px'; clearSummaryForm.appendChild(wikEdClearSummary); wikEdClearSummaryImg = document.createElement('img'); wikEdClearSummaryImg.id = 'wikEdClearSummaryImg'; wikEdClearSummaryImg.src = wikEdImage['clearSummary']; wikEdClearSummaryImg.alt = 'Clear summary'; wikEdClearSummary.appendChild(wikEdClearSummaryImg); // remember button width, might be without image wikEdClearSummaryWidth = wikEdClearSummary.offsetWidth; // make the summary a combo box var summaryComboInput = document.createElement('span'); summaryComboInput.id = 'wikEdSummaryComboInput'; summaryComboInput.className = 'wikEdSummaryComboInput'; summaryComboInput = wikEdSummaryText.parentNode.insertBefore(summaryComboInput, wikEdSummaryText); wikEdSummaryText = wikEdSummaryText.parentNode.removeChild(wikEdSummaryText); wikEdSummaryText.className = 'wikEdSummaryText'; var wikEdSummaryTextWidth = wikEdSummaryWrapper.offsetWidth - wikEdSummaryInputWrapper.offsetWidth; if (wikEdSummaryTextWidth < 150) { wikEdSummaryTextWidth = 150; } wikEdSummaryText.style.width = wikEdSummaryTextWidth + 'px'; wikEdSummarySelect = document.createElement('select'); wikEdSummarySelect.id = 'wikEdSummarySelect'; wikEdSummarySelect.className = 'wikEdSummarySelect'; wikEdSummarySelect.onchange = function() { WikEdChangeComboInput('summary'); } wikEdSummarySelect.onfocus = function() { WikEdSetComboOptions('summary'); } summaryComboInput.appendChild(wikEdSummaryText); summaryComboInput.appendChild(wikEdSummarySelect); // shorten submit button texts wikEdPreviewButton.value = wikEdText['shortenedPreview']; wikEdDiffPreviewButton.value = wikEdText['shortenedChanges']; // set up combo input boxes with history wikEdFieldHist ['find'] = []; wikEdCookieName['find'] = 'wikEdFindHistory'; wikEdInputElement['find'] = new Object(wikEdFindText); wikEdSelectElement['find'] = new Object(document.getElementById('wikEdFindSelect')); wikEdSelectElement['find'].style.height = (wikEdInputElement['find'].clientHeight + 1) +'px'; wikEdSelectElement['find'].title = wikEdText['wikEdFindSelect title']; wikEdFieldHist ['replace'] = []; wikEdCookieName['replace'] = 'wikEdReplaceHistory'; wikEdInputElement['replace'] = new Object(wikEdReplaceText); wikEdSelectElement['replace'] = new Object(document.getElementById('wikEdReplaceSelect')); wikEdSelectElement['replace'].style.height = (wikEdInputElement['replace'].clientHeight + 1) +'px'; wikEdSelectElement['replace'].title = wikEdText['wikEdReplaceSelect title']; wikEdFieldHist ['summary'] = []; wikEdCookieName['summary'] = 'wikEdSummaryHistory'; wikEdInputElement['summary'] = new Object(wikEdSummaryText); wikEdSelectElement['summary'] = new Object(document.getElementById('wikEdSummarySelect')); wikEdSelectElement['summary'].style.height = (wikEdInputElement['summary'].clientHeight + 1) +'px'; wikEdSelectElement['summary'].title = wikEdText['wikEdSummarySelect title']; // adjust the select field widths to that of the text input fields WikEdResizeComboInput('find'); WikEdResizeComboInput('replace'); WikEdResizeComboInput('summary'); // hide the button bars per cookie setting WikEdButtonBarInit(wikEdButtonBarFormat); WikEdButtonBarInit(wikEdButtonBarControl); if (wikEdButtonBarCustom1 != null) { WikEdButtonBarInit(wikEdButtonBarCustom1); } WikEdButtonBarInit(wikEdButtonBarFind); WikEdButtonBarInit(wikEdButtonBarFix); if (wikEdButtonBarCustom2 != null) { WikEdButtonBarInit(wikEdButtonBarCustom2); } // display only the textarea or the iframe, dont change the frame if (wikEdUseWikEd == true) { WikEdSetEditArea(true, true); } else { WikEdSetEditArea(false, true); } // add a link to the wikEd help page if ( (wikEdHelpPageLink != '') && (wikEdHelpPageLink != null) ) { var editHelpParent = previewButton; do { editHelpParent = editHelpParent.nextSibling; } while (editHelpParent.tagName != 'SPAN'); var editHelp = editHelpParent.lastChild; while (editHelp.tagName != 'A') { editHelp = editHelp.previousSibling; } wikEdHelpSpan = document.createElement('span'); wikEdHelpSpan.id = 'wikEdHelpSpan'; wikEdHelpSpan.className = 'wikEdHelpSpan'; wikEdHelpSpan.innerHTML = wikEdHelpPageLink; editHelpParent.insertBefore(wikEdHelpSpan, editHelp.nextSibling); wikEdEditHelp = wikEdHelpSpan.parentNode; wikEdEditHelp.id = 'wikEdEditHelp'; wikEdEditHelp.className = 'wikEdEditHelp'; } // add frame stylesheet definition wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; var frameStyle = new WikEdStyleSheet(wikEdFrameDocument); var rules = ''; for (var ruleName in wikEdFrameCSS) { var ruleStyle = wikEdFrameCSS[ruleName]; ruleStyle = ruleStyle.replace(/\{wikEdUnknown\}/g, wikEdImage['unknown']); ruleStyle = ruleStyle.replace(/\{wikEdTab\}/g, wikEdImage['tab']); ruleStyle = ruleStyle.replace(/\{wikEdCtrl\}/g, wikEdImage['ctrl']); ruleStyle = ruleStyle.replace(/\{wikEdBlank\}/g, wikEdImage['blank']); ruleStyle = ruleStyle.replace(/\{wikEdGrip\}/g, wikEdImage['grip']); rules += ruleName + ' {' + ruleStyle + '}\n'; } frameStyle.addRules(rules); // copy the textarea content to the iframe if (wikEdUseWikEd == true) { WikEdUpdateFrame(); } // set the summary shrinking event after loading the 'Clear summary' image handler wikEdClearSummaryImg.addEventListener('load', WikEdShrinkSummaryHandler, true); // set the summary resize event for window resizing window.addEventListener('resize', WikEdResizeSummaryHandler, true); // set frame events wikEdFrameDocument.addEventListener('keydown', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('keyup', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('keypress', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('mouseup', WikEdKeyFrame, true); // set find ahead events wikEdFindText.addEventListener('keyup', WikEdFindAhead, true); // set submit button events wikEdSaveButton.addEventListener('click', WikEdSaveButtonHandler, true); wikEdPreviewButton.addEventListener('click', WikEdPreviewButtonHandler, true); wikEdDiffPreviewButton.addEventListener('click', wikEdDiffPreviewButtonHandler, true); wikEdLocalPreview.addEventListener('click', WikEdLocalPreviewHandler, true); wikEdLocalDiff.addEventListener('click', WikEdLocalDiffHandler, true); // set button bar grip area events wikEdButtonBarFormat.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); wikEdButtonBarControl.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); if (wikEdButtonBarCustom1 != null) { if (wikEdButtonBarCustom1.firstChild.firstChild != null) { wikEdButtonBarCustom1.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); } } wikEdButtonBarFind.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); wikEdButtonBarFix.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); if (wikEdButtonBarCustom2 != null) { if (wikEdButtonBarCustom2.firstChild.firstChild != null) { wikEdButtonBarCustom2.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); } } // set the clear summary onclick handler wikEdClearSummary.addEventListener('click', WikEdClearSummaryHandler, true); // select the text on focus for find and replace fields wikEdFindText.addEventListener('focus', WikEdFindReplaceHandler, true); wikEdReplaceText.addEventListener('focus', WikEdFindReplaceHandler, true); // tab / shift-tab between find and replace fields wikEdFindText.addEventListener('keydown', WikEdFindReplaceHandler, true); wikEdReplaceText.addEventListener('keydown', WikEdFindReplaceHandler, true); // scroll to edit window if it is not a preview page if (scrollToText != false) { if (window.location.search.match(/(\?|&)action=submit\b/) == null) { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper) - 2); } // focus the edit area if (wikEdUseWikEd == true) { wikEdFrameWindow.focus(); } else { wikEdTextarea.setSelectionRange(0, 0); wikEdTextarea.focus(); } } // init MediaWiki file paths for use in regexps if (typeof(wgServer) == 'string') { wikEdServer = wgServer.replace(/(\W)/g, '\\$1'); } if (typeof(wgArticlePath) == 'string') { wikEdArticlePath = wgArticlePath.replace(wgServer, ''); wikEdArticlePrefix = wgArticlePath.replace(/\$1$/, ''); } if (typeof(wgScriptPath) == 'string') { wikEdScriptPath = wgScriptPath.replace(wgServer, ''); } wikEdArticlePath = wikEdArticlePath.replace(/\$1$/, ''); wikEdScriptPath = wikEdScriptPath.replace(/\/?$/, '/'); wikEdArticlePath = wikEdArticlePath.replace(/(\W)/g, '\\$1'); wikEdScriptPath = wikEdScriptPath.replace(/(\W)/g, '\\$1'); // fullscreen mode if (wikEdFullScreenMode == true) { WikEdFullScreen(wikEdFullScreenMode, true); } // overwrite the insertTags function in wikibits.js used by the standard button toolbar and the editpage special chars if (typeof(insertTags) == 'function') { wikeEdInsertTagsOriginal = insertTags; insertTags = WikEdInsertTags; } // reset error indicator WikEdSetLogo(); wikEdLoaded = true; return; } // // WikEdAutoUpdate: check for the latest version // function WikEdAutoUpdate() { // check if autoupdate is enabled if (wikEdAutoUpdate != true) { return; } // check only on non-interaction pages if (/(\?|&)action=/.test(window.location.search) == true) { return; } // check cookie for last update check date var cookie = WikEdGetCookie('wikEdAutoUpdate'); var lastCheck = new Date(cookie); // fix missing or corrupt cookie if (isNaN(lastCheck.valueOf()) == true) { WikEdSetCookie('wikEdAutoUpdate', 'January 1, 1970', 0, '/'); return; } // get the hours since last update check var currentDate = new Date(); var diffHours = (currentDate - lastCheck) / 1000 / 60 / 60; if (diffHours < wikEdAutoUpdateHours) { return; } // save current update check date to cookie WikEdSetCookie('wikEdAutoUpdate', currentDate.toUTCString(), 0, '/'); // allow ajax request from local copy for testing if (wikEdAllowLocalAjax == true) { if (typeof(netscape) == 'object') { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); } } // make the ajax request var ajax = WikEdAjaxInitObject(); if (ajax == null) { return; } ajax.open('GET', wikEdAutoUpdateUrl, true); ajax.send(null); // ajax response handler function ajax.onreadystatechange = function() { if (ajax.readyState != 4) { return; } // get response var html = ajax.responseText; // get current version number from string var ver = wikEdProgramVersion.match(/(\d+)\.(\d+)\.(\d+)(\w?)/); if (ver == null) { return; } var currentVersion = ((Number(ver[1]) * 1000 + Number(ver[2])) * 1000 + Number(ver[3])) * 100 + (ver[4] + '0').charCodeAt(0); // get new version number from string var ver = html.match(/(\d+)\.(\d+)\.(\d+)(\w?)/); if (ver == null) { return; } var newVersion = ((Number(ver[1]) * 1000 + Number(ver[2])) * 1000 + Number(ver[3])) * 100 + (ver[4] + '0').charCodeAt(0); // compare the versions if (currentVersion >= newVersion) { return; } // update wikEd by reloading the page with cache bypassing (equivalent to Shift-Reload or Shift-F5) window.location.reload(true); } return; } // // WikEdShrinkSummaryHandler: shrink the summary after loading the 'Clear summary' image // function WikEdShrinkSummaryHandler(event) { var diffWidth = wikEdClearSummary.offsetWidth - wikEdClearSummaryWidth; wikEdInputElement['summary'].style.width = (wikEdInputElement['summary'].clientWidth - diffWidth) + 'px'; wikEdSelectElement['summary'].style.width = (wikEdSelectElement['summary'].clientWidth - diffWidth) + 'px'; wikEdClearSummaryWidth = wikEdClearSummary.offsetWidth; return; } // // WikEdResizeSummaryHandler: adjust the summary width after resizing the window // function WikEdResizeSummaryHandler(event) { WikEdResizeSummary(); return; } // // WikEdSaveButtonHandler: 'Save page' onclick handler // function WikEdSaveButtonHandler(event) { wikEdSaveButton.removeEventListener('click', WikEdSaveButtonHandler, true); // update textarea if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // add "using wikEd" to summary, not for adding a new section (+ tab) var text = wikEdSummaryText.value; text = text.replace(/^[, ]+/, ''); text = text.replace(/[, ]+$/, ''); WikEdAddToHistory('summary'); if ( (wikEdUsing == true) && (text != '') ) { if (text.lastIndexOf(wikEdSummaryUsing) < 0) { if (wikEdAddNewSection != true) { text += ' ' + wikEdSummaryUsing; } } } wikEdSummaryText.value = text; // submit wikEdSaveButton.click(); // reinstate handler in case the browser back button will be used wikEdSaveButton.addEventListener('click', WikEdSaveButtonHandler, true); return; } // // WikEdPreviewButtonHandler: 'Show preview' onclick handler // function WikEdPreviewButtonHandler(event) { if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } return; } // // wikEdDiffPreviewButtonHandler: 'Show changes' onclick handler // function wikEdDiffPreviewButtonHandler(event) { if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } return; } // // WikEdFollowLinkHandler: open highlighted link in new window/tab // function WikEdFollowLinkHandler(event) { if (event.ctrlKey == true) { if (event.currentTarget.onclick != null) { event.stopPropagation(); var onClickCode = event.currentTarget.onclick.toString(); var linkMatch = onClickCode.match(/\svar linkUrl *= *[\'\"](.*)[\'\"]/); if (linkMatch != null) { var linkUrl = linkMatch[1]; linkUrl = linkUrl.replace(/_/g, ' '); window.open(linkUrl); window.focus(); } } } return; } // // WikEdLocalPreviewHandler: local 'Show preview' image button onclick handler // function WikEdLocalPreviewHandler(event) { event.preventDefault(); WikEdButton(wikEdLocalPreview, 'wikEdLocalPreview'); return; } // // WikEdLocalDiffHandler: local 'Show changes' image button onclick handler // function WikEdLocalDiffHandler(event) { event.preventDefault(); WikEdButton(wikEdLocalDiff, 'wikEdLocalDiff'); return; } // // WikEdButtonBarGripHandler: click, mouseover handler, see also WikEdButtonBarInit() // function WikEdButtonBarGripHandler(event) { event.stopPropagation(); var grip = event.target; var gripWrapper = grip.parentNode; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; var barInnerWrapper = gripWrapper.parentNode; var bar = barInnerWrapper.parentNode; if (event.type == 'click') { buttonsWrapper.style.position = 'static'; // hide the buttons bar if (buttonsWrapper.minimized != true) { barInnerWrapper.className = 'wikedButtonBarInnerWrapperHidden'; gripWrapper.className = 'wikedButtonBarGripWrapperHidden'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperHidden'; buttonsWrapper.widthOriginal = buttonsWrapper.offsetWidth; buttonsWrapper.style.display = 'none'; buttonsWrapper.minimized = true; grip.addEventListener('mouseover', WikEdButtonBarGripHandler, false); WikEdSetCookie(bar.id + 'Hidden', '1', null, '/'); } // unhide the buttons bar else { barInnerWrapper.className = 'wikedButtonBarInnerWrapperVisible'; gripWrapper.className = 'wikedButtonBarGripWrapperVisible'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperVisible'; buttonsWrapper.style.display = 'block'; buttonsWrapper.minimized = false; grip.removeEventListener('mouseover', WikEdButtonBarGripHandler, false); WikEdSetCookie(bar.id + 'Hidden', '', -1, '/'); } } // show the buttons bar on mouseover else if (event.type == 'mouseover') { if (buttonsWrapper.minimized == true) { bar.addEventListener('mouseout', WikEdButtonBarHandler, false); // show buttons to the right if (bar.offsetParent.clientWidth > grip.offsetLeft + grip.offsetWidth + buttonsWrapper.widthOriginal) { buttonsWrapper.style.left = (grip.offsetLeft + grip.offsetWidth) + 'px'; } // show buttons to the left else { buttonsWrapper.style.left = (gripWrapper.offsetLeft - buttonsWrapper.widthOriginal) + 'px'; } // a mozilla bug sometimes gives offsetTop - 1 when the wikEdToolbarWrapper is hidden buttonsWrapper.style.top = gripWrapper.offsetTop + 'px'; buttonsWrapper.style.position = 'absolute'; buttonsWrapper.style.display = 'block'; } } return; } // // WikEdButtonBarGripHandler: mouseout handler // function WikEdButtonBarHandler(event) { event.stopPropagation(); var bar = event.currentTarget; var barInnerWrapper = bar.firstChild; var gripWrapper = barInnerWrapper.firstChild; var grip = gripWrapper.firstChild; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; // hide the buttons if (event.type == 'mouseout') { if (buttonsWrapper.minimized == true) { // filter the events for mouseouts actually leaving the bar if ( ( ( (event.target == grip) || (event.target == gripWrapper) ) && (event.relatedTarget != gripWrapper) && (event.relatedTarget != buttonsWrapper) && (event.relatedTarget != buttons) && (event.relatedTarget.parentNode != buttons) ) || ( ( (event.target.parentNode.parentNode == buttons) || (event.target.parentNode == buttons) || (event.target == buttons) || (event.target == buttonsWrapper) ) && (event.relatedTarget.parentNode.parentNode != buttons) && (event.relatedTarget.parentNode != buttons) && (event.relatedTarget != buttons) && (event.relatedTarget != buttonsWrapper) && (event.relatedTarget != gripWrapper) && (event.relatedTarget != grip) ) ) { bar.removeEventListener('mouseout', WikEdButtonBarHandler, false); buttonsWrapper.style.display = 'none'; buttonsWrapper.style.position = 'static'; } } } return; } // // clear the summary onclick handler // function WikEdClearSummaryHandler(event) { event.preventDefault(); // clear the summary if it is only a paragraph name if ( /^\/\* .*? \*\/ *$/.test(wikEdSummaryText.value) ) { wikEdSummaryText.value = ''; } // clear the summary but leave paragraph names else { wikEdSummaryText.value = wikEdSummaryText.value.replace(/^((\/\* .*? \*\/ *)?).*/, function (p, p1, p2) { if (p1.length > 0) { p1 = p1 + ' '; } return(p1); } ); } wikEdSummaryText.focus(); return; } // // WikEdFindReplaceHandler: find and replace: tab and shift-tab between fields, select on focus // function WikEdFindReplaceHandler(event) { // tab / shift-tab between fields if (event.type == 'keydown') { if (event.keyCode == 9) { if (event.target == wikEdFindText) { event.preventDefault(); wikEdReplaceText.removeEventListener('focus', WikEdFindReplaceHandler, true); wikEdReplaceText.focus(); wikEdReplaceText.addEventListener('focus', WikEdFindReplaceHandler, true); } else if (event.target == wikEdReplaceText) { event.preventDefault(); wikEdFindText.removeEventListener('focus', WikEdFindReplaceHandler, true); wikEdFindText.focus(); wikEdFindText.addEventListener('focus', WikEdFindReplaceHandler, true); } } } // select on focus else if (event.type == 'focus') { event.target.setSelectionRange(0, this.textLength); } return; } // // WikEdSetLogo: set the logo on top of the page // function WikEdSetLogo(state) { if (state == 'error') { wikEdLogo.src = wikEdImage['error']; wikEdLogo.alt = wikEdText['wikEdLogo error alt']; wikEdLogo.title = wikEdText['wikEdLogo error title']; } else if (state == 'browser') { wikEdLogo.src = wikEdImage['browser']; wikEdLogo.alt = wikEdText['wikEdLogo browser alt']; wikEdLogo.title = wikEdText['wikEdLogo browser title']; } else { if (wikEdDisabled == true) { wikEdLogo.src = wikEdImage['disabled']; wikEdLogo.alt = wikEdText['wikEdLogo disabled alt']; wikEdLogo.title = wikEdText['wikEdLogo disabled title']; } else { wikEdLogo.src = wikEdImage['logo']; wikEdLogo.alt = wikEdText['wikEdLogo alt']; wikEdLogo.title = wikEdText['wikEdLogo title']; } } wikEdLogo.title = wikEdLogo.title.replace(/\{wikEdProgramVersion\}/g, wikEdProgramVersion); wikEdLogo.title = wikEdLogo.title.replace(/\{wikEdProgramDate\}/g, wikEdProgramDate); return; } // // MakeButtonBar: generate button bar div element // function MakeButtonBar(bar) { // id outer, class outer, id inner, class inner, alt, button numbers var barId = bar[0]; var barClass = bar[1]; var buttonsId = bar[2]; var buttonsClass = bar[3]; var barHeight = bar[4]; var gripTitle = bar[5]; var buttonNumbers = bar[6]; // collect the buttons var buttons = ''; for (var property in buttonNumbers) { switch (buttonNumbers[property]) { case 'br': buttons += '<br />'; break; case 'find': buttons += '<span class="wikEdFindComboInput" id="wikEdFindComboInput">'; buttons += '<input class="wikEdCombo" id="wikEdFindText" type="text" value="">'; buttons += '<select class="wikEdCombo" id="wikEdFindSelect" onfocus="javascript:WikEdSetComboOptions(\'find\')" onChange="javascript:WikEdChangeComboInput(\'find\');">'; buttons += '</select>'; buttons += '</span>'; break; case 'replace': buttons += '<span class="wikEdReplaceComboInput" id="wikEdReplaceComboInput">'; buttons += '<input class="wikEdCombo" id="wikEdReplaceText" type="text" value="">'; buttons += '<select class="wikEdCombo" id="wikEdReplaceSelect" onfocus="WikEdSetComboOptions(\'replace\')" onChange="javascript:WikEdChangeComboInput(\'replace\');">'; buttons += '</select>'; buttons += '</span>'; break; default: var currButton = wikEdButton[buttonNumbers[property]]; if (typeof(currButton) != 'object') { alert('Loading error: The button "' + buttonNumbers[property] + '" is not defined.'); } if ( (currButton[0] == 'wikEdSource') && (wikEdShowSourceButton != true) ) { break; } if ( (currButton[0] == 'wikEdUsing') && (wikEdShowUsingButton != true) ) { break; } buttons += '<img id="' + currButton[0] + '" class="' + currButton[1] + '" title="' + currButton[2] + '" src="' + currButton[3] + '" width="' + currButton[4] + '" height="' + currButton[5] + '" alt="' + currButton[6] + '" onClick="' + currButton[7] + '">'; } } // create the button bar div var div = document.createElement('div'); div.id = barId; div.className = barClass; var buttonsStyle = ''; if (barHeight > 0) { buttonsStyle = ' style="height: ' + barHeight + 'px;"'; } // make a grip bar var html = ''; if (gripTitle != null) { var gripStyle = 'width: ' + wikEdButtonBarGripWidth + 'px; '; if (barHeight > 0) { gripStyle += 'height: ' + barHeight + 'px; '; } if (gripStyle.length > 0){ gripStyle = ' style="' + gripStyle + '"'; } html += '<div class="wikedButtonBarInnerWrapperVisible" style="height: ' + barHeight + 'px;">'; html += '<div class="wikedButtonBarGripWrapperVisible">'; html += '<div class="wikedButtonBarGrip"' + gripStyle + ' title="' + gripTitle + '">'; html += '&nbsp;'; html += '</div>'; html += '</div>'; html += '<div class="wikedButtonBarButtonsWrapperVisible"' + buttonsStyle + '>'; html += '<div id="' + buttonsId + '" class="' + buttonsClass + '" style="">'; html += buttons; html += '</div>'; html += '</div>'; html += '</div>'; } // make a standard no-grip bar else { html += '<div id="' + buttonsId + '" class="' + buttonsClass + '"' + buttonsStyle + '">'; html += buttons; html += '</div>'; } div.innerHTML = html; return(div); } // // WikEdButtonBarInit: hide buttons bar, see also WikEdButtonBarGripHandler() // function WikEdButtonBarInit(bar) { var cookie = WikEdGetCookie(bar.id + 'Hidden'); if (cookie != '') { var barInnerWrapper = bar.firstChild; var gripWrapper = barInnerWrapper.firstChild; var grip = gripWrapper.firstChild; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; barInnerWrapper.className = 'wikedButtonBarInnerWrapperHidden'; gripWrapper.className = 'wikedButtonBarGripWrapperHidden'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperHidden'; buttonsWrapper.widthOriginal = buttonsWrapper.offsetWidth; buttonsWrapper.style.display = 'none'; buttonsWrapper.minimized = true; grip.addEventListener('mouseover', WikEdButtonBarGripHandler, true); } return; } // // WikEdSetEditArea: apply css changes to switch between classic textarea and rich text frame // function WikEdSetEditArea(useFrame, notFrame) { // turn rich text frame on if (useFrame == true) { wikEdTextareaWrapper.style.position = 'absolute'; wikEdTextareaWrapper.style.visibility = 'hidden'; wikEdTextarea.style.display = 'none'; if (notFrame != true) { wikEdFrameWrapper.style.position = 'static'; wikEdFrameWrapper.style.visibility = 'visible'; wikEdFrameBody.style.display = 'block'; } if (document.getElementById('toolbar') != null) { if (wikEdCloseToolbar == true) { wikEdToolbarWrapper.style.display = 'none'; } else { wikEdToolbarWrapper.style.display = 'block'; } } wikEdButtonBarFormat.style.display = 'block'; if (wikEdButtonBarCustom1 != null) { wikEdButtonBarCustom1.style.display = 'block'; } wikEdButtonBarFind.style.display = 'block'; wikEdButtonBarFix.style.display = 'block'; if (wikEdButtonBarCustom2 != null) { wikEdButtonBarCustom2.style.display = 'block'; } wikEdButtonBarControl.style.display = 'block'; } // turn classic textarea on else { if (notFrame != true) { wikEdFrameWrapper.style.position = 'absolute'; wikEdFrameWrapper.style.visibility = 'hidden'; // Mozilla or wikEd bug: <br> insertion before text a while after setting display to 'none', test with setTimeout('alert(wikEdFrameBody.innerHTML)', 1000); // wikEdFrameBody.style.display = 'none'; } wikEdTextareaWrapper.style.position = 'static'; wikEdTextareaWrapper.style.visibility = 'visible'; wikEdTextarea.style.display = 'block'; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'block'; } wikEdButtonBarFormat.style.display = 'none'; if (wikEdButtonBarCustom1 != null) { wikEdButtonBarCustom1.style.display = 'none'; } wikEdButtonBarFind.style.display = 'none'; wikEdButtonBarFix.style.display = 'none'; if (wikEdButtonBarCustom2 != null) { wikEdButtonBarCustom2.style.display = 'none'; } wikEdButtonBarControl.style.display = 'block'; } return; } // // WikEdButton: toggle or set button checked state // used for buttons that do not require nor change the text. Faster than WikEdEditButton() // function WikEdButton(buttonObj, whichButton, toggleButton, setButton, classButton, doButton) { if (buttonObj != null) { // check if the button is disabled if (buttonObj.className == 'wikEdButtonInactive') { return; } // set button to pressed, set cursor to hourglass buttonObj.style.cursor = 'wait'; // init the button if (setButton != null) { if (setButton == false) { buttonObj.checked = false; if (classButton == null) { buttonObj.className = 'wikEdButtonUnchecked'; } } else { buttonObj.checked = true; if (classButton == null) { buttonObj.className = 'wikEdButtonChecked'; } } } else if (classButton != null) { buttonObj.className = classButton; } // toggle the button if (toggleButton != null) { if (toggleButton == true) { if (buttonObj.checked == true) { buttonObj.checked = false; buttonObj.className = 'wikEdButtonUnchecked'; } else { buttonObj.checked = true; buttonObj.className = 'wikEdButtonChecked'; } } } } // perform specific actions if ( ( (setButton == null) && (classButton == null) ) || (doButton == true) ) { // remove active content WikEdRemoveElements(['script', 'object', 'applet', 'embed']); switch (whichButton) { // switch between syntax highlighting and plain text case 'wikEdHighlightSyntax': var obj = {}; obj.html = wikEdFrameBody.innerHTML; obj.html = obj.html.replace(/(<br\b[^>]*>)\n* */g, '$1'); if (buttonObj.checked == true) { WikEdRemoveHighlighting(obj); wikEdHighlightSyntax = true; obj.html = obj.html.replace(/<br\b[^>]*>/g, '\n'); WikEdHighlightSyntax(obj); obj.html = obj.html.replace(/\n/g, '<br />'); WikEdSetCookie('wikEdSyntaxOff', '', -1, '/'); } else { wikEdHighlightSyntax = false; WikEdRemoveHighlighting(obj); obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); WikEdSetCookie('wikEdSyntaxOff', '1', 0, '/'); } wikEdFrameBody.innerHTML = obj.html; break; // align textbox with display top case 'wikEdScrollToPreview': case 'wikEdScrollToPreview2': case 'wikEdScrollToPreview3': window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); break; // align edit buttons with display top case 'wikEdScrollToEdit': case 'wikEdScrollToEdit2': case 'wikEdScrollToEdit3': case 'wikEdScrollToEdit4': window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); break; // cycle through different font sizes case 'wikEdTextZoomDown': wikEdTextZoom = wikEdTextZoom / 1.2; if (wikEdTextZoom < 100 / 1.2 / 1.2) { wikEdTextZoom = 100 * 1.2 * 1.2; } wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; break; // cycle through different font sizes case 'wikEdTextZoomUp': wikEdTextZoom = wikEdTextZoom * 1.2; if (wikEdTextZoom > 100 * 1.2 * 1.2) { wikEdTextZoom = 100 / 1.2 / 1.2; } wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; break; // display local preview box case 'wikEdLocalPreview': if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // scroll to edit or preview field if (whichButton == 'wikEdLocalPreview') { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } else { window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); } // prepare a local preview (Pilaf's InstaView) if ( (wikEdUseLocalPreview == true) && (typeof(InstaView) == 'object') ) { InstaView.conf.user.name = wgUserName; wikEdPreviewBox.innerHTML = InstaView.convert(wikEdTextarea.value); wikEdLocalPrevWrapper.style.display = 'block'; } // prepare ajax preview if ( (wikEdUseAjaxPreview == true) && (typeof(sajax_init_object) == 'function') ) { wikEdLocalPrevWrapper.style.display = 'block'; // prepare the data var boundary = '--(fR*3briuStOum6#v)--'; var postData = document.getElementById('wpTextbox1').value; postData = '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + postData + '\n--' + boundary; // allow ajax request from local copy for testing if (wikEdAllowLocalAjax == true) { if (typeof(netscape) == 'object') { if (typeof(netscape) == 'object') { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); } } } // make the ajax request var ajax = WikEdAjaxInitObject(); if (ajax == null) { break; } ajax.open('POST', document.editform.action + '&live', true); ajax.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary); if (ajax.overrideMimeType != null) { ajax.overrideMimeType('text/html'); } ajax.send(postData); // ajax response handler function ajax.onreadystatechange = function() { if (ajax.readyState != 4) { return; } // get response var html = ajax.responseText; // html-ize html = html.replace(/&lt;/g, '<'); html = html.replace(/&gt;/g, '>'); html = html.replace(/&amp;/g, '&'); html = html.replace(/&quot;/g, '"') html = html.replace(/&apos;/g, '\''); html = html.replace(/(<preview>)<h2>.*?<\/h2>(.|\n)*?<div class=\'previewnote\'>(.|\n)*?<\/div>/, '$1'); // update the preview wikEdPreviewBox.innerHTML = html; }; } break; // display local diff box case 'wikEdDiffPreview': case 'wikEdDiffPreview2': case 'wikEdLocalDiff': if (typeof(WDiffString) != 'function') { break; } if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // scroll to edit or preview field if (whichButton == 'wikEdLocalDiff') { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } else { window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); } // call external diff program var diffText = WDiffString(wikEdOrigVersion, wikEdTextarea.value); if (wikEdFullDiff != true) { diffText = WDiffShortenOutput(diffText); } wikEdPreviewBox.innerHTML = diffText; wikEdLocalPrevWrapper.style.display = 'block'; break; // toggle wikEdDiff case 'wikEdDiff': // turn wikEdDiff off if (buttonObj.checked != true) { wikEdDiff = false; WikEdSetCookie('wikEdDiff', '', -1, '/'); if (typeof(wikEdDiffDiv) == 'object') { wikEdDiffDiv.style.display = 'none'; } window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } // turn wikEdDiff on else { wikEdDiff = true; WikEdSetCookie('wikEdDiff', '1', 0, '/'); if (typeof(wikEdDiffDiv) == 'object') { wikEdDiffDiv.style.display = 'block'; window.scroll(0, WikEdGetOffsetTop(wikEdDiffDiv)); WikEdDiff(); } } break; // close the preview / diff box case 'wikEdClose': case 'wikEdClose2': window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); wikEdLocalPrevWrapper.style.display = 'none'; break; // switch between textarea and frame display // switching an iframe in design mode immediately after initialization between absolute/static may crash mozilla case 'wikEdUseWikEd': // enble wikEd if (buttonObj.checked == true) { WikEdUpdateFrame(); // turn rich text frame on WikEdSetEditArea(true); wikEdUseWikEd = true; WikEdSetCookie('wikEdUseClassic', '', -1, '/'); } // turn classic textarea on, disable wikEd else { WikEdUpdateTextarea(); WikEdSetEditArea(false); wikEdUseWikEd = false; WikEdSetCookie('wikEdUseClassic', '1', 0, '/'); } break; // add "using wikEd" to summaries case 'wikEdUsing': if (buttonObj.checked == true) { wikEdUsing = true; WikEdSetCookie('wikEdSummaryUsing', '1', 0, '/'); } else { wikEdUsing = false; WikEdSetCookie('wikEdSummaryUsing', '', -1, '/'); } break; // hide ref tags case 'wikEdRefHide': if (buttonObj.checked == true) { wikEdRefHide = true; WikEdSetCookie('wikEdRefHide', '1', 0, '/'); } else { wikEdRefHide = false; WikEdSetCookie('wikEdRefHide', '', -1, '/'); } if (wikEdUseWikEd == true) { WikEdEditButton(null, 'wikEdWikify', 'whole'); } break; // close the toolbar case 'wikEdCloseToolbar': if (buttonObj.checked == true) { wikEdCloseToolbar = true; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'none'; } WikEdSetCookie('wikEdCloseToolbar', '1', 0, '/'); } else { wikEdCloseToolbar = false; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'block'; } WikEdSetCookie('wikEdCloseToolbar', '', -1, '/'); } if (wikEdFullScreenMode == true) { WikEdFullScreen(wikEdFullScreenMode); } break; // just toggle the case sensitive search button case 'wikEdCaseSensitive': break; // just toggle the regexp search button case 'wikEdRegExp': break; // just toggle the find-ahead-as-you-type search button case 'wikEdFindAhead': break; // switch to fullscreen edit area case 'wikEdFullScreen': if (buttonObj.checked == true) { WikEdFullScreen(true); WikEdSetCookie('wikEdFullscreen', '1', 0, '/'); } else { WikEdFullScreen(false); WikEdSetCookie('wikEdFullscreen', '', -1, '/'); } break; // clear the cookies for find, replace, and summary history case 'wikEdClearHistory': WikEdClearHistory('find'); WikEdClearHistory('replace'); WikEdClearHistory('summary'); break; // for testing case 'wikEdPlaceholder': break; } } // reset the frame DOM cache because the frame content might have changed wikEdFrameDOMCache = null; // reset cursor to normal if (buttonObj != null) { buttonObj.style.cursor = 'pointer'; } return; } // // WikEdEditButton: editing functions // used for buttons that require or change the text, more time consuming than WikEdButton() // function WikEdEditButton(buttonObj, whichButton, parameters, CustomHandler) { // check if button is disabled if (buttonObj != null) { if (buttonObj.className == 'wikEdButtonInactive') { return; } } // remove active and non-text content WikEdRemoveElements(['script', 'object', 'applet', 'embed', 'textarea']); // select the appropriate text change targets (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) var obj = {}; obj.changed = {}; switch (whichButton) { // undo, redo: whole case 'wikEdUndo': case 'wikEdRedo': case 'wikEdUndoAll': case 'wikEdRedoAll': WikEdGetText(obj, 'whole'); obj.changed = obj.whole; break; // basic wiki character formatting: selection / focusWord / cursor case 'wikEdBold': case 'wikEdItalic': case 'wikEdUnderline': case 'wikEdStrikethrough': case 'wikEdNowiki': case 'wikEdSuperscript': case 'wikEdSubscript': case 'wikEdWikiLink': case 'wikEdWebLink': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // reference: selection / cursor case 'wikEdRef': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } break; // references and small references: selection / cursor case 'wikEdReferences': case 'wikEdReferencesSection': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } break; // character formatting: selection / focusWord / cursor case 'wikEdCase': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // multiple line changes: selectionLine / focusLine / cursor case 'wikEdDecreaseHeading': case 'wikEdIncreaseHeading': case 'wikEdIncreaseBulletList': case 'wikEdDecreaseBulletList': case 'wikEdIncreaseNumberList': case 'wikEdDecreaseNumberList': case 'wikEdIncreaseIndentList': case 'wikEdDecreaseIndentList': case 'wikEdDefinitionList': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionLine'); obj.changed = obj.selectionLine; } else { WikEdGetText(obj, 'focusLine'); if (obj.focusLine.plain != '') { obj.changed = obj.focusLine; } else { obj.changed = obj.cursor; } } break; // image: selectionWord (if text is selected) / cursor case 'wikEdImage': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionWord'); obj.changed = obj.selectionWord; } else { obj.changed = obj.cursor; } break; // table: selectionLine / cursor case 'wikEdTable': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionLine'); obj.changed = obj.selectionLine; } else { WikEdGetText(obj, 'focusLine'); obj.changed = obj.cursor; } break; // wikify: selection / whole case 'wikEdWikify': if (parameters == 'whole') { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } else { WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } } break; // textify: selection / whole, without wikifying case 'wikEdTextify': WikEdGetText(obj, 'selection', true); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole', true); obj.changed = obj.whole; } break; // redirect: whole case 'wikEdRedirect': WikEdGetText(obj, 'whole, selection, cursor'); if (obj.selection.plain == '') { WikEdGetText(obj, 'selectionWord'); } obj.changed = obj.whole; break; // find and replace: selection / focusWord / cursor case 'wikEdFindPrev': case 'wikEdFindNext': case 'wikEdJumpPrev': case 'wikEdJumpNext': case 'wikEdReplacePrev': case 'wikEdReplaceNext': case 'wikEdFindAll': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // replace all: selection / whole case 'wikEdReplaceAll': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } break; // fixing buttons: selection / whole case 'wikEdFixBasic': case 'wikEdfixUnicode': case 'wikEdFixAll': case 'wikEdFixHtml': case 'wikEdFixRegExTypo': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole } break; // fixing buttons: selection / focusLine / cursor case 'wikEdFixPunct': case 'wikEdFixMath': case 'wikEdFixUnits': case 'wikEdFixDashes': case 'wikEdFixCaps': case 'wikEdFixChem': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusLine'); if (obj.focusLine.plain != '') { obj.changed = obj.focusLine; } else { obj.changed = obj.cursor; } } break; // fixing buttons: selection / focusWord / cursor WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // source: selection / whole case 'wikEdSource': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } break; // insert tags: selection / focusWord / cursor case 'wikEdInsertTags': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.selection; } } break; // custom edit functions have to call WikEdGetText() themselves default: WikEdGetText(obj, 'cursor'); obj.changed = obj.cursor; break; } // exit if (obj.changed == null) { wikEdFrameWindow.focus(); // reset button to active, reset cursor if (buttonObj != null) { if (buttonObj.className != 'wikEdButtonInactive') { buttonObj.className = 'wikEdButton'; } } return; } // set local syntax highlighting flag var highlightSyntax = wikEdHighlightSyntax; // manipulate the text var selectChange = true; switch (whichButton) { // undo case 'wikEdUndo': if (wikEdLastVersion == null) { wikEdLastVersion = obj.changed.plain; } WikEdFrameExecCommand('undo'); obj.changed.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); obj.changed.plain = null; obj.changed.keepSel = true; break; // redo case 'wikEdRedo': WikEdFrameExecCommand('redo'); obj.changed.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); obj.changed.plain = null; obj.changed.keepSel = true; break; // bold case 'wikEdBold': if ( /\'\'\'([^\'].*?)\'\'\'/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\'\'\'([^\'].*?)\'\'\'/g, '$1'); } else { obj.changed.plain = '\'\'\'' + obj.changed.plain + '\'\'\''; obj.changed.plain = obj.changed.plain.replace(/(\'\'\')( *)(.*?)( *)(\'\'\')/, '$2$1$3$5$4'); } obj.changed.plain = obj.changed.plain.replace(/\'{6,}/g, '\'\'\'\'\''); obj.changed.keepSel = true; break; // italic case 'wikEdItalic': if ( /(\'{3,})\'\'([^\'].*?)\'\'(\'{3,})/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/(\'{3,})\'\'([^\'].*?)\'\'(\'{3,})/g, '$1$2$3'); } else if ( /(^|[^\'])\'\'([^\'].*?)\'\'([^\']|$)/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/(^|[^\'])\'\'([^\'].*?)\'\'([^\']|$)/g, '$1$2$3'); } else { obj.changed.plain = '\'\'' + obj.changed.plain + '\'\''; obj.changed.plain = obj.changed.plain.replace(/(\'\')( *)(.*?)( *)(\'\')/, '$2$1$3$5$4'); } obj.changed.plain = obj.changed.plain.replace(/\'{6,}/g, '\'\'\'\'\''); obj.changed.keepSel = true; break; // underline case 'wikEdUnderline': if ( /&lt;u&gt;(.*?)&lt;\/u&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;u&gt;(.*?)&lt;\/u&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;u&gt;' + obj.changed.plain + '&lt;\/u&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;u&gt;)( *)(.*?)( *)(&lt;\/u&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // strikethrough case 'wikEdStrikethrough': if ( /&lt;s&gt;(.*?)&lt;\/s&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;s&gt;(.*?)&lt;\/s&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;s&gt;' + obj.changed.plain + '&lt;\/s&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;s&gt;)( *)(.*?)( *)(&lt;\/s&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // nowiki case 'wikEdNowiki': if ( /&lt;nowiki&gt;(.*?)&lt;\/nowiki&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;nowiki&gt;(.*?)&lt;\/nowiki&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;nowiki&gt;' + obj.changed.plain + '&lt;\/nowiki&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;nowiki&gt;)( *)(.*?)( *)(&lt;\/nowiki&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // superscript case 'wikEdSuperscript': if ( /&lt;sup&gt;(.*?)&lt;\/sup&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;sup&gt;(.*?)&lt;\/sup&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;sup&gt;' + obj.changed.plain + '&lt;/sup&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;sup&gt;)( *)(.*?)( *)(&lt;\/sup&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // subscript case 'wikEdSubscript': if ( /&lt;sub&gt;(.*?)&lt;\/sub&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;sub&gt;(.*?)&lt;\/sub&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;sub&gt;' + obj.changed.plain + '&lt;/sub&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;sub&gt;)( *)(.*?)( *)(&lt;\/sub&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // in-text reference case 'wikEdRef': if (obj.changed.plain == '') { obj.changed.plain = '&lt;ref name=\"\"/&gt;'; } else if ( /&lt;ref name=\"\" ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = ''; } else if ( /&lt;ref( name=\"\")?&gt;(.*?)&lt;\/ref&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;ref( name=\"\")?&gt;(.*?)&lt;\/ref&gt;/gi, '$2'); } else { obj.changed.plain = '&lt;ref name=\"\"&gt;' + obj.changed.plain + '&lt;/ref&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;ref name=\"\"&gt;)( *)(.*?)( *)(&lt;\/ref&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // references location case 'wikEdReferences': case 'wikEdReferencesSection': var ref = wikEdText['wikEdReferencesSection']; ref = ref.replace(/</g, '&lt;'); ref = ref.replace(/>/g, '&gt;'); var refEscaped = ref; refEscaped = refEscaped.replace(/([^\w\s\;\&])/g, '\\$1'); refEscaped = refEscaped.replace(/^\n|\n$/g, '\\n*'); refEscaped = refEscaped.replace(/(\n)/g, '\\n'); var regExp = new RegExp(refEscaped, 'gi'); // plain references tag if (whichButton == 'wikEdReferences') { if (obj.changed.plain == '') { obj.changed.plain = '&lt;references/&gt;'; } else if (regExp.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExp, ''); } else if ( /&lt;references ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;references ?\/&gt;/gi, ''); } else { obj.changed = obj.cursor; obj.changed.plain = '&lt;references/&gt;'; } } // complete references code else { if (obj.changed.plain == '') { obj.changed.plain = ref; } else if (regExp.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExp, ''); } else if ( /&lt;references ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;references ?\/&gt;/gi, ''); } else { obj.changed = obj.cursor; obj.changed.plain = ref; } } obj.changed.keepSel = true; break; // toggle lowercase / uppercase case 'wikEdCase': // lowercase all uppercased text if (obj.changed.plain == '') { obj.changed.plain = null; } else { if (obj.changed.plain.toUpperCase() == obj.changed.plain) { obj.changed.plain = obj.changed.plain.toLowerCase(); } // first-letter-uppercase all lowercased text else if (obj.changed.plain.toLowerCase() == obj.changed.plain) { obj.changed.plain = obj.changed.plain.replace(/\b([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*)/g, function (p, p1, p2) { return(p1.toUpperCase() + p2.toLowerCase()); } ); } // uppercase mixed upper and lowercased text else { obj.changed.plain = obj.changed.plain.toUpperCase(); } } obj.changed.keepSel = true; break; // undo all case 'wikEdUndoAll': if (wikEdLastVersion == null) { wikEdLastVersion = obj.changed.plain; } obj.changed.plain = wikEdOrigVersion; obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); break; // redo all case 'wikEdRedoAll': if (wikEdLastVersion != null) { obj.changed.plain = wikEdLastVersion; } break; // create wikilink case 'wikEdWikiLink': if ( /\[\[(.*?)\]\]/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\[\[(.*?)\]\]/g, '$1'); } else { obj.changed.plain = '\[\[' + obj.changed.plain + '\]\]'; obj.changed.plain = obj.changed.plain.replace(/(\[\[)( *)(.*?)( *)(\]\])/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // create weblink case 'wikEdWebLink': if ( /\[(.*?)\]/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\[(.*?)\]/g, '$1'); } else { obj.changed.plain = '\[' + obj.changed.plain + '\]'; obj.changed.plain = obj.changed.plain.replace(/(\[)( *)(.*?)( *)(\])/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // decrease heading level case 'wikEdDecreaseHeading': // decrease heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)=(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); // remove heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)=(?!=) *([^\n]*?) *=+(?=\n|$)/g, '$1$2'); // adjust closing tags obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); obj.changed.keepSel = true; break; // increase heading level case 'wikEdIncreaseHeading': // increase heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1=$2 $3 $2='); // create new heading if (/\n/.test(obj.changed.plain) == false) { obj.changed.plain = obj.changed.plain.replace(/(^|\n)([^=\n\s][^\n]*?)(?=\n|$)/g, '$1== $2 =='); } // adjust closing tags obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); obj.changed.keepSel = true; break; // increase bullet list case 'wikEdIncreaseBulletList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, '*$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease bullet list case 'wikEdDecreaseBulletList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\* */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // increase numbered list case 'wikEdIncreaseNumberList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, '#$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease numbered list case 'wikEdDecreaseNumberList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\# */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // increase indented list case 'wikEdIncreaseIndentList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, ':$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease indented list case 'wikEdDecreaseIndentList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\# */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // create definition list case 'wikEdDefinitionList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([^\s\;]+) */g, '; $1 : '); return(p1); } ); break; // create image case 'wikEdImage': if (obj.changed.plain != '') { obj.changed.plain = '[[Image:<span class="wikEdInsertHere">' + wikEdText['image filename'] + '</span>|thumb|<span class="wikEdInsertHere">' + wikEdText['image width'] + '</span>px|' + obj.changed.plain + ']]'; } else { obj.changed.plain = '[[Image:<span class="wikEdInsertHere">' + wikEdText['image filename'] + '</span>|thumb|<span class="wikEdInsertHere">' + wikEdText['image width'] + '</span>px|<span class="wikEdInsertHere"> </span>]]'; if (obj.focusWord != null) { if (obj.focusWord.plain != '') { obj.changed.plain = ' ' + obj.changed.plain + ' '; } } } break; // create table case 'wikEdTable': if (obj.changed.plain != '') { obj.changed.plain = obj.changed.plain.replace(/(^|\n) */g, '\n|-\n| '); obj.changed.plain = obj.changed.plain.replace(/^\n\|\-\n/, '\n{| class="wikitable"\n'); obj.changed.plain = obj.changed.plain.replace(/$/g, '\n|}\n'); } else { obj.changed.plain = '\n{| class="wikitable"\n|+ <span class="wikEdInsertHere">' + wikEdText['table caption'] + '</span>\n! <span class="wikEdinserthere">' + wikEdText['table heading'] + '</span> !! <span class="wikEdInsertHere">' + wikEdText['table heading'] + '</span>\n|-\n| <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span> || <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span>\n|-\n| <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span> || <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span>\n|}\n'; if (obj.focusLine.plain != '') { obj.changed.plain = '\n' + obj.changed.plain + '\n'; } } break; // wikify: always done above case 'wikEdWikify': break; // textify: strip html from pasted content case 'wikEdTextify': WikEdTextify(obj.changed); break; // get inner html without wikifying if (obj.selection.plain != '') { obj.selection.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var documentFragment = obj.selection.range.cloneContents(); WikEdGetInnerHTML(objTextify, documentFragment); } else { obj.changed.from = 'whole'; obj.changed.range.setStartBefore(wikEdFrameBody.firstChild); obj.changed.range.setEndAfter(wikEdFrameBody.lastChild); WikEdGetInnerHTML(objTextify, wikEdFrameBody); } break; // redirect case 'wikEdRedirect': var linkTarget; if (obj.selection.plain != '') { linkTarget = obj.selection.plain; } else if (obj.selectionWord.plain != '') { linkTarget = obj.selectionWord.plain; } else { linkTarget = '<span class="wikEdInsertHere">' + wikEdText['redirect article link'] + '</span>'; } // remove leading and trailing spaces linkTarget = linkTarget.replace(/^\s+|\s+$/g, ''); // remove link text linkTarget = linkTarget.replace(/\|.*?(\]|$)/g, '$1'); // remove square brackets linkTarget = linkTarget.replace(/\[|\]/g, ''); // remove link leftovers linkTarget = linkTarget.replace(/ +\| +/g, ' '); obj.changed.plain = '#redirect [[' + linkTarget + ']]'; // append to summary if ( (obj.selection.plain != '') || (obj.selectionWord.plain != '') ) { wikEdInputElement['summary'].value = wikEdInputElement['summary'].value.replace(/#redirect( \[\[[^\]]*\]\])?(, *)?/g, ''); wikEdInputElement['summary'].value = WikEdAppendToSummary(wikEdInputElement['summary'].value, '#redirect [[' + linkTarget + ']]'); } else { wikEdInputElement['summary'].value = WikEdAppendToSummary(wikEdInputElement['summary'].value, '#redirect'); } selectChange = false; break; // find and replace case 'wikEdFindPrev': case 'wikEdFindNext': case 'wikEdJumpPrev': case 'wikEdJumpNext': case 'wikEdReplacePrev': case 'wikEdReplaceNext': case 'wikEdFindAll': case 'wikEdReplaceAll': // get the find text var findText; // unescape <, >, and & obj.changed.plain = obj.changed.plain.replace(/&lt;/g, '<'); obj.changed.plain = obj.changed.plain.replace(/&gt;/g, '>'); obj.changed.plain = obj.changed.plain.replace(/&amp;/g, '&'); // copy selection/word under cursor to find field if ( (parameters == 'shift') && ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdReplaceNext') ) ) { if (/\n/.test(obj.changed.plain) == false) { if (whichButton == 'wikEdFindNext') { wikEdInputElement['find'].value = obj.changed.plain; } else { wikEdInputElement['replace'].value = obj.changed.plain; } obj.changed.keepSel = true; obj.changed.plain = null; break; } } // get the find text from the find field if ( (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdJumpNext') ) { findText = obj.changed.plain; if (obj.selection.plain == '') { obj.changed.keepSel = true; obj.changed.plain = null; break; } } // get the find text from the find field else { if (wikEdInputElement['find'].value != '') { findText = wikEdInputElement['find'].value; } else { obj.changed.plain = null; break; } } // handle newlines and special blanks for built-in search if (wikEdRegExp.checked == false) { findText = findText.replace(/\n/g, ''); findText = findText.replace(/\s/g, ' '); } // get the replace text var replaceText = wikEdInputElement['replace'].value; var regExpFind; // set regexp flags var regExpFlags = 'g'; if (wikEdCaseSensitive.checked == false) { regExpFlags += 'i'; } // format the find and replace texts for a plain text search if ( (wikEdRegExp.checked == false) || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdJumpNext') ) { regExpFind = new RegExp(findText.replace(/([\\^\$\*\+\?\.\(\)\[\]\{\}\:\=\!\|\,\-])/g, '\\$1'), regExpFlags); } // format the find and replace texts for a regular expression search else { regExpFind = new RegExp(findText, regExpFlags); replaceText = replaceText.replace(/((^|[^\\])(\\\\)*)\\n/g, '$1\n'); } // replace all var replacedFlag = false; if (whichButton == 'wikEdReplaceAll') { if (regExpFind.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExpFind, replaceText); replacedFlag = true; } else { obj.changed.plain = null; } } // replace an existing selection else if ( (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdReplaceNext') ) { if (regExpFind.test(obj.selection.plain)) { var replaced = obj.selection.plain.replace(regExpFind, replaceText); if (obj.changed.plain != replaced) { obj.changed.plain = replaced; replacedFlag = true; } else { obj.changed.plain = null; } } else { obj.changed.plain = null; } } else if ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpNext') || (whichButton == 'wikEdJumpPrev') ) { obj.changed.plain = null; } if ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpNext') || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdReplaceNext') || (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdFindAll') ) { if (replacedFlag == false) { // get direction var backwards = false; if ( (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdReplacePrev') ) { backwards = true; } // get case sensitive var caseSensitive = false; if (wikEdCaseSensitive.checked == true) { caseSensitive = true; } // find all if (whichButton == 'wikEdFindAll') { var found; var foundRanges = []; // start at top of text obj.sel.removeAllRanges(); var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.collapse(true); range = obj.sel.addRange(range); // cycle through matches var scrollTop = wikEdFrameBody.scrollTop; do { // use regexp seach if (wikEdRegExp.checked == true) { found = WikEdFind(obj, findText, caseSensitive, false, false, regExpFind); } // use built-in sarch else { found = WikEdFind(obj, findText, caseSensitive, false, false, null); } if (found == true) { foundRanges.push(obj.changed.range.cloneRange()); } } while (found == true); // scroll back if (wikEdRegExp.checked == false) { wikEdFrameBody.scrollTop = scrollTop; } // add the found ranges obj.sel.removeAllRanges(); for (range in foundRanges) { obj.sel.addRange(foundRanges[range]); } obj.changed.plain = null; } // normal find else { if (wikEdRegExp.checked) { WikEdFind(obj, findText, caseSensitive, backwards, true, regExpFind); } else { WikEdFind(obj, findText, caseSensitive, backwards, true, null); selectChange = false; } } } } // escape <, >, and & if (obj.changed.plain != null) { obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); } // save search history to cookie if ( (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindAll') ) { WikEdAddToHistory('find'); } if ( (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdReplaceNext') || (whichButton == 'wikEdReplaceAll') ) { WikEdAddToHistory('find'); WikEdAddToHistory('replace'); } obj.changed.keepSel = true; break; // fixbasic: fix characters, spaces, empty lines, certain headings, needed for all fixing functions // to do: only certain changes in multiline tags: comments, tables, subst case 'wikEdFixBasic': WikEdFixBasic(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixPunct': WikEdFixPunct(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixMath': WikEdFixMath(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixChem': WikEdFixChem(obj.changed); obj.changed.keepSel = true; break; case 'wikEdfixUnicode': WikEdFixUnicode(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixUnits': WikEdFixUnits(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixDashes': WikEdFixDashes(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixHtml': WikEdFixHTML(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixRegExTypo': if (typeof(AWRegExTypoFix) == 'function') { var objFix = {} objFix.str = obj.changed.plain; AWRegExTypoFix(objFix); obj.changed.plain = objFix.str; } else { obj.changed.plain = null; } obj.changed.keepSel = true; break; case 'wikEdFixCaps': WikEdFixCaps(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixAll': WikEdFixAll(obj.changed); obj.changed.keepSel = true; break; // source on case 'wikEdSource': obj.changed.plain = obj.changed.code; obj.changed.plain = obj.changed.plain.replace(/(<(br|p)\b[^>]*>)/g, '$1\n'); obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); highlightSyntax = false; break; // insert tags case 'wikEdInsertTags': var tagOpen = parameters[0] || ''; var tagClose = parameters[1] || ''; var sampleText = parameters[2] || ''; tagOpen = tagOpen.replace(/&/g, '&amp;'); tagOpen = tagOpen.replace(/</g, '&lt;'); tagOpen = tagOpen.replace(/>/g, '&gt;'); tagClose = tagClose.replace(/&/g, '&amp;'); tagClose = tagClose.replace(/</g, '&lt;'); tagClose = tagClose.replace(/>/g, '&gt;'); tagsampleText = sampleText.replace(/&/g, '&amp;'); tagsampleText = sampleText.replace(/</g, '&lt;'); tagsampleText = sampleText.replace(/>/g, '&gt;'); // single string to insert if ( (tagOpen.length > 0) && (tagClose.length == 0) && (sampleText.length == 0) ) { obj.changed = obj.cursor; obj.changed.plain = tagOpen; } // opening and closing strings else if ( (obj.changed.plain == '') && (sampleText.length > 0) ) { obj.changed.plain = tagOpen + sampleText + tagClose; } else { obj.changed.plain = tagOpen + obj.changed.plain + tagClose; } break; // custom edit functions default: if (CustomHandler != null) { CustomHandler(obj); } else { alert('Unknown edit function \'' + whichButton + '\''); } break; } // update the selection only, do not change the text if (obj.changed.plain == null) { if (whichButton != 'wikEdFindAll') { obj.sel.removeAllRanges(); obj.sel.addRange(obj.changed.range); // scroll the selected text into the viewport by using a backwards find if (selectChange != false) { // get the plain text of the selection var plainText = obj.sel.getRangeAt(obj.sel.rangeCount - 1).cloneContents().textContent; // collapse the selection to the end and search backwards if (plainText.length > 0) { plainText = plainText.replace(/\n/g, ''); obj.changed.range.collapse(false); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) wikEdFrameWindow.find(plainText, true, true, false, false, false, false); } } } } // apply text changes else { // a text change erases the last version for redo all if ( (whichButton != 'wikEdUndo') && (whichButton != 'wikEdRedo') && (whichButton != 'wikEdUndoAll') ) { wikEdLastVersion = null; } // highlight the syntax obj.html = obj.changed.plain; if (highlightSyntax == true) { WikEdHighlightSyntax(obj); } // display tabs else { obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); } // display multiple blanks as blank-&nbsp; obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ /g, '&nbsp; '); // newlines to <br /> obj.html = obj.html.replace(/\n/g, '<br />'); // make changed range text the current selection obj.sel.removeAllRanges(); obj.sel.addRange(obj.changed.range); // get the scroll position var scrollTop; if (obj.changed.from == 'whole') { scrollTop = wikEdFrameBody.scrollTop; } // replace the selection with changed text if (obj.html != '') { WikEdFrameExecCommand('inserthtml', obj.html); } else { WikEdFrameExecCommand('delete'); } // select the whole text after replacing the whole text and scroll to same height if (obj.changed.from == 'whole') { obj.sel.removeAllRanges(); wikEdFrameBody.scrollTop = scrollTop; var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.setEndAfter(wikEdFrameBody.lastChild); obj.sel.addRange(range); selectChange = false; } // select the changed text and scroll it into the viewport by using a backwards find if (selectChange != false) { // get the text content of the changed text var div = document.createElement('div'); div.innerHTML = obj.changed.plain; var plainText = div.textContent; // find the text if (plainText.length > 0) { plainText = plainText.replace(/\n/g, ''); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) wikEdFrameWindow.find(plainText, true, true, false, false, false, false); } } } // remove selection, keep whole text auto-selection as warning if ( ( (obj.changed.keepSel != true) && (obj.changed.from != 'whole') ) || (whichButton == 'wikEdRedirect') || ( (whichButton == 'wikEdWikify') && (parameters == 'whole') ) ) { // workaround for Firefox 1.5 bug using: obj.sel.getRangeAt(obj.sel.rangeCount - 1).collapse(false); var range = document.createRange(); range.setStart(obj.sel.focusNode, obj.sel.focusOffset); range.collapse(true); obj.sel.removeAllRanges(); obj.sel.addRange(range); } // reset button to active, reset cursor if (buttonObj != null) { if (buttonObj.className != 'wikEdButtonInactive') { buttonObj.className = 'wikEdButton'; } buttonObj.style.cursor = 'auto'; } // grey out inactive buttons WikEdInactiveButtons(); // reset the frame DOM cache because the frame content has been changed wikEdFrameDOMCache = null; // focus the frame if (wikEdUseWikEd == true) { wikEdFrameWindow.focus(); } // add event handler to make highlighted frame links ctrl-clickable if ( (highlightSyntax == true) && (obj.changed.plain != null) ) { WikEdFollowLinks(); } return; } // // WikEdFollowLinks: add event handler to make highlighted frame links ctrl-clickable // function WikEdFollowLinks() { if (wikEdFollowLinks == true) { var spanArray = wikEdFrameBody.getElementsByTagName('span'); for (var i = 0; i < spanArray.length; i ++) { if (spanArray[i].onclick != null) { var onClickCode = spanArray[i].onclick.toString(); var linkMatch = onClickCode.match(/\svar linkName *= *[\'\"](.*)[\'\"]/); if (linkMatch != null) { spanArray[i].title = linkMatch[1] + ' ' + wikEdText['followLink']; } spanArray[i].addEventListener('click', WikEdFollowLinkHandler, true); } } } return; } // // WikEdGetText: get the text fragments to manipulate // function WikEdGetText(obj, whichFragment, noWikify) { // get selection object if (obj.sel == null) { obj.sel = wikEdFrameWindow.getSelection(); } // cursor for the cursor position (always done) if (obj.cursor == null) { obj.cursor = {}; obj.cursor.from = 'cursor'; obj.cursor.keepSel = false; obj.cursor.range = document.createRange(); obj.cursor.range.setStart(obj.sel.focusNode, obj.sel.focusOffset); obj.cursor.range.setEnd(obj.sel.focusNode, obj.sel.focusOffset); obj.cursor.plain = ''; } // whole for the whole text if (obj.whole == null) { if (/whole|selectionWord|selectionLine|focusWord|focusLine/.test(whichFragment) == true) { obj.whole = {}; obj.whole.plainArray = []; obj.whole.plainNode = []; obj.whole.plainStart = []; obj.whole.from = 'whole'; obj.whole.keepSel = false; // set whole range obj.whole.range = document.createRange(); obj.whole.range.setStartBefore(wikEdFrameBody.firstChild); obj.whole.range.setEndAfter(wikEdFrameBody.lastChild); // get whole plain text WikEdGetInnerHTML(obj.whole, wikEdFrameBody); obj.whole.code = obj.whole.html; WikEdRemoveHighlightingWikify(obj.whole, noWikify); obj.whole.plain = obj.whole.html; obj.whole.plain = obj.whole.plain.replace(/<br\b[^>]*>/g, '\n'); obj.whole.plain = obj.whole.plain.replace(/\u00a0/g, ' '); } } // selection for the selected text if (obj.selection == null) { if (/selection\b|selectionWord|selectionLine/.test(whichFragment) == true) { obj.selection = {}; obj.selection.from = 'selection'; obj.selection.keepSel = false; // copy range to document fragment obj.selection.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var documentFragment = obj.selection.range.cloneContents(); // get selected text WikEdGetInnerHTML(obj.selection, documentFragment); obj.selection.code = obj.selection.html; WikEdRemoveHighlightingWikify(obj.selection, noWikify); obj.selection.plain = obj.selection.html; obj.selection.plain = obj.selection.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selection.plain = obj.selection.plain.replace(/\u00a0/g, ' '); } } // focusWord and focusLine for the complete words and lines under the cursor if (obj.focusWord == null) { if (/focusWord|focusLine/.test(whichFragment) == true) { obj.focusWord = {}; obj.focusWord.from = 'focusWord'; obj.focusWord.range = document.createRange(); // setup focusLine object for the line under the cursor obj.focusLine = {}; obj.focusLine.from = 'focusLine'; obj.focusLine.keepSel = false; obj.focusLine.range = document.createRange(); // find the word and line boundaries WikEdFindBoundaries(obj.focusWord, obj.focusLine, obj.whole, obj.cursor); // get the wikified plain text for the word under the cursor var documentFragment = obj.focusWord.range.cloneContents(); WikEdGetInnerHTML(obj.focusWord, documentFragment); obj.focusWord.code = obj.focusWord.html; WikEdRemoveHighlightingWikify(obj.focusWord, noWikify); obj.focusWord.plain = obj.focusWord.html; obj.focusWord.plain = obj.focusWord.plain.replace(/<br\b[^>]*>/g, '\n'); obj.focusWord.plain = obj.focusWord.plain.replace(/\u00a0/g, ' '); // get the wikified plain text for the line under the cursor var documentFragment = obj.focusLine.range.cloneContents(); WikEdGetInnerHTML(obj.focusLine, documentFragment); obj.focusLine.code = obj.focusLine.html; WikEdRemoveHighlightingWikify(obj.focusLine, noWikify); obj.focusLine.plain = obj.focusLine.html; obj.focusLine.plain = obj.focusLine.plain.replace(/<br\b[^>]*>/g, '\n'); obj.focusLine.plain = obj.focusLine.plain.replace(/\u00a0/g, ' '); } } // selectionWord and selectionLine for the complete words and lines under the selection if (obj.selectionWord == null) { if (/selectionWord|selectionLine/.test(whichFragment) == true) { // setup selectionWord object for the words under the selection obj.selectionWord = {}; obj.selectionWord.from = 'selectionWord'; obj.selectionWord.keepSel = false; obj.selectionWord.range = document.createRange(); // setup selectionLine object for the lines under the selection obj.selectionLine = {}; obj.selectionLine.from = 'selectionLine'; obj.selectionLine.range = document.createRange(); // find the word and line boundaries WikEdFindBoundaries(obj.selectionWord, obj.selectionLine, obj.whole, obj.selection); // get the wikified plain text for the words under the selection var documentFragment = obj.selectionWord.range.cloneContents(); WikEdGetInnerHTML(obj.selectionWord, documentFragment); obj.selectionWord.code = obj.selectionWord.html; WikEdRemoveHighlightingWikify(obj.selectionWord, noWikify); obj.selectionWord.plain = obj.selectionWord.html; obj.selectionWord.plain = obj.selectionWord.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selectionWord.plain = obj.selectionWord.plain.replace(/\u00a0/g, ' '); // get the wikified plain text for the lines under the selection var documentFragment = obj.selectionLine.range.cloneContents(); WikEdGetInnerHTML(obj.selectionLine, documentFragment); obj.selectionLine.code = obj.selectionLine.html; WikEdRemoveHighlightingWikify(obj.selectionLine, noWikify); obj.selectionLine.plain = obj.selectionLine.html; obj.selectionLine.plain = obj.selectionLine.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selectionLine.plain = obj.selectionLine.plain.replace(/\u00a0/g, ' '); } } return; } // // WikEdFind: custom find function with regexp properties, sets obj.changed.range, uses obj ranges // function WikEdFind(obj, findText, caseSensitive, backwards, wrap, regExp) { var range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var found = false; // empty the range to avoid error messages for reverse direction ranges obj.changed.range = document.createRange(); // use the fast built-in find function for non-regexp searches if (regExp == null) { // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) found = wikEdFrameWindow.find(findText, caseSensitive, backwards, wrap, false, true, false); if (found == true) { range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); } obj.changed.range = range.cloneRange(); } // slow javascript regexp find and replace else { // perform find if (obj.plainArray === undefined) { WikEdParseDOM(obj, wikEdFrameBody); } var regExpMatch = []; // find next, search to the right if (backwards == false) { // set start position for search to right regExpMatch = regExp.exec(obj.plain); regExp.lastIndex = obj.plainFocus; // execute the regexp search to the right regExpMatch = regExp.exec(obj.plain); // remember position for repeated searches obj.plainFocus = regExp.lastIndex; // wrap around, start at beginning if ( (wrap == true) && (regExpMatch == null) ) { regExp.lastIndex = 0; regExpMatch = regExp.exec(obj.plain); } } // find previous, search to the left else { // cycle through the matches to the left var regExpMatchNext; do { regExpMatch = regExpMatchNext; regExpMatchNext = regExp.exec(obj.plain); if (regExpMatchNext == null) { break; } } while (regExpMatchNext.index < obj.plainAnchor); // wrap around, find last occurrence if ( (wrap == true) && (regExpMatch == null) ) { do { regExpMatch = regExpMatchNext; regExpMatchNext = regExp.exec(obj.plain); } while (regExpMatchNext != null); } } // select the find if (regExpMatch != null) { found = true; var i = 0; while ( (obj.plainStart[i + 1] <= regExpMatch.index) && (obj.plainStart[i + 1] != null) ) { i ++; } var j = i; while ( (obj.plainStart[j + 1] <= regExpMatch.index + regExpMatch[0].length) && (obj.plainStart[j + 1] != null) ) { j ++; } obj.changed.range.setEnd (obj.plainNode[j], regExpMatch.index + regExpMatch[0].length - obj.plainStart[j]); obj.changed.range.setStart(obj.plainNode[i], regExpMatch.index - obj.plainStart[i]); } } return(found); } // // WikEdTextify: strip html off of text // function WikEdTextify(obj) { // convert html to plain obj.plain = obj.html; obj.plain = obj.plain.replace(/\n/g, ' '); // delete tags obj.plain = obj.plain.replace(/<(style|script|object|applet|embed)\b[^>]*>.*?<\/\1>/g, ''); // newlines obj.plain = obj.plain.replace(/<(br)\b[^>]*>/g, '\n'); // remove highlighting pre tags var isRemove = []; obj.plain = obj.plain.replace(/(<(\/?)pre\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // blocks obj.plain = obj.plain.replace(/<\/?(address|blockquote|center|div|hr|isindex|p|pre)\b[^>]*>/g, '\u0000\u0000'); // keep headings only if starting with a newline obj.html = obj.html.replace(/[\s|\u0000]*(^|\n|\u0000)[\s|\u0000]*<h[1-6]\b[^>]*>(.*?)<\/h[1-6]>[\s|\u0000]*/g, '\u0000\u0000$2\u0000\u0000'); // lists obj.plain = obj.plain.replace(/<\/?(dir|dl|menu|ol|ul)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(dd|dt|li)>/g, '\u0000'); // forms obj.plain = obj.plain.replace(/<\/?(select|textarea)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(option|legend|optgroup)>/g, '\u0000'); // table obj.plain = obj.plain.replace(/<\/?(table|caption)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(tr|th|td)>/g, '\u0000'); // finish html to plain conversion obj.plain = obj.plain.replace(/<[^>]*>/g, ''); // remove spaces obj.plain = obj.plain.replace(/[ \t\u00a0]+(\u0000)/g, '$1'); obj.plain = obj.plain.replace(/(\u0000)[ \t\u00a0]+/g, '$1'); // trim down \u0000 and \n obj.plain = obj.plain.replace(/\u0000{3,}/g, '\n\n'); obj.plain = obj.plain.replace(/\u0000/g, '\n'); // remove empty lines and spaces from article start and end if (obj.from == 'whole') { obj.html = obj.html.replace(/^\s+|\s+$/g, ''); } return; } // // WikEdInactiveButtons: grey out inactive buttons, called after every change and click // function WikEdInactiveButtons() { // undo if (wikEdFrameDocument.queryCommandEnabled('undo') == true ) { document.getElementById('wikEdUndo').className = 'wikEdButton'; document.getElementById('wikEdUndoAll').className = 'wikEdButton'; } else { document.getElementById('wikEdUndo').className = 'wikEdButtonInactive'; document.getElementById('wikEdUndoAll').className = 'wikEdButtonInactive'; } // redo if (wikEdFrameDocument.queryCommandEnabled('redo') == true ) { document.getElementById('wikEdRedo').className = 'wikEdButton'; } else { document.getElementById('wikEdRedo').className = 'wikEdButtonInactive'; } // redo all if (wikEdLastVersion != null) { document.getElementById('wikEdRedoAll').className = 'wikEdButton'; } else { document.getElementById('wikEdRedoAll').className = 'wikEdButtonInactive'; } return; } // // WikEdFixBasic: fix characters, spaces, empty lines, certain headings, needed for all fixing functions // /// change: double spaces ok after dot function WikEdFixBasic(obj) { // non-breaking space character to normal space obj.plain = obj.plain.replace(/(\u00a0)/g, ' '); // remove trailing spaces obj.plain = obj.plain.replace(/( |&nbsp;)+\n/g, '\n'); // empty line before and after headings, spaces around word (lookahead) obj.plain = obj.plain.replace(/\n+(=+) *([^\n]*?) *(=+)(?=\n)\n*/g, '\n\n$1 $2 $3\n\n'); // uppercase well known headings var regExp = new RegExp('\\n=+ ' + wikEdText['External links'] + '? =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['External links'] + ' ==\n'); regExp = new RegExp('\\n=+ ' + wikEdText['See also'] + ' =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['See also'] + ' ==\n'); regExp = new RegExp('\\n=+ ' + wikEdText['References'] + '? =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['References'] + ' ==\n'); // add space after * # : ; (list) and after {| |- | (table) obj.plain = obj.plain.replace(/(^|\n)([\*\#\:\;]+|\{\||\|\-|\|\}|\|) */g, '$1$2 '); obj.plain = obj.plain.replace(/ +\n/g, '\n'); // empty line before and after tables obj.plain = obj.plain.replace(/\n+(\{\|)/g, '\n\n$1'); obj.plain = obj.plain.replace(/(\n\|\}([^\}]|$)) *([^\n]*)[\n|$]+/g, '$1\n\n$3\n\n'); // empty line before and after lists obj.plain = obj.plain.replace(/(^|\n)([^\*\#\:\;].*?)\n+([\*\#\:\;])/g, '$1$2\n\n$3'); obj.plain = obj.plain.replace(/(^|\n)([\*\#\:\;].*?)\n+([^\*\#\:\;])/g, '$1$2\n\n$3'); // split into lines and change single lines, used to handle tables var lines = obj.plain.split('\n'); obj.plain = ''; var tableflag = false; for (var i = 0; i < lines.length; i++) { var line = lines[i]; // do not change lines starting with a blank if (/^ /.test(line) == false) { // detect table if ( line.match(/^(\{\||\!|\|[^}])/) ) { tableflag = true; } else if ( line.match(/^\|\}/) ) { tableflag = false; } // changes only to be done in tables if (tableflag) { // add spaces around || line = line.replace(/ *\|\| */g, ' || '); } // changes not to be done in tables if (! tableflag) { // empty line before and after images var regExp = new RegExp('^(\\[\\[' + wikEdText['wikicode Image'] + ':.*?\\]\\])', 'ig'); line = line.replace(regExp, '\n$1'); regExp = new RegExp('(\\[\\[' + wikEdText['wikicode Image'] + ':.*?(\\[\\[.*?\\]\\].*?)*\\]\\])$', 'ig'); line = line.replace(regExp, '$1\n'); // empty line before and after includes line = line.replace(/^(\{\{.*?\}\})/g, '\n$1'); line = line.replace(/(\{\{.*?\}\})$/g, '$1\n'); } } // concatenate the lines obj.plain += line; if (i < lines.length - 1) { obj.plain += '\n'; } } // remove underscores in wikilinks obj.plain = obj.plain.replace(/\[\[(.*?)(\|.*?)?\]\]/g, function (p, p1, p2) { p1 = p1.replace(/_/g, ' '); return('[[' + p1 + p2 + ']]'); } ); // remove spaces in wikilinks obj.plain = obj.plain.replace(/\[\[ *([^\n]*?) *\]\]/g, '[[$1]]'); // remove spaces in external links obj.plain = obj.plain.replace(/\[ *([^\n]*?) *\]/g, '[$1]'); // no space around pipes before brackets obj.plain = obj.plain.replace(/ +\| +\]\]/g, '|]]'); // no space around pipes before curly brackets obj.plain = obj.plain.replace(/ +\| +\}\}/g, '|}}'); // no empty line between headings and includes obj.plain = obj.plain.replace(/\n(=+ [^\n]*? =+\n)\n+(\{\{.*?\}\})/g, '\n$1$2'); // spaces in comments obj.plain = obj.plain.replace(/(&lt;!--) *([^\n]*?) *(--&gt;)/g, '$1 $2 $3'); // empty line before and after categories var regExp = new RegExp('( |\\n)*(\\[\\[' + wikEdText['wikicode Category'] + ':[^\\n]*?\\]\\])( |\\n)*', 'gi'); obj.plain = obj.plain.replace(regExp, '\n\n$2\n\n'); // categories not separated by empty lines (lookahead) regExp = new RegExp('(\\[\\[category:[^\\n]*?\\]\\])\\n*(?=\\[\\[' + wikEdText['wikicode Category'] + ':[^\\n]*?\\]\\])', 'gi'); obj.plain = obj.plain.replace(regExp, '$1\n'); // single empty lines only obj.plain = obj.plain.replace(/\n{3,}/g, '\n\n'); // remove leading and trailing newlines obj.plain = obj.plain.replace(/^\n+/, ''); obj.plain = obj.plain.replace(/\n{2,}$/, '\n'); return; } // // WikEdFixPunct: remove space before .,:; // function WikEdFixPunct(obj) { WikEdFixBasic(obj); obj.plain = obj.plain.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\'\"”\]\}\)]) +([\.\,\:\;])(\s+|$)/g, '$1$2 '); obj.plain = obj.plain.replace(/\s+$/g, ''); return; } // // WikEdFixUnicode: fix unicode character representations // function WikEdFixUnicode(obj) { // replace supported chars: change decimal, hex, and character entities into actual char for (var i = 0; i < wikEdSupportedChars.length; i ++) { var replaceChar = String.fromCharCode(parseInt(wikEdSupportedChars[i][0], 16)); // decimal representation var regExpStr = '&#0*' + parseInt(wikEdSupportedChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdSupportedChars[i][0] + ';'; // case insensitive replace var regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // character entity representation regExpStr = '&amp;' + wikEdSupportedChars[i][1] + ';'; // case sensitive replace regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // replace unsupported chars in IE6: change decimal, hex, and chars into character entities for (var i = 0; i < wikEdProblemChars.length; i ++) { replaceChar = '&' + wikEdProblemChars[i][1] + ';'; // decimal representation regExpStr = '&#0*' + parseInt(wikEdProblemChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdProblemChars[i][0] + ';'; // case insensitive replace regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // actual character representation regExpStr = '\\u' + wikEdProblemChars[i][0]; // case sensitive replace regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // replace special chars (spaces and invisible characters): change decimal, hex, and chars into character entities for (var i = 0; i < wikEdSpecialChars.length; i ++) { var replaceChar = '&amp;' + wikEdSpecialChars[i][1] + ';'; // decimal representation var regExpStr = '&#0*' + parseInt(wikEdSpecialChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdSpecialChars[i][0] + ';'; // case insensitive replace var regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // actual character representation regExpStr = '\\u' + wikEdSpecialChars[i][0]; // case sensitive replace var regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // unicode line separator and paragraph separator obj.plain = obj.plain.replace(/\u2028/g, '\n'); obj.plain = obj.plain.replace(/\u2029/g, '\n\n'); return; } // // WikEdFixMath: math character fixer, originally from User:Omegatron // function WikEdFixMath(obj) { WikEdFixBasic(obj); // change only outside <math> </math> wikicode obj.plain = obj.plain.replace(/(.*?)((&lt;math(\b.*?)&gt;.*?&lt;\/math&gt;)|$)/gi, function (p, p1, p2) { // convert html entities into actual dash characters p1 = p1.replace(/&plus;/g, '+'); p1 = p1.replace(/&minus;/g, '\u2212'); p1 = p1.replace(/&middot;/g, '·'); // convert dash next to a number into a minus sign character p1 = p1.replace(/([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\,\{])-(\d)/g, '$1\u2212$2'); // changes 2x3 to 2×3 p1 = p1.replace(/(\d *)x( *\d)/g, '$1\u00d7$2'); // changes 10^3 to 10<sup>3</sup> p1 = p1.replace(/(\d*\.?\d+)\^(\u2212?\d+\.?\d*)/g, '$1&lt;sup&gt;$2&lt;/sup&gt;'); // change x^3 to x<sup>3</sup> p1 = p1.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])\^(\u2212?\d+\.?\d*) /g, '$1&lt;sup&gt;$2&lt;/sup&gt;'); // change +/- to ± p1 = p1.replace(/( |\d)\+\/(-|\u2212)( |\d)/g, '$1\u00b1$3'); // htmlize single char superscripts p1 = p1.replace(/(\u00b9|&sup1;)/g, '&lt;sup&gt;1&lt;/sup&gt;'); p1 = p1.replace(/(\u00b2|&sup2;)/g, '&lt;sup&gt;2&lt;/sup&gt;'); p1 = p1.replace(/(\u00b3|&sup3;)/g, '&lt;sup&gt;3&lt;/sup&gt;'); return(p1 + p2); } ); return; } // // WikEdFixChem: fix chemical formulas // function WikEdFixChem(obj) { WikEdFixBasic(obj); var realElements = 'H|He|Li|Be|B|C|N|O|F|Ne|Na|Mg|Al|Si|P|S|Cl|Ar|K|Ca|Sc|Ti|V|Cr|Mn|Fe|Co|Ni|Cu|Zn|Ga|Ge|As|Se|Br|Kr|Rb|Sr|Y|Zr|Nb|Mo|Tc|Ru|Rh|Pd|Ag|Cd|In|Sn|Sb|Te|I|Xe|Cs|Ba|Hf|Ta|W|Re|Os|Ir|Pt|Au|Hg|Tl|Pb|Bi|Po|At|Rn|Fr|Ra|Rf|Db|Sg|Bh|Hs|Mt|Ds|Rg|La|Ce|Pr|Nd|Pm|Sm|Eu|Gd|Tb|Dy|Ho|Er|Tm|Yb|Lu|Ac|Th|Pa|U|Np|Pu|Am|Cm|Bk|Cf|Es|Fm|Md|No|Lr'; var pseudoElements = '|Me|Et|Pr|Bu|e'; // fix common typos obj.plain = obj.plain.replace(/(^|[^a-z])h2o([^a-z]|$)/g, '$1H2O$2'); obj.plain = obj.plain.replace(/(^|[^a-z])h3o+/g, '$1H3O+'); obj.plain = obj.plain.replace(/(^|[^a-z])oh-/g, '$1OH+'); // uppercase lowercased elements var regExp = new RegExp('(^|[^a-zA-Z])(' + realElements.toLowerCase() + pseudoElements.toLowerCase() + ')([^a-zA-Z]|$)', 'g'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { if (p2 != 'e') { p2 = p2.substr(0, 1).toUpperCase() + p2.substr(1).toLowerCase(); } return(p1 + p2 + p3); } ); // fix superscripts obj.plain = obj.plain.replace(/&plus;/g, '+'); obj.plain = obj.plain.replace(/&minus;/g, '\u2212'); obj.plain = obj.plain.replace(/&middot;/g, '·'); regExp = new RegExp('(' + realElements + pseudoElements + '|\\))(\\d*(\\+|-|\\u2212))', 'g'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { p2 = p2.replace(/-/g, '\u2212'); return(p1 + '&lt;sup&gt;' + p2 + '&lt;/sup&gt;'); } ); // fix indices regExp = new RegExp('(' + realElements + pseudoElements + '|\\))(\\d+)', 'g'); obj.plain = obj.plain.replace(regExp, '$1&lt;sub&gt;$2&lt;/sub&gt;'); // fix prefixes regExp = new RegExp('(\\d+) *(\\(|' + realElements + pseudoElements + ')', 'g'); obj.plain = obj.plain.replace(regExp, '$1$2'); // fix arrows obj.plain = obj.plain.replace(/ *-+&gt; */g, ' \u2192 '); obj.plain = obj.plain.replace(/ *&lt;-+ */g, ' \u2190 '); // &hdarr; and "leftwards harpoon over rightwards harpoon" not supported in IE6 // obj.plain = obj.plain.replace(/ *(&lt;=+&gt;|&hdarr;|&harr;|\u2190 *\u2192) */g, ' \u21cc '); obj.plain = obj.plain.replace(/ *(&lt;==+&gt;|&hdarr;|&harr;|\u21cc|\u2190 *\u2192) */g, ' <=> '); // fix - obj.plain = obj.plain.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\)|&gt;) +(-|\u2212) +([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\()/g, '$1 \u2212 $3'); return; } // // WikEdFixUnits: unit formatter // function WikEdFixUnits(obj) { WikEdFixBasic(obj); // convert into actual characters obj.plain = obj.plain.replace(/&amp;deg;|&amp;#00b0;/g, '°'); obj.plain = obj.plain.replace(/&amp;#00b5;|&amp;mu;|&amp;micro;/g, 'µ'); obj.plain = obj.plain.replace(/&amp;Omega;|&amp;#8486;/g, '\u03a9'); // add space before units, remove space around /, and use abreviations obj.plain = obj.plain.replace(/( *\/ *|\d *)(Y|yotta|Z|zetta|E|exa|P|peta|T|tera|G|giga|M|mega|k|kilo|K|h|hecto|da|deca|d|deci|c|centi|m|mill?i|micro|u|µ|n|nano|p|pico|f|femto|a|atto|z|zepto|y|yocto|mibi|mebi|)(gramm?s?|g|metres?|meters?|m|amperes?|Amperes?|amps?|Amps?|A|Angstroms?|Angströms?|Å|Kelvins?|kelvins?|K|moles?|Moles?|mol|candelas?|cd|rad|Ci|sr|Hert?z|hert?z|Hz|newtons?|Newtons?|N|Joules?|joules?|J|watts?|Watts?|W|pascals?|Pascals?|Pa|lm|lx|C|volts?|Volts?|V|O|Farads?|F|Wb|T|H|S|bequerels?|Bequerels?|Bq|Gy|Sv|kat|centigrades?|°C|decibels?|db|dB|M|ohms?|Ohms?|\u03a9|sec|seconds?|s|minutes?|min|hour?|h|bits?|Bits?|bit|bytes?|Bytes?|B|bps|Bps)(?=[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, function (p, p1, p2, p3) { p1 = p1.replace(/ *\/ */g, '/'); p1 = p1.replace(/(\d) */g, '$1 '); p2 = p2.replace(/yotta/g, 'Y'); p2 = p2.replace(/zetta/g, 'Z'); p2 = p2.replace(/exa/g, 'E'); p2 = p2.replace(/peta/g, 'P'); p2 = p2.replace(/tera/g, 'T'); p2 = p2.replace(/giga/g, 'G'); p2 = p2.replace(/mega/g, 'M'); p2 = p2.replace(/kilo/g, 'k'); p2 = p2.replace(/K/g, 'k'); p2 = p2.replace(/hecto/g, 'h'); p2 = p2.replace(/deca/g, 'da'); p2 = p2.replace(/deci/g, 'd'); p2 = p2.replace(/centi/g, 'c'); p2 = p2.replace(/mill?i/g, 'm'); p2 = p2.replace(/micro|u/g, 'µ'); p2 = p2.replace(/nano/g, 'n'); p2 = p2.replace(/pico/g, 'p'); p2 = p2.replace(/femto/g, 'f'); p2 = p2.replace(/atto/g, 'a'); p2 = p2.replace(/zepto/g, 'z'); p2 = p2.replace(/yocto/g, 'y'); p2 = p2.replace(/mibi/g, 'mebi'); p3 = p3.replace(/gramm?s?/g, 'g'); p3 = p3.replace(/metres?|meters?/g, 'm'); p3 = p3.replace(/amperes?|Amperes?|amps?|Amps?/g, 'A'); p3 = p3.replace(/Angstroms?|Angströms?/g, 'Å'); p3 = p3.replace(/Kelvins?|kelvins?/g, 'K'); p3 = p3.replace(/moles?|Moles?/g, 'mol'); p3 = p3.replace(/candelas?/g, 'cd'); p3 = p3.replace(/Hert?z|hert?z/g, 'Hz'); p3 = p3.replace(/newtons?|Newtons?/g, 'N'); p3 = p3.replace(/Joules?|joules?/g, 'J'); p3 = p3.replace(/watts?|Watts?/g, 'W'); p3 = p3.replace(/pascals?|Pascals?/g, 'Pa'); p3 = p3.replace(/volts?|Volts?/g, 'V'); p3 = p3.replace(/ohms?|Ohms?/g, '\u03a9'); p3 = p3.replace(/bequerels?|Bequerels?/g, 'Bq'); p3 = p3.replace(/Farads?/g, 'F'); p3 = p3.replace(/bits?|Bits?/g, 'bit'); p3 = p3.replace(/bytes?|Bytes?/g, 'B'); p3 = p3.replace(/sec|seconds?/g, 's'); p3 = p3.replace(/minutes?/g, 'min'); p3 = p3.replace(/hours?/g, 'h'); p3 = p3.replace(/sec|seconds?/g, 's'); p3 = p3.replace(/bps/g, 'bit/s'); p3 = p3.replace(/Bps/g, 'B/s'); return(p1 + p2 + p3); } ); // fix prefix casing obj.plain = obj.plain.replace(/ K(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' k$1$2'); obj.plain = obj.plain.replace(/ m(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' M$1$2'); obj.plain = obj.plain.replace(/ g(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' G$1$2'); obj.plain = obj.plain.replace(/ t(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' T$1$2'); obj.plain = obj.plain.replace(/ e(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' E$1$2'); return; } // // WikEdFixDashes: dash fixer - fixes several obvious en/em dash, minus sign, and such special characters. // originally from User:Omegatron // function WikEdFixDashes(obj) { WikEdFixBasic(obj); // convert html entities into actual dash characters obj.plain = obj.plain.replace(/&amp;mdash;/g, '—'); obj.plain = obj.plain.replace(/&amp;ndash;/g, '–'); obj.plain = obj.plain.replace(/&amp;minus;/g, '\u2212'); // convert -- and em dashes with or without spaces to em dash surrounded by spaces obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\}\)]) *(--|—|&amp;mdash;) *([a-zA-Z\'\"“\[\{\(])/g, '$1 — $3'); // convert - or en dashes with spaces to em dash character surrounded by spaces obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\}])( |&amp;nbsp;)+(\u2212|–|&amp;ndash;) +([a-zA-Z\'\"“\[\{])/g, '$1$2— $4'); // convert hyphen next to lone number into a minus sign character obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\>] )-(\d)/g, '$1\u2212$2'); // convert dashes to en dashes in dates obj.plain = obj.plain.replace(/([ \(][12]\d\d\d) ?(--?|—|&amp;mdash;) ?([12]\d\d\d|\d\d)([ \),.;])/g, '$1–$3$4'); return; } // // WikEdFixHTML: fix html to wikicode // function WikEdFixHTML(obj) { WikEdFixBasic(obj); // remove syntax highlighting obj.html = obj.plain; obj.html = obj.html.replace(/\n/g, '<br />'); WikEdRemoveHighlighting(obj); // turn visible html code into real html, exclude comments obj.html = obj.html.replace(/&lt;(\/?\w.*?)&gt;/g, '<$1>'); // wikify, keep user added attribute WikEdWikifyHTML(obj, true); // turn real html into visible html code obj.html = obj.html.replace(/<br\b[^>]*>/g, '\n'); obj.html = obj.html.replace(/</g, '&lt;'); obj.html = obj.html.replace(/>/g, '&gt;'); obj.plain = obj.html; return; } // // WikEdFixCaps: fix capitalizing of lists, linklists, images, headings // function WikEdFixCaps(obj) { WikEdFixBasic(obj); // uppercase lists // start (listcode (char-ent|tag|category..|digit|non-word,non-ret))(word,non-digit..) end obj.plain = obj.plain.replace(/^([\*\#\:\;]+ (\&\w+\;|&lt;[^\n]*?&gt;|\{\{.*?\}\}[^\n]*|\d|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\n])*)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\d].*?)?$/gm, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda|$)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase link lists (link) obj.plain = obj.plain.replace(/^([\*\#\:\;]+ \[\[)([^\n]*?)(\]\])/gm, function (p, p1, p2, p3) { // uppercase link p2 = p2.replace(/^((\&\w+\;|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\d)*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*)$/, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase comment p2 = p2.replace(/(\| *(\&\w+\;|&lt;[^\n]*?&gt;|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\d)*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*)$/, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); return(p1 + p2 + p3); } ); // uppercase headings obj.plain = obj.plain.replace(/^(=+ (\&\w+\;|&lt;[^\n]*?&gt;|\d|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\n])*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*? =+)$/gm, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase images regExp = new RegExp('(\\[\\[)' + wikEdText['wikicode Image'] + ':([\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9])([^\\n]*\\]\\])', 'igm'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { return(p1 + wikEdText['wikicode Image'] + ':' + p2.toUpperCase() + p3); } ); return; } // // WikEdFixAll: // function WikEdFixAll(obj) { WikEdFixBasic(obj); WikEdFixUnicode(obj); WikEdFixHTML(obj); WikEdFixCaps(obj); return; } // // WikEdRemoveElements: remove elements by tag name // function WikEdRemoveElements(tagNameArray) { // cycle through the element names for (var property in tagNameArray) { var elementArray = wikEdFrameDocument.getElementsByTagName(tagNameArray[property]); for (var i = 0; i < elementArray.length; i ++) { elementArray[i].parentNode.removeChild(elementArray[i]); } } return; } // // WikEdFindBoundaries: find word boundaries and line boundaries starting from selection.range // function WikEdFindBoundaries(word, line, whole, selection) { // get the start node and offset var startNode = selection.range.startContainer; var startNodeOffset = selection.range.startOffset; // get the end node and offset var endNode = selection.range.endContainer; var endNodeOffset = selection.range.endOffset; if (startNode.nodeType == 1) { startNode = startNode.childNodes[startNodeOffset]; startNodeOffset = 0; } if (endNode.nodeType == 1) { endNode = endNode.childNodes[endNodeOffset]; endNodeOffset = 0; } // find the start and end nodes in the whole plain text arrays var startNodeIndex; var endNodeIndex; for (var i = 0; i < whole.plainNode.length; i ++) { if (startNode == whole.plainNode[i]) { startNodeIndex = i; } if (endNode == whole.plainNode[i]) { endNodeIndex = i; break; } } // find last previous word and line boundary var foundWord = false; var foundLine = false; var regExp = new RegExp('.*[^\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9\\-]', 'g'); var plain = ''; // check text nodes left-wise for a boundary for (var i = startNodeIndex; i >= 0; i --) { plain = whole.plainArray[i]; plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); // boundary is a newline if (plain == '\n') { // current newline is the start node if (i == startNodeIndex) { if (! foundWord) { word.range.setStartBefore(whole.plainNode[i]); foundWord = true; } line.range.setStartBefore(whole.plainNode[i]); } else { if (! foundWord) { word.range.setStartAfter(whole.plainNode[i]); foundWord = true; } line.range.setStartAfter(whole.plainNode[i]); } foundLine = true; break; } // check text node for a word boundary else if (! foundWord) { if (i == startNodeIndex) { plain = plain.substr(0, startNodeOffset); plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); } regExp.lastIndex = 0; if (regExp.exec(plain) != null) { word.range.setStart(whole.plainNode[i], regExp.lastIndex); foundWord = true; } } } // boundary is start of text if (! foundLine) { line.range.setStartBefore(whole.plainNode[0]); if (! foundWord) { word.range.setStartBefore(whole.plainNode[0]); } } // find next word and line boundary regExp = new RegExp('[^\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9\\-]', 'g'); foundWord = false; foundLine = false; // check text nodes right-wise for a boundary for (var i = endNodeIndex; i < whole.plainArray.length; i ++) { plain = whole.plainArray[i]; plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); // boundary is a newline if (plain == '\n') { if (! foundWord) { word.range.setEndBefore(whole.plainNode[i]); foundWord = true; } line.range.setEndBefore(whole.plainNode[i]); foundLine = true; break; } // check text node for a word boundary else if (! foundWord) { if (i == endNodeIndex) { regExp.lastIndex = endNodeOffset; } else { regExp.lastIndex = 0; } var regExpArray = regExp.exec(plain); if (regExpArray != null) { word.range.setEnd(whole.plainNode[i], regExpArray.index); foundWord = true; } } } // boundary is end of text if (! foundLine) { line.range.setEndAfter(whole.plainNode[whole.plainArray.length - 1]); if (! foundWord) { word.range.setEndAfter(whole.plainNode[whole.plainArray.length - 1]); } } return; } // // remove syntax highlighting and wikify // function WikEdRemoveHighlightingWikify(obj, noWikify) { if (obj.html != '') { // remove syntax highlighting WikEdRemoveHighlighting(obj); // wikify, don't allow many attributes if ( (obj.htmlCode == true) && (noWikify != true) ) { WikEdWikifyHTML(obj, false); } } return; } // // WikEdWikifyHTML: // obj.html contains the text to be wikified // expects < > &lt; &gt; &amp; spaces instead of &nbsp; <br> (not \n) // returns <br> (not \n) /* allowed and converted tags: br|p h1|h2|h3|h4|h5|h6 hr i|dfn|cite|em|var b|strong table|caption|col|thead|tfoot|tbody|tr|td|th dl|dt|dd|li|ol|ul a not allowed yet: bdo|q|kbd|samp|abbr|acronym|label other allowed tags: big|blockquote|colgroup|center|code|del|div|font|ins|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby mediawiki tags: nowiki|math|gallery|noinclude|includeonly|ref|references */ function WikEdWikifyHTML(obj, relaxed) { var regExpStr; var regExp; var regExpMatch; // delete tags: <style> obj.html = obj.html.replace(/<(style)\b[^>]*>.*?<\/\1>/g, ''); // remove MediaWiki section edit spans obj.html = obj.html.replace(/<span[^>]*class=\"editsection\"[^>]*>.*?<\/span>\s*/g, ''); // remove MediaWiki heading spans obj.html = obj.html.replace(/<span\b[^>]*\bclass=\"mw-headline\"[^>]*>(.*?)<\/span>\s*/g, '$1'); // remove MediaWiki divs from article top obj.html = obj.html.replace(/<h3\b[^>]*\bid=\"siteSub\"[^>]*>.*?<\/h3>\s*/g, ''); obj.html = obj.html.replace(/<div\b[^>]*\bid=\"contentSub\"[^>]*>.*?<\/div>\s*/g, ''); obj.html = obj.html.replace(/<div\b[^>]*\bid=\"jump-to-nav\"[^>]*>.*?<\/div>\s*/g, ''); // remove MediaWiki table of contents obj.html = obj.html.replace(/<table\b[^>]*?\bid=\"toc\"[^>]*>.*?<\/table>\s*/g, ''); // remove MediaWiki print footer obj.html = obj.html.replace(/<div\b[^>]*?\bclass=\"printfooter\"[^>]*>[^<>\"]+\"<a\b[^>]*>[^<]+<\/a>\"<\/div>\s*/g, ''); // remove MediaWiki category list tags regExp = /<div\b[^>]*\bid=\"catlinks\"[^>]*>(.*?)<\/div>\s*/g; while(regExp.test(obj.html) == true) { obj.html = obj.html.replace(regExp, '$1'); } regExp = /<p\b[^>]*?\bclass=\"catlinks\"[^>]*>(.*?)<a\b[^>]*>[^<>]+<\/a>: (.*?)<\/p>/g; while(regExp.test(obj.html) == true) { obj.html = obj.html.replace(regExp, '$1$2'); } // sanitize <span> <div> <p> obj.html = obj.html.replace(/<(span|div|p)\b *(.*?) *\/?>/g, function (p, p1, p2) { return('<' + p1 + WikEdSanitizeAttributes(p1, p2, relaxed) + '>'); } ); // remove <span> ... </span> pairs withhout attributes var isRemove = []; obj.html = obj.html.replace(/(<(\/?)span\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove <p> ... </p> pairs withhout attributes var isRemove = []; obj.html = obj.html.replace(/(<(\/?)p\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return('\u0000\u0000'); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return('\u0000\u0000'); } return(p1); } ); // escape character entities obj.html = obj.html.replace(/&(?!(amp;|lt;|gt;))/g, '&amp;'); // remove comments obj.html = obj.html.replace(/<!--.*?-->/g, ''); // <hr> horizontal rule obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<hr\b[^>]*>(\s|<br\b[^>]*>|\u0000)*/i, '\u0000\u0000----\u0000\u0000'); // <i> <em> <dfn> <var> <cite> italic obj.html = obj.html.replace(/<(i|em|dfn|var|cite)\b[^>]*>/g, '\'\''); obj.html = obj.html.replace(/<\/(i|em|dfn|var|cite)\b[^>]*>/g, '\'\''); // <b> <strong> bold obj.html = obj.html.replace(/<(b|strong)\b[^>]*>/g, '\'\'\''); obj.html = obj.html.replace(/<\/(b|strong)\b[^>]*>/g, '\'\'\''); // <h1> .. <h6> headings obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h1\b[^>]*>(.*?)<\/h1>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000= $4 =\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h2\b[^>]*>(.*?)<\/h2>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000== $4 ==\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h3\b[^>]*>(.*?)<\/h3>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000=== $4 ===\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h4\b[^>]*>(.*?)<\/h4>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000==== $4 ====\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h5\b[^>]*>(.*?)<\/h5>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000===== $4 =====\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h6\b[^>]*>(.*?)<\/h6>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000====== $4 ======\u0000\u0000'); obj.html = obj.html.replace(/<(h[0-6])\b[^>]*>(.*?)<\/\1>/g, '$2'); // remove <thead> <tbody> <tfoot> obj.html = obj.html.replace(/(\s|\u0000|<br\b[^>]*>)<\/?(thead|tbody|tfoot)\b[^>]*>(\s|\u0000|<br\b[^>]*>)*/g, '$1'); // remove <col></col> and <colgroup></colgroup>\s obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(col)\b[^>]*>.*?<\/\2>(|<br\b[^>]*>|\u0000)*/g, ''); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(colgroup)\b[^>]*>.*?<\/\2>(|<br\b[^>]*>|\u0000)*/g, ''); // line breaks in table cells obj.html = obj.html.replace(/(<(td|th|caption)\b[^>]*>)(.*?)(<\/\2>)/g, function(p, p1, p2, p3, p4) { p3 = p3.replace(/^(\s|<br\b[^>]*|\u0000>)+/g, ''); p3 = p3.replace(/(\s|<br\b[^>]*|\u0000>)+$/g, ''); p3 = p3.replace(/<br\b[^>]*> */g, '&lt;br /&gt;'); return(p1 + p3 + p4); } ); // remove table closing tags obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<\/(tr|thead|tbody|tfoot)>(\s|<br\b[^>]*>|\u0000)*/g, ''); // <td> table cells obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<td>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000| '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(td) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000| '); } else { return('\u0000|' + p3 + ' | '); } } ); // <th> table cells obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<th>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000| '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(th) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000| '); } else { return('\u0000|' + p3 + ' | '); } } ); // <tr> table rows obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<tr>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000|-\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(tr) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { return('\u0000|-' + WikEdSanitizeAttributes(p2, p3, relaxed) + '\u0000'); } ); // <caption> table caption obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<caption>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000|+ '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(caption) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000|+ '); } else { return('\u0000|+' + p3 + ' | '); } } ); // remove closing tags obj.html = obj.html.replace(/\s*<\/(td|th|caption)>\s*/g, ''); // line breaks, also in table cells (continued) obj.html = obj.html.replace(/<br\b[^>]*>/g, '\u0000'); // <table> obj.html = obj.html.replace(/[\s\u0000]*<table>[\s\u0000]*(\|-(?=[\n\u0000]))?/g, '\u0000\u0000{|\u0000'); obj.html = obj.html.replace(/[\s\u0000]*<(table) +([^>]*)>[\s\u0000]*(\|-(?=[\n\u0000]))?/g, function (p, p1, p2) { return('\u0000{|' + WikEdSanitizeAttributes(p1, p2)); } ); obj.html = obj.html.replace(/[\s\u0000]*<\/table>[\s\u0000]*/g, '\u0000|}\u0000\u0000'); // convert links var regExpMatch = []; var regExpStr = '(<a(\\b[^>]*)>(.*?)</a>)'; var regExp = new RegExp(regExpStr, 'gi'); obj.html = obj.html.replace(regExp, function (p, p1, p2, p3) { var linkPar = p2; var linkText = p3; var linkArticle = ''; var pathArticle = ''; var linkTitle = ''; var urlPar = ''; var imgWidth = ''; var paramLink = false; // check if it is a wiki article link, get path article name and url parameters regExpStr = ' href=\\"(' + wikEdServer + '|\\.|(\\.\\.\/)*\\.\\.)(' + wikEdArticlePath + '([^\\"\\?]+)|' + wikEdScriptPath + 'index\\.php)(\\?([^\\"]*))?(\\"|#)'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkPar); if (regExpMatch != null) { urlPar = regExpMatch[6]; if (regExpMatch[4] != null) { pathArticle = regExpMatch[4]; } // check for links with special parameters, not title, action=edit, isbn regExp = new RegExp('(\\?|&amp;)(\\w+)=([^\\"\\&]+)', 'g'); while ( (regExpMatch = regExp.exec(linkPar)) != null) { if ( (regExpMatch[2] != 'title') && (regExpMatch[2] != 'isbn') && ( (regExpMatch[2] != 'action') || (regExpMatch[3] != 'edit') ) ) { paramLink = true; break; } } } // get article name from path: /article if (paramLink != true) { if (pathArticle != '') { linkArticle = pathArticle; linkArticle = linkArticle.replace(/_/g, ' '); linkArticle = decodeURIComponent(linkArticle); } // get article name from title="" html parameter else { regExpMatch = / title=\"([^\">]+)\"/.exec(linkPar); if (regExpMatch != null) { linkArticle = regExpMatch[1]; } // get article name from title= url parameter else if (urlPar != '') { regExpMatch = /(^|&amp;)title=([^&]+)/.exec(urlPar); if (regExpMatch != null) { linkArticle = regExpMatch[2]; linkArticle = linkArticle.replace(/_/g, ' '); linkArticle = decodeURIComponent(linkArticle); // ISBN links regExpMatch = /(^|&amp;)isbn=(\\d+)/.exec(urlPar); if (regExpMatch != null) { var isbn = regExpMatch[2]; regExpMatch = /((\d\-?){13}|(\d\-?){10})/.exec(linkText); if (regExpMatch != null) { isbn = regExpMatch[1]; } return('ISBN ' + isbn); } } } } } // format wiki link if (linkArticle != '') { // check for wiki image regExpStr = '^<img\\b[^>]*?\\bwidth=\\"(\\d+)\\"[^>]*?>$'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkText); if (regExpMatch != null) { imgWidth = regExpMatch[1]; imgWidth = '|' + imgWidth + 'px'; if ( (linkTitle != '') && (linkTitle != 'Enlarge') ) { linkTitle = '|' + linkTitle; return('[[' + linkArticle + imgWidth + linkTitle + ']]'); } else { return('[[' + linkArticle + imgWidth + ']]'); } } // category link var regExp = new RegExp('^' + wikEdText['wikicode Category'] + ':(.*)','i'); regExpMatch = regExp.exec(linkArticle); if (regExpMatch != null) { return('[[' + wikEdText['wikicode Category'] + ':' + regExpMatch[1].substr(0, 1).toUpperCase() + linkText.substr(1) + ']]'); } // wiki link if (linkArticle == linkText.substr(0, 1).toUpperCase() + linkText.substr(1)) { return('[[' + linkText + ']]'); } // date link (English only) regExpMatch = /^(January|February|March|April|May|June|July|August|September|October|November|December) (\d{1,2})$/.exec(linkArticle); if (regExpMatch != null) { var month = regExpMatch[1]; var day = regExpMatch[2]; if (linkText == (day + ' ' + month) ) { return('[[' + linkArticle + ']]'); } } // lowercase the article name if the first char of the link text can exist in lower/uppercase and is lowercase if ( linkText.substr(0, 1).toLowerCase() != linkText.substr(0, 1).toUpperCase() ) { if ( linkText.substr(0, 1) == linkText.substr(0, 1).toLowerCase() ) { linkArticle = linkArticle.substr(0, 1).toLowerCase() + linkArticle.substr(1); } } // suffix links regExpStr = '^' + linkArticle.replace(/([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])/, '\\$1') + '([\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9]+)$'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkText); if (regExpMatch != null) { return('[[' + linkText + ']]' + regExpMatch[1]); } return('[[' + linkArticle + '|' + linkText + ']]'); } // external link regExpMatch = linkPar.match(/ href=\"([^\">]*)\"/); if (regExpMatch != null) { var linkAddr = regExpMatch[1]; if (linkAddr != '') { // PubMed link regExpMatch = /^http:\/\/www\.ncbi\.nlm\.nih\.gov\/entrez\/query\.fcgi\?cmd=Retrieve&amp;db=pubmed&amp;.*?&amp;list_uids=(\d+)/.exec(linkAddr); if (regExpMatch != null) { return('PMID ' + regExpMatch[1]); } // DOI link regExpMatch = /^http:\/\/dx\.doi\.org\/(.*)/.exec(linkAddr); if (regExpMatch != null) { return('{{doi|' + regExpMatch[1] + '}}'); } // other external link return('[' + linkAddr + ' ' + linkText + ']'); } } // return unchanged text return(p1); } ); // clean up MediaWiki category list var regExp = new RegExp('<span\\b[^>]*>(\\[\\[' + wikEdText['wikicode Category'] + ':[^\\]]+\\]\\])<\\/span>[\\s\\u0000\\|]*', 'gi'); obj.html = obj.html.replace(regExp, '$1\u0000'); // clean up DOI obj.html = obj.html.replace(/\[\[Digital object identifier\|DOI\]\]:(\{\{doi\|[^\}\s]+\}\})/gi, '$1'); // convert images obj.html = obj.html.replace(/<img\b([^>]*)>/g, function (p, p1) { // get and format parameters var address = ''; var regExpMatch = /\bsrc\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { address = regExpMatch[2].replace(/^ +| +$/g, ''); } var imgAlt = ''; regExpMatch = /\balt\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { imgAlt = regExpMatch[2].replace(/^ +| +$/g, ''); imgAlt = imgAlt.replace(/&amp;nbsp;|[\n\u0000]/g, ' '); imgAlt = imgAlt.replace(/ {2,}/g, ' '); imgAlt = imgAlt.replace(/^ | $/g, ''); if (imgAlt != '') { imgAlt = '|' + imgAlt; } } var imgWidth = ''; regExpMatch = /\bwidth\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { imgWidth = '|' + regExpMatch[2].replace(/^ +| +$/g, '') + 'px'; } var imgLink = ''; regExpMatch = /([^\/]+)$/.exec(address); if (regExpMatch != null) { imgLink = regExpMatch[1]; if (imgLink != '') { return('[[' + wikEdText['wikicode Image'] + ':' + imgLink + imgWidth + imgAlt + ']]'); } } return(''); } ); // convert lists: * # : ; var listObj = {}; listObj.prefix = ''; obj.html = obj.html.replace(/[\s\u0000]*<(\/?(ol|ul|li|dl|dd|dt))\b[^>]*>[\s\u0000]*/g, function (p, p1, p2, p3, p4) { switch (p1.toLowerCase()) { case 'ol': listObj.prefix += '#'; return('\u0000'); case 'ul': listObj.prefix += '*'; return('\u0000'); case 'dl': listObj.prefix += ':'; return('\u0000'); case '/ol': case '/ul': case '/dl': listObj.prefix = listObj.prefix.substr(0, listObj.prefix.length - 1); return('\u0000\u0000'); case 'li': case 'dd': return('\u0000' + listObj.prefix + ' '); case 'dt': return('\u0000' + listObj.prefix.replace(/:$/, ';') + ' '); case '/li': case '/dt': case '/dd': return(''); } return(''); } ); obj.html = obj.html.replace(/[\n|\u0000]+[#\*:\;]+ (?=[\n|\u0000])/g, ''); // <> remove not allowed tags obj.html = obj.html.replace(/(<\/?)(\/?)(\w+)(.*?>)/g, function (p, p1, p2, p3, p4) { if ( /^(big|blockquote|colgroup|center|code|del|div|font|ins|p|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki|math|gallery|noinclude|includeonly|ref|references)$/i.test(p3) ) { return(p1 + p2 + p3 + p4); } else { return(''); } } ); // sanitize attributes in opening html tags obj.html = obj.html.replace(/<(\w+) +(.*?) *(\/?)>/g, function (p, p1, p2, p3) { if (p3 != '') { p3 = ' ' + p3; } return('<' + p1 + WikEdSanitizeAttributes(p1, p2, relaxed) + p3 + '>'); } ); // unformat italic or bold blanks obj.html = obj.html.replace(/\'\'\'([\s\u0000]+)\'\'\'/g, '$1'); obj.html = obj.html.replace(/\'\'([\s\u0000]+)\'\'/g, '$1'); // remove space-only lines obj.html = obj.html.replace(/([\s\u0000]*\u0000[\s\u0000]*)/g, function (p, p1) { return(p1.replace(/\n/g, '\u0000')); } ); obj.html = obj.html.replace(/\u0000\s+(?=\u0000)/g, '\u0000'); // remove trailing linebreaks from table cells obj.html = obj.html.replace(/\u0000{2,}(\|)/g, '\u0000$1'); // remove leading and trailing spaces obj.html = obj.html.replace(/>\s+\u0000/g, '>\u0000'); obj.html = obj.html.replace(/\u0000\s+</g, '\u0000<'); // remove empty inline and block tag pairs obj.html = obj.html.replace(/( *)<(big|colgroup|code|del|font|ins|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki)\b[^>]*><\/\1> */g, '$1'); obj.html = obj.html.replace(/[\s\u0000]*<(blockquote|center|div|math|gallery|noinclude|includeonly|ref|references)\b[^>]*><\/\1>[\s\u0000]*/g, '\u0000\u0000'); // remove empty lines from div tags obj.html = obj.html.replace(/(<div\b[^>]*>)[\s\u0000]+/g, '$1'); obj.html = obj.html.replace(/[\s\u0000]+(<\/div>)/g, '$1'); // escape < > obj.html = obj.html.replace(/</g, '&lt;'); obj.html = obj.html.replace(/>/g, '&gt;'); // newlines to <br /> obj.html = obj.html.replace(/\n{2,}\u0000+\n/g, '\n\n'); obj.html = obj.html.replace(/\n\u0000+\n{2,}/g, '\n\n'); obj.html = obj.html.replace(/\u0000+\n{2,}/g, '\n\n'); obj.html = obj.html.replace(/\n{2,}\u0000+/g, '\n\n'); obj.html = obj.html.replace(/\u0000+\n/g, '\n'); obj.html = obj.html.replace(/\n\u0000+/g, '\n'); obj.html = obj.html.replace(/\u0000{2,}/g, '\n\n'); obj.html = obj.html.replace(/\u0000/g, '\n'); obj.html = obj.html.replace(/\n/g, '<br />'); // remove empty lines from article start and end if (obj.from == 'whole') { obj.html = obj.html.replace(/^(<br\b[^>]*>)+/g, ''); obj.html = obj.html.replace(/(<br\b[^>]*>)+$/g, ''); } return; } // // WikEdSanitizeAttributes: see Sanitizer.php // function WikEdSanitizeAttributes(tag, attributes, relaxed) { var common; var tablealign; var tablecell; var table; if (relaxed == true) { common = 'lang|dir|style|class'; // not needed: id|title tablealign = '|align|char|charoff|valign'; table = '|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor'; tablecell = '|abbr|axis|headers|scope|rowspan|colspan|nowrap|width|height|bgcolor'; } else { common = 'lang|dir'; table = '|border|cellspacing|cellpadding|align|bgcolor'; tablealign = '|align|valign'; tablecell = '|rowspan|colspan|nowrap|bgcolor'; } tag = tag.toLowerCase(); var sanitized = ''; var regExp = /(\w+)\s*=\s*(\'|\")([^\'\"]*)(\'|\")/g; var regExpMatch; while ( (regExpMatch = regExp.exec(attributes)) != null) { var attrib = regExpMatch[1]; var attribValue = regExpMatch[3]; if (attribValue == '') { continue; } var valid = false; // relaxed, for existing text tags if (relaxed == true) { if ('center|em|strong|cite|code|var|sub|supdl|dd|dt|tt|b|i|big|small|strike|s|u|rb|rp|ruby'.indexOf(tag) >= 0) { if (common.indexOf(attrib) >= 0) { valid = true; } } else if ('div|span|h1|h2|h3|h4|h5|h6|p'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('blockquote'.indexOf(tag) >= 0) { if ((common + '|cite').indexOf(attrib) >= 0) { valid = true; } } else if ('br'.indexOf(tag) >= 0) { if ('style|clear'.indexOf(attrib) >= 0) { valid = true; } } else if ('pre'.indexOf(tag) >= 0) { if ((common + '|width').indexOf(attrib) >= 0) { valid = true; } } else if ('ins|del'.indexOf(tag) >= 0) { if ((common + '|cite|datetime').indexOf(attrib) >= 0) { valid = true; } } else if ('ul'.indexOf(tag) >= 0) { if ((common + '|type').indexOf(attrib) >= 0) { valid = true; } } else if ('ol'.indexOf(tag) >= 0) { if ((common + '|type|start').indexOf(attrib) >= 0) { valid = true; } } else if ('li'.indexOf(tag) >= 0) { if ((common + '|type|value').indexOf(attrib) >= 0) { valid = true; } } else if ('table'.indexOf(tag) >= 0) { if ((common + table).indexOf(attrib) >= 0) { valid = true; } } else if ('caption'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('thead|tfoot|tbody'.indexOf(tag) >= 0) { if ((common + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('colgroup|col'.indexOf(tag) >= 0) { if ((common + '|span|width' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('tr'.indexOf(tag) >= 0) { if ((common + '|bgcolor' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('td|th'.indexOf(tag) >= 0) { if ((common + tablecell + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('font'.indexOf(tag) >= 0) { if ((common + '|size|color|face').indexOf(attrib) >= 0) { valid = true; } } else if ('hr'.indexOf(tag) >= 0) { if ((common + '|noshade|size|width').indexOf(attrib) >= 0) { valid = true; } } else if ('rt'.indexOf(tag) >= 0) { if ((common + '|rbspan').indexOf(attrib) >= 0) { valid = true; } } else if ('ref'.indexOf(tag) >= 0) { if (('name').indexOf(attrib) >= 0) { valid = true; } } else if ('references'.indexOf(tag) >= 0) { } else if ('gallery'.indexOf(tag) >= 0) { if ((common + '|perrow|widths|heights').indexOf(attrib) >= 0) { valid = true; } } } // strict, for html code to be wikified from external sources (websites, Word) else { if ('center|em|strong|cite|code|var|sub|supdl|dd|dt|tt|b|i|big|small|strike|s|u|rb|rp|ruby|blockquote|pre|ins|del'.indexOf(tag) >= 0) { if (common.indexOf(attrib) >= 0) { valid = true; } } else if ('div|span|h1|h2|h3|h4|h5|h6|p'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('br'.indexOf(tag) >= 0) { if ('clear'.indexOf(attrib) >= 0) { valid = true; } } else if ('ul'.indexOf(tag) >= 0) { if ((common + '|type').indexOf(attrib) >= 0) { valid = true; } } else if ('ol'.indexOf(tag) >= 0) { if ((common + '|type|start').indexOf(attrib) >= 0) { valid = true; } } else if ('li'.indexOf(tag) >= 0) { if ((common + '|type|value').indexOf(attrib) >= 0) { valid = true; } } else if ('table'.indexOf(tag) >= 0) { if ((common + table).indexOf(attrib) >= 0) { valid = true; } } else if ('caption'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('thead|tfoot|tbody'.indexOf(tag) >= 0) { if ((common + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('colgroup|col'.indexOf(tag) >= 0) { if ((common + '|span' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('tr'.indexOf(tag) >= 0) { if ((common + '|bgcolor' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('td|th'.indexOf(tag) >= 0) { if ((common + tablecell + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('font'.indexOf(tag) >= 0) { if ((common + '|color').indexOf(attrib) >= 0) { valid = true; } } else if ('hr'.indexOf(tag) >= 0) { if ((common + '|noshade|size').indexOf(attrib) >= 0) { valid = true; } } else if ('rt'.indexOf(tag) >= 0) { if ((common + '|rbspan').indexOf(attrib) >= 0) { valid = true; } } else if ('ref'.indexOf(tag) >= 0) { if (('name').indexOf(attrib) >= 0) { valid = true; } } else if ('references'.indexOf(tag) >= 0) { } else if ('gallery'.indexOf(tag) >= 0) { } } // clean up if (valid == true) { // clean up defaults for align if (attrib == 'align') { if ('tr|td|th'.indexOf(tag) >= 0) { if (attribValue == 'left') { attribValue = ''; } } } // clean up defaults for valign else if (attrib == 'valign') { if ('tr|td|th'.indexOf(tag) >= 0) { if (attribValue == 'top') { attribValue = ''; } } } // clean up style else if (attrib == 'style') { // remove non-standard Mozilla styles attribValue = attribValue.replace(/(^| )(-moz-[\w\-]+): [\w\-]+; */g, '$1'); attribValue = attribValue.replace(/(^| )([\w\-]+): [^;]*(-moz-[\w\-]+|windowtext)[^;]*; */g, '$1'); // remove dimensions from null values attribValue = attribValue.replace(/\b0(%|in|cm|mm|em|ex|pt|pc|px)\b/g, '0'); // remove empty definitions and spaces attribValue = attribValue.replace(/[\w\-]+ *\: *\; */g, ''); attribValue = attribValue.replace(/ *(;|:) */g, '$1 '); attribValue = attribValue.replace(/( |;)+$/g, ';'); } // clean up class else if (attrib == 'class') { // remove MS Word classes attribValue = attribValue.replace(/^Ms.*$/g, ''); } if (attribValue != '') { sanitized += ' ' + attrib + '="' + attribValue + '"'; } } } return(sanitized); } // // // WikEdRemoveHighlighting: remove syntax highlighting in obj.html; sets obj.htmlCode if text contains html code // expects <br /> instead of \n function WikEdRemoveHighlighting(obj) { // remove highlighting and atttribute-free span tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)span\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove highlighting div tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)div\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove highlighting pre tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)pre\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // comments obj.html = obj.html.replace(/<!--wikEd\w+-->/g, ''); // newlines obj.html = obj.html.replace(/[\n\r ]+/g, ' '); // non-breaking spaces obj.html = obj.html.replace(/&nbsp;/g, '\u00a0'); // check for pasted html content if (obj.html.match(/<(?!br\b)/)) { obj.htmlCode = true; } else { obj.htmlCode = false; } return; } // // WikEdHighlightSyntax: highlight syntax in obj.html; if singleLine is set, no block syntax will be highlighted; call WikEdRemoveHighlighting first // expects < > &lt; &gt; &amp; \u00a0 instead of &nbsp; \n instead of <br /> function WikEdHighlightSyntax(obj, singleLine) { // &lt; and &gt; to \u0000 and \u0001 obj.html = obj.html.replace(/&lt;/g, '\u0000'); obj.html = obj.html.replace(/&gt;/g, '\u0001'); // #redirect obj.html = obj.html.replace(/(^|\n)(#)(redirect\b)/g, '$1<span class="wikEdWikiRedir">$3</span><!--wikEdWikiRedir-->'); // nowiki (no html highlighting) obj.html = obj.html.replace(/(\u0000nowiki\b.*?\u0001)(.*?)(\u0000\/nowiki\b.*?\u0001)/gi, function (p, p1, p2, p3) { p2 = p2.replace(/\u0000/g, '&lt;'); p2 = p2.replace(/\u0001/g, '&gt;'); return(p1 + p2 + p3); } ); // blocks // lists * # : ; obj.html = obj.html.replace(/^([\*\#\:\;]+)(.*?)$/gm, '<span class="wikEdListLine"><span class="wikEdListTag">$1</span><!--wikEdListTag-->$2</span><!--wikEdListLine-->'); if (singleLine != true) { obj.html = obj.html.replace(/((<span class=\"wikEdListLine\">[^\n]*\n)+)/g, '<span class="wikEdListBlock">$1'); obj.html = obj.html.replace(/(<span class=\"wikEdListLine\">[^\n]*)(\n)(?!<span class=\"wikEdListLine\">)/g, '$1</span><!--wikEdListBlock-->$2'); } // #redirect (finish) obj.html = obj.html.replace(/(<span class=\"wikEdWikiRedir\">)(.*?<\/span><!--wikEdWikiRedir-->)/g, '$1#$2'); // various blocks if (singleLine != true) { obj.html = obj.html.replace(/(\u0000(blockquote|center|div|pre|timeline|imagemap)\b[^\u0001]*\u0001.*?\u0000\/\2\u0001)/gi, '<span class="wikEdBlock">$1</span><!--wikEdBlock-->'); } // space-pre if (singleLine != true) { obj.html = obj.html.replace(/^[\u00a0 ]([\u00a0 ]*)(.*?)$/gm, '<span class="wikEdSpaceLine"><span class="wikEdSpaceTag">&nbsp;$1</span><!--wikEdSpaceTag-->$2</span><!--wikEdSpaceLine-->'); obj.html = obj.html.replace(/((<span class=\"wikEdSpaceLine\">[^\n]*\n)+)/g, '<span class="wikEdSpaceBlock">$1'); obj.html = obj.html.replace(/(<span class=\"wikEdSpaceLine\">[^\n]*)(\n)(?!<span class="wikEdSpaceLine">)/g, '$1</span><!--wikEdSpaceBlock-->$2'); } // ---- <hr> horizontal rule obj.html = obj.html.replace(/(^|\n|<[^>]*>)(----)(\n|<[^>]*>|$)/g, '$1<span class="wikEdHR">$2</span><!--wikEdHR-->$3'); obj.html = obj.html.replace(/(\u0000hr\u0001)/g, '<span class="wikEdHRInline">$1</span><!--wikEdHRInline-->'); // == headings obj.html = obj.html.replace(/(^|\n|<[^>]*>)(=+[\u00a0 ]*)([^\n]*?)([\u00a0 ]*=+)(?=([\u00a0 ]|<[^>]*>)*(\n|$))/g, function (p, p1, p2, p3, p4) { p2 = p2.replace(/(=+)/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); p4 = p4.replace(/(=+)/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); if ( /^(external links?|see also|references?)$/i.test(p3) ) { p1 = p1 + '<span class="wikEdHeadingWp">'; p4 = p4 + '</span><!--wikEdHeadingWp-->'; } else { p1 = p1 + '<span class="wikEdHeading">'; p4 = p4 + '</span><!--wikEdHeading-->'; } return(p1 + p2 + p3 + p4); } ); // tables {| |+ |- ! |} | obj.html = obj.html.replace(/^(\{\||\|\+|\|\-|\!|\|\}([^\}]|$)|\|)(.*?)$/gm, '<span class="wikEdTableLine"><span class="wikEdTableTag">$1</span><!--wikEdTableTag-->$3</span><!--wikEdTableLine-->'); if (singleLine != true) { obj.html = obj.html.replace(/(^|\n)((<[^>]*>)*\{\|)/g, '$1<span class="wikEdTableBlock">$2'); obj.html = obj.html.replace(/(^|\n)((<[^>]*>)*\|\}(<[^>]*>)*)/g, '$1$2</span><!--wikEdTableBlock-->'); obj.html = obj.html.replace(/(\u0000table\b[^\u0001]*\u0001)/gi, '<span class="wikEdTableBlock">$1'); obj.html = obj.html.replace(/(\u0000\/table\u0001)/gi, '$1</span><!--wikEdTableBlock-->'); } // <gallery> wiki markup if (singleLine != true) { obj.html = obj.html.replace(/(\u0000(gallery)\b[^\u0001]*\u0001)/gi, '<span class="wikEdWiki">$1'); obj.html = obj.html.replace(/(\u0000\/(gallery)\u0001)/gi, '$1</span><!--wikEdWiki-->'); } // various block tags obj.html = obj.html.replace(/(\u0000\/?(blockquote|center|div|pre|timeline|imagemap)\b[^\u0001]*\u0001)/gi, '<span class="wikEdBlockTag">$1</span><!--wikEdBlockTag-->'); // <p> ... </p> pairs with (wikEdBlockTag) and withhout attributes (wikEdUnknown) var isRemove = []; obj.html = obj.html.replace(/(\u0000(\/?)p\b([^\u0001]*?)\u0001)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } if (/\/$/.test(p3)) { return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } isRemove.push(false); return('<span class="wikEdBlockTag">' + p1 + '</span><!--wikEdBlockTag-->'); } if (isRemove.pop() == true) { return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } return('<span class="wikEdBlockTag">' + p1 + '</span><!--wikEdBlockTag-->'); } ); // inline elements // magic words obj.html = obj.html.replace(/(__(NOTOC|FORCETOC|TOC|NOEDITSECTION|NEWSECTIONLINK|NOCONTENTCONVERT|NOCC|NOGALLERY|NOTITLECONVERT|NOTC|END|START)__)/gi, '<span class="wikEdMagic">$1</span><!--wikEdMagic-->'); // <sup> </sub> <ins> <del> obj.html = obj.html.replace(/(\u0000sup\b[^\u0001]*\u0001((.|\n)*?)\u0000\/sup\u0001)/gi, '<span class="wikEdSuperscript">$1</span><!--wikEdSuperscript-->'); obj.html = obj.html.replace(/(\u0000sub\b[^\u0001]*\u0001((.|\n)*?)\u0000\/sub\u0001)/gi, '<span class="wikEdSubscript">$1</span><!--wikEdSubscript-->'); obj.html = obj.html.replace(/(\u0000(ins|u)\b[^\u0001]*\u0001((.|\n)*?)\u0000\/(ins|u)\u0001)/gi, '<span class="wikEdIns">$1</span><!--wikEdIns-->'); obj.html = obj.html.replace(/(\u0000(del|s|strike)\b[^\u0001]*\u0001((.|\n)*?)\u0000\/(del|s|strike)\u0001)/gi, '<span class="wikEdDel">$1</span><!--wikEdDel-->'); // <ref /> and <ref> wiki markup if (wikEdRefHide != true) { obj.html = obj.html.replace(/\u0000(ref\b[^\u0001]*?\/)\u0001/gi, '<span class="wikEdRef">&lt;$1&gt;</span><!--wikEdRef-->'); obj.html = obj.html.replace(/(\u0000ref\b[^\u0001]*\u0001((.|\n)*?)\u0000\/ref\u0001)/gi, '<span class="wikEdRef">$1</span><!--wikEdRef-->'); } // various inline tags obj.html = obj.html.replace(/(\u0000\/?(sub|sup|ins|u|del|s|strike|big|br|colgroup|code|font|small|span|tt|rb|rp|rt|ruby|ref)\b[^\u0001]*\u0001)/gi, '<span class="wikEdInlineTag">$1</span><!--wikEdInlineTag-->'); // <references/> wiki markup obj.html = obj.html.replace(/\u0000((references)\b[^\u0001]*?\/)\u0001/gi, '<span class="wikEdWiki">&lt;$1&gt;</span><!--wikEdWiki-->'); // <math> <noinclude> <includeonly> <references> wiki markup obj.html = obj.html.replace(/(\u0000(math|gallery|noinclude|includeonly|references)\b[^\u0001]*\u0001((.|\n)*?)(\u0000)\/\2\u0001)/gi, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); // unsupported or not needed <> tags obj.html = obj.html.replace(/(\u0000\/?)(\w+)(.*?\/?\u0001)/g, function (p, p1, p2, p3) { if ( ! /^(col|thead|tfoot|tbody|big|br|blockquote|colgroup|center|code|del|div|font|ins|p|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki|math|gallery|noinclude|includeonly|ref|references|timeline|imagemap)$/i.test(p2) ) { p1 = '<span class="wikEdUnknown">' + p1; p3 = p3 + '</span><!--wikEdUnknown-->'; } return(p1 + p2 + p3); } ); // comments obj.html = obj.html.replace(/(\u0000!--(.|\n)*?--\u0001)/g, '<span class="wikEdComment">$1</span><!--wikEdComment-->'); // URLs, allowed chars: \w / . & ? = - @ # % ~ + (; allowed because of &amp; and common misuse) obj.html = obj.html.replace(/((http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:)[^\u0000-\u0020\!\"\$\'\(\)\*\,\:\<\>\[\\\]\^\`\{-\|\}\u007f-\uffff]*)/gi, function (p, p1, p2) { return('<span class="wikEdURLLink"' + WikEdFollowLinkUrl(null, null, p1) + '">' + p1 + '</span><!--wikEdURLLink-->'); } ); // URLs with text obj.html = obj.html.replace(/(\[)( *<span class=\"wikEdURLLink\"[^>]*>.*?<\!--wikEdURLLink--> *)([^\]\n]*?)( *\])/gi, function (p, p1, p2, p3, p4) { // link text p3 = p3.replace(/(.*)/, '<span class="wikEdURLText">$1</span><!--wikEdURLText-->'); // link tags p1 = p1.replace(/(\[)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p4 = p4.replace(/(\])/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3 + p4); } ); // [[Image: ]] images var regExpImg = new RegExp('(\\[\\[)(' + wikEdText['wikicode Image'] + ' *: *)([^\\]\\[\\|]*? *)(\\|(\\[[^\\]]*\\]|\\[\\[[^\\]]*\\]\\]|[^\\[\\]\\|]+|\\|)*)?(\\]\\])', 'gi'); obj.html = obj.html.replace(regExpImg, function (p, p1, p2, p3, p4, p5, p6) { var linkTitle = p3; linkTitle = linkTitle.replace(/\|.*/g, ''); linkTitle = linkTitle.replace(/\n.*/g, ''); p1 = '<span class="wikEdImage"' + WikEdFollowLinkUrl(p2, linkTitle) + '>' + p1; p6 = p6 + '</span><!--wikEdImage-->'; p2 = '<span class="wikEdImageName">' + p2; p3 = p3 + '</span><!--wikEdImageName-->'; // parameters and capture p4 = p4.replace(/((\[[^\]]\]|\[\[[^\]]\]\]|[^\]\|])+)/g, function (p, p1) { if (/^(thumb|thumbnail|frame|right|left|center|none|\d+px|\d+x\d+px)$/.test(p1) == true) { p1 = '<span class="wikEdImageParam">' + p1 + '</span><!--wikEdImageParam-->'; } else { p1 = '<span class="wikEdImageCaption">' + p1 + '</span><!--wikEdImageCaption-->'; } return(p1); } ); // link tags p1 = p1.replace(/(\[+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p6 = p6.replace(/(\]+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p4 = p4.replace(/(\|)/g, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3 + p4 + p6); } ); // [[ ]] links, categories obj.html = obj.html.replace(/(\[\[)([^\[\]]*)(\]\])/g, function (p, p1, p2, p3) { // omit image tags var regExpImg = new RegExp('^(<[^>]*>)*' + wikEdText['wikicode Image'] + '\\s*:', 'i'); if (regExpImg.test(p2) == true) { return(p1 + p2 + p3); } // get url var linkParam = ''; var linkInter; var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter, linkMatch[3]) } // category var regExpCat = new RegExp('^\\s*' + wikEdText['wikicode Category'] + '\\s*:', 'i'); if (regExpCat.test(p2)) { var regExp = new RegExp('\\s*[\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9]+\\s*:\\s*' + wikEdText['wikicode Category'] + '\\s*:', 'i'); if (p2.match(regExp)) { p1 = '<span class="wikEdCatInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdCatInter-->'; } else { p1 = '<span class="wikEdCat"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdCat-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdCatName">$2</span><!--wikEdCatName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdCatText">$1</span><!--wikEdCatText-->$2'); return(p1 + p2); } ); } // wikilink else { if (linkInter != '') { p1 = '<span class="wikEdLinkInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdLinkInter-->'; } else { p1 = '<span class="wikEdLink"' + linkParam + '">' + p1; p3 = p3 + '</span><!--wikEdLink-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdLinkName">$2</span><!--wikEdLinkName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdLinkText"">$1</span><!--wikEdLinkText-->$2'); return(p1 + p2); } ); } // link tags p1 = p1.replace(/(\[+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p2 = p2.replace(/(\|)/g, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p3 = p3.replace(/(\]+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3); } ); // {{ }} simple non-nested templates obj.html = obj.html.replace(/(\{{2,3})([^\{\}\<\>\u0000\u0001\n]+)(\}{2,3})/g, function (p, p1, p2, p3) { // get url var linkParam = ''; var linkInter; var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter + wikEdText['wikicode Template'] + ':', linkMatch[3]) } if (linkInter != '') { p1 = '<span class="wikEdTemplInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdTemplInter-->'; } else { p1 = '<span class="wikEdTempl"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdTempl-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdTemplName">$2</span><!--wikEdTemplName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdTemplText">$1</span><!--wikEdTemplText-->$2'); return(p1 + p2); } ); // template tags p2 = p2.replace(/(\|)/g, '<span class="wikEdTemplTag">$1</span><!--wikEdTemplTag-->'); return(p1 + p2 + p3); } ); // highlighting curly template brackets at template start obj.html = obj.html.replace(/(\{{2,})(\s*[^\{\}\<\>\u0000\u0001\n]+)/g, function (p, p1, p2) { var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); var linkParam = ''; if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter + wikEdText['wikicode Template'] + ':', linkMatch[3]) } return('<span class="wikEdTempl"' + linkParam + '><span class="wikEdTemplTag">' + p1 + '</span><span class="wikEdTemplName">' + p2 + '</span><!--wikEdTemplName--><!--wikEdTemplTag--></span><!--wikEdTempl-->'); } ); // highlighting curly template brackets at template end obj.html = obj.html.replace(/@(\}{2,})(?!<\/span><!--wikEdTemplTag-->)/g, '<span class="wikEdTempl"><span class="wikEdTemplTag">$1</span><!--wikEdTemplTag--></span><!--wikEdTempl-->'); // <b> <i> obj.html = obj.html.replace(/(\'\'\')(\'*)(.*?)(\'*)(\'\'\')/g, '<span class="wikEdBold">$2$3$4</span><!--wikEdBold-->'); obj.html = obj.html.replace(/(\'\')(.*?)(\'\')/g, '<span class="wikEdItalic">$1$2$3</span><!--wikEdItalic-->'); obj.html = obj.html.replace(/(<span class=\"wikEdBold\">)/g, '$1\'\'\''); obj.html = obj.html.replace(/(<\/span><!--wikEdBold-->)/g, '\'\'\'$1'); obj.html = obj.html.replace(/(\'{2,})/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); // named html colors obj.html = obj.html.replace(/(\'|\")(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|blanchedalmond|burlywood|chartreuse|coral|cornsilk|cyan|darkgray|darkgrey|darkkhaki|darkorange|darksalmon|darkseagreen|floralwhite|fuchsia|gainsboro|ghostwhite|gold|goldenrod|greenyellow|honeydew|hotpink|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightskyblue|lightsteelblue|lightyellow|lime|linen|magenta|mediumaquamarine|mediumspringgreen|mediumturquoise|mintcream|mistyrose|moccasin|navajowhite|oldlace|orange|palegoldenrod|palegreen|paleturquoise|papayawhip|peachpuff|peru|pink|plum|powderblue|salmon|sandybrown|seashell|silver|skyblue|snow|springgreen|tan|thistle|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)(\1)/g, '$1<span style="background-color: $2;" class="wikEdColorsLight">$2</span><!--wikEdColorsLight-->$3'); obj.html = obj.html.replace(/(\'|\")(black|blue|blueviolet|brown|cadetblue|chocolate|cornflowerblue|crimson|darkblue|darkcyan|darkgoldenrod|darkgreen|darkmagenta|darkolivegreen|darkorchid|darkred|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|forestgreen|gray|green|grey|indianred|indigo|lightseagreen|lightslategray|lightslategrey|limegreen|maroon|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumvioletred|midnightblue|navy|olive|olivedrab|orangered|orchid|palevioletred|purple|red|rosybrown|royalblue|saddlebrown|seagreen|sienna|slateblue|slategray|slategrey|steelblue|teal|tomato)(\1)/g, '$1<span style="background-color: $2;" class="wikEdColorsDark">$2</span><!--wikEdColorsDark-->$3'); // RGB hex colors #d4d0cc obj.html = obj.html.replace(/(^|[^\/\w])(#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2}))(?=(\W|$))/g, function (p, p1, p2, p3, p4, p5) { var luminance = parseInt(p3, 16) * 0.299 + parseInt(p4, 16) * 0.587 + parseInt(p5, 16) * 0.114; if (luminance > 128) { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsLight">' + p2 + '</span><!--wikEdColorsLight-->'); } else { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsDark">' + p2 + '</span><!--wikEdColorsDark-->'); } } ); // RGB hex colors #ddc obj.html = obj.html.replace(/(^|[^\/\w])(#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F]))(?=(\W|$))/g, function (p, p1, p2, p3, p4, p5) { var luminance = parseInt(p3, 16) * 16 * 0.299 + parseInt(p4, 16) * 16 * 0.587 + parseInt(p5, 16) * 16 * 0.114; if (luminance > 128) { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsLight">' + p2 + '</span><!--wikEdColorsLight-->'); } else { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsDark">' + p2 + '</span><!--wikEdColorsDark-->'); } } ); // RGB decimal colors rgb(128,64,265) obj.html = obj.html.replace(/(rgb\(\s*(\d+),\s*(\d+),\s*(\d+)\s*\))/gi, function (p, p1, p2, p3, p4) { var luminance = p2 * 0.299 + p3 * 0.587 + p4 * 0.114; if (luminance > 128) { return('<span style="background-color: ' + p1 + '" class="wikEdColorsLight">' + p1 + '</span><!--wikEdColorsLight-->'); } else { return('<span style="background-color: ' + p1 + '" class="wikEdColorsDark">' + p1 + '</span><!--wikEdColorsDark-->'); } } ); // nowiki (remove highlighting) obj.html = obj.html.replace(/(\u0000nowiki\b[^\u0001]*\u0001)((.|\n)*?)(\u0000\/nowiki\u0001)/gi, function (p, p1, p2, p3, p4) { p1 = '<span class="wikEdNowiki"><span class="wikEdInlineTag">' + p1 + '</span><!--wikEdInlineTag-->'; p2 = p2.replace(/<[^>]*>/g, ''); p4 = '<span class="wikEdInlineTag">' + p4 + '</span><!--wikEdInlineTag--></span><!--wikEdNowiki-->'; return(p1 + p2 + p4); } ); // hide (fade) <ref> if (wikEdRefHide == true) { // escape <ref /> obj.html = obj.html.replace(/\u0000(ref\b[^\u0001]*?\/)\u0001/g, '<span class="wikEdRefHide">&lt;$1&gt;</span><!--wikEdRefHide-->'); // remove <ref> inner highlighting obj.html = obj.html.replace(/(\u0000ref\b[^\u0001]*\u0001)((.|\n)*?)(\u0000\/ref\u0001)/gi, function (p, p1, p2, p3, p4) { p2 = p2.replace(/<[^>]*>/g, ''); var str = '<span class="wikEdRefHide">' + p1 + p2 + p4 + '</span><!--wikEdRefHide-->'; return(str); } ); } // \u0000 and \u0001 back to &lt; and &gt; obj.html = obj.html.replace(/\u0000/g, '&lt;'); obj.html = obj.html.replace(/\u0001/g, '&gt;'); // display control chars with popup title var regExp = new RegExp('([' + wikEdControlCharsStr + '])', 'g'); obj.html = obj.html.replace(regExp, function (p, p1) { if (p1 == '\u0009') { p1 = '<span class="wikEdTab" title="' + wikEdControlChars[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdTab-->'; } else if (p1 != '\u000a') { p1 = '<span class="wikEdCtrl" title="' + wikEdControlChars[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdCtrl-->'; } return(p1); } ); // display strange spaces with popup title var regExpStr = ''; for (var decimalValue in wikEdStrangeSpaces) { regExpStr += String.fromCharCode(decimalValue); } var regExp = new RegExp('([' + regExpStr + '])', 'g'); obj.html = obj.html.replace(regExp, function (p, p1) { if (p1 != '\u000a') { p1 = '<span class="wikEdBlank" title="' + wikEdStrangeSpaces[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdBlank-->'; } return(p1); } ); // remove comments if (wikEdRemoveHighlightComments == true) { obj.html = obj.html.replace(/<!--wikEd\w+-->/g, ''); } return; } // // WikEdFollowLinkUrl: prepare the span tag parameters for ctrl-click opening of highlighted links // add support for [[/subpage]] function WikEdFollowLinkUrl(linkPrefix, linkTitle, linkUrl) { var linkName = ''; // generate url from interlanguage or namespace prefix and title if (linkUrl == null) { // test for templates if ( (/\{|\}/.test(linkPrefix) == true) || (/\{|\}/.test(linkTitle) ) == true) { return(''); } // remove highlighting code linkPrefix = linkPrefix.replace(/<[^>]*>/g, ''); linkTitle = linkTitle.replace(/<[^>]*>/g, ''); // remove control chars var regExp = new RegExp('[' + wikEdControlCharsStr + ']', 'g'); linkPrefix = linkPrefix.replace(regExp, ''); linkTitle = linkTitle.replace(regExp, ''); // remove strange white spaces linkPrefix = linkPrefix.replace(/\s/, ' '); linkTitle = linkTitle.replace(/\s/, ' '); linkPrefix = linkPrefix.replace(/\s/g, ''); linkPrefix = linkPrefix.replace(/^:+/g, ''); linkTitle = linkTitle.replace(/ /g, '_'); linkTitle = linkTitle.substr(0, 1).toUpperCase() + linkTitle.substr(1); linkUrl = linkPrefix + linkTitle; linkUrl = encodeURI(linkUrl); linkUrl = linkUrl.replace(/\'/g, '%27'); linkUrl = linkUrl.replace(/#/g, '%23'); if (typeof(wgArticlePath) != 'string') { linkUrl = ''; } else { linkUrl = wgArticlePath.replace(/\$1/, linkUrl); linkName = linkPrefix + linkTitle; } } // url provided else { // test for templates if (/\{|\}/.test(linkUrl) == true) { return(''); } linkName = linkUrl; linkUrl = encodeURI(linkUrl); linkUrl = linkUrl.replace(/\'/g, '%27'); } linkName = linkName.replace(/</g, '&lt;'); linkName = linkName.replace(/>/g, '&gt;'); linkName = linkName.replace(/\"/g, '&quot;'); linkName = linkName.replace(/\'/g, '\\u0027'); var linkParam = ''; if (linkUrl != '') { linkParam = ' onclick="var linkUrl=\'' + linkUrl + '\'; var linkName = \'' + linkName + '\';"'; } return(linkParam) } // // WikEdUpdateTextarea: copy frame content to textarea // function WikEdUpdateTextarea() { // get frame content var obj = {}; obj.html = wikEdFrameBody.innerHTML; obj.html = obj.html.replace(/(<br\b[^>]*>)\n* */g, '$1'); // textify so that no html formatting is submitted WikEdTextify(obj); obj.plain = obj.plain.replace(/&nbsp;/g, ' '); obj.plain = obj.plain.replace(/&lt;/g, '<'); obj.plain = obj.plain.replace(/&gt;/g, '>'); obj.plain = obj.plain.replace(/&amp;/g, '&'); // copy to textarea wikEdTextarea.value = obj.plain; // remember frame scroll position wikEdFrameScrollTop = wikEdFrameBody.scrollTop; return; } // // WikEdUpdateFrame: copy textarea content to frame // function WikEdUpdateFrame() { // get textarea content var obj = {}; obj.html = wikEdTextarea.value; obj.html = obj.html.replace(/&/g, '&amp;'); obj.html = obj.html.replace(/>/g, '&gt;'); obj.html = obj.html.replace(/</g, '&lt;'); // highlight the syntax if (wikEdHighlightSyntax == true) { WikEdHighlightSyntax(obj); } // display tabs else { obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); } // multiple blanks to blank-&nbsp; obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ \n/g, '&nbsp;\n'); // newlines to <br /> obj.html = obj.html.replace(/\n/g, '<br />'); // select the whole text after replacing the whole text and scroll to same height obj.sel = wikEdFrameWindow.getSelection(); obj.sel.removeAllRanges(); // insert content into empty frame if ( (wikEdFrameBody.firstChild == null) || (wikEdFrameBody.innerHTML == '<br>') ) { wikEdFrameBody.innerHTML = obj.html; } // insert content into frame, preserve history else { var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.setEndAfter(wikEdFrameBody.lastChild); obj.sel.addRange(range); // replace the frame content with the new text if (obj.html != '') { WikEdFrameExecCommand('inserthtml', obj.html); } else { WikEdFrameExecCommand('delete'); } obj.sel.removeAllRanges(); // scroll to previous position if (wikEdFrameScrollTop != null) { wikEdFrameBody.scrollTop = wikEdFrameScrollTop; } } wikEdFrameScrollTop = null; // add event handler to make highlighted frame links ctrl-clickable if (wikEdHighlightSyntax == true) { WikEdFollowLinks(); } return; } // // WikEdKeyFrame: event handler for key and mouse events in the frame // function WikEdKeyFrame(event) { if (wikEdUseWikEd == true) { switch (event.type) { // trap the tab key case 'keydown': switch (event.keyCode) { case 9: if (event.shiftKey == false) { event.preventDefault(); // scroll to text input top if (wikEdFullScreenMode == false) { var inputWrapperTop = WikEdGetOffsetTop(wikEdInputWrapper); window.scroll(0, inputWrapperTop); } // focus the summary wikEdSummaryText.focus(); } break; } break; // trap any other frame event case 'keyup': case 'keypress': case 'mouseup': // grey out inactive buttons WikEdInactiveButtons(); // reset the frame DOM cache wikEdFrameDOMCache = null; break; } } return; } // // WikEdFrameExecCommand: wrapper for execCommand method // function WikEdFrameExecCommand(command, option) { wikEdFrameDocument.execCommand(command, false, option); return; } // // WikEdFindAhead: non-regexp and case-insensitive find-as-you-type, event handler for find field // function WikEdFindAhead() { if (wikEdFindAhead.checked == true) { // get the find text var findText = wikEdFindText.value; if (findText == '') { return; } // remember position var sel = wikEdFrameWindow.getSelection(); var range = sel.getRangeAt(sel.rangeCount - 1).cloneRange(); var rangeClone = range.cloneRange(); var scrollTop = wikEdFrameBody.scrollTop; sel.removeAllRanges(); sel.addRange(range); range.collapse(true); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) // Mozilla bug: searchInFrames must be true, otherwise wrapAround does not work var found = wikEdFrameWindow.find(findText, false, false, true, false, true, false); // add original selection if (found == false) { wikEdFrameBody.scrollTop = scrollTop; sel.removeAllRanges(); sel.addRange(rangeClone); } } return; } // // WikEdMainSwitch: onclick handler for program logo // function WikEdMainSwitch() { // disable function if browser is incompatible if (wikEdBrowserNotSupported == true) { return; } // enable wikEd if (wikEdDisabled == true) { wikEdDisabled = false; WikEdSetCookie('wikEdDisabled', '', -1, '/'); // turn rich text frame on if (wikEdLoaded == true) { WikEdSetLogo(); WikEdUpdateFrame(); WikEdSetEditArea(true); wikEdButtonBarControl.style.display = 'block'; wikEdButtonBarPreview.style.display = 'block'; wikEdButtonBarJump.style.display = 'block'; } // setup wikEd else { WikEdSetup(false); return; } } // disable wikEd else { wikEdDisabled = true; WikEdSetLogo(); WikEdSetCookie('wikEdDisabled', '1', 0, '/'); if (wikEdLoaded == true) { if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } // turn classic textarea on WikEdUpdateTextarea(); WikEdSetEditArea(false); wikEdButtonBarControl.style.display = 'none'; wikEdButtonBarPreview.style.display = 'none'; wikEdLocalPrevWrapper.style.display = 'none'; wikEdButtonBarJump.style.display = 'none'; } } return; } // // WikEdFullScreen: change to fullscreen edit area or back to normal view // function WikEdFullScreen(fullscreen, notFrame) { // hide or show elements var displayStyle; if (fullscreen == true) { displayStyle = 'none'; } else { displayStyle = 'block'; } // elements above input wrapper var node = document.getElementById('editform').previousSibling; while (node != null) { if ( (node.nodeName == 'DIV') || (node.nodeName == 'H3') ) { node.style.display = displayStyle; } node = node.previousSibling; } document.getElementsByTagName('H1')[0].style.display = displayStyle; // divs below input wrapper var node = wikEdInputWrapper.nextSibling; while (node != null) { if (node.nodeName == 'DIV') { node.style.display = displayStyle; } node = node.nextSibling; } // divs below input wrapper, some levels up var node = document.getElementById('column-one'); while (node != null) { if (node.nodeName == 'DIV') { node.style.display = displayStyle; } node = node.nextSibling; } // insert wrapper document.getElementById('wikEdInsertWrapper').style.display = displayStyle; // change styles if (fullscreen) { if (notFrame != true) { wikEdInputWrapper.className = 'wikEdInputWrapperFull'; } wikEdButtonBarPreview.className = 'wikEdButtonBarPreviewFull'; } else { if (notFrame != true) { wikEdInputWrapper.className = 'wikEdInputWrapper'; } wikEdButtonBarPreview.className = 'wikEdButtonBarPreview'; } // resize the frame if (fullscreen) { var consoleTop = WikEdGetOffsetTop(wikEdConsoleWrapper); var consoleHeight = wikEdConsoleWrapper.offsetHeight; var frameHeight = wikEdFrame.offsetHeight; var windowHeight = window.innerHeight; var windowWidth = window.innerWidth; var frameHeightNew = frameHeight + (windowHeight - (consoleTop + consoleHeight) ) - 2; wikEdFrame.style.height = frameHeightNew + 'px'; } else { wikEdFrame.style.height = wikEdTextareaHeight + 'px'; } // scroll to edit-frame if (fullscreen == false) { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper) - 2); } // set the fullscreen button state WikEdButton(document.getElementById('wikEdFullScreen'), 'wikEdFullScreen', null, fullscreen); // grey out or re-activate scroll-to buttons var buttonClass; if (fullscreen) { buttonClass = 'wikEdButtonInactive'; } else { buttonClass = 'wikEdButton'; } document.getElementById('wikEdScrollToPreview').className = buttonClass; document.getElementById('wikEdScrollToPreview2').className = buttonClass; document.getElementById('wikEdScrollToEdit').className = buttonClass; document.getElementById('wikEdScrollToEdit2').className = buttonClass; // resize the summary field WikEdResizeSummary(); wikEdFullScreenMode = fullscreen; return; } // // WikEdResizeSummary: recalculate the summary width after resizing the window // function WikEdResizeSummary() { wikEdSummaryText.style.width = ''; wikEdSummarySelect.style.width = ''; var wikEdSummaryTextWidth = wikEdSummaryWrapper.clientWidth - ( WikEdGetOffsetLeft(wikEdSummaryText) - WikEdGetOffsetLeft(wikEdSummaryWrapper) ); if (wikEdSummaryTextWidth < 150) { wikEdSummaryTextWidth = 150; } wikEdSummaryText.style.width = wikEdSummaryTextWidth + 'px'; WikEdResizeComboInput('summary'); return; } // // WikEdResizeComboInput: set the size of the background select boxes so that the button is visible // function WikEdResizeComboInput(field) { // add a dummy option if no options have been added yet var dummy; var testOption = 1; if (wikEdSelectElement[field].options.length == 0) { testOption = 0; wikEdSelectElement[field].options[0] = new Option(''); dummy = true; } // set option widths to 0 for (var i = 0; i < wikEdSelectElement[field].options.length; i ++) { wikEdSelectElement[field].options[i].style.width = '0'; } // calculate select width var inputWidth = wikEdInputElement[field].clientWidth; var selectWidth = wikEdSelectElement[field].clientWidth; var optionWidth = wikEdSelectElement[field].options[testOption].offsetWidth; var border = wikEdInputElement[field].offsetWidth - wikEdInputElement[field].clientWidth; selectWidth = selectWidth - optionWidth + inputWidth - border + 1; var buttonWidth = selectWidth - inputWidth; if (inputWidth - buttonWidth > 150) { wikEdInputElement[field].style.width = (inputWidth - buttonWidth) + 'px'; wikEdSelectElement[field].style.width = (selectWidth - buttonWidth) + 'px'; } else { wikEdSelectElement[field].style.width = selectWidth + 'px'; } // delete dummy option if (dummy == true) { wikEdSelectElement[field].options[0] = null; } // set option widths to auto for (var i = 0; i < wikEdSelectElement[field].options.length; i ++) { wikEdSelectElement[field].options[i].style.width = 'auto'; } return; } // // WikEdChangeComboInput: set the input value to selected option; onchange event handler for select boxes // function WikEdChangeComboInput(field) { wikEdInputElement[field].focus; // get selection index (-1 for unselected) var selected = wikEdSelectElement[field].selectedIndex; if (selected >= 0) { wikEdSelectElement[field].selectedIndex = -1; // get selected option var option = wikEdSelectElement[field].options[selected]; if (option.text != '') { // jump to heading if (/^=/.test(option.value) == true) { // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) // Mozilla bug: searchInFrames must be true, otherwise wrapAround does not work wikEdFrameWindow.find(option.value, true, false, true, false, true, false); } // update input field else { // add a tag to the summary box if (field == 'summary') { wikEdInputElement[field].value = WikEdAppendToSummary(wikEdInputElement[field].value, option.text); } // add case and regexp checkboxes to find / replace fields else if (option.value == 'setcheck') { WikEdButton(document.getElementById('wikEdCaseSensitive'), 'wikEdCaseSensitive', null, (option.text.charAt(0) == wikEdCheckMarker[true]) ); WikEdButton(document.getElementById('wikEdRegExp'), 'wikEdRegExp', null, (option.text.charAt(1) == wikEdCheckMarker[true]) ); wikEdInputElement[field].value = option.text.substr(3); } // add option text else { wikEdInputElement[field].value = option.text; } // find the new text if ( (field == 'find') && (wikEdFindAhead.checked == true) ) { WikEdFindAhead(); } } } } return; } // // WikEdAppendToSummary: append a phrase to the summary text // function WikEdAppendToSummary(summary, append) { summary = summary.replace(/^[, ]+/, ''); summary = summary.replace(/[, ]+$/, ''); if (summary != '') { if (summary.match(/ \*\/$/) != null) { summary += ' '; } else if (summary.match(/[\.\;\:]$/) != null) { summary += ' '; } else if (summary.match(/^[\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\(\)\"\'\+\-]/) == null) { summary += ' '; } else { summary += ', '; } } summary += append; return(summary); } // // WikEdAddToHistory: add an input value to the cookie history // function WikEdAddToHistory(field) { if (wikEdInputElement[field].value != '') { // load history from cookie WikEdLoadHistoryFromCookie(field); // add current value to history wikEdFieldHist[field].unshift(wikEdInputElement[field].value); // add case and regexp checkboxes to find / replace value if ( (field == 'find') || (field == 'replace') ) { wikEdFieldHist[field][0] = wikEdCheckMarker[ document.getElementById('wikEdCaseSensitive').checked ] + wikEdCheckMarker[ document.getElementById('wikEdRegExp').checked ] + ' ' + wikEdFieldHist[field][0]; } // remove paragraph names from summary if (field == 'summary') { wikEdFieldHist[field][0] = wikEdFieldHist[field][0].replace(/^\/\* .*? \*\/ */, ''); } // remove multiple old copies from history var i = 1; while (i < wikEdFieldHist[field].length) { if (wikEdFieldHist[field][i] == wikEdFieldHist[field][0]) { wikEdFieldHist[field].splice(i, 1); } else { i ++; } } // remove new value if it is a preset value if (wikEdComboPresetOptions[field] != null) { var i = 0; while (i < wikEdComboPresetOptions[field].length) { if (wikEdComboPresetOptions[field][i] == wikEdFieldHist[field][0]) { wikEdFieldHist[field].shift(); break; } else { i ++; } } } // cut history number to maximal history length wikEdFieldHist[field] = wikEdFieldHist[field].slice(0, wikEdHistoryLength[field]); // saved history to cookie if (wikEdFieldHist[field][0] != '') { WikEdSaveHistoryToCookie(field); } } return; } // // WikEdSetComboOptions: generate the select options from cookie history; onfocus handler for select box // function WikEdSetComboOptions(field) { // load history from cookie WikEdLoadHistoryFromCookie(field); var option = {}; var selectedOption = null; // delete options var options = wikEdSelectElement[field].options; for (var i = 0; i < options.length; i ++) { wikEdSelectElement[field].remove(i); } // delete optgroup option = document.getElementById(field + 'Optgroup'); if (option != null) { wikEdSelectElement[field].removeChild(option); } // workaround for onchange not firing when selecting first option from unselected dropdown option = document.createElement('option'); option.style.display = 'none'; j = 0; wikEdSelectElement[field].options[j++] = option; // add history entries for (var i = 0; i < wikEdFieldHist[field].length; i ++) { if (wikEdFieldHist[field][i] != null) { if (wikEdFieldHist[field][i] == wikEdInputElement[field].value) { selectedOption = j; } option = document.createElement('option'); option.text = wikEdFieldHist[field][i]; if ( (field == 'find') || (field == 'replace') ) { option.value = 'setcheck'; } wikEdSelectElement[field].options[j++] = option; } } // add preset entries var startPreset = 0; if (wikEdComboPresetOptions[field] != null) { startPreset = j; for (var i = 0; i < wikEdComboPresetOptions[field].length; i ++) { if (wikEdComboPresetOptions[field][i] != null) { // replace spaces with nbsp to allow for multiple and trailing spaces wikEdComboPresetOptions[field][i] = wikEdComboPresetOptions[field][i].replace(/ /g, '\u00a0'); // select a dropdown value if (wikEdComboPresetOptions[field][i] == wikEdInputElement[field].value) { selectedOption = j; } option = document.createElement('option'); option.text = wikEdComboPresetOptions[field][i]; if (field == 'summary') { option.text = option.text.replace(/\{wikEdUsing\}/g, wikEdSummaryUsing); } wikEdSelectElement[field].options[j++] = option; } } } // set the selection wikEdSelectElement[field].selectedIndex = selectedOption; // add a blank preset separator if ( (startPreset > 1) && (startPreset < j) ) { option = document.createElement('optgroup'); option.label = '\u00a0'; option.id = field + 'Optgroup'; wikEdSelectElement[field].insertBefore(option, wikEdSelectElement[field].options[startPreset]); } // add the TOC jumper to the find field var startTOC = 0; if (field == 'find') { startTOC = j; // get the whole plain text var plain = wikEdFrameBody.innerHTML; plain = plain.replace(/<br\b[^>]*>/g, '\n'); plain = plain.replace(/<.*?>/g, ''); // cycle through the headings var heading = plain.match(/(^|\n)=+[^\n]+?=+[^\n=]*[ =\t]*(?=(\n|$))/g); for (var i = 0; i < heading.length; i ++) { var headingMatch = heading[i].match(/\n?((=+) *([^\n]+?)( *\2))/); var headingIndent = headingMatch[2] headingIndent = headingIndent.replace(/^=/g, ''); headingIndent = headingIndent.replace(/=/g, '\u00a0'); // add headings to the select element option = document.createElement('option'); option.text = '\u21d2' + headingIndent + headingMatch[3]; option.value = headingMatch[1]; wikEdSelectElement[field].options[j++] = option; } } // add a blank TOC separator if ( (startTOC > 1) && (startTOC < j) ) { option = document.createElement('optgroup'); option.label = '\u00a0'; option.id = field + 'Optgroup'; wikEdSelectElement[field].insertBefore(option, wikEdSelectElement[field].options[startTOC]); } return; } // // WikEdClearHistory: clear the history of combo input fields // function WikEdClearHistory(field) { WikEdSetCookie(wikEdCookieName[field], '', 0, '/'); WikEdSetComboOptions(field); return; } // // WikEdLoadHistoryFromCookie: get the input box history from the respective cookie // function WikEdLoadHistoryFromCookie(field) { var cookie = WikEdGetCookie(wikEdCookieName[field]); if (cookie != '') { cookie = decodeURIComponent(cookie); wikEdFieldHist[field] = cookie.split('\n'); } else { wikEdFieldHist[field] = []; } return; } // // WikEdSaveHistoryToCookie: save the input box history to the respective cookie // function WikEdSaveHistoryToCookie(field) { var cookie = ''; cookie = wikEdFieldHist[field].join('\n') cookie = cookie.replace(/\n$/, ''); cookie = encodeURIComponent(cookie); WikEdSetCookie(wikEdCookieName[field], cookie, 0, '/'); return; } // WikEdGetStyle: get computed style properties for non-inline css definitions function WikEdGetStyle(element, styleProperty) { var style; if (element != null) { style = document.defaultView.getComputedStyle(element, null).getPropertyValue(styleProperty); } return(style); } // // WikEdGetCookie: get a cookie // function WikEdGetCookie(name) { var cookie = ' ' + document.cookie; var search = ' ' + name + '='; var setStr = ''; var offset = 0; var end = 0; offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(';', offset) if (end == -1) { end = cookie.length; } setStr = cookie.substring(offset, end); setStr = setStr.replace(/\\+/g, ' '); setStr = decodeURIComponent(setStr); } return(setStr); } // // WikEdSetCookie: set a cookie, deletes a cookie for expire = -1 // function WikEdSetCookie(name, value, expires, path, domain, secure) { var cookie = name + '=' + encodeURIComponent(value); if (expires != null) { // generate a date 1 hour ago to delete the cookie if (expires == -1) { var cookieExpire = new Date(); expires = cookieExpire.setTime(cookieExpire.getTime() - 60 * 60 * 1000); expires = cookieExpire.toUTCString(); } // get date from expiration preset else if (expires == 0) { var cookieExpire = new Date(); expires = cookieExpire.setTime(cookieExpire.getTime() + wikEdCookieExpireSec * 1000); expires = cookieExpire.toUTCString(); } cookie += '; expires=' + expires; } if (path != null) { cookie += '; path=' + path; } if (domain != null) { cookie += '; domain=' + domain; } if (secure != null) { cookie += '; secure'; } document.cookie = cookie; } // // WikEdGetCookieSetting: get a wikEd setting depending on the presence of a cookie // function WikEdGetCookieSetting(cookieName, preset) { if (WikEdGetCookie(cookieName) != '') { return(!preset); } else { return(preset); } } // // WikEdGetOffsetTop: get element offset relative to window top // function WikEdGetOffsetTop(element) { var offset = 0; do { offset += element.offsetTop; } while ( (element = element.offsetParent) != null ); return(offset); } // // WikEdGetOffsetLeft: get element offset relative to left window border // function WikEdGetOffsetLeft(element) { var offset = 0; do { offset += element.offsetLeft; } while ( (element = element.offsetParent) != null ); return(offset); } // define leaf elements for WikEdGetInnerHTML var wikEdLeafElements = []; wikEdLeafElements['IMG'] = true; wikEdLeafElements['HR'] = true; wikEdLeafElements['BR'] = true; wikEdLeafElements['INPUT'] = true; // // WikEdParseDOM: parses a DOM subtree and and adds plain text into a complex data structure // wikEdFrameDOMCache contains the last parse if the frame has not changed // function WikEdParseDOM(obj, topNode) { /* problematic because of obj.changed ////////////////////// if (wikEdFrameDOMCache != null) { obj = wikEdFrameDOMCache; return; } */ obj.plainLength = 0; obj.plainArray = []; obj.plainNode = []; obj.plainStart = []; obj.plainPos = []; WikEdParseDOMRecursive(obj, topNode); obj.plain = obj.plainArray.join(''); wikEdFrameDOMCache = obj; return; } // // WikEdParseDOMRecursive: parses a DOM tree and and adds plain text into the data structure // function WikEdParseDOMRecursive(obj, currentNode) { // cycle through the child nodes of currentNode for (var property in currentNode.childNodes) { var childNode = currentNode.childNodes[property]; if (childNode == null) { break; } // check for selection if (childNode == obj.sel.focusNode) { obj.plainFocus = obj.plainLength + obj.sel.focusOffset; } if (childNode == obj.sel.anchorNode) { obj.plainAnchor = obj.plainLength + obj.sel.anchorOffset; } var value = null; // get text of child node switch (childNode.nodeType) { case 1: if ( (childNode.childNodes.length == 0) && (wikEdLeafElements[childNode.nodeName] == true) ) { if (childNode.nodeName == 'BR') { value = '\n'; } } else { WikEdParseDOMRecursive(obj, childNode); } break; case 3: value = childNode.nodeValue; value = value.replace(/\n/g, ' '); break; case 5: value = '&' + childNode.nodeName + ';'; break; } // add text to text object if (value != null) { // array of text fragments obj.plainArray.push(value); // array of text fragment node references obj.plainNode.push(childNode); // array of text fragment text positions obj.plainStart.push(obj.plainLength); // node references containing text positions obj.plainPos[childNode] = obj.plainLength; // current text length obj.plainLength += value.length; } } return; } // // WikEdGetInnerHTML: get the innerHTML from a document fragment // function WikEdGetInnerHTML(obj, currentNode) { // initialize string if (obj.html == null) { obj.html = ''; } if (obj.plain == null) { obj.plain = ''; } if (obj.plainArray == null) { obj.plainArray = []; obj.plainNode = []; obj.plainStart = []; } for (var i = 0; i < currentNode.childNodes.length; i ++) { var childNode = currentNode.childNodes.item(i); switch (childNode.nodeType) { case 1: obj.html += '<' + childNode.nodeName.toLowerCase(); for (var j = 0; j < childNode.attributes.length; j ++) { if (childNode.attributes.item(j).nodeValue != null) { obj.html += ' ' + childNode.attributes.item(j).nodeName + '="' + childNode.attributes.item(j).nodeValue.replace(/</g, '&lt;').replace(/>/g, '&gt;') + '"'; } } if ( (childNode.childNodes.length == 0) && wikEdLeafElements[childNode.nodeName] ) { obj.html += '>'; if (childNode.nodeName == 'BR') { obj.plainArray.push('\n'); obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); obj.plain += '\n'; } } else { obj.html += '>'; WikEdGetInnerHTML(obj, childNode); obj.html += '</' + childNode.nodeName.toLowerCase() + '>' } break; case 3: var value = childNode.nodeValue; value = value.replace(/\n/g, ' '); // important for pasted page content obj.plainArray.push(value); // plain array contains & < > instead of &amp; &lt; &gt; obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); value = value.replace(/&/g, '&amp;'); value = value.replace(/</g, '&lt;'); value = value.replace(/>/g, '&gt;'); obj.html += value; obj.plain += value; break; case 4: obj.html += '<![CDATA[' + childNode.nodeValue + ']]>'; break; case 5: var value = '&' + childNode.nodeName + ';'; obj.plainArray.push(value); obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); value = value.replace(/&/g, '&amp;'); obj.html += value; obj.plain += value; break; case 8: obj.html += '<!--' + childNode.nodeValue + '-->'; break; } } return; } // // WikEdStyleSheet: create a new style sheet object, also defined in wikEdDiff.js // function WikEdStyleSheet(documentObject) { this.styleElement = null; if (documentObject == null) { documentObject = document; } // IE if (documentObject.createStyleSheet) { this.styleElement = documentObject.createStyleSheet(); } // standards compliant browsers else { this.styleElement = documentObject.createElement('style'); this.styleElement.from = 'text/css'; var insert = documentObject.getElementsByTagName('head')[0]; if (insert != null) { insert.appendChild(this.styleElement); } } // addRule: add one rule at the time using DOM method, very slow // IE this.addRule = function(selector, declaration) { if (this.styleElement.addRule) { this.styleElement.addRule(selector, declaration); } // standards compliant browsers else { if (this.styleElement.sheet != null) { if (this.styleElement.sheet.insertRule != null) { this.styleElement.sheet.insertRule(selector + ' { ' + declaration + ' } ', 0); } } } }; // addRules: add all rules at once, much faster this.addRules = function(rules) { this.styleElement.innerHTML = rules; return; } } // // WikEdAjaxInitObject: cross browser wrapper for creating new XMLHttpRequest object // function WikEdAjaxInitObject() { var ajax; // current browsers try { ajax = new XMLHttpRequest(); } catch (e) { // IE 6 try { ajax = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { // IE 5.5 try { ajax = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { } } } return(ajax); } // // WED: shortcut for WikEdDebug // function WED(objectName, object) { WikEdDebug(objectName, object); return; } // // WikEdDebug: print the value of variables // function WikEdDebug(objectName, object) { if (wikEdLoaded == true) { document.getElementById('wikEdTextareaWrapper').style.position = 'static'; document.getElementById('wikEdTextareaWrapper').style.visibility = 'visible'; wikEdTextarea.style.display = 'block'; if (objectName == null) { wikEdTextarea.value = ''; wikEdTextarea.style.height = '25em'; } else { wikEdTextarea.value += objectName + ': ' + object + '\n'; } } else if (objectName != null) { alert(objectName + ':\n\n' + object + '\n'); } return; } // // WikEdDebugTimer: show all measured timepoints // add a new time measurement: wikEdDebugTimer.push([1234, new Date]); function WikEdDebugTimer() { var times = ''; var start = wikEdDebugTimer[0][1].getTime(); var prev = 0; for (var i = 0; i < wikEdDebugTimer.length; i ++) { var curr = wikEdDebugTimer[i][1].getTime() - start; var diff = curr - prev; var prev = curr; times += wikEdDebugTimer[i][0] + ': ' + curr + ' ms (+' + diff + 'ms)\n'; } alert(times); } // // WikEdInsertTags: overrides the insertTags function in wikibits.js used by the standard button toolbar and the editpage special chars // function WikEdInsertTags(tagOpen, tagClose, sampleText) { if (wikEdUseWikEd == true) { WikEdEditButton(document.getElementById('wikEdInsertTags'), 'wikEdInsertTags', [tagOpen, tagClose, sampleText]); } else if (wikeEdInsertTagsOriginal != null) { wikeEdInsertTagsOriginal(tagOpen, tagClose, sampleText); } return; } // // WikEdInitUnicode: define character tables used in WikedFixUnicode() // see http://kmi.open.ac.uk/projects/ceryle/doc/docs/NOTE-charents.html // removed because of internal use: < ['003c', 'lt']; > ['003e', 'gt']; & ['0026', 'amp'], ['00a0', 'nbsp'] function WikEdInitUnicode() { // define only once if (wikEdSupportedChars != null) { return; } // supported chars in Mozilla and IE wikEdSupportedChars = [ ['00a1', 'iexcl'], // ¡ ['00a2', 'cent'], // ¢ ['00a3', 'pound'], // £ ['00a4', 'curren'], // ¤ ['00a5', 'yen'], // ¥ ['00a6', 'brvbar'], // ¦ ['00a7', 'sect'], // § ['00a8', 'uml'], // ¨ ['00a9', 'copy'], // © ['00aa', 'ordf'], // ª ['00ab', 'laquo'], // « ['00ac', 'not'], // ¬ ['00ae', 'reg'], // ® ['00af', 'macr'], // ¯ ['00b0', 'deg'], // ° ['00b1', 'plusmn'], // ± ['00b2', 'sup2'], // ² ['00b3', 'sup3'], // ³ ['00b4', 'acute'], // ´ ['00b5', 'micro'], // µ ['00b6', 'para'], // ¶ ['00b7', 'middot'], // · ['00b8', 'cedil'], // ¸ ['00b9', 'sup1'], // ¹ ['00ba', 'ordm'], // º ['00bb', 'raquo'], // » ['00bc', 'frac14'], // ¼ ['00bd', 'frac12'], // ½ ['00be', 'frac34'], // ¾ ['00bf', 'iquest'], // ¿ ['00c0', 'Agrave'], // À ['00c1', 'Aacute'], // Á ['00c2', 'Acirc'], //  ['00c3', 'Atilde'], // à ['00c4', 'Auml'], // Ä ['00c5', 'Aring'], // Å ['00c6', 'AElig'], // Æ ['00c7', 'Ccedil'], // Ç ['00c8', 'Egrave'], // È ['00c9', 'Eacute'], // É ['00ca', 'Ecirc'], // Ê ['00cb', 'Euml'], // Ë ['00cc', 'Igrave'], // Ì ['00cd', 'Iacute'], // Í ['00ce', 'Icirc'], // Î ['00cf', 'Iuml'], // Ï ['00d0', 'ETH'], // Ð ['00d1', 'Ntilde'], // Ñ ['00d2', 'Ograve'], // Ò ['00d3', 'Oacute'], // Ó ['00d4', 'Ocirc'], // Ô ['00d5', 'Otilde'], // Õ ['00d6', 'Ouml'], // Ö ['00d7', 'times'], // × ['00d8', 'Oslash'], // Ø ['00d9', 'Ugrave'], // Ù ['00da', 'Uacute'], // Ú ['00db', 'Ucirc'], // Û ['00dc', 'Uuml'], // Ü ['00dd', 'Yacute'], // Ý ['00de', 'THORN'], // Þ ['00df', 'szlig'], // ß ['00e0', 'agrave'], // à ['00e1', 'aacute'], // á ['00e2', 'acirc'], // â ['00e3', 'atilde'], // ã ['00e4', 'auml'], // ä ['00e5', 'aring'], // å ['00e6', 'aelig'], // æ ['00e7', 'ccedil'], // ç ['00e8', 'egrave'], // è ['00e9', 'eacute'], // é ['00ea', 'ecirc'], // ê ['00eb', 'euml'], // ë ['00ec', 'igrave'], // ì ['00ed', 'iacute'], // í ['00ee', 'icirc'], // î ['00ef', 'iuml'], // ï ['00f0', 'eth'], // ð ['00f1', 'ntilde'], // ñ ['00f2', 'ograve'], // ò ['00f3', 'oacute'], // ó ['00f4', 'ocirc'], // ô ['00f5', 'otilde'], // õ ['00f6', 'ouml'], // ö ['00f7', 'divide'], // ÷ ['00f8', 'oslash'], // ø ['00f9', 'ugrave'], // ù ['00fa', 'uacute'], // ú ['00fb', 'ucirc'], // û ['00fc', 'uuml'], // ü ['00fd', 'yacute'], // ý ['00fe', 'thorn'], // þ ['00ff', 'yuml'], // ÿ ['0027', 'apos'], // ' ['0022', 'quot'], // " ['0152', 'OElig'], // Œ ['0153', 'oelig'], // œ ['0160', 'Scaron'], // Š ['0161', 'scaron'], // š ['0178', 'Yuml'], // Ÿ ['02c6', 'circ'], // ˆ ['02dc', 'tilde'], // ˜ ['2013', 'ndash'], // – ['2014', 'mdash'], // — ['2018', 'lsquo'], // ‘ ['2019', 'rsquo'], // ’ ['201a', 'sbquo'], // ‚ ['201c', 'ldquo'], // “ ['201d', 'rdquo'], // ” ['201e', 'bdquo'], // „ ['2020', 'dagger'], // † ['2021', 'Dagger'], // ‡ ['2030', 'permil'], // ‰ ['2039', 'lsaquo'], // ‹ ['203a', 'rsaquo'], // › ['20ac', 'euro'], // € ['0192', 'fnof'], // ƒ ['0391', 'Alpha'], // Α ['0392', 'Beta'], // Β ['0393', 'Gamma'], // Γ ['0394', 'Delta'], // Δ ['0395', 'Epsilon'],// Ε ['0396', 'Zeta'], // Ζ ['0397', 'Eta'], // Η ['0398', 'Theta'], // Θ ['0399', 'Iota'], // Ι ['039a', 'Kappa'], // Κ ['039b', 'Lambda'], // Λ ['039c', 'Mu'], // Μ ['039d', 'Nu'], // Ν ['039e', 'Xi'], // Ξ ['039f', 'Omicron'],// Ο ['03a0', 'Pi'], // Π ['03a1', 'Rho'], // Ρ ['03a3', 'Sigma'], // Σ ['03a4', 'Tau'], // Τ ['03a5', 'Upsilon'],// Υ ['03a6', 'Phi'], // Φ ['03a7', 'Chi'], // Χ ['03a8', 'Psi'], // Ψ ['03a9', 'Omega'], // Ω ['03b1', 'alpha'], // α ['03b2', 'beta'], // β ['03b3', 'gamma'], // γ ['03b4', 'delta'], // δ ['03b5', 'epsilon'],// ε ['03b6', 'zeta'], // ζ ['03b7', 'eta'], // η ['03b8', 'theta'], // θ ['03b9', 'iota'], // ι ['03ba', 'kappa'], // κ ['03bb', 'lambda'], // λ ['03bc', 'mu'], // μ ['03bd', 'nu'], // ν ['03be', 'xi'], // ξ ['03bf', 'omicron'],// ο ['03c0', 'pi'], // π ['03c1', 'rho'], // ρ ['03c2', 'sigmaf'], // ς ['03c3', 'sigma'], // σ ['03c4', 'tau'], // τ ['03c5', 'upsilon'],// υ ['03c6', 'phi'], // φ ['03c7', 'chi'], // χ ['03c8', 'psi'], // ψ ['03c9', 'omega'], // ω ['2022', 'bull'], // • ['2026', 'hellip'], // … ['2032', 'prime'], // ′ ['2033', 'Prime'], // ″ ['203e', 'oline'], // ‾ ['2044', 'frasl'], // ⁄ ['2122', 'trade'], // ™ ['2190', 'larr'], // ← ['2191', 'uarr'], // ↑ ['2192', 'rarr'], // → ['2193', 'darr'], // ↓ ['2194', 'harr'], // ↔ ['21d2', 'rArr'], // ⇒ ['21d4', 'hArr'], // ⇔ ['2200', 'forall'], // ∀ ['2202', 'part'], // ∂ ['2203', 'exist'], // ∃ ['2207', 'nabla'], // ∇ ['2208', 'isin'], // ∈ ['220b', 'ni'], // ∋ ['220f', 'prod'], // ∏ ['2211', 'sum'], // ∑ ['2212', 'minus'], // − ['221a', 'radic'], // √ ['221d', 'prop'], // ∝ ['221e', 'infin'], // ∞ ['2220', 'ang'], // ∠ ['2227', 'and'], // ∧ ['2228', 'or'], // ∨ ['2229', 'cap'], // ∩ ['222a', 'cup'], // ∪ ['222b', 'int'], // ∫ ['2234', 'there4'], // ∴ ['223c', 'sim'], // ∼ ['2248', 'asymp'], // ≈ ['2260', 'ne'], // ≠ ['2261', 'equiv'], // ≡ ['2264', 'le'], // ≤ ['2265', 'ge'], // ≥ ['2282', 'sub'], // ⊂ ['2283', 'sup'], // ⊃ ['2286', 'sube'], // ⊆ ['2287', 'supe'], // ⊇ ['2295', 'oplus'], // ⊕ ['22a5', 'perp'], // ⊥ ['25ca', 'loz'], // ◊ ['2660', 'spades'], // ♠ ['2663', 'clubs'], // ♣ ['2665', 'hearts'], // ♥ ['2666', 'diams'] // ♦ ]; // special chars (spaces and invisible characters) wikEdSpecialChars = [ ['2002', 'ensp'], //   en space ['00ad', 'shy'], // ­ soft hyphen ['2003', 'emsp'], //   em space ['2009', 'thinsp'], //   thin space ['200c', 'zwnj'], // ‌ zero width non-joiner ['200d', 'zwj'], // ‍ zero width joiner ['200e', 'lrm'], // ‎ left-to-right mark ['200f', 'rlm'] // ‏ right-to-left mark ]; // unsupported chars in IE6 wikEdProblemChars = [ ['03d1', 'thetasym'], // ϑ ['03d2', 'upsih'], // ϒ ['03d6', 'piv'], // ϖ ['2118', 'weierp'], // ℘ ['2111', 'image'], // ℑ ['211c', 'real'], // ℜ ['2135', 'alefsym'], // ℵ ['21b5', 'crarr'], // ↵ ['21d0', 'lArr'], // ⇐ ['21d1', 'uArr'], // ⇑ ['21d3', 'dArr'], // ⇓ ['2205', 'empty'], // ∅ ['2209', 'notin'], // ∉ ['2217', 'lowast'], // ∗ ['2245', 'cong'], // ≅ ['2284', 'nsub'], // ⊄ ['22a5', 'perp'], // ⊥ ['2297', 'otimes'], // ⊗ ['22c5', 'sdot'], // ⋅ ['2308', 'lceil'], // ⌈ ['2309', 'rceil'], // ⌉ ['230a', 'lfloor'], // ⌊ ['230b', 'rfloor'], // ⌋ ['2329', 'lang'], // 〈 ['232a', 'rang'] // 〉 ]; // ASCII control characters and invisibles, used for syntax highlighting wikEdControlChars = { '0': 'null', '1': 'start of heading', '2': 'start of text', '3': 'end of text', '4': 'end of transmission', '5': 'enquiry', '6': 'acknowledge', '7': 'bell', '8': 'backspace', '9': 'horizontal tab', '10': 'line feed, new line', '11': 'vertical tab', '12': 'form feed, new page', '13': 'carriage return', '14': 'shift out', '15': 'shift in', '16': 'data link escape', '17': 'device control 1', '18': 'device control 2', '19': 'device control 3', '20': 'device control 4', '21': 'negative acknowledge', '22': 'synchronous idle', '23': 'end of trans. block', '24': 'cancel', '25': 'end of medium', '25': 'substitute', '26': 'escape', '27': 'file separator', '28': 'group separator', '29': 'record separator', '30': 'unit separator', '173' : 'soft hyphen', // \u00ad '8204': 'zero width non-joiner', // \u200c '8205': 'zero width joiner', // \u200d '8206': 'left-to-right mark', // \u200e '8207': 'right-to-left mark', // \u200f '8232': 'line separator', // \u2028 '8233': 'paragraph separator' // \u2028 }; for (var decimalValue in wikEdControlChars) { wikEdControlCharsStr += String.fromCharCode(decimalValue); } // strange spaces, used for syntax highlighting wikEdStrangeSpaces = { '31': 'non-breaking space', // \u00a0 '8194': 'en space', // \u2002 '8195': 'em space', // \u2003 '8201': 'thin space' // \u2009 }; return; } /* </nowiki></pre> */ mql6jhc0ao6h64km0wbs8qswymz231v User:Foxall/wikedjs 2 2187 6097 6096 2007-06-24T00:46:14Z 85.159.52.82 /* Installation */ 6097 wikitext text/x-wiki =1= // version info var wikEdProgramVersion = '0.9.37b'; var wikEdProgramDate = 'May 26, 2007'; /* </pre> ==wiked== A full-featured JavaScript in-browser editor for Wikipedia and other MediaWiki edit pages The program works currently ONLY for Mozilla-based browsers (Mozilla, Mozilla Firefox, and Mozilla SeaMonkey) Homepage: http://en.wikipedia.org/wiki/User:Cacycle/wikEd Author: Cacycle (http://en.wikipedia.org/wiki/User:Cacycle) License: This code has been released into the public domain This file has to be saved as UTF-8 in your editor to preserve Unicode characters like ♥ (heart) </pre> == Installation == * Copy the following short block of code to [[User:YOURUSERNAME/monobook.js]] * Press SHIFT-Reload to update to the newest version * PLEASE DO NOT COPY THE WHOLE PROGRAM (in order to get the frequent updates and bug fixes and to save disk space) * See http://en.wikipedia.org/wiki/User:Cacycle/wikEd for detailed instructions // ---- START INSTALLATION CODE ---- // install [[User:Cacycle/wikEd]] in-browser text editor document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js' + '&action=raw&ctype=text/javascript"></script>'); // ---- END INSTALLATION CODE ---- */ // // user configurable variables // // user readable texts, copy changes to http://en.wikipedia.org/wiki/User:Cacycle/wikEd_international_en.js, also defined in wikEdDiff.js var wikEdText = wikEdText || []; // WikedInitText: define built-in user interface texts function WikedInitText() { WikEdInitObject(wikEdText, { // logo 'wikEdLogo alt': 'wikEd', 'wikEdLogo title': 'wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable', 'wikEdLogo error alt': 'wikEd error', 'wikEdLogo error title': 'Loading error - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable', 'wikEdLogo browser alt': '(wikEd)', 'wikEdLogo browser title': 'Browser not supported - wikEd {wikEdProgramVersion} ({wikEdProgramDate})', 'wikEdLogo disabled alt': '(wikEd)', 'wikEdLogo disabled title': 'Disabled - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to enable', // top jumper 'wikEdScrollToEdit4 alt': 'Scroll to edit', 'wikEdScrollToEdit4 title': 'Scroll to edit field', // button bar grip titles 'wikEdGripFormat title': 'Formatting buttons (click to hide or show)', 'wikEdGripCustom1 title': 'Custom buttons (click to hide or show)', 'wikEdGripFind title': 'Find buttons (click to hide or show)', 'wikEdGripFix title': 'Fixing buttons (click to hide or show)', 'wikEdGripCustom2 title': 'Custom buttons (click to hide or show)', 'wikEdGripControl title': 'wikEd control buttons (click to hide or show)', // formatting buttons, top row 'wikEdUndo alt': 'Undo', 'wikEdUndo title': 'Undo', 'wikEdRedo alt': 'Redo', 'wikEdRedo title': 'Redo', 'wikEdBold title': 'Bold text', 'wikEdItalic alt': 'Italic', 'wikEdItalic title': 'Italic text', 'wikEdUnderline alt': 'Underline', 'wikEdUnderline title': 'Underline text', 'wikEdStrikethrough alt': 'Strikethrough', 'wikEdStrikethrough title': 'Strikethrough text', 'wikEdNowiki alt': 'Nowiki', 'wikEdNowiki title': 'Nowiki markup text', 'wikEdSuperscript alt': 'Superscript', 'wikEdSuperscript title': 'Superscript text', 'wikEdSubscript alt': 'Subscript', 'wikEdSubscript title': 'Subscript text', 'wikEdRef alt': 'Ref', 'wikEdRef title': 'In-text reference', 'wikEdCase alt': 'Case', 'wikEdCase title': 'Toggle between lowercase, uppercase first, and uppercase', 'wikEdRedirect alt': 'Redirect', 'wikEdRedirect title': 'Create redirect, deletes whole text', 'wikEdUndoAll alt': 'Undo all', 'wikEdUndoAll title': 'Undo all changes', 'wikEdRedoAll alt': 'Redo all', 'wikEdRedoAll title': 'Redo all changes', // formatting buttons, bottom row 'wikEdWikiLink alt': 'Link', 'wikEdWikiLink title': 'Wiki link', 'wikEdWebLink alt': 'Weblink', 'wikEdWebLink title': 'External weblink', 'wikEdHeading alt': 'Heading', 'wikEdHeading title': 'Increase heading levels (shift-click: decrease)', 'wikEdBulletList alt': 'Bullet list', 'wikEdBulletList title': 'Increase bulleted list level (shift-click: decrease)', 'wikEdNumberList alt': 'Number list', 'wikEdNumberList title': 'Increase numbered list level (shift-click: decrease)', 'wikEdIndentList alt': 'Indent list', 'wikEdIndentList title': 'Increase indention (shift-click: decrease)', 'wikEdDefinitionList alt': 'Def list', 'wikEdDefinitionList title': 'Definition list', 'wikEdImage alt': 'Image', 'wikEdImage title': 'Image', 'wikEdTable alt': 'Table', 'wikEdTable title': 'Table', 'wikEdReferences alt': 'References', 'wikEdReferences title': 'References location (shift-click: small Wikipedia style)', 'wikEdWikify alt': 'Wikify', 'wikEdWikify title': 'Convert pasted content to wiki code, update highlighting', 'wikEdTextify alt': 'Textify', 'wikEdTextify title': 'Convert pasted content to plain text, update highlighting', // find and replace buttons, top row 'wikEdFindAll alt': 'Find all', 'wikEdFindAll title': 'Find all matches', 'wikEdFindPrev alt': 'Find prev', 'wikEdFindPrev title': 'Find previous match', 'wikEdFindSelect title': 'Select a previous search or jump to a heading', 'wikEdFindNext alt': 'Find next', 'wikEdFindNext title': 'Find next match (shift-click: get selection)', 'wikEdJumpPrev alt': 'Selected prev', 'wikEdJumpPrev title': 'Find the selected text backwards', 'wikEdJumpNext alt': 'Selected next', 'wikEdJumpNext title': 'Find the selected text forwards', // find and replace buttons, bottom row 'wikEdReplaceAll alt': 'Replace all', 'wikEdReplaceAll title': 'Replace all matches in whole text or selection', 'wikEdReplacePrev alt': 'Replace prev', 'wikEdReplacePrev title': 'Replace previous match', 'wikEdReplaceSelect title': 'Select a previous replacement', 'wikEdReplaceNext alt': 'Replace next (shift-click: get selection)', 'wikEdReplaceNext title': 'Replace next match', 'wikEdCaseSensitive alt': 'Case sensitive', 'wikEdCaseSensitive title': 'Search is case sensitive', 'wikEdRegExp alt': 'RegExp', 'wikEdRegExp title': 'Search field is a regular expression', 'wikEdFindAhead alt': 'Find ahead', 'wikEdFindAhead title': 'Find ahead as you type (case-insensitive non-regexp search)', // fix buttons, top row 'wikEdFixBasic alt': 'Fix basic', 'wikEdFixBasic title': 'Fix blanks and empty lines, also done by other fixing functions', 'wikEdFixHtml alt': 'Fix html', 'wikEdFixHtml title': 'Fix html to wikicode', 'wikEdFixCaps alt': 'Fix caps', 'wikEdFixCaps title': 'Fix caps in headers and lists', 'wikEdfixUnicode alt': 'Fix Unicode', 'wikEdfixUnicode title': 'Fix Unicode character representations', 'wikEdFixAll alt': 'Fix all', 'wikEdFixAll title': 'Fix basic, html, capitalization, and Unicode', 'wikEdFixRegExTypo alt': 'Fix typos', 'wikEdFixRegExTypo title': 'Fix typos using the AutoWikiBrowser RegExTypoFixer rules', // fix buttons, bottom row 'wikEdFixDashes alt': 'Fix dashes', 'wikEdFixDashes title': 'Fix dashes', 'wikEdFixPunct alt': 'Fix punctuation', 'wikEdFixPunct title': 'Fix spaces before punctuation', 'wikEdFixMath alt': 'Fix math', 'wikEdFixMath title': 'Fix math', 'wikEdFixChem alt': 'Fix chem', 'wikEdFixChem title': 'Fix chemical formulas', 'wikEdFixUnits alt': 'Fix units', 'wikEdFixUnits title': 'Fix units', // wikEd control buttons, top row 'wikEdRefHide alt': 'Hide <ref>', 'wikEdRefHide title': 'Toggle <ref> tag hiding', 'wikEdTextZoom alt': 'Text zoom', 'wikEdTextZoom title': 'Text zoom cycling (shift-click: reverse)', 'wikEdClearHistory alt': 'Clear history', 'wikEdClearHistory title': 'Clear the find, replace, and summary history', 'wikEdScrollToPreview alt': 'Scroll to preview', 'wikEdScrollToPreview title': 'Scroll to preview field', 'wikEdScrollToEdit alt': 'Scroll to edit', 'wikEdScrollToEdit title': 'Scroll to edit field', // wikEd control buttons, bottom row 'wikEdUseWikEd alt': 'Use wikEd', 'wikEdUseWikEd title': 'Toggle between classic text area and wikEd', 'wikEdHighlightSyntax alt': 'Syntax', 'wikEdHighlightSyntax title': 'Toggle automatic syntax highlighting', 'wikEdSource alt': 'Source', 'wikEdCloseToolbar title': 'Close the standard non-wikEd toolbar', 'wikEdCloseToolbar alt': 'Close toolbar', 'wikEdSource title': 'Show the source code for testing purposes', 'wikEdUsing alt': 'Using', 'wikEdUsing title': 'Automatically add \'\'…using wikEd\'\' to summaries', 'wikEdDiff alt': 'wikEdDiff', 'wikEdDiff title': 'Toggle automatic improved diff view', 'wikEdFullScreen alt': 'Fullscreen', 'wikEdFullScreen title': 'Toggle the fullscreen mode', // summary buttons 'wikEdClearSummary alt': 'Clear summary', 'wikEdClearSummary title': 'Clear the summary field', 'wikEdSummarySelect title': 'Select a previous summary', 'wikEdPresetSummary': [ '/* */ ', 'copyedit', 'reply', 'article created', 'intro rewrite', 'linkfix', 'fixing typos', 'removing linkspam', 'reverting test', 'reverting vandalism', 'formatting source text', '{wikEdUsing}' ], 'wikEdSummaryUsing': '…using [[en:User:Cacycle/wikEd|wikEd]]', // submit buttons 'wikEdLocalPreviewImg alt': 'Preview below', 'wikEdLocalPreview title': 'Show preview below', 'wikEdLocalDiffImg alt': 'Changes below', 'wikEdLocalDiff title': 'Show current changes below', 'wikEdHelpPageLink': ' | <a href="http://en.wikipedia.org/wiki/User:Cacycle/wikEd_help" target="helpwindow">wikEd help</a>', // preview and changes buttons, top 'wikEdClose alt': 'Close', 'wikEdClose title': 'Close preview box', 'wikEdScrollToPreview2 alt': 'Scroll to preview', 'wikEdScrollToPreview2 title': 'Scroll to preview field', 'wikEdScrollToEdit2 alt': 'Scroll to edit', 'wikEdScrollToEdit2 title': 'Scroll to edit field', // preview and changes buttons, bottom 'wikEdClose alt': 'Close', 'wikEdClose title': 'Close preview box', 'wikEdScrollToPreview3 alt': 'Scroll to preview', 'wikEdScrollToPreview3 title': 'Scroll to preview field', 'wikEdScrollToEdit3 alt': 'Scroll to edit', 'wikEdScrollToEdit3 title': 'Scroll to edit field', // formatting functions 'image filename': 'filename', 'image width': 'width', 'table caption': 'caption', 'table heading': 'heading', 'table cell': 'cell', 'redirect article link': 'article link', // fixing functions 'External links': 'External links', 'See also': 'See also', 'References': 'References', // language specific wiki code 'wikicode Image': 'Image', 'wikicode Category': 'Category', 'wikicode Template': 'Template', 'wikEdReferencesSection': '\n== References ==\n\n<div class="references-small">\n<references/>\n</div>\n', // shortened button texts 'shortenedPreview': 'Preview', 'shortenedChanges': 'Changes', // follow link popup 'followLink': '(Ctrl-click)' }); } // use local copies of images for testing (set to true in local copy of edit page), also defined in wikEdDiff.js if (typeof(wikEdUseLocalImages) == 'undefined') { var wikEdUseLocalImages = false; } // path to local images for testing, also defined in wikEdDiff.js var wikEdImagePathLocal = wikEdImagePathLocal || 'file:///D:/wikEd/images/'; // path to images, also defined in wikEdDiff.js var wikEdImagePath = wikEdImagePath || 'http://upload.wikimedia.org/wikipedia/commons/'; // image filenames, also defined in wikEdDiff.js var wikEdImage = wikEdImage || []; // WikedInitImage: define built-in image URLs function WikedInitImage() { WikEdInitImage(wikEdImage, { 'blank': '5/51/WikEd_blank.png', 'bold': '5/59/WikEd_bold.png', 'browser': '0/07/WikEd_disabled.png', 'bulletList': '6/62/WikEd_bullet_list.png', 'case': 'a/aa/WikEd_case.png', 'caseSensitive': '0/0d/WikEd_case_sensitive.png', 'clearHistory': 'c/c8/WikEd_clear_history.png', 'clearSummary': '2/2c/WikEd_clear_summary.png', 'close': '9/97/WikEd_close.png', 'closeToolbar': '1/1d/WikEd_close_toolbar.png', 'ctrl': '1/10/WikEd_ctrl.png', 'definitionList': 'f/f5/WikEd_definition_list.png', 'diff': 'd/db/WikEd_diff.png', 'disabled': '0/07/WikEd_disabled.png', 'dummy': 'c/c5/WikEd_dummy.png', 'error': '3/3e/WikEd_error.png', 'findAhead': '3/34/WikEd_find_ahead.png', 'findAll': '7/75/WikEd_find_all.png', 'findNext': 'a/ad/WikEd_find_next.png', 'findPrev': 'f/f5/WikEd_find_prev.png', 'fixAll': '8/86/WikEd_fix_all.png', 'fixBasic': '3/30/WikEd_fix_basic.png', 'fixCaps': '0/00/WikEd_fix_caps.png', 'fixUnicode': 'd/d4/WikEd_fix_unicode.png', 'fixChem': 'e/e7/WikEd_fix_chem.png', 'fixDash': 'e/e5/WikEd_fix_dash.png', 'fixHtml': '0/05/WikEd_fix_html.png', 'fixMath': '3/3f/WikEd_fix_math.png', 'fixPunct': 'd/db/WikEd_fix_punct.png', 'fixRegExTypo': '9/94/WikEd_fix_reg-ex-typo.png', 'fixUnits': '6/69/WikEd_fix_units.png', 'textZoom': '7/71/WikEd_font_size.png', 'fullScreen': 'd/d3/WikEd_fullscreen.png', 'getFind': '9/96/WikEd_get_selection.png', 'grip': 'a/ad/WikEd_grip.png', 'heading': '0/07/WikEd_heading.png', 'highlightSyntax': '6/67/WikEd_syntax.png', 'image': '3/37/WikEd_image.png', 'indentList': '7/7a/WikEd_indent_list.png', 'italic': 'd/d4/WikEd_italic.png', 'jumpNext': '5/54/WikEd_jump_next.png', 'logo': '6/67/WikEd_logo.png', 'nowiki': '5/5a/WikEd_nowiki.png', 'numberList': '3/3b/WikEd_number_list.png', 'jumpPrev': 'c/c7/WikEd_jump_prev.png', 'preview': '3/31/WikEd_preview.png', 'redirect': 'f/fa/WikEd_redirect.png', 'redo': 'd/d7/WikEd_redo.png', 'ref': 'b/ba/WikEd_ref.png', 'refHide': '0/0b/WikEd_ref_hide.png', 'references': '6/66/WikEd_references.png', 'redoAll': '2/2d/WikEd_redo_all.png', 'regExp': '6/6a/WikEd_regexp.png', 'replaceAll': '2/2a/WikEd_replace_all.png', 'replaceNext': 'b/b0/WikEd_replace_next.png', 'replacePrev': 'a/a1/WikEd_replace_prev.png', 'scrollToEdit': '1/13/WikEd_align_top.png', 'scrollToPreview': '3/37/WikEd_align_preview.png', 'scrollToEditDown': 'a/a8/WikEd_align_down.png', 'scrollToPreviewDown': '5/58/WikEd_align_preview_down.png', 'source': '0/02/WikEd_source.png', 'strikethrough': '0/06/WikEd_strikethrough.png', 'subscript': '9/9e/WikEd_subscript.png', 'superscript': 'b/bf/WikEd_superscript.png', 'tab': 'e/e7/WikEd_tab.png', 'table': 'b/bd/WikEd_table.png', 'textify': 'c/cd/WikEd_textify.png', 'underline': '2/21/WikEd_underline.png', 'undo': 'e/e6/WikEd_undo.png', 'undoAll': '0/08/WikEd_undo_all.png', 'unknown': '8/8a/WikEd_unknown.png', 'useWikEd': '6/67/WikEd_logo.png', 'using': 'e/e0/WikEd_using.png', 'webLink': '1/16/WikEd_weblink.png', 'wikEdDiff': 'c/c6/WikEdDiff.png', 'wikify': '9/9f/WikEd_wikify.png', 'wikiLink': '2/21/WikEd_wikilink.png' }); } // edit-frame css rules var wikEdFrameCSS = wikEdFrameCSS || []; // WikedInitFrameCSS: define built-in edit frame css function WikedInitFrameCSS() { WikEdInitObject(wikEdFrameCSS, { // frame body '.wikedFrameBody': 'background: #FFFFFF; margin: 0px; padding: 0.2em; overflow: -moz-scrollbars-vertical; overflow-x: auto; font-family: monospace;', // syntax highlighting '.wikEdBlock': 'background-color: #e8e8e8;', '.wikEdBlockTag': 'color: #0000e0;', '.wikEdInlineTag': 'color: #0000e0;', '.wikEdUnknown': 'background-image: url({wikEdUnknown});', '.wikEdSubscript': 'position: relative; top: 0.3em;', '.wikEdSuperscript': 'position: relative; top: -0.3em;', '.wikEdBold': 'font-weight: bold;', '.wikEdRef': 'color: #808080; background-color: #e8e8e8;', '.wikEdRefHide': 'color: #c0c0c0;', '.wikEdComment': 'background-color: #fff0d0;', '.wikEdDel': 'text-decoration: line-through;', '.wikEdIns': 'text-decoration: underline;', '.wikEdItalic': 'font-style: italic;', '.wikEdNowiki': 'background-color: #e8e8e8;', '.wikEdRGB': '', // horizontal rule '.wikEdHR': 'background-color: #d0d0d0;', '.wikEdHRInline': 'background-color: #d0d0d0;', // wiki code '.wikEdWiki': 'color: #0000e0;', '.wikEdWikiRedir': 'color: #0000e0; background-color: #ffffff; font-weight: bold;', '.wikEdMagic': 'color: #0000e0; background-color: #e0e0e0; font-weight: bold;', // headings '.wikEdHeading': 'background-color: #e0e0e0; font-weight: bold;', '.wikEdHeadingWp': 'background-color: #d8e0ff; font-weight: bold;', // tables '.wikEdTableBlock': 'background-color: #e8e8e8;', '.wikEdTableLine': 'background-color: #e8e8e8;', '.wikEdTableTag': 'background-color: #e8e8e8; color: #0000e0;', // list '.wikEdListBlock': 'background-color: #e8e8e8;', '.wikEdListLine': 'background-color: #f0f0f0', '.wikEdListTag': 'background-color: #e8e8e8; color: #0000e0; font-weight: bold;', // space-pre '.wikEdSpaceBlock': 'background-color: #e8e8e8;', '.wikEdSpaceLine': 'background-color: #e8e8e8;', '.wikEdSpaceTag': 'color: #0000e0; font-weight: bold;', // wiki links, images, categories, templates '.wikEdLinkTag': 'color: #0000e0;', '.wikEdLink': '', '.wikEdImage': 'background-color: #d5ffaa;', '.wikEdCat': 'background-color: #d0d8ff;', '.wikEdTemplTag': 'color: #0000e0;', '.wikEdTempl': 'background-color: #e0e8ff;', // interlanguage '.wikEdInter': 'color: #000000;', '.wikEdLinkInter': 'background-color: #c8c8ff;', '.wikEdImageInter': 'background-color: #c8c8ff;', '.wikEdCatInter': 'background-color: #c8c8ff;', '.wikEdTemplInter': 'background-color: #c8c8ff;', // name '.wikEdLinkName': 'color: #f00000; font-weight: bold;', '.wikEdImageName': 'color: #000000; font-weight: bold;', '.wikEdCatName': 'color: #f00000; font-weight: bold;', '.wikEdTemplName': 'color: #f00000; font-weight: bold;', '.wikEdURLLink': 'color: #f00000; font-weight: bold;', // links '.wikEdHighlightLink': 'text-decoration: none; color: #909090;', ':hover.wikEdHighlightLink': 'text-decoration: underline; color: #909090;', // pasted html '.wikEdPastedHtml': 'background-color: #ffc080;', // text and parameters '.wikEdLinkText': 'color: #000000; font-weight: bold;', '.wikEdImageParam': 'color: #0000e0;', '.wikEdImageCaption': 'color: #000000;', '.wikEdCatText': 'color: #000000;', '.wikEdTemplText': 'color: #000000;', '.wikEdURLText': 'color: #000000; font-weight: bold;', // insert wikicode here '.wikEdInsertHere': 'background-color: orange; font-style: italic;', // colors '.wikEdColorsLight': 'color: black;', '.wikEdColorsDark': 'color: white;', // invisibles, control chars, and strange spaces '.wikEdTab': 'white-space: pre; background-image: url({wikEdTab}); background-position: right bottom; background-repeat: no-repeat;', '.wikEdTabPlain': 'white-space: pre;', '.wikEdCtrl': 'white-space: pre; background-image: url({wikEdCtrl}); background-position: left center; background-repeat: repeat-x; background-color: white;', '.wikEdCtrl:before': 'content: \'\u00a0\'', '.wikEdBlank': 'white-space: -moz-pre-wrap; background-image: url({wikEdBlank}); background-position: left center; background-repeat: repeat-x; background-color: white;' }); } // main window css rules var wikEdMainCSS = wikEdMainCSS || []; // WikedInitMainCSS: define built-in main window css function WikedInitMainCSS() { WikEdInitObject(wikEdMainCSS, { // combo input box '.wikEdCombo': 'font-size: smaller; padding-left: 0.1em; padding-right: 0.1em; margin: 0 0.1em 0 0.1em; height: 1.6em; vertical-align: bottom;', // wikEd button areas // button bar margins '.wikEdButtonBarFormat': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarCustom1': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarFind': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarFix': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarCustom2': 'margin: 0 8px 3px 0; float: left;', '.wikEdButtonBarControl': 'margin: 0 0 3px 0; float: right;', '.wikEdButtonBarPreview': 'margin: 0 0 0.15em 0.6em; float: right;', '.wikEdButtonBarPreviewFull': 'margin: -0.2em 0 0 0.6em; float: right;', '.wikEdButtonBarPreview2': 'margin: 0.2em 0 0.4em 0; float: right;', '.wikEdButtonBarJump': 'margin: 0 0 0 0.6em; float: right;', // button bar inner wrapper: border (hidden: invisible) '.wikedButtonBarInnerWrapperVisible': 'border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikedButtonBarInnerWrapperHidden': '', // button bar grip wrapper: invisible (hidden: border) '.wikedButtonBarGripWrapperVisible': 'float: left;', '.wikedButtonBarGripWrapperHidden': 'float: left; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', // button bar buttons wrapper: invisible (hidden: border) '.wikedButtonBarButtonsWrapperVisible': 'float: left; background: #d4d0cc; ', '.wikedButtonBarButtonsWrapperHidden': 'float: left; background: #d4d0cc; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0; z-index: 4;', // button bar grip '.wikedButtonBarGrip': 'background: #d4d0cc; padding: 0; background-image: url({wikEdGrip}); background-repeat: repeat-y; cursor: pointer;', // button bar buttons '.wikEdButtonsFormat': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsCustom1': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsFind': 'background: #d4d0cc; padding: 0px 2px 0 0px;', '.wikEdButtonsFix': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsCustom2': 'background: #d4d0cc; padding: 2px 2px 0 0px;', '.wikEdButtonsControl': 'background: #d4d0cc; padding: 2px 2px 0 1px;', '.wikEdButtonsPreview': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsPreviewFull': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsPreview2': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', '.wikEdButtonsJump': 'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;', // wikEd buttons '.wikEdButton': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid; cursor: pointer;', '.wikEdButton:hover': 'background: #e4e0dd; border: 1px outset; cursor: pointer;', '.wikEdButton:active': 'background: #e4e0dc; border: 1px inset; cursor: pointer;', '.wikEdButtonSolo': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid; cursor: pointer;', '.wikEdButtonSolo:hover': 'background: #e4e0dd; border: 1px outset; cursor: pointer;', '.wikEdButtonChecked': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid; border-color: black white white black; cursor: pointer;', '.wikEdButtonUnchecked': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ddd8d3; border: 1px solid; border-color: white black black white; cursor: pointer;', '.wikEdButtonPressed': 'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid; border-color: black white white black; cursor: wait;', '.wikEdButtonInactive': 'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #c0c0c0; border: 1px #b0b0b0 solid; cursor: not-allowed', '.wikEdLocalPreview': 'vertical-align: top; margin: 0 0.33em 0 0.15em; padding: 0;', '.wikEdLocalDiff': 'vertical-align: top; margin: 0 0.33em 0 -0.18em; padding: 0;', '.wikEdButtonDummy': 'vertical-align: text-top; margin: 1px 2px; padding: 1px; background: #d4d0cc;', // preview box '.wikEdPreviewBoxOuter': 'clear: both; margin: 0; border-width: 1px; border-style: solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;', '.wikEdPreviewBox': 'background-color: #faf8f6; padding: 5px; border-width: 1px; border-style: solid; border-color: #404040 #ffffff #ffffff #404040;', // find field '.wikEdFindComboInput': 'position: relative; padding: 0; margin: 0 0.2em; font-style: normal; white-space: nowrap;', '#wikEdFindText': 'height: 1.4em; font-family: monospace; padding: 0; margin: 0; position: absolute; width: 170px; left: 0; top: 0; z-index: 2;', '#wikEdFindSelect': 'height: 1.5em; font-family: monospace; padding: 0; margin: 0; position: relative; border: none; vertical-align: baseline; z-index: 1;', // replace field '.wikEdReplaceComboInput': 'position: relative; padding: 0; margin: 0 0.2em; font-style: normal; white-space: nowrap;', '#wikEdReplaceText': 'height: 1.4em; font-family: monospace; padding: 0; margin: 0; position: absolute; width: 170px; left: 0; top: 0; z-index: 2;', '#wikEdReplaceSelect': 'height: 1.5em; font-family: monospace; padding: 0; margin: 0; position: relative; border: none; vertical-align: baseline; z-index: 1;', // summary field '.wikEdSummaryComboInput': 'position: relative; white-space: nowrap; margin: 0 0 0 0.1em;', '.wikEdSummaryText': 'padding: 0; margin: 0; position: absolute; left: 0; top: 0; z-index: 2;', '.wikEdSummarySelect': 'border: none; padding: 0; margin: 0; position: relative; vertical-align: middle; z-index: 1;', // space around submit buttons '.editButtons': 'margin: 0;', // frame '.wikEdFrameOuter': 'width: 100%; margin: 0; border-width: 1px; border-style: solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;', '.wikEdFrameInner': 'padding: 0; border-width: 1px; border-style: solid; border-color: #404040 #ffffff #ffffff #404040;', '.wikEdFrame': 'width: 100%; padding: 0; margin: 0; border: none;', // summary '.wikEdSummaryWrapper': 'margin: 0 0 0.4em 0;', '.wikEdSummaryWrapperTop': 'margin: 0.1em 0 0.4em 0;', '#wpSummaryLabel': 'margin: 0 0.2em 0 0;', '.editOptions': 'position: relative; top: 0.1em;', '.wikEdClearSummaryForm': 'display: inline;', '.wikEdClearSummary': 'vertical-align: middle; margin: 0 0.1em 0 0.5em; padding: 0 0 0.2em 0;', // input wrapper '.wikEdInputWrapper': 'z-index: 100; clear: both; margin-top: 0.5em;', '.wikEdInputWrapperFull': 'position: fixed; top: 0; left: 0; right: 0; padding: 4px; background: white; z-index: 100;', // other wrappers '.wikEdToolbarWrapper': 'margin: 0 0 0.25em 0;', '.wikEdTextareaWrapper': 'margin: 0 0 0.35em 0;', '.wikEdFrameWrapper': 'margin: 0 0 0.35em 0;', '.wikEdConsoleWrapper': '', '.wikEdButtonsWrapper': '', '.wikEdSummaryInputWrapper': 'display: inline; white-space: nowrap;', '.wikEdSummaryOptions': 'display: inline;', '.wikEdSubmitWrapper': 'margin: 0 0 0.25em 0;', '.wikEdSubmitButtonsWrapper': '', '.wikEdLocalPrevWrapper': '', '.wikEdInsertWrapper': '', // various '.wikEdEditOptions': 'display: inline; vertical-align: baseline; margin-right: 0.75em; white-space: nowrap;', '.wikEdEditHelp': 'vertical-align: baseline; margin-right: 0.5em; white-space: nowrap;', '#editpage-specialchars': 'clear: both;' }); } // buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters) var wikEdButton = wikEdButton || []; // WikedInitButton: define built-in buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters) function WikedInitButton() { WikEdInitObject(wikEdButton, { // format top 1: ['wikEdUndo', 'wikEdButtonInactive', wikEdText['wikEdUndo title'], wikEdImage['undo'], '16', '16', wikEdText['wikEdUndo alt'], 'javascript:WikEdEditButton(this, this.id);' ], 2: ['wikEdRedo', 'wikEdButtonInactive', wikEdText['wikEdRedo title'], wikEdImage['redo'], '16', '16', wikEdText['wikEdRedo alt'], 'javascript:WikEdEditButton(this, this.id);' ], 3: ['wikEdBold', 'wikEdButton', wikEdText['wikEdBold title'], wikEdImage['bold'], '16', '16', wikEdText['wikEdBold alt'], 'javascript:WikEdEditButton(this, this.id);' ], 4: ['wikEdItalic', 'wikEdButton', wikEdText['wikEdItalic title'], wikEdImage['italic'], '16', '16', wikEdText['wikEdItalic alt'], 'javascript:WikEdEditButton(this, this.id);' ], 5: ['wikEdUnderline', 'wikEdButton', wikEdText['wikEdUnderline title'], wikEdImage['underline'], '16', '16', wikEdText['wikEdUnderline alt'], 'javascript:WikEdEditButton(this, this.id);' ], 6: ['wikEdStrikethrough', 'wikEdButton', wikEdText['wikEdStrikethrough title'], wikEdImage['strikethrough'], '16', '16', wikEdText['wikEdStrikethrough alt'], 'javascript:WikEdEditButton(this, this.id);' ], 7: ['wikEdNowiki', 'wikEdButton', wikEdText['wikEdNowiki title'], wikEdImage['nowiki'], '16', '16', wikEdText['wikEdNowiki alt'], 'javascript:WikEdEditButton(this, this.id);' ], 8: ['wikEdSuperscript', 'wikEdButton', wikEdText['wikEdSuperscript title'], wikEdImage['superscript'], '16', '16', wikEdText['wikEdSuperscript alt'], 'javascript:WikEdEditButton(this, this.id);' ], 9: ['wikEdSubscript', 'wikEdButton', wikEdText['wikEdSubscript title'], wikEdImage['subscript'], '16', '16', wikEdText['wikEdSubscript alt'], 'javascript:WikEdEditButton(this, this.id);' ], 10: ['wikEdRef', 'wikEdButton', wikEdText['wikEdRef title'], wikEdImage['ref'], '16', '16', wikEdText['wikEdRef alt'], 'javascript:WikEdEditButton(this, this.id);' ], 12: ['wikEdCase', 'wikEdButton', wikEdText['wikEdCase title'], wikEdImage['case'], '16', '16', wikEdText['wikEdCase alt'], 'javascript:WikEdEditButton(this, this.id);' ], 25: ['wikEdRedirect', 'wikEdButton', wikEdText['wikEdRedirect title'], wikEdImage['redirect'], '16', '16', wikEdText['wikEdRedirect alt'], 'javascript:WikEdEditButton(this, this.id);' ], 13: ['wikEdUndoAll', 'wikEdButton', wikEdText['wikEdUndoAll title'], wikEdImage['undoAll'], '16', '16', wikEdText['wikEdUndoAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 14: ['wikEdRedoAll', 'wikEdButtonInactive', wikEdText['wikEdRedoAll title'], wikEdImage['redoAll'], '16', '16', wikEdText['wikEdRedoAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], // format bottom 15: ['wikEdWikiLink', 'wikEdButton', wikEdText['wikEdWikiLink title'], wikEdImage['wikiLink'], '16', '16', wikEdText['wikEdWikiLink alt'], 'javascript:WikEdEditButton(this, this.id);' ], 16: ['wikEdWebLink', 'wikEdButton', wikEdText['wikEdWebLink title'], wikEdImage['webLink'], '16', '16', wikEdText['wikEdWebLink alt'], 'javascript:WikEdEditButton(this, this.id);' ], 17: ['wikEdHeading', 'wikEdButton', wikEdText['wikEdHeading title'], wikEdImage['heading'], '16', '16', wikEdText['wikEdHeading alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseHeading\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseHeading\'); }' ], 19: ['wikEdBulletList', 'wikEdButton', wikEdText['wikEdBulletList title'], wikEdImage['bulletList'], '16', '16', wikEdText['wikEdBulletList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseBulletList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseBulletList\'); }' ], 20: ['wikEdNumberList', 'wikEdButton', wikEdText['wikEdNumberList title'], wikEdImage['numberList'], '16', '16', wikEdText['wikEdNumberList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseNumberList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseNumberList\'); }' ], 21: ['wikEdIndentList', 'wikEdButton', wikEdText['wikEdIndentList title'], wikEdImage['indentList'], '16', '16', wikEdText['wikEdIndentList alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, \'wikEdIncreaseIndentList\'); } else { javascript:WikEdEditButton(this, \'wikEdDecreaseIndentList\'); }' ], 22: ['wikEdDefinitionList', 'wikEdButton', wikEdText['wikEdDefinitionList title'], wikEdImage['definitionList'], '16', '16', wikEdText['wikEdDefinitionList alt'], 'javascript:WikEdEditButton(this, this.id);' ], 23: ['wikEdImage', 'wikEdButton', wikEdText['wikEdImage title'], wikEdImage['image'], '16', '16', wikEdText['wikEdImage alt'], 'javascript:WikEdEditButton(this, this.id);' ], 24: ['wikEdTable', 'wikEdButton', wikEdText['wikEdTable title'], wikEdImage['table'], '16', '16', wikEdText['wikEdTable alt'], 'javascript:WikEdEditButton(this, this.id);' ], 11: ['wikEdReferences', 'wikEdButton', wikEdText['wikEdReferences title'], wikEdImage['references'], '16', '16', wikEdText['wikEdReferences alt'], 'if (!event.shiftKey) { javascript:WikEdEditButton(this, this.id); } else { javascript:WikEdEditButton(this, \'wikEdReferencesSection\'); }' ], 26: ['wikEdWikify', 'wikEdButton', wikEdText['wikEdWikify title'], wikEdImage['wikify'], '16', '16', wikEdText['wikEdWikify alt'], 'javascript:WikEdEditButton(this, this.id);' ], 27: ['wikEdTextify', 'wikEdButton', wikEdText['wikEdTextify title'], wikEdImage['textify'], '16', '16', wikEdText['wikEdTextify alt'], 'javascript:WikEdEditButton(this, this.id);' ], // control top 77: ['wikEdRefHide', 'wikEdButtonUnchecked', wikEdText['wikEdRefHide title'], wikEdImage['refHide'], '16', '16', wikEdText['wikEdRefHide alt'], 'javascript:WikEdButton(this, this.id, true);' ], 29: ['wikEdTextZoom', 'wikEdButton', wikEdText['wikEdTextZoom title'], wikEdImage['textZoom'], '16', '16', wikEdText['wikEdTextZoom alt'], 'if (!event.shiftKey) { javascript:WikEdButton(this, \'wikEdTextZoomDown\'); } else { javascript:WikEdButton(this, \'wikEdTextZoomUp\'); }' ], 30: ['wikEdClearHistory', 'wikEdButton', wikEdText['wikEdClearHistory title'], wikEdImage['clearHistory'], '16', '16', wikEdText['wikEdClearHistory alt'], 'javascript:WikEdButton(this, this.id);' ], 31: ['wikEdScrollToPreview', 'wikEdButton', wikEdText['wikEdScrollToPreview title'], wikEdImage['scrollToPreviewDown'], '16', '16', wikEdText['wikEdScrollToPreview alt'], 'javascript:WikEdButton(this, this.id);' ], 32: ['wikEdScrollToEdit', 'wikEdButton', wikEdText['wikEdScrollToEdit title'], wikEdImage['scrollToEditDown'], '16', '16', wikEdText['wikEdScrollToEdit alt'], 'javascript:WikEdButton(this, this.id);' ], // control bottom 33: ['wikEdUseWikEd', 'wikEdButtonChecked', wikEdText['wikEdUseWikEd title'], wikEdImage['useWikEd'], '16', '16', wikEdText['wikEdUseWikEd alt'], 'javascript:WikEdButton(this, this.id, true);' ], 34: ['wikEdHighlightSyntax', 'wikEdButtonUnchecked', wikEdText['wikEdHighlightSyntax title'], wikEdImage['highlightSyntax'], '16', '16', wikEdText['wikEdHighlightSyntax alt'], 'javascript:WikEdButton(this, this.id, true);' ], 35: ['wikEdSource', 'wikEdButton', wikEdText['wikEdSource title'], wikEdImage['source'], '16', '16', wikEdText['wikEdSource alt'], 'javascript:WikEdEditButton(this, this.id);' ], 75: ['wikEdCloseToolbar', 'wikEdButtonUnchecked', wikEdText['wikEdCloseToolbar title'], wikEdImage['closeToolbar'], '16', '16', wikEdText['wikEdCloseToolbar alt'], 'javascript:WikEdButton(this, this.id, true);' ], 36: ['wikEdUsing', 'wikEdButtonUnchecked', wikEdText['wikEdUsing title'], wikEdImage['using'], '16', '16', wikEdText['wikEdUsing alt'], 'javascript:WikEdButton(this, this.id, true);' ], 37: ['wikEdFullScreen', 'wikEdButtonUnchecked', wikEdText['wikEdFullScreen title'], wikEdImage['fullScreen'], '16', '16', wikEdText['wikEdFullScreen alt'], 'javascript:WikEdButton(this, this.id, true);' ], // find top 39: ['wikEdFindAll', 'wikEdButton', wikEdText['wikEdFindAll title'], wikEdImage['findAll'], '16', '16', wikEdText['wikEdFindAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 40: ['wikEdFindPrev', 'wikEdButton', wikEdText['wikEdFindPrev title'], wikEdImage['findPrev'], '16', '16', wikEdText['wikEdFindPrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 41: ['wikEdFindNext', 'wikEdButton', wikEdText['wikEdFindNext title'], wikEdImage['findNext'], '16', '16', wikEdText['wikEdFindNext alt'], 'if (event.shiftKey) { javascript:WikEdEditButton(this, this.id, \'shift\'); } else { javascript:WikEdEditButton(this, this.id); }' ], 43: ['wikEdJumpPrev', 'wikEdButton', wikEdText['wikEdJumpPrev title'], wikEdImage['jumpPrev'], '16', '16', wikEdText['wikEdJumpPrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 44: ['wikEdJumpNext', 'wikEdButton', wikEdText['wikEdJumpNext title'], wikEdImage['jumpNext'], '16', '16', wikEdText['wikEdJumpNext alt'], 'javascript:WikEdEditButton(this, this.id);' ], // find bottom 46: ['wikEdReplaceAll', 'wikEdButton', wikEdText['wikEdReplaceAll title'], wikEdImage['replaceAll'], '16', '16', wikEdText['wikEdReplaceAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 47: ['wikEdReplacePrev', 'wikEdButton', wikEdText['wikEdReplacePrev title'], wikEdImage['replacePrev'], '16', '16', wikEdText['wikEdReplacePrev alt'], 'javascript:WikEdEditButton(this, this.id);' ], 48: ['wikEdReplaceNext', 'wikEdButton', wikEdText['wikEdReplaceNext title'], wikEdImage['replaceNext'], '16', '16', wikEdText['wikEdReplaceNext alt'], 'if (event.shiftKey) { javascript:WikEdEditButton(this, this.id, \'shift\'); } else { javascript:WikEdEditButton(this, this.id); }' ], 49: ['wikEdCaseSensitive', 'wikEdButtonUnchecked', wikEdText['wikEdCaseSensitive title'], wikEdImage['caseSensitive'], '16', '16', wikEdText['wikEdCaseSensitive alt'], 'javascript:WikEdButton(this, this.id, true);' ], 50: ['wikEdRegExp', 'wikEdButtonUnchecked', wikEdText['wikEdRegExp title'], wikEdImage['regExp'], '16', '16', wikEdText['wikEdRegExp alt'], 'javascript:WikEdButton(this, this.id, true);' ], 51: ['wikEdFindAhead', 'wikEdButtonUnchecked', wikEdText['wikEdFindAhead title'], wikEdImage['findAhead'], '16', '16', wikEdText['wikEdFindAhead alt'], 'javascript:WikEdButton(this, this.id, true);' ], // fix top 52: ['wikEdFixBasic', 'wikEdButton', wikEdText['wikEdFixBasic title'], wikEdImage['fixBasic'], '16', '16', wikEdText['wikEdFixBasic alt'], 'javascript:WikEdEditButton(this, this.id);' ], 53: ['wikEdFixHtml', 'wikEdButton', wikEdText['wikEdFixHtml title'], wikEdImage['fixHtml'], '16', '16', wikEdText['wikEdFixHtml alt'], 'javascript:WikEdEditButton(this, this.id);' ], 54: ['wikEdFixCaps', 'wikEdButton', wikEdText['wikEdFixCaps title'], wikEdImage['fixCaps'], '16', '16', wikEdText['wikEdFixCaps alt'], 'javascript:WikEdEditButton(this, this.id);' ], 55: ['wikEdfixUnicode', 'wikEdButton', wikEdText['wikEdfixUnicode title'], wikEdImage['fixUnicode'], '16', '16', wikEdText['wikEdfixUnicode alt'], 'javascript:WikEdEditButton(this, this.id);' ], 56: ['wikEdFixAll', 'wikEdButton', wikEdText['wikEdFixAll title'], wikEdImage['fixAll'], '16', '16', wikEdText['wikEdFixAll alt'], 'javascript:WikEdEditButton(this, this.id);' ], 57: ['wikEdFixRegExTypo', 'wikEdButton', wikEdText['wikEdFixRegExTypo title'], wikEdImage['fixRegExTypo'], '16', '16', wikEdText['wikEdFixRegExTypo alt'], 'javascript:WikEdEditButton(this, this.id);' ], // fix bottom 58: ['wikEdFixDashes', 'wikEdButton', wikEdText['wikEdFixDashes title'], wikEdImage['fixDash'], '16', '16', wikEdText['wikEdFixDashes alt'], 'javascript:WikEdEditButton(this, this.id);' ], 59: ['wikEdFixPunct', 'wikEdButton', wikEdText['wikEdFixPunct title'], wikEdImage['fixPunct'], '16', '16', wikEdText['wikEdFixPunct alt'], 'javascript:WikEdEditButton(this, this.id);' ], 60: ['wikEdFixMath', 'wikEdButton', wikEdText['wikEdFixMath title'], wikEdImage['fixMath'], '16', '16', wikEdText['wikEdFixMath alt'], 'javascript:WikEdEditButton(this, this.id);' ], 61: ['wikEdFixChem', 'wikEdButton', wikEdText['wikEdFixChem title'], wikEdImage['fixChem'], '16', '16', wikEdText['wikEdFixChem alt'], 'javascript:WikEdEditButton(this, this.id);' ], 62: ['wikEdFixUnits', 'wikEdButton', wikEdText['wikEdFixUnits title'], wikEdImage['fixUnits'], '16', '16', wikEdText['wikEdFixUnits alt'], 'javascript:WikEdEditButton(this, this.id);' ], // preview top 65: ['wikEdClose', 'wikEdButton', wikEdText['wikEdClose title'], wikEdImage['close'], '16', '16', wikEdText['wikEdClose alt'], 'javascript:WikEdButton(this, this.id);' ], 66: ['wikEdScrollToPreview2', 'wikEdButton', wikEdText['wikEdScrollToPreview2 title'], wikEdImage['scrollToPreviewDown'], '16', '16', wikEdText['wikEdScrollToPreview2 alt'], 'javascript:WikEdButton(this, this.id);' ], 67: ['wikEdScrollToEdit2', 'wikEdButton', wikEdText['wikEdScrollToEdit2 title'], wikEdImage['scrollToEdit'], '16', '16', wikEdText['wikEdScrollToEdit2 alt'], 'javascript:WikEdButton(this, this.id);' ], // preview bottom 70: ['wikEdClose2', 'wikEdButton', wikEdText['wikEdClose2 title'], wikEdImage['close'], '16', '16', wikEdText['wikEdClose2 alt'], 'javascript:WikEdButton(this, this.id);' ], 71: ['wikEdScrollToPreview3', 'wikEdButton', wikEdText['wikEdScrollToPreview3 title'], wikEdImage['scrollToPreview'], '16', '16', wikEdText['wikEdScrollToPreview3 alt'], 'javascript:WikEdButton(this, this.id);' ], 72: ['wikEdScrollToEdit3', 'wikEdButton', wikEdText['wikEdScrollToEdit3 title'], wikEdImage['scrollToEdit'], '16', '16', wikEdText['wikEdScrollToEdit3 alt'], 'javascript:WikEdButton(this, this.id);' ], // jump 78: ['wikEdDiff', 'wikEdButtonUnchecked', wikEdText['wikEdDiff title'], wikEdImage['wikEdDiff'], '16', '16', wikEdText['wikEdDiff alt'], 'javascript:WikEdButton(this, this.id, true);' ], 74: ['wikEdScrollToEdit4', 'wikEdButtonSolo', wikEdText['wikEdScrollToEdit4 title'], wikEdImage['scrollToEditDown'], '16', '16', wikEdText['wikEdScrollToEdit4 alt'], 'javascript:WikEdButton(this, this.id);' ], // dummy 76: ['wikEdDummy', 'wikEdButtonDummy', '', wikEdImage['dummy'], '16', '16', '', '' ] }); } // button bars (id, class, button numbers) var wikEdButtonBar = wikEdButtonBar || []; // WikedInitButtonBar: define built-in button bars (id outer, class outer, id inner, class inner, height, grip title, button numbers) function WikedInitButtonBar() { WikEdInitObject(wikEdButtonBar, { 'format': ['wikEdButtonBarFormat', 'wikEdButtonBarFormat', 'wikEdButtonsFormat', 'wikEdButtonsFormat', 44, wikEdText['wikEdGripFormat title'], [1,2,3,4,5,6,7,8,9,10,12,13,14,'br',15,16,17,19,20,21,22,23,24,11,25,26,27] ], 'custom1': ['wikEdButtonBarCustom1', 'wikEdButtonBarCustom1', 'wikEdButtonsCustom1', 'wikEdButtonsCustom1', 44, wikEdText['wikEdGripCustom1 title'], [ ] ], 'find': ['wikEdButtonBarFind', 'wikEdButtonBarFind', 'wikEdButtonsFind', 'wikEdButtonsFind', 44, wikEdText['wikEdGripFind title'], [39,40,'find',41,76,43,44,'br',46,47,'replace',48,49,50,51] ], 'fix': ['wikEdButtonBarFix', 'wikEdButtonBarFix', 'wikEdButtonsFix', 'wikEdButtonsFix', 44, wikEdText['wikEdGripFix title'], [52,53,54,55,56,57,'br',58,59,60,61,62] ], 'custom2': ['wikEdButtonBarCustom2', 'wikEdButtonBarCustom2', 'wikEdButtonsCustom2', 'wikEdButtonsCustom2', 44, wikEdText['wikEdGripCustom2 title'], [ ] ], 'control': ['wikEdButtonBarControl', 'wikEdButtonBarControl', 'wikEdButtonsControl', 'wikEdButtonsControl', 44, wikEdText['wikEdGripControl title'], [77,29,30,31,32,'br',33,34,35,75,36,78,37] ], 'preview': ['wikEdButtonBarPreview', 'wikEdButtonBarPreview', 'wikEdButtonsPreview', 'wikEdButtonsPreview', 0, null, [66,67,65] ], 'preview2': ['wikEdButtonBarPreview2', 'wikEdButtonBarPreview2', 'wikEdButtonsPreview2', 'wikEdButtonsPreview2', 0, null, [71,72,70] ], 'jump': ['wikEdButtonBarJump', 'wikEdButtonBarJump', 'wikEdButtonsJump', 'wikEdButtonsJump', 0, null, [74] ] }); } // history length for find, replace, and summary fields var wikEdHistoryLength = wikEdHistoryLength || []; wikEdHistoryLength['find'] = 10; wikEdHistoryLength['replace'] = 10; wikEdHistoryLength['summary'] = 10; // presets for combo input fields dropdown options, {wikEdUsing} appends a link to this script var wikEdComboPresetOptions = wikEdComboPresetOptions || []; wikEdComboPresetOptions['summary'] = wikEdComboPresetOptions['summary'] || wikEdText['wikEdPresetSummary']; // text for summary link to this script var wikEdSummaryUsing = wikEdSummaryUsing || wikEdText['wikEdSummaryUsing']; // expiration time span for permanent cookies in seconds var wikEdCookieExpireSec = wikEdCookieExpireSec || (30 * 24 * 60 * 60); // find ahead as you type checkbox preset if (typeof(wikEdHighlightSyntaxPreset) == 'undefined') { var wikEdFindAheadSelected = true; } // highlight syntax preset var wikEdHighlightSyntaxPreset = wikEdHighlightSyntaxPreset || true; // enable wikEd preset if (typeof(wikEdUseWikEdPreset) == 'undefined') { var wikEdUseWikEdPreset = true; } // add '...using wikEd' to summary preset (set to true by single-session cookie wikEdSummaryUsing) if (typeof(wikEdUsingPreset) == 'undefined') { var wikEdUsingPreset = false; } // wikEdDiff preset if (typeof(wikEdDiffPreset) == 'undefined') { var wikEdDiffPreset = false; } // fullscreen mode preset if (typeof(wikEdFullScreenModePreset) == 'undefined') { var wikEdFullScreenModePreset = false; } // show MediaWiki toolbar preset if (typeof(wikEdCloseToolbarPreset) == 'undefined') { var wikEdCloseToolbarPreset = false; } // hide ref tags preset if (typeof(wikEdRefHidePreset) == 'undefined') { var wikEdRefHidePreset = false; } // initial text zoom for edit window (percentage) var wikEdTextZoom = wikEdTextZoom || 100; // remove invisible syntax highlighting comments after closing tag if (typeof(wikEdRemoveHighlightComments) == 'undefined') { var wikEdRemoveHighlightComments = true; } // show the text-to-source button for testing purposes if (typeof(wikEdShowSourceButton) == 'undefined') { var wikEdShowSourceButton = false; } // show the using-wiked button if (typeof(wikEdShowUsingButton) == 'undefined') { var wikEdShowUsingButton = false; } // the wikEd help page link to be displayed after the editing help link, an empty string disables the link var wikEdHelpPageLink = wikEdHelpPageLink || wikEdText['wikEdHelpPageLink']; // display the wikEd button bars on top of the edit box if (typeof(wikEdButtonsOnTop) == 'undefined') { var wikEdButtonsOnTop = true; } // enable external diff script if (typeof(wikEdLoadDiffScript) == 'undefined') { var wikEdLoadDiffScript = true; } // diff script URL var wikEdDiffScriptSrc = wikEdDiffScriptSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js&action=raw&ctype=text/javascript'; // enable external wikEdDiff script if (typeof(wikEdLoadDiff) == 'undefined') { var wikEdLoadDiff = true; } // wikEdDiff script URL, also defined in wikEdDiff.js var wikEdDiffSrc = wikEdDiffSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js&action=raw&ctype=text/javascript'; // enable external InstaView script if (typeof(wikEdLoadInstaView) == 'undefined') { var wikEdLoadInstaView = true; } // InstaView script URL var wikEdInstaViewSrc = wikEdInstaViewSrc || 'http://en.wikipedia.org/w/index.php?title=User:Pilaf/include/instaview.js&action=raw&ctype=text/javascript'; // enable external RegExTypoFix script if (typeof(wikEdLoadRegExTypoFix) == 'undefined') { var wikEdLoadRegExTypoFix = false; } // RegExTypoFix script URL var wikEdRegExTypoFixSrc = wikEdRegExTypoFixSrc || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdTypoFix.js&action=raw&ctype=text/javascript'; // enable RegExTypoFix (http://en.wikipedia.org/wiki/User:Mboverload/RegExTypoFix), needs User:Cacycle/wikEdTypoFix.js or translation if (typeof(wikEdRegExTypoFix) == 'undefined') { var wikEdRegExTypoFix = true; } // enable highlighting as links if (typeof(wikEdFollowHighlightedLinks) == 'undefined') { var wikEdFollowHighlightedLinks = false; } // skip the browser detection to run wikEd under IE and Opera if (typeof(wikEdSkipBrowserTest) == 'undefined') { var wikEdSkipBrowserTest = false; } // set the button bar grip width in px var wikEdButtonBarGripWidth = wikEdButtonBarGripWidth || 8; // enable local preview (Pilaf's InstaView) if (typeof(wikEdUseLocalPreview) == 'undefined') { var wikEdUseLocalPreview = true; } // allow ajax requests from local copy for testing, also defined in wikEdDiff.js if (typeof(wikEdAllowLocalAjax) == 'undefined') { var wikEdAllowLocalAjax = false; } // enable server preview (Ajax) if (typeof(wikEdUseAjaxPreview) == 'undefined') { var wikEdUseAjaxPreview = true; } // enable auto update (Ajax) if (typeof(wikEdAutoUpdate) == 'undefined') { var wikEdAutoUpdate = true; } // hours between update check var wikEdAutoUpdateHours = wikEdAutoUpdateHours || 20; // auto update version url (ajax) var wikEdAutoUpdateUrl = wikEdAutoUpdateUrl || 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd_current_version&action=raw&maxage=0'; // show complete unshortened article text for local diff, also defined in wikEdDiff.js if (typeof(wikEdFullDiff) == 'undefined') { var wikEdFullDiff = false; } // make links ctrl-clickable if (typeof(wikEdFollowLinks) == 'undefined') { var wikEdFollowLinks = true; } // correct tab order between check boxes and submit buttons if (typeof(wikEdSubmitTabOrder) == 'undefined') { var wikEdSubmitTabOrder = false; } // // end of user configurable variables // {{subst:1|globals}} // global variables var wikEdLoaded; var wikEdDisabled = false; // history var wikEdFieldHist = []; var wikEdCookieName = []; var wikEdInputElement = []; var wikEdSelectElement = []; var wikEdCheckMarker = []; wikEdCheckMarker[true] = '\u2022'; wikEdCheckMarker[false] = '\u22c5'; // cache the parsed DOM object var wikEdFrameDOMCache; // undo all, redo all var wikEdOrigVersion = ''; var wikEdLastVersion; // global dom elements var wikEdLogo; var wikEdLogoList; var wikEdTextarea; var wikEdFrame; var wikEdFrameBody; var wikEdFrameDocument; var wikEdFrameWindow; var wikEdInputWrapper; var wikEdToolbarWrapper; var wikEdTextareaWrapper; var wikEdFrameWrapper; var wikEdConsoleWrapper; var wikEdButtonsWrapper; var wikEdSummaryWrapper; var wikEdSummaryInputWrapper; var wikEdSummaryOptions; var wikEdSubmitWrapper; var wikEdSubmitButtonsWrapper; var wikEdLocalPrevWrapper; var wikEdInsertWrapper; var wikEdButtonBarFormat; var wikEdButtonBarCustom1; var wikEdButtonBarFind; var wikEdButtonBarFix; var wikEdButtonBarCustom2; var wikEdButtonBarControl; var wikEdButtonBarPreview; var wikEdButtonBarPreview2; var wikEdButtonBarJump; var wikEdPreviewBox; var wikEdClearSummary; var wikEdClearSummaryImg; var wikEdCaseSensitive; var wikEdRegExp; var wikEdFindAhead; var wikEdFindText; var wikEdReplaceText; var wikEdSummaryText; var wikEdSummarySelect; var wikEdEditOptions; var wikEdEditHelp; var wikEdSaveButton; var wikEdPreviewButton; var wikEdLDiffButton; var wikEdLocalPreview; var wikEdLocalDiff; var wikEdDiffPreviewButton; var wikEdSummaryLabel; // various var wikEdTextareaHeight; var wikEdClearSummaryWidth; var wikEdFullScreenMode = false; var wikeEdInsertTagsOriginal; var wikEdAddNewSection; var wikEdBrowserNotSupported var wikEdFrameScrollTop; // wikEd settings var wikEdRefHide; var wikEdUsing; var wikEdUseWikEd; var wikEdCloseToolbar; var wikEdHighlightSyntax; var wikEdDiff; // unicode fixing var wikEdControlCharsStr = ''; var wikEdSupportedChars; var wikEdSpecialChars; var wikEdProblemChars; var wikEdControlChars; var wikEdStrangeSpaces; // debugging time measurement, usage: wikEdDebugTimer.push([1234, new Date]); WikEdDebugTimer(); var wikEdDebugTimer = []; // MediaWiki file paths for use in regexps var wikEdServer = ''; var wikEdArticlePath = ''; var wikEdScriptPath = ''; var wikEdArticlePrefix = ''; // hash of loaded scripts, also defined in wikEdDiff.js var wikEdExternalScripts = wikEdExternalScripts || []; // check for updates WikEdAutoUpdate(); // call the setup routine if (typeof(addOnloadHook) == 'function') { addOnloadHook(WikEdSetup); } else { window.onload = WikEdSetup; } // // WikEdInitObject: initialize object, keep pre-defined values // function WikEdInitObject(array, preset) { for (var key in preset) { if (array[key] == null) { array[key] = preset[key]; } } return; } // // WikEdInitImage: initialize images, keep pre-defined values // function WikEdInitImage(array, preset) { for (var key in preset) { if (array[key] == null) { // remove MediaWiki path prefixes and add local path if (wikEdUseLocalImages == true) { array[key] = wikEdImagePathLocal + preset[key].replace(/^[0-9a-f]+\/[0-9a-f]+\//, ''); } // add path else { array[key] = wikEdImagePath + preset[key]; } } } return; } // // WikEdSetup: setup routine, called on page load // function WikEdSetup(scrollToText) { // initialize texts and images (needed here for logo) WikedInitText(); WikedInitImage(); // add image path to image filename if (wikEdLogo == null) { // insert logo into personal toolbar wikEdLogo = document.createElement('img'); wikEdLogo.id = 'wikEdLogoImg'; wikEdLogo.onclick = WikEdMainSwitch; wikEdLogoList = document.createElement('li'); wikEdLogoList.id = 'wikEdLogoList'; wikEdLogoList.appendChild(wikEdLogo); var personalTools = document.getElementById('p-personal'); if (personalTools != null) { personalTools.getElementsByTagName('ul')[0].appendChild(wikEdLogoList); } } // detect already loaded external scripts if (wikEdExternalScripts == null) { var pageScripts = document.getElementsByTagName('script'); for (var i = 0; i < pageScripts.length; i ++) { var nameMatch = pageScripts[i].src.match(/\/([^\/]*?)($|\?)/); if (nameMatch != null) { var scriptName = nameMatch[1]; if (scriptName != '') { wikEdExternalScripts[scriptName] = true; } } } } // load the external diff script var head = document.getElementsByTagName('head')[0]; if ( (wikEdLoadDiffScript == true) && (wikEdExternalScripts['diff.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdDiffScriptSrc; head.appendChild(script); wikEdExternalScripts['diff.js'] = true; } // load the external wikEdDiff script if ( (wikEdLoadDiff == true) && (wikEdExternalScripts['wikEdDiff.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdDiffSrc; head.appendChild(script); wikEdExternalScripts['wikEdDiff.js'] = true; } // check if disabled var cookie = WikEdGetCookie('wikEdDisabled'); if (cookie != '') { wikEdDisabled = true; wikEdUseWikEd = false; WikEdSetLogo(); return; } // check if setup was already run if (wikEdLoaded == true) { return; } // set error logo WikEdSetLogo('error'); // at the moment this works only for Mozilla browsers (Mozilla, Mozilla Firefox, Mozilla SeaMonkey) if (wikEdSkipBrowserTest != true) { // no id no wikEd if (navigator.appName == null) { wikEdBrowserNotSupported = true; } else { // check if it is a Netscape descendant var origin = navigator.appName.match(/Netscape/i); if ( (origin == null) || (origin == '') ) { wikEdBrowserNotSupported = true; } // check the generation var generation = navigator.appVersion.match(/\d+(\.\d+)/); if ( (generation == null) || (generation[0] < 5.0) ) { wikEdBrowserNotSupported = true; } // check if it is a Gecko browser var geckoDate = navigator.userAgent.match(/\bGecko\/(\d+)/i); if (geckoDate != null) { if ( (geckoDate[1] != '') && (geckoDate[1] < 20050000) ) { wikEdBrowserNotSupported = true; } } // check browser and version var agent = navigator.userAgent.match(/(Firefox|Netscape|SeaMonkey)\/(\d+\.\d+)/i); if (agent != null) { var browser = agent[1]; var version = agent[2]; if ( (browser == 'Firefox') && (version < 1.5) || (browser == 'Netscape') && (version < 8.0) || (browser == 'SeaMonkey') && (version < 1.0) ) { wikEdBrowserNotSupported = true; } } } // browser not supported, set error message if (wikEdBrowserNotSupported == true) { WikEdSetLogo('browser'); return; } } // check if this is an edit page wikEdTextarea = document.getElementsByName('wpTextbox1')[0]; var wpEditform = document.getElementById('editform'); wikEdSaveButton = document.getElementById('wpSave'); if ( (wikEdTextarea == null) || (wpEditform == null) || (wikEdSaveButton == null) ) { // reset error indicator WikEdSetLogo(); return; } // initialize frame css, main css, buttons, and button bars WikedInitFrameCSS(); WikedInitMainCSS(); WikedInitButton(); WikedInitButtonBar(); // define Unicode characters for fixing function WikEdInitUnicode(); // detect if we add a new section (+ tab) if (/(\?|&)section=new\b/.test(window.location.search) == true) { wikEdAddNewSection = true; } // load the external InstaView script if ( (wikEdLoadInstaView == true) && (wikEdExternalScripts['instaview.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdInstaViewSrc; head.appendChild(script); wikEdExternalScripts['instaview.js'] = true; } else if (wikEdLoadInstaView != true) { wikEdUseLocalPreview = false; } // load the external RegExTypoFix script if ( (wikEdLoadRegExTypoFix == true) && (wikEdExternalScripts['RegExTypoFix.js'] == null) ) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = wikEdRegExTypoFixSrc; head.appendChild(script); wikEdExternalScripts['RegExTypoFix.js'] = true; } else if (wikEdLoadRegExTypoFix != true) { wikEdRegExTypoFix = false; } // get initial textarea height wikEdTextareaHeight = wikEdTextarea.offsetHeight; // setup the undo buffers and save the original text for local changes view wikEdOrigVersion = wikEdTextarea.value; // add stylesheet definitions var mainStyle = new WikEdStyleSheet(); var rules = ''; for (var ruleName in wikEdMainCSS) { var ruleStyle = wikEdMainCSS[ruleName]; ruleStyle = ruleStyle.replace(/\{wikEdGrip\}/g, wikEdImage['grip']); rules += ruleName + ' {' + ruleStyle + '}\n'; } mainStyle.addRules(rules); // get button settings from cookies wikEdUsing = WikEdGetCookieSetting('wikEdSummaryUsing', wikEdUsingPreset); wikEdUseWikEd = WikEdGetCookieSetting('wikEdUseClassic', wikEdUseWikEdPreset); wikEdHighlightSyntax = WikEdGetCookieSetting('wikEdSyntaxOff', wikEdHighlightSyntaxPreset); wikEdFullScreenMode = WikEdGetCookieSetting('wikEdFullscreen', wikEdFullScreenModePreset); wikEdCloseToolbar = WikEdGetCookieSetting('wikEdCloseToolbar', wikEdCloseToolbarPreset); wikEdRefHide = WikEdGetCookieSetting('wikEdRefHide', wikEdRefHidePreset); wikEdDiff = WikEdGetCookieSetting('wikEdDiff', wikEdDiffPreset); // no fullscreen for preview pages if (window.location.search.match(/(\?|&)action=submit\b/) != null) { wikEdFullScreenMode = false; } // disable wikEd for js pages if ( (typeof(wgTitle) == 'string') && (typeof(wgCanonicalNamespace) == 'string') ) { if (/\.js$/.test(wgTitle) == true) { if ( (wgCanonicalNamespace != 'User_talk') && (wgCanonicalNamespace != 'Talk') ) { if (wikEdOrigVersion.length > 20000) { wikEdUseWikEd = false; } else { wikEdHighlightSyntax = false; } } } } // preset frame related styles to avoid browser crashes var styleFrameBody; var styleFrameWrapperPosition; var styleFrameWrapperVisibility; var styleTextareaWrapperPosition; var styleTextareaWrapperVisibility; if (wikEdUseWikEd == true) { styleFrameBody = 'style="display: block;" '; styleFrameWrapperPosition = 'static'; styleFrameWrapperVisibility = 'visible'; styleTextareaWrapperPosition = 'absolute'; styleTextareaWrapperVisibility = 'hidden'; } else { styleFrameBody = 'style="display: none;" '; styleFrameWrapperPosition = 'absolute'; styleFrameWrapperVisibility = 'hidden'; styleTextareaWrapperPosition = 'static'; styleTextareaWrapperVisibility = 'visible'; } var wikEdInputWrapperClass; if (wikEdFullScreenMode == true) { wikEdInputWrapperClass = 'wikEdInputWrapperFull'; } else { wikEdInputWrapperClass = 'wikEdInputWrapper'; } // create wikEd element wrappers // create input wrapper, this contains the whole fullscreen content wikEdInputWrapper = document.createElement('div'); wikEdInputWrapper.id = 'wikEdInputWrapper'; wikEdInputWrapper.className = wikEdInputWrapperClass; wikEdTextarea.parentNode.insertBefore(wikEdInputWrapper, wikEdTextarea); // create toolbar wrapper wikEdToolbarWrapper = document.createElement('div'); wikEdToolbarWrapper.id = 'wikEdToolbarWrapper'; wikEdToolbarWrapper.className = 'wikEdToolbarWrapper'; wikEdInputWrapper.appendChild(wikEdToolbarWrapper); // create textarea wrapper wikEdTextareaWrapper = document.createElement('div'); wikEdTextareaWrapper.id = 'wikEdTextareaWrapper'; wikEdTextareaWrapper.className = 'wikEdTextareaWrapper'; wikEdTextareaWrapper.style.position = styleTextareaWrapperPosition; wikEdTextareaWrapper.style.visibility = styleTextareaWrapperVisibility; wikEdInputWrapper.appendChild(wikEdTextareaWrapper); // create frame wrapper wikEdFrameWrapper = document.createElement('div'); wikEdFrameWrapper.id = 'wikEdFrameWrapper'; wikEdFrameWrapper.className = 'wikEdFrameWrapper'; wikEdFrameWrapper.style.position = styleFrameWrapperPosition; wikEdFrameWrapper.style.visibility = styleFrameWrapperVisibility; wikEdInputWrapper.appendChild(wikEdFrameWrapper); // create console wrapper for buttons, summary, and submit wikEdConsoleWrapper = document.createElement('div'); wikEdConsoleWrapper.id = 'wikEdConsoleWrapper'; wikEdConsoleWrapper.className = 'wikEdConsoleWrapper'; wikEdInputWrapper.appendChild(wikEdConsoleWrapper); // create buttons wrapper for wikEd buttons wikEdButtonsWrapper = document.createElement('div'); wikEdButtonsWrapper.id = 'wikEdButtonsWrapper'; wikEdButtonsWrapper.className = 'wikEdButtonsWrapper'; if (wikEdButtonsOnTop == true) { wikEdInputWrapper.insertBefore(wikEdButtonsWrapper, wikEdTextareaWrapper); } else { wikEdConsoleWrapper.appendChild(wikEdButtonsWrapper); } // create summary wrapper for summary, minor edit, and watch this page wikEdSummaryWrapper = document.createElement('div'); wikEdSummaryWrapper.id = 'wikEdSummaryWrapper'; // add summary above the edit field if we add a new section (+ tab) if (wikEdAddNewSection == true) { wikEdSummaryWrapper.className = 'wikEdSummaryWrapperTop'; wikEdInputWrapper.insertBefore(wikEdSummaryWrapper, wikEdFrameWrapper); } else { wikEdSummaryWrapper.className = 'wikEdSummaryWrapper'; wikEdConsoleWrapper.appendChild(wikEdSummaryWrapper); } // create summary input wrapper wikEdSummaryInputWrapper = document.createElement('div'); wikEdSummaryInputWrapper.id = 'wikEdSummaryInputWrapper'; wikEdSummaryInputWrapper.className = 'wikEdSummaryInputWrapper'; wikEdSummaryWrapper.appendChild(wikEdSummaryInputWrapper); // create minor edit and watch page wrapper wikEdSummaryOptions = document.createElement('div'); wikEdSummaryOptions.id = 'wikEdSummaryOptions'; wikEdSummaryOptions.className = 'wikEdSummaryOptions'; wikEdSummaryWrapper.appendChild(wikEdSummaryOptions); // create submit wrapper for submit elements wikEdSubmitWrapper = document.createElement('div'); wikEdSubmitWrapper.id = 'wikEdSubmitWrapper'; wikEdSubmitWrapper.className = 'wikEdSubmitWrapper'; wikEdConsoleWrapper.appendChild(wikEdSubmitWrapper); // create submit buttons wrapper for submit buttons and help links wikEdSubmitButtonsWrapper = document.createElement('div'); wikEdSubmitButtonsWrapper.id = 'wikEdSubmitButtonsWrapper'; wikEdSubmitButtonsWrapper.className = 'wikEdSubmitButtonsWrapper'; wikEdSubmitWrapper.appendChild(wikEdSubmitButtonsWrapper); // create preview wrapper for preview and diff box wikEdLocalPrevWrapper = document.createElement('div'); wikEdLocalPrevWrapper.id = 'wikEdLocalPrevWrapper'; wikEdLocalPrevWrapper.className = 'wikEdLocalPrevWrapper'; wikEdLocalPrevWrapper.style.display = 'none'; wikEdInputWrapper.appendChild(wikEdLocalPrevWrapper); // create insert wrapper for insert special chars links wikEdInsertWrapper = document.createElement('div'); wikEdInsertWrapper.id = 'wikEdInsertWrapper'; wikEdInsertWrapper.className = 'wikEdInsertWrapper'; wikEdInputWrapper.appendChild(wikEdInsertWrapper); // append input wrapper to document wpEditform.insertBefore(wikEdInputWrapper, wpEditform.firstChild); // fill the wrappers // wikEdDiff enhanced ajax diff if (typeof(wikEdDiffTable) == 'object') { if ( (wikEdDiffTable != null) && (wikEdDiff == true) ) { if (typeof(WikEdDiff) == 'function') { WikEdDiff(); } } } // add toolbar to toolbar wrapper var wpToolbar = document.getElementById('toolbar'); if (wikEdCloseToolbar == true) { wikEdToolbarWrapper.style.display = 'none'; } else { wikEdToolbarWrapper.style.display = 'block'; } if (wpToolbar != null) { wikEdToolbarWrapper.appendChild(wpToolbar); } // call wikibits:mwSetupToolbar() now because it would terminate with an error after setting textarea to display: none if (wpToolbar != null) { if (wpToolbar.getElementsByTagName('IMG').length == 0) { if (typeof(mwSetupToolbar) == 'function') { mwSetupToolbar(); window.removeEventListener('load', mwSetupToolbar, false); } } } wikEdEditOptions = document.getElementsByName('wpSummary')[0].parentNode; wikEdEditOptions.className = 'wikEdEditOptions'; // add summary elements to summary input wrapper wikEdSummaryLabel = document.getElementById('wpSummaryLabel'); if (wikEdSummaryLabel != null) { wikEdSummaryInputWrapper.appendChild(wikEdSummaryLabel); } wikEdSummaryText = document.getElementsByName('wpSummary')[0]; wikEdSummaryInputWrapper.appendChild(wikEdSummaryText); // move editpage-copywarn out of summary wrapper // needs to be done before appending editOptions to summary wrapper otherwise a linebreak stays (Mozilla bug) var copywarn = document.getElementById('editpage-copywarn'); if (copywarn != null) { wikEdInputWrapper.parentNode.insertBefore(copywarn, wikEdInputWrapper.nextSibling); } // add submit buttons to submit wrapper var wpEditButtons = wikEdSaveButton.parentNode; wikEdSubmitWrapper.insertBefore(wpEditButtons, wikEdSubmitButtonsWrapper); // move edit options after submit buttons; crashes Mozilla when appended after filling the iframe var previewButton = document.getElementById('wpDiff'); previewButton.parentNode.insertBefore(wikEdEditOptions, previewButton.nextSibling); // remove linebreak before minor edit checkbox var node = wikEdEditOptions.firstChild; while (node != null) { if (node.tagName != null) { if (node.tagName == 'BR') { node.parentNode.removeChild(node); break; } } node = node.nextSibling; } // correct tab order between check boxes and submits wikEdPreviewButton = document.getElementById('wpPreview'); wikEdDiffPreviewButton = document.getElementById('wpDiff'); if (wikEdSubmitTabOrder == true) { var wpMinoredit = document.getElementById('wpMinoredit'); var wpWatchthis = document.getElementById('wpWatchthis'); if ( (wpMinoredit != null) && (wpWatchthis != null) ) { var tabIndex = []; tabIndex.push(wpMinoredit.tabIndex, wpWatchthis.tabIndex, wikEdSaveButton.tabIndex, wikEdPreviewButton.tabIndex, wikEdDiffPreviewButton.tabIndex); wikEdSaveButton.tabIndex = tabIndex.shift(); wikEdPreviewButton.tabIndex = tabIndex.shift(); wikEdDiffPreviewButton.tabIndex = tabIndex.shift(); wpMinoredit.tabIndex = tabIndex.shift(); wpWatchthis.tabIndex = tabIndex.shift(); } } // add textarea to textarea wrapper wikEdTextareaWrapper.appendChild(wikEdTextarea); // add edit-frame to frame wrapper // any DOM changes to a starting iframe in designmode may crash mozilla, including DOM move, display: none; and position: absolute; // create the iframe var html = ''; html += '<div id="wikEdFrameOuter" class="wikEdFrameOuter">'; html += '<div id="wikEdFrameInner" class="wikEdFrameInner">'; html += '<iframe id="wikEdFrame" class="wikEdFrame" name="wikEdFrame" style="height: ' + wikEdTextareaHeight + 'px;"></iframe>'; html += '</div>'; html += '</div>'; wikEdFrameWrapper.innerHTML = html; wikEdInputWrapper.insertBefore(wikEdTextareaWrapper, wikEdFrameWrapper); // fill the frame with content html = ''; html += '<html><head></head>'; html += '<body id="wikEdFrameBody" class="wikedFrameBody"' + styleFrameBody + 'onload="window.document.designMode = \'on\'; window.document.execCommand(\'styleWithCSS\', false, false);">'; html += '</body></html>'; wikEdFrame = document.getElementById('wikEdFrame'); wikEdFrameWindow = wikEdFrame.contentWindow; wikEdFrameDocument = wikEdFrameWindow.document; wikEdFrameDocument.open(); wikEdFrameDocument.write(html); wikEdFrameDocument.close(); wikEdFrameBody = wikEdFrameDocument.body; // generate button bars and add them to the buttons wrapper // form wrapper has been added against summary input submit defaulting to this button wikEdButtonBarFormat = MakeButtonBar(wikEdButtonBar['format']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFormat); wikEdButtonBarControl = MakeButtonBar(wikEdButtonBar['control']); wikEdButtonsWrapper.appendChild(wikEdButtonBarControl); if (wikEdButtonBar['custom1'][6].length > 0) { wikEdButtonBarCustom1 = MakeButtonBar(wikEdButtonBar['custom1']); wikEdButtonsWrapper.appendChild(wikEdButtonBarCustom1); } wikEdButtonBarFind = MakeButtonBar(wikEdButtonBar['find']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFind); wikEdButtonBarFix = MakeButtonBar(wikEdButtonBar['fix']); wikEdButtonsWrapper.appendChild(wikEdButtonBarFix); if (wikEdButtonBar['custom2'][6].length > 0) { wikEdButtonBarCustom2 = MakeButtonBar(wikEdButtonBar['custom2']); wikEdButtonsWrapper.appendChild(wikEdButtonBarCustom2); } var br = document.createElement('br'); br.style.clear = 'both'; wikEdButtonsWrapper.appendChild(br); wikEdCaseSensitive = document.getElementById('wikEdCaseSensitive'); wikEdRegExp = document.getElementById('wikEdRegExp'); wikEdFindAhead = document.getElementById('wikEdFindAhead'); wikEdFindText = document.getElementById('wikEdFindText'); wikEdReplaceText = document.getElementById('wikEdReplaceText'); // add preview box top bar to submit wrapper wikEdButtonBarPreview = MakeButtonBar(wikEdButtonBar['preview']); wikEdSubmitWrapper.insertBefore(wikEdButtonBarPreview, wikEdSubmitWrapper.firstChild); // add preview box and its bottom bar to preview wrapper var div = document.createElement('div'); div.id = 'wikEdPreviewBoxOuter'; div.className = 'wikEdPreviewBoxOuter'; wikEdLocalPrevWrapper.appendChild(div); wikEdPreviewBox = document.createElement('div'); wikEdPreviewBox.id = 'wikEdPreviewBox'; wikEdPreviewBox.className = 'wikEdPreviewBox'; div.appendChild(wikEdPreviewBox); wikEdButtonBarPreview2 = MakeButtonBar(wikEdButtonBar['preview2']); wikEdLocalPrevWrapper.appendChild(wikEdButtonBarPreview2); // add jump box to standard preview var wikiPreview = document.getElementById('wikiPreview'); if (wikiPreview != null) { if (wikiPreview.firstChild != null) { wikEdButtonBarJump = MakeButtonBar(wikEdButtonBar['jump']); wikiPreview.insertBefore(wikEdButtonBarJump, wikiPreview.firstChild); } } // add insert special chars to insert wrapper var wpSpecialchars = document.getElementById('editpage-specialchars'); if (wpSpecialchars != null) { wikEdInsertWrapper.appendChild(wpSpecialchars); } // wrappers filled // add local preview button next to submit button wikEdLocalPreview = document.createElement('button'); wikEdLocalPreview.id = 'wikEdLocalPreview'; wikEdLocalPreview.title = wikEdText['wikEdLocalPreview title']; wikEdLocalPreview.className = 'wikEdLocalPreview'; var localPreviewImg = document.createElement('img'); localPreviewImg.id = 'wikEdLocalPreviewImg'; localPreviewImg.src = wikEdImage['preview']; localPreviewImg.alt = wikEdText['wikEdLocalPreviewImg alt']; localPreviewImg.title = wikEdText['wikEdLocalPreviewImg title']; wikEdLocalPreview.appendChild(localPreviewImg); wikEdPreviewButton.parentNode.insertBefore(wikEdLocalPreview, wikEdPreviewButton.nextSibling); // add local diff button next to submit button wikEdLocalDiff = document.createElement('button'); wikEdLocalDiff.id = 'wikEdLocalDiff'; wikEdLocalDiff.title = wikEdText['wikEdLocalDiff title']; wikEdLocalDiff.className = 'wikEdLocalDiff'; var localDiffImg = document.createElement('img'); localDiffImg.id = 'wikEdLocalDiffImg'; localDiffImg.src = wikEdImage['diff']; localDiffImg.alt = wikEdText['wikEdLocalDiffImg alt']; localDiffImg.title = wikEdText['wikEdLocalDiffImg title']; wikEdLocalDiff.appendChild(localDiffImg); wikEdDiffPreviewButton.parentNode.insertBefore(wikEdLocalDiff, wikEdDiffPreviewButton.nextSibling); // initialize image buttons WikEdButton(document.getElementById('wikEdDiff'), 'wikEdDiff', null, wikEdDiff); WikEdButton(document.getElementById('wikEdRefHide'), 'wikEdRefHide', null, wikEdRefHide); WikEdButton(document.getElementById('wikEdHighlightSyntax'), 'wikEdHighlightSyntax', null, wikEdHighlightSyntax); WikEdButton(document.getElementById('wikEdUseWikEd'), 'wikEdUseWikEd', null, wikEdUseWikEd); WikEdButton(document.getElementById('wikEdCloseToolbar'), 'wikEdCloseToolbar', null, wikEdCloseToolbar); WikEdButton(document.getElementById('wikEdFullScreen'), 'wikEdFullScreen', null, wikEdFullScreenMode); WikEdButton(document.getElementById('wikEdUsing'), 'wikEdUsing', null, wikEdUsing); WikEdButton(document.getElementById('wikEdCaseSensitive'), 'wikEdCaseSensitive', null, false); WikEdButton(document.getElementById('wikEdRegExp'), 'wikEdRegExp', null, false); WikEdButton(document.getElementById('wikEdFindAhead'), 'wikEdFindAhead', null, wikEdFindAheadSelected); WikEdButton(document.getElementById('wikEdClose'), 'wikEdClose', null, false, 'wikEdButton'); WikEdButton(document.getElementById('wikEdClose2'), 'wikEdClose2', null, false, 'wikEdButton'); if (wikEdRegExTypoFix == false) { document.getElementById('wikEdFixRegExTypo').style.display = 'none'; } // add a clear summary button left to the summary input field var clearSummaryForm = document.createElement('form'); clearSummaryForm.id = 'wikEdClearSummaryForm'; clearSummaryForm.className = 'wikEdClearSummaryForm'; wikEdSummaryText.parentNode.insertBefore(clearSummaryForm, wikEdSummaryText); wikEdClearSummary = document.createElement('button'); wikEdClearSummary.id = 'wikEdClearSummary'; wikEdClearSummary.className = 'wikEdClearSummary'; wikEdClearSummary.alt = wikEdText['wikEdClearSummary alt']; wikEdClearSummary.title = wikEdText['wikEdClearSummary title']; wikEdClearSummary.style.height = (wikEdSummaryText.clientHeight + 1) +'px'; clearSummaryForm.appendChild(wikEdClearSummary); wikEdClearSummaryImg = document.createElement('img'); wikEdClearSummaryImg.id = 'wikEdClearSummaryImg'; wikEdClearSummaryImg.src = wikEdImage['clearSummary']; wikEdClearSummaryImg.alt = 'Clear summary'; wikEdClearSummary.appendChild(wikEdClearSummaryImg); // remember button width, might be without image wikEdClearSummaryWidth = wikEdClearSummary.offsetWidth; // make the summary a combo box var summaryComboInput = document.createElement('span'); summaryComboInput.id = 'wikEdSummaryComboInput'; summaryComboInput.className = 'wikEdSummaryComboInput'; summaryComboInput = wikEdSummaryText.parentNode.insertBefore(summaryComboInput, wikEdSummaryText); wikEdSummaryText = wikEdSummaryText.parentNode.removeChild(wikEdSummaryText); wikEdSummaryText.className = 'wikEdSummaryText'; var wikEdSummaryTextWidth = wikEdSummaryWrapper.offsetWidth - wikEdSummaryInputWrapper.offsetWidth; if (wikEdSummaryTextWidth < 150) { wikEdSummaryTextWidth = 150; } wikEdSummaryText.style.width = wikEdSummaryTextWidth + 'px'; wikEdSummarySelect = document.createElement('select'); wikEdSummarySelect.id = 'wikEdSummarySelect'; wikEdSummarySelect.className = 'wikEdSummarySelect'; wikEdSummarySelect.onchange = function() { WikEdChangeComboInput('summary'); } wikEdSummarySelect.onfocus = function() { WikEdSetComboOptions('summary'); } summaryComboInput.appendChild(wikEdSummaryText); summaryComboInput.appendChild(wikEdSummarySelect); // shorten submit button texts wikEdPreviewButton.value = wikEdText['shortenedPreview']; wikEdDiffPreviewButton.value = wikEdText['shortenedChanges']; // set up combo input boxes with history wikEdFieldHist ['find'] = []; wikEdCookieName['find'] = 'wikEdFindHistory'; wikEdInputElement['find'] = new Object(wikEdFindText); wikEdSelectElement['find'] = new Object(document.getElementById('wikEdFindSelect')); wikEdSelectElement['find'].style.height = (wikEdInputElement['find'].clientHeight + 1) +'px'; wikEdSelectElement['find'].title = wikEdText['wikEdFindSelect title']; wikEdFieldHist ['replace'] = []; wikEdCookieName['replace'] = 'wikEdReplaceHistory'; wikEdInputElement['replace'] = new Object(wikEdReplaceText); wikEdSelectElement['replace'] = new Object(document.getElementById('wikEdReplaceSelect')); wikEdSelectElement['replace'].style.height = (wikEdInputElement['replace'].clientHeight + 1) +'px'; wikEdSelectElement['replace'].title = wikEdText['wikEdReplaceSelect title']; wikEdFieldHist ['summary'] = []; wikEdCookieName['summary'] = 'wikEdSummaryHistory'; wikEdInputElement['summary'] = new Object(wikEdSummaryText); wikEdSelectElement['summary'] = new Object(document.getElementById('wikEdSummarySelect')); wikEdSelectElement['summary'].style.height = (wikEdInputElement['summary'].clientHeight + 1) +'px'; wikEdSelectElement['summary'].title = wikEdText['wikEdSummarySelect title']; // adjust the select field widths to that of the text input fields WikEdResizeComboInput('find'); WikEdResizeComboInput('replace'); WikEdResizeComboInput('summary'); // hide the button bars per cookie setting WikEdButtonBarInit(wikEdButtonBarFormat); WikEdButtonBarInit(wikEdButtonBarControl); if (wikEdButtonBarCustom1 != null) { WikEdButtonBarInit(wikEdButtonBarCustom1); } WikEdButtonBarInit(wikEdButtonBarFind); WikEdButtonBarInit(wikEdButtonBarFix); if (wikEdButtonBarCustom2 != null) { WikEdButtonBarInit(wikEdButtonBarCustom2); } // display only the textarea or the iframe, dont change the frame if (wikEdUseWikEd == true) { WikEdSetEditArea(true, true); } else { WikEdSetEditArea(false, true); } // add a link to the wikEd help page if ( (wikEdHelpPageLink != '') && (wikEdHelpPageLink != null) ) { var editHelpParent = previewButton; do { editHelpParent = editHelpParent.nextSibling; } while (editHelpParent.tagName != 'SPAN'); var editHelp = editHelpParent.lastChild; while (editHelp.tagName != 'A') { editHelp = editHelp.previousSibling; } wikEdHelpSpan = document.createElement('span'); wikEdHelpSpan.id = 'wikEdHelpSpan'; wikEdHelpSpan.className = 'wikEdHelpSpan'; wikEdHelpSpan.innerHTML = wikEdHelpPageLink; editHelpParent.insertBefore(wikEdHelpSpan, editHelp.nextSibling); wikEdEditHelp = wikEdHelpSpan.parentNode; wikEdEditHelp.id = 'wikEdEditHelp'; wikEdEditHelp.className = 'wikEdEditHelp'; } // add frame stylesheet definition wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; var frameStyle = new WikEdStyleSheet(wikEdFrameDocument); var rules = ''; for (var ruleName in wikEdFrameCSS) { var ruleStyle = wikEdFrameCSS[ruleName]; ruleStyle = ruleStyle.replace(/\{wikEdUnknown\}/g, wikEdImage['unknown']); ruleStyle = ruleStyle.replace(/\{wikEdTab\}/g, wikEdImage['tab']); ruleStyle = ruleStyle.replace(/\{wikEdCtrl\}/g, wikEdImage['ctrl']); ruleStyle = ruleStyle.replace(/\{wikEdBlank\}/g, wikEdImage['blank']); ruleStyle = ruleStyle.replace(/\{wikEdGrip\}/g, wikEdImage['grip']); rules += ruleName + ' {' + ruleStyle + '}\n'; } frameStyle.addRules(rules); // copy the textarea content to the iframe if (wikEdUseWikEd == true) { WikEdUpdateFrame(); } // set the summary shrinking event after loading the 'Clear summary' image handler wikEdClearSummaryImg.addEventListener('load', WikEdShrinkSummaryHandler, true); // set the summary resize event for window resizing window.addEventListener('resize', WikEdResizeSummaryHandler, true); // set frame events wikEdFrameDocument.addEventListener('keydown', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('keyup', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('keypress', WikEdKeyFrame, true); wikEdFrameDocument.addEventListener('mouseup', WikEdKeyFrame, true); // set find ahead events wikEdFindText.addEventListener('keyup', WikEdFindAhead, true); // set submit button events wikEdSaveButton.addEventListener('click', WikEdSaveButtonHandler, true); wikEdPreviewButton.addEventListener('click', WikEdPreviewButtonHandler, true); wikEdDiffPreviewButton.addEventListener('click', wikEdDiffPreviewButtonHandler, true); wikEdLocalPreview.addEventListener('click', WikEdLocalPreviewHandler, true); wikEdLocalDiff.addEventListener('click', WikEdLocalDiffHandler, true); // set button bar grip area events wikEdButtonBarFormat.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); wikEdButtonBarControl.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); if (wikEdButtonBarCustom1 != null) { if (wikEdButtonBarCustom1.firstChild.firstChild != null) { wikEdButtonBarCustom1.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); } } wikEdButtonBarFind.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); wikEdButtonBarFix.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); if (wikEdButtonBarCustom2 != null) { if (wikEdButtonBarCustom2.firstChild.firstChild != null) { wikEdButtonBarCustom2.firstChild.firstChild.addEventListener('click', WikEdButtonBarGripHandler, false); } } // set the clear summary onclick handler wikEdClearSummary.addEventListener('click', WikEdClearSummaryHandler, true); // select the text on focus for find and replace fields wikEdFindText.addEventListener('focus', WikEdFindReplaceHandler, true); wikEdReplaceText.addEventListener('focus', WikEdFindReplaceHandler, true); // tab / shift-tab between find and replace fields wikEdFindText.addEventListener('keydown', WikEdFindReplaceHandler, true); wikEdReplaceText.addEventListener('keydown', WikEdFindReplaceHandler, true); // scroll to edit window if it is not a preview page if (scrollToText != false) { if (window.location.search.match(/(\?|&)action=submit\b/) == null) { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper) - 2); } // focus the edit area if (wikEdUseWikEd == true) { wikEdFrameWindow.focus(); } else { wikEdTextarea.setSelectionRange(0, 0); wikEdTextarea.focus(); } } // init MediaWiki file paths for use in regexps if (typeof(wgServer) == 'string') { wikEdServer = wgServer.replace(/(\W)/g, '\\$1'); } if (typeof(wgArticlePath) == 'string') { wikEdArticlePath = wgArticlePath.replace(wgServer, ''); wikEdArticlePrefix = wgArticlePath.replace(/\$1$/, ''); } if (typeof(wgScriptPath) == 'string') { wikEdScriptPath = wgScriptPath.replace(wgServer, ''); } wikEdArticlePath = wikEdArticlePath.replace(/\$1$/, ''); wikEdScriptPath = wikEdScriptPath.replace(/\/?$/, '/'); wikEdArticlePath = wikEdArticlePath.replace(/(\W)/g, '\\$1'); wikEdScriptPath = wikEdScriptPath.replace(/(\W)/g, '\\$1'); // fullscreen mode if (wikEdFullScreenMode == true) { WikEdFullScreen(wikEdFullScreenMode, true); } // overwrite the insertTags function in wikibits.js used by the standard button toolbar and the editpage special chars if (typeof(insertTags) == 'function') { wikeEdInsertTagsOriginal = insertTags; insertTags = WikEdInsertTags; } // reset error indicator WikEdSetLogo(); wikEdLoaded = true; return; } // // WikEdAutoUpdate: check for the latest version // function WikEdAutoUpdate() { // check if autoupdate is enabled if (wikEdAutoUpdate != true) { return; } // check only on non-interaction pages if (/(\?|&)action=/.test(window.location.search) == true) { return; } // check cookie for last update check date var cookie = WikEdGetCookie('wikEdAutoUpdate'); var lastCheck = new Date(cookie); // fix missing or corrupt cookie if (isNaN(lastCheck.valueOf()) == true) { WikEdSetCookie('wikEdAutoUpdate', 'January 1, 1970', 0, '/'); return; } // get the hours since last update check var currentDate = new Date(); var diffHours = (currentDate - lastCheck) / 1000 / 60 / 60; if (diffHours < wikEdAutoUpdateHours) { return; } // save current update check date to cookie WikEdSetCookie('wikEdAutoUpdate', currentDate.toUTCString(), 0, '/'); // allow ajax request from local copy for testing if (wikEdAllowLocalAjax == true) { if (typeof(netscape) == 'object') { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); } } // make the ajax request var ajax = WikEdAjaxInitObject(); if (ajax == null) { return; } ajax.open('GET', wikEdAutoUpdateUrl, true); ajax.send(null); // ajax response handler function ajax.onreadystatechange = function() { if (ajax.readyState != 4) { return; } // get response var html = ajax.responseText; // get current version number from string var ver = wikEdProgramVersion.match(/(\d+)\.(\d+)\.(\d+)(\w?)/); if (ver == null) { return; } var currentVersion = ((Number(ver[1]) * 1000 + Number(ver[2])) * 1000 + Number(ver[3])) * 100 + (ver[4] + '0').charCodeAt(0); // get new version number from string var ver = html.match(/(\d+)\.(\d+)\.(\d+)(\w?)/); if (ver == null) { return; } var newVersion = ((Number(ver[1]) * 1000 + Number(ver[2])) * 1000 + Number(ver[3])) * 100 + (ver[4] + '0').charCodeAt(0); // compare the versions if (currentVersion >= newVersion) { return; } // update wikEd by reloading the page with cache bypassing (equivalent to Shift-Reload or Shift-F5) window.location.reload(true); } return; } // // WikEdShrinkSummaryHandler: shrink the summary after loading the 'Clear summary' image // function WikEdShrinkSummaryHandler(event) { var diffWidth = wikEdClearSummary.offsetWidth - wikEdClearSummaryWidth; wikEdInputElement['summary'].style.width = (wikEdInputElement['summary'].clientWidth - diffWidth) + 'px'; wikEdSelectElement['summary'].style.width = (wikEdSelectElement['summary'].clientWidth - diffWidth) + 'px'; wikEdClearSummaryWidth = wikEdClearSummary.offsetWidth; return; } // // WikEdResizeSummaryHandler: adjust the summary width after resizing the window // function WikEdResizeSummaryHandler(event) { WikEdResizeSummary(); return; } // // WikEdSaveButtonHandler: 'Save page' onclick handler // function WikEdSaveButtonHandler(event) { wikEdSaveButton.removeEventListener('click', WikEdSaveButtonHandler, true); // update textarea if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // add "using wikEd" to summary, not for adding a new section (+ tab) var text = wikEdSummaryText.value; text = text.replace(/^[, ]+/, ''); text = text.replace(/[, ]+$/, ''); WikEdAddToHistory('summary'); if ( (wikEdUsing == true) && (text != '') ) { if (text.lastIndexOf(wikEdSummaryUsing) < 0) { if (wikEdAddNewSection != true) { text += ' ' + wikEdSummaryUsing; } } } wikEdSummaryText.value = text; // submit wikEdSaveButton.click(); // reinstate handler in case the browser back button will be used wikEdSaveButton.addEventListener('click', WikEdSaveButtonHandler, true); return; } // // WikEdPreviewButtonHandler: 'Show preview' onclick handler // function WikEdPreviewButtonHandler(event) { if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } return; } // // wikEdDiffPreviewButtonHandler: 'Show changes' onclick handler // function wikEdDiffPreviewButtonHandler(event) { if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } return; } // // WikEdFollowLinkHandler: open highlighted link in new window/tab // function WikEdFollowLinkHandler(event) { if (event.ctrlKey == true) { if (event.currentTarget.onclick != null) { event.stopPropagation(); var onClickCode = event.currentTarget.onclick.toString(); var linkMatch = onClickCode.match(/\svar linkUrl *= *[\'\"](.*)[\'\"]/); if (linkMatch != null) { var linkUrl = linkMatch[1]; linkUrl = linkUrl.replace(/_/g, ' '); window.open(linkUrl); window.focus(); } } } return; } // // WikEdLocalPreviewHandler: local 'Show preview' image button onclick handler // function WikEdLocalPreviewHandler(event) { event.preventDefault(); WikEdButton(wikEdLocalPreview, 'wikEdLocalPreview'); return; } // // WikEdLocalDiffHandler: local 'Show changes' image button onclick handler // function WikEdLocalDiffHandler(event) { event.preventDefault(); WikEdButton(wikEdLocalDiff, 'wikEdLocalDiff'); return; } // // WikEdButtonBarGripHandler: click, mouseover handler, see also WikEdButtonBarInit() // function WikEdButtonBarGripHandler(event) { event.stopPropagation(); var grip = event.target; var gripWrapper = grip.parentNode; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; var barInnerWrapper = gripWrapper.parentNode; var bar = barInnerWrapper.parentNode; if (event.type == 'click') { buttonsWrapper.style.position = 'static'; // hide the buttons bar if (buttonsWrapper.minimized != true) { barInnerWrapper.className = 'wikedButtonBarInnerWrapperHidden'; gripWrapper.className = 'wikedButtonBarGripWrapperHidden'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperHidden'; buttonsWrapper.widthOriginal = buttonsWrapper.offsetWidth; buttonsWrapper.style.display = 'none'; buttonsWrapper.minimized = true; grip.addEventListener('mouseover', WikEdButtonBarGripHandler, false); WikEdSetCookie(bar.id + 'Hidden', '1', null, '/'); } // unhide the buttons bar else { barInnerWrapper.className = 'wikedButtonBarInnerWrapperVisible'; gripWrapper.className = 'wikedButtonBarGripWrapperVisible'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperVisible'; buttonsWrapper.style.display = 'block'; buttonsWrapper.minimized = false; grip.removeEventListener('mouseover', WikEdButtonBarGripHandler, false); WikEdSetCookie(bar.id + 'Hidden', '', -1, '/'); } } // show the buttons bar on mouseover else if (event.type == 'mouseover') { if (buttonsWrapper.minimized == true) { bar.addEventListener('mouseout', WikEdButtonBarHandler, false); // show buttons to the right if (bar.offsetParent.clientWidth > grip.offsetLeft + grip.offsetWidth + buttonsWrapper.widthOriginal) { buttonsWrapper.style.left = (grip.offsetLeft + grip.offsetWidth) + 'px'; } // show buttons to the left else { buttonsWrapper.style.left = (gripWrapper.offsetLeft - buttonsWrapper.widthOriginal) + 'px'; } // a mozilla bug sometimes gives offsetTop - 1 when the wikEdToolbarWrapper is hidden buttonsWrapper.style.top = gripWrapper.offsetTop + 'px'; buttonsWrapper.style.position = 'absolute'; buttonsWrapper.style.display = 'block'; } } return; } // // WikEdButtonBarGripHandler: mouseout handler // function WikEdButtonBarHandler(event) { event.stopPropagation(); var bar = event.currentTarget; var barInnerWrapper = bar.firstChild; var gripWrapper = barInnerWrapper.firstChild; var grip = gripWrapper.firstChild; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; // hide the buttons if (event.type == 'mouseout') { if (buttonsWrapper.minimized == true) { // filter the events for mouseouts actually leaving the bar if ( ( ( (event.target == grip) || (event.target == gripWrapper) ) && (event.relatedTarget != gripWrapper) && (event.relatedTarget != buttonsWrapper) && (event.relatedTarget != buttons) && (event.relatedTarget.parentNode != buttons) ) || ( ( (event.target.parentNode.parentNode == buttons) || (event.target.parentNode == buttons) || (event.target == buttons) || (event.target == buttonsWrapper) ) && (event.relatedTarget.parentNode.parentNode != buttons) && (event.relatedTarget.parentNode != buttons) && (event.relatedTarget != buttons) && (event.relatedTarget != buttonsWrapper) && (event.relatedTarget != gripWrapper) && (event.relatedTarget != grip) ) ) { bar.removeEventListener('mouseout', WikEdButtonBarHandler, false); buttonsWrapper.style.display = 'none'; buttonsWrapper.style.position = 'static'; } } } return; } // // clear the summary onclick handler // function WikEdClearSummaryHandler(event) { event.preventDefault(); // clear the summary if it is only a paragraph name if ( /^\/\* .*? \*\/ *$/.test(wikEdSummaryText.value) ) { wikEdSummaryText.value = ''; } // clear the summary but leave paragraph names else { wikEdSummaryText.value = wikEdSummaryText.value.replace(/^((\/\* .*? \*\/ *)?).*/, function (p, p1, p2) { if (p1.length > 0) { p1 = p1 + ' '; } return(p1); } ); } wikEdSummaryText.focus(); return; } // // WikEdFindReplaceHandler: find and replace: tab and shift-tab between fields, select on focus // function WikEdFindReplaceHandler(event) { // tab / shift-tab between fields if (event.type == 'keydown') { if (event.keyCode == 9) { if (event.target == wikEdFindText) { event.preventDefault(); wikEdReplaceText.removeEventListener('focus', WikEdFindReplaceHandler, true); wikEdReplaceText.focus(); wikEdReplaceText.addEventListener('focus', WikEdFindReplaceHandler, true); } else if (event.target == wikEdReplaceText) { event.preventDefault(); wikEdFindText.removeEventListener('focus', WikEdFindReplaceHandler, true); wikEdFindText.focus(); wikEdFindText.addEventListener('focus', WikEdFindReplaceHandler, true); } } } // select on focus else if (event.type == 'focus') { event.target.setSelectionRange(0, this.textLength); } return; } // // WikEdSetLogo: set the logo on top of the page // function WikEdSetLogo(state) { if (state == 'error') { wikEdLogo.src = wikEdImage['error']; wikEdLogo.alt = wikEdText['wikEdLogo error alt']; wikEdLogo.title = wikEdText['wikEdLogo error title']; } else if (state == 'browser') { wikEdLogo.src = wikEdImage['browser']; wikEdLogo.alt = wikEdText['wikEdLogo browser alt']; wikEdLogo.title = wikEdText['wikEdLogo browser title']; } else { if (wikEdDisabled == true) { wikEdLogo.src = wikEdImage['disabled']; wikEdLogo.alt = wikEdText['wikEdLogo disabled alt']; wikEdLogo.title = wikEdText['wikEdLogo disabled title']; } else { wikEdLogo.src = wikEdImage['logo']; wikEdLogo.alt = wikEdText['wikEdLogo alt']; wikEdLogo.title = wikEdText['wikEdLogo title']; } } wikEdLogo.title = wikEdLogo.title.replace(/\{wikEdProgramVersion\}/g, wikEdProgramVersion); wikEdLogo.title = wikEdLogo.title.replace(/\{wikEdProgramDate\}/g, wikEdProgramDate); return; } // // MakeButtonBar: generate button bar div element // function MakeButtonBar(bar) { // id outer, class outer, id inner, class inner, alt, button numbers var barId = bar[0]; var barClass = bar[1]; var buttonsId = bar[2]; var buttonsClass = bar[3]; var barHeight = bar[4]; var gripTitle = bar[5]; var buttonNumbers = bar[6]; // collect the buttons var buttons = ''; for (var property in buttonNumbers) { switch (buttonNumbers[property]) { case 'br': buttons += '<br />'; break; case 'find': buttons += '<span class="wikEdFindComboInput" id="wikEdFindComboInput">'; buttons += '<input class="wikEdCombo" id="wikEdFindText" type="text" value="">'; buttons += '<select class="wikEdCombo" id="wikEdFindSelect" onfocus="javascript:WikEdSetComboOptions(\'find\')" onChange="javascript:WikEdChangeComboInput(\'find\');">'; buttons += '</select>'; buttons += '</span>'; break; case 'replace': buttons += '<span class="wikEdReplaceComboInput" id="wikEdReplaceComboInput">'; buttons += '<input class="wikEdCombo" id="wikEdReplaceText" type="text" value="">'; buttons += '<select class="wikEdCombo" id="wikEdReplaceSelect" onfocus="WikEdSetComboOptions(\'replace\')" onChange="javascript:WikEdChangeComboInput(\'replace\');">'; buttons += '</select>'; buttons += '</span>'; break; default: var currButton = wikEdButton[buttonNumbers[property]]; if (typeof(currButton) != 'object') { alert('Loading error: The button "' + buttonNumbers[property] + '" is not defined.'); } if ( (currButton[0] == 'wikEdSource') && (wikEdShowSourceButton != true) ) { break; } if ( (currButton[0] == 'wikEdUsing') && (wikEdShowUsingButton != true) ) { break; } buttons += '<img id="' + currButton[0] + '" class="' + currButton[1] + '" title="' + currButton[2] + '" src="' + currButton[3] + '" width="' + currButton[4] + '" height="' + currButton[5] + '" alt="' + currButton[6] + '" onClick="' + currButton[7] + '">'; } } // create the button bar div var div = document.createElement('div'); div.id = barId; div.className = barClass; var buttonsStyle = ''; if (barHeight > 0) { buttonsStyle = ' style="height: ' + barHeight + 'px;"'; } // make a grip bar var html = ''; if (gripTitle != null) { var gripStyle = 'width: ' + wikEdButtonBarGripWidth + 'px; '; if (barHeight > 0) { gripStyle += 'height: ' + barHeight + 'px; '; } if (gripStyle.length > 0){ gripStyle = ' style="' + gripStyle + '"'; } html += '<div class="wikedButtonBarInnerWrapperVisible" style="height: ' + barHeight + 'px;">'; html += '<div class="wikedButtonBarGripWrapperVisible">'; html += '<div class="wikedButtonBarGrip"' + gripStyle + ' title="' + gripTitle + '">'; html += '&nbsp;'; html += '</div>'; html += '</div>'; html += '<div class="wikedButtonBarButtonsWrapperVisible"' + buttonsStyle + '>'; html += '<div id="' + buttonsId + '" class="' + buttonsClass + '" style="">'; html += buttons; html += '</div>'; html += '</div>'; html += '</div>'; } // make a standard no-grip bar else { html += '<div id="' + buttonsId + '" class="' + buttonsClass + '"' + buttonsStyle + '">'; html += buttons; html += '</div>'; } div.innerHTML = html; return(div); } // // WikEdButtonBarInit: hide buttons bar, see also WikEdButtonBarGripHandler() // function WikEdButtonBarInit(bar) { var cookie = WikEdGetCookie(bar.id + 'Hidden'); if (cookie != '') { var barInnerWrapper = bar.firstChild; var gripWrapper = barInnerWrapper.firstChild; var grip = gripWrapper.firstChild; var buttonsWrapper = gripWrapper.nextSibling; var buttons = buttonsWrapper.firstChild; barInnerWrapper.className = 'wikedButtonBarInnerWrapperHidden'; gripWrapper.className = 'wikedButtonBarGripWrapperHidden'; buttonsWrapper.className = 'wikedButtonBarButtonsWrapperHidden'; buttonsWrapper.widthOriginal = buttonsWrapper.offsetWidth; buttonsWrapper.style.display = 'none'; buttonsWrapper.minimized = true; grip.addEventListener('mouseover', WikEdButtonBarGripHandler, true); } return; } // // WikEdSetEditArea: apply css changes to switch between classic textarea and rich text frame // function WikEdSetEditArea(useFrame, notFrame) { // turn rich text frame on if (useFrame == true) { wikEdTextareaWrapper.style.position = 'absolute'; wikEdTextareaWrapper.style.visibility = 'hidden'; wikEdTextarea.style.display = 'none'; if (notFrame != true) { wikEdFrameWrapper.style.position = 'static'; wikEdFrameWrapper.style.visibility = 'visible'; wikEdFrameBody.style.display = 'block'; } if (document.getElementById('toolbar') != null) { if (wikEdCloseToolbar == true) { wikEdToolbarWrapper.style.display = 'none'; } else { wikEdToolbarWrapper.style.display = 'block'; } } wikEdButtonBarFormat.style.display = 'block'; if (wikEdButtonBarCustom1 != null) { wikEdButtonBarCustom1.style.display = 'block'; } wikEdButtonBarFind.style.display = 'block'; wikEdButtonBarFix.style.display = 'block'; if (wikEdButtonBarCustom2 != null) { wikEdButtonBarCustom2.style.display = 'block'; } wikEdButtonBarControl.style.display = 'block'; } // turn classic textarea on else { if (notFrame != true) { wikEdFrameWrapper.style.position = 'absolute'; wikEdFrameWrapper.style.visibility = 'hidden'; // Mozilla or wikEd bug: <br> insertion before text a while after setting display to 'none', test with setTimeout('alert(wikEdFrameBody.innerHTML)', 1000); // wikEdFrameBody.style.display = 'none'; } wikEdTextareaWrapper.style.position = 'static'; wikEdTextareaWrapper.style.visibility = 'visible'; wikEdTextarea.style.display = 'block'; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'block'; } wikEdButtonBarFormat.style.display = 'none'; if (wikEdButtonBarCustom1 != null) { wikEdButtonBarCustom1.style.display = 'none'; } wikEdButtonBarFind.style.display = 'none'; wikEdButtonBarFix.style.display = 'none'; if (wikEdButtonBarCustom2 != null) { wikEdButtonBarCustom2.style.display = 'none'; } wikEdButtonBarControl.style.display = 'block'; } return; } // // WikEdButton: toggle or set button checked state // used for buttons that do not require nor change the text. Faster than WikEdEditButton() // function WikEdButton(buttonObj, whichButton, toggleButton, setButton, classButton, doButton) { if (buttonObj != null) { // check if the button is disabled if (buttonObj.className == 'wikEdButtonInactive') { return; } // set button to pressed, set cursor to hourglass buttonObj.style.cursor = 'wait'; // init the button if (setButton != null) { if (setButton == false) { buttonObj.checked = false; if (classButton == null) { buttonObj.className = 'wikEdButtonUnchecked'; } } else { buttonObj.checked = true; if (classButton == null) { buttonObj.className = 'wikEdButtonChecked'; } } } else if (classButton != null) { buttonObj.className = classButton; } // toggle the button if (toggleButton != null) { if (toggleButton == true) { if (buttonObj.checked == true) { buttonObj.checked = false; buttonObj.className = 'wikEdButtonUnchecked'; } else { buttonObj.checked = true; buttonObj.className = 'wikEdButtonChecked'; } } } } // perform specific actions if ( ( (setButton == null) && (classButton == null) ) || (doButton == true) ) { // remove active content WikEdRemoveElements(['script', 'object', 'applet', 'embed']); switch (whichButton) { // switch between syntax highlighting and plain text case 'wikEdHighlightSyntax': var obj = {}; obj.html = wikEdFrameBody.innerHTML; obj.html = obj.html.replace(/(<br\b[^>]*>)\n* */g, '$1'); if (buttonObj.checked == true) { WikEdRemoveHighlighting(obj); wikEdHighlightSyntax = true; obj.html = obj.html.replace(/<br\b[^>]*>/g, '\n'); WikEdHighlightSyntax(obj); obj.html = obj.html.replace(/\n/g, '<br />'); WikEdSetCookie('wikEdSyntaxOff', '', -1, '/'); } else { wikEdHighlightSyntax = false; WikEdRemoveHighlighting(obj); obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); WikEdSetCookie('wikEdSyntaxOff', '1', 0, '/'); } wikEdFrameBody.innerHTML = obj.html; break; // align textbox with display top case 'wikEdScrollToPreview': case 'wikEdScrollToPreview2': case 'wikEdScrollToPreview3': window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); break; // align edit buttons with display top case 'wikEdScrollToEdit': case 'wikEdScrollToEdit2': case 'wikEdScrollToEdit3': case 'wikEdScrollToEdit4': window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); break; // cycle through different font sizes case 'wikEdTextZoomDown': wikEdTextZoom = wikEdTextZoom / 1.2; if (wikEdTextZoom < 100 / 1.2 / 1.2) { wikEdTextZoom = 100 * 1.2 * 1.2; } wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; break; // cycle through different font sizes case 'wikEdTextZoomUp': wikEdTextZoom = wikEdTextZoom * 1.2; if (wikEdTextZoom > 100 * 1.2 * 1.2) { wikEdTextZoom = 100 / 1.2 / 1.2; } wikEdFrameBody.style.fontSize = parseInt(wikEdTextZoom) + '%;'; break; // display local preview box case 'wikEdLocalPreview': if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // scroll to edit or preview field if (whichButton == 'wikEdLocalPreview') { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } else { window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); } // prepare a local preview (Pilaf's InstaView) if ( (wikEdUseLocalPreview == true) && (typeof(InstaView) == 'object') ) { InstaView.conf.user.name = wgUserName; wikEdPreviewBox.innerHTML = InstaView.convert(wikEdTextarea.value); wikEdLocalPrevWrapper.style.display = 'block'; } // prepare ajax preview if ( (wikEdUseAjaxPreview == true) && (typeof(sajax_init_object) == 'function') ) { wikEdLocalPrevWrapper.style.display = 'block'; // prepare the data var boundary = '--(fR*3briuStOum6#v)--'; var postData = document.getElementById('wpTextbox1').value; postData = '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + postData + '\n--' + boundary; // allow ajax request from local copy for testing if (wikEdAllowLocalAjax == true) { if (typeof(netscape) == 'object') { if (typeof(netscape) == 'object') { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); } } } // make the ajax request var ajax = WikEdAjaxInitObject(); if (ajax == null) { break; } ajax.open('POST', document.editform.action + '&live', true); ajax.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary); if (ajax.overrideMimeType != null) { ajax.overrideMimeType('text/html'); } ajax.send(postData); // ajax response handler function ajax.onreadystatechange = function() { if (ajax.readyState != 4) { return; } // get response var html = ajax.responseText; // html-ize html = html.replace(/&lt;/g, '<'); html = html.replace(/&gt;/g, '>'); html = html.replace(/&amp;/g, '&'); html = html.replace(/&quot;/g, '"') html = html.replace(/&apos;/g, '\''); html = html.replace(/(<preview>)<h2>.*?<\/h2>(.|\n)*?<div class=\'previewnote\'>(.|\n)*?<\/div>/, '$1'); // update the preview wikEdPreviewBox.innerHTML = html; }; } break; // display local diff box case 'wikEdDiffPreview': case 'wikEdDiffPreview2': case 'wikEdLocalDiff': if (typeof(WDiffString) != 'function') { break; } if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } if (wikEdUseWikEd == true) { WikEdUpdateTextarea(); } // scroll to edit or preview field if (whichButton == 'wikEdLocalDiff') { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } else { window.scroll(0, WikEdGetOffsetTop(wikEdSubmitWrapper)); } // call external diff program var diffText = WDiffString(wikEdOrigVersion, wikEdTextarea.value); if (wikEdFullDiff != true) { diffText = WDiffShortenOutput(diffText); } wikEdPreviewBox.innerHTML = diffText; wikEdLocalPrevWrapper.style.display = 'block'; break; // toggle wikEdDiff case 'wikEdDiff': // turn wikEdDiff off if (buttonObj.checked != true) { wikEdDiff = false; WikEdSetCookie('wikEdDiff', '', -1, '/'); if (typeof(wikEdDiffDiv) == 'object') { wikEdDiffDiv.style.display = 'none'; } window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); } // turn wikEdDiff on else { wikEdDiff = true; WikEdSetCookie('wikEdDiff', '1', 0, '/'); if (typeof(wikEdDiffDiv) == 'object') { wikEdDiffDiv.style.display = 'block'; window.scroll(0, WikEdGetOffsetTop(wikEdDiffDiv)); WikEdDiff(); } } break; // close the preview / diff box case 'wikEdClose': case 'wikEdClose2': window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper)); wikEdLocalPrevWrapper.style.display = 'none'; break; // switch between textarea and frame display // switching an iframe in design mode immediately after initialization between absolute/static may crash mozilla case 'wikEdUseWikEd': // enble wikEd if (buttonObj.checked == true) { WikEdUpdateFrame(); // turn rich text frame on WikEdSetEditArea(true); wikEdUseWikEd = true; WikEdSetCookie('wikEdUseClassic', '', -1, '/'); } // turn classic textarea on, disable wikEd else { WikEdUpdateTextarea(); WikEdSetEditArea(false); wikEdUseWikEd = false; WikEdSetCookie('wikEdUseClassic', '1', 0, '/'); } break; // add "using wikEd" to summaries case 'wikEdUsing': if (buttonObj.checked == true) { wikEdUsing = true; WikEdSetCookie('wikEdSummaryUsing', '1', 0, '/'); } else { wikEdUsing = false; WikEdSetCookie('wikEdSummaryUsing', '', -1, '/'); } break; // hide ref tags case 'wikEdRefHide': if (buttonObj.checked == true) { wikEdRefHide = true; WikEdSetCookie('wikEdRefHide', '1', 0, '/'); } else { wikEdRefHide = false; WikEdSetCookie('wikEdRefHide', '', -1, '/'); } if (wikEdUseWikEd == true) { WikEdEditButton(null, 'wikEdWikify', 'whole'); } break; // close the toolbar case 'wikEdCloseToolbar': if (buttonObj.checked == true) { wikEdCloseToolbar = true; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'none'; } WikEdSetCookie('wikEdCloseToolbar', '1', 0, '/'); } else { wikEdCloseToolbar = false; if (document.getElementById('toolbar') != null) { wikEdToolbarWrapper.style.display = 'block'; } WikEdSetCookie('wikEdCloseToolbar', '', -1, '/'); } if (wikEdFullScreenMode == true) { WikEdFullScreen(wikEdFullScreenMode); } break; // just toggle the case sensitive search button case 'wikEdCaseSensitive': break; // just toggle the regexp search button case 'wikEdRegExp': break; // just toggle the find-ahead-as-you-type search button case 'wikEdFindAhead': break; // switch to fullscreen edit area case 'wikEdFullScreen': if (buttonObj.checked == true) { WikEdFullScreen(true); WikEdSetCookie('wikEdFullscreen', '1', 0, '/'); } else { WikEdFullScreen(false); WikEdSetCookie('wikEdFullscreen', '', -1, '/'); } break; // clear the cookies for find, replace, and summary history case 'wikEdClearHistory': WikEdClearHistory('find'); WikEdClearHistory('replace'); WikEdClearHistory('summary'); break; // for testing case 'wikEdPlaceholder': break; } } // reset the frame DOM cache because the frame content might have changed wikEdFrameDOMCache = null; // reset cursor to normal if (buttonObj != null) { buttonObj.style.cursor = 'pointer'; } return; } // // WikEdEditButton: editing functions // used for buttons that require or change the text, more time consuming than WikEdButton() // function WikEdEditButton(buttonObj, whichButton, parameters, CustomHandler) { // check if button is disabled if (buttonObj != null) { if (buttonObj.className == 'wikEdButtonInactive') { return; } } // remove active and non-text content WikEdRemoveElements(['script', 'object', 'applet', 'embed', 'textarea']); // select the appropriate text change targets (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) var obj = {}; obj.changed = {}; switch (whichButton) { // undo, redo: whole case 'wikEdUndo': case 'wikEdRedo': case 'wikEdUndoAll': case 'wikEdRedoAll': WikEdGetText(obj, 'whole'); obj.changed = obj.whole; break; // basic wiki character formatting: selection / focusWord / cursor case 'wikEdBold': case 'wikEdItalic': case 'wikEdUnderline': case 'wikEdStrikethrough': case 'wikEdNowiki': case 'wikEdSuperscript': case 'wikEdSubscript': case 'wikEdWikiLink': case 'wikEdWebLink': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // reference: selection / cursor case 'wikEdRef': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } break; // references and small references: selection / cursor case 'wikEdReferences': case 'wikEdReferencesSection': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } break; // character formatting: selection / focusWord / cursor case 'wikEdCase': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // multiple line changes: selectionLine / focusLine / cursor case 'wikEdDecreaseHeading': case 'wikEdIncreaseHeading': case 'wikEdIncreaseBulletList': case 'wikEdDecreaseBulletList': case 'wikEdIncreaseNumberList': case 'wikEdDecreaseNumberList': case 'wikEdIncreaseIndentList': case 'wikEdDecreaseIndentList': case 'wikEdDefinitionList': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionLine'); obj.changed = obj.selectionLine; } else { WikEdGetText(obj, 'focusLine'); if (obj.focusLine.plain != '') { obj.changed = obj.focusLine; } else { obj.changed = obj.cursor; } } break; // image: selectionWord (if text is selected) / cursor case 'wikEdImage': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionWord'); obj.changed = obj.selectionWord; } else { obj.changed = obj.cursor; } break; // table: selectionLine / cursor case 'wikEdTable': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { WikEdGetText(obj, 'selectionLine'); obj.changed = obj.selectionLine; } else { WikEdGetText(obj, 'focusLine'); obj.changed = obj.cursor; } break; // wikify: selection / whole case 'wikEdWikify': if (parameters == 'whole') { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } else { WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } } break; // textify: selection / whole, without wikifying case 'wikEdTextify': WikEdGetText(obj, 'selection', true); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole', true); obj.changed = obj.whole; } break; // redirect: whole case 'wikEdRedirect': WikEdGetText(obj, 'whole, selection, cursor'); if (obj.selection.plain == '') { WikEdGetText(obj, 'selectionWord'); } obj.changed = obj.whole; break; // find and replace: selection / focusWord / cursor case 'wikEdFindPrev': case 'wikEdFindNext': case 'wikEdJumpPrev': case 'wikEdJumpNext': case 'wikEdReplacePrev': case 'wikEdReplaceNext': case 'wikEdFindAll': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // replace all: selection / whole case 'wikEdReplaceAll': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } break; // fixing buttons: selection / whole case 'wikEdFixBasic': case 'wikEdfixUnicode': case 'wikEdFixAll': case 'wikEdFixHtml': case 'wikEdFixRegExTypo': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole } break; // fixing buttons: selection / focusLine / cursor case 'wikEdFixPunct': case 'wikEdFixMath': case 'wikEdFixUnits': case 'wikEdFixDashes': case 'wikEdFixCaps': case 'wikEdFixChem': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusLine'); if (obj.focusLine.plain != '') { obj.changed = obj.focusLine; } else { obj.changed = obj.cursor; } } break; // fixing buttons: selection / focusWord / cursor WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.cursor; } } break; // source: selection / whole case 'wikEdSource': WikEdGetText(obj, 'selection'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'whole'); obj.changed = obj.whole; } break; // insert tags: selection / focusWord / cursor case 'wikEdInsertTags': WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { WikEdGetText(obj, 'focusWord'); if (obj.focusWord.plain != '') { obj.changed = obj.focusWord; } else { obj.changed = obj.selection; } } break; // custom edit functions have to call WikEdGetText() themselves default: WikEdGetText(obj, 'cursor'); obj.changed = obj.cursor; break; } // exit if (obj.changed == null) { wikEdFrameWindow.focus(); // reset button to active, reset cursor if (buttonObj != null) { if (buttonObj.className != 'wikEdButtonInactive') { buttonObj.className = 'wikEdButton'; } } return; } // set local syntax highlighting flag var highlightSyntax = wikEdHighlightSyntax; // manipulate the text var selectChange = true; switch (whichButton) { // undo case 'wikEdUndo': if (wikEdLastVersion == null) { wikEdLastVersion = obj.changed.plain; } WikEdFrameExecCommand('undo'); obj.changed.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); obj.changed.plain = null; obj.changed.keepSel = true; break; // redo case 'wikEdRedo': WikEdFrameExecCommand('redo'); obj.changed.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); obj.changed.plain = null; obj.changed.keepSel = true; break; // bold case 'wikEdBold': if ( /\'\'\'([^\'].*?)\'\'\'/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\'\'\'([^\'].*?)\'\'\'/g, '$1'); } else { obj.changed.plain = '\'\'\'' + obj.changed.plain + '\'\'\''; obj.changed.plain = obj.changed.plain.replace(/(\'\'\')( *)(.*?)( *)(\'\'\')/, '$2$1$3$5$4'); } obj.changed.plain = obj.changed.plain.replace(/\'{6,}/g, '\'\'\'\'\''); obj.changed.keepSel = true; break; // italic case 'wikEdItalic': if ( /(\'{3,})\'\'([^\'].*?)\'\'(\'{3,})/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/(\'{3,})\'\'([^\'].*?)\'\'(\'{3,})/g, '$1$2$3'); } else if ( /(^|[^\'])\'\'([^\'].*?)\'\'([^\']|$)/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/(^|[^\'])\'\'([^\'].*?)\'\'([^\']|$)/g, '$1$2$3'); } else { obj.changed.plain = '\'\'' + obj.changed.plain + '\'\''; obj.changed.plain = obj.changed.plain.replace(/(\'\')( *)(.*?)( *)(\'\')/, '$2$1$3$5$4'); } obj.changed.plain = obj.changed.plain.replace(/\'{6,}/g, '\'\'\'\'\''); obj.changed.keepSel = true; break; // underline case 'wikEdUnderline': if ( /&lt;u&gt;(.*?)&lt;\/u&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;u&gt;(.*?)&lt;\/u&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;u&gt;' + obj.changed.plain + '&lt;\/u&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;u&gt;)( *)(.*?)( *)(&lt;\/u&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // strikethrough case 'wikEdStrikethrough': if ( /&lt;s&gt;(.*?)&lt;\/s&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;s&gt;(.*?)&lt;\/s&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;s&gt;' + obj.changed.plain + '&lt;\/s&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;s&gt;)( *)(.*?)( *)(&lt;\/s&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // nowiki case 'wikEdNowiki': if ( /&lt;nowiki&gt;(.*?)&lt;\/nowiki&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;nowiki&gt;(.*?)&lt;\/nowiki&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;nowiki&gt;' + obj.changed.plain + '&lt;\/nowiki&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;nowiki&gt;)( *)(.*?)( *)(&lt;\/nowiki&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // superscript case 'wikEdSuperscript': if ( /&lt;sup&gt;(.*?)&lt;\/sup&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;sup&gt;(.*?)&lt;\/sup&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;sup&gt;' + obj.changed.plain + '&lt;/sup&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;sup&gt;)( *)(.*?)( *)(&lt;\/sup&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // subscript case 'wikEdSubscript': if ( /&lt;sub&gt;(.*?)&lt;\/sub&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;sub&gt;(.*?)&lt;\/sub&gt;/gi, '$1'); } else { obj.changed.plain = '&lt;sub&gt;' + obj.changed.plain + '&lt;/sub&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;sub&gt;)( *)(.*?)( *)(&lt;\/sub&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // in-text reference case 'wikEdRef': if (obj.changed.plain == '') { obj.changed.plain = '&lt;ref name=\"\"/&gt;'; } else if ( /&lt;ref name=\"\" ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = ''; } else if ( /&lt;ref( name=\"\")?&gt;(.*?)&lt;\/ref&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;ref( name=\"\")?&gt;(.*?)&lt;\/ref&gt;/gi, '$2'); } else { obj.changed.plain = '&lt;ref name=\"\"&gt;' + obj.changed.plain + '&lt;/ref&gt;'; obj.changed.plain = obj.changed.plain.replace(/(&lt;ref name=\"\"&gt;)( *)(.*?)( *)(&lt;\/ref&gt;)/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // references location case 'wikEdReferences': case 'wikEdReferencesSection': var ref = wikEdText['wikEdReferencesSection']; ref = ref.replace(/</g, '&lt;'); ref = ref.replace(/>/g, '&gt;'); var refEscaped = ref; refEscaped = refEscaped.replace(/([^\w\s\;\&])/g, '\\$1'); refEscaped = refEscaped.replace(/^\n|\n$/g, '\\n*'); refEscaped = refEscaped.replace(/(\n)/g, '\\n'); var regExp = new RegExp(refEscaped, 'gi'); // plain references tag if (whichButton == 'wikEdReferences') { if (obj.changed.plain == '') { obj.changed.plain = '&lt;references/&gt;'; } else if (regExp.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExp, ''); } else if ( /&lt;references ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;references ?\/&gt;/gi, ''); } else { obj.changed = obj.cursor; obj.changed.plain = '&lt;references/&gt;'; } } // complete references code else { if (obj.changed.plain == '') { obj.changed.plain = ref; } else if (regExp.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExp, ''); } else if ( /&lt;references ?\/&gt;/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/&lt;references ?\/&gt;/gi, ''); } else { obj.changed = obj.cursor; obj.changed.plain = ref; } } obj.changed.keepSel = true; break; // toggle lowercase / uppercase case 'wikEdCase': // lowercase all uppercased text if (obj.changed.plain == '') { obj.changed.plain = null; } else { if (obj.changed.plain.toUpperCase() == obj.changed.plain) { obj.changed.plain = obj.changed.plain.toLowerCase(); } // first-letter-uppercase all lowercased text else if (obj.changed.plain.toLowerCase() == obj.changed.plain) { obj.changed.plain = obj.changed.plain.replace(/\b([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*)/g, function (p, p1, p2) { return(p1.toUpperCase() + p2.toLowerCase()); } ); } // uppercase mixed upper and lowercased text else { obj.changed.plain = obj.changed.plain.toUpperCase(); } } obj.changed.keepSel = true; break; // undo all case 'wikEdUndoAll': if (wikEdLastVersion == null) { wikEdLastVersion = obj.changed.plain; } obj.changed.plain = wikEdOrigVersion; obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); break; // redo all case 'wikEdRedoAll': if (wikEdLastVersion != null) { obj.changed.plain = wikEdLastVersion; } break; // create wikilink case 'wikEdWikiLink': if ( /\[\[(.*?)\]\]/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\[\[(.*?)\]\]/g, '$1'); } else { obj.changed.plain = '\[\[' + obj.changed.plain + '\]\]'; obj.changed.plain = obj.changed.plain.replace(/(\[\[)( *)(.*?)( *)(\]\])/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // create weblink case 'wikEdWebLink': if ( /\[(.*?)\]/.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/\[(.*?)\]/g, '$1'); } else { obj.changed.plain = '\[' + obj.changed.plain + '\]'; obj.changed.plain = obj.changed.plain.replace(/(\[)( *)(.*?)( *)(\])/, '$2$1$3$5$4'); } obj.changed.keepSel = true; break; // decrease heading level case 'wikEdDecreaseHeading': // decrease heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)=(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); // remove heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)=(?!=) *([^\n]*?) *=+(?=\n|$)/g, '$1$2'); // adjust closing tags obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); obj.changed.keepSel = true; break; // increase heading level case 'wikEdIncreaseHeading': // increase heading obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1=$2 $3 $2='); // create new heading if (/\n/.test(obj.changed.plain) == false) { obj.changed.plain = obj.changed.plain.replace(/(^|\n)([^=\n\s][^\n]*?)(?=\n|$)/g, '$1== $2 =='); } // adjust closing tags obj.changed.plain = obj.changed.plain.replace(/(^|\n)(=+) *([^\n]*?) *=+(?=\n|$)/g, '$1$2 $3 $2'); obj.changed.keepSel = true; break; // increase bullet list case 'wikEdIncreaseBulletList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, '*$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease bullet list case 'wikEdDecreaseBulletList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\* */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // increase numbered list case 'wikEdIncreaseNumberList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, '#$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease numbered list case 'wikEdDecreaseNumberList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\# */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // increase indented list case 'wikEdIncreaseIndentList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([\*\#\:\;]*) */g, ':$1 '); return(p1); } ); obj.changed.keepSel = true; break; // decrease indented list case 'wikEdDecreaseIndentList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^\# */g, ''); return(p1); } ); obj.changed.keepSel = true; break; // create definition list case 'wikEdDefinitionList': obj.changed.plain = obj.changed.plain.replace(/([^\n]+)/g, function (p, p1) { p1 = p1.replace(/^ *([^\s\;]+) */g, '; $1 : '); return(p1); } ); break; // create image case 'wikEdImage': if (obj.changed.plain != '') { obj.changed.plain = '[[Image:<span class="wikEdInsertHere">' + wikEdText['image filename'] + '</span>|thumb|<span class="wikEdInsertHere">' + wikEdText['image width'] + '</span>px|' + obj.changed.plain + ']]'; } else { obj.changed.plain = '[[Image:<span class="wikEdInsertHere">' + wikEdText['image filename'] + '</span>|thumb|<span class="wikEdInsertHere">' + wikEdText['image width'] + '</span>px|<span class="wikEdInsertHere"> </span>]]'; if (obj.focusWord != null) { if (obj.focusWord.plain != '') { obj.changed.plain = ' ' + obj.changed.plain + ' '; } } } break; // create table case 'wikEdTable': if (obj.changed.plain != '') { obj.changed.plain = obj.changed.plain.replace(/(^|\n) */g, '\n|-\n| '); obj.changed.plain = obj.changed.plain.replace(/^\n\|\-\n/, '\n{| class="wikitable"\n'); obj.changed.plain = obj.changed.plain.replace(/$/g, '\n|}\n'); } else { obj.changed.plain = '\n{| class="wikitable"\n|+ <span class="wikEdInsertHere">' + wikEdText['table caption'] + '</span>\n! <span class="wikEdinserthere">' + wikEdText['table heading'] + '</span> !! <span class="wikEdInsertHere">' + wikEdText['table heading'] + '</span>\n|-\n| <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span> || <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span>\n|-\n| <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span> || <span class="wikEdInsertHere">' + wikEdText['table cell'] + '</span>\n|}\n'; if (obj.focusLine.plain != '') { obj.changed.plain = '\n' + obj.changed.plain + '\n'; } } break; // wikify: always done above case 'wikEdWikify': break; // textify: strip html from pasted content case 'wikEdTextify': WikEdTextify(obj.changed); break; // get inner html without wikifying if (obj.selection.plain != '') { obj.selection.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var documentFragment = obj.selection.range.cloneContents(); WikEdGetInnerHTML(objTextify, documentFragment); } else { obj.changed.from = 'whole'; obj.changed.range.setStartBefore(wikEdFrameBody.firstChild); obj.changed.range.setEndAfter(wikEdFrameBody.lastChild); WikEdGetInnerHTML(objTextify, wikEdFrameBody); } break; // redirect case 'wikEdRedirect': var linkTarget; if (obj.selection.plain != '') { linkTarget = obj.selection.plain; } else if (obj.selectionWord.plain != '') { linkTarget = obj.selectionWord.plain; } else { linkTarget = '<span class="wikEdInsertHere">' + wikEdText['redirect article link'] + '</span>'; } // remove leading and trailing spaces linkTarget = linkTarget.replace(/^\s+|\s+$/g, ''); // remove link text linkTarget = linkTarget.replace(/\|.*?(\]|$)/g, '$1'); // remove square brackets linkTarget = linkTarget.replace(/\[|\]/g, ''); // remove link leftovers linkTarget = linkTarget.replace(/ +\| +/g, ' '); obj.changed.plain = '#redirect [[' + linkTarget + ']]'; // append to summary if ( (obj.selection.plain != '') || (obj.selectionWord.plain != '') ) { wikEdInputElement['summary'].value = wikEdInputElement['summary'].value.replace(/#redirect( \[\[[^\]]*\]\])?(, *)?/g, ''); wikEdInputElement['summary'].value = WikEdAppendToSummary(wikEdInputElement['summary'].value, '#redirect [[' + linkTarget + ']]'); } else { wikEdInputElement['summary'].value = WikEdAppendToSummary(wikEdInputElement['summary'].value, '#redirect'); } selectChange = false; break; // find and replace case 'wikEdFindPrev': case 'wikEdFindNext': case 'wikEdJumpPrev': case 'wikEdJumpNext': case 'wikEdReplacePrev': case 'wikEdReplaceNext': case 'wikEdFindAll': case 'wikEdReplaceAll': // get the find text var findText; // unescape <, >, and & obj.changed.plain = obj.changed.plain.replace(/&lt;/g, '<'); obj.changed.plain = obj.changed.plain.replace(/&gt;/g, '>'); obj.changed.plain = obj.changed.plain.replace(/&amp;/g, '&'); // copy selection/word under cursor to find field if ( (parameters == 'shift') && ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdReplaceNext') ) ) { if (/\n/.test(obj.changed.plain) == false) { if (whichButton == 'wikEdFindNext') { wikEdInputElement['find'].value = obj.changed.plain; } else { wikEdInputElement['replace'].value = obj.changed.plain; } obj.changed.keepSel = true; obj.changed.plain = null; break; } } // get the find text from the find field if ( (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdJumpNext') ) { findText = obj.changed.plain; if (obj.selection.plain == '') { obj.changed.keepSel = true; obj.changed.plain = null; break; } } // get the find text from the find field else { if (wikEdInputElement['find'].value != '') { findText = wikEdInputElement['find'].value; } else { obj.changed.plain = null; break; } } // handle newlines and special blanks for built-in search if (wikEdRegExp.checked == false) { findText = findText.replace(/\n/g, ''); findText = findText.replace(/\s/g, ' '); } // get the replace text var replaceText = wikEdInputElement['replace'].value; var regExpFind; // set regexp flags var regExpFlags = 'g'; if (wikEdCaseSensitive.checked == false) { regExpFlags += 'i'; } // format the find and replace texts for a plain text search if ( (wikEdRegExp.checked == false) || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdJumpNext') ) { regExpFind = new RegExp(findText.replace(/([\\^\$\*\+\?\.\(\)\[\]\{\}\:\=\!\|\,\-])/g, '\\$1'), regExpFlags); } // format the find and replace texts for a regular expression search else { regExpFind = new RegExp(findText, regExpFlags); replaceText = replaceText.replace(/((^|[^\\])(\\\\)*)\\n/g, '$1\n'); } // replace all var replacedFlag = false; if (whichButton == 'wikEdReplaceAll') { if (regExpFind.test(obj.changed.plain)) { obj.changed.plain = obj.changed.plain.replace(regExpFind, replaceText); replacedFlag = true; } else { obj.changed.plain = null; } } // replace an existing selection else if ( (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdReplaceNext') ) { if (regExpFind.test(obj.selection.plain)) { var replaced = obj.selection.plain.replace(regExpFind, replaceText); if (obj.changed.plain != replaced) { obj.changed.plain = replaced; replacedFlag = true; } else { obj.changed.plain = null; } } else { obj.changed.plain = null; } } else if ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpNext') || (whichButton == 'wikEdJumpPrev') ) { obj.changed.plain = null; } if ( (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpNext') || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdReplaceNext') || (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdFindAll') ) { if (replacedFlag == false) { // get direction var backwards = false; if ( (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdJumpPrev') || (whichButton == 'wikEdReplacePrev') ) { backwards = true; } // get case sensitive var caseSensitive = false; if (wikEdCaseSensitive.checked == true) { caseSensitive = true; } // find all if (whichButton == 'wikEdFindAll') { var found; var foundRanges = []; // start at top of text obj.sel.removeAllRanges(); var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.collapse(true); range = obj.sel.addRange(range); // cycle through matches var scrollTop = wikEdFrameBody.scrollTop; do { // use regexp seach if (wikEdRegExp.checked == true) { found = WikEdFind(obj, findText, caseSensitive, false, false, regExpFind); } // use built-in sarch else { found = WikEdFind(obj, findText, caseSensitive, false, false, null); } if (found == true) { foundRanges.push(obj.changed.range.cloneRange()); } } while (found == true); // scroll back if (wikEdRegExp.checked == false) { wikEdFrameBody.scrollTop = scrollTop; } // add the found ranges obj.sel.removeAllRanges(); for (range in foundRanges) { obj.sel.addRange(foundRanges[range]); } obj.changed.plain = null; } // normal find else { if (wikEdRegExp.checked) { WikEdFind(obj, findText, caseSensitive, backwards, true, regExpFind); } else { WikEdFind(obj, findText, caseSensitive, backwards, true, null); selectChange = false; } } } } // escape <, >, and & if (obj.changed.plain != null) { obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); } // save search history to cookie if ( (whichButton == 'wikEdFindPrev') || (whichButton == 'wikEdFindNext') || (whichButton == 'wikEdFindAll') ) { WikEdAddToHistory('find'); } if ( (whichButton == 'wikEdReplacePrev') || (whichButton == 'wikEdReplaceNext') || (whichButton == 'wikEdReplaceAll') ) { WikEdAddToHistory('find'); WikEdAddToHistory('replace'); } obj.changed.keepSel = true; break; // fixbasic: fix characters, spaces, empty lines, certain headings, needed for all fixing functions // to do: only certain changes in multiline tags: comments, tables, subst case 'wikEdFixBasic': WikEdFixBasic(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixPunct': WikEdFixPunct(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixMath': WikEdFixMath(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixChem': WikEdFixChem(obj.changed); obj.changed.keepSel = true; break; case 'wikEdfixUnicode': WikEdFixUnicode(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixUnits': WikEdFixUnits(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixDashes': WikEdFixDashes(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixHtml': WikEdFixHTML(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixRegExTypo': if (typeof(AWRegExTypoFix) == 'function') { var objFix = {} objFix.str = obj.changed.plain; AWRegExTypoFix(objFix); obj.changed.plain = objFix.str; } else { obj.changed.plain = null; } obj.changed.keepSel = true; break; case 'wikEdFixCaps': WikEdFixCaps(obj.changed); obj.changed.keepSel = true; break; case 'wikEdFixAll': WikEdFixAll(obj.changed); obj.changed.keepSel = true; break; // source on case 'wikEdSource': obj.changed.plain = obj.changed.code; obj.changed.plain = obj.changed.plain.replace(/(<(br|p)\b[^>]*>)/g, '$1\n'); obj.changed.plain = obj.changed.plain.replace(/&/g, '&amp;'); obj.changed.plain = obj.changed.plain.replace(/</g, '&lt;'); obj.changed.plain = obj.changed.plain.replace(/>/g, '&gt;'); highlightSyntax = false; break; // insert tags case 'wikEdInsertTags': var tagOpen = parameters[0] || ''; var tagClose = parameters[1] || ''; var sampleText = parameters[2] || ''; tagOpen = tagOpen.replace(/&/g, '&amp;'); tagOpen = tagOpen.replace(/</g, '&lt;'); tagOpen = tagOpen.replace(/>/g, '&gt;'); tagClose = tagClose.replace(/&/g, '&amp;'); tagClose = tagClose.replace(/</g, '&lt;'); tagClose = tagClose.replace(/>/g, '&gt;'); tagsampleText = sampleText.replace(/&/g, '&amp;'); tagsampleText = sampleText.replace(/</g, '&lt;'); tagsampleText = sampleText.replace(/>/g, '&gt;'); // single string to insert if ( (tagOpen.length > 0) && (tagClose.length == 0) && (sampleText.length == 0) ) { obj.changed = obj.cursor; obj.changed.plain = tagOpen; } // opening and closing strings else if ( (obj.changed.plain == '') && (sampleText.length > 0) ) { obj.changed.plain = tagOpen + sampleText + tagClose; } else { obj.changed.plain = tagOpen + obj.changed.plain + tagClose; } break; // custom edit functions default: if (CustomHandler != null) { CustomHandler(obj); } else { alert('Unknown edit function \'' + whichButton + '\''); } break; } // update the selection only, do not change the text if (obj.changed.plain == null) { if (whichButton != 'wikEdFindAll') { obj.sel.removeAllRanges(); obj.sel.addRange(obj.changed.range); // scroll the selected text into the viewport by using a backwards find if (selectChange != false) { // get the plain text of the selection var plainText = obj.sel.getRangeAt(obj.sel.rangeCount - 1).cloneContents().textContent; // collapse the selection to the end and search backwards if (plainText.length > 0) { plainText = plainText.replace(/\n/g, ''); obj.changed.range.collapse(false); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) wikEdFrameWindow.find(plainText, true, true, false, false, false, false); } } } } // apply text changes else { // a text change erases the last version for redo all if ( (whichButton != 'wikEdUndo') && (whichButton != 'wikEdRedo') && (whichButton != 'wikEdUndoAll') ) { wikEdLastVersion = null; } // highlight the syntax obj.html = obj.changed.plain; if (highlightSyntax == true) { WikEdHighlightSyntax(obj); } // display tabs else { obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); } // display multiple blanks as blank-&nbsp; obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ /g, '&nbsp; '); // newlines to <br /> obj.html = obj.html.replace(/\n/g, '<br />'); // make changed range text the current selection obj.sel.removeAllRanges(); obj.sel.addRange(obj.changed.range); // get the scroll position var scrollTop; if (obj.changed.from == 'whole') { scrollTop = wikEdFrameBody.scrollTop; } // replace the selection with changed text if (obj.html != '') { WikEdFrameExecCommand('inserthtml', obj.html); } else { WikEdFrameExecCommand('delete'); } // select the whole text after replacing the whole text and scroll to same height if (obj.changed.from == 'whole') { obj.sel.removeAllRanges(); wikEdFrameBody.scrollTop = scrollTop; var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.setEndAfter(wikEdFrameBody.lastChild); obj.sel.addRange(range); selectChange = false; } // select the changed text and scroll it into the viewport by using a backwards find if (selectChange != false) { // get the text content of the changed text var div = document.createElement('div'); div.innerHTML = obj.changed.plain; var plainText = div.textContent; // find the text if (plainText.length > 0) { plainText = plainText.replace(/\n/g, ''); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) wikEdFrameWindow.find(plainText, true, true, false, false, false, false); } } } // remove selection, keep whole text auto-selection as warning if ( ( (obj.changed.keepSel != true) && (obj.changed.from != 'whole') ) || (whichButton == 'wikEdRedirect') || ( (whichButton == 'wikEdWikify') && (parameters == 'whole') ) ) { // workaround for Firefox 1.5 bug using: obj.sel.getRangeAt(obj.sel.rangeCount - 1).collapse(false); var range = document.createRange(); range.setStart(obj.sel.focusNode, obj.sel.focusOffset); range.collapse(true); obj.sel.removeAllRanges(); obj.sel.addRange(range); } // reset button to active, reset cursor if (buttonObj != null) { if (buttonObj.className != 'wikEdButtonInactive') { buttonObj.className = 'wikEdButton'; } buttonObj.style.cursor = 'auto'; } // grey out inactive buttons WikEdInactiveButtons(); // reset the frame DOM cache because the frame content has been changed wikEdFrameDOMCache = null; // focus the frame if (wikEdUseWikEd == true) { wikEdFrameWindow.focus(); } // add event handler to make highlighted frame links ctrl-clickable if ( (highlightSyntax == true) && (obj.changed.plain != null) ) { WikEdFollowLinks(); } return; } // // WikEdFollowLinks: add event handler to make highlighted frame links ctrl-clickable // function WikEdFollowLinks() { if (wikEdFollowLinks == true) { var spanArray = wikEdFrameBody.getElementsByTagName('span'); for (var i = 0; i < spanArray.length; i ++) { if (spanArray[i].onclick != null) { var onClickCode = spanArray[i].onclick.toString(); var linkMatch = onClickCode.match(/\svar linkName *= *[\'\"](.*)[\'\"]/); if (linkMatch != null) { spanArray[i].title = linkMatch[1] + ' ' + wikEdText['followLink']; } spanArray[i].addEventListener('click', WikEdFollowLinkHandler, true); } } } return; } // // WikEdGetText: get the text fragments to manipulate // function WikEdGetText(obj, whichFragment, noWikify) { // get selection object if (obj.sel == null) { obj.sel = wikEdFrameWindow.getSelection(); } // cursor for the cursor position (always done) if (obj.cursor == null) { obj.cursor = {}; obj.cursor.from = 'cursor'; obj.cursor.keepSel = false; obj.cursor.range = document.createRange(); obj.cursor.range.setStart(obj.sel.focusNode, obj.sel.focusOffset); obj.cursor.range.setEnd(obj.sel.focusNode, obj.sel.focusOffset); obj.cursor.plain = ''; } // whole for the whole text if (obj.whole == null) { if (/whole|selectionWord|selectionLine|focusWord|focusLine/.test(whichFragment) == true) { obj.whole = {}; obj.whole.plainArray = []; obj.whole.plainNode = []; obj.whole.plainStart = []; obj.whole.from = 'whole'; obj.whole.keepSel = false; // set whole range obj.whole.range = document.createRange(); obj.whole.range.setStartBefore(wikEdFrameBody.firstChild); obj.whole.range.setEndAfter(wikEdFrameBody.lastChild); // get whole plain text WikEdGetInnerHTML(obj.whole, wikEdFrameBody); obj.whole.code = obj.whole.html; WikEdRemoveHighlightingWikify(obj.whole, noWikify); obj.whole.plain = obj.whole.html; obj.whole.plain = obj.whole.plain.replace(/<br\b[^>]*>/g, '\n'); obj.whole.plain = obj.whole.plain.replace(/\u00a0/g, ' '); } } // selection for the selected text if (obj.selection == null) { if (/selection\b|selectionWord|selectionLine/.test(whichFragment) == true) { obj.selection = {}; obj.selection.from = 'selection'; obj.selection.keepSel = false; // copy range to document fragment obj.selection.range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var documentFragment = obj.selection.range.cloneContents(); // get selected text WikEdGetInnerHTML(obj.selection, documentFragment); obj.selection.code = obj.selection.html; WikEdRemoveHighlightingWikify(obj.selection, noWikify); obj.selection.plain = obj.selection.html; obj.selection.plain = obj.selection.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selection.plain = obj.selection.plain.replace(/\u00a0/g, ' '); } } // focusWord and focusLine for the complete words and lines under the cursor if (obj.focusWord == null) { if (/focusWord|focusLine/.test(whichFragment) == true) { obj.focusWord = {}; obj.focusWord.from = 'focusWord'; obj.focusWord.range = document.createRange(); // setup focusLine object for the line under the cursor obj.focusLine = {}; obj.focusLine.from = 'focusLine'; obj.focusLine.keepSel = false; obj.focusLine.range = document.createRange(); // find the word and line boundaries WikEdFindBoundaries(obj.focusWord, obj.focusLine, obj.whole, obj.cursor); // get the wikified plain text for the word under the cursor var documentFragment = obj.focusWord.range.cloneContents(); WikEdGetInnerHTML(obj.focusWord, documentFragment); obj.focusWord.code = obj.focusWord.html; WikEdRemoveHighlightingWikify(obj.focusWord, noWikify); obj.focusWord.plain = obj.focusWord.html; obj.focusWord.plain = obj.focusWord.plain.replace(/<br\b[^>]*>/g, '\n'); obj.focusWord.plain = obj.focusWord.plain.replace(/\u00a0/g, ' '); // get the wikified plain text for the line under the cursor var documentFragment = obj.focusLine.range.cloneContents(); WikEdGetInnerHTML(obj.focusLine, documentFragment); obj.focusLine.code = obj.focusLine.html; WikEdRemoveHighlightingWikify(obj.focusLine, noWikify); obj.focusLine.plain = obj.focusLine.html; obj.focusLine.plain = obj.focusLine.plain.replace(/<br\b[^>]*>/g, '\n'); obj.focusLine.plain = obj.focusLine.plain.replace(/\u00a0/g, ' '); } } // selectionWord and selectionLine for the complete words and lines under the selection if (obj.selectionWord == null) { if (/selectionWord|selectionLine/.test(whichFragment) == true) { // setup selectionWord object for the words under the selection obj.selectionWord = {}; obj.selectionWord.from = 'selectionWord'; obj.selectionWord.keepSel = false; obj.selectionWord.range = document.createRange(); // setup selectionLine object for the lines under the selection obj.selectionLine = {}; obj.selectionLine.from = 'selectionLine'; obj.selectionLine.range = document.createRange(); // find the word and line boundaries WikEdFindBoundaries(obj.selectionWord, obj.selectionLine, obj.whole, obj.selection); // get the wikified plain text for the words under the selection var documentFragment = obj.selectionWord.range.cloneContents(); WikEdGetInnerHTML(obj.selectionWord, documentFragment); obj.selectionWord.code = obj.selectionWord.html; WikEdRemoveHighlightingWikify(obj.selectionWord, noWikify); obj.selectionWord.plain = obj.selectionWord.html; obj.selectionWord.plain = obj.selectionWord.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selectionWord.plain = obj.selectionWord.plain.replace(/\u00a0/g, ' '); // get the wikified plain text for the lines under the selection var documentFragment = obj.selectionLine.range.cloneContents(); WikEdGetInnerHTML(obj.selectionLine, documentFragment); obj.selectionLine.code = obj.selectionLine.html; WikEdRemoveHighlightingWikify(obj.selectionLine, noWikify); obj.selectionLine.plain = obj.selectionLine.html; obj.selectionLine.plain = obj.selectionLine.plain.replace(/<br\b[^>]*>/g, '\n'); obj.selectionLine.plain = obj.selectionLine.plain.replace(/\u00a0/g, ' '); } } return; } // // WikEdFind: custom find function with regexp properties, sets obj.changed.range, uses obj ranges // function WikEdFind(obj, findText, caseSensitive, backwards, wrap, regExp) { var range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); var found = false; // empty the range to avoid error messages for reverse direction ranges obj.changed.range = document.createRange(); // use the fast built-in find function for non-regexp searches if (regExp == null) { // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) found = wikEdFrameWindow.find(findText, caseSensitive, backwards, wrap, false, true, false); if (found == true) { range = obj.sel.getRangeAt(obj.sel.rangeCount - 1); } obj.changed.range = range.cloneRange(); } // slow javascript regexp find and replace else { // perform find if (obj.plainArray === undefined) { WikEdParseDOM(obj, wikEdFrameBody); } var regExpMatch = []; // find next, search to the right if (backwards == false) { // set start position for search to right regExpMatch = regExp.exec(obj.plain); regExp.lastIndex = obj.plainFocus; // execute the regexp search to the right regExpMatch = regExp.exec(obj.plain); // remember position for repeated searches obj.plainFocus = regExp.lastIndex; // wrap around, start at beginning if ( (wrap == true) && (regExpMatch == null) ) { regExp.lastIndex = 0; regExpMatch = regExp.exec(obj.plain); } } // find previous, search to the left else { // cycle through the matches to the left var regExpMatchNext; do { regExpMatch = regExpMatchNext; regExpMatchNext = regExp.exec(obj.plain); if (regExpMatchNext == null) { break; } } while (regExpMatchNext.index < obj.plainAnchor); // wrap around, find last occurrence if ( (wrap == true) && (regExpMatch == null) ) { do { regExpMatch = regExpMatchNext; regExpMatchNext = regExp.exec(obj.plain); } while (regExpMatchNext != null); } } // select the find if (regExpMatch != null) { found = true; var i = 0; while ( (obj.plainStart[i + 1] <= regExpMatch.index) && (obj.plainStart[i + 1] != null) ) { i ++; } var j = i; while ( (obj.plainStart[j + 1] <= regExpMatch.index + regExpMatch[0].length) && (obj.plainStart[j + 1] != null) ) { j ++; } obj.changed.range.setEnd (obj.plainNode[j], regExpMatch.index + regExpMatch[0].length - obj.plainStart[j]); obj.changed.range.setStart(obj.plainNode[i], regExpMatch.index - obj.plainStart[i]); } } return(found); } // // WikEdTextify: strip html off of text // function WikEdTextify(obj) { // convert html to plain obj.plain = obj.html; obj.plain = obj.plain.replace(/\n/g, ' '); // delete tags obj.plain = obj.plain.replace(/<(style|script|object|applet|embed)\b[^>]*>.*?<\/\1>/g, ''); // newlines obj.plain = obj.plain.replace(/<(br)\b[^>]*>/g, '\n'); // remove highlighting pre tags var isRemove = []; obj.plain = obj.plain.replace(/(<(\/?)pre\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // blocks obj.plain = obj.plain.replace(/<\/?(address|blockquote|center|div|hr|isindex|p|pre)\b[^>]*>/g, '\u0000\u0000'); // keep headings only if starting with a newline obj.html = obj.html.replace(/[\s|\u0000]*(^|\n|\u0000)[\s|\u0000]*<h[1-6]\b[^>]*>(.*?)<\/h[1-6]>[\s|\u0000]*/g, '\u0000\u0000$2\u0000\u0000'); // lists obj.plain = obj.plain.replace(/<\/?(dir|dl|menu|ol|ul)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(dd|dt|li)>/g, '\u0000'); // forms obj.plain = obj.plain.replace(/<\/?(select|textarea)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(option|legend|optgroup)>/g, '\u0000'); // table obj.plain = obj.plain.replace(/<\/?(table|caption)\b[^>]*>/g, '\u0000'); obj.plain = obj.plain.replace(/<\/(tr|th|td)>/g, '\u0000'); // finish html to plain conversion obj.plain = obj.plain.replace(/<[^>]*>/g, ''); // remove spaces obj.plain = obj.plain.replace(/[ \t\u00a0]+(\u0000)/g, '$1'); obj.plain = obj.plain.replace(/(\u0000)[ \t\u00a0]+/g, '$1'); // trim down \u0000 and \n obj.plain = obj.plain.replace(/\u0000{3,}/g, '\n\n'); obj.plain = obj.plain.replace(/\u0000/g, '\n'); // remove empty lines and spaces from article start and end if (obj.from == 'whole') { obj.html = obj.html.replace(/^\s+|\s+$/g, ''); } return; } // // WikEdInactiveButtons: grey out inactive buttons, called after every change and click // function WikEdInactiveButtons() { // undo if (wikEdFrameDocument.queryCommandEnabled('undo') == true ) { document.getElementById('wikEdUndo').className = 'wikEdButton'; document.getElementById('wikEdUndoAll').className = 'wikEdButton'; } else { document.getElementById('wikEdUndo').className = 'wikEdButtonInactive'; document.getElementById('wikEdUndoAll').className = 'wikEdButtonInactive'; } // redo if (wikEdFrameDocument.queryCommandEnabled('redo') == true ) { document.getElementById('wikEdRedo').className = 'wikEdButton'; } else { document.getElementById('wikEdRedo').className = 'wikEdButtonInactive'; } // redo all if (wikEdLastVersion != null) { document.getElementById('wikEdRedoAll').className = 'wikEdButton'; } else { document.getElementById('wikEdRedoAll').className = 'wikEdButtonInactive'; } return; } // // WikEdFixBasic: fix characters, spaces, empty lines, certain headings, needed for all fixing functions // /// change: double spaces ok after dot function WikEdFixBasic(obj) { // non-breaking space character to normal space obj.plain = obj.plain.replace(/(\u00a0)/g, ' '); // remove trailing spaces obj.plain = obj.plain.replace(/( |&nbsp;)+\n/g, '\n'); // empty line before and after headings, spaces around word (lookahead) obj.plain = obj.plain.replace(/\n+(=+) *([^\n]*?) *(=+)(?=\n)\n*/g, '\n\n$1 $2 $3\n\n'); // uppercase well known headings var regExp = new RegExp('\\n=+ ' + wikEdText['External links'] + '? =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['External links'] + ' ==\n'); regExp = new RegExp('\\n=+ ' + wikEdText['See also'] + ' =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['See also'] + ' ==\n'); regExp = new RegExp('\\n=+ ' + wikEdText['References'] + '? =+\\n', 'gi'); obj.plain = obj.plain.replace(regExp, '\n== ' + wikEdText['References'] + ' ==\n'); // add space after * # : ; (list) and after {| |- | (table) obj.plain = obj.plain.replace(/(^|\n)([\*\#\:\;]+|\{\||\|\-|\|\}|\|) */g, '$1$2 '); obj.plain = obj.plain.replace(/ +\n/g, '\n'); // empty line before and after tables obj.plain = obj.plain.replace(/\n+(\{\|)/g, '\n\n$1'); obj.plain = obj.plain.replace(/(\n\|\}([^\}]|$)) *([^\n]*)[\n|$]+/g, '$1\n\n$3\n\n'); // empty line before and after lists obj.plain = obj.plain.replace(/(^|\n)([^\*\#\:\;].*?)\n+([\*\#\:\;])/g, '$1$2\n\n$3'); obj.plain = obj.plain.replace(/(^|\n)([\*\#\:\;].*?)\n+([^\*\#\:\;])/g, '$1$2\n\n$3'); // split into lines and change single lines, used to handle tables var lines = obj.plain.split('\n'); obj.plain = ''; var tableflag = false; for (var i = 0; i < lines.length; i++) { var line = lines[i]; // do not change lines starting with a blank if (/^ /.test(line) == false) { // detect table if ( line.match(/^(\{\||\!|\|[^}])/) ) { tableflag = true; } else if ( line.match(/^\|\}/) ) { tableflag = false; } // changes only to be done in tables if (tableflag) { // add spaces around || line = line.replace(/ *\|\| */g, ' || '); } // changes not to be done in tables if (! tableflag) { // empty line before and after images var regExp = new RegExp('^(\\[\\[' + wikEdText['wikicode Image'] + ':.*?\\]\\])', 'ig'); line = line.replace(regExp, '\n$1'); regExp = new RegExp('(\\[\\[' + wikEdText['wikicode Image'] + ':.*?(\\[\\[.*?\\]\\].*?)*\\]\\])$', 'ig'); line = line.replace(regExp, '$1\n'); // empty line before and after includes line = line.replace(/^(\{\{.*?\}\})/g, '\n$1'); line = line.replace(/(\{\{.*?\}\})$/g, '$1\n'); } } // concatenate the lines obj.plain += line; if (i < lines.length - 1) { obj.plain += '\n'; } } // remove underscores in wikilinks obj.plain = obj.plain.replace(/\[\[(.*?)(\|.*?)?\]\]/g, function (p, p1, p2) { p1 = p1.replace(/_/g, ' '); return('[[' + p1 + p2 + ']]'); } ); // remove spaces in wikilinks obj.plain = obj.plain.replace(/\[\[ *([^\n]*?) *\]\]/g, '[[$1]]'); // remove spaces in external links obj.plain = obj.plain.replace(/\[ *([^\n]*?) *\]/g, '[$1]'); // no space around pipes before brackets obj.plain = obj.plain.replace(/ +\| +\]\]/g, '|]]'); // no space around pipes before curly brackets obj.plain = obj.plain.replace(/ +\| +\}\}/g, '|}}'); // no empty line between headings and includes obj.plain = obj.plain.replace(/\n(=+ [^\n]*? =+\n)\n+(\{\{.*?\}\})/g, '\n$1$2'); // spaces in comments obj.plain = obj.plain.replace(/(&lt;!--) *([^\n]*?) *(--&gt;)/g, '$1 $2 $3'); // empty line before and after categories var regExp = new RegExp('( |\\n)*(\\[\\[' + wikEdText['wikicode Category'] + ':[^\\n]*?\\]\\])( |\\n)*', 'gi'); obj.plain = obj.plain.replace(regExp, '\n\n$2\n\n'); // categories not separated by empty lines (lookahead) regExp = new RegExp('(\\[\\[category:[^\\n]*?\\]\\])\\n*(?=\\[\\[' + wikEdText['wikicode Category'] + ':[^\\n]*?\\]\\])', 'gi'); obj.plain = obj.plain.replace(regExp, '$1\n'); // single empty lines only obj.plain = obj.plain.replace(/\n{3,}/g, '\n\n'); // remove leading and trailing newlines obj.plain = obj.plain.replace(/^\n+/, ''); obj.plain = obj.plain.replace(/\n{2,}$/, '\n'); return; } // // WikEdFixPunct: remove space before .,:; // function WikEdFixPunct(obj) { WikEdFixBasic(obj); obj.plain = obj.plain.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\'\"”\]\}\)]) +([\.\,\:\;])(\s+|$)/g, '$1$2 '); obj.plain = obj.plain.replace(/\s+$/g, ''); return; } // // WikEdFixUnicode: fix unicode character representations // function WikEdFixUnicode(obj) { // replace supported chars: change decimal, hex, and character entities into actual char for (var i = 0; i < wikEdSupportedChars.length; i ++) { var replaceChar = String.fromCharCode(parseInt(wikEdSupportedChars[i][0], 16)); // decimal representation var regExpStr = '&#0*' + parseInt(wikEdSupportedChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdSupportedChars[i][0] + ';'; // case insensitive replace var regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // character entity representation regExpStr = '&amp;' + wikEdSupportedChars[i][1] + ';'; // case sensitive replace regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // replace unsupported chars in IE6: change decimal, hex, and chars into character entities for (var i = 0; i < wikEdProblemChars.length; i ++) { replaceChar = '&' + wikEdProblemChars[i][1] + ';'; // decimal representation regExpStr = '&#0*' + parseInt(wikEdProblemChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdProblemChars[i][0] + ';'; // case insensitive replace regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // actual character representation regExpStr = '\\u' + wikEdProblemChars[i][0]; // case sensitive replace regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // replace special chars (spaces and invisible characters): change decimal, hex, and chars into character entities for (var i = 0; i < wikEdSpecialChars.length; i ++) { var replaceChar = '&amp;' + wikEdSpecialChars[i][1] + ';'; // decimal representation var regExpStr = '&#0*' + parseInt(wikEdSpecialChars[i][0], 16) + ';|'; // hex representation regExpStr += '&#x0*' + wikEdSpecialChars[i][0] + ';'; // case insensitive replace var regExp = new RegExp(regExpStr, 'gi'); obj.plain = obj.plain.replace(regExp, replaceChar); // actual character representation regExpStr = '\\u' + wikEdSpecialChars[i][0]; // case sensitive replace var regExp = new RegExp(regExpStr, 'g'); obj.plain = obj.plain.replace(regExp, replaceChar); } // unicode line separator and paragraph separator obj.plain = obj.plain.replace(/\u2028/g, '\n'); obj.plain = obj.plain.replace(/\u2029/g, '\n\n'); return; } // // WikEdFixMath: math character fixer, originally from User:Omegatron // function WikEdFixMath(obj) { WikEdFixBasic(obj); // change only outside <math> </math> wikicode obj.plain = obj.plain.replace(/(.*?)((&lt;math(\b.*?)&gt;.*?&lt;\/math&gt;)|$)/gi, function (p, p1, p2) { // convert html entities into actual dash characters p1 = p1.replace(/&plus;/g, '+'); p1 = p1.replace(/&minus;/g, '\u2212'); p1 = p1.replace(/&middot;/g, '·'); // convert dash next to a number into a minus sign character p1 = p1.replace(/([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\,\{])-(\d)/g, '$1\u2212$2'); // changes 2x3 to 2×3 p1 = p1.replace(/(\d *)x( *\d)/g, '$1\u00d7$2'); // changes 10^3 to 10<sup>3</sup> p1 = p1.replace(/(\d*\.?\d+)\^(\u2212?\d+\.?\d*)/g, '$1&lt;sup&gt;$2&lt;/sup&gt;'); // change x^3 to x<sup>3</sup> p1 = p1.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])\^(\u2212?\d+\.?\d*) /g, '$1&lt;sup&gt;$2&lt;/sup&gt;'); // change +/- to ± p1 = p1.replace(/( |\d)\+\/(-|\u2212)( |\d)/g, '$1\u00b1$3'); // htmlize single char superscripts p1 = p1.replace(/(\u00b9|&sup1;)/g, '&lt;sup&gt;1&lt;/sup&gt;'); p1 = p1.replace(/(\u00b2|&sup2;)/g, '&lt;sup&gt;2&lt;/sup&gt;'); p1 = p1.replace(/(\u00b3|&sup3;)/g, '&lt;sup&gt;3&lt;/sup&gt;'); return(p1 + p2); } ); return; } // // WikEdFixChem: fix chemical formulas // function WikEdFixChem(obj) { WikEdFixBasic(obj); var realElements = 'H|He|Li|Be|B|C|N|O|F|Ne|Na|Mg|Al|Si|P|S|Cl|Ar|K|Ca|Sc|Ti|V|Cr|Mn|Fe|Co|Ni|Cu|Zn|Ga|Ge|As|Se|Br|Kr|Rb|Sr|Y|Zr|Nb|Mo|Tc|Ru|Rh|Pd|Ag|Cd|In|Sn|Sb|Te|I|Xe|Cs|Ba|Hf|Ta|W|Re|Os|Ir|Pt|Au|Hg|Tl|Pb|Bi|Po|At|Rn|Fr|Ra|Rf|Db|Sg|Bh|Hs|Mt|Ds|Rg|La|Ce|Pr|Nd|Pm|Sm|Eu|Gd|Tb|Dy|Ho|Er|Tm|Yb|Lu|Ac|Th|Pa|U|Np|Pu|Am|Cm|Bk|Cf|Es|Fm|Md|No|Lr'; var pseudoElements = '|Me|Et|Pr|Bu|e'; // fix common typos obj.plain = obj.plain.replace(/(^|[^a-z])h2o([^a-z]|$)/g, '$1H2O$2'); obj.plain = obj.plain.replace(/(^|[^a-z])h3o+/g, '$1H3O+'); obj.plain = obj.plain.replace(/(^|[^a-z])oh-/g, '$1OH+'); // uppercase lowercased elements var regExp = new RegExp('(^|[^a-zA-Z])(' + realElements.toLowerCase() + pseudoElements.toLowerCase() + ')([^a-zA-Z]|$)', 'g'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { if (p2 != 'e') { p2 = p2.substr(0, 1).toUpperCase() + p2.substr(1).toLowerCase(); } return(p1 + p2 + p3); } ); // fix superscripts obj.plain = obj.plain.replace(/&plus;/g, '+'); obj.plain = obj.plain.replace(/&minus;/g, '\u2212'); obj.plain = obj.plain.replace(/&middot;/g, '·'); regExp = new RegExp('(' + realElements + pseudoElements + '|\\))(\\d*(\\+|-|\\u2212))', 'g'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { p2 = p2.replace(/-/g, '\u2212'); return(p1 + '&lt;sup&gt;' + p2 + '&lt;/sup&gt;'); } ); // fix indices regExp = new RegExp('(' + realElements + pseudoElements + '|\\))(\\d+)', 'g'); obj.plain = obj.plain.replace(regExp, '$1&lt;sub&gt;$2&lt;/sub&gt;'); // fix prefixes regExp = new RegExp('(\\d+) *(\\(|' + realElements + pseudoElements + ')', 'g'); obj.plain = obj.plain.replace(regExp, '$1$2'); // fix arrows obj.plain = obj.plain.replace(/ *-+&gt; */g, ' \u2192 '); obj.plain = obj.plain.replace(/ *&lt;-+ */g, ' \u2190 '); // &hdarr; and "leftwards harpoon over rightwards harpoon" not supported in IE6 // obj.plain = obj.plain.replace(/ *(&lt;=+&gt;|&hdarr;|&harr;|\u2190 *\u2192) */g, ' \u21cc '); obj.plain = obj.plain.replace(/ *(&lt;==+&gt;|&hdarr;|&harr;|\u21cc|\u2190 *\u2192) */g, ' <=> '); // fix - obj.plain = obj.plain.replace(/([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\)|&gt;) +(-|\u2212) +([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\()/g, '$1 \u2212 $3'); return; } // // WikEdFixUnits: unit formatter // function WikEdFixUnits(obj) { WikEdFixBasic(obj); // convert into actual characters obj.plain = obj.plain.replace(/&amp;deg;|&amp;#00b0;/g, '°'); obj.plain = obj.plain.replace(/&amp;#00b5;|&amp;mu;|&amp;micro;/g, 'µ'); obj.plain = obj.plain.replace(/&amp;Omega;|&amp;#8486;/g, '\u03a9'); // add space before units, remove space around /, and use abreviations obj.plain = obj.plain.replace(/( *\/ *|\d *)(Y|yotta|Z|zetta|E|exa|P|peta|T|tera|G|giga|M|mega|k|kilo|K|h|hecto|da|deca|d|deci|c|centi|m|mill?i|micro|u|µ|n|nano|p|pico|f|femto|a|atto|z|zepto|y|yocto|mibi|mebi|)(gramm?s?|g|metres?|meters?|m|amperes?|Amperes?|amps?|Amps?|A|Angstroms?|Angströms?|Å|Kelvins?|kelvins?|K|moles?|Moles?|mol|candelas?|cd|rad|Ci|sr|Hert?z|hert?z|Hz|newtons?|Newtons?|N|Joules?|joules?|J|watts?|Watts?|W|pascals?|Pascals?|Pa|lm|lx|C|volts?|Volts?|V|O|Farads?|F|Wb|T|H|S|bequerels?|Bequerels?|Bq|Gy|Sv|kat|centigrades?|°C|decibels?|db|dB|M|ohms?|Ohms?|\u03a9|sec|seconds?|s|minutes?|min|hour?|h|bits?|Bits?|bit|bytes?|Bytes?|B|bps|Bps)(?=[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, function (p, p1, p2, p3) { p1 = p1.replace(/ *\/ */g, '/'); p1 = p1.replace(/(\d) */g, '$1 '); p2 = p2.replace(/yotta/g, 'Y'); p2 = p2.replace(/zetta/g, 'Z'); p2 = p2.replace(/exa/g, 'E'); p2 = p2.replace(/peta/g, 'P'); p2 = p2.replace(/tera/g, 'T'); p2 = p2.replace(/giga/g, 'G'); p2 = p2.replace(/mega/g, 'M'); p2 = p2.replace(/kilo/g, 'k'); p2 = p2.replace(/K/g, 'k'); p2 = p2.replace(/hecto/g, 'h'); p2 = p2.replace(/deca/g, 'da'); p2 = p2.replace(/deci/g, 'd'); p2 = p2.replace(/centi/g, 'c'); p2 = p2.replace(/mill?i/g, 'm'); p2 = p2.replace(/micro|u/g, 'µ'); p2 = p2.replace(/nano/g, 'n'); p2 = p2.replace(/pico/g, 'p'); p2 = p2.replace(/femto/g, 'f'); p2 = p2.replace(/atto/g, 'a'); p2 = p2.replace(/zepto/g, 'z'); p2 = p2.replace(/yocto/g, 'y'); p2 = p2.replace(/mibi/g, 'mebi'); p3 = p3.replace(/gramm?s?/g, 'g'); p3 = p3.replace(/metres?|meters?/g, 'm'); p3 = p3.replace(/amperes?|Amperes?|amps?|Amps?/g, 'A'); p3 = p3.replace(/Angstroms?|Angströms?/g, 'Å'); p3 = p3.replace(/Kelvins?|kelvins?/g, 'K'); p3 = p3.replace(/moles?|Moles?/g, 'mol'); p3 = p3.replace(/candelas?/g, 'cd'); p3 = p3.replace(/Hert?z|hert?z/g, 'Hz'); p3 = p3.replace(/newtons?|Newtons?/g, 'N'); p3 = p3.replace(/Joules?|joules?/g, 'J'); p3 = p3.replace(/watts?|Watts?/g, 'W'); p3 = p3.replace(/pascals?|Pascals?/g, 'Pa'); p3 = p3.replace(/volts?|Volts?/g, 'V'); p3 = p3.replace(/ohms?|Ohms?/g, '\u03a9'); p3 = p3.replace(/bequerels?|Bequerels?/g, 'Bq'); p3 = p3.replace(/Farads?/g, 'F'); p3 = p3.replace(/bits?|Bits?/g, 'bit'); p3 = p3.replace(/bytes?|Bytes?/g, 'B'); p3 = p3.replace(/sec|seconds?/g, 's'); p3 = p3.replace(/minutes?/g, 'min'); p3 = p3.replace(/hours?/g, 'h'); p3 = p3.replace(/sec|seconds?/g, 's'); p3 = p3.replace(/bps/g, 'bit/s'); p3 = p3.replace(/Bps/g, 'B/s'); return(p1 + p2 + p3); } ); // fix prefix casing obj.plain = obj.plain.replace(/ K(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' k$1$2'); obj.plain = obj.plain.replace(/ m(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' M$1$2'); obj.plain = obj.plain.replace(/ g(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' G$1$2'); obj.plain = obj.plain.replace(/ t(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' T$1$2'); obj.plain = obj.plain.replace(/ e(bit\/s|B\/s)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|$)/g, ' E$1$2'); return; } // // WikEdFixDashes: dash fixer - fixes several obvious en/em dash, minus sign, and such special characters. // originally from User:Omegatron // function WikEdFixDashes(obj) { WikEdFixBasic(obj); // convert html entities into actual dash characters obj.plain = obj.plain.replace(/&amp;mdash;/g, '—'); obj.plain = obj.plain.replace(/&amp;ndash;/g, '–'); obj.plain = obj.plain.replace(/&amp;minus;/g, '\u2212'); // convert -- and em dashes with or without spaces to em dash surrounded by spaces obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\}\)]) *(--|—|&amp;mdash;) *([a-zA-Z\'\"“\[\{\(])/g, '$1 — $3'); // convert - or en dashes with spaces to em dash character surrounded by spaces obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\}])( |&amp;nbsp;)+(\u2212|–|&amp;ndash;) +([a-zA-Z\'\"“\[\{])/g, '$1$2— $4'); // convert hyphen next to lone number into a minus sign character obj.plain = obj.plain.replace(/([a-zA-Z\'\"”\]\>] )-(\d)/g, '$1\u2212$2'); // convert dashes to en dashes in dates obj.plain = obj.plain.replace(/([ \(][12]\d\d\d) ?(--?|—|&amp;mdash;) ?([12]\d\d\d|\d\d)([ \),.;])/g, '$1–$3$4'); return; } // // WikEdFixHTML: fix html to wikicode // function WikEdFixHTML(obj) { WikEdFixBasic(obj); // remove syntax highlighting obj.html = obj.plain; obj.html = obj.html.replace(/\n/g, '<br />'); WikEdRemoveHighlighting(obj); // turn visible html code into real html, exclude comments obj.html = obj.html.replace(/&lt;(\/?\w.*?)&gt;/g, '<$1>'); // wikify, keep user added attribute WikEdWikifyHTML(obj, true); // turn real html into visible html code obj.html = obj.html.replace(/<br\b[^>]*>/g, '\n'); obj.html = obj.html.replace(/</g, '&lt;'); obj.html = obj.html.replace(/>/g, '&gt;'); obj.plain = obj.html; return; } // // WikEdFixCaps: fix capitalizing of lists, linklists, images, headings // function WikEdFixCaps(obj) { WikEdFixBasic(obj); // uppercase lists // start (listcode (char-ent|tag|category..|digit|non-word,non-ret))(word,non-digit..) end obj.plain = obj.plain.replace(/^([\*\#\:\;]+ (\&\w+\;|&lt;[^\n]*?&gt;|\{\{.*?\}\}[^\n]*|\d|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\n])*)([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\d].*?)?$/gm, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda|$)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase link lists (link) obj.plain = obj.plain.replace(/^([\*\#\:\;]+ \[\[)([^\n]*?)(\]\])/gm, function (p, p1, p2, p3) { // uppercase link p2 = p2.replace(/^((\&\w+\;|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\d)*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*)$/, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase comment p2 = p2.replace(/(\| *(\&\w+\;|&lt;[^\n]*?&gt;|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]|\d)*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*)$/, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); return(p1 + p2 + p3); } ); // uppercase headings obj.plain = obj.plain.replace(/^(=+ (\&\w+\;|&lt;[^\n]*?&gt;|\d|[^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\n])*)([a-zA-ZÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9_].*? =+)$/gm, function (p, p1, p2, p3) { if ( ! p3.match(/^(http|ftp|alpha|beta|gamma|delta|epsilon|kappa|lambda)/) ) { p3 = p3.substr(0, 1).toUpperCase() + p3.substr(1); } return(p1 + p3); } ); // uppercase images regExp = new RegExp('(\\[\\[)' + wikEdText['wikicode Image'] + ':([\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9])([^\\n]*\\]\\])', 'igm'); obj.plain = obj.plain.replace(regExp, function (p, p1, p2, p3) { return(p1 + wikEdText['wikicode Image'] + ':' + p2.toUpperCase() + p3); } ); return; } // // WikEdFixAll: // function WikEdFixAll(obj) { WikEdFixBasic(obj); WikEdFixUnicode(obj); WikEdFixHTML(obj); WikEdFixCaps(obj); return; } // // WikEdRemoveElements: remove elements by tag name // function WikEdRemoveElements(tagNameArray) { // cycle through the element names for (var property in tagNameArray) { var elementArray = wikEdFrameDocument.getElementsByTagName(tagNameArray[property]); for (var i = 0; i < elementArray.length; i ++) { elementArray[i].parentNode.removeChild(elementArray[i]); } } return; } // // WikEdFindBoundaries: find word boundaries and line boundaries starting from selection.range // function WikEdFindBoundaries(word, line, whole, selection) { // get the start node and offset var startNode = selection.range.startContainer; var startNodeOffset = selection.range.startOffset; // get the end node and offset var endNode = selection.range.endContainer; var endNodeOffset = selection.range.endOffset; if (startNode.nodeType == 1) { startNode = startNode.childNodes[startNodeOffset]; startNodeOffset = 0; } if (endNode.nodeType == 1) { endNode = endNode.childNodes[endNodeOffset]; endNodeOffset = 0; } // find the start and end nodes in the whole plain text arrays var startNodeIndex; var endNodeIndex; for (var i = 0; i < whole.plainNode.length; i ++) { if (startNode == whole.plainNode[i]) { startNodeIndex = i; } if (endNode == whole.plainNode[i]) { endNodeIndex = i; break; } } // find last previous word and line boundary var foundWord = false; var foundLine = false; var regExp = new RegExp('.*[^\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9\\-]', 'g'); var plain = ''; // check text nodes left-wise for a boundary for (var i = startNodeIndex; i >= 0; i --) { plain = whole.plainArray[i]; plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); // boundary is a newline if (plain == '\n') { // current newline is the start node if (i == startNodeIndex) { if (! foundWord) { word.range.setStartBefore(whole.plainNode[i]); foundWord = true; } line.range.setStartBefore(whole.plainNode[i]); } else { if (! foundWord) { word.range.setStartAfter(whole.plainNode[i]); foundWord = true; } line.range.setStartAfter(whole.plainNode[i]); } foundLine = true; break; } // check text node for a word boundary else if (! foundWord) { if (i == startNodeIndex) { plain = plain.substr(0, startNodeOffset); plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); } regExp.lastIndex = 0; if (regExp.exec(plain) != null) { word.range.setStart(whole.plainNode[i], regExp.lastIndex); foundWord = true; } } } // boundary is start of text if (! foundLine) { line.range.setStartBefore(whole.plainNode[0]); if (! foundWord) { word.range.setStartBefore(whole.plainNode[0]); } } // find next word and line boundary regExp = new RegExp('[^\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9\\-]', 'g'); foundWord = false; foundLine = false; // check text nodes right-wise for a boundary for (var i = endNodeIndex; i < whole.plainArray.length; i ++) { plain = whole.plainArray[i]; plain = plain.replace(/&amp;/g, '&'); plain = plain.replace(/&lt;/g, '<'); plain = plain.replace(/&gt;/g, '>'); // boundary is a newline if (plain == '\n') { if (! foundWord) { word.range.setEndBefore(whole.plainNode[i]); foundWord = true; } line.range.setEndBefore(whole.plainNode[i]); foundLine = true; break; } // check text node for a word boundary else if (! foundWord) { if (i == endNodeIndex) { regExp.lastIndex = endNodeOffset; } else { regExp.lastIndex = 0; } var regExpArray = regExp.exec(plain); if (regExpArray != null) { word.range.setEnd(whole.plainNode[i], regExpArray.index); foundWord = true; } } } // boundary is end of text if (! foundLine) { line.range.setEndAfter(whole.plainNode[whole.plainArray.length - 1]); if (! foundWord) { word.range.setEndAfter(whole.plainNode[whole.plainArray.length - 1]); } } return; } // // remove syntax highlighting and wikify // function WikEdRemoveHighlightingWikify(obj, noWikify) { if (obj.html != '') { // remove syntax highlighting WikEdRemoveHighlighting(obj); // wikify, don't allow many attributes if ( (obj.htmlCode == true) && (noWikify != true) ) { WikEdWikifyHTML(obj, false); } } return; } // // WikEdWikifyHTML: // obj.html contains the text to be wikified // expects < > &lt; &gt; &amp; spaces instead of &nbsp; <br> (not \n) // returns <br> (not \n) /* allowed and converted tags: br|p h1|h2|h3|h4|h5|h6 hr i|dfn|cite|em|var b|strong table|caption|col|thead|tfoot|tbody|tr|td|th dl|dt|dd|li|ol|ul a not allowed yet: bdo|q|kbd|samp|abbr|acronym|label other allowed tags: big|blockquote|colgroup|center|code|del|div|font|ins|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby mediawiki tags: nowiki|math|gallery|noinclude|includeonly|ref|references */ function WikEdWikifyHTML(obj, relaxed) { var regExpStr; var regExp; var regExpMatch; // delete tags: <style> obj.html = obj.html.replace(/<(style)\b[^>]*>.*?<\/\1>/g, ''); // remove MediaWiki section edit spans obj.html = obj.html.replace(/<span[^>]*class=\"editsection\"[^>]*>.*?<\/span>\s*/g, ''); // remove MediaWiki heading spans obj.html = obj.html.replace(/<span\b[^>]*\bclass=\"mw-headline\"[^>]*>(.*?)<\/span>\s*/g, '$1'); // remove MediaWiki divs from article top obj.html = obj.html.replace(/<h3\b[^>]*\bid=\"siteSub\"[^>]*>.*?<\/h3>\s*/g, ''); obj.html = obj.html.replace(/<div\b[^>]*\bid=\"contentSub\"[^>]*>.*?<\/div>\s*/g, ''); obj.html = obj.html.replace(/<div\b[^>]*\bid=\"jump-to-nav\"[^>]*>.*?<\/div>\s*/g, ''); // remove MediaWiki table of contents obj.html = obj.html.replace(/<table\b[^>]*?\bid=\"toc\"[^>]*>.*?<\/table>\s*/g, ''); // remove MediaWiki print footer obj.html = obj.html.replace(/<div\b[^>]*?\bclass=\"printfooter\"[^>]*>[^<>\"]+\"<a\b[^>]*>[^<]+<\/a>\"<\/div>\s*/g, ''); // remove MediaWiki category list tags regExp = /<div\b[^>]*\bid=\"catlinks\"[^>]*>(.*?)<\/div>\s*/g; while(regExp.test(obj.html) == true) { obj.html = obj.html.replace(regExp, '$1'); } regExp = /<p\b[^>]*?\bclass=\"catlinks\"[^>]*>(.*?)<a\b[^>]*>[^<>]+<\/a>: (.*?)<\/p>/g; while(regExp.test(obj.html) == true) { obj.html = obj.html.replace(regExp, '$1$2'); } // sanitize <span> <div> <p> obj.html = obj.html.replace(/<(span|div|p)\b *(.*?) *\/?>/g, function (p, p1, p2) { return('<' + p1 + WikEdSanitizeAttributes(p1, p2, relaxed) + '>'); } ); // remove <span> ... </span> pairs withhout attributes var isRemove = []; obj.html = obj.html.replace(/(<(\/?)span\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove <p> ... </p> pairs withhout attributes var isRemove = []; obj.html = obj.html.replace(/(<(\/?)p\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return('\u0000\u0000'); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return('\u0000\u0000'); } return(p1); } ); // escape character entities obj.html = obj.html.replace(/&(?!(amp;|lt;|gt;))/g, '&amp;'); // remove comments obj.html = obj.html.replace(/<!--.*?-->/g, ''); // <hr> horizontal rule obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<hr\b[^>]*>(\s|<br\b[^>]*>|\u0000)*/i, '\u0000\u0000----\u0000\u0000'); // <i> <em> <dfn> <var> <cite> italic obj.html = obj.html.replace(/<(i|em|dfn|var|cite)\b[^>]*>/g, '\'\''); obj.html = obj.html.replace(/<\/(i|em|dfn|var|cite)\b[^>]*>/g, '\'\''); // <b> <strong> bold obj.html = obj.html.replace(/<(b|strong)\b[^>]*>/g, '\'\'\''); obj.html = obj.html.replace(/<\/(b|strong)\b[^>]*>/g, '\'\'\''); // <h1> .. <h6> headings obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h1\b[^>]*>(.*?)<\/h1>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000= $4 =\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h2\b[^>]*>(.*?)<\/h2>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000== $4 ==\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h3\b[^>]*>(.*?)<\/h3>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000=== $4 ===\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h4\b[^>]*>(.*?)<\/h4>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000==== $4 ====\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h5\b[^>]*>(.*?)<\/h5>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000===== $4 =====\u0000\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*(^|\n|<br\b[^>]*>|\u0000)(\s|<br\b[^>]*>|\u0000)*<h6\b[^>]*>(.*?)<\/h6>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000\u0000====== $4 ======\u0000\u0000'); obj.html = obj.html.replace(/<(h[0-6])\b[^>]*>(.*?)<\/\1>/g, '$2'); // remove <thead> <tbody> <tfoot> obj.html = obj.html.replace(/(\s|\u0000|<br\b[^>]*>)<\/?(thead|tbody|tfoot)\b[^>]*>(\s|\u0000|<br\b[^>]*>)*/g, '$1'); // remove <col></col> and <colgroup></colgroup>\s obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(col)\b[^>]*>.*?<\/\2>(|<br\b[^>]*>|\u0000)*/g, ''); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(colgroup)\b[^>]*>.*?<\/\2>(|<br\b[^>]*>|\u0000)*/g, ''); // line breaks in table cells obj.html = obj.html.replace(/(<(td|th|caption)\b[^>]*>)(.*?)(<\/\2>)/g, function(p, p1, p2, p3, p4) { p3 = p3.replace(/^(\s|<br\b[^>]*|\u0000>)+/g, ''); p3 = p3.replace(/(\s|<br\b[^>]*|\u0000>)+$/g, ''); p3 = p3.replace(/<br\b[^>]*> */g, '&lt;br /&gt;'); return(p1 + p3 + p4); } ); // remove table closing tags obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<\/(tr|thead|tbody|tfoot)>(\s|<br\b[^>]*>|\u0000)*/g, ''); // <td> table cells obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<td>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000| '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(td) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000| '); } else { return('\u0000|' + p3 + ' | '); } } ); // <th> table cells obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<th>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000| '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(th) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000| '); } else { return('\u0000|' + p3 + ' | '); } } ); // <tr> table rows obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<tr>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000|-\u0000'); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(tr) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { return('\u0000|-' + WikEdSanitizeAttributes(p2, p3, relaxed) + '\u0000'); } ); // <caption> table caption obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<caption>(\s|<br\b[^>]*>|\u0000)*/g, '\u0000|+ '); obj.html = obj.html.replace(/(\s|<br\b[^>]*>|\u0000)*<(caption) +([^>]*)>(\s|<br\b[^>]*>|\u0000)*/g, function (p, p1, p2, p3, p4) { p3 = WikEdSanitizeAttributes(p2, p3, relaxed); if (p3 == '') { return('\u0000|+ '); } else { return('\u0000|+' + p3 + ' | '); } } ); // remove closing tags obj.html = obj.html.replace(/\s*<\/(td|th|caption)>\s*/g, ''); // line breaks, also in table cells (continued) obj.html = obj.html.replace(/<br\b[^>]*>/g, '\u0000'); // <table> obj.html = obj.html.replace(/[\s\u0000]*<table>[\s\u0000]*(\|-(?=[\n\u0000]))?/g, '\u0000\u0000{|\u0000'); obj.html = obj.html.replace(/[\s\u0000]*<(table) +([^>]*)>[\s\u0000]*(\|-(?=[\n\u0000]))?/g, function (p, p1, p2) { return('\u0000{|' + WikEdSanitizeAttributes(p1, p2)); } ); obj.html = obj.html.replace(/[\s\u0000]*<\/table>[\s\u0000]*/g, '\u0000|}\u0000\u0000'); // convert links var regExpMatch = []; var regExpStr = '(<a(\\b[^>]*)>(.*?)</a>)'; var regExp = new RegExp(regExpStr, 'gi'); obj.html = obj.html.replace(regExp, function (p, p1, p2, p3) { var linkPar = p2; var linkText = p3; var linkArticle = ''; var pathArticle = ''; var linkTitle = ''; var urlPar = ''; var imgWidth = ''; var paramLink = false; // check if it is a wiki article link, get path article name and url parameters regExpStr = ' href=\\"(' + wikEdServer + '|\\.|(\\.\\.\/)*\\.\\.)(' + wikEdArticlePath + '([^\\"\\?]+)|' + wikEdScriptPath + 'index\\.php)(\\?([^\\"]*))?(\\"|#)'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkPar); if (regExpMatch != null) { urlPar = regExpMatch[6]; if (regExpMatch[4] != null) { pathArticle = regExpMatch[4]; } // check for links with special parameters, not title, action=edit, isbn regExp = new RegExp('(\\?|&amp;)(\\w+)=([^\\"\\&]+)', 'g'); while ( (regExpMatch = regExp.exec(linkPar)) != null) { if ( (regExpMatch[2] != 'title') && (regExpMatch[2] != 'isbn') && ( (regExpMatch[2] != 'action') || (regExpMatch[3] != 'edit') ) ) { paramLink = true; break; } } } // get article name from path: /article if (paramLink != true) { if (pathArticle != '') { linkArticle = pathArticle; linkArticle = linkArticle.replace(/_/g, ' '); linkArticle = decodeURIComponent(linkArticle); } // get article name from title="" html parameter else { regExpMatch = / title=\"([^\">]+)\"/.exec(linkPar); if (regExpMatch != null) { linkArticle = regExpMatch[1]; } // get article name from title= url parameter else if (urlPar != '') { regExpMatch = /(^|&amp;)title=([^&]+)/.exec(urlPar); if (regExpMatch != null) { linkArticle = regExpMatch[2]; linkArticle = linkArticle.replace(/_/g, ' '); linkArticle = decodeURIComponent(linkArticle); // ISBN links regExpMatch = /(^|&amp;)isbn=(\\d+)/.exec(urlPar); if (regExpMatch != null) { var isbn = regExpMatch[2]; regExpMatch = /((\d\-?){13}|(\d\-?){10})/.exec(linkText); if (regExpMatch != null) { isbn = regExpMatch[1]; } return('ISBN ' + isbn); } } } } } // format wiki link if (linkArticle != '') { // check for wiki image regExpStr = '^<img\\b[^>]*?\\bwidth=\\"(\\d+)\\"[^>]*?>$'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkText); if (regExpMatch != null) { imgWidth = regExpMatch[1]; imgWidth = '|' + imgWidth + 'px'; if ( (linkTitle != '') && (linkTitle != 'Enlarge') ) { linkTitle = '|' + linkTitle; return('[[' + linkArticle + imgWidth + linkTitle + ']]'); } else { return('[[' + linkArticle + imgWidth + ']]'); } } // category link var regExp = new RegExp('^' + wikEdText['wikicode Category'] + ':(.*)','i'); regExpMatch = regExp.exec(linkArticle); if (regExpMatch != null) { return('[[' + wikEdText['wikicode Category'] + ':' + regExpMatch[1].substr(0, 1).toUpperCase() + linkText.substr(1) + ']]'); } // wiki link if (linkArticle == linkText.substr(0, 1).toUpperCase() + linkText.substr(1)) { return('[[' + linkText + ']]'); } // date link (English only) regExpMatch = /^(January|February|March|April|May|June|July|August|September|October|November|December) (\d{1,2})$/.exec(linkArticle); if (regExpMatch != null) { var month = regExpMatch[1]; var day = regExpMatch[2]; if (linkText == (day + ' ' + month) ) { return('[[' + linkArticle + ']]'); } } // lowercase the article name if the first char of the link text can exist in lower/uppercase and is lowercase if ( linkText.substr(0, 1).toLowerCase() != linkText.substr(0, 1).toUpperCase() ) { if ( linkText.substr(0, 1) == linkText.substr(0, 1).toLowerCase() ) { linkArticle = linkArticle.substr(0, 1).toLowerCase() + linkArticle.substr(1); } } // suffix links regExpStr = '^' + linkArticle.replace(/([^\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9])/, '\\$1') + '([\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9]+)$'; regExp = new RegExp(regExpStr); regExpMatch = regExp.exec(linkText); if (regExpMatch != null) { return('[[' + linkText + ']]' + regExpMatch[1]); } return('[[' + linkArticle + '|' + linkText + ']]'); } // external link regExpMatch = linkPar.match(/ href=\"([^\">]*)\"/); if (regExpMatch != null) { var linkAddr = regExpMatch[1]; if (linkAddr != '') { // PubMed link regExpMatch = /^http:\/\/www\.ncbi\.nlm\.nih\.gov\/entrez\/query\.fcgi\?cmd=Retrieve&amp;db=pubmed&amp;.*?&amp;list_uids=(\d+)/.exec(linkAddr); if (regExpMatch != null) { return('PMID ' + regExpMatch[1]); } // DOI link regExpMatch = /^http:\/\/dx\.doi\.org\/(.*)/.exec(linkAddr); if (regExpMatch != null) { return('{{doi|' + regExpMatch[1] + '}}'); } // other external link return('[' + linkAddr + ' ' + linkText + ']'); } } // return unchanged text return(p1); } ); // clean up MediaWiki category list var regExp = new RegExp('<span\\b[^>]*>(\\[\\[' + wikEdText['wikicode Category'] + ':[^\\]]+\\]\\])<\\/span>[\\s\\u0000\\|]*', 'gi'); obj.html = obj.html.replace(regExp, '$1\u0000'); // clean up DOI obj.html = obj.html.replace(/\[\[Digital object identifier\|DOI\]\]:(\{\{doi\|[^\}\s]+\}\})/gi, '$1'); // convert images obj.html = obj.html.replace(/<img\b([^>]*)>/g, function (p, p1) { // get and format parameters var address = ''; var regExpMatch = /\bsrc\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { address = regExpMatch[2].replace(/^ +| +$/g, ''); } var imgAlt = ''; regExpMatch = /\balt\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { imgAlt = regExpMatch[2].replace(/^ +| +$/g, ''); imgAlt = imgAlt.replace(/&amp;nbsp;|[\n\u0000]/g, ' '); imgAlt = imgAlt.replace(/ {2,}/g, ' '); imgAlt = imgAlt.replace(/^ | $/g, ''); if (imgAlt != '') { imgAlt = '|' + imgAlt; } } var imgWidth = ''; regExpMatch = /\bwidth\s*=\s*(\'|\")([^\'\"]*)(\'|\")/i.exec(p1); if (regExpMatch != null) { imgWidth = '|' + regExpMatch[2].replace(/^ +| +$/g, '') + 'px'; } var imgLink = ''; regExpMatch = /([^\/]+)$/.exec(address); if (regExpMatch != null) { imgLink = regExpMatch[1]; if (imgLink != '') { return('[[' + wikEdText['wikicode Image'] + ':' + imgLink + imgWidth + imgAlt + ']]'); } } return(''); } ); // convert lists: * # : ; var listObj = {}; listObj.prefix = ''; obj.html = obj.html.replace(/[\s\u0000]*<(\/?(ol|ul|li|dl|dd|dt))\b[^>]*>[\s\u0000]*/g, function (p, p1, p2, p3, p4) { switch (p1.toLowerCase()) { case 'ol': listObj.prefix += '#'; return('\u0000'); case 'ul': listObj.prefix += '*'; return('\u0000'); case 'dl': listObj.prefix += ':'; return('\u0000'); case '/ol': case '/ul': case '/dl': listObj.prefix = listObj.prefix.substr(0, listObj.prefix.length - 1); return('\u0000\u0000'); case 'li': case 'dd': return('\u0000' + listObj.prefix + ' '); case 'dt': return('\u0000' + listObj.prefix.replace(/:$/, ';') + ' '); case '/li': case '/dt': case '/dd': return(''); } return(''); } ); obj.html = obj.html.replace(/[\n|\u0000]+[#\*:\;]+ (?=[\n|\u0000])/g, ''); // <> remove not allowed tags obj.html = obj.html.replace(/(<\/?)(\/?)(\w+)(.*?>)/g, function (p, p1, p2, p3, p4) { if ( /^(big|blockquote|colgroup|center|code|del|div|font|ins|p|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki|math|gallery|noinclude|includeonly|ref|references)$/i.test(p3) ) { return(p1 + p2 + p3 + p4); } else { return(''); } } ); // sanitize attributes in opening html tags obj.html = obj.html.replace(/<(\w+) +(.*?) *(\/?)>/g, function (p, p1, p2, p3) { if (p3 != '') { p3 = ' ' + p3; } return('<' + p1 + WikEdSanitizeAttributes(p1, p2, relaxed) + p3 + '>'); } ); // unformat italic or bold blanks obj.html = obj.html.replace(/\'\'\'([\s\u0000]+)\'\'\'/g, '$1'); obj.html = obj.html.replace(/\'\'([\s\u0000]+)\'\'/g, '$1'); // remove space-only lines obj.html = obj.html.replace(/([\s\u0000]*\u0000[\s\u0000]*)/g, function (p, p1) { return(p1.replace(/\n/g, '\u0000')); } ); obj.html = obj.html.replace(/\u0000\s+(?=\u0000)/g, '\u0000'); // remove trailing linebreaks from table cells obj.html = obj.html.replace(/\u0000{2,}(\|)/g, '\u0000$1'); // remove leading and trailing spaces obj.html = obj.html.replace(/>\s+\u0000/g, '>\u0000'); obj.html = obj.html.replace(/\u0000\s+</g, '\u0000<'); // remove empty inline and block tag pairs obj.html = obj.html.replace(/( *)<(big|colgroup|code|del|font|ins|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki)\b[^>]*><\/\1> */g, '$1'); obj.html = obj.html.replace(/[\s\u0000]*<(blockquote|center|div|math|gallery|noinclude|includeonly|ref|references)\b[^>]*><\/\1>[\s\u0000]*/g, '\u0000\u0000'); // remove empty lines from div tags obj.html = obj.html.replace(/(<div\b[^>]*>)[\s\u0000]+/g, '$1'); obj.html = obj.html.replace(/[\s\u0000]+(<\/div>)/g, '$1'); // escape < > obj.html = obj.html.replace(/</g, '&lt;'); obj.html = obj.html.replace(/>/g, '&gt;'); // newlines to <br /> obj.html = obj.html.replace(/\n{2,}\u0000+\n/g, '\n\n'); obj.html = obj.html.replace(/\n\u0000+\n{2,}/g, '\n\n'); obj.html = obj.html.replace(/\u0000+\n{2,}/g, '\n\n'); obj.html = obj.html.replace(/\n{2,}\u0000+/g, '\n\n'); obj.html = obj.html.replace(/\u0000+\n/g, '\n'); obj.html = obj.html.replace(/\n\u0000+/g, '\n'); obj.html = obj.html.replace(/\u0000{2,}/g, '\n\n'); obj.html = obj.html.replace(/\u0000/g, '\n'); obj.html = obj.html.replace(/\n/g, '<br />'); // remove empty lines from article start and end if (obj.from == 'whole') { obj.html = obj.html.replace(/^(<br\b[^>]*>)+/g, ''); obj.html = obj.html.replace(/(<br\b[^>]*>)+$/g, ''); } return; } // // WikEdSanitizeAttributes: see Sanitizer.php // function WikEdSanitizeAttributes(tag, attributes, relaxed) { var common; var tablealign; var tablecell; var table; if (relaxed == true) { common = 'lang|dir|style|class'; // not needed: id|title tablealign = '|align|char|charoff|valign'; table = '|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor'; tablecell = '|abbr|axis|headers|scope|rowspan|colspan|nowrap|width|height|bgcolor'; } else { common = 'lang|dir'; table = '|border|cellspacing|cellpadding|align|bgcolor'; tablealign = '|align|valign'; tablecell = '|rowspan|colspan|nowrap|bgcolor'; } tag = tag.toLowerCase(); var sanitized = ''; var regExp = /(\w+)\s*=\s*(\'|\")([^\'\"]*)(\'|\")/g; var regExpMatch; while ( (regExpMatch = regExp.exec(attributes)) != null) { var attrib = regExpMatch[1]; var attribValue = regExpMatch[3]; if (attribValue == '') { continue; } var valid = false; // relaxed, for existing text tags if (relaxed == true) { if ('center|em|strong|cite|code|var|sub|supdl|dd|dt|tt|b|i|big|small|strike|s|u|rb|rp|ruby'.indexOf(tag) >= 0) { if (common.indexOf(attrib) >= 0) { valid = true; } } else if ('div|span|h1|h2|h3|h4|h5|h6|p'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('blockquote'.indexOf(tag) >= 0) { if ((common + '|cite').indexOf(attrib) >= 0) { valid = true; } } else if ('br'.indexOf(tag) >= 0) { if ('style|clear'.indexOf(attrib) >= 0) { valid = true; } } else if ('pre'.indexOf(tag) >= 0) { if ((common + '|width').indexOf(attrib) >= 0) { valid = true; } } else if ('ins|del'.indexOf(tag) >= 0) { if ((common + '|cite|datetime').indexOf(attrib) >= 0) { valid = true; } } else if ('ul'.indexOf(tag) >= 0) { if ((common + '|type').indexOf(attrib) >= 0) { valid = true; } } else if ('ol'.indexOf(tag) >= 0) { if ((common + '|type|start').indexOf(attrib) >= 0) { valid = true; } } else if ('li'.indexOf(tag) >= 0) { if ((common + '|type|value').indexOf(attrib) >= 0) { valid = true; } } else if ('table'.indexOf(tag) >= 0) { if ((common + table).indexOf(attrib) >= 0) { valid = true; } } else if ('caption'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('thead|tfoot|tbody'.indexOf(tag) >= 0) { if ((common + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('colgroup|col'.indexOf(tag) >= 0) { if ((common + '|span|width' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('tr'.indexOf(tag) >= 0) { if ((common + '|bgcolor' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('td|th'.indexOf(tag) >= 0) { if ((common + tablecell + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('font'.indexOf(tag) >= 0) { if ((common + '|size|color|face').indexOf(attrib) >= 0) { valid = true; } } else if ('hr'.indexOf(tag) >= 0) { if ((common + '|noshade|size|width').indexOf(attrib) >= 0) { valid = true; } } else if ('rt'.indexOf(tag) >= 0) { if ((common + '|rbspan').indexOf(attrib) >= 0) { valid = true; } } else if ('ref'.indexOf(tag) >= 0) { if (('name').indexOf(attrib) >= 0) { valid = true; } } else if ('references'.indexOf(tag) >= 0) { } else if ('gallery'.indexOf(tag) >= 0) { if ((common + '|perrow|widths|heights').indexOf(attrib) >= 0) { valid = true; } } } // strict, for html code to be wikified from external sources (websites, Word) else { if ('center|em|strong|cite|code|var|sub|supdl|dd|dt|tt|b|i|big|small|strike|s|u|rb|rp|ruby|blockquote|pre|ins|del'.indexOf(tag) >= 0) { if (common.indexOf(attrib) >= 0) { valid = true; } } else if ('div|span|h1|h2|h3|h4|h5|h6|p'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('br'.indexOf(tag) >= 0) { if ('clear'.indexOf(attrib) >= 0) { valid = true; } } else if ('ul'.indexOf(tag) >= 0) { if ((common + '|type').indexOf(attrib) >= 0) { valid = true; } } else if ('ol'.indexOf(tag) >= 0) { if ((common + '|type|start').indexOf(attrib) >= 0) { valid = true; } } else if ('li'.indexOf(tag) >= 0) { if ((common + '|type|value').indexOf(attrib) >= 0) { valid = true; } } else if ('table'.indexOf(tag) >= 0) { if ((common + table).indexOf(attrib) >= 0) { valid = true; } } else if ('caption'.indexOf(tag) >= 0) { if ((common + '|align').indexOf(attrib) >= 0) { valid = true; } } else if ('thead|tfoot|tbody'.indexOf(tag) >= 0) { if ((common + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('colgroup|col'.indexOf(tag) >= 0) { if ((common + '|span' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('tr'.indexOf(tag) >= 0) { if ((common + '|bgcolor' + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('td|th'.indexOf(tag) >= 0) { if ((common + tablecell + tablealign).indexOf(attrib) >= 0) { valid = true; } } else if ('font'.indexOf(tag) >= 0) { if ((common + '|color').indexOf(attrib) >= 0) { valid = true; } } else if ('hr'.indexOf(tag) >= 0) { if ((common + '|noshade|size').indexOf(attrib) >= 0) { valid = true; } } else if ('rt'.indexOf(tag) >= 0) { if ((common + '|rbspan').indexOf(attrib) >= 0) { valid = true; } } else if ('ref'.indexOf(tag) >= 0) { if (('name').indexOf(attrib) >= 0) { valid = true; } } else if ('references'.indexOf(tag) >= 0) { } else if ('gallery'.indexOf(tag) >= 0) { } } // clean up if (valid == true) { // clean up defaults for align if (attrib == 'align') { if ('tr|td|th'.indexOf(tag) >= 0) { if (attribValue == 'left') { attribValue = ''; } } } // clean up defaults for valign else if (attrib == 'valign') { if ('tr|td|th'.indexOf(tag) >= 0) { if (attribValue == 'top') { attribValue = ''; } } } // clean up style else if (attrib == 'style') { // remove non-standard Mozilla styles attribValue = attribValue.replace(/(^| )(-moz-[\w\-]+): [\w\-]+; */g, '$1'); attribValue = attribValue.replace(/(^| )([\w\-]+): [^;]*(-moz-[\w\-]+|windowtext)[^;]*; */g, '$1'); // remove dimensions from null values attribValue = attribValue.replace(/\b0(%|in|cm|mm|em|ex|pt|pc|px)\b/g, '0'); // remove empty definitions and spaces attribValue = attribValue.replace(/[\w\-]+ *\: *\; */g, ''); attribValue = attribValue.replace(/ *(;|:) */g, '$1 '); attribValue = attribValue.replace(/( |;)+$/g, ';'); } // clean up class else if (attrib == 'class') { // remove MS Word classes attribValue = attribValue.replace(/^Ms.*$/g, ''); } if (attribValue != '') { sanitized += ' ' + attrib + '="' + attribValue + '"'; } } } return(sanitized); } // // // WikEdRemoveHighlighting: remove syntax highlighting in obj.html; sets obj.htmlCode if text contains html code // expects <br /> instead of \n function WikEdRemoveHighlighting(obj) { // remove highlighting and atttribute-free span tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)span\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove highlighting div tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)div\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // remove highlighting pre tags var isRemove = []; obj.html = obj.html.replace(/(<(\/?)pre\b([^>]*)>)/g, function (p, p1, p2, p3) { if (p2 == '') { if (/\bclass=\"wikEd\w+\"/.test(p3)) { isRemove.push(true); return(''); } isRemove.push(false); return(p1); } if (isRemove.pop() == true) { return(''); } return(p1); } ); // comments obj.html = obj.html.replace(/<!--wikEd\w+-->/g, ''); // newlines obj.html = obj.html.replace(/[\n\r ]+/g, ' '); // non-breaking spaces obj.html = obj.html.replace(/&nbsp;/g, '\u00a0'); // check for pasted html content if (obj.html.match(/<(?!br\b)/)) { obj.htmlCode = true; } else { obj.htmlCode = false; } return; } // // WikEdHighlightSyntax: highlight syntax in obj.html; if singleLine is set, no block syntax will be highlighted; call WikEdRemoveHighlighting first // expects < > &lt; &gt; &amp; \u00a0 instead of &nbsp; \n instead of <br /> function WikEdHighlightSyntax(obj, singleLine) { // &lt; and &gt; to \u0000 and \u0001 obj.html = obj.html.replace(/&lt;/g, '\u0000'); obj.html = obj.html.replace(/&gt;/g, '\u0001'); // #redirect obj.html = obj.html.replace(/(^|\n)(#)(redirect\b)/g, '$1<span class="wikEdWikiRedir">$3</span><!--wikEdWikiRedir-->'); // nowiki (no html highlighting) obj.html = obj.html.replace(/(\u0000nowiki\b.*?\u0001)(.*?)(\u0000\/nowiki\b.*?\u0001)/gi, function (p, p1, p2, p3) { p2 = p2.replace(/\u0000/g, '&lt;'); p2 = p2.replace(/\u0001/g, '&gt;'); return(p1 + p2 + p3); } ); // blocks // lists * # : ; obj.html = obj.html.replace(/^([\*\#\:\;]+)(.*?)$/gm, '<span class="wikEdListLine"><span class="wikEdListTag">$1</span><!--wikEdListTag-->$2</span><!--wikEdListLine-->'); if (singleLine != true) { obj.html = obj.html.replace(/((<span class=\"wikEdListLine\">[^\n]*\n)+)/g, '<span class="wikEdListBlock">$1'); obj.html = obj.html.replace(/(<span class=\"wikEdListLine\">[^\n]*)(\n)(?!<span class=\"wikEdListLine\">)/g, '$1</span><!--wikEdListBlock-->$2'); } // #redirect (finish) obj.html = obj.html.replace(/(<span class=\"wikEdWikiRedir\">)(.*?<\/span><!--wikEdWikiRedir-->)/g, '$1#$2'); // various blocks if (singleLine != true) { obj.html = obj.html.replace(/(\u0000(blockquote|center|div|pre|timeline|imagemap)\b[^\u0001]*\u0001.*?\u0000\/\2\u0001)/gi, '<span class="wikEdBlock">$1</span><!--wikEdBlock-->'); } // space-pre if (singleLine != true) { obj.html = obj.html.replace(/^[\u00a0 ]([\u00a0 ]*)(.*?)$/gm, '<span class="wikEdSpaceLine"><span class="wikEdSpaceTag">&nbsp;$1</span><!--wikEdSpaceTag-->$2</span><!--wikEdSpaceLine-->'); obj.html = obj.html.replace(/((<span class=\"wikEdSpaceLine\">[^\n]*\n)+)/g, '<span class="wikEdSpaceBlock">$1'); obj.html = obj.html.replace(/(<span class=\"wikEdSpaceLine\">[^\n]*)(\n)(?!<span class="wikEdSpaceLine">)/g, '$1</span><!--wikEdSpaceBlock-->$2'); } // ---- <hr> horizontal rule obj.html = obj.html.replace(/(^|\n|<[^>]*>)(----)(\n|<[^>]*>|$)/g, '$1<span class="wikEdHR">$2</span><!--wikEdHR-->$3'); obj.html = obj.html.replace(/(\u0000hr\u0001)/g, '<span class="wikEdHRInline">$1</span><!--wikEdHRInline-->'); // == headings obj.html = obj.html.replace(/(^|\n|<[^>]*>)(=+[\u00a0 ]*)([^\n]*?)([\u00a0 ]*=+)(?=([\u00a0 ]|<[^>]*>)*(\n|$))/g, function (p, p1, p2, p3, p4) { p2 = p2.replace(/(=+)/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); p4 = p4.replace(/(=+)/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); if ( /^(external links?|see also|references?)$/i.test(p3) ) { p1 = p1 + '<span class="wikEdHeadingWp">'; p4 = p4 + '</span><!--wikEdHeadingWp-->'; } else { p1 = p1 + '<span class="wikEdHeading">'; p4 = p4 + '</span><!--wikEdHeading-->'; } return(p1 + p2 + p3 + p4); } ); // tables {| |+ |- ! |} | obj.html = obj.html.replace(/^(\{\||\|\+|\|\-|\!|\|\}([^\}]|$)|\|)(.*?)$/gm, '<span class="wikEdTableLine"><span class="wikEdTableTag">$1</span><!--wikEdTableTag-->$3</span><!--wikEdTableLine-->'); if (singleLine != true) { obj.html = obj.html.replace(/(^|\n)((<[^>]*>)*\{\|)/g, '$1<span class="wikEdTableBlock">$2'); obj.html = obj.html.replace(/(^|\n)((<[^>]*>)*\|\}(<[^>]*>)*)/g, '$1$2</span><!--wikEdTableBlock-->'); obj.html = obj.html.replace(/(\u0000table\b[^\u0001]*\u0001)/gi, '<span class="wikEdTableBlock">$1'); obj.html = obj.html.replace(/(\u0000\/table\u0001)/gi, '$1</span><!--wikEdTableBlock-->'); } // <gallery> wiki markup if (singleLine != true) { obj.html = obj.html.replace(/(\u0000(gallery)\b[^\u0001]*\u0001)/gi, '<span class="wikEdWiki">$1'); obj.html = obj.html.replace(/(\u0000\/(gallery)\u0001)/gi, '$1</span><!--wikEdWiki-->'); } // various block tags obj.html = obj.html.replace(/(\u0000\/?(blockquote|center|div|pre|timeline|imagemap)\b[^\u0001]*\u0001)/gi, '<span class="wikEdBlockTag">$1</span><!--wikEdBlockTag-->'); // <p> ... </p> pairs with (wikEdBlockTag) and withhout attributes (wikEdUnknown) var isRemove = []; obj.html = obj.html.replace(/(\u0000(\/?)p\b([^\u0001]*?)\u0001)/g, function (p, p1, p2, p3) { if (p2 == '') { if (p3 == '') { isRemove.push(true); return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } if (/\/$/.test(p3)) { return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } isRemove.push(false); return('<span class="wikEdBlockTag">' + p1 + '</span><!--wikEdBlockTag-->'); } if (isRemove.pop() == true) { return('<span class="wikEdUnknown">' + p1 + '</span><!--wikEdUnknown-->'); } return('<span class="wikEdBlockTag">' + p1 + '</span><!--wikEdBlockTag-->'); } ); // inline elements // magic words obj.html = obj.html.replace(/(__(NOTOC|FORCETOC|TOC|NOEDITSECTION|NEWSECTIONLINK|NOCONTENTCONVERT|NOCC|NOGALLERY|NOTITLECONVERT|NOTC|END|START)__)/gi, '<span class="wikEdMagic">$1</span><!--wikEdMagic-->'); // <sup> </sub> <ins> <del> obj.html = obj.html.replace(/(\u0000sup\b[^\u0001]*\u0001((.|\n)*?)\u0000\/sup\u0001)/gi, '<span class="wikEdSuperscript">$1</span><!--wikEdSuperscript-->'); obj.html = obj.html.replace(/(\u0000sub\b[^\u0001]*\u0001((.|\n)*?)\u0000\/sub\u0001)/gi, '<span class="wikEdSubscript">$1</span><!--wikEdSubscript-->'); obj.html = obj.html.replace(/(\u0000(ins|u)\b[^\u0001]*\u0001((.|\n)*?)\u0000\/(ins|u)\u0001)/gi, '<span class="wikEdIns">$1</span><!--wikEdIns-->'); obj.html = obj.html.replace(/(\u0000(del|s|strike)\b[^\u0001]*\u0001((.|\n)*?)\u0000\/(del|s|strike)\u0001)/gi, '<span class="wikEdDel">$1</span><!--wikEdDel-->'); // <ref /> and <ref> wiki markup if (wikEdRefHide != true) { obj.html = obj.html.replace(/\u0000(ref\b[^\u0001]*?\/)\u0001/gi, '<span class="wikEdRef">&lt;$1&gt;</span><!--wikEdRef-->'); obj.html = obj.html.replace(/(\u0000ref\b[^\u0001]*\u0001((.|\n)*?)\u0000\/ref\u0001)/gi, '<span class="wikEdRef">$1</span><!--wikEdRef-->'); } // various inline tags obj.html = obj.html.replace(/(\u0000\/?(sub|sup|ins|u|del|s|strike|big|br|colgroup|code|font|small|span|tt|rb|rp|rt|ruby|ref)\b[^\u0001]*\u0001)/gi, '<span class="wikEdInlineTag">$1</span><!--wikEdInlineTag-->'); // <references/> wiki markup obj.html = obj.html.replace(/\u0000((references)\b[^\u0001]*?\/)\u0001/gi, '<span class="wikEdWiki">&lt;$1&gt;</span><!--wikEdWiki-->'); // <math> <noinclude> <includeonly> <references> wiki markup obj.html = obj.html.replace(/(\u0000(math|gallery|noinclude|includeonly|references)\b[^\u0001]*\u0001((.|\n)*?)(\u0000)\/\2\u0001)/gi, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); // unsupported or not needed <> tags obj.html = obj.html.replace(/(\u0000\/?)(\w+)(.*?\/?\u0001)/g, function (p, p1, p2, p3) { if ( ! /^(col|thead|tfoot|tbody|big|br|blockquote|colgroup|center|code|del|div|font|ins|p|pre|s|small|span|strike|sub|sup|tt|u|rb|rp|rt|ruby|nowiki|math|gallery|noinclude|includeonly|ref|references|timeline|imagemap)$/i.test(p2) ) { p1 = '<span class="wikEdUnknown">' + p1; p3 = p3 + '</span><!--wikEdUnknown-->'; } return(p1 + p2 + p3); } ); // comments obj.html = obj.html.replace(/(\u0000!--(.|\n)*?--\u0001)/g, '<span class="wikEdComment">$1</span><!--wikEdComment-->'); // URLs, allowed chars: \w / . & ? = - @ # % ~ + (; allowed because of &amp; and common misuse) obj.html = obj.html.replace(/((http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:)[^\u0000-\u0020\!\"\$\'\(\)\*\,\:\<\>\[\\\]\^\`\{-\|\}\u007f-\uffff]*)/gi, function (p, p1, p2) { return('<span class="wikEdURLLink"' + WikEdFollowLinkUrl(null, null, p1) + '">' + p1 + '</span><!--wikEdURLLink-->'); } ); // URLs with text obj.html = obj.html.replace(/(\[)( *<span class=\"wikEdURLLink\"[^>]*>.*?<\!--wikEdURLLink--> *)([^\]\n]*?)( *\])/gi, function (p, p1, p2, p3, p4) { // link text p3 = p3.replace(/(.*)/, '<span class="wikEdURLText">$1</span><!--wikEdURLText-->'); // link tags p1 = p1.replace(/(\[)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p4 = p4.replace(/(\])/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3 + p4); } ); // [[Image: ]] images var regExpImg = new RegExp('(\\[\\[)(' + wikEdText['wikicode Image'] + ' *: *)([^\\]\\[\\|]*? *)(\\|(\\[[^\\]]*\\]|\\[\\[[^\\]]*\\]\\]|[^\\[\\]\\|]+|\\|)*)?(\\]\\])', 'gi'); obj.html = obj.html.replace(regExpImg, function (p, p1, p2, p3, p4, p5, p6) { var linkTitle = p3; linkTitle = linkTitle.replace(/\|.*/g, ''); linkTitle = linkTitle.replace(/\n.*/g, ''); p1 = '<span class="wikEdImage"' + WikEdFollowLinkUrl(p2, linkTitle) + '>' + p1; p6 = p6 + '</span><!--wikEdImage-->'; p2 = '<span class="wikEdImageName">' + p2; p3 = p3 + '</span><!--wikEdImageName-->'; // parameters and capture p4 = p4.replace(/((\[[^\]]\]|\[\[[^\]]\]\]|[^\]\|])+)/g, function (p, p1) { if (/^(thumb|thumbnail|frame|right|left|center|none|\d+px|\d+x\d+px)$/.test(p1) == true) { p1 = '<span class="wikEdImageParam">' + p1 + '</span><!--wikEdImageParam-->'; } else { p1 = '<span class="wikEdImageCaption">' + p1 + '</span><!--wikEdImageCaption-->'; } return(p1); } ); // link tags p1 = p1.replace(/(\[+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p6 = p6.replace(/(\]+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p4 = p4.replace(/(\|)/g, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3 + p4 + p6); } ); // [[ ]] links, categories obj.html = obj.html.replace(/(\[\[)([^\[\]]*)(\]\])/g, function (p, p1, p2, p3) { // omit image tags var regExpImg = new RegExp('^(<[^>]*>)*' + wikEdText['wikicode Image'] + '\\s*:', 'i'); if (regExpImg.test(p2) == true) { return(p1 + p2 + p3); } // get url var linkParam = ''; var linkInter; var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter, linkMatch[3]) } // category var regExpCat = new RegExp('^\\s*' + wikEdText['wikicode Category'] + '\\s*:', 'i'); if (regExpCat.test(p2)) { var regExp = new RegExp('\\s*[\\wÀ-ÖØ-öø-\\u0220\\u0222-\\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\\u0400-\\u0481\\u048a-\\u04ce\\u04d0-\\u04f5\\u04f8\\u04f9]+\\s*:\\s*' + wikEdText['wikicode Category'] + '\\s*:', 'i'); if (p2.match(regExp)) { p1 = '<span class="wikEdCatInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdCatInter-->'; } else { p1 = '<span class="wikEdCat"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdCat-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdCatName">$2</span><!--wikEdCatName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdCatText">$1</span><!--wikEdCatText-->$2'); return(p1 + p2); } ); } // wikilink else { if (linkInter != '') { p1 = '<span class="wikEdLinkInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdLinkInter-->'; } else { p1 = '<span class="wikEdLink"' + linkParam + '">' + p1; p3 = p3 + '</span><!--wikEdLink-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdLinkName">$2</span><!--wikEdLinkName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdLinkText"">$1</span><!--wikEdLinkText-->$2'); return(p1 + p2); } ); } // link tags p1 = p1.replace(/(\[+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p2 = p2.replace(/(\|)/g, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); p3 = p3.replace(/(\]+)/, '<span class="wikEdLinkTag">$1</span><!--wikEdLinkTag-->'); return(p1 + p2 + p3); } ); // {{ }} simple non-nested templates obj.html = obj.html.replace(/(\{{2,3})([^\{\}\<\>\u0000\u0001\n]+)(\}{2,3})/g, function (p, p1, p2, p3) { // get url var linkParam = ''; var linkInter; var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter + wikEdText['wikicode Template'] + ':', linkMatch[3]) } if (linkInter != '') { p1 = '<span class="wikEdTemplInter"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdTemplInter-->'; } else { p1 = '<span class="wikEdTempl"' + linkParam + '>' + p1; p3 = p3 + '</span><!--wikEdTempl-->'; } p2 = p2.replace(/^(\s*)((\w*:)+)/, '$1<span class="wikEdInter">$2</span><!--wikEdInter-->'); p2 = p2.replace(/(\s*)([^>:\|]+)(\s*\|\s*|$)/, '$1<span class="wikEdTemplName">$2</span><!--wikEdTemplName-->$3'); p2 = p2.replace(/(\|\s*)(.*)/, function (p, p1, p2) { p2 = p2.replace(/(.*?)(\s*(\||$))/g, '<span class="wikEdTemplText">$1</span><!--wikEdTemplText-->$2'); return(p1 + p2); } ); // template tags p2 = p2.replace(/(\|)/g, '<span class="wikEdTemplTag">$1</span><!--wikEdTemplTag-->'); return(p1 + p2 + p3); } ); // highlighting curly template brackets at template start obj.html = obj.html.replace(/(\{{2,})(\s*[^\{\}\<\>\u0000\u0001\n]+)/g, function (p, p1, p2) { var linkMatch = p2.match(/^\s*(([\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9]*\s*:)*)\s*([^\|]+)/); var linkParam = ''; if (linkMatch != null) { linkInter = linkMatch[1]; linkParam = WikEdFollowLinkUrl(linkInter + wikEdText['wikicode Template'] + ':', linkMatch[3]) } return('<span class="wikEdTempl"' + linkParam + '><span class="wikEdTemplTag">' + p1 + '</span><span class="wikEdTemplName">' + p2 + '</span><!--wikEdTemplName--><!--wikEdTemplTag--></span><!--wikEdTempl-->'); } ); // highlighting curly template brackets at template end obj.html = obj.html.replace(/@(\}{2,})(?!<\/span><!--wikEdTemplTag-->)/g, '<span class="wikEdTempl"><span class="wikEdTemplTag">$1</span><!--wikEdTemplTag--></span><!--wikEdTempl-->'); // <b> <i> obj.html = obj.html.replace(/(\'\'\')(\'*)(.*?)(\'*)(\'\'\')/g, '<span class="wikEdBold">$2$3$4</span><!--wikEdBold-->'); obj.html = obj.html.replace(/(\'\')(.*?)(\'\')/g, '<span class="wikEdItalic">$1$2$3</span><!--wikEdItalic-->'); obj.html = obj.html.replace(/(<span class=\"wikEdBold\">)/g, '$1\'\'\''); obj.html = obj.html.replace(/(<\/span><!--wikEdBold-->)/g, '\'\'\'$1'); obj.html = obj.html.replace(/(\'{2,})/g, '<span class="wikEdWiki">$1</span><!--wikEdWiki-->'); // named html colors obj.html = obj.html.replace(/(\'|\")(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|blanchedalmond|burlywood|chartreuse|coral|cornsilk|cyan|darkgray|darkgrey|darkkhaki|darkorange|darksalmon|darkseagreen|floralwhite|fuchsia|gainsboro|ghostwhite|gold|goldenrod|greenyellow|honeydew|hotpink|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightskyblue|lightsteelblue|lightyellow|lime|linen|magenta|mediumaquamarine|mediumspringgreen|mediumturquoise|mintcream|mistyrose|moccasin|navajowhite|oldlace|orange|palegoldenrod|palegreen|paleturquoise|papayawhip|peachpuff|peru|pink|plum|powderblue|salmon|sandybrown|seashell|silver|skyblue|snow|springgreen|tan|thistle|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)(\1)/g, '$1<span style="background-color: $2;" class="wikEdColorsLight">$2</span><!--wikEdColorsLight-->$3'); obj.html = obj.html.replace(/(\'|\")(black|blue|blueviolet|brown|cadetblue|chocolate|cornflowerblue|crimson|darkblue|darkcyan|darkgoldenrod|darkgreen|darkmagenta|darkolivegreen|darkorchid|darkred|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|forestgreen|gray|green|grey|indianred|indigo|lightseagreen|lightslategray|lightslategrey|limegreen|maroon|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumvioletred|midnightblue|navy|olive|olivedrab|orangered|orchid|palevioletred|purple|red|rosybrown|royalblue|saddlebrown|seagreen|sienna|slateblue|slategray|slategrey|steelblue|teal|tomato)(\1)/g, '$1<span style="background-color: $2;" class="wikEdColorsDark">$2</span><!--wikEdColorsDark-->$3'); // RGB hex colors #d4d0cc obj.html = obj.html.replace(/(^|[^\/\w])(#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2}))(?=(\W|$))/g, function (p, p1, p2, p3, p4, p5) { var luminance = parseInt(p3, 16) * 0.299 + parseInt(p4, 16) * 0.587 + parseInt(p5, 16) * 0.114; if (luminance > 128) { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsLight">' + p2 + '</span><!--wikEdColorsLight-->'); } else { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsDark">' + p2 + '</span><!--wikEdColorsDark-->'); } } ); // RGB hex colors #ddc obj.html = obj.html.replace(/(^|[^\/\w])(#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F]))(?=(\W|$))/g, function (p, p1, p2, p3, p4, p5) { var luminance = parseInt(p3, 16) * 16 * 0.299 + parseInt(p4, 16) * 16 * 0.587 + parseInt(p5, 16) * 16 * 0.114; if (luminance > 128) { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsLight">' + p2 + '</span><!--wikEdColorsLight-->'); } else { return(p1 + '<span style="background-color: ' + p2 + '" class="wikEdColorsDark">' + p2 + '</span><!--wikEdColorsDark-->'); } } ); // RGB decimal colors rgb(128,64,265) obj.html = obj.html.replace(/(rgb\(\s*(\d+),\s*(\d+),\s*(\d+)\s*\))/gi, function (p, p1, p2, p3, p4) { var luminance = p2 * 0.299 + p3 * 0.587 + p4 * 0.114; if (luminance > 128) { return('<span style="background-color: ' + p1 + '" class="wikEdColorsLight">' + p1 + '</span><!--wikEdColorsLight-->'); } else { return('<span style="background-color: ' + p1 + '" class="wikEdColorsDark">' + p1 + '</span><!--wikEdColorsDark-->'); } } ); // nowiki (remove highlighting) obj.html = obj.html.replace(/(\u0000nowiki\b[^\u0001]*\u0001)((.|\n)*?)(\u0000\/nowiki\u0001)/gi, function (p, p1, p2, p3, p4) { p1 = '<span class="wikEdNowiki"><span class="wikEdInlineTag">' + p1 + '</span><!--wikEdInlineTag-->'; p2 = p2.replace(/<[^>]*>/g, ''); p4 = '<span class="wikEdInlineTag">' + p4 + '</span><!--wikEdInlineTag--></span><!--wikEdNowiki-->'; return(p1 + p2 + p4); } ); // hide (fade) <ref> if (wikEdRefHide == true) { // escape <ref /> obj.html = obj.html.replace(/\u0000(ref\b[^\u0001]*?\/)\u0001/g, '<span class="wikEdRefHide">&lt;$1&gt;</span><!--wikEdRefHide-->'); // remove <ref> inner highlighting obj.html = obj.html.replace(/(\u0000ref\b[^\u0001]*\u0001)((.|\n)*?)(\u0000\/ref\u0001)/gi, function (p, p1, p2, p3, p4) { p2 = p2.replace(/<[^>]*>/g, ''); var str = '<span class="wikEdRefHide">' + p1 + p2 + p4 + '</span><!--wikEdRefHide-->'; return(str); } ); } // \u0000 and \u0001 back to &lt; and &gt; obj.html = obj.html.replace(/\u0000/g, '&lt;'); obj.html = obj.html.replace(/\u0001/g, '&gt;'); // display control chars with popup title var regExp = new RegExp('([' + wikEdControlCharsStr + '])', 'g'); obj.html = obj.html.replace(regExp, function (p, p1) { if (p1 == '\u0009') { p1 = '<span class="wikEdTab" title="' + wikEdControlChars[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdTab-->'; } else if (p1 != '\u000a') { p1 = '<span class="wikEdCtrl" title="' + wikEdControlChars[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdCtrl-->'; } return(p1); } ); // display strange spaces with popup title var regExpStr = ''; for (var decimalValue in wikEdStrangeSpaces) { regExpStr += String.fromCharCode(decimalValue); } var regExp = new RegExp('([' + regExpStr + '])', 'g'); obj.html = obj.html.replace(regExp, function (p, p1) { if (p1 != '\u000a') { p1 = '<span class="wikEdBlank" title="' + wikEdStrangeSpaces[p1.charCodeAt(0).toString()] + '">' + p1 + '</span><!--wikEdBlank-->'; } return(p1); } ); // remove comments if (wikEdRemoveHighlightComments == true) { obj.html = obj.html.replace(/<!--wikEd\w+-->/g, ''); } return; } // // WikEdFollowLinkUrl: prepare the span tag parameters for ctrl-click opening of highlighted links // add support for [[/subpage]] function WikEdFollowLinkUrl(linkPrefix, linkTitle, linkUrl) { var linkName = ''; // generate url from interlanguage or namespace prefix and title if (linkUrl == null) { // test for templates if ( (/\{|\}/.test(linkPrefix) == true) || (/\{|\}/.test(linkTitle) ) == true) { return(''); } // remove highlighting code linkPrefix = linkPrefix.replace(/<[^>]*>/g, ''); linkTitle = linkTitle.replace(/<[^>]*>/g, ''); // remove control chars var regExp = new RegExp('[' + wikEdControlCharsStr + ']', 'g'); linkPrefix = linkPrefix.replace(regExp, ''); linkTitle = linkTitle.replace(regExp, ''); // remove strange white spaces linkPrefix = linkPrefix.replace(/\s/, ' '); linkTitle = linkTitle.replace(/\s/, ' '); linkPrefix = linkPrefix.replace(/\s/g, ''); linkPrefix = linkPrefix.replace(/^:+/g, ''); linkTitle = linkTitle.replace(/ /g, '_'); linkTitle = linkTitle.substr(0, 1).toUpperCase() + linkTitle.substr(1); linkUrl = linkPrefix + linkTitle; linkUrl = encodeURI(linkUrl); linkUrl = linkUrl.replace(/\'/g, '%27'); linkUrl = linkUrl.replace(/#/g, '%23'); if (typeof(wgArticlePath) != 'string') { linkUrl = ''; } else { linkUrl = wgArticlePath.replace(/\$1/, linkUrl); linkName = linkPrefix + linkTitle; } } // url provided else { // test for templates if (/\{|\}/.test(linkUrl) == true) { return(''); } linkName = linkUrl; linkUrl = encodeURI(linkUrl); linkUrl = linkUrl.replace(/\'/g, '%27'); } linkName = linkName.replace(/</g, '&lt;'); linkName = linkName.replace(/>/g, '&gt;'); linkName = linkName.replace(/\"/g, '&quot;'); linkName = linkName.replace(/\'/g, '\\u0027'); var linkParam = ''; if (linkUrl != '') { linkParam = ' onclick="var linkUrl=\'' + linkUrl + '\'; var linkName = \'' + linkName + '\';"'; } return(linkParam) } // // WikEdUpdateTextarea: copy frame content to textarea // function WikEdUpdateTextarea() { // get frame content var obj = {}; obj.html = wikEdFrameBody.innerHTML; obj.html = obj.html.replace(/(<br\b[^>]*>)\n* */g, '$1'); // textify so that no html formatting is submitted WikEdTextify(obj); obj.plain = obj.plain.replace(/&nbsp;/g, ' '); obj.plain = obj.plain.replace(/&lt;/g, '<'); obj.plain = obj.plain.replace(/&gt;/g, '>'); obj.plain = obj.plain.replace(/&amp;/g, '&'); // copy to textarea wikEdTextarea.value = obj.plain; // remember frame scroll position wikEdFrameScrollTop = wikEdFrameBody.scrollTop; return; } // // WikEdUpdateFrame: copy textarea content to frame // function WikEdUpdateFrame() { // get textarea content var obj = {}; obj.html = wikEdTextarea.value; obj.html = obj.html.replace(/&/g, '&amp;'); obj.html = obj.html.replace(/>/g, '&gt;'); obj.html = obj.html.replace(/</g, '&lt;'); // highlight the syntax if (wikEdHighlightSyntax == true) { WikEdHighlightSyntax(obj); } // display tabs else { obj.html = obj.html.replace(/(\t)/g, '<span class="wikEdTabPlain">$1</span><!--wikEdTabPlain-->'); } // multiple blanks to blank-&nbsp; obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ /g, '&nbsp; '); obj.html = obj.html.replace(/ \n/g, '&nbsp;\n'); // newlines to <br /> obj.html = obj.html.replace(/\n/g, '<br />'); // select the whole text after replacing the whole text and scroll to same height obj.sel = wikEdFrameWindow.getSelection(); obj.sel.removeAllRanges(); // insert content into empty frame if ( (wikEdFrameBody.firstChild == null) || (wikEdFrameBody.innerHTML == '<br>') ) { wikEdFrameBody.innerHTML = obj.html; } // insert content into frame, preserve history else { var range = document.createRange(); range.setStartBefore(wikEdFrameBody.firstChild); range.setEndAfter(wikEdFrameBody.lastChild); obj.sel.addRange(range); // replace the frame content with the new text if (obj.html != '') { WikEdFrameExecCommand('inserthtml', obj.html); } else { WikEdFrameExecCommand('delete'); } obj.sel.removeAllRanges(); // scroll to previous position if (wikEdFrameScrollTop != null) { wikEdFrameBody.scrollTop = wikEdFrameScrollTop; } } wikEdFrameScrollTop = null; // add event handler to make highlighted frame links ctrl-clickable if (wikEdHighlightSyntax == true) { WikEdFollowLinks(); } return; } // // WikEdKeyFrame: event handler for key and mouse events in the frame // function WikEdKeyFrame(event) { if (wikEdUseWikEd == true) { switch (event.type) { // trap the tab key case 'keydown': switch (event.keyCode) { case 9: if (event.shiftKey == false) { event.preventDefault(); // scroll to text input top if (wikEdFullScreenMode == false) { var inputWrapperTop = WikEdGetOffsetTop(wikEdInputWrapper); window.scroll(0, inputWrapperTop); } // focus the summary wikEdSummaryText.focus(); } break; } break; // trap any other frame event case 'keyup': case 'keypress': case 'mouseup': // grey out inactive buttons WikEdInactiveButtons(); // reset the frame DOM cache wikEdFrameDOMCache = null; break; } } return; } // // WikEdFrameExecCommand: wrapper for execCommand method // function WikEdFrameExecCommand(command, option) { wikEdFrameDocument.execCommand(command, false, option); return; } // // WikEdFindAhead: non-regexp and case-insensitive find-as-you-type, event handler for find field // function WikEdFindAhead() { if (wikEdFindAhead.checked == true) { // get the find text var findText = wikEdFindText.value; if (findText == '') { return; } // remember position var sel = wikEdFrameWindow.getSelection(); var range = sel.getRangeAt(sel.rangeCount - 1).cloneRange(); var rangeClone = range.cloneRange(); var scrollTop = wikEdFrameBody.scrollTop; sel.removeAllRanges(); sel.addRange(range); range.collapse(true); // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) // Mozilla bug: searchInFrames must be true, otherwise wrapAround does not work var found = wikEdFrameWindow.find(findText, false, false, true, false, true, false); // add original selection if (found == false) { wikEdFrameBody.scrollTop = scrollTop; sel.removeAllRanges(); sel.addRange(rangeClone); } } return; } // // WikEdMainSwitch: onclick handler for program logo // function WikEdMainSwitch() { // disable function if browser is incompatible if (wikEdBrowserNotSupported == true) { return; } // enable wikEd if (wikEdDisabled == true) { wikEdDisabled = false; WikEdSetCookie('wikEdDisabled', '', -1, '/'); // turn rich text frame on if (wikEdLoaded == true) { WikEdSetLogo(); WikEdUpdateFrame(); WikEdSetEditArea(true); wikEdButtonBarControl.style.display = 'block'; wikEdButtonBarPreview.style.display = 'block'; wikEdButtonBarJump.style.display = 'block'; } // setup wikEd else { WikEdSetup(false); return; } } // disable wikEd else { wikEdDisabled = true; WikEdSetLogo(); WikEdSetCookie('wikEdDisabled', '1', 0, '/'); if (wikEdLoaded == true) { if (wikEdFullScreenMode == true) { WikEdFullScreen(false); } // turn classic textarea on WikEdUpdateTextarea(); WikEdSetEditArea(false); wikEdButtonBarControl.style.display = 'none'; wikEdButtonBarPreview.style.display = 'none'; wikEdLocalPrevWrapper.style.display = 'none'; wikEdButtonBarJump.style.display = 'none'; } } return; } // // WikEdFullScreen: change to fullscreen edit area or back to normal view // function WikEdFullScreen(fullscreen, notFrame) { // hide or show elements var displayStyle; if (fullscreen == true) { displayStyle = 'none'; } else { displayStyle = 'block'; } // elements above input wrapper var node = document.getElementById('editform').previousSibling; while (node != null) { if ( (node.nodeName == 'DIV') || (node.nodeName == 'H3') ) { node.style.display = displayStyle; } node = node.previousSibling; } document.getElementsByTagName('H1')[0].style.display = displayStyle; // divs below input wrapper var node = wikEdInputWrapper.nextSibling; while (node != null) { if (node.nodeName == 'DIV') { node.style.display = displayStyle; } node = node.nextSibling; } // divs below input wrapper, some levels up var node = document.getElementById('column-one'); while (node != null) { if (node.nodeName == 'DIV') { node.style.display = displayStyle; } node = node.nextSibling; } // insert wrapper document.getElementById('wikEdInsertWrapper').style.display = displayStyle; // change styles if (fullscreen) { if (notFrame != true) { wikEdInputWrapper.className = 'wikEdInputWrapperFull'; } wikEdButtonBarPreview.className = 'wikEdButtonBarPreviewFull'; } else { if (notFrame != true) { wikEdInputWrapper.className = 'wikEdInputWrapper'; } wikEdButtonBarPreview.className = 'wikEdButtonBarPreview'; } // resize the frame if (fullscreen) { var consoleTop = WikEdGetOffsetTop(wikEdConsoleWrapper); var consoleHeight = wikEdConsoleWrapper.offsetHeight; var frameHeight = wikEdFrame.offsetHeight; var windowHeight = window.innerHeight; var windowWidth = window.innerWidth; var frameHeightNew = frameHeight + (windowHeight - (consoleTop + consoleHeight) ) - 2; wikEdFrame.style.height = frameHeightNew + 'px'; } else { wikEdFrame.style.height = wikEdTextareaHeight + 'px'; } // scroll to edit-frame if (fullscreen == false) { window.scroll(0, WikEdGetOffsetTop(wikEdInputWrapper) - 2); } // set the fullscreen button state WikEdButton(document.getElementById('wikEdFullScreen'), 'wikEdFullScreen', null, fullscreen); // grey out or re-activate scroll-to buttons var buttonClass; if (fullscreen) { buttonClass = 'wikEdButtonInactive'; } else { buttonClass = 'wikEdButton'; } document.getElementById('wikEdScrollToPreview').className = buttonClass; document.getElementById('wikEdScrollToPreview2').className = buttonClass; document.getElementById('wikEdScrollToEdit').className = buttonClass; document.getElementById('wikEdScrollToEdit2').className = buttonClass; // resize the summary field WikEdResizeSummary(); wikEdFullScreenMode = fullscreen; return; } // // WikEdResizeSummary: recalculate the summary width after resizing the window // function WikEdResizeSummary() { wikEdSummaryText.style.width = ''; wikEdSummarySelect.style.width = ''; var wikEdSummaryTextWidth = wikEdSummaryWrapper.clientWidth - ( WikEdGetOffsetLeft(wikEdSummaryText) - WikEdGetOffsetLeft(wikEdSummaryWrapper) ); if (wikEdSummaryTextWidth < 150) { wikEdSummaryTextWidth = 150; } wikEdSummaryText.style.width = wikEdSummaryTextWidth + 'px'; WikEdResizeComboInput('summary'); return; } // // WikEdResizeComboInput: set the size of the background select boxes so that the button is visible // function WikEdResizeComboInput(field) { // add a dummy option if no options have been added yet var dummy; var testOption = 1; if (wikEdSelectElement[field].options.length == 0) { testOption = 0; wikEdSelectElement[field].options[0] = new Option(''); dummy = true; } // set option widths to 0 for (var i = 0; i < wikEdSelectElement[field].options.length; i ++) { wikEdSelectElement[field].options[i].style.width = '0'; } // calculate select width var inputWidth = wikEdInputElement[field].clientWidth; var selectWidth = wikEdSelectElement[field].clientWidth; var optionWidth = wikEdSelectElement[field].options[testOption].offsetWidth; var border = wikEdInputElement[field].offsetWidth - wikEdInputElement[field].clientWidth; selectWidth = selectWidth - optionWidth + inputWidth - border + 1; var buttonWidth = selectWidth - inputWidth; if (inputWidth - buttonWidth > 150) { wikEdInputElement[field].style.width = (inputWidth - buttonWidth) + 'px'; wikEdSelectElement[field].style.width = (selectWidth - buttonWidth) + 'px'; } else { wikEdSelectElement[field].style.width = selectWidth + 'px'; } // delete dummy option if (dummy == true) { wikEdSelectElement[field].options[0] = null; } // set option widths to auto for (var i = 0; i < wikEdSelectElement[field].options.length; i ++) { wikEdSelectElement[field].options[i].style.width = 'auto'; } return; } // // WikEdChangeComboInput: set the input value to selected option; onchange event handler for select boxes // function WikEdChangeComboInput(field) { wikEdInputElement[field].focus; // get selection index (-1 for unselected) var selected = wikEdSelectElement[field].selectedIndex; if (selected >= 0) { wikEdSelectElement[field].selectedIndex = -1; // get selected option var option = wikEdSelectElement[field].options[selected]; if (option.text != '') { // jump to heading if (/^=/.test(option.value) == true) { // parameters: window.find(string, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog) // Mozilla bug: searchInFrames must be true, otherwise wrapAround does not work wikEdFrameWindow.find(option.value, true, false, true, false, true, false); } // update input field else { // add a tag to the summary box if (field == 'summary') { wikEdInputElement[field].value = WikEdAppendToSummary(wikEdInputElement[field].value, option.text); } // add case and regexp checkboxes to find / replace fields else if (option.value == 'setcheck') { WikEdButton(document.getElementById('wikEdCaseSensitive'), 'wikEdCaseSensitive', null, (option.text.charAt(0) == wikEdCheckMarker[true]) ); WikEdButton(document.getElementById('wikEdRegExp'), 'wikEdRegExp', null, (option.text.charAt(1) == wikEdCheckMarker[true]) ); wikEdInputElement[field].value = option.text.substr(3); } // add option text else { wikEdInputElement[field].value = option.text; } // find the new text if ( (field == 'find') && (wikEdFindAhead.checked == true) ) { WikEdFindAhead(); } } } } return; } // // WikEdAppendToSummary: append a phrase to the summary text // function WikEdAppendToSummary(summary, append) { summary = summary.replace(/^[, ]+/, ''); summary = summary.replace(/[, ]+$/, ''); if (summary != '') { if (summary.match(/ \*\/$/) != null) { summary += ' '; } else if (summary.match(/[\.\;\:]$/) != null) { summary += ' '; } else if (summary.match(/^[\wÀ-ÖØ-öø-\u0220\u0222-\u0233ΆΈΉΊΌΎΏΑ-ΡΣ-ώ\u0400-\u0481\u048a-\u04ce\u04d0-\u04f5\u04f8\u04f9\(\)\"\'\+\-]/) == null) { summary += ' '; } else { summary += ', '; } } summary += append; return(summary); } // // WikEdAddToHistory: add an input value to the cookie history // function WikEdAddToHistory(field) { if (wikEdInputElement[field].value != '') { // load history from cookie WikEdLoadHistoryFromCookie(field); // add current value to history wikEdFieldHist[field].unshift(wikEdInputElement[field].value); // add case and regexp checkboxes to find / replace value if ( (field == 'find') || (field == 'replace') ) { wikEdFieldHist[field][0] = wikEdCheckMarker[ document.getElementById('wikEdCaseSensitive').checked ] + wikEdCheckMarker[ document.getElementById('wikEdRegExp').checked ] + ' ' + wikEdFieldHist[field][0]; } // remove paragraph names from summary if (field == 'summary') { wikEdFieldHist[field][0] = wikEdFieldHist[field][0].replace(/^\/\* .*? \*\/ */, ''); } // remove multiple old copies from history var i = 1; while (i < wikEdFieldHist[field].length) { if (wikEdFieldHist[field][i] == wikEdFieldHist[field][0]) { wikEdFieldHist[field].splice(i, 1); } else { i ++; } } // remove new value if it is a preset value if (wikEdComboPresetOptions[field] != null) { var i = 0; while (i < wikEdComboPresetOptions[field].length) { if (wikEdComboPresetOptions[field][i] == wikEdFieldHist[field][0]) { wikEdFieldHist[field].shift(); break; } else { i ++; } } } // cut history number to maximal history length wikEdFieldHist[field] = wikEdFieldHist[field].slice(0, wikEdHistoryLength[field]); // saved history to cookie if (wikEdFieldHist[field][0] != '') { WikEdSaveHistoryToCookie(field); } } return; } // // WikEdSetComboOptions: generate the select options from cookie history; onfocus handler for select box // function WikEdSetComboOptions(field) { // load history from cookie WikEdLoadHistoryFromCookie(field); var option = {}; var selectedOption = null; // delete options var options = wikEdSelectElement[field].options; for (var i = 0; i < options.length; i ++) { wikEdSelectElement[field].remove(i); } // delete optgroup option = document.getElementById(field + 'Optgroup'); if (option != null) { wikEdSelectElement[field].removeChild(option); } // workaround for onchange not firing when selecting first option from unselected dropdown option = document.createElement('option'); option.style.display = 'none'; j = 0; wikEdSelectElement[field].options[j++] = option; // add history entries for (var i = 0; i < wikEdFieldHist[field].length; i ++) { if (wikEdFieldHist[field][i] != null) { if (wikEdFieldHist[field][i] == wikEdInputElement[field].value) { selectedOption = j; } option = document.createElement('option'); option.text = wikEdFieldHist[field][i]; if ( (field == 'find') || (field == 'replace') ) { option.value = 'setcheck'; } wikEdSelectElement[field].options[j++] = option; } } // add preset entries var startPreset = 0; if (wikEdComboPresetOptions[field] != null) { startPreset = j; for (var i = 0; i < wikEdComboPresetOptions[field].length; i ++) { if (wikEdComboPresetOptions[field][i] != null) { // replace spaces with nbsp to allow for multiple and trailing spaces wikEdComboPresetOptions[field][i] = wikEdComboPresetOptions[field][i].replace(/ /g, '\u00a0'); // select a dropdown value if (wikEdComboPresetOptions[field][i] == wikEdInputElement[field].value) { selectedOption = j; } option = document.createElement('option'); option.text = wikEdComboPresetOptions[field][i]; if (field == 'summary') { option.text = option.text.replace(/\{wikEdUsing\}/g, wikEdSummaryUsing); } wikEdSelectElement[field].options[j++] = option; } } } // set the selection wikEdSelectElement[field].selectedIndex = selectedOption; // add a blank preset separator if ( (startPreset > 1) && (startPreset < j) ) { option = document.createElement('optgroup'); option.label = '\u00a0'; option.id = field + 'Optgroup'; wikEdSelectElement[field].insertBefore(option, wikEdSelectElement[field].options[startPreset]); } // add the TOC jumper to the find field var startTOC = 0; if (field == 'find') { startTOC = j; // get the whole plain text var plain = wikEdFrameBody.innerHTML; plain = plain.replace(/<br\b[^>]*>/g, '\n'); plain = plain.replace(/<.*?>/g, ''); // cycle through the headings var heading = plain.match(/(^|\n)=+[^\n]+?=+[^\n=]*[ =\t]*(?=(\n|$))/g); for (var i = 0; i < heading.length; i ++) { var headingMatch = heading[i].match(/\n?((=+) *([^\n]+?)( *\2))/); var headingIndent = headingMatch[2] headingIndent = headingIndent.replace(/^=/g, ''); headingIndent = headingIndent.replace(/=/g, '\u00a0'); // add headings to the select element option = document.createElement('option'); option.text = '\u21d2' + headingIndent + headingMatch[3]; option.value = headingMatch[1]; wikEdSelectElement[field].options[j++] = option; } } // add a blank TOC separator if ( (startTOC > 1) && (startTOC < j) ) { option = document.createElement('optgroup'); option.label = '\u00a0'; option.id = field + 'Optgroup'; wikEdSelectElement[field].insertBefore(option, wikEdSelectElement[field].options[startTOC]); } return; } // // WikEdClearHistory: clear the history of combo input fields // function WikEdClearHistory(field) { WikEdSetCookie(wikEdCookieName[field], '', 0, '/'); WikEdSetComboOptions(field); return; } // // WikEdLoadHistoryFromCookie: get the input box history from the respective cookie // function WikEdLoadHistoryFromCookie(field) { var cookie = WikEdGetCookie(wikEdCookieName[field]); if (cookie != '') { cookie = decodeURIComponent(cookie); wikEdFieldHist[field] = cookie.split('\n'); } else { wikEdFieldHist[field] = []; } return; } // // WikEdSaveHistoryToCookie: save the input box history to the respective cookie // function WikEdSaveHistoryToCookie(field) { var cookie = ''; cookie = wikEdFieldHist[field].join('\n') cookie = cookie.replace(/\n$/, ''); cookie = encodeURIComponent(cookie); WikEdSetCookie(wikEdCookieName[field], cookie, 0, '/'); return; } // WikEdGetStyle: get computed style properties for non-inline css definitions function WikEdGetStyle(element, styleProperty) { var style; if (element != null) { style = document.defaultView.getComputedStyle(element, null).getPropertyValue(styleProperty); } return(style); } // // WikEdGetCookie: get a cookie // function WikEdGetCookie(name) { var cookie = ' ' + document.cookie; var search = ' ' + name + '='; var setStr = ''; var offset = 0; var end = 0; offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(';', offset) if (end == -1) { end = cookie.length; } setStr = cookie.substring(offset, end); setStr = setStr.replace(/\\+/g, ' '); setStr = decodeURIComponent(setStr); } return(setStr); } // // WikEdSetCookie: set a cookie, deletes a cookie for expire = -1 // function WikEdSetCookie(name, value, expires, path, domain, secure) { var cookie = name + '=' + encodeURIComponent(value); if (expires != null) { // generate a date 1 hour ago to delete the cookie if (expires == -1) { var cookieExpire = new Date(); expires = cookieExpire.setTime(cookieExpire.getTime() - 60 * 60 * 1000); expires = cookieExpire.toUTCString(); } // get date from expiration preset else if (expires == 0) { var cookieExpire = new Date(); expires = cookieExpire.setTime(cookieExpire.getTime() + wikEdCookieExpireSec * 1000); expires = cookieExpire.toUTCString(); } cookie += '; expires=' + expires; } if (path != null) { cookie += '; path=' + path; } if (domain != null) { cookie += '; domain=' + domain; } if (secure != null) { cookie += '; secure'; } document.cookie = cookie; } // // WikEdGetCookieSetting: get a wikEd setting depending on the presence of a cookie // function WikEdGetCookieSetting(cookieName, preset) { if (WikEdGetCookie(cookieName) != '') { return(!preset); } else { return(preset); } } // // WikEdGetOffsetTop: get element offset relative to window top // function WikEdGetOffsetTop(element) { var offset = 0; do { offset += element.offsetTop; } while ( (element = element.offsetParent) != null ); return(offset); } // // WikEdGetOffsetLeft: get element offset relative to left window border // function WikEdGetOffsetLeft(element) { var offset = 0; do { offset += element.offsetLeft; } while ( (element = element.offsetParent) != null ); return(offset); } // define leaf elements for WikEdGetInnerHTML var wikEdLeafElements = []; wikEdLeafElements['IMG'] = true; wikEdLeafElements['HR'] = true; wikEdLeafElements['BR'] = true; wikEdLeafElements['INPUT'] = true; // // WikEdParseDOM: parses a DOM subtree and and adds plain text into a complex data structure // wikEdFrameDOMCache contains the last parse if the frame has not changed // function WikEdParseDOM(obj, topNode) { /* problematic because of obj.changed ////////////////////// if (wikEdFrameDOMCache != null) { obj = wikEdFrameDOMCache; return; } */ obj.plainLength = 0; obj.plainArray = []; obj.plainNode = []; obj.plainStart = []; obj.plainPos = []; WikEdParseDOMRecursive(obj, topNode); obj.plain = obj.plainArray.join(''); wikEdFrameDOMCache = obj; return; } // // WikEdParseDOMRecursive: parses a DOM tree and and adds plain text into the data structure // function WikEdParseDOMRecursive(obj, currentNode) { // cycle through the child nodes of currentNode for (var property in currentNode.childNodes) { var childNode = currentNode.childNodes[property]; if (childNode == null) { break; } // check for selection if (childNode == obj.sel.focusNode) { obj.plainFocus = obj.plainLength + obj.sel.focusOffset; } if (childNode == obj.sel.anchorNode) { obj.plainAnchor = obj.plainLength + obj.sel.anchorOffset; } var value = null; // get text of child node switch (childNode.nodeType) { case 1: if ( (childNode.childNodes.length == 0) && (wikEdLeafElements[childNode.nodeName] == true) ) { if (childNode.nodeName == 'BR') { value = '\n'; } } else { WikEdParseDOMRecursive(obj, childNode); } break; case 3: value = childNode.nodeValue; value = value.replace(/\n/g, ' '); break; case 5: value = '&' + childNode.nodeName + ';'; break; } // add text to text object if (value != null) { // array of text fragments obj.plainArray.push(value); // array of text fragment node references obj.plainNode.push(childNode); // array of text fragment text positions obj.plainStart.push(obj.plainLength); // node references containing text positions obj.plainPos[childNode] = obj.plainLength; // current text length obj.plainLength += value.length; } } return; } // // WikEdGetInnerHTML: get the innerHTML from a document fragment // function WikEdGetInnerHTML(obj, currentNode) { // initialize string if (obj.html == null) { obj.html = ''; } if (obj.plain == null) { obj.plain = ''; } if (obj.plainArray == null) { obj.plainArray = []; obj.plainNode = []; obj.plainStart = []; } for (var i = 0; i < currentNode.childNodes.length; i ++) { var childNode = currentNode.childNodes.item(i); switch (childNode.nodeType) { case 1: obj.html += '<' + childNode.nodeName.toLowerCase(); for (var j = 0; j < childNode.attributes.length; j ++) { if (childNode.attributes.item(j).nodeValue != null) { obj.html += ' ' + childNode.attributes.item(j).nodeName + '="' + childNode.attributes.item(j).nodeValue.replace(/</g, '&lt;').replace(/>/g, '&gt;') + '"'; } } if ( (childNode.childNodes.length == 0) && wikEdLeafElements[childNode.nodeName] ) { obj.html += '>'; if (childNode.nodeName == 'BR') { obj.plainArray.push('\n'); obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); obj.plain += '\n'; } } else { obj.html += '>'; WikEdGetInnerHTML(obj, childNode); obj.html += '</' + childNode.nodeName.toLowerCase() + '>' } break; case 3: var value = childNode.nodeValue; value = value.replace(/\n/g, ' '); // important for pasted page content obj.plainArray.push(value); // plain array contains & < > instead of &amp; &lt; &gt; obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); value = value.replace(/&/g, '&amp;'); value = value.replace(/</g, '&lt;'); value = value.replace(/>/g, '&gt;'); obj.html += value; obj.plain += value; break; case 4: obj.html += '<![CDATA[' + childNode.nodeValue + ']]>'; break; case 5: var value = '&' + childNode.nodeName + ';'; obj.plainArray.push(value); obj.plainNode.push(childNode); obj.plainStart.push(obj.plain.length); value = value.replace(/&/g, '&amp;'); obj.html += value; obj.plain += value; break; case 8: obj.html += '<!--' + childNode.nodeValue + '-->'; break; } } return; } // // WikEdStyleSheet: create a new style sheet object, also defined in wikEdDiff.js // function WikEdStyleSheet(documentObject) { this.styleElement = null; if (documentObject == null) { documentObject = document; } // IE if (documentObject.createStyleSheet) { this.styleElement = documentObject.createStyleSheet(); } // standards compliant browsers else { this.styleElement = documentObject.createElement('style'); this.styleElement.from = 'text/css'; var insert = documentObject.getElementsByTagName('head')[0]; if (insert != null) { insert.appendChild(this.styleElement); } } // addRule: add one rule at the time using DOM method, very slow // IE this.addRule = function(selector, declaration) { if (this.styleElement.addRule) { this.styleElement.addRule(selector, declaration); } // standards compliant browsers else { if (this.styleElement.sheet != null) { if (this.styleElement.sheet.insertRule != null) { this.styleElement.sheet.insertRule(selector + ' { ' + declaration + ' } ', 0); } } } }; // addRules: add all rules at once, much faster this.addRules = function(rules) { this.styleElement.innerHTML = rules; return; } } // // WikEdAjaxInitObject: cross browser wrapper for creating new XMLHttpRequest object // function WikEdAjaxInitObject() { var ajax; // current browsers try { ajax = new XMLHttpRequest(); } catch (e) { // IE 6 try { ajax = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { // IE 5.5 try { ajax = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { } } } return(ajax); } // // WED: shortcut for WikEdDebug // function WED(objectName, object) { WikEdDebug(objectName, object); return; } // // WikEdDebug: print the value of variables // function WikEdDebug(objectName, object) { if (wikEdLoaded == true) { document.getElementById('wikEdTextareaWrapper').style.position = 'static'; document.getElementById('wikEdTextareaWrapper').style.visibility = 'visible'; wikEdTextarea.style.display = 'block'; if (objectName == null) { wikEdTextarea.value = ''; wikEdTextarea.style.height = '25em'; } else { wikEdTextarea.value += objectName + ': ' + object + '\n'; } } else if (objectName != null) { alert(objectName + ':\n\n' + object + '\n'); } return; } // // WikEdDebugTimer: show all measured timepoints // add a new time measurement: wikEdDebugTimer.push([1234, new Date]); function WikEdDebugTimer() { var times = ''; var start = wikEdDebugTimer[0][1].getTime(); var prev = 0; for (var i = 0; i < wikEdDebugTimer.length; i ++) { var curr = wikEdDebugTimer[i][1].getTime() - start; var diff = curr - prev; var prev = curr; times += wikEdDebugTimer[i][0] + ': ' + curr + ' ms (+' + diff + 'ms)\n'; } alert(times); } // // WikEdInsertTags: overrides the insertTags function in wikibits.js used by the standard button toolbar and the editpage special chars // function WikEdInsertTags(tagOpen, tagClose, sampleText) { if (wikEdUseWikEd == true) { WikEdEditButton(document.getElementById('wikEdInsertTags'), 'wikEdInsertTags', [tagOpen, tagClose, sampleText]); } else if (wikeEdInsertTagsOriginal != null) { wikeEdInsertTagsOriginal(tagOpen, tagClose, sampleText); } return; } // // WikEdInitUnicode: define character tables used in WikedFixUnicode() // see http://kmi.open.ac.uk/projects/ceryle/doc/docs/NOTE-charents.html // removed because of internal use: < ['003c', 'lt']; > ['003e', 'gt']; & ['0026', 'amp'], ['00a0', 'nbsp'] function WikEdInitUnicode() { // define only once if (wikEdSupportedChars != null) { return; } // supported chars in Mozilla and IE wikEdSupportedChars = [ ['00a1', 'iexcl'], // ¡ ['00a2', 'cent'], // ¢ ['00a3', 'pound'], // £ ['00a4', 'curren'], // ¤ ['00a5', 'yen'], // ¥ ['00a6', 'brvbar'], // ¦ ['00a7', 'sect'], // § ['00a8', 'uml'], // ¨ ['00a9', 'copy'], // © ['00aa', 'ordf'], // ª ['00ab', 'laquo'], // « ['00ac', 'not'], // ¬ ['00ae', 'reg'], // ® ['00af', 'macr'], // ¯ ['00b0', 'deg'], // ° ['00b1', 'plusmn'], // ± ['00b2', 'sup2'], // ² ['00b3', 'sup3'], // ³ ['00b4', 'acute'], // ´ ['00b5', 'micro'], // µ ['00b6', 'para'], // ¶ ['00b7', 'middot'], // · ['00b8', 'cedil'], // ¸ ['00b9', 'sup1'], // ¹ ['00ba', 'ordm'], // º ['00bb', 'raquo'], // » ['00bc', 'frac14'], // ¼ ['00bd', 'frac12'], // ½ ['00be', 'frac34'], // ¾ ['00bf', 'iquest'], // ¿ ['00c0', 'Agrave'], // À ['00c1', 'Aacute'], // Á ['00c2', 'Acirc'], //  ['00c3', 'Atilde'], // à ['00c4', 'Auml'], // Ä ['00c5', 'Aring'], // Å ['00c6', 'AElig'], // Æ ['00c7', 'Ccedil'], // Ç ['00c8', 'Egrave'], // È ['00c9', 'Eacute'], // É ['00ca', 'Ecirc'], // Ê ['00cb', 'Euml'], // Ë ['00cc', 'Igrave'], // Ì ['00cd', 'Iacute'], // Í ['00ce', 'Icirc'], // Î ['00cf', 'Iuml'], // Ï ['00d0', 'ETH'], // Ð ['00d1', 'Ntilde'], // Ñ ['00d2', 'Ograve'], // Ò ['00d3', 'Oacute'], // Ó ['00d4', 'Ocirc'], // Ô ['00d5', 'Otilde'], // Õ ['00d6', 'Ouml'], // Ö ['00d7', 'times'], // × ['00d8', 'Oslash'], // Ø ['00d9', 'Ugrave'], // Ù ['00da', 'Uacute'], // Ú ['00db', 'Ucirc'], // Û ['00dc', 'Uuml'], // Ü ['00dd', 'Yacute'], // Ý ['00de', 'THORN'], // Þ ['00df', 'szlig'], // ß ['00e0', 'agrave'], // à ['00e1', 'aacute'], // á ['00e2', 'acirc'], // â ['00e3', 'atilde'], // ã ['00e4', 'auml'], // ä ['00e5', 'aring'], // å ['00e6', 'aelig'], // æ ['00e7', 'ccedil'], // ç ['00e8', 'egrave'], // è ['00e9', 'eacute'], // é ['00ea', 'ecirc'], // ê ['00eb', 'euml'], // ë ['00ec', 'igrave'], // ì ['00ed', 'iacute'], // í ['00ee', 'icirc'], // î ['00ef', 'iuml'], // ï ['00f0', 'eth'], // ð ['00f1', 'ntilde'], // ñ ['00f2', 'ograve'], // ò ['00f3', 'oacute'], // ó ['00f4', 'ocirc'], // ô ['00f5', 'otilde'], // õ ['00f6', 'ouml'], // ö ['00f7', 'divide'], // ÷ ['00f8', 'oslash'], // ø ['00f9', 'ugrave'], // ù ['00fa', 'uacute'], // ú ['00fb', 'ucirc'], // û ['00fc', 'uuml'], // ü ['00fd', 'yacute'], // ý ['00fe', 'thorn'], // þ ['00ff', 'yuml'], // ÿ ['0027', 'apos'], // ' ['0022', 'quot'], // " ['0152', 'OElig'], // Œ ['0153', 'oelig'], // œ ['0160', 'Scaron'], // Š ['0161', 'scaron'], // š ['0178', 'Yuml'], // Ÿ ['02c6', 'circ'], // ˆ ['02dc', 'tilde'], // ˜ ['2013', 'ndash'], // – ['2014', 'mdash'], // — ['2018', 'lsquo'], // ‘ ['2019', 'rsquo'], // ’ ['201a', 'sbquo'], // ‚ ['201c', 'ldquo'], // “ ['201d', 'rdquo'], // ” ['201e', 'bdquo'], // „ ['2020', 'dagger'], // † ['2021', 'Dagger'], // ‡ ['2030', 'permil'], // ‰ ['2039', 'lsaquo'], // ‹ ['203a', 'rsaquo'], // › ['20ac', 'euro'], // € ['0192', 'fnof'], // ƒ ['0391', 'Alpha'], // Α ['0392', 'Beta'], // Β ['0393', 'Gamma'], // Γ ['0394', 'Delta'], // Δ ['0395', 'Epsilon'],// Ε ['0396', 'Zeta'], // Ζ ['0397', 'Eta'], // Η ['0398', 'Theta'], // Θ ['0399', 'Iota'], // Ι ['039a', 'Kappa'], // Κ ['039b', 'Lambda'], // Λ ['039c', 'Mu'], // Μ ['039d', 'Nu'], // Ν ['039e', 'Xi'], // Ξ ['039f', 'Omicron'],// Ο ['03a0', 'Pi'], // Π ['03a1', 'Rho'], // Ρ ['03a3', 'Sigma'], // Σ ['03a4', 'Tau'], // Τ ['03a5', 'Upsilon'],// Υ ['03a6', 'Phi'], // Φ ['03a7', 'Chi'], // Χ ['03a8', 'Psi'], // Ψ ['03a9', 'Omega'], // Ω ['03b1', 'alpha'], // α ['03b2', 'beta'], // β ['03b3', 'gamma'], // γ ['03b4', 'delta'], // δ ['03b5', 'epsilon'],// ε ['03b6', 'zeta'], // ζ ['03b7', 'eta'], // η ['03b8', 'theta'], // θ ['03b9', 'iota'], // ι ['03ba', 'kappa'], // κ ['03bb', 'lambda'], // λ ['03bc', 'mu'], // μ ['03bd', 'nu'], // ν ['03be', 'xi'], // ξ ['03bf', 'omicron'],// ο ['03c0', 'pi'], // π ['03c1', 'rho'], // ρ ['03c2', 'sigmaf'], // ς ['03c3', 'sigma'], // σ ['03c4', 'tau'], // τ ['03c5', 'upsilon'],// υ ['03c6', 'phi'], // φ ['03c7', 'chi'], // χ ['03c8', 'psi'], // ψ ['03c9', 'omega'], // ω ['2022', 'bull'], // • ['2026', 'hellip'], // … ['2032', 'prime'], // ′ ['2033', 'Prime'], // ″ ['203e', 'oline'], // ‾ ['2044', 'frasl'], // ⁄ ['2122', 'trade'], // ™ ['2190', 'larr'], // ← ['2191', 'uarr'], // ↑ ['2192', 'rarr'], // → ['2193', 'darr'], // ↓ ['2194', 'harr'], // ↔ ['21d2', 'rArr'], // ⇒ ['21d4', 'hArr'], // ⇔ ['2200', 'forall'], // ∀ ['2202', 'part'], // ∂ ['2203', 'exist'], // ∃ ['2207', 'nabla'], // ∇ ['2208', 'isin'], // ∈ ['220b', 'ni'], // ∋ ['220f', 'prod'], // ∏ ['2211', 'sum'], // ∑ ['2212', 'minus'], // − ['221a', 'radic'], // √ ['221d', 'prop'], // ∝ ['221e', 'infin'], // ∞ ['2220', 'ang'], // ∠ ['2227', 'and'], // ∧ ['2228', 'or'], // ∨ ['2229', 'cap'], // ∩ ['222a', 'cup'], // ∪ ['222b', 'int'], // ∫ ['2234', 'there4'], // ∴ ['223c', 'sim'], // ∼ ['2248', 'asymp'], // ≈ ['2260', 'ne'], // ≠ ['2261', 'equiv'], // ≡ ['2264', 'le'], // ≤ ['2265', 'ge'], // ≥ ['2282', 'sub'], // ⊂ ['2283', 'sup'], // ⊃ ['2286', 'sube'], // ⊆ ['2287', 'supe'], // ⊇ ['2295', 'oplus'], // ⊕ ['22a5', 'perp'], // ⊥ ['25ca', 'loz'], // ◊ ['2660', 'spades'], // ♠ ['2663', 'clubs'], // ♣ ['2665', 'hearts'], // ♥ ['2666', 'diams'] // ♦ ]; // special chars (spaces and invisible characters) wikEdSpecialChars = [ ['2002', 'ensp'], //   en space ['00ad', 'shy'], // ­ soft hyphen ['2003', 'emsp'], //   em space ['2009', 'thinsp'], //   thin space ['200c', 'zwnj'], // ‌ zero width non-joiner ['200d', 'zwj'], // ‍ zero width joiner ['200e', 'lrm'], // ‎ left-to-right mark ['200f', 'rlm'] // ‏ right-to-left mark ]; // unsupported chars in IE6 wikEdProblemChars = [ ['03d1', 'thetasym'], // ϑ ['03d2', 'upsih'], // ϒ ['03d6', 'piv'], // ϖ ['2118', 'weierp'], // ℘ ['2111', 'image'], // ℑ ['211c', 'real'], // ℜ ['2135', 'alefsym'], // ℵ ['21b5', 'crarr'], // ↵ ['21d0', 'lArr'], // ⇐ ['21d1', 'uArr'], // ⇑ ['21d3', 'dArr'], // ⇓ ['2205', 'empty'], // ∅ ['2209', 'notin'], // ∉ ['2217', 'lowast'], // ∗ ['2245', 'cong'], // ≅ ['2284', 'nsub'], // ⊄ ['22a5', 'perp'], // ⊥ ['2297', 'otimes'], // ⊗ ['22c5', 'sdot'], // ⋅ ['2308', 'lceil'], // ⌈ ['2309', 'rceil'], // ⌉ ['230a', 'lfloor'], // ⌊ ['230b', 'rfloor'], // ⌋ ['2329', 'lang'], // 〈 ['232a', 'rang'] // 〉 ]; // ASCII control characters and invisibles, used for syntax highlighting wikEdControlChars = { '0': 'null', '1': 'start of heading', '2': 'start of text', '3': 'end of text', '4': 'end of transmission', '5': 'enquiry', '6': 'acknowledge', '7': 'bell', '8': 'backspace', '9': 'horizontal tab', '10': 'line feed, new line', '11': 'vertical tab', '12': 'form feed, new page', '13': 'carriage return', '14': 'shift out', '15': 'shift in', '16': 'data link escape', '17': 'device control 1', '18': 'device control 2', '19': 'device control 3', '20': 'device control 4', '21': 'negative acknowledge', '22': 'synchronous idle', '23': 'end of trans. block', '24': 'cancel', '25': 'end of medium', '25': 'substitute', '26': 'escape', '27': 'file separator', '28': 'group separator', '29': 'record separator', '30': 'unit separator', '173' : 'soft hyphen', // \u00ad '8204': 'zero width non-joiner', // \u200c '8205': 'zero width joiner', // \u200d '8206': 'left-to-right mark', // \u200e '8207': 'right-to-left mark', // \u200f '8232': 'line separator', // \u2028 '8233': 'paragraph separator' // \u2028 }; for (var decimalValue in wikEdControlChars) { wikEdControlCharsStr += String.fromCharCode(decimalValue); } // strange spaces, used for syntax highlighting wikEdStrangeSpaces = { '31': 'non-breaking space', // \u00a0 '8194': 'en space', // \u2002 '8195': 'em space', // \u2003 '8201': 'thin space' // \u2009 }; return; } /* </nowiki></pre> */ a45ql4ef84hp1atw1x6x5df5dgmnvfx Template:1 10 2188 6092 6091 2007-06-24T00:42:35Z 85.159.52.82 6092 wikitext text/x-wiki </pre> =={{{1}}}== <pre> 4qa4aygafk8mla2tuho65ni0u7c31xq raasumaal 0 2189 19196 9335 2017-04-28T17:29:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19196 wikitext text/x-wiki {{-so-}} === Magac === '''Raasumaal''' # Raasumaal: Capital waa kelmed macnayaal badan leh oo asal ahaana ka soo jeedda afka carabiga(Ra'sulmaal; macnahuna waa lacagata loo maal gashado ganacsi ahaan asalkeeda markaan lagu darin faa'iidada maba aan khasaare laga jarin. # Af-Soomaaliga macnahaas hore way ku leedahay, waxayse caan ku tahay xagga miyiga oo looga yaqaano geela irmaanka ah ee reerka looga tago marka geela horwaynta ah la xergeeyo ee lala doonto daaqsin amaba waraab ku haboon oo aanu ka heli karin halka reeraha amaba adhileydo deggantahay. Geela raasa maalka ahi waxa uu ka kooban yahay geel dhalay oo nirgihiisii wata amaba qaarkood ay igadh yidhiin oo maqaar lagu salaaxo. # Geelaas raasamaalka ah wxa kale oo loo yaqaanaa xaas oo had iyo jeer wuu ka nugul yahay geela gaanaha ah marka loo eego xagga haraadka waanu ka hor arooraa geela intiisa kale sida badan. ==== Tarjumaad ==== {{kor}} * {{en}}: [[capital]] {{dhaxda}} * Finnish: [[pääoma]] {{hoos}} efmnr59nczpvt20gddql45y8b85dq27 capital 0 2190 18542 17027 2017-04-28T17:24:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18542 wikitext text/x-wiki {{-en-}} === magac === '''capital''' # [[raasumaal]] [[Category:Ingiriis ereyada-ca|pital]] 0tsubolu6biow6y7o41la9i4euan5vs Raasumaal 0 2191 6103 2007-07-02T07:46:15Z Mimursal 18 [[Raasumaal]] waxaa loo wareejiyey [[raasumaal]]: Capital 6103 wikitext text/x-wiki #REDIRECT [[raasumaal]] nfedgbvd94z2bqwh4g15s0otshandk6 User:Linus~sowiktionary 2 2192 12867 6104 2015-04-17T00:46:35Z Maintenance script 1461 Maintenance script moved page [[User:Linus]] to [[User:Linus~sowiktionary]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Linus|Linus]]" to "[[Special:CentralAuth/Linus~sowiktionary|Linus~sowiktiona... 12867 wikitext text/x-wiki <pre> This is the html version of the file http://www.linuxvilag.hu/system/files/pdf/cikk/43/cikk_43_14_21.pdf. G o o g l e automatically generates html versions of documents as we crawl the web. To link to or bookmark this page, use the following url: http://www.google.com/search?q=cache:EWKFsyK_YHAJ:www.linuxvilag.hu/system/files/pdf/cikk/43/cikk_43_14_21.pdf+site:linuxvilag.hu+pdf&hl=en&ct=clnk&cd=1&gl=hu&client=firefox-a Google is neither affiliated with the authors of this page nor responsible for its content. These terms only appear in links pointing to this page: pdf Page 1 zenefájl-szerkesztő program minden hangokkal dolgozó felhasználó nélkülözhetetlen eszköze, hi- szen ezzel lehet a rögzített hangokat szerkeszteni, kozmetikázni és finomítani. Ezen műveletek némelyike a szövegszerkesztésben is megszokottakhoz hasonlóan folyik – ilyen például a kivágás/másolás/beillesztés művelet- csoport –, mások viszont csak a hangszerkesztés területére jellemzőek. Ez a cikk egy gyors kirándulásra invitálja az olvasót a linuxos hangszerkesztő programok világában. Nincs szük- ség arra, hogy bármilyen speciális dolgot tudjunk a digitális hangról vagy a digitális hangfeldolgozás elméletéről, és ha a bemutatott programok bármelyikét kedvünk szottyanna kipróbálni, azt is könnyen megtehetjük. Hiszen nincs másra szükségünk, csak egy működő hangrendszerrel rendelkező gépre. Mielőtt azonban nekivágnánk felfedező utunknak, vizsgáljuk meg, mire is jó egy átlagos hangszerkesztő és ho- gyan kell használni. A közös tulajdonságok A hangszerkesztés egyes műveletei legkönnyebben grafikus felületen hajthatók végre. A hangadatok láthatóvá tételével könnyen kikereshetők a problémás részek, mint például a szünetek vagy az amplitúdó-tüskék. Azzal, hogy a módo- sításra váró részeket gyorsan meg tudjuk keresni, nagymér- tékben felgyorsul az egész szerkesztési folyamat. A fájl egyes területeit pontosan ki tudjuk jelölni, a közelítési/távo- lítási lehetőségek pedig bármely ponton lehetővé teszik a nagyítást vagy kicsinyítést. Ez azért hasznos, mert így könnyen és gyorsan tudunk nagy fájlrészeket szerkeszteni, vagy egy-egy nagyon pontosan behatárolt, apró részt érintő műveletet végrehajtani. Egy jól megtervezett hangszerkesztő programnak min- denféleképpen rendelkeznie kell az alábbi műveletek lehetőségével: • Kivágás/másolás/beillesztés • Összeillesztés/beszúrás/csere 14 Linuxvilág Összefoglaló a Linux hangszerkesztőiről Akár a munkaasztalunk eseményeihez készítünk menő hanghatásokat, akár zenealbumainkat szeretnénk digitalizálni, mindenképpen szükségünk lesz a most következő programok valamelyikére. Vezérfonal 1. táblázat A zeneszerkesztők képességei Szerkesztőprogram ALSA JACK LADSPA GUI Méretkorlát Licenc Snd i i i Motif, GTK [1] lemezhely GPL MiXViews n [2] n n InterViews memória [3] DAP n [2] n n XForms memória GPL Audacity i i i wxGTK lemezhely GPL ReZound i i i FOX lemezhely GPL Sweep i i i GTK lemezhely GPL GLAME i n i GTK lemezhely GPL LAoE n [2] n n Java lemezhely GPL Swami i i i GTK lemezhely GPL WaveSurfer i i i Tcl/Tk lemezhely [4] GNUsound i n i GTK memória GPL KWave n [2] n n Qt memória GPL [1] Grafika nélkül is lefordítható. [2] Együttműködik az ALSA's OSS/Free emulációval. [3] Nem üzleti felhasználásra ingyenes, szabadon terjeszthető. [4] Korlátozás nélkül felhasználható és terjeszthető. A © Kiskapu Kft. Minden jog fenntartva Page 2 • Minták áthelyezése • Sávok keverése • Fájlok/sávok szinkronizálása • Az időskála tömörítése/kiterjesztése • Csúcsérték-eltolás • Kiegyenlítés/szűrés • Mintavételi frekvencia váltása • Különböző időformátumok megjelenítése • Egy fájl többféle nézetének a megjelenítése • Több fájl egyidejű megjelenítése • Független X/Y tengely szabályozás • Maximális mintavételi érték megkeresése • Az amplitúdó-burkológörbék különböző ábrázolás- módban (db, peak, RMS) való megjelenítése • Csúcspont és amplitúdó burkológörbék szerkesztése • Változó sebességű visszajátszás • A minták kinyomtatásának lehetősége • Spektrum-analízis Amint azt látni fogjuk, az ebben a cikkben bemutatandó szerkesztőprogramok teljesítik ezeknek az alapvető elvárá- soknak a túlnyomó részét, sőt, gyakran további egyedi lehe- tőségeket, eljárásokat is lehetővé tesznek. Az 1. táblázat a tulajdonságok egy másik sorát foglalja össze, amelyek nagy része – bár nem mindegyik – csak a Linuxra jellemző. A táblázatból azt is láthatjuk továbbá, hogy az itt bemutatott egyes szerkesztőprogramok milyen módon te- szik ezeket elérhetővé. A mindennapi használat Most pedig gondoljuk végig a hangszerkesztő programok néhány felhasználási lehetőségét. Az alábbi lista semmi esetre sem teljes, csupán azt mutatja meg, hogy én általá- ban hogyan hasznosítok egy ilyen szerkesztőprogramot a saját munkámban: • Felesleges szünetek eltávolítása a felvételekből. • Nagyméretű fájlok feldarabolása kisebb részekre. • Normalizálás. • Olyan hanghatások létrehozása, mint a zengés (reverb), kórus vagy duplázás (flanging) • A lejátszás sebességének csökkentése a hangmagasság megváltozása nélkül. • Recsegések és kattogások eltávolítása a felvételekből. • A mintavételezési sűrűség megváltoztatása. • A fájlformátum megváltoztatása. • A frekvencia-összetétel megváltoztatása, szűrése, azért hogy csillogóbb, vagy mélyben gazdagabb legyen. • Zeneszerzés. A lista még több tucatnyi művelettel kiegészíthető, minden felhasználó talál majd valamilyen különleges alkalmazási módot. Oktatói munkámban például nagyon hasznosnak bizonyult visszajátszás sebességének megváltoztatása úgy, hogy a hangmagasság közben ne változzon. A diákok gyak- ran hoznak hozzám olyan felvételeket, amelyek nehezen érthetőek, ha eredeti sebességen játsszuk le azokat. Ilyen- kor az eredeti cd vagy mp3 fájlt wav formátumba alakítom át, beolvasom az Snd szerkesztőprogramba, majd az eredeti hangmagasság megtartása mellett egészen addig csökken- tem a lejátszási sebességet, amíg minden egyes hangot tisz- tán nem lehet érteni. Így sokkal könnyebbé válik a pontos átirat elkészítése. Néhány szerkesztőprogram lehetővé te- szi, hogy mindezt valós időben végezzük el, sőt, olyan is akad, amellyel a beállított ismétlendő szakaszt a lejátszás közben tetszőlegesen megváltoztathatjuk, ami rendkívül hasznos. A normalizálás egy fájl amplitúdóit emeli a viszonylagos csúcspontjaira, így az összes amplitúdóérték a csúcspont- hoz viszonyítva emelődik meg. A projektfájlok CD-re írás előtti normalizálásával az egyes részek közti hangerőkü- lönbségeket tudom kiegyenlíteni. A normalizálás a pro- fesszionális felvételek előállításának is elterjedten alkalma- zott előfeldolgozó művelete. A hangszerkesztő programoknak jó hasznát vehetjük a rosszul tömörített hangfájloknál is. Néhány szerkesztő- program képes az mp3 és Ogg formátum közvetlen beolva- sására, más programok viszont először átalakítják ezeket az állományokat, és az eredményként kapott fájlt olvassák be. Ezekkel az eszközökkel képes vagyok a felesleges szünetek eltávolítására és a felvétel megsérült helyeinek kijavítására. A hullámforma-nézetben ezek a helyek sérült vagy hiányos görbeként jelennek meg. A fájl eredeti formátumba történő 15 2004. augusztus www.linuxvilag.hu Vezérfonal 1. kép Az alapértelmezett Snd 2. kép A cikkíró Sdn-je © Kiskapu Kft. Minden jog fenntartva Page 3 visszaalakítása előtt normalizálást és frekvenciakiegyenlítést is szoktam végezni. Egy veszteséges tömörítéssel átalakított fájl hangfájllá alakítása majd újbóli tömörítése nagyfokú minőségromlással jár, ezért a szerkesztőprogram kiegyenlítő eszközével újra visszaállítom a frekvenciaegyensúlyt. A rendelkezésre álló helyen a bemutatásra kerülő progra- moknak csak a legfontosabb vonásait tudom ismertetni, ezért minden program esetén csak a kiemelkedő szempontokat veszem figyelembe, a mélyebb megismeréshez saját kipróbá- lással juthatunk majd el. Kezdjük a körsétánkat néhány, Linux alá már régóta elérhető zeneszerkesztő programmal. A zeneszerkesztő programok első hulláma akkoriban érte el a Linuxot, amikor az OSS/Free volt a rendszer hangfelülete, a Motif pedig egy vonzó grafikus eszközkészletnek számí- tott. Ezek a programok nemcsak Linux alatti fordításra és fut- tatásra készültek, hanem a különböző UNIX rendszerekre is. Az Snd 7.0 Az Snd-t Bill Schottstaedt ügyeskedte össze, a fejlesztést már a PDP miniszámítógépek korában elkezdte. Bár a prog- ram tudomásom szerint 1996 óta létezik, a Linux támogatá- sa csak 1997-ben született meg. Az Snd-t tekinthetjük úgy is, mint egy különlegesen hatékony hangfájl-szerkesztő programot, egy határtalanul rugalmasan programozható hangszerkesztő eszközkészletet, vagy a Common hang- és zenekörnyezet grafikus komponensét. A zenei programok Common nevű családja tartalmazza Bill Schottstaedt Common Lisp Music (szoftveres hangszintetizáló) és Common Music Notation, valamint Rick Taube Common Music (egy zeneszerzésre alkalmazható metanyelv) prog- ramjait. Ezek olyan Lisp-alapú programok, amelyek beállí- tásaik révén összetett interaktivitásra képesek. Az Snd haté- konysága leginkább a Guile felhasználói felületében rejlik, amelynek az alapja a Lisphez hasonló Scheme programozá- si nyelv. Az Snd felhasználói felülete tartalmaz egy Listener nevű ablakot, amelybe a felhasználó Guile-parancsokat ír- hat be, ily módon testre szabva a programot vagy megvál- toztatva a megjelenését. A képernyőképekből látható, hogy az Snd milyen változa- tosan beállítható. Az 1. képen az Snd Motif-változata látható az alapértelmezett megjelenéssel. A 2. képen a felhasználói felület már egy nagymértékben a saját beállításokra épülő képet mutat. Megtörtént az új menük létrehozása a beépí- tett DSP-modulokhoz és az LADSPA bővítményekhez, a szí- nek és a háttér is egyéni beállítást tükröz, és néhány össze- tett eszköz megépítése is megtörtént az Snd hanghatás-fel- dolgozójához. A 2. képen látható az Snd által ábrázolt amp- litúdó-hullámforma, az OpenGL-megjelenítővel együtt, amely a hang spektrumát, a frekvenciaösszetevőit ábrázol- ja. A különböző kijelzők saját, helyzetérzékeny (Context- sensitive) előugró menükkel rendelkeznek, csakúgy, mint a fájl kijelölt és nem kijelölt tartományai. A hangszerkesztő programok közül az én kedvencem az Snd, de biztosan sokan más véleményen lesznek. Ha egy ki- csit megismerkedünk a Lisp nyelvvel, az Snd képességeibe is nagyobb bepillantást nyerhetünk. Szerencsére az Snd részle- tes dokumentációval segít át a tanulási folyamat nehézsége- in. Előre elkészített beállítófájlok is rendelkezésünkre állnak a testreszabás gyorsabb és egyszerűbb elvégzéséhez. A MiXViews 1.30 Doug Scott MiXViews programjának 1.0 változata 1995-ben jelent meg és ezzel az itt ismertetett programok legrégebbi- 16 Linuxvilág Vezérfonal 5. kép Az Audacity 4. kép A DAP 3. kép A MiXViews © Kiskapu Kft. Minden jog fenntartva Page 4 ke címet szerezte meg magának. A MiXViews a kezdetektől egy egyemberes projekt volt, melynek célja, hogy a UNIX és Linux rendszerekhez jó minőségű zeneszerkesztő prog- ramot biztosítson. A projekt továbbra is ebben az egyszemé- lyes formában folytatódik, és – ennek ellenére, vagy éppen ezért – magas színvonalon teljesíti a szerkesztőprogramtól elvártakat. A MiXViews megbízható programcsomagot kínál az alapve- tő zeneszerkesztői teendők ellátására, és ezen felül van né- hány olyan szolgáltatása is, amelyet nem találunk meg más Linuxra írt szerkesztőprogramban. A phase vocoding (beszédtömörítésre kifejlesztett kódoló eljárás – a ford.) és a lineá- ris prediktív kódolás (LPC) olyan digitális analizáló-szinteti- záló eljárások, amelyek inkább az olyan programok kellékei szoktak lenni, mint amilyen a Csound vagy a Common Lisp Music. Ezek az eszközök megvizsgálják a hang frekvenciáit és amplitúdóértékeit majd egy különleges vizsgálati fájlfor- mátumban tárolják azokat. A fájlok egy Csound-hoz hason- ló programmal beolvashatóak, s ez a program egy független eszközt kínál a fájlban tárolt frekvencia- és amplitúdó- összetevők szabályozásához, mielőtt a kapott értékek alap- ján a program újra előállítaná a hangfájlt. A MiXViews a sa- ját LPC és a phase vocoder eszközeivel teljes körű szolgál- tatást nyújt, ráadásul olvasni és szerkeszteni is képes a Csound phase vocoder kódolójával előállított fájlokat. A 3. képen láthatunk néhányat a MiXViews grafikus eszkö- zeiből a phase vocoder és LPC-vizsgálati adatok szerkeszté- se közben. Noha a működés hátterében álló elgondolás és a matematikai megoldások meglehetősen riasztóak lehet- nek, a MiXViews felülete kísérletezésre ösztönzi az embert és magukat az eszközöket könnyen kezelhetővé és érdekes- sé teszi. Ha ki szeretnénk próbálni a MiXViews-t, erre az előre lefor- dított bináris állományt javaslom. A program lefordítása ugyanis egy kicsit trükkös, és egy kevésbé elterjedt grafikus eszközkészletre (InterViews) is szükség van hozzá, érdeme- sebb a bináris fájlt letölteni, amit azonnal használatba is ve- hetünk. A DAP 2.1.4 A DAP (Digital Audio Processor) Richard Kent programozó hozzájárulása a több operációs rendszeren futtatható hang- szerkesztő programokhoz. A MiXViews-hoz hasonlóan a DAP grafikus felülete is egy viszonylag régi grafikus esz- közkészletre, az XForms programkönyvtárra épül. A prog- ram a MiXViews-ra hasonlít abban is, hogy a szerkeszthető fájl méretének felső határa a rendszer memóriájának mére- tétől függ. Másrészről viszont az AIFF-hangfájlok szerkesz- téséhez a DAP rendelkezik néhány kivételesen jól kivitele- zett hullámszerkesztő eszközzel. A program szolgáltatásai közt megtaláljuk a DSP-modulok egy jól összeválogatott gyűjteményét (amely Kai Lassfolk SPKit kódjának a kiter- jesztése), és egy jól használható mono-sztereo illetve sztereo-kvadro átalakítót. A DAP néhány szerkesztőeszköze külön is említést érdemel, főleg a Resample és az Edit/Mix menük alatt talál- hatóak. A Resample menü az idő megnyújtásával vagy anélkül kínál hangmagasság- és mintavételifrekvencia- változtatási lehetőségeket, míg az Edit/Mix párbeszédabla- kok (Mix és Mix Range) egy csinos grafikus szabályozóesz- közt biztosítanak a kevert fájl amplitúdójának kiegyensú- lyozásához. Az AIFF fájlformátum és ennek a ciklusok tá- mogatására gyakorolt hatása az egész programon érezhető. Például ha egy hanghatást alkalmazunk egy fájlon, a DSP párbeszédpanele egy eszközt biztosít a ciklusok fenntartá- sának és felszabadításának finomítására (4. kép). Bár a DAP felépítése kicsit elfogult az AIFF formátum javára, azért ké- pes RAW és WAV formátumú fájlok importálására és expor- tálására is. Sajnos a DAP fejlesztése nem következetes. A XForms-ra épülő grafikus felület felett már eljárt az idő, és a fájlméret-korlát is komoly hátrány. A szerző elismeri a DAP korlátait, de ha beágyazott hurokpontokkal rendel- kező AIFF-fájlokkal kell dolgoznunk, a DAP még mindig hasznos eszköznek bizonyulhat. A szerkesztőprogramok következő csoportja a Linux hang- gal kapcsolatos fejlesztéseinek újabb hullámához tartozik. Ezek természetes környezetéhez tartozik a korszerű grafi- kus felülettel ellátott eszközkészlet és az olyan Linuxos hangrendszer-komponensek, mint az ALSA, a JACK és a LADSPA. Fogalmilag is egységesebbek az elődjeiknél és sok hasonlóságot mutatnak a Windows és Macintosh fel- használók számára megszokott eszközökkel. Az Audacity 1.1.3 Az Audacity az első képviselője ezeknek az újhullámos Linuxos hangszerkesztő programoknak. A program C/C++ nyelven íródott, a wxWindows felületfüggetlen grafikus eszközkészletet alkalmazza, és támogatja a natív LADSPA jelfeldolgozó bővítményeket. Az újabb kiadásai emellett megfelelnek a JACK követelményeinek is, s ezzel az 17 2004. augusztus www.linuxvilag.hu Vezérfonal 6. kép Az Audacity Envelope (burkológörbe) eszköze 7. kép A ReZound © Kiskapu Kft. Minden jog fenntartva Page 5 Audacity felhasználói számára lehetővé válik, hogy a prog- ram bemenetét és kimenetét más, JACK-képességekkel ellá- tott program felületével kapcsolják össze. Az 5. kép az Audacity-t mutatja három, egyidejűleg meg- nyitott állománnyal, amelyek egyike egy mono WAV-fájl, a másik egy sztereo AIFF-fájl, a harmadik pedig a Sun AU formátumában lévő fájl. Az Audacity képes MP3 és Ogg fájlok importálására is. Hála az Ogg/Vorbis programkönyv- táraknak az Ogg exportálás közvetlenül is működik, az MP3 exportálás feltétele azonban egy felhasználó által biztosított kódoló program. Az 5. képen működés közben láthatjuk az Audacity natív frekvenciakiegyenlítő bővít- ményét is. Az Audacity grafikus szerkesztőeszközeit élvezet használni. A 6. képen a burkológörbe eszközt (envelope tool) láthatjuk az 5. képen látott egyik hangfájlra alkalmazva. A különálló minták szintjén az Audacity rajzeszközei nagy- mértékben megkönnyítik az amplitúdótüskék és egyéb folytonossági hibák eltávolítását vagy kijavítását. Az Snd-hez hasonlóan az Audacity is rendelkezik egy Lisp- alapú programozást lehetővé tévő felülettel, amely Roger Dannenberg Nyquist nevű alkotása. A Nyquist egy hang- szintetizálásra és jelfeldolgozásra kifejlesztett nyelv, az Audacity Effects menüje pedig ehhez kínál egy olyan promp- tot, amely lényegében a Snd Listener-jéhez hasonlóan mű- ködik. A felhasználó beír egy Nyquist-kifejezést a prompt párbeszédablakába, megnyomja az OK gombot és amennyi- ben a kifejezés értelmezhető, az Audacity végrehajtja az ak- tív hangfájlon a kívánt műveletet. Sokkal többet el lehetne mondani az Audacityről, mint amennyire itt lehetőségem van. Szerencsére a program ke- zelése könnyen elsajátítható, nyugodtan kipróbálhatjuk önállóan is a képességeit. A ReZound 0.9.0 béta A színes felhasználói felület és kitűnő elrendezés teszi Davy Zurham ReZound programját kellemes vizuális él- ménnyé és könnyen használhatóvá. De a pofás külcsín a legkevesebb, emellett ugyanis megtaláljuk a szerkesz- téshez szükséges teljes eszközkészletet, kitűnő átviteli szerkezeteket, néhány lenyűgöző beépített szűrőt, az LADSPA bővítmények támogatását és egy egyedülálló remastering/CD-író szerkezetet. A 7. képen látható a ReZound három beolvasott fájllal, ame- lyek egyikén éppen a Curved Balance eszköz dolgozik. A Curved Balance a ReZound egyik remastering-eszköze, amelyek közt találhatunk zajkaput, dinamikasűrítőt, erősítő és normalizáló eszközöket. A ReZound egyéb szerkesztői ínyencségeivel együtt ezeket az eszközöket használhatjuk arra, hogy a tökéletességig gyúrjuk a hangot, mielőtt CD-re kiírnánk. A ReZound még ahhoz is biztosít egy egyszerű párbeszédablakot, hogy a kész munkát (a cdrdao program segítségével) közvetlenül a File menüből írjuk CD-re. A ReZound LADSPA-támogatása a Kjetil Matheussen által írt LADSPA VST bővítmény (vst.so) alaptámogatásáig ter- jed. Ennek a bővítmények támogatására írt bővítménynek a használata egy működő, WINE-alapú felületet biztosít a VST/VSTi bővítmények Linux alatt történő futtatásához. A vst.so bővítmény jelenleg még a fejlesztés egy korai sza- kaszában van, ezért a gazdaprogrammal való együttműkö- dése nagyon ingadozó lehet. A ReZound legfrissebb változata támogatja a JACK zenei ki- szolgálót, amellyel a ReZound kapcsolódhat az egymással párbeszédre képes hangfeldolgozó alkalmazások JACK- hálózatához. További JACK-fejlesztések is várhatók, ilyen többek között a hatás-előnézet, a zajeltávolító eszközök, natív idő/hang skálázás és még sok egyéb szolgáltatás és fejlesztési lehetőség. A Sweep 0.8.2 Első pillantásra Conrad Parker Sweep programja nagyon hasonlít a többi itt bemutatott újabb szerkesztőprogramra. Az ALSA-képességek biztosítják a megbízható alapvető szerkesz- tőfunkciókat, támogatja az LADSPA bővítményeket és tetsze- tős és korszerű GTK-felülettel bír. Azonban a Sweep két szo- katlan eszközt is kínál, amelyek különleges értékkel ruházzák fel a programot. Az egyik a nemlineáris szerkesztés számára a többszörös tartomány kijelölésének a lehetősége, a másik pe- dig egy érdekes kis eszköz, amelyet Scrubby-nak neveztek el. Egy hangfájlban a kijelölés megadása rendszerint úgy törté- nik, hogy a kurzort a kijelölendő terület kezdőpontjára visszük, megnyomjuk a bal egérgombot, majd azt nyomva tartva elhúzzuk a kurzort a szakasz végéig. Ez a kijelölési módszer általánosan elterjedt, az eddig bemutatott szer- kesztőprogramok mindegyike ezt alkalmazza. Ezt teszi a Sweep is, de lehetővé teszi többszörös kijelölések meg- 18 Linuxvilág Vezérfonal 8. kép A Sweep 9. kép A Swami © Kiskapu Kft. Minden jog fenntartva Page 6 adását is. Tartsuk nyomva a C TRL billentyűt a kijelölés folya- mán, és voilŕ, máris több szakaszunk van kijelölve várva a további feldolgozást. Az Invert Selection (kijelölés felcserélése) ügyes megoldást kínál arra, hogy egy hangfájlban a hatások párbeszédjét hozzuk létre. A 8. kép mutatja ennek az átalakításnak a kö- vetkezményeit: megadunk egy többszörös kijelölést, alkal- mazzuk a reverse hatást ezeken a szakaszokon, felcseréljük a kijelölést (a kijelöltek válnak jelöletlenné és fordítva), majd alkalmazzuk az LADSPA hatást az újonnan kijelölt részekre. Élvezetes, hatékony és kreatív szolgáltatás. A Scrubby a Sweep virtuális lemezjátszótűje, amely képes- ségeit tekintve egy szabadon mozgatható lejátszófejnek fe- lel meg, és olyan szolgáltatásokat nyújt, amelyeket legin- kább egy lemezlovas lemezjátszója esetén szoktak emleget- ni. A Scrubby előadóeszközzé változtatja a Sweep-et, ami egy hangfájl-szerkesztő programnál meglehetősen furcsa tulajdonság. Egy képernyőképpel nem érzékeltethetjük eléggé mindezeket a képességeket, ki kell próbálnunk a programot és a saját szemünkkel és fülünkkel meggyő- ződni az igazságról. A Swami 0.9.1a A soundfont (SF2) formátum egy olyan összetett hangfájl- formátum, amelyben nem kizárólag a hangadatok tárolód- nak, hanem a különböző hanghatásokra és az előadásra vonatkozó szabályok is. A soundfont formátum megkerül- hetetlenné vált a számítógépes hang világában, olyan alkal- mazásokban lelve meg otthonát, mint a Csound, jMax, Fluidsynth és még sok másik. Amennyiben soundfont formátumban lévő anyagokkal sze- retnénk dolgozni, kétségtelenül az eszközeink közé kíván- kozik Josh Green Swami nevű programja. A Swami egy ki- zárólag a soundfont formátumot kezelő szerkesztőprogram, amely jól megtervezett grafikus felülettel, és egy sereg hasznos szolgáltatással bír. Szerkeszthetünk már létező hangfájlokat, vagy létrehozhatjuk a saját soundfont formá- tumú fájljainkat a különálló minták szintjétől kezdve az összetett hangszerekig. Arra is lehetőségünk van, hogy megtervezzük és összeállítsuk saját soundfont-csoportja- inkat. Rendelkezésre állnak az eszközök sebességét, átviteli görbéjét, billentyűzetkiosztását, és modulátor-útvonalát be- állító eszközök is. A Swami pontosan meghatározott célte- rülete miatt már nincs igazán mit elmondani róla, első osz- tályú, melegen ajánlott Linuxos programról van szó. A WaveSurfer 1.5.7 A WaveSurfer-t Kâre Sjölander és Jonas Beskow alkotta meg azért, hogy a beszédkutatásban megalkossák a legjobban használható eszközt. A WaveSurfer egy tökéletesen használ- ható általános célú hangfájl-szerkesztő, de különleges eré- nyei akkor mutatkoznak meg igazán, amikor a beszéd vilá- gában kell a hangot elemezni, ábrázolni vagy szerkeszteni. A WaveSurfer a népszerű Tcl/Tk parancsnyelven és eszköz- készlettel íródott, s így az arra késztetést érző felhasználók számára teljes hozzáférést enged a program belső világába. A WaveSurfer hangfeldolgozással kapcsolatos műveleteit a szintén Kâre Sjölander által írt SNACK hangfüggvény- könyvtár kezeli. A SNACK maga is kiegészíthető C/C++ nyelven írt felhasználói bővítményekkel. A 10. kép a WaveSurfer egy egyszerű alkalmazását mutatja a beszédelemzésben és -ábrázolásban. A főpanel a teljes hullámban kiemelt részt jeleníti meg, a felirat-kijelző pedig a hangzó fonémát jelzi. A felirat-sáv csak egy a WaveSurfer beszédközpontú jellegzetességei közül. A többi közt talá- lunk spektografikus megjelenítőket, hangmagasság-görbe kivonást, és a támogatott hangfájl- és hangrögzítési for- mátumok széles palettáját. 19 2004. augusztus www.linuxvilag.hu Vezérfonal 10. kép A WaveSurfer 12. kép A LaoE 11. kép A GLAME © Kiskapu Kft. Minden jog fenntartva Page 7 A GLAME 1.0.1 A GLAME fejlesztői a szerkesztőprogramjukban egy szo- katlan tervezési filozófiát valósítottak meg. A GLAME (GNU/Linux Audio MEchanics) fel van szerelve mindazok- kal a hangszerkesztő képességekkel, amiket elvár az ember, ezen felül egy hatékony hangszintetizáló és -feldolgozó egységet is tartalmaz, melynek neve filternetwork (szűrőhá- lózat). A filternetwork egy rajztáblát tartalmaz, amelyen ikonok képviselik a hangszintetizáló alapegységeket, ezeket összekapcsolva jön létre a hangszintetizáló vagy -feldol- gozó lánc. Pillanatnyilag ezek az alapegységek lehetnek oszcillátorok, burkológörbe-generátorok, szűrők, I/O- modulok és LADSAP-bővítmények. Ha elkészült egy ilyen szintetizáló hálózat, akkor futtatható, és valós idejű hang vagy pedig kimeneti fájl állítható elő a segítségével további feldolgozásra (természetesen a GLAME-ben). A hullámfor- ma kijelzőjén jobb egérgombbal kattintva egy felugró menü jelenik meg, amelyben megtalálható az Apply Custom me- nüpont. Ezt kiválasztva a szűrőhálózatunkat alkalmazhat- juk az éppen aktív hangfájlra, ami érdekes feldolgozási le- hetőségeket kínál számunkra. A 11. képen egy egyszerű példát láthatunk erre. A hullám- forma-kijelzőben kijelölt részt egy olyan szűrőhálózattal dolgoztuk fel, amely egy erősítővezérlőt, egy LADSPA kés- leltető bővítményt és egy flanger-effektet tartalmazott. A sáv-modulok és az alapértelmezett I/O-kapuk is a hálózat részei, amelyek az eredeti bemenetet és a feldolgozott ki- menetet képviselik. LAoE 0.6.03 béta Oliver Gäumann Layer-based Audio Editorja (LAoE, réteg-alapú hangszerkesztő) egy újabb egyedülálló tervzé- si filozófia hordozója. A szerkesztési munkafolyamat a LAoE programban a következőképpen épül fel: létrejön egy verem a hangfájlokból, majd ezután következik a kí- vánt szerkesztési és feldolgozási eszközök megnyitása a veremben lévő egy vagy több réteg (hangfájl) számára. Első alkalommal nagyon furcsának tűnt a munkának ez az újszerű megközelítése, de miután megértettem a program szervezési módját, élvezni kezdtem az elren- dezést és egy gyors munkamódszert sikerült kifejleszte- nem a segítségével. A LAoE külön jutalompontokat kap az eredetiségéért, amely a spektrumkijelzőjén való közvetlen szerkesztési lehetőség- ben nyilvánul meg. Egy, a felhasználó által definiált ecsettel lehet az FFT-szűrés feletti területeket lefesteni, maga a szűrő pedig finomabb felbontásra is beállítható. Az itt bemutatott szerkesztőprogramok nagy része biztosítja a frekvencia- összetevők tulajdonságainak megjelenítését, de csak a LAoE teszi lehetővé a közvetlen spektrális szerkesztést. A LAoE az egyetlen Java-alapú szerkesztőprogram az itt bemutatottak közül. A 800 MHz órajelű gépemre – amely nem igazán gyors gép a mai mércével mérve – feltelepítet- tem a Sun JDK 1.4 változatát, s a LAoE felhasználói felüle- tét minden szempontból gyorsnak és rugalmasan reagá- lónak találtam. A GNUsound 0.6.1 Pascal Haakmat GNUsound programja megjelenésében szerény, tartalmában azonban annál gazdagabb. Itt is meg- találjuk az alapvető szerkesztőeszközök teljes skáláját, a LADSPA bővítmények támogatását, és néhány különleges eszközt a hangfájlok kijelölésére, kiválasztására és megte- kintésére. A GNUsound is alkalmazza a sávos szerkesztési lehetőséget, ami azt jelenti, hogy egy folyamat során kijelöl- hetünk fájlokat és azokat egy sok sávos magnó sávjaihoz hasonlóan használhatjuk a keverésre. A GNUsound egy másik ügyes megoldása a hanghatások feldolgozásakor használt burkológörbe megvalósítása. A két felhasználó által megadott burkológörbe közül az egyik ki- jelölhető, mint a hozzá rendelt feldolgozási paraméter ve- zérlőgörbéje, ezzel még dinamikusabb körvonalat adva a hanghatás feldolgozásunknak. Bár a GNUsound eredeti szándék szerint a GNOME alatti futtatásra készült, minden gond nélkül sikerült egy Planet CCRMA Red Hat 9.0 rendszer alatt lefordítanom és a BlackBox ablakkezelővel futtatnom. A KWave 0.7.0-1 A KWave már 1999 óta fejlesztés alatt áll, így valószínű- leg inkább a tiszteletre méltó öregfiúk közé kellett volna sorolni. Azonban a fejlesztőcsapat lépést tartott a célkör- nyezetével, a KDE-vel, aminek korszerűbb megjelenés és néhány érdekes továbbfejlesztés lett az eredménye. Az új KWave is megtartotta az eredeti program törekvéseit arra vonatkozóan, hogy a fájlok feldolgozása elsősorban 20 Linuxvilág Vezérfonal 13. kép A GNUsound 14. kép A KWave © Kiskapu Kft. Minden jog fenntartva Page 8 grafikus eszközökkel folyhasson. A 14. képen láthatjuk a KWave aluláteresztő szűrőjének szerkesztőablakát kiegé- szítve egy feldolgozó-előnézeti lehetőséggel. A Listen gombbal ciklikusan lejátszható a fájl vagy a kijelölt részlet, miközben valós időben állítgathatjuk a szűrő paramétere- it, ami egy igen jól használható szolgáltatás a hanghatások teszteléséhez. A kedvenc eszközeim némelyike, mint pél- dául az összegző szintézisgenerátor, nem került az eredeti KWave-ből újraírásra. Ezek a szolgáltatások most szürkén jelennek meg a menükben és nem elérhetőek, de a fejlesz- tők tervezik ezeknek a funkcióknak a visszaállítását, to- vábbi tulajdonságokkal kiegészítve. A GNUsound-hoz ha- sonlóan a KWave által kezelt fájl méretének is korlátot szab az elérhető memória mennyisége, de ezt leszámítva egy remek kis szerkesztőprogramról van szó, amely nagyszerűen megfelel a KDE környezetben mindennapi használatra. Záró megjegyzések Remélem, cikkemmel sikerült felkeltenem az érdeklődést a bemutatott programok némelyike iránt. Hiszitek vagy sem, ezeken kívül is rengeteg hangfájl-szerkesztő progra- mot lehet találni, itt csak a legnépszerűbbekre összpontosí- tottam. A Linux Sound & MIDI Applications (Linuxos hang- és MIDI-programok) honlap Soundfile Editors (hang- fájl-szerkesztők) szakaszában teljes listát találhatunk a Linux alatt elérhető szerkesztőprogramokról (lásd a háló- zaton elérhető Kapcsolódó címek szakaszt). Melyik a legmegfelelőbb? Ezt nagyon nehéz eldönteni. Személy szerint az Snd iránt érzek nagy rokonszenvet a programozhatósága miatt és a ReZound iránt a grafi- kus felületének jólszervezettsége okán, de mindenkinek saját magának kell kipróbálnia néhányat ahhoz, hogy megtalálja az igényeinek leginkább megfelelőt. A legfon- tosabb, hogy ne ijedjünk meg ha első ránézésre túl bo- nyolultnak tűnik is némelyik program közülük. Közelít- sünk úgy hozzájuk, mintha a GIMP-pel tennénk: próbál- gassuk véletlenszerűen a szolgáltatásokat, amíg rá nem jövünk, mit is csinálnak, és ne féljünk a visszalépés gombot használni ha szükséges. Az ilyen típusú progra- mok próbálgatása jó szórakozást nyújt, és kreatív csator- nákat nyithat meg az emberben. Ha pedig létrehoztok valamilyen megosztásra érdemes zenét, ne habozzatok a tudomásomra hozni. Gyerünk, dobjatok össze néhány élvezetes zajt! Linux Journal 2004. június, 122. szám 21 2004. augusztus www.linuxvilag.hu Vezérfonal Dave Phillips Az Ohio állambeli Findlayben élő zenész, tanár és író. 1995, a Linuxszal való első pró- bálkozása óta aktív tagja a Linux zenei közös- ségének. Ő a szerzője a The Book of Linux Music & Sound (A Linux hangjának és zené- jének könyve) könyvnek, valamint a Linux Journalban megjelent számos cikknek. © Kiskapu Kft. Minden jog fenntartva 3s7balhsbzlrys3om8q2nk27bobyynr User talk:Foxall/01 3 2193 6106 2007-09-13T01:37:38Z 71.187.50.103 Bog cusub: the text in the page is a copyright infringment (from Teach Yourself Visual Basic .NET in 24 Hours) 6106 wikitext text/x-wiki the text in the page is a copyright infringment (from Teach Yourself Visual Basic .NET in 24 Hours) k6yoxvj9ly5k1vombp7kdxzkl7x1qsd af somaali 0 2194 18389 16030 2017-04-28T17:23:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18389 wikitext text/x-wiki {{-so-}} === Magac === '''af soomaali''' # ==== Tarjumaad ==== {{kor}} * {{en}}: [[Somali language]] {{dhaxda}} * {{fi}}: [[somali]] {{hoos}} [[Category:Soomaali ereyada-af| somaali]] 89p2rmo1opkuzs8w38gcb72ez5y6ybv Category:Soomaali ereyada-af 14 2195 6109 2007-10-05T09:20:42Z 84.250.83.193 Bog cusub: [[Category:Soomaali ereyada-a|f]] 6109 wikitext text/x-wiki [[Category:Soomaali ereyada-a|f]] bkdvqo0qdxbnhpihvyn7iftgc809pb9 Template:fi 10 2196 6111 2007-10-05T09:24:41Z 84.250.83.193 Bog cusub: Finnish 6111 wikitext text/x-wiki Finnish a9rzsmgzevgw2cgl1c4ac4021z2lv5k somali 0 2197 19315 16681 2017-04-28T17:29:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19315 wikitext text/x-wiki {{-fi-}} === Magac === '''somali''' # [[af somaali]] 7j2vrfzq3k1ob0jwuahrcs4jsnhzlvm Category:Finnish ereyada-so 14 2198 6116 2007-10-05T09:32:51Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-s|o]] 6116 wikitext text/x-wiki [[Category:Finnish ereyada-s|o]] d1t7dk1jqid2tk47n3kd1jrpzn163fs Template:en 10 2199 19977 9872 2017-11-07T22:49:58Z YiFeiBot 1781 بوت: ترحيل 111 وصلة إنترويكي, موجودة الآن في [[d:|ويكي بيانات]] على [[d:q6597144]] 19977 wikitext text/x-wiki Ingiriis<noinclude> [[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> 4eejx5seo1guooi90bh83f2bfo3jfun parakki 0 2200 19125 13992 2017-04-28T17:28:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19125 wikitext text/x-wiki {{-fi-}} === Magac === '''parakki''' # [[baarako]] 50he3xpghvdnb79bfw6jepety05gbhk Category:Finnish ereyada-pa 14 2201 6122 2007-10-05T10:11:48Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-p|a]] 6122 wikitext text/x-wiki [[Category:Finnish ereyada-p|a]] gi0asdsjwp0cwf9iyzzq5jhd1j9ilue Category:Finnish ereyada-p 14 2202 6123 2007-10-05T10:12:04Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada|p]] 6123 wikitext text/x-wiki [[Category:Finnish ereyada|p]] iec3i9g4betrcycjwi021a98cpxnuxq Category:Soomaali ereyada-ab 14 2203 6125 2007-10-05T10:16:07Z 84.250.83.193 Bog cusub: [[Category:Soomaali ereyada-a|b]] 6125 wikitext text/x-wiki [[Category:Soomaali ereyada-a|b]] jt3eh4otd9lkmpdqjib4iqpnz638isd huhtikuu 0 2204 20192 18856 2019-02-05T17:19:00Z 91.156.27.99 20192 wikitext text/x-wiki == Finnish == === Magac === '''huhtikuu''' # [[abriil]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] 648qpbtvosegggpq3musjmlkmret9p9 Category:Finnish ereyada-hu 14 2205 6128 2007-10-05T10:24:39Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-h|u]] 6128 wikitext text/x-wiki [[Category:Finnish ereyada-h|u]] 11m2cql2zlk450yzwsr42ddthejbrt3 Category:Soomaali ereyada-ag 14 2208 6135 2007-10-05T11:17:11Z 84.250.83.193 Bog cusub: [[Category:Soomaali ereyada-a|g]] 6135 wikitext text/x-wiki [[Category:Soomaali ereyada-a|g]] 1p4tmzfmdtlcxt4gwip4o5tgj3p018f elokuu 0 2209 20194 18699 2019-02-05T17:21:38Z 91.156.27.99 20194 wikitext text/x-wiki {{-fi-}} === Magac === '''elokuu''' # [[agoosto]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] 5xxi97fi86zqjta42dfufvpa9uc2trl Category:Finnish ereyada-el 14 2210 6138 2007-10-05T11:24:45Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-e|l]] 6138 wikitext text/x-wiki [[Category:Finnish ereyada-e|l]] k03sh0dt956u0ryeiq7ah7xfgadpa3r Category:Finnish ereyada-e 14 2211 6139 2007-10-05T11:25:15Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada|e]] 6139 wikitext text/x-wiki [[Category:Finnish ereyada|e]] 9ekp8nv58brhq5hofkwu72kchi855bg Category:Bilaha afka Finnishka 14 2212 19872 13496 2017-07-03T13:37:52Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19872 wikitext text/x-wiki == Boggag ay ku jiraan bilaha afka finnishka == [[Category:Finnish ereyada|Bilaha afka Finnishka]] 9ppfbgqkksnieyjrfi6gkxscicafl57 tammikuu 0 2213 20193 19356 2019-02-05T17:20:02Z 91.156.27.99 20193 wikitext text/x-wiki {{-fi-}} === Magac === '''tammikuu''' # [[janaayo]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] s06e1h4gv97upiobu4mlp4xl1msvqzu Category:Finnish ereyada-ta 14 2214 6148 2007-10-05T11:42:14Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-t|a]] 6148 wikitext text/x-wiki [[Category:Finnish ereyada-t|a]] 4c4ukn4loxs4yuqth9krn771oxb7p6d kesäkuu 0 2215 20184 18927 2019-02-05T17:12:40Z 91.156.27.99 20184 wikitext text/x-wiki == Finnish == === Magac === '''kesäkuu''' # [[juun]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] o2wvv4ya10dcmtldej2zjmeyx6r61yv Category:Finnish ereyada-ke 14 2216 6152 2007-10-05T11:51:52Z 84.250.83.193 Bog cusub: [[Category:Finnish ereyada-k|e]] 6152 wikitext text/x-wiki [[Category:Finnish ereyada-k|e]] errqr01ocbzmjt96sv8rc3726tozjkb Category:Soomaali ereyada-ju 14 2217 6155 2007-10-05T11:54:17Z 84.250.83.193 Bog cusub: [[Category:Soomaali ereyada-j|u]] 6155 wikitext text/x-wiki [[Category:Soomaali ereyada-j|u]] 38w8tuzkevru2z0bwyto546zfzxlpz3 User:DerHexer 2 2218 6228 6160 2008-08-01T11:43:44Z DerHexer 30 mm 6228 wikitext text/x-wiki I live in Berlin, Germany, and I'm a [[meta:Stewards|steward]] at meta.wikimedia and a sysop at [[:w:en:User:DerHexer|en.wikipedia]] and at [[:w:de:User:DerHexer|de.wikipedia]]. I'm interested in Latin language, Chemistry and Ancient Greek. My contributions can be found [[Special:Contributions/DerHexer|here]], and sorted by namespace [http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=DerHexer&site=so.wiktionary.org here]. At the moment I'm fighting vandalism. {| border="0" align="left" style="margin-left:1em; margin-bottom:1em;" width="370px" ! colspan="2" | {| align="center" | | colspan="3" align="center" bgcolor="#FFDEAD" width="370px" | overview |- | bgcolor="#FFDEAD" align="center" |[[Special:Emailuser/DerHexer|e-mail]] | bgcolor="#FFDEAD" align="center" |[[User_talk:DerHexer|talk]] | bgcolor="#FFDEAD" align="center" |[[Special:Contributions/DerHexer|contributions]] |} |- | [[Image:Wikistress3D 2 v3.jpg|170px]] || [[Image:DerHexer.png|200px]] |} <br style="clear:right" /> {| align="right" |<div style="float:left;border:solid #99B3FF 1px;margin:1px;"> <table cellspacing="0" style="width:238px;background:#E0E8FF"><tr> <td style="width:45px;height:45px;background:#99B3FF;text-align:center;font-size:14pt">'''IM'''</td> <td style="font-size:8pt;padding:4pt;line-height:1.25em">Jabber: derhexer@jabber.ccc.de <br /> (This is '''not''' an e-mail address!<br />Therefore use [[Special:Emailuser/DerHexer|this]] link, please.) [http://pgpkeys.pca.dfn.de:11371/pks/lookup?op=get&search=0x5C2AE6D7DC7E2EF9 GnuPGP key] <br />Skype: sigmundjaehn<br />ICQ: 281562687</td> </tr></table></div> |} c23rz0ttgn2okacesd6wbfw01f5tl0i User:Jorunn 2 2219 6162 2007-11-24T21:16:43Z Jorunn 32 Bog cusub: [[m:User:Jorunn]] 6162 wikitext text/x-wiki [[m:User:Jorunn]] ndm6v29if11fq3qel6ud603uyapgva7 User talk:Jorunn 3 2220 6163 2007-11-24T21:17:03Z Jorunn 32 Bog cusub: [[m:User talk:Jorunn]] 6163 wikitext text/x-wiki [[m:User talk:Jorunn]] evkf857g608zg618g9s2myerswe978o User:Drini 2 2221 6167 2007-11-26T20:49:37Z Drini 29 Linking to my meta page 6167 wikitext text/x-wiki [[m:User:Drini]], your friendly wikimedia [[m:Stewards|steward]] sfcihnv0kt2e23yhdrjf8g4wimuaqnf User:Cbrown1023 2 2222 8391 6173 2012-12-25T05:54:23Z CarsracBot 665 r2.7.2) (روبوت إضافة: af, am, an, ang, ar, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, en, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it,... 8391 wikitext text/x-wiki [[m:user:Cbrown1023]] [[af:Gebruiker:Cbrown1023]] [[am:አባል:Cbrown1023]] [[an:Usuario:Cbrown1023]] [[ang:User:Cbrown1023]] [[ar:مستخدم:Cbrown1023]] [[ast:Usuariu:Cbrown1023]] [[ay:Usuario:Cbrown1023]] [[az:İstifadəçi:Cbrown1023]] [[be:Удзельнік:Cbrown1023]] [[bg:Потребител:Cbrown1023]] [[bn:ব্যবহারকারী:Cbrown1023]] [[br:Implijer:Cbrown1023]] [[bs:Korisnik:Cbrown1023]] [[ca:Usuari:Cbrown1023]] [[chr:User:Cbrown1023]] [[co:User:Cbrown1023]] [[cs:Uživatel:Cbrown1023]] [[csb:Brëkòwnik:Cbrown1023]] [[cy:Defnyddiwr:Cbrown1023]] [[da:Bruger:Cbrown1023]] [[de:Benutzer:Cbrown1023]] [[dv:މެމްބަރު:Cbrown1023]] [[el:Χρήστης:Cbrown1023]] [[en:User:Cbrown1023]] [[eo:Uzanto:Cbrown1023]] [[es:Usuario:Cbrown1023]] [[et:Kasutaja:Cbrown1023]] [[eu:Lankide:Cbrown1023]] [[fa:کاربر:Cbrown1023]] [[fi:Käyttäjä:Cbrown1023]] [[fj:User:Cbrown1023]] [[fo:Brúkari:Cbrown1023]] [[fr:Utilisateur:Cbrown1023]] [[fy:Meidogger:Cbrown1023]] [[ga:Úsáideoir:Cbrown1023]] [[gd:Cleachdaiche:Cbrown1023]] [[gl:Usuario:Cbrown1023]] [[gn:Puruhára:Cbrown1023]] [[gu:સભ્ય:Cbrown1023]] [[gv:Ymmydeyr:Cbrown1023]] [[ha:User:Cbrown1023]] [[he:משתמש:Cbrown1023]] [[hi:सदस्य:Cbrown1023]] [[hr:Suradnik:Cbrown1023]] [[hsb:Wužiwar:Cbrown1023]] [[hu:Szerkesztő:Cbrown1023]] [[hy:Մասնակից:Cbrown1023]] [[ia:Usator:Cbrown1023]] [[id:Pengguna:Cbrown1023]] [[ie:Usator:Cbrown1023]] [[ik:User:Cbrown1023]] [[io:Uzanto:Cbrown1023]] [[is:Notandi:Cbrown1023]] [[it:Utente:Cbrown1023]] [[iu:User:Cbrown1023]] [[ja:利用者:Cbrown1023]] [[jbo:User:Cbrown1023]] [[jv:Panganggo:Cbrown1023]] [[ka:მომხმარებელი:Cbrown1023]] [[kk:Қатысушы:Cbrown1023]] [[kl:Atuisoq:Cbrown1023]] [[km:អ្នកប្រើប្រាស់:Cbrown1023]] [[kn:ಸದಸ್ಯ:Cbrown1023]] [[ko:사용자:Cbrown1023]] [[ks:رُکُن:Cbrown1023]] [[ku:Bikarhêner:Cbrown1023]] [[kw:Devnydhyer:Cbrown1023]] [[ky:Колдонуучу:Cbrown1023]] [[la:Usor:Cbrown1023]] [[lb:Benotzer:Cbrown1023]] [[li:Gebroeker:Cbrown1023]] [[ln:Utilisateur:Cbrown1023]] [[lo:ຜູ້ໃຊ້:Cbrown1023]] [[lt:Naudotojas:Cbrown1023]] [[lv:Lietotājs:Cbrown1023]] [[mg:Mpikambana:Cbrown1023]] [[mi:User:Cbrown1023]] [[mk:Корисник:Cbrown1023]] [[ml:ഉപയോക്താവ്:Cbrown1023]] [[mn:Хэрэглэгч:Cbrown1023]] [[mr:सदस्य:Cbrown1023]] [[ms:Pengguna:Cbrown1023]] [[mt:Utent:Cbrown1023]] [[my:User:Cbrown1023]] [[na:User:Cbrown1023]] [[nah:Tlatequitiltilīlli:Cbrown1023]] [[nds:Bruker:Cbrown1023]] [[ne:प्रयोगकर्ता:Cbrown1023]] [[nl:Gebruiker:Cbrown1023]] [[nn:Brukar:Cbrown1023]] [[no:Bruker:Cbrown1023]] [[oc:Utilizaire:Cbrown1023]] [[om:User:Cbrown1023]] [[or:ବ୍ୟବହାରକାରୀ:Cbrown1023]] [[pa:ਵਰਤੌਂਕਾਰ:Cbrown1023]] [[pl:Wikipedysta:Cbrown1023]] [[ps:کارن:Cbrown1023]] [[pt:Utilizador:Cbrown1023]] [[qu:Ruraq:Cbrown1023]] [[ro:Utilizator:Cbrown1023]] [[roa-rup:User:Cbrown1023]] [[ru:Участник:Cbrown1023]] [[rw:User:Cbrown1023]] [[sa:योजकः:Cbrown1023]] [[scn:Utenti:Cbrown1023]] [[sd:يوزر:Cbrown1023]] [[sg:Utilisateur:Cbrown1023]] [[sh:Korisnik:Cbrown1023]] [[si:පරිශීලක:Cbrown1023]] [[simple:User:Cbrown1023]] [[sk:Redaktor:Cbrown1023]] [[sl:Uporabnik:Cbrown1023]] [[sm:User:Cbrown1023]] [[sq:Përdoruesi:Cbrown1023]] [[sr:Корисник:Cbrown1023]] [[ss:User:Cbrown1023]] [[st:User:Cbrown1023]] [[su:Pamaké:Cbrown1023]] [[sv:Användare:Cbrown1023]] [[sw:Mtumiaji:Cbrown1023]] [[ta:பயனர்:Cbrown1023]] [[te:వాడుకరి:Cbrown1023]] [[tg:Корбар:Cbrown1023]] [[th:ผู้ใช้:Cbrown1023]] [[ti:User:Cbrown1023]] [[tk:Ulanyjy:Cbrown1023]] [[tl:Tagagamit:Cbrown1023]] [[tn:User:Cbrown1023]] [[tpi:Yusa:Cbrown1023]] [[tr:Kullanıcı:Cbrown1023]] [[ts:User:Cbrown1023]] [[tt:Кулланучы:Cbrown1023]] [[ug:ئىشلەتكۈچى:Cbrown1023]] [[uk:Користувач:Cbrown1023]] [[ur:صارف:Cbrown1023]] [[uz:Foydalanuvchi:Cbrown1023]] [[vi:Thành viên:Cbrown1023]] [[vo:Geban:Cbrown1023]] [[wa:Uzeu:Cbrown1023]] [[wo:Jëfandikukat:Cbrown1023]] [[yi:באַניצער:Cbrown1023]] [[za:用户:Cbrown1023]] [[zh:User:Cbrown1023]] [[zh-min-nan:User:Cbrown1023]] [[zu:User:Cbrown1023]] dwp3kuty93rultshqwltquymwyi1hov User:Az1568 2 2223 6174 2007-12-23T00:57:42Z Az1568 35 Bog cusub: [[m:user:Az1568]] 6174 wikitext text/x-wiki [[m:user:Az1568]] qju6nbqhms79vx191sd42661nwwzo6d User talk:Az1568 3 2224 6175 2007-12-23T00:57:48Z Az1568 35 Bog cusub: [[m:user talk:Az1568]] 6175 wikitext text/x-wiki [[m:user talk:Az1568]] l85ndlj2prqbnhotr1twn0befo5otp8 User:Dungodung 2 2226 6177 2008-01-13T22:10:38Z Dungodung 37 Bog cusub: [[m:User:Dungodung]] 6177 wikitext text/x-wiki [[m:User:Dungodung]] fw9jxkkcfput12sq7mvvzqv9smmyigq User talk:Pathoschild 3 2228 7860 6179 2012-02-19T01:14:27Z Pathoschild 41 global user pages 7860 wikitext text/x-wiki {{#babel:en|fr|so-0}}[[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Pathoschild|m:{{ns:3}}:Pathoschild]] e5sf73d03rmvr0003zq2v6qm9lz9ra0 User:Mike.lifeguard 2 2229 6180 2008-03-04T02:07:27Z Mike.lifeguard 42 Bog cusub: [[m:user:Mike.lifeguard]] 6180 wikitext text/x-wiki [[m:user:Mike.lifeguard]] 236tx3nphq7zsog8l3lodr172c0su86 User talk:Mike.lifeguard 3 2230 6181 2008-03-04T02:07:32Z Mike.lifeguard 42 Bog cusub: [[m:user talk:Mike.lifeguard]] 6181 wikitext text/x-wiki [[m:user talk:Mike.lifeguard]] 0npg285m5u1p4r64p3iegwv4hsktpdj User:DerHexer/monobook.js 2 2231 6183 2008-03-19T09:38:19Z DerHexer 30 new 6183 javascript text/javascript // get URL parameters (used for page type variables) var UrlParameters = new Array (); readparams(); function readparams() { var asReadInUrlParameters; var asReadInUrlParameter; // Get URL parameters asReadInUrlParameters = location.search.substring(1, location.search.length).split("&"); for (i = 0; i < asReadInUrlParameters.length; i++) { asReadInUrlParameter = asReadInUrlParameters[i].split("="); UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]); } } function fillActionPage() { document.forms["blockip"].wpBlockReason.value = UrlParameters["blockreason"]; document.forms["blockip"].wpBlockOther.value = UrlParameters["blockduration"]; window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100); } if ( UrlParameters["blockreason"] > '') { addOnloadHook(fillActionPage); } 3yj5qqy07ybmck0678aski16b1sw12h User:Meno25 2 2233 6186 2008-03-27T09:51:46Z Meno25 60 Creating 6186 wikitext text/x-wiki * You can contact me using [[:en:User:Meno25|my English Wiktionary userpage]]. sa7jq0ks2thrkd4gf6l3c6ketha73u1 User:とある白い猫 2 2235 8049 8047 2012-06-05T22:53:07Z タチコマ robot 69 r2.7.3) (روبوت إضافة: af, am, an, ang, ar, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it... 8049 wikitext text/x-wiki :<small>''This is the user page of [[Meta:User:とある白い猫]]''</small> ---- {{/so}} [[af:Gebruiker:とある白い猫]] [[am:አባል:とある白い猫]] [[an:Usuario:とある白い猫]] [[ang:User:とある白い猫]] [[ar:مستخدم:とある白い猫]] [[ast:Usuariu:とある白い猫]] [[ay:Usuario:とある白い猫]] [[az:İstifadəçi:とある白い猫]] [[be:Удзельнік:とある白い猫]] [[bg:Потребител:とある白い猫]] [[bn:ব্যবহারকারী:とある白い猫]] [[br:Implijer:とある白い猫]] [[bs:Korisnik:とある白い猫]] [[ca:Usuari:とある白い猫]] [[chr:User:とある白い猫]] [[co:User:とある白い猫]] [[cs:Uživatel:とある白い猫]] [[csb:Brëkòwnik:とある白い猫]] [[cy:Defnyddiwr:とある白い猫]] [[da:Bruger:とある白い猫]] [[de:Benutzer:とある白い猫]] [[dv:މެމްބަރު:とある白い猫]] [[el:Χρήστης:とある白い猫]] [[en:User:とある白い猫]] [[eo:Uzanto:とある白い猫]] [[es:Usuario:とある白い猫]] [[et:Kasutaja:とある白い猫]] [[eu:Lankide:とある白い猫]] [[fa:کاربر:とある白い猫]] [[fi:Käyttäjä:とある白い猫]] [[fj:User:とある白い猫]] [[fo:Brúkari:とある白い猫]] [[fr:Utilisateur:とある白い猫]] [[fy:Meidogger:とある白い猫]] [[ga:Úsáideoir:とある白い猫]] [[gd:Cleachdaiche:とある白い猫]] [[gl:Usuario:とある白い猫]] [[gn:Puruhára:とある白い猫]] [[gu:સભ્ય:とある白い猫]] [[gv:Ymmydeyr:とある白い猫]] [[ha:User:とある白い猫]] [[he:משתמש:とある白い猫]] [[hi:सदस्य:とある白い猫]] [[hr:Suradnik:とある白い猫]] [[hsb:Wužiwar:とある白い猫]] [[hu:Szerkesztő:とある白い猫]] [[hy:Մասնակից:とある白い猫]] [[ia:Usator:とある白い猫]] [[id:Pengguna:とある白い猫]] [[ie:Usator:とある白い猫]] [[ik:User:とある白い猫]] [[io:Uzanto:とある白い猫]] [[is:Notandi:とある白い猫]] [[it:Utente:とある白い猫]] [[iu:User:とある白い猫]] [[ja:利用者:とある白い猫]] [[jbo:User:とある白い猫]] [[jv:Panganggo:とある白い猫]] [[ka:მომხმარებელი:とある白い猫]] [[kk:Қатысушы:とある白い猫]] [[kl:Atuisoq:とある白い猫]] [[km:អ្នកប្រើប្រាស់:とある白い猫]] [[kn:ಸದಸ್ಯ:とある白い猫]] [[ko:사용자:とある白い猫]] [[ks:User:とある白い猫]] [[ku:Bikarhêner:とある白い猫]] [[kw:Devnydhyer:とある白い猫]] [[ky:Колдонуучу:とある白い猫]] [[la:Usor:とある白い猫]] [[lb:Benotzer:とある白い猫]] [[li:Gebroeker:とある白い猫]] [[ln:Utilisateur:とある白い猫]] [[lo:ຜູ້ໃຊ້:とある白い猫]] [[lt:Naudotojas:とある白い猫]] [[lv:Lietotājs:とある白い猫]] [[mg:Mpikambana:とある白い猫]] [[mi:User:とある白い猫]] [[mk:Корисник:とある白い猫]] [[ml:ഉപയോക്താവ്:とある白い猫]] [[mn:Хэрэглэгч:とある白い猫]] [[mr:सदस्य:とある白い猫]] [[ms:Pengguna:とある白い猫]] [[mt:Utent:とある白い猫]] [[my:User:とある白い猫]] [[na:User:とある白い猫]] [[nah:Tlatequitiltilīlli:とある白い猫]] [[nds:Bruker:とある白い猫]] [[ne:प्रयोगकर्ता:とある白い猫]] [[nl:Gebruiker:とある白い猫]] [[nn:Brukar:とある白い猫]] [[no:Bruker:とある白い猫]] [[oc:Utilizaire:とある白い猫]] [[om:User:とある白い猫]] [[or:ବ୍ୟବହାରକାରୀ:とある白い猫]] [[pa:ਮੈਂਬਰ:とある白い猫]] [[pl:Wikipedysta:とある白い猫]] [[pnb:User:とある白い猫]] [[ps:کارن:とある白い猫]] [[pt:Utilizador:とある白い猫]] [[qu:Ruraq:とある白い猫]] [[ro:Utilizator:とある白い猫]] [[roa-rup:User:とある白い猫]] [[ru:Участник:とある白い猫]] [[rw:User:とある白い猫]] [[sa:योजकः:とある白い猫]] [[scn:Utenti:とある白い猫]] [[sd:يوزر:とある白い猫]] [[sg:Utilisateur:とある白い猫]] [[sh:Korisnik:とある白い猫]] [[si:පරිශීලක:とある白い猫]] [[simple:User:とある白い猫]] [[sk:Redaktor:とある白い猫]] [[sl:Uporabnik:とある白い猫]] [[sm:User:とある白い猫]] [[sq:Përdoruesi:とある白い猫]] [[sr:Корисник:とある白い猫]] [[ss:User:とある白い猫]] [[st:User:とある白い猫]] [[su:Pamaké:とある白い猫]] [[sv:Användare:とある白い猫]] [[sw:Mtumiaji:とある白い猫]] [[ta:பயனர்:とある白い猫]] [[te:వాడుకరి:とある白い猫]] [[tg:Корбар:とある白い猫]] [[th:ผู้ใช้:とある白い猫]] [[ti:User:とある白い猫]] [[tk:Ulanyjy:とある白い猫]] [[tl:Tagagamit:とある白い猫]] [[tn:User:とある白い猫]] [[tpi:User:とある白い猫]] [[tr:Kullanıcı:とある白い猫]] [[ts:User:とある白い猫]] [[tt:Кулланучы:とある白い猫]] [[ug:ئىشلەتكۈچى:とある白い猫]] [[uk:Користувач:とある白い猫]] [[ur:صارف:とある白い猫]] [[uz:Foydalanuvchi:とある白い猫]] [[vi:Thành viên:とある白い猫]] [[vo:Geban:とある白い猫]] [[wa:Uzeu:とある白い猫]] [[wo:Jëfandikukat:とある白い猫]] [[yi:באַניצער:とある白い猫]] [[za:用户:とある白い猫]] [[zh:User:とある白い猫]] [[zh-min-nan:User:とある白い猫]] [[zu:User:とある白い猫]] tcx1nkukq7plfrhz5n36vff4di67jld User talk:とある白い猫 3 2236 8048 7443 2012-06-05T22:34:52Z タチコマ robot 69 update 8048 wikitext text/x-wiki :<small>''This is the user talk page of [[Meta:User talk:とある白い猫]]''</small> ---- {{/so}} =Posts= fx3a781rysbh0b3ni059xb1lqv710yt User:タチコマ robot 2 2237 8046 8045 2012-06-05T17:38:11Z タチコマ robot 69 r2.7.3) (روبوت إضافة: af, am, an, ang, ar, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it... 8046 wikitext text/x-wiki {{Bot|とある白い猫|site=meta}} {{Emergency-bot-shutoff}} [[af:Gebruiker:タチコマ robot]] [[am:አባል:タチコマ robot]] [[an:Usuario:タチコマ robot]] [[ang:User:タチコマ robot]] [[ar:مستخدم:タチコマ robot]] [[ast:Usuariu:タチコマ robot]] [[ay:Usuario:タチコマ robot]] [[az:İstifadəçi:タチコマ robot]] [[be:Удзельнік:タチコマ robot]] [[bg:Потребител:タチコマ robot]] [[bn:ব্যবহারকারী:タチコマ robot]] [[br:Implijer:タチコマ robot]] [[bs:Korisnik:タチコマ robot]] [[ca:Usuari:タチコマ robot]] [[chr:User:タチコマ robot]] [[co:User:タチコマ robot]] [[cs:Uživatel:タチコマ robot]] [[csb:Brëkòwnik:タチコマ robot]] [[cy:Defnyddiwr:タチコマ robot]] [[da:Bruger:タチコマ robot]] [[de:Benutzer:タチコマ robot]] [[dv:މެމްބަރު:タチコマ robot]] [[el:Χρήστης:タチコマ robot]] [[en:User:タチコマ robot]] [[eo:Uzanto:タチコマ robot]] [[es:Usuario:タチコマ robot]] [[et:Kasutaja:タチコマ robot]] [[eu:Lankide:タチコマ robot]] [[fa:کاربر:タチコマ robot]] [[fi:Käyttäjä:タチコマ robot]] [[fj:User:タチコマ robot]] [[fo:Brúkari:タチコマ robot]] [[fr:Utilisateur:タチコマ robot]] [[fy:Meidogger:タチコマ robot]] [[ga:Úsáideoir:タチコマ robot]] [[gd:Cleachdaiche:タチコマ robot]] [[gl:Usuario:タチコマ robot]] [[gn:Puruhára:タチコマ robot]] [[gu:સભ્ય:タチコマ robot]] [[gv:Ymmydeyr:タチコマ robot]] [[ha:User:タチコマ robot]] [[he:משתמש:タチコマ robot]] [[hi:सदस्य:タチコマ robot]] [[hr:Suradnik:タチコマ robot]] [[hsb:Wužiwar:タチコマ robot]] [[hu:Szerkesztő:タチコマ robot]] [[hy:Մասնակից:タチコマ robot]] [[ia:Usator:タチコマ robot]] [[id:Pengguna:タチコマ robot]] [[ie:Usator:タチコマ robot]] [[ik:User:タチコマ robot]] [[io:Uzanto:タチコマ robot]] [[is:Notandi:タチコマ robot]] [[it:Utente:タチコマ robot]] [[iu:User:タチコマ robot]] [[ja:利用者:タチコマ robot]] [[jbo:User:タチコマ robot]] [[jv:Panganggo:タチコマ robot]] [[ka:მომხმარებელი:タチコマ robot]] [[kk:Қатысушы:タチコマ robot]] [[kl:Atuisoq:タチコマ robot]] [[km:អ្នកប្រើប្រាស់:タチコマ robot]] [[kn:ಸದಸ್ಯ:タチコマ robot]] [[ko:사용자:タチコマ robot]] [[ks:User:タチコマ robot]] [[ku:Bikarhêner:タチコマ robot]] [[kw:Devnydhyer:タチコマ robot]] [[ky:Колдонуучу:タチコマ robot]] [[la:Usor:タチコマ robot]] [[lb:Benotzer:タチコマ robot]] [[li:Gebroeker:タチコマ robot]] [[ln:Utilisateur:タチコマ robot]] [[lo:ຜູ້ໃຊ້:タチコマ robot]] [[lt:Naudotojas:タチコマ robot]] [[lv:Lietotājs:タチコマ robot]] [[mg:Mpikambana:タチコマ robot]] [[mi:User:タチコマ robot]] [[mk:Корисник:タチコマ robot]] [[ml:ഉപയോക്താവ്:タチコマ robot]] [[mn:Хэрэглэгч:タチコマ robot]] [[mr:सदस्य:タチコマ robot]] [[ms:Pengguna:タチコマ robot]] [[mt:Utent:タチコマ robot]] [[my:User:タチコマ robot]] [[na:User:タチコマ robot]] [[nah:Tlatequitiltilīlli:タチコマ robot]] [[nds:Bruker:タチコマ robot]] [[ne:प्रयोगकर्ता:タチコマ robot]] [[nl:Gebruiker:タチコマ robot]] [[nn:Brukar:タチコマ robot]] [[no:Bruker:タチコマ robot]] [[oc:Utilizaire:タチコマ robot]] [[om:User:タチコマ robot]] [[or:ବ୍ୟବହାରକାରୀ:タチコマ robot]] [[pa:ਮੈਂਬਰ:タチコマ robot]] [[pl:Wikipedysta:タチコマ robot]] [[pnb:User:タチコマ robot]] [[ps:کارن:タチコマ robot]] [[pt:Utilizador:タチコマ robot]] [[qu:Ruraq:タチコマ robot]] [[ro:Utilizator:タチコマ robot]] [[roa-rup:User:タチコマ robot]] [[ru:Участник:タチコマ robot]] [[rw:User:タチコマ robot]] [[sa:योजकः:タチコマ robot]] [[scn:Utenti:タチコマ robot]] [[sd:يوزر:タチコマ robot]] [[sg:Utilisateur:タチコマ robot]] [[sh:Korisnik:タチコマ robot]] [[si:පරිශීලක:タチコマ robot]] [[simple:User:タチコマ robot]] [[sk:Redaktor:タチコマ robot]] [[sl:Uporabnik:タチコマ robot]] [[sm:User:タチコマ robot]] [[sq:Përdoruesi:タチコマ robot]] [[sr:Корисник:タチコマ robot]] [[ss:User:タチコマ robot]] [[st:User:タチコマ robot]] [[su:Pamaké:タチコマ robot]] [[sv:Användare:タチコマ robot]] [[sw:Mtumiaji:タチコマ robot]] [[ta:பயனர்:タチコマ robot]] [[te:వాడుకరి:タチコマ robot]] [[tg:Корбар:タチコマ robot]] [[th:ผู้ใช้:タチコマ robot]] [[ti:User:タチコマ robot]] [[tk:Ulanyjy:タチコマ robot]] [[tl:Tagagamit:タチコマ robot]] [[tn:User:タチコマ robot]] [[tpi:User:タチコマ robot]] [[tr:Kullanıcı:タチコマ robot]] [[ts:User:タチコマ robot]] [[tt:Кулланучы:タチコマ robot]] [[ug:ئىشلەتكۈچى:タチコマ robot]] [[uk:Користувач:タチコマ robot]] [[ur:صارف:タチコマ robot]] [[uz:Foydalanuvchi:タチコマ robot]] [[vi:Thành viên:タチコマ robot]] [[vo:Geban:タチコマ robot]] [[wa:Uzeu:タチコマ robot]] [[wo:Jëfandikukat:タチコマ robot]] [[yi:באַניצער:タチコマ robot]] [[za:用户:タチコマ robot]] [[zh:User:タチコマ robot]] [[zh-min-nan:User:タチコマ robot]] [[zu:User:タチコマ robot]] 2fab5yi3zpg1siykblvsebejmwkt43r User talk:タチコマ robot 3 2238 7552 6234 2011-10-13T09:28:39Z Ruslik0 500 fixing dr 7552 wikitext text/x-wiki #REDIRECT [[User talk:とある白い猫]] kkrg56volz0eoyi7rc9seh78x9sdbsx User:タチコマ robot/Editcounter 2 2239 6232 6192 2008-08-13T12:10:34Z Andre Engels 143 [[User:Kumbuyuutar/Editcounter]] waxaa loo wareejiyey [[User:タチコマ robot/Editcounter]]: Automatically moved page while renaming the user "[[User:Kumbuyuutar|Kumbuyuutar]]" to "[[User:タチコマ robot|タチコマ robot]]" 6232 wikitext text/x-wiki Month-Graph:yes Namespacesum-Graph:yes Weekday-Graph:yes Hour-Graph:yes Usercontributions:yes e14mzxijenl728e5bw095qu5csbyrsl User:Pill 2 2240 6200 2008-05-24T16:42:09Z Pill 74 Bog cusub: test 6200 wikitext text/x-wiki test jrwjerxiekdtj9k82lg930wpkr6tq6r User:Caiaffa 2 2242 6207 2008-05-31T08:07:53Z Caiaffa 109 Bog cusub: {{babel|pt|en-2|es-2|fr-1|it-1|so-0}} *[[w:en:User:Caiaffa]] 6207 wikitext text/x-wiki {{babel|pt|en-2|es-2|fr-1|it-1|so-0}} *[[w:en:User:Caiaffa]] m5gjsg8uno2ck3oz5sizx0a3qzsp8ju User:MenoBot 2 2243 8693 7999 2013-06-29T14:58:29Z MenoBot 128 r2.7.5) (Bot: dheeraad [[vec:Utente:MenoBot]] 8693 wikitext text/x-wiki This is an interwiki bot operated by [[w:en:User:Meno25|Meno25]]. [[af:Gebruiker:MenoBot]] [[am:አባል:MenoBot]] [[an:Usuario:MenoBot]] [[ang:User:MenoBot]] [[ar:مستخدم:MenoBot]] [[ast:Usuariu:MenoBot]] [[ay:Usuario:MenoBot]] [[az:İstifadəçi:MenoBot]] [[be:Удзельнік:MenoBot]] [[bg:Потребител:MenoBot]] [[bn:ব্যবহারকারী:MenoBot]] [[br:Implijer:MenoBot]] [[bs:Korisnik:MenoBot]] [[ca:Usuari:MenoBot]] [[chr:User:MenoBot]] [[co:User:MenoBot]] [[cs:Uživatel:MenoBot]] [[csb:Brëkòwnik:MenoBot]] [[cy:Defnyddiwr:MenoBot]] [[da:Bruger:MenoBot]] [[de:Benutzer:MenoBot]] [[dv:މެމްބަރު:MenoBot]] [[el:Χρήστης:MenoBot]] [[en:User:MenoBot]] [[eo:Uzanto:MenoBot]] [[es:Usuario:MenoBot]] [[et:Kasutaja:MenoBot]] [[eu:Lankide:MenoBot]] [[fa:کاربر:MenoBot]] [[fi:Käyttäjä:MenoBot]] [[fj:User:MenoBot]] [[fo:Brúkari:MenoBot]] [[fr:Utilisateur:MenoBot]] [[fy:Meidogger:MenoBot]] [[ga:Úsáideoir:MenoBot]] [[gd:Cleachdaiche:MenoBot]] [[gl:Usuario:MenoBot]] [[gn:Puruhára:MenoBot]] [[gu:સભ્ય:MenoBot]] [[gv:Ymmydeyr:MenoBot]] [[ha:User:MenoBot]] [[he:משתמש:MenoBot]] [[hi:सदस्य:MenoBot]] [[hr:Suradnik:MenoBot]] [[hsb:Wužiwar:MenoBot]] [[hu:Szerkesztő:MenoBot]] [[hy:Մասնակից:MenoBot]] [[ia:Usator:MenoBot]] [[id:Pengguna:MenoBot]] [[ie:Usator:MenoBot]] [[io:Uzanto:MenoBot]] [[is:Notandi:MenoBot]] [[it:Utente:MenoBot]] [[iu:User:MenoBot]] [[ja:利用者:MenoBot]] [[jbo:User:MenoBot]] [[jv:Panganggo:MenoBot]] [[ka:მომხმარებელი:MenoBot]] [[kk:Қатысушы:MenoBot]] [[kl:Atuisoq:MenoBot]] [[km:អ្នកប្រើប្រាស់:MenoBot]] [[kn:ಸದಸ್ಯ:MenoBot]] [[ko:사용자:MenoBot]] [[ks:رُکُن:MenoBot]] [[ku:Bikarhêner:MenoBot]] [[kw:Devnydhyer:MenoBot]] [[ky:Колдонуучу:MenoBot]] [[la:Usor:MenoBot]] [[lb:Benotzer:MenoBot]] [[li:Gebroeker:MenoBot]] [[ln:Utilisateur:MenoBot]] [[lo:ຜູ້ໃຊ້:MenoBot]] [[lt:Naudotojas:MenoBot]] [[lv:Lietotājs:MenoBot]] [[mg:Mpikambana:MenoBot]] [[mi:User:MenoBot]] [[mk:Корисник:MenoBot]] [[ml:ഉപയോക്താവ്:MenoBot]] [[mn:Хэрэглэгч:MenoBot]] [[mr:सदस्य:MenoBot]] [[ms:Pengguna:MenoBot]] [[mt:Utent:MenoBot]] [[my:User:MenoBot]] [[na:User:MenoBot]] [[nah:Tlatequitiltilīlli:MenoBot]] [[nds:Bruker:MenoBot]] [[ne:प्रयोगकर्ता:MenoBot]] [[nl:Gebruiker:MenoBot]] [[nn:Brukar:MenoBot]] [[no:Bruker:MenoBot]] [[oc:Utilizaire:MenoBot]] [[om:User:MenoBot]] [[or:ବ୍ୟବହାରକାରୀ:MenoBot]] [[pa:ਵਰਤੌਂਕਾਰ:MenoBot]] [[pl:Wikipedysta:MenoBot]] [[pnb:User:MenoBot]] [[ps:کارن:MenoBot]] [[pt:Utilizador:MenoBot]] [[qu:Ruraq:MenoBot]] [[ro:Utilizator:MenoBot]] [[roa-rup:User:MenoBot]] [[ru:Участник:MenoBot]] [[rw:User:MenoBot]] [[sa:योजकः:MenoBot]] [[scn:Utenti:MenoBot]] [[sd:يوزر:MenoBot]] [[sg:Utilisateur:MenoBot]] [[sh:Korisnik:MenoBot]] [[si:පරිශීලක:MenoBot]] [[simple:User:MenoBot]] [[sk:Redaktor:MenoBot]] [[sl:Uporabnik:MenoBot]] [[sm:User:MenoBot]] [[sq:Përdoruesi:MenoBot]] [[sr:Корисник:MenoBot]] [[ss:User:MenoBot]] [[st:User:MenoBot]] [[su:Pamaké:MenoBot]] [[sv:Användare:MenoBot]] [[sw:Mtumiaji:MenoBot]] [[ta:பயனர்:MenoBot]] [[te:వాడుకరి:MenoBot]] [[tg:Корбар:MenoBot]] [[th:ผู้ใช้:MenoBot]] [[ti:User:MenoBot]] [[tk:Ulanyjy:MenoBot]] [[tl:Tagagamit:MenoBot]] [[tn:User:MenoBot]] [[tpi:Yusa:MenoBot]] [[tr:Kullanıcı:MenoBot]] [[ts:User:MenoBot]] [[tt:Кулланучы:MenoBot]] [[ug:ئىشلەتكۈچى:MenoBot]] [[uk:Користувач:MenoBot]] [[ur:صارف:MenoBot]] [[uz:Foydalanuvchi:MenoBot]] [[vec:Utente:MenoBot]] [[vi:Thành viên:MenoBot]] [[vo:Geban:MenoBot]] [[wa:Uzeu:MenoBot]] [[wo:Jëfandikukat:MenoBot]] [[yi:באַניצער:MenoBot]] [[za:用户:MenoBot]] [[zh:User:MenoBot]] [[zh-min-nan:User:MenoBot]] [[zu:User:MenoBot]] rmxi1n10l8cq84gp1z3uqsb3f0ssslx User talk:MenoBot 3 2244 6212 2008-06-22T17:22:35Z MenoBot 128 talk 6212 wikitext text/x-wiki Please leave comments in English [[w:en:User talk:Meno25|here]]. 71i1b2lidd8zeajwxudf0mudmfh1lfr User:SpaceBirdyBot 2 2245 6214 2008-07-06T22:19:49Z Spacebirdy 34 . 6214 wikitext text/x-wiki <div style="border: 1px solid #33bbcc;background-color:#f8f8f6;padding:2px;"> Bot of [[User:Spacebirdy|Spacebirdy]] </div> <div style="border:1px solid #FF4500;background-color:#f8f8f6;padding:2px;" class="plainlinks" > [[Special:Contributions/SpaceBirdyBot|contribs]]<br> </div> [[ar:مستخدم:SpaceBirdyBot]] [[af:Gebruiker:SpaceBirdyBot]] [[co:User:SpaceBirdyBot]] [[da:Bruger:SpaceBirdyBot]] [[de:Benutzer:SpaceBirdyBot]] [[el:Χρήστης:SpaceBirdyBot]] [[es:Usuario:SpaceBirdyBot]] [[fo:Brúkari:SpaceBirdyBot]] [[ga:Úsáideoir:SpaceBirdyBot]] [[gd:User:SpaceBirdyBot]] [[it:Utente:SpaceBirdyBot]] [[li:Gebroeker:SpaceBirdyBot]] [[nah:Usuario:SpaceBirdyBot]] [[nl:Gebruiker:SpaceBirdyBot]] [[no:Bruker:SpaceBirdyBot]] [[oc:Utilizaire:SpaceBirdyBot]] [[pt:Usuário:SpaceBirdyBot]] [[ro:Utilizator:SpaceBirdyBot]] [[scn:Utenti:SpaceBirdyBot]] [[sv:Användare:SpaceBirdyBot]] [[yi:באַניצער:SpaceBirdyBot]] [[zh-min-nan:User:SpaceBirdyBot]] 7e2ruvd0a913ak9stiqre2qbj03gm1x User talk:SpaceBirdyBot 3 2246 6215 2008-07-06T22:20:13Z Spacebirdy 34 Redirecting to [[User talk:Spacebirdy]] 6215 wikitext text/x-wiki #redirect[[User_talk:Spacebirdy]] d6v42gogvfr6ssx4a21b3t5iamunpx1 User talk:Spacebirdy 3 2247 6441 6216 2009-05-05T20:42:24Z Spacebirdy 34 6441 wikitext text/x-wiki <div style="border:1px solid #638C9C;background-color:#C5D8F3;padding:2px;" class="plainlinks"> <div style="background-color:steelblue;" align="center">[http://meta.wikimedia.org/w/index.php?title=User_talk:Spacebirdy&action=edit&section=new <font color="white">Nýtt spjall</font>] </div> <div style="border:3px solid slategray;background-color:#616F7C;padding:2px;color:lightsteelblue;" class="plainlinks"> '''Please post messages only here:''' *<span style="background-color:lightsteelblue;padding:3px;">[http://meta.wikimedia.org/wiki/User_talk:Spacebirdy meta: Spacebirdy talk]</span> Thanks. <div style="border:1px solid #638C9C;background-color:lightsteelblue;padding:2px;color:black;"> You can also reach me on IRC: [irc://chat.freenode.net/wikimedia #wikimedia], etc.<br> </div></div> <!-----------------------------------------------------------------------------------------------------> 11cmsh8vo4af9jieoio1lfdt56pmndb Wiktionary:Bots 4 2248 19982 19978 2017-12-02T15:55:38Z MarcoAurelio 761 implemented [[m:bot policy|standard bot policy]] 19982 wikitext text/x-wiki * '''so:''' {{int:please-translate}}. * '''en:''' 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. ---- *[[special:listusers/bot]] ---- ===[[User:SpaceBirdyBot]]=== 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:24, 6 Luuliyo 2008 (UTC) ===[[User:RobotGMwikt]]=== I also request botstatus for this interwiki bot, run by [[m:User:GerardM]], thanks, --[[User:Spacebirdy|Spacebirdy]] 22:24, 6 Luuliyo 2008 (UTC) ===[[User:Interwicket]]=== I also request botstatus for this interwiki bot, run by [[:en:User:Robert Ullmann]], thanks, --[[User:Spacebirdy|Spacebirdy]] 13:12, 1 Maarso 2009 (UTC) ===[[user:Luckas-bot|Luckas-bot]]=== * 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:11, 17 Diseembar 2010 (UTC) : Done. [[User:Dferg|Dferg]] 11:04, 30 Diseembar 2010 (UTC) ===[[user:GedawyBot|GedawyBot]]=== * Botmaster: [[w:ar:نقاش المستخدم:محمد الجداوي|محمد الجداوي]] * Bot's name: [[User:GedawyBot]] * List of bot flags on other Wiktionaries: [http://toolserver.org/~vvv/sulutil.php?user=GedawyBot list] * Purpose: interwiki * Technical details: pywikipediabot, latest versions Thanks in advance.--[[User:محمد الجداوي|محمد الجداوي]] 15:41, 27 Oktoobar 2011 (UTC) :Done. [[User:Bennylin|Bennylin]] 11:26, 3 Nofeembar 2011 (UTC) ===[[User:CarsracBot|CarsracBot]]=== * Botmaster: [[w:nl:Carsrac|Carsrac]] * Bot's name: [[User:Carsrac]] * List of bot flags on other Wiktionarys: [http://toolserver.org/~vvv/sulutil.php?user=CarsracBot list] * Purpose:interwiki * Technical details:svn pywikipediabot, latest versions Thanks.-- [[User:Carsrac|Carsrac]] 18:45, 23 Jannaayo 2012 (UTC) ===[[User:HydrizBot|HydrizBot]]=== * Botmaster: [[:simple:User:Hydriz|Hydriz]] * Bot's name: [[User:HydrizBot]] * List of bot flags on other Wiktionaries: [[sulutil:HydrizBot|full list]] * Purpose: interwiki * Technical details: pywikipediabot, latest versions Regards. --[[User:Hydriz|Hydriz]] ([[User talk:Hydriz|talk]]) 06:16, 5 Nofeembar 2012 (UTC) :Done. --[[User:Mav|Mav]] ([[User talk:Mav|talk]]) 04:11, 18 Nofeembar 2012 (UTC) ===[[User:YS-Bot|YS-Bot]]=== * Botmaster: [[:de:User:Yoursmile|Yoursmile]] * Bot's name: [[User:YS-Bot]] * List of bot flags on other Wiktionaries: [[sulutil:YS-Bot|full list]] * Purpose: interwiki * Technical details: pywikipediabot Regards --[[User:Yoursmile|Yoursmile]] ([[User talk:Yoursmile|talk]]) 21:58, 13 Jannaayo 2015 (UTC) ===[[User:UT-interwiki-Bot|UT-interwiki-Bot]]=== * Botmaster: [[:de:User:Udo T.|Udo T.]] * Bot's name: [[User:UT-interwiki-Bot]] * List of bot flags on other Wiktionaries: [[:sulutil:UT-interwiki-Bot|full list]] * Purpose: only for interwiki links * Technical details: pywikibot, interwiki.py Please let me know, if you need some test edits. Greetings from Austria. --[[User:Udo T.|Udo T.]] ([[User talk:Udo T.|talk]]) 18:52, 15 Juun 2016 (UTC) [[da:Wiktionary:Administratorer#Robotter]] [[tg:Wiktionary:Вуруди корбарон]] bzmgftzyyo5ff48bjtjc2o4xzjnjhgo User:Kumbuyuutar 2 2249 6231 2008-08-13T12:10:34Z Andre Engels 143 [[User:Kumbuyuutar]] waxaa loo wareejiyey [[User:タチコマ robot]]: Automatically moved page while renaming the user "[[User:Kumbuyuutar|Kumbuyuutar]]" to "[[User:タチコマ robot|タチコマ robot]]" 6231 wikitext text/x-wiki #REDIRECT [[User:タチコマ robot]] c3udrwoisui9yu2bhdeu6rrdctmh5pm User:Kumbuyuutar/Editcounter 2 2250 6233 2008-08-13T12:10:35Z Andre Engels 143 [[User:Kumbuyuutar/Editcounter]] waxaa loo wareejiyey [[User:タチコマ robot/Editcounter]]: Automatically moved page while renaming the user "[[User:Kumbuyuutar|Kumbuyuutar]]" to "[[User:タチコマ robot|タチコマ robot]]" 6233 wikitext text/x-wiki #REDIRECT [[User:タチコマ robot/Editcounter]] laznez1dm7xfu2zf4hqnqt8ypeli3gj User talk:Kumbuyuutar 3 2251 7553 6235 2011-10-13T09:28:59Z Ruslik0 500 fixing dr 7553 wikitext text/x-wiki #REDIRECT [[User talk:とある白い猫]] kkrg56volz0eoyi7rc9seh78x9sdbsx User:VolkovBot 2 2253 7178 7167 2010-11-24T11:27:23Z Mercy 238 Reverted edits by [[Special:Contributions/Yxefejod|Yxefejod]] ([[User talk:Yxefejod|talk]]) to last revision by [[User:VolkovBot|VolkovBot]] 7178 wikitext text/x-wiki * Botmaster: [[:w:ru:User:Volkov]] ([[:w:ru:User talk:Volkov|talk]]) [[ru:User:VolkovBot]] t6xwjrpcro4wq8rdbyb03auvgczyxjd User talk:VolkovBot 3 2254 6246 2008-09-10T08:35:38Z VolkovBot 154 info 6246 wikitext text/x-wiki To leave a message, please use [[:w:ru:User talk:VolkovBot]] 6v0394ft8vflguenmh26milbufuy8d9 User:Nikkis 2 2255 6252 2008-10-03T09:53:59Z Nikkis 161 new 6252 wikitext text/x-wiki {| style="background:#FFFFFF;" |width=75% valign="top" | <big><center><span class="hintergrundfarbe5"> '''Dieser Benutzer spricht Deutsch''' </span></center></big> <big><center><span class="hintergrundfarbe5"> '''This user speaks English''' <big><center><span class="hintergrundfarbe5"> '''Cet utilisateur parle français''' <big><center><span class="hintergrundfarbe5"> '''Hic usuarius simplici Latinitate contribuere potest''' {| style="background:#E8E8E8;" |width=75% valign="top" | '''Home wiki: [[w:de:Wikipedia:Hauptseite|German-language edition of Wikipedia]]''' == International projects == <div class="inhalt" align="center"> <span style="white-space:nowrap;"><span class="icon">[[Image:Wikimedia-logo.svg|20px]]&nbsp;</span>[[m:User:Nikkis|Meta-Wiki]]&nbsp;–&nbsp;Wikimedia project coordination&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="white-space:nowrap;"><span class="icon">[[Image:Commons-logo.svg|18px]]&nbsp;</span>[[commons:User:Nikkis|Commons]]&nbsp;–&nbsp;Media repository&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="white-space:nowrap;"><span class="icon">[[Image:Wikispecies-logo-en.png|20px]]&nbsp;</span>[[wikispecies:User:Nikkis|Wikispecies]]&nbsp;–&nbsp;Directory of species&nbsp;&nbsp;&nbsp;&nbsp;</span> </div> == Sister projects == <div class="inhalt" align="center"> <span style="white-space:nowrap;"><span class="icon">[[Image:Wikipedia-logo.png|20px]]&nbsp;</span>[[w:User:Nikkis|Wikipedia]]&nbsp;–&nbsp;Encyclopedia&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="white-space:nowrap;"> </span> </div> == Wiktionary in other languages == <div class="inhalt" align="center"> <span style="white-space:nowrap;"> [[Image:Wiktionary small.svg|100px|Wiktionary]]<br> [[:af:User:Nikkis|Afrikaans]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:am:User:Nikkis|አማርኛ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:an:User:Nikkis|Aragonés]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ang:User:Nikkis|Anglo-Saxon]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ar:User:Nikkis|العربية]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ast:User:Nikkis|Asturianu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ay:User:Nikkis|Aymar]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:az:User:Nikkis|Azərbaycan]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ba:User:Nikkis|Башҡорт]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:be:User:Nikkis|Беларуская]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:bg:User:Nikkis|Български]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:bn:User:Nikkis|বাংলা]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:br:User:Nikkis|Brezhoneg]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:bs:User:Nikkis|Bosanski]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ca:User:Nikkis|Català]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:chr:User:Nikkis|ᏣᎳᎩ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:co:User:Nikkis|Corsu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:cs:User:Nikkis|Česky]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:csb:User:Nikkis|Kaszëbsczi]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:cy:User:Nikkis|Cymraeg]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:da:User:Nikkis|Dansk]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:de:User:Nikkis|Deutsch]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:dv:User:Nikkis|ދިވެހިބަސ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:el:User:Nikkis|Ελληνικά]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:en:User:Nikkis|English]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:eo:User:Nikkis|Esperanto]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:es:User:Nikkis|Español]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:et:User:Nikkis|Eesti]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:eu:User:Nikkis|Euskara]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fa:User:Nikkis|فارسی]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fi:User:Nikkis|Suomi]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fj:User:Nikkis|Na Vosa Vakaviti]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fo:User:Nikkis|Føroyskt]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fr:User:Nikkis|Français]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:fy:User:Nikkis|Frysk]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ga:User:Nikkis|Gaeilge]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:gd:User:Nikkis|Gàidhlig]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:gl:User:Nikkis|Galego]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:gn:User:Nikkis|Avañe'ẽ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:gu:User:Nikkis|ગુજરાતી]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:gv:User:Nikkis|Gaelg]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ha:User:Nikkis|هَوُسَ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:he:User:Nikkis|עברית]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:hi:User:Nikkis|हिन्दी]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:hr:User:Nikkis|Hrvatski]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:hsb:User:Nikkis|Hornjoserbsce]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:hu:User:Nikkis|Magyar]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:hy:User:Nikkis|Հայերեն]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ia:User:Nikkis|Interlingua]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:id:User:Nikkis|Bahasa Indonesia]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ie:User:Nikkis|Interlingue]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ik:User:Nikkis|Iñupiak]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:io:User:Nikkis|Ido]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:is:User:Nikkis|Íslenska]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:it:User:Nikkis|Italiano]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:iu:User:Nikkis|ᐃᓄᒃᑎᑐᑦ/inuktitut]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ja:User:Nikkis|日本語]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:jbo:User:Nikkis|Lojban]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:jv:User:Nikkis|Basa Jawa]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ka:User:Nikkis|ქართული]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:kk:User:Nikkis|Қазақша]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:kl:User:Nikkis|Kalaallisut]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:km:User:Nikkis|ភាសាខ្មែរ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:kn:User:Nikkis|ಕನ್ನಡ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ko:User:Nikkis|한국어]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ks:User:Nikkis|कश्मीरी - (كشميري)]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ku:User:Nikkis|Kurdî / كوردی]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:kw:User:Nikkis|Kernewek]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ky:User:Nikkis|Кыргызча]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:la:User:Nikkis|Latina]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:lb:User:Nikkis|Lëtzebuergesch]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:li:User:Nikkis|Limburgs]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ln:User:Nikkis|Lingála]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:lo:User:Nikkis|ລາວ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:lt:User:Nikkis|Lietuvių]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:lv:User:Nikkis|Latviešu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mg:User:Nikkis|Malagasy]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mi:User:Nikkis|Māori]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mk:User:Nikkis|Македонски]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ml:User:Nikkis|മലയാളം]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mn:User:Nikkis|Монгол]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mr:User:Nikkis|मराठी]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ms:User:Nikkis|Bahasa Melayu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:mt:User:Nikkis|Malti]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:my:User:Nikkis|Myanmasa]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:na:User:Nikkis|Dorerin Naoero]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:nah:User:Nikkis|Nāhuatl]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:nds:User:Nikkis|Plattdüütsch]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ne:User:Nikkis|नेपाली]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:nl:User:Nikkis|Nederlands]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:nn:User:Nikkis|‪Norsk (nynorsk)]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:no:User:Nikkis|‪Norsk (bokmål)]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:oc:User:Nikkis|Occitan]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:om:User:Nikkis|Oromoo]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:pa:User:Nikkis|ਪੰਜਾਬੀ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:pl:User:Nikkis|Polski]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ps:User:Nikkis|پښتو]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:pt:User:Nikkis|Português]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:qu:User:Nikkis|Runa Simi]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ro:User:Nikkis|Română]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:roa-rup:User:Nikkis|Armãneashce]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ru:User:Nikkis|Русский]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:rw:User:Nikkis|Kinyarwanda]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sa:User:Nikkis|संस्कृत]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:scn:User:Nikkis|Sicilianu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sd:User:Nikkis|سنڌي]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sg:User:Nikkis|Sängö]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sh:User:Nikkis|Srpskohrvatski / Српскохрватски]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:si:User:Nikkis|සිංහල]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:simple:User:Nikkis|Simple English]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sk:User:Nikkis|Slovenčina]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sl:User:Nikkis|Slovenščina]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sm:User:Nikkis|Gagana Samoa]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:so:User:Nikkis|Soomaaliga]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sq:User:Nikkis|Shqip]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sr:User:Nikkis|Српски / Srpski]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ss:User:Nikkis|SiSwati]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:st:User:Nikkis|Sesotho]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:su:User:Nikkis|Basa Sunda]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sv:User:Nikkis|Svenska]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:sw:User:Nikkis|Kiswahili]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ta:User:Nikkis|தமிழ்]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:te:User:Nikkis|తెలుగు]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tg:User:Nikkis|Тоҷикӣ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:th:User:Nikkis|ไทย]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ti:User:Nikkis|ትግርኛ]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tk:User:Nikkis|Türkmen]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tl:User:Nikkis|Tagalog]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tn:User:Nikkis|Setswana]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tpi:User:Nikkis|Tok Pisin]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tr:User:Nikkis|Türkçe]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ts:User:Nikkis|Xitsonga]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:tt:User:Nikkis|Tatarça/Татарча]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ug:User:Nikkis|Uyghurche‎ / ئۇيغۇرچە]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:uk:User:Nikkis|Українська]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:ur:User:Nikkis|اردو]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:uz:User:Nikkis|O'zbek]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:vi:User:Nikkis|Tiếng Việt]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:vo:User:Nikkis|Volapük]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:wa:User:Nikkis|Walon]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:wo:User:Nikkis|Wolof]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:yi:User:Nikkis|ייִדיש]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:za:User:Nikkis|(Cuengh)]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:zh:User:Nikkis|中文]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:zh-min-nan:User:Nikkis|Bân-lâm-gú]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> [[:zu:User:Nikkis|isiZulu]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </span> <br> ---- ‣ ''[[m:User:Nikkis|Overview]]'' dfgo4qf702y6bbjc6a6eaomcoeukap3 User:Dferg 2 2256 8845 6255 2013-09-22T22:51:15Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Dferg]]) 8845 wikitext text/x-wiki __NOINDEX__ 4dk4zevx7zb4mh95uavtx21at6jgovp User talk:Dferg 3 2257 8846 6256 2013-09-22T23:09:20Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Dferg]]) 8846 wikitext text/x-wiki __NOINDEX__ 4dk4zevx7zb4mh95uavtx21at6jgovp teclado 0 2258 20284 19363 2020-02-22T03:42:34Z Minorax 2056 fix lint error 20284 wikitext text/x-wiki {{-pt-}} === Magac === '''teclado''' {{m}} <small>('''teclado''' < [[tecla#Portugiis|tecla]])</small> # [[alwaaxa-furayaasha]] [[Category:Luqada Portugiiska ereyada kumbuyuutarada]] oi44m9o2fw4sfkytnntf0tfm6sbkr80 User:Shanel/monobook.js 2 2260 20495 6260 2021-02-03T22:13:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20495 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Shanel/global.js&action=raw&ctype=text/javascript'); 14p5zkc7ozc0y8n5twgu541naa3a33d User:WikimediaNotifier 2 2262 6263 2008-10-30T00:24:08Z WikimediaNotifier 176 Bog cusub: <div style="text-align: center;"> ---- ---- '''[[m:User:WikimediaNotifier|WikimediaNotifier]]'''<!--...do not flag this account-->; operated by [[m:User:Melancholie|User:Melancholie]] ---... 6263 wikitext text/x-wiki <div style="text-align: center;"> ---- ---- '''[[m:User:WikimediaNotifier|WikimediaNotifier]]'''<!--...do not flag this account-->; operated by [[m:User:Melancholie|User:Melancholie]] ---- ---- </div> tor7u7wsypruve0zcafw99g58kaa6mm User:Spacebirdy/monobook.js 2 2263 20498 6264 2021-02-03T22:14:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20498 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Spacebirdy/altækt.js&action=raw&ctype=text/javascript'); 7d2lp9lmd17ehx82s1xxx5lm94g4ah1 User talk:WikimediaNotifier 3 2264 6265 2008-10-30T15:38:17Z WikimediaNotifier 176 Redirecting to [[User:WikimediaNotifier]] 6265 wikitext text/x-wiki #REDIRECT [[User:WikimediaNotifier]] e0ennyj78ghs157hdt808vmdmc9rd95 User:WikimediaNotifier/frame.css 2 2265 6266 2008-10-30T17:37:51Z WikimediaNotifier 176 safe fallback 6266 css text/css <div style="background-color: #FEFEFE; border: 1px solid #ABABAB; padding: 0 1em;"> __NOEDITSECTION__ === {{{topic}}} === {{{content}}} :<small>&hellip; do '''not''' reply to this <u>automatically</u> delivered notification <span title="locally">here</span>; answer/discuss together '''[[meta:Talk:Global_notifications#{{{topic}}}|on Meta]]''', centrally!</small> </div> i5zq9jolr3qjxtjhnenvi6vdcoaog90 User:WikimediaNotifier/template 2 2266 6301 6267 2008-11-10T13:22:00Z WikimediaNotifier 176 6301 wikitext text/x-wiki <div style="background-color: #FEFEFE; border: 1px solid #ABABAB; padding: 0 1em;"> __NOEDITSECTION__ === {{{topic}}} === {{{content}}} <div style="float: right;"><small>&#91;[[{{#ifeq:{{User:WikimediaNotifier/translation}}|User:WikimediaNotifier/notifications|User:WikimediaNotifier/translation|{{User:WikimediaNotifier/translation}}}}#{{{topic}}}|local translation]]&#93;</small></div> :<small>&hellip; do '''not''' reply to this <u>automatically</u> delivered notification <span title="locally">here</span>; answer/discuss together '''[[meta:Talk:Global_notifications#{{{topic}}}|on Meta]]''', centrally!</small> </div> 554n4kii6e3whjuknwzbi3scfpljx57 User:Spacebirdy/monobook.css 2 2267 6268 2008-10-31T01:24:36Z Pathoschild 41 + global CSS ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6268 css text/css @import "http://meta.wikimedia.org/w/index.php?title=User:Spacebirdy/altækt.css&action=raw&ctype=text/css"; 7nvxzolr2g4w4mc8pm2n6reta20gvm4 User:Mike.lifeguard/monobook.js 2 2268 20491 6269 2021-02-03T22:12:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20491 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Mike.lifeguard/remote.js&action=raw&ctype=text/javascript'); h79pv32wzmk4501fqb6rhkwhkpf0ut9 User:WikimediaNotifier/config.js 2 2269 6270 2008-10-31T08:38:54Z WikimediaNotifier 176 . 6270 javascript text/javascript <onlyinclude>{{{all|}}}{{{wikt|}}}{{{so|}}}{{{wikt:so|}}}</onlyinclude> lbrqapimftxzo69pnkww00spqo01avj User:WikimediaNotifier/self.js 2 2270 6271 2008-10-31T08:39:13Z WikimediaNotifier 176 . 6271 javascript text/javascript {{<includeonly>subst:</includeonly>#if:{{{wikt:so|}}}|{{{wikt:so|}}}|{{<includeonly>subst:</includeonly>#if:{{{so|}}}|{{{so|}}}|{{<includeonly>subst:</includeonly>#if:{{{wikt|}}}|{{{wikt}}}|{{<includeonly>subst:</includeonly>#if:{{{else|}}}|{{{else}}}|}}}}}}}} licx2k7qls7zyn3bse16de166g60r8c User:WikimediaNotifier/notifications 2 2271 19998 6433 2018-07-19T19:49:58Z CommonsDelinker 15 Removing [[:c:File:Crystal_Clear_accepted_bot.png|Crystal_Clear_accepted_bot.png]], it has been deleted from Commons by [[:c:User:Ellin Beltz|Ellin Beltz]] because: per [[:c:Commons:Deletion requests/File:Crystal Clear accepted bot.png|]]. 19998 wikitext text/x-wiki <div dir="ltr" lang="en" xml:lang="en" style="direction: ltr; padding-top: 3px;"> {{#ifeq:{{{onlyTOC|}}}|| <!--/ / Mirrored/synchronized; do not change this page [use Meta]; translate on separate page! /--> <noinclude><div class="plainlinks" style="float: right; margin-top: -30px;">['''[[meta:Global_notifications/RSS|RSS]]&nbsp;[[File:Feed-icon.svg|12px|link=meta:Global_notifications/RSS]]''']</div></noinclude> <div style="clear: both; background-color: #FFFCFC;">{{User:WikimediaNotifier/translate}}</div> <div style="float: right; background-color: #EFEFEF; margin: 0 0 1em 1em; padding: 0 0 4px 3px; position: relative; z-index: 9;"> __TOC__ </div> {{User:WikimediaNotifier/template| topic = Wikimedia notification system |content = [[File:Mail-notification.svg|25px|link=m:Global notifications]] <small>''This is a '''global notification system''' for all Wikimedia wikis!''</small> <hr style="margin: 0;" /> <div style="background-color: #F7FFF7; border: 2px solid #F3F3F3; padding: 10px 20px 15px;"> If it is necessary to inform many/all wikis about something important, a [[meta:Global_notifications|global notification]] can be requested at '''[[meta:Global notifications/requests]]'''. It is possible to have wiki and/or language dependent text within every message. ''All Meta notifications are synchronized automatically, either on all wikis or just on specific, selected ones.'' To have a common access point, the messages are updated at '''[[{{NS:User}}:WikimediaNotifier/notifications]]''' ''(mirrored, any changes to this page will be overwritten; [[meta:Global_notifications/how-to#translation|use a separate page for translation]]);'' you can include this page<small>(s)</small> like a template wherever you want, let's say your village pump, with a description in your language! Have a look on the '''[[meta:Global notifications/how-to|Frequently Asked Questions]]''' to see how it can fit your needs! * <small>With '''[[meta:User:Pathoschild/Scripts/SynchCrosswiki|SynchCrosswiki]]''' there furthermore is an easy way to create or synchronize pages like user scripts on all wikis!</small> </div> <hr style="margin: 0;" /> ''&hellip; it's for spreading information; and for a better cross-wiki communication & collaboration!'' }}<br /> {{User:WikimediaNotifier/template| topic = Commons: Picture of the Year 2008 |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small class="GN-update_1">2009-04-19</small></span> <div style="float: left; margin-right: 15px;">[[File:POTY_barnstar_1_2008.svg|85px|link=m:commons:Project:Picture_of_the_Year/2008]]</div> The third annual '''[[m:commons:Project:Picture of the Year/2008/Voting|Picture of the Year Award]]''' on [[m:commons:Main_Page|Wikimedia Commons]] goes into its second (<u>final</u>) round! {{:User:WikimediaNotifier/updated| ''The final voting round is running from April 19th to ''April 30th'' (23:59 UTC).'' Have a look on the '''[[m:commons:Project:Picture of the Year/2008/Finalists|finalists]]''' and select your favourite featured picture of 2008.}} </div> }}<br /> {{User:WikimediaNotifier/template| topic = GNU Free Documentation License 1.3 |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small class="GN-update_5">2009-04-12</small></span> <div style="float: left; margin-right: 10px;">[[File:CC-devnations.svg|70px|link=http://creativecommons.org/licenses/by-sa/3.0]]</div> The [[meta:GNU Free Documentation License|GNU Free Documentation License]] has been released in [[w:en:GNU_Free_Documentation_License#Timeline|version 1.3]] by its responsible [[w:en:Free Software Foundation|Free Software Foundation]].<br />This is not least a result of a request by our [[wikimedia:Resolution:License_update|Board of Trustees]] in December 2007, trying to offer us a possibility to <u>also</u> license and share our wiki contents under the easier to use [[w:en:Creative_Commons_licenses#Original_licenses|Creative Commons CC-BY-SA]] (Attribution + ShareAlike) license. The [[meta:Wikimedia Foundation|Wikimedia Foundation]] will soon organize a community wide referendum to decide whether our '''GNU FDL''' licensed wikis should be made availabe under the terms of this free and common '''CC-BY-SA''' license too, see [[w:en:Dual-licensing|dual-licensing]]. <div style="float: right;">[[File:CC-logo.svg|75px|link=http://creativecommons.org/licenses/by-sa/3.0]]</div> See also a [[mailarchive:foundation-l/2008-November/046996.html|detailed summary]] for further reading.<sup class="plainlinks">([http://blog.wikimedia.org/2008/11/04/gnu-free-documentation-license-13-released/ source])</sup> On [[meta:Licensing update|Meta]] you can find [[meta:Licensing_update/Questions_and_Answers|further information (FAQ)]] and can [[meta:Licensing update|discuss]] the licensing update process of our wikis. {{:User:WikimediaNotifier/updated|'''A vote on [[meta:Licensing update|Meta]] is taking place from [[meta:Licensing update/Timeline|April 12, 2009]] to [[meta:Licensing update/Timeline|May 3, 2009]].'''}} </div> }}<br /> {{User:WikimediaNotifier/template| topic = The Wiktionary logo dilemma |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2009-03-26</small></span> <div style="float: right; margin-left: 15px;">[[File:Wiktionary-logo-en.svg|96px|link=m:Wiktionary/logo]]</div> <div style="float: left; margin-right: 15px;">[[File:Wiktprintable_without_text.svg|110px|link=m:Wiktionary/logo]]</div> The Wiktionary community ''(actually the whole Wikimedia community)'' voted for a '''[[meta:Wiktionary/logo|new Wiktionary logo]]''', back in [[meta:Wiktionary/logo/archive-vote-4|2006]].<br />As some major local communities refused to adapt the new logo for different reasons, Wiktionary now has two different logos, both widely used! Because Wiktionary should have one common logo and [[BugZilla:16315|favicon]], meaning a unique visual identity, there is an '''[[meta:Wiktionary/logo/refresh|attempt to refresh]]''' the Wiktionary logo update/change process. <div style="text-align: center;">Wiktionary needs a single, common and accepted logo, so '''[[meta:Wiktionary/logo/refresh|help finding a solution]]''' at Meta or discuss on the [[mailarchive:wiktionary-l/2009-March/001009.html|Wiktionary mailing list]].</div> </div> }}<br /> {{User:WikimediaNotifier/template| topic = Software news in brief |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small class="GN-update_3">2009-03-25</small></span> <table><tr><td style="padding-right: 15px;" valign="top">[[File:Namespace MediaWiki.1.svg|100px|link=Special:Version]]<div style="font-size: smaller; text-align: center;">[http://techblog.wikimedia.org/ Technical Blog]</div></td> <td style="font-size: smaller;"> {{:User:WikimediaNotifier/updated|1=<div style="margin: -3px 0 0;" /> * ''2009-03-25:'' <span class="plainlinks">The [[Special:Version|MediaWiki software]] with its [[Special:Version|extensions]] has been [http://www.mediawiki.org/w/index.php?title=Special:Code/MediaWiki/releasenotes&startrev=47458&endrev=48811&path=/trunk/phase3 updated] to SVN revision '''[http://www.mediawiki.org/w/index.php?title=Special:Code/MediaWiki/releasenotes&startrev=47458&endrev=48811&path=/trunk/phase3 48811]''' ([http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/RELEASE-NOTES?r1=47457&r2=48811 release notes]).</span><!--[[:mw:This week's updates]]--> ** ''Major new features:'' New [[:mw:Help:Magic_words|magic word]] <code><nowiki>{{</nowiki>[[:mw:Help:Magic_words#Technical_metadata|REVISIONUSER]]<nowiki>}}</nowiki></code>, new special page [[Special:GlobalGroupPermissions]] for [[Special:GlobalUsers|global users]]; [[:rev:48801|etc]].}} * <span style="position: relative; margin-left: -20px; z-index: 9;">[[File:Stop bad orthography nuvola.svg|17px|link=w:en:Special:AbuseFilter]]</span> ''2009-03-17:'' The '''[[w:en:Special:AbuseFilter|AbuseFilter]]''' has also been activated for the English Wikipedia ''(Meta/dewiki: 2009-02-25)'' &ndash; the [[:mw:Extension:AbuseFilter|tool]] allows to automatically detect and/or prevent plain vandalism, spam and other pattern based changes. * ''2009-03-16:'' [[BugZilla:17714|TIFF support]] on Commons, [[BugZilla:15842|file/image renaming]] available for SysOps (through the [{{:MediaWiki:Move}}] tab). * ''2009-01-27:'' [[:mw:Extension:Collection|Collections]] will [[meta:Book tool/Schedule|soon]] be activated for all Wikimedia projects where they make sense, like currently for [http://blog.wikimedia.org/2009/01/27/wiki-to-print-feature-in-testing-in-the-german-wikipedia/ Wikibooks and the German Wikipedia] ''(2009-02-19: fr, pl, nl, pt, es, simple; en)'' &ndash; the extension lets your readers create PDF books to possibly order printed books. Use '''[http://pediapress.com/collection/ www.pediapress.com/collection]''' to create cross-wiki article collections of almost all wikis out there. * ''2009-01-26:'' Wikimedia will [http://blog.wikimedia.org/2009/01/26/mozilla-and-wikimedia-join-forces-to-support-open-video/ improve Ogg Theora/Vorbis support] with the help of the Mozilla Foundation. * ''2009-01-16:'' [[:mw:Extension:Drafts|Drafts]] are ready for [http://leuksman.com/log/2009/01/16/drafts-extension-enabled-on-test-wikipedia/ testing] &ndash; the extension makes backups of your unsaved edit sessions. * ''2008-12-17:'' Some major Wikipedias now have [[:en:Wikipedia:Searching#Wikipedia_search|enhanced]] search functionalities ([http://en.wikipedia.org/wiki/Special:Search/Esperanto?search=Esperant*&fulltext=1 example]), all other wikis have to wait for [[bugzilla:16685#c0|better hardware]]. * ''2008-12-03:'' Wikipedia will become [http://blog.wikimedia.org/2008/12/03/improved-usability-in-our-future/ more user-friendly for new volunteer writers] ([http://blog.wikimedia.org/2009/01/21/a-note-on-the-wikipedia-usability-initiative/ current info]); see '''[[meta:Wikipedia Usability Initiative|Wikipedia Usability Initiative]]'''! </td></tr></table> </div> }}<br /> {{User:WikimediaNotifier/template| topic = Wikimania 2009 |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2009-02-24</small></span> <div style="float: left; margin-right: 15px;">[[File:Wikimania.svg|50px|link=wm2009:Call_for_Participation]]</div> '''Wikimania 2009''', this year's global event devoted to [[foundation:|Wikimedia]] projects around the globe, is accepting submissions for presentations, workshops, [[wm2009:Call_for_Participation#Types_of_Submissions|panels]], posters, [[w:en:Open_Space_Technology|open space]] [[w:en:Open-space_meeting|discussions]], and even artistic works related to the Wikimedia projects or free content topics in general. The conference will be held from '''August 26''' to '''28''' in [[w:en:Buenos Aires|Buenos Aires]], [[w:en:Argentina|Argentina]]!<br />For more information, check the official '''[[wm2009:Call for Participation|Call for Participation]]'''. </div> }}<br /> {{User:WikimediaNotifier/template| topic = Quality illustrations |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2009-01-26</small></span> <div style="float: left; margin-right: 10px;">[[File:Great Wave off Kanagawa2.jpg|60px|link=m:Restoration.wikimedia.org]]</div> Beside an [[meta:Philip Greenspun illustration project|elder project]] for the creation and improvement of illustrations, there is a [[meta:Restoration.wikimedia.org|new project]] to grow our encyclopedic image [[meta:Restoration.wikimedia.org|restoration community]]. It's to provide media restorers with the technical resources they need, and to reach out to all the archives in the world. </div> }}<br /> {{User:WikimediaNotifier/template| topic = Software localization |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2009-01-01</small></span> <div style="float: left; margin-right: 5px;">[[Image:Traducción.png|70px|link=betawiki:Main_Page#What_is_Betawiki]]</div> ''The localization<!--user interface--> of {{SITENAME}}'s software <small>(MediaWiki)</small> and its extensions is an ongoing task, and you can help!'' ''There are '''[[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|statistics]]''' about how much of the [[:mw:Localisation_statistics|core messages]] and [[betawiki:Translating:Group_statistics#Group_statistics|system messages in total]] have been translated so far.'' ---- [[betawiki:Betawiki:Translator|Apply]], and '''help''' translating our software externally at [[betawiki:Main_Page#What_is_Betawiki|TranslateWiki.net]] <small>(='''Betawiki''', no Wikimedia project so far); have a look on the <span class="plainlinks">[http://translatewiki.net/wiki/Special:RecentChanges?namespace=8&trailer=/{{CONTENTLANGUAGE}} recent localization activity]</span> for <u>your language</u> [{{#language:{{CONTENTLANGUAGE}}}}].</small> </div> }}<br /> {{User:WikimediaNotifier/template| topic = Central Wikimedia help |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2008-12-24</small></span> [[Image:Wikimedia Community Logo.svg|16px|link=m:Goings-on]] There is a proposal to share [[meta:Wikimedia Help|Wikimedia's help pages]] by centralizing and localizing them on [[meta:Wikimedia Help|Meta]] or a dedicated wiki. </div> }}<br /> {{User:WikimediaNotifier/template| topic = FlaggedRevs review feature |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2008-11-28</small></span> <div style="float: left; margin-right: 15px;">[[Image:Artículo_bueno.svg|115px|link=m:FlaggedRevs]]</div> Beside the elder [[:mw:Help:Patrolled_edits|Patroller extension]] for patrolling recent changes and new pages, there is a highly configurable [[meta:MediaWiki|MediaWiki]] extension, called [[:mw:Extension:FlaggedRevs|FlaggedRevs]]. '''FlaggedRevs''' &ndash; being already enabled on [[meta:FlaggedRevs|several Wikimedia wikis]] &ndash; is a toolset for transparent and ensured article <u>patrolling</u> and/or for reliable <u>quality</u> assurance by specifying certain accurate article revisions that are shown to the public by default. Those stable article versions are identified in a release process by a trustable editorial staff and/or get approved by a reviewing expert staff. It is even possible to mark (tag) revisions of selected articles for different purposes, let's say for an article validation aiming on a print edition. Furthermore, there is the possibility to let your readers give you evaluative feedbacks. FlaggedRevs will make your wiki more reliable and thus more reputable over the time! Have a look on [[meta:FlaggedRevs|Meta's description]], the [[:mw:Extension:FlaggedRevs|technical description]] and the '''[[mailarchive:wikipedia-l/2008-June/030575.html|guidance for requesting FlaggedRevs]]'''! </div> }}<br /> {{User:WikimediaNotifier/template| topic = Interlanguage links |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2008-11-02</small></span> <div style="float: left; margin-right: 10px;"></div> Beside the ongoing discussion about introducing an [[meta:A_newer_look_at_the_interlanguage_link|interlanguage extension]] on Wikimedia projects to improve and centralize interwiki linking, an attempt to centralize the discussion about [[meta:Interwiki_synchronization|interlanguage link conflicts]] has been set up. </div> }}<br /> {{User:WikimediaNotifier/template| topic = Global bots |content = <div style="position: relative; margin-bottom: 6px;"> <span style="position: absolute; top: -38px; right: 42px; color: #BCBCBC;"><small>2008-11-01</small></span> <div style="float: left; margin-right: 10px;">[[Image:Bot Bienvenido.png|110px|link=m:Bot_policy/Implementation#Where_it_is_policy]]</div> On [[meta:Steward_requests/Bot_status#Global_bot_requests|Meta]], a bot account now can get a bot flag for all wikis that allow [[meta:Bot_policy#Global_bots|global bots]]!<br />To be able to run also on your {{SITENAME}}, the community has to <u>explicitly permit</u> global bots by local policy, '''[[meta:Bot_policy/Implementation#Where_it_is_policy|see list]]'''. ''To qualify for global bot access, the following requirements must be met by a bot:'' :::::# it must only maintain <u>interlanguage links</u> or fix <u>double-redirects</u> :::::# it must already be <u>active on several wikis</u>, with <u>long-term</u> contributions to back up its <u>trustworthiness</u><br /> </div> }} | #[[{{User:WikimediaNotifier/translation}}#Translation of the Week|Translation of the Week]] #[[{{User:WikimediaNotifier/translation}}#Commons: Picture of the Year 2008|Commons: Picture of the Year 2008]] #[[{{User:WikimediaNotifier/translation}}#GNU Free Documentation License 1.3|GNU Free Documentation License 1.3]] #[[{{User:WikimediaNotifier/translation}}#The Wiktionary logo dilemma|The Wiktionary logo dilemma]] #[[{{User:WikimediaNotifier/translation}}#Software news in brief|Software news in brief]] #[[{{User:WikimediaNotifier/translation}}#Wikimania 2009|Wikimania 2009]] #[[{{User:WikimediaNotifier/translation}}#Quality illustrations|Quality illustrations]] #[[{{User:WikimediaNotifier/translation}}#Software localization|Software localization]] #[[{{User:WikimediaNotifier/translation}}#Central Wikimedia help|Central Wikimedia help]] #[[{{User:WikimediaNotifier/translation}}#FlaggedRevs review feature|FlaggedRevs review feature]] #[[{{User:WikimediaNotifier/translation}}#Wikipedia globe logo|Wikipedia globe logo]] #[[{{User:WikimediaNotifier/translation}}#Interlanguage links|Interlanguage links]] #[[{{User:WikimediaNotifier/translation}}#Global bots|Global bots]] }} </div> nd7qr4v4fvjnxk6x66g7fdhg3snm398 User:SterkeBak 2 2272 6346 6273 2009-02-12T19:13:34Z CommonsDelinker 15 The file [[:Image:Sterkebak.jpg]] has been removed, as it has been deleted by [[:commons:User:Abigor]]: ''User request''. ''[[m:User:CommonsDelinker|Translate me!]]'' 6346 wikitext text/x-wiki <div style="padding-right:40px; font-style:italic; text-align:right; font-size:225%; font-family:Georgia; margin-bottom:15px; color:#669;">I wanna find something I've wanted all along<br /><br /> Somewhere I belong</div> <center><div style="width:820px;"><div style="width:59%; display:block; float:left;"> {| style="border-spacing:8px; margin:0px -8px;" |class="MainPageBG" style="width:60%; border:1px solid #CEDFF2; background-color:#FFF; vertical-align:top; -moz-border-radius:10px;"| {| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background-color:#FFF; -moz-border-radius:10px;" ! style="background:#CFDEF1; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:100%; border:1px solid #B1CDEB; text-align:left; padding-left:7px; -moz-border-radius:10px;"| <div style="float:right;">[[Image:Wbar_blue.jpg]]</div><div style="float:left;">[[Image:Wikipedia svg logo.svg|20px]]Userpage from SterkeBak</div> |- | style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:90%;"| <div class="plainlinks">Welcome to my userpage</div> Hello. I'm a Wikimedian who doesn't do a lot on this project. I am active at Commons. I am also an admin on Commons. If you want to talk to me use [[:Commons:User Talk:SterkeBak|my Commons talk page]]. (You can respond there in English, German and Dutch.) |} |} </div> <div style="width:40%; display:block; float:right;"> {| style="border-spacing:8px; margin:0px -8px;" |class="MainPageBG" style="width:60%; border:1px solid #CEDFF2; background:#FFF; vertical-align:top; -moz-border-radius:10px;"| {| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background-color:#FFF; -moz-border-radius:10px;" |- | [[Image:Cross of Sacrifice crop.jpg|250px|thumb|center|''Cross of Sacrifice'']] |} nv5csaubuzpaynssfo6ux7akxk27eb3 User:Kwj2772/monobook.js 2 2274 20486 6276 2021-02-03T22:12:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20486 javascript text/javascript /*Global javascript*/ mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Kwj2772/remote.js&action=raw&ctype=text/javascript'); 6qoblfbclwx9c8zlf784b4brptfurt6 User talk:Ahonc 3 2277 6282 2008-11-03T03:54:43Z Pathoschild 41 global user talk page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6282 wikitext text/x-wiki '''''Please leave comments [[w:uk:User talk:Ahonc|here]] or [[commons:User talk:Ahonc|here]].''''' qxwpo8xry9wh2d609avpqlidy87mjfk User:Dovi 2 2280 6287 2008-11-04T05:11:46Z Pathoschild 41 global user page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6287 wikitext text/x-wiki ==English== *'''[[m:s:User:Dovi|My user page at English Wikisource]] · [[m:s:User talk:Dovi|English Wikisource talk page]]''' *'''[[m:w:User:Dovi|My user page at English Wikipedia]] · [[m:w:User talk:Dovi|English Wikipedia talk page]]''' *'''But I'm most active at Hebrew Wikisource (see below).''' == Hebrew · עברית== *'''[[m:s:he:User:Dovi|Hebrew Wikisource user page]] · [[m:s:he:User talk:Dovi|Hebrew Wikisource talk page]]''' *'''[[m:s:he:User:Dovi|דף המשתמש שלי בעברית]] · [[m:s:he:User talk:Dovi|דף השיחה שלי בעברית]]''' mtgm6bcjyz0x0eyfnfprnejw8vuza04 User:MF-Warburg/monobook.js 2 2281 12334 8851 2015-02-07T23:14:16Z MF-Warburg 63 Masaxay bogga 12334 javascript text/javascript phoiac9h4m842xq45sp7s6u21eteeq1 User:WikimediaNotifier/google 2 2282 6293 2008-11-06T01:51:01Z WikimediaNotifier 176 . 6293 wikitext text/x-wiki [http://translate.google.com/translate?u=meta.wikimedia.org/wiki/Global_notifications&hl=ar&sl=en&tl=ar Google] hrcj8d0vv57z7lkrtxi98l3bl3ghwik User:WikimediaNotifier/babelfish 2 2283 6294 2008-11-06T04:57:26Z WikimediaNotifier 176 . 6294 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 User:WikimediaNotifier/translate 2 2284 6300 6295 2008-11-10T10:50:30Z WikimediaNotifier 176 6300 wikitext text/x-wiki <div style="margin-top: -19px; text-align: center;"><small><span title="Traduko">Machine translation</span>: {{User:WikimediaNotifier/google}} &ndash; '''[[m:Global_notifications/machine_translation#{{CONTENTLANGUAGE}}|Service List]]''' &ndash; '''[[{{#ifeq:{{User:WikimediaNotifier/translation}}|User:WikimediaNotifier/notifications|User:WikimediaNotifier/translation|{{User:WikimediaNotifier/translation}}}}|Local Translation Page]]''' &#124; <span title="Esperanto">[http://traduku.net/cgi-bin/elitrad/elitrad?en_eo&u=meta.wikimedia.org/wiki/Global_notifications traduku]</span></small></div> eurcx7pzjzpl1us0u65tzbdlgb7kxs5 User:WikimediaNotifier/translation 2 2286 6299 2008-11-09T15:02:49Z WikimediaNotifier 176 . 6299 wikitext text/x-wiki User:WikimediaNotifier/notifications<noinclude> ;Here you can add the title of a translation page for [[User:WikimediaNotifier/notifications]] </noinclude> e65omq99a88pxmryxynlj0pc1kglypq User:Melancholie/mmA 2 2287 6303 2008-11-12T13:38:53Z Melancholie 183 Preparation for [[Project:Most missed articles]]; see [[de:wikt:Wiktionary:Statistik/Suchanfragen]]/[[w:en:Wikipedia:Most missed articles]]! 6303 wikitext text/x-wiki '''{{{1}}}''' requests per day: [[{{{2}}}]] <sup>([[Special:Search/{{{2}}}|?]]/[[google:"{{{3|{{{2}}}}}}"|g]]{{{4|}}})</sup> 0tbqmgcnkwv4urrwenwm0pe12t9uaof User:Cometstyles/monobook.js 2 2288 20472 6305 2021-02-03T22:09:49Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20472 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Cometstyles/global.js&action=raw&ctype=text/javascript'); eizeov0rcb6zuf4uw4lmvc7c4t36e60 User:Lar 2 2289 6307 2008-11-21T08:41:13Z Pathoschild 41 global user page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6307 wikitext text/x-wiki {| |- |valign="top"| Hi. I am Larry Pieniazek, user Lar on the English Wikipedia. See my page ([[m:en:user:Lar|user:Lar]]) there for more information about me and see [[m:User:Lar/WikiMatrix|my WikiMatrix]] on meta for info about my other accounts. For best results, leave messages on my talk page ([[m:en:user talk:Lar|user talk:Lar]]) on the English Wikipedia, or on my talk page at Meta ([[m:user talk:Lar|user talk:Lar]]), as I may not see them here. Thanks! <div style="border:1px solid #000; margin:0 1em 0 1em; padding:10px; clear:both; background:#FF9;"> I am a [[m:Stewards|steward]] ([{{fullurl:m:Stewards/elections 2007/statements/Lar}} my request], [{{fullurl:m:Special:Listusers|limit=1&username=Lar}} verify], [{{fullurl:m:Special:Log|type=rights&page=User:lar}} rights log]) here and at all WMF projects. If I can be of any assistance please do not hesitate to ask. Please remember that, [[m:Steward policies|per policy]], stewards do not take sides in disputes, do not decide matters for themselves (instead they seek to understand community consensus), and do not act when local processes exist and provide for a mechanism for the action. Please use the defined pages (such as [[m:Steward requests/Permissions]], [[m:Steward requests/Bot status]], or [[m:Steward requests/Checkuser]]) rather than direct requests, wherever possible. Note: while I do carry out cross wiki checkuser requests regularly, per steward policy and practice I will not act as a steward on my home wikis (en:wp, en:ws, commons, meta) at all, except in exceedingly rare, emergency circumstances. If the matter involves a need for discretion please feel free to email me using my email link, and note that you consider the matter private. </div> | {| style="width:242px; border:1px solid #99B3FF;" | align="center" | '''[[m:en:Wikipedia:Babel|Babel]]''' |- | {{user so-0}} |- | {{user en}} |- | {{user de-1}} |} |} reb4y6pc5i447saz6rvn1h8nh3yo8fl User:Erwin/monobook.js 2 2290 20475 6310 2021-02-03T22:10:19Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20475 javascript text/javascript // [[:m:User:Erwin/global.js]] mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Erwin/global.js&action=raw&ctype=text/javascript'); 281bkaieaosxcl4smmex56z22y3ma9c tasainen 0 2291 19357 17940 2017-04-28T17:30:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19357 wikitext text/x-wiki {{-fi-}} '''tasainen''' # [[balac]], [[fidsan]], siman fdo79f3lqh2zvvl56st95hpqo1j97rs User:Interwicket 2 2292 7631 6485 2011-12-04T01:36:00Z KamikazeBot 635 r2.6.4) (Robot: Adding af, am, an, ang, ar, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it, iu, ja,... 7631 wikitext text/x-wiki '''Wiktionary interwiki 'bot''' User "Interwicket" is the 'bot that adds interwiki (inter-language) links to entries. It is designed for the Wiktionaries. It is not the "wikipedia bot", it is much more efficient. It operates only in the main namespace (NS:0). Here, user "Interwicket" will add links to all of the other wiktionaries when needed. * If user "Interwicket" is blocked here, it will not edit (of course) * If user "Interwicket" is given a bot flag here, it will add iwikis whenever needed Otherwise it will operate in a test mode, doing only a very few edits, that can then be checked (by me, and by anyone else). Most of the possible updates will not be done because of this limit. :Discussion page for Interwicket is [[:en:User talk:Interwicket]]. :Code is at [[:en:User:Interwicket/code]]. :Status, number of edits, etc for each wikt at [[:en:User:Interwicket/FL status]]. :My talk page is [[:en:User talk:Robert Ullmann]]. Finally, my sincere apologies for writing this message only in English!<!-- note that all of the text in this page is re-written by the 'bot; it is pointless to edit it. Any templates added at the top or categories and iwikis at the bottom will be left --> ---- The bot has been configured to run here without a bot flag, but at full rate, '''not in test mode'''. This is done for some small or inactive wiktionaries. If you are a user or admin here and would like to see it flagged, please note on [[:en:User talk:Interwicket]] and I will resolve it. It is sometimes hard to find the bot flag request page on various wikts; if you have one and I have not added a request, please write me a note on [[:en:User talk:Interwicket]] with a link! I strongly suggest that this wiktionary subscribe to one or both of the automatic approval policy or global bot policy. Please see [[m:Bot policy]]. Feel free to ask me any questions. [[af:Gebruiker:Interwicket]] [[am:አባል:Interwicket]] [[an:Usuario:Interwicket]] [[ang:User:Interwicket]] [[ar:مستخدم:Interwicket]] [[ast:Usuariu:Interwicket]] [[ay:Usuario:Interwicket]] [[az:İstifadəçi:Interwicket]] [[be:Удзельнік:Interwicket]] [[bg:Потребител:Interwicket]] [[bn:ব্যবহারকারী:Interwicket]] [[br:Implijer:Interwicket]] [[bs:Korisnik:Interwicket]] [[ca:Usuari:Interwicket]] [[chr:User:Interwicket]] [[co:User:Interwicket]] [[cs:Uživatel:Interwicket]] [[csb:Brëkòwnik:Interwicket]] [[cy:Defnyddiwr:Interwicket]] [[da:Bruger:Interwicket]] [[de:Benutzer:Interwicket]] [[dv:މެމްބަރު:Interwicket]] [[el:Χρήστης:Interwicket]] [[en:User:Interwicket]] [[eo:Uzanto:Interwicket]] [[es:Usuario:Interwicket]] [[et:Kasutaja:Interwicket]] [[eu:Lankide:Interwicket]] [[fa:کاربر:Interwicket]] [[fi:Käyttäjä:Interwicket]] [[fj:User:Interwicket]] [[fo:Brúkari:Interwicket]] [[fr:Utilisateur:Interwicket]] [[fy:Meidogger:Interwicket]] [[ga:Úsáideoir:Interwicket]] [[gd:User:Interwicket]] [[gl:Usuario:Interwicket]] [[gn:Puruhára:Interwicket]] [[gu:સભ્ય:Interwicket]] [[gv:Ymmydeyr:Interwicket]] [[ha:User:Interwicket]] [[he:משתמש:Interwicket]] [[hi:सदस्य:Interwicket]] [[hr:Suradnik:Interwicket]] [[hsb:Wužiwar:Interwicket]] [[hu:Szerkesztő:Interwicket]] [[hy:Մասնակից:Interwicket]] [[ia:Usator:Interwicket]] [[id:Pengguna:Interwicket]] [[ie:Usator:Interwicket]] [[ik:User:Interwicket]] [[io:Uzanto:Interwicket]] [[is:Notandi:Interwicket]] [[it:Utente:Interwicket]] [[iu:User:Interwicket]] [[ja:利用者:Interwicket]] [[jbo:User:Interwicket]] [[jv:Panganggo:Interwicket]] [[ka:მომხმარებელი:Interwicket]] [[kk:Қатысушы:Interwicket]] [[kl:Atuisoq:Interwicket]] [[km:អ្នកប្រើប្រាស់:Interwicket]] [[kn:ಸದಸ್ಯ:Interwicket]] [[ko:사용자:Interwicket]] [[ks:User:Interwicket]] [[ku:Bikarhêner:Interwicket]] [[kw:Devnydhyer:Interwicket]] [[ky:User:Interwicket]] [[la:Usor:Interwicket]] [[lb:Benotzer:Interwicket]] [[li:Gebroeker:Interwicket]] [[ln:Utilisateur:Interwicket]] [[lo:ຜູ້ໃຊ້:Interwicket]] [[lt:Naudotojas:Interwicket]] [[lv:Lietotājs:Interwicket]] [[mg:Mpikambana:Interwicket]] [[mi:User:Interwicket]] [[mk:Корисник:Interwicket]] [[ml:ഉപയോക്താവ്:Interwicket]] [[mn:Хэрэглэгч:Interwicket]] [[mr:सदस्य:Interwicket]] [[ms:Pengguna:Interwicket]] [[mt:Utent:Interwicket]] [[my:User:Interwicket]] [[na:User:Interwicket]] [[nah:Tlatequitiltilīlli:Interwicket]] [[nds:Bruker:Interwicket]] [[ne:प्रयोगकर्ता:Interwicket]] [[nl:Gebruiker:Interwicket]] [[nn:Brukar:Interwicket]] [[no:Bruker:Interwicket]] [[oc:Utilizaire:Interwicket]] [[om:User:Interwicket]] [[pa:ਮੈਂਬਰ:Interwicket]] [[pl:Wikipedysta:Interwicket]] [[ps:کارن:Interwicket]] [[pt:Utilizador:Interwicket]] [[qu:Ruraq:Interwicket]] [[ro:Utilizator:Interwicket]] [[roa-rup:User:Interwicket]] [[ru:Участник:Interwicket]] [[rw:User:Interwicket]] [[sa:योजकः:Interwicket]] [[scn:Utenti:Interwicket]] [[sd:يوزر:Interwicket]] [[sg:Utilisateur:Interwicket]] [[sh:Korisnik:Interwicket]] [[si:පරිශීලක:Interwicket]] [[simple:User:Interwicket]] [[sk:Redaktor:Interwicket]] [[sl:Uporabnik:Interwicket]] [[sm:User:Interwicket]] [[sq:Përdoruesi:Interwicket]] [[sr:Корисник:Interwicket]] [[ss:User:Interwicket]] [[st:User:Interwicket]] [[su:Pamaké:Interwicket]] [[sv:Användare:Interwicket]] [[sw:Mtumiaji:Interwicket]] [[ta:பயனர்:Interwicket]] [[te:వాడుకరి:Interwicket]] [[tg:Корбар:Interwicket]] [[th:ผู้ใช้:Interwicket]] [[ti:User:Interwicket]] [[tk:Ulanyjy:Interwicket]] [[tl:Tagagamit:Interwicket]] [[tn:User:Interwicket]] [[tpi:User:Interwicket]] [[tr:Kullanıcı:Interwicket]] [[ts:User:Interwicket]] [[tt:Кулланучы:Interwicket]] [[ug:ئىشلەتكۈچى:Interwicket]] [[uk:Користувач:Interwicket]] [[ur:صارف:Interwicket]] [[uz:Foydalanuvchi:Interwicket]] [[vi:Thành viên:Interwicket]] [[vo:Geban:Interwicket]] [[wa:Uzeu:Interwicket]] [[wo:Jëfandikukat:Interwicket]] [[yi:באַניצער:Interwicket]] [[za:用户:Interwicket]] [[zh:User:Interwicket]] [[zh-min-nan:User:Interwicket]] [[zu:User:Interwicket]] szvwvfukbxebrz89n411gfdiqiu9x23 User:Charitwo/monobook.css 2 2294 6340 2009-02-09T04:28:00Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6340 css text/css @import url('http://meta.wikimedia.org/w/index.php?title=User:Charitwo/global.css&action=raw&ctype=text/css'); 55k1dpu4q7mps38uh30m4irteygvs1y User:Mardetanha/monobook.js 2 2295 20489 6348 2021-02-03T22:12:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20489 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Mardetanha/remote.js&action=raw&ctype=text/javascript'); mil054uwnua7soaktk866fhhux9c3ib User:Razorflame 2 2296 6609 6349 2010-01-31T05:48:17Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6609 wikitext text/x-wiki Please see [[m:wikt:en:User:Razorflame|my userpage]]. Thanks! <div style="float:left; margin:1px; border:1px solid #6EF7A7;"> {| cellspacing="0" style="width:238px; background:#C5FCDC;" | style="width:45px; height:45px; background:#6EF7A7; text-align:center; font-size:14pt;" | '''en''' | style="padding:4pt; line-height:1.25em; font-size:8pt;" | This user is a '''native''' speaker of '''English'''. |} </div> p9rt1myknldnnduywuuhofeui7rl1gh User:Kylu/monobook.js 2 2297 20487 6359 2021-02-03T22:12:19Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20487 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Kylu/global.js&action=raw&ctype=text/javascript'); glpx16mn8jhef7kbbu44p73wosurg5v User:Kylu/monobook.css 2 2298 6360 2009-02-22T05:54:44Z Pathoschild 41 + global CSS ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6360 css text/css @import url('http://meta.wikimedia.org/w/index.php?title=User:Kylu/global.css&action=raw&ctype=text/css'); 0n1rjfnphb690oojldgxhzxkdqo9vwb User:WikimediaNotifier/updated 2 2302 6409 2009-03-17T16:11:27Z WikimediaNotifier 176 . 6409 wikitext text/x-wiki {| class="TablePager" style="border-color: #8FAACC !important; min-width: 0 !important;" |- | style="border-color: #8FAACC !important;" | {{{1}}} |} 6civ2nd5r2qn7hd51fhz7e4at7m46fe User:Kanonkas/monobook.js 2 2304 20482 6413 2021-02-03T22:11:29Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20482 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Kanonkas/global.js&action=raw&ctype=text/javascript'); 4cv0noyekhcpehdppxxcij6c7um4agq User:Muro de Aguas/monobook.js 2 2306 20492 6424 2021-02-03T22:13:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20492 javascript text/javascript mw.loader.load('https://es.wikipedia.org/w/index.php?title=Usuario:Muro_de_Aguas/monobook-global.js&action=raw&ctype=text/javascript'); kvfip5ihd4blbx19k3odgxwftocsn7q User:Finnrind/monobook.js 2 2308 20476 6426 2021-02-03T22:10:29Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20476 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Finnrind/global.js&action=raw&ctype=text/javascript'); aregtndqm7659aw4tkxjs045t4t02kr User:Ivocamp96/monobook.css 2 2309 6427 2009-04-13T01:24:04Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6427 css text/css @import url('http://meta.wikimedia.org/w/index.php?title=User:Ivocamp96/global.css&action=raw&ctype=text/css'); 43zz4399kfzdtq5gwbhe90mev7nv24x User:Techman224 2 2311 6429 2009-04-17T23:27:34Z Pathoschild 41 linked to main user page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6429 wikitext text/x-wiki See [[w:en:User:Techman224]]. 3ama84ba3beiyv429pajahjjtr25q9w User:Str4nd/monobook.js 2 2312 20499 6430 2021-02-03T22:14:19Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20499 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Str4nd/global.js&action=raw&ctype=text/javascript'); f6w1cqkn1ajvdewd17hlypbjpskxd9v User:Kuvaly/monobook.js 2 2313 20483 6431 2021-02-03T22:11:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20483 javascript text/javascript mw.loader.load('https://cs.wikipedia.org/w/index.php?title=User:Kuvaly/global.js&action=raw&ctype=text/javascript'); lpm0f7l9tjqvfb8xarwkwe3ozc36okp User:Juliancolton/monobook.js 2 2314 20481 6432 2021-02-03T22:11:19Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20481 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Juliancolton/global.js&action=raw&ctype=text/javascript'); bpw2xvtfjtf62b9deio5bl6atijiev1 User:Mercy 2 2317 7149 6451 2010-10-27T07:27:39Z Mercy 238 La'difaacay "[[User:Mercy]]": vandalism prevention ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)) 7149 wikitext text/x-wiki [[meta:user:Mercy]] qs5j55ls1svle11xqayad9ozm2xr394 Template:Softredirect 10 2321 19955 15127 2017-07-20T11:59:16Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة; Badal qurxin ah 19955 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 User:Emijrp 2 2322 7102 6469 2010-09-11T11:22:49Z BOTijo 420 {{Softredirect|w:en:User:Emijrp}} 7102 wikitext text/x-wiki {{Softredirect|w:en:User:Emijrp}} mbchnmuqj9kga0ntkg3ynlgcymmpelk User talk:Emijrp 3 2323 7103 6470 2010-09-11T11:22:58Z BOTijo 420 {{Softredirect|w:en:User:Emijrp}} 7103 wikitext text/x-wiki {{Softredirect|w:en:User:Emijrp}} mbchnmuqj9kga0ntkg3ynlgcymmpelk User:Bff 2 2324 6482 2009-07-20T18:34:23Z Bff 111 Bog cusub: <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> {| align=right style="background-color:#BBC983; line-height:90%; border-style:ridge; border-width:3px; border-color:#BBC983;" ... 6482 wikitext text/x-wiki <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> {| align=right style="background-color:#BBC983; line-height:90%; border-style:ridge; border-width:3px; border-color:#BBC983;" |- || <div align=right style="font-size:12px; color:#271836"> NUMBEROFPAGES = '''{{NUMBEROFPAGES}}'''<br /> NUMBEROFARTICLES = '''{{NUMBEROFARTICLES}}'''<br /> NUMBEROFFILES = {{NUMBEROFFILES}}<br /> NUMBEROFEDITS = '''{{NUMBEROFEDITS}}'''<br /> NUMBEROFVIEWS = {{NUMBEROFVIEWS}}<br /> NUMBEROFUSERS = {{NUMBEROFUSERS}}<br /> NUMBEROFACTIVEUSERS = '''{{NUMBEROFACTIVEUSERS}}'''<br /> NUMBERINGROUP:bot = {{NUMBERINGROUP:bot}}<br /> NUMBERINGROUP:sysop = '''{{NUMBERINGROUP:sysop}}'''<br /> NUMBERINGROUP:bureaucrat = '''{{NUMBERINGROUP:bureaucrat}}''' </div> |} klcy481wlxi1qytpxwgz5q4pq1r865y User:Nagy 2 2325 6510 2009-09-01T21:45:53Z Pathoschild 41 global user page ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6510 wikitext text/x-wiki <center><span class="plainlinks">[[m:User:Nagy|Nagy]] ([[m:User talk:Nagy|Discussion]] &bull; [[Special:Contributions/Nagy|Contributions]])</span></center> jm13tp2yyyvjs4r49fzf8ozinhvuqym User:Beany/monobook.js 2 2327 20471 6514 2021-02-03T22:09:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20471 javascript text/javascript mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Beany/global.js&action=raw&ctype=text/javascript'); fed6kskn3lr333dbcg4lli2v9q1mg74 User:Kved/monobook.js 2 2328 20485 6515 2021-02-03T22:11:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20485 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Kved/global.js&action=raw&ctype=text/javascript'); 4o67ggi2vtz3abh8jpin7db9v2rpd8k User:Anonymous Dissident 2 2330 6517 2009-09-13T05:08:22Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/SynchCrosswiki|requested]]) 6517 wikitext text/x-wiki [[m:User:Anonymous Dissident|Meta]] | [[m:User:Anonymous Dissident/Matrix|Matrix]]<br /> ---- '''Anonymous Dissident''' (''none'') — [[Special:Contributions/Anonymous Dissident|edits]], [[User talk:Anonymous Dissident|talk]], [[Special:PrefixIndex/User:Anonymous_Dissident/|subpages]] ---- {{#time: H:i:s, j F Y }}.<br /> {{NUMBEROFARTICLES}} content pages.<br /> {{NUMBEROFUSERS}} users.<br /> {{NUMBEROFEDITS}} edits. ---- 9ma7n2a5na8g0erjm7d07qf1itjb36g water 0 2332 19467 17538 2017-04-28T17:30:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19467 wikitext text/x-wiki {{-en-}} === Magac === '''water''' # [[biyo]] mswesmcrfjdjay0737mco7uybq73ucw User:Jamesofur 2 2333 6538 2009-10-28T04:46:46Z Jamesofur 290 Cross-wiki Userpage creation 6538 wikitext text/x-wiki [[Image:Imagejamesofur.png|center]] {{Babel|en|fr-1}} I apologize in advance for only writing this in English, my ability in other languages is rather small. My main focus is on cross wiki vandalism,spam and abuse as part of the [[m:SWMT]]). I will also occasionally venture onto larger wikis (beyond my home EnWiki) to undo cross-wiki spam links. I tend to be a little slower at reverting non English sites because I want to make sure I know what I'm doing before I tag something for deletion or revert it. I will tab over to translate the changes or ask someone who knows the language before I do so unless it's obvious (one word dictionary articles etc.) I have also been known to have problems finding the right button before I've switched the preferences :). You can contact me here on [[User talk:Jamesofur| my talk page]], on my [[m:user talk:Jamesofur|Meta Wiki talk page]] or on my [[:En:w:User talk:Jamesofur|English Wikipedia talk page]].Please don't be afraid to use whichever is easiest for you as I get an email if you edit most of my talk pages. If you think I made a mistake or have a question on anything PLEASE let me know so that I can clarify and avoid confusion it in the future. I am also a [[m:Global Rollback|Global rollbacker]] which allows me the use of some tools (such as the rollback tool) that non admins do not always have. This may be why you see me do things that are unexpected for such a new user to your site. As I said above if you have ANY questions please let me know. gi7352oxya2ilju623y1vjyziwahb5w User:Gaudio 2 2335 6541 2009-10-29T21:44:41Z Gaudio 291 Bog cusub: [[meta:User:Gaudio]] 6541 wikitext text/x-wiki [[meta:User:Gaudio]] mr6vnvladoz3xj8fgm9hne0a55m2dnh User:Uusijani 2 2338 6551 2009-11-25T17:22:19Z Uusijani 301 Bog cusub: [[af:Gebruiker:Uusijani]] [[ak:User:Uusijani]] [[als:Benutzer:Uusijani]] [[am:አባል:Uusijani]] [[ang:User:Uusijani]] [[ab:Участник:Uusijani]] [[ar:مستخدم:Uusijani]] [[an... 6551 wikitext text/x-wiki [[af:Gebruiker:Uusijani]] [[ak:User:Uusijani]] [[als:Benutzer:Uusijani]] [[am:አባል:Uusijani]] [[ang:User:Uusijani]] [[ab:Участник:Uusijani]] [[ar:مستخدم:Uusijani]] [[an:Usuario:Uusijani]] [[roa-rup:User:Uusijani]] [[as:সদস্য:Uusijani]] [[ast:Usuariu:Uusijani]] [[gn:Puruhára:Uusijani]] [[av:Участник:Uusijani]] [[ay:Usuario:Uusijani]] [[az:İstifadəçi:Uusijani]] [[bm:Utilisateur:Uusijani]] [[bn:ব্যবহারকারী:Uusijani]] [[zh-min-nan:User:Uusijani]] [[ba:Ҡатнашыусы:Uusijani]] [[be:Удзельнік:Uusijani]] [[bh:User:Uusijani]] [[bi:User:Uusijani]] [[bo:User:Uusijani]] [[bs:Korisnik:Uusijani]] [[br:Implijer:Uusijani]] [[bg:Потребител:Uusijani]] [[ca:Usuari:Uusijani]] [[cs:Wikipedista:Uusijani]] [[ch:Muna'sesetbi:Uusijani]] [[sn:User:Uusijani]] [[co:User:Uusijani]] [[cy:Defnyddiwr:Uusijani]] [[da:Bruger:Uusijani]] [[de:Benutzer:Uusijani]] [[dv:މެމްބަރު:Uusijani]] [[dz:User:Uusijani]] [[et:Kasutaja:Uusijani]] [[el:Χρήστης:Uusijani]] [[en:User:Uusijani]] [[es:Usuario:Uusijani]] [[eo:Vikipediisto:Uusijani]] [[eu:Lankide:Uusijani]] [[fa:کاربر:Uusijani]] [[fo:Brúkari:Uusijani]] [[fr:Utilisateur:Uusijani]] [[fy:Meidogger:Uusijani]] [[ga:Úsáideoir:Uusijani]] [[gv:Ymmydeyr:Uusijani]] [[gd:User:Uusijani]] [[gl:Usuario:Uusijani]] [[gu:સભ્ય:Uusijani]] [[ko:사용자:Uusijani]] [[ha:User:Uusijani]] [[hy:Մասնակից:Uusijani]] [[hi:सदस्य:Uusijani]] [[hsb:Wužiwar:Uusijani]] [[hr:Suradnik:Uusijani]] [[io:Uzanto:Uusijani]] [[id:Pengguna:Uusijani]] [[ia:Usator:Uusijani]] [[ie:User:Uusijani]] [[iu:User:Uusijani]] [[ik:User:Uusijani]] [[xh:User:Uusijani]] [[zu:User:Uusijani]] [[is:Notandi:Uusijani]] [[it:Utente:Uusijani]] [[he:משתמש:Uusijani]] [[jv:Panganggo:Uusijani]] [[kl:Bruger:Uusijani]] [[kn:ಸದಸ್ಯ:Uusijani]] [[ka:მომხმარებელი:Uusijani]] [[ks:User:Uusijani]] [[csb:Brëkòwnik:Uusijani]] [[kk:Қатысушы:Uusijani]] [[kw:User:Uusijani]] [[rw:User:Uusijani]] [[ky:User:Uusijani]] [[rn:User:Uusijani]] [[sw:Mtumiaji:Uusijani]] [[ku:Bikarhêner:Uusijani]] [[lo:ຜູ້ໃຊ້:Uusijani]] [[la:Usor:Uusijani]] [[lv:Lietotājs:Uusijani]] [[lb:Benotzer:Uusijani]] [[lt:Naudotojas:Uusijani]] [[li:Gebroeker:Uusijani]] [[ln:Utilisateur:Uusijani]] [[jbo:User:Uusijani]] [[hu:Szerkesztő:Uusijani]] [[mk:Корисник:Uusijani]] [[mg:Mpikambana:Uusijani]] [[ml:ഉപയോക്താവ്:Uusijani]] [[mt:Utent:Uusijani]] [[mi:User:Uusijani]] [[mr:सदस्य:Uusijani]] [[ms:Pengguna:Uusijani]] [[mn:Хэрэглэгч:Uusijani]] [[my:User:Uusijani]] [[nah:Tlatequitiltilīlli:Uusijani]] [[na:User:Uusijani]] [[fj:User:Uusijani]] [[nl:Gebruiker:Uusijani]] [[cr:User:Uusijani]] [[ne:User:Uusijani]] [[ja:利用者:Uusijani]] [[no:Bruker:Uusijani]] [[nn:Brukar:Uusijani]] [[oc:Utilizaire:Uusijani]] [[or:User:Uusijani]] [[om:User:Uusijani]] [[uz:Foydalanuvchi:Uusijani]] [[pa:ਮੈਂਬਰ:Uusijani]] [[pi:User:Uusijani]] [[ps:کارونکی:Uusijani]] [[km:អ្នកប្រើប្រាស់:Uusijani]] [[tpi:User:Uusijani]] [[nds:Bruker:Uusijani]] [[pl:Wikipedysta:Uusijani]] [[pt:Usuário:Uusijani]] [[ro:Utilizator:Uusijani]] [[rm:User:Uusijani]] [[qu:Ruraq:Uusijani]] [[ru:Участник:Uusijani]] [[sm:User:Uusijani]] [[sa:योजकः:Uusijani]] [[sg:Utilisateur:Uusijani]] [[sc:Usuàriu:Uusijani]] [[za:用户:Uusijani]] [[st:User:Uusijani]] [[tn:User:Uusijani]] [[sq:Përdoruesi:Uusijani]] [[scn:Utenti:Uusijani]] [[si:පරිශීලක:Uusijani]] [[simple:User:Uusijani]] [[sd:يوزر:Uusijani]] [[ss:User:Uusijani]] [[sk:Redaktor:Uusijani]] [[sl:Uporabnik:Uusijani]] [[sr:Корисник:Uusijani]] [[sh:Korisnik:Uusijani]] [[su:Pamaké:Uusijani]] [[fi:Käyttäjä:Uusijani]] [[sv:Användare:Uusijani]] [[tl:Tagagamit:Uusijani]] [[ta:பயனர்:Uusijani]] [[tt:Äğzä:Uusijani]] [[te:వాడుకరి:Uusijani]] [[th:ผู้ใช้:Uusijani]] [[ti:User:Uusijani]] [[tg:Корбар:Uusijani]] [[to:User:Uusijani]] [[chr:User:Uusijani]] [[tr:Kullanıcı:Uusijani]] [[tk:User:Uusijani]] [[tw:User:Uusijani]] [[ug:User:Uusijani]] [[vi:Thành viên:Uusijani]] [[vo:Geban:Uusijani]] [[wa:Uzeu:Uusijani]] [[wo:Jëfandikukat:Uusijani]] [[ts:User:Uusijani]] [[yi:באַניצער:Uusijani]] [[yo:Oníṣe:Uusijani]] [[zh:User:Uusijani]] pc725j88ozdzspa6ya5two2wh3wxkan User:Arseny1992 2 2339 20537 6556 2021-06-17T20:03:29Z CommonsDelinker 15 Replacing Wikimedia_logo_family_complete.svg with [[File:Wikimedia_logo_family_complete_2009.svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: more describing name (newest file version: [[:c:File:Wikimedia logo fam 20537 wikitext text/x-wiki <div style="float:left; border:1px solid #bbb; margin:1px;" class="wikipediauserbox"> {| cellspacing="0" style="width:238px; background:#f6f6f6;" ! style="width:45px; height:45px; background:#fff; text-align:center; font-size:14pt; color:black; padding:1px; line-height:1.25em; vertical-align: middle; " | [[Image:Wikimedia logo family complete 2009.svg|50px]] | style="text-align:left; font-size:8pt; padding:4px; height:45px; line-height:1.25em; color:black; vertical-align: middle; " | <span class="plainlinks">[http://toolserver.org/~vvv/sulutil.php?user=Arseny1992 This user]</span> has created a [[:m:Help:Unified login|global account]]. Arseny1992's main account is on [[:w:ru:User:Arseny1992|Wikipedia]] <span class="languageicon" style="font-size:0.95em; font-weight:bold; color:#555;">(Russian)</span>. |}</div> [[ab:Участник:Arseny1992]] [[ace:Pengguna:Arseny1992]] [[af:Gebruiker:Arseny1992]] [[ak:User:Arseny1992]] [[als:Benutzer:Arseny1992]] [[am:አባል:Arseny1992]] [[an:Usuario:Arseny1992]] [[ang:User:Arseny1992]] [[ar:مستخدم:Arseny1992]] [[arc:ܡܬܚܫܚܢܐ:Arseny1992]] [[arz:مستخدم:Arseny1992]] [[as:সদস্য:Arseny1992]] [[ast:Usuariu:Arseny1992]] [[av:Участник:Arseny1992]] [[ay:Usuario:Arseny1992]] [[az:İstifadəçi:Arseny1992]] [[ba:Ҡатнашыусы:Arseny1992]] [[bar:Benutzer:Arseny1992]] [[bat-smg:Nauduotuos:Arseny1992]] [[bcl:Paragamit:Arseny1992]] [[be-x-old:Удзельнік:Arseny1992]] [[be:Удзельнік:Arseny1992]] [[bg:Потребител:Arseny1992]] [[bh:User:Arseny1992]] [[bi:User:Arseny1992]] [[bm:Utilisateur:Arseny1992]] [[bn:ব্যবহারকারী:Arseny1992]] [[bo:User:Arseny1992]] [[bpy:আতাকুরা:Arseny1992]] [[br:Implijer:Arseny1992]] [[bs:Korisnik:Arseny1992]] [[bug:Pengguna:Arseny1992]] [[bxr:User:Arseny1992]] [[ca:Usuari:Arseny1992]] [[cbk-zam:Usuario:Arseny1992]] [[cdo:User:Arseny1992]] [[ce:Юзер:Arseny1992]] [[ceb:Gumagamit:Arseny1992]] [[ch:Muna'sesetbi:Arseny1992]] [[chr:User:Arseny1992]] [[chy:User:Arseny1992]] [[ckb:بەکارھێنەر:Arseny1992]] [[co:User:Arseny1992]] [[cr:User:Arseny1992]] [[crh:Qullanıcı:Arseny1992]] [[cs:User:Arseny1992]] [[csb:Brëkòwnik:Arseny1992]] [[cu:По́льꙃєватєл҄ь:Arseny1992]] [[cv:Хутшăнакан:Arseny1992]] [[cy:Defnyddiwr:Arseny1992]] [[da:Bruger:Arseny1992]] [[de:Benutzer:Arseny1992]] [[diq:User:Arseny1992]] [[dsb:Wužywaŕ:Arseny1992]] [[dv:މެމްބަރު:Arseny1992]] [[dz:User:Arseny1992]] [[ee:User:Arseny1992]] [[el:Χρήστης:Arseny1992]] [[eml:Utente:Arseny1992]] [[en:User:Arseny1992]] [[eo:Vikipediisto:Arseny1992]] [[es:Usuario:Arseny1992]] [[et:Kasutaja:Arseny1992]] [[eu:Lankide:Arseny1992]] [[ext:User:Arseny1992]] [[fa:کاربر:Arseny1992]] [[ff:Utilisateur:Arseny1992]] [[fi:Käyttäjä:Arseny1992]] [[fiu-vro:Pruukja:Arseny1992]] [[fj:User:Arseny1992]] [[fo:Brúkari:Arseny1992]] [[fr:Utilisateur:Arseny1992]] [[frp:Utilisator:Arseny1992]] [[fur:Utent:Arseny1992]] [[fy:Meidogger:Arseny1992]] [[ga:Úsáideoir:Arseny1992]] [[gan:User:Arseny1992]] [[gd:User:Arseny1992]] [[gl:Usuario:Arseny1992]] [[glk:کاربر:Arseny1992]] [[gn:Puruhára:Arseny1992]] [[got:User:Arseny1992]] [[gu:સભ્ય:Arseny1992]] [[gv:Ymmydeyr:Arseny1992]] [[ha:User:Arseny1992]] [[hak:User:Arseny1992]] [[haw:Mea hoʻohana:Arseny1992]] [[he:משתמש:Arseny1992]] [[hi:सदस्य:Arseny1992]] [[hif:User:Arseny1992]] [[hr:Suradnik:Arseny1992]] [[hsb:Wužiwar:Arseny1992]] [[ht:Itilizatè:Arseny1992]] [[hu:Szerkesztő:Arseny1992]] [[hy:Մասնակից:Arseny1992]] [[ia:Usator:Arseny1992]] [[id:Pengguna:Arseny1992]] [[ie:User:Arseny1992]] [[ig:User:Arseny1992]] [[ik:User:Arseny1992]] [[ilo:User:Arseny1992]] [[io:Uzanto:Arseny1992]] [[is:Notandi:Arseny1992]] [[it:Utente:Arseny1992]] [[iu:User:Arseny1992]] [[ja:利用者:Arseny1992]] [[jbo:User:Arseny1992]] [[jv:Panganggo:Arseny1992]] [[ka:მომხმარებელი:Arseny1992]] [[kaa:Paydalanıwshı:Arseny1992]] [[kab:Amseqdac:Arseny1992]] [[kg:User:Arseny1992]] [[ki:User:Arseny1992]] [[kk:Қатысушы:Arseny1992]] [[kl:Atuisoq:Arseny1992]] [[km:អ្នកប្រើប្រាស់:Arseny1992]] [[kn:ಸದಸ್ಯ:Arseny1992]] [[ko:사용자:Arseny1992]] [[ks:User:Arseny1992]] [[ksh:Metmaacher:Arseny1992]] [[ku:Bikarhêner:Arseny1992]] [[kv:Участник:Arseny1992]] [[kw:Devnydhyer:Arseny1992]] [[ky:User:Arseny1992]] [[la:Usor:Arseny1992]] [[lad:Usuario:Arseny1992]] [[lb:Benotzer:Arseny1992]] [[lbe:Гьуртту хьума:Arseny1992]] [[lg:User:Arseny1992]] [[li:Gebroeker:Arseny1992]] [[lij:Utente:Arseny1992]] [[lmo:Druvat:Arseny1992]] [[ln:Utilisateur:Arseny1992]] [[lo:ຜູ້ໃຊ້:Arseny1992]] [[lt:Naudotojas:Arseny1992]] [[lv:Lietotājs:Arseny1992]] [[map-bms:Panganggo:Arseny1992]] [[mdf:Тиись:Arseny1992]] [[mg:Mpikambana:Arseny1992]] [[mhr:Пайдаланыше:Arseny1992]] [[mi:User:Arseny1992]] [[mk:Корисник:Arseny1992]] [[ml:ഉപയോക്താവ്:Arseny1992]] [[mn:Хэрэглэгч:Arseny1992]] [[mr:सदस्य:Arseny1992]] [[ms:Pengguna:Arseny1992]] [[mt:Utent:Arseny1992]] [[mwl:Outelizador:Arseny1992]] [[my:User:Arseny1992]] [[myv:Теиця:Arseny1992]] [[mzn:کارور:Arseny1992]] [[na:User:Arseny1992]] [[nah:Tlatequitiltilīlli:Arseny1992]] [[nap:Utente:Arseny1992]] [[nds-nl:Gebruker:Arseny1992]] [[nds:Bruker:Arseny1992]] [[ne:User:Arseny1992]] [[new:छ्येलेमि:Arseny1992]] [[ng:User:Arseny1992]] [[nl:Gebruiker:Arseny1992]] [[nn:Brukar:Arseny1992]] [[no:Bruker:Arseny1992]] [[nov:User:Arseny1992]] [[nrm:User:Arseny1992]] [[nv:Choinish'įįhí:Arseny1992]] [[ny:User:Arseny1992]] [[oc:Utilizaire:Arseny1992]] [[om:User:Arseny1992]] [[or:User:Arseny1992]] [[os:Архайæг:Arseny1992]] [[pa:ਮੈਂਬਰ:Arseny1992]] [[pag:User:Arseny1992]] [[pam:User:Arseny1992]] [[pap:User:Arseny1992]] [[pdc:Benutzer:Arseny1992]] [[pi:User:Arseny1992]] [[pih:User:Arseny1992]] [[pl:User:Arseny1992]] [[pms:Utent:Arseny1992]] [[pnb:User:Arseny1992]] [[pnt:Χρήστες:Arseny1992]] [[ps:کارن:Arseny1992]] [[pt:Usuário:Arseny1992]] [[qu:Ruraq:Arseny1992]] [[rm:User:Arseny1992]] [[rmy:Jeno:Arseny1992]] [[rn:User:Arseny1992]] [[ro:Utilizator:Arseny1992]] [[roa-rup:User:Arseny1992]] [[roa-tara:User:Arseny1992]] [[ru:Участник:Arseny1992]] [[rw:User:Arseny1992]] [[sa:योजकः:Arseny1992]] [[sah:Кыттааччы:Arseny1992]] [[sc:Usuàriu:Arseny1992]] [[scn:Utenti:Arseny1992]] [[sco:User:Arseny1992]] [[sd:يوزر:Arseny1992]] [[se:User:Arseny1992]] [[sg:Utilisateur:Arseny1992]] [[sh:Korisnik:Arseny1992]] [[si:පරිශීලක:Arseny1992]] [[simple:User:Arseny1992]] [[sk:Redaktor:Arseny1992]] [[sl:Uporabnik:Arseny1992]] [[sm:User:Arseny1992]] [[sn:User:Arseny1992]] [[so:User:Arseny1992]] [[sq:Përdoruesi:Arseny1992]] [[sr:Корисник:Arseny1992]] [[srn:Masyin:Arseny1992]] [[ss:User:Arseny1992]] [[st:User:Arseny1992]] [[stq:Benutser:Arseny1992]] [[su:Pamaké:Arseny1992]] [[sv:Användare:Arseny1992]] [[sw:Mtumiaji:Arseny1992]] [[szl:Użytkownik:Arseny1992]] [[ta:பயனர்:Arseny1992]] [[te:వాడుకరి:Arseny1992]] [[tet:Uza-na'in:Arseny1992]] [[tg:Корбар:Arseny1992]] [[th:ผู้ใช้:Arseny1992]] [[ti:User:Arseny1992]] [[tk:Ulanyjy:Arseny1992]] [[tl:Tagagamit:Arseny1992]] [[tn:User:Arseny1992]] [[to:User:Arseny1992]] [[tpi:User:Arseny1992]] [[tr:Kullanıcı:Arseny1992]] [[ts:User:Arseny1992]] [[tt:Кулланучы:Arseny1992]] [[tum:User:Arseny1992]] [[tw:User:Arseny1992]] [[ty:Utilisateur:Arseny1992]] [[udm:Викиавтор:Arseny1992]] [[ug:User:Arseny1992]] [[uk:Користувач:Arseny1992]] [[ur:صارف:Arseny1992]] [[uz:Foydalanuvchi:Arseny1992]] [[ve:User:Arseny1992]] [[vec:Utente:Arseny1992]] [[vi:Thành viên:Arseny1992]] [[vls:Gebruker:Arseny1992]] [[vo:Geban:Arseny1992]] [[wa:Uzeu:Arseny1992]] [[war:User:Arseny1992]] [[wo:Jëfandikukat:Arseny1992]] [[wuu:用户:Arseny1992]] [[xal:Орлцач:Arseny1992]] [[xh:User:Arseny1992]] [[yi:באַניצער:Arseny1992]] [[yo:Oníṣe:Arseny1992]] [[za:用户:Arseny1992]] [[zea:Gebruker:Arseny1992]] [[zh-classical:User:Arseny1992]] [[zh-min-nan:User:Arseny1992]] [[zh-yue:User:Arseny1992]] [[zh:用户:Arseny1992]] [[zu:User:Arseny1992]] 6mled99w6ue2mc5oyj6g5ts0knrjq0u terminología 0 2340 19380 17943 2017-04-28T17:30:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19380 wikitext text/x-wiki {{-ast-}} === Magac === '''terminología''' # [[terminooloji]] {{-es-}} === Magac === '''terminología''' # [[terminooloji]] [[Category:Isbaanish ereyada-te|rminologia]] 5qk2zgr2p5ctov5yb30ugpdxcq3xon7 Category:Spanish ereyada-te 14 2341 10408 6579 2014-04-22T18:51:18Z 177.17.185.221 Masaxay bogga 10408 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 ratón 0 2342 25317 19214 2023-10-14T07:57:25Z Balamax 554 /* Magac */ 25317 wikitext text/x-wiki {{-es-}} === Magac === '''ratón''' {{m}} # [[dooli]], [[jiir]] [[Category:Isbaanish ereyada-ra|ton]] sioxz0yteu163ay59nst88pujkltvhd Category:Spanish ereyada-ra 14 2343 10407 6582 2014-04-22T18:50:38Z 177.17.185.221 Masaxay bogga 10407 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 User:NuclearWarfare 2 2346 6596 2010-01-23T09:23:07Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested]]) 6596 wikitext text/x-wiki [[m:User:NuclearWarfare|NuclearWarfare]] ([[m:User talk:NuclearWarfare|Discussion]] &bull; [[Special:Contributions/NuclearWarfare|Contributions]]) 3pa82jpa6n434t871ba5fh45cb26b9g User:Juliancolton 2 2347 6597 2010-01-24T00:31:39Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested]]) 6597 wikitext text/x-wiki Hi, I'm Juliancolton. See my [[m:User:Juliancolton|Meta-Wiki userpage]] for more information. 2c8fnof267atfk7b5bxfvcxta70ux47 User:Barras 2 2349 6599 2010-01-25T03:35:59Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested]]) 6599 wikitext text/x-wiki [[m:User:Barras|>>>]] cdvi63wxrv8gkd3jonxs4lgdygdiaj8 User talk:Meno25 3 2350 6600 2010-01-25T06:34:17Z Meno25 60 talk 6600 wikitext text/x-wiki Please leave messages at [[w:en:User talk:Meno25]]. erhueog4jh9i02hvabsirfst0yl7g0j User:Mercy/monobook.js 2 2351 20490 6601 2021-02-03T22:12:49Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20490 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Mercy/global.js&action=raw&ctype=text/javascript'); t69tpujqeggse5a8cq3oy84mk3fo7ba User:Luckas Blade 2 2352 6602 2010-01-26T02:52:51Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested]]) 6602 wikitext text/x-wiki [[m:user:Luckas Blade]] shxv1fippnzra5i6sniv1ysrj98zrcq User:Vinhtantran/monobook.js 2 2353 20503 6603 2021-02-03T22:14:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20503 javascript text/javascript mw.loader.load('https://vi.wikipedia.org/w/index.php?title=User:Vinhtantran/global.js&action=raw&ctype=text/javascript'); 5k8ee5rvlsvwbqlhmxr72yii7n4gv83 User:Pmlineditor/monobook.js 2 2355 20493 6606 2021-02-03T22:13:19Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20493 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Pmlineditor/global.js&action=raw&ctype=text/javascript'); p4r59mrwk92ddahtq4z1re0n56sng2c User:Prince Kassad 2 2356 6607 2010-01-29T02:49:08Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6607 wikitext text/x-wiki [[m:wikt:User:Prince Kassad]] rp8pckki6ki5dfg9vnyis1kezq8bb71 User:Kuvaly 2 2358 6610 2010-01-31T06:41:44Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6610 wikitext text/x-wiki <div style="background:#1E90FF; border:2px solid #1E90FF; text-align:center;" width="100%"></div> <div style="font-family:Calibri, Myriad, 'Trebuchet MS', sans-serif; color:#1E90FF;">[[m:cs:Wikipedista:Kuvaly|cs.wiki]]</div> 08prlhwlqicacop3e00h7kmiu5qzymz User:The Evil IP address/monobook.js 2 2359 20502 6611 2021-02-03T22:14:49Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20502 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:The_Evil_IP_address/global.js&action=raw&ctype=text/javascript'); sjepagp7h919t0akqrnmuleyix7w2s1 User:The Evil IP address/monobook.css 2 2360 6612 2010-01-31T07:51:01Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6612 css text/css importStylesheetURI('http://meta.wikimedia.org/w/index.php?title=User:The_Evil_IP_address/global.css&action=raw&ctype=text/css'); 150usgnfvma55vkokcc7ibotre5jowd Template:-so- 10 2361 23270 23269 2023-04-14T01:58:52Z Girligaanshub 3150 Noqay bedelaadka 23269 ee sameeyay [[Special:Contributions/74.142.170.202|74.142.170.202]] ([[User talk:74.142.170.202|hadal]]) 23270 wikitext text/x-wiki ==Af soomaali== qwgoi01l8flktkq6iqc2c7lqwcyrjib Template:-en- 10 2362 20042 6618 2018-10-28T13:59:54Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20042 wikitext text/x-wiki ==ingiriis== ebespqjjq8giz89o054n1zeusfe6lpx Template:so 10 2363 9873 6624 2014-04-06T15:16:05Z 177.133.87.144 9873 wikitext text/x-wiki Soomaali 42r1j4yyzjh7ndot0wb09yvww1cei4t Category:Ingiriis ereyada 14 2364 19895 17468 2017-07-03T13:38:27Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19895 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ingiriis ereyada-ca 14 2365 6640 2010-02-11T11:34:23Z 82.198.250.69 Bog cusub: [[Category:Ingiriis ereyada-c]] 6640 wikitext text/x-wiki [[Category:Ingiriis ereyada-c]] 6vhpq0kmi23welo4g8gau18xfnw2yh0 Template:delete 10 2366 26836 20286 2024-02-24T16:29:54Z Matrix 4739 use svg icon 26836 wikitext text/x-wiki [[File:Icono aviso borrar.svg|80px|left]] <div name="Deletion notice" class="boilerplate metadata" id="delete" style="margin: 0 5%; padding: 0 7px 7px 7px; background: #fee; border: 1px solid #999999; text-align: left; font-size:95%;"> <big>Boggan waxaa sida la soo jeediyay for Lowyacaddu degdeg. Sababta: '''{{{1}}}'''</big> Haddii aadan kula raacsaneyn ay dhimaan guuxa uu degdeg, fadlan sharax sababta ku [[{{NAMESPACE}} talk:{{PAGENAME}}|bogga dadkeeda hadal]]. Haddii boggan ku cad muu buuxin shuruudaha iyo Lowyacaddu degdeg, ama aad doonayso in aad wax ka qaban, fadlan ka saar ogeysiiskan, laakiin ma ogeysiiskan saaro bogga a in aad adigu iskaa u abuuray. <span class="plainlinks">'''Maamulayaasha, xasuuso inaad hubiso [[Special:Whatlinkshere/{{NAMESPACE}}:{{PAGENAME}}|haddii wax halkan kugu xiraya]] iyo [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=history}} taariikhda bogga ah] ([{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|diff=0}} soo diyaarin ugu dambeeyey]) before [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=delete}} Kabcada].'''</span> </div><includeonly>{{{category|[[Category:Musharaxiinta u tirtirka degdeg ah]]}}}</includeonly><noinclude> </noinclude> px79d4hfwshlbv6xmcl6y6pd7duafix Category:Candidates for speedy deletion 14 2367 16849 13741 2016-07-08T11:22:27Z JAn Dudík 742 Bog loo bedeley [[Category:Musharaxiinta u tirtirka degdeg ah]] 16849 wikitext text/x-wiki #REDIRECT[[Category:Musharaxiinta u tirtirka degdeg ah]] 92y69tixmbbjvkkoygv9jhs1xe95r0b January 0 2369 18307 16950 2017-04-28T17:22:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18307 wikitext text/x-wiki {{-en-}} === Magac === '''January''' # [[janaayo]] r564xxva10soelafkx82dznptrd402e February 0 2370 18290 16948 2017-04-28T17:22:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18290 wikitext text/x-wiki {{-en-}} === Magac === '''February''' # [[febraayo]] rptsf5io2gq0oz90wjk4nxkvu6jqlib User:Egmontaz/monobook.js 2 2372 20474 6693 2021-02-03T22:10:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20474 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Egmontaz/global.js&action=raw&ctype=text/javascript'); m9z3ro54csonshn6ic9nx4r7skgv2h7 March 0 2373 18317 16953 2017-04-28T17:22:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18317 wikitext text/x-wiki {{-en-}} === Magac === '''March''' # [[maarso]] 2r8y2rxs2rv9iwd3lb9pn32b9302gyx User:VasilievVV 2 2375 6702 2010-03-14T21:25:03Z VasilievVV 346 creating local userpage 6702 wikitext text/x-wiki <!-- This userpage was created using automatic script --> I am Victor Vasiliev, a member of [[m:SWMT|Small Wiki Monitoring Team]] and a [[m:Global sysops|global sysop]]. If you have any questions regarding my actions, please use [[m:User talk:VasilievVV|my Meta talk page]]. sci3qgh1vnnawbrscj1i0gms9vqx3fk User:BRUTE 2 2376 6704 2010-04-01T07:07:35Z BRUTE 354 Bog cusub: *[[:m:User:BRUTE|My page on Meta]] 6704 wikitext text/x-wiki *[[:m:User:BRUTE|My page on Meta]] jivau6ii68ey9e28w8etbgn9n51arud User:Romaine/monobook.js 2 2377 20468 8820 2021-01-31T09:09:02Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20468 javascript text/javascript mw.loader.load('//nl.wikipedia.org/w/index.php?title=User:Romaine/insertmonobook.js&action=raw&ctype=text/javascript'); pdtn0dfe16l4tvmykha5pm7o6d7uwr4 User:Romaine/vector.js 2 2378 20469 8821 2021-01-31T09:09:12Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20469 javascript text/javascript mw.loader.load('//nl.wikipedia.org/w/index.php?title=User:Romaine/insertvector.js&action=raw&ctype=text/javascript'); jirhb557lbb9ewp3t9evb95hpam3ic5 User:Romaine/vector.css 2 2379 8822 6709 2013-09-15T16:15:00Z Romaine 189 8822 css text/css @import url('//nl.wikipedia.org/w/index.php?title=User:Romaine/insertvector.css&action=raw&ctype=text/css'); 30fs6bpx2z5d970h4pf1ay25giwplg2 User:Vhorvat 2 2380 6710 2010-04-07T16:13:53Z Vhorvat 339 My page 6710 wikitext text/x-wiki {{Babel|color=yellow|hr|en-3|de-1|ru-1|it-1|so-0}} [[:en:User:Vhorvat]] [[:hr:User:Vhorvat]] [[meta:User:Vhorvat]] {{Template:User UTC+1}} okd0iy8m5wj85y6x3wbj5zdg92o3ua8 User:Jyothis 2 2381 6714 2010-04-13T03:06:51Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6714 wikitext text/x-wiki [[m:User:Jyothis|Jyothis]] r70beqyucymadx7223ftxqgrfs81une gabar 0 2382 18787 13932 2017-04-28T17:26:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18787 wikitext text/x-wiki '''Gabar''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} === Magac === '''Gabar''', '''Gabadh''' waa jinsiga [[dhedig]]a ee [[dad]]ka, gaar ahaan da'da dhexe ah. Gabadh waa qof dumar oo da' yar, gaar ahaan inta da'doodu ka yar tahay 25 sano. Gabadhu waxay ka mid tahay xubnaha [[qoys]]ka. ==== Tarjumaad ==== {{kor}} * {{az}}: [[qız]] * {{de}}: [[Mädchen]] * {{en}}: [[girl]] * {{es}}: [[niña]] {{dhaxda}} * {{ja}}: [[女の子]] (on'nanoko) * {{ru}}: [[девушка]], [[девочка]] * {{pt}}: [[menina]], [[garota]] * {{tr}}: [[kız]] {{hoos}} ==== Qoyska ==== Gabadhu waxay ka mid tahay [[ilmo|ilmaha]] [[qoys]]ka reer leeyahay, waxaana [[waalid]] u ah [[aabo|aabaha]] iyo [[hooyo]]ada. Dadka kale ee qoyska ka tirsan waa [[wiil]]asha iyo qaraabada. === Erayo La Xidhiidha === * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] dsx369heiuuup3uayqslpgb5622ae15 gabadh 0 2383 6728 6717 2010-04-15T14:57:25Z 81.159.253.222 Redirected page to [[gabar]] 6728 wikitext text/x-wiki #REDIRECT[[gabar]] agznqa6l4jxd9ttaymg6j1ld0n3tjml wiil 0 2384 20146 20143 2018-10-29T00:26:27Z Sakiinlaq 1889 20146 wikitext text/x-wiki {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: ##eee9bf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} === Magac === '''Wiil''' # Waa qof jinsi lab ah kaasi oo da'diisu yar tahay. # Wiil waa [[ilmo|ilmaha]] ab ee la dhalay [[aabe]]. #: Cali waa wiilka Xaawo iyo Maxamed. {{so-magac-a-c|wiil|l|sh}} ===lid=== [[gabar]] ==== Tarjumaad ==== * {{en}}: [[son]], [[boy]] * {{fi}}: [[poika]] *{{sv}}:[[pojke]] ==== Qoyska ==== Wiilku wuxuu ka mid yahay [[qoys]]ka reer leeyahay, waxaana [[waalid]] u ah [[aabe]] iyo [[hooyo]]. Waxaa kale oo qoyska ka tirsan [[gabadh|gabdho]] iyo qaraabo. === Erayo La Xidhiidha === * [[hooyo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] kkaj43qsbauuqxy2uhe6dwhwzrz3efb finnish soomaali qaamuus 0 2385 23106 21673 2023-02-06T07:25:14Z 91.153.237.78 23106 wikitext text/x-wiki Pieni somalia-suomi sanakirja Somalinkielen lyhyt oppimäärä <br>Waa qaamuus yar oo finnishka iyo soomaaliga isku tarjumaayo Vinkki: voit hakea sanoja myös sanahaulla painamalla ctrl f. ==A== *aabbe : [[isä]] *abaayo : [[sisko]] *aboowe : [[veli]] *abti : [[eno]] *adag : [[kova]], [[sitkeä]] *adeer : [[setä]] *Af : [[suu]] *afar: [[neljä]] *afartan : [[neljäkymmentä]] *albaab : [[ovi]] *aleel : [[simpukka]] *aleelale : [[etana]] *aqal : [[maja]] *arbaco : [[keskiviikko]] *arday : [[oppilas]] *Armaajo : [[kaappi]] *awoowe : [[isoisä]] *Axad : [[sunnuntai]] *Ayeeyo : [[isoäiti]] ==B== *baadiyo : [[maaseutu]] *baafka-caruurta : [[kylpyamme]] *baaldi : [[ämpäri]] *baar : [[baari]] *baaritaan : [[tutkimus]] *baasaboor : [[passi]] *baaskiil : [[polkupyörä]] *babaay : [[papaija]] *bac : [[muovi]] *baddan : [[paljon]] *bakayle : [[kani]], [[kaniini]] *balanbaallis : [[perhonen]] *bambelmo(liimo macaan) [[greippi]] *bangi : [[pankki]] *baraf : [[jää]] *bardho : [[peruna]] *bariis : [[riisi]] *bas : [[linja-auto]], [[bussi]] *basal : [[sipuli]] *basali : [[vaaleanpunainen]] *Basbaas : Chilipippuri *bashqad : [[kirjekuori]] *beer : [[maksa]] *Beer : Puutarha *Bensiin : Bensiini *Berberooni : Paprika *Berri dambe : Ylihuomenna *Berri : Huomenna *biil : [[lasku]] *Biir(Oorso) : Olut *bir [[rauta]] *Birtaawo : Paistinpannu *Bisad / mukulaal : Kissa *Bisayl / dhuguc : Kypsä *Bisil : Rapea *Bixiye : Maksaja *biyo : [[vesi]] *Booliis : Poliisi *Boorso gacmeed : Käsilaukku *Booska fadiiga : Istumapaikka *Boqol : Sata *Buluug : Sininen *Buraashka-ilkaha : Hammasharja *Buraashka-timaha : Hiusharja *Buskud : Pikkuleipä *[[buug]] : [[kirja]] *Buuran : Lihava ==C== Caano : Maito Caato : Laiha Cabir : Koko Cabitaan : Mehu Cad : Valkoinen Caddayn shaqsi : Henkilöllisyystodistus Cag : Jalka Cagaar : Vihreä Cagaf cagaf : Traktori Caleen : Lehti Calool : Vatsa Cambe : Mango Canab-cad : Viinirypäle Cananaas : Ananas Carrab : Kieli Cas / guduud : Punainen Casho : Päivällinen Cayaar : Leikki Ceeriin / ceyruun : Raaka Cillaan : Henna Cinwaan : Osoite Culays : Paino Cusbo badan : Suolainen Cusbolaawe : Suolaton ==D== Da' : Ikä Daawada-ilkaha : Hammastahna Daawo : Lääke Dabaq : Kerrostalo Dalaayad / dalad : Sateenvarjo Dameer : Aasi Darawal : Kuljettaja Dayr : Kevät Degdeg : Kiire Desilitir : Desilitra Deyn : Laina Dhabar : Selkä Dhadhan-laawe / dhadhan lahayn : Mauton Dhallo : Pullo Dhan / iswata : Kokonainen Dhanaan : Hapan Dharka-hurdada : Yöpuku Dheelid /Cayaaraha : Urheilla Dheg : Korva Dhegodhego : Korvakoru Dherer / joog : Pituus Dhig : Jättää Dhiig : Veri Dhiigbax : Verenvuoto Digaag / dooro : Broileri Digaagad / dooro : Kana Digir : Herne Digir : Papu Digsi : Kattila Diin / diindiin : Kilpikonna Diin : Uskonto Diiq : Kukko Diirran / qandac : Lämmin Diyaarad : Lentokone Doobiyo bareeso : Jatkojohto Doofaar : Sika Doolshe : Kakku Doon : Laiva Dowlad : Valtio Dube / buris : Vasara Dubid : Leipoa Dubid : Paistaa Dufan-badan : Rasvainen Dugsi sare : Lukio Dugsi : Koulu Dugsiga farsamada : Ammattikoulu Dukaan : Kauppa Duleel : Reikä Dumar : Naiset Durbaan / gurbaan : Rumpu Duug /Duq : Vanha ==E== *Eedo / habar-yar : Täti *Eey : Koira F Faraanti : Sormus Faraha-cagta : Varpaat Faras : Hevonen Fareesh : Tuore Fargeeto : Haarukka Faro : Sormet Fasax : Loma Feereyn /kaawiyadeyn: Silittää Feero /kaawiyad : Rintakehä Fiican : Hyvä / hyvin Fiiri : Katso Filfil : Pippuri Firintejeer / tallajad : Jääkaappi Fiyuus : Sulake Foorno : Uuni Funaanad : Villapusero Furan : Auki Fure : Avain ==G== Gaaban : Lyhyt Gaari / baabuur : Auto Gaariga dab-damiska : Paloauto Gaariga-caafimaadka : Ambulanssi Gaarika-xamuulka : Rekka-auto Gabar : Tyttö Gabay : Runo Gacan : Käsi Gacmo-gashi : Käsineet Gadaal : Taaksepäin Galaas : Juomalasi Galab : Ilta Galley : Maissi Ganbar / gambar : Jakkara Garaamme : Gramma (g) Garan : T-paita Garan-hoosad : Aluspaita Gargaarka deg dega : Ensiapu Geed : Puu Geel : Kameli Geeri : Kuolema Geri : Kirahvi Go' : Peitto Goono : Hame Goorma? : Milloin? Gu' : Talvi Guri : Talo ==H== Ha..! (ha sameyn) : Älä..! Haa : Kyllä Habeen : Yö Habitaan : Tuoremehu Hadda : Heti Hargeb : Flunssa Hayl : Kardemumma Heerkulbeeg : Kuumemittari Hees : Laulu Hilib-shiidan : Jauheliha Hoover : Pölynimuri hooyo : äiti Horey! : Eteenpäin! Hurdo : Nukkua ==I== *Ido : Lammas *Iftiin : Valo *Iga raalli ahoow! : Anteeksi! *Imaam : Imaami *Indho : Silmät *Internet : Internet *Isii! : Anna *Isniin : Maanantai *Istayshan : Asema ==J== Jaakad : Takki Jaale : Keltainen Jaamacad : Yliopisto Jakada-musqusha : Kylpytakki Jalaato : Jäätelö Jaws : Kumina Jeer : Virtahepo Jid : Katu Jiif : Vaaka Jiilaal : Kesä *[[jiir]] / [[doolli]] : [[hiiri]] Jimco : Perjantai Jiran : Sairastaa Joogso! : Pysähdy Joogto : Pysyvä Joogtoahayn : Määräaikainen Joornaal : Sanomalehti Joornaal-masawireed : Kuvalehti ==K== Kabaha-roobka : Saappaat Kabo : Kengät kafee : [[kahvi]] Kalbad : Hohtimet Kalkaaliye : Sairaanhoitaja kalluun : [[kala]] Kaniini : Pilleri Kareem : Kerma Karin : Keittää Karooto : Porkkana Kartoon : Sarjakuva Kastam : Tulli Kee? : Kuka? Kela : Kansaneläkelaitos Kelli : Munuainen Ketjub : Ketsuppi Khaliif / jilicsan : Laimea Khamiis : Torstai Khatar : Vaarallinen Kiciso / fixiso : Hiiva Kiilo : Kilo (kg) Konton : Viisikymmentä Koob : Kuppi Koofida-dhaxanta : Myssy Koor : Kamelinkello Koorso : Kurssi Koronto : Sähkö Kow : Yksi Kub : Sääri Kubad / banooni : Pallo Kulul : Tulinen Kuma? / kee? : Kuinka? Kun : Tuhat Kurdad : Mekko Kursi : Tuoli Kuul : Helminauha ==L== La bur buriyey : Jauhettu La ogalyahay : Sallittu Laba /labo : Kaksi Labatan : Kaksikymmentä Lacag : Raha Lacag-dhigasho : Pano Lacag-qaadasho : Otto Lacagta adag : Valuutta Laf : Luu Laga dhex arko : Läpinäkyvä Lambar : Numero Lambarka gargaarka degdeg 112 : Hätänumero 112 Lambarka boostaado : Postinumero Lambarka safka : Vuoronumero Libaax : Leijona Liin : Sitruuna Liinmacaan : Appelsiini Litir : Litra (l) Lix : Kuusi Lixdan : Kuusikymmentä Lo' : Nauta Luqadda hooyo : Äidinkieli ==M== Maalin wanaagsan : Hyvää päivää Maalin : Päivä Maaliin-diimeed : Pyhäpäivä Maanta : Tänään Macaan : Makea Macallin : Opettaja Macmacaan : Kahvila / teehuone Madax : Pää Madaxhanuun : Päänsärky Madaxkuti : Karhu Madaxweyne : Presidentti Madow : Musta Madow : Tumma Magaalo : Kaupunki Magaca qoyska : Sukunimi Magacaa? : Mikä on nimesi? Magacaaga : Etunimi Mahadsanid! : Kiitos! Majafarad / badiil : Lapio Makarooni : Makaroni Makiinada dharka : Pesukone Maktabad : Kirjasto Malab : Hunaja Malmalaado : Marmeladi Mamnuuc : Kielletty Maqaalad : Ravintola Maqal! : Kuuntele Maqas : Sakset Mar walba : Aina Maroodi : Norsu Maroon : Ruskea Mas : Käärme Masaajid : Moskeija Maya : Ei Midab booran : Harmaa Midi /Mindi: Veitsi Miis : Pöytä Milyan : Miljoona Mirkro-oofen /Cunto Kuleeleeso: Mikroaaltouuni Mooto : Moottoripyörä Musbaar : Naula Muus / moos : Banaani ==N== Nabad : Hei! Nabadgelyo! : Näkemiin! Nabar : Haava Nacas : Tyhmä Nacnac : Karamelli Nadiif : Siisti Nadiifin : Siivota Nal : Lamppu Nigis / kastuumo : Alushousut Niman : Miehet ==O== *Ogeysiin-kuurid : Muuttoilmoitus *Ordid : Juosta ==P== *Parafuun : Hajuvesi ==Q== *Qaaddo : Lusikka *Qaado! : Ota! *Qaali : Kallis *Qaamuus : Sanakirja *Qabow : Kylmä *Qado : Lounas *Qajaar : Kurkku *Qalin biire : Kuulakärkikynä *Qalin : Lyijykynä *Qalliin : Leikkaus *Qare / xabxab : Vesimeloni *Qayal : Rajauskynä *Qolof : Kuori *Qoorxirashada-dhaxanta : Kaulaliina *Qorfe : Kaneli * [[qorrax]] : [[aurinko]] *Qoys : Perhe *Qubays : Suihku *Qufac : Yskä *Quraac : Aamiainen *Quusid : Sukeltaa ==R== Raadiyo : Radio Rah : Sammakko Ramadaan : Paastokuukausi Raqiis : Halpa Reer : Suku Rooti : Leipä Rooti : Sämpylä ==S== Saabuun : Saippua Saacad : Kello Sabab? : Miksi? Sabiib : Rusina Sabti : Lauantai Sacaada-hurdadda : Herätyskello Sacfaraan : Sahrami Saddex : Kolme Safaleeti-diif : Nenäliina Sagaal : Yhdeksän Sagaashan : Yhdeksänkymmentä Saladh / ansalaato : Salaatti Saliid : Öljy Saliida cuntada : Ruokaöljy Samafale : Liikennevalo Sambab : Keuhko San : Nenä Sanadka soo socda : Ensi vuonna Sanadkan : Tänä vuonna Sanduuqa daawada : Lääkekaappi Sanjabiil : Inkivääri Sariir : Sänky Sariirta-caruurta : Vauvan sänky Saxiix : Allekirjoitus Saxiix-magac : Nimikirjoitus Shaah : Tee Shaambo : Sampoo Shaati : Paita Shalay : Eilen Shan : Viisi Shanlo : Kampa Sharabaadada-surwaalka : Sukkahousut Sharabaado siksaan : Sukat Sharooto : Laastari Shaybaar : Laboratorio Shimbir : Lintu Shinni : Mehiläinen Shuban : Ripuli Shukulaato : Suklaa Siddeed : Kahdeksan Siddeetan : Kahdeksankymmentä Sidee tahay? : Kuinka voit? Silsilad : Kaulaketju Sixni / saxan : Lautanen Socosho : Kävellä Soddon : Kolmekymmentä Sokor : Sokeri Soo kicid : Herätä Subag : Voi Subax wanaagsan : Hyvää huomenta Subax : Aamu Sun : Myrkyllinen Suparmarket : Tavaratalo Surwaal : Housut ==T== Taariikh : Historia Takhtar : Lääkäri Talaado : Tiistai Taleefon gacan : Matkapuhelin Taleefoon : Puhelin Tallaal : Rokotus Taraam : Raitiovaunu Tareen : Juna Taksi : Taksi Telefishen : Televisio Tikid : Matkalippu Timir : Taateli Timojare : Kampaaja Toban : Kymmenen Toddoba : Seitsemän Toddobaad : Viikko Toddobaatan : Seitsemänkymmentä Toon : Valkosipuli Toorrey / billaawe : Puukko Tufaax : Omena Tusmo : Sisältö Tuuji : Potta Tuwaal-shukumaan : Pyyhe ==U== *Ubax : Kukka *Ukun : Kananmuna *Uunsi : Hajuste ==W, V== Waa immisadi?/ Meeqa saac? : Mitä kello on? Waa maxay? : Mikä? / mitä? Waan soon daahay : Olen myöhässä Waddamada dibadda : Ulkomaat Waddanka hooyo : Kotimaa Wadne : Sydän Wado : Tie Waji : Kasvot Waqti : Aika Waqtigq bixidda : Lähtöaika Waqtiga dhalashada : Syntymäaika Warqad / waraaq : Paperi Warqad degdega : Pikakirje Warqad musqusha : Vessapaperi Warqad : Kirje Wasakh / uskag : Lika Weyn : Suuri Wiil : Poika Visa : Luottokortti Wiyil : Sarvikuono ==X== *Xaaqin : Luuta *Xaas : Puoliso *Xabad : Rinta *Xagaa : Syksy *Xagee? : Missä? *Xalwo : Halva *Xanuun : Kipu *Xaraash : Alennusmyynti *Xiddigdhul : Siili *Xiran : Suljettu *Xirfad : Ammatti *Xun : Huono ==Y== *Yaanyo : Tomaatti *Yar : Pieni Waxaan halkan kusoo bandhigee inta badan hadalka la isticmaalo sida salaamaha iyo isbariidinta Xigasho somaliliito.fi Galab wanaagsan :Hyvää iltaa Immisaa jirtaan? :Kuinka vanha olet? Iska warran? :Mitä kuuluu? Maalin wanaagsan :Hyvää päivää Magacaa? :Mikä sinun nimesi on? Magacaygu waa cali. :Nimeni on Ali. Mahadsanid! :Kiitos! Nabad :Hei! Nabadgelyo! :Näkemiin! Sanadka soo socda :Ensi vuonna Soo dhowow! :Tule sisään! Tervetuloa! Subax wanaagsan :Hyvää huomenta Waa immisadi? : Mitä kello on? jlw3y3gax2t4aqrtkebamcy7ksb0bqn Wiktionary:Warbixin 4 2386 6729 2010-04-16T03:29:10Z 85.29.93.145 Bog cusub: wikiDictionary waa mashruuc afsoomaaliga lagu tarjumaayo luqado kale ama afsoomaali eray-bixin loogu sameynaayo 6729 wikitext text/x-wiki wikiDictionary waa mashruuc afsoomaaliga lagu tarjumaayo luqado kale ama afsoomaali eray-bixin loogu sameynaayo jzp63sc4cckwuunt8qt32i6gojh87s0 book 0 2387 18514 17509 2017-04-28T17:24:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18514 wikitext text/x-wiki {{-en-}} === Magac === '''book''' # [[buug]] dbpw72uq8elqrjvpjh7bxht70dhhq35 sun 0 2388 29530 19334 2024-08-05T05:50:52Z Girligaanshub 3150 29530 wikitext text/x-wiki {{-en-}} === Magac === '''sun''' # [[qorrax]], [[cadceed]] {{-so-}} == Magac == '''sun''' === Tarjumaad === * {{en}}: poison 94u7hi0qk7fklvnow7bhmx3y47o6h4q son 0 2389 19316 17220 2017-04-28T17:29:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19316 wikitext text/x-wiki {{-en-}} === Magac === '''son''' # [[wiil]] g7u9gh5adznxwbpqmf4zg3jkqfljmd4 aurinko 0 2394 18451 17983 2017-04-28T17:23:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18451 wikitext text/x-wiki {{-fi-}} === Magac === '''aurinko''' # [[qorrax]], [[cadceed]] 28e8yy5itjqf0nxorj1unqkkmpilaug Template:-fi- 10 2395 21674 20257 2022-07-22T13:50:50Z 86.114.191.253 21674 wikitext text/x-wiki ==finnish== a6tu41f3ubbb1tq5l4csa2o8jbdvhik kirja 0 2396 18932 18000 2017-04-28T17:27:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18932 wikitext text/x-wiki {{-fi-}} === Magac === '''kirja''' # [[buug]] bxd8800rii1tw2zj9hczp6be4ip2a67 كتاب 0 2397 19774 18161 2017-05-02T08:58:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19774 wikitext text/x-wiki {{-ar-}} === Magac === '''كتاب''' (kitāb) # [[buug]] 42dcun1tdm0zf3jj1brebw6iqxk3t1q Template:-ar- 10 2398 20036 20035 2018-10-28T13:52:15Z Sakiinlaq 1889 20036 wikitext text/x-wiki ==carabi== 3c5obdbaht8cje9ql2dt0vl4uw71cd4 Template:ar 10 2399 19979 8169 2017-11-07T22:50:39Z YiFeiBot 1781 بوت: ترحيل 88 وصلة إنترويكي, موجودة الآن في [[d:|ويكي بيانات]] على [[d:q6008683]] 19979 wikitext text/x-wiki Carabi<noinclude> [[cs:Šablona:ar]] [[en:Template:ar]] [[ik:Template:ar]] [[nds:Vörlaag:ar]] [[nn:Mal:ar]] [[sk:Šablóna:ar]] </noinclude> d76lgamebppiuqhxr4vn627qsc27vrk User:Robert Ullmann 2 2400 6765 2010-05-11T13:03:18Z Robert Ullmann 221 Bog cusub: '''[[:en:User:Robert Ullmann]]''' 6765 wikitext text/x-wiki '''[[:en:User:Robert Ullmann]]''' f4sp4ho7e24qbj798zkt884h4odlhmk toukokuu 0 2401 19402 17948 2017-04-28T17:30:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19402 wikitext text/x-wiki {{-fi-}} === Magac === '''toukokuu''' # [[maajo]] [[Category:Bilaha afka Finnishka]] q53viljry81kczi4h2b4vj96p0pjzi9 helmikuu 0 2402 20195 18833 2019-02-05T17:21:58Z 91.156.27.99 20195 wikitext text/x-wiki {{-fi-}} === Magac === '''helmkuu''' # [[febraayo]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] adtyq6m53zgeitui80rsnnxoxwcccsd Category:Luqada Finnishka ereyada kumbuyuutarada 14 2403 6776 2010-05-15T09:35:40Z The analeptic alzabo 359 Bog cusub: [[Category:Finnish ereyada|Luqada Finnishka ereyada kumbuyuutarada]] 6776 wikitext text/x-wiki [[Category:Finnish ereyada|Luqada Finnishka ereyada kumbuyuutarada]] dnmf0ex3s977gw7a1ds3bzqftctdo8j Category:Luqada Ingiriiska ereyada kumbuyuutarada 14 2404 6781 2010-05-15T09:42:16Z The analeptic alzabo 359 Bog cusub: [[Category:Ingiriis ereyada|Luqada Ingiriiska ereyada kumbuyuutarada]] 6781 wikitext text/x-wiki [[Category:Ingiriis ereyada|Luqada Ingiriiska ereyada kumbuyuutarada]] kkcji48c7hf4ve2f4jdekhju7u4ehhc maaliskuu 0 2405 19002 18229 2017-04-28T17:27:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19002 wikitext text/x-wiki {{-fi-}} === Magac === '''maaliskuu''' # [[maarso]] [[Category:Bilaha afka Finnishka]] 1cycx2qt0fgn4o9xkk8zvuduq9o7e9x isä 0 2406 18891 18020 2017-04-28T17:26:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18891 wikitext text/x-wiki {{-fi-}} === Magac === '''isä''' # [[aabo]] nwi12c4yyxpcb7p6kwhvimwww845cdg Category:Finnish ereyada 14 2407 19885 17412 2017-07-03T13:38:16Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19885 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User:Jafeluv 2 2409 7458 6819 2011-09-24T10:53:18Z Jafeluv 357 #babel 7458 wikitext text/x-wiki {{#babel:fi-N|so-0}} {{Softredirect|meta:User:Jafeluv}} 5sq9cgkyw4p3r9lcck1pstb7lc3ot53 User talk:Jafeluv 3 2410 6820 2010-05-20T16:00:40Z Jafeluv 357 → [[meta:User talk:Jafeluv]] 6820 wikitext text/x-wiki {{Softredirect|meta:User talk:Jafeluv}} fcybke0525ibn051k195kn9wh7rpp81 sana 0 2411 19246 17906 2017-04-28T17:29:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19246 wikitext text/x-wiki {{-fi-}} === Magac === '''sana''' # [[eray]], [[kilmad]] 0zu4l8d5i8yhy8zu72v16dr5l0y4bve word 0 2412 19476 17248 2017-04-28T17:31:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19476 wikitext text/x-wiki {{-en-}} === Magac === '''word''' # [[eray]], [[kelmad]] 0s20o1d3le25ap5p00nti2aweusj9o3 Talk:Bogga Hore 1 2413 32553 31742 2024-11-21T19:55:25Z MediaWiki message delivery 1259 /* Sign up for the language community meeting on November 29th, 16:00 UTC */ new section 32553 wikitext text/x-wiki Semiprotection of the main page should be enough if avoiding vandalism is the goal of the protection, and probably it would be better to redirect it back to [[Bogga Hore]] (see [http://so.wikipedia.org http://so.wikipedia.org]) or maybe '''Wiktionary:Bogga Hore''' or something similar. Regards. --[[User:The analeptic alzabo|The analeptic alzabo]] 10:10, 27 Maajo 2010 (UTC) : Main page is semiprotected. [[User:Drini|Drini]] 14:21, 12 Luuliyo 2010 (UTC) ::Thanks, Drini. --[[User:The analeptic alzabo|The analeptic alzabo]] 09:01, 4 Agoosto 2010 (UTC) == Localise your wiki logo == [[File:Wiktionary-logo.svg|thumb|The official localisable Wiktionary logo]] Hello! It was noted that Wiktionary in this language has not yet adopted a localised/translated logo: it's really a pity for a dictionary project!<br /> We are trying to help Wiktionaries adopt a locally-adapted logo, by taking the technical difficulties on us. What we need from you is just the preferred translation of the name and motto, "Wiktionary" (if translated) and "The free dictionary": you can add them to [[m:User:Cbrown1023/Logos#Wiktionary|the logo list]], by editing it directly or commenting on the talk page; you can also add a note if you don't want the localised logo.<br /> Of course, you can also create the logo and make the necessary requests on [[m:Bugzilla|bugzilla]] yourself, if you prefer so.<br /> Feel free to translate this message and to move/copy/forward it where appropriate; you can also reply on [[m:User talk:Nemo_bis|my talk]]. Thanks, [[m:User:Nemo_bis|Nemo]] 16:08, 3 Nofeembar 2012 (UTC) <!-- EdwardsBot 0291 --> == Compact Links coming soon to this wiki == {{int:Please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Compact-language-links-list.png|thumb|Screenshot of Compact Language Links interlanguage list]] Hello, I wanted to give a heads up about an upcoming feature for this wiki which you may seen already in the [[:m:Tech/News/2016/25|Tech News]]. [[:mw:Universal_Language_Selector/Compact_Language_Links|Compact Language Links]] has been available as a beta-feature on all Wikimedia wikis since 2014. With compact language links enabled, users are shown a much shorter list of languages on the interlanguage link section of an article (see image). This will be enabled as a feature in the soon for all users, which can be turned on or off using a preference setting. We look forward to your feedback and please do let us know if you have any questions. Details about Compact Language Links can be read in the [[:mw:Universal_Language_Selector/Compact_Language_Links|project documentation]]. Due to the large scale enablement of this feature, we have had to use [[:m:Global_message_delivery|MassMessage]] for this announcement and as a result it is only written in English. We will really appreciate if this message can be translated for other users of this wiki. The main announcement can also be translated on [[:mw:Universal_Language_Selector/Compact_Language_Links/Announcement_draft_June_2016|this page]]. Thank you. On behalf of the Wikimedia Language team: [[:mw:User:Runab_WMF|Runa Bhattacharjee (WMF)]] ([[mw:User talk:Runab_WMF|talk]])-13:06, 29 Juun 2016 (UTC) </div> <!-- Message sent by User:Runab WMF@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/ULS_Compact_Links/1_July&oldid=15730563 --> == Compact Language Links enabled in this wiki today == {{int:Please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Compact-language-links-list.png|thumb|Screenshot of Compact Language Links interlanguage list]] [[:mw:Universal_Language_Selector/Compact_Language_Links|Compact Language Links]] has been available as a beta-feature on all Wikimedia wikis since 2014. With compact language links enabled, users are shown a much shorter list of languages on the interlanguage link section of an article (see image). Based on several factors, this shorter list of languages is expected to be more relevant for them and valuable for finding similar content in a language known to them. More information about compact language links can be found in [[:mw:Universal_Language_Selector/Compact_Language_Links|the documentation]]. From today onwards, compact language links has been enabled as the default listing of interlanguage links on this wiki. However, using the button at the bottom, you will be able to see a longer list of all the languages the article has been written in. The setting for this compact list can be changed by using the checkbox under ''User Preferences -> Appearance -> Languages'' The compact language links feature has been tested extensively by the Wikimedia Language team, which developed it. However, in case there are any problems or other feedback please let us know on the [[:mw:Talk:Universal_Language_Selector/Compact_Language_Links|project talk page]]. It is to be noted that on some wikis the presence of an existing older gadget that was used for a similar purpose may cause an interference for compact language list. We would like to bring this to the attention of the admins of this wiki. Full details are on [[phab:T131455|this phabricator ticket]] (in English). Due to the large scale enablement of this feature, we have had to use [[:m:Global_message_delivery|MassMessage]] for this announcement and as a result it is only written in English. We will really appreciate if this message can be translated for other users of this wiki. Thank you. On behalf of the Wikimedia Language team: [[:mw:User:Runab_WMF|Runa Bhattacharjee (WMF)]] ([[mw:User talk:Runab_WMF|talk]])-03:05, 1 Luuliyo 2016 (UTC) </div> <!-- Message sent by User:Runab WMF@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/ULS_Compact_Links/1_July&oldid=15735887 --> == Columns for references == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr">''{{Int:Please-translate}}'' • ''[[:m:Special:MyLanguage/Editing/Columns for references|Read this in another language]]'' Hello, At the request of Wikipedia editors, a new feature has been added to MediaWiki. Long lists of references (also called citations or footnotes) will automatically be displayed in columns. This will make it easier for most people to read the references, especially on narrow screens. Short lists of references will not be affected. I plan to enable this new feature at this wiki on Monday, 11 September 2017. After that date, use the normal <code><nowiki><references /></nowiki></code> tag on any page with many references to see this feature. If you do not want columns used on that page, then use this wikitext code instead: <code><nowiki><references responsive="0" /></nowiki></code> If you believe that this new feature is not appropriate for this wiki, or if you need help adjusting templates, then please contact me at [[mw:Contributors/Projects/Columns for references]]. --[[User:Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]])</div> 18:23, 1 Sebteembar 2017 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wiktionary&oldid=17181867 --> == Heads-up about a technical change affecting this wiki == <div class="mw-content-ltr" lang="en" dir="ltr"> {{int:Hello}}. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}} [[File:Human-preferences-desktop.svg|thumb|right|240px|This is a heads-up about a technical change affecting this wiki. You do not need to do anything.]] In July 2017, the Wikimedia Foundation announced the intention to [[:mw:Parsing/Replacing Tidy|replace Tidy with RemexHTML]] across the Wikimedia cluster by July 2018. In order to make this switch, [[:mw:Parsing/Replacing_Tidy/FAQ#What_will_editors_need_to_do.3F|a number of broken wikitext patterns were identified that required fixing on wikis]], highlighted via the high priority categories in the Linter extension. While still planning to finish turning off Tidy in July 2018, doing early switches of wikis from Tidy to [[:mw:RemexHtml|Remex]] will let us identify any lingering issues that are not already caught by the linter categories and our QA testing. We are encouraging big wikis that have worked hard to switch sooner, for example. [[:mw:Parsing/Replacing_Tidy/Linter/Stats/2017-11-20#Wikis_with_zero_high-priority_errors|Since your wiki has '''zero high-priority errors''']], we think that '''it is ready to switch from Tidy to Remex'''. To be clear, if we notice problems (or if the wiki requests it), we will revert the change, after identifying the source of the problem. If you notice any incorrect rendering, you can use <code><nowiki>?action=parsermigration-edit</nowiki></code> to identify if the switch from Tidy actually caused it. '''We are suggesting 5 December 2017 as the possible date for the switch to happen''', so there would still be plenty of time to fix any issues before the holidays start. We look forward to hearing any concerns you would have with this plan, and about how we can help make this transition as smooth as possible: if you have any comments, please remember to [[:mw:User talk:Elitre (WMF)|ping me personally to make sure I notice and address them]], '''otherwise we will assume this message is acknowledged and the deadline works for your community'''. Best, [[:mw:User:Elitre (WMF)]] 10:35, 28 Nofeembar 2017 (UTC) PS: Apologies if you are seeing this message on a page that is not the best location for it: I have looked for the appropriate target pages (for example, [[:m:Special:PrefixIndex/Distribution_list/Global_message_delivery/|on Meta]]), but may have found none. Please, by all means, move the message where you see fit, but most importantly, fix the various distribution lists by adding the correct page there, to avoid that this happens again in the future. I appreciate your understanding, and am available for further information and explanations. </div> <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Remex_switch_-_wikis_with_zero_errors&oldid=17471320 --> == Wiktionary Cognate Dashboard == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Screenshot of Hubs on Wiktionary Cognate Dashboard.png|thumb|Screenshot of the Hub view]] ''Sorry for writing this message in English. Feel free to help translate it below.'' Hello all, A few months ago, we asked you for feedback about [[d:Wikidata:Wiktionary/Sitelinks|Cognate]], the system allowing interwikilinks between Wiktionaries (on main namespace). Several community members gave some suggestions, one of them was to provide statistics about these interwikilinks. The Wikidata team is pleased to present you the '''[https://wdcm.wmflabs.org/Wiktionary_CognateDashboard/ Wiktionary Cognate Dashboard]''', a website presenting a lot of interesting information about how Wiktionaries are connected to each others. You can find there, for example: * the most interlinked Wiktionary entries not having a page on your Wiktionary * the number of interlinks between each possible pair of Wiktionaries * visualizations of the relationships between different Wiktionaries To learn more about the tool, you can have a look at [[m:Wiktionary Cognate Dashboard|the documentation]] (please help us translating it in your language!). The interface of the tool itself can also be translated in other languages by [[m:Wiktionary Cognate Dashboard/Interface|using this page]]. If you find a bug, please let a comment on [[phab:T166487|this Phabricator task]] or ping me onwiki. Thanks a lot, [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 13:08, 14 Agoosto 2018 (UTC) </div> <!-- 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=18299586 --> == 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 Diseembar 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 Sebteembar 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|wadahadal]]) 04:19, 16 Juun 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 Juun 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 May 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 --> == 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 Diseembar 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 --> == 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 Febraayo 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 Febraayo 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 Abriil 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 May 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"> 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 Juun 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 Agoosto 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 Oktoobar 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 Oktoobar 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">wadahadal</span>]]) 01:09, 26 Oktoobar 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 Jannaayo 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 Jannaayo 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 Febraayo 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 Maaj 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 Maaj 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 Abriil 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 Mey 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 Mey 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 Juun 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 Juun 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 Juun 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 Luuliyo ama Luulyo 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 Luuliyo ama Luulyo 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> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|wadahadal]]) 17:53, 18 Luuliyo ama Luulyo 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 Luuliyo ama Luulyo 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 Agoosto 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! [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|wadahadal]]) 23:21, 22 Agoosto 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 Sebteembar 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> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|wadahadal]]) 12:15, 3 Sebteembar 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> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|wadahadal]]) 18:58, 27 Sebteembar 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 Oktoobar 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 Oktoobar 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 Oktoobar 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 --> == Sign up for the language community meeting on November 29th, 16:00 UTC == Hello everyone, The next language community meeting is coming up next week, on November 29th, at 16:00 UTC (Zonestamp! For your timezone <https://zonestamp.toolforge.org/1732896000>). If you're interested in joining, you can sign up on this wiki page: <https://www.mediawiki.org/wiki/Wikimedia_Language_and_Product_Localization/Community_meetings#29_November_2024>. This participant-driven meeting will be organized by the Wikimedia Foundation’s Language Product Localization team and the Language Diversity Hub. There will be presentations on topics like developing language keyboards, the creation of the Moore Wikipedia, and the language support track at Wiki Indaba. We will also have members from the Wayuunaiki community joining us to share their experiences with the Incubator and as a new community within our movement. This meeting will have a Spanish interpretation. Looking forward to seeing you at the language community meeting! Cheers, [[User:SSethi (WMF)|Srishti]] 19:55, 21 Nofeembar 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=27746256 --> a1yw3rskeg5t5xbhydef5x24o53nw8e User talk:Drini 3 2414 6971 6898 2010-07-12T11:25:49Z The analeptic alzabo 359 6971 wikitext text/x-wiki Please see [http://so.wiktionary.org/w/index.php?title=Talk:Main_Page&oldid=6827]. Regards. --[[User:The analeptic alzabo|The analeptic alzabo]] 10:11, 27 Maajo 2010 (UTC) 10ct3tpczober181ggnyku93g9krgpn poika 0 2415 19151 18093 2017-04-28T17:28:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19151 wikitext text/x-wiki {{-fi-}} === Magac === '''poika''' # [[wiil]] 3l2zpgio1c8a5nq86glegk2pnx6bcjm User:Macalin 2 2416 6838 6834 2010-05-29T21:27:36Z Macalin 374 6838 wikitext text/x-wiki macalin waxoo ku nool qurbaha, waxoo jecelyahay in oo qaamuuska afka soomaaliga caan kadhigo, gaar ahaan bogga "wiki", iyo bogyaasha kale.. bza4e14efzsvc3jz3mzxt1ntbxc9y5n halu 0 2417 18821 17577 2017-04-28T17:26:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18821 wikitext text/x-wiki {{-fi-}} '''halu''' # [[rabniin]], # [[damac]], # [[lahasho]] hq2zuxpcwo73ez4s6fuz7a5wktsugl2 huoli 0 2418 18858 13362 2017-04-28T17:26:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18858 wikitext text/x-wiki {{-fi-}} '''huoli''' # [[walwal]], [[murug]] 0ng3by16xgaosbeb8bcsv6d0vmjzcnd varsi 0 2419 19441 17472 2017-04-28T17:30:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19441 wikitext text/x-wiki {{-fi-}} '''varsi''' # [[gacan]] 3o85pmeyuru68u0wr8xkylmbzj5is8j näppäimistö 0 2420 20189 19089 2019-02-05T17:16:48Z 91.156.27.99 20189 wikitext text/x-wiki {{-fi-}} === Magac === '''näppäimistö''' <small>([[näppäin#Finnish|näppäimen]] + [[-stö#Finnish|-stö]])</small> # [[alwaaxa-furayaasha]] [[Category: Finnish ereyada]] [[Category:Luqada Finnishka ereyada kumbuyuutarada]] rcrwmiww86cduvvmpw47upui6mvw1ta Template:-pt- 10 2421 23032 20070 2023-01-14T17:35:50Z 2601:404:C800:13D0:CC05:2BE7:4716:F8A6 /* bortugiis */ 23032 wikitext text/x-wiki ==Af bortugiis== 5swtcjcd9jotiqwteako3p09z5mzatl Template:pt 10 2422 9871 6866 2014-04-06T15:13:28Z 177.133.87.144 9871 wikitext text/x-wiki Portugiis 49vflcx07dswgkdu2gckzx9fjzyfd7g Template:m 10 2423 12233 6868 2015-02-07T15:07:11Z 177.133.7.166 12233 wikitext text/x-wiki <sub>rag ah</sub> muedzz3zpl2rjhvra987bltdvc968kt Category:Luqada Portugiiska ereyada kumbuyuutarada 14 2424 6870 2010-06-09T10:20:43Z 82.198.250.67 Bog cusub: [[Category:Portugiis ereyada|Luqada Portugiiska ereyada kumbuyuutarada]] 6870 wikitext text/x-wiki [[Category:Portugiis ereyada|Luqada Portugiiska ereyada kumbuyuutarada]] 62jej4f7zvj4qef6ml1kxpyjbgoo3jr pai 0 2425 19116 17345 2017-04-28T17:28:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19116 wikitext text/x-wiki {{-pt-}} === Magac === '''pai''' {{m}} # [[aabo]] dp0wvhmpxtih62602tucd2rraygab7i User:Vinhtantran/vector.js 2 2426 20504 6875 2021-02-03T22:15:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20504 javascript text/javascript mw.loader.load('https://vi.wikipedia.org/w/index.php?title=User:Vinhtantran/globalvector.js&action=raw&ctype=text/javascript'); aewun12h7cosrw38ecu5f4n7f7firbp Category:Portugiis ereyada 14 2427 19927 16886 2017-07-03T13:38:59Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19927 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx rato 0 2428 19213 17778 2017-04-28T17:29:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19213 wikitext text/x-wiki {{-pt-}} === Magac === '''rato''' ''m'' # [[dooli]], [[jiir]] ew20zue65r3pfqziow14i6gr6ufnmvr فأرة 0 2429 19688 17340 2017-04-28T17:32:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19688 wikitext text/x-wiki {{-ar-}} === Magac === '''فأرة''' (''fá’rah'') ''f'' # [[dooli]], [[jiir]] 356oi0d78kpbhwb6rlcpy2jubfk0jg1 Category:Carabi ereyada 14 2430 19878 17458 2017-07-03T13:38:09Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19878 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx July 0 2431 18309 17495 2017-04-28T17:22:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18309 wikitext text/x-wiki {{-en-}} === Magac === '''July''' # [[luuliyo]] k9zpoqkipcdfb8dccuub0smk0kqqefn August 0 2432 18269 17298 2017-04-28T17:22:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18269 wikitext text/x-wiki {{-en-}} === Magac === '''August''' # [[agoosto]] 3f4bz7ei5l7s8os6edhlj0fd37f4ipq September 0 2433 18341 16956 2017-04-28T17:22:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18341 wikitext text/x-wiki {{-en-}} === Magac === '''September''' # [[sebteembar]] o0mtfl4hvags0yu9fsqm97mslan5jd3 April 0 2434 18268 16045 2017-04-28T17:22:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18268 wikitext text/x-wiki {{-en-}} === Magac === '''April''' # [[abriil]] h0yu1ca7bzxbqmmccstm6jrnj2kz62z October 0 2435 18322 17008 2017-04-28T17:22:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18322 wikitext text/x-wiki {{-en-}} '''October''' # [[oktoobar]] np3jvk5c9rrwpac95spn3gm1085c8d7 lokakuu 0 2436 18990 18002 2017-04-28T17:27:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18990 wikitext text/x-wiki {{-fi-}} '''lokakuu''' <small>([[loka]] + [[kuu]])</small> # [[oktoobar]] fpssbwbu8yd43e6srwt9wlwp6v7nwdo outubro 0 2437 19113 16971 2017-04-28T17:28:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19113 wikitext text/x-wiki {{-pt-}} '''outubro''' {{m}} # [[oktoobar]] 4bypq8x4b9p1evuqoweb3swzq8yy64y أكتوبر 0 2438 19664 8952 2017-04-28T17:32:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19664 wikitext text/x-wiki {{-ar-}} '''أكتوبر''' (aktóbar) {{m}} # [[oktoobar]] 7t3s26l4s3lo75l829yr3mo7q2vg3y0 User:J.delanoy/monobook.js 2 2443 20477 6922 2021-02-03T22:10:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20477 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:J.delanoy/global.js&action=raw&ctype=text/javascript'); aug51frfbndh8772bte9gjoqwr8iooi User:Kuvaly/vector.js 2 2445 20484 6924 2021-02-03T22:11:49Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20484 javascript text/javascript mw.loader.load('https://cs.wikipedia.org/w/index.php?title=User:Kuvaly/global.js&action=raw&ctype=text/javascript'); lpm0f7l9tjqvfb8xarwkwe3ozc36okp User:Mike.lifeguard/vector.js 2 2450 20680 6929 2021-12-30T21:32:25Z Ladsgroup 1724 Maintenance: Fixing deprecated call to importScriptURI ([[mw:ResourceLoader/Migration_guide_(users)#importScriptURI]]) 20680 javascript text/javascript function importAnyScript(lang,family,script) { mw.loader.load('http://' + encodeURIComponent(lang) + '.' + encodeURIComponent(family) + '.org/w/index.php?title=' + encodeURIComponent(script) + '&action=raw&ctype=text/javascript'); } importAnyScript('meta','wikimedia','User:Mike.lifeguard/remote.js'); lilrd1en4uqg2rwds3dbg7six3k5nfo User:Matasg 2 2453 6936 2010-06-22T23:10:11Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6936 wikitext text/x-wiki [[m:lt:User:Matasg]] 929ngdeg9xk6zb6kkos5k8aa8gz06z9 User:Wikitanvir 2 2463 8407 8406 2012-12-28T12:13:44Z Wikitanvir 383 New design 8407 wikitext text/x-wiki <div style="padding: 12px 18px 5px 15px; width: absolute; border: 2px solid #000; background: #F5F5F5; color: #000; text-align: justify;">The purpose of this user page is to point you to the right direction where you can contact me in need. Please do not leave your message here, otherwise in most cases, they will not be noticed in time and eventually be removed. However, you are encouraged to contact me or say hello. :-) Please note that I can communicate in either Bangla or English. My apologies for not knowing your language. If you prefer to leave me a message, please choose any of the following talk pages I maintain frequently. * [[m:User talk:Wikitanvir|Meta-Wiki talk page]] * [[m:bn:User talk:Wikitanvir|Bangla Wikipedia talk page]] (my home wiki) * [[m:en:User talk:Wikitanvir|English Wikipedia talk page]] * [[m:commons:User talk:Wikitanvir|Wikimedia Commons talk page]] If you have something to say to me in private, e-mail is a good option. * If you are logged in to your Wikimedia account you can probably e-mail me by [[Special:EmailUser/Wikitanvir|clicking here]]. * Otherwise, you can e-mail me directly to <span style="text-transform: lowercase;">{{PAGENAME}}</span>[[File:At sign.svg|17px|&nbsp;at&nbsp;|link=]]gmail.com. Finally, if you are interested to know about my work or myself, they can be found on [[m:User:Wikitanvir|my Meta-Wiki user page]]. </div><!-- # USEFUL STATISTICS TABLE --> {| class="wikitable" width="100%" style="border: 2px solid #000;" ! style="width: 11%; background: #CCC;" | [[Special:AllPages|Articles]] ! style="width: 10%; background: #CCC;" | [[Special:ListFiles|Files]] ! style="width: 13%; background: #CCC;" | [[Special:ListUsers|Users]] ! style="width: 11%; background: #CCC;" | [[Special:ActiveUsers|Active Users]] ! style="width: 10%; background: #CCC;" | [[Special:ListUsers/bot|Bots]] ! style="width: 11%; background: #9F0; border: 2px solid #000;" | [[Special:ListUsers/sysop|Sysops]] ! style="width: 12%; background: #CC9; border: 2px solid #000;" | [[Special:ListUsers/bureaucrat|Bureaucrats]] ! style="width: 11%; background: #FC0; border: 2px solid #000;" | [[Special:ListUsers/checkuser|CheckUsers]] ! style="width: 12%; background: #6FF; border: 2px solid #000;" | [[Special:ListUsers/oversight|Oversighters]] |- style="background: #F5F5F5; font-size: 110%; text-align: center;" | {{NUMBEROFARTICLES}} || {{NUMBEROFFILES}} || {{NUMBEROFUSERS}} || {{NUMBEROFACTIVEUSERS}} || {{NUMBERINGROUP:bot}} || style="background: #9F0; border: 2px solid #000;" | '''{{NUMBEROFADMINS}}''' || style="background: #CC9; border: 2px solid #000;" | '''{{NUMBERINGROUP:bureaucrat}}''' || style="background: #FC0; border: 2px solid #000;" | '''{{NUMBERINGROUP:checkuser}}''' || style="background: #6FF; border: 2px solid #000;" | '''{{NUMBERINGROUP:oversight}}''' |}<!-- TA! --> ahoeqk0hrgtqwlhdcefzbqa8ywxmr28 heinäkuu 0 2465 18832 18062 2017-04-28T17:26:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18832 wikitext text/x-wiki {{-fi-}} '''heinäkuu''' <small>([[heinä]] + [[kuu]])</small> # [[luuliyo]] c4y8af2vy5piqb7qp2xg9rtq4wyxx30 aabe 0 2466 20549 18372 2021-08-13T01:28:33Z 73.106.68.191 20549 wikitext text/x-wiki === Magac === '''Aabo''' # waa [[nin]]ka ama [[lab]]ka [[waalid]]ka u ah ama dhalay [[ilmo|ilmaha]] ([[wiil]]asha iyo [[gabadh|gabdhaha]]). Sidoo kale, aabuhu wuxuu noqon karaa [[seey]]ga qaba [[hooyo|hooyada]] ilmaha (2). # [[cunug|Cunuga]] [[hooyo|hooyadiisa]] ninka qabo ama soo korsaday (1). ==== La macno ah ==== * [[oday]], [[aabe]] (1,2) ==== Qoyska ==== Aabuhu wuxuu ka mid yahay xubnaha ugu muhiimsan ee [[qoys]]ka reer leeyahay, waxaana [[waalid]] u yahay [[ilmo|ilmaha]] ([[wiil]]asha iyo [[gabadh|gabdhaha]]). Dadka kale ee qoyska ka tirsan waa [[aabe]] iyo qaraabo. dkmlngxlueugzsofgwjxllisgesu69x User:Memo18 2 2467 6997 2010-08-03T00:51:46Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6997 wikitext text/x-wiki <div style="background:LightBlue; overflow:auto; padding:10px;">Hi! See my page in [[m:ro:User:Memo18|romanian]].</div> 4vupc4gqlw7zu53y6q646ybvegjr6ib User:Memo18/vector.css 2 2468 6998 2010-08-03T01:57:31Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 6998 css text/css @import "http://meta.wikimedia.org/w/index.php?title=User:Memo18/vector.css&action=raw&ctype=text/css"; o9ykiatro07zdw4ch86s4jgoazh6kyj Main Page 0 2471 7004 2010-08-04T09:05:16Z The analeptic alzabo 359 [[Main Page]] waxaa loo wareejiyey [[Bogga Hore]] si loo sii toosiyo: Name in Somali. See: http://so.wikipedia.org/wiki/Bogga Hore 7004 wikitext text/x-wiki #REDIRECT [[Bogga Hore]] qkg8h7j2f8fa92be8sholdju0u6cymq Talk:Main Page 1 2472 7006 2010-08-04T09:05:16Z The analeptic alzabo 359 [[Talk:Main Page]] waxaa loo wareejiyey [[Talk:Bogga Hore]]: Name in Somali. See: http://so.wikipedia.org/wiki/Bogga Hore 7006 wikitext text/x-wiki #REDIRECT [[Talk:Bogga Hore]] 7lgozkbg43phmwr8jtvhmcigwpbq5li May 0 2473 18318 17494 2017-04-28T17:22:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18318 wikitext text/x-wiki {{-en-}} === Magac === '''May''' # [[maajo]] gd9j6svcqllo3ztogvuxy1llf6rjboh June 0 2474 18310 16951 2017-04-28T17:22:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18310 wikitext text/x-wiki {{-en-}} === Magac === '''June''' # [[juun]] szj7456vdrzy9yve4c5ttleuedsa6w1 November 0 2475 18321 16954 2017-04-28T17:22:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18321 wikitext text/x-wiki {{-af-}} {{Bilaha-af}} === Magac === '''November''' [[nofeembar]] {{-en-}} === Magac === '''November''' # [[nofeembar]] {{-nl-}} {{Bilaha-nl}} === Magac === '''November''' [[nofeembar]] ka73fkbblf4h2gw20z19vd7m5twaf1n December 0 2476 18284 16947 2017-04-28T17:22:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18284 wikitext text/x-wiki {{-en-}} === Magac === '''December''' # [[diseembar]] c4hk6v54k2hz9lbxl4jz0yk7mhqt6pa User:Manuelt15 2 2477 7016 7015 2010-08-05T11:12:59Z Abigor 274 Fix after request on my [[:meta:User:Abigor|Talk page]] 7016 wikitext text/x-wiki <div style="min-height: 57px; border: 1px solid #aaaaaa; background-color: #f9f9f9; width: 50%; margin: 0 auto 1em auto; padding: .2em; text-align: justify;"> <div style="float: left">[[File:Metawiki.svg|50px| ]]</div> <div style="margin-left: 60px">'''[[m:Soft redirect|Interwiki redirect]]'''<br />This page can be found at [[m:User:Manuelt15|Meta-Wiki]].</div> </div> mrpg2ux8t3yptl42nr8vch5c6qxcm1e User:WinContro 2 2478 7019 2010-08-06T12:30:38Z Abigor 274 Requested on IRC 7019 wikitext text/x-wiki <div style="min-height: 57px; border: 1px solid #aaaaaa; background-color: #f9f9f9; width: 50%; margin: 0 auto 1em auto; padding: .2em; text-align: justify;"> <div style="float: left">[[File:Metawiki.svg|50px| ]]</div> <div style="margin-left: 60px">'''[[m:Soft redirect|Interwiki redirect]]'''<br />This page can be found at [[:w:nl:User:WinContro|Dutch Wikipedia]].</div> </div> nnqjim9i4o87og55w0rq2dwdhw0czo8 User:Manuelt15/vector.js 2 2479 7022 2010-08-07T03:04:10Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7022 javascript text/javascript importScriptURI('http://meta.wikimedia.org/w/index.php?title=User:Manuelt15/global.js&action=raw&ctype=text/javascript') f64hpcwq4zpywi9ytax6wop9gtnha8z User:Manuelt15/monobook.js 2 2480 20488 7023 2021-02-03T22:12:29Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20488 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Manuelt15/global.js&action=raw&ctype=text/javascript'); e9ouft4iybh1txmhj9r9cy6yoqkoen0 User:Juhko/monobook.js 2 2481 20479 7024 2021-02-03T22:10:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20479 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Juhko/global.js&action=raw&ctype=text/javascript'); 74oghvoywm8aj2m7ngs52yo4xhfu30z User:Juhko/vector.js 2 2482 20480 7025 2021-02-03T22:11:09Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20480 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Juhko/global.js&action=raw&ctype=text/javascript'); 74oghvoywm8aj2m7ngs52yo4xhfu30z User talk:Wikitanvir 3 2483 8405 7395 2012-12-27T22:05:59Z Wikitanvir 383 New design 8405 wikitext text/x-wiki <div style="padding: 12px 18px 5px 15px; width: absolute; border: 2px solid #000; background: #F5F5F5; color: #000; text-align: justify;">The purpose of this user page is to point you to the right direction where you can contact me in need. Please do not leave your message here, otherwise in most cases, they will not be noticed in time and eventually be removed. However, you are encouraged to contact me or say hello. :-) Please note that I can communicate in either Bangla or English. My apologies for not knowing your language. If you prefer to leave me a message, please choose any of the following talk pages I maintain frequently. * [[m:User talk:Wikitanvir|Meta-Wiki talk page]] * [[m:bn:User talk:Wikitanvir|Bangla Wikipedia talk page]] (my home wiki) * [[m:en:User talk:Wikitanvir|English Wikipedia talk page]] * [[m:commons:User talk:Wikitanvir|Wikimedia Commons talk page]] If you have something to say to me in private, e-mail is a good option. * If you are logged in to your Wikimedia account you can probably e-mail me by [[Special:EmailUser/Wikitanvir|clicking here]]. * Otherwise, you can e-mail me directly to <span style="text-transform: lowercase;">{{PAGENAME}}</span>[[File:At sign.svg|17px|&nbsp;at&nbsp;|link=]]gmail.com. Finally, if you are interested to know about my work or myself, they can be found on [[m:User:Wikitanvir|my Meta-Wiki user page]]. </div><!-- TA! --> 46rbmfnj1oqhjlb6img5ahdr3pfxybv User:Shanel/vector.js 2 2485 20496 7028 2021-02-03T22:13:49Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20496 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Shanel/global.js&action=raw&ctype=text/javascript'); 14p5zkc7ozc0y8n5twgu541naa3a33d User:Shanel/vector.css 2 2486 7029 2010-08-08T02:41:12Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7029 css text/css import url('http://meta.wikimedia.org/w/index.php?title=User:Shanel/global-vector.css&action=raw&ctype=text/css'); 6lokmzprxyvba9z7tqbs9f5jo3rqp70 User:Pilif12p 2 2487 7030 2010-08-08T09:18:12Z Abigor 274 global userpage 7030 wikitext text/x-wiki {| style="border: #AAAAAA 1px solid; background: #F9F9F9; margin-left: auto; margin-right: auto; width: 40%; min-height: 57px" | [[Image:Blue Glass Arrow.svg|50px]] | '''[[m:Soft redirect|Soft redirect]]''' This page can be found at [[Wikipedia:User:Pilif12p]]. |} m20cgwcs7kmq7dazwmnjrvgp5vzlqzr User:Quentinv57 2 2488 7042 2010-08-16T19:58:27Z Quentinv57 407 Redirected to [[meta:User:Quentinv57]] 7042 wikitext text/x-wiki {{Softredirect|meta:User:Quentinv57}} tpoqwz8k33kao379ipdrsfbabv12jsh User talk:Quentinv57 3 2489 7043 2010-08-16T19:58:39Z Quentinv57 407 Redirected to [[meta:User talk:Quentinv57]] 7043 wikitext text/x-wiki {{Softredirect|meta:User talk:Quentinv57}} 48m7gb8whgermtd1zo16iz8fu2if5h9 syyskuu 0 2490 19345 17937 2017-04-28T17:30:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19345 wikitext text/x-wiki {{-fi-}} === Magac === '''syyskuu''' # [[sebteembar]] [[Category:Bilaha afka Finnishka]] bs5hutukfzptxh47n4p8ri8awk9eqc1 marraskuu 0 2491 19017 18003 2017-04-28T17:27:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19017 wikitext text/x-wiki {{-fi-}} === Magac === '''marraskuu''' # [[nofeembar]] [[Category:Bilaha afka Finnishka]] q6z98okyt22gnwc8tuo5mj3m0zmc22w joulukuu 0 2492 20196 18912 2019-02-05T17:22:21Z 91.156.27.99 20196 wikitext text/x-wiki {{-fi-}} === Magac === '''joulukuu''' # [[diseembar]] [[Category: Finnish ereyada]] [[Category:Bilaha afka Finnishka]] nrr147ydtxa0yqa2oqxtbw5j65cv9g3 مارس 0 2493 19692 16780 2017-04-28T17:32:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19692 wikitext text/x-wiki {{-ar-}} '''مارس''' (māris) {{m}} # [[maarso]] 5w5d14ou6g1o2w0p7gwxr65mldvsprq User:*SM* 2 2494 12119 7054 2015-02-03T18:06:35Z Céréales Killer 1396 Céréales Killer moved page [[User:Suprememangaka]] to [[User:*SM*]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Suprememangaka|Suprememangaka]]" to "[[Special:CentralAuth/*SM*|*SM*]]" 12119 wikitext text/x-wiki {{Softredirect|w:fr:User:Suprememangaka}} jo11kidsngmb9r02grb01598tvh91ef User talk:*SM* 3 2495 12121 7055 2015-02-03T18:06:36Z Céréales Killer 1396 Céréales Killer moved page [[User talk:Suprememangaka]] to [[User talk:*SM*]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Suprememangaka|Suprememangaka]]" to "[[Special:CentralAuth/*SM*|*SM*]]" 12121 wikitext text/x-wiki {{Softredirect|w:fr:User talk:Suprememangaka}} 70bgbstax7xkbxekyu6o8ry9p2zbo3p User:Adambro 2 2498 7067 2010-08-28T18:51:30Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7067 wikitext text/x-wiki [[meta:User:Adambro]] ez9ycc6s9gfke3epzjfo61o6h8hw6vd User:Jalexander-WMF 2 2500 10860 7106 2014-08-17T23:20:12Z MF-Warburg 63 MF-Warburg moved page [[User:Jalexander]] to [[User:Jalexander-WMF]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Jalexander|Jalexander]]" to "[[Special:CentralAuth/Jalexander-WMF|Jalexander-WMF]]" 10860 wikitext text/x-wiki My name is James Alexander, I am an Associate Community Officer with the [[wmf:Main Page|Wikimedia Foundation]] and am working to help with this year's [[m:fundraising 2010|Fundraiser]]. This account is used for edits while officially working for the foundation. You can reach me either through email (Jalexander[[File:At_sign.svg|17px| at |link=]]wikimedia.org) or on my [[m:User talk:Jalexander|Meta talk page]]. On wiki I use [[m:User:Jamesofur|Jamesofur]] in my volunteer role and this account [[m:User:Jalexander|Jalexander]] in my WMF staff role. In my volunteer capacity I can usually be found on the [[w:en:Main page|enWikipedia]], [[w:simple:Main page|SimpleWikipedia]] or on [[m:Main page|MetaWiki]] where I am an elected administrator as well as working on cross-wiki abuse as a [[m:Global sysop|Global sysop]] For more contact info please see [[m:User:Jalexander|my MetaWiki userpage]]. dy6n4i5h6pi3dironfvr2bissmkvefw User:Kpeterzell 2 2502 7085 2010-09-02T07:38:09Z Jalexander-WMF 416 (global staff user pages as requested. [[m:User talk:Jalexander|Questions?]]) 7085 wikitext text/x-wiki Hello. I'm [[w:User:Keegan|Keegan Peterzell]]. I'm working for the Wikimedia Foundation temporarily on Fundraising 2010 as an Associate Community Officer. Edits made under this account are on behalf of the Wikimedia Foundation as a staff member. Feel free to contact me anytime with questions about the Fundraiser. s1riz8icp2pwlyer2902i788r0zau23 maio 0 2504 19011 18182 2017-04-28T17:27:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19011 wikitext text/x-wiki {{-gl-}} === Magac === '''maio''' # [[maajo]] {{-it-}} === Magac === '''maio''' # [[maajo]] ''m'' {{-pt-}} === Magac === '''maio''' ''m'' # [[maajo]] 30tjs710o3teo5qdtvh8ndbot40cgmf janeiro 0 2505 18900 17198 2017-04-28T17:26:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18900 wikitext text/x-wiki {{-pt-}} === Magac === '''janeiro''' ''m'' # [[janaayo]] j3mrs3pxyeoj2dnrkdudkrk64jvhk78 User:Koavf 2 2506 7109 2010-09-20T23:06:42Z Koavf 13 Bog cusub: [http://en.wikipedia.org/wiki/User:Koavf !!!!] 7109 wikitext text/x-wiki [http://en.wikipedia.org/wiki/User:Koavf !!!!] bakkeq13eza7yhu7n9buvny7z38rbae User:Dgultekin 2 2507 7120 2010-09-29T21:25:49Z Jalexander-WMF 416 ( updating and creating global staff user page by request. [[m:User talk:Jalexander|Questions?]]) 7120 wikitext text/x-wiki {| class="messagebox standard-talk" |- |align="center"|[[Image:Info icon.svg|50px|Comment]] |align="left" width="100%"| My name is Deniz and I'm working for the [[m:Wikimedia Foundation|Wikimedia Foundation]] as an associate during the 2010 [http://wikimediafoundation.org/wiki/Support_Wikipedia/en Fundraising Drive]. You can reach me either through email (dgultekin[[File:At_sign.svg|17px| at |link=]]wikimedia.org) or on my [[m:User talk:dgultekin|Meta talk page]]. Mini-Disclaimer: All edits made as a Community Associate to Wikimedia hosted projects will be made under [[User:dgultekin|dgultekin]]. Unless otherwise stated, all edits made as [[User:dmgultekin|dmgultekin]] are made as a regular member of the community, and not a legal or official action of the Community Department of the Wikimedia Foundation. |} '''Contact Info'''<br> [[Special:EmailUser/dgultekin|Email]]<br> IRC nick name: dgultekin<br> AIM: denizgultekin<br> G-chat: dmgultekin<br> Location: San Francisco, CA cfb14yy1r9kmmgh3kahmw3tyjl6bsmt User:Klyman 2 2510 7142 2010-10-22T23:49:52Z Jalexander-WMF 416 ( updating and creating global [[m:WMF|Wikimedia]] staff user page by request. [[m:User talk:Jalexander|Questions?]]) 7142 wikitext text/x-wiki My name is Kelly Lyman and I am working on the 2010-2011 fundraising team for the Wikimedia Foundation. This account is used for official edits while officially employed by the Wikimedia Foundation. Meta user name: Klyman Freenode IRC nick name: klyman AIM: klyman, kllylymn Email: klyman@wikimedia.org fpmc6di45yw14kcy3guk6nd1nem8uwz User:A. B. 2 2512 7145 2010-10-23T20:01:02Z A. B. 366 Bog cusub: Active projects: *[[w:en:User:A. B.]] • [[w:en:User talk:A. B.]] **administrator *[[meta:User:A. B.]] • [[meta:User talk:A. B.]] **administrator 7145 wikitext text/x-wiki Active projects: *[[w:en:User:A. B.]] • [[w:en:User talk:A. B.]] **administrator *[[meta:User:A. B.]] • [[meta:User talk:A. B.]] **administrator 6km2syxe2v3l2idzg6i4dtgpktc7i6r User talk:A. B. 3 2513 7146 2010-10-23T20:01:10Z A. B. 366 Bog cusub: Active projects: *[[w:en:User:A. B.]] • [[w:en:User talk:A. B.]] **administrator *[[meta:User:A. B.]] • [[meta:User talk:A. B.]] **administrator 7146 wikitext text/x-wiki Active projects: *[[w:en:User:A. B.]] • [[w:en:User talk:A. B.]] **administrator *[[meta:User:A. B.]] • [[meta:User talk:A. B.]] **administrator 6km2syxe2v3l2idzg6i4dtgpktc7i6r User:Frozen Wind 2 2517 7162 2010-11-07T20:15:22Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7162 wikitext text/x-wiki [[m:simple:User:Frozen Wind|simplewiki]] 98xobhbsyeg0z3udlfj8a6ax3zongbf User:EdoDodo/vector.js 2 2519 20473 7164 2021-02-03T22:09:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20473 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:EdoDodo/global.js&action=raw&ctype=text/javascript'); laizrkaqgbvpypx7nrgyzt0c0ibpqvt MediaWiki:Sitesupport-url 8 2520 8530 8263 2013-02-07T01:44:53Z Pgehres (WMF) 592 Updating sidebar link to use subst:CONTENTLANGUAGE 8530 wikitext text/x-wiki //donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_so.wiktionary.org&uselang=so c46spzy0t9v8n7im57ckcppkp14kkv6 User:ChuispastonBot 2 2521 7248 7240 2011-01-31T16:04:25Z ChuispastonBot 456 Add that this bot is now a global bot. 7248 wikitext text/x-wiki {| width="75%" align="center" style="text-align:justify; border:1px solid #B2B2B2; background-color:#FFFFFF; color:#000000;" |- padding:1em;padding-top:0.5em;padding-right:2em;padding-left:3em" |[[File:Crystal Clear action run.svg|40px]] |'''This [[meta:Bot|bot]] is a [[meta:Special:GlobalUsers/Global_bot|Global bot]]. / Ce [[meta:Bot|bot]] est un [[meta:Special:GlobalUsers/Global_bot|bot global]]. ''' <br /> <small>It can have bot rights on this wiki without being locally flagged / Ce bot peut avoir des droits bot sur ce wiki sans ''flag'' local.</small> |}<br> {| width="75%" align="center" style="text-align:justify; border:1px solid #B2B2B2; background-color:#FFFFFF; color:#000000;" |- padding:1em;padding-top:0.5em;padding-right:2em;padding-left:3em" |[[Image:Wikimedia Community Logo-Toolserver.svg|40px]] |'''This [[meta:Bot|bot]] runs on the [[meta:Toolserver|Wikimedia Toolserver]]. / Ce [[meta:Bot|bot]] fonctionne sur le [[meta:Toolserver|Wikimedia Toolserver]]. ''' <br /> <small>''Administrators: If this bot needs to be blocked due to a malfunction, please remember to disable autoblocks so that other Toolserver bots are not affected.<br> ''Administrateurs: si ce bot doit &ecirc;tre bloqu&eacute; pour dysfonctionnement, pensez &agrave; suspendre l'autoblocage pour &eacute;viter d'affecter d'autres bots du Toolserver.''</small> |}<br> This is the page of a bot whose operator is [[:w:fr:user:Grimlock|Grimlock]].<br> <small>Administrators: if this bot isn't working right or doing bad things, please [[special:Block/ChuispastonBot|block it]]</small> Operator's language : fr, en, es.<br> Programmation language : [[m:pywikipedia|pywikipedia]].<br> Runs : daily / automatic.<br> Purpose : interwiki.<br> <!--{{Emergency-bot-shutoff}}--> [[csb:user:ChuispastonBot]] 0xi5kocdjj3hcnvbsn5qyuppeqpeo79 bird 0 2522 18503 17972 2017-04-28T17:24:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18503 wikitext text/x-wiki {{-en-}} === Magac === '''bird''' # [[shimbir]] dzcg37loi9yuqa7d7ownsfrqdxqoqh3 lintu 0 2523 18982 18078 2017-04-28T17:27:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18982 wikitext text/x-wiki {{-fi-}} === Magac === '''lintu''' # [[shimbir]] 2sxjnbbwri1qtdgmuvffuo8h354tedf pássaro 0 2524 19169 17276 2017-04-28T17:28:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19169 wikitext text/x-wiki {{-pt-}} === Magac === '''pássaro''' {{m}} # [[shimbir]] lo83rz8ffhbyc5hoz8vry5llyqg52tp dezembro 0 2525 18617 18189 2017-04-28T17:25:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18617 wikitext text/x-wiki {{-pt-}} === Magac === '''dezembro''' {{m}} # [[diseembar]] r1n3vhi71vodtctve9yhg0ynmomg9ca User:Luckas-bot 2 2526 7220 7191 2010-12-30T15:29:11Z Luckas-bot 463 r2.6.2) (robot Adding: af, am, an, ang, ar, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, en, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it, iu, ja 7220 wikitext text/x-wiki This user is a pure interwiki bot operated by [[:pt:User:Luckas Blade|Luckas Blade]]. [[af:Gebruiker:Luckas-bot]] [[am:አባል:Luckas-bot]] [[an:Usuario:Luckas-bot]] [[ang:User:Luckas-bot]] [[ar:مستخدم:Luckas-bot]] [[ast:Usuariu:Luckas-bot]] [[ay:Usuario:Luckas-bot]] [[az:İstifadəçi:Luckas-bot]] [[be:Удзельнік:Luckas-bot]] [[bg:Потребител:Luckas-bot]] [[bn:ব্যবহারকারী:Luckas-bot]] [[br:Implijer:Luckas-bot]] [[bs:Korisnik:Luckas-bot]] [[ca:Usuari:Luckas-bot]] [[chr:User:Luckas-bot]] [[co:User:Luckas-bot]] [[cs:Uživatel:Luckas-bot]] [[csb:Brëkòwnik:Luckas-bot]] [[cy:Defnyddiwr:Luckas-bot]] [[da:Bruger:Luckas-bot]] [[de:Benutzer:Luckas-bot]] [[dv:މެމްބަރު:Luckas-bot]] [[el:Χρήστης:Luckas-bot]] [[en:User:Luckas-bot]] [[eo:Uzanto:Luckas-bot]] [[es:Usuario:Luckas-bot]] [[et:Kasutaja:Luckas-bot]] [[eu:Lankide:Luckas-bot]] [[fa:کاربر:Luckas-bot]] [[fi:Käyttäjä:Luckas-bot]] [[fj:User:Luckas-bot]] [[fo:Brúkari:Luckas-bot]] [[fr:Utilisateur:Luckas-bot]] [[fy:Meidogger:Luckas-bot]] [[ga:Úsáideoir:Luckas-bot]] [[gd:User:Luckas-bot]] [[gl:Usuario:Luckas-bot]] [[gn:Puruhára:Luckas-bot]] [[gu:સભ્ય:Luckas-bot]] [[gv:Ymmydeyr:Luckas-bot]] [[ha:User:Luckas-bot]] [[he:משתמש:Luckas-bot]] [[hi:सदस्य:Luckas-bot]] [[hr:Suradnik:Luckas-bot]] [[hsb:Wužiwar:Luckas-bot]] [[hu:Szerkesztő:Luckas-bot]] [[hy:Մասնակից:Luckas-bot]] [[ia:Usator:Luckas-bot]] [[id:Pengguna:Luckas-bot]] [[ie:User:Luckas-bot]] [[ik:User:Luckas-bot]] [[io:Uzanto:Luckas-bot]] [[is:Notandi:Luckas-bot]] [[it:Utente:Luckas-bot]] [[iu:User:Luckas-bot]] [[ja:利用者:Luckas-bot]] [[jbo:User:Luckas-bot]] [[jv:Panganggo:Luckas-bot]] [[ka:მომხმარებელი:Luckas-bot]] [[kk:Қатысушы:Luckas-bot]] [[kl:Atuisoq:Luckas-bot]] [[km:អ្នកប្រើប្រាស់:Luckas-bot]] [[kn:ಸದಸ್ಯ:Luckas-bot]] [[ko:사용자:Luckas-bot]] [[ks:User:Luckas-bot]] [[ku:Bikarhêner:Luckas-bot]] [[kw:Devnydhyer:Luckas-bot]] [[ky:User:Luckas-bot]] [[la:Usor:Luckas-bot]] [[lb:Benotzer:Luckas-bot]] [[li:Gebroeker:Luckas-bot]] [[ln:Utilisateur:Luckas-bot]] [[lo:ຜູ້ໃຊ້:Luckas-bot]] [[lt:Naudotojas:Luckas-bot]] [[lv:Lietotājs:Luckas-bot]] [[mg:Mpikambana:Luckas-bot]] [[mi:User:Luckas-bot]] [[mk:Корисник:Luckas-bot]] [[ml:ഉപയോക്താവ്:Luckas-bot]] [[mn:Хэрэглэгч:Luckas-bot]] [[mr:सदस्य:Luckas-bot]] [[ms:Pengguna:Luckas-bot]] [[mt:Utent:Luckas-bot]] [[my:User:Luckas-bot]] [[na:User:Luckas-bot]] [[nah:Tlatequitiltilīlli:Luckas-bot]] [[nds:Bruker:Luckas-bot]] [[ne:User:Luckas-bot]] [[nl:Gebruiker:Luckas-bot]] [[nn:Brukar:Luckas-bot]] [[no:Bruker:Luckas-bot]] [[oc:Utilizaire:Luckas-bot]] [[om:User:Luckas-bot]] [[pa:ਮੈਂਬਰ:Luckas-bot]] [[ps:کارن:Luckas-bot]] [[pt:Usuário:Luckas-bot]] [[qu:Ruraq:Luckas-bot]] [[ro:Utilizator:Luckas-bot]] [[roa-rup:User:Luckas-bot]] [[ru:Участник:Luckas-bot]] [[rw:User:Luckas-bot]] [[sa:योजकः:Luckas-bot]] [[scn:Utenti:Luckas-bot]] [[sd:يوزر:Luckas-bot]] [[sg:Utilisateur:Luckas-bot]] [[sh:Korisnik:Luckas-bot]] [[si:පරිශීලක:Luckas-bot]] [[simple:User:Luckas-bot]] [[sk:Redaktor:Luckas-bot]] [[sl:Uporabnik:Luckas-bot]] [[sm:User:Luckas-bot]] [[sq:Përdoruesi:Luckas-bot]] [[sr:Корисник:Luckas-bot]] [[ss:User:Luckas-bot]] [[st:User:Luckas-bot]] [[su:Pamaké:Luckas-bot]] [[sv:Användare:Luckas-bot]] [[sw:Mtumiaji:Luckas-bot]] [[ta:பயனர்:Luckas-bot]] [[te:వాడుకరి:Luckas-bot]] [[tg:Корбар:Luckas-bot]] [[th:ผู้ใช้:Luckas-bot]] [[ti:User:Luckas-bot]] [[tk:Ulanyjy:Luckas-bot]] [[tl:Tagagamit:Luckas-bot]] [[tn:User:Luckas-bot]] [[tpi:User:Luckas-bot]] [[tr:Kullanıcı:Luckas-bot]] [[ts:User:Luckas-bot]] [[tt:Кулланучы:Luckas-bot]] [[ug:ئىشلەتكۈچى:Luckas-bot]] [[uk:Користувач:Luckas-bot]] [[ur:صارف:Luckas-bot]] [[uz:Foydalanuvchi:Luckas-bot]] [[vi:Thành viên:Luckas-bot]] [[vo:Geban:Luckas-bot]] [[wa:Uzeu:Luckas-bot]] [[wo:Jëfandikukat:Luckas-bot]] [[yi:באַניצער:Luckas-bot]] [[za:用户:Luckas-bot]] [[zh:User:Luckas-bot]] [[zh-min-nan:User:Luckas-bot]] [[zu:User:Luckas-bot]] kf15xjjpxk11hw3xhk8pmubzvqnbf1a User:Quentinv57/vector.js 2 2527 20494 7221 2021-02-03T22:13:29Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20494 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Quentinv57/global.js&action=raw&ctype=text/javascript'); jgdpjuo1eeukg8zue4hg68ie63ro6wn User:JøMa 2 2528 7222 2011-01-03T21:52:39Z JøMa 470 Bog cusub: <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <center><font size="+20">&#091;[[:de:w:User:JøMa|ˈjøːˌmaˑ]]&#093;</font></center> <br /><br /><br /><br /><br /><br /><b... 7222 wikitext text/x-wiki <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <center><font size="+20">&#091;[[:de:w:User:JøMa|ˈjøːˌmaˑ]]&#093;</font></center> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> [[de:User:JøMa]] 4np28gvw186v70pwlrryip4ktdi1kbn User:WikitanvirBot 2 2533 7238 2011-01-28T09:04:10Z WikitanvirBot 480 creating bot page 7238 wikitext text/x-wiki {{Bot|Wikitanvir|site=bn}} db4d9yntuwarfag3sj2mgx6qd5na71i User:Hydriz 2 2535 9061 7936 2014-01-21T08:40:30Z Hydriz 452 Updating global user page 9061 wikitext text/x-wiki {{#babel:en-N|zh-hans-N|zh-hant-3|so-0}} Hi, I am Hydriz. Please visit [[m:User:Hydriz|my userpage on Meta]] for more information about me. == Wiki statistics == {| class="wikitable" |- | Number of pages || {{NUMBEROFPAGES}} |- | Number of articles || '''{{NUMBEROFARTICLES}}''' |- | Number of uploaded files || {{NUMBEROFFILES}} |- | Number of registered users || {{NUMBEROFUSERS}} |- | Number of active users || {{NUMBEROFACTIVEUSERS}} |- | Number of admins || {{NUMBEROFADMINS}} |- | Number of total edits || {{NUMBEROFEDITS}} |} ca8ii6pyrgpdd2fd18v615n4prjd2fa User:TeleComNasSprVen/monobook.js 2 2536 20500 7246 2021-02-03T22:14:29Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20500 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:TeleComNasSprVen/global.js&action=raw&ctype=text/javascript'); osyd1yf7zdjqmnb179w0iykwnnqi0m7 User:TeleComNasSprVen/vector.js 2 2537 20501 7249 2021-02-03T22:14:39Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20501 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:TeleComNasSprVen/global.js&action=raw&ctype=text/javascript'); osyd1yf7zdjqmnb179w0iykwnnqi0m7 User:Silver Spoon/vector.js 2 2538 20497 7250 2021-02-03T22:13:59Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20497 javascript text/javascript mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Silver_Spoon/global.js&action=raw&ctype=text/javascript'); 34r354qe3hhq0v6nmgc8guevfchfjcc User talk:Mjbmrbot 3 2539 7251 2011-02-02T12:38:40Z Mjbmrbot 476 REDIRECT 7251 wikitext text/x-wiki #REDIRECT [[:w:fa:User talk:Mjbmr]] tkjwt5fk9buvbmalwfb9dqsckxrc9q5 User talk:Wutsje 3 2540 7252 2011-02-02T23:47:13Z Wutsje 235 talk page 7252 wikitext text/x-wiki * My talk page on Meta is [[:m:User talk:Wutsje|here]]. 9xrbu1imzqwp0x9xcxwfuxm4j1mwckl User:Ainali 2 2541 7254 2011-02-04T02:01:05Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7254 wikitext text/x-wiki <div style="text-align:center; font-family:Arial; font-size:1.6em; color:#222;" class="plainlinks"><div style="padding:9px; background:#EEF; border:3px solid #2F2F4F; -moz-border-radius:8px; -webkit-border-radius:8px; border-radius:8px;">'''Please use one of the following links to discuss with me.'''</div><div style="margin:1px; padding:9px; background:#EEF; border:3px solid #2F2F4F; -moz-border-radius:8px; -wekbit-border-radius:8px; border-radius:8px;">'''[[m:sv:user:Ainali|Swedish Wikipedia]] | [[commons:user:Ainali|Commons]] | [[m:user:Ainali|Meta]]'''</div> 7iexk7no4c3gul7thm0jwog7u07evly User:Dcljr 2 2545 12127 10615 2015-02-06T03:24:38Z Dcljr 445 + Admins link 12127 wikitext text/x-wiki {{#babel:en|es-1|so-0}} <div lang="en-US"> For information about me, please see [[:en:User:Dcljr]]. To discuss any issues related to ''this'' wiki, please use '''[[User talk:Dcljr|my talk page here]]'''. ''Note:'' This wiki contains {{NUMBEROFARTICLES}} entries. ([[Special:SpecialPages|See also]]: [[Special:Statistics|Statistics]], [[Special:NewPages|NewPages]], [[Special:RecentChanges|RecentChanges]], [[Special:NewFiles|NewFiles]], [[Special:Log|Log]], [[Special:Userlist/sysop|Admins]].) </div> [[en:User:Dcljr]] flejp7a1ncpbu7rba2sz4f3hoczyms8 User:Shanel 2 2548 7270 2011-02-23T04:45:58Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]])♥ 7270 wikitext text/x-wiki Hello! My name is Shanel Kalicharan. My edits on this wiki are mostly part of my [[m:steward|steward work]]. If you have any comments or questions, please let me know on [[m:User talk:Shanel|my global talk page]]! 539e2stnb09ajwpzc24v9hl0lll9mz2 User:Pmlineditor/common.js 2 2551 7283 2011-04-03T22:44:05Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7283 javascript text/javascript mw.loader.load('http://meta.wikimedia.org/w/index.php?title=User:Pmlineditor/global.js&action=raw&ctype=text/javascript'); gyuhr8v12ygxls5m04kxh9k7cjmw19w User:Micki/common.js 2 2552 7910 7288 2012-03-11T15:21:08Z Quentinv57 407 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7910 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Micki/global.js&action=raw&ctype=text/javascript'); 8pvfaoxz0sncj1pwvqnhfwfzc9pdley User:Micki 2 2553 7289 2011-04-16T19:47:25Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7289 wikitext text/x-wiki [[m:sr:User:Micki|wikipedia]] - [[m:User:Micki|meta]] - [[commons:User:Micki|commons]] r4ik3s0amh46fub8w3k4m5qethfd1w9 User:FalconL 2 2556 7292 2011-04-16T23:04:54Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7292 wikitext text/x-wiki See [[m:User:FalconL|my user page on Meta]] for further information. Please also use [[m:User Talk:FalconL|my talk page there]] to contact me. l6oflce43odm57fezh9j2t3g3waofl6 User:Avicennasis 2 2559 7295 2011-04-21T02:12:00Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7295 wikitext text/x-wiki [[m:User:Avicennasis]] {| class="wikitable" ! Maintenance ([{{fullurl:User:Avicennasis|action=purge}} purge]) ! Entries |- {{#ifexpr:{{PAGESINCAT:Candidates for speedy deletion}} > 0 | style="background:#fbb;" }} | [[:Category:Candidates for speedy deletion|Candidates for speedy deletion]] | {{PAGESINCAT:Candidates for speedy deletion}} |- |colspan="2"| [[Special:ShortPages]] |- |colspan="2"| [[Special:BrokenRedirects]] |- |colspan="2"| [[Special:DoubleRedirects]] |} [[File:IM IN UR WIKI RVRTING UR EDITS lolcat.jpg|450px]] gsqib5y2p7s3xzc3tfwug3srkad9krp censorship 0 2563 18553 13429 2017-04-28T17:24:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18553 wikitext text/x-wiki {{-en-}} === Magac === '''censorship''' # [[Faafreeb]] tqo1qslskkjalzko5oifdg5nhqlzlsw sensuuri 0 2564 19274 17300 2017-04-28T17:29:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19274 wikitext text/x-wiki {{-fi-}} === Magac === '''sensuuri''' # [[Faafreeb]] bahd4fcctnjakwu3a1edk0k4ebt31yc pääoma 0 2565 20234 19172 2019-08-13T16:35:41Z 91.156.24.40 20234 wikitext text/x-wiki {{-fi-}} ===Magac=== '''pääoma''' # [[raasumaal]] d2sys3orm5iq84m2cbmpcjsj4s8l3u6 User:Thehelpfulone/common.js 2 2567 7953 7342 2012-04-08T19:18:37Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Thehelpfulone]]) 7953 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Thehelpfulone/global.js&action=raw&ctype=text/javascript'); 90o0j49y1bc5ojh2qz4bpul8v2bl78l User:Vigorous action 2 2571 7351 2011-05-27T06:30:28Z Vigorous action 260 Bog cusub: [[meta:vigorous action|Vigorous action]]/[[w:ja:user:vigorous_action|home]] [[sulutil:vigorous_action|SUL]] 7351 wikitext text/x-wiki [[meta:vigorous action|Vigorous action]]/[[w:ja:user:vigorous_action|home]] [[sulutil:vigorous_action|SUL]] bgohorl3vjc8covbynk3pfb6tpd7olu User:Christine (WMF) 2 2572 7352 2011-05-27T18:48:14Z Jalexander-WMF 416 creating and updating global user pages for WMF Staff member upon request ([[m:User:Jalexander|Questions?]]) 7352 wikitext text/x-wiki <div style="text-align:center;">''Never doubt that a small group of thoughtful, committed citizens can change the world.'' ''Indeed, it is the only thing that ever has.'' ''-- [[w:en:Margaret Mead|Margaret Mead]]''</div> ==Who I Am== I work in Reader Relations for the Wikimedia Foundation. I have a background in online community management, and am currently a Master's candidate at [[w:en:San Jose State University|San Jose State University]] in [[w:en:Applied anthropology|Applied anthropology]]. My thesis topic revolves around stakeholder relations in Web 2.0, using [[w:en:LiveJournal|LiveJournal]] as my fieldsite. I am analyzing how communications occur, how they break down, and where the failures in communication occur. I hope to use this information to be able to assist organizations with interfacing better with their online communities; not seeing them as simple consumers to be sold a product to, but instead as partners and true stakeholders in their operations. My volunteer account is [[w:en:User:Kethryvis|Kethryvis]], which I use sporadically usually on small edits on interesting subjects that generally have nothing to do with my scholarly interests. It's what keeps me sane. I also have an alternate account, [[w:en:User:Kheff|Kheff]] in order to see what the registration process is like for new editors. This account will make few, if any, edits and will be abandoned once this research is complete. If you'd like to find me on IRC, I hang out under the nick ChristineM. Very original, I know. You can email me with any questions or comments to readers[[File:At sign.svg|15px|&#xFE6B;|link=]]wikimedia.org ==What I'm Thinking About== I'm thinking about how to make the new editor process easier. I'm fairly new at editing myself, and it's rather daunting. There's an awful lot to wade through. There's gotta be an easier way! (one of my mantras) I'm thinking about the line between WMF staff and Wiki-volunteers. Where they cross, where they clash, where they come together. Hey wait, that sounds familiar. I'm thinking about all the on-Wiki and off-Wiki reading I need to do to get up to speed! [[Category:Wikimedia Foundation staff]] 31qadww7yza09dy2xxjlf6ru4wdxmvb User:Beria 2 2574 7926 7366 2012-03-21T19:24:33Z Hoo User Page Bot 603 Creating global user page, per request 7926 wikitext text/x-wiki <!--- Page title ---> <div style="position:absolute; z-index:100; right:45px; top:10px;" class="metadata"><small>''[[:pt:s:A minha pátria é a língua portuguesa|'''A minha pátria é a língua portuguesa!''']]''</small></div><div style="position:absolute; z-index:100; right:10px; top:10px;" class="metadata">[[File:Flags of Brazil and Portugal.svg|30px|link=:pt:CLPC]]</div></div> <!--- Page style background ---> {| style="width: 100%; background-color: #e2e7f7; border: 2px solid #4888aa; -moz-border-radius:15px; vertical-align: top;" | colspan="2" style="cellpadding=8; cellspacing=8" | <!-- Qoute section --> |- | style="background-color: #EFF8FF; border: 1px solid #8888aa; -moz-border-radius:15px; border-right-width:4px; border-bottom-width:4px; vertical-align: top;" colspan="2"| {| style="margin:auto; border-collapse:collapse; border-style:none; background-color:transparent; width:100% ; {{#if: | border: 1px solid #AAAAAA;}}" class="cquote" | width="20" valign="top" style="color:#B2B7F2;font-size:35px;font-family:'Times New Roman',serif;font-weight:bold;text-align:left;padding:10px 10px;" | “ | valign="top" style="padding:4px 10px;" | <div style="font-family:'Palatino Linotype'; font-style: italic; font-size:16px">No man is an island entire of itself; every man is a piece of the continent, a part of the main; if a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as any manner of thy friends or of thine own were; any man's death diminishes me, because I am involved in mankind. And therefore never send to know for whom the bell tolls; it tolls for thee. | width="20" valign="bottom" style="color:#B2B7F2;font-size:36px;font-family:'Times New Roman',serif;font-weight:bold;text-align:right;padding:10px 10px;" | ” |- | colspan="3" style="padding-right: 4%" | <p style="font-size:smaller;text-align: right"><cite style="font-style:normal;">—[[:en:John Donne|John Donne]] in [[:s:Meditation_VII|''Meditation VII'']].</cite></p> |} <!-- Description section --> |- | style="width: 78%; background-color: #EFF8FF; border: 1px solid #8888aa; -moz-border-radius:15px; -moz-border-radius:15px; border-right-width:4px; border-bottom-width:4px; vertical-align: top;" rowspan="2"| <div style= text-align: justify;"> '''Name:''' <font color="#6495ED" size="5" face="Edwardian Script ITC" > Béria Lima </font> (Nickname: <font size="5" face="Edwardian Script ITC">Beh</font>) '''In Wikimedia Projects since:''' ''5 October, 2007'' (''{{#if:|{{ontem hoje amanhã|{{#expr: + {{#expr: <!--Days from all years past:--> + (({{CURRENTYEAR}} - 1) * 365) + ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 4)) / 4) <!--add a day for every leap--> - ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 100)) / 100) <!--subtract 100 year exception--> + ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 400)) / 400) <!--readd 400 year exception--> <!--Days so far this year:--> + {{ #ifexpr: <!--add days for past months this year--> <!--Gives 1 or 2 extra days because of February--> ({{CURRENTMONTH}} - 1) < 8 | ( ({{CURRENTMONTH}} - 1) * 30.5 round 0) | ( ({{CURRENTMONTH}} - 1) * 30.5 + 0.9 round 0 ) }} - {{ #ifexpr: ({{CURRENTMONTH}} <= 2) | 0 | {{ #ifexpr: <!-- if leap year --> ({{CURRENTYEAR}} / 4) = ({{CURRENTYEAR}} / 4 round 0) <!--If divisible by 4--> and ({{CURRENTYEAR}} / 100 != {{CURRENTYEAR}} / 100 round 0) <!--and not by 100--> | 1 | 2 }} }} + {{ #ifexpr: ({{CURRENTMONTH}} <= 2) | 0 | {{ #ifexpr: <!--400 year exception--> ({{CURRENTYEAR}} / 400) = ({{CURRENTYEAR}} / 400 round 0) | 1 | 0 }} }} + {{CURRENTDAY}} }}{{#ifexpr: {{CURRENTYEAR}} < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }} - {{#expr: <!--Days from all years past:--> + ((2007 - 1) * 365) + (((2007 - 1) - ((2007 - 1) mod 4)) / 4) <!--add a day for every leap--> - (((2007 - 1) - ((2007 - 1) mod 100)) / 100) <!--subtract 100 year exception--> + (((2007 - 1) - ((2007 - 1) mod 400)) / 400) <!--readd 400 year exception--> <!--Days so far this year:--> + {{ #ifexpr: <!--add days for past months this year--> <!--Gives 1 or 2 extra days because of February--> (10 - 1) < 8 | ( (10 - 1) * 30.5 round 0) | ( (10 - 1) * 30.5 + 0.9 round 0 ) }} - {{ #ifexpr: (10 <= 2) | 0 | {{ #ifexpr: <!-- if leap year --> (2007 / 4) = (2007 / 4 round 0) <!--If divisible by 4--> and (2007 / 100 != 2007 / 100 round 0) <!--and not by 100--> | 1 | 2 }} }} + {{ #ifexpr: (10 <= 2) | 0 | {{ #ifexpr: <!--400 year exception--> (2007 / 400) = (2007 / 400 round 0) | 1 | 0 }} }} + 8 }}{{#ifexpr: 2007 < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }} }} }}|{{#expr:+ {{#expr: <!--Days from all years past:--> + (({{CURRENTYEAR}} - 1) * 365) + ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 4)) / 4) <!--add a day for every leap--> - ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 100)) / 100) <!--subtract 100 year exception--> + ((({{CURRENTYEAR}} - 1) - (({{CURRENTYEAR}} - 1) mod 400)) / 400) <!--readd 400 year exception--> <!--Days so far this year:--> + {{ #ifexpr: <!--add days for past months this year--> <!--Gives 1 or 2 extra days because of February--> ({{CURRENTMONTH}} - 1) < 8 | ( ({{CURRENTMONTH}} - 1) * 30.5 round 0) | ( ({{CURRENTMONTH}} - 1) * 30.5 + 0.9 round 0 ) }} - {{ #ifexpr: ({{CURRENTMONTH}} <= 2) | 0 | {{ #ifexpr: <!-- if leap year --> ({{CURRENTYEAR}} / 4) = ({{CURRENTYEAR}} / 4 round 0) <!--If divisible by 4--> and ({{CURRENTYEAR}} / 100 != {{CURRENTYEAR}} / 100 round 0) <!--and not by 100--> | 1 | 2 }} }} + {{ #ifexpr: ({{CURRENTMONTH}} <= 2) | 0 | {{ #ifexpr: <!--400 year exception--> ({{CURRENTYEAR}} / 400) = ({{CURRENTYEAR}} / 400 round 0) | 1 | 0 }} }} + {{CURRENTDAY}} }}{{#ifexpr: {{CURRENTYEAR}} < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }} - {{#expr: <!--Days from all years past:--> + ((2007 - 1) * 365) + (((2007 - 1) - ((2007 - 1) mod 4)) / 4) <!--add a day for every leap--> - (((2007 - 1) - ((2007 - 1) mod 100)) / 100) <!--subtract 100 year exception--> + (((2007 - 1) - ((2007 - 1) mod 400)) / 400) <!--readd 400 year exception--> <!--Days so far this year:--> + {{ #ifexpr: <!--add days for past months this year--> <!--Gives 1 or 2 extra days because of February--> (10 - 1) < 8 | ( (10 - 1) * 30.5 round 0) | ( (10 - 1) * 30.5 + 0.9 round 0 ) }} - {{ #ifexpr: (10 <= 2) | 0 | {{ #ifexpr: <!-- if leap year --> (2007 / 4) = (2007 / 4 round 0) <!--If divisible by 4--> and (2007 / 100 != 2007 / 100 round 0) <!--and not by 100--> | 1 | 2 }} }} + {{ #ifexpr: (10 <= 2) | 0 | {{ #ifexpr: <!--400 year exception--> (2007 / 400) = (2007 / 400 round 0) | 1 | 0 }} }} + 5 }}{{#ifexpr: 2007 < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }} }} }}'' days) __NOTOC__ == My home(s) == [[File:Ponte D. Luís, Sé e Jardim do Morro vistos de Gaia.JPG|center|thumb|450px|[[:pt:Sé do Porto|Porto Cathedral]], [[:pt:Ponte Dom Luís I|Dom Luis I bridge]] and [[:pt:Serra do Pilar|Serra do Pilar Monastery]], 3 postcards of [[:en:Oporto|my town]].]] [[File:Recife 2005 JAN 25 AncientAndModernCenter.jpg|center|thumb|450px|The new and the [[:en:Recife Antigo|old Recife]].]] == Quotes == {| style="margin:auto; border-collapse:collapse; border-style:none; background-color:transparent; width:{{#if: | 100% | auto}}; {{#if: | border: 1px solid #AAAAAA;}}" class="cquote" | width="20" valign="top" style="color:#B2B7F2;font-size:35px;font-family:'Times New Roman',serif;font-weight:bold;text-align:left;padding:10px 10px;" | “ | valign="top" style="padding:4px 10px;" | <div style="font-family:'Palatino Linotype'; font-style: italic; font-size:16px">La pensée est le labeur de l’intelligence, la rêverie en est la volupté. | width="20" valign="bottom" style="color:#B2B7F2;font-size:36px;font-family:'Times New Roman',serif;font-weight:bold;text-align:right;padding:10px 10px;" | ” |- | colspan="3" style="padding-right: 4%" |<p style="font-size:smaller;text-align: right"><cite style="font-style:normal;">—[[:fr:Victor Hugo|Victor Hugo]] in [[:fr:Les Miserables|''Les Miserables'']].</cite></p> |} {| style="margin:auto; border-collapse:collapse; border-style:none; background-color:transparent; width:{{#if: | 100% | auto}}; {{#if: | border: 1px solid #AAAAAA;}}" class="cquote" | width="20" valign="top" style="color:#B2B7F2;font-size:35px;font-family:'Times New Roman',serif;font-weight:bold;text-align:left;padding:10px 10px;" | “ | valign="top" style="padding:4px 10px;" | <div style="font-family:'Palatino Linotype'; font-style: italic; font-size:16px">There is in fact a heroism of virtue in the pride of this woman, who resists every seduction, the impulses of his own passion as well as the rapture of the senses</div> | width="20" valign="bottom" style="color:#B2B7F2;font-size:36px;font-family:'Times New Roman',serif;font-weight:bold;text-align:right;padding:10px 10px;" | ” |- |colspan="3" style="padding-right: 4%" | <p style="font-size:smaller;text-align: right"><cite style="font-style:normal;">—[[:w:José de Alencar|José de Alencar]], in [[:s:pt:Senhora|''Senhora'']].</cite></p> |} {| style="margin:auto; border-collapse:collapse; border-style:none; background-color:transparent; width:{{#if: | 100% | auto}}; {{#if: | border: 1px solid #AAAAAA;}}" class="cquote" | width="20" valign="top" style="color:#B2B7F2;font-size:35px;font-family:'Times New Roman',serif;font-weight:bold;text-align:left;padding:10px 10px;" | “ | valign="top" style="padding:4px 10px;" | <div style="font-family:'Palatino Linotype'; font-style: italic; font-size:16px">Der Irrtum ist viel leichter zu erkennen, als die Wahrheit zu finden; jener liegt auf der Oberfläche, damit läßt sich wohl fertig werden; diese ruht in der Tiefe, danach zu forschen ist nicht jedermanns Sache. | width="20" valign="bottom" style="color:#B2B7F2;font-size:36px;font-family:'Times New Roman',serif;font-weight:bold;text-align:right;padding:10px 10px;" | ” |- | colspan="3" style="padding-right: 4%" |<p style="font-size:smaller;text-align: right"><cite style="font-style:normal;">—[[:de:Johann Wolfgang von Goethe|Johann Wolfgang von Goethe]] in [[:de:Maximen und Reflexionen|''Maximen und Reflexionen'']].</cite></p> |} == Other accounts == * [[:pt:User:Lucia Bot|Lucia Bot]] * [[User:Ripchip Bot|Ripchip Bot]] == [[:commons:Category:Images sent by Béria Lima|My pictures]] == <div style="width: 100%; -moz-column-count: 2;"> ; Pictures taken by me * [[:commons:Category:Files from Brazil by Béria Lima|Files from Brazil]] * [[:commons:Category:Files from Portugal by Béria Lima|Files from Portugal]] :* [[:commons:Category:Files from Aveiro by Béria Lima|Files from Aveiro]] :* [[:commons:Category:Files from Braga by Béria Lima|Files from Braga]] :* [[:commons:Category:Files from Lisboa by Béria Lima|Files from Lisbon]] :* [[:commons:Category:Files from Porto by Béria Lima|Files from Oporto]] :* [[:commons:Category:Files from Sintra by Béria Lima|Files from Sintra ]] * [[:commons:Category:Files from Spain by Béria Lima|Files from Spain]] ; Files uploaded by me * [[:commons:Category:Files from Flickr uploaded by Béria Lima|Files from Flickr]] :* [[:commons:Category:Files of Lisboa uploaded by Béria Lima|Files of Lisbon from Flickr]] :* [[:commons:Category:Files of Porto uploaded by Béria Lima|Files of Oporto from Flickr]] * [[:commons:Category:Files from Wikimedia projects uploaded by Béria Lima|Files from Wikimedia projects]] ; Pictures of me * [[:commons:Category:Béria Lima|Béria Lima]] (the category) </div> == Other Wikimedia projects == <!--- Projetos Correlatos! rsrs -----------> <div style="clear:both;"></div> <center> {| class="toccolours" | style="background:#d3d3d3;color:#a52a2a text-align:center;width:100%;" colspan="14" | <big style="font-size:110%;"><center>'''My [[:en:WP:UP|User pages]] in other wiki projects'''</center></big> |- | valign="middle" bgcolor="ffffff" | <center>[[image:Wikipedia-logo-pt.png|60px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Wikipedia-logo-en.png|60px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Commons-logo.svg|50px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Wikiquote-logo.png|50px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Wikinews-logo.svg|50px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Wikisource-logo.svg|50px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[image:Wikibooks-logo.png|60px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[Image:Wiktionary-logo-pt.png|60px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[Image:Wikiversity-logo.svg|60px]]</center> | valign="middle" bgcolor="ffffff" | <center>[[Image:Test wiki logo.png|60px]]</center> |- <!-- Páginas de Usuário --> | valign="middle" bgcolor="d3d3d3" | <center>'''[[:w:pt:User:Beria|((pt)) Wikipedia]]''' | valign="middle" bgcolor="d3d3d3" | <center>[[:en:User:Beria|((en)) Wikipedia]] | valign="middle" bgcolor="d3d3d3" | <center>[[commons:User:Beria|Commons]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:q:Usuário:Beria|Wikiquote]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:n:Usuário:Beria|Wikinews]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:s:Usuário:Beria|Wikisource]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:b:Usuário:Beria|Wikibooks]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:wikt:Usuário:Beria|Wikcionário]] | valign="middle" bgcolor="d3d3d3" | <center>[[:pt:v:Usuário:Beria|Wikiversidade]] | valign="middle" bgcolor="d3d3d3" | <center><span class="plainlinks">[http://test.wikipedia.org/wiki/User:Beria Test Wiki] |- |} <!--- Fim dos Projetos Correlatos! rsrs -----------> <br style="clear:both" /> </div><!-- END OF MAIN BOX START OF TOP RIGHT-FLOAT BOX (portrait)--> <!-- Image section --> | style="width: 20%; background-color: #EFF8FF; border: 1px solid #8888aa; -moz-border-radius:15px; border-right-width:4px; border-bottom-width:4px; vertical-align: top;" rowspan="1"| [[Image:Spleen et ideal.jpg|220px|center|thumb|'''Spleen et Ideal'''<br /><p style="font-size:smaller;text-align: right">by Carlos Schwabe</p>]] <!-- Userboxes section --> |- | style="width: 20%; background-color: #EFF8FF; border: 1px solid #8888aa; -moz-border-radius:15px; border-right-width:4px; border-bottom-width:4px; vertical-align: top; text-align: center; height: 10px;" rowspan="2"| {| [[Image:Crystal Clear app package.png|35px]] <big>'''Userboxes'''</big> <!--- Babel --> {{#babel:pt-N|en-3|es-2|ca-2|gl-2|mwl-2|fr-1|it-1|an-1|oc-1}} <!-- Other userboxes --> <!-- Meta Adm box --> <div style="float:center; border:1px solid #999; margin:1px; width:238px"> {| cellspacing="0" style="width:238px; background:#EEE;" | style="width:45px; height:45px; background:#DDD; text-align:center; font-size:14pt; color:black;" | '''[[File:Wikimedia Community Logo.svg|40 px]]''' | style="font-size:8pt; padding:4pt; line-height:1.25em; color:#000;" | This user is an [[Meta:Administrators|administrator]] on Meta-Wiki. <small>(<span class="plainlinks">[{{fullurl:Special:Listusers|limit=1&username={{PAGENAMEE}} verify}}]</span>)</small> |}</div> <!-- Commons Adm box --> <div style="float:center; border:1px solid #999; margin:1px; width:238px"> {| cellspacing="0" style="width:238px; background:#EEE;" | style="width:45px; height:45px; background:#DDD; text-align:center; font-size:14pt; color:black;" | '''[[File:Commons-logo.svg|40 px]]''' | style="font-size:8pt; padding:4pt; line-height:1.25em; color:#000;" | This user is an [[:commons:Commons:Administrators|administrator]] on Commons. <small>(<span class="plainlinks">[{{fullurl:commons:Special:Listusers|limit=1&username={{PAGENAMEE}} verify}}]</span>)</small> |}</div> <!-- Strategy Adm box --> <div style="float:center; border:1px solid #999; margin:1px; width:238px"> {| cellspacing="0" style="width:238px; background:#EEE;" | style="width:45px; height:45px; background:#DDD; text-align:center; font-size:14pt; color:black;" | '''[[File:Wikimedia Community Logo.svg|40 px]]''' | style="font-size:8pt; padding:4pt; line-height:1.25em; color:#000;" | This user is an [[:strategy:Commons:Administrators|administrator]] on Strategy-Wiki. <small>(<span class="plainlinks">[{{fullurl:strategy:Special:Listusers|limit=1&username={{PAGENAMEE}} verify}}]</span>)</small> |}</div> <!-- Wikimedia Portugal --> <div class="TemplateBUser" style="float:center; margin:1px; width:238px; border:1px solid #006300;"> {| border="0" cellspacing="0" cellpadding="1" style="background-color:#ffffff; color:#000000; width:100%;" |- |class="TemplateBUserLeft" style="width:45px; height:45px; background-color:#FFFFFF; color:#000000; text-align:center; vertical-align:middle;"| [[Image:Wikimedia Portugal logo 135px.png|45px|Wikimedia Portugal logo 135px.png]] |class="TemplateBUserInfo" style="padding:1px 4px; vertical-align:middle;"| <div class="plainlinks TemplateBUserText" style="font-size:0.83em; direction:ltr; line-height:1.25;">Este utilizador é membro da [http://www.wikimedia.pt/ Wikimedia Portugal].</div> |}</div> <!-- Wikimedia Argentina --> <div class="TemplateBUser" style="float:center; margin:1px; width:238px; border:1px solid #006300;"> {| border="0" cellspacing="0" cellpadding="1" style="background-color:#ffffff; color:#000000; width:100%;" |- |class="TemplateBUserLeft" style="width:45px; height:45px; background-color:#FFFFFF; color:#000000; text-align:center; vertical-align:middle;"| [[File:Wikimedia Argentina logo.svg|45px|Wikimedia Argentina logo.svg]] |class="TemplateBUserInfo" style="padding:1px 4px; vertical-align:middle;"| <div class="plainlinks TemplateBUserText" style="font-size:0.83em; direction:ltr; line-height:1.25;">This user is member of [http://www.wikimedia.org.ar/ Wikimedia Argentina].</div> |}</div> <!-- IRC user --> <div style="float: center; width: 238px; border: solid #1E90FF 1px; margin: 1px;"> {| cellspacing="0" style="width: 238px; color:#000000; background: #000000;" | style="width: 45px; height: 45px; background: #77aaff; text-align: center; font-size:14pt; color:#FFCC11" |[[Image:Crystal kdmconfig.png|36px]] | style="font-size: 8pt; padding: 4pt; line-height: 1.25em; background:#bbddff" | This user's [[IRC]] nick is '''Beria''' on the server '''[[:en:Freenode|Freenode]]'''. |}</div><noinclude> <!-- Time zone --> <div style="float:center; border:1px solid #ccc; margin:1px;width:248px " class="wikipediauserbox "> {| cellspacing="0" style="width:238px; background:#fff;" | style="width:45px; height:45px; background:#ccc; text-align:center; font-size:12pt; color:black; padding:0 1px 0 0; line-height:1.25em; vertical-align: middle; " | [[Image:Nuvola apps kworldclock.png|43px|link=:en:Template:User time zone]] | style="text-align:left; font-size:8pt; padding:0 4px 0 4px; height:45px; line-height:1.25em; color:black; vertical-align: middle; " | This user's time zone is '''[[:en:UTC-3|UTC-3]]'''. |}</div> <!-- Brazil <3 Portugal --> <div style="float: center; border:solid #800 1px; margin: 1px;width:248px "> {| cellspacing="0" style="width: 240px; background: #080;" | style="width: 45px; height: 45px; background: #EEE; text-align: center; font-size: 12pt; color: #000;" | '''[[Image:Bandeira pt.gif|40px]]''' | style="font-size: 8pt; padding: 4pt; line-height: 1.25em; color: #fff;" | This brazilian user loves '''[[Portugal|<span style="color:white">Portugal</span>]]'''. | style="width: 45px; height: 45px; background: #EEE; text-align: center; font-size: 12pt; color: #000;" | '''[[Image:Flags of Brazil and Portugal.svg|50px]]''' |}</div><div style="clear:both;"></div> |} |} rgcfkqksbnelpld0ioomnxrohwtv4o2 User:Wikitanvir/common.js 2 2576 7392 7390 2011-06-23T07:33:38Z Wikitanvir 383 fix 7392 javascript text/javascript mw.loader.load('http://meta.wikimedia.org/w/index.php?title=User:Wikitanvir/global.js&action=raw&ctype=text/javascript'); eu57oubmqbain3535mm4utqg91i5df7 User:Wikitanvir/common.css 2 2577 7391 2011-06-23T07:33:08Z Wikitanvir 383 Global CSS 7391 css text/css @import "http://meta.wikimedia.org/w/index.php?title=User:Wikitanvir/global.css&action=raw&ctype=text/css"; rolnl57kedhql98hla27k4s2cfq1tbq User:GlobalEditBot 2 2578 7397 2011-07-01T12:24:58Z GlobalEditBot 564 global userpage like requested [[:m:Syncbot|here]] 7397 wikitext text/x-wiki Hei! I'm GlobalEditBot nice to meet you! I work for [[user:Dirt Diver]] and my task is to create global pages like userpages, talkpages and more. When you want more information or make a request please see my [[:m:User:Dirt Diver|Meta page]]. bahiignmrw6x1lwmy6copcdlv50thql User:Teles 2 2579 7398 2011-07-01T17:13:14Z Wikitanvir 383 Creating userpage per request 7398 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT]]<span class="redirectText" id="softredirect">[[:m:user:Teles]]</span> hdsr4spn4wr4v6n75ioss6u7suyofmz User:Vituzzu 2 2580 7399 2011-07-01T17:48:16Z Wikitanvir 383 Creating userpage per request 7399 wikitext text/x-wiki Please contact me on [[:m:User talk:Vituzzu|meta]] or [[:m:w:it:User talk:Vituzzu|Wikipedia in Italian]], you can also find some information about my activities on Wikipedia [[:m:User:Vituzzu|here]]. n1g86ogj2adv0pec093rdzxsggl3ewg User:Reza1615/common.js 2 2581 7400 2011-07-02T01:47:22Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7400 javascript text/javascript mw.loader.load('http://meta.wikimedia.org/w/index.php?title=User:reza1615/global.js&action=raw&ctype=text/javascript'); 0mj5e981kd714jtusacoh6geqylflkp User:MacMed 2 2582 7401 2011-07-02T04:10:09Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7401 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT]]<span class="redirectText" id="softredirect">[[m:w:en:user:MacMed]]</span> gd65qnfv2c1mq94q8pdga76cpodptu5 User:Bencmq 2 2583 7402 2011-07-02T05:17:01Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7402 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT]]<span class="redirectText" id="softredirect">[[w:m:user:Bencmq]]</span> 5g79f363gzrklr7n8gpjo400x572e8c User:Dawid Deutschland 2 2585 7404 2011-07-02T16:23:49Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7404 wikitext text/x-wiki * [[m:user:Dawid Deutschland|Meta]]. * [[m:ka:user:Dawid Deutschland|Georgische Wikipedia]]. * [[m:wikt:ka:user:Dawid Deutschland|Georgisches Wikiwörterbuch]]. * [[m:de:user:Dawid Deutschland|Deutsche Wikipedia]]. qkycphuqt8rmi17hd1j5tg82xcgs94j User talk:Crochet.david.bot 3 2588 7407 2011-07-02T18:52:48Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7407 wikitext text/x-wiki #REDIRECT [[User_talk:Crochet.david]] 4uf0ke0pmd9gfruwsaibs9cnstjak1b User:Royce 2 2593 7435 2011-08-20T00:25:05Z Royce 578 Bog cusub: Hello! Welcome to my basic user page. ~~~~ * My unified username is [http://toolserver.org/~vvv/sulutil.php?&user=Royce Royce] ([http://toolserver.org/~vvv/sulutil.php?rights=1&user=Ro... 7435 wikitext text/x-wiki Hello! Welcome to my basic user page. [[User:Royce|Royce]] 00:25, 20 Agoosto 2011 (UTC) * My unified username is [http://toolserver.org/~vvv/sulutil.php?&user=Royce Royce] ([http://toolserver.org/~vvv/sulutil.php?rights=1&user=Royce rights]). * For more about me, see [http://en.wikipedia.org/wiki/User:Royce my English Wikipedia page]. qr10g3nbddtkxn6m61yllicz4tndn79 User:Trijnstel 2 2594 7436 2011-08-20T16:14:22Z Trijnstel 531 new 7436 wikitext text/x-wiki __NOINDEX__ * My user page on Meta is [[:m:User:Trijnstel|here]]. 5zeuwyxzz8eh25xdsqu38xve977tgtz User:Waihorace 2 2595 12067 7437 2015-01-25T19:18:24Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Waihorace]]) 12067 wikitext text/x-wiki {{#babel:en-3|yue-N|zh-hant-N}} Hi! I am '''Waihorace''' and I am a member of the [[:m:SWMT|Small Wiki Monitoring Team]]. If you would like to contact me, it is recommended that you leave your message on my talk page on ''[[m:User talk:Waihorace|Meta-Wiki]]''. 2i1tajk7qqojtvn0r2vbyf7mzj9xgco User:Cekli829 2 2596 9045 7438 2014-01-03T19:29:23Z Cekli829 467 9045 wikitext text/x-wiki {{DISPLAYTITLE:<span style="font-family: 'Raceway'"><span style="display:none;">User:</span>Cekli</font><font color="blue">8</font><font color="red">2</font><font color="green">9</font></span>}} {| cellpadding="10" cellspacing="8" style="width: 100%; background-color: black; border: 5px solid gray; vertical-align: top; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" | colspan="2" style="padding: 0;" | <FONT color=#ffeecc>Təkliflərinizi <B>cekli829@gmail.com</B> ünvanına göndərə bilərsiniz.</FONT> :<FONT color=#ffeecc>Digər əlaqə vasitələri:</FONT> :'''[https://www.facebook.com/tarkhan.pashazade Facebook (profile)]''' :'''[https://www.facebook.com/pages/T%C9%99rxan-Pa%C5%9Fazad%C9%99/529113383837101?ref=hl Facebook (page)]''' :'''[https://twitter.com/Cekli829 Twitter]''' :'''[http://www.youtube.com/user/Cekli829/videos YouTube]''' [[az:İstifadəçi:Cekli829]] mkbif9vqlux1n86yhyjayiv2ut8ui2l User:White Cat 2 2598 7442 2011-08-30T12:29:04Z Jafeluv 357 [[User:White Cat]] waxaa loo wareejiyey [[User:とある白い猫]]: Automatically moved page while renaming the user "[[User:White Cat|White Cat]]" to "[[User:とある白い猫|とある白い猫]]" 7442 wikitext text/x-wiki #REDIRECT [[User:とある白い猫]] gvgzpbskcyibnepf8ssxhn093rz47gz User talk:White Cat 3 2599 7444 2011-08-30T12:29:04Z Jafeluv 357 [[User talk:White Cat]] waxaa loo wareejiyey [[User talk:とある白い猫]]: Automatically moved page while renaming the user "[[User:White Cat|White Cat]]" to "[[User:とある白い猫|とある白い猫]]" 7444 wikitext text/x-wiki #REDIRECT [[User talk:とある白い猫]] kkrg56volz0eoyi7rc9seh78x9sdbsx User:Xic667 2 2601 7452 2011-09-11T18:21:15Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7452 wikitext text/x-wiki [[m:fr:Utilisateur:Xic667]] 5a9qnutktwxy977i7k8rkds1l0ymt05 User:Toto Azéro 2 2602 7453 2011-09-11T19:17:16Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7453 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT]]<span class="redirectText" id="softredirect">[[:meta:user:Toto Azéro]]</span> fiq0h8khtrt3woby2idcyjalpmmjod3 User:KuduIO/common.js 2 2603 7454 2011-09-11T20:32:28Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7454 javascript text/javascript mw.loader.load('http://meta.wikimedia.org/w/index.php?title=User:KuduIO/global.js&action=raw&ctype=text/javascript'); 8i4cm8eeykhurss7kuhrpirf4cuh5z9 fare 0 2607 18743 17677 2017-04-28T17:25:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18743 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dooli]], [[jiir]] [[Category:Turki ereyada]] n50t9ysmui0ox2a42jczz6ma0nyc1pa gece 0 2608 18792 17000 2017-04-28T17:26:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18792 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[habeen]] [[Category:Turki ereyada]] ipffe5y7xida9asmxfwcx0z7mr7vyix kız 0 2609 18958 12980 2017-04-28T17:27:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18958 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[gabar]] [[Category:Turki ereyada]] ftg9eap2ezyxwctwhmo5dk3gr5tytj5 biber 0 2610 18490 17804 2017-04-28T17:24:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18490 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[filfil]] [[Category:Turki ereyada]] 5rll2147wy76048fu2dmo0r3ootl2ad çatal 0 2611 19514 17105 2017-04-28T17:31:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19514 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[fargeeto]] [[Category:Turki ereyada]] npiecfnvccwo35ugraye83y6xoffk2a köpek 0 2612 18954 12981 2017-04-28T17:27:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18954 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[eey]] [[Category:Turki ereyada]] 0tzsxizqjbjfx6ao68euhi31nqjk20l okul 0 2613 19100 11531 2017-04-28T17:28:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19100 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dugsi]] [[Category:Turki ereyada]] 0k0rdst4flbs39ojqw2kh2upnrpp6sw din 0 2614 20231 18638 2019-07-27T05:37:57Z 91.156.24.40 20231 wikitext text/x-wiki ==Turki== ===Magac=== '''din''' # [[diiq]] [[Category:Turki ereyada]] fdqjqecxfvw4g1yoaqr77khhtyhll7b kulak 0 2615 18949 17305 2017-04-28T17:27:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18949 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dheg]] [[Category:Turki ereyada]] fedmd5w0nsfanbg9cr7lc7sn12v3w9r küpe 0 2616 18956 18185 2017-04-28T17:27:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18956 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dhegodhego]] [[Category:Turki ereyada]] 1504ep5k3k4mrrh79ahli9aj93gttcp pijama 0 2617 19145 17065 2017-04-28T17:28:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19145 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dharka-hurdada]] [[Category:Turki ereyada]] t5g86qfic7ia11timyxjvi8svxzztej şişe 0 2618 19532 16725 2017-04-28T17:31:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19532 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dhallo]] [[Category:Turki ereyada]] bzm9ht8iwd8d9eqdq18rzgnu2oukhwe eşek 0 2619 18720 13312 2017-04-28T17:25:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18720 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dameer]] [[Category:Turki ereyada]] ajjybims7bn1ettmbyfyl2uv5pvvst6 adres 0 2620 18384 17874 2017-04-28T17:23:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18384 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[cinwaan]] [[Category:Turki ereyada]] 7gwcptxgvps1r3to7tvx0j97gpcyfqc ananas 0 2621 18422 17953 2017-04-28T17:23:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18422 wikitext text/x-wiki == Turkiyad == === Magac === '''{{PAGENAME}}''' # [[cananaas]] [[Category:Turki ereyada]] itvfy1l7czkzjt76slk2xu6x70h1iu6 ayak 0 2622 18459 13660 2017-04-28T17:23:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18459 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[cag]] [[Category:Turki ereyada]] pzrt5ugn01vwr5fdjf5j1fdz5gliy7f diş fırçası 0 2623 18650 15635 2017-04-28T17:25:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18650 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[buraashka-ilkaha]] [[Category:Turki ereyada]] ldv6hakuosws2053eq4n29qun756xcx bahçe 0 2624 18470 14553 2017-04-28T17:23:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18470 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[beer]] [[Category:Turki ereyada]] 586wowhimfon027pbgamwzm2ehgzer1 soğan 0 2625 19322 18157 2017-04-28T17:29:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19322 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[basal]] [[Category:Turki ereyada]] pf3k7jk12n73nrir8ue8k5y7zjng230 küvet 0 2626 18957 13677 2017-04-28T17:27:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18957 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[baafka-caruurta]] [[Category:Turki ereyada]] 6ejk7ylpxbvmej4rp51uy2e6ykpp97t plastik 0 2627 19149 17396 2017-04-28T17:28:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19149 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[bac]] [[Category:Turki ereyada]] ah5g9m6ppxrws8f2tldg2ac8gd6w6ve pazar 0 2628 19133 17749 2017-04-28T17:28:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19133 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[axad]] [[Category:Turki ereyada]] aazay6mr6247w3z6d1mngr8qclqf2ni büyükanne 0 2629 18531 18214 2017-04-28T17:24:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18531 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[ayeeyo]] ==== Ereyo la'xiraara ==== * [[anneanne]] * [[babaanne]] [[Category:Turki ereyada]] r5flvpiwlt2poayaklkaufejf80ssvf büyükbaba 0 2630 18532 17270 2017-04-28T17:24:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18532 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[awoowe]] ==== Synonuum ==== * [[dede]] [[Category:Turki ereyada]] fphgrnp8qlg47y2bo7m6941zdp7ngnm dede 0 2631 18604 18218 2017-04-28T17:24:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18604 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[awoowe]] ==== Synonuum ==== * [[büyükbaba]] [[Category:Turki ereyada]] sjtg8lfn6gnroi0ywf03jp2iry5y9w4 öğrenci 0 2632 19518 15591 2017-04-28T17:31:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19518 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[arday]] [[Category:Turki ereyada]] 68f82ya6yu6qawkkjen0eagr4form8v çarşamba 0 2633 19513 10850 2017-04-28T17:31:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19513 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[arbaco]] [[Category:Turki ereyada]] 6gmcogwlke0zlpgxym1yp68242hufbp ağız 0 2634 18463 11229 2017-04-28T17:23:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18463 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[af]] [[Category:Turki ereyada]] imasmapp6wqa04fby55da82hsjftjll amca 0 2635 18417 12685 2017-04-28T17:23:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18417 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[adeer]] [[Category:Turki ereyada]] q7xldht8w9wzewa4xcamz57qiakqbs6 baba 0 2636 18467 18207 2017-04-28T17:23:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18467 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[aabbe]] [[Category:Turki ereyada]] 0fge4mk2eaamp27bkyl0xu7i5btznqy gergedan 0 2637 18796 11288 2017-04-28T17:26:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18796 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[wiyil]] [[Category:Turki ereyada]] 88lir5nthv7tc9cgchp8wobutsxjd0b yüz 0 2638 19493 10708 2017-04-28T17:31:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19493 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waji]] # 100 ==== Synonuum ==== * [[surat]] (1) [[Category:Turki ereyada]] p10fel3spflsgdyywta9vmn5yzuiso4 surat 0 2639 19336 17079 2017-04-28T17:30:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19336 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waji]] ==== Synonuum ==== * [[yüz]] [[Category:Turki ereyada]] a2bll4b6kxtx9p6nf360sfo0fjab6sg zaman 0 2640 19494 13765 2017-04-28T17:31:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19494 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waqti]] ==== Synonuum ==== * [[vakit]] [[Category:Turki ereyada]] 7ay9kbooyr81cse32e1ldqommcb6kv2 vakit 0 2641 19439 16709 2017-04-28T17:30:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19439 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waqti]] ==== Synonuum ==== * [[zaman]] [[Category:Turki ereyada]] h90kwwjxrx0nhcbf9rlt2bl1a3un1g5 vatan 0 2642 19442 13698 2017-04-28T17:30:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19442 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waddanka hooyo]] [[Category:Turki ereyada]] 0c33ck81ln8gtjm4gp2s8onxvxbekxn doğum günü 0 2643 18666 18038 2017-04-28T17:25:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18666 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[waqtiga dhalashada]] [[Category:Turki ereyada]] pxdcqekrzhxh6ap9pza1kfith3xicc3 tuvalet kağıdı 0 2644 19419 16698 2017-04-28T17:30:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19419 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[warqad musqusha]] [[Category:Turki ereyada]] bmw31o9z3cewic9q12vyc6qu80th0re helva 0 2645 18834 13670 2017-04-28T17:26:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18834 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[xalwo]] [[Category:Turki ereyada]] hq2rpz6sl70e2v32hdh74bl196cyw8x süpürge 0 2646 19353 13692 2017-04-28T17:30:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19353 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[xaaqin]] [[Category:Turki ereyada]] rg77097os09im90oitg6eulid2qhgrt sonbahar 0 2647 19317 17126 2017-04-28T17:29:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19317 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[dayr]] [[Category:Turki ereyada]] 18zuq4nag0gb46p9ztato6sourqgv2l kirpi 0 2648 18934 17726 2017-04-28T17:27:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18934 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[xiddigdhul]] [[Category:Turki ereyada]] 7o40jewhxa8431qpgosirf4jdts0y9s meslek 0 2649 19030 17057 2017-04-28T17:27:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19030 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[xirfad]] ==== Synonuum ==== * [[iş]] [[Category:Turki ereyada]] 4nj8z3e1w3dms31tzw12zm4vjpyb6x8 0 2650 18894 14606 2017-04-28T17:26:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18894 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[xirfad]] ==== Synonuum ==== * [[meslek]] [[Category:Turki ereyada]] a48je8yyu24o4kughuj1ssdlbnby7pp domates 0 2651 18656 11524 2017-04-28T17:25:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18656 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[yaanyo]] [[Category:Turki ereyada]] g8zqafvgk05dd2m0g65jw7ymdp3iimp çiçek 0 2652 19516 13068 2017-04-28T17:31:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19516 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[ubax]] [[Category:Turki ereyada]] 4isixkp26axb17zxqv3ol3q2gjuc7xn parfüm 0 2653 19127 13685 2017-04-28T17:28:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19127 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[uunsi]] [[Category:Turki ereyada]] hkvcq8dwup366vi47qqghn52qtdakx1 havlu 0 2654 18827 13671 2017-04-28T17:26:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18827 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[tuwaal-shukumaan]] [[Category:Turki ereyada]] rnnee8puvivv6spvbj6f9trjh2ejn5y elma 0 2655 18698 12670 2017-04-28T17:25:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18698 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[tufaax]] [[Category:Turki ereyada]] jg83uaxli5qwvfi4kufll7e4yluize6 sarımsak 0 2656 19251 17908 2017-04-28T17:29:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19251 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[toon]] [[Category:Turki ereyada]] 9bzhirfwedx9h40zfimhmm7vssfrr77 hafta 0 2657 18816 15650 2017-04-28T17:26:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18816 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[toddobaad]] [[Category:Turki ereyada]] azekosoc712t2emhhxek7r48mnu3085 hurma 0 2658 18860 14239 2017-04-28T17:26:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18860 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[timir]] [[Category:Turki ereyada]] 9d12xs1lw7gh5jtweja8pm77ba3lx5n bilet 0 2659 18493 16101 2017-04-28T17:24:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18493 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[tikid]] [[Category:Turki ereyada]] 6vqmz9qprr513gd0ritqu2shs9oh575 televizyon 0 2660 19373 13693 2017-04-28T17:30:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19373 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[telefishen]] [[Category:Turki ereyada]] eq12y3saybh4an87f16u38h8bpjwbjg tren 0 2661 19409 18100 2017-04-28T17:30:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19409 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[tareen]] [[Category:Turki ereyada]] 8sp0zxb8djfa2ynllgsj6k33avwrk7v Türkiye 0 2662 18354 15524 2017-04-28T17:22:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18354 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Turki]] (dowlad) [[Category:Turki ereyada]] 2qltijoq6x5lk05f62341jl5uqyq2b1 Yunanistan 0 2663 18366 15373 2017-04-28T17:23:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18366 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Giriig]] [[Category:Turki ereyada]] b516rw3lpmanad5grueilb7fl2x0yt7 Avusturya 0 2664 18270 13157 2017-04-28T17:22:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18270 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Austriya]] [[Category:Turki ereyada]] gy9bed7hukwb1366dn49ztpb4lf83ym Belçika 0 2665 18273 13158 2017-04-28T17:22:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18273 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Beljim]] [[Category:Turki ereyada]] pp7d4y2cezzk9rntdvdvp6k3ier64r5 Polonya 0 2666 18327 15365 2017-04-28T17:22:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18327 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Boland]] [[Category:Turki ereyada]] objdurmhimalxwred6800qofjf02k58 Bosna-Hersek 0 2667 18277 13159 2017-04-28T17:22:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18277 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Bosniya iyo Herzegovina]] ==== Synonuum ==== * [[Bosna Hersek]] [[Category:Turki ereyada]] 4tgmk0cgsya65tbfw6w8i4vps2emvh3 Bosna Hersek 0 2668 18278 8654 2017-04-28T17:22:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18278 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Bosniya iyo Herzegovina]] ==== Synonuum ==== * [[Bosna-Hersek]] [[Category:Turki ereyada]] 1suihveb2ndw0889g3cr4dgaa7jzhmu Bosna 0 2669 18276 13697 2017-04-28T17:22:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18276 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Bosniya]] ==== Ereyo la'xiraara ==== * [[Bosna-Hersek]] [[Category:Turki ereyada]] 6le0vat6f5k520umaw97owkqn727i4i Portekiz 0 2670 18328 15366 2017-04-28T17:22:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18328 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Boortuqaal]] [[Category:Turki ereyada]] b77rwd5eumgvclqr52u4d2wqjoftyxz Estonya 0 2671 18288 8978 2017-04-28T17:22:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18288 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Estoniya]] [[Category:Turki ereyada]] 7cesbxz3yh1p3s66990582e3qnonjse Fransa 0 2672 18293 17564 2017-04-28T17:22:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18293 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Faransiiska]] [[Category:Turki ereyada]] jlyfpt8t2l3brg840jejggkdt38az45 Macaristan 0 2673 18315 13248 2017-04-28T17:22:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18315 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Hungaria]] [[Category:Turki ereyada]] rnfcwuyliliei64sshy6p48pjxwhzbe Slovakya 0 2674 18342 15369 2017-04-28T17:22:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18342 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Islofaakiya]] [[Category:Turki ereyada]] lzsnhspu2cq4b2b51imbts14mrvmfl8 Slovenya 0 2675 18343 15368 2017-04-28T17:22:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18343 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Isloveeniya]] [[Category:Turki ereyada]] ea5mqkmcztz14skb1lqnqehmc69sflw İspanya 0 2676 19525 14698 2017-04-28T17:31:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19525 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Isbania]] [[Category:Turki ereyada]] 277o3cnnlyw9muxfjvk33x678ehd7wh İsveç 0 2677 19526 13283 2017-04-28T17:31:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19526 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Iswiidhan]] [[Category:Turki ereyada]] n4zbt87vovfze54yrb3sd0deb3y1cb4 İsviçre 0 2678 19527 13282 2017-04-28T17:31:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19527 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Iswisarland]] [[Category:Turki ereyada]] 0di2vsfaa1jr1p52ay5qh1fxu7if2uu Almanya 0 2679 18267 15519 2017-04-28T17:22:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18267 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[Jarmalka]] [[Category:Turki ereyada]] ibnm3x17uhs2ac3o94soig8lbw6z6c6 klavye 0 2680 18936 18072 2017-04-28T17:27:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18936 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[alwaaxa-furayaasha]] [[Category:Turki ereyada]] k8x7x83kcqz187e7ptpjhtij4p6ndiz ekran 0 2681 18693 15639 2017-04-28T17:25:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18693 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[shaashad]] ==== Synonuum ==== * [[monitör]] [[Category:Turki ereyada]] 73ld1bqufooz4bmtukfomkarghxex45 monitör 0 2682 19039 13681 2017-04-28T17:27:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19039 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[shaashad]] ==== Synonuum ==== * [[ekran]] [[Category:Turki ereyada]] aw4goy6loyez3eitq8txyvpq8x5qh3s şifre 0 2683 19530 13612 2017-04-28T17:31:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19530 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[ereysir]] ==== Synonuum ==== * [[parola]] [[Category:Turki ereyada]] 098ygqjgom5cwsoxwnnt6j8871qp2ap parola 0 2684 19128 17748 2017-04-28T17:28:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19128 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[ereysir]] ==== Synonuum ==== * [[şifre]] [[Category:Turki ereyada]] 4qn5iaagyer76dk3rz8hkl1y2ko0q65 bilgisayar 0 2685 18494 17552 2017-04-28T17:24:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18494 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[kumbuyuutar]] [[Category:Turki ereyada]] et5lmli10os2zb1b03xgmspdab5dawg temmuz 0 2686 19375 17088 2017-04-28T17:30:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19375 wikitext text/x-wiki == Turki == === Magac === '''{{PAGENAME}}''' # [[luuliyo]] [[Category:Turki ereyada]] 3rqvryrhlobhxtv2mtky2lqdx3j9til User:Hoo User Page Bot 2 2687 7547 2011-10-12T22:07:40Z Hoo User Page Bot 603 Creating global bot page 7547 wikitext text/x-wiki {| class="infobox" style="width: 21em; font-size: 90%; text-align: left; float: right; background-color: rgb(249, 249, 249); border: 1px solid rgb(170, 170, 170);" ! colspan="2" style="text-align: center; font-size: 130%;" | {{BASEPAGENAME}} [[File:Crystal Clear action run.svg|24px|This user is a bot.]] |- | colspan="2" style="text-align: center; font size: 95%;" | ([[{{TALKSPACE}}:{{BASEPAGENAME}}|talk]] · [[Special:Contributions/{{BASEPAGENAME}}|contribs]]) |- | Operator: || [[m:User:Hoo man|Hoo man]] |- | [[Wikipedia:Bots/Requests for approval|Approved]]? || No |- | [[Wikipedia:User_access_levels#Bots|Flagged]]? || No |- | [[Wikipedia:Bot requests|Task/s]]: || [[m:User:Hoo_man/Synchbot|Syncing user and user talk pages across all wikis]] |- | Edit rate: || Max. a few edits per month |- | Edit period/s: || Periodically |- | Automatic or manual? || half-automatic |- | [[w:en:Programming language|Programming language]]/s: || [[w:en:Python|Python]] |- |} This bot syncs user and user talk pages across all wikis, request can be made [[m:User:Hoo_man/Synchbot|here]]. Feel free to complain if it does anything it shouldn't. Every request gets performed and reviewed by [[m:user:Hoo man|Hoo man]]. czscg30nvej6k7apod8zsjv1761ygs5 User:Bennylin 2 2690 7554 2011-10-19T00:30:17Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7554 wikitext text/x-wiki {{#babel:id|en-4}} Hi, I'm Benny and I'm probably doing some edits on this wiki as part of the [[m:countervandalism network|countervandalism network]]. You can view my profile and contact me through one of these wikis that I often visit. <div class="plainlinks"> * [ [[m:User:Bennylin|User]] | [[m:User talk:Bennylin|Talk]] | [[m:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:m:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [[m:Special:Log/Bennylin|Logs]] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=metawiki_p Counts] | [{{fullurl:m:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[m:|Meta]] ] * [ [[m:w:id:User:Bennylin|User]] | [[m:w:id:User talk:Bennylin|Talk]] | [[m:w:id:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:m:w:id:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [{{fullurl:m:w:id:Special:Log|user=Bennylin}} Logs] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=idwiki_p Counts] | [{{fullurl:m:w:id:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[m:w:id:|id Wikipedia]] ] [[File:Gnome-home.svg|x20px]] * [ [[m:wikt:id:User:Bennylin|User]] | [[m:wikt:id:User talk:Bennylin|Talk]] | [[m:wikt:id:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:m:wikt:id:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [{{fullurl:m:wikt:id:Special:Log|user=Bennylin}} Logs] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=idwiktionary_p Counts] | [{{fullurl:m:wikt:id:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[m:wikt:id:|id Wiktionary]] ] * [ [[m:s:id:User:Bennylin|User]] | [[m:s:id:User talk:Bennylin|Talk]] | [[m:s:id:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:m:s:id:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [{{fullurl:m:s:id:Special:Log|user=Bennylin}} Logs] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=idwikisource_p Counts] | [{{fullurl:m:s:id:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[m:s:id:|id Wikisource]] ] * [ [[commons:User:Bennylin|User]] | [[commons:User talk:Bennylin|Talk]] | [[commons:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:commons:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [{{fullurl:commons:Special:Log|user=Bennylin}} Logs] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=commonswiki_p Counts] | [{{fullurl:commons:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[commons:|Commons]] ] * [ [[m:w:en:User:Bennylin|User]] | [[m:w:en:User talk:Bennylin|Talk]] | [[m:w:en:Special:Contributions/Bennylin|Contribs]] | [{{fullurl:m:w:Special:ActiveUsers|limit=1&username=Bennylin}} Activity] | [{{fullurl:m:w:Special:Log|user=Bennylin}} Logs] | [http://toolserver.org/~vvv/yaec.php?user=Bennylin&wiki=enwiki_p Counts] | [{{fullurl:m:w:Special:ListUsers|limit=1&username=Bennylin}} Rights] ] at [ [[m:w:|en Wikipedia]] ] * [[sulutil:Bennylin|Me on all Wikimedia projects]] * [http://toolserver.org/~krinkle/MoreContributions/index.php?username=Bennylin&wikidb=&allwikis=on&submit=Go Recent edits]<!-- neat! --> * [http://toolserver.org/~pathoschild/crossactivity/?user=Bennylin Cross-wiki activities] * [http://toolserver.org/~luxo/contributions/contributions.php?user=Bennylin&lang=en Cross-wiki contributions] * [http://toolserver.org/~erwin85/xcontribs.php?user=Bennylin Cross-wikiness] * This wiki: [[Special:Statistics]], [[Special:NewPages]], [[Special:RecentChanges]] </div> cftwp8yoicb19sxew5c6dzravjkf5xj User:Azariv-WMF 2 2694 12853 7566 2015-04-16T19:22:15Z Jalexander-WMF 416 Jalexander-WMF moved page [[User:Azariv]] to [[User:Azariv-WMF]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Azariv|Azariv]]" to "[[Special:CentralAuth/Azariv-WMF|Azariv-WMF]]" 12853 wikitext text/x-wiki My name is Alex Zariv, I am a [[wmf:Job_openings/Fundraiser_Production_Coordinator|Production Coordinator]] with the [[wmf:Main Page|Wikimedia Foundation]] and am working on this year's [[m:Fundraising 2011|fundraiser]]. This account is used for edits while officially representing the foundation. In my volunteer capacity I can usually be found on [[m:|meta]] where I am an elected administrator. You can reach me either through [[Special:EmailUser/Azariv|e-mail]] or on my Meta-Wiki [[m:User talk:Azariv|talk page]]. On wiki (on all wmf projects) I am [[m:User:Az1568|Az1568]] in my volunteer role and [[m:User:Azariv|Azariv]] in my WMF role. 2krx4dg1poqcfutqrxz7yheu0znw394 User:Gzen92 2 2696 7580 2011-11-09T12:35:11Z Gzen92 616 Bog cusub: [http://fr.wiktionary.org/wiki/Utilisateur:Gzen92 Gzen92 (fr.wiktionary.org)] 7580 wikitext text/x-wiki [http://fr.wiktionary.org/wiki/Utilisateur:Gzen92 Gzen92 (fr.wiktionary.org)] k5gtju3w68dfvagrpy004090uh0wxpe User talk:Gzen92 3 2697 7581 2011-11-09T12:38:29Z Gzen92 616 Bog cusub: [http://fr.wiktionary.org/wiki/Discussion_utilisateur:Gzen92 Gzen92 (fr.wiktionary.org)] 7581 wikitext text/x-wiki [http://fr.wiktionary.org/wiki/Discussion_utilisateur:Gzen92 Gzen92 (fr.wiktionary.org)] r0mlu558y3nzspir8rwgbo9irskv9bh User talk:Caypartis 3 2698 7583 2011-11-11T19:37:17Z Caypartis 600 global talk page 7583 wikitext text/x-wiki {| width="100%" cellspacing="0" cellpadding="0" valign="top" border="0" style="font-size:14px; border:1px solid #C2dfff; -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); background: #E7FFFF; background: -moz-linear-gradient(top, #A7D7F9 0%, #7db9e8 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#E7FFFF), color-stop(100%,#7db9e8)); background: -webkit-linear-gradient(top, #E7FFFF 0%,#7db9e8 100%); background: -o-linear-gradient(top, #E7FFFF 0%,#7db9e8 100%); background: -ms-linear-gradient(top, #E7FFFF 0%,#7db9e8 100%); background: linear-gradient(top, #E7FFFF 0%,#7db9e8 100%); -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; font-family:Calibri, Verdana, sans-serif; padding: 10px;" |class="onglet" style="text-align: center; padding: 0.3em; 0; font-size: 100%; background-color:transparent; -moz-border-radius: 7px 0 0 7px; -webkit-border-radius: 7px 0 0 7px; border-radius: 7px 0 0 7px; font-size: 150%" width="14.666666666667%" |Hello, Please don't leave your message here, contact me at [[wikipedia:User_talk:Caypartis|enwiki]] or send me an [[wikipedia:Special:EmailUser/Caypartis|e-mail]] |} __NOINDEX__ __NONEWSECTIONLINK__ 2zxr0w7yhdaxbq45w1bakg5lyv4cgon User talk:Caypartisbot 3 2699 7584 2011-11-13T17:20:44Z Caypartis 600 Redirected page to [[User talk:Caypartis]] 7584 wikitext text/x-wiki #Redirect [[User talk:Caypartis]] 5w6gdei0m3ocj06iptez9hqo4hp6oar User:Caypartisbot 2 2700 7586 7585 2011-11-13T17:25:08Z Caypartis 600 7586 wikitext text/x-wiki {{bot|Caypartis|site=w:en}} __NOINDEX__ nmlgzij15wkzczvd7adio9s858oefh6 User:Moe Epsilon 2 2701 8267 7588 2012-10-02T21:18:56Z Moe Epsilon 627 #REDIRECT [[w:en:User:Moe Epsilon]] 8267 wikitext text/x-wiki #REDIRECT [[w:en:User:Moe Epsilon]] oa9c7htx2cgwzi4lbqp8aiqh2v8vzn2 User:Man77/common.css 2 2703 7591 2011-11-20T04:36:55Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7591 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:Man77/global.css&action=raw&ctype=text/css"; k4a5otem87q3bqo2scekjudlsbs69jz User:Der Buckesfelder/common.js 2 2704 7594 2011-11-21T04:18:53Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7594 javascript text/javascript mw.loader.load("//de.wikipedia.org/w/index.php?title=Benutzer:Der_Buckesfelder/global.js&action=raw&ctype=text/javascript"); a7p0swpbmn4nyeor8lc0eb59iyyon31 User:AleXXw 2 2705 7597 2011-11-22T00:02:38Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7597 wikitext text/x-wiki {{#babel:de-at|de|en-2|fr-1}} [[:m:w:de:Benutzer:AleXXw|Me@de-WP]] p3gp65sknf5oqvup1faw385y5h0x7xg User:Der Buckesfelder 2 2706 7601 7598 2011-11-24T00:16:49Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7601 wikitext text/x-wiki [[File:Redirectltr.png]][[m:w:de:User talk:Der Buckesfelder|w:de:{{ns:2}}:Der Buckesfelder]] 0f48i4mljazkhfa857nbkeoxcb3wrak User talk:Der Buckesfelder 3 2707 7602 7599 2011-11-24T00:44:31Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7602 wikitext text/x-wiki [[File:Redirectltr.png]][[m:w:de:User talk:Der Buckesfelder|w:de:{{ns:3}}:Der Buckesfelder]] 9n2v72zuyl2v4hnhc54u4icc1goeoap Template:Bot 10 2708 19954 8157 2017-07-20T11:59:14Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19954 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 User:Buckesfelder 2 2709 7603 2011-11-24T01:17:52Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7603 wikitext text/x-wiki #REDIRECT[[User:Der Buckesfelder]] 23k07le0nklkphoyfxykgk1277lnrpm User talk:Buckesfelder 3 2710 7604 2011-11-24T01:38:15Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7604 wikitext text/x-wiki #REDIRECT[[User talk:Der Buckesfelder]] 5mru9et2v2qwhwni0dkjmpjjek5ei3u User:Buckesfelder/common.js 2 2711 7605 2011-11-24T01:59:19Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7605 javascript text/javascript mw.loader.load("//de.wikipedia.org/w/index.php?title=Benutzer:Der_Buckesfelder/global.js&action=raw&ctype=text/javascript"); a7p0swpbmn4nyeor8lc0eb59iyyon31 User:Wangxuan8331800 2 2713 8187 7610 2012-09-03T02:42:43Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Wangxuan8331800]]) 8187 wikitext text/x-wiki {{#babel:zh-N|en-1|so-0}} [[File:Redirectltr.png|link=]]<span class="redirectText" id="softredirect">[[w:zh:User:Wangxuan8331800]]</span><br /><span style="font-size:85%; padding-left:52px;">[[meta:Help:Redirect|{{int:redirectpagesub}}]]</span> 8nuztm629yx1677t10amdj3m9di7w1w User:KamikazeBot 2 2714 7625 2011-12-03T20:45:02Z Karol007 636 new 7625 wikitext text/x-wiki {|cellpadding="1" cellspacing="1" style="border:0px solid black; background-color:transparent;" width=100% |- valign=top valign=center |width=98% style="border:1px solid black; background-color:transparent;"| {{#ifexist:{{ns:Template}}:Bot|{{Bot|Karol007|site=w:pl|status=globalbot|status=active}}| <div>'''This user account is a [[Wikipedia:Bot policy|bot]] operated by [[:w:pl:User:Karol007|Karol007]] ([[:w:pl:User talk:Karol007|talk]]).''' It is not a [[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> <small>''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].''</small> </div> ---- }} <br style="clear:{{{1|both}}};" /> <div class="plainlinks plainlinks2" style="text-align:center;"> <strong style="font-size: 2em;">Emergency {{{titlename|robot}}} shutoff button</strong> [[{{{icon|File:Crystal Clear action exit.svg}}}|{{{buttonsize|80}}}px|Emergency block button|link={{fullurl:Special:Block|wpBlockAddress={{BASEPAGENAMEE}}&wpBlockExpiry=indefinite&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReason=Bot%20malfunctioning:%20}}]] <strong>Administrators:</strong> Use this button if {{{name|the bot}}} is malfunctioning. (<strong>[{{fullurl:Special:Block|wpBlockAddress={{BASEPAGENAMEE}}&wpBlockExpiry=indefinite&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReason=Bot%20malfunctioning:%20}} direct link]</strong>) </div> ---- You can contact for the owner for requests, questions, and queries by either '''<span class="plainlinks">[http://pl.wikipedia.org/w/index.php?title=Dyskusja_wikipedysty:Karol007&action=edit&section=new leaving a message on my polish talk page in Wikipedia]'''</span> (prefered) or [[Special:Emailuser/Karol007|emailing them]]. Please be aware I may deny requests at my discretion without giving any reason. I am also on [irc://irc.freenode.net/wikipedia-pl IRC]. ---- <span class="plainlinks"><small>[[Special:Contributions/KamikazeBot|contribs]] &bull; [http://toolserver.org/~soxred93/pcount/index.php?name=KamikazeBot&lang={{CONTENTLANG}}&wiki={{#switch:{{SERVERNAME}} |{{CONTENTLANG}}.wikipedia.org = wikipedia |{{CONTENTLANG}}.wikisource.org = wikisource |{{CONTENTLANG}}.wikinews.org = wikinews |{{CONTENTLANG}}.wiktionary.org = wiktionary |{{CONTENTLANG}}.wikiquote.org = wikiquote |{{CONTENTLANG}}.wikibooks.org = wikibooks }} <span style="color:#002bb8">count 1</span>] &bull; <small>[http://toolserver.org/~vvv/yaec.php?user=KamikazeBot&wiki={{#switch:{{SERVERNAME}} |{{CONTENTLANG}}.wikipedia.org = {{CONTENTLANG}}wiki_p |{{CONTENTLANG}}.wikisource.org = {{CONTENTLANG}}wikisource_p |{{CONTENTLANG}}.wikinews.org = {{CONTENTLANG}}wikinews_p |{{CONTENTLANG}}.wiktionary.org = {{CONTENTLANG}}wiktionary_p |{{CONTENTLANG}}.wikiquote.org = {{CONTENTLANG}}wikiquote_p |{{CONTENTLANG}}.wikibooks.org = {{CONTENTLANG}}wikibooks_p |commons.wikimedia.org = commonswiki_p }} <span style="color:#002bb8">count 2</span>] &bull; [{{SERVER}}/wiki/Special:Log?user={{urlencode:KamikazeBot}} <span style="color:#002bb8">logs</span>] &bull; [{{SERVER}}/wiki/Special:Log/move?user={{urlencode:KamikazeBot}} <span style="color:#002bb8">page moves</span>] &bull; [[Special:Blockip/KamikazeBot|block user]] &bull; [{{SERVER}}/wiki/Special:Log/block?page=User:{{urlencode:KamikazeBot}} <span style="color:#002bb8">block log</span>] &bull; [{{SERVER}}/w/index.php?title=Special%3ALog&type=makebot&user=&page=User:{{urlencode:KamikazeBot}} flag log] &bull; [[Special:Makebot/KamikazeBot|flag bot]]</small></span> |} [[pl:Wikipedysta:KamikazeBot]] 71uxj6i6omltokzosd8y0sum303rmix User talk:KamikazeBot 3 2715 7626 2011-12-03T20:47:16Z Karol007 636 softredirect 7626 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT]]<span class="redirectText" id="softredirect">[[:w:pl:Dyskusja Wikipedysty:Karol007]]</span><br /><span style="font-size:85%; padding-left:52px;">This page is a [[:w:Wikipedia:Soft redirect|soft redirect]].</span> <br style="clear:{{{1|both}}};" /> 1jl239wc4z41fib1k3r1e2mlusiupkw User:Djsasso 2 2716 7639 2011-12-04T16:39:22Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7639 wikitext text/x-wiki __NOTOC__ {| class="toccolours plainlinks" style="width:95%; margin:0 1em 0 1em; text-align:center;" |- style="color:#FFF;" ! style="background:#0B0B3B;" | Host wiki ! style="background:#0B0B3B;" | Account ! style="background:#0B0B3B;" | User page ! style="background:#0B0B3B;" | User talk ! style="background:#0B0B3B;" | Contributions ! style="background:#0B0B3B;" | Logs ! style="background:#0B0B3B;" | Edits |- style="background:#F0F0F0;" | style="text-align:left;" | [[File:Wikipedia-logo.png|20px]] [[m:en:Main Page|Wikipedia (en)]] | Admin | [[m:en:User:Djsasso|User:DJSasso]] | [[m:en:User talk:Djsasso|User talk:DJSasso]] | [[m:en:Special:Contributions/Djsasso|Contribs]] | [[m:en:Special:Log/Djsasso|Logs]] | [http://toolserver.org/~interiot/cgi-bin/count_edits?user=Djsasso&dbname=enwiki_p Count] |- style="background:#DCDCDC;" | style="text-align:left;" | [[File:Wikipedia-logo.png|20px]] [[m:simple:Main Page|Wikipedia (simple)]] | Bureaucrat / CheckUser / Oversighter | [[m:simple:User:Djsasso|User:DJSasso]] | [[m:simple:User talk:Djsasso|User talk:DJSasso]] | [[m:simple:Special:Contributions/Djsasso|Contribs]] | [[m:simple:Special:Log/Djsasso|Logs]] | [http://toolserver.org/~interiot/cgi-bin/count_edits?user=Djsasso&dbname=enwiki_p Count] |} mskhgbka83jasomr6987xe9svv3ducf User:Tegel 2 2717 7650 2011-12-05T01:05:52Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7650 wikitext text/x-wiki [[File:Redirectltr.png]][[m:User:Tegel|m:{{ns:2}}:Tegel]] 1ls590wy7tm43ip8hjonuo93v1ge5pu User:Waldyrious 2 2718 20225 7659 2019-07-01T10:44:33Z 1997kB 1844 1997kB moved page [[User:Waldir]] to [[User:Waldyrious]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Waldir|Waldir]]" to "[[Special:CentralAuth/Waldyrious|Waldyrious]]" 7659 wikitext text/x-wiki [[m:user:waldir|Waldir@meta.wikimedia]] 21phdoloxh3aqsmm2exmbqr3q3ipo83 User:Jagwar 2 2719 7666 2011-12-06T01:12:58Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7666 wikitext text/x-wiki <center> [[m:mg:|Home wiki]] [[m:mg:User talk:Jagwar|Hametraka hafatra - Let a message - laisser un Message]] </center> Ny solonanarako manerana ny tetikasa Wikimedia dia Jagwar. Ao amin'ny tetikasa Wikimedia amin'ny teny malagasy no tena iasako. Raha manana hataka manokana ho ahy ianareo dia mametraha hafatra amin'ny alalan'ny fanindriana ny rohy eo ambony. ---- My nickname on all Wikimedia projects is Jagwar. I mainly work on Wikimedia projects in the Malagasy language. If you have a question or comment, leave a message on my talk page by following the link above. ---- Mon pseudonyme sur tous les projets Wikimedia est Jagwar. Je travaille principalement sur les projets malgachophones de Wikimedia. Si vous avez une quelconque demande à me faire, suivez le lien donné ci-dessus. {{#babel: mg-N|fr-4|en-3|es-3|eo-2}} ces2apbymmq8gy0fgduhqcpka6fycrl User:AddihockeyBot 2 2720 7785 2012-01-07T20:34:14Z Hoo User Page Bot 603 Creating global user page, per request 7785 wikitext text/x-wiki This interwiki bot is operated by [[m:User:Addihockey10]] {{bot|Addihockey10}} 024q1j4xmvpg75yujfppprftgwapqk7 User:Micki/common.css 2 2721 7786 2012-01-08T19:13:35Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7786 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:Micki/global.css&action=raw&ctype=text/css"; cpr3xntm9rzjg23ilb2hue0i4y8kz3h User:Sue Gardner 2 2722 7795 2012-01-12T01:04:01Z Jalexander-WMF 416 creating global user pages for WMF Staff member upon request ([[m:User:Jalexander|Questions?]]) 7795 wikitext text/x-wiki [[File:Wikimedia Foundation Sue Gardner Red BG Sept 2010.jpg|thumb|Sue Gardner the Executive Director of the Wikimedia Foundation]] I'm the Executive Director of the Wikimedia Foundation. I've been working at the Foundation since June 2007 - first in St. Petersburg, Florida, and now in San Francisco, California. Before that, I ran CBC.CA, the website of Canada's national public broadcaster. And before that, I was a radio and television journalist for 10 years. I can read and understand simple text in French and Spanish, at a very basic level, slowly and imperfectly. But I am only fluent in English. I frequently use Google Translate to understand discussions on the wikis in other languages, and I sometimes leave people messages in their own languages that I wrote using Google Translate or with the help of a colleague. I very much appreciate when people are able to correspond with me in English :-) You can reach me these ways: * The best & fastest way is by e-mail at sue[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org * In the office at (415) 839-6885 * Skype is susanpgardner * My username on the projects is ''Sue Gardner'' * Mailing address is Wikimedia Foundation, 149 New Montgomery Street, Third Floor, San Francisco CA 94105 * http://www.linkedin.com/in/suegardner ''The information on this page is meant to give answers to the questions I'm most often asked. If you have a question that's not answered here, please ask it on my talk page, or e-mail me at sue[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. Thanks. [[User:Sue Gardner|Sue Gardner]] 04:13, 18 May 2010 (UTC)'' ;Do you edit the Wikimedia projects, and if so, do you have any special status? How are other editors supposed to treat your edits? :I occasionally edit articles on the English Wikipedia. My Wikipedia editing is purely opportunistic and reactive: while using Wikipedia, if I see a mistake or problem, I sometimes try to fix it. When I edit, I am in no way acting as an official representative of the Wikimedia Foundation, and my edits should be treated like anyone else's. ;I have a question or a comment about Wikipedia. Where can I send it? :Please send it to info-en[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. Mail sent to that address is handled by a global network of volunteers - the same people who write Wikipedia - and they will be happy to reply to you. Please note that if you have a concern about the article about you, your organization, or someone you know, it might be worth your while to [[w:en:Wikipedia:FAQ/Article subjects|read the Article Subjects FAQ]] first. And thank you for reading Wikipedia. ;I am angry about an editorial dispute I'm having on one of the Wikimedia projects. Can you help me? :No, I'm sorry, I can't. The Wikimedia editorial community is responsible for resolving editorial disputes, and I don't interfere with those processes. ;I am angry about the way I or my company is being characterized on one of the Wikimedia projects. What can I do? :If you have questions or concerns about a Wikipedia article covering you or your organization, [[w:en:Wikipedia:FAQ/Article subjects|please see the Article Subjects FAQ]]. ;I would like to make a donation, or, I have a question about my donation. :If you are a Wikimedia donor or prospective donor, or if you have questions about our fundraising operations, first: thank you! You can send donation-related questions, comments and feedback to our fundraising team, at donate[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. Or, just [[wmf:Support Wikipedia/en|go here to donate]]. ;I'm a journalist, and would like to speak with you for a story I'm working on. Who do I contact? :You can e-mail me directly at sue[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org, or e-mail Wikimedia's spokesperson and Head of Communications, Jay Walsh, at jwalsh[[Image:Nospam at.svg|13px| -at- ]]wikimedia.org. Sometimes it is faster to go to Jay first, rather than trying to reach me directly. ;Where can I send a speaking invitation? :Please send speaking invitations to The Lavin Agency, at info[[Image:Nospam at.svg|13px| -at- |link=]]thelavinagency.com or +1 800 265 4870. I like to speak, but I only have time to do it a half-dozen or so times a year, so unfortunately I need to turn down most requests. Your invitation is likeliest to be accepted if your event is large and/or education-focused; if your audience is primarily people that Wikimedia wants to reach as partners or prospective new editors (e.g., teachers/students, NGO/NPO staff, women); and if your event is taking place in a region that's a high priority for us: primarily India, Brazil, the Arabic-speaking Middle East / North Africa. :Please note: if you're a Wikimedian, you don't need to go through Lavin. In that case, it's probably fastest for you to just write me and [[User:James Owen|James]]. ;Do you provide reference-type letters for Wikimedians? :Yes, definitely. If you want a reference letter, please just ask whoever you know best on the staff: we are all happy to provide reference letters. If you want one from me, please mail me or James. If you don't know anybody on the staff personally, please e-mail Philippe Beaudette at pbeaudette[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. Please note I don't do LinkedIn recommendations. ;How can I find out about jobs at the Wikimedia Foundation? :[[wmf:Job openings|All Wikimedia Foundation jobs are posted here]]. ;I would like permission to reuse material from Wikipedia or one of the other Wikimeda projects. :First, please be aware that you can reuse Wikipedia article text anywhere you like, without asking permission, as long as you adhere to the conditions of the license. Wikipedia is freely licensed under the Creative Commons license CC-BY-SA: [http://creativecommons.org/licenses/by-sa/3.0 go here to read a simple explanation of the CC-BY-SA license], or [http://creativecommons.org/licenses/by-sa/3.0/legalcode go here to read the full legal text]. If you want to use the Wikipedia trademark, please read [[wmf:Trademark Policy|our trademark policy]]. ;I would like to send you a business proposal. :First, please be aware that I get lots of proposals: I cannot and do not respond to them all. If your proposal doesn't seem rooted in a pretty good understanding of who we are and what we do, I will almost certainly ignore it. (We are interested in partnerships that would accelerate the growth of Wikipedia's readership particularly outside Europe and North America, that help us recruit new editors, and/or that improve article quality.) Regardless, there will often be a delay of several weeks before you get a response: this is completely normal. Most proposals I receive, I on-pass to the relevant staff - business proposals go to Kul Takanao Wadhwa at kul[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org, and proposals offering technical services or products go to CT Woo at ctwoo[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. Please don't send us proposals for staffing solutions: we have good help for that, and we're not looking for more. ;Can I get an official photo? :[[wmf:File:Sue Gardner May 2008 B.JPG|Here's my official photo]]. ;Can I get your official biography? :Yes, it's below. Please note this version may not be up-to-date. If you need a bio that's guaranteed to be current, please contact my assistant James Owen, at jowen[[Image:Nospam at.svg|13px| -at- |link=]]wikimedia.org. {| align="center" style="border-collapse:collapse; border-style:none; background-color:transparent;" class="cquote" | width="20" valign="top" style="color:#B2B7F2;font-size:35px;font-family:'Times New Roman',serif;font-weight:bold;text-align:left;padding:10px 10px;" | “ | valign="top" style="padding:4px 10px;" | Sue Gardner is Executive Director of the Wikimedia Foundation, the non-profit organization behind Wikipedia - the world's largest and most popular encyclopedia, which is free to use and free of advertising. Wikipedia contains more than 15 million volunteer-authored articles in 250+ languages, and is visited by more than 365 million people every month, making it the number five most-popular website in the world. Since joining the Wikimedia Foundation in summer of 2007, Gardner has more than tripled revenues, supported an 85% increase in global readership, and instituted projects and activities designed to grow readership and attract new editors. Gardner, a seasoned journalist, was formerly head of CBC.CA, the website for the Canadian Broadcasting Corporation, one of Canada's most prominent and best-loved cultural institutions. Under her leadership, CBC.CA won many international awards for excellence, and grew to become Canada's most popular news site. Gardner started her career in 1990 as a producer with CBC's “As It Happens,” an internationally-recognized groundbreaking news and current events radio program. She has since worked in radio, television, newspapers, magazines and online. | width="20" valign="bottom" style="color:#B2B7F2;font-size:36px;font-family:'Times New Roman',serif;font-weight:bold;text-align:right;padding:10px 10px;" | ” |- |} 0ebyob4e7ofrgtm99ma6lwob11p9hbw User:Carsrac 2 2723 8647 8630 2013-05-19T09:20:24Z CarsracBot 665 r2.7.2) (Bot: dheeraad [[vec:Utente:Carsrac]] 8647 wikitext text/x-wiki I'm dutch user with a [[user:CarsracBot]]. [[meta:User:Carsrac]] [[af:Gebruiker:Carsrac]] [[am:አባል:Carsrac]] [[an:Usuario:Carsrac]] [[ang:User:Carsrac]] [[ar:مستخدم:Carsrac]] [[ast:Usuariu:Carsrac]] [[ay:Usuario:Carsrac]] [[az:İstifadəçi:Carsrac]] [[be:Удзельнік:Carsrac]] [[bg:Потребител:Carsrac]] [[bn:ব্যবহারকারী:Carsrac]] [[br:Implijer:Carsrac]] [[bs:Korisnik:Carsrac]] [[ca:Usuari:Carsrac]] [[chr:User:Carsrac]] [[co:User:Carsrac]] [[cs:Uživatel:Carsrac]] [[csb:Brëkòwnik:Carsrac]] [[cy:Defnyddiwr:Carsrac]] [[da:Bruger:Carsrac]] [[de:Benutzer:Carsrac]] [[dv:މެމްބަރު:Carsrac]] [[el:Χρήστης:Carsrac]] [[en:User:Carsrac]] [[eo:Uzanto:Carsrac]] [[es:Usuario:Carsrac]] [[et:Kasutaja:Carsrac]] [[eu:Lankide:Carsrac]] [[fa:کاربر:Carsrac]] [[fi:Käyttäjä:Carsrac]] [[fj:User:Carsrac]] [[fo:Brúkari:Carsrac]] [[fr:Utilisateur:Carsrac]] [[fy:Meidogger:Carsrac]] [[ga:Úsáideoir:Carsrac]] [[gd:Cleachdaiche:Carsrac]] [[gl:Usuario:Carsrac]] [[gn:Puruhára:Carsrac]] [[gu:સભ્ય:Carsrac]] [[gv:Ymmydeyr:Carsrac]] [[ha:User:Carsrac]] [[he:משתמש:Carsrac]] [[hi:सदस्य:Carsrac]] [[hr:Suradnik:Carsrac]] [[hsb:Wužiwar:Carsrac]] [[hu:Szerkesztő:Carsrac]] [[hy:Մասնակից:Carsrac]] [[ia:Usator:Carsrac]] [[id:Pengguna:Carsrac]] [[ie:Usator:Carsrac]] [[io:Uzanto:Carsrac]] [[is:Notandi:Carsrac]] [[it:Utente:Carsrac]] [[iu:User:Carsrac]] [[ja:利用者:Carsrac]] [[jbo:User:Carsrac]] [[jv:Panganggo:Carsrac]] [[ka:მომხმარებელი:Carsrac]] [[kk:Қатысушы:Carsrac]] [[kl:Atuisoq:Carsrac]] [[km:អ្នកប្រើប្រាស់:Carsrac]] [[kn:ಸದಸ್ಯ:Carsrac]] [[ko:사용자:Carsrac]] [[ks:رُکُن:Carsrac]] [[ku:Bikarhêner:Carsrac]] [[kw:Devnydhyer:Carsrac]] [[ky:Колдонуучу:Carsrac]] [[la:Usor:Carsrac]] [[lb:Benotzer:Carsrac]] [[li:Gebroeker:Carsrac]] [[ln:Utilisateur:Carsrac]] [[lo:ຜູ້ໃຊ້:Carsrac]] [[lt:Naudotojas:Carsrac]] [[lv:Lietotājs:Carsrac]] [[mg:Mpikambana:Carsrac]] [[mi:User:Carsrac]] [[mk:Корисник:Carsrac]] [[ml:ഉപയോക്താവ്:Carsrac]] [[mn:Хэрэглэгч:Carsrac]] [[mr:सदस्य:Carsrac]] [[ms:Pengguna:Carsrac]] [[mt:Utent:Carsrac]] [[my:User:Carsrac]] [[na:User:Carsrac]] [[nah:Tlatequitiltilīlli:Carsrac]] [[nds:Bruker:Carsrac]] [[ne:प्रयोगकर्ता:Carsrac]] [[nl:Gebruiker:Carsrac]] [[nn:Brukar:Carsrac]] [[no:Bruker:Carsrac]] [[oc:Utilizaire:Carsrac]] [[om:User:Carsrac]] [[or:ବ୍ୟବହାରକାରୀ:Carsrac]] [[pa:ਵਰਤੌਂਕਾਰ:Carsrac]] [[pl:Wikipedysta:Carsrac]] [[pnb:User:Carsrac]] [[ps:کارن:Carsrac]] [[pt:Utilizador:Carsrac]] [[qu:Ruraq:Carsrac]] [[ro:Utilizator:Carsrac]] [[roa-rup:User:Carsrac]] [[ru:Участник:Carsrac]] [[rw:User:Carsrac]] [[sa:योजकः:Carsrac]] [[scn:Utenti:Carsrac]] [[sd:يوزر:Carsrac]] [[sg:Utilisateur:Carsrac]] [[sh:Korisnik:Carsrac]] [[si:පරිශීලක:Carsrac]] [[simple:User:Carsrac]] [[sk:Redaktor:Carsrac]] [[sl:Uporabnik:Carsrac]] [[sm:User:Carsrac]] [[sq:Përdoruesi:Carsrac]] [[sr:Корисник:Carsrac]] [[ss:User:Carsrac]] [[st:User:Carsrac]] [[su:Pamaké:Carsrac]] [[sv:Användare:Carsrac]] [[sw:Mtumiaji:Carsrac]] [[ta:பயனர்:Carsrac]] [[te:వాడుకరి:Carsrac]] [[tg:Корбар:Carsrac]] [[th:ผู้ใช้:Carsrac]] [[ti:User:Carsrac]] [[tk:Ulanyjy:Carsrac]] [[tl:Tagagamit:Carsrac]] [[tn:User:Carsrac]] [[tpi:Yusa:Carsrac]] [[tr:Kullanıcı:Carsrac]] [[ts:User:Carsrac]] [[tt:Кулланучы:Carsrac]] [[ug:ئىشلەتكۈچى:Carsrac]] [[uk:Користувач:Carsrac]] [[ur:صارف:Carsrac]] [[uz:Foydalanuvchi:Carsrac]] [[vec:Utente:Carsrac]] [[vi:Thành viên:Carsrac]] [[vo:Geban:Carsrac]] [[wa:Uzeu:Carsrac]] [[wo:Jëfandikukat:Carsrac]] [[yi:באַניצער:Carsrac]] [[za:用户:Carsrac]] [[zh:User:Carsrac]] [[zh-min-nan:User:Carsrac]] [[zu:User:Carsrac]] swjmxrth25q6mo26c4hqpbgj9fq4mns User:CarsracBot 2 2724 8646 8629 2013-05-18T21:40:06Z CarsracBot 665 r2.7.2) (Bot: dheeraad [[vec:Utente:CarsracBot]] 8646 wikitext text/x-wiki ---- ---- Bureaucracy => ''[[Special:Makebot/CarsracBot]]''' / '''[[meta:Steward_request/Bot_status]]''' * This bot is a pure <u>interwiki bot</u>, using PyWikipedia framwork! * User:CarsracBot is operated from <u>medium-sized</u> wiki's <small> (like li.wikipedia, yo.wikipedia) </small> * The bot is locally flagged on several wikis, see [[:w:nl:user:CarsracBot|that list]] and has a global botflag ---- ---- {{bot|Carsrac}} {| width="75%" cellpadding="0" cellspacing="0" style="background:none; border: 1px solid #1188AA;" ! style="background:#E0E8FF" |100 laatste ongecontroleerde anonieme wijzigingen |- |<div style="height:200px; overflow:auto; background:white;"> {{Special:Recentchanges/100,hideliu,hidepatrolled}} </div> |}<br/> {| width="75%" cellpadding="0" cellspacing="0" style="background:none; border: 1px solid #1188AA;" ! style="background:#E0E8FF" |100 nieuwste artikelen |- |<div style="height:200px; overflow:auto; background:white;"> {{Special:Newpages/100,hidepatrolled}} </div> |}<br> [[af:Gebruiker:CarsracBot]] [[am:አባል:CarsracBot]] [[an:Usuario:CarsracBot]] [[ang:User:CarsracBot]] [[ar:مستخدم:CarsracBot]] [[ast:Usuariu:CarsracBot]] [[ay:Usuario:CarsracBot]] [[az:İstifadəçi:CarsracBot]] [[be:Удзельнік:CarsracBot]] [[bg:Потребител:CarsracBot]] [[bn:ব্যবহারকারী:CarsracBot]] [[br:Implijer:CarsracBot]] [[bs:Korisnik:CarsracBot]] [[ca:Usuari:CarsracBot]] [[chr:User:CarsracBot]] [[co:User:CarsracBot]] [[cs:Uživatel:CarsracBot]] [[csb:Brëkòwnik:CarsracBot]] [[cy:Defnyddiwr:CarsracBot]] [[da:Bruger:CarsracBot]] [[de:Benutzer:CarsracBot]] [[dv:މެމްބަރު:CarsracBot]] [[el:Χρήστης:CarsracBot]] [[en:User:CarsracBot]] [[eo:Uzanto:CarsracBot]] [[es:Usuario:CarsracBot]] [[et:Kasutaja:CarsracBot]] [[eu:Lankide:CarsracBot]] [[fa:کاربر:CarsracBot]] [[fi:Käyttäjä:CarsracBot]] [[fj:User:CarsracBot]] [[fo:Brúkari:CarsracBot]] [[fr:Utilisateur:CarsracBot]] [[fy:Meidogger:CarsracBot]] [[ga:Úsáideoir:CarsracBot]] [[gd:Cleachdaiche:CarsracBot]] [[gl:Usuario:CarsracBot]] [[gn:Puruhára:CarsracBot]] [[gu:સભ્ય:CarsracBot]] [[gv:Ymmydeyr:CarsracBot]] [[ha:User:CarsracBot]] [[he:משתמש:CarsracBot]] [[hi:सदस्य:CarsracBot]] [[hr:Suradnik:CarsracBot]] [[hsb:Wužiwar:CarsracBot]] [[hu:Szerkesztő:CarsracBot]] [[hy:Մասնակից:CarsracBot]] [[ia:Usator:CarsracBot]] [[id:Pengguna:CarsracBot]] [[ie:Usator:CarsracBot]] [[io:Uzanto:CarsracBot]] [[is:Notandi:CarsracBot]] [[it:Utente:CarsracBot]] [[iu:User:CarsracBot]] [[ja:利用者:CarsracBot]] [[jbo:User:CarsracBot]] [[jv:Panganggo:CarsracBot]] [[ka:მომხმარებელი:CarsracBot]] [[kk:Қатысушы:CarsracBot]] [[kl:Atuisoq:CarsracBot]] [[km:អ្នកប្រើប្រាស់:CarsracBot]] [[kn:ಸದಸ್ಯ:CarsracBot]] [[ko:사용자:CarsracBot]] [[ks:رُکُن:CarsracBot]] [[ku:Bikarhêner:CarsracBot]] [[kw:Devnydhyer:CarsracBot]] [[ky:Колдонуучу:CarsracBot]] [[la:Usor:CarsracBot]] [[lb:Benotzer:CarsracBot]] [[li:Gebroeker:CarsracBot]] [[ln:Utilisateur:CarsracBot]] [[lo:ຜູ້ໃຊ້:CarsracBot]] [[lt:Naudotojas:CarsracBot]] [[lv:Lietotājs:CarsracBot]] [[mg:Mpikambana:CarsracBot]] [[mi:User:CarsracBot]] [[mk:Корисник:CarsracBot]] [[ml:ഉപയോക്താവ്:CarsracBot]] [[mn:Хэрэглэгч:CarsracBot]] [[mr:सदस्य:CarsracBot]] [[ms:Pengguna:CarsracBot]] [[mt:Utent:CarsracBot]] [[my:User:CarsracBot]] [[na:User:CarsracBot]] [[nah:Tlatequitiltilīlli:CarsracBot]] [[nds:Bruker:CarsracBot]] [[ne:प्रयोगकर्ता:CarsracBot]] [[nl:Gebruiker:CarsracBot]] [[nn:Brukar:CarsracBot]] [[no:Bruker:CarsracBot]] [[oc:Utilizaire:CarsracBot]] [[om:User:CarsracBot]] [[or:ବ୍ୟବହାରକାରୀ:CarsracBot]] [[pa:ਵਰਤੌਂਕਾਰ:CarsracBot]] [[pl:Wikipedysta:CarsracBot]] [[pnb:User:CarsracBot]] [[ps:کارن:CarsracBot]] [[pt:Utilizador:CarsracBot]] [[qu:Ruraq:CarsracBot]] [[ro:Utilizator:CarsracBot]] [[roa-rup:User:CarsracBot]] [[ru:Участник:CarsracBot]] [[rw:User:CarsracBot]] [[sa:योजकः:CarsracBot]] [[scn:Utenti:CarsracBot]] [[sd:يوزر:CarsracBot]] [[sg:Utilisateur:CarsracBot]] [[sh:Korisnik:CarsracBot]] [[si:පරිශීලක:CarsracBot]] [[simple:User:CarsracBot]] [[sk:Redaktor:CarsracBot]] [[sl:Uporabnik:CarsracBot]] [[sm:User:CarsracBot]] [[sq:Përdoruesi:CarsracBot]] [[sr:Корисник:CarsracBot]] [[ss:User:CarsracBot]] [[st:User:CarsracBot]] [[su:Pamaké:CarsracBot]] [[sv:Användare:CarsracBot]] [[sw:Mtumiaji:CarsracBot]] [[ta:பயனர்:CarsracBot]] [[te:వాడుకరి:CarsracBot]] [[tg:Корбар:CarsracBot]] [[th:ผู้ใช้:CarsracBot]] [[ti:User:CarsracBot]] [[tk:Ulanyjy:CarsracBot]] [[tl:Tagagamit:CarsracBot]] [[tn:User:CarsracBot]] [[tpi:Yusa:CarsracBot]] [[tr:Kullanıcı:CarsracBot]] [[ts:User:CarsracBot]] [[tt:Кулланучы:CarsracBot]] [[ug:ئىشلەتكۈچى:CarsracBot]] [[uk:Користувач:CarsracBot]] [[ur:صارف:CarsracBot]] [[uz:Foydalanuvchi:CarsracBot]] [[vec:Utente:CarsracBot]] [[vi:Thành viên:CarsracBot]] [[vo:Geban:CarsracBot]] [[wa:Uzeu:CarsracBot]] [[wo:Jëfandikukat:CarsracBot]] [[yi:באַניצער:CarsracBot]] [[za:用户:CarsracBot]] [[zh:User:CarsracBot]] [[zh-min-nan:User:CarsracBot]] [[zu:User:CarsracBot]] pjkuksbrheeywdfwa3oa9idjo6m1vke User talk:Addihockey10 (automated) 3 2732 7831 2012-02-01T21:27:10Z Hoo User Page Bot 603 Creating global talk page, per user request on IRC 7831 wikitext text/x-wiki {{#ifexist: Template:Soft redirect | {{Soft redirect|meta:User talk:Addihockey10}} | {{#ifexist: Template:Softredirect | {{Softredirect|meta:User talk:Addihockey10}} | [[meta:User talk:Addihockey10]] }}}} ks9odd5s4vztq8w748arewrnrh2uw4l User:Nihonjoe 2 2733 7839 2012-02-12T21:17:46Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7839 wikitext text/x-wiki Greetings! Please contact me at my [[m:w:en:User talk:Nihonjoe|main user talk page]] on the English Wikipedia. gmzxbovrm68w3c5eakdn2dd4uhj14r7 User:PeterSymonds/common.js 2 2734 7840 2012-02-13T01:28:15Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7840 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:PeterSymonds/global.js&action=raw&ctype=text/javascript'); mmg2um66229wd3g61019pivj01rch4b Template:Delete 10 2736 7844 7843 2012-02-15T17:40:07Z Quentinv57 407 Redirected page to [[Template:delete]] 7844 wikitext text/x-wiki #REDIRECT [[Template:delete]] don0o3ej2zyi5f59rhmlipfgdlfm40t User:MF-Warburg 2 2742 7867 2012-02-20T09:10:40Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7867 wikitext text/x-wiki [[:m:User:MF-Warburg]] - [[:incubator:User:MF-Warburg]] boigzkgm7yg6zw5jebe1p750z70t16k User:Mwpnl 2 2743 7869 2012-02-20T14:08:06Z Hoo User Page Bot 603 Creating global user page, per request https://meta.wikimedia.org/w/index.php?diff=3424958 7869 wikitext text/x-wiki For more information about me or to get in touch, please visit my [[m:User:Mwpnl|User page]] and [[m:User talk:Mwpnl|talk page]] on meta-wiki. Thanks, [[m:User:Mwpnl|<font color="#2B88FE">nl:'''Mark W'''</font>]] <small>(Mwpnl) ¦ [[m:User talk:Mwpnl|<font color="#66AA33">talk</font>]]</small> is36zqujj4yd8wa9nfrj6w4wucbn3ku User talk:Mwpnl 3 2744 7870 2012-02-20T18:01:10Z Hoo User Page Bot 603 Creating global user talk page, per request https://meta.wikimedia.org/w/index.php?diff=3424958 7870 wikitext text/x-wiki For more information about me or to get in touch, please visit my [[m:User:Mwpnl|User page]] and [[m:User talk:Mwpnl|talk page]] on meta-wiki. Thanks, [[m:User:Mwpnl|<font color="#2B88FE">nl:'''Mark W'''</font>]] <small>(Mwpnl) ¦ [[m:User talk:Mwpnl|<font color="#66AA33">talk</font>]]</small> ddov55vaiv5a1vlmeso3ulm8mhvrsxp User:Mwpnl/common.js 2 2745 7871 2012-02-21T14:15:42Z Wikitanvir 383 Creating user JS page per request 7871 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Mwpnl/global.js&action=raw&ctype=text/javascript'); a1xu2k17fjilscncb6cxhxmbeuiinbl User:Psubhashish 2 2746 8403 7872 2012-12-27T19:51:37Z Wikitanvir 383 Editing user page on user's request 8403 wikitext text/x-wiki {{User info | full name = Subhashish Panigrahi | image name = Subhashish Panigrahi cropped.png | job title = Programme Officer | organization = [[m:India Access To Knowledge|Access To Knowledge]], [[m:w:Centre for Internet and Society (India)|Centre for Internet and Society]] | short quote = Imagine a world in which every single human being can freely share in the sum of all knowledge. Help us make it a reality! | about me = I work as a Programme Officer for Community and Program Support, [[m:India Access To Knowledge|Access To Knowledge]] for [[m:w:Centre for Internet and Society (India)|Centre for Internet and Society]]. I have a background in Business development in Corporate Communications. My personal username is found [[m:User:Psubhashish|here]]. | about my work = I'm with the [[m:India Access To Knowledge|Access To Knowledge]] [[m:Access To Knowledge/Team|team]] - and we work on supporting, building and expanding the community in India. | contact me = * E-mail: subhashish[[File:At sign.svg|17px|&nbsp;at&nbsp;|link=]]cis-india.org * English Wikipedia: [[m:en:User:Psubhashish|Psubhashish]] * Meta: [[m:User:psubhashish|Psubhashish]] }} == Details of my work == {{#babel:or|en-4|pi-1|kn-1}} My work broadly includes providing support to community in engaging new editors and supporting [[m:India Access To Knowledge|Access To Knowledge]] in terms of managing administrative and basic finance matters. ; Provided support for: * New editors on [[m:India Program/Pilot Designs/Social Media|social media]] * [[m:India Program/Outreach Programs|Outreach Programs]] * On wiki support to new editors My work details can be found under the following headers: Community and Program Support. If you still have any further questions about my work, please write to me at subhashish[[File:At sign.svg|17px|&nbsp;at&nbsp;|link=]]cis-india.org. ezvhazazj3ttsdqy5ljtcopbb89qy39 User:Mathonius 2 2748 8136 8135 2012-08-06T05:30:11Z Pathoschild 41 Wuxuu dib u noqay badalkii oo sameeyay [[Special:Contributions/Pathoschild|Pathoschild]] ([[User talk:Pathoschild|talk]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:Mathonius|Mathonius]] 8136 wikitext text/x-wiki {{#babel:nl|en-3|fr-1|de-1|so-0}} <center>''Hello, I'm a member of the [[:m:SWMT|Small Wiki Monitoring Team]]. Feel free to leave me a message on [[:User talk:Mathonius|my talk page]].''<br />[[:m:User:Mathonius|(click here for my user page on meta.wikimedia)]]</center> ---- 6bwhou2zff6uyjfeswp68jlz55pbmvc User:J.delanoy 2 2750 7889 2012-02-29T06:05:36Z J.delanoy 255 create 7889 wikitext text/x-wiki {| style="float:right" |<div style="float:left; border:1px solid #6EF7A7; margin:1px;" class="wikipediauserbox"> {| cellspacing="0" style="width:238px; background:#C5FCDC;" | style="width:45px; height:45px; background:#6EF7A7; text-align:center; font-size:14pt; color:black; padding:1px; line-height:1.25em; ; vertical-align: middle;" |<span lang="en">'''en''' | style="text-align:left; font-size:8pt; padding:4px; line-height:1.25em; color:black; ; vertical-align: middle;" | <span lang="en">This user is a '''native''' speaker of '''English'''. |}</div> |- |<div style="float:left; border:1px solid #77E0E8; margin:1px;" class="wikipediauserbox"> {| cellspacing="0" style="width:238px; background:#D0F8FF;" | style="width:45px; height:45px; background:#77E0E8; text-align:center; font-size:14pt; color:black; padding:1px; line-height:1.25em; ; vertical-align: middle;" |<span lang="es">'''es-2''' | style="text-align:left; font-size:8pt; padding:4px; line-height:1.25em; color:black; ; vertical-align: middle;" |<span lang="es"> Este usuario puede contribuir con un nivel '''intermedio''' de '''español'''. |}</div> |} [[Image:Redirectltr.png|#REDIRECT ]]<span class="redirectText" lang="en" id="softredirect">[[:m:User:J.delanoy]]</span> h0n5webtvdiea2x9rkcokde4nftviqh User talk:Snowolf 3 2752 7893 2012-03-01T21:29:21Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7893 wikitext text/x-wiki {| style="top:2px; width:100%; padding-bottom:0px; background:orange;" valign="middle" |- |<center><big>Page not monitored, write to [[:meta:User talk:Snowolf]] instead.</big></center> |} 0v8v947jtpxr6w6ftwv7hsdlwr8eh4y User:MBisanz/common.js 2 2753 7897 2012-03-02T16:19:06Z Quentinv57 407 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7897 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:MBisanz/global.js&action=raw&ctype=text/javascript'); f7coylqjl911ai3ccdxujym5ympanto User talk:Jan Luca 3 2756 7918 2012-03-18T03:29:19Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7918 wikitext text/x-wiki '''Please write any comment on [[m:v:de:User talk:Jan Luca|my usertalk on de.wikiversity]]''' 1bri8n55wqrqompd1tmjsk0ty0hz0us mitta 0 2758 19034 16638 2017-04-28T17:27:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19034 wikitext text/x-wiki {{-fi-}} === Magac === '''mitta''' [[waa]] [[qeeyb]] gzheo2rqznhmrq6ef4qkfsot1o36jcj User talk:Allan Javier Aguilar Castillo 3 2759 7937 2012-04-01T01:46:44Z Pathoschild 41 updated global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 7937 wikitext text/x-wiki {{#babel:es-N|en-3|so-0}} [[m:w:es:Usuario Discusión:Allan Javier Aguilar Castillo|Talk to me on Spanish Wikipedia]] 4pfdkjp0xnrq1cts0xuwqkbiltp5nur User:Tomtomn00/common.js 2 2763 7944 2012-04-03T02:29:45Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Tomtomn00]]) 7944 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Tomtomn00/global.js&action=raw&ctype=text/javascript'); 1rlhjrmntfzgsyx4nxeefb759y2k6ht User talk:Tomtomn00 3 2764 7947 7945 2012-04-04T23:46:15Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Tomtomn00]]) 7947 wikitext text/x-wiki <div style="text-align:center; color:#F00; font-size:x-large;">'''See [[m:en:User talk:Tomtomn00|en]] for a faster response.'''</div> ---- 5wnezylscbm3ki3ydt3lj4tyavkf8u6 User:Tomtomn00 2 2765 7948 2012-04-05T01:08:18Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Tomtomn00]]) 7948 wikitext text/x-wiki {{#babel:en|de-1|fr-1|lv-1|nl-2|ru-2|uk-2|ab-3|af-3|rn-2}} [[File:Redirect arrow without text.svg|46px|link=]][[m:en:User:Tomtomn00|en]] kd77rk449915j7xuetzpqb8hzsy0htx User:Thehelpfulone 2 2767 7951 2012-04-08T17:27:53Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Thehelpfulone]]) 7951 wikitext text/x-wiki Hi! Welcome to my user page, please see my [[m:User:Thehelpfulone|Meta-Wiki user page]] for more information about me. If you'd like to get in contact with me, please contact me on my [[:m:User talk:Thehelpfulone|Meta-Wiki talk page]] or by [[m:Special:EmailUser/Thehelpfulone|e-mail]]. [[User:Thehelpfulone|<font color="red">'''The'''</font>]] [[User_talk:Thehelpfulone|<font color="black"> '''Helpful'''</font>]] [[Special:Contributions/Thehelpfulone|<font color="red"> '''One'''</font>]] oegzpzbljca8w0vcsp1ivo5u15oaxxh User talk:Thehelpfulone 3 2768 7952 2012-04-08T18:02:48Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Thehelpfulone]]) 7952 wikitext text/x-wiki Hi! Welcome to my user talk page, please see my [[m:User:Thehelpfulone|Meta-Wiki user page]] for more information about me. If you'd like to get in contact with me, please contact me on my [[:m:User talk:Thehelpfulone|Meta-Wiki talk page]] or by [[m:Special:EmailUser/Thehelpfulone|e-mail]]. [[User:Thehelpfulone|<font color="red">'''The'''</font>]] [[User_talk:Thehelpfulone|<font color="black"> '''Helpful'''</font>]] [[Special:Contributions/Thehelpfulone|<font color="red"> '''One'''</font>]] bb66o0o9in5auhu2oz69opie3261fvk User:Pundit 2 2769 7960 2012-04-11T03:20:24Z Hoo User Page Bot 603 Creating global user page, per request https://meta.wikimedia.org/w/index.php?diffonly=1&diff=3631030&oldid=3588687 7960 wikitext text/x-wiki {{#babel:pl|en-4|de-1|ru-1|}} <center>'''[[:m:User:Pundit|(click here for my user page on meta.wikimedia)]]'''</center> 1eio4tg200n4g0j0gxxwoeapxt6zgh7 User:Colourful Bling 2 2770 7963 2012-04-15T17:25:00Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Colourful Bling]]) 7963 wikitext text/x-wiki {{#babel:en|de-2|fr-3}} Hi, I'm '''Colourful Bling'''. To contact me, use my [[:m:en:User talk:Colourful Bling|talk page]] on the English Wikipedia. -- [[:m:en:User:Colourful Bling|Colourful Bling]] ([[:m:en:Special:Contributions/Colourful Bling|contribs]]) bq2eujkykpgmf22zugb47p8ph63q5b4 User:VasilievVV/common.js 2 2773 7980 2012-04-28T22:25:46Z VasilievVV 346 creating new JS file 7980 javascript text/javascript mw.loader.load( "//meta.wikimedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:VasilievVV/global.js", "text/javascript" ); sb5332vmtmczw8e6taxjgklrcvvrtj5 User:Toto Azéro/common.js 2 2777 7997 2012-05-06T17:11:05Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Toto Azéro]]) 7997 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Toto_Azéro/global.js&action=raw&ctype=text/javascript'); etglild9qjn78ivjyk1nrudbdtw0m7z User:Lavallen 2 2780 8026 2012-05-29T20:11:18Z Hoo User Page Bot 603 Creating global user page, per request https://meta.wikimedia.org/w/index.php?diffonly=1&diff=3796945&oldid=3636963 8026 wikitext text/x-wiki {{#babel:sv|en-2|no-1|nn-1|da-1|nds-1}} [[Special:Contributions/Innocent bot|Innocent bot]]<br/> [[Special:Contributions/Innocent iwbot|Innocent iwbot]] [[File:Lavallens skugga.jpg|thumb|left|Moi]] [[sv:Användare:Lavallen]] rocy8rz6t73e90eajdsl5svxhqtarvw User:Jasper Deng 2 2782 8096 8030 2012-07-17T03:15:26Z Jasper Deng 730 Global userpage 8096 wikitext text/x-wiki [[:w:en:User:Jasper Deng]] {{#ifeq:{{CONTENTLANGUAGE}}|en|{{#babel:en-N|fr-2}}|{{#babel:en-N|fr-2|{{CONTENTLANGUAGE}}-0}}}} __NOINDEX__ ebh8tv06p67jfaj67zzszp3bosdnxxw User:Bill william compton/common.js 2 2783 8032 2012-06-02T15:22:52Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Bill william compton]]) 8032 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Bill_william_compton/global.js&action=raw&ctype=text/javascript'); mjptpgy7k8hn98e59mxm1lcz1y5wmgn User:Frigotoni 2 2786 8035 2012-06-02T18:24:49Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Frigotoni]]) 8035 wikitext text/x-wiki <center>Hello, I am <span style="font-family:Bradley Hand ITC; color:black">'''Frigotoni'''</span>[[User talk:Frigotoni|<small> ...<span style="font-family:Segoe Script; color:navy" >'''i'm here'''</span></small>]]. I'm a member of the [[m:Small Wiki Monitoring Team|Small Wiki Monitoring Team]] and globally active in countervandalism. Feel free to leave me a message on [[m:User talk:Frigotoni|meta]] or on my [[m:it:Discussioni utente:Frigotoni|home]] Wiki. [[File:Face-grin.svg]]<small><br /><span class="plainlinks">[//toolserver.org/~pathoschild/crossactivity/?user=Frigotoni Crossactivity] & [//toolserver.org/~pathoschild/stalktoy/?target=Frigotoni StalkToy]</span> • If you need further information, you can click [[m:User:Frigotoni|here]]. Have I done something wrong? I apologise for this. Report it to me please.</small></center> 5w4xk8jje5ivh1j1e6b5y557pl8iowz User:とある白い猫/common.js 2 2787 8052 2012-06-11T02:06:39Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by とある白い猫]]) 8052 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:とある白い猫/global.js&action=raw&ctype=text/javascript'); demytpwy3j0kikuliopbe5oi6sufviy User:Σ/common.js 2 2790 8056 2012-06-18T04:30:53Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Σ]]) 8056 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Σ/global.js&action=raw&ctype=text/javascript'); sek291bim4m77l7h0nbx6kyxp0ozaje User:JAn Dudík 2 2792 8065 8061 2012-06-26T11:45:35Z JAnDbot 743 r2.7.2) (روبوت إضافة: af, am, an, ang, ar, ast, ay, az, be, bg, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, en, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it... 8065 wikitext text/x-wiki Owner of [[User:JAnDbot]] from cs.wikt. Please, contact me on my [[:cs:User talk:JAn Dudík|czech talk page]]. [[af:Gebruiker:JAn Dudík]] [[am:አባል:JAn Dudík]] [[an:Usuario:JAn Dudík]] [[ang:User:JAn Dudík]] [[ar:مستخدم:JAn Dudík]] [[ast:Usuariu:JAn Dudík]] [[ay:Usuario:JAn Dudík]] [[az:İstifadəçi:JAn Dudík]] [[be:Удзельнік:JAn Dudík]] [[bg:Потребител:JAn Dudík]] [[br:Implijer:JAn Dudík]] [[bs:Korisnik:JAn Dudík]] [[ca:Usuari:JAn Dudík]] [[chr:User:JAn Dudík]] [[co:User:JAn Dudík]] [[cs:Uživatel:JAn Dudík]] [[csb:Brëkòwnik:JAn Dudík]] [[cy:Defnyddiwr:JAn Dudík]] [[da:Bruger:JAn Dudík]] [[de:Benutzer:JAn Dudík]] [[dv:މެމްބަރު:JAn Dudík]] [[el:Χρήστης:JAn Dudík]] [[en:User:JAn Dudík]] [[eo:Uzanto:JAn Dudík]] [[es:Usuario:JAn Dudík]] [[et:Kasutaja:JAn Dudík]] [[eu:Lankide:JAn Dudík]] [[fa:کاربر:JAn Dudík]] [[fi:Käyttäjä:JAn Dudík]] [[fj:User:JAn Dudík]] [[fo:Brúkari:JAn Dudík]] [[fr:Utilisateur:JAn Dudík]] [[fy:Meidogger:JAn Dudík]] [[ga:Úsáideoir:JAn Dudík]] [[gd:Cleachdaiche:JAn Dudík]] [[gl:Usuario:JAn Dudík]] [[gn:Puruhára:JAn Dudík]] [[gu:સભ્ય:JAn Dudík]] [[gv:Ymmydeyr:JAn Dudík]] [[ha:User:JAn Dudík]] [[he:משתמש:JAn Dudík]] [[hi:सदस्य:JAn Dudík]] [[hr:Suradnik:JAn Dudík]] [[hsb:Wužiwar:JAn Dudík]] [[hu:Szerkesztő:JAn Dudík]] [[hy:Մասնակից:JAn Dudík]] [[ia:Usator:JAn Dudík]] [[id:Pengguna:JAn Dudík]] [[ie:Usator:JAn Dudík]] [[ik:User:JAn Dudík]] [[io:Uzanto:JAn Dudík]] [[is:Notandi:JAn Dudík]] [[it:Utente:JAn Dudík]] [[iu:User:JAn Dudík]] [[ja:利用者:JAn Dudík]] [[jbo:User:JAn Dudík]] [[jv:Panganggo:JAn Dudík]] [[ka:მომხმარებელი:JAn Dudík]] [[kk:Қатысушы:JAn Dudík]] [[kl:Atuisoq:JAn Dudík]] [[km:អ្នកប្រើប្រាស់:JAn Dudík]] [[kn:ಸದಸ್ಯ:JAn Dudík]] [[ko:사용자:JAn Dudík]] [[ks:User:JAn Dudík]] [[ku:Bikarhêner:JAn Dudík]] [[kw:Devnydhyer:JAn Dudík]] [[ky:Колдонуучу:JAn Dudík]] [[la:Usor:JAn Dudík]] [[lb:Benotzer:JAn Dudík]] [[li:Gebroeker:JAn Dudík]] [[ln:Utilisateur:JAn Dudík]] [[lo:ຜູ້ໃຊ້:JAn Dudík]] [[lt:Naudotojas:JAn Dudík]] [[lv:Lietotājs:JAn Dudík]] [[mg:Mpikambana:JAn Dudík]] [[mi:User:JAn Dudík]] [[mk:Корисник:JAn Dudík]] [[ml:ഉപയോക്താവ്:JAn Dudík]] [[mn:Хэрэглэгч:JAn Dudík]] [[mr:सदस्य:JAn Dudík]] [[ms:Pengguna:JAn Dudík]] [[mt:Utent:JAn Dudík]] [[my:User:JAn Dudík]] [[na:User:JAn Dudík]] [[nah:Tlatequitiltilīlli:JAn Dudík]] [[nds:Bruker:JAn Dudík]] [[ne:प्रयोगकर्ता:JAn Dudík]] [[nl:Gebruiker:JAn Dudík]] [[nn:Brukar:JAn Dudík]] [[no:Bruker:JAn Dudík]] [[oc:Utilizaire:JAn Dudík]] [[om:User:JAn Dudík]] [[or:ବ୍ୟବହାରକାରୀ:JAn Dudík]] [[pa:ਮੈਂਬਰ:JAn Dudík]] [[pl:Wikipedysta:JAn Dudík]] [[pnb:User:JAn Dudík]] [[ps:کارن:JAn Dudík]] [[pt:Utilizador:JAn Dudík]] [[qu:Ruraq:JAn Dudík]] [[ro:Utilizator:JAn Dudík]] [[roa-rup:User:JAn Dudík]] [[ru:Участник:JAn Dudík]] [[rw:User:JAn Dudík]] [[sa:योजकः:JAn Dudík]] [[scn:Utenti:JAn Dudík]] [[sd:يوزر:JAn Dudík]] [[sg:Utilisateur:JAn Dudík]] [[sh:Korisnik:JAn Dudík]] [[si:පරිශීලක:JAn Dudík]] [[simple:User:JAn Dudík]] [[sk:Redaktor:JAn Dudík]] [[sl:Uporabnik:JAn Dudík]] [[sm:User:JAn Dudík]] [[sq:Përdoruesi:JAn Dudík]] [[ss:User:JAn Dudík]] [[st:User:JAn Dudík]] [[su:Pamaké:JAn Dudík]] [[sv:Användare:JAn Dudík]] [[sw:Mtumiaji:JAn Dudík]] [[ta:பயனர்:JAn Dudík]] [[te:వాడుకరి:JAn Dudík]] [[tg:Корбар:JAn Dudík]] [[th:ผู้ใช้:JAn Dudík]] [[ti:User:JAn Dudík]] [[tk:Ulanyjy:JAn Dudík]] [[tl:Tagagamit:JAn Dudík]] [[tn:User:JAn Dudík]] [[tpi:User:JAn Dudík]] [[tr:Kullanıcı:JAn Dudík]] [[ts:User:JAn Dudík]] [[tt:Кулланучы:JAn Dudík]] [[ug:ئىشلەتكۈچى:JAn Dudík]] [[uk:Користувач:JAn Dudík]] [[ur:صارف:JAn Dudík]] [[uz:Foydalanuvchi:JAn Dudík]] [[vi:Thành viên:JAn Dudík]] [[vo:Geban:JAn Dudík]] [[wa:Uzeu:JAn Dudík]] [[wo:Jëfandikukat:JAn Dudík]] [[yi:באַניצער:JAn Dudík]] [[za:用户:JAn Dudík]] [[zh:User:JAn Dudík]] [[zh-min-nan:User:JAn Dudík]] [[zu:User:JAn Dudík]] 1cb82dnqyxsjapsiee2p89t4mhs941g User:JAnDbot 2 2793 11575 11574 2014-11-25T22:26:21Z JAnDbot 743 r2.7.6) (Bot: dheeraad [[vec:Utente:JAnDbot]] 11575 wikitext text/x-wiki interwiki bot owned by [[User:JAn Dudík|JAn Dudík]] from cs.wikt. Please, contact my owner on his [[:cs:USer talk:JAn Dudík|czech talk page]]. Before complaining, please check if the removed / changed link wasn't a redirect, disambiguation page, or redundant. [[af:Gebruiker:JAnDbot]] [[am:አባል:JAnDbot]] [[an:Usuario:JAnDbot]] [[ang:User:JAnDbot]] [[ar:مستخدم:JAnDbot]] [[ast:Usuariu:JAnDbot]] [[ay:Usuario:JAnDbot]] [[az:İstifadəçi:JAnDbot]] [[be:Удзельнік:JAnDbot]] [[bg:Потребител:JAnDbot]] [[bn:ব্যবহারকারী:JAnDbot]] [[br:Implijer:JAnDbot]] [[bs:Korisnik:JAnDbot]] [[ca:Usuari:JAnDbot]] [[chr:User:JAnDbot]] [[co:Utente:JAnDbot]] [[cs:Uživatel:JAnDbot]] [[csb:Brëkòwnik:JAnDbot]] [[cy:Defnyddiwr:JAnDbot]] [[da:Bruger:JAnDbot]] [[de:Benutzer:JAnDbot]] [[dv:މެމްބަރު:JAnDbot]] [[el:Χρήστης:JAnDbot]] [[en:User:JAnDbot]] [[eo:Uzanto:JAnDbot]] [[es:Usuario:JAnDbot]] [[et:Kasutaja:JAnDbot]] [[eu:Lankide:JAnDbot]] [[fa:کاربر:JAnDbot]] [[fi:Käyttäjä:JAnDbot]] [[fj:User:JAnDbot]] [[fo:Brúkari:JAnDbot]] [[fr:Utilisateur:JAnDbot]] [[fy:Meidogger:JAnDbot]] [[ga:Úsáideoir:JAnDbot]] [[gd:Cleachdaiche:JAnDbot]] [[gl:Usuario:JAnDbot]] [[gn:Puruhára:JAnDbot]] [[gu:સભ્ય:JAnDbot]] [[gv:Ymmydeyr:JAnDbot]] [[ha:User:JAnDbot]] [[he:משתמש:JAnDbot]] [[hi:सदस्य:JAnDbot]] [[hr:Suradnik:JAnDbot]] [[hsb:Wužiwar:JAnDbot]] [[hu:Szerkesztő:JAnDbot]] [[hy:Մասնակից:JAnDbot]] [[ia:Usator:JAnDbot]] [[id:Pengguna:JAnDbot]] [[ie:Usator:JAnDbot]] [[io:Uzanto:JAnDbot]] [[is:Notandi:JAnDbot]] [[it:Utente:JAnDbot]] [[iu:User:JAnDbot]] [[ja:利用者:JAnDbot]] [[jbo:User:JAnDbot]] [[jv:Panganggo:JAnDbot]] [[ka:მომხმარებელი:JAnDbot]] [[kk:Қатысушы:JAnDbot]] [[kl:Atuisoq:JAnDbot]] [[km:អ្នកប្រើប្រាស់:JAnDbot]] [[kn:ಸದಸ್ಯ:JAnDbot]] [[ko:사용자:JAnDbot]] [[ks:رُکُن:JAnDbot]] [[ku:Bikarhêner:JAnDbot]] [[kw:Devnydhyer:JAnDbot]] [[ky:Колдонуучу:JAnDbot]] [[la:Usor:JAnDbot]] [[lb:Benotzer:JAnDbot]] [[li:Gebroeker:JAnDbot]] [[ln:Utilisateur:JAnDbot]] [[lo:ຜູ້ໃຊ້:JAnDbot]] [[lt:Naudotojas:JAnDbot]] [[lv:Lietotājs:JAnDbot]] [[mg:Mpikambana:JAnDbot]] [[mi:User:JAnDbot]] [[mk:Корисник:JAnDbot]] [[ml:ഉപയോക്താവ്:JAnDbot]] [[mn:Хэрэглэгч:JAnDbot]] [[mr:सदस्य:JAnDbot]] [[ms:Pengguna:JAnDbot]] [[mt:Utent:JAnDbot]] [[my:User:JAnDbot]] [[na:User:JAnDbot]] [[nah:Tlatequitiltilīlli:JAnDbot]] [[nds:Bruker:JAnDbot]] [[ne:प्रयोगकर्ता:JAnDbot]] [[nl:Gebruiker:JAnDbot]] [[nn:Brukar:JAnDbot]] [[no:Bruker:JAnDbot]] [[oc:Utilizaire:JAnDbot]] [[om:User:JAnDbot]] [[or:ବ୍ୟବହାରକାରୀ:JAnDbot]] [[pa:ਵਰਤੋਂਕਾਰ:JAnDbot]] [[pl:Wikipedysta:JAnDbot]] [[pnb:User:JAnDbot]] [[ps:کارن:JAnDbot]] [[pt:Utilizador:JAnDbot]] [[qu:Ruraq:JAnDbot]] [[ro:Utilizator:JAnDbot]] [[roa-rup:User:JAnDbot]] [[ru:Участник:JAnDbot]] [[rw:User:JAnDbot]] [[sa:योजकः:JAnDbot]] [[scn:Utenti:JAnDbot]] [[sd:يوزر:JAnDbot]] [[sg:Utilisateur:JAnDbot]] [[sh:Korisnik:JAnDbot]] [[si:පරිශීලක:JAnDbot]] [[simple:User:JAnDbot]] [[sk:Redaktor:JAnDbot]] [[sl:Uporabnik:JAnDbot]] [[sm:User:JAnDbot]] [[sq:Përdoruesi:JAnDbot]] [[sr:Корисник:JAnDbot]] [[ss:User:JAnDbot]] [[st:User:JAnDbot]] [[su:Pamaké:JAnDbot]] [[sv:Användare:JAnDbot]] [[sw:Mtumiaji:JAnDbot]] [[ta:பயனர்:JAnDbot]] [[te:వాడుకరి:JAnDbot]] [[tg:Корбар:JAnDbot]] [[th:ผู้ใช้:JAnDbot]] [[ti:User:JAnDbot]] [[tk:Ulanyjy:JAnDbot]] [[tl:Tagagamit:JAnDbot]] [[tn:User:JAnDbot]] [[tpi:Yusa:JAnDbot]] [[tr:Kullanıcı:JAnDbot]] [[ts:User:JAnDbot]] [[tt:Кулланучы:JAnDbot]] [[ug:ئىشلەتكۈچى:JAnDbot]] [[uk:Користувач:JAnDbot]] [[ur:صارف:JAnDbot]] [[uz:Foydalanuvchi:JAnDbot]] [[vec:Utente:JAnDbot]] [[vi:Thành viên:JAnDbot]] [[vo:Geban:JAnDbot]] [[wa:Uzeu:JAnDbot]] [[wo:Jëfandikukat:JAnDbot]] [[yi:באַניצער:JAnDbot]] [[zh:User:JAnDbot]] [[zh-min-nan:用戶:JAnDbot]] [[zu:User:JAnDbot]] 521yylyrx4khualha6qnkrkshu86n1x User:Zscout370 2 2794 8063 2012-06-25T23:50:58Z Hoo User Page Bot 603 Creating global user page, per request https://meta.wikimedia.org/w/index.php?diff=3800927 8063 wikitext text/x-wiki [[w:en:User:Zscout370|Zscout370]] 88eioklo2l6a0lkomuepwxcw2agm36e Rooma hal maalin lama dhisin 0 2800 13874 8975 2015-07-05T09:50:00Z HydrizBot 809 Bot: Ka saaris [[en:Rooma hal maalin lama dhisin]] 13874 wikitext text/x-wiki waa Maahmaah English ah oo micnaheedu yahay in wax walba hal maalin aanan lagu dhameyn karin, oo waqti in lagaliyo ay ubaahantahay, sidaa darteed ayaa loo dhahay, Rooma hal maalin lama dhisin ===Proverb=== # [[Rome wasn't built in a day]] mswujt7eaj07fxmc6v2eabupdcne4ey User:Lixer 2 2803 8130 2012-08-04T12:42:54Z Lixer 776 Bog cusub: {{Babel|sv|en-2|no-2|da-2|nn-1|fi-1|{{CONTENTLANGUAGE}}-0}} '''Lixer''', Swedish user from the Swedish Wikipedia. I will probably not be active here. Please leave a message on my tal... 8130 wikitext text/x-wiki {{Babel|sv|en-2|no-2|da-2|nn-1|fi-1|{{CONTENTLANGUAGE}}-0}} '''Lixer''', Swedish user from the Swedish Wikipedia. I will probably not be active here. Please leave a message on my talk page if you want something. If you need a quick response, you should contact me on my Swedish talk page or my English talk page. ----- [[File:Animated-Flag-Sweden.gif|45px]] [http://sv.wikipedia.org/wiki/Anv%C3%A4ndare:Lixer Swedish Wikipedia] ([http://sv.wikipedia.org/wiki/Anv%C3%A4ndardiskussion:Lixer Talk]) [[File:Animated-Flag-United-Kingdom.gif|45px]] [http://en.wikipedia.org/wiki/User:Lixer English Wikipedia] ([http://en.wikipedia.org/wiki/User_talk:Lixer Talk]) ----- qnap53nwxzwd9e01begpyg1p8iz68rn User talk:Vogone 3 2804 8132 2012-08-04T20:36:27Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Vogone]]) 8132 wikitext text/x-wiki #REDIRECT [[User:Vogone]] 9r3idjrvf2ajcaaq3mc8x7e2z9vb90w User:Osiris 2 2807 8139 2012-08-07T23:07:23Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Osiris]]) 8139 wikitext text/x-wiki Hello! I am <span class="plainlinks userlinks">[[User:Osiris|Osiris]] ([[User talk:Osiris|talk]] · [[Special:Contributions/Osiris|contribs]] · [[Special:DeletedContributions/Osiris|deleted contribs]] · [{{fullurl:Special:Log|user=Osiris}} logs] · [{{fullurl:Special:AbuseLog|wpSearchUser=Osiris}} edit filter log] · [[Special:Block/Osiris|block user]] · [{{fullurl:Special:Log|type=block&page=User:Osiris}} block log])</span>. Most of my activity on this project will be related to patrolling recent changes and reverting vandalism. You will find me most active on the [[w:en:User talk:Osiris|English]] and [[w:simple:User talk:Osiris|Simple English Wikipedias]], [[commons:User talk:Osiris|Commons]], [[m:User talk:Osiris|Meta]] and [[incubator:User talk:Osiris|Incubator]]. You can post to my talk page here, but I might be slow in replying. afipsvbpoyfq1p4ynv7lj0kn08mjlg2 User talk:Billinghurst 3 2811 8175 2012-08-26T09:11:45Z Billinghurst 716 Bog cusub: softredirect [[m:user talk:billinghurst]] 8175 wikitext text/x-wiki softredirect [[m:user talk:billinghurst]] jkvso8yuhy5dg1yiorkt43ql4x75epg User talk:Avocato 3 2814 8180 2012-08-30T21:44:53Z Avocato 584 Creating 8180 wikitext text/x-wiki <div dir=ltr><div style="background: #FFFFFF; text-align: center; font-family: Calibri; font-size: 1.6em; font-weight: bold;"><div style="padding: 5px; border: 3px solid #003882; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;">Please, Do not leave your message here. You can contact me using any of the following: <div style="margin-top: 10px; padding: 2px; background: #f4f3f0; border: 2px solid #fb139e; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;">[[w:ar:User talk:Avocato|w:ar:user talk:Avocato]] &#124; [[w:en:User talk:Avocato|w:en:user talk:Avocato]] &#124; [[m:User talk:Avocato|meta:user talk:Avocato]]</div></div></div></div> 3hadats3wp6ted874jwt08stykc5rdi User:AvocatoBot 2 2815 8196 8181 2012-09-09T06:45:42Z AvocatoBot 615 r2.7.3) (روبوت إضافة: af, am, an, ang, ast, ay, az, be, bg, bn, br, bs, ca, chr, co, cs, csb, cy, da, de, dv, el, en, eo, es, et, eu, fa, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, hr, hsb, hu, hy, ia, id, ie, ik, io, is, it, iu,... 8196 wikitext text/x-wiki <div dir=ltr> {| width="80%" align="center" style="text-align:justify; border:1px solid #aaaaaa; background-color:#f9f9f9; color:#000000;" |- padding:1em;padding-top:0.5em;padding-right:2em;padding-left:3em" |[[File:Crystal Clear action run.svg|60px|link=]] |'''This user account is a [[w:en:Wikipedia:Bot policy|bot]] operated by [[w:ar:مستخدم:Avocato|Avocato]] ([[w:ar:نقاش المستخدم:Avocato|talk]]).'''<br /> It is a legitimate alternative account, used to make repetitive automated or semi-automated edits that would be extremely tedious to do manually. |} </div> [[af:Gebruiker:AvocatoBot]] [[am:አባል:AvocatoBot]] [[an:Usuario:AvocatoBot]] [[ang:User:AvocatoBot]] [[ar:مستخدم:AvocatoBot]] [[ast:Usuariu:AvocatoBot]] [[ay:Usuario:AvocatoBot]] [[az:İstifadəçi:AvocatoBot]] [[be:Удзельнік:AvocatoBot]] [[bg:Потребител:AvocatoBot]] [[bn:ব্যবহারকারী:AvocatoBot]] [[br:Implijer:AvocatoBot]] [[bs:Korisnik:AvocatoBot]] [[ca:Usuari:AvocatoBot]] [[chr:User:AvocatoBot]] [[co:User:AvocatoBot]] [[cs:Uživatel:AvocatoBot]] [[csb:Brëkòwnik:AvocatoBot]] [[cy:Defnyddiwr:AvocatoBot]] [[da:Bruger:AvocatoBot]] [[de:Benutzer:AvocatoBot]] [[dv:މެމްބަރު:AvocatoBot]] [[el:Χρήστης:AvocatoBot]] [[en:User:AvocatoBot]] [[eo:Uzanto:AvocatoBot]] [[es:Usuario:AvocatoBot]] [[et:Kasutaja:AvocatoBot]] [[eu:Lankide:AvocatoBot]] [[fa:کاربر:AvocatoBot]] [[fi:Käyttäjä:AvocatoBot]] [[fj:User:AvocatoBot]] [[fo:Brúkari:AvocatoBot]] [[fr:Utilisateur:AvocatoBot]] [[fy:Meidogger:AvocatoBot]] [[ga:Úsáideoir:AvocatoBot]] [[gd:Cleachdaiche:AvocatoBot]] [[gl:Usuario:AvocatoBot]] [[gn:Puruhára:AvocatoBot]] [[gu:સભ્ય:AvocatoBot]] [[gv:Ymmydeyr:AvocatoBot]] [[ha:User:AvocatoBot]] [[he:משתמש:AvocatoBot]] [[hi:सदस्य:AvocatoBot]] [[hr:Suradnik:AvocatoBot]] [[hsb:Wužiwar:AvocatoBot]] [[hu:Szerkesztő:AvocatoBot]] [[hy:Մասնակից:AvocatoBot]] [[ia:Usator:AvocatoBot]] [[id:Pengguna:AvocatoBot]] [[ie:Usator:AvocatoBot]] [[ik:User:AvocatoBot]] [[io:Uzanto:AvocatoBot]] [[is:Notandi:AvocatoBot]] [[it:Utente:AvocatoBot]] [[iu:User:AvocatoBot]] [[ja:利用者:AvocatoBot]] [[jbo:User:AvocatoBot]] [[jv:Panganggo:AvocatoBot]] [[ka:მომხმარებელი:AvocatoBot]] [[kk:Қатысушы:AvocatoBot]] [[kl:Atuisoq:AvocatoBot]] [[km:អ្នកប្រើប្រាស់:AvocatoBot]] [[kn:ಸದಸ್ಯ:AvocatoBot]] [[ko:사용자:AvocatoBot]] [[ks:User:AvocatoBot]] [[ku:Bikarhêner:AvocatoBot]] [[kw:Devnydhyer:AvocatoBot]] [[ky:Колдонуучу:AvocatoBot]] [[la:Usor:AvocatoBot]] [[lb:Benotzer:AvocatoBot]] [[li:Gebroeker:AvocatoBot]] [[ln:Utilisateur:AvocatoBot]] [[lo:ຜູ້ໃຊ້:AvocatoBot]] [[lt:Naudotojas:AvocatoBot]] [[lv:Lietotājs:AvocatoBot]] [[mg:Mpikambana:AvocatoBot]] [[mi:User:AvocatoBot]] [[mk:Корисник:AvocatoBot]] [[ml:ഉപയോക്താവ്:AvocatoBot]] [[mn:Хэрэглэгч:AvocatoBot]] [[mr:सदस्य:AvocatoBot]] [[ms:Pengguna:AvocatoBot]] [[mt:Utent:AvocatoBot]] [[my:User:AvocatoBot]] [[na:User:AvocatoBot]] [[nah:Tlatequitiltilīlli:AvocatoBot]] [[nds:Bruker:AvocatoBot]] [[ne:प्रयोगकर्ता:AvocatoBot]] [[nl:Gebruiker:AvocatoBot]] [[nn:Brukar:AvocatoBot]] [[no:Bruker:AvocatoBot]] [[oc:Utilizaire:AvocatoBot]] [[om:User:AvocatoBot]] [[or:ବ୍ୟବହାରକାରୀ:AvocatoBot]] [[pa:ਮੈਂਬਰ:AvocatoBot]] [[pl:Wikipedysta:AvocatoBot]] [[pnb:User:AvocatoBot]] [[ps:کارن:AvocatoBot]] [[pt:Utilizador:AvocatoBot]] [[qu:Ruraq:AvocatoBot]] [[ro:Utilizator:AvocatoBot]] [[roa-rup:User:AvocatoBot]] [[ru:Участник:AvocatoBot]] [[rw:User:AvocatoBot]] [[sa:योजकः:AvocatoBot]] [[scn:Utenti:AvocatoBot]] [[sd:يوزر:AvocatoBot]] [[sg:Utilisateur:AvocatoBot]] [[sh:Korisnik:AvocatoBot]] [[si:පරිශීලක:AvocatoBot]] [[simple:User:AvocatoBot]] [[sk:Redaktor:AvocatoBot]] [[sl:Uporabnik:AvocatoBot]] [[sm:User:AvocatoBot]] [[sq:Përdoruesi:AvocatoBot]] [[sr:Корисник:AvocatoBot]] [[ss:User:AvocatoBot]] [[st:User:AvocatoBot]] [[su:Pamaké:AvocatoBot]] [[sv:Användare:AvocatoBot]] [[sw:Mtumiaji:AvocatoBot]] [[ta:பயனர்:AvocatoBot]] [[te:వాడుకరి:AvocatoBot]] [[tg:Корбар:AvocatoBot]] [[th:ผู้ใช้:AvocatoBot]] [[ti:User:AvocatoBot]] [[tk:Ulanyjy:AvocatoBot]] [[tl:Tagagamit:AvocatoBot]] [[tn:User:AvocatoBot]] [[tpi:User:AvocatoBot]] [[tr:Kullanıcı:AvocatoBot]] [[ts:User:AvocatoBot]] [[tt:Кулланучы:AvocatoBot]] [[ug:ئىشلەتكۈچى:AvocatoBot]] [[uk:Користувач:AvocatoBot]] [[ur:صارف:AvocatoBot]] [[uz:Foydalanuvchi:AvocatoBot]] [[vi:Thành viên:AvocatoBot]] [[vo:Geban:AvocatoBot]] [[wa:Uzeu:AvocatoBot]] [[wo:Jëfandikukat:AvocatoBot]] [[yi:באַניצער:AvocatoBot]] [[za:用户:AvocatoBot]] [[zh:User:AvocatoBot]] [[zh-min-nan:User:AvocatoBot]] [[zu:User:AvocatoBot]] k88vd833i6u5avtkdqc9tr1f1hodxnm User talk:AvocatoBot 3 2816 8182 2012-08-31T21:31:30Z AvocatoBot 615 Creating 8182 wikitext text/x-wiki <div dir=ltr><div style="background: #FFFFFF; text-align: center; font-family: Calibri; font-size: 1.6em; font-weight: bold;"><div style="padding: 5px; border: 3px solid #003882; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;">Please, Do not leave your message here. You can contact my operator using any of the following: <div style="margin-top: 10px; padding: 2px; background: #f4f3f0; border: 2px solid #fb139e; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;">[[w:ar:User talk:Avocato|w:ar:user talk:Avocato]] &#124; [[w:en:User talk:Avocato|w:en:user talk:Avocato]] &#124; [[m:User talk:Avocato|meta:user talk:Avocato]]</div></div></div></div> sp61nkc3vi6lvhlea1ecl2bxwlit01z User:Antonorsi 2 2817 8183 2012-09-02T23:31:36Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Antonorsi]]) 8183 wikitext text/x-wiki {{#babel:es|en-3|so-0}} ''Hello, I'm [[:m:User:Antonorsi|Antonorsi]], from es.wiki. You can contact me in [[:m:User talk:Antonorsi|my talk page on meta]].''<br /> ---- 59769jm2swerq0fu67p2bo8b8aeqndx User:Shujenchang/common.js 2 2819 8185 2012-09-03T00:58:36Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Shujenchang]]) 8185 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Shujenchang/global.js&action=raw&ctype=text/javascript'); qrhxsoxscudtwxlfngb7psz1fhrepcr User:Lukas²³/common.js 2 2820 8186 2012-09-03T02:10:37Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Lukas²³]]) 8186 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Lukas²³/global.js&action=raw&ctype=text/javascript'); 83yd8rgqpt0d0uokqpva51quireg5a7 User:HydrizBot 2 2822 19997 8203 2018-02-14T19:33:33Z CommonsDelinker 15 Replacing Wikimedia_labs_small_logo.png with [[File:Wikimedia_Cloud_Services_small_logo.png]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:phab:J59|Rebranding]]: Wikimedia Labs &#61;> Wikimedia Cloud Services). 19997 wikitext text/x-wiki {| class="messagebox" |align="center"|[[Image:Crystal Clear action run.png|50px]] |align="left" width="100%"|'''This user is a bot run by [[:simple:User:Hydriz|Hydriz]] ([[:simple:User talk:Hydriz|talk]]).''' It is used for helping to make many small changes that would take a long time for a person to do alone. <br> <small>''Administrators: if this bot isn't working right or doing bad things, please [[Special:Blockip/HydrizBot|block it]].''</small> |} [[File:Wikimedia Cloud Services small logo.png|right]] I am HydrizBot. My owner is Hydriz and I can run only when he orders me to. I currently add interwiki links to the pages in this Wiktionary. '''WARNING: If you block this bot, please ''TURN OFF AUTOBLOCK'', so that the other [[mw:Wikimedia Labs|WMF Labs]] bots keep working.''' i9sgpg1t908lzes7mqpn127mcqf1xj0 ylväs 0 2824 19491 14103 2017-04-28T17:31:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19491 wikitext text/x-wiki {{-fi-}} === Sifo === '''ylväs''' [[sharaf leh]] gob ah, sharaf leh pn29w9o9y3cfp2yysnyo07c06yammo5 User:Translation Notification Bot 2 2826 8307 2012-10-25T19:20:35Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 8307 wikitext text/x-wiki <div style="min-height: 57px; border: 1px solid #aaaaaa; background-color: #f9f9f9; width: 50%; margin: 0 auto 1em auto; padding: .2em; text-align: justify;"> <div style="float: left">[[File:Wikimedia Community Logo.svg|50px|link=]]</div> <div style="margin-left: 60px">'''[[:m:User:Translation Notification Bot|m:User:Translation Notification Bot]]'''.<br />(''[[m:Interwiki redirect|{{int:redirectpagesub}}]]'')</div> </div> 59xrrxfkj8xh7jw11em0s4rnuulbz9j User:Shujenchang 2 2827 8309 2012-10-26T08:45:35Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 8309 wikitext text/x-wiki {{#babel:zh|en-4|zh-classical-2|eo-1|ko-1|ja-0|fr-0||so-0}} Sometimes this user works as a member of [[m:Small Wiki Monitoring Team|SWMT]] and helps some anti-vandalism and anti-spam works here. To know more about this user, you can see his user page on [[w:en:User:Shujenchang|English Wikipedia]]. You can contact him via [[User talk:Shujenchang|talk page]], [[w:en:Special:EmailUser/Shujenchang|email]] or [[w:en:User:Shujenchang/Contact#IMs|IMs]] (Note: Please use English). '''Note''': Because of this user perhaps do not know the language on this project totally, so may be sometimes he will do something wrong when he do anti-vandalism and anti-spam works. If he did something wrong, please [[User talk:Shujenchang|let him know]]. ocjmytnkjk2lamvtkflfj6ivkyfq00m User:Mr.Ajedrez 2 2828 8310 2012-10-26T11:13:44Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 8310 wikitext text/x-wiki {{#babel:es|ast|en-3|fr-2|so-0}} ''Hello, I'm [[:w:es:User:Mr.Ajedrez|Mr.Ajedrez]], from es.wiki. You can contact me in [[:w:es:User talk:Mr.Ajedrez|my talk page in es.wiki]].''<br /> ---- pgcbqo2yohcvwo25ykf74myxwkn6jkp User:ChessBOT 2 2829 8311 2012-10-26T11:13:55Z Quentinv57 407 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by user]]) 8311 wikitext text/x-wiki {{bot|Mr.Ajedrez|site=w:es}} pp903u1bf9hm4qev44qoez4ypbpdb73 File talk:Wiki.png 7 2830 8320 2012-11-03T16:08:15Z EdwardsBot 836 /* Localise your wiki logo */ new section 8320 wikitext text/x-wiki == Localise your wiki logo == [[File:Wiktionary-logo.svg|thumb|The official localisable Wiktionary logo]] Hello! It was noted that Wiktionary in this language has not yet adopted a localised/translated logo: it's really a pity for a dictionary project!<br /> We are trying to help Wiktionaries adopt a locally-adapted logo, by taking the technical difficulties on us. What we need from you is just the preferred translation of the name and motto, "Wiktionary" (if translated) and "The free dictionary": you can add them to [[m:User:Cbrown1023/Logos#Wiktionary|the logo list]], by editing it directly or commenting on the talk page; you can also add a note if you don't want the localised logo.<br /> Of course, you can also create the logo and make the necessary requests on [[m:Bugzilla|bugzilla]] yourself, if you prefer so.<br /> Feel free to translate this message and to move/copy/forward it where appropriate; you can also reply on [[m:User talk:Nemo_bis|my talk]]. Thanks, [[m:User:Nemo_bis|Nemo]] 16:08, 3 Nofeembar 2012 (UTC) <!-- EdwardsBot 0291 --> e92hrz1cgx2b2imiaen5a3001194ncn User:Sotiale/common.js 2 2832 8354 2012-12-09T22:38:12Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Sotiale]]) 8354 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sotiale/global.js&action=raw&ctype=text/javascript'); 03gc5bhcnt2oox5rx9ogo1n6m4nvu95 User:Base/vector.js 2 2834 8356 2012-12-11T20:08:55Z Base 857 creating new ownjs page 8356 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Base/global.js&action=raw&ctype=text/javascript'); 9giyxj7vuxbzl3gw9t8r2790bzkcnaa User:Makecat 2 2836 18213 8365 2017-04-04T09:19:18Z CommonsDelinker 15 Replacing File-Ngc5866_hst_big.png with [[File:Ngc5866_hst_big.png]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#reasons|File renaming criterion #6]]: Non-controversial maintenance and bug fixes, includ 18213 wikitext text/x-wiki <div style="margin-left:-1em; margin-right:-1em; margin-bottom:15em;" class="plainlinks"> <div style="padding:0px; background:#99CCCC; border:1px solid #42526C; font-family:Calibri; color:#AAA;"> {| style="border:1px solid #99CCCC; background:#99CCCC; color:#333333;" align="center" |- style="padding:1em;" | width="17%" | <div style="padding:0.5em; margin:0.5em; width:200px; float:left;">[[File:Ngc5866 hst big.png|200px]]</div> | {{#Babel:zh|en-2}} <big>Hello, I am '''Makecat'''. I am an [[w:zh:Wikipedia:管理员|administrator]] on the Chinese Wikipedia, which is my home wiki. I am a member of [[m:SWMT|Small Wiki Monitoring Team]] and may make some edits here occasionally, such as reverting vandalism and requesting pages for speedy deletion. If you want to contact me, please leave a message at [[w:zh:User talk:Makecat|here]].</big> |} </div> </div> [[en:User:Makecat]] [[zh:User:Makecat]] b2u9kso1moq7ec4u7cx2unvgq97vewy User talk:Moe Epsilon 3 2837 8367 2012-12-19T08:06:47Z Moe Epsilon 627 redirect 8367 wikitext text/x-wiki #REDIRECT [[w:en:User talk:Moe Epsilon]] a4su0mk4f15ynu1rx33yaqu4fmud8ve User:Zuiarra 2 2841 8446 2013-01-22T02:20:10Z Zuiarra 878 Bog cusub: {{#babel:es|eu-4|en-3|pl-1|so-0}} [[eu:Lankide:Zuiarra]] 8446 wikitext text/x-wiki {{#babel:es|eu-4|en-3|pl-1|so-0}} [[eu:Lankide:Zuiarra]] qn2v5ydgma0gi8n7p43iziy66fh02ro User talk:AmandaNP 3 2843 20333 8463 2020-06-26T10:25:09Z Sakretsu 2169 Sakretsu moved page [[User talk:DeltaQuad]] to [[User talk:AmandaNP]]: Automatically moved page while renaming the user "[[Special:CentralAuth/DeltaQuad|DeltaQuad]]" to "[[Special:CentralAuth/AmandaNP|AmandaNP]]" 8463 wikitext text/x-wiki #REDIRECT [[m:User talk:DeltaQuad]] hx582ovme1j4qgwq2pp7qrvxx5iap4c mies 0 2845 19031 17317 2017-04-28T17:27:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19031 wikitext text/x-wiki {{-fi-}} === Magac === '''mies''' # [[nin]] o00br71x0erxgywur1ha7yjg20rd4fl sanakirja 0 2846 19248 15960 2017-04-28T17:29:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19248 wikitext text/x-wiki {{-fi-}} === Magac === '''sanakirja''' <small>([[sana]] + [[kirja]])</small> # [[qaamuus]] 0o11mnaczbtzozxaye0zq3p89aji3ms nenä 0 2847 19062 18084 2017-04-28T17:28:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19062 wikitext text/x-wiki {{-fi-}} === Magac === '''nenä''' # [[san]] srgmr76unbdp2921m1rygdkmzcbuamo 0 2848 19492 17962 2017-04-28T17:31:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19492 wikitext text/x-wiki {{-fi-}} === Magac === '''yö''' # [[habeen]] 7jf16016o68b4sbzz9rizt84lntaure kukka 0 2849 18948 18001 2017-04-28T17:27:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18948 wikitext text/x-wiki {{-fi-}} === Magac === '''kukka''' # [[ubax]] 340fmffuq2tcvvdcaoqew66hto3vpbr tähti 0 2850 19424 17952 2017-04-28T17:30:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19424 wikitext text/x-wiki {{-fi-}} === Magac === '''tähti''' # [[xidig]] 1t8h8u6xl6od1md3awz2axlm59mw8rk sänky 0 2851 19349 12971 2017-04-28T17:30:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19349 wikitext text/x-wiki {{-fi-}} === Magac === '''sänky''' # [[sariir]] 2bm03hdfhlxcz7a4jquplu9lcdwxvg5 hevonen 0 2852 18835 18064 2017-04-28T17:26:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18835 wikitext text/x-wiki {{-fi-}} === Magac === '''hevonen''' # [[faras]] 3dxj4ri9ivgfnytcpfmdd50tvi6080z night 0 2853 19068 17790 2017-04-28T17:28:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19068 wikitext text/x-wiki {{-en-}} === Magac === '''night''' # [[habeen]] 2nmayj91gl1kl6x22fg3s4i74npur9u dictionary 0 2854 18629 16125 2017-04-28T17:25:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18629 wikitext text/x-wiki {{-en-}} === Magac === '''dictionary''' # [[qaamuus]] 537cojvelc61t3tno487g145w8fwubh milk 0 2855 19033 16279 2017-04-28T17:27:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19033 wikitext text/x-wiki {{-en-}} === Magac === '''milk''' # [[caano]] ev6bsmax05l4ohnc7yfzg3tslul1f51 door 0 2856 31970 25498 2024-10-26T07:25:42Z Girligaanshub 3150 31970 wikitext text/x-wiki {{-so-}} == Magac == '''door''' === Tarjumaad === * {{en}}: role, stake {{-af-}} === Magac === '''door''' [[by]] {{-nl-}} === Magac === '''door''' [[by]] {{-en-}} === Magac === '''door''' # [[albaab]] 1dbeuae5rfi4gmnfqglhm4xnh5k49u0 spoon 0 2857 19326 16251 2017-04-28T17:29:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19326 wikitext text/x-wiki {{-en-}} === Magac === '''spoon''' # [[qaado]] 0vmo8gv2i7f3hb80oc4moptdw8irszg year 0 2858 19488 16017 2017-04-28T17:31:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19488 wikitext text/x-wiki {{-en-}} === Magac === '''year''' # [[sanad]] 6uscza33n2fns711i13uamexhbteq6y bread 0 2859 18519 15862 2017-04-28T17:24:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18519 wikitext text/x-wiki {{-en-}} === Magac === '''bread''' # [[rooti]] b0wvmkf57jg9uohg4f8gyecprri3jcf star 0 2860 19328 17629 2017-04-28T17:29:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19328 wikitext text/x-wiki {{-en-}} === Magac === '''star''' # [[xidig]] gvfak80dk9br28vpjc4fmg8xifcv07v tooth 0 2861 19399 17634 2017-04-28T17:30:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19399 wikitext text/x-wiki {{-en-}} === Magac === '''tooth''' # [[ilik]] 7va3d6bmt99pe9mao5sseimqyz78xkd literature 0 2862 18983 18140 2017-04-28T17:27:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18983 wikitext text/x-wiki {{-en-}} === Magac === '''literature''' # [[suugaan]] 96k8488o9nplwfo8gt4n82luzq1753c hand 0 2863 18822 18060 2017-04-28T17:26:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18822 wikitext text/x-wiki {{-en-}} === Magac === '''hand''' # [[gacan]] rmxwxmfv8a1xni0v5ey00x82el2c7i5 ear 0 2864 18682 16219 2017-04-28T17:25:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18682 wikitext text/x-wiki {{-en-}} === Magac === '''ear''' # [[dheg]] 7sh3dkvua5ow2hkaq95klw14bbg7b74 mouth 0 2865 19045 15925 2017-04-28T17:27:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19045 wikitext text/x-wiki {{-en-}} === Magac === '''mouth''' # [[af]] bw5jmc5hv9ddjea18ibbs4svxek8km1 tongue 0 2866 19397 15995 2017-04-28T17:30:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19397 wikitext text/x-wiki {{-en-}} === Magac === '''tongue''' # [[carab]] 3888irrc55pfyy6mc98tbtdr00wo2xj biology 0 2867 18499 18202 2017-04-28T17:24:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18499 wikitext text/x-wiki {{-en-}} === Magac === '''biology''' # [[bayoloji]] 7nw34obwouapebkyawdh2zop5jl9uvd chicken 0 2868 18558 16564 2017-04-28T17:24:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18558 wikitext text/x-wiki {{-en-}} === Magac === '''chicken''' # [[dooro]] pb61j0fbwe7rp3x7bmsc0mnnvwgbk1i animal 0 2869 18427 17608 2017-04-28T17:23:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18427 wikitext text/x-wiki {{-ast-}} === Magac === '''animal''' # [[xayawaan]] {{-ca-}} === Magac === '''animal''' # [[xayawaan]] {{-fr-}} === Magac === '''animal''' # [[xayawaan]] {{-es-}} === Magac === '''animal''' # [[xayawaan]] {{-gl-}} === Magac === '''animal''' # [[xayawaan]] {{-en-}} === Magac === '''animal''' === Dhawaaqida === * {{enPR|ăn'əməl}}, {{CGX|/ˈænəməl/}} * {{audio|en-us-animal.ogg|Audio (US)|lang=en}} # [[xayawaan]] {{-ia-}} === Magac === '''animal''' # [[xayawaan]] {{-la-}} === Magac === '''animal''' # [[xayawaan]] {{-pt-}} === Magac === '''animal''' # [[xayawaan]] c1o3217nx57z4ak58wjokay2sa762kw egg 0 2870 18689 15880 2017-04-28T17:25:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18689 wikitext text/x-wiki {{-en-}} === Magac === '''egg''' # [[ukun]] la1v3s2yx4knypn3zl9vyedbo321eqr meat 0 2871 19023 15920 2017-04-28T17:27:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19023 wikitext text/x-wiki {{-en-}} === Magac === '''meat''' # [[hilib]] pbulxmsu1xn498h2pph64wibvbm4xet scorpion 0 2872 19257 15961 2017-04-28T17:29:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19257 wikitext text/x-wiki {{-en-}} === Magac === '''scorpion''' # [[dabaqaroof]] s3npui6q54paq79fvu5y4950triy3xa state 0 2873 19329 17186 2017-04-28T17:29:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19329 wikitext text/x-wiki {{-en-}} === Magac === '''state''' # [[dowlad]] 9283g10ylb12zfa9iaoj08rvvplocfi holiday 0 2874 18848 17598 2017-04-28T17:26:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18848 wikitext text/x-wiki {{-en-}} === Magac === '''holiday''' # [[fasax]] 1bnvhqtgjwn27r09h9t5zerl6lo68ar dish 0 2875 18642 14293 2017-04-28T17:25:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18642 wikitext text/x-wiki {{-en-}} === Magac === '''dish''' # [[saxan]] 3noge1z89jzelrahjq2xqs9ktt78hzc understand 0 2876 19432 16710 2017-04-28T17:30:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19432 wikitext text/x-wiki {{-en-}} === Magac === '''understand''' # [[fahmid]] h6s4c3us0lq4ia6e7e7ld8xg6nvr21n key 0 2877 18928 17382 2017-04-28T17:27:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18928 wikitext text/x-wiki {{-en-}} === Magac === '''key''' # [[fure]] ohrq5y6xmwzj7e73hp9yd2vy5a6ip0e medicine 0 2878 19024 18178 2017-04-28T17:27:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19024 wikitext text/x-wiki {{-en-}} === Magac === '''medicine''' # [[dawo]] giswxfev1vtqs3aouuilqfdwzj17b8h town 0 2879 19403 17218 2017-04-28T17:30:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19403 wikitext text/x-wiki {{-en-}} === Magac === '''town''' # [[magaalo]] f55bbirrscpq1ifp5vo5rs0qpne3s4i river 0 2880 19224 12969 2017-04-28T17:29:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19224 wikitext text/x-wiki {{-en-}} === Magac === '''river''' # [[webiyada]] 4ajeyd2jtx3xf77876tclx7wbncubty sea 0 2881 19258 15964 2017-04-28T17:29:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19258 wikitext text/x-wiki {{-en-}} === Magac === '''sea''' # [[bad]] 2rwvk7mwvrvjxq3zwde1y28a0ksgfie coast 0 2882 18579 18204 2017-04-28T17:24:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18579 wikitext text/x-wiki {{-en-}} === Magac === '''coast''' # [[xeeb]] 3xiejhxp3aq64mkmua0butprf68qlf0 enzyme 0 2883 18710 15816 2017-04-28T17:25:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18710 wikitext text/x-wiki {{-en-}} === Magac === '''enzyme''' # [[ensiim]] 4w8vtcz6dh3flnjoepmn74xk0ah5gvg User:Base/vector.css 2 2884 8512 2013-02-03T17:23:21Z Base 857 Global CSS creation/upgrade 8512 css text/css @import url('http://meta.wikimedia.org/w/index.php?title=User:Base/global.css&action=raw&ctype=text/css'); 0ad8lnwox1r6cybruweme61168kinbz User:Green Mostaza/common.js 2 2885 17930 11578 2017-02-16T13:44:49Z Savh 517 Savh moved page [[User:Allan Aguilar/common.js]] to [[User:Green Mostaza/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Allan Aguilar|Allan Aguilar]]" to "[[Special:CentralAuth/Green Mostaza|Green Mostaza]]" 17930 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Ralgis/global.js&action=raw&ctype=text/javascript'); oo0enx1togksp1hr5zyhtjklhr9da8p User:Gwickwire/common.js 2 2886 8521 2013-02-05T03:49:40Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Gwickwire]]) 8521 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Gwickwire/global.js&action=raw&ctype=text/javascript'); oaavw6b7a7c9mzidklcpj7cy103llx9 User:Sumone10154/common.js 2 2887 8560 2013-02-18T01:31:15Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Sumone10154]]) 8560 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sumone10154/global.js&action=raw&ctype=text/javascript'); 3kscmjhjt7420t3gpmzm2hurkmq8zey User:Meisam/common.js 2 2888 8561 2013-02-18T03:01:20Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Meisam]]) 8561 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Meisam/global.js&action=raw&ctype=text/javascript'); q97zabc65asw699merw8wy1dbbqvvpq User:GhalyBot 2 2893 8595 2013-03-24T16:07:16Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by GhalyBot]]) 8595 wikitext text/x-wiki [[File:Redirectltr.png|#REDIRECT|link=]]<span style="font-size: 150%"> Hello, this is a bot account run by [[:m:arz:User:Ghaly|Ghaly]]. My main wiki is the Masry (Egyptian Arabic) Wikipedia. GhalyBot account has a global bot flag. For any issues related to the bot you can leave a message on [[:m:arz:User talk:Ghaly]].</span><br /><span style="font-size:85%; padding-left:52px;">This page is a soft redirect.</span> shmxs3o3p54w2v16devbf97xnomwbi0 User:MJ94/common.js 2 2894 8596 2013-03-24T16:47:22Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by MJ94]]) 8596 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:MJ94/global.js&action=raw&ctype=text/javascript'); h49gs4mgd3t5c9wyrikjug5zvkpn7kv User:Vacation9/common.js 2 2895 8597 2013-03-24T17:52:56Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Vacation9]]) 8597 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Vacation9/global.js&action=raw&ctype=text/javascript'); d2r5k2culovici3hq4kxyskbldp19jp User:MarcGarver/common.js 2 2898 20677 8600 2021-12-23T10:15:45Z Ternarius 2697 Ternarius moved page [[User:QuiteUnusual/common.js]] to [[User:MarcGarver/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/QuiteUnusual|QuiteUnusual]]" to "[[Special:CentralAuth/MarcGarver|MarcGarver]]" 8600 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:QuiteUnusual/global.js&action=raw&ctype=text/javascript'); ozkxsiaxnjtqzex00x2y77f845nf2wv User:Soul Train/common.js 2 2899 8601 2013-03-25T01:14:37Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Soul Train]]) 8601 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Soul Train/global.js&action=raw&ctype=text/javascript'); 6qwcojg9yj8tlbkjmf64ogd88cnbepz User:Razr Nation/common.js 2 2900 15707 8602 2015-12-30T19:05:56Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21/common.js]] to [[User:Razr Nation/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15707 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hahc21/global.js&action=raw&ctype=text/javascript'); bs42x31d4gl13hy71n4x1xvrisbvycp User:RileyBot/Stop 2 2901 8611 2013-04-16T05:26:53Z RileyBot 950 Disabling checkpage on all Wikimedia sites RileyBot is not flagged to run on. 8611 wikitext text/x-wiki disable nxtahk3t41kbuldajcexl2qzue0v1og User:S.M.Samee 2 2902 8614 2013-04-28T19:16:36Z Hoo User Page Bot 603 Creating global user page, per request https://meta.wikimedia.org/w/index.php?diff=5240959&oldid=5239167 8614 wikitext text/x-wiki {{softredirect|w:en:User talk:S.M.Samee}} g7rqs6n50baydaqxems7vzo0y6ix12g User:Razr Nation 2 2904 15703 8617 2015-12-30T19:05:28Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21]] to [[User:Razr Nation]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15703 wikitext text/x-wiki <div style="position: relative; margin: 0 -1em; padding: 0; background-color: transparent; border: 1px none #ddd; height: 1%;"> <div style="position: relative; margin: 0 auto; background: #DED3CF; width: 950px; border: 1px solid #cccccc; height: 1%;"> <div style="position: relative; overflow: hidden; height:750px;"><!-- Height of the main image --> <div style="position: relative; overflow: hidden; margin: 0;">[[File:Nature at Caracas (27).jpg|1000px]]</div> </div> <div style="position: absolute; top: 0; width: 100%; height: 100%;"> <div style="position: absolute; left: 0.9em; top: 1em; z-index: 10; width: 250px; border: none; background-color:none;"> <!-- START LEFT USERBOXES --> <div style="opacity: 0.8; -moz-opacity: 0.8;"> <!-- END LEFT USERBOXES --> </div></div> <div style="position: absolute; right: 0.4em; top: 1em; z-index: 10; width: 250px; border: none; background-color:none;"> <!-- START RIGHT USERBOXES --> <div style="opacity: 0.8; -moz-opacity: 0.8;"> <!-- END RIGHT USERBOXES --> </div></div></div> </div> <br> {| style="font-family:Tahoma; background-color: #FFFFFF; border: 1px solid #CCCCCC; width:950px" cellpadding="15" align="center" | [[File:Razr Nation logo.png|center]] <center>| <span class="plainlinks">[[Special:Contributions/Hahc21|contribs]] · [[:luxo:Hahc21|cross-wiki]] · [http://en.wikichecker.com/user/?t=Hahc21 wikichecker] · [http://meta.wikimedia.org/wiki/Identification_noticeboard identified] · [{{fullurl:Special:Listusers|limit=1&username=Hahc21}} lu]</span> |</center> <center>| '''Me at''': [[:d:User:Hahc21|Wikidata]] · [[:n:es:Usuario:Hahc21|Spanish Wikinews]] · [[:en:User:Hahc21|English Wikipedia]] · [[:commons:User:Hahc21|Commons]] · [[:m:User:Hahc21|Meta]] |</center> |} sdqdwk0m4lgow9bnif51kxlxkf0pf1u User:Pratyya Ghosh 2 2906 20321 10864 2020-05-02T21:34:14Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Pratyya Ghosh]]) 20321 wikitext text/x-wiki <!------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------- NOTE THIS PLEASE. BEFORE MAKING ANY KIND OF EDITS / CHANGES TO THIS PAGE PLEASE LET ME KNOW AT ANY OF THE LINKS GIVEN AT THIS PAGE. IF YOU TRANSLATE / WANT TO TRANSLATE THIS PAGE IN SOME OTHER / MAIN LANGUAGE OF THIS WIKIMEDIA PROJECT, LET ME KNOW, AND THEN GO AHEAD. I'LL REALLY APPRECIATE THAT. BUT PLEASE DON'T BREAK ANY CODE. THANKS TO YOU FOR READING AND FOLLOWING THE WORDS. -------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------> {{DISPLAYTITLE:<span style="font: bold 30px 'Cambria';">User:Pratyya Ghosh</span>}} <div style="font-family: Cambria"> <table style="width: 750px; background-color:#f9f9f9; border-color: black; margin-left: auto; margin-right: auto;" border="14"> <tr style="height: 300px;"> <td style="width: 521px; height: 144px; border-color: #f9f9f9;"> <strong> <!----------------------------------------- START PARA 1 ----------------------------------------------> <p style="text-align: justify; padding-left: 7px; padding-right: 7px"> <span style="color:#006400"><big><big>'''HELLO AND WELCOME!'''</big></big></span> <br /> <big><big>This is '''Pratyya Ghosh''' </big></big><small><small>(check [[:commons:File:Pratyya Ghosh pronunciation.ogg|<u>'''THIS'''</u>]] out for the pronunciation).</small></small> <br /> I am from [[w:en:Bangladesh|'''Bangladesh''']], so I am a native speaker of [[w:en:Bengali Language|'''Bangla''']]. I can also frequently communicate using '''English''', and I can speak and understand '''Hindi'''.<br /> <br /> <span style="color:#B22222">I am not effectively active in this Wikimedia Project. If I've made any edit here, that is most probably an automated one. I do <u>NOT</u> visit this site often/regularly. So I can <u>NOT</u> guarantee a swift and quick reply, OR in WORST CASE, a reply.</span><br /> <br /> However, I am mostly active in the projects which uses the languages I know. <br /> So, if you want to <u>CONTACT ME</u> or <u>TALK TO ME</u> or know more about me, then please use the Wikimedia Projects mentioned below.<br /> </p> <!------------------------------------------- END PARA 1 -----------------------------------------------> <!----------------------------------------- START PARA 2 ----------------------------------------------> <p style="text-align: left; padding-left: 7px;"> ❏ <span style="color:#228B22"><big>'''Wikimedia Projects where I am mostly <u>active</u>:'''</big></span> * '''[[w:en:English Wikipedia|English Wikipedia]] ([[w:en:Main Page|enwiki]]) : [[w:en:User:Pratyya Ghosh|User Page]] ([[w:en:User talk:Pratyya Ghosh|talk page]]) ([[w:en:Special:Contributions/Pratyya_Ghosh|contributions]]) (<span class="plainlinks">[https://xtools.wmflabs.org/ec/en.wikipedia.org/Pratyya_Ghosh user-stats]</span>)''' * '''[[w:en:Bengali Wikipedia|Bangla Wikipedia]] ([[w:bn:প্রধান পাতা|bnwiki]]) : &nbsp;[[w:bn:ব্যবহারকারী:Pratyya Ghosh|User Page]] ([[w:bn:ব্যবহারকারী আলাপ:Pratyya Ghosh|talk page]]) ([[w:bn:বিশেষ:অবদান/Pratyya_Ghosh|contributions]]) (<span class="plainlinks">[https://xtools.wmflabs.org/ec/bn.wikipedia.org/Pratyya_Ghosh user-stats]</span>)''' </p> <!------------------------------------------- END PARA 2 -----------------------------------------------> </strong> </td> </tr> </table> </div> <!------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------- END OF CODE -------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------> o22gone0vn0cnupb7is833hah5g5p4f User:Grunt 2 2907 8660 2013-05-29T13:37:15Z 2.94.129.113 Познавательный пост (; 8660 wikitext text/x-wiki Клевое мнение ;) 1rdoyu9pdas6moig11np5lgc7sjv7ic User:Lukas²³ 2 2909 8670 2013-06-03T00:20:16Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Lukas²³]]) 8670 wikitext text/x-wiki Hello! I'm Lukas. As a member of the [[m:Small Wiki Monitoring Team|Small Wiki Monitoring Team]], I was probably just here to fix or revert unhelpful edits. You can contact me [[m:User talk:Lukas²³|here (Meta-Wiki)]]. {{#babel:de-N|en-3|fr-1}} Regards, [[m:User:Lukas²³|Lukas²³]] m757r6e97b6jywxzfvlsai29gq6iumx User talk:Xusenaxmad 3 2910 8675 2013-06-05T11:33:05Z Xusenaxmad 1020 Macalin jamicadeed iyo cilmi badhee 8675 wikitext text/x-wiki Xusen Axmad Casowe, wa macalin ka dhiga qeybta kambuyutarka jamacadda jabuuti. Haddan wuxu diyariya shahadda doktora xagga komputarka jamacadda ku tala magalada Grenoble ee wadanka Faransiska. Cilmi badhis buu ku sameeyo dhinac kompuyutar gareynta afka soomaliga iyo hal abuuris dakhli luuqada soomaliga o lo istacmalo sida tarjumida makinadeysan iyo sixid qoritanka afka soomaliga iwm. rxqqklxu6z4uo3g4nc7px07n5uf093s User talk:Glaisher 3 2915 8687 2013-06-15T11:51:11Z Glaisher 987 {{Softredirect|meta:User talk:Glaisher}} 8687 wikitext text/x-wiki {{Softredirect|meta:User talk:Glaisher}} eiuuslwnz5g0m7os2wxvk4awqpamo92 User:FrigidNinja/common.js 2 2916 8694 2013-07-02T03:14:35Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by FrigidNinja]]) 8694 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:FrigidNinja/global.js&action=raw&ctype=text/javascript'); 1ad7mvbfckmxgbqjjd3woeefbtvwdbl User:Knopfkind/common.js 2 2918 8696 2013-07-03T03:24:56Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Knopfkind]]) 8696 javascript text/javascript mw.loader.load("//de.wikipedia.org/w/index.php?title=Benutzer:Knopfkind/global.js&action=raw&ctype=text/javascript"); mxlwb5jbyijlz06up8aadcbgx7hebyi Raadso 0 2919 26004 19963 2023-11-20T23:50:06Z InternetArchiveBot 2625 Rescuing 4 sources and tagging 0 as dead.) #IABot (v2.0.9.5 26004 wikitext text/x-wiki {{-so-}} '''Raadso''' "Search" waxay utaagantahay amar raadin kusaleysan oo qof lagu amro tusaale: Raadso sheygan oo kale "Search like this thing" '''[[Raadso|Raadso Somali Social]]:''' Waa bog Social ah oo Somalida caalamka iskuxira https://web.archive.org/web/20130623010158/http://raadso.so/ | [[Raadso]] '''Raadso Somali Directory:''' Waa bog directory ah oo Ganacsiga Somalida laga baaro https://web.archive.org/web/20140111052048/http://www.raadso.so/directory/ '''Raadso Somali Translator:''' Waa bog tarjumaad sameeyo oo luuqada Somaliga iyo luqadaha caalamka isu fasira https://web.archive.org/web/20130710074007/http://www.raadso.so/dictionary/ Si aad cinwaan uga sameysato Raadso.so fadlan Riix halkan : https://web.archive.org/web/20130621025350/http://www.raadso.so/user/register r91jdkwhz2hxofehhnyyppcdoxvxu0m User:Limotecariu 2 2927 19995 8757 2018-02-12T12:57:30Z Cyberpower678 1609 Cyberpower678 moved page [[User:Etienfr]] to [[User:Limotecariu]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Etienfr|Etienfr]]" to "[[Special:CentralAuth/Limotecariu|Limotecariu]]" 19995 wikitext text/x-wiki {{#babel:es|ast-4|fr-3|it-3|ro-3|pt-2|en-2|ca-1|gl-1|so-0}} 05hbzzms3tq1grjsglrzg81740y2ank User:Jfblanc 2 2928 8760 2013-08-05T18:27:23Z Jfblanc 1074 Bog cusub: {{#babel:{{CONTENTLANGUAGE}}-0|oc-4|bg-1|bs-2|ca-3|cs-5|csb-1|dsb-1|en-5|es-5|fr-N|hr-2|hsb-1|it-3|kg-1|la-2|pt-1|ro-1|ru-1|sc-1|sh-2|sk-2|sr-1|uk-1}} File:Joan Francés Blanc (2013)... 8760 wikitext text/x-wiki {{#babel:{{CONTENTLANGUAGE}}-0|oc-4|bg-1|bs-2|ca-3|cs-5|csb-1|dsb-1|en-5|es-5|fr-N|hr-2|hsb-1|it-3|kg-1|la-2|pt-1|ro-1|ru-1|sc-1|sh-2|sk-2|sr-1|uk-1}} [[File:Joan Francés Blanc (2013).png|160px|thumb|left|Joan Francés Blanc [[file:Flag of Occitania (with star).svg|30px]]<br/>[http://viaf.org/viaf/12524914/ VIAF] [http://catalogue.bnf.fr/ark:/12148/cb14439152q/PUBLIC BNF] [http://openlibrary.org/authors/OL6980982A/Joan_Franc%C3%A9s_Blanc Open Library] [http://www.linkedin.com/in/jfblanc LinkedIn] [http://jf.blanc.free.fr WWW] [https://plus.google.com/117898583907965462166 G+] ]] Joan Francés Blanc, username Jfblanc, sysop at the [http://oc.wikipedia.org Occitan wikipedia], with over 17,000 contributions since 2005, and over 30,000 to all the wikimedia projects since 2007. This wiki has '''{{NUMBEROFARTICLES}}''' articles. qw1dua582o3ihd1rab2v2q5q54cw02t User:Nirakka/common.js 2 2929 8793 2013-08-16T20:25:35Z Nirakka 1086 global JS from meta 8793 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Nirakka/global.js&action=raw&ctype=text/javascript'); ivy7jznevtbkfvg3gj0p9ywoh3uph4k User:Nirakka 2 2936 8812 2013-08-31T23:36:18Z Nirakka 1086 creating user page (script edit) 8812 wikitext text/x-wiki {{#babel:de-N|en-3|so-0}} I help [[meta:Small Wiki Monitoring Team|monitoring small wikis]]. For further information see [[meta:User:Nirakka]]. [[File:Wikipedia h2g2.jpg|400px|center]] to6hxdrk0g2nyah0uyjzzfjtao4ongi User:Romaine 2 2939 8818 2013-09-15T15:51:28Z Romaine 189 Bog cusub: * '''(nl)''': Deze gebruikerspagina is van een gebruiker die het meest actief is op de Nederlandstalige Wikipedia. <br /> * '''(en)''': This userpage is from a frequent wikipedian from... 8818 wikitext text/x-wiki * '''(nl)''': Deze gebruikerspagina is van een gebruiker die het meest actief is op de Nederlandstalige Wikipedia. <br /> * '''(en)''': This userpage is from a frequent wikipedian from the Dutch Wikipedia. <br /> * '''(de)''': Diese Benutzerseite ist von einem Benutzer von der Niederländischen Wikipedia.<br /> <br /> :::[[File:2rightarrow.png|20px]] My homewiki is located at: [[w:nl:Gebruiker:Romaine]]<br /> <br /> [[File:2rightarrow.png|20px]] If you want to contact me, please write a message on my nl-Wikipedia [//nl.wikipedia.org/w/index.php?title=Overleg_gebruiker:Romaine&action=edit&section=new talk-page]. <small> :* Please mention that it takes some time before messages on my talkpage of this project are seen. </small> ---- fvpgewpgeoxumpoq8myg9ggbo5djq5k User talk:Romaine 3 2940 8819 2013-09-15T15:51:28Z Romaine 189 Bog cusub: * '''(nl)''': Deze gebruikerspagina is van een gebruiker die het meest actief is op de Nederlandstalige Wikipedia. <br /> * '''(en)''': This userpage is from a frequent wikipedian from... 8819 wikitext text/x-wiki * '''(nl)''': Deze gebruikerspagina is van een gebruiker die het meest actief is op de Nederlandstalige Wikipedia. <br /> * '''(en)''': This userpage is from a frequent wikipedian from the Dutch Wikipedia. <br /> * '''(de)''': Diese Benutzerseite ist von einem Benutzer von der Niederländischen Wikipedia.<br /> <br /> :::[[File:2rightarrow.png|20px]] My homewiki is located at: [[w:nl:Gebruiker:Romaine]]<br /> <br /> [[File:2rightarrow.png|20px]] If you want to contact me, please write a message on my nl-Wikipedia [//nl.wikipedia.org/w/index.php?title=Overleg_gebruiker:Romaine&action=edit&section=new talk-page]. <small> :* Please mention that it takes some time before messages on my talkpage of this project are seen. </small> ---- fvpgewpgeoxumpoq8myg9ggbo5djq5k User:Knopfkind/common.css 2 2942 8824 2013-09-15T22:23:17Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by Knopfkind]]) 8824 css text/css @import "//de.wikipedia.org/w/index.php?title=Benutzer:Knopfkind/global.css&action=raw&ctype=text/css"; cecddlyfgkfe7ic5sztx0q3nzchdsal User:Razr Nation/common.css 2 2943 15705 8825 2015-12-30T19:05:56Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21/common.css]] to [[User:Razr Nation/common.css]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15705 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:Hahc21/global.css&action=raw&ctype=text/css"; 7g4x6knmp3vyc37fzpnizhtomrecyso User:Bellayet/common.js 2 2944 8828 2013-09-18T00:43:26Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Bellayet]]) 8828 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Bellayet/global.js&action=raw&ctype=text/javascript'); b52e6o2o28jg360opd5q4leedft135q User:*Youngjin/common.js 2 2945 19985 8829 2017-12-06T23:06:45Z Revi C. 1124 -revi moved page [[User:분당선M/common.js]] to [[User:*Youngjin/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19985 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:%EB%B6%84%EB%8B%B9%EC%84%A0M/global.js&action=raw&ctype=text/javascript'); mbvzo0n6smqy1qq9skech5273xqjsm9 User:LlamaAl/common.css 2 2951 8837 2013-09-19T03:36:50Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by LlamaAl]]) 8837 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:LlamaAl/global.css&action=raw&ctype=text/css"; keqd1vd77jud9evny17wbnai8awv1wh User:LlamaAl 2 2952 8838 2013-09-19T04:01:50Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by LlamaAl]]) 8838 wikitext text/x-wiki __NOINDEX__ [[:m:user:LlamaAl]] 5k6cylbo9luu5ncjnu4ax2hqsbnvydt User talk:LlamaAl 3 2953 8839 2013-09-19T04:23:58Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by LlamaAl]]) 8839 wikitext text/x-wiki __NOINDEX__ [[:m:user talk:LlamaAl]] oub4g2jl4r1fb2czujsn6wgu83g97l3 User talk:Wim b 3 2956 8847 2013-09-23T01:06:12Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Wim b]]) 8847 wikitext text/x-wiki <div class="mw-content-ltr"> {{#babel:it|en-2|so-0}} :'''Talk''': my user talk on [[:m:it:wikt:User talk:Wim b|it.wikt]] :'''Info''': my user page on [[m:User:Wim b|Meta]] '''You can contact me also''' : * [irc://irc.freenode.net/wiktionary-it '''#wiktionary-it'''] * [irc://irc.freenode.net/wikipedia-it '''#wikipedia-it'''] * [irc://irc.freenode.net/wikbooks-it '''#wikibooks-it'''] * [irc://irc.freenode.net/wikivoyage-it '''#wikivoyage-it'''] * [irc://irc.freenode.net/wikimedia-admin '''#wikimedia-admin'''] * [irc://irc.freenode.net/wikimedia-gs '''#wikimedia-gs'''] </div> pxr2qfwo46xbxj5ilb8xvy1ayxxngju MediaWiki:Deletereason-dropdown 8 2962 8856 2013-09-24T13:06:15Z MarcGarver 932 +spam 8856 wikitext text/x-wiki *Common delete reasons ** Author request ** Copyright violation ** Vandalism **Spam 2vfvjsue4f2xioidv8lg1kmt211qwur User:Spacebirdy/common.css 2 2964 8858 2013-09-26T01:56:58Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by Spacebirdy]]) 8858 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:Spacebirdy/altækt.css&action=raw&ctype=text/css"; bqvpi9d4fil15fheszanjeyelf7804e User:Spacebirdy/common.js 2 2965 20470 8859 2021-01-31T09:09:22Z Ladsgroup 1724 Maintenance: Replacing importScriptURI with mw.loader.load ([[phab:T95964]]) 20470 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Spacebirdy/altækt.js&action=raw&ctype=text/javascript'); km9s3o2cm5a2pnznrsp9bowpmbklnry User:Sergio Andres Segovia/common.js 2 2970 8865 2013-09-28T19:35:10Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Sergio Andres Segovia]]) 8865 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sergio Andres Segovia/global.js&action=raw&ctype=text/javascript'); kw7fnwvspulwu42vm2yj6n3qot7g4tk User:Behemot leviatan/common.js 2 2971 8866 2013-09-28T19:57:48Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Behemot leviatan]]) 8866 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Behemot leviatan/global.js&action=raw&ctype=text/javascript'); dvsds5g4drwbhfmo1jvecbjsjdzug3v User:Revi C. 2 2973 32271 14428 2024-11-04T08:13:49Z HakanIST 1641 HakanIST moved page [[User:-revi]] to [[User:Revi C.]]: Automatically moved page while renaming the user "[[Special:CentralAuth/-revi|-revi]]" to "[[Special:CentralAuth/Revi C.|Revi C.]]" 14428 wikitext text/x-wiki __NOINDEX__ <div class="mw-content-ltr" lang="en" dir="ltr"> {{#babel:ko|en-3|so-0}} [[File:Revi wikimedia image.jpg|thumb|center|middle|If you are here to talk about CommonsDelinker removing a deleted image, please [[:c:User talk:-revi|go here]].]] Hello! I am [[:m:User:-revi|Revi]]. I edit to [[m:SWMT|revert vandals]], do Wikidata stuff (I am a Wikidata Admin! <small>([{{fullurl:wikidata:Special:ListUsers/-revi|limit=1}} Verify])</small>), or do [[:c:COM:FR|Commons Filemoving stuff]] (I am Commons Admin too! <small>([{{fullurl:c:Special:ListUsers/-revi|limit=1}} Verify])</small>). Come to [[:m:User:-revi|my Meta userpage]] or [[:c:User:-revi|my Commons userpage]] for more information. Thank you. ---- This is not a [[mw:Extension:GlobalUserPage|GlobalUserPage]] provided userpage. It's maintained per-wiki basis and I am not willing to change it. 1w8os13x19ycdrew2wkl89wab6rmvno User talk:Revi C. 3 2974 32270 11535 2024-11-04T08:13:49Z HakanIST 1641 HakanIST moved page [[User talk:-revi]] to [[User talk:Revi C.]]: Automatically moved page while renaming the user "[[Special:CentralAuth/-revi|-revi]]" to "[[Special:CentralAuth/Revi C.|Revi C.]]" 11535 wikitext text/x-wiki __NOINDEX__<div class="mw-content-ltr" lang="en" dir="ltr">[[File:Revi logo (pink).png|thumb|center|<span style="color:red">PLEASE DO NOT LEAVE MESSAGE HERE!</span>]] ''' <span style="color:red">Before blocking my account: if you're blocking me for edits with summaries containing </span>''(Script)''<span style="color:red">, just tell me to slow down at [[:c:User talk:-revi]] instead. Those are automated script edits for Commons' filemove system.</span> Please leave your message at one of the following sites:<br /> [[File:Wikidata-logo-en.svg|45px|link=d:User talk:-revi]] [[d:User talk:-revi]] for Wikidata/interwikilinks stuff (I'm one of the {{int:Group-sysop}} there);<br /> [[File:Commons-logo.svg|45px|link=commons:User talk:-revi]] [[commons:User talk:-revi]] for renaming stuff or [[User:CommonsDelinker|CommonsDelinker]] actions (I'm one of the {{int:Group-sysop}} there);<br /> [[File:Wikimedia Community Logo optimized.svg|45px|link=m:User talk:-revi]] [[meta:User talk:-revi]] for other stuff (like user right notifications or revert messages).</div> lwjsr976jdsq551jmw5zumkbtvudhn1 User:*Youngjin/common.css 2 2979 19983 8877 2017-12-06T23:06:45Z Revi C. 1124 -revi moved page [[User:분당선M/common.css]] to [[User:*Youngjin/common.css]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19983 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:%EB%B6%84%EB%8B%B9%EC%84%A0M/global.css&action=raw&ctype=text/css"; gt41tyc1mmomd9lj9qv6vtr76ycszo0 User talk:Pratyya Ghosh 3 2982 20322 8885 2020-05-02T22:58:43Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Pratyya Ghosh]]) 20322 wikitext text/x-wiki <!------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------- BEGIN -------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------> {{DISPLAYTITLE:<span style="font: bold 30px 'Cambria';">User talk:Pratyya Ghosh</span>}} <div style="font-family: Cambria"> <table style="width: 750px; background-color:#f9f9f9; border-color: black; margin-left: auto; margin-right: auto;" border="14"> <tr style="height: 300px;"> <td style="width: 521px; height: 144px; border-color: #f9f9f9; font-weight: bold;"> <!----------------------------------------- START PARA 1 ----------------------------------------------> <p style="text-align: justify; padding-left: 7px; padding-right: 7px"> <big><big><span style="color:#006400">'''HELLO AND WELCOME'''</span> to the talk page of '''Pratyya Ghosh'''</big></big> <small><small>([[:commons:File:Pratyya Ghosh pronunciation.ogg|<u>'''pronunciation'''</u>]])</small></small> <br /> Before placing any message here, I would ask you to TAKE A LOOK at my [[User:Pratyya Ghosh|<u>'''user page'''</u>]] on this wiki. <br /> If you have come here after looking at my user page, then once again I would like to mention the fact that, </p> <!------------------------------------------- END PARA 1 -----------------------------------------------> <!----------------------------------------- START PARA 2 ----------------------------------------------> <p style="text-align: justify; padding-left: 50px; padding-right: 110px"> <small> <span style="color:#B22222">I am not effectively active in this Wikimedia Project. If I've made any edit here, that is most probably an automated one. I do <u>NOT</u> visit this site often/regularly. So I can <u>NOT</u> guarantee a swift and quick reply, OR in WORST CASE, a reply.</span><br /> So, if you want to <u>CONTACT ME</u> or <u>TALK TO ME</u> or know more about me, then please use the Wikimedia Projects mentioned below.<br /> ⦿ '''[[w:en:English Wikipedia|English Wikipedia]] ([[w:en:Main Page|enwiki]]) : [[w:en:User:Pratyya Ghosh|User Page]] ([[w:en:User talk:Pratyya Ghosh|talk page]]) ([[w:en:Special:Contributions/Pratyya Ghosh|contributions]]) (<span class="plainlinks">[https://xtools.wmflabs.org/ec/en.wikipedia.org/Pratyya_Ghosh user-stats]</span>)'''<br /> ⦿ '''[[w:en:Bengali Wikipedia|Bangla Wikipedia]] ([[w:bn:প্রধান পাতা|bnwiki]]) : &nbsp;[[w:bn:ব্যবহারকারী:Pratyya Ghosh|User Page]] ([[w:bn:ব্যবহারকারী আলাপ:Pratyya Ghosh|talk page]]) ([[w:bn:বিশেষ:অবদান/Pratyya Ghosh|contributions]]) (<span class="plainlinks">[https://xtools.wmflabs.org/ec/bn.wikipedia.org/Pratyya_Ghosh user-stats]</span>)''' </small> </p> <!------------------------------------------- END PARA 2 -----------------------------------------------> <!----------------------------------------- START PARA 3 ----------------------------------------------> <p style="text-align: justify; padding-left: 7px; padding-right: 7px"> Yet if you want to place message here, then please FOLLOW THESE NOTES:<br /> ⚫ Do NOT [[w:en:Wikipedia:Vandalism|Vandalize]] this page. I WON'T be appreciating you for that.<br /> ⚫ Be on point. Please don't put some unnecessary message or bring up any irrelevant issues.<br /> ⚫ Use a language which I understand. (Otherwise, even if I see your message, I might not be able to reply.)<br /> ⚫ BE <u>CIVIL</u> and MAINTAIN <u>ETIQUETTE</u>.<br /> ⚫ Finally, you MUST sign your post with <nowiki>~~~~</nowiki><br /> </p> <!------------------------------------------- END PARA 3 -----------------------------------------------> </td> </tr> </table> <!------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------- START BELOW THIS PARA. DO NOT CHANGE ANYTHING ABOVE THE LINE. BEFORE PLACING ANY MESSAGE HERE, ONCE AGAIN, I AM NOT EFFECTIVELY ACTIVE IN THIS WIKIMEDIA PROJECT. IF I'VE MADE ANY EDIT HERE, THAT IS MOST PROBABLY AN AUTOMATED ONE. I DO NOT VISIT THIS SITE OFTEN/REGULARLY. SO I CAN NOT GUARANTEE A SWIFT AND QUICK REPLY, OR IN WORST CASE, A REPLY. -------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------> 9qtlaulm2q8nlzm95nj3cdbnjjsv70g User:TCN7JM 2 2985 8889 2013-10-27T20:28:53Z TCN7JM 1152 Editing global userpage 8889 wikitext text/x-wiki {{DISPLAYTITLE:<font face="Tahoma">User:</font><font color="blue" face="Tahoma">T</font><font color="red" face="Tahoma">C</font><font color="gray" face="Tahoma">N7</font><font face="Tahoma">JM</font>}} <center><font face="Tahoma">[[w:en:User:TCN7JM|English Wikipedia]] &mdash; [[d:User:TCN7JM|Wikidata]] &mdash; [[w:simple:User:TCN7JM|Simple English Wikipedia]] &mdash; [[m:User talk:TCN7JM|Contact me]]</font></center> [[File:TCN7JM Global Userpage.png|center|middle]] 4v20vrzaoqwfb827ef0df1x3hxhxdgv User:William915 2 2986 8891 2013-10-29T09:31:36Z William915 1144 Editing global userpage 8891 wikitext text/x-wiki __NOINDEX__ <div style="min-height: 57px; border: 1px solid #aaaaaa; background-color: #f9f9f9; width: 50%; margin: 0 auto 1em auto; padding: .2em; text-align: justify;"> <div style="float: left">[[File:Wiki.png|50px]]</div> <div style="margin-left: 60px">This page can be found at '''[[:w:en:User:William915|w:en:User:William915]]'''.<br /> ''This is an interwiki redirect''.</div> </div> {{#babel:zh|yue|en-3|so-0}} fhslnm9o0l1fs9u2qpp18973kqwqws0 User:Renamed user 9thz5duyuxms 2 2988 23180 19991 2023-03-11T10:36:39Z Taketa 1434 Taketa moved page [[User:KernelFreeze]] to [[User:Renamed user 9thz5duyuxms]]: Automatically moved page while renaming the user "[[Special:CentralAuth/KernelFreeze|KernelFreeze]]" to "[[Special:CentralAuth/Renamed user 9thz5duyuxms|Renamed user 9thz5duyuxms]]" 19991 wikitext text/x-wiki {{#babel:es-N|en-3|fr-1|}} {{#switch: {{CONTENTLANG}} | es = <div class="mw-content-ltr" lang="es" dir="ltr">Hola. Yo no edito mucho aquí, pero soy un miembro de [[m:Special:MyLanguage/Small Wiki Monitoring Team|el Small Wiki Monitoring Team]]. Tu puedes encontrarme en Meta o en Wikipedia en idioma español: [[m:User:Miguel2706]], [[m:es:User:Miguel2706]]. </div> |<div class="mw-content-ltr" lang="en" dir="ltr">Hello. I do not edit here much, but I am a member of [[m:Special:MyLanguage/Small Wiki Monitoring Team|the Small Wiki Monitoring Team]]. You can find me on Meta or Wikipedia in spanish language: [[m:User:Miguel2706]], [[m:es:User:Miguel2706]]. </div> }} [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Miguel2706|Meta:{{ns:3}}:Miguel2706]] l3tno7zc02yw4ouhjtw497l8zfc7zth User:Renamed user 9thz5duyuxms/common.js 2 2989 23181 19993 2023-03-11T10:36:39Z Taketa 1434 Taketa moved page [[User:KernelFreeze/common.js]] to [[User:Renamed user 9thz5duyuxms/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/KernelFreeze|KernelFreeze]]" to "[[Special:CentralAuth/Renamed user 9thz5duyuxms|Renamed user 9thz5duyuxms]]" 19993 javascript text/javascript // Created using [[m:User:PiRSquared17/Global Userpage]] (feel free to remove this line) mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Miguel2706/global.js&action=raw&ctype=text/javascript'); mt87reyatdkpnh0iayjh58yfkjvfwj1 User:AmaryllisGardener 2 2991 8916 2013-11-17T14:38:26Z AmaryllisGardener 1168 Editing global userpage 8916 wikitext text/x-wiki {{#babel:en|sco-2|pih-1|nov-1}} b0yvcx7beool1djayxe8ixy1apoijrs User:Kolega2357 2 2992 8919 2013-11-18T14:23:39Z Kolega2357 1176 Editing global userpage 8919 wikitext text/x-wiki <div align="center" class="usermessage">[[File:Internet-group-chat.svg|left|25px]] '''<span class="plainlinks">Send me a new message [https://meta.wikimedia.org/w/index.php?title=User_talk:Kolega2357&action=edit&section=new here]</div> 66zgvzht0wewtwfteswq66hkbdv574w User:Jayantanth 2 2993 8920 2013-11-18T14:54:26Z PiRSquared17 388 Fixing userpage (per request). 8920 wikitext text/x-wiki {{#babel:bn|en-1}} <div class="mw-content-ltr" lang="en" dir="ltr"> Hello. I do not edit here much. You can find me on [[m:bn:User:Jayantanth|the Bengali Wikipedia]] or [[m:User:Jayantanth|Meta]]. </div> <!--This can be used to make a redirect arrow.-->[[File:Redirect arrow without text.svg|46px|link=]][[m:bn:User talk:Jayantanth|w:bn:{{ns:3}}:Jayantanth]] ([[m:w:User talk:Jayantanth|en]], [[m:User talk:Jayantanth|Meta]]) iswgnavz6i0274lvy2730ubtx5kv9qb User:TBloemink 2 2996 8925 2013-11-25T12:53:10Z TBloemink 527 Editing global userpage 8925 wikitext text/x-wiki <!--This is just an example. Edit it to make it yours. PLEASE CHANGE THE BABEL AND CONTENT. THIS IS 100% YOUR RESPONSIBILITY. --> <div class="mw-content-ltr" lang="en" dir="ltr">Hello. I do not edit here much, but I am a member of [[m:Special:MyLanguage/Small Wiki Monitoring Team|the Small Wiki Monitoring Team]]. You can find me on Meta [[m:User:TBloemink|here]]. </div> [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:TBloemink|m:{{ns:3}}:TBloemink]] qybcofzlzv3draz0hxv2g3uclqg09za User talk:*Youngjin 3 3006 19986 8967 2017-12-06T23:06:45Z Revi C. 1124 -revi moved page [[User talk:분당선M]] to [[User talk:*Youngjin]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19986 wikitext text/x-wiki <div style="border:1px solid; background-color:#E8E8E8; margin:10px; padding:10px"> [[File:Gnome-help-faq.svg|100px|left]] <big> ''' NOTICE''' I am not active in here exapt SWMT works. So I may not replay quicly, Instead please visit my [[m:user talk:분당선M|Meta-wiki user talk page]]. Thank you </big> qhdktpypuswez5axawcgeouy42wixwq User:Alexander Mikhalenko 2 3007 12568 9046 2015-02-23T11:06:01Z Alexander Mikhalenko 1049 12568 wikitext text/x-wiki {{#Babel:ru|uk-4|de-3|en-3|fr-3|es-2|it-2|so-0}} [[de:Benutzer:Alexander Mikhalenko]] [[en:User:Alexander Mikhalenko]] [[es:Usuario:Alexander Mikhalenko]] [[fr:Utilisateur:Alexander Mikhalenko]] [[ru:Участник:Alexander Mikhalenko]] 93684zg2lzbkgtq85c7e0qibw3z5wl6 User:La fée Didier/common.js 2 3008 17911 9050 2017-02-15T23:58:58Z Litlok 1710 Litlok moved page [[User:Morphypnos/common.js]] to [[User:La fée Didier/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Morphypnos|Morphypnos]]" to "[[Special:CentralAuth/La fée Didier|La fée Didier]]" 17911 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Morphypnos/global.js&action=raw&ctype=text/javascript'); qrxr6dgh3gg23pvlzua88n4xx2yk05f User:JøMa/common.css 2 3011 9055 2014-01-20T21:58:06Z Pathoschild 41 global CSS ([[m:User:Pathoschild/Scripts/Synchbot|requested by JøMa]]) 9055 css text/css @import "//de.wikipedia.org/w/index.php?title=User:JøMa/global.css&action=raw&ctype=text/css"; b6im9giy1jl9jqfj9p8k1krtlppdc20 User:Jmvgpartner/common.js 2 3015 9060 2014-01-21T01:03:59Z Pathoschild 41 global JavaScript ([[m:User:Pathoschild/Scripts/Synchbot|requested by Jmvgpartner]]) 9060 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Jmvgpartner/global.js&action=raw&ctype=text/javascript'); 973biicq1oyeknwznhafa9banyrg90m User talk:Alan 3 3016 9062 2014-01-21T10:30:35Z Alan 1012 Editing global usertalk page 9062 wikitext text/x-wiki {{#babel:es-N|en-2|eu-3}} [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Alan|m:User talk:Alan]] k199yb4edrodawb5z4jl9cueesbzddb User:Ajraddatz 2 3022 9078 2014-02-02T03:49:53Z Ajraddatz 545 + 9078 wikitext text/x-wiki [[m:User:Ajraddatz]] 5hbxr3mct1ew0w5ohskiasbc73ah7cx User:Ismail4all 2 3023 9092 9091 2014-02-11T16:33:20Z Ismail4all 1215 9092 wikitext text/x-wiki __NOTOC__ {| |- valign="top" |style="padding-right:1em;" width="50%"| {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[User:ismail4all|Ismail Suge]]''' |- | style="background: ; text-align: center;" |[[File:BoNM Somalia3.jpg|left|50px]][[File:BoNM_Somalialand.jpg|right|50px]] |- | style="background: #f5fffa; text-align: center;" |[[File:BoNM_Somalia2.jpg|left|50px]][[File:BoNM_Somalia.jpg|right|50px]] |} Asalamu calaykum, magacaygu waa Ismaaciil Suge waxaan jecelahay inaan ka qeyb qaato kobcinta iyo ururint luuqadeena Hooyo ee af-Soomaaliga, sidaasi darteed wakhtiga aan firaaqada ahay waxaan isku dayi inaan qoro, wax ka bedelo iyo sameeyo bogag cusub iyo guud ahaan wixii aan awoodo. Wakhti xaadirkan waxaan ka mid ahay isticmaalayaasha iyo wax ka bedelayaasha [https://so.wikipedia.org Soomaali Wikipedia], waxaanad igala soo xidhiidhi kartaa halkan. [https://so.wikipedia.org/wiki/User:ismail4all Ismail Suge] {{#babel:so-N|en-2|ar-3}} [[File:Redirect arrow without text.svg|46px|link=]][[https://so.wikipedia.org/wiki/User:Ismail Ismail Suge]] [[https://so.wikipedia.org/wiki/User_talk:ismail4all my so.wikipedia User talk page]] {{TOC right}} == Igu saabsan == Waxaan ahay isticmaale mararka qaar wax ku qora [https://so.wiktionary.org Wiktionary Afka-Soomaaliga]. Waxaan aad u jecelahay horumarinta luuqadeena hooyo iyo in la helo macluumaad cilmiyeysan oo ku qoran [https://so.wikipedia.org/wiki/Soomaaliya Af-Soomaali]. Wixii awoodeyda ah waan ka qeeyb qaadan shaqadaas. Wixii macluumaad ama su'aal ah fadlan fariintaada iigu qor [[User_talk:ismail4all|'''Bogeyga wadahadalka''']]. {| width=100% style="border:1px solid #888888; background: none; color:#333333;" |width="70px" valign="top"|&nbsp;[[Image:crystal filetypes in gray.png|64px]] |'''Ku soo dhawoow Boggayga wadahadalka! Waxaan fariintaada kuugu soo jawaabi Boggaada, hadii aad tahay qof aan ciwaan ku lahayn wikipedia, halkan ayaan kuugu soo jawaabi.''' :Marka aad fariin ii reebeysid fadlan talaabooyinkan raac: ::* Waa in qoraalkaagu yeeshaa ciwaan sare adigo ku qoraya khaanada eey ku qoran tahay (subject/headline). ::* Hadii ay fariintaadu ka hadleeso Bog, fadlan ku qor magaca bogga. ::* Fadlan fariintaada haku darin fariimaha kale, qeyb yar oo cusub bilaaw... ::* Ha ilaawin inaad saxeexdo. ::* Fadlan wax cay ah ama aflagaado ah haku qorin meeshaan. [[Image:Exquisite-mail-arrow.png|20px]] '''<span class="plainlinks">[{{fullurl:User talk:ismail4all|action=edit&section=new}} Fariintaada meeshaan ku qor (Riix)]</span>''' |} == About Me == I'm Ismail Suge from [https://so.wiktionary.org/wiki/Soomaaliya Somalia], Degree of Education holder, 28 years old, currently living in Johannesburg. I like to spend my spare time to invest something useful for the whole community, that's why I'm active in [https://so.wikipedia.org Somali Wikipedia] where I'm currently a consecutive editor. I have know Wikipedia, and have been using and editing both Somali Wikipedia (since Feb 2013) and English Wikipedia (since 2010); and I never knew the existence of so.wiktionary. However, I'm here now to take part all the activity that's going on down here. For any questions, suggestions, advices and all info you can contact me by leaving a message in my [[User_talk:ismail4all|'''user talk''']]. [[Image:Exquisite-mail-arrow.png|20px]] '''<span class="plainlinks">[{{fullurl:User talk:ismail4all|action=edit&section=new}} Please '''PRESS HERE''' to leave a message]</span>''' |} {| width=100% style="border:1px solid #888888; background: none; color:#333333;" |width="70px" valign="top"|&nbsp;[[Image:crystal filetypes in gray.png|64px]] |'''Welcome Again! When leaving a message for me please remember these factors:''' :Note if you are not a Wiktionary/Wikipedia user I will answer you in my user talk page. ::* Start with subject/headline/title. ::* If your message is about a page, please add a link of the page or clear name of it. ::* Please don't mix your message with others... ::* And, don't forget to sign. [[Image:Exquisite-mail-arrow.png|20px]] '''<span class="plainlinks">[{{fullurl:User talk:ismail4all|action=edit&section=new}} Please '''PRESS HERE''' to leave a message]</span>''' |} [[en:User:ismail4all]] nho9u3ox9jjohk1rh4y1cuhlnkoxvdm User talk:Ismail4all 3 3024 20282 20281 2020-02-05T20:43:00Z 2A02:C7D:270:800:ECB3:3E4D:80F1:9B28 /* Taariikhda dhinaca ka raran ee Xeebjire */ 20282 wikitext text/x-wiki Ku soo dhawoow bogayga '''Wadahadalka'''. {| width=100% style="border:1px solid #888888; background: none; color:#333333;" |width="70px" valign="top"|&nbsp;[[Image:crystal filetypes in gray.png|64px]] |'''Ku soo dhawoow Boggayga wadahadalka! Waxaan fariintaada kuugu soo jawaabi Boggaada, hadii aad tahay qof aan ciwaan ku lahayn wikipedia, halkan ayaan kuugu soo jawaabi.''' :Marka aad fariin ii reebeysid fadlan talaabooyinkan raac: ::* Waa in qoraalkaagu yeeshaa ciwaan sare adigo ku qoraya khaanada eey ku qoran tahay (subject/headline). ::* Hadii ay fariintaadu ka hadleeso Bog, fadlan ku qor magaca bogga. ::* Fadlan fariintaada haku darin fariimaha kale, qeyb yar oo cusub bilaaw... ::* Ha ilaawin inaad saxeexdo. ::* Fadlan wax cay ah ama aflagaado ah haku qorin meeshaan. [[Image:Exquisite-mail-arrow.png|20px]] '''<span class="plainlinks">[{{fullurl:User talk:ismail4all|action=edit&section=new}} Fariintaada meeshaan ku qor (Riix)]</span>''' |} == doonaya caawin == asc mudane ismaciil suge, maadaama aad kamid tahay dadka u dhaqdhaqaaqa boor ka jafidda iyo casriyaynta afkeenna hooyo waxaan u baahanahay cawinaado kooban oo aan doonayo, waxaan ku hadlaa 5 af, waxaan hayaa macluumaad badan oo aan turjumay waxaan u baahanahay inaan iyagoo soomaaliyaysan bogga wikipedia soomaali kusoo camiro hase ahaatee magaranayo habka hawlahaas loo socodsiiyo oo aqoonta adeegsiga wikigu iguma badna sidaa darteed waxaan u baahanahay in layga caawiyo arrimahaas... mahadsanid ::Sxb soo dhawoow. Luuqadeena hooyo waxay u baahan tahay horumarin iyo dadaal badan. Si aan ula jaanqaadno dunida casriga ah, waxaa dhamaanteen ina saaran waajib. Walaal waxaad soo siyaarataa [https://so.wikipedia.org Soomaali Wikipedia] si aad u aragto howshu meesha ay marayso. Aniga waxaad igala soo xidhiidha [https://so.wikipedia.org/wiki/User_talk:Ismail4all halkan]. Soo dhawoow mar labaad. Ogoow in dadkaada iyo dadkaagu mar kasta kuu baahan yihiin. </br>Mahadsanid, [[User:Ismail4all|Ismaaciil Suge]] ([[User talk:Ismail4all|talk]]) 04:52, 29 May 2016 (UTC) --[[Special:Contributions/2A02:C7D:270:800:ECB3:3E4D:80F1:9B28|2A02:C7D:270:800:ECB3:3E4D:80F1:9B28]] 20:42, 5 Febraayo 2020 (UTC) 04ok4olsltleriewnnvtxbjo05z5anq qoys 0 3025 19964 19181 2017-08-09T14:04:36Z 200.130.64.1 19964 wikitext text/x-wiki {{-so-}} '''Qoys''' :Faahfaahin dheeraad ah fiiri [[Xubnaha Qoyska]]. == Soomaali == ::[https://so.wikipedia.org Wikipedia] waxaa ku jira bog ku saabsan [https://so.wikipedia.org/wiki/Qoys Qoyska (dad)] '''Qoys''', '''Faamili''' ([[ingiriis]]: family, "faamiliy"; [[carabi]]: عائلة, "caa'ila") waa tiro [[dad]] ah oo [[dhiig]] wadaaga ama [[guur]] ku midoobay iyo [[ilmo|ilmaha]] ay dhaleen. Qoysku waa dad isku xidhan oo asal iyo isir wadaag leh. {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{TOC right}} === Sharaxaad === Qoysku waa dad is-dhalay iyo wada-dhashay oo isir iyo magac wadaaga. Tirada dadka qoyska ahi waxay noqon karaan [[labo]] qof iyo wixii ka badan. Sida caadiga ah qoyska wuxuu ka kooban yahay [[aabo]], [[hooyo]], [[ilmo]] ([[wiil]]al iyo [[gabadh|gabdho]]). Waxaa intaasi soo raaci kara dadka qaraabada qoyska la nool oo ayaguna lagu tirin karo qoyska. == Ku Dhawaaqid == /qõýz/ˈfæməli/|/ˈfæmli/qóýs/ === Turjumaad === {{trans-top|aabo, hooyo iyo wiilashooda iyo gabdhahooda}} * {{ab}}: [[аҭаацәа]] (aţaacwa) * Afrikaanis: [[familie]] * Albaniyaan: [[familje]] * Amerikan Luuqada Tilmaamida: ''FAMILY'' * {{am}}: [[ቤተሰብ]] (betäsäb), [[ቤተሰቦች]] (betäsäboc), [[ዘመድ አዝማድ]] (zämäd azmad) * Carabi: [[عائلة]] (ʿā'ila), [[أسرة]] (ʾúsra) *: Carabiga Masar: [[عيلة]] (ʿéla) * {{an}}: [[familha]] * {{hy}}: [[ընտանիք]] (ëntanik') * Assamiis: [[পৰিয়াল]] (pôriyāl) * {{ast}}: [[familia]] * {{az}}: {{t+|az|ailə}} * {{ba}}: [[ғаилә]] (ğailä) * {{be}}: [[сям'я]] (sjam’já) * {{bn}}: [[পরিবার]] (pôribar) * Berber: *: Tashelhit: [[takat]] * Bereton: [[familh]], [[tiegezh]] * {{bg}}: [[семейство]] (semejstvo) * {{my}}: [[မိသားစု]] (mi. dha: zu.) * {{ca}}: [[família]] * {{ce}}: [[доьзал]] (dözal) * Cherokee: [[ᏏᏓᏁᎸᎯ]] (sidanelvhi) * {{zh}}: *: Mandarin: {{t+|cmn|家|tr=jiā|sc=Hani}}, {{t+|cmn|家庭|tr=jiātíng|sc=Hani}} * {{co}}: [[famiglia]] * {{cs}}: [[rodina]] * {{dlm}}: [[famalja]] * {{da}}: [[familie]] * Dhivehi: [[އާއިލާ]] (āilā) * {{nl}}: [[familie]], [[gezin]] * {{eo}}: [[familio]] * {{et}}: [[pere]], [[perekond]] * Ewe: {{t|ee|ƒome}} * {{fi}}: {{t+|fi|perhe}} * {{fr}}: {{t+|fr|famille|f}} * {{gl}}: [[familia]] * {{ka}}: [[ოჯახი]] (oǰaxi) * {{de}}: {{t+|de|Familie|f}} * {{el}}: [[οικογένεια]] (oikogéneia) * {{gu}}: [[પરિવાર]] (parivār) * {{ht}}: {{t|ht|fanmi}} * {{haw}}: [[ʻohana]] * {{he}}: [[משפחה]] (mishpakhá) * Hindi: [[परिवार]] (parivār), [[ख़ानदान]] (xāndān), [[बाल-बच्चे]] (bāl-bacce) * {{hu}}: {{t+|hu|család}} * {{is}}: {{t+|is|fjölskylda|f}} * Ido: {{t+|io|familio}} * {{id}}: {{t+|id|keluarga}}, {{t+|id|famili}} * Interlinguwa: {{t|ia|familia}} * Ayrish: {{t+|ga|clann|f}} * {{it}}: {{t+|it|famiglia|f}} * {{ja}}: {{t+|ja|家族|tr=かぞく, kazoku}}, {{t+|ja|家族|tr=ごかぞく, gokazoku|alt=ご家族|sc=Jpan}} * {{jv}}: {{t+|jv|brayat}} * Kannadays: [[ಆವಳಿ]] (āvaḷi) * {{kk}}: [[от басы]] (ot bası), [[әулет]] (äwlet), [[семья]] (sem'ya) * {{km}}: [[គ្រួសារ]] (krūəsā) * {{ko}}: [[가족]] (kajok) * {{ky}}: [[үй-бүлө]] (bülö), [[бүлө]] (bülö) * {{lo}}: [[ຄອບຄົວ]] (khööp-khua) * {{ltg}}: [[saime]] * {{la}}: {{t+|la|familia|f}} {{trans-mid}} * {{lv}}: {{t|lv|ģimene}}, {{t+|lv|saime|f}} * {{lt}}: {{t+|lt|šeima|f}}, {{t|lt|šeimyna|f}} * Luganda: {{t|lg|amaka}} * {{mk}}: [[семејство]] (sémejstvo), [[фамилија]] (famílija) * {{ms}}: {{t+|ms|keluarga}}, {{t|ms|famili}} * {{ml}}: {{t+|ml|തറവാട്|tr=taṟavāṭ|sc=Mlym}} * {{mt}}: {{t|mt|familja|f}} * Manx: {{t|gv|lught thie|m}}, {{t|gv|mooinjer|f}} * {{mr}}: {{t|mr|परिवार|tr=pariwār|sc=Deva}} * {{mn}}: {{t|mn|айл|tr=ajl|sc=Cyrl}}, {{t+|mn|овог|tr=ovog|sc=Cyrl}}, {{t|mn|гэр бүл|tr=ger bül|sc=Cyrl}} * Nama: {{t|naq|ǀkhao-khoen}} * Navajo: {{t|nv|hooghan hazʼą́}}, {{t|nv|bił kééhashtʼíinii}} * {{ne}}: [[परिबार]] (paribār) * {{no}}: [[familie]] * {{oc}}: [[familha]] * Oriya: [[ପରିବାର]] (Paribāra) * {{os}}: [[бинонтӕ]] (binontæ) * {{ps}}: {{t|ps|كورنۍ|f|tr=koranəi|sc=ps-Arab}} * {{fa}}: {{t+|fa|خانوادَه|tr=xânevâdah}}, {{t+|fa|خاندان|tr=xândân}}, {{t+|fa|فامیل|tr=fâmil|sc=fa-Arab}}, {{t|fa|عائله|tr='â'ile|sc=fa-Arab}} * {{pl}}: [[rodzina]] * {{pt}}: [[família]] * {{pa}}: {{t|pa|ਪਰਿਵਾਰ|tr=parivār|sc=Guru}} * {{rom}}: {{t|rom|familija|f}} * {{ro}}: {{t+|ro|familie}} * {{rm}}: {{t|rm|famiglia|f}} * {{ru}}: [[семья]] (sem’já), [[семейство]] (seméjstvo), [[фамилия]] (famílija) * {{sa}}: {{t|sa|कुलः|n|tr=kulaḥ|sc=Deva}}, {{t|sa|कुल|n|tr=kula|sc=Deva}} * {{sco}}: {{t|sco|faimlie}}, {{t|sco|faimily}} * {{gd}}: {{t|gd|teaghlach|m}} * {{sh}}: *: Cyrillic: {{t|sh|породица|f|sc=Cyrl}}, {{t|sh|обитељ|f|sc=Cyrl}} *: Roman: {{t|sh|porodica|f|sc=Latn}}, {{t|sh|obitelj|f|sc=Latn}} * Sichuan Yi: {{t|ii|ꏤ}} * {{scn}}: {{t+|scn|famigghia|f}} * Sindhi: {{t|sd|ٻارٻچا|tr=ḅāraḅačā|alt=ٻارَٻَچا|sc=sd-Arab}} * Sinhaleys: {{t|si|පවුල|tr=pavula|sc=Sinh}} * {{sk}}: {{t|sk|rodina|f}} * {{sl}}: {{t+|sl|družina|f}} * {{es}}: {{t+|es|familia|f}} * {{sv}}: {{t+|sv|familj}}, {{t+|sv|hushåll}} * {{tl}}: {{t|tl|pamilya}} * {{tg}}: {{t|tg|оила|tr=oila|sc=Cyrl}}, {{t|tg|хонавода|tr=xonavoda|sc=Cyrl}}, {{t|tg|хонадон|tr=xonadon|sc=Cyrl}} * {{ta}}: {{t+|ta|குடும்பம்|tr=kuṭumpam|sc=Taml}} * Taos: {{t|twf|ȕ’únemą}} * Tataari: {{t+|tt|гаилә|tr=ğailä|sc=Cyrl}}, {{t|tt|семья|tr=sem'ya|sc=Cyrl}} * Teluugu: {{t+|te|కుటుంబము|tr=kutumbamu|sc=Telu}} * {{th}}: {{t+|th|ครอบครัว|tr=khrâwbkhrua|sc=Thai}} * {{tr}}: {{t+|tr|aile}}, {{t|tr|kodak}}, {{t+|tr|ocak}} * {{tk}}: {{t|tk|maşgala}} * Tuvaniis: {{t|tyv|өг-бүле|tr=ög-büle}}, {{t|tyv|өг-ишти|tr=ög-išti}} * {{uk}}: {{t|uk|сім'я|f|tr=sim’já|sc=Cyrl}} * {{ur}}: {{t|ur|خاندان|m|tr=xāndān}}, {{t|ur|پروار|m|tr=parivār|sc=ur-Arab}} * {{ug}}: {{t+|ug|ئائىلە|tr=aile|sc=ug-Arab}} * {{uz}}: {{t+|uz|oila}}, {{t|uz|xonadon}} * {{vec}}: {{t|vec|faméja|f}} * {{vi}}: {{t+|vi|gia đình}} ({{t+|vi|家庭}}) * {{vo}}: {{t+|vo|famül}} * {{cy}}: {{t+|cy|teulu}} * {{yi}}: {{t+|yi|משפּחה|tr=mishpokhe|sc=Hebr}} == Qoraalo La Mid Ah == == Xigasho == [[Category:Qoys]] [[Category:Xubnaha Qoyska]] 9fm1wz4mdz7cv1mzarllrs8t2a8blkn Category:Qoys 14 3026 9100 2014-02-11T22:49:44Z Ismail4all 1215 Bog cusub: ==Soomaali== ::[https://so.wikipedia.org Wikipedia] waxaa ku jira bog ku saabsan [https://so.wikipedia.org/wiki/Qoys Qoyska (dad)] '''Qoys''', '''Faamili''' ([[ingiriis]]: family, "fa... 9100 wikitext text/x-wiki ==Soomaali== ::[https://so.wikipedia.org Wikipedia] waxaa ku jira bog ku saabsan [https://so.wikipedia.org/wiki/Qoys Qoyska (dad)] '''Qoys''', '''Faamili''' ([[ingiriis]]: family, "faamiliy"; [[carabi]]: عائلة, "caa'ila") waa tiro [[dad]] ah oo [[dhiig]] wadaaga ama [[guur]] ku midoobay iyo [[ilmo|ilmaha]] ay dhaleen. Qoysku waa dad isku xidhan oo asal iyo isir wadaag leh. ===Sharaxaad=== Qoysku waa dad is-dhalay iyo wada-dhashay oo isir iyo magac wadaaga. Tirada dadka qoyska ahi waxay noqon karaan [[labo]] qof iyo wixii ka badan. Sida caadiga ah qoyska wuxuu ka kooban yahay [[aabo]], [[hooyo]], [[ilmo]] ([[wiil]]al iyo [[gabadh|gabdho]]). Waxaa intaasi soo raaci kara dadka qaraabada qoyska la nool oo ayaguna lagu tirin karo qoyska. [[Category:Xubnaha Qoyska]] 1ybk6jvsdqghnpzlatu779zj3njaemk hooyo 0 3027 20553 18851 2021-08-25T09:51:44Z DARIO SEVERI 2875 Added text 20553 wikitext text/x-wiki {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} === Magac === '''Hooyo''' # Waa qof jinsi [[dhedig]] ah taasi oo dhashay [[ilmo]] ay [[waalid]] u tahay. Sida caadiga ah, hooyadu waa qofta dhashay [[wiil]]asha iyo [[gabadh|gabdhaha]], waxaana hooyadu [[oori]] ama [[xaas]] u tahay [[aabe|aabaha]] [[ilmo|ilmaha]] dhalay. Si aad u ogaato lidka hooyo, eeg kalmada kasoo horjeedo [[aabo]]. ==== Tarjumaad ==== {{kor}} * {{en}}: [[mother]] * {{es}}: [[madre]] {{dhaxda}} * {{fo}}: [[mamma]], [[móðir]] * {{fi}}: [[äiti]] * {{it}}: [[mamma]] {{hoos}} ==== Qoyska ==== Hooyadu waxay ka mid tahay xubnaha ugu muhiimsan ee [[qoys]]ka reer leeyahay, waxaanay [[waalid]] u tahay [[ilmo|ilmaha]] ([[wiil]]asha iyo [[gabadh|gabdhaha]]). Dadka kale ee qoyska ka tirsan waa [[aabe]] iyo qaraabo. [[Category:Qoys]] [[Category:Xubnaha Qoyska]] 4pcvsj40mvogv6bu79g4xjrjoe0f1go Qoys 0 3028 9105 2014-02-11T23:25:21Z Ismail4all 1215 Redirected page to [[qoys]] 9105 wikitext text/x-wiki #REDIRECT [[qoys]] dlcfaswvnki828r814vuugmer34lyli Hooyo 0 3029 9106 2014-02-11T23:25:40Z Ismail4all 1215 Redirected page to [[hooyo]] 9106 wikitext text/x-wiki #REDIRECT [[hooyo]] jzd11031urii9tb0m41oxh4e63dxxs9 Aabo 0 3030 9107 2014-02-11T23:26:19Z Ismail4all 1215 Redirected page to [[aabo]] 9107 wikitext text/x-wiki #REDIRECT [[aabo]] c5k278u68qnpicpzfeu205z5ypktwgn Wiil 0 3031 9108 2014-02-11T23:27:08Z Ismail4all 1215 Redirected page to [[wiil]] 9108 wikitext text/x-wiki #REDIRECT [[wiil]] onyfbsdt24df4ss7y4ylhv5ogo1k6pc Gabadh 0 3032 9137 9109 2014-02-14T12:35:05Z タチコマ robot 69 Bot: Hagaajin u rogid labalaaban ee [[gabar]] 9137 wikitext text/x-wiki #REDIRECT [[gabar]] 83shbh02qz6nywedlr0xw52spu99knk Xubnaha Qoyska 0 3033 13877 9114 2015-07-05T09:59:16Z HydrizBot 809 Bot: Ka saaris es, fi, io, ko, ru, tr 13877 wikitext text/x-wiki '''Xubnaha Qoyska''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} ===Magac=== '''Xubnaha Qoyska''' :[[xubnaha qoyska|Xubnaha Qoysku]] waa shakhsiyaadka ka tirsan [[qoys]] kuwaasi oo kala ah: [[hooyo]], [[aabo]] (loo yaqaano [[seey]] iyo [[oori]] ama [[xaas]]) iyo [[ilmo|ilmaha]] ay dhaleen oo kala ah [[wiil]]al, [[gabadh|gabdho]]. ====Tarjumaad==== {{kor}} * {{en}}: family members ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] {{dhaxda}} tg9jm9s0ddvvi1z7c7ndzmrzubxdx2g xubnaha qoyska 0 3034 9115 2014-02-12T00:00:27Z Ismail4all 1215 Redirected page to [[Xubnaha Qoyska]] 9115 wikitext text/x-wiki #REDIRECT [[Xubnaha Qoyska]] c6lfji1ypmhvjgoy603ltrmjpy2rppz Category:Xubnaha Qoyska 14 3035 16032 16031 2016-04-04T10:16:17Z Faracadde 1617 16032 wikitext text/x-wiki '''Xubnaha Qoyska''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabbo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} ===Magac=== '''Xubnaha Qoyska''' :[[xubnaha qoyska|Xubnaha Qoysku]] waa shakhsiyaadka ka tirsan [[qoys]] kuwaasi oo kala ah: [[hooyo]], [[aabo]] (loo yaqaano [[seey]] iyo [[oori]] ama [[xaas]]) iyo [[ilmo|ilmaha]] ay dhaleen oo kala ah [[wiil]]al, [[gabadh|gabdho]]. ====Tarjumaad==== {{kor}} * {{en}}: family members ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] {{dhaxda}} 6mrlw1wzzpsk1i5ufqf57swhoztkt5z dad 0 3036 18598 18226 2017-04-28T17:24:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18598 wikitext text/x-wiki '''Dad''' {{-so-}} === Magac === '''Dad''' # waa tiro badan oo shakhsiyaad ah (2). # waa wadarta (jamaca) [[qof]] (1). ==== Tarjumaad ==== {{kor}} * {{en}}: [[people]] === Erayo La Xidhiidha === * [[qof]] * [[nin]], [[naag]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Dad]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] 6qyd1on14x6g9x23nrnran1i2o6mfz0 Category:Dad 14 3037 9118 2014-02-12T00:08:51Z Ismail4all 1215 Bog cusub: '''Dad''' {{-so-}} ===Magac=== '''Dad''' # waa tiro badan oo shakhsiyaad ah (2). # waa wadarta (jamaca) [[qof]] (1). ====Tarjumaad==== {{kor}} * {{en}}: [[people]] ===Erayo La Xidhi... 9118 wikitext text/x-wiki '''Dad''' {{-so-}} ===Magac=== '''Dad''' # waa tiro badan oo shakhsiyaad ah (2). # waa wadarta (jamaca) [[qof]] (1). ====Tarjumaad==== {{kor}} * {{en}}: [[people]] ===Erayo La Xidhiidha=== * [[qof]] * [[nin]], [[naag]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Dad]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] tozg2duavy6nb598e43sozb9khrqr9o qof 0 3038 19178 17893 2017-04-28T17:28:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19178 wikitext text/x-wiki '''Qof''' {{-so-}} === Magac === '''Qof''' # waa hal shakhsi (2). # waa fardiga (kalida) [[dad]] (1). ==== Tarjumaad ==== {{kor}} * {{en}}: [[person]] === Erayo La Xidhiidha === * [[dad]] * [[nin]], [[naag]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Dad]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] ee40qthqcxsoondqcb8wsnp3p2q9dw4 Seey 0 3039 9120 2014-02-12T00:12:48Z Ismail4all 1215 Redirected page to [[seey]] 9120 wikitext text/x-wiki #REDIRECT [[seey]] kzpfgoicdc2xgvuca7fzoozja59ztvm seey 0 3040 19265 14040 2017-04-28T17:29:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19265 wikitext text/x-wiki '''Seey''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} === Magac === '''[[Seey]]''' # waa [[nin]]ka qaba [[naag]] (1). # waa odayga guursada [[qof]] [[dumar]] ah (3). # waa ninka [[oori]] ama [[xaas]] (2). ==== Tarjumaad ==== {{kor}} * {{en}}: [[husband]] {{dhaxda}} === Erayo La Xidhiidha === * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] cjxock2otcif7id3v1j8lr12wnnkh4u Oori 0 3041 9122 2014-02-12T00:17:55Z Ismail4all 1215 Redirected page to [[oori]] 9122 wikitext text/x-wiki #REDIRECT [[oori]] n7s13fe0ot3w1ut97wjp4xmpofrx5nq oori 0 3042 32102 32101 2024-10-28T04:24:39Z Girligaanshub 3150 /* Synonyms */ 32102 wikitext text/x-wiki {{wikipedia}} '''Seey''' {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | ;[[Seey]] ;[[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | ;[[Hooyo]] ;[[Aabo]] ;[[Wiil]] ;[[Gabadh]] |} {{-so-}} === Magac === '''[[Oori]]''' # waa [[naag]]ta uu qab [[nin]] (1). # waa qofta dumar ee uu guursado [[qof]] [[nin]] ah (3). # waa naagta [[seey]]ga u yahay nin (2). === Erey La Micno ah === Ereyga '''Oori''' waxaa la micno ah '''[[xaas]]''' oo si isku mid ah loo isticmaali karo. ==== Tarjumaad ==== {{kor}} * {{en}}: [[wife]] {{hoos}} === Erayo La Xidhiidha === * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] ====Synonyms==== *[[xaas]], [[oori]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] egfjr0guhjvv7i4jv0h1fs30mgz1p8p xaas 0 3043 32103 30941 2024-10-28T04:24:56Z Girligaanshub 3150 32103 wikitext text/x-wiki {{-so-}} == Magac == '''xaas''' ===etymology=== *Isis ===tarjuumaad=== *{{en}}: wife ====Synonyms==== *[[xaas]], [[oori]] tcm2tvhjlenv0xev916g5syak54ne8f naag 0 3044 19057 13978 2017-04-28T17:28:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19057 wikitext text/x-wiki '''Naag''' :[https://so.wikipedia.org Somali Wikipedia] waxaa ku jira maqaal ku saabsan [https://so.wikipedia.org/wiki/Naag Naag] {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Dad]]ka''' |- | style="background: ; text-align: center;" | [[Nin]] [[Naag]] |- | style="background: #ccf; text-align: center;" | '''[[Jinsi]]ga''' |- | style="background: ; text-align: center;" | [[Lab]] [[Dhedig]] |- | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | [[Seey]] [[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | [[Hooyo]] [[Aabo]] ;[[Wiil]] [[Gabadh]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Xubnaha Kale ee Qoyska]]''' |- | style="background: #ccf; text-align: center;" | '''[[Waalid]]''' |- | style="background: ; text-align: center;" | [[Adeer]] [[Abti]] [[Eedo]] [[Habaryar]] [[Awoowe]] [[Ayeeyo]] [[Abkow]] [[Mocooyo]] |- | style="background: #ccf; text-align: center;" | '''[[Walaal]]''' |- | style="background: ; text-align: center;" | [[Aboowe]] [[Abaayo]] |} {{-so-}} === Magac === '''naag''' # waa shaqsiga [[dhedig]] ah ee baniaadamka. # waa [[qof]] [[dhedig]] ah oo ka mid ah [[dad]]ka. ==== Synonoom ==== * [[dumar]] (1) ==== Tarjumaad ==== * {{en}}: [[woman]] === Ka Soo Horjeeda === Ereyga ''naag'' waxaa lid ku ah ama ka soo horjeeda [[nin]]. === Erayo La Xidhiidha === * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] [[Category:Soomaali ereyada-ni|n]] nig2i7uqr707nso08s32qaosaeum4ol lab 0 3045 21315 18959 2022-05-13T02:42:27Z Kwamikagami 3157 21315 wikitext text/x-wiki '''Lab''' :[https://so.wikipedia.org Somali Wikipedia] waxaa ku jira maqaal ku saabsan [https://so.wikipedia.org/wiki/Naag Labka] {| cellpadding="1" style="float: right; border: 1px solid #8888aa; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" | style="background: #ccf; text-align: center;" | '''[[Dad]]ka''' |- | style="background: ; text-align: center;" | [[Nin]] [[Naag]] |- | style="background: #ccf; text-align: center;" | '''[[Jinsi]]ga''' |- | style="background: ; text-align: center;" | [[Lab]] [[Dhedig]] |- | style="background: #ccf; text-align: center;" | '''[[Xubnaha Qoyska]]''' |- | style="background: ; text-align: center;" | [[Seey]] [[Oori]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Qoys Dhamaystiran]]''' |- | style="background: ; text-align: center;" | [[Hooyo]] [[Aabo]] ;[[Wiil]] [[Gabadh]] |- | style="background: #ccf; text-align: center;" | '''[[Qoys|Xubnaha Kale ee Qoyska]]''' |- | style="background: #ccf; text-align: center;" | '''[[Waalid]]''' |- | style="background: ; text-align: center;" | [[Adeer]] [[Abti]] [[Eedo]] [[Habaryar]] [[Awoowe]] [[Ayeeyo]] [[Abkow]] [[Mocooyo]] |- | style="background: #ccf; text-align: center;" | '''[[Walaal]]''' |- | style="background: ; text-align: center;" | [[Aboowe]] [[Abaayo]] |} {{-so-}} === Magac === '''[[Lab]]''' # waa [[jinsi]]ga labeed ee [[dad]]ka iyo xayawaanka. # waa [[qof]] ama [[xayawaan]] leh xiniinyo, dhikilo ama qoodho. ====La mid ah==== *[[♂]] ==== Tarjumaad ==== {{kor}} * {{en}}: [[male]] {{dhaxda}} === Erayo La Xidhiidha === * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] [[Category:Soomaali ereyada-la|l]] 15l5mxkfe4kyont5qnik7pr63g3249g dhedig 0 3046 23094 22851 2023-01-30T03:21:20Z Kwamikagami 3157 /* Tarjumaad */ 23094 wikitext text/x-wiki {{wikipedia}} ==soomaali== ===Magac=== '''dhedig''' # waa [[jinsi]]ga dhedigeed ee [[dad]]ka iyo xayawaanka lehna [[siil]] / iyo [[naaso]] caano ka yimaada. # (''af cilmiyeedka'') waa [[caynta]] naxweed oo magac uu lahaan karo, [[dumarka]], [[farxadda]] #: sammi: [[naag]] #: lid: [[lab]] ====La mid ah==== *[[♀]] ====Tarjumaad==== *{{en}}: [[female]] *{{pt}}: [[feminino]] ===Erayo La Xidhiidha=== *[[lab]] *[[dhedig]] *[[hooyo]] [[Category: Soomaali ereyada-dhe|dh]] arc4m72zybic7hxsy5y2d72dpe1bumd Naag 0 3047 9129 2014-02-12T01:02:30Z Ismail4all 1215 Redirected page to [[naag]] 9129 wikitext text/x-wiki #REDIRECT [[naag]] 25q9mgyhoogt5l5x6653gqampxaorx5 Lab 0 3048 9130 2014-02-12T01:03:24Z Ismail4all 1215 Redirected page to [[lab]] 9130 wikitext text/x-wiki #REDIRECT [[lab]] p1ih5jyezyug1ja294z9p9b2cegq879 Dad 0 3049 9131 2014-02-12T01:04:10Z Ismail4all 1215 Redirected page to [[dad]] 9131 wikitext text/x-wiki #REDIRECT [[dad]] rifen5xar01gulp6yomoah444i8ot1r Nin 0 3050 9132 2014-02-12T01:04:29Z Ismail4all 1215 Redirected page to [[nin]] 9132 wikitext text/x-wiki #REDIRECT [[nin]] d0ptxv9xzwjwbt1t3zsoc7mn2x97ex3 Dhedig 0 3051 9135 2014-02-12T01:09:16Z Ismail4all 1215 Redirected page to [[dhedig]] 9135 wikitext text/x-wiki #REDIRECT [[dhedig]] 516qj4djbm51z5jfyg0mjakl2wn9aa0 User:Iluvatar 2 3052 9138 2014-02-14T14:30:26Z Iluvatar 1217 Editing global userpage 9138 wikitext text/x-wiki {{#babel:ru-N|en-1|be-1|}} <div class="mw-content-ltr" lang="en" dir="ltr">Hello. I do not edit here much, but I am a member of [[m:Special:MyLanguage/Small Wiki Monitoring Team|the Small Wiki Monitoring Team]]. You can find me on Meta: [[m:User:Iluvatar]]. </div> [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Iluvatar|m:{{ns:3}}:Iluvatar]] 2u2txozbl1ux8kpr7mp9i86e0b9h4kr User:Randykitty 2 3054 9144 2014-02-28T05:17:45Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Randykitty]]) 9144 wikitext text/x-wiki Please click<br>→ [[m:w:en:User:Randykitty|'''here''']] to visit my user page on my English home wiki,<br>→ [[m:w:en:Talk:Randykitty|'''here''']] to access my talk page on my home wiki.<br><br>Thank you, Randykitty qlj5rkivvr1qfq7puri3vd4kcuim2q2 User:Dusti 2 3057 9147 2014-02-28T07:17:34Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Dusti]]) 9147 wikitext text/x-wiki {{#babel:en|es-3}}[[File:Redirect arrow without text.svg|46px|link=]][[w:en:User:Dusti|w:en:{{ns:3}}:Dusti]] imzuc5l2cxomqg3bmsjnqupazotkb6p Wiktionary:Isticmaalada 4 3058 9148 2014-02-28T12:16:17Z Burtugey 356 Bog cusub: Isticmaalaha waa qofka isticmaalo [[Wikipedia]] ama guud ahaan qofka macmiil ka ah bog 9148 wikitext text/x-wiki Isticmaalaha waa qofka isticmaalo [[Wikipedia]] ama guud ahaan qofka macmiil ka ah bog cfbrjyqmlwc54k2z81hfm3bucfxevp4 cunug 0 3059 31320 29431 2024-10-04T19:02:39Z Girligaanshub 3150 31320 wikitext text/x-wiki {{-so-}} == Magac == '''cunug''' === Tarjumaad === * {{en}}: newborn baby 4rrge1uqgggepzqxa2btl4a5g41jp2f ingiriis 0 3060 18877 17649 2017-04-28T17:26:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18877 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''ingiriis''' ==== Tarjumaad ==== {{kor}} * {{fi}}: [[englanti]] * {{en}}: [[English]] * {{de}}: [[Englisch]] * {{es}}: [[inglés]] * {{it}}: [[inglese]] {{dhaxda}} * {{fr}}: [[anglais]] * {{nl}}: [[Engels]] * {{pt}}: [[inglês]] * {{tr}}: [[İngilizce]] {{hoos}} Waa luqad looga hadlo wadamo dunida ka mid ah. 0jsqu96xzyqxkhjgim34qvo2vk5axf6 ilmo 0 3061 18870 13939 2017-04-28T17:26:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18870 wikitext text/x-wiki [[cunug]] hqfnan93oxkk7wsutups7ac7c3dvzx3 WikiQaamuus:Lifaaqyaal 0 3062 21602 9160 2022-07-11T14:57:19Z Mahamud yasin 3280 21602 wikitext text/x-wiki Lifaaq waa sheey wax laagu lifaaqo, sida qoraal oo sawir ama dokuminti lasoo raaci iwm. Lifaaq waa tusaha ama sheegaha wax la raaciyey wixii hore wixii ka maqanaa. nmybkpir2ms86ktxph0xrpfvcktqb0b qorax 0 3063 32779 21320 2024-12-01T16:25:34Z ВМНС 5070 32779 wikitext text/x-wiki Qorax ama cadceed waa calaamad calaamadaha Alle kamid ah, sida [[dayaxa]], qoraxda waa kowkabka ama meeraha ugu weyn ee sagaalka meerayaal. Qoraxda waxey kasoo baxdaa dhanka bari, waxeyna u dhacdaa dhanka galbeed, qoraxda waxa ay siisaa jirka baniiaadamka Fatamiino iyo difaac. Wadamada qaar qoraxda waqti yar ayay u joogtaa, gaar ahaan marka lagaaro Jiilaalka oo mararka qaar waxa dhacda ineysan soo bixin sida wadamada Yurubta Waqooyi, halka ay waqti badan u joogto ama aysan dhicin markii lagaaro Xagaayga, wadamada qaarne way isu dheeli tirantahay oo saacado yar ayaa u dhaxeeyo xiliyada sanadka oo dhan ====La mid ah==== *[[☉]] [[Category:Soomaali ereyada-qo]] fartj7v4xsiovom478u5rxsmyknuz2g dayaxa 0 3064 23091 23090 2023-01-30T03:20:12Z Kwamikagami 3157 23091 wikitext text/x-wiki Dayaxa waa Bisha, waxa uu ku dul meereestaa Kowkabka ama meeraha dhulka ====La mid ah==== *[[☾]], [[☽]] === Tarjumaad === * {{en}}: [[moon]] c3jt7rwegs5d33gsou16jssdjjrqo62 User:Jaxxes 2 3065 9177 2014-03-14T00:33:41Z PiRSquared17 388 Editing global userpage on request 9177 wikitext text/x-wiki <div style="background-color:black; color:white; -moz-border-radius: 13px; border-radius: 11px; solid #000000; padding:5px; font new; font-size:95%; width:95%; margin:auto;" class="mw-content-ltr" lang="en" dir="ltr"> Sup. I'm [[wikia:central:User:Alpha God|<span style="color:#FF0000;">Alpha-God]] or on Wikimedia [[m:User:Jaxxes|<span style="color:#FF0000;">Jaxxes]] and I do [[m:Countervandalism Network|<span style="color:#FF0000;">counter-vandalism]] for Wikia and Wikimedia, meaning that if you are seeing this, I have probably been here cleaning up spam and/or vandalism. I am also an experienced member of the [[m:Small Wiki Monitoring Team|<span style="color:#FF0000;">SWMT]] so I might be doing counter-vandalism on small wikis. <br /><br /> Feel free to contact me on my [[wikia:central:Message Wall:Alpha God|<span style="color:#FF0000;">Wikia Message Wall</span>]] or [[m:User Talk:Jaxxes|<span style="color:#FF0000;">Meta User-Talk</span>]] if you have anything you need! b0c80xx890hjulrn9v02czklgvulew1 User:Hosiryuhosi 2 3069 20004 20002 2018-10-21T04:02:42Z Rxy 381 Rxy moved page [[User:😀]] to [[User:Hosiryuhosi]] over a redirect without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/😀|😀]]" to "[[Special:CentralAuth/Hosiryuhosi|Hosiryuhosi]]" 20002 wikitext text/x-wiki #REDIRECT [[User:Rxy]] 50a3m2msqfldm4zgetgsjfwrhkmivft Ağustos 0 3070 18271 17003 2017-04-28T17:22:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18271 wikitext text/x-wiki {{-tr-}} {{Bilaha-tr}} === Magac === '''Ağustos''' [[agoosto]] izydpffqycdxjmt869qz2yuixg78cr3 août 0 3071 18434 17955 2017-04-28T17:23:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18434 wikitext text/x-wiki {{-fr-}} {{Bilaha-fr}} === Magac === '''août''' [[agoosto]] 95hesigk9ktsp7sxwwq6c0vir4p8rn4 august 0 3072 18450 17959 2017-04-28T17:23:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18450 wikitext text/x-wiki {{-da-}} {{Bilaha-da}} === Magac === '''august''' [[agoosto]] {{-no-}} {{Bilaha-no}} === Magac === '''august''' [[agoosto]] kcu8jjpnboy94ktde7dbawr7vqjp64g agosto 0 3073 18395 14570 2017-04-28T17:23:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18395 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''agosto''' [[agoosto]] {{-gl-}} {{Bilaha-gl}} === Magac === '''agosto''' [[agoosto]] {{-pt-}} {{Bilaha-pt}} === Magac === '''agosto''' [[agoosto]] 4gvrj3nyh70m4s9e3s03s46vm8oul86 novembro 0 3074 19087 18198 2017-04-28T17:28:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19087 wikitext text/x-wiki {{-gl-}} {{Bilaha-gl}} === Magac === '''novembro''' [[nofeembar]] {{-pt-}} {{Bilaha-pt}} === Magac === '''novembro''' [[nofeembar]] 2vv71k160b0iovfpzmw0hddbr7jv4n6 noviembre 0 3075 19088 15929 2017-04-28T17:28:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19088 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''noviembre''' [[nofeembar]] iizbyxpbgjn1lm869y1vf4gn2fwr2od novembre 0 3076 19086 17865 2017-04-28T17:28:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19086 wikitext text/x-wiki {{-it-}} {{Bilaha-it}} === Magac === '''novembre''' [[nofeembar]] 5ua0hl7orydbof4xhgx91kkpuq10m8w november 0 3077 19085 17866 2017-04-28T17:28:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19085 wikitext text/x-wiki {{-da-}} {{Bilaha-da}} === Magac === '''november''' [[nofeembar]] {{-no-}} {{Bilaha-no}} === Magac === '''november''' [[nofeembar]] {{-sv-}} {{Bilaha-sv}} === Magac === '''november''' [[nofeembar]] myt3p34jgnlwhz355kv083nln2cfe71 caanaha 0 3078 18533 13895 2017-04-28T17:24:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18533 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''caanaha''' ==== Tarjumaad ==== {{kor}} * {{en}}: [[milk]] * {{de}}: [[Milch]] * {{es}}: [[leche]] {{dhaxda}} * {{nl}}: [[melk]] * {{pt}}: [[leite]] * {{tr}}: [[süt]] {{hoos}} my2hoof2np5sh1kbqnm4z4mu3t0l48t leche 0 3079 18971 17729 2017-04-28T17:27:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18971 wikitext text/x-wiki {{-ast-}} === Magac === '''leche''' * [[caanaha]] {{-es-}} === Magac === '''leche''' * [[caanaha]] d8t47kqlsa9ph02x3eu0yorebrfdxnp leite 0 3080 18972 12986 2017-04-28T17:27:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18972 wikitext text/x-wiki {{-pt-}} === Magac === '''leite''' * [[caanaha]] odbjhiez0jdiu0gyvbss3jcojdf1iou melk 0 3081 19027 17857 2017-04-28T17:27:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19027 wikitext text/x-wiki {{-af-}} === Magac === '''melk''' * [[caanaha]] {{-nl-}} === Magac === '''melk''' * [[caanaha]] b3ssffeqmsplv2ao5dt17owtin9stcr süt 0 3082 19354 17938 2017-04-28T17:30:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19354 wikitext text/x-wiki {{-tr-}} === Magac === '''süt''' [[caanaha]] q0q1v768jbq1lk5gj9qc4b0xqcnmfw7 Milch 0 3083 18319 16842 2017-04-28T17:22:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18319 wikitext text/x-wiki {{-de-}} === Magac === '''Milch''' [[caanaha]] qyvf0urjmtq6379aif0nlbu2gtnnapa lait 0 3084 18967 16961 2017-04-28T17:27:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18967 wikitext text/x-wiki {{-fr-}} === Magac === '''lait''' [[caanaha]] jon0vecy2kcqymdqma8vqrx6i112jiq latte 0 3085 18970 17847 2017-04-28T17:27:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18970 wikitext text/x-wiki {{-it-}} === Magac === '''latte''' [[caanaha]] egs365cuamaryttg5eorfj9bdc8d488 Template:-it- 10 3086 20068 9208 2018-10-28T17:37:26Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==talyaani==" 20068 wikitext text/x-wiki ==talyaani== 2nbdypodsnvfh8oczexkyrhxs97ag9a Template:-de- 10 3087 20043 9209 2018-10-28T14:00:52Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20043 wikitext text/x-wiki ==jarmal== 5zj9flfsdw48dogtnwkrvzj8gp86s6y Ingiriis 0 3088 9379 9378 2014-04-02T14:20:42Z 200.130.64.1 Bog loo bedeley [[ingiriis]] 9379 wikitext text/x-wiki #REDIRECT [[ingiriis]] 7ql9ux84q7oha7igle1m3gkf3cetk5z Englisch 0 3089 18286 13869 2017-04-28T17:22:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18286 wikitext text/x-wiki {{-de-}} === Magac === '''Englisch''' [[Ingiriis]] d8ftwm3dihwebs69g1vil8t3l9to61t English 0 3090 18287 17307 2017-04-28T17:22:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18287 wikitext text/x-wiki {{-en-}} === Magac === '''English''' [[Ingiriis]] trpepnj2m4jzuk0a9kb5ouc89eewi6d inglés 0 3091 18879 16164 2017-04-28T17:26:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18879 wikitext text/x-wiki {{-ast-}} === Magac === '''inglés''' [[Ingiriis]] {{-es-}} === Magac === '''inglés''' [[Ingiriis]] k0t57j2yfbsc9gj68ujneniab5njtc2 inglês 0 3092 18880 16233 2017-04-28T17:26:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18880 wikitext text/x-wiki {{-pt-}} === Magac === '''inglês''' [[Ingiriis]] de7uaahgda0zghe758ineq6p5ugvx5p anglais 0 3093 18425 18203 2017-04-28T17:23:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18425 wikitext text/x-wiki {{-fr-}} === Magac === '''anglais''' [[Ingiriis]] rzgvp191etcqsp9s0ram1qzzncwzmkh Engels 0 3094 18285 18132 2017-04-28T17:22:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18285 wikitext text/x-wiki {{-af-}} === Magac === '''Engels''' [[Ingiriis]] {{-nl-}} === Magac === '''Engels''' [[Ingiriis]] kol0kxvlpqhxklh2clhm8ecc4yzio6v inglese 0 3095 18878 13365 2017-04-28T17:26:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18878 wikitext text/x-wiki {{-it-}} === Magac === '''inglese''' [[Ingiriis]] dnefidb63v3vr3jvwcit7eshnin7vr1 İngilizce 0 3096 19524 13610 2017-04-28T17:31:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19524 wikitext text/x-wiki {{-tr-}} === Magac === '''İngilizce''' [[Ingiriis]] n2y0tubu0itx0ev8996a97tpj20fa5n portugués 0 3097 19161 16296 2017-04-28T17:28:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19161 wikitext text/x-wiki {{-ast-}} === Magac === '''portugués''' [[Portugiis]] {{-es-}} === Magac === '''portugués''' [[Portugiis]] dju65x5x1if3efu2i3z9ype69dazw89 português 0 3098 19162 17070 2017-04-28T17:28:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19162 wikitext text/x-wiki {{-pt-}} === Magac === '''português''' [[Portugiis]] puo4jkc10zo35b5kt7pu4ncy29apq57 Portugais 0 3099 18329 13875 2017-04-28T17:22:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18329 wikitext text/x-wiki {{-fr-}} === Magac === '''Portugais''' [[Portugiis]] 89npz842hf5hf1xb7w8wjnapwbhht70 portoghese 0 3100 19158 17891 2017-04-28T17:28:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19158 wikitext text/x-wiki {{-it-}} === Magac === '''portoghese''' [[Portugiis]] ayw0e4cqblxqns1inyvl1o0wup8vl6v Portuguese 0 3101 18331 17201 2017-04-28T17:22:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18331 wikitext text/x-wiki {{-en-}} === Magac === '''portuguese''' [[Portugiis]] mv7jw0wngar56r8qqexbhk9xlomoj2h Portugees 0 3102 18330 17551 2017-04-28T17:22:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18330 wikitext text/x-wiki {{-af-}} === Magac === '''Portugees''' [[Portugiis]] {{-nl-}} === Magac === '''Portugees''' [[Portugiis]] k5f92yfe2l0xzig4tbt2debsot1l50y qaamuus 0 3103 19176 16659 2017-04-28T17:28:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19176 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''qaamuus''' === Tarjumaad === {{kor}} * {{en}}: [[dictionary]] * {{fi}}: [[sanakirja]] * {{de}}: [[Wörtebuch]] * {{es}}: [[diccionario]] {{dhaxda}} * {{it}}: [[dizionario]] * {{pt}}: [[dicionário]] * {{ro}}: [[dicționar]] * {{ru}}: [[словарь]] (slovar') {{hoos}} ns85ww07nkkx4dlakvdluzj237afl9g lösenord 0 3104 18999 13377 2017-04-28T17:27:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18999 wikitext text/x-wiki {{-sv-}} === Magac === '''lösenord''' # [[ereysir]] 3hdz9tj8fujhkfm4xlepv01cyh6ielt mot de passe 0 3105 19042 16636 2017-04-28T17:27:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19042 wikitext text/x-wiki {{-fr-}} === Magac === '''mot de passe''' # [[ereysir]] s9yic75y1cy26x5wfjs18o11rmaimlj Passwort 0 3106 18324 12639 2017-04-28T17:22:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18324 wikitext text/x-wiki {{-de-}} === Magac === '''Passwort''' [[ereysir]] i2g9vlj3d9195hox8u1c1ub3oyyn2ao seña 0 3107 19287 17921 2017-04-28T17:29:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19287 wikitext text/x-wiki {{-es-}} === Magac === '''seña''' [[ereysir]] rz74vt8c1qsj1f89mteepd0zxx1v7js senha 0 3108 19273 14036 2017-04-28T17:29:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19273 wikitext text/x-wiki {{-pt-}} === Magac === '''senha''' [[ereysir]] r2g6v6th19fh65qfygse8x9iknvl18u wachtwoord 0 3109 19461 14697 2017-04-28T17:30:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19461 wikitext text/x-wiki {{-nl-}} === Magac === '''wachtwoord''' [[ereysir]] 4vczq8uifrknjwt7lula7nfc2dughsq mjölk 0 3110 19035 17858 2017-04-28T17:27:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19035 wikitext text/x-wiki {{-sv-}} === Magac === '''mjölk''' [[caanaha]] c4fvirx5idr23k6g1j6ujq2qow0r4kc kvinna 0 3111 18951 18075 2017-04-28T17:27:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18951 wikitext text/x-wiki {{-sv-}} === Magac === '''kvinna''' * [[dhedig]] 993p8awly3hcii91898bcv88lkoq5ta människor 0 3112 19055 11597 2017-04-28T17:28:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19055 wikitext text/x-wiki {{-sv-}} === Magac === '''människor''' [[dad]] gr6fwfkaqepg8kz0qmmeryh2x6xch0h december 0 3113 18603 18032 2017-04-28T17:24:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18603 wikitext text/x-wiki {{-da-}} {{Bilaha-da}} === Magac === '''december''' * [[diseembar]] {{-fo-}} {{Bilaha-fo}} === Magac === '''december''' * [[diseembar]] {{-sv-}} {{Bilaha-sv}} === Magac === '''december''' * [[diseembar]] kcq6gdk7zcogeaqmncs3od6mmesu74p registrera 0 3114 19218 17899 2017-04-28T17:29:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19218 wikitext text/x-wiki {{-sv-}} === Magac === '''registrera''' [[diiwaangelin]] 2hg1mjod068rhqg8nldchhlmv2xaggt möss 0 3115 19056 13979 2017-04-28T17:28:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19056 wikitext text/x-wiki {{-sv-}} === Magac === '''möss''' [[dooli]] 84sw9cg300d7sii09hi6xnmoiqvleum ordbok 0 3116 19108 17872 2017-04-28T17:28:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19108 wikitext text/x-wiki {{-sv-}} === Magac === '''ordbok''' [[qaamuus]] 7j8a5qts62winrh2jh70vni1kro6btd familjemedlemmar 0 3117 18736 13918 2017-04-28T17:25:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18736 wikitext text/x-wiki {{-sv-}} === Magac === '''familjemedlemmar''' [[Xubnaha Qoyska]] aa7axl4f0kcph5v94tw5u0lb0dppu2m pojke 0 3118 19152 17888 2017-04-28T17:28:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19152 wikitext text/x-wiki {{-sv-}} === Magac === '''pojke''' [[wiil]] 4y5zgantz9gg8t3vmp6e2r7yewl1run innehållsförteckning 0 3119 18881 17721 2017-04-28T17:26:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18881 wikitext text/x-wiki {{-sv-}} === Magac === '''innehållsförteckning''' [[tusmo]] qgiptpmd8c9f45m37l10w3kfhbkoje8 april 0 3120 18435 17957 2017-04-28T17:23:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18435 wikitext text/x-wiki {{-da-}} {{Bilaha-da}} === Magac === '''april''' * [[abriil]] {{-no-}} {{Bilaha-no}} === Magac === '''april''' * [[abriil]] {{-sv-}} {{Bilaha-sv}} === Magac === '''april''' * [[abriil]] 3be0h5xhw93486arya345rb1zgqgcyp Template:Bilaha-da 10 3121 9246 2014-04-01T14:55:19Z 200.130.64.1 Bog cusub: {{Bilaha| luqad = Deenishku| janaayo= januar| febraayo= februar| maarso= marts| abriil= april| maajo= maj| juun= juni| luuliyo= juli| agoosto= august| sebteembar= septe... 9246 wikitext text/x-wiki {{Bilaha| luqad = Deenishku| janaayo= januar| febraayo= februar| maarso= marts| abriil= april| maajo= maj| juun= juni| luuliyo= juli| agoosto= august| sebteembar= september| oktoobar= oktober| nofeembar= november| diseembar= december }} 9ns8jemo50mu8t5qpv8ad8kvsqt4vma Template:Bilaha-no 10 3122 9251 9247 2014-04-01T16:22:21Z 177.133.48.149 9251 wikitext text/x-wiki {{Bilaha| luqad = Norwejiga| janaayo= januar| febraayo= februar| maarso= mars| abriil= april| maajo= mai| juun= juni| luuliyo= juli| agoosto= august| sebteembar= september| oktoobar= oktober| nofeembar= november| diseembar= desember }} qtmw1usl6cmh5qrd8q87rg3cnpc3fms beech 0 3123 18488 18179 2017-04-28T17:24:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18488 wikitext text/x-wiki {{-en-}} === Magac === '''beech''' [[adam]] l67oby9mmzsgikv5rqh3mm4urfs30oe desember 0 3124 18607 18033 2017-04-28T17:24:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18607 wikitext text/x-wiki {{-no-}} {{Bilaha-no}} === Magac === '''desember''' * [[diseembar]] n84pdtivlkh7vq11nw2eyx103qd18hg Template:-no- 10 3125 20046 9252 2018-10-28T14:02:37Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20046 wikitext text/x-wiki ==norweji== 2887s9u79ugf0xmb0iw645ez3tgx7c9 Template:-da- 10 3126 20062 9459 2018-10-28T17:31:38Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==deenish==" 20062 wikitext text/x-wiki ==deenish== cdvdrqkrcguvpz1wu3vn70mp9i04v7j Template:-sv- 10 3127 20045 20044 2018-10-28T14:01:49Z Sakiinlaq 1889 20045 wikitext text/x-wiki ==iswiidhish== dsfisqhlvcqhe7hvhjjdhu2spbxw265 Category:Turki ereyada 14 3128 19944 16308 2017-07-03T13:39:17Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19944 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Talyaani ereyada 14 3129 19940 17497 2017-07-03T13:39:13Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19940 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Template:es 10 3130 9260 2014-04-01T16:41:30Z 177.133.48.149 Bog cusub: Isbaanish<noinclude> 9260 wikitext text/x-wiki Isbaanish<noinclude> a2h2sd8snnbhlhz4jjm75ym40cnhfz6 Template:de 10 3131 9261 2014-04-01T16:42:16Z 177.133.48.149 Bog cusub: Jarmal<noinclude> 9261 wikitext text/x-wiki Jarmal<noinclude> a0e38945bgnupv6wyr2lj6568u1kav4 Template:tr 10 3132 9262 2014-04-01T16:43:31Z 177.133.48.149 Bog cusub: Turkish<noinclude> 9262 wikitext text/x-wiki Turkish<noinclude> s68n0qpzxeel37rq1w4j4m7bofcwwvi Template:nl 10 3133 9263 2014-04-01T16:47:24Z 177.133.48.149 Bog cusub: Holandees<noinclude> 9263 wikitext text/x-wiki Holandees<noinclude> kltifvd23nrxpj0r1as5t4ea6qng5hd mother 0 3134 19043 17859 2017-04-28T17:27:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19043 wikitext text/x-wiki {{-en-}} === Magac === '''mother''' [[hooyo]] f4p36zlc92xr1g2j4f39l73pbx7esk0 女の子 0 3136 19744 16497 2017-04-28T17:32:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19744 wikitext text/x-wiki {{-ja-}} === Magac === '''女の子''' (on'nanoko) [[gabar]] 8w62el5lzlcryq62qo15wlukw0unc4d девушка 0 3137 19575 13071 2017-04-28T17:31:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19575 wikitext text/x-wiki {{-ru-}} === Magac === '''девушка''' [[gabar]] dz5l04clophxc87kgml607auum7poka девочка 0 3138 19574 18160 2017-04-28T17:31:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19574 wikitext text/x-wiki {{-ru-}} === Magac === '''девочка''' [[gabar]] lglrk1u6syfu285roxs4iwuuztitvys girl 0 3139 18799 17838 2017-04-28T17:26:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18799 wikitext text/x-wiki {{-en-}} === Magac === '''girl''' [[gabar]] 3s4usfsiplo9v1xmfmlxsbrz1zx3uv0 Mädchen 0 3140 18320 12516 2017-04-28T17:22:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18320 wikitext text/x-wiki {{-de-}} === Magac === '''Mädchen''' [[gabar]] s1hlp07vw783ww9w5chjbumgebtp1rv niña 0 3141 19074 14717 2017-04-28T17:28:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19074 wikitext text/x-wiki {{-es-}} === Magac === '''niña''' # [[gabar]] gvrq1363glop95aceq6h8pt7hff4fwh garota 0 3142 18791 13930 2017-04-28T17:26:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18791 wikitext text/x-wiki {{-pt-}} === Magac === '''garota''' # [[gabar]] 44tiyxre3g70v44zlpeq8k7to00hn01 menina 0 3143 19029 13839 2017-04-28T17:27:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19029 wikitext text/x-wiki {{-pt-}} === Magac === '''menina''' [[gabar]] b4qni5cxemamd11s6g0wm54qgfam5dv qız 0 3144 19192 17329 2017-04-28T17:29:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19192 wikitext text/x-wiki {{-az-}} === Magac === '''qız''' [[gabar]] pjx1kdl0e2quqk2d1klqhmyujfbumoy ragazza 0 3145 19209 17897 2017-04-28T17:29:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19209 wikitext text/x-wiki {{-it-}} === Magac === '''ragazza''' [[gabar]] djpewyb1j7lbc6ykluda7uk8tcqc922 fille 0 3146 18759 16061 2017-04-28T17:26:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18759 wikitext text/x-wiki {{-fr-}} === Magac === '''fille''' [[gabar]] 0d78jxwgtn43v8mctpkd0sa9jdgy20h grand-père 0 3147 18803 17606 2017-04-28T17:26:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18803 wikitext text/x-wiki {{-fr-}} === Magac === '''grand-père''' * [[ayeeyo]] f6e1u0yb1fyj9en63o2kgmg8b8lql9z reer 0 3148 19216 16664 2017-04-28T17:29:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19216 wikitext text/x-wiki {{-so-}} === Magac === '''reer''' ==== Tarjumaad ==== {{kor}} * {{az}}: [[haqqında]] * {{da}}: [[af]] * {{fr}}: [[de]] {{dhaxda}} * {{it}}: [[di]] * {{de}}: [[von]] * {{pt}}: [[de]] {{hoos}} === Ka Soo Horjeedka === Ereyga dhedig waxaa lid ku ah [[lab]]. === Erayo La Xidhiidha === * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] qczwsh886k8q2unfimv5yzqlnnoklqg xuduud 0 3149 29820 29818 2024-08-12T07:39:58Z Girligaanshub 3150 29820 wikitext text/x-wiki {{-so-}} ===Magac=== '''xuduud''' ====Tarjumaad==== {{kor}} *{{az}}: [[hədd]] *{{da}}: [[grænse]] *{{fr}}: [[limite]] {{dhaxda}} *{{de}}: [[Grenze]] *{{es}}: [[limite]] {{hoos}} ===Erayo La Xidhiidha=== * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] lk62qguod03dnitx1p6wz345rjrfv1z qaraabo 0 3150 9354 9328 2014-04-02T13:16:43Z 200.130.64.1 9354 wikitext text/x-wiki {{-so-}} ===Magac=== '''qaraabo''' ====Tarjumaad==== {{kor}} *{{az}}: [[nisbi]] *{{da}}: [[relative]] *{{fr}}: [[relatif]] {{dhaxda}} *{{de}}: [[relativ]] *{{pt}}: [[relativo]], [[parente]] {{hoos}} ===Erayo La Xidhiidha=== * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] enevqim0qmiloef7a22y1kdmnl3djh4 ayeeyo 0 3151 18460 13116 2017-04-28T17:23:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18460 wikitext text/x-wiki {{-so-}} === Magac === '''ayeeyo''' ==== Tarjumaad ==== {{kor}} * {{da}}: [[Bedstemor]] * {{az}}: [[nənə]] * {{fr}}: [[grand-père]] {{dhaxda}} * {{de}}: [[Oma]] * {{it}}: [[nonna]] * {{pt}}: [[avó]] {{hoos}} === Erayo La Xidhiidha === * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] 1hw7iye7mkbpnehjapywcmks7mxpghr awoowe 0 3152 18456 14211 2017-04-28T17:23:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18456 wikitext text/x-wiki {{-so-}} === Magac === '''awoowe''' ==== Tarjumaad ==== {{kor}} * {{af}}: [[oupa]] * {{da}}: [[bedstefar]] * {{fi}}: [[isoisä]] * {{fr}}: [[père]] {{dhaxda}} * {{de}}: [[Grossvater]] * {{it}}: [[nonno]] * {{pt}}: [[avô]] * {{sv}}: [[farfar]] {{hoos}} === Erayo La Xidhiidha === * [[lab]], [[dhedig]] * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] 2f7g64vxxd3jwrafmqkhvo3gc12ny0u Template:it 10 3153 9285 2014-04-01T21:16:32Z 177.133.48.149 Bog cusub: Talyanni<noinclude> 9285 wikitext text/x-wiki Talyanni<noinclude> s4byj8jn6b4wn38p9abm88oqtx3mx7z isoisä 0 3154 18888 18224 2017-04-28T17:26:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18888 wikitext text/x-wiki {{-fi-}} === Magac === '''isoisä''' [[awoowe]] 4y6yi1cz2uijkkmlqih5t4v23p7en25 nənə 0 3155 19093 13997 2017-04-28T17:28:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19093 wikitext text/x-wiki {{-az-}} === Magac === '''nənə''' [[ayeeyo]] ey631b5o9m2quj1rgtgkmzwo6ccc2tu nisbi 0 3156 19071 13974 2017-04-28T17:28:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19071 wikitext text/x-wiki {{-az-}} === Magac === '''nisbi''' [[qaraabo]] jd60jfqwmqfwyx62rniz9uyerpjckia hədd 0 3157 18864 13941 2017-04-28T17:26:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18864 wikitext text/x-wiki {{-az-}} === Magac === '''hədd''' [[xiddid]] jx4ahe5woy87p9tddhkwt4miju6ft34 haqqında 0 3158 18823 16606 2017-04-28T17:26:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18823 wikitext text/x-wiki {{-az-}} === Magac === '''haqqında''' [[reer]] o2adx4v87zrdgggpk5hytlg81skt78i Bedstemor 0 3159 9293 9292 2014-04-01T21:27:23Z 177.133.48.149 9293 wikitext text/x-wiki {{-da-}} ===Magac=== '''Bedstemor''' [[ayeeyo]] {{-no-}} ===Magac=== '''Bedstemor''' [[ayeeyo]] tt69rk0z476mnfbj4juh4lxuoogliij bedstefar 0 3160 18487 18211 2017-04-28T17:24:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18487 wikitext text/x-wiki {{-da-}} === Magac === '''Bedstefar''' [[awoowe]] {{-no-}} === Magac === '''Bedstefar''' [[awoowe]] 3hhocqfa1615mf70u57d74knu2swxt5 relativ 0 3161 19220 18233 2017-04-28T17:29:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19220 wikitext text/x-wiki {{-da-}} === Magac === '''relativ''' [[qaraabo]] {{-no-}} === Magac === '''relativ''' [[qaraabo]] {{-sv-}} === Magac === '''relativ''' [[qaraabo]] c5efjhe87nfnwndu2r93ylgwsjlr571 Grenze 0 3162 18298 13314 2017-04-28T17:22:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18298 wikitext text/x-wiki {{-de-}} === Magac === '''Grenze''' [[xiddid]] f5i7od563nd62t0fimvkp9sepq67ay2 von 0 3163 19458 17764 2017-04-28T17:30:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19458 wikitext text/x-wiki {{-de-}} === Magac === '''von''' [[reer]] 9y5fum2i5fji8zhninp0izj59dyhxb9 relative 0 3164 19221 11504 2017-04-28T17:29:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19221 wikitext text/x-wiki {{-da-}} === Magac === '''relative''' [[qaraabo]] {{-en-}} === Magac === '''relative''' [[qaraabo]] spy44i60qxaclqh5wlysgb8wilsijzy af 0 3165 20114 18388 2018-10-28T21:29:45Z Sakiinlaq 1889 20114 wikitext text/x-wiki ==soomaali== ===magac=== '''af''' # Waa xubin jirka ka mid, waa meesha ay ilkaha iyo carabka ku yaalaan. ===nadooc magac=== {{so-magac-a-c|af|f}} ===sammi=== [[luqad]] [[lahjad]] {{-da-}} === Magac === '''af''' # damiska qalab shidan. # Kasoo jeeda. gt4b63siwnp966zhhdkz706ilvajt3i grænse 0 3166 18807 18059 2017-04-28T17:26:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18807 wikitext text/x-wiki {{-da-}} === Magac === '''grænse''' [[xiddid]] ifl3qvgq7v7jm49p22mw6htl1v64dma relatif 0 3167 19219 17901 2017-04-28T17:29:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19219 wikitext text/x-wiki {{-fr-}} === Magac === '''relatif''' [[qaraabo]] 2w7kdvmmi6u0hjalf6c9nvt2l48edx2 Oma 0 3168 18323 12519 2017-04-28T17:22:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18323 wikitext text/x-wiki {{-de-}} === Magac === '''Oma''' [[ayeeyo]] d53ynr1owlchay3p34p0atroxfb6xn6 Grossvater 0 3169 18299 17256 2017-04-28T17:22:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18299 wikitext text/x-wiki {{-de-}} === Magac === '''Grossvater''' [[awoowe]] eimddp3aoof2eb2v4h4sl497avjermz av 0 3170 18453 17960 2017-04-28T17:23:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18453 wikitext text/x-wiki {{-no-}} === Magac === '''av''' [[reer]] {{-sv-}} === Magac === '''av''' [[reer]] awp8vdwu4mmym5ykh0co6mwc6ibr0z0 nonna 0 3171 19078 17864 2017-04-28T17:28:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19078 wikitext text/x-wiki {{-it-}} === Magac === '''nonna''' [[ayeeyo]] du53ea2us09nelsgmq55nq1wy4yka9c avô 0 3172 18455 12907 2017-04-28T17:23:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18455 wikitext text/x-wiki {{-pt-}} === Magac === '''avô''' [[awoowe]] ren0oen16l5ugbg389hi4wnk1iwubbd nonno 0 3173 19079 17863 2017-04-28T17:28:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19079 wikitext text/x-wiki {{-it-}} === Magac === '''nonno''' [[awoowe]] kt93cphfqrooicg5aj4i8jx0n8amain relativo 0 3174 19222 17902 2017-04-28T17:29:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19222 wikitext text/x-wiki {{-es-}} === Magac === '''relativo''' [[qaraabo]] {{-gl-}} === Magac === '''relativo''' [[qaraabo]] {{-pt-}} === Magac === '''relativo''' [[qaraabo]] 5oos5w2o7o8j4d5xrbke10w2v36ukse grense 0 3175 18805 18079 2017-04-28T17:26:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18805 wikitext text/x-wiki {{-no-}} === Magac === '''grense''' [[xiddid]] jfght5or2eyunofmdhkd1y6g6c8ml4i avó 0 3176 18454 16096 2017-04-28T17:23:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18454 wikitext text/x-wiki {{-pt-}} === Magac === '''avó''' [[ayeeyo]] hj2xbruxs9okliavl8cfzbpx1tpdwbk di 0 3177 18623 17466 2017-04-28T17:25:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18623 wikitext text/x-wiki {{-it-}} === Magac === '''di''' [[reer]] 0us93qrvq7rmxe6yeap0yx6vokg7qjy de 0 3178 18602 17038 2017-04-28T17:24:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18602 wikitext text/x-wiki {{-es-}} === Magac === '''de''' [[reer]] {{-gl-}} === Magac === '''de''' [[reer]] {{-fr-}} === Magac === '''de''' [[reer]] {{-pt-}} === Magac === '''de''' [[reer]] 9w1mlb356y0kj13bkamzzu01dog2kph farfar 0 3179 18744 18219 2017-04-28T17:25:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18744 wikitext text/x-wiki {{-sv-}} === Magac === '''farfar''' [[awoowe]] mw821bob5vj1b97dnlz77a1nueeqseb parente 0 3180 19126 18090 2017-04-28T17:28:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19126 wikitext text/x-wiki {{-es-}} === Magac === '''parente''' [[qaraabo]] {{-gl-}} === Magac === '''parente''' [[qaraabo]] {{-pt-}} === Magac === '''parente''' [[qaraabo]] ntr865tn8gyi9ezpgbmc8e8ulmtgd85 père 0 3181 19173 17616 2017-04-28T17:28:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19173 wikitext text/x-wiki {{-fr-}} === Magac === '''père''' [[ayeeyo]] h4fqhotvunxuvepcx3vvk1vzc93r5pt oupa 0 3182 19111 18147 2017-04-28T17:28:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19111 wikitext text/x-wiki {{-af-}} === Magac === '''oupa''' [[awoowe]] 81ek3gplxv6q9gckh0c1a87jhovrt1u Template:da 10 3183 9317 2014-04-01T21:46:26Z 177.133.48.149 Bog cusub: Deenish<noinclude> 9317 wikitext text/x-wiki Deenish<noinclude> ind924371dns9bo3be1qjn5u2kqeinh Template:fr 10 3184 9318 2014-04-01T21:46:28Z 177.133.48.149 Bog cusub: Faransiis<noinclude> 9318 wikitext text/x-wiki Faransiis<noinclude> m2q03zyxvr2xod9a7t9q1shabqpcznk Template:az 10 3185 9319 2014-04-01T21:47:19Z 177.133.48.149 Bog cusub: Asebajaan<noinclude> 9319 wikitext text/x-wiki Asebajaan<noinclude> dj7b8o5w0purcu2ytxslr2yewsevex5 agua 0 3186 18396 18135 2017-04-28T17:23:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18396 wikitext text/x-wiki {{-es-}} === Magac === '''agua''' # [[biyo]] all7fwuu1xydm8v1wcozh2wp5icbkyb água 0 3187 19508 16267 2017-04-28T17:31:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19508 wikitext text/x-wiki {{-pt-}} === Magac === '''água''' # [[biyo]] qsdqaiw9qnqpfqqd32ce8nl4zar45um woda 0 3188 19475 17643 2017-04-28T17:31:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19475 wikitext text/x-wiki {{-pl-}} === Magac === '''woda''' # [[biyo]] lp23rnoqsobuh28mcfjye9emderdrmg acqua 0 3189 18380 17587 2017-04-28T17:23:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18380 wikitext text/x-wiki {{-it-}} === Magac === '''acqua''' [[biyo]] cxqghgzod9ob5ujr72h9ozcaf1kdcou 0 3190 19748 18164 2017-04-28T17:32:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19748 wikitext text/x-wiki {{-ja-}} === Maac === '''水''' (mizu) [[biyo]] {{-zh-}} === Maac === '''水''' (shuǐ) [[biyo]] 9fo5eekesdwv2bpdzpw823h4om6on5s biyo 0 3191 18505 16553 2017-04-28T17:24:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18505 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''biyo''' # Muujinta aan caadi ahayn oo biyo ah waa Lafoole. Waxay ihin kuwa leh dhibicda heerkulka, laakiin laga bilaabo 4 ° C bilaabo inuu ballaariyo, jeestay qandaraas. Tani waxay sharxaysaa sababta ay biyo ugu horeysay laga fariisiyo at dusha sare, sida heerkulka biyaha gaaro 0 ° C wuxuu noqonayaa mid yar tahay daar biyo at 4 ° C, sidaas deggan dushiisa. ==== Tarjumaad ==== {{kor}} * {{es}}: [[agua]] * {{en}}: [[water]] * {{it}}: [[acqua]] {{dhaxda}} * {{pl}}: [[woda]] * {{pt}}: [[água]] * {{zh}}: [[水]] (shuǐ) {{hoos}} 7j7be7755cw00rqy6ogwcdb0280u4ow limite 0 3192 18977 16243 2017-04-28T17:27:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18977 wikitext text/x-wiki {{-es-}} === Magac === '''limite''' # [[xiddid]] {{-gl-}} === Magac === '''limite''' # [[xiddid]] {{-it-}} === Magac === '''limite''' # [[xiddid]] {{-pt-}} === Magac === '''limite''' # [[xiddid]] ralxyigttljbpsmrvkjy9zu8vzypktw Template:-tr- 10 3193 9336 2014-04-01T22:10:34Z 177.133.48.149 Bog cusub: <includeonly>[[Category:Turki ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Turkish</big></big></big> (tr)</div>== <br><noinclude> <!--... 9336 wikitext text/x-wiki <includeonly>[[Category:Turki ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Turkish</big></big></big> (tr)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> c8pgebxmdndfhlouq9yeql7gosa1rg2 Template:-es- 10 3194 23030 20063 2023-01-14T17:34:39Z 2601:404:C800:13D0:CC05:2BE7:4716:F8A6 /* isbaanish */ 23030 wikitext text/x-wiki ==Af isbaanish== apuexkzduf8dx5w6ob9y0dp1xq66lac Template:-ast- 10 3195 20039 9702 2018-10-28T13:57:31Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==asturiyaan==" 20039 wikitext text/x-wiki ==asturiyaan== 32bumt77256ves0cuyozsydup5rnsko Template:-af- 10 3196 20033 9339 2018-10-28T13:47:43Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==afrikaans==" 20033 wikitext text/x-wiki ==afrikaans== 8ex7p13xpv3dzxtw0gql321fcw18vbb Template:-gl- 10 3197 23031 20066 2023-01-14T17:35:34Z 2601:404:C800:13D0:CC05:2BE7:4716:F8A6 /* galiisiyaan */ 23031 wikitext text/x-wiki ==Af galiisiyaan== o4qphgtebogg7snap18jzx248xhr19a dizionario 0 3198 18648 17828 2017-04-28T17:25:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18648 wikitext text/x-wiki {{-it-}} === Magac === '''dizionario''' [[qaamuus]] mm1ra3au4gnf50hsgfyimi3m6a88bg6 dicionário 0 3199 18627 12842 2017-04-28T17:25:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18627 wikitext text/x-wiki {{-es-}} === Magac === '''dicionário''' [[qaamuus]] {{-pt-}} === Magac === '''dicionário''' [[qaamuus]] s0z2r5epo81ehex2vqd36mryoulfscl dicionario 0 3200 18626 17823 2017-04-28T17:25:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18626 wikitext text/x-wiki {{-gl-}} === Magac === '''dicionario''' [[qaamuus]] qidfq6e3iht9z94uuqy0376cqqfj79b Template:Bilaha-pt 10 3201 9344 2014-04-01T22:25:09Z 177.133.48.149 Bog cusub: {{Bilaha| luqad = Portugiis| janaayo= janeiro| febraayo= fevereiro| maarso= março| abriil= abril| maajo= maio| juun= junho| luuliyo= julho| agoosto= agosto| sebteembar... 9344 wikitext text/x-wiki {{Bilaha| luqad = Portugiis| janaayo= janeiro| febraayo= fevereiro| maarso= março| abriil= abril| maajo= maio| juun= junho| luuliyo= julho| agoosto= agosto| sebteembar= setembro| oktoobar= outubro| nofeembar= novembro| diseembar= dezembro }} rkly0w9x0p1p2l99blk126g3zbx5u92 mus 0 3202 19052 18082 2017-04-28T17:28:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19052 wikitext text/x-wiki {{-sv-}} === Magac === '''mus''' # [[dooli]] cksi1nfjl15z5z66137m66hlb2livvc Category:Jarmal ereyada 14 3203 19907 18264 2017-07-03T13:38:39Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19907 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Template:-nl- 10 3204 20069 9347 2018-10-28T17:37:45Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==holandees==" 20069 wikitext text/x-wiki ==holandees== 0g7ttkfmu5fk2dm24m60yiysg3wotez Template:-fr- 10 3205 20065 9348 2018-10-28T17:36:25Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==faransiis==" 20065 wikitext text/x-wiki ==faransiis== d5bhjbtg5cx0w5qum7mlynk851othl8 waxaa 0 3206 9357 2014-04-02T13:49:50Z 200.130.64.1 Bog cusub: {{-so-}} === Magac=== '''waxaa''' # waa shaqsiga [[lab|labka]] ah ee baniaadamka. # waa [[qof]] [[lab]] ah oo ka mid ah [[dad]]ka. ===Ka Soo Horjeeda=== Ereyga ''waxaa'' waxaa lid ku... 9357 wikitext text/x-wiki {{-so-}} === Magac=== '''waxaa''' # waa shaqsiga [[lab|labka]] ah ee baniaadamka. # waa [[qof]] [[lab]] ah oo ka mid ah [[dad]]ka. ===Ka Soo Horjeeda=== Ereyga ''waxaa'' waxaa lid ku ah ama ka soo horjeeda [[naag]]. ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] 9zu6uqlmyv2kni7wgdjhrf1pv4ci9lz mocooyo 0 3207 9358 2014-04-02T13:51:00Z 200.130.64.1 Bog cusub: {{-so-}} === Magac=== '''mocooyo''' ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]]... 9358 wikitext text/x-wiki {{-so-}} === Magac=== '''mocooyo''' ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] haywdyu9efy6wtzrf24puib8ybudlvy abkoow 0 3208 9359 2014-04-02T13:51:27Z 200.130.64.1 Bog cusub: {{-so-}} === Magac=== '''abkoow''' ===Ka Soo Horjeeda=== Ereyga ''abkoow'' waxaa lid ku ah ama ka soo horjeeda [[naag]]. ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [... 9359 wikitext text/x-wiki {{-so-}} === Magac=== '''abkoow''' ===Ka Soo Horjeeda=== Ereyga ''abkoow'' waxaa lid ku ah ama ka soo horjeeda [[naag]]. ===Erayo La Xidhiidha=== * [[hooyo]], [[aabo]] * [[seey]], [[oori]], [[xaas]] * [[ilmo]], [[wiil]]al, [[gabadh|gabdho]] * [[awoowe]], [[mocooyo]] * [[ayeeyo]], [[abkoow]] * [[qaraabo]], [[xiddid]], [[reer]] [[Category:Qoys]] [[Category:Xubnaha Qoyska]] 3vepzkvl65uqvjgq2zw7ojo9hx9u02q março 0 3209 19019 16964 2017-04-28T17:27:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19019 wikitext text/x-wiki {{-pt-}} {{Bilaha-pt}} === Magac === '''março''' [[maarso]] 1wk0cu3pbo8il2mddq9jo49ofkty4jj marzo 0 3210 19018 17735 2017-04-28T17:27:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19018 wikitext text/x-wiki {{-ast-}} {{Bilaha-ast}} === Magac === '''marzo''' [[maarso]] {{-gl-}} {{Bilaha-gl}} === Magac === '''novembro''' [[nofeembar]] {{-es-}} {{Bilaha-es}} === Magac === '''novembro''' [[maarso]] {{-it-}} {{Bilaha-it}} === Magac === '''marzo''' [[maarso]] ag5vmir4grsjkn4fwu1hnq5b8rstcj0 Category:Isbaanish ereyada 14 3211 19897 18252 2017-07-03T13:38:29Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19897 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx abril 0 3212 18378 18137 2017-04-28T17:23:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18378 wikitext text/x-wiki {{-ast-}} {{Bilaha-ast}} === Magac === '''abril''' [[abriil]] {{-gl-}} {{Bilaha-gl}} === Magac === '''abril''' [[abriil]] {{-es-}} {{Bilaha-es}} === Magac === '''abril''' [[abriil]] {{-pt-}} {{Bilaha-pt}} === Magac === '''abril''' [[abriil]] 400udyehkpuyrxtxvdspej8cdrlzcon aprile 0 3213 18436 18184 2017-04-28T17:23:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18436 wikitext text/x-wiki {{-it-}} {{Bilaha-it}} === Magac === '''aprile''' [[abriil]] hkizjuikj6s648cyxiu2455tsg7y1e6 febbraio 0 3214 18749 18174 2017-04-28T17:25:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18749 wikitext text/x-wiki {{-it-}} {{Bilaha-it}} === Magac === '''febbraio''' [[febraayo]] behyxzydxqew7y9uhcv56yxsyba3y1m febreiro 0 3215 18751 18245 2017-04-28T17:25:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18751 wikitext text/x-wiki {{-gl-}} {{Bilaha-gl}} === Magac === '''febreiro''' [[febraayo]] g2b09cdgs2hhtskg2hdgedtbji9rrcz fevereiro 0 3216 18756 18183 2017-04-28T17:25:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18756 wikitext text/x-wiki {{-pt-}} {{Bilaha-pt}} === Magac === '''fevereiro''' [[febraayo]] rqiaiwn3iuizbvhmvvrcpbas2wit6y2 febrero 0 3217 18752 15886 2017-04-28T17:25:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18752 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''febrero''' [[febraayo]] o90ufzrtp18x503nf7wqdthi1wnq16k mayo 0 3218 19021 17736 2017-04-28T17:27:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19021 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''mayo''' [[maajo]] 8a8rwhslps9h04m1atxlfpfmwyu6f8q Portugiis 0 3219 9380 2014-04-02T14:21:41Z 200.130.64.1 Bog loo bedeley [[portugiis]] 9380 wikitext text/x-wiki #REDIRECT [[portugiis]] se25z4pno5c02p12ph37lxggnsbwf19 bil 0 3220 18492 18134 2017-04-28T17:24:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18492 wikitext text/x-wiki {{-so-}} === Magac === '''bil''' # Sanadka miilaadiga [[bishiisa]] afraad, waxayna u dhaxaysaa bilaha [[maarso]] iyo [[maajo]]. Bisha [[abriil]] waxay ka koobantahay 30 [[maalin|maalmood]], waxaana loo soo gaabiyaa '''abr''' {{-en-}} === Magac === '''bil''' {{-cs-}} === Magac === '''bil''' {{-da-}} === Magac === '''bil''' {{-nl-}} === Magac === '''bil''' {{-fo-}} === Magac === '''bil''' {{-ha-}} === Magac === '''bil''' {{-is-}} === Magac === '''bil''' {{-no-}} === Magac === '''bil''' {{-sv-}} === Magac === '''bil''' {{-vo-}} === Magac === '''bil''' {{-cy-}} === Magac === '''bil''' 9xe9mzd35xrxe7ikp44d5769a4q1wf9 arena 0 3221 18439 17798 2017-04-28T17:23:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18439 wikitext text/x-wiki {{-ast-}} === Magac === '''arena''' # [[saaxadda]] {{-es-}} === Magac === '''arena''' # [[saaxadda]] {{-es-}} === Magac === '''arena''' # [[saaxadda]] {{-it-}} === Magac === '''arena''' # [[saaxadda]] {{-la-}} === Magac === '''arena''' # [[saaxadda]] {{-pt-}} === Magac === '''arena''' # [[saaxadda]] {{-sco-}} === Magac === '''arena''' # [[saaxadda]] {{-sv-}} === Magac === '''arena''' # [[saaxadda]] 4xxhqihrbbkwwwisg9d79ki9jhvh0r8 saaxadda 0 3222 9383 2014-04-02T14:38:36Z 200.130.64.1 Bog cusub: {{-so-}} ===Magac=== '''saaxadda''' *{{en}}: [[arena]] 9383 wikitext text/x-wiki {{-so-}} ===Magac=== '''saaxadda''' *{{en}}: [[arena]] 09m4bp5qwirdmy26095ya9hac9zsob8 jarmal 0 3223 18902 17652 2017-04-28T17:27:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18902 wikitext text/x-wiki {{-so-}} === Magac === '''jarmal''' ==== Tarjumaad ==== {{kor}} * {{fi}}: [[saksa]] * {{ar}}: [[ألماني]] * {{en}}: [[German]] * {{de}}: [[Deutsch]] * {{es}}: [[alemán]] * {{it}}: [[tedesco]] {{dhaxda}} * {{fr}}: [[allemand]] * {{nl}}: [[duits]] * {{pt}}: [[alemão]] * {{sv}}: [[tyska]] * {{ja}}: [[ドイツ語]] [doitsugo] {{hoos}} ewazk3apuetbcy0des76p9h37mx689r Template:ja 10 3224 9386 2014-04-02T14:45:52Z 200.130.64.1 Bog cusub: Jabaaniis<noinclude> 9386 wikitext text/x-wiki Jabaaniis<noinclude> drp34c0k60ukvvrw6hdgw04py1jpnqw Template:sv 10 3225 9387 2014-04-02T14:46:10Z 200.130.64.1 Bog cusub: Iswiidish<noinclude> 9387 wikitext text/x-wiki Iswiidish<noinclude> 5hgx5heq0vpf3qi1w2fmam9kaqbywl6 alemão 0 3226 18408 16070 2017-04-28T17:23:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18408 wikitext text/x-wiki {{-pt-}} === Magac === '''alemão''' # [[jarmal]] l1adnf2vwk17jdy1emp29my5qbvzgws Tyska 0 3227 18351 13873 2017-04-28T17:22:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18351 wikitext text/x-wiki {{-sv-}} === Magac === '''Tyska''' # [[jarmal]] l5edai8vdm3l3xcun6gempg6avx5x5r tedesco 0 3228 19364 17941 2017-04-28T17:30:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19364 wikitext text/x-wiki {{-it-}} === Magac === '''tedesco''' [[jarmal]] scyn88iqlid01wpeze5o8f0f1tl9lof ألماني 0 3229 19665 13583 2017-04-28T17:32:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19665 wikitext text/x-wiki {{-ar-}} === Magac === '''ألماني''' [[jarmal]] dzge248ypuu19fgvm38qidcmnv7bd7w ドイツ語 0 3230 19736 16494 2017-04-28T17:32:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19736 wikitext text/x-wiki {{-ja-}} === Magac === '''ドイツ語''' (Doitsugo) [[jarmal]] tihhtxk72j62qctu5srtgrk2m3cgdks allemand 0 3231 18410 16535 2017-04-28T17:23:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18410 wikitext text/x-wiki {{-fr-}} === Magac === '''allemand''' [[jarmal]] 0q96yrz7d4z7rfc67qtnzaslf71f0rr duits 0 3232 18675 13912 2017-04-28T17:25:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18675 wikitext text/x-wiki {{-af-}} === Magac === '''duits''' [[jarmal]] {{-nl-}} === Magac === '''duits''' [[jarmal]] 5tsohkvppcq09itspp8k0bkevslrbbl alemán 0 3233 18407 15105 2017-04-28T17:23:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18407 wikitext text/x-wiki {{-gl-}} === Magac === '''alemán''' [[jarmal]] {{-es-}} === Magac === '''alemán''' [[jarmal]] pnoewzwvscoc3svvkpde25z1i6t91uq German 0 3234 18296 17197 2017-04-28T17:22:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18296 wikitext text/x-wiki {{-en-}} === Magac === '''German''' [[jarmal]] mquzfpkbk7dhocbflv36t1eyi5c2ty6 deutsch 0 3235 18610 17992 2017-04-28T17:24:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18610 wikitext text/x-wiki {{-de-}} === Magac === '''deutsch''' # [[jarmal]] 4u9bb00cl8n6w80a8nqrv2nuxrd3tez telefishen 0 3236 20178 19365 2019-02-05T17:06:13Z 91.156.27.99 20178 wikitext text/x-wiki {{wikipedia}} {{-so-}} [[File:Early portable tv.jpg|thumb|telefishen]] === Magac === '''telefishen''' # Telefishinka waxaa badanaa laga fiirsada dhacdhooyinka aduunka waxyaabaha cusub ne waa lagu faaniyaa. Waxaa sidoo kale eey dadku ka fiirsadaan musalsalada, filimaanta, wararka, barnaajmiyo iyo waxyaabo kaloo la mid ah. === Tarjumaad === {{kor}} * {{af}}: [[televisie]] * {{sq}}: [[televizion]] * {{ar}}: [[تلفزيون]] (tilifizyūn) * {{zh}}: [[电视]] (diànshì) * {{en}}: [[television]] * {{fi}}: [[televisio]] * {{de}}: [[Fernsehen]] * {{es}}: [[televisión]] {{dhaxda}} * {{ro}}: [[televiziune]] * {{ru}}: [[телевидение]] (televídenije) * {{pl}}: [[telewizja]] * {{pt}}: [[televisão]] * {{tr}}: [[televizyon]] * {{cs}}: [[televize]] * {{ja}}: [[テレビジョン]] (terebijon), [[テレビ]] (terebi) {{hoos}} === Erayo La Xidhiidha === * [[telefishen]] * [[raadiyaha]] * [[qaboojiyaha]] * [[kariyaha]] * [[telefoonka]] * [[dabeel]] * [[kombiyuutar]] * [[hawada]] 5pzw5en585qwj28p63oawoamtu09lnw raadiyaha 0 3237 19194 14030 2017-04-28T17:29:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19194 wikitext text/x-wiki {{-so-}} [[File:Radio.jpg|250px|thumb|raadiyaha]] === Magac === '''raadiyaha''' # Tiknolojiyadda u oggolaanaysa in gudbinta codka signallo kale adigoo isbedbeddelka burburo mawjadihii. Qalab lagu qabsadaan karaa (hesho) signalka soo diray in ka badan hirarka raadiyaha iyo abaal gud signalka modulated sidii codka. # Qalab lagu baahin karo signalada raadiyaha. Baahinta joogta ah cod Internet-ka, oo ku style ee raadiyaha dhaqameed. === Tarjumaad === {{kor}} * {{af}}: [[radio]] * {{ar}}: [[راديو]] (rādyu) * {{zh}}: [[无线电]] (wúxiàndiàn) * {{en}}: [[radio]] * {{de}}: [[Radio]] {{dhaxda}} * {{ko}}: [[라디오]] (radio) * {{ru}}: [[ра́дио]] (rádio) * {{pt}}: [[rádio]] * {{tr}}: [[radyo]] * {{ja}}: [[ラジオ]] (rajio) {{hoos}} === Erayo La Xidhiidha === * [[telefishen]] * [[raadiyaha]] * [[qaboojiyaha]] * [[kariyaha]] * [[telefoonka]] * [[dabeel]] * [[kombiyuutar]] * [[hawada]] dyk8qwnkhuiw4wjpnpd66s91d9i9w4n ラジオ 0 3238 19740 18011 2017-04-28T17:32:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19740 wikitext text/x-wiki {{-ja-}} === Magac === '''ラジオ''' (rajio) [[raadiyaha]] 054rs35jegttn0vd6ulapih4v92hwna radio 0 3239 19202 16974 2017-04-28T17:29:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19202 wikitext text/x-wiki {{wikipedia}} [[File:Radio.jpg|300px|thumb|A '''''radio''''' receiver from 2000.]] {{-af-}} === Magac === '''radio''' :[[raadiyaha]] {{-da-}} === Magac === '''radio''' # {{macnaha|technology|lang=da}} {{l|so|radio}} :[[raadiyaha]] {{-fo-}} === Magac === '''radio''' :[[raadiyaha]] {{-fi-}} === Magac === '''radio''' :[[raadiyaha]] {{-fr-}} === Magac === '''radio''' === Dhawaaqida === * {{CGX|/ʁa.djo/|lang=fr}} * {{audio|Fr-radio.ogg|audio|lang=fr}} :[[raadiyaha]] {{-sq-}} === Magac === '''radio''' :[[raadiyaha]] {{-eo-}} === Magac === '''radio''' === Dhawaaqida === * {{CGX|/raˈdi.o/|lang=eo}} ==== Shuruudaha soo minguuriyey ==== * [[radiado]] * [[vekradio]] :[[raadiyaha]] {{-en-}} === Magac === '''radio''' === Dhawaaqida === * {{a|RP}} {{CGX|/ˈɹeɪdiˌəʊ/}} * {{a|GenAm}} {{CGX|/ˈɹeɪdiˌoʊ/}} * {{audio|En-us-radio.ogg|Audio (US)|lang=en}} :[[raadiyaha]] ==== Shuruudaha la xiriira ==== {{kor}} * [[radiate]] * [[radiation]] * [[radiator]] * [[radio documentary]] {{dhaxda}} * [[radio drama]] * [[radio station]] * [[radius]] * [[ray]] {{hoos}} :[[raadiyaha]] {{-id-}} === Magac === '''radio''' :[[raadiyaha]] {{-gl-}} === Magac === '''radio''' :[[raadiyaha]] {{-la-}} === Magac === '''radio''' # {{dareen|active|lang=la}} I cause to [[radiate]], [[irradiate]]. # {{dareen|passive|lang=la}} I [[radiate]], [[emit]] beams. ==== Shuruudaha la xiriira ==== * {{l|la|radiolus}} * {{l|la|radiōsus}} * {{l|la|radius}} :[[raadiyaha]] {{-it-}} === Magac === '''radio''' :[[raadiyaha]] {{-ms-}} === Magac === '''radio''' :[[raadiyaha]] {{-pl-}} === Magac === '''radio''' === Dhawaaqida === * {{CGX|/ˈradjɔ/|lang=pl}} * {{audio|Pl-radio.ogg|Audio|lang=pl}} ==== Micne ah ==== * {{dareen|radio}} [[radioodbiornik]], odbiornik radiowy * {{dareen|radio station}} [[rozgłośnia]], [[radiostacja]], stacja radiowa :[[raadiyaha]] {{-nl-}} === Magac === '''radio''' === Dhawaaqida === * {{CGX|/ˈraːdijoˑ/|lang=nl}} * {{audio|Nl-radio.ogg|audio|lang=nl}} ==== Shuruudaha soo minguuriyey ==== * [[radiogolf]] :[[raadiyaha]] {{-ro-}} === Magac === '''radio''' :[[raadiyaha]] {{-no-}} === Magac === '''radio''' :[[raadiyaha]] {{-sh-}} === Magac === '''radio''' === Dhawaaqida === * {{CGX|/râːdio/|lang=sh}} * {{hyphenation|ra|di|o|lang=sh}} :[[raadiyaha]] {{-sv-}} === Magac === '''radio''' === Dhawaaqida === * {{audio|Sv-radio.ogg|audio|lang=sv}} :[[raadiyaha]] {{-es-}} === Magac === '''radio''' # {{macnaha|anatomy|lang=es}} [[radius]] # {{macnaha|chemistry|lang=es}} [[radium]] {{-uz-}} === Magac === '''radio''' :[[raadiyaha]] s3s7utz04ho8vk4tank1rrbusar62rj rádio 0 3240 19235 17075 2017-04-28T17:29:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19235 wikitext text/x-wiki {{-pt-}} === Magac === '''rádio''' {{-cs-}} === Magac === '''rádio''' [[raadiyaha]] 9m3v9pszlfu0b0qqq6e34r940t559hf Radio 0 3241 18333 17981 2017-04-28T17:22:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18333 wikitext text/x-wiki {{-de-}} === Magac === '''Radio''' [[raadiyaha]] nieqtpu0mg4o2zi9a8eo0bhf2qxjrex 无线电 0 3242 19746 13824 2017-04-28T17:32:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19746 wikitext text/x-wiki {{-zh-}} === Magac === '''无线电''' (wúxiàndiàn) [[raadiyaha]] em5u9v7lzkgiyrrx6vpinn3f44p98x0 راديو 0 3243 19681 14152 2017-04-28T17:32:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19681 wikitext text/x-wiki {{-ar-}} === Magac === ''' راديو''' (rādyu) [[raadiyaha]] {{-fa-}} === Magac === ''' راديو''' (râdio) [[raadiyaha]] jpssz8bfked1wbvq812s3fu6i6bazul 라디오 0 3244 19764 13721 2017-04-28T17:32:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19764 wikitext text/x-wiki {{-ko-}} === Magac === '''라디오''' (radio) [[raadiyaha]] t0ki1lukcn9e3ui4xzmukp575sv85xm radyo 0 3245 19208 15493 2017-04-28T17:29:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19208 wikitext text/x-wiki {{-az-}} === Magac === '''radyo''' [[raadiyaha]] {{-tr-}} === Magac === '''radyo''' [[raadiyaha]] ddr4vrtmp49ym4kbr03ys6gfegf23jb ра́дио 0 3246 19598 16734 2017-04-28T17:31:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19598 wikitext text/x-wiki {{-mk-}} === Magac === '''ра́дио''' (rádio) [[raadiyaha]] {{-ru-}} === Magac === '''rádio''' [[raadiyaha]] m1r6wfi3eckakx83oo560mi23koj61o kombiyuutar 0 3247 18940 17844 2017-04-28T17:27:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18940 wikitext text/x-wiki {{-so-}} === Magac === '''kompiyuutar''' === Tarjumaad === {{kor}} * {{az}}: [[kompüter]] * {{ar}}: [[الكمبيوتر]] * {{zh}}: [[电脑]] (diànnǎo) * {{en}}: [[computer]] * {{de}}: [[Computer]] {{dhaxda}} * {{ko}}: [[컴퓨터]] (keompyuteo) * {{ru}}: [[компьютер]] (komp'yuter) * {{pl}}: [[komputer]] * {{pt}}: [[computador]] * {{ja}}: [[コンピューター]] (konpyūtā) {{hoos}} === Erayo La Xidhiidha === * [[telefishen]] * [[raadiyaha]] * [[qaboojiyaha]] * [[kariyaha]] * [[telefoonka]] * [[dabeel]] * [[kombiyuutar]] * [[hawada]] 3v9miqlxrqkumfhqvr6ldqqm3yhcdgj компьютер 0 3248 19582 17978 2017-04-28T17:31:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19582 wikitext text/x-wiki {{-ru-}} === Magac === '''компьютер''' (komp'yuter) [[kombiyuutar]] 02y99xomm0mr71s0nxiqieyq5maww8o kompüter 0 3249 18942 13947 2017-04-28T17:27:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18942 wikitext text/x-wiki {{-az-}} === Magac === '''kompüter''' [[kombiyuutar]] l6chkoew4hx6zlj31dtjc1zxam75ye3 komputer 0 3250 18941 17609 2017-04-28T17:27:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18941 wikitext text/x-wiki {{-pl-}} === Magac === '''komputer''' [[kombiyuutar]] {{-cs-}} === Magac === '''komputer''' [[kombiyuutar]] cuydgqins8mxw1p0bgxoxtzotj2kxts الكمبيوتر 0 3251 19668 14162 2017-04-28T17:32:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19668 wikitext text/x-wiki {{-ar-}} === Magac === '''الكمبيوتر''' [[kombiyuutar]] 3lynns0ys41vpkrw3y1gwntlw3gin68 コンピューター 0 3252 19730 16801 2017-04-28T17:32:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19730 wikitext text/x-wiki {{-ja-}} === Magac === '''コンピューター''' (konpyūtā) # [[kombiyuutar]] fersqov81ug343s6nhlnt0ciocs70is 电脑 0 3253 19755 17302 2017-04-28T17:32:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19755 wikitext text/x-wiki {{-zh-}} === Magac === '''电脑''' (diànnǎo) [[kombiyuutar]] mxpkww9y0rqvogronkn4iqcwbc0m3bo Computer 0 3254 18282 17546 2017-04-28T17:22:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18282 wikitext text/x-wiki {{-de-}} === Magac === '''Computer''' [[kombiyuutar]] {{-lb-}} === Magac === '''Computer''' [[kombiyuutar]] frcxkuto8ynbdg8shzc6n4ownesxczi 컴퓨터 0 3255 19771 18170 2017-04-28T17:33:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19771 wikitext text/x-wiki {{-ko-}} === Magac === '''컴퓨터''' (keompyuteo) # [[kombiyuutar]] 7ue2rrpwuhkj3b8pt6d4amt8vv8y5w7 computador 0 3256 18585 15865 2017-04-28T17:24:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18585 wikitext text/x-wiki {{-es-}} === Magac === '''computador''' [[kombiyuutar]] {{-pt-}} === Magac === '''computador''' [[kombiyuutar]] [[Category:Luqada Portugiiska ereyada kumbuyuutarada]] 2e42cln8cuaqh1gq6ge3370es5t9wr7 Template:zh 10 3257 9430 9429 2014-04-02T20:49:45Z 177.17.186.128 9430 wikitext text/x-wiki Shiinees<noinclude> e4w529y47k8h7ay88xzkeg4iyv8ugrx Template:sq 10 3258 9431 2014-04-02T20:50:25Z 177.17.186.128 Bog cusub: Albaaniyaan<noinclude> 9431 wikitext text/x-wiki Albaaniyaan<noinclude> 6ade3berlinebmpthzoxwc6fahs5fhk Template:pl 10 3259 9432 2014-04-02T20:51:07Z 177.17.186.128 Bog cusub: Boolish<noinclude> 9432 wikitext text/x-wiki Boolish<noinclude> j9gjv0n9fv7vhy597wa6q3dsftodffg Template:ko 10 3260 9433 2014-04-02T20:53:05Z 177.17.186.128 Bog cusub: Kuuriya<noinclude> 9433 wikitext text/x-wiki Kuuriya<noinclude> 5c3o5vcow8hc52hxn59yztnqj6jvm8o Template:ru 10 3261 9434 2014-04-02T20:53:42Z 177.17.186.128 Bog cusub: Ruush<noinclude> 9434 wikitext text/x-wiki Ruush<noinclude> qnm2ultwjoaeu06jie41sre3lf2ja9u carab 0 3262 18543 13830 2017-04-28T17:24:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18543 wikitext text/x-wiki {{-so-}} === Magac === '''carab''' === Tarjumaad === {{kor}} * {{en}}: [[tongue]] {{dhaxda}} * {{pt}}: [[língua]] {{hoos}} ikopu34hpac3h6qy1s35360awkenl1p fahmid 0 3263 9436 2014-04-02T21:01:28Z 177.17.186.128 Bog cusub: {{-so-}} ===Magac=== '''fahmid''' ===Tarjumaad=== {{kor}} *{{ar}}: [[فهم]] *{{gl}}: [[entender]] *{{en}}: [[understand]] *{{de}}: [[verstehen]] {{dhaxda}} *{{ko}}: [[이해]] (i... 9436 wikitext text/x-wiki {{-so-}} ===Magac=== '''fahmid''' ===Tarjumaad=== {{kor}} *{{ar}}: [[فهم]] *{{gl}}: [[entender]] *{{en}}: [[understand]] *{{de}}: [[verstehen]] {{dhaxda}} *{{ko}}: [[이해]] (ihae) *{{pl}}: [[zrozumieć]] *{{tr}}: [[anlamak]] *{{ja}}: [[理解する]] (rikai suru) {{hoos}} 9rq9huml35102fj13o8vu8nmb1rghqt فهم 0 3264 19690 14146 2017-04-28T17:32:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19690 wikitext text/x-wiki {{-ar-}} === Magac === '''فهم''' [[fahmid]] r84i9y7i0ud21019dz8z62loe2wgro8 verstehen 0 3265 27020 19449 2024-03-27T23:58:30Z Jeuwre 4430 dhawaaqida 27020 wikitext text/x-wiki {{-de-}} === Magac === '''verstehen''' [[fahmid]] === Dhawaaqida === * {{CGX|/fɛɐ̯ˈʃteːən/|lang=de}} * {{audio|De-verstehen2.ogg|audio (Germany)|lang=de}} hzk96ke7qft5fcc5kvwwcp9dxqivscm anlamak 0 3266 18429 15379 2017-04-28T17:23:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18429 wikitext text/x-wiki {{-tr-}} === Magac === '''anlamak''' [[fahmid]] lt4bs3uj6j4rwp2zn9h7pf4rurckygz entender 0 3267 18706 17711 2017-04-28T17:25:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18706 wikitext text/x-wiki {{-gl-}} === Magac === '''entender''' [[fahmid]] {{-es-}} === Magac === '''entender''' [[fahmid]] {{-pt-}} === Magac === '''entender''' [[fahmid]] 5muiwulug25u4h63cxiezdl0q3ek7xa 이해 0 3268 19768 14201 2017-04-28T17:32:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19768 wikitext text/x-wiki {{-ko-}} === Magac === '''이해''' (ihae) [[fahmid]] dxkm3sn69c86eak5bp1a0ulicljldxf 理解する 0 3269 19750 14170 2017-04-28T17:32:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19750 wikitext text/x-wiki {{-ja-}} === Magac === '''理解する''' (rikai suru) [[fahmid]] 942cj9a9kiz5zexgsjkuvao3umfu6g6 zrozumieć 0 3270 19502 15076 2017-04-28T17:31:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19502 wikitext text/x-wiki {{-pl-}} === Magac === '''zrozumieć''' [[fahmid]] 7p612bt3xzrdupnel3vdno8hsyzfegt Template:-pl- 10 3271 9444 2014-04-02T21:09:26Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Boolish ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Boolish</big></big></big> (pl)</div>== <br><noinclude> <!--... 9444 wikitext text/x-wiki <includeonly>[[Category:Boolish ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Boolish</big></big></big> (pl)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> aa8hr3lm5clxc7c402od3mry62owvst Template:-ja- 10 3272 9445 2014-04-02T21:11:10Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Jabaaniis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Jabaaniis</big></big></big> (ja)</div>== <br><noinclude>... 9445 wikitext text/x-wiki <includeonly>[[Category:Jabaaniis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Jabaaniis</big></big></big> (ja)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> tvfxeeb830dmijetirl3qtg1tcn2sph Template:-ko- 10 3273 9446 2014-04-02T21:13:03Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Kuuriyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kuuriyaan</big></big></big> (ko)</div>== <br><noinclude>... 9446 wikitext text/x-wiki <includeonly>[[Category:Kuuriyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kuuriyaan</big></big></big> (ko)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> t4j5o0sih6peld5eagtjgb0n6wsb1nx Template:-uz- 10 3274 9449 9447 2014-04-02T21:17:32Z 177.17.186.128 9449 wikitext text/x-wiki <includeonly>[[Category:Usbakis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Usbakis</big></big></big> (uz)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> f5y84k0r8323y5s80tsqozs7k27agw6 Template:-ro- 10 3275 20071 9840 2018-10-28T17:38:34Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==romeeniyaan==" 20071 wikitext text/x-wiki ==romeeniyaan== fh1myv14c02vt2z95yj5vyghb8bxoak Template:-la- 10 3276 9450 2014-04-02T21:18:41Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Laatiin ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laatiin</big></big></big> (la)</div>== <br><noinclude> <!--... 9450 wikitext text/x-wiki <includeonly>[[Category:Laatiin ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laatiin</big></big></big> (la)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> p63l8gzh9l7co1t4yonvuh45hl04l5s Template:-id- 10 3277 9837 9451 2014-04-05T15:50:01Z 177.17.190.20 9837 wikitext text/x-wiki <includeonly>[[Category:Indunuusiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Indunuusiyaan</big></big></big> (id)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 3fat3348ap4og6jh49vq470lwcpx0hq Template:id 10 3278 9452 2014-04-02T21:20:37Z 177.17.186.128 Bog cusub: Indhoneeshiyaan<noinclude> 9452 wikitext text/x-wiki Indhoneeshiyaan<noinclude> at82l37u7m274cyfjuhovaf7h99a2hv Template:af 10 3279 9453 2014-04-02T21:21:53Z 177.17.186.128 Bog cusub: Afrikaanays<noinclude> 9453 wikitext text/x-wiki Afrikaanays<noinclude> awtl50omhc8hrqto5mwxmm70y51wmwo تلفزيون 0 3280 19673 17492 2017-04-28T17:32:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19673 wikitext text/x-wiki {{-ar-}} === Magac === '''تلفزيون''' (tilifizyūn) # [[telefishen]] 9p95pbvh33kai4wtyvaiitvfn826ozw 电视 0 3281 19756 16793 2017-04-28T17:32:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19756 wikitext text/x-wiki {{-zh-}} === Magac === '''电视''' (diànshì) # [[telefishen]] bzzrvifaymwylab4u42hxv1lqtcs176 User:Natuur12/vector.css 2 3282 9457 2014-04-03T22:11:06Z Natuur12 1140 Editing global userpage 9457 css text/css * { font-family: sans-serif; } h2#mw-previewheader, div#mw-usercsspreview strong { font-family: sans-serif !important; color: #c00 !important; } div#content #toc h2, div#content .toc h2, h2.diff-currentversion-title { font-family: sans-serif !important; } div.mw-geshi div, div.mw-geshi div span, div.mw-geshi div pre, span.mw-geshi, span.mw-geshi span, pre.source-css, pre.source-css span, pre.source-javascript, pre.source-javascript span, pre.source-lua, pre.source-lua span { font-family: monospace !important; -moz-tab-size: 4; } div#content { font-size: 93%; } h1#firstHeading { font-size: 1.6em !important; } div#content.mw-body { margin-left: 11.8em; color: #000; } textarea#wpTextbox1, pre { font-family: monospace; } /* Font size */ code a { font-family: monospace; font-size: 130%; } pre { font-size: 130%; } div#content h3 { font-size: 132%; } div#content h4 { font-sizeː 116%; } div#content h5 { font-size: 100%; } div#content h6 { font-size: 80%; } td.diff-deletedline, td.diff-addedline, td.diff-context { font-size: 85%; } 4ciwchmduyqbsol7vm6r1143zsm9r2a Template:-ms- 10 3284 9460 2014-04-04T00:15:15Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Malaay ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Malaay</big></big></big> (ms)</div>== <br><noinclude> <!--... 9460 wikitext text/x-wiki <includeonly>[[Category:Malaay ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Malaay</big></big></big> (ms)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> q2w09omqsofpq17bht2u2efgq3kc6q5 Template:-fo- 10 3285 9461 2014-04-04T00:16:52Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Farowsi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Farowsi</big></big></big> (fo)</div>== <br><noinclude> <!--... 9461 wikitext text/x-wiki <includeonly>[[Category:Farowsi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Farowsi</big></big></big> (fo)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 3ojf46eq6ct31gpg6f9tyupf785un7b Template:-sq- 10 3286 9462 2014-04-04T00:18:06Z 177.17.186.128 Bog cusub: <includeonly>[[Category:Albaaniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Albaaniyaan</big></big></big> (sq)</div>== <br><noinclu... 9462 wikitext text/x-wiki <includeonly>[[Category:Albaaniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Albaaniyaan</big></big></big> (sq)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> npmlnqngt6pe2h8eyajh2w9shb3esao Category:Galiisiyaan ereyada 14 3287 19846 18129 2017-06-22T23:29:47Z Octahedron80 1659 [[d:Q7832967]] 19846 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Faransiis ereyada 14 3288 19883 17398 2017-07-03T13:38:14Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19883 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx quatro 0 3289 19183 17753 2017-04-28T17:28:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19183 wikitext text/x-wiki {{-pt-}} === Magac === '''quatro''' [[afar]] 1agrncsuho53h5695u72ypizgydf3z2 catro 0 3290 18548 17985 2017-04-28T17:24:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18548 wikitext text/x-wiki {{-gl-}} === Magac === '''catro''' [[afar]] igy2lcurgatfbb2mwpwgzd5830v8awp ouro 0 3291 19112 17334 2017-04-28T17:28:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19112 wikitext text/x-wiki {{-gl-}} === Magac === '''ouro''' [[dahabka]] {{-pt-}} === Magac === '''ouro''' [[dahabka]] 80xqfymme65gx6ys9rjbsad0t2s1vep árvore 0 3292 19510 17348 2017-04-28T17:31:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19510 wikitext text/x-wiki {{-pt-}} === Magac === '''árvore''' [[geed]] bd361tmnlr1q52mwykpnjyejm3m5atx arbore 0 3293 18438 18216 2017-04-28T17:23:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18438 wikitext text/x-wiki {{-gl-}} === Magac === '''arbore''' [[geed]] jqoogamfj5iemvmmdiqxgeoxmokrk43 enxada 0 3294 18709 11279 2017-04-28T17:25:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18709 wikitext text/x-wiki {{-pt-}} === Magac === '''enxada''' [[kurihii]] 7wa2euq64pekrtyo6fmutfuw0n7zsi6 aixada 0 3295 18402 11220 2017-04-28T17:23:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18402 wikitext text/x-wiki {{-gl-}} === Magac === '''aixada''' [[kurihii]] 09ejob4lrnd2vs2a0rk8uuksyoukbha brazo 0 3296 18517 17680 2017-04-28T17:24:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18517 wikitext text/x-wiki {{-gl-}} === Magac === '''brazo''' [[gacanta]] {{-es-}} === Magac === '''brazo''' [[gacanta]] f9ymdemfacesg4yep4ysdqp4dc1v7ps braço 0 3297 18518 16148 2017-04-28T17:24:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18518 wikitext text/x-wiki {{-pt-}} === Magac === '''braço''' [[gacanta]] noxxl636wbbcdtq6cxgz4fux4buyn08 ceo 0 3298 18554 16107 2017-04-28T17:24:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18554 wikitext text/x-wiki {{-gl-}} === Magac === '''ceo''' [[oo cirka]] ptn9hdcwbwvhp2guos9npi88o5rejvs céu 0 3299 18595 16208 2017-04-28T17:24:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18595 wikitext text/x-wiki {{-pt-}} === Magac === '''céu''' [[oo cirka]] 8go69i8kmy8b7t8yx6rsg2vgwrry8jj ceia 0 3300 18551 13832 2017-04-28T17:24:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18551 wikitext text/x-wiki {{-gl-}} === Magac === '''ceia''' [[cashada]] {{-pt-}} === Magac === '''ceia''' [[cashada]] jldt9sca6zulb4yqni7dnse28b3de98 chave 0 3301 18555 15066 2017-04-28T17:24:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18555 wikitext text/x-wiki {{-gl-}} === Magac === '''chave''' # [[muhiimka ah]] # [[fure]] {{-pt-}} === Magac === '''chave''' # [[muhiimka ah]] # [[fure]] 6eeuixlyejisfl3g2hageenqf8bmxip peito 0 3302 19136 17368 2017-04-28T17:28:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19136 wikitext text/x-wiki {{-gl-}} === Magac === '''peito''' # [[xabadka]] {{-pt-}} === Magac === '''peito''' # [[xabadka]] 1u40sui778ape52wwvtw5gw7h7d262s afar 0 3303 23347 23346 2023-04-23T03:46:21Z Apisite 3737 /* Tarjumaad */ 23347 wikitext text/x-wiki {{-so-}} === Magac === '''afar''' === Tarjumaad === * {{aa}}: [[ferey]], [[farey]] * {{da}}: [[fire]] * {{vi}}: [[bốn]] * {{gl}}: [[catro]] * {{en}}: [[four]] * {{sv}}: [[fyra]] * {{de}}: [[vier]] * {{la}}: [[quattuor]] * {{ms}}: [[empat]], [[pat]], [[catur]] * {{pt}}: [[quatro]] * {{sw}}: [[nne]] * {{zh}}: [[四]] * {{bo}}: [[བཞི]] (bzhi) * {{ug}}: [[تۆت]] * {{uz}}: [[toʻrt]] 0m6837w3lm04v33o1vmvgomio52rxgc five 0 3304 18762 17678 2017-04-28T17:26:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18762 wikitext text/x-wiki {{-en-}} === Magac === '''five''' [[shan]] 2fc7slkf6m2ft689b2ecmrqbh4luqzp Template:Mashruucyo qaraabo la'ah 10 3305 23317 10060 2023-04-16T08:31:58Z Minorax 2056 vva 23317 wikitext text/x-wiki {| align="center" cellpadding="2" width="100%" | {{Click| |image=Wiktionary-logo-en.svg |link = :so:Main Page |width = 35px |height = 35px }} | [[:so:Bogga Hore|'''Wiktionary''']]<br />Qaamuus iyo Phut | {{Click| |image=Wikipedia-logo.svg |link = w:en:Main Page |width = 35px |height = 35px }} | [[w:so:Bogga Hore|'''Wikipedia''']]<br />Aan ayaamo waxay ku lacag la'aan ah | {{Click| |image=Wikibooks-logo.svg |link = b:en:Main Page |width = 35px |height = 35px }} | [[b:so:Bogga Hore|'''Wikibooks''']]<br />Buugta akhriska iyo buugaga bilaash ah |- | {{Click| |image=Wikiquote-logo.svg |link = wikiquote:en:Main Page |width = 35px |height = 35px }} | [[wikiquote:so:Bogga Hore|'''Wikiquote''']]<br />Ururinta ee oraahyada | {{Click| |image=Wikisource-logo.svg |link = wikisource:en:Main Page |width = 35px |height = 35px }} | [[wikisource:so:Bogga Hore|'''Wikisource''']]<br />Qoraallo bilaash ah | {{Click| |image=Wikinews-logo.svg |link = wikinews:en:Main Page |width = 35px |height = 35px }} | [[wikinews:so:Bogga Hore|'''Wikinews''']]<br />Asal wararka qanacsan bilaash ah |- | {{Click| |image=Wikispecies-logo.svg |link = wikispecies:en:Main Page |width = 35px |height = 35px }} | [[Wikispecies:|'''Wikispecies''']]<br />Tusaha ee noocyada | {{Click| |image=Wikimedia-logo.svg |link = m:Main Page |width = 35px |height = 35px }} | [[m:Main Page|'''Meta-Wiki''']]<br />Isuduwidda hawlaha mashruuca Wikimedia | {{Click| |image=Commons-logo.svg |link = commons:Main Page |width = 35px |height = 35px }} | [[commons:Main Page|'''Commons''']]<br />La wadaago bakhaar warbaahinta |} k3uf4owljvkxisjjyf7fg8kn007s8p2 geed 0 3307 32844 18793 2024-12-02T17:06:41Z ВМНС 5070 32844 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''geed''' === Tarjumaad === * {{en}}: [[tree]] * {{gl}}: [[arbore]] * {{nl}}: [[boom]] * {{pt}}: [[árvore]] [[Category:Soomaali ereyada-ge]] pheqchzcl5xu40ofh5nro37f9756pi9 tree 0 3308 19407 17770 2017-04-28T17:30:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19407 wikitext text/x-wiki {{-en-}} === Magac === '''tree''' [[geed]] m9n6xxoeebo6dd6v0kp4yqzdxswlm2t boom 0 3309 18515 17976 2017-04-28T17:24:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18515 wikitext text/x-wiki {{-af-}} === Magac === '''boom''' [[geed]] {{-nl-}} === Magac === '''boom''' [[geed]] hdwziupdqvfz3gkx1rtvub9vrivjl9n árbol 0 3310 19509 18103 2017-04-28T17:31:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19509 wikitext text/x-wiki {{-es-}} === Magac === '''árbol''' [[geed]] c3s8wd8h3ogyq5pxanendl7l792smd3 Template:gl 10 3311 9490 2014-04-04T02:34:14Z 177.17.186.128 Bog cusub: Galiisiyaan<noinclude> 9490 wikitext text/x-wiki Galiisiyaan<noinclude> b6bckcb765kypz4f1yi0i3vpzv35nok Category:Afrikaanays ereyada 14 3312 19856 18238 2017-07-03T13:37:37Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19856 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Holandees ereyada 14 3313 19892 17418 2017-07-03T13:38:24Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19892 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User:JurgenNL/common.css 2 3314 9494 2014-04-04T07:39:05Z JurgenNL 970 Editing global css 9494 css text/css @import "//meta.wikimedia.org/w/index.php?title=User:JurgenNL/global.css&action=raw&ctype=text/css"; 7f2rb7kpwjtpaud5unzlfzgvmiyopcq dambeysay 0 3315 9495 2014-04-04T18:39:48Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''dambeysay''' ===tarjumid=== {{kor}} *{{ar}}: [[آخر]] *{{en}}: [[last]] *{{hu}}: [[utolsó]] *{{el}}: [[τελευταίος]] (telef̱taíos) {{dhaxda}} *{{... 9495 wikitext text/x-wiki {{-so-}} ===Magac=== '''dambeysay''' ===tarjumid=== {{kor}} *{{ar}}: [[آخر]] *{{en}}: [[last]] *{{hu}}: [[utolsó]] *{{el}}: [[τελευταίος]] (telef̱taíos) {{dhaxda}} *{{it}}: [[ultimo]] *{{ko}}: [[마지막]] (majimag) *{{pt}}: [[último]] *{{ru}}: [[последний]] (posledniy) {{hoos}} imh7r2p8415sa92aay3urwgujwgl70u آخر 0 3316 19662 16746 2017-04-28T17:32:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19662 wikitext text/x-wiki {{-ar-}} === Magac === '''آخر''' * [[dambeysay]] qm7he4c78c4sefvlv0507nb68j6vc67 last 0 3317 18969 17846 2017-04-28T17:27:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18969 wikitext text/x-wiki {{-en-}} === Magac === '''last''' * [[dambeysay]] h6u3n3089rbt9qvk8a277e5uobx2c23 utolsó 0 3318 19438 14068 2017-04-28T17:30:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19438 wikitext text/x-wiki {{-hu-}} === Magac === '''utolsó''' * [[dambeysay]] t266550spuccpedst9eiivbsp6fwy9f ultimo 0 3319 19429 15530 2017-04-28T17:30:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19429 wikitext text/x-wiki {{-it-}} === Magac === '''ultimo''' [[dambeysay]] pw6sov0okk3t6rgabdekbriscdgvm10 último 0 3320 19519 17277 2017-04-28T17:31:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19519 wikitext text/x-wiki {{-es-}} === Magac === '''último''' * [[dambeysay]] {{-gl-}} === Magac === '''último''' * [[dambeysay]] {{-pt-}} === Magac === '''último''' * [[dambeysay]] 3sswhz1m4dk6r9ouzg2clio1mqe7ny5 τελευταίος 0 3321 19559 14792 2017-04-28T17:31:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19559 wikitext text/x-wiki {{-el-}} === Magac === '''τελευταίος''' (telef̱taíos) [[dambeysay]] 7depxn7xhp7ufk2twy5a825a2b15lfz последний 0 3322 19593 17570 2017-04-28T17:31:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19593 wikitext text/x-wiki {{-ru-}} === Magac === '''последний''' (posledniy) [[dambeysay]] b5xohtiu4x4sdmdmuu4syymwx0own0l 마지막 0 3323 19765 14204 2017-04-28T17:32:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19765 wikitext text/x-wiki {{-ko-}} === Magac === '''마지막''' (majimag) # [[dambeysay]] bad1brdk44wn791c83nhjr6y2wwexmh Template:ms 10 3324 9505 2014-04-04T18:58:11Z 177.17.190.20 Bog cusub: Malaay<noinclude> 9505 wikitext text/x-wiki Malaay<noinclude> ihooe1t8juqq44o7e8fzwtjp5a85uru الاختصار 0 3325 9507 9506 2014-04-04T18:59:20Z 177.17.190.20 9507 wikitext text/x-wiki {{-ar-}} ===Magac=== '''الاختصار''' [[soogaabiye]] nhfwrl8o4n0kodwlc3xqeg0xg0bedw5 مخفف 0 3326 19693 14143 2017-04-28T17:32:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19693 wikitext text/x-wiki {{-fa-}} === Magac === '''مخفف''' [[soogaabiye]] p3bsyjlaueh3p0eam8t0oats3rrz44v raguwa 0 3327 9509 2014-04-04T19:00:43Z 177.17.190.20 Bog cusub: {{-ha-}} ===Magac=== '''raguwa''' #[[soogaabiye]] 9509 wikitext text/x-wiki {{-ha-}} ===Magac=== '''raguwa''' #[[soogaabiye]] 6bbj8tjm33c02js01q3lnd3clycp7er rövidítés 0 3328 19236 18094 2017-04-28T17:29:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19236 wikitext text/x-wiki {{-hu-}} === Magac === '''rövidítés''' # [[soogaabiye]] pxtj4kglditn6gqhfnkpax03dwhonpz Abkürzung 0 3329 18266 17194 2017-04-28T17:22:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18266 wikitext text/x-wiki {{-de-}} === Magac === '''Abkürzung''' # [[soogaabiye]] rijczv475zl6a76stw1re6ung7hjaht singkatan 0 3330 19302 14051 2017-04-28T17:29:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19302 wikitext text/x-wiki {{-id-}} === Magac === '''singkatan''' [[soogaabiye]] {{-ms-}} === Magac === '''singkatan''' [[soogaabiye]] ml62kdjge259l2m9dv14fngkn84o8ua penyingkatan 0 3331 19139 14015 2017-04-28T17:28:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19139 wikitext text/x-wiki {{-ms-}} === Magac === '''penyingkatan''' # [[soogaabiye]] q4glvhmkrdgibj2vrnsf8mag4aw9rhp abreviatura 0 3332 18376 17792 2017-04-28T17:23:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18376 wikitext text/x-wiki {{-ast-}} === Magac === '''abreviatura''' # [[soogaabiye]] {{-gl-}} === Magac === '''abreviatura''' # [[soogaabiye]] {{-es-}} === Magac === '''abreviatura''' # [[soogaabiye]] {{-pt-}} === Magac === '''abreviatura''' # [[soogaabiye]] 25jgdohx59hp7hn9n6bz7nhbnuov5j4 缩写 0 3333 19758 13818 2017-04-28T17:32:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19758 wikitext text/x-wiki {{-zh-}} === Magac === '''缩写''' (suōxiě) [[soogaabiye]] hw9h14tr5i3j2ianuebgzwwthe6b56u Template:ha 10 3334 9517 2014-04-04T19:10:27Z 177.17.190.20 Bog cusub: Hausa<noinclude> 9517 wikitext text/x-wiki Hausa<noinclude> fjaztvl419fruus1bvb1smi78h5ob8m Template:fa 10 3335 9518 2014-04-04T19:11:20Z 177.17.190.20 Bog cusub: Faarisi<noinclude> 9518 wikitext text/x-wiki Faarisi<noinclude> etv8t20bk84ltgxttl835j1dn2pcxlj Template:hu 10 3336 9520 9519 2014-04-04T19:13:32Z 177.17.190.20 9520 wikitext text/x-wiki Hangariyaan<noinclude> 5ztnvwy7zcn3npc84cqpipik6kdcapb saynis 0 3337 20346 20345 2020-07-18T14:41:01Z Penarc 2220 /* Tarjumaad */ 20346 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''saynis''' === Tarjumaad === {{kor}} * {{af}}: [[wetenskap]] * {{az}}: [[elm]] * {{ar}}: [[علم]] * {{de}}: [[Wissenschaft]] * {{gl}}: [[ciencia]] * {{en}}: [[science]] *{{es}}: [[ciencia]] {{dhaxda}} * {{it}}: [[scienza]] * {{ms}}: [[sains]] * {{pt}}: [[ciência]] * {{ro}}: [[știință]] * {{ja}}: [[科学]] (kagaku) * {{tr}}: [[bilim]] {{hoos}} qkf3x8spsa757ie9h3e25sv6m6sr465 علم 0 3338 19687 16781 2017-04-28T17:32:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19687 wikitext text/x-wiki {{-ar-}} === Magac === '''علم''' [[saynis]] 69i9plzb7dlguzbqgvazmsr6miyvaji elm 0 3339 18697 16313 2017-04-28T17:25:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18697 wikitext text/x-wiki {{-az-}} === Magac === '''elm''' [[saynis]] 4860vvh2c6m6b41hit8biuz3sdhgtll ciência 0 3340 18574 17032 2017-04-28T17:24:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18574 wikitext text/x-wiki {{-pt-}} === Magac === '''ciência''' [[saynis]] 2qz5q5wjufter4x6f1mjxybstgnkv3c scienza 0 3341 19256 17909 2017-04-28T17:29:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19256 wikitext text/x-wiki {{-it-}} === Magac === '''scienza''' [[saynis]] i8vpx44hnet2hvih8wbrt72q85ksni9 bilim 0 3342 18495 15117 2017-04-28T17:24:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18495 wikitext text/x-wiki {{-tr-}} === Magac === '''bilim''' [[saynis]] qwju3muvu3hh74vr8a0ssqurdo12iox știință 0 3343 19540 18256 2017-04-28T17:31:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19540 wikitext text/x-wiki {{-ro-}} === Magac === '''știință''' [[saynis]] iw6s40tdy4a2555fuck1fgftxli6sl4 Wissenschaft 0 3344 18363 17493 2017-04-28T17:23:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18363 wikitext text/x-wiki {{-de-}} === Magac === '''Wissenschaft''' * [[saynis]] 4fgebn729b1vmwxssx9xzowj3ttt4yq wetenskap 0 3345 19472 14093 2017-04-28T17:31:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19472 wikitext text/x-wiki {{-af-}} === Magac === '''wetenskap''' [[saynis]] fant978glnox5tdkbb755c0lt3pdnqp wetenschap 0 3346 19471 16333 2017-04-28T17:31:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19471 wikitext text/x-wiki {{-nl-}} === Magac === '''wetenschap''' [[saynis]] qxsnjfvgcaywgfyjnuz840x4vfy0zyb sains 0 3347 19242 14016 2017-04-28T17:29:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19242 wikitext text/x-wiki {{-ms-}} === Magac === '''sains''' [[saynis]] 5hr59wmra617oebjd7uooxwppm9jgzy ciencia 0 3348 18566 17815 2017-04-28T17:24:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18566 wikitext text/x-wiki {{-gl-}} === Magac === '''ciencia''' [[saynis]] 5gxb6nxbukw1w05ngw67mmww7w5yepu science 0 3349 19255 18239 2017-04-28T17:29:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19255 wikitext text/x-wiki {{-en-}} === Magac === '''science''' # [[saynis]] gjtxcvd7d0lsozraxmv1l0318jsie0x 科学 0 3350 19757 16792 2017-04-28T17:32:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19757 wikitext text/x-wiki {{-ja-}} === Magac === '''科学''' (kagaku) [[saynis]] 28rsxtg9isg3xrl5z4drc0tyajsp5eu Template:ro 10 3351 9535 2014-04-04T19:37:59Z 177.17.190.20 Bog cusub: Romeeniyaan<noinclude> 9535 wikitext text/x-wiki Romeeniyaan<noinclude> q5swndd5bz4mom0dll1nqhlnfv566zt romeeniyaan 0 3352 9536 2014-04-04T19:40:47Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''romeeniyaan''' ===Tarjumaad=== {{kor}} *{{fr}}: [[roumain]] *{{en}}: [[Romanian]] {{dhaxda}} *{{pt}}: [[romeno]] *{{ro}}: [[românǎ]] {{hoos}} 9536 wikitext text/x-wiki {{-so-}} ===Magac=== '''romeeniyaan''' ===Tarjumaad=== {{kor}} *{{fr}}: [[roumain]] *{{en}}: [[Romanian]] {{dhaxda}} *{{pt}}: [[romeno]] *{{ro}}: [[românǎ]] {{hoos}} 2qwewl15l84gpdiz3w5qfcn6t2sh6jx românǎ 0 3353 9537 2014-04-04T19:44:11Z 177.17.190.20 Bog cusub: {{-ro-}} ===Magac=== '''românǎ''' [[romeeniyaan]] 9537 wikitext text/x-wiki {{-ro-}} ===Magac=== '''românǎ''' [[romeeniyaan]] j005zmghlvsodu0cr0tkqwt2yhgp9t1 roumain 0 3354 19232 16241 2017-04-28T17:29:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19232 wikitext text/x-wiki {{-fr-}} === Magac === '''roumain''' [[romeeniyaan]] q6ivxt682uj3p1460n5f8giocnabihg rumano 0 3355 19233 16935 2017-04-28T17:29:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19233 wikitext text/x-wiki {{-es-}} === Magac === '''rumeno''' [[romeeniyaan]] nb2oy89ysvs813s9kh6vywu8m2h1dyp Romanian 0 3356 18335 17260 2017-04-28T17:22:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18335 wikitext text/x-wiki {{-en-}} === Magac === '''Romanian''' [[romeeniyaan]] c0dpxbyzcq45rm2tlbcufqbb05f0uys romeno 0 3357 19229 17225 2017-04-28T17:29:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19229 wikitext text/x-wiki {{-pt-}} === Magac === '''romeno''' [[romeeniyaan]] 5o7d4u4r2tp51cy2pbgbtu0ydcbw2bp romanés 0 3358 19228 15495 2017-04-28T17:29:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19228 wikitext text/x-wiki {{-gl-}} === Magac === '''romanés''' * [[romeeniyaan]] iqfnuz5wyyiczu2z650ivo05rxy2c6x român 0 3359 9544 9543 2014-04-04T19:50:20Z 177.17.190.20 Bog loo bedeley [[românǎ]] 9544 wikitext text/x-wiki #REDIRECT [[românǎ]] s71gqkk9sf21t6uilnz9kjvkzhjlc6i Category:Romeeniyaan ereyada 14 3360 9545 2014-04-04T19:51:06Z 177.17.190.20 Bog cusub: Romeeniyaan ereyada 9545 wikitext text/x-wiki Romeeniyaan ereyada hoqw5r5692qlrtgpcqycnlenbop3w6y dicționar 0 3361 18630 17392 2017-04-28T17:25:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18630 wikitext text/x-wiki {{-ro-}} === Magac === '''dicționar''' [[qaamuus]] ojmik63k58aqxvaofsdc6zysk1mgldn словарь 0 3362 19608 16728 2017-04-28T17:31:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19608 wikitext text/x-wiki {{-ru-}} === Magac === '''словарь''' (slovar') [[qaamuus]] adz0ks7efo0jmrkg69dx3x0waw10dkv diccionario 0 3363 18624 17698 2017-04-28T17:25:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18624 wikitext text/x-wiki {{-es-}} === Magac === '''diccionario''' [[qaamuus]] 6dd1pu32xz20hg3p6wezom8mn2yoa3e Wörtebuch 0 3364 18365 13878 2017-04-28T17:23:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18365 wikitext text/x-wiki {{-de-}} === Magac === '''Wörtebuch''' [[qaamuus]] 8gbj8gkbzhewsl0lymfxmd4hf2lyqb7 Template:wikipedia 10 3365 20287 20283 2020-02-22T03:44:46Z Minorax 2056 fix lint error 20287 wikitext text/x-wiki <br /> {|class="bandeau-voir" style="margin-bottom:0.5em;border:1px solid #A0CCA0;background:#f9f9f9;padding:.1em" |- |align="left"|<span title="Variantes typographiques">[[Image:Wikipedia Checkuser.png|30px]] '''leeyahay maqaal dul&nbsp;[[w:{{PAGENAME}}|{{PAGENAME}}]]'''</span> |}<noinclude> 121fu9pevu2jyi735bjmqy32q8wawm7 テレビジョン 0 3366 19735 17569 2017-04-28T17:32:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19735 wikitext text/x-wiki {{-ja-}} === Magac === '''テレビジョン''' (terebijon) * [[telefishen]] evwb2ozvhlwnnif0p2le993c1v56a4y テレビ 0 3367 19734 13759 2017-04-28T17:32:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19734 wikitext text/x-wiki {{-ja-}} === Magac === '''テレビ''' (terebi) * [[telefishen]] tc5m3ma2jai0hl33vt9g04fqfzac6vx televisie 0 3368 19366 13738 2017-04-28T17:30:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19366 wikitext text/x-wiki {{-af-}} === Magac === '''televisie''' * [[telefishen]] o94g1yytbtry7ycdjagwx2owqq953ef televisão 0 3369 19369 13737 2017-04-28T17:30:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19369 wikitext text/x-wiki {{-pt-}} === Magac === '''televisão''' [[telefishen]] ero5reqbtuzls88vcrsd4i95wck5uv2 televize 0 3370 19370 13049 2017-04-28T17:30:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19370 wikitext text/x-wiki {{-cs-}} === Magac === '''televize''' * [[telefishen]] 48wcme8m6vw7k5caivkc6hxcgmfb886 telewizja 0 3371 19374 17632 2017-04-28T17:30:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19374 wikitext text/x-wiki {{-pl-}} === Magac === '''telewizja''' [[telefishen]] 3e8iij1tinbjibtvuvyw4pa7hdu1dwu televizion 0 3372 19371 13736 2017-04-28T17:30:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19371 wikitext text/x-wiki {{-sq-}} === Magac === '''televizion''' * [[telefishen]] i5707jpcqltajd5iwsa95b60di9632y televizie 0 3373 9564 2014-04-04T20:16:23Z 177.17.190.20 Bog cusub: {{-nl-}} ===Magac=== '''televizie''' #[[telefishen]] 9564 wikitext text/x-wiki {{-nl-}} ===Magac=== '''televizie''' #[[telefishen]] rdyltylrbp34fyxwcm1o4r5oj6hwftn television 0 3374 19367 17942 2017-04-28T17:30:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19367 wikitext text/x-wiki {{-en-}} === Magac === '''television''' * [[telefishen]] cwsglrjwgjkps71qeawzwwq0npqd9vc televiziune 0 3375 19372 13735 2017-04-28T17:30:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19372 wikitext text/x-wiki {{-ro-}} === Magac === '''televiziune''' [[telefishen]] btv973k0dck3tclwveyvus94cod4jib televisión 0 3376 19368 17633 2017-04-28T17:30:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19368 wikitext text/x-wiki {{-es-}} === Magac === '''televisión''' * [[telefishen]] gnlz35ufc0b7na6l0gob24gsapfoqxb телевидение 0 3377 19615 13751 2017-04-28T17:31:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19615 wikitext text/x-wiki {{-ru-}} === Magac === '''телевидение''' (televídenije) [[telefishen]] qwe1sa2qvpxe8cvk5r7h9u7zk2xhjmi Fernsehen 0 3378 18291 15642 2017-04-28T17:22:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18291 wikitext text/x-wiki {{-de-}} === Magac === '''Fernsehen''' [[telefishen]] hcr3u0fqf44k3xrfrilgoz78oco2dop portugiis 0 3379 9575 9574 2014-04-04T20:40:35Z 177.17.190.20 9575 wikitext text/x-wiki {{wikipedia}} {{-so-}} ===Magac=== '''portugiis''' ===Tarjumaad=== {{kor}} * {{en}}: [[Portuguese]] * {{de}}: [[Portugiesisch]] * {{es}}: [[portugués]] * {{it}}: [[portoghese]] {{dhaxda}} * {{fr}}: [[portugais]] * {{nl}}: [[Portugees]] * {{pt}}: [[português]] * {{ru}}: [[португальский]] (portugal'skiy) {{hoos}} jv3q6c3plp18ttnlegyr1xjruyx8nq2 Portugiesisch 0 3380 9576 2014-04-04T20:42:04Z 177.17.190.20 Bog loo bedeley [[portugiesisch]] 9576 wikitext text/x-wiki #REDIRECT [[portugiesisch]] srtdn8ngszt2b3341tu17yd4j91ktcq portugiesisch 0 3381 19160 17213 2017-04-28T17:28:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19160 wikitext text/x-wiki {{-de-}} === Magac === '''portugiesisch''' * [[portugiis]] 1835fqf2xw8rrbq6armhgu36apuwzln portugais 0 3382 19159 17892 2017-04-28T17:28:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19159 wikitext text/x-wiki {{-fr-}} === Magac === '''portugais''' * [[portugiis]] 7s5rqavsornnqb6jbc6d6tjck201sa2 португальский 0 3383 19592 16735 2017-04-28T17:31:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19592 wikitext text/x-wiki {{-ru-}} === Magac === '''португальский''' (portugal'skiy) * [[portugiis]] sec3kn86wmdl90j06j1naa5dxncqbk3 französisch 0 3384 18780 17176 2017-04-28T17:26:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18780 wikitext text/x-wiki {{-de-}} === Magac === '''französisch''' [[faransiis]] pj97xdvca9yyk647gufywyz9qzj3cml faransiis 0 3385 9581 2014-04-04T20:48:21Z 177.17.190.20 Bog cusub: {{wikipedia}} {{-so-}} ===Magac=== '''faransiis''' ===Tarjumaad=== {{kor}} * {{en}}: [[French]] * {{de}}: [[Französisch]] * {{es}}: [[francés]] * {{fi}}: [[ranskalainen]], [[ranska]... 9581 wikitext text/x-wiki {{wikipedia}} {{-so-}} ===Magac=== '''faransiis''' ===Tarjumaad=== {{kor}} * {{en}}: [[French]] * {{de}}: [[Französisch]] * {{es}}: [[francés]] * {{fi}}: [[ranskalainen]], [[ranska]] * {{it}}: [[francese]] {{dhaxda}} * {{fr}}: [[français]] * {{nl}}: [[Frans]] * {{pt}}: [[francês]] * {{ru}}: [[французский]] (frantsuzskiy) * {{sv}}: [[franska]] {{hoos}} hou1196ba8mfdtlo6zjarf3ywg65kv5 Französisch 0 3386 9582 2014-04-04T20:49:11Z 177.17.190.20 Bog loo bedeley [[französisch]] 9582 wikitext text/x-wiki #REDIRECT [[französisch]] k3e4jhmz8deu2glrgharp5rr4kdl2dh French 0 3387 18294 17135 2017-04-28T17:22:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18294 wikitext text/x-wiki {{-en-}} === Magac === '''French''' [[faransiis]] 2233kpjkhdvof2c3ejp7hpkx5z5zgdc ranska 0 3388 19210 12627 2017-04-28T17:29:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19210 wikitext text/x-wiki {{-fi-}} === Magac === '''ranska''' [[faransiis]] emu4vdaynbdkozrhbzvc9xhyvwz9uj9 ranskalainen 0 3389 19211 18158 2017-04-28T17:29:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19211 wikitext text/x-wiki {{-fi-}} === Magac === '''ranskalainen''' [[faransiis]] 6q60nvboq9y9zgza5n0wxgkvm8zf2aq francés 0 3390 18776 16159 2017-04-28T17:26:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18776 wikitext text/x-wiki {{-es-}} === Magac === '''francés''' [[faransiis]] 5n5lzaf4yuzti76ijugcuzxphi87e18 francês 0 3391 18777 16224 2017-04-28T17:26:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18777 wikitext text/x-wiki {{-pt-}} === Magac === '''francês''' [[faransiis]] azy8kesj0aj6vz3zhcy9pcdjy965p03 francese 0 3392 18775 14519 2017-04-28T17:26:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18775 wikitext text/x-wiki {{-it-}} === Magac === '''francese''' * [[faransiis]] dufywj029lz9qksrv7vbs2hvt9ullan franska 0 3393 18779 18055 2017-04-28T17:26:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18779 wikitext text/x-wiki {{-sv-}} === Magac === '''franska''' [[faransiis]] gu808n3oxj6pwy04j4tr0oe5l890m1p français 0 3394 18781 17390 2017-04-28T17:26:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18781 wikitext text/x-wiki {{-fr-}} === Magac === '''français''' :[[faransiis]] r3ppe8je8i5ttqetx602wx6emqv9kgb Frans 0 3395 18292 17754 2017-04-28T17:22:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18292 wikitext text/x-wiki {{-af-}} === Magac === '''Frans''' [[faransiis]] {{-nl-}} === Magac === '''Frans''' [[faransiis]] m2p5mzdq4n1j15i9bpezyxjpuem5efc французский 0 3396 19618 14118 2017-04-28T17:31:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19618 wikitext text/x-wiki {{-ru-}} === Magac === '''французский''' (frantsuzskiy) [[faransiis]] agdhyhtnvgpec83m80l19ucr0jpy9mm xabadka 0 3397 9593 2014-04-04T20:57:42Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''xabadka''' ===Tarjumaad=== *{{pt}}: [[peito]] 9593 wikitext text/x-wiki {{-so-}} ===Magac=== '''xabadka''' ===Tarjumaad=== *{{pt}}: [[peito]] 4ii1mhjusoatq9stueijtjfdg6s0zre muito 0 3398 19048 13984 2017-04-28T17:28:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19048 wikitext text/x-wiki {{-pt-}} === Magac === '''muito''' # [[aad bay u]] # [[mid aad u]] on8zxm86em7etr0761f4ufd66znnk36 mucho 0 3399 19047 17562 2017-04-28T17:27:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19047 wikitext text/x-wiki {{-es-}} === Magac === '''mucho''' [[aad bay u]], [[mid aad u]] pdo0vc70sa6ojxugdocvgtuggll4e6s molto 0 3400 19037 17737 2017-04-28T17:27:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19037 wikitext text/x-wiki {{-it-}} === Magac === '''molto''' # [[aad bay u]] # [[mid aad u]] 32f160vjh01xgb3a6acgp75ljjir4pl moito 0 3401 19036 13986 2017-04-28T17:27:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19036 wikitext text/x-wiki {{-gl-}} === Magac === '''moito''' * [[aad bay u]], [[mid aad u]] n7mltmox4lsdvfspvk4r53g57k4cyyg very 0 3402 19451 17124 2017-04-28T17:30:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19451 wikitext text/x-wiki {{-en-}} === Magac === '''very''' [[aad|aad bay u]] [[mid aad u]] ohbykh6ntm3e4vmqoll6tv1j1cql8dw aad 0 3403 18374 17870 2017-04-28T17:23:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18374 wikitext text/x-wiki {{-so-}} === Magac === '''aad''' === Tarjumaad === {{kor}} * {{en}}: [[very]] * {{gl}}: [[moito]] {{dhaxda}} * {{it}}: [[molto]] * {{pt}}: [[muito]] {{hoos}} # [[aad u]] # [[aad bay u]] # [[mid aad u]] d966o4vqd0e8jae7y5azm8oo0zwcuq3 Category:Norwejiga ereyada 14 3404 19925 18248 2017-07-03T13:38:57Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19925 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx username 0 3405 19435 17093 2017-04-28T17:30:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19435 wikitext text/x-wiki {{-en-}} === magac === '''username''' # [[gudagale]] ==== Synonuum ==== * [[user]][[name]] div0e33d5wdw54w3bzbaltwd1zc2z8f Category:Deenish ereyada 14 3406 19880 15846 2017-07-03T13:38:11Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19880 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Iswiidish ereyada 14 3407 19904 18237 2017-07-03T13:38:36Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19904 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Jabaaniis ereyada 14 3408 19905 18263 2017-07-03T13:38:37Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19905 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx maalin 0 3409 21679 19001 2022-07-22T14:10:59Z 86.114.191.253 /* Tarjumaad */ fi 21679 wikitext text/x-wiki {{-so-}} === Magac === '''maalin''' === Tarjumaad === {{kor}} *{{fi}}: [[päivä]] {{dhaxda}} {{hoos}} [[Category:Soomaali ereyada-ma|alin]] 4sgh19xblhshntqcm6gps7soowm1mdx toetsenbord 0 3410 19395 14080 2017-04-28T17:30:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19395 wikitext text/x-wiki {{-nl-}} === Magac === '''toetsenbord''' [[alwaaxa-furayaasha]] qde6femwxuzurvsaxjxut3mllghsyjb klaviatura 0 3411 18935 13676 2017-04-28T17:27:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18935 wikitext text/x-wiki {{-az-}} === Magac === '''klaviatura''' [[alwaaxa-furayaasha]] {{-cs-}} === Magac === '''klaviatura''' [[alwaaxa-furayaasha]] {{-uz-}} === Magac === '''klaviatura''' [[alwaaxa-furayaasha]] p6a0va9m2vxjr8wnfokddupfoid64xc pizza 0 3412 19147 17887 2017-04-28T17:28:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19147 wikitext text/x-wiki [[File:Eq it-na pizza-margherita sep2005 sml.jpg|350px|thumb|pizza napolitana]] [[File:Hot pizza.jpg|thumb|350px|''Pizza'']] [[File:Pizza im Pizzaofen von Maurizio.jpg|thumb|350px|pizza]] {{-af-}} === Magac === '''pizza''' {{-sq-}} === Magac === '''pizza''' {{-br-}} === Magac === '''pizza''' {{-ca-}} === Magac === '''pizza''' {{-da-}} === Magac === '''pizza''' {{-eu-}} === Magac === '''pizza''' {{-cs-}} === Magac === '''pizza''' {{-en-}} === Magac === '''pizza''' {{-es-}} === Magac === '''pizza''' {{-fr-}} === Magac === '''pizza''' {{-fi-}} === Magac === '''pizza''' {{-gl-}} === Magac === '''pizza''' {{-id-}} === Magac === '''pizza''' {{-it-}} === Magac === '''pizza''' {{-hu-}} === Magac === '''pizza''' {{-is-}} === Magac === '''pizza''' {{-ms-}} === Magac === '''pizza''' {{-sk-}} === Magac === '''pizza''' {{-no-}} === Magac === '''pizza''' {{-pt-}} === Magac === '''pizza''' {{-ro-}} === Magac === '''pizza''' {{-sv-}} === Magac === '''pizza''' {{-tr-}} === Magac === '''pizza''' {{-cy-}} === Magac === '''pizza''' {{-uz-}} === Magac === '''pizza''' {{-so-}} === Magac === '''pizza''' === Tarjumaad === {{kor}} * {{de}}: [[Pizza]] * {{ar}}: [[بيتزا]] * {{zh}}: [[比萨饼]] * {{eo}}: [[pico]] * {{el}}: [[πίτσα]] (pítsa) * {{he}}: [[פיצא]] (pitsa) * {{is}}: [[w:pizza|pizza]], [[pítsa]] * {{ja}}: [[ピザ]] (piza) * {{ko}}: [[피자]] (pija) {{dhaxda}} * {{la}}: [[placentula]] * {{lt}}: [[pica]] * {{mk}}: [[пица]] * {{fa}}: [[پیتزا]] * {{ru}}: [[пицца]] * {{sl}}: [[pica]] * {{sr}}: [[пица]] * {{th}}: [[พิซซ่า]] * {{uk}}: [[піца]] {{hoos}} mitvj05jx5htxes8y4n5fl39sclafuu Pizza 0 3413 18326 13753 2017-04-28T17:22:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18326 wikitext text/x-wiki [[File:Pizza im Pizzaofen von Maurizio.jpg|thumb|275px|Pizza]] {{-de-}} === Magac === '''pizza''' [[pizza]] {{-lb-}} === Magac === '''pizza''' [[pizza]] ju28oiwmykesn8lwy5o22pv70f1dr59 Template:mk 10 3414 9616 2014-04-04T21:31:47Z 177.17.190.20 Bog cusub: Masadooniyaan<noinclude> 9616 wikitext text/x-wiki Masadooniyaan<noinclude> limj4y0hjhgrsc5yphrk9ztmsznrf8x Template:la 10 3415 9617 2014-04-04T21:33:04Z 177.17.190.20 Bog cusub: Latiin<noinclude> 9617 wikitext text/x-wiki Latiin<noinclude> e05tx06rty29rxt150bfrnh50q9woem Template:lt 10 3416 9619 9618 2014-04-04T21:35:04Z 177.17.190.20 9619 wikitext text/x-wiki Lituwaanays<noinclude> fyq05fdpr8h3yqz9v3v02u1vfnrf7gs Template:lv 10 3417 9620 2014-04-04T21:35:23Z 177.17.190.20 Bog cusub: Laatfiyaan<noinclude> 9620 wikitext text/x-wiki Laatfiyaan<noinclude> ryat4aix1zt48ovhv2i8mesljjc11aa Template:bg 10 3418 9622 9621 2014-04-04T21:36:35Z 177.17.190.20 9622 wikitext text/x-wiki Bulgeeriyaan<noinclude> 2qf979inefpjfylt4xfpqx7ty8h9obu پیتزا 0 3419 19697 13756 2017-04-28T17:32:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19697 wikitext text/x-wiki {{-fa-}} === Magac === '''پیتزا''' [[pizza]] 0g6sippiicw033vw92tv2lfor9me2ps بيتزا 0 3420 19670 17471 2017-04-28T17:32:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19670 wikitext text/x-wiki {{-ar-}} === Magac === '''بيتزا''' [[pizza]] dq4usav8ppd8gkimdr9r507r5gg63i7 比萨饼 0 3421 19747 13823 2017-04-28T17:32:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19747 wikitext text/x-wiki {{-zh-}} === Magac === '''比萨饼''' [[pizza]] 1pbl9snqqdv874qmm9yggsfsh083bcq 피자 0 3422 19773 13829 2017-04-28T17:33:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19773 wikitext text/x-wiki {{-ko-}} === Magac === '''피자''' (pija) [[pizza]] k9sowpxaqh3jk4i165p4yll74b7t03c ピザ 0 3423 19739 16799 2017-04-28T17:32:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19739 wikitext text/x-wiki {{-ja-}} === Magac === '''ピザ''' (piza) [[pizza]] m5pf5n8n6flh8o00uin06m5uyku5zcr пицца 0 3424 19591 17544 2017-04-28T17:31:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19591 wikitext text/x-wiki {{-ru-}} === Magac === '''пицца''' (pitsa) [[pizza]] dt2r348zo2u54ce5se63al9ghm74ilb піца 0 3425 19597 17979 2017-04-28T17:31:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19597 wikitext text/x-wiki {{-uk-}} === Magac === '''піца''' (pitsa) [[pizza]] 4qc6niuy2wgg5wl7pr2gllah9b9xuiu пица 0 3426 19590 16736 2017-04-28T17:31:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19590 wikitext text/x-wiki {{-bg-}} === Magac === '''пица''' (pitsa) :[[pizza]] {{-mk-}} === Magac === '''пица''' (pitsa) :[[pizza]] ah49z4na1s7b23xounfy7wlztqh0vwk Template:uk 10 3427 9631 2014-04-04T21:46:21Z 177.17.190.20 Bog cusub: Yukreeniyaan<noinclude> 9631 wikitext text/x-wiki Yukreeniyaan<noinclude> 9vtkttjamhfjh1s1s5ewok7jasv8j6l Template:th 10 3428 9632 2014-04-04T21:46:49Z 177.17.190.20 Bog cusub: Taaylandays<noinclude> 9632 wikitext text/x-wiki Taaylandays<noinclude> pzpmm4dn3vr8p14vaewwfpwj19dbkeu Template:sl 10 3429 9633 2014-04-04T21:47:04Z 177.17.190.20 Bog cusub: Islofeeniyaan<noinclude> 9633 wikitext text/x-wiki Islofeeniyaan<noinclude> tpmnbdj0iqonhpfp9efye0fj5fpjhdn Template:el 10 3430 9634 2014-04-04T21:47:32Z 177.17.190.20 Bog cusub: Giriigga<noinclude> 9634 wikitext text/x-wiki Giriigga<noinclude> tgtkeelpfxug4wrcy3zft6wc64jdfoe Template:is 10 3431 9635 2014-04-04T21:49:39Z 177.17.190.20 Bog cusub: Ayslandays<noinclude> 9635 wikitext text/x-wiki Ayslandays<noinclude> 1gqkf10sl1gdqo841wc7q6mp9kxu3hn Template:he 10 3432 9636 2014-04-04T21:50:04Z 177.17.190.20 Bog cusub: Cibraaniga<noinclude> 9636 wikitext text/x-wiki Cibraaniga<noinclude> hezeiqwicxwi4na6razfg3l8xhiw9t0 Template:eo 10 3433 9637 2014-04-04T21:50:41Z 177.17.190.20 Bog cusub: Isberento<noinclude> 9637 wikitext text/x-wiki Isberento<noinclude> jgtat6lkhdehzh1ustvgm8ajempr9pv Template:sr 10 3434 9638 2014-04-04T21:52:07Z 177.17.190.20 Bog cusub: Serbiyaan<noinclude> 9638 wikitext text/x-wiki Serbiyaan<noinclude> tt3tkxi0psg3aiqhqm1twa4vlidt6l9 Template:-hu- 10 3435 20067 9639 2018-10-28T17:37:08Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==hangariyaan==" 20067 wikitext text/x-wiki ==hangariyaan== d2rzl2qywoccw278wqug85w6nv5hehu Template:-mk- 10 3436 9640 2014-04-04T21:54:47Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Masadooniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Masadooniyaan</big></big></big> (mk)</div>== <br><noi... 9640 wikitext text/x-wiki <includeonly>[[Category:Masadooniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Masadooniyaan</big></big></big> (mk)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 4owlhg1vi1ueei0g1i1mm8jrf32o4dh Template:-ru- 10 3437 20047 9641 2018-10-28T14:03:09Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20047 wikitext text/x-wiki ==ruush== s6746y2zy0xaep33mafa47ax1u1vds7 Template:-cy- 10 3438 9642 2014-04-04T21:57:24Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Welsh ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Welsh</big></big></big> (cy)</div>== <br><noinclude> <!--Ca... 9642 wikitext text/x-wiki <includeonly>[[Category:Welsh ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Welsh</big></big></big> (cy)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> shxi4akng1qhvxkqk4pp2t57qf2pggg Template:-bg- 10 3439 9643 2014-04-04T21:58:10Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Bulgeeriyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bulgeeriyaan</big></big></big> (bg)</div>== <br><noinc... 9643 wikitext text/x-wiki <includeonly>[[Category:Bulgeeriyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bulgeeriyaan</big></big></big> (bg)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> e9akebmaw08u5lqchqfgjdy7nlz05ko Template:-eu- 10 3440 9644 2014-04-04T21:59:44Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Basquu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Basquu</big></big></big> (eu)</div>== <br><noinclude> <!--... 9644 wikitext text/x-wiki <includeonly>[[Category:Basquu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Basquu</big></big></big> (eu)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> kyj2hxi392rxd4oabrjhpi2pbj7u13u Template:-sk- 10 3441 9645 2014-04-04T22:01:04Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Isloofaak ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Isloofaak</big></big></big> (sk)</div>== <br><noinclude>... 9645 wikitext text/x-wiki <includeonly>[[Category:Isloofaak ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Isloofaak</big></big></big> (sk)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 7eck88rg4dbq1n2eulzdxau6bnxbzho Template:-is- 10 3442 9646 2014-04-04T22:02:22Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Ayslandays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ayslandays</big></big></big> (is)</div>== <br><noinclude... 9646 wikitext text/x-wiki <includeonly>[[Category:Ayslandays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ayslandays</big></big></big> (is)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 8obtt61o6pwkuxlgvkur0cgm6sk7uwp Template:-cs- 10 3443 20061 9648 2018-10-28T17:31:16Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==jeeg==" 20061 wikitext text/x-wiki ==jeeg== nddl6e5kl3x89og0ix3z7vab101yblz Template:-ca- 10 3444 9649 2014-04-04T22:08:00Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Katalaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Katalaan</big></big></big> (ca)</div>== <br><noinclude> <!... 9649 wikitext text/x-wiki <includeonly>[[Category:Katalaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Katalaan</big></big></big> (ca)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 9pr9fsx9azs6owg70lo5x4jxkqblep5 Template:-br- 10 3445 9650 2014-04-04T22:08:45Z 177.17.190.20 Bog cusub: <includeonly>[[Category:Bereton ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bereton</big></big></big> (br)</div>== <br><noinclude> <!--... 9650 wikitext text/x-wiki <includeonly>[[Category:Bereton ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bereton</big></big></big> (br)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> rffyeod3eaxw3pwxowqlq6ypn7r5e0g Category:Ingiriis ereyada-re 14 3446 9655 2014-04-04T22:12:28Z 177.17.190.20 Bog cusub: [[Category:Ingiriis ereyada]] 9655 wikitext text/x-wiki [[Category:Ingiriis ereyada]] heajv598g8xoy1pm8a54u094rhauz0c Category:Jeeg ereyada 14 3447 19853 16337 2017-06-26T03:11:25Z Octahedron80 1659 Wuxuu qoraalka ku badalay "[[Category:Ereyada]]" 19853 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ruush ereyada 14 3448 19931 17401 2017-07-03T13:39:04Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19931 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Hangariyaan ereyada 14 3449 19888 17463 2017-07-03T13:38:20Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19888 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Boolish ereyada 14 3450 19875 18250 2017-07-03T13:38:06Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19875 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Soomaali ereyada-ma 14 3451 32782 9665 2024-12-01T16:27:29Z ВМНС 5070 32782 wikitext text/x-wiki [[Category:Soomaali ereyada-m]] 82qqr3y6pgxazpfgb8j0g5uyuv0jjt9 lixaad 0 3452 9666 2014-04-05T03:12:15Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''lixaad''' ===Tarjumaad=== {{kor}} *{{de}}: [[sechste]] *{{el}}: [[έκτος]] (éktos) *{{hu}}: [[hatodik]] {{dhaxda}} *{{pt}}: [[sexto]] *{{ru}}: шест... 9666 wikitext text/x-wiki {{-so-}} ===Magac=== '''lixaad''' ===Tarjumaad=== {{kor}} *{{de}}: [[sechste]] *{{el}}: [[έκτος]] (éktos) *{{hu}}: [[hatodik]] {{dhaxda}} *{{pt}}: [[sexto]] *{{ru}}: [[шестой]] (shestoy) *{{sv}}: [[sjätte]] {{hoos}} gt1hs4zv11oqkmuxtmo3jl8r9leai0l ereyada 0 3453 9689 9667 2014-04-05T03:31:22Z 177.17.190.20 9689 wikitext text/x-wiki {{-so-}} ===Magac=== '''ereyada''' ===Tarjumaad=== {{kor}} *{{de}}: [[Text]] *{{el}}: [[λόγια]] (lógia) *{{hu}}: [[szavak]] {{dhaxda}} *{{pt}}: [[palavra]]s *{{ru}}: [[слова]] (slova) *{{sv}}: [[ord]] {{hoos}} czq5j7sgueyj39de5xanvynfefvel0k dhaxaysaa 0 3454 9668 2014-04-05T03:12:22Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''dhaxaysaa''' ===Tarjumaad=== {{kor}} *{{de}}: [[zwischen]] *{{el}}: [[μεταξύ]] (metaxy) *{{hu}}: [[között]] {{dhaxda}} *{{pt}}: [[entre]] *{{ru}}: м... 9668 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhaxaysaa''' ===Tarjumaad=== {{kor}} *{{de}}: [[zwischen]] *{{el}}: [[μεταξύ]] (metaxy) *{{hu}}: [[között]] {{dhaxda}} *{{pt}}: [[entre]] *{{ru}}: [[между]] (mezhdu) *{{sv}}: [[mellan]] {{hoos}} 9tc9u5w94mw46o93fhbanhp9sl5rd09 entre 0 3455 18708 18043 2017-04-28T17:25:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18708 wikitext text/x-wiki {{-pt-}} === Magac === '''entre''' [[dhaxaysaa]] b86o6vxxsqa6xux318kr1hufjoev2l2 palavra 0 3456 19119 16197 2017-04-28T17:28:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19119 wikitext text/x-wiki {{-pt-}} === Magac === '''palavra''' [[ereyada]] p173jliio30ywmfmt1x4is48px79lqn sexto 0 3457 19285 17625 2017-04-28T17:29:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19285 wikitext text/x-wiki {{-pt-}} === Magac === '''sexto''' [[lixaad]] s2aqdimf6fqeg8i49y0eqf22rzmfb96 entrar 0 3458 18707 18044 2017-04-28T17:25:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18707 wikitext text/x-wiki {{-gl-}} === Magac === '''entrar''' [[dhaxaysaa]] {{-es-}} === Magac === '''entrar''' [[dhaxaysaa]] {{-pt-}} === Magac === '''entrar''' [[dhaxaysaa]] kbh5k0lydifdsa08d30nn50zl24qyln zwischen 0 3459 28574 19505 2024-06-21T11:16:58Z Jeuwre 4430 dhawaaqida 28574 wikitext text/x-wiki {{-de-}} === Magac === '''zhischen''' [[dhaxaysaa]] === Dhawaaqida === * {{CGX|/ˈt͡svɪʃn̩/|lang=de}} * {{audio|De-zwischen2.ogg|audio (Germany)|lang=de}} 0vovt90f26vkrlqw4wvftg286o19m0k Text 0 3460 18348 17982 2017-04-28T17:22:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18348 wikitext text/x-wiki {{-de-}} === Magac === '''Text''' [[ereyada]] 03i95abhb6nq3t06aw6e196sinof3bo sechste 0 3461 19262 17775 2017-04-28T17:29:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19262 wikitext text/x-wiki {{-de-}} === Magac === '''sechste''' [[lixaad]] e1hnugeub5tkdj2t4hxhuas68x6w87l μεταξύ 0 3462 19553 16718 2017-04-28T17:31:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19553 wikitext text/x-wiki {{-el-}} === Magac === '''μεταξύ''' (metaxy) [[dhaxaysaa]] r2zlzua8izktzr1hkf5v02vxu8wbs59 λόγια 0 3463 19552 13626 2017-04-28T17:31:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19552 wikitext text/x-wiki {{-el-}} === Magac === '''λόγια''' (lógia) [[ereyada]] kto0teo5mjdb0xpzwckfd5opgiclt24 έκτος 0 3464 19544 11421 2017-04-28T17:31:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19544 wikitext text/x-wiki {{-el-}} === Magac === '''έκτος''' (éktos) [[lixaad]] 8s60uf4fcj7yk3ifu07rrc1zkcha70n шестой 0 3465 19627 16771 2017-04-28T17:32:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19627 wikitext text/x-wiki {{-ru-}} === Magac === '''шестой''' (shestoy) [[lixaad]] deqhcf1ms5vfeexujtqxif3r4dyj2zi слова 0 3466 19607 17933 2017-04-28T17:31:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19607 wikitext text/x-wiki {{-ru-}} === Magac === '''слова''' (slova) [[ereyada]] 7xdb0l04ups8bpiyspu66vecraqeckm между 0 3467 19585 17051 2017-04-28T17:31:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19585 wikitext text/x-wiki {{-ru-}} === Magac === '''между''' (mezhdu) [[dhaxaysaa]] 0lstof475h9bt6eupvtz0l3x6offtn4 között 0 3468 18955 18076 2017-04-28T17:27:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18955 wikitext text/x-wiki {{-hu-}} === Magac === '''között''' [[dhaxaysaa]] 105l5ne6atq8o1yeb6h5vijknjvf7cr szavak 0 3469 19346 14065 2017-04-28T17:30:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19346 wikitext text/x-wiki {{-hu-}} === Magac === '''szavak''' [[ereyada]] i3ct1ee31fg1ojzp8g4oyizoivpkjgg hatodik 0 3470 18826 17193 2017-04-28T17:26:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18826 wikitext text/x-wiki {{-hu-}} === Magac === '''hatodik''' [[lixaad]] i9qm8rg2c78lgwre1bmp73keeeyaizn mellan 0 3471 19028 17856 2017-04-28T17:27:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19028 wikitext text/x-wiki {{-sv-}} === Magac === '''mellan''' * [[dhaxaysaa]] lu27d9ha9a08q9lifl8y1zaatkwgnjq ord 0 3472 19107 17873 2017-04-28T17:28:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19107 wikitext text/x-wiki {{-da-}} === Magac === '''ord''' * [[ereyada]] {{-no-}} === Magac === '''ord''' * [[ereyada]] {{-sv-}} === Magac === '''ord''' * [[ereyada]] qy5wy32uagm2op5z9iowk0y4uww1ygd sjätte 0 3473 19310 17929 2017-04-28T17:29:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19310 wikitext text/x-wiki {{-sv-}} === Magac === '''sjätte''' * [[lixaad]] 5viv0afxj3h6kxycn73tbxkhts5y1ej Category:Farowsi ereyada 14 3474 19884 18236 2017-07-03T13:38:15Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19884 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx piano 0 3475 20307 20261 2020-04-01T06:57:14Z Minorax 2056 20307 wikitext text/x-wiki [[File:Piano keyboard.JPG|thumb|350px|<div style align=center>'''Piano'''<sup>1</sup></div>]] {{-ast-}} === Magac === '''piano''' [[biyaano]] {{-sq-}} === Magac === '''piano''' [[biyaano]] {{-af-}} === Magac === '''piano''' [[biyaano]] {{-az-}} === Magac === '''piano''' [[biyaano]] {{-ca-}} === Magac === '''piano''' [[biyaano]] {{-gl-}} === Magac === '''piano''' [[biyaano]] {{-eo-}} === Magac === '''piano''' [[biyaano]] {{-en-}} === Magac === '''piano''' [[biyaano]] {{-es-}} === Magac === '''piano''' {{-fi-}} [[biyaano]] === Magac === '''piano''' [[biyaano]] {{-fr-}} === Magac === '''piano''' [[biyaano]] {{-it-}} === Magac === '''piano''' [[biyaano]] {{-ia-}} === Magac === '''piano''' [[biyaano]] {{-id-}} === Magac === '''piano''' [[biyaano]] {{-ku-}} === Magac === '''piano''' [[biyaano]] {{-nl-}} === Magac === '''piano''' [[biyaano]] {{-no-}} === Magac === '''piano''' [[biyaano]] {{-pt-}} === Magac === '''piano''' [[biyaano]] {{-sk-}} === Magac === '''piano''' [[biyaano]] {{-sv-}} === Magac === '''piano''' [[biyaano]] {{-cy-}} === Magac === '''piano''' [[biyaano]] sbzn66eyx6a7n7t822lggxo4vlk48lq pica 0 3476 19143 18092 2017-04-28T17:28:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19143 wikitext text/x-wiki {{-lt-}} === Magac === '''pica''' [[pizza]] {{-sl-}} === Magac === '''pica''' [[pizza]] a6quaprnpy11wjnm28ztd3th5xzeich πίτσα 0 3477 19556 13739 2017-04-28T17:31:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19556 wikitext text/x-wiki {{-el-}} === Magac === '''πίτσα''' (pítsa) [[pizza]] 1lb57wrqa3weu86jbes2tzz3v52zjsu פיצא 0 3478 19661 13808 2017-04-28T17:32:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19661 wikitext text/x-wiki {{-he-}} === Magac === '''פיצא''' (pitsa) :[[pizza]] sxzvzmayz13odhj0166t4bwmeyqxxh5 pico 0 3479 19144 15946 2017-04-28T17:28:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19144 wikitext text/x-wiki {{-eo-}} === Magac === '''pico''' [[pizza]] {{-io-}} === Magac === '''pico''' [[pizza]] pm4imzu0o3ibjy6mya7v8bitd0vph0f placentula 0 3480 19148 13781 2017-04-28T17:28:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19148 wikitext text/x-wiki {{-la-}} === Magac === '''placentula''' * [[pizza]] d0ulwrpmduxqbxfj8mcrfgn0ezbx8ct octopus 0 3481 20085 19096 2018-10-28T20:28:57Z Sakiinlaq 1889 20085 wikitext text/x-wiki {{-en-}} === Magac === '''octopus''' * [[farammugo]] {{-nl-}} === Magac === '''octopus''' * [[farammugo]] {{-la-}} === Magac === '''octopus''' * [[farammugo]] {{-no-}} === Magac === '''octopus''' * [[farammugo]] [[Category:Erey Magac]] ius2toskq15kje0kkg1it6q59bhqxiw cello 0 3482 18552 18027 2017-04-28T17:24:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18552 wikitext text/x-wiki {{-so-}} === Magac === '''cello''' {{-en-}} === Magac === '''cello''' {{-da-}} === Magac === '''cello''' {{-nl-}} === Magac === '''cello''' {{-no-}} === Magac === '''cello''' {{-sv-}} === Magac === '''cello''' ntdx0x7cmb43t2symhc78sod7pgmg65 チェロ 0 3483 19731 14173 2017-04-28T17:32:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19731 wikitext text/x-wiki {{-ja-}} === Magac === '''チェロ''' (chero) [[cello]] p9ch31v92pcphgpgnqjxt326nn7ui67 첼로 0 3484 19770 14200 2017-04-28T17:33:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19770 wikitext text/x-wiki {{-ko-}} === Magac === '''첼로''' (chello) [[cello]] 900wmoej07zfocunessr44v7d7qzyg2 ویولنسل 0 3485 19695 14141 2017-04-28T17:32:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19695 wikitext text/x-wiki {{-fa-}} === Magac === '''ویولنسل''' (viyolonsel) [[cello]] 1xodp4jvypruma37tsd029w0akr9o1k sello 0 3486 19269 17915 2017-04-28T17:29:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19269 wikitext text/x-wiki {{-ast-}} === Magac === '''sello''' [[cello]] {{-fi-}} === Magac === '''sello''' [[cello]] {{-it-}} === Magac === '''sello''' [[cello]] {{-tl-}} === Magac === '''sello''' [[cello]] {{-es-}} === Magac === '''sello''' [[shaabadda]] hve62dypy01r1zzuh4wh5cptvtdfln0 shaabadda 0 3487 20457 9716 2020-12-21T12:08:32Z 41.223.109.219 20457 wikitext text/x-wiki {{-so-}} ===Daaru Safa Intermidiate school=== '''shaabadda''' ===Tarjumaad=== *{{es}}: [[sello]] *{{tl}}: [[selyo]] 8gi3dbkdf3w4pm66103zsmsm9k1wg1u selyo 0 3488 19270 14038 2017-04-28T17:29:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19270 wikitext text/x-wiki {{-tl-}} === Magac === '''selyo''' * [[shaabadda]] jmtzaqu7u6j7hdzccs9ea48fjal8980 qorrax 0 3489 19180 17894 2017-04-28T17:28:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19180 wikitext text/x-wiki {{-so-}} === Magac === '''qorrax''' === Tarjumaad === * {{fi}}: [[aurinko]] * {{it}}: [[sole]] * {{uz}}: [[quyosh]] 9etz8g7m2a9qy63dpyrchmxi6vxfu6q quyosh 0 3490 19191 17434 2017-04-28T17:29:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19191 wikitext text/x-wiki {{-uz-}} === Magac === '''quyosh''' [[qorrax]] 2lx6x2q2dwa0oeimg3nlq2gq2y2l1ja sole 0 3491 19313 17628 2017-04-28T17:29:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19313 wikitext text/x-wiki {{-it-}} === Magac === '''sole''' # [[qorrax]] idvvuepriclp32m2kzuughthel180ev cadceed 0 3492 21321 18539 2022-05-13T02:44:50Z Kwamikagami 3157 21321 wikitext text/x-wiki {{-so-}} === Magac === '''cadceed''' ===La mid ah=== *[[☉]] === Tarjumaad === {{kor}} * {{en}}: [[sun]] * {{pl}}: [[słońce]] {{dhaxda}} * {{sh}}: [[sunce]] [[сунце]] * {{tl}}: [[araw]] {{hoos}} s1lwe2bdctmj1wqi7nejclcy8preirw araw 0 3493 18437 12905 2017-04-28T17:23:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18437 wikitext text/x-wiki {{-tl-}} === Magac === '''araw''' [[cadceed]] gaxpyiknzqen3nonqyvh9jw5ug2eatl słońce 0 3494 19355 17767 2017-04-28T17:30:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19355 wikitext text/x-wiki {{-pl-}} === Magac === '''słońce''' [[qorrax]], [[cadceed]] oh5dk6x0wrllojhtei4vzlwlyowz06l sunce 0 3495 19335 17338 2017-04-28T17:30:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19335 wikitext text/x-wiki {{-sh-}} === Magac === '''sunce''', '''[[сунце]]''' [[qorrax]], [[cadceed]] qwkrexbaqa6hx536qgp5t7wn0djutak сунце 0 3496 19610 14123 2017-04-28T17:31:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19610 wikitext text/x-wiki {{-sh-}} === Magac === '''сунце''', '''[[sunce]]''' [[qorrax]], [[cadceed]] e84h20aivfgu9owpunnbrd2b1e0mulq sol 0 3497 19312 15974 2017-04-28T17:29:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19312 wikitext text/x-wiki {{-ast-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-da-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-gl-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-es-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-no-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-pt-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] {{-sv-}} === Magac === '''sol''' * [[qorrax]], [[cadceed]] 6bwmizpkxg9t5lbkwb52acbd0jl1901 rabniin 0 3498 9731 2014-04-05T13:55:49Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''radniin''' ===Tarjumaad=== *{{fi}}: [[halu]] 9731 wikitext text/x-wiki {{-so-}} ===Magac=== '''radniin''' ===Tarjumaad=== *{{fi}}: [[halu]] 6z7z9fdfoli5aqxfj6aqcjn8sg0q3fa damac 0 3499 28550 24628 2024-06-17T08:43:25Z Girligaanshub 3150 28550 wikitext text/x-wiki {{-so-}} ===Magac=== '''damac''' ===Tarjumaad=== * {{en}}: greed, desire, craving *{{da}}: [[grådighed]] *{{fi}}: [[ahneus]], [[halu]] *{{fr}}: [[avidité]] *{{sv}}: [[girighet]] df4n4rnka12pxrsmuojihx7r6vswvo9 lahasho 0 3500 9733 2014-04-05T13:59:39Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''lahasho''' ===Tarjumaad=== *{{fr}}: [[ah]] *{{sv}}: [[ah]] 9733 wikitext text/x-wiki {{-so-}} ===Magac=== '''lahasho''' ===Tarjumaad=== *{{fr}}: [[ah]] *{{sv}}: [[ah]] okp05pb0ccbyw77slq3r4h1ptihztar faras 0 3501 18742 16588 2017-04-28T17:25:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18742 wikitext text/x-wiki {{-so-}} === Magac === '''faras''' === Tarjumaad === {{kor}} * {{de}}: [[Pferd]] * {{fi}}: [[hevonen]] * {{en}}: [[horse]] {{dhaxda}} * {{sv}}: [[häst]] * {{pt}}: [[cavalo]] * {{vi}}: [[ngựa]] {{hoos}} m3hkm98wkj7tf0qft2klkp5fg534tli ngựa 0 3502 19066 17394 2017-04-28T17:28:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19066 wikitext text/x-wiki {{-vi-}} === Magac === '''ngựa''' * [[faras]] e6f53gx6qjrvguu0jc4o6ai5qlnjudp Pferd 0 3503 18325 16517 2017-04-28T17:22:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18325 wikitext text/x-wiki {{-de-}} === Magac === '''Pferd''' * [[faras]] r98cpeu4eclbmpe0zetmq1cgi9le2b5 cavalo 0 3504 18549 17811 2017-04-28T17:24:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18549 wikitext text/x-wiki {{-pt-}} === Magac === '''cavalo''' * [[faras]] jbr1zbvpd819qg3atns4uny335idpk7 cabalo 0 3505 18537 16549 2017-04-28T17:24:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18537 wikitext text/x-wiki {{-gl-}} === Magac === '''cabalo''' [[faras]] 69l0kuosufijcf5rtptj8jl0we61jfk horse 0 3506 18854 15062 2017-04-28T17:26:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18854 wikitext text/x-wiki {{-en-}} === Magac === '''horse''' [[faras]] hlvxifk03h4pz43v1m5c47af9q4luoz caballo 0 3507 18536 17684 2017-04-28T17:24:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18536 wikitext text/x-wiki {{-es-}} === Magac === '''caballo''' * [[faras]] loe85y673ujdsayofl0s3ljex52barv häst 0 3508 18863 18068 2017-04-28T17:26:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18863 wikitext text/x-wiki {{-sv-}} === Magac === '''häst''' # [[faras]] nd429uxrx9xbfyts72v3n5g0thajoce at 0 3509 18447 17667 2017-04-28T17:23:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18447 wikitext text/x-wiki {{-az-}} === Magac === '''at''' * [[faras]] {{-tr-}} === Magac === '''at''' * [[faras]] t2x6t3ac5jyqhxtke28930cz13cy57m ot 0 3510 19110 16195 2017-04-28T17:28:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19110 wikitext text/x-wiki {{-uz-}} === Magac === '''ot''' [[faras]] pdldztg12hviyoghdl8ya3sxc3ebztd Category:Usbakis ereyada 14 3511 19949 16895 2017-07-03T13:39:22Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19949 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx walwal 0 3512 29894 19464 2024-08-13T19:46:33Z Girligaanshub 3150 29894 wikitext text/x-wiki {{-so-}} === Magac === '''walwal''' ===Tarjumaad=== * {{en}}: stress, worry, === Tarjumaad === * {{az}}: [[narahatlıq]] * {{es}}: [[preocupación]]es * {{fi}}: [[huoli]] * {{tr}}: [[endişeler]] f970qytiv4ua3lhovsk164ev5pq0u5e preocupación 0 3513 19164 16297 2017-04-28T17:28:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19164 wikitext text/x-wiki {{-es-}} === Magac === '''preocupación''' [[walwal]] 11nznkc2f3hxlvyq5qk3z470q33twwv endişeler 0 3514 9748 2014-04-05T14:13:41Z 177.17.190.20 Bog cusub: {{-tr-}} ===Magac=== '''endişeler''' [[walwal]] 9748 wikitext text/x-wiki {{-tr-}} ===Magac=== '''endişeler''' [[walwal]] prrmhz5ynhf2rasopth4qt33iyofj9m narahatlıq 0 3515 19058 16647 2017-04-28T17:28:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19058 wikitext text/x-wiki {{-az-}} === Magac === '''narahatlıq''' [[walwal]] b9a6zxhf33mhrdyzwlh117z789cuxg1 murug 0 3516 9750 2014-04-05T14:18:20Z 177.17.190.20 Bog cusub: {{-so-}} ===Magac=== '''murug''' ===Tarjumaad=== {{kor}} *{{ar}}: [[حزن]] *{{az}}: [[narahatlıq]] *{{es}}: [[dolor]] {{dhaxda}} *{{ko}}: [[슬픔]] (seulpeum) *{{sv}}: [[sorger]]... 9750 wikitext text/x-wiki {{-so-}} ===Magac=== '''murug''' ===Tarjumaad=== {{kor}} *{{ar}}: [[حزن]] *{{az}}: [[narahatlıq]] *{{es}}: [[dolor]] {{dhaxda}} *{{ko}}: [[슬픔]] (seulpeum) *{{sv}}: [[sorger]] *{{tr}}: [[üzüntü]] {{hoos}} 34haxrtfj1n6vhisk9cufr0tpof6oqu حزن 0 3517 19675 16786 2017-04-28T17:32:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19675 wikitext text/x-wiki {{-ar-}} === Magac === '''حزن''' [[murug]] 1y25vubwfcsmevqzk0qfg2wzpoxyovs sorger 0 3518 19320 14048 2017-04-28T17:29:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19320 wikitext text/x-wiki {{-sv-}} === Magac === '''sorger''' [[murug]] gc66vja5297ne8eqw9l5hxn3z69id4g üzüntü 0 3519 19520 17441 2017-04-28T17:31:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19520 wikitext text/x-wiki {{-tr-}} === Magac === '''üzüntü''' # [[murug]] l9m0b3kqvjhsvv6ziwbzcta0zm198lb 슬픔 0 3520 19766 14203 2017-04-28T17:32:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19766 wikitext text/x-wiki {{-ko-}} === Magac === '''슬픔''' (seulpeum) [[murug]] 49xh6o211vdmvi9hw74rch0jq64lw9g dolor 0 3521 18655 17706 2017-04-28T17:25:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18655 wikitext text/x-wiki {{-ast-}} === Magac === '''dolor''' [[murug]] {{-es-}} === Magac === '''dolor''' [[murug]] qcbg74nifbh0jljpuvs6mko5v3j6kih buug 0 3522 20296 20295 2020-03-06T01:20:54Z Frodlekis 230 20296 wikitext text/x-wiki {{-so-}} === Magac === '''buug''' === Tarjumaad === {{kor}} * {{da}}: [[bog]] * {{fi}}: [[kirja]] * {{gl}}: [[libro]] * {{en}}: [[book]] * {{es}}: [[libro]] {{dhaxda}} * {{sv}}: [[bok]] * {{de}}: [[Buch]] * {{ko}}: [[책]] (chaeg) * {{pt}}: [[livro]] * {{tl}}: [[aklat]] {{hoos}} 2g8kz8rc9tq33jtysx0phmd1x4eidzy 0 3523 19769 15100 2017-04-28T17:32:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19769 wikitext text/x-wiki {{-ko-}} === Magac === '''책''' (chaeg) [[buug]] kf7xx48vpavt1rcc5vu3arwvc61pcak Buch 0 3524 18280 17656 2017-04-28T17:22:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18280 wikitext text/x-wiki {{-de-}} === Magac === '''Buch''' [[buug]] 2jegkhs7ubntnbbxyq04efkkzm0m81r livro 0 3525 18984 16177 2017-04-28T17:27:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18984 wikitext text/x-wiki {{-pt-}} === Magac === '''livro''' [[buug]] n9ahc0p8j2l8096hg924zh7i7rw0hwz aklat 0 3526 18405 13126 2017-04-28T17:23:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18405 wikitext text/x-wiki {{-tl-}} === Magac === '''aklat''' [[buug]] 6rwl1p33qxm6aibj3touz8aahsunu5c libro 0 3527 18974 18176 2017-04-28T17:27:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18974 wikitext text/x-wiki {{-gl-}} === Magac === '''libro''' [[buug]] {{-es-}} === Magac === '''libro''' [[buug]] ghfg0j46sqjisopaa53azhc4q7ckl6p bog 0 3528 32353 32349 2024-11-10T13:02:24Z Girligaanshub 3150 32353 wikitext text/x-wiki {{-so-}} == Magac == '''bog''' === Tarjumaad === * {{en}}: chest * {{en}}: page, paper ===Synonyms (chest)=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]] ===Synonyms (page)=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] {{-da-}} == Magac == '''bog''' [[buug]] {{-fo-}} == Magac == '''bog''' [[buug]] agqvvdber461ymnmgpzjp9vlueohxog ubax 0 3529 32762 32761 2024-12-01T08:36:30Z ВМНС 5070 32762 wikitext text/x-wiki {{-so-}} === Magac === '''ubax''' === Tarjumaad === {{kor}} * {{af}}: [[blomme]] * {{bg}}: [[цветя]] (tsvetya) * {{de}}: [[Blume]] * {{en}}: [[flower]] * {{fi}}: [[kukka]] {{dhaxda}} * {{no}}: [[blomster]] * {{pt}}: [[flor]] * {{sv}}: [[blommor]] * {{tl}}: [[bulaklak]] * {{vi}}: [[hoa]] {{hoos}} [[Category:Soomaali ereyada-u]] b64nt8t9jb8sxtxoj9vogdxtluhemzh цветя 0 3530 9764 2014-04-05T14:34:37Z 177.17.190.20 Bog cusub: {{-bg-}} ===Magac=== '''цветя''' (tsvetya) [[ubax]] 9764 wikitext text/x-wiki {{-bg-}} ===Magac=== '''цветя''' (tsvetya) [[ubax]] 5fbwa43dev2au153obsfhi3s1wjh59a Blume 0 3531 18275 17789 2017-04-28T17:22:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18275 wikitext text/x-wiki {{-de-}} === Magac === '''Blume''' * [[ubax]] glghdwzlfbqv31cepi03wj3rod6umhx flower 0 3532 18771 17187 2017-04-28T17:26:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18771 wikitext text/x-wiki {{-en-}} === Magac === '''flower''' [[ubax]] rxv8c3bs54ifvnonu70z4p4hd44w6u9 flor 0 3533 18769 17041 2017-04-28T17:26:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18769 wikitext text/x-wiki {{-es-}} === Magac === '''flor''' [[ubax]] {{-pt-}} === Magac === '''flor''' [[ubax]] 3uuthkiqyx0d5u5zaxciw6as9cg7xjk hoa 0 3534 18846 16601 2017-04-28T17:26:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18846 wikitext text/x-wiki {{-vi-}} === Magac === '''hoa''' # [[ubax]] 9yz0s4uvmguy9dgebarl85qcnz51za1 blomster 0 3535 18510 18167 2017-04-28T17:24:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18510 wikitext text/x-wiki {{-no-}} === Magac === '''blomster''' * [[ubax]] cg7kex3h54bfrk5jpw2y02esf5ohwj6 blommor 0 3536 18509 13714 2017-04-28T17:24:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18509 wikitext text/x-wiki {{-sv-}} === Magac === '''blommor''' * [[ubax]] qiio56t9k33n8havn7yyk8ue7ksdr7g bulaklak 0 3537 18523 13299 2017-04-28T17:24:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18523 wikitext text/x-wiki {{-tl-}} === Magac === '''bulaklak''' * [[ubax]] 4sz8f7bbhi9ex1ejv2zee1pj8wtz4yf blomme 0 3538 18508 18024 2017-04-28T17:24:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18508 wikitext text/x-wiki {{-af-}} === Magac === '''blomme''' * [[ubax]] 2yph1eonoa22s3nvv4hdox63ty5wyli bloem 0 3539 18507 17975 2017-04-28T17:24:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18507 wikitext text/x-wiki {{-nl-}} === Magac === '''bloem''' [[ubax]] bvqe24m1723as5uahwbvrie8ql0lo96 fiore 0 3540 18761 17715 2017-04-28T17:26:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18761 wikitext text/x-wiki {{-it-}} === Magac === '''fiore''' * [[ubax]] tgmwmexima7ycugnf9p0urzb990oyf4 flores 0 3541 18770 17716 2017-04-28T17:26:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18770 wikitext text/x-wiki {{-gl-}} === Magac === '''[[flor]]es''' ''pl'' * [[ubax]] kokmwlbw452mhowa4wg4wanwfmbep1l shimbir 0 3542 19291 17923 2017-04-28T17:29:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19291 wikitext text/x-wiki {{-so-}} === Magac === '''shimbir''' === Tarjumaad === {{kor}} * {{sq}}: [[zog]] * {{bg}}: [[птица]] (pititsa) * {{en}}: [[bird]] * {{es}}: [[pájaro]] * {{fi}}: [[lintu]] {{dhaxda}} * {{fr}}: [[oiseau]] * {{nl}}: [[vogel]] * {{gl}}: [[paxaro]] * {{pt}}: [[pássaro]] * {{tl}}: [[ibon]] {{hoos}} 3dhhyvho62uyh1lk0hc5firx7tde4lc птица 0 3543 19596 17189 2017-04-28T17:31:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19596 wikitext text/x-wiki {{-bg-}} === Magac === '''птица''' (pititsa) [[shimbir]] cisawqkw9fb2hnkb7ha39ndbboyl9y6 zog 0 3544 19501 15514 2017-04-28T17:31:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19501 wikitext text/x-wiki {{-sq-}} === Magac === '''zog''' [[shimbir]] go9vyk0hhtg13t7s3hkuc22tfaq2c9g paxaro 0 3545 19132 16649 2017-04-28T17:28:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19132 wikitext text/x-wiki {{-gl-}} === Magac === '''paxaro''' [[shimbir]] p3a2isu1nu0plgrw1xumun3s6q2cr21 pájaro 0 3546 19168 17752 2017-04-28T17:28:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19168 wikitext text/x-wiki {{-es-}} === Magac === '''pájaro''' :[[shimbir]] 7moy1q2ngk4su0nw36jxtfu947q75aa ibon 0 3547 18866 13940 2017-04-28T17:26:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18866 wikitext text/x-wiki {{-tl-}} === Magac === '''ibon''' # [[shimbir]] kkpa16fr69lw63h2iqovc4h2efgzht5 oiseau 0 3548 19098 17653 2017-04-28T17:28:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19098 wikitext text/x-wiki {{-fr-}} === Magac === '''oiseau''' # [[shimbir]] 9cmuh7gr2yk0i6s0jpespji5wygz1w2 vogel 0 3549 19457 17092 2017-04-28T17:30:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19457 wikitext text/x-wiki {{-nl-}} === Magac === '''vogel''' [[shimbir]] s9oqj8higgd6ums5trjxtd72l194if8 uccello 0 3550 19427 17639 2017-04-28T17:30:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19427 wikitext text/x-wiki {{-it-}} === Magac === '''uccello''' * [[shimbir]] azc2gvbx191my8opzsogdn4k4kbbcqe Vogel 0 3551 18359 18163 2017-04-28T17:23:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18359 wikitext text/x-wiki {{-de-}} === Magac === '''Vogel''' [[shimbir]] guf8w1bhxzhxjyqxmw89g6qlvdybfku voël 0 3552 19459 18199 2017-04-28T17:30:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19459 wikitext text/x-wiki {{-af-}} === Magac === '''voël''' [[shimbir]] izzq885qkwayxznw1uo5rkwy0rvxx0n Template:tl 10 3553 9787 2014-04-05T14:51:24Z 177.17.190.20 Bog cusub: Tagalog<noinclude> 9787 wikitext text/x-wiki Tagalog<noinclude> 5k472iq8ozyy4eylwkccf1nlcu2vwmf san 0 3554 19245 17787 2017-04-28T17:29:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19245 wikitext text/x-wiki {{-so-}} === Magac === '''san''' === Tajumaad === * {{fi}}: [[nenä]] {{-es-}} === Magac === '''san''' {{-gl-}} === Magac === '''san''' {{-tl-}} === Magac === '''san''' lgxyozcwutdce73hdinv0bq4tpv7y9j baarako 0 3555 18466 13889 2017-04-28T17:23:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18466 wikitext text/x-wiki {{-so-}} === Magac === '''baarako''' === Tarjumaad === * {{fi}}: [[parakki]] pq329f8assl1o8kwj56rnonnwz5ybh5 eray 0 3556 32743 32742 2024-11-30T18:24:37Z ВМНС 5070 32743 wikitext text/x-wiki {{-so-}} === Magac === '''eray''' === Tarjumaad === {{kor}} * {{az}}: [[söz]] * {{bg}}: [[дума]] (duma) * {{de}}: [[Wort]] {{dhaxda}} * {{en}}: [[word]] * {{fi}}: [[sana]] * {{tl}}: [[salita]] {{hoos}} [[Category:Soomaali ereyada-er]] rrh2f3tn4darpficyjzc67q7xk3redm salita 0 3557 19244 18123 2017-04-28T17:29:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19244 wikitext text/x-wiki {{-tl-}} === Magac === '''salita''' [[eray]] q8ngqt68per4nsvyf1coqe7k2yiz9xs дума 0 3558 19577 17353 2017-04-28T17:31:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19577 wikitext text/x-wiki {{-bg-}} === Magac === '''дума''' (duma) * [[eray]] tbskuudcl1hw5j1mf0gu5mre1aeza6h Wort 0 3559 18364 17407 2017-04-28T17:23:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18364 wikitext text/x-wiki {{-de-}} === Magac === '''Wort''' :[[eray]] eu8yk6weiijrzzszgerqodttgk2w2di kelmad 0 3560 32282 9794 2024-11-06T05:51:36Z Girligaanshub 3150 32282 wikitext text/x-wiki {{-so-}} == Magac == '''kelmad''' === Tarjumaad === * {{en}}: word, saying, comment * {{en}}: point, topic hb12g58bg38kyxyoeb970tpvgs257tt söz 0 3561 19351 13657 2017-04-28T17:30:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19351 wikitext text/x-wiki {{-az-}} === Magac === '''söz''' * [[eray]], [[kelmad]] cd9rcgxnvj1vuuhivpc4j4fhi5tiwkl kilmad 0 3562 20057 20056 2018-10-28T16:54:45Z Sakiinlaq 1889 20057 wikitext text/x-wiki ==soomaali== ===Magac=== '''kilmad''' # Codad ama xarfo isu tagay oo samaynaya micno la fahmi karo tusaale ''mas'' ===Tarjumaad=== {{en}}: [[word]] {{sv}}: [[ord]] ago4smio1ojjgncr7ygmkumkwivhz37 sariir 0 3563 19249 17907 2017-04-28T17:29:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19249 wikitext text/x-wiki {{-so-}} === Magac === '''sariir''' === Tarjumaad === * {{fi}}: [[sänky]] owhi6hvy865ouv2wjawf31z0e7v7vvi fidsan 0 3564 29417 26761 2024-08-03T17:21:32Z Girligaanshub 3150 29417 wikitext text/x-wiki {{-so-}} == Magac == '''asaag''' === Tarjumaad === * {{en}}: flat, level, horizontal, spread, extended, extend, broadened, broad, stretch, stretched ===Synonyms=== *[[asaag]], [[fidsan]], [[balac]] ===Tarjumaad=== {{kor}} *{{sq}}: [[zgjeruar]] *{{az}}: [[uzadılıb]] *{{bg}}: [[продължен]] (prodŭlzhen) *{{fi}}: [[tasainen]] *{{id}}: [[luas]] {{dhaxda}} *{{el}}: [[παραταθεί]] (paratatheí) *{{ms}}: [[dilanjutkan]] *{{pt}}: [[estendido]] *{{ru}}: [[расширенный]] (rasshirennyy) *{{tl}}: [[pinahaba]] {{hoos}} ot2ffp112bhwlqiwj7szs15g7gqvp8t zgjeruar 0 3565 19499 13864 2017-04-28T17:31:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19499 wikitext text/x-wiki {{-sq-}} === Magac === '''zgjeruar''' [[balac]], [[fidsan]] i3oylkonvqp1an6ttl9t9beb2azztu4 uzadılıb 0 3566 9800 2014-04-05T15:18:35Z 177.17.190.20 Bog cusub: {{-az-}} ===Magac=== '''uzadılıb''' [[balac]], [[fidsan]] 9800 wikitext text/x-wiki {{-az-}} ===Magac=== '''uzadılıb''' [[balac]], [[fidsan]] i9hma7ondxhy2o98zipcd52pvo8bdg8 продължен 0 3567 19595 12957 2017-04-28T17:31:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19595 wikitext text/x-wiki {{-bg-}} === Magac === '''продължен''' (prodŭlzhen) * [[fidsan]] ohejodpn3o1bcl9qf48q4km5f8qcyeb luas 0 3568 18994 12979 2017-04-28T17:27:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18994 wikitext text/x-wiki {{-id-}} === Magac === '''luas''' * [[fidsan]] jffsyb9gnchs30az326pca7zkfjptjs pinahaba 0 3569 9803 2014-04-05T15:19:46Z 177.17.190.20 Bog cusub: {{-tl-}} ===Magac=== '''pinahaba''' [[balac]], [[fidsan]] 9803 wikitext text/x-wiki {{-tl-}} ===Magac=== '''pinahaba''' [[balac]], [[fidsan]] 2re8nfru15qpkyjoib3j2d9btneb6h6 расширенный 0 3570 19599 16733 2017-04-28T17:31:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19599 wikitext text/x-wiki {{-ru-}} === Magac === '''расширенный''' (rasshirennyy) * [[fidsan]] px3h2wmyhqb4edr2g45msckq5udz9du παραταθεί 0 3571 9805 2014-04-05T15:20:29Z 177.17.190.20 Bog cusub: {{-el-}} ===Magac=== '''παραταθεί''' (paratatheí) #[[fidsan]] 9805 wikitext text/x-wiki {{-el-}} ===Magac=== '''παραταθεί''' (paratatheí) #[[fidsan]] 043wfzqrv9lxub3wgqqwx906f3di45c dilanjutkan 0 3572 18637 13905 2017-04-28T17:25:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18637 wikitext text/x-wiki {{-ms-}} === Magac === '''dilanjutkan''' # [[fidsan]] # [[balac]] gu5v0dbo8q6rlug76eqaunr496he5ad estendido 0 3573 18719 16583 2017-04-28T17:25:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18719 wikitext text/x-wiki {{-gl-}} === Magac === '''estendido''' # [[fidsan]] # [[balac]] {{-pt-}} === Magac === '''estendido''' * [[fidsan]] 489si5rt3b76l2740tqguzkf6kqaf3s ampliado 0 3574 18421 13712 2017-04-28T17:23:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18421 wikitext text/x-wiki {{-es-}} === Magac === '''ampliado''' # [[fidsan]] # [[balac]] 7ruecqw2sx6knlihwgmkuf7ewywi4kz balac 0 3575 26759 18471 2024-02-11T06:49:35Z Girligaanshub 3150 26759 wikitext text/x-wiki {{-so-}} === Magac === '''balac''' === Tarjumaad === * {{en}}: level, horizontal, spread, extended, extend, broadened, broad ===Synonyms=== *[[asaag]], [[fidsan]], [[balac]] === Tarjumaad === {{kor}} * {{pt}}: [[estendido]] * {{es}}: [[ampliado]] {{dhaxda}} * {{ru}}: [[расширенный]] (rasshirennyy) * {{tl}}: [[pinahaba]] {{hoos}} 3yrtz9bdc2m9lq4tg02cmjz7sari5sj xidig 0 3576 32849 20237 2024-12-02T18:13:06Z ВМНС 5070 32849 wikitext text/x-wiki {{-so-}} === Magac === '''xidig''' === Tarjumaad === {{kor}} * {{es}}: [[película]] * {{fi}}: [[tähti]] {{dhaxda}} * {{tl}}: [[pelikula]] * {{vi}}: [[phim]] {{hoos}} [[Category:Soomaali ereyada-xi]] 2uhahwniwu6qvs0o2hkrizngyg9wnes película 0 3577 19138 13634 2017-04-28T17:28:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19138 wikitext text/x-wiki {{-es-}} === Magac === '''película''' [[xidig]] d5skrnl4qhprumo71np7nonfdynzat2 pelikula 0 3578 19137 16648 2017-04-28T17:28:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19137 wikitext text/x-wiki {{-tl-}} === Magac === '''pelikula''' * [[xidig]] 9sj135xt3e0ieqm3dswwi2js665ey64 movie 0 3579 19046 17860 2017-04-28T17:27:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19046 wikitext text/x-wiki {{-en-}} === Magac === '''movie''' [[xidig]] kkh0j6ihf7q9h354d7n765lr38nvc4g phim 0 3580 19141 17591 2017-04-28T17:28:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19141 wikitext text/x-wiki {{-vi-}} === Magac === '''phim''' [[xidig]] 5191dpcupf1p5mhjl217zdxl5u09tqe filme 0 3581 18760 16222 2017-04-28T17:26:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18760 wikitext text/x-wiki {{-gl-}} === Magac === '''filme''' [[xidig]] {{-pt-}} === Magac === '''filme''' [[xidig]] iak4dufjcwr72su9f6rq653g3ffqz9a gacan 0 3582 32802 18788 2024-12-01T20:46:09Z ВМНС 5070 32802 wikitext text/x-wiki {{-so-}} === Magac === '''gacan''' === Tarjumaad === * {{fi}}: [[varsi]] [[Category:Soomaali ereyada-ga]] l4hfufglzmfhws7sbqos9x3fu9jb3wj habeen 0 3583 18812 15241 2017-04-28T17:26:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18812 wikitext text/x-wiki {{-so-}} === Magac === '''habeen''' === Tarjumaad === * {{en}}: [[night]] * {{fi}}: [[yö]] fmf6zdpsilxezzf71r6sfmmsgkiujai Category:Bulgeeriyaan ereyada 14 3584 19876 17885 2017-07-03T13:38:07Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19876 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Albaaniyaan ereyada 14 3585 19857 17461 2017-07-03T13:37:38Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19857 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Asturiyaan ereyada 14 3586 19862 17611 2017-07-03T13:37:42Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19862 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Basquu ereyada 14 3587 19869 17363 2017-07-03T13:37:49Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19869 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx zinema 0 3588 19500 16712 2017-04-28T17:31:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19500 wikitext text/x-wiki {{-eu-}} === Magac === '''zinema''' [[xidig]] 9kcuwhpid0e9gekhsuqwdb0im0cmope Category:Katalaan ereyada 14 3589 19849 18240 2017-06-23T06:53:46Z Octahedron80 1659 [[d:Q8347033]] 19849 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kuuriyaan ereyada 14 3590 19847 17429 2017-06-23T00:21:11Z Octahedron80 1659 [[d:Q6434832]] 19847 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Laatiin ereyada 14 3591 19911 17453 2017-07-03T13:38:43Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19911 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Malaay ereyada 14 3592 19917 16310 2017-07-03T13:38:49Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19917 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Masadooniyaan ereyada 14 3593 19922 15443 2017-07-03T13:38:54Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19922 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Welsh ereyada 14 3594 19950 15438 2017-07-03T13:39:23Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19950 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Indunuusiyaan ereyada 14 3595 19894 17459 2017-07-03T13:38:26Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19894 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Romanka ereyada 14 3596 19929 17365 2017-07-03T13:39:02Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19929 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Maqaalada noindeksed 14 3597 19921 17547 2017-07-03T13:38:53Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19921 wikitext text/x-wiki Maqaalada noindeksed 46dt3j20rk77ee3414cih5rxnyvdawd พิซซ่า 0 3598 19716 13811 2017-04-28T17:32:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19716 wikitext text/x-wiki {{-th-}} === Magac === '''พิซซ่า''' :[[pizza]] j53qnv8510rm7xcuk63azwi6a0wv14l pítsa 0 3599 19174 14004 2017-04-28T17:28:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19174 wikitext text/x-wiki {{-is-}} === Magac === '''pítsa''' * [[pizza]] nsbglp80h3hmvocd1kfk01oq2cibu0q Internet 0 3600 18304 17473 2017-04-28T17:22:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18304 wikitext text/x-wiki {{-af-}} === Magac === '''Internet''' {{-fi-}} === Magac === '''Internet''' {{-fr-}} === Magac === '''Internet''' {{-de-}} === Magac === '''Internet''' {{-en-}} === Magac === '''Internet''' {{-is-}} === Magac === '''Internet''' {{-it-}} === Magac === '''Internet''' {{-lb-}} === Magac === '''Internet''' {{-pl-}} === Magac === '''Internet''' {{-pt-}} === Magac === '''Internet''' {{-sh-}} === Magac === '''Internet''' {{-sv-}} === Magac === '''Internet''' {{-tl-}} === Magac === '''Internet''' i8m3encjhqf5fw553kioulla9ulzn9n internet 0 3601 18884 17479 2017-04-28T17:26:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18884 wikitext text/x-wiki {{-so-}} === Magac === '''internet''' === Tarjumaad === {{kor}} * {{ar}}: [[الإنترنت]] * {{hy}}: [[ինտերնետ]] * {{de}}: [[Internet]] * {{zh}}: [[因特网]] (Yīntèwǎng) {{dhaxda}} * {{mk}}: [[интернет]] * {{ja}}: [[インターネット]] (Intānetto) * {{tl}}: [[Internet]] * {{th}}: [[อินเทอร์เน็ต]] (xinthexr̒nĕt) {{hoos}} {{-ast-}} === Magac === '''internet''' {{-cs-}} === Magac === '''internet''' {{-da-}} === Magac === '''internet''' {{-nl-}} === Magac === '''internet''' {{-fi-}} === Magac === '''internet''' {{-fr-}} === Magac === '''internet''' {{-gl-}} === Magac === '''internet''' {{-hu-}} === Magac === '''internet''' {{-es-}} === Magac === '''internet''' {{-it-}} === Magac === '''internet''' {{-pt-}} === Magac === '''internet''' {{-ro-}} === Magac === '''internet''' {{-tr-}} === Magac === '''internet''' {{-tk-}} === Magac === '''internet''' hcoydvudvgs8yacixlt7yt97jhxzqqq อินเทอร์เน็ต 0 3602 19717 17262 2017-04-28T17:32:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19717 wikitext text/x-wiki {{-th-}} === Magac === '''อินเทอร์เน็ต''' (xinthexr̒nĕt) [[internet]] i7yjn54jd5l4e7r8jxozofayounktez インターネット 0 3603 19729 17261 2017-04-28T17:32:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19729 wikitext text/x-wiki {{-ja-}} === Magac === '''インターネット''' (Intānetto) * [[internet]] 1y4fw35v52babun52pzb3wmbwu04wlw 因特网 0 3604 19742 17342 2017-04-28T17:32:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19742 wikitext text/x-wiki {{-zh-}} === Magac === '''因特网''' (Yīntèwǎng) * [[internet]] mpwpru5teryghtpz8fh45g555ejz94p ինտերնետ 0 3605 19656 17332 2017-04-28T17:32:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19656 wikitext text/x-wiki {{-hy-}} === Magac === '''ինտերնետ''' (internet) [[internet]] 6hq20kceemk1s6v2b67ujzqartw48j1 الإنترنت 0 3606 19667 14163 2017-04-28T17:32:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19667 wikitext text/x-wiki {{-ar-}} === Magac === '''الإنترنت''' * [[internet]] bmeis6o3r4naakxnckq6k91irpl0r72 اینترنت 0 3607 19669 17337 2017-04-28T17:32:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19669 wikitext text/x-wiki {{-fa-}} === Magac === '''اینترنت''' [[internet]] 3hckr4e22njkpjt1q8l33ba0c4jestw Інтернет 0 3608 19562 14112 2017-04-28T17:31:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19562 wikitext text/x-wiki {{-kk-}} === Magac === '''Інтернет''' [[internet]] {{-uk-}} === Magac === '''Інтернет''' [[internet]] fa57evaw9vq464m3b4zc16wcghuikj6 интернет 0 3609 19581 16741 2017-04-28T17:31:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19581 wikitext text/x-wiki {{-bg-}} === Magac === '''интернет''' [[internet]] {{-mk-}} === Magac === '''интернет''' [[internet]] {{-ru-}} === Magac === '''интернет''' [[internet]] {{-sh-}} === Magac === '''интернет''' [[internet]] {{-tg-}} === Magac === '''интернет''' [[internet]] 9u2ltf7ayeosu4vu0l0836quwmz8d36 Интернэт 0 3610 9857 2014-04-06T13:23:31Z 177.133.87.144 Bog cusub: {{-mn-}} ===Magac=== '''Интернэт''' (Internet) [[internet]] 9857 wikitext text/x-wiki {{-mn-}} ===Magac=== '''Интернэт''' (Internet) [[internet]] 04doscqc76iew1milg2xtkmmfpsx4qg Template:heesaha 10 3611 10307 9882 2014-04-14T22:51:22Z 177.17.246.205 10307 wikitext text/x-wiki Heeseha: <!-- -->[[Heeseha:-{{{1}}}|{{CGXchar|-{{{1}}}}}]]<!-- -->{{#if:{{{2|}}}|, [[Heeseha:{{#invoke:languages/templates|lookup|{{{lang|so}}}|getCanonicalName}}:-{{{2}}}|{{CGXchar|-{{{2}}}}}]]}}<!-- -->{{#if:{{{3|}}}|, [[Heeseha:{{#invoke:languages/templates|lookup|{{{lang|so}}}|getCanonicalName}}:-{{{3}}}|{{CGXchar|-{{{3}}}}}]]}}<!-- -->{{#if:{{{4|}}}|, [[Heeseha:{{#invoke:languages/templates|lookup|{{{lang|so}}}|getCanonicalName}}:-{{{4}}}|{{CGXchar|-{{{4}}}}}]]}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> 2vi5vpcuimwx7lxch1jjoyb9u4tkn8k Template:CGX 10 3612 9859 2014-04-06T14:06:57Z 177.133.87.144 Bog cusub: <includeonly>{{#if:{{{1|}}}|{{#if:{{{2|{{{lang|}}}}}}|{{#ifexist:Help:Dhawaaqid Hagaha/{{{{{2|{{{lang}}}}}}}}|Help:Dhawaaqid Hagaha/{{{{{2|{{{lang}}}}}}}}|Help:Dhawaaqid Hagaha}}|{{#... 9859 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}|[[{{#if:{{{2|{{{lang|}}}}}}|{{#ifexist:Help:Dhawaaqid Hagaha/{{{{{2|{{{lang}}}}}}}}|Help:Dhawaaqid Hagaha/{{{{{2|{{{lang}}}}}}}}|Help:Dhawaaqid Hagaha}}|{{#if:{{{3|}}}||Help:Dhawaaqid Hagaha}}}}|<span class="ipa" style="padding: 0 1px; text-decoration: none;">{{{1}}}</span>]]|<span title="Qeexin dhawaaqida">/<small><span class="plainlinks">[{{fullurl:{{PAGENAME}}|action=edit}} Dhawaaqid&nbsp;?]</span></small>/</span>{{#if:{{NAMESPACE}}||[[Categoria:!Predefinições preenchidas incorretamente]]}}}}</includeonly><noinclude>{{diiwaaninta}}</noinclude> 1h2un8amayn5y9cjrs19d12c40x1qk1 Template:langt 10 3613 9860 2014-04-06T14:12:16Z 177.133.87.144 Bog cusub: <includeonly><div class="documentation" style="display:block; clear:both"> ---- :''The following [[Help:Documenting templates|documentation]] is automatically transcluded by the templa... 9860 wikitext text/x-wiki <includeonly><div class="documentation" style="display:block; clear:both"> ---- :''The following [[Help:Documenting templates|documentation]] is automatically transcluded by the template'' {{temp|langt}}.'' This template is <b style="color: red">deprecated</b>, and is no longer used on any Wiktionary pages. Please use [[Module:languages]] or [[Module:languages/templates]] instead. {{#if:{{{1|}}}|[[Category:Appendix-only language code templates]]|[[Category:Language code templates]]}} {{#ifexist:{{FULLPAGENAME}}/type<!-- -->|<!-- -->{{#ifeq:{{{{FULLPAGENAME}}/type}}|[[Category:type subtemplates to be deleted]]<!-- -->|<!-- do nothing -->|<!-- -->[[Category:language code templates with type]]<!-- -->}}<!-- -->}}<!-- -->{{#ifexist:{{FULLPAGENAME}}/names<!-- -->|<!-- -->[[Category:language code templates with names]]<!-- -->}}<!-- -->{{#ifexist:{{FULLPAGENAME}}/script<!-- -->|<!-- -->{{#ifeq:{{{{FULLPAGENAME}}/script}}|[[Category:script subtemplates to be deleted]]<!-- -->|<!-- do nothing -->|<!-- -->[[Category:language code templates with script]]<!-- -->}}<!-- -->}}<!-- -->{{#ifexist:{{FULLPAGENAME}}/family<!-- -->|<!-- -->{{#ifeq:{{{{FULLPAGENAME}}/family}}|[[Category:family subtemplates to be deleted]]<!-- -->|<!-- do nothing -->|<!-- -->[[Category:language code templates with family]]<!-- -->}}<!-- -->}} {|class="wikitable" | Main category | [[:Category:{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCategoryName}}]]{{#ifexist:Category:{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCategoryName}}|[[Category:{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCategoryName}}]]}} |- | Reverse mapping<sup class="plainlinks"><nowiki>[</nowiki>[{{fullurl:Template:langrev/{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCanonicalName}}|action=edit&redlink=1&preloadtext={{{1|{{PAGENAME}}}}}}} edit]<nowiki>]</nowiki></sup> | {{#ifexist:Template:langrev/{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCanonicalName}}<!-- -->|<!-- -->{{#ifeq:{{langrev|{{#invoke:languages/templates|lookup|{{{1|{{PAGENAME}}}}}|getCanonicalName}}}}|{{{1|{{PAGENAME}}}}}<!-- -->|<!-- --><span style="color: darkgreen">OK</span><!-- -->|<!-- --><span style="color: darkred">Incorrect!</span>[[Category:Languages needing langrev]]<!-- -->}}<!-- -->|<!-- --><span style="color: darkred">Missing template, please create it!</span>[[Category:Languages needing langrev]]<!-- -->}} |} {{#ifexist:{{FULLPAGENAME}}/documentation<!-- -->| ---- :''The following [[Help:Documenting templates|documentation]] is located at'' [[{{FULLPAGENAME}}/documentation]]. <sup class="plainlinks">[[{{fullurl:{{FULLPAGENAME}}/documentation|action=edit}} edit]]</sup> {{{{FULLPAGENAME}}/documentation}}[[Category:language code templates with documentation]]<!-- -->|<!-- -->{{#ifexist:Template:{{PAGENAME}}/doc<!-- -->| ---- :''The following [[Help:Documenting templates and modules|documentation]] is located at'' [[Template:{{PAGENAME}}/doc]]. <sup class="plainlinks">[[{{fullurl:Template:{{PAGENAME}}/doc|action=edit}} edit]]</sup> :'''Note:''' Please [{{fullurl:Special:Movepage|wpOldTitle={{urlencode:Template:{{PAGENAME}}/doc}}&wpNewTitle={{urlencode:Template:{{PAGENAME}}/documentation}}&wpReason=Moving+documentation&wpLeaveRedirect=}} move the documentation subpage to Template:{{PAGENAME}}/documentation]. {{Template:{{PAGENAME}}/doc}}[[Category:language code templates with documentation]]<!-- -->[[Category:Templates with /doc subpage]]<!-- -->}}<!-- -->}} </div></includeonly><noinclude>{{diiwaaninta}}</noinclude> 8o9x403idlp54bsvya9feijkltwcbz1 Template:diiwaaninta 10 3614 9912 9862 2014-04-06T17:53:45Z 177.133.87.144 9912 wikitext text/x-wiki <div class="diiwaaninta" style="display:block; clear:both"> ---- {{#ifexist:Template:{{PAGENAME}}/diiwaaninta<!-- -->|<!-- -->:''The following [[Help:Documenting templates and modules|documentation]] is located at'' [[Template:{{PAGENAME}}/documentation]]. <sup class="plainlinks">[[{{fullurl:Template:{{PAGENAME}}/documentation|action=edit}} edit]]</sup> {{Template:{{PAGENAME}}/documentation}}<!-- -->|<!-- -->:''Jaantus Tani maqan booga [[Help:Documenting templates and modules|dokumentiyo]]. Fadlan <span class="plainlinks">[{{fullurl:Template:{{PAGENAME}}/documentation| action=edit&preload=Template:documentation/preloadTemplate}} la abuuro].''</span>{{#ifeq:{{NAMESPACE}}}}<!-- -->}}<!-- --></div> 2zthvstfn7v3u4qdtar5t35e16wlk2h Help:Dhawaaqid Hagaha 12 3615 9921 9878 2014-04-07T04:45:28Z Rschen7754 870 not a test 9921 wikitext text/x-wiki Magac loo isticmaalo laba nidaam oo aasaasi ah oo ay summad [[dhawaaq]]: [[AFIFEST]] iyo [[CGX]]. == The gudaysaan ee alifbeetada == Boggani waxuu muujinayaa liiska hodonimadii loo isticmaalo ruyey Qaramada Midoobay ee ereyada ku hadlaya af kasta. Dhawaaqida ee hodonimadii Afka qaarkood waxay ku xiran tahay meesha iyo hodonimadii Afka yihiin in erayga. Booga waxa uu soo bandhigayaa ku dhawaaqa gudaysaan for labada nidaam: *[[W:Caalamiga Gudaysaan Xarfaha|Caalamiga Gudaysaan Xarfaha, ama '''AFIFEST''']]; *[[W:CGX|''ballaaran Speech Hababka Qiimaynta gudaysaan Xarfaha'' ama '''CGX''']] (AFIFEST ku salaysan, laakiin iyadoo la isticmaalayo shaqsiyadaha ASCII, si fudud loo heli on teebabka ee guud). Intaa waxaa dheer, iyadoo ku xiran gobollada iyo shaqsiyaadka kala duwan, iyo hodonimadii Afka qaar ka mid ah ay yihiin mararka qaar wareersan. Tusaale ahaan, Faransiis ah {{CGX|ɑ}} - {{CGX|a}}, {{CGX|ɛ}} - {{CGX|e}}, {{CGX|ə}} - {{CGX|œ}}, {{CGX|o}} - {{CGX|ɔ}}, {{CGX|ɛ}} - {{CGX|œ}}, iwm. Wixii la caddeeyo,'' ku [[Wiki]]'' tusayaan. Laakiin macluumaadka sharraxaadda on ku alanle erayga, waa lagu soo dhaweynayaa qeybta "dhawaaqid" ereyada. == Isbarbar u dhexeeya misa iyo CGX for luqad kasta == {|style="clear:center;width:100%;" |- | valign="top" | * [[Help:Dhawaaqid Hagaha/{{sq}}|{{sq}}]] * [[Help:Dhawaaqid Hagaha/{{de}}|{{de}}]] * [[Help:Dhawaaqid Hagaha/{{en}}|{{en}}]] * [[Help:Dhawaaqid Hagaha/{{ar}}|{{ar}}]] * [[Help:Dhawaaqid Hagaha/{{br}}|{{br}}]] * [[Help:Dhawaaqid Hagaha/{{zh}}|{{zh}}]] * [[Help:Dhawaaqid Hagaha/{{ko}}|{{ko}}]] | valign="top" | * [[Help:Dhawaaqid Hagaha/{{es}}|{{es}}]] * [[Help:Dhawaaqid Hagaha/{{eo}}|{{eo}}]] * [[Help:Dhawaaqid Hagaha/{{fi}}|{{fi}}]] * [[Help:Dhawaaqid Hagaha/{{fr}}|{{fr}}]] * [[Help:Dhawaaqid Hagaha/{{el}}|{{el}}]] * [[Help:Dhawaaqid Hagaha/{{he}}|{{he}}]] * [[Help:Dhawaaqid Hagaha/{{hi}}|{{hi}}]] | valign="top" | * [[Help:Dhawaaqid Hagaha/{{hu}}|{{hu}}]] * [[Help:Dhawaaqid Hagaha/{{it}}|{{it}}]] * [[Help:Dhawaaqid Hagaha/{{ja}}|{{ja}}]] * [[Help:Dhawaaqid Hagaha/{{la}}|{{la}}]] * [[Help:Dhawaaqid Hagaha/{{nl}}|{{nl}}]] * [[Help:Dhawaaqid Hagaha/{{no}}|{{no}}]] * [[Help:Dhawaaqid Hagaha/{{pt}}|{{pt}}]] | valign="top" | * [[Help:Dhawaaqid Hagaha/{{ro}}|{{ro}}]] * [[Help:Dhawaaqid Hagaha/{{ru}}|{{ru}}]] * [[Help:Dhawaaqid Hagaha/{{sv}}|{{sv}}]] * '''[[Help:Dhawaaqid Hagaha/{{so}}|{{so}}]]''' * [[Help:Dhawaaqid Hagaha/{{tr}}|{{tr}}]] * [[Help:Dhawaaqid Hagaha/{{vi}}|{{vi}}]] |} == CGX == === Shaqal === Shaqal muujiyey yaraan mid ka mid ah lahjadaha ah ee luqadda Soomaaliga. {| cellspacing="0px" cellpadding=0 style="text-align:center; background:transparent;" |- style="text-align:center; font-size:smaller;" | | style="width:60px;" | '''Anterior''' | style="width:60px;" | '''Quase anterior''' | style="width:60px;" | '''Central''' | style="width:60px;" | '''Quase posterior''' | style="width:60px;" | '''Posterior''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Fechada''' | style="height:210px;" colspan=5 rowspan=7 | <div style="position:relative;width:300px;height:210px;">[[Image:Blank vowel trapezoid.png|300px]]<div style="background:transparent; position:absolute; top:0px; left:0px;"> {| style="position:relative; width:300px; height:210px; text-align:center; background:transparent;" |- | style="width:300px; height:210px; text-align:center; background:transparent;" | <!-- VOGAIS FECHADAS --> {{Help:Dhawaaqid Hagaha/shaqal|5|2.33|2|1.33|5=<font style="color:blue;">'''i'''</font>&nbsp;•&nbsp;y}} {{Help:Dhawaaqid Hagaha/shaqal|45|2.33|2|1.33|5=<font style="color:blue;">'''ɨ'''</font>&nbsp;•&nbsp;ʉ}} {{Help:Dhawaaqid Hagaha/shaqal|82|3|2|1.33|5=ɯ&nbsp;•&nbsp;<font style="color:blue;">'''u'''</font>}} <!-- VOGAIS FECHADAS LASSAS --> {{Help:Dhawaaqid Hagaha/shaqal|29|2.33|16|1.33em|5=ɪ&nbsp;•&nbsp;ʏ}} {{Help:Dhawaaqid Hagaha/shaqal|69|1.5|16|1.33|5=•&nbsp;ʊ}} <!-- VOGAIS SEMIFECHADAS --> {{Help:Dhawaaqid Hagaha/shaqal|16|2.66|30|1.33|5=<font style="color:blue;">'''e'''</font>&nbsp;•&nbsp;ø}} {{Help:Dhawaaqid Hagaha/shaqal|50|2.66|30|1.33|5=ɘ&nbsp;•&nbsp;ɵ}} {{Help:Dhawaaqid Hagaha/shaqal|83|2.66|30|1.33|5=ɤ&nbsp;•&nbsp;<font style="color:blue;">'''o'''</font>}} <!-- VOGAIS MÉDIAS --> {{Help:Dhawaaqid Hagaha/shaqal|57|1|44|1.33|5=ə}} <!-- VOGAIS SEMIABERTAS --> {{Help:Dhawaaqid Hagaha/shaqal|31|2.66|58|1.33|5=<font style="color:blue;">'''ɛ'''</font>&nbsp;•&nbsp;œ}} {{Help:Dhawaaqid Hagaha/shaqal|57|2.33|58|1.33|5=ɜ&nbsp;•&nbsp;ɞ}} {{Help:Dhawaaqid Hagaha/shaqal|84|2.33|58|1.33|5=ʌ&nbsp;•&nbsp;<font style="color:blue;">'''ɔ'''</font>}} <!-- VOGAIS QUASE ABERTAS --> {{Help:Dhawaaqid Hagaha/shaqal|37|1.33|73|1.33|5=æ}} {{Help:Dhawaaqid Hagaha/shaqal|64|1|73|1.33|5=<font style="color:blue;">'''ɐ'''</font>}} <!-- VOGAIS ABERTAS --> {{Help:Dhawaaqid Hagaha/shaqal|44|2.66|86|1.33|5=<font style="color:blue;">'''a'''</font>&nbsp;•&nbsp;ɶ}} {{Help:Dhawaaqid Hagaha/shaqal|83|2.66|86|1.33|5=ɑ&nbsp;•&nbsp;ɒ}} |} </div></div> |- | style="height:30px; font-size:smaller; text-align:right;" | '''Quase fechada''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Semifechada''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Média''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Semiaberta''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Quase aberta''' |- | style="height:30px; font-size:smaller; text-align:right;" | '''Aberta''' |} === Shibbanayaasha === (shaxda aan dhamaystirnayn waa) {| cellspacing="0px" cellpadding="6" style="text-align:center; background:transparent;" |- | | style="height:30px; font-size:smaller; text-align:center;" | Bilabial | style="height:30px; font-size:smaller; text-align:center;" | Labiodental | style="height:30px; font-size:smaller; text-align:center;" | Dental | style="height:30px; font-size:smaller; text-align:center;" | Alveolar | style="height:30px; font-size:smaller; text-align:center;" | Palato-<br/>alveolar | style="height:30px; font-size:smaller; text-align:center;" | Retroflexa |- | style="height:30px; font-size:smaller; text-align:right;" | Oclusiva | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=<font style="color:blue;">'''b'''</font>&nbsp;&nbsp;&nbsp;<font style="color:blue;">'''p'''</font>}} | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}} | colspan="3" | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=<font style="color:blue;">'''t'''</font>&nbsp;&nbsp;&nbsp;<font style="color:blue;">'''d'''</font>}} | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=ʈ&nbsp;&nbsp;&nbsp;ɖ}} |- | style="height:30px; font-size:smaller; text-align:right;" | Nasal | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=&nbsp;&nbsp;&nbsp;&nbsp;<font style="color:blue;">'''m'''</font>}} | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=&nbsp;&nbsp;&nbsp;&nbsp;ɱ}} | colspan="3" | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=&nbsp;&nbsp;&nbsp;&nbsp;<font style="color:blue;">'''n'''</font>}} | {{Help:Dhawaaqid Hagaha/shibbanayaasha|2.66|1.33|3=&nbsp;&nbsp;&nbsp;&nbsp;ɳ}} |- |} 4mr3cn7yqs7m1llswrgpu1i9awn4n4o Help:Dhawaaqid Hagaha/Jabaaniis 12 3616 9866 2014-04-06T14:47:38Z 177.133.87.144 Bog cusub: ==Hordhac== Guud ahaan, qaar ka mid ah biloowga ah ee waxbarasho ee Jabbaniis yihiin wareersan marka akhriska romanization (gaar ahaan nidaamka Hepburn ee romanization) ee shaqsiyadaha... 9866 wikitext text/x-wiki ==Hordhac== Guud ahaan, qaar ka mid ah biloowga ah ee waxbarasho ee Jabbaniis yihiin wareersan marka akhriska romanization (gaar ahaan nidaamka Hepburn ee romanization) ee shaqsiyadaha Jabbaniis iyo dhigi akhrinta sida ay xeerarka luqadda Portugal. Tusaale ahaan of kanu waa hadal aad u kanji (汉字, かんじ). J warqad The ee Booritiqiis, waxaa la akhriyaa sidii jet erayada ama dhalinyarada, laakiin romanization ee habka Jabbaniis waa la qaatay, waayo warqaddan jo dj ka dhawaajin u dhow ereyga sifo ama codka erayga d maalin (in kasta oo uu codka ee d dhexdooda ay dedijiyaan kala duwan yihiin). ==Isku keenin== Si ka duwan erayada kala duwan ee luqadda Booritiqiis erayo kala duwan ee luqadda Jabbaniis leeyahay kartaa midab Qeexin. Taasi waa, marka eray xarfaha kasta waa in lagu dhawaaqaa midab isku mid ah, marka laga reebo 'Gaarriye' wuxuu raacay mastarada "ー" (sida in erayga ショー) iyo Gaarriye warqadihii in la kordhiyo (sida "しょう" Susic la qoray iyo inuu kabahiisa gobanimada loogu dhawaaqo, oo leh laba "o" samaynta hal, codka dheeraaday). Sidee Erayo loogu dhawaaqo leh midab isku mid ah, Lugbuur in inta badan ka mid ah ogeysiisyada waa la soo dhaafay, adigoo siinaya koobi ah isagoo yar yar. Tusaale ahaan waxaa laga xusay waxaa laga yaabaa in jacaylka erayga, taasoo ku dhow ku dhawaaqa "Love" (oo aan jacayl), iyo katakana taas oo uu leeyahay codka u dhow "katakana". ==Shibbanayaasha soo noqnoqda== In luqadda Jabaaniis, xarafka "back to" (つ) ee hab yar ooっadeegtaa sida joogsiga gaaban at midab ah ee erayga. In ruyey ee alifbeetada Roman, warqaddan matalayo ku cel-celinta warqad hore. Tusaale waxaa ah erayga "暴れっ子" waxaa loo qoray sida "abarekko". Sida tusaale ahaan this, marka erayga waxaa la soo noqnoqda Sida ay siiyaan isku keenin, a xarfaha hore . Sidaa darteed, "abarekko" waxaa loogu dhawaaqaa wax u eg "abarêko", siinta midab si Lugbuur "dib u" iyo hakinta yar ka hor ku dhawaaqdaa xarfaha ee "KO". 8chwvry3ou94x4or8uo6u15v2z1pys1 Help:Dhawaaqid Hagaha/Jarmal 12 3617 9868 9867 2014-04-06T15:08:39Z 177.133.87.144 9868 wikitext text/x-wiki == Misa iyo CGX si Booritiqiis == {| align=center style="text-align:center" | valign=top | {| style="border:1px solid #aaaaaa" rules=all cellpadding=3 cellspacing=0 ! colspan=3 bgcolor=#ffffaa | Vogal |- bgcolor=#ffffcc | CGX || Misa || Tusaalooyin |- | /i/ || /i/ || an'''i'''mal (Portugal) {{CGX|/ɐ.niˈ.mal/|3=}}, (Brasil) {{CGX|/a.ni.maw/|3=}}, '''i'''sto {{CGX|/iʃ.tu/|3=}}, {{CGX|/is.tu/|3=}}, {{CGX|/is.to/|3=}} |- | /ĩ/ || /i~/ || l'''í'''ngua {{CGX|/lĩ.ɡwɐ/|3=}} |- | /ɨ/ || /1/ || el'''e''' {{CGX|/e.lɨ/|3=}}, (Brasil) {{CGX|/e.le/|3=}}, {{CGX|/e.li/|3=}} |- | /u/ || /u/ || l'''u'''a {{CGX|/luɐ/|3=}}, (Brasil) {{CGX|/lua/|3=}}, gel'''o''' {{CGX|/ʒe.lu/|3=}} |- | /ũ/ || /u~/ || '''um''' {{CGX|/ũ/|3=}} |- | /e/ || /e/ || estr'''e'''la (Portugal) {{CGX|/ɨʃˈ.tɾe.lɐ/|3=}}, (Brasil) {{CGX|/es.tɾe.la/|3=}} |- | /ẽ/ || /e~/ || d'''en'''te {{CGX|/dẽ.tɨ/|3=}}, (Paulista) {{CGX|/dẽ.tʃi/|3=}} |- | /o/ || /o/ || n'''o'''vo {{CGX|/no.vu/|3=}}, (Brasil) {{CGX|/no.vo/|3=}} |- | /õ/ || /o~/ || '''on'''de {{CGX|/õ.dɨ/|3=}}, {{CGX|/ˈõ.de/|3=}}, (Paulista) {{CGX|/ˈõ.dʒi/|3=}} |- | /ɐ/ || /6/ || '''a'''qui (Portugal) {{CGX|/ɐˈ.ki/|3=}}, (Brasil) {{CGX|/a.ki/|3=}} |- | /ɐ̃/ || /E~/ || cri'''an'''ça {{CGX|/kɾi.ˈɐ̃.sɐ/|3=}}, hom'''e'''m {{CGX|/ɔ.mejn/|3=}} |- | /ɛ/ || /E/ || '''e'''rva (Portugal) {{CGX|/ɛɾ.vɐ/|3=}}, (Brasil) {{CGX|/ɛɾ.va/|3=}} |- | /ɔ/ || /O/ || c'''o'''po (Portugal) {{CGX|/ˈkɔ.pu/|3=}}, (Paulista) {{CGX|/ˈkɔ.pu/|3=}} |- | /a/ || /a/ || fal'''a'''r (''Portugal'') {{CGX|/fəˈ.laɾ/|3=}}, (''Brasil'') {{CGX|/fa.laɾ/|3=}} |} | width=1% | | valign=top | {| style="border:1px solid #aaaaaa" rules=all cellpadding=4 cellspacing=0 ! colspan=4 bgcolor=#ffffaa | Consoantes |- bgcolor=#ffffcc | CGX || Misa || Tusaalooyin |- | /p/ || /p/ || so'''p'''rar (Portugal) {{CGX|/suˈ.pɾaɾ/|3=}}, (Brasil) {{CGX|/so.pɾaɾ/|3=}} |- | /b/ || /b/ || '''b'''em {{CGX|/bɐ̃j/|3=}}, (Brasil) {{CGX|/bejn/|3=}} |- | /t, t̪/ || /t/ || con'''t'''ar {{CGX|/kõˈ.taɾ/|3=}}, (Brasil) {{CGX|/kõ.taɾ/|3=}} |- | /d, d̪/ || /d/ || na'''d'''ar (Portugal) {{CGX|/nɐˈ.daɾ/|3=}}, (Brasil) {{CGX|/na.daɾ/|3=}} |- | /k/ || /k/ || '''c'''omo {{CGX|/ˈko.mu/|3=}}, (Brasil) {{CGX|/ko.mo/|3=}}, {{CGX|/ko.mu/|3=}} |- | /ɡ/ || /g/ || á'''g'''ua (Portugal) {{CGX|/ˈag.wɐ/|3=}}, (Brasil) {{CGX|/a.gwa/|3=}} |- | /f/ || /f/ || '''f'''ogo {{CGX|/ˈfo.gu/|3=}}, (Brasil) {{CGX|/fo.go/|3=}}, {{CGX|/fo.gu/|3=}} |- | /v/ || /v/ || ár'''v'''ore (Portugal) {{CGX|/ˈaɾ.vu.ɾɨ/|3=}}, (Brasil) {{CGX|/aɾ.vo.ɾi/|3=}} |- | /s/ || /s/ || pre'''c'''isar {{CGX|/pɾe.si.zaɾ/|3=}}, cabe'''ç'''a (Portugal) {{CGX|/kɐˈ.be.sɐ/|3=}}, (Brasil) {{CGX|/ka.be.sa/|3=}}, '''s'''er {{CGX|/ˈser/|3=}} (« [[être]] »), pá'''ss'''aro (Portugal) {{CGX|/ˈpa.sɐ.ɾu/|3=}}, (Brasil) {{CGX|/pa.sa.ɾu/|3=}} |- | /z/ || /z/ || pe'''s'''ado (Portugal) {{CGX|/pɨˈ.za.du/|3=}}, (Brasil) {{CGX|/pe.za.du/|3=}}, di'''z'''er (Portugal) {{CGX|/diˈ.zeɾ/|3=}}, (Brasil) {{CGX|/di.zeɾ/|3=}} |- | /ʃ/ || /S/ || '''ch'''á {{CGX|/'ʃa/|3=}}, rai'''z''' (Portugal) {{CGX|/ɾɐˈ.iʃ/|3=}}, (Brasil) {{CGX|/ɾa.is/|3=}} |- | /ʒ/ || /Z/ || '''j'''us {{CGX|/ʒus/|3=}} |- | /m/ || /m/ || '''m'''ar {{CGX|/maɾ/|3=}} |- | /n/ || /n/ || '''n'''uvem {{CGX|/ˈnu.vɐ̃j/|3=}}, (Brasil) {{CGX|/nu.vejn/|3=}} |- | /ɲ/ || /J/ || monta'''nh'''a (Portugal) {{CGX|/mõˈ.tɐ.ɲɐ/|3=}}, (Brasil) {{CGX|/mõ.tɐ.ɲa/|3=}} |- | /j/ || /j/ || pa'''i''' {{CGX|/paj/|3=}} |- | /w/ || /w/ || e'''u''' {{CGX|/ew/|3=}} |- | /l/ || /l/ || ele'''s''' (Portugal) {{CGX|/ˈel.ɨʃ/|3=}}, (Brasil) {{CGX|/e.les/|3=}} |- | /ʎ/ || /L/ || mu'''lh'''er (Portugal) {{CGX|/mu.ˈʎɛɾ/|3=}}, (Brasil) {{CGX|/mu.ʎɛɾ/|3=}} |- | /ɾ/ || /4/ || bebe'''r''' (Portugal) {{CGX|/bɨ.ˈbeɾ/|3=}}, (Brasil) {{CGX|/be.beɾ/|3=}} |- | /ʀ, ʁ/ || /R/ || '''r'''espirar (Portugal) {{CGX|/ʀɨʃ.piˈ.ɾaɾ/|3=}}, (Brasil) {{CGX|/ʀes.pi.ɾaɾ/|3=}} |} |} dkbupacuccfqmknr5sal3cqddiwmtrf Help:Dhawaaqid Hagaha/Portugiis 12 3618 9869 2014-04-06T15:10:34Z 177.133.87.144 Bog cusub: == Misa iyo CGX si Booritiqiis == {| align=center style="text-align:center" | valign=top | {| style="border:1px solid #aaaaaa" rules=all cellpadding=3 cellspacing=0 ! colspan=3 bgcolor... 9869 wikitext text/x-wiki == Misa iyo CGX si Booritiqiis == {| align=center style="text-align:center" | valign=top | {| style="border:1px solid #aaaaaa" rules=all cellpadding=3 cellspacing=0 ! colspan=3 bgcolor=#ffffaa | Vogal |- bgcolor=#ffffcc | CGX || Misa || Tusaalooyin |- | /i/ || /i/ || an'''i'''mal (Portugal) {{CGX|/ɐ.niˈ.mal/|3=}}, (Brasil) {{CGX|/a.ni.maw/|3=}}, '''i'''sto {{CGX|/iʃ.tu/|3=}}, {{CGX|/is.tu/|3=}}, {{CGX|/is.to/|3=}} |- | /ĩ/ || /i~/ || l'''í'''ngua {{CGX|/lĩ.ɡwɐ/|3=}} |- | /ɨ/ || /1/ || el'''e''' {{CGX|/e.lɨ/|3=}}, (Brasil) {{CGX|/e.le/|3=}}, {{CGX|/e.li/|3=}} |- | /u/ || /u/ || l'''u'''a {{CGX|/luɐ/|3=}}, (Brasil) {{CGX|/lua/|3=}}, gel'''o''' {{CGX|/ʒe.lu/|3=}} |- | /ũ/ || /u~/ || '''um''' {{CGX|/ũ/|3=}} |- | /e/ || /e/ || estr'''e'''la (Portugal) {{CGX|/ɨʃˈ.tɾe.lɐ/|3=}}, (Brasil) {{CGX|/es.tɾe.la/|3=}} |- | /ẽ/ || /e~/ || d'''en'''te {{CGX|/dẽ.tɨ/|3=}}, (Paulista) {{CGX|/dẽ.tʃi/|3=}} |- | /o/ || /o/ || n'''o'''vo {{CGX|/no.vu/|3=}}, (Brasil) {{CGX|/no.vo/|3=}} |- | /õ/ || /o~/ || '''on'''de {{CGX|/õ.dɨ/|3=}}, {{CGX|/ˈõ.de/|3=}}, (Paulista) {{CGX|/ˈõ.dʒi/|3=}} |- | /ɐ/ || /6/ || '''a'''qui (Portugal) {{CGX|/ɐˈ.ki/|3=}}, (Brasil) {{CGX|/a.ki/|3=}} |- | /ɐ̃/ || /E~/ || cri'''an'''ça {{CGX|/kɾi.ˈɐ̃.sɐ/|3=}}, hom'''e'''m {{CGX|/ɔ.mejn/|3=}} |- | /ɛ/ || /E/ || '''e'''rva (Portugal) {{CGX|/ɛɾ.vɐ/|3=}}, (Brasil) {{CGX|/ɛɾ.va/|3=}} |- | /ɔ/ || /O/ || c'''o'''po (Portugal) {{CGX|/ˈkɔ.pu/|3=}}, (Paulista) {{CGX|/ˈkɔ.pu/|3=}} |- | /a/ || /a/ || fal'''a'''r (''Portugal'') {{CGX|/fəˈ.laɾ/|3=}}, (''Brasil'') {{CGX|/fa.laɾ/|3=}} |} | width=1% | | valign=top | {| style="border:1px solid #aaaaaa" rules=all cellpadding=4 cellspacing=0 ! colspan=4 bgcolor=#ffffaa | Consoantes |- bgcolor=#ffffcc | CGX || Misa || Tusaalooyin |- | /p/ || /p/ || so'''p'''rar (Portugal) {{CGX|/suˈ.pɾaɾ/|3=}}, (Brasil) {{CGX|/so.pɾaɾ/|3=}} |- | /b/ || /b/ || '''b'''em {{CGX|/bɐ̃j/|3=}}, (Brasil) {{CGX|/bejn/|3=}} |- | /t, t̪/ || /t/ || con'''t'''ar {{CGX|/kõˈ.taɾ/|3=}}, (Brasil) {{CGX|/kõ.taɾ/|3=}} |- | /d, d̪/ || /d/ || na'''d'''ar (Portugal) {{CGX|/nɐˈ.daɾ/|3=}}, (Brasil) {{CGX|/na.daɾ/|3=}} |- | /k/ || /k/ || '''c'''omo {{CGX|/ˈko.mu/|3=}}, (Brasil) {{CGX|/ko.mo/|3=}}, {{CGX|/ko.mu/|3=}} |- | /ɡ/ || /g/ || á'''g'''ua (Portugal) {{CGX|/ˈag.wɐ/|3=}}, (Brasil) {{CGX|/a.gwa/|3=}} |- | /f/ || /f/ || '''f'''ogo {{CGX|/ˈfo.gu/|3=}}, (Brasil) {{CGX|/fo.go/|3=}}, {{CGX|/fo.gu/|3=}} |- | /v/ || /v/ || ár'''v'''ore (Portugal) {{CGX|/ˈaɾ.vu.ɾɨ/|3=}}, (Brasil) {{CGX|/aɾ.vo.ɾi/|3=}} |- | /s/ || /s/ || pre'''c'''isar {{CGX|/pɾe.si.zaɾ/|3=}}, cabe'''ç'''a (Portugal) {{CGX|/kɐˈ.be.sɐ/|3=}}, (Brasil) {{CGX|/ka.be.sa/|3=}}, '''s'''er {{CGX|/ˈser/|3=}} (« [[être]] »), pá'''ss'''aro (Portugal) {{CGX|/ˈpa.sɐ.ɾu/|3=}}, (Brasil) {{CGX|/pa.sa.ɾu/|3=}} |- | /z/ || /z/ || pe'''s'''ado (Portugal) {{CGX|/pɨˈ.za.du/|3=}}, (Brasil) {{CGX|/pe.za.du/|3=}}, di'''z'''er (Portugal) {{CGX|/diˈ.zeɾ/|3=}}, (Brasil) {{CGX|/di.zeɾ/|3=}} |- | /ʃ/ || /S/ || '''ch'''á {{CGX|/'ʃa/|3=}}, rai'''z''' (Portugal) {{CGX|/ɾɐˈ.iʃ/|3=}}, (Brasil) {{CGX|/ɾa.is/|3=}} |- | /ʒ/ || /Z/ || '''j'''us {{CGX|/ʒus/|3=}} |- | /m/ || /m/ || '''m'''ar {{CGX|/maɾ/|3=}} |- | /n/ || /n/ || '''n'''uvem {{CGX|/ˈnu.vɐ̃j/|3=}}, (Brasil) {{CGX|/nu.vejn/|3=}} |- | /ɲ/ || /J/ || monta'''nh'''a (Portugal) {{CGX|/mõˈ.tɐ.ɲɐ/|3=}}, (Brasil) {{CGX|/mõ.tɐ.ɲa/|3=}} |- | /j/ || /j/ || pa'''i''' {{CGX|/paj/|3=}} |- | /w/ || /w/ || e'''u''' {{CGX|/ew/|3=}} |- | /l/ || /l/ || ele'''s''' (Portugal) {{CGX|/ˈel.ɨʃ/|3=}}, (Brasil) {{CGX|/e.les/|3=}} |- | /ʎ/ || /L/ || mu'''lh'''er (Portugal) {{CGX|/mu.ˈʎɛɾ/|3=}}, (Brasil) {{CGX|/mu.ʎɛɾ/|3=}} |- | /ɾ/ || /4/ || bebe'''r''' (Portugal) {{CGX|/bɨ.ˈbeɾ/|3=}}, (Brasil) {{CGX|/be.beɾ/|3=}} |- | /ʀ, ʁ/ || /R/ || '''r'''espirar (Portugal) {{CGX|/ʀɨʃ.piˈ.ɾaɾ/|3=}}, (Brasil) {{CGX|/ʀes.pi.ɾaɾ/|3=}} |} |} dkbupacuccfqmknr5sal3cqddiwmtrf Template:no 10 3619 9874 2014-04-06T15:16:42Z 177.133.87.144 Bog cusub: Norwejiga 9874 wikitext text/x-wiki Norwejiga 4oyq7soim16z3s1aj0mamcwfjdzx20q Template:br 10 3620 9875 2014-04-06T15:17:22Z 177.133.87.144 Bog cusub: Berenton<noinclude> 9875 wikitext text/x-wiki Berenton<noinclude> b3lss01mf4k5diuj25tpcieikucl5qq Template:hi 10 3621 9877 2014-04-06T15:21:35Z 177.133.87.144 Bog cusub: Hindi 9877 wikitext text/x-wiki Hindi nl19g91xvzcbzcr1xut46nojszpiqwd Help:Dhawaaqid Hagaha/shaqal 12 3622 9879 2014-04-06T15:34:10Z 177.133.87.144 Bog cusub: <div style="position:absolute; left:{{{1}}}%; width:{{{2}}}em; top:{{{3}}}%; height:{{{4}}}em; font-size:120%; background:white;" class="nounderlines"><span title="AFI" style="font-fam... 9879 wikitext text/x-wiki <div style="position:absolute; left:{{{1}}}%; width:{{{2}}}em; top:{{{3}}}%; height:{{{4}}}em; font-size:120%; background:white;" class="nounderlines"><span title="AFI" style="font-family:Code2000, Gentium, Doulos SIL, Gentium Alternative, TITUS Cyberbit Basic, Arial Unicode MS, Lucida Sans Unicode, Lucida Grande, Bitstream Cyberbit, GentiumAlt, Chrysanthi Unicode, DejaVu Sans, Bitstream Vera Sans, Hiragino Kaku Gothic Pro, Matrix Unicode;">{{{5}}}</span></div><noinclude> 3kqddsqfb0clonrqro4abm1avpvr44s Help:Dhawaaqid Hagaha/shibbanayaasha 12 3623 9880 2014-04-06T15:35:04Z 177.133.87.144 Bog cusub: <center><div align="center" style="width:{{{1}}}em; height:{{{2}}}em; font-size:120%; background:white;" class="nounderlines"><span title="AFI" style="font-family:Code2000, Gentium, Do... 9880 wikitext text/x-wiki <center><div align="center" style="width:{{{1}}}em; height:{{{2}}}em; font-size:120%; background:white;" class="nounderlines"><span title="AFI" style="font-family:Code2000, Gentium, Doulos SIL, Gentium Alternative, TITUS Cyberbit Basic, Arial Unicode MS, Lucida Sans Unicode, Lucida Grande, Bitstream Cyberbit, GentiumAlt, Chrysanthi Unicode, DejaVu Sans, Bitstream Vera Sans, Hiragino Kaku Gothic Pro, Matrix Unicode;">{{{3}}}</span></div></center><noinclude> 4j3e3hbef3bjp9sp15ildje41st33kz Template:vi 10 3624 9881 2014-04-06T15:36:12Z 177.133.87.144 Bog cusub: Fiyatnaamiis 9881 wikitext text/x-wiki Fiyatnaamiis llhgrrfujp9zjvgzo0j1ctuqw576v3w Template:CGXchar 10 3625 9884 9883 2014-04-06T15:43:09Z 177.133.87.144 9884 wikitext text/x-wiki <!-- --><span class="CGX" lang="">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="CGX" lang="">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="CGX" lang="">{{{3}}}</span>}}<!-- -->{{#if:{{{4|}}}|, <span class="CGX" lang="">{{{4}}}</span>}}<!-- -->{{#if:{{{5|}}}|, <span class="CGX" lang="">{{{5}}}</span>}}<!-- -->{{#if:{{{6|}}}|, <span class="CGX" lang="">{{{6}}}</span>}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> jt7cgapcem6cm5yt8nfm8f79qn9q93x husband 0 3626 18861 17520 2017-04-28T17:26:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18861 wikitext text/x-wiki {{-en-}} === Magac === '''husband''' [1]... [[seey]] g46g8t0latgcrxx5qlv1iocdrr89st1 maqaalka 0 3627 9887 9886 2014-04-06T15:57:32Z 177.133.87.144 9887 wikitext text/x-wiki {{-so-}} ===Magac=== '''maqaalka''' ===Tarjumaad=== {{kor}} *{{az}}: [[maddə]] *{{be}}: [[артыкул]] (artykul) *{{en}}: [[article]] {{dhaxda}} *{{pt}}: [[artigo]] *{{sv}}: [[artikel]] *{{vi}}: [[bài viết]] {{hoos}} 1r4j8q3goag5bqa1q58r0svh6zaqpy9 maddə 0 3628 19008 13964 2017-04-28T17:27:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19008 wikitext text/x-wiki {{-az-}} === Magac === '''maddə''' [[maqaalka]] 3vmebkddqk5hepg3ct7aw63utlp6m4k bài viết 0 3629 18529 15550 2017-04-28T17:24:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18529 wikitext text/x-wiki {{-vi-}} === Magac === '''bài viết''' [[maqaalka]] bkbddqccfiup0twh5k6s1ou2xr6dhho артыкул 0 3630 19566 13637 2017-04-28T17:31:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19566 wikitext text/x-wiki {{-be-}} === Magac === '''артыкул''' (artykul) [[maqaalka]] d9idd2r8a3aj6t0l9mzvw5uerde8k7k Template:be 10 3631 9891 2014-04-06T16:02:50Z 177.133.87.144 Bog cusub: Beleruusiyaan<noinclude> 9891 wikitext text/x-wiki Beleruusiyaan<noinclude> fdlrvi599dw8rtme5ycnnxopw9qz2kr artigo 0 3632 18443 16140 2017-04-28T17:23:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18443 wikitext text/x-wiki {{-gl-}} === Magac === '''artigo''' :[[maqaalka]] {{-pt-}} === Magac === '''artigo''' :[[maqaalka]] imx4pv2xc0naoofecfootf6y1feog4g articulo 0 3633 18442 17246 2017-04-28T17:23:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18442 wikitext text/x-wiki {{-ast-}} === Magac === '''articulo''' :[[maqaalka]] {{-es-}} === Magac === '''articulo''' :[[maqaalka]] rcc9kbb7oek5j8gmfmfty863loevfr3 artikulu 0 3634 18445 13882 2017-04-28T17:23:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18445 wikitext text/x-wiki {{-eu-}} === Magac === '''artikulu''' :[[maqaalka]] 20z6s70ql7dg6tiv8mzf0fz3z9ltxk8 maqaal 0 3635 9895 2014-04-06T17:03:40Z 177.133.87.144 Bog cusub: {{-so-}} ===Magac=== '''maqaal''' ===Tarjumaad=== *{{eu}}: [[artikulu]] *{{en}}: [[article]] *{{uk}}: [[стаття]] (stattya) 9895 wikitext text/x-wiki {{-so-}} ===Magac=== '''maqaal''' ===Tarjumaad=== *{{eu}}: [[artikulu]] *{{en}}: [[article]] *{{uk}}: [[стаття]] (stattya) nv1kxbwjioc35p2ocdsvi0w961x5fua Template:eu 10 3636 9896 2014-04-06T17:04:11Z 177.133.87.144 Bog cusub: Basquu<noinclude> 9896 wikitext text/x-wiki Basquu<noinclude> segjjsp1ozhhejsckgnwuqkn01qpwwy стаття 0 3637 19609 14124 2017-04-28T17:31:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19609 wikitext text/x-wiki {{-uk-}} === Magac === '''стаття''' (stattya) :[[maqaal]]ka rq3386olqgszicl8mshhz914hme11ny article 0 3638 18441 16093 2017-04-28T17:23:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18441 wikitext text/x-wiki {{-fr-}} === Magac === '''article''' :[[maqaal]] {{-ca-}} === Magac === '''article''' :[[maqaal]] {{-en-}} === Magac === '''article''' :[[maqaal]] h4506x5v6vedyltgpy1qobe8lyg2wot artikel 0 3639 18444 18021 2017-04-28T17:23:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18444 wikitext text/x-wiki {{-af-}} === Magac === '''artikel''' :[[maqaalka]] {{-da-}} === Magac === '''artikel''' :[[maqaal]] {{-nl-}} === Magac === '''artikel''' :[[maqaal]] {{-id-}} === Magac === '''artikel''' :[[maqaal]] {{-ms-}} === Magac === '''artikel''' :[[maqaalka]] {{-sv-}} === Magac === '''artikel''' :[[maqaalka]] gjozn5kk54f6ljzyk8eu7oss8knesyu Wiktionary:Audio 4 3640 9905 9904 2014-04-06T17:35:25Z 177.133.87.144 /* Dhawaqa dhawaaq */ 9905 wikitext text/x-wiki Template: Audio kugu xiraya si faylka maqal ah oo loogu dhegaysi degdeg ah. Waxaa loola jeedaa in aan Wabka lala isticmaalo qoraalka, waayo afar alanle iyo sida. Si aad u codsan in maqaal isticmaali soo socda: <code><nowiki>{{Audio|<name of sound file>|<text to use as link to soundfile>|lang=<language code>}}</nowiki></code> Tusaale ahaan, <code><nowiki>{{audio|En-na-Bhojpuri.ogg|Findley|lang=en}}</nowiki></code> waxaa horseedaya wax sidan oo kale: ({{audio|En-us-Bhojpuri.ogg|Bhojpuri|lang=en}}) Jaantus waxaa laga soo xigtay hal la mid ah on [[Wikipedia]].<!-- -- [[User:FirstPrinciples|FirstPrinciples]] 10:28, 15 Apr 2005 (UTC) --> === Sumaddaha ee gobolka === Sumaddaha gobolka waxay ku waa ikhtiyaar (ie-na-iyo-uk-). Waxay ku xidhan tahay wixii aad sameeyaa leh faylka. Haddii alanle yihiin si weyn u kala duwan, markaa waxay noqonaysaa in ninkii BBC gelin-na-ama-uk-in magaca faylka marka aad u geliyo. === Dhawaqa dhawaaq === Ma jiraan wax maqaalo leh dhawaaq codka erayga? Waxaa suuragal ah in naftayda si ay u qoraan iyo gudbiso dhawaaq eray? Haa; wixii maqaal on [[Special:Whatlinkshere/Template:audio|liiskan]] (oo ah maqaalka in tixraaca [[Template:audio]]) waxa uu leeyahay dhawaaq ah; la siiyey gobolka oo liitay ee miiska kugu xiraya waayadan waxaa ka malaha badan oo dheeraad ah. (Waxaa jira ma aad buu u badan weli inkastoo, sida xammaasadda talagalay tan weli cusub yahay). Waxaa suuragal ah in qof kasta si ay u qoraan iyo gudbiso afar alanle erayada, laakiinse innaba ma ay halkan la geliyo: waxay ka tirsan yihiin on [[:commons:]] sidaas oo dhan wiktionaries ah u isticmaali kartaa. Wixii faahfaahin ah ka eeg [[:commons: Commons: codsiyada faylasha dhawaaqid|Commons: codsiyada faylasha dhawaaqid]]. fpypy78305mv3uup16g3eo9avwv2qhb Template:audio 10 3641 9903 9902 2014-04-06T17:31:32Z 177.133.87.144 9903 wikitext text/x-wiki <!-- --><table class="audiotable" style="vertical-align: top; display:inline-block; list-style:none;line-height: 1em;"><!-- --><tr><!-- --><td class="unicode audiolink">{{{2|<noinclude>{{{2}}}</noinclude>}}}</td><!-- --><td class="audiofile">[[Image:{{{1|<noinclude>Example.ogg</noinclude>}}}|noicon|175px]]</td><!-- --><td class="audiometa" style="font-size: 80%;">([[:Image:{{{1|<noinclude>Example.ogg</noinclude>}}}|faylka]])</td><!-- --></tr><!-- --></table><!-- --><noinclude>{{diiwaaninta}}</noinclude> d9mj7715vtbu3fnd1hrb3751ivofd7b Template:a 10 3642 9906 2014-04-06T17:46:05Z 177.133.87.144 Bog cusub: {{isreebreebka<!-- -->|{{#ifexist:Template:accent:{{{1}}}|{{Template:accent:{{{1}}}}}|{{{1}}}}}<!-- -->|{{#if:{{{2|}}}|{{#ifexist:Template:accent:{{{2}}}|{{Template:accent:{{{2}}}}... 9906 wikitext text/x-wiki {{isreebreebka<!-- -->|{{#ifexist:Template:accent:{{{1}}}|{{Template:accent:{{{1}}}}}|{{{1}}}}}<!-- -->|{{#if:{{{2|}}}|{{#ifexist:Template:accent:{{{2}}}|{{Template:accent:{{{2}}}}}|{{{2}}}}}}}<!-- -->|{{#if:{{{3|}}}|{{#ifexist:Template:accent:{{{3}}}|{{Template:accent:{{{3}}}}}|{{{3}}}}}}}<!-- -->|{{#if:{{{4|}}}|{{#ifexist:Template:accent:{{{4}}}|{{Template:accent:{{{4}}}}}|{{{4}}}}}}}<!-- -->|{{#if:{{{5|}}}|{{#ifexist:Template:accent:{{{5}}}|{{Template:accent:{{{5}}}}}|{{{5}}}}}}}<!-- -->}}<noinclude>{{diiwaaninta}}</noinclude> flofluq8cw4gxlshldmtsr16g8ph62n Template:isreebreebka 10 3643 10125 10124 2014-04-12T14:06:07Z 177.133.29.128 10125 wikitext text/x-wiki <includeonly><span class="ib-brac"><span class="qualifier-brac">(</span></span><!-- --><span class="ib-content"><span class="qualifier-content">{{{1}}}<!-- -->{{#if:{{{2|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{2}}}<!-- -->{{#if:{{{3|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{3}}}<!-- -->{{#if:{{{4|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{4}}}<!-- -->{{#if:{{{5|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{5}}}<!-- -->{{#if:{{{6|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{6}}}<!-- -->{{#if:{{{7|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{7}}}<!-- -->{{#if:{{{8|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{8}}}<!-- -->{{#if:{{{9|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{9}}}<!-- -->}}}}}}}}}}}}}}}}</span></span><span class="ib-brac"><span class="qualifier-brac">)</span></span></includeonly><noinclude>{{diiwaaninta}}</noinclude> fc8gom80nawek80yi4zou4kcs38sg16 Wikipedia 0 3644 20416 18362 2020-10-05T22:59:14Z 197.231.203.213 20416 wikitext text/x-wiki {{wikipedia}} [[File:Wikipedia-logo-v2.svg|thumb|200px|upright|The logo of Wikipedia.]] [[File:Wikipedia 2005 Label DVD small.PNG|thumb|250px|upright|The label of a DVD version of the German Wikipedia.]] {{-exn-}} === Magac === '''Wikipedia''' === Dhawaaqida === * {{a|UK}} {{CGX|/ˌwɪkɪˈpiːdɪə/}} * {{a|US}} {{enPR|wĭ'kēpēʹdēə}}, {{CGX|/ˌwɪkiˈpiːdiə/}} * {{audio|En-uk-Wikipedia.ogg|Audio (UK)|lang=en}} * {{audio|en-us-Wikipedia.ogg|Audio (US)|lang=en}} * {{heesaha|iːdiə}} {{-da-}} === Magac === '''Wikipedia''' {{-nl-}} === Magac === '''Wikipedia''' {{-de-}} === Magac === '''Wikipedia''' {{-li-}} === Magac === '''Wikipedia''' {{-pt-}} === Magac === '''Wikipedia''' {{-sv-}} === Magac === '''Wikipedia''' {{-so-}} === Magac === '''Wikipedia''' {{-tl-}} === Magac === '''Wikipedia''' {{-tk-}} === Magac === '''Wikipedia''' nb284iqqo3vi6v4jb6u3ghitlrk74gz Template:enPR 10 3645 9909 2014-04-06T17:49:29Z 177.133.87.144 Bog cusub: [[Appendix:English pronunciation|enPR]]: {{enPRchar|{{{1}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> 9909 wikitext text/x-wiki [[Appendix:English pronunciation|enPR]]: {{enPRchar|{{{1}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> scp6rj9zcoi4wx6s8nb55yr2qhht0hk Template:enPRchar 10 3646 9910 2014-04-06T17:51:46Z 177.133.87.144 Bog cusub: <!-- --><span class="AHD enPR">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="AHD enPR">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="AHD enPR">{{{3}}}</span>}... 9910 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>{{diiwaaninta}}</noinclude> 9i9rwvh9991xwpwjf2nyw9t5f4ifzcz Template:soPRchar 10 3647 9911 2014-04-06T17:52:37Z 177.133.87.144 Bog cusub: <!-- --><span class="AHD soPR">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="AHD soPR">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="AHD soPR">{{{3}}}</span>}... 9911 wikitext text/x-wiki <!-- --><span class="AHD soPR">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="AHD soPR">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="AHD soPR">{{{3}}}</span>}}<!-- -->{{#if:{{{4|}}}|, <span class="AHD soPR">{{{4}}}</span>}}<!-- -->{{#if:{{{5|}}}|, <span class="AHD soPR">{{{5}}}</span>}}<!-- -->{{#if:{{{6|}}}|, <span class="AHD soPR">{{{6}}}</span>}}<!-- --><includeonly>{{#if:{{{1|}}}||[[Category:Pronunciation templates without a pronunciation]]}}</includeonly><!-- --><noinclude>{{diiwaaninta}}</noinclude> 477shd4fjff512iv4r60r2ool7tdoko Lifaaq:Soomaali ku dhawaaqida 0 3648 9914 9913 2014-04-06T18:45:55Z 177.133.87.144 9914 wikitext text/x-wiki '''Soomaali ku dhawaaqida''' waa afka ah Afro-ka qatanaanayaan, ka tirsan laanta qoyska in ay Kushiti. Waxaa lagaga hadlo sidii afka hooyo adigoo dadka asalkoodu Soomaalida yahay ee Greater Soomaaliya iyo Soomaalida qurbaha a. Soomaali waa luuqad rasmi ah Jamhuuriyadda Federaalka ee Soomaaliya, luqadda qaran ee Jabuuti, iyo af wada shaqayn ah ee gobolka Soomaalida ee Itoobiya. Waxa loo isticmaalaa sida afka ah korsaday adigoo a kooxo dhowr deriska ah qowmiyadaha tirada yar iyo shakhsiyaad. == Qorista nidaamka == [[Image:Ciismaniya.jpg|thumb|right|Waxay ku qoraal script [[w:Osmanya alphabet|Osmanya]] talagalay Soomaali.]] Cash nin Booliisku u cilmi-baarista ee Soomaaliya qaawiyey fariimihii qadiimiga ah ee a script qoraal oo kala duwan. Warbixintan 1878 si uu Royal dhuleed Mujtamaca ee Great Britain, saynisyahan [[w:Johannes Hildebrandt|JM Hildebrandt]] kor booqashada degaanka ayaa sheegay in "waxaan ognahay laga bilaabo qorayaasha qadiimiga in degmooyinka kuwaas, waqtigan xaadirka ah sidaas cidla ah, waxaa hore loogu daawashada iyo ilbax ah [...] Sidoo kale waxaan helay baaba'ay qadiimiga ah iyo dhagax weyn-fariimihii labadaba sawirro iyo jilayaasha [...] waxay ku ilaa haatan aan la deciphered. "Sida ay Soomaaliya ee Wasaaradda Warfaafinta iyo Qaranka Hagista, script tan wakiil ka qabeen ugu horraysa ku qoran oo Soomaali. Tan iyo markaas tiro ka mid ah hababka qoraal ayaa la isticmaalayey talagalay transcribing luqadda. Kuwaas oo kala ah, alifbeetada Soomaali Laatiin, si rasmi ah la qaatay [[w:1972|1972]], waa ka ugu balaadhan loo isticmaalo. Script waxay ku la horumariyay adigoo ururo xirfadeed ee Soomaaliya Shire Jama Ahmed si gaar ah talagalay af Soomaali, iyo wuxuu isticmaalaa xarfaha oo dhan ee alifbeetada Ingiriisi Laatiin marka laga reebo p, v iyo z. Ma jiraan wax Uneexo ama jilayaasha kale oo gaar ah, marka laga reebo isticmaalka hamso for joogsiga oo Erey bixin, taas oo uusan erayga-markii hore ku dhici. Waxaa jira saddex sameeyo kelmedo Afaf: DH, KH iyo SH. Tone aan la calaamadeeyay, iyo xagga hore iyo xagga dambe shaqal ma yihiin ruug cadaaya. Ka sokow Axmed Laatiinka, labeddelay kale oo aad isticmaashay qarniyo ah ee loo qoray Soomaaliya waxaa ka mid ah qoraal Carabi wakhti dheer iyo Wadaadkaan ayaa qoraal. Nidaamyada qoraal dadka asaliga ah horumariyo qarnigii labaatanaad ka mid ah Osmanya, Borama iyo qoraallada, kuwaas oo soo hindiseen [[w:Osman Yusuf Kenadid|Osman Yusuf]] Coladeed, [[w:Sheikh Abdurahman Sheikh Nuur|Sheikh Abdurahman Sheikh Nuur]] iyo [[w:Hussein Sheikh Ahmed Kaddare|Xuseen Axmed]], siday u kala horreeyaan. ==Phonology== Soomaali leedahay 22 hodonimadii Afka shibbane. {| class="wikitable" style="text-align: center;" |+'''Iyo hodonimadii Afka shibbane Soomaali''' |- !| &nbsp; ! colspan="2" | '''Bilabial''' ! colspan="2" | '''Labio<br>dental''' ! colspan="2" | '''Dental''' ! colspan="2" | '''Alveolar''' ! colspan="2" | '''Palato<br>alveolar''' ! colspan="2" | '''Retroflex''' ! colspan="2" | '''Palatal''' ! colspan="2" | '''Velar''' ! colspan="2" | '''Uvular''' ! colspan="2" | '''Pharyn<br>geal''' ! colspan="2" | '''Glottal''' |- !| '''Nasal''' | colspan=2 align=center| {{CGX|m}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | colspan=2 align=center | {{CGX|n}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; |- !| '''Plosive''' | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | {{CGX|b}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|t̪}} || style="border-left-width: 0;" | {{CGX|d̪}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | {{CGX|ɖ}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|k}} || style="border-left-width: 0;" | {{CGX|ɡ}} | style="border-right-width: 0;" | {{CGX|q}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|ʔ}} || style="border-left-width: 0;" | &nbsp; |- !| '''Affricate''' | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|tʃ}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; |- !| '''Fricative''' | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|f}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|s}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|ʃ}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|x~χ}} || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | {{CGX|ħ}} || style="border-left-width: 0;" | {{CGX|ʕ}} | style="border-right-width: 0;" | {{CGX|h}} || style="border-left-width: 0;" | &nbsp; |- !| '''Trill''' | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | colspan=2 align=center| {{CGX|r}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; |- !| '''Approximant''' | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | colspan=2 align=center| {{CGX|l}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | colspan=2 align=center | {{CGX|j}} | colspan=2 align=center| {{CGX|w}} | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; | style="border-right-width: 0;" | &nbsp; || style="border-left-width: 0;" | &nbsp; |} Shibbanayaasha waxay ku / b D q / marar badan oo daciifay si / β Ð ɣ / waxay ku retroflex / ɖ / dhici karta in tayada ku hadla qaarkood, iyo xaqiijiyay karaa sida uu u xir / ɽ /. Hadla Qaar ka mid ah soo saara / H / qaba epiglottal. / q / waxaa inta badan luqad waxa uu leeyahay shan codadka aasaasiga ah. Dhaxlay kala duwanaansho xagga hore iyo xagga dambe iyo sidoo kale qoraalkii ka dheer ama gaaban. Tani waxay ku siinaysaa duwan oo 20 codadka saafi. Waxa kale oo ay isku beel yihiin saddex codadka: sare, ku yar iyo hoos. Qaabka xarfaha of Soomaali waa (C) V (C). Root sida caadiga ah waxay leeyihiin qaab-dhismeedka mono-ama di-syllabic ah. Axzaab waa Higaadda ee Soomaali, laakiin waxaa la dooday in Soomaali waa lahjadda garoonka ama afka ku tusaa. Abdullahi (2000), shaqada ugu dambeeyey barax-tiran oo mawduucan ku, soo jeediyay, in Soomaali luqad ku tusaa ma aha. ==Far Soomaali== Qoriddii Af-soomaaliga waxa ka qayb qaatay Aqoonyahanno [[Soomaali]]yeed oo aad u fara badan. Xarfaha higgaadda Af-soomaaligu waa Shaqal 5 xaraf ka kooban iyo Shibbane 21 xaraf ah. Shibbane oo kala ah: * B T J X KH D R S SH DH C G F Q K L M N W H Y ama b t j x kh d r s sh dh c g f q k l m n w h y Shaqal oo kala ah - Shaqal gaab: * A E I O U ama a e i o u Shaqal dheer: * AA EE II OO UU ama aa ee ii oo uu Afka Soomaaliga marka laga fiiriyo falalka waxay ku dhamaadaan, laakiin ayadoo loo eegayo amar ahaan waxa uu ku dhamaado ayaa waxaa suura gal ah in ayu dhamaadaan kuwo kale sida fal amar ah oo ku dhamaado "o" da waxaa lagu bedelayaa "A" waxaana la raacshaa "SHO". Tusaale: baxsasho(baxso), dhimo(dhimasho), seexo(seexasho), fadhiiso(fadhiisasho). Si la mooda waxaa kale oo jiira falal ku dhamaada "N", kaa oo amar haan marka aan ka soo gano uu ku idlaado "Y" ama "I". Tusaale: xooji(xoojin), sii(siin), beer darey(beer dareyn). Waxaa laga reebaa kuwoo amar ahaan ku dhammaada "OOW", laakiin isu bedesho "AANSHO". Sida: jecloow(jeclaansho), ogoloow(ogolaansho). Hadii la fiirayo, meelaha ugu fudud waa tirooyinka: * 1 Kow = Koowaad * 2 Labo = Labaad * 3 Saddex = Saddexaad * 4 Afar = Afaraad * 5 Shan = Shanaad * 6 Lix = Lixaad * 7 Todobo = Todobaad * 8 Sideed = Sideedaad * 9 Sagaal = Sagaalaad * 10 Toban = Tobanaad * 20 Labaatan = Labaatanaad * 30 Sodon = Sodonaad * 40 Afartan = Afartanaad * 50 Konton = Kontonaad * 60 Lexdan = Lexdanaad * 70 Todbaatan = Todbaatanaad * 80 Sideetan = Sideetanad * 90 Sagaashan = Sagaashanaad * 100 Boqol * 1000 Kun * 1000000 Milyan Waxaa kale oo aan wax ka sheegi karna tilmaameyaasha. Ka soo qaad: kan (kaas), tan (taas), kuwan (kuwaas). Sidoo kale kama maaranno waxyaabaha aan albaab ahaan u balaqeyno ''(this is a pen)'' in aan u fasirno afkeena sidii la doono ayadoon ahayn(kan qalin waaye/kan waa qalin) * This = kan * Is = waaye/waa * Pen = qalin Laakiin (my pen) sideen u isticmaali karaa ma(kan qalin)baa? Jawaabtu waa may ee waa lays daba mariyaa (qalin + kan) * Aniga - kayga (qalinkan (this pen) waa (is) kayga (mine)) * Adiga - kaaga * Asiga - kiisa * Ayada - keeda * Anaga - keena * Idinka - kiina * Ayaga - kooda l8oskrj67kbcu5iycggl8elt6rlshd8 Islofaakiya 0 3649 18305 18114 2017-04-28T17:22:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18305 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''Islofaakiya''' === Tarjumaad === * {{tr}}: [[Slovakya]] 3zh2ay8bx1bi2a2ljj6goid3am0nibf xayawaan 0 3650 19477 18152 2017-04-28T17:31:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19477 wikitext text/x-wiki {{-so-}} === Magac === '''xayawaan''' === Tarjumaad === * {{it}}: [[animale]] * {{pt}}: [[animal]] 1d64vdd2qnywwq6axqnjugo18v69api animale 0 3651 18428 17662 2017-04-28T17:23:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18428 wikitext text/x-wiki {{-it-}} === Magac === '''animale''' [[xayawaan]] {{-ro-}} === Magac === '''animale''' [[xayawaan]] 6kryhmf82ki1plmqsewuzg5p2v5d29s football 0 3653 18772 17517 2017-04-28T17:26:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18772 wikitext text/x-wiki {{-fr-}} === Magac === '''football''' :[[kubada cagta]] {{-en-}} === Magac === '''football''' :[[kubada cagta]] {{-cy-}} === Magac === '''football''' :[[kubada cagta]] 15g9mqy59abmnfrexdfoocngw5n8ns3 sweet 0 3654 19341 16695 2017-04-28T17:30:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19341 wikitext text/x-wiki {{-en-}} === Magac === '''sweet''' [[macaan]] f3a3baz9icvckkcprsbnlx3j6kpoxz2 doce 0 3655 18651 17703 2017-04-28T17:25:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18651 wikitext text/x-wiki {{-ast-}} === Magac === '''doce''' * [[laba iyo toban]] {{-es-}} === Magac === '''doce''' * [[laba iyo toban]] {{-gl-}} === Magac === '''doce''' * [[macaan]] {{-pt-}} === Magac === '''doce''' * [[macaan]] lq1s9wv3oe7es498ibdm0muh3glwz87 doze 0 3656 18665 15556 2017-04-28T17:25:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18665 wikitext text/x-wiki {{-pt-}} === Magac === '''doze''' [[laba iyo toban]] fyl8szinhb7xo4b0icqhpylek31tpwu douze 0 3657 18662 17830 2017-04-28T17:25:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18662 wikitext text/x-wiki {{-fr-}} === Magac === '''douze''' (12) [[laba iyo toban]] engzxdr28e4vmui4lhtbzgsa8zm4622 twelve 0 3658 19421 17483 2017-04-28T17:30:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19421 wikitext text/x-wiki {{-en-}} === Magac === '''twelve''' [[laba iyo toban]] 557higpln7qkj5sh6go54lx485bw7ki dodici 0 3659 18652 14643 2017-04-28T17:25:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18652 wikitext text/x-wiki {{-it-}} === Magac === '''dodici''' * [[laba iyo toban]] doqtybxg019jhqcp43zrmukwpp93w4l laba iyo toban 0 3660 19974 18961 2017-09-07T14:21:58Z LA2 1759 19974 wikitext text/x-wiki {{-so-}} === Magac === '''laba iyo toban''' (12) === Tarjumaad === {{kor}} * {{da}}: [[tolv]] * {{fr}}: [[douze]] * {{en}}: [[twelve]] * {{es}}: [[doce]] {{dhaxda}} * {{sv}}: [[tolv]] * {{de}}: [[zwölf]] * {{pt}}: [[doze]] * {{it}}: [[dodici]] {{hoos}} tlel4vc9ykz24v2xp9tqv1l3x1a30kk tolv 0 3661 19396 17946 2017-04-28T17:30:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19396 wikitext text/x-wiki {{-da-}} === Magac === '''tolv''' [[laba iyo toban]] {{-no-}} === Magac === '''tolv''' [[laba iyo toban]] {{-sv-}} === Magac === '''tolv''' [[laba iyo toban]] 7zxi67rak9w91nshkvse1ezr050uqf8 elleve 0 3662 18696 18040 2017-04-28T17:25:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18696 wikitext text/x-wiki {{-da-}} === Magac === '''elleve''' [[kow iyo toban]] {{-no-}} === Magac === '''elleve''' [[kow iyo toban]] rp6np1jxankjd8u3z8r87y9nyvr6tbq elva 0 3663 18700 18042 2017-04-28T17:25:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18700 wikitext text/x-wiki {{-sv-}} === Magac === '''elva''' [[kow iyo toban]] 1vwhub7quzpyts9ef8o8wr11nht70x1 once 0 3664 19101 17683 2017-04-28T17:28:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19101 wikitext text/x-wiki {{-ast-}} === Magac === '''once''' [[kow iyo toban]] {{-es-}} === Magac === '''once''' [[kow iyo toban]] {{-gl-}} === Magac === '''once''' [[kow iyo toban]] 78ebydmkpbg0qx49v40dql0twf0re6h onze 0 3665 19103 16192 2017-04-28T17:28:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19103 wikitext text/x-wiki {{-fr-}} === Magac === '''once''' [[kow iyo toban]] {{-ca-}} === Magac === '''once''' [[kow iyo toban]] {{-pt-}} === Magac === '''once''' [[kow iyo toban]] 1ut344kffi303mfost0lem21rlbbide undici 0 3666 19433 16021 2017-04-28T17:30:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19433 wikitext text/x-wiki {{-it-}} === Magac === '''undici''' [[kow iyo toban]] 3xt03443v0n7huecictwo19obaku9nh eleven 0 3667 18694 17482 2017-04-28T17:25:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18694 wikitext text/x-wiki {{-en-}} === Magac === '''eleven''' [[kow iyo toban]] 0dubxqd8uxny2o0gecjy0yu8y0r1zfq kow iyo toban 0 3668 21671 18946 2022-07-22T13:47:51Z 86.114.191.253 +fi 21671 wikitext text/x-wiki {{-so-}} === Magac === '''kow iyo toban''' (11) === Tarjumaad === {{kor}} * {{da}}: [[elleve]] * {{en}}: [[eleven]] * {{es}}: [[once]] * {{fi}}: [[yksitoista]] * {{de}}: [[elf]] {{dhaxda}} * {{fr}}: [[onze]] * {{it}}: [[undici]] * {{pt}}: [[onze]] * {{sv}}: [[elva]] {{hoos}} 0sjxd5y2kw9mv5x5qd2somsoqjmmn96 elf 0 3669 18695 17834 2017-04-28T17:25:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18695 wikitext text/x-wiki {{-de-}} === Magac === '''elf''' [[kow iyo toban]] 21cnjrs36j19b788ac5hbwkjs46gzp0 saddex iyo toban 0 3670 19239 14018 2017-04-28T17:29:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19239 wikitext text/x-wiki {{-so-}} === Magac === '''saddex iyo toban''' (13) === Tarjumaad === {{kor}} * {{da}}: [[tretten]] * {{en}}: [[thirty]] * {{es}}: [[trece]] * {{de}}: [[dreizehn]] {{dhaxda}} * {{fr}}: [[treize]] * {{it}}: [[tredici]] * {{pt}}: [[treze]] * {{sv}}: [[tretton]] {{hoos}} 1sbnpm56y1n9jys0ypoka3pcmksoerg toban 0 3671 23348 19392 2023-04-23T04:04:56Z Apisite 3737 /* Tarjumaad */ 23348 wikitext text/x-wiki {{-so-}} === Magac === '''toban''' (10) === Tarjumaad === {{kor}} * {{aa}}: [[taban]] * {{da}}: [[ti]] * {{en}}: [[ten]] * {{es}}: [[diez]] * {{sv}}: [[tio]] * {{de}}: [[zehn]] * {{fr}}: [[dix]] * {{vi}}: [[mười]] {{dhaxda}} * {{ms}}: [[sepuluh]], [[satu puluh]], [[ekadasa]] * {{pt}}: [[dez]] * {{sw}}: [[kumi]] * {{zh}}: [[十]] * {{it}}: [[dieci]] * {{bo}}: [[བཅུ]] (bcu) * {{ug}}: [[ئون]] * {{uz}}: [[oʻn]] {{hoos}} 8vqn6mhwh1ro44zqje9gdrm16wkgs4i afar iyo toban 0 3672 18391 13876 2017-04-28T17:23:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18391 wikitext text/x-wiki {{-so-}} === Magac === '''afar iyo toban''' (14) === Tarjumaad === {{kor}} * {{da}}: [[fjorten]] * {{en}}: [[fourteen]] * {{es}}: [[catorce]] * {{de}}: [[vierzehn]] {{dhaxda}} * {{fr}}: [[quatorze]] * {{it}}: [[dieci]] * {{pt}}: [[quatorze]], [[catorze]] * {{sv}}: [[fjorton]] {{hoos}} 4uyaowjn7qd3ey4m0er74io45dtcdbp fjorton 0 3673 18764 18050 2017-04-28T17:26:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18764 wikitext text/x-wiki {{-sv-}} === Magac === '''fjorton''' [[afar iyo toban]] hdfv1g72uswnbsgin82h7zt2v2k52zt tretton 0 3674 19412 17951 2017-04-28T17:30:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19412 wikitext text/x-wiki {{-sv-}} === Magac === '''tretton''' [[saddrex iyo toban]] pgpiqb731n2oxt6zypi75xahebl6rvg tio 0 3675 19391 16835 2017-04-28T17:30:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19391 wikitext text/x-wiki {{-sv-}} === Magac === '''tio''' [[toban]] tbqsfg6mfncdxgujh6jcfkg8ef5onz1 vierzehn 0 3676 19454 17537 2017-04-28T17:30:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19454 wikitext text/x-wiki {{-de-}} === Magac === '''vierzehn''' [[afar iyo toban]] si8286gkddie1zv2ic9tg5jd2f65atf dreizehn 0 3677 18669 17554 2017-04-28T17:25:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18669 wikitext text/x-wiki {{-de-}} === Magac === '''dreizehn''' [[saddex iyo toban]] l2ephdmmutptufvuonvnkurz8skku8s zehn 0 3678 19497 17644 2017-04-28T17:31:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19497 wikitext text/x-wiki {{-de-}} === Magac === '''zehn''' [[toban]] 7xtl6dg35n631mmxl8r7lnjpzt7xf60 catorce 0 3679 18546 17686 2017-04-28T17:24:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18546 wikitext text/x-wiki {{-es-}} === Magac === '''catorce''' [[afar iyo toban]] {{-gl-}} === Magac === '''catorce''' [[afar iyo toban]] 4gpxq4cd87xcyfrxsdedplggdqkgj0f trece 0 3680 19405 17635 2017-04-28T17:30:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19405 wikitext text/x-wiki {{-gl-}} === Magac === '''trece''' [[saddex iyo toban]] {{-es-}} === Magac === '''trece''' [[saddex iyo toban]] 0f68bdfz4we1u5w3y4urtgl1298e255 diez 0 3681 18636 17825 2017-04-28T17:25:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18636 wikitext text/x-wiki {{-es-}} === Magac === '''diez''' [[toban]] nenun9ot51ul0m5lshom1uhk12dlxqi treze 0 3682 19414 18128 2017-04-28T17:30:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19414 wikitext text/x-wiki {{-pt-}} === Magac === '''treze''' [[saddex iyo toban]] sztiw8veirwc0z5fz16lxm12qkjo83g quatorze 0 3683 19182 15986 2017-04-28T17:28:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19182 wikitext text/x-wiki {{-fr-}} === Magac === '''quatorze''' [[afar iyo toban]] {{-fr-}} === Magac === '''quatorze''' [[afar iyo toban]] cwm9ocdntoz4zpmdrbdehp8obd5kk2w dez 0 3684 18612 17582 2017-04-28T17:24:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18612 wikitext text/x-wiki {{-gl-}} === Magac === '''dez''' [[toban]] {{-pt-}} === Magac === '''dez''' [[toban]] 6m7t5j6jfdjx19tk8zwqbccxq9n3igc catorze 0 3685 18547 12916 2017-04-28T17:24:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18547 wikitext text/x-wiki {{-pt-}} === Magac === '''catorze''' [[afar iyo toban]] 5w798kxbdhfobm6sz7gsx2zcd9p6dr1 treize 0 3686 19408 17949 2017-04-28T17:30:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19408 wikitext text/x-wiki {{-fr-}} === Magac === '''treize''' [[saddex iyo toban]] pqkq3yo7gv2wyyswwvxktbxzk8th7n0 ten 0 3687 19377 16327 2017-04-28T17:30:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19377 wikitext text/x-wiki {{-en-}} === Magac === '''ten''' [[toban]] jrlw2o9c8k9l8lmpys15tfl3rn5r7l4 dix 0 3688 18644 17829 2017-04-28T17:25:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18644 wikitext text/x-wiki {{-fr-}} === Magac === '''dix''' [[toban]] nryzz29ux6bosb8upls3s9bodopzbn1 fourteen 0 3689 18774 17485 2017-04-28T17:26:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18774 wikitext text/x-wiki {{-en-}} === Magac === '''fourteen''' * [[afar iyo toban]] 8jqbkrcwm57jhs5adjvar8y3ltmyqrq thirteen 0 3690 19384 17484 2017-04-28T17:30:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19384 wikitext text/x-wiki {{-en-}} === Magac === '''thirteen''' [[saddex iyo toban]] blg1qkaevwq3plivwyq3h8bctl2l5rl thirty 0 3691 19385 17491 2017-04-28T17:30:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19385 wikitext text/x-wiki {{-en-}} === Magac === '''thirty''' [[soddon]] eiblo1yjiznkd2l55z901hlcjpiunn5 quattordici 0 3692 19184 18194 2017-04-28T17:29:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19184 wikitext text/x-wiki {{-it-}} === Magac === '''quattordici''' [[afar iyo toban]] e96hgcgeiw3qn1ba9azlvbe1llncipz tredici 0 3693 19406 18201 2017-04-28T17:30:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19406 wikitext text/x-wiki {{-it-}} === Magac === '''tredici''' * [[saddex iyo toban]] hkyzozqwu2oqh0r3ileth80p9empyrf dieci 0 3694 18631 17824 2017-04-28T17:25:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18631 wikitext text/x-wiki {{-it-}} === Magac === '''dieci''' [[toban]] 8p703n7dl45whe9p6uz9l7lyl134ean tretten 0 3695 19411 17950 2017-04-28T17:30:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19411 wikitext text/x-wiki {{-da-}} === Magac === '''tretten''' * [[saddex iyo toban]] {{-no-}} === Magac === '''tretten''' * [[saddex iyo toban]] admnlek4h3n56ody9guv07unkk0n7h9 fjorten 0 3696 18763 18051 2017-04-28T17:26:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18763 wikitext text/x-wiki {{-da-}} === Magac === '''fjorten''' * [[afar iyo toban]] {{-no-}} === Magac === '''fjorten''' * [[afar iyo toban]] lj483xjp3nimjo2eswq7rzn49f898r1 ti 0 3697 19387 17086 2017-04-28T17:30:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19387 wikitext text/x-wiki {{-da-}} === Magac === '''ti''' [[toban]] {{-no-}} === Magac === '''ti''' [[toban]] nh4yy8ttvjravqw7y4txpg5k2dnv383 zwölf 0 3698 19506 17541 2017-04-28T17:31:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19506 wikitext text/x-wiki {{-de-}} === Magac === '''zwölf''' [[laba iyo toban]] tcrvaju7lzj9zubpcdihn139teyz22e fünfzehn 0 3699 18785 17559 2017-04-28T17:26:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18785 wikitext text/x-wiki {{-de-}} === Magac === '''fünfzehn''' [[shan iyo toban]] ecay8uwsvw4kv0gm36p1v3otyfri4ty quince 0 3700 19186 17739 2017-04-28T17:29:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19186 wikitext text/x-wiki {{-ast-}} === Magac === '''quince''' [[shan iyo toban]] {{-es-}} === Magac === '''quince''' [[shan iyo toban]] {{-gl-}} === Magac === '''quince''' [[shan iyo toban]] tlkv0n5vss3l0zdt77rbfimfdbzsh7l quindici 0 3701 19187 18150 2017-04-28T17:29:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19187 wikitext text/x-wiki {{-it-}} === Magac === '''quindici''' [[shan iyo toban]] s4pryzeet4lqom1vzha3g2dwjte0dr6 quinze 0 3702 19188 15988 2017-04-28T17:29:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19188 wikitext text/x-wiki {{-ca-}} === Magac === '''quinze''' [[shan iyo toban]] {{-fr-}} === Magac === '''quinze''' [[shan iyo toban]] {{-pt-}} === Magac === '''quinze''' [[shan iyo toban]] n2prfou5xmymg75i72pxj0poq6kaqpn femton 0 3703 18755 17995 2017-04-28T17:25:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18755 wikitext text/x-wiki {{-sv-}} === Magac === '''femton''' * [[shan iyo toban]] fx17rjd0o9s23jofaudm6ca0sp0h5oj femten 0 3704 18754 17994 2017-04-28T17:25:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18754 wikitext text/x-wiki {{-da-}} === Magac === '''femten''' * [[shan iyo toban]] {{-no-}} === Magac === '''femten''' * [[shan iyo toban]] 62j2umni8we9o374xl74rya1jvj2yeo shan iyo toban 0 3705 19290 14032 2017-04-28T17:29:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19290 wikitext text/x-wiki {{-so-}} === Magac === '''shan iyo toban''' (15) === Tarjumaad === {{kor}} * {{da}}: [[femten]] * {{en}}: [[fifteen]] * {{es}}: [[quince]] * {{de}}: [[fünfzehn]] {{dhaxda}} * {{fr}}: [[quinze]] * {{it}}: [[quindici]] * {{pt}}: [[quinze]] * {{sv}}: [[femton]] {{hoos}} et2km99guvpeuss54in6qf7s25bhm57 tretze 0 3706 19413 14077 2017-04-28T17:30:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19413 wikitext text/x-wiki {{-ca-}} === Magac === '''tretze''' [[saddex iyo toban]] 5hkbks8qva0etez9kevxhdyu8tpv1ka sechzehn 0 3707 19263 18108 2017-04-28T17:29:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19263 wikitext text/x-wiki {{-de-}} === Magac === '''sechzehn''' [[lix iyo toban]] 14mzdqj3xi9s6u1qna44451ku8g1as6 seize 0 3708 19267 17913 2017-04-28T17:29:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19267 wikitext text/x-wiki {{-fr-}} === Magac === '''seize''' [[lix iyo toban]] o8388oxqoxgokk5wthuh9j33o3hspn2 dezesseis 0 3709 18619 17387 2017-04-28T17:25:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18619 wikitext text/x-wiki {{-pt-}} === Magac === '''dezesseis''' [[lix iyo toban]] 14gauf2msp8o7wmdduwke0ldldg00ni seksten 0 3710 19268 17914 2017-04-28T17:29:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19268 wikitext text/x-wiki {{-da-}} === Magac === '''seksten''' [[lix iyo toban]] {{-no-}} === Magac === '''seksten''' [[lix iyo toban]] g9leh230kfgzlslkvd1xpvw5f9x520v setze 0 3711 19281 16688 2017-04-28T17:29:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19281 wikitext text/x-wiki {{-ca-}} === Magac === '''setze''' * [[lix iyo toban]] 9mvfni1n4a14809fcvy9os0wmq3u57i dieciséis 0 3712 18635 16121 2017-04-28T17:25:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18635 wikitext text/x-wiki {{-es-}} === Magac === '''dieciséis''' [[lix iyo toban]] rxzdolt9o87jtvuk98sr9pogiqzvzbs sedici 0 3713 19264 18149 2017-04-28T17:29:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19264 wikitext text/x-wiki {{-it-}} === Magac === '''sedici''' [[lix iyo toban]] pwra187xi5rif29xit6465pe76shgev dezaseis 0 3714 18615 16567 2017-04-28T17:25:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18615 wikitext text/x-wiki {{-gl-}} === Magac === '''dezaseis''' [[lix iyo toban]] 6eytnb7gaqzawfyu9riss9bk8805apz sexton 0 3715 19286 17920 2017-04-28T17:29:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19286 wikitext text/x-wiki {{-sv-}} === Magac === '''sexton''' * [[lix iyo toban]] pos07bnnbjbcyo6ep5c52vqafdjtrsw lix iyo toban 0 3716 18986 13958 2017-04-28T17:27:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18986 wikitext text/x-wiki {{-so-}} === Magac === '''lix iyo toban''' (16) === Tarjumaad === {{kor}} * {{da}}: [[seksten]] * {{gl}}: [[dezaseis]] * {{en}}: [[sixteen]] * {{es}}: [[dieciséis]] * {{de}}: [[sechzehn]] {{dhaxda}} * {{fr}}: [[seize]] * {{ca}}: [[setze]] * {{it}}: [[sedici]] * {{pt}}: [[dezesseis]] * {{sv}}: [[sexton]] {{hoos}} nb32aiff2ug8f36uyursw176gsowr1m sixteen 0 3717 19305 17487 2017-04-28T17:29:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19305 wikitext text/x-wiki {{-en-}} === Magac === '''sixteen''' * [[lix iyo toban]] cgs1gxymv7zdmmou8p11a3r21hzxmd1 macaan 0 3718 19005 17851 2017-04-28T17:27:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19005 wikitext text/x-wiki [[File:Sugar 2xmacro.jpg|thumb|macaan ah]] {{wikipedia}} {{-so-}} === Magac === '''macaan''' * '''Macaan''' qeexayaa mid ka mid ah shan dhadhankii hoose. Waxaa la soo saaray xal macaanka, sida xal sucrose. Intaa waxaa dheer in ay karboohaydrayt, kaas oo la geliyo sucrose, xarumaha kale ee sidoo kale waxay leeyihiin hanti this to qaar ka mid ah acids amino iyo macaanka, macmal ah. === Tarjumaad === {{kor}} * {{az}}: [[şirin]], [[dadlı]] * {{bg}}: [[сладък]] (sladŭk) * {{zh}}: [[甜]] (tián) * {{en}}: [[sweet]] * {{es}}: [[dulce]] * {{it}}: [[dolce]] * {{ko}}: [[달다]] (dalda) {{dhaxda}} * {{ja}}: [[甘い]] (あまい, amai) * {{de}}: [[Süẞ]] * {{mn}}: [[чихэр]] (chikher) * {{pt}}: [[doce]] * {{uz}}: [[totli]] * {{tr}}: [[tatlı]] * {{el}}: [[γλυκός]] (glykós) {{hoos}} 4efs8p5aj0j1194jlzizq6lrr4xtrkn чихэр 0 3719 19625 13801 2017-04-28T17:32:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19625 wikitext text/x-wiki {{-mn-}} === Magac === '''чихэр''' (chikher) [[macaan|macaan ah]] 1begkm1yyac2i6h3u0mj214ygkqugnt şirin 0 3720 19531 17103 2017-04-28T17:31:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19531 wikitext text/x-wiki {{-az-}} === Magac === '''şirin''' * [[macaan]] il5vajgk1vaiq8lsbkfxzqmgnsb0sjl сладък 0 3721 19606 16730 2017-04-28T17:31:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19606 wikitext text/x-wiki {{-bg-}} === Magac === '''сладък''' (sladŭk) * [[macaan|maccan ah]] 4fzeffczixtp4clw0m14aaxzf5tjj2l dulce 0 3722 18676 17467 2017-04-28T17:25:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18676 wikitext text/x-wiki {{-es-}} === Magac === '''dulce''' * [[macaan|maccan ah]] rl8elkin6as1lipmzpipmwogthbi9vi dolce 0 3723 18654 17705 2017-04-28T17:25:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18654 wikitext text/x-wiki {{-it-}} === Magac === '''dolce''' * [[macaan]] o0io4x7ex2pnzqm1ps5j7w5jryuh4es tatlı 0 3724 19359 18099 2017-04-28T17:30:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19359 wikitext text/x-wiki {{-tr-}} === Magac === '''tatlı''' * [[macaan|maccan ah]] c8yf1oc4fkntmf9snm9wcy9v7u84vom Süẞ 0 3725 10000 2014-04-11T12:04:46Z 200.130.64.1 Bog cusub: {{-de-}} ===Magac=== '''Süẞ''' [[macaan|maccan ah]] 10000 wikitext text/x-wiki {{-de-}} ===Magac=== '''Süẞ''' [[macaan|maccan ah]] 5kdhabbw070jw9a73uh3e4zkybbi80l totli 0 3726 19401 17568 2017-04-28T17:30:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19401 wikitext text/x-wiki {{-uz-}} === Magac === '''totli''' [[macaan|maccan ah]] an6bvzjxlqubia947hj7kuci47tr857 Template:uz 10 3727 10002 2014-04-11T12:05:50Z 200.130.64.1 Bog cusub: Usbakis<noinclude> 10002 wikitext text/x-wiki Usbakis<noinclude> 9d5rvwxmcyk05evudcul2fqxj3ii7qs Template:mn 10 3728 10003 2014-04-11T12:06:26Z 200.130.64.1 Bog cusub: Mongoliyaan<noinclude> 10003 wikitext text/x-wiki Mongoliyaan<noinclude> hivdsjdpsup91yfobyzqm1vz5gkijd7 macmacaan 0 3729 19007 13965 2017-04-28T17:27:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19007 wikitext text/x-wiki [[File:Chocolate Cake Flourless (1).jpg|thumb|A [[keeg]] shukulaatada flourless (torte)]] {{-so-}} === Magac === '''macmacaan''' # '''Macmacaan''' waa koorso caadi ahaan [[macaan]] in lagu soo gebogebeeyay cuntada ka. Dabcan wuxuu sida caadiga ah waxay ka kooban tahay cuntooyin macaan, laakiin waxaa ku jiri kara alaabta kale. # Waxaa jira noocyo kala duwan oo macmacaan dhaqamada reer galbeedka ay ka mid yihiin keega, buskud, buskud, jalaatooyinka, macmacaan, kareemada baraf, oo naan, ukun ka, iyo naca. Miraha waxaa sidoo kale laga helo koorsooyinka macmacaan, sababta oo ah u macaan kuwa dabiiciga ah. # Dhaqamo kala duwan oo badan waxay leeyihiin kala duwanaansho u gaar ah oo ay of macmacaan la mid ah oo dunida ku, sida ee Ruushka, halkaas oo cuntooyin badan oo quraac ah sida blint, oladi, iyo syrniki waxaa lagu siin karaa malab iyo malmalaado si iyaga loogu jecel yahay sida macmacaan. Dabcan Itoob qeexay loo yaqaan macmacaan codsan kartaa in cuntooyin badan oo. 8uaiqbc2944mc34vwgmahm8avkd4fgx keeg 0 3730 18924 16624 2017-04-28T17:27:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18924 wikitext text/x-wiki [[File:GermanChocolateCake.jpg|thumb|right|upright|Keeg [[shukulaatada]] Jarmal]] [[File:Teekuchen, Miltenberg, Germany.JPG|thumb|right|upright|keeg sabiib]] {{-so-}} === Magac === '''keeg''' # '''Keeg''' waa nooc ka mid ah [[rooti]] ama rooti cunto-sida. In qaabkeeda oo casri ah, waxa caadi ahaan waa [[macmacaan]] ah dubay [[macaan]]. In qaabkeeda qadiimisan, oo moofo bay ahaayeen [[sida]] caadiga ah la shiilay rootiga ama cheesecakes, iyo si caadi ah lahaa qaab saxan a. Go'aaminta in [[cunto]] la siiyo waa in lagu tilmaamay inay rooti, keeg, ama cajiin noqon kartaa wax adag. # Keeg casriga ah, gaar ahaan daaha keega, sida caadiga ah waxa ku jira isku dhafan oo [[bur|bur ah]], [[sonkorta]], [[ukunta]], iyo [[subag]] ama [[saliid]], qaar ka noocyo sidoo kale u baahan in dareeraha ah (sida caadiga ah [[caano]] ama [[biyo]]) iyo wakiilada (sida khamiir ama budada dubista). # Maaddooyinka ku Flavorful sida sooska [[miro]], lawska, miraha la qalajiyay, ama u habayn ah waxaa badanaa lagu daray, iyo substitutions badan for ah maaddooyinka aasaasiga ah waa u suurtoobaan. Keega waxaa inta badan ka buuxsamay dhaqaalaysa miro ama suugada macmacaan (sida kareem cajiin), allaale leh buttercream ama Yoonis kale, iyo yuulka qurbajoogta, xuduudaha la yeedhiyo ama waxa [[miro]]. b7yx5frvt09n46946bgnxeektl1zrlw caano 0 3731 23788 18534 2023-06-19T05:33:53Z WhoAlone 3317 23788 wikitext text/x-wiki [[File:Milk.jpg|thumb|caano]] {{-so-}} === Magac === '''caano''' * '''Caano''' waa dareere cad soo saaray qanjidhada ku maalida of nuujiya. Waa isha asaasiga ah ee nafaqada ee naaska nuujiya dhalinta yar ka hor ay awoodi karaan inay dheefshiido noocyada kale ee cuntada yihiin. [[caanaha|Caanaha]] Early-nuujinta, waxaa ku jira dambar, taas oo xanbaarsan yahay unugyada difaaca hooyada si ilmaha iyo yarayn karaa halista cudurro badan oo ilmaha. Waxa kale oo ku jira nafaqooyinka kale oo badan. === Tarjumaad === {{kor}} * {{en}}: [[milk]] * {{de}}: [[Milch]] * {{es}}: [[leche]] * {{fr}}: [[lait]] * {{it}}: [[latte]] * {{nl}}: [[melk]] {{dhaxda}} * {{mn}}: [[сүү]] (süü) * {{pt}}: [[leite]] * {{tr}}: [[süt]] * {{uz}}: [[sut]] * {{vi}}: [[sữa]] {{hoos}} 4jmbnjemz9tvjqwzte8twh6l4a51eri сүү 0 3732 19613 18221 2017-04-28T17:31:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19613 wikitext text/x-wiki {{-mn-}} === Magac === '''сүү''' (süü) * [[caano]], [[caanaha]] i5epgtnor8lh3jxt6g2gyrpodr342vz sut 0 3733 19337 17379 2017-04-28T17:30:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19337 wikitext text/x-wiki {{-da-}} === Magac === '''sut''' {{-gag-}} === Magac === '''sut''' :[[caano]] {{-fi-}} === Magac === '''sut''' {{-hu-}} === Magac === '''sut''' {{-cy-}} === Magac === '''sut''' {{-uz-}} === Magac === '''sut''' * [[caano]], [[caanaha]] 5dxyzmvmi1dixpoc938gx4vtugb3qo8 dessert 0 3734 18608 16901 2017-04-28T17:24:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18608 wikitext text/x-wiki {{-da-}} === Magac === '''dessert''' * [[macmacaan]] {{-en-}} === Magac === '''dessert''' === Dhawaaqida === * {{a|UK}} {{CGX|/dɪˈzɜː(ɹ)t/}} * {{a|US}} {{enPR|dĭ-zûrt}}, {{CGX|/dɪˈzɝt/}} * {{audio|en-us-dessert.ogg|Audio (US)|lang=en}} * [[macmacaan]] {{-nl-}} === Magac === '''dessert''' === Dhawaaqida === * {{audio|nl-dessert.ogg|audio|lang=nl}} * [[macmacaan]] {{-et-}} === Magac === '''dessert''' * [[macmacaan]] {{-fr-}} === Magac === '''dessert''' === Dhawaaqida === * {{audio|Fr-dessert.ogg|audio|lang=fr}} === Xiisa === * [[déserts#Faransiis|déserts]] * [[macmacaan]] {{-no-}} === Magac === '''dessert''' * [[macmacaan]] {{-rm-}} === Magac === '''dessert''' # {{macnaha|Rumantsch Grischun|Sursilvan|Sutsilvan|Surmiran|Puter|Vallader|lang=rm}} {{l/en|dessert}} * [[macmacaan]] 0vv1lilq7k17kizs2brzsdg82m10opi Template:l/en 10 3735 10014 2014-04-11T12:46:17Z 200.130.64.1 Bog cusub: <span lang="en">[[{{{1}}}#Ingiriis|{{{2|{{{1}}}}}}]]</span><noinclude>{{rfd}}{{diiwaaninta}}</noinclude> 10014 wikitext text/x-wiki <span lang="en">[[{{{1}}}#Ingiriis|{{{2|{{{1}}}}}}]]</span><noinclude>{{rfd}}{{diiwaaninta}}</noinclude> tdty7rgu0ssn5ndm6b2gd00koeyp8wx Template:homophones 10 3736 13434 10018 2015-06-04T17:27:35Z Dalmo Pereira 1417 13434 wikitext text/x-wiki Homophone{{#if:{{{2|}}}|s}}: <!-- -->{{#if:{{isValidPageName|{{{1}}}}}|{{l-self|{{{lang|en}}}|{{{1}}}|{{{alt1|{{{1}}}}}}}}|{{{alt1|{{{1}}}}}}}}<!-- -->{{#if:{{{2|}}}|, {{#if:{{isValidPageName|{{{2}}}}}|{{l-self|{{{lang|en}}}|{{{2}}}|{{{alt2|{{{2}}}}}}}}|{{{alt2|{{{2}}}}}}}}}}<!-- -->{{#if:{{{3|}}}|, {{#if:{{isValidPageName|{{{3}}}}}|{{l-self|{{{lang|en}}}|{{{3}}}|{{{alt3|{{{3}}}}}}}}|{{{alt3|{{{3}}}}}}}}}}<!-- -->{{#if:{{{4|}}}|, {{#if:{{isValidPageName|{{{4}}}}}|{{l-self|{{{lang|en}}}|{{{4}}}|{{{alt4|{{{4}}}}}}}}|{{{alt4|{{{4}}}}}}}}}}<!-- -->{{#if:{{{5|}}}|, {{#if:{{isValidPageName|{{{5}}}}}|{{l-self|{{{lang|en}}}|{{{5}}}|{{{alt5|{{{5}}}}}}}}|{{{alt5|{{{5}}}}}}}}}}<!-- -->{{#if:{{{6|}}}|, {{#if:{{isValidPageName|{{{6}}}}}|{{l-self|{{{lang|en}}}|{{{6}}}|{{{alt6|{{{6}}}}}}}}|{{{alt6|{{{6}}}}}}}}}}<!-- -->{{#if:{{{7|}}}|, {{#if:{{isValidPageName|{{{7}}}}}|{{l-self|{{{lang|en}}}|{{{7}}}|{{{alt7|{{{7}}}}}}}}|{{{alt7|{{{7}}}}}}}}}}<!-- -->{{#if:{{{8|}}}|, {{#if:{{isValidPageName|{{{8}}}}}|{{l-self|{{{lang|en}}}|{{{8}}}|{{{alt8|{{{8}}}}}}}}|{{{alt8|{{{8}}}}}}}}}}<!-- -->{{#switch:{{{lang|}}}<!-- -->|=[[Category:Language code missing/homophones]]<!-- -->|fr=<!-- -->|{{catlangname|{{{lang}}}|la hoomofaan}}<!-- -->}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> qs3px3lojm2ifv5sxdzw0v3je7wlu3b Template:catlangname 10 3737 11559 10035 2014-11-19T16:34:41Z 177.133.80.236 11559 wikitext text/x-wiki <includeonly><!-- -->{{#switch:{{NAMESPACE}}<!-- -->|Appendix|=[[Category:{{langnamex|{{{1}}}}} {{{2}}}|{{#if:{{{sort|}}}|{{{sort}}}|{{SUBPAGENAME}}}}]]<!-- -->|Template={{#ifeq:{{SUBPAGENAME}}|doc||[[Category:{{langnamex|{{{1}}}}} {{{2}}}|{{#if:{{{sort|}}}|{{{sort}}}|{{PAGENAME}}}}]]}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{temp|catlangname|xx|qwertys}}{{diiwaaninta}}</noinclude> 03h2wbjt4h6d6lf77nkuv2vbujv74an Template:wararka/diiwaninta 10 3738 10024 10020 2014-04-11T17:04:34Z 177.133.91.76 10024 wikitext text/x-wiki {{documentation subpage}} Jaantus Tani waa duuban jaantus ku hareeraysan ee s.po format_categories</code> shaqo ee [[Module:isticmaalada]]. Waxaa ku darayaa hal ama in ka badan qaybaha ay u galo, adigoo isticmaalaya code afka la siiyaa si ay a nooc gaar ah oo muhiim ah si ay luqadda. Haddii itusi ee bogga hadda looma jeedo in ku jira entries (waxaa ma itusi ugu weyn ama Lifaaqa) ka dibna jaantus uusan u Wararka, sidaas darteed waa ammaan in la isticmaalo on page kasta iyo in jaantus kasta. Labada habyaalada {{kireysa|catlangname}} iyo {{kireysa|catlangcode}} yihiin qoraalkii ka ee gaarka ah ee {{kireysa|Wararka}}. Waxay ka shaqeeyaan si la mid ah, oo ay leeyihiin xuduuda la mid ah. Si kastaba ha ahaatee: * {{Kireysa|catlangname}} dari doonaa magaca af ka hor oo dhan magacyada in waxa lagu bixiyaa. Tani waxay abuurtaa "la qeexana" ama "ka qayb-of-hadal u eg" category ah, oo magiciisana waxaa ku saleysan yahay qaabka'' s.po Category: (magaca af) (Magaca category) </code>''. * {{Kireysa|catlangcode}} dari doonaa code luqadda iyo s.po colon ah: </code> ka hor oo dhan magacyada. Tani waxay abuurtaa a "la mariyo" category, kuwaas oo magacyadooda ku salaysan yahay qaabka ''<code>s.po Category:(code luqada):(magaca category)</code>''. ==Embed== Jaantus The aqbala golayaashii soo socda: ; <code>1=</code> Xeerka Luqadda (eeg [[Wiktionary:Luqadaha]]​​). Tani waa loo baahan yahay. ; <code>2=</code>, <code>3=</code>... Mid ka mid ah ama in ka badan qaybaha. Ma uu jiro xad u yeelo sida ay dad badan oo aad u cayimi kartaa. Qiimaha faaruqa guridda doonaa. ; <code>sort=</code> Waxay bixisaa muhiimka ah caadadii nooc ah. Tani waxay kahor iman doona sort furaha si toos ah guud ahaan. == Tusaalooyinka == * {{Kireysa|Wararka|so|saxda ah suuqi ay China}} dardaray *: Category:saxda ah ay China-suuqi * {{Kireysa|catlangname|so|magac}} dardaray *: Category:magac Ingiriisi * {{Kireysa|catlangname|pt|suffixes}} dardaray *: Category:suffixes Portuguese * {{Kireysa|catlangcode|so|Bayoolajiga}} dardaray *: Category:en:Bayoolajiga * {{Kireysa|catlangcode|pt|Bayoolajiga}} dardaray *: Category:pt:Bayoolajiga {{dheeriga}} <includeonly> [[Category:Category templates]] </includeonly> 9qt1fdqrqdu9su0wo61momgxkj98isd Template:Kireysa 10 3739 10021 2014-04-11T16:51:40Z 177.133.91.76 Bog cusub: <code>{&#123;<!-- Template name -->{{#if:{{{1|}}}<!-- -->|<!-- -->{{#switch:{{{prefix|{{{|}}}}}}<!-- -->|:=<!--not temp space -->{{#if:{{{subst|}}}|subst:}}<!-- -->&#58;<!... 10021 wikitext text/x-wiki <code>{&#123;<!-- Template name -->{{#if:{{{1|}}}<!-- -->|<!-- -->{{#switch:{{{prefix|{{{|}}}}}}<!-- -->|:=<!--not temp space -->{{#if:{{{subst|}}}|subst:}}<!-- -->&#58;<!-- -->[[{{{link|{{{1}}}}}}|{{{1}}}]]<!-- -->|subst:|=<!--temp -->{{#if:{{{subst|}}}|subst:|{{{|}}}}}<!-- -->[[{{{link|{{#switch:{{NAMESPACE}}:{{PAGENAME}}|Template:{{{1}}}=Template|Template talk:{{{1}}}=Template|#default=Template}}:{{{1}}}}}}|{{{1}}}]]<!-- -->|#default=<!--sister -->{{#if:{{{subst|}}}|subst:|{{#ifeq:{{{}}}|subst:|subst:}}}}<!-- -->{{#ifeq:{{{}}}|:|&#58;}}<!-- -->[[{{{link|:{{{prefix|{{{}}}}}}{{#ifeq:{{{}}}|:||Template:}}{{{1}}}}}}|{{{1}}}]]<!-- -->}}<!-- -->}}<!-- Parameters -->{{#ifeq:{{{2}}}|{{{2|?}}}<!-- -->|<!-- -->{{#if:{{{1|}}}|&#124;}}{{{2}}}<!-- -->{{#ifeq:{{{3}}}|{{{3|?}}}<!-- -->|<!-- -->&#124;{{{3}}}<!-- -->{{#ifeq:{{{4}}}|{{{4|?}}}<!-- -->|<!-- -->&#124;{{{4}}}<!-- -->{{#ifeq:{{{5}}}|{{{5|?}}}<!-- -->|<!-- -->&#124;{{{5}}}<!-- -->{{#ifeq:{{{6}}}|{{{6|?}}}<!-- -->|<!-- -->&#124;{{{6}}}<!-- -->{{#ifeq:{{{7}}}|{{{7|?}}}<!-- -->|<!-- -->&#124;{{{7}}}<!-- -->{{#ifeq:{{{8}}}|{{{8|?}}}<!-- -->|<!-- -->&#124;{{{8}}}<!-- -->{{#ifeq:{{{9}}}|{{{9|?}}}<!-- -->|<!-- -->&#124;{{{9}}}<!-- -->&#124;{{{10|}}}<!-- -->&#124;{{{11|}}}<!-- -->&#124;{{{12|}}}<!-- -->&#124;{{{13|}}}<!-- -->&#124;[[Category:Limit of template reached]]<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}</code><!-- --><noinclude>{{diiwaaninta}}</noinclude> k96ckgc9c8bv86g1w81yxcy5axvyy16 Template:navbox 10 3740 10022 2014-04-11T16:55:47Z 177.133.91.76 Bog cusub: <div class="NavFrame" style="clear:both; white-space: normal"> <div class="NavHead" align="left">{{{cinwaan}}} {{#if:{{{link|}}}|<nowiki>[</nowiki>[{{fullurl:Template:{{{link}}}|action... 10022 wikitext text/x-wiki <div class="NavFrame" style="clear:both; white-space: normal"> <div class="NavHead" align="left">{{{cinwaan}}} {{#if:{{{link|}}}|<nowiki>[</nowiki>[{{fullurl:Template:{{{link}}}|action=tafatir}} edit]<nowiki>]</nowiki>}}</div> <div class="NavContent" align="{{{listalign|left}}}"><!-- -->{{#if:{{{list1|}}}|{{{list1}}}}}<!-- -->{{#if:{{{list2|}}}|<br>{{{list2}}}}}<!-- -->{{#if:{{{list3|}}}|<br>{{{list3}}}}}<!-- -->{{#if:{{{list4|}}}|<br>{{{list4}}}}}<!-- -->{{#if:{{{list5|}}}|<br>{{{list5}}}}}<!-- -->{{#if:{{{list6|}}}|<br>{{{list6}}}}}<!-- -->{{#if:{{{list7|}}}|<br>{{{list7}}}}}<!-- -->{{#if:{{{list8|}}}|<br>{{{list8}}}}}<!-- --></div></div><!-- -->{{#ifeq:Template:{{{link|}}}|{{FULLPAGENAME}}||{{#if:{{{cat|}}}|[[Category:{{{cat}}}]]}}}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> 3sh7lpzi76h2cuiw5vyjyt406r3wytd Template:dheeriga 10 3741 10023 2014-04-11T16:56:01Z 177.133.91.76 Bog cusub: {{navbox |link=supplementary |title=Supplementary templates |list1= '''Contents, text, tables''': * [[Template:caps|caps]] (returns a particular letter, either in upper or lower cases... 10023 wikitext text/x-wiki {{navbox |link=supplementary |title=Supplementary templates |list1= '''Contents, text, tables''': * [[Template:caps|caps]] (returns a particular letter, either in upper or lower cases) * [[Template:theordinal|theordinal]] (returns "first" from <tt>1</tt>, "second" from <tt>2</tt>, etc.) * [[Template:theplural|theplural]] (returns "suffixes" from <tt>suffix</tt>, "verbs" from <tt>verb</tt>, etc.) * [[Template:navbox|navbox]] (generates a collapsible box) * [[Template:!|!]] (returns a vertical pipe: <tt>{{!}}</tt>) * [[Template:!!|!!]] (returns two vertical pipes: <tt>{{!!}}</tt>) * [[Template:(!|(!]] (returns a left brace followed by a vertical pipe: <tt>{<nowiki/>{{!}}</tt>) * [[Template:!)|!)]] (returns a vertical pipe followed by a right brace: <tt><nowiki/>{{!}}}</tt>) * [[Template:!-|!-]] (returns a vertical pipe followed by a dash: <tt><nowiki/>{{!}}-</tt>) '''Languages, families and scripts''': * [[Module:languages/templates]] * [[Template:langrev|langrev]] (returns the language code of a given language name) * [[Template:scriptrev|scriptrev]] (returns a script code from a script name) '''Categories''': * [[Template:categorize|categorize]] (adds a category, with language-specific sorting) * [[Template:catlangcode|catlangcode]] (adds a topical category, with language-specific sorting) * [[Template:catlangname|catlangname]] (adds a lexical or other category similarly named, with language-specific sorting) '''Other''': * [[Template:deftempboiler|deftempboiler]] (generates a definition template) * [[Template:edit|edit]] (generates an "edit" button) }} aq6td0s3wiqtr91f88kaqezcka3j7hz Template:kireysa 10 3742 10025 2014-04-11T17:06:25Z 177.133.91.76 Bog cusub: <code>{&#123;<!-- Template name -->{{#if:{{{1|}}}<!-- -->|<!-- -->{{#switch:{{{prefix|{{{|}}}}}}<!-- -->|:=<!--not temp space -->{{#if:{{{subst|}}}|subst:}}<!-- -->&#58;<!... 10025 wikitext text/x-wiki <code>{&#123;<!-- Template name -->{{#if:{{{1|}}}<!-- -->|<!-- -->{{#switch:{{{prefix|{{{|}}}}}}<!-- -->|:=<!--not temp space -->{{#if:{{{subst|}}}|subst:}}<!-- -->&#58;<!-- -->[[{{{link|{{{1}}}}}}|{{{1}}}]]<!-- -->|subst:|=<!--temp -->{{#if:{{{subst|}}}|subst:|{{{|}}}}}<!-- -->[[{{{link|{{#switch:{{NAMESPACE}}:{{PAGENAME}}|Template:{{{1}}}=Template|Template talk:{{{1}}}=Template|#default=Template}}:{{{1}}}}}}|{{{1}}}]]<!-- -->|#default=<!--sister -->{{#if:{{{subst|}}}|subst:|{{#ifeq:{{{}}}|subst:|subst:}}}}<!-- -->{{#ifeq:{{{}}}|:|&#58;}}<!-- -->[[{{{link|:{{{prefix|{{{}}}}}}{{#ifeq:{{{}}}|:||Template:}}{{{1}}}}}}|{{{1}}}]]<!-- -->}}<!-- -->}}<!-- Parameters -->{{#ifeq:{{{2}}}|{{{2|?}}}<!-- -->|<!-- -->{{#if:{{{1|}}}|&#124;}}{{{2}}}<!-- -->{{#ifeq:{{{3}}}|{{{3|?}}}<!-- -->|<!-- -->&#124;{{{3}}}<!-- -->{{#ifeq:{{{4}}}|{{{4|?}}}<!-- -->|<!-- -->&#124;{{{4}}}<!-- -->{{#ifeq:{{{5}}}|{{{5|?}}}<!-- -->|<!-- -->&#124;{{{5}}}<!-- -->{{#ifeq:{{{6}}}|{{{6|?}}}<!-- -->|<!-- -->&#124;{{{6}}}<!-- -->{{#ifeq:{{{7}}}|{{{7|?}}}<!-- -->|<!-- -->&#124;{{{7}}}<!-- -->{{#ifeq:{{{8}}}|{{{8|?}}}<!-- -->|<!-- -->&#124;{{{8}}}<!-- -->{{#ifeq:{{{9}}}|{{{9|?}}}<!-- -->|<!-- -->&#124;{{{9}}}<!-- -->&#124;{{{10|}}}<!-- -->&#124;{{{11|}}}<!-- -->&#124;{{{12|}}}<!-- -->&#124;{{{13|}}}<!-- -->&#124;[[Category:Limit of template reached]]<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}</code><!-- --><noinclude>{{diiwaaninta}}</noinclude> k96ckgc9c8bv86g1w81yxcy5axvyy16 Template:tafatir 10 3743 10026 2014-04-11T17:11:38Z 177.133.91.76 Bog cusub: {{#switch:{{{nooc}}} |sup=<sup class="plainlinks"><nowiki>[</nowiki>[{{fullurl:{{{1}}}|ficil=tafatir}} {{{qoraal|tafatir}}}]<nowiki>]</nowiki></sup> |#default=<small class="editlink">[... 10026 wikitext text/x-wiki {{#switch:{{{nooc}}} |sup=<sup class="plainlinks"><nowiki>[</nowiki>[{{fullurl:{{{1}}}|ficil=tafatir}} {{{qoraal|tafatir}}}]<nowiki>]</nowiki></sup> |#default=<small class="editlink">[{{fullurle:{{{1}}}|ficil=tafatir}} {{{2|+/-}}}]</small>}}<noinclude>{{diiwaaninta}}</noinclude> qojbdci1kk8z5nxmez98rogp2o5o2r2 Template:documentation subpage 10 3744 10027 2014-04-11T17:15:31Z 177.133.91.76 Bog cusub: <includeonly><!-- if not on a /documentation subpage, do nothing -->{{#ifeq:{{lc:{{SUBPAGENAME}}}}|documentation<!-- -->|<!-- --></includeonly><!-- -->{{maintenance box|grey | docum... 10027 wikitext text/x-wiki <includeonly><!-- if not on a /documentation subpage, do nothing -->{{#ifeq:{{lc:{{SUBPAGENAME}}}}|documentation<!-- -->|<!-- --></includeonly><!-- -->{{maintenance box|grey | documentation | title = Documentation for [[{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]. <sup class="plainlinks">&#x5b;[{{fullurl:{{SUBJECTSPACE}}:{{BASEPAGENAME}}|action=edit}} edit]&#x5d;</sup> | image = [[File:Edit-copy green.svg|40px]] | text = This page contains [[Help:Documenting templates and modules|usage information]], [[WT:Categorization|categories]], [[Help:Interwiki linking|interwiki links]] and other content describing the {{#switch:{{NAMESPACE}}|Module=module|#default=template}}. }}<!-- --><includeonly><!-- -->{{#ifexist:{{SUBJECTSPACE}}:{{BASEPAGENAME}}|[[Category:Documentation subpages]]|[[Category:Orphaned documentation subpages]]}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{diiwaaninta}}</noinclude> 960xyx20qtxc177mi768f6yxr8hybpo Template:maintenance box 10 3745 10028 2014-04-11T17:19:20Z 177.133.91.76 Bog cusub: <div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;"> {| style="background:#{{#... 10028 wikitext text/x-wiki <div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;"> {| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; text-align:left" | rowspan="2"| {{{image}}} ! {{{cinwaan}}} |- | {{{ficil}}} |} </div><noinclude>{{diiwaaninta}} n4lwif6dahq0eupu7myd79ked11x5sn Template:l-self 10 3746 10029 2014-04-11T17:23:04Z 177.133.91.76 Bog cusub: {{lang|{{{1<noinclude>|und</noinclude>}}}|sc={{#if:{{{sc|}}}|{{{sc}}}| {{{1<noinclude>|und</noinclude>}}}|scripts}} }}<!-- -->|{{#ifeq:{{{2}}}|{{PAGENAME}}|{{{2}}}|{{{2}}}#{{{1<noinc... 10029 wikitext text/x-wiki {{lang|{{{1<noinclude>|und</noinclude>}}}|sc={{#if:{{{sc|}}}|{{{sc}}}| {{{1<noinclude>|und</noinclude>}}}|scripts}} }}<!-- -->|[[{{#ifeq:{{{2}}}|{{PAGENAME}}|{{{2}}}|{{{2}}}#{{{1<noinclude>|und</noinclude>}}}|nom}}}}<!-- -->|{{{3|{{{2}}}}}}<!-- -->]]<!-- -->}}<noinclude>{{diiwaaninta}}</noinclude> 74dpw39tjjnmosf9x32jvhmph90oi30 Template:lang 10 3747 10034 10030 2014-04-11T17:31:03Z 177.133.91.76 10034 wikitext text/x-wiki {{script helper|{{{2}}}|face={{{face|}}}|lang={{{1|<noinclude>und</noinclude>}}}|sc={{{sc|1<noinclude>|und</noinclude>}}}|scripts}}}}<noinclude>{{diiwaaninta}} tj8lap9gn3f600s1n3znfd4usp0p16i Template:script helper 10 3748 10033 10032 2014-04-11T17:29:01Z 177.133.91.76 10033 wikitext text/x-wiki <includeonly>{{#switch:{{{face|}}}<!-- -->|head=<strong class="{{{sc}}}{{#if:{{{lang|}}}||<nowiki/> missing-language}} headword" lang="{{{lang}}}">{{{1}}}</strong><!-- -->|term=<i class="{{{sc}}}{{#if:{{{lang|}}}||<nowiki/> missing-language}} mention" lang="{{{lang}}}">{{{1}}}</i><!-- -->|bold=<b class="{{{sc}}}{{#if:{{{lang|}}}||<nowiki/> missing-language}}" lang="{{{lang}}}">{{{1}}}</b><!-- -->|#default=<span class="{{{sc}}}{{#if:{{{lang|}}}||<nowiki/> missing-language}}" lang="{{{lang}}}">{{{1}}}</span><!-- -->}}<!-- -->{{#switch:{{{lang|}}}<!-- -->|=[[Category:Language code missing/homophones]]<!-- -->|fr=<!-- -->|{{catlangname|{{{lang}}}|terms with homophones}}<!-- -->}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> okqwrl3jpssw9alh3hgpgwq1lr94oll Template:macnaha 10 3749 10037 10036 2014-04-11T17:39:21Z 177.133.91.76 10037 wikitext text/x-wiki <includeonly> -->{{#if:{{{lang|}}}||[[Category:Language code missing/context]]}}<!-- --></includeonly><!-- --><noinclude>{{diiwaaninta}}<noinclude> 68yux8zz60kf9x6aakrofvkhdoigtgp Template:isValidPageName 10 3750 10039 10038 2014-04-11T17:49:57Z 177.133.91.76 10039 wikitext text/x-wiki {{#ifeq:{{{1}}}|-||{{{1}}}}}<noinclude>{{diiwaaninta}}</noinclude> 541omh6l10ujlpxkhbzzj156sbwbjek Module:he-utilities 828 3751 10041 2014-04-11T17:59:18Z 177.133.91.76 Bog cusub: local p = {} -- A wrapper function allowing the contents of this module to be called from -- templates. For example, '{{#invoke:he-utilities|main|otSofit|כ}}' produces -- 'ך', as do... 10041 Scribunto text/plain local p = {} -- A wrapper function allowing the contents of this module to be called from -- templates. For example, '{{#invoke:he-utilities|main|otSofit|כ}}' produces -- 'ך', as does '{{#invoke:he-utilities|main|letters|kafSofit}}'. function p.main(frame) if type(p[frame.args[1]]) == 'function' then return p[frame.args[1]](frame.args[2]) else return p[frame.args[1]][frame.args[2]] end end -- A mapping from strings containing letter-names, e.g. "alef", to strings -- containing letters, e.g. "\215\144". (The latter is a UTF-8-encoded string -- containing the single Unicode character U+05D0 HEBREW LETTER ALEF.) p.letters = {} for i, name in ipairs({ 'alef', 'bet', 'gimel', 'dalet', 'hei', 'vav', 'zayen', 'khet', 'tet', 'yud', 'kafSofit', 'kaf', 'lamed', 'memSofit', 'mem', 'nunSofit', 'nun', 'samekh', 'ayin', 'peiSofit', 'pei', 'tsadiSofit', 'tsadi', 'kuf', 'resh', 'shin', 'tav' }) do p.letters[name] = mw.ustring.char(0x05D0 + i - 1) end p.letters.sin = p.letters.shin -- Same as previous, but for vowels instead of letters. (It also includes a few -- marks and diacritics that aren't quite "vowels", but are in the same sequence -- of Unicode characters.) p.vowels = {} for i, name in ipairs({ 'shva', 'khatafSegol', 'khatafPatakh', 'khatafKamats', 'khirik', 'tseirei', 'segol', 'patakh', 'kamats', 'kholam', 'ignoreMe', 'kubuts', 'dagesh', 'meteg', 'makaf', 'rafe', 'pasek', 'shinDot', 'sinDot', 'sofPasuk', 'upperDot' }) do p.vowels[name] = mw.ustring.char(0x05B0 + i - 1) end p.vowels.ignoreMe = nil p.vowels.mapik = p.vowels.dagesh -- If letter is kaf, mem, nun, pei, or tsadi, returns kaf sofit, mem sofit, -- etc., respectively; otherwise, just returns letter. function p.otSofit(letter) if letter == p.letters.kaf or letter == p.letters.mem or letter == p.letters.nun or letter == p.letters.pei or letter == p.letters.tsadi then return mw.ustring.char(mw.ustring.codepoint(letter) - 1) else return letter end end -- Same as previous, except that if letter is kaf or kaf sofit, also tacks on -- a sh'va (since kaf sofit is written with a sh'va when it has no other vowel). function p.otSofitShva(letter) letter = p.otSofit(letter) if letter == p.letters.kafSofit then return letter .. p.vowels.shva else return letter end end -- If letter is kaf sofit, mem sofit, etc., returns kaf, mem, etc.; otherwise, -- just returns letter. function p.otLoSofit(letter) if letter == p.letters.kafSofit or letter == p.letters.memSofit or letter == p.letters.nunSofit or letter == p.letters.peiSofit or letter == p.letters.tsadiSofit then return mw.ustring.char(mw.ustring.codepoint(letter) + 1) else return letter end end -- If letter is bet, gimel, dalet, kaf, pei, or tav, returns letter plus a -- dagesh; otherwise, just returns letter. function p.dageshKal(letter) if letter == p.letters.bet or letter == p.letters.gimel or letter == p.letters.dalet or letter == p.letters.kaf or letter == p.letters.pei or letter == p.letters.tav then return letter .. p.vowels.dagesh else return letter end end -- If letter is shin plus a shin or sin dot, returns shin (without the dot); -- otherwise, just returns letter. function p.dotlessShin(letter) if letter == p.letters.shin .. p.letters.shinDot or letter == p.letters.sin .. p.letters.sinDot then return p.letters.shin else return letter end end return p o2eiq2eq0fnr8q8onbfnvifvvdkkvrx Module:utilities 828 3752 10042 2014-04-11T18:03:57Z 177.133.91.76 Bog cusub: local export = {} -- Detect the script based on the first alphabetical characters of a string function export.detect_script(text, lang) local m_scripts = mw.loadData("Module:scripts/... 10042 Scribunto text/plain local export = {} -- Detect the script based on the first alphabetical characters of a string function export.detect_script(text, lang) local m_scripts = mw.loadData("Module:scripts/tempdata") local scripts = mw.loadData("Module:languages/alldata")[lang:getCode()].scripts local scFix = false -- Does this language have more than one script? -- If not, we can bypass the detection for a speed bonus. -- But always do the detection if the script is "None" or "Zyyy" if not (scripts[2] or scripts[1] == "None" or scripts[1] == "Zyyy") then return scripts[1], scFix end for i, script in ipairs(scripts) do local script2check = script:gsub(".-%-", "") -- removes the language code from script name, e.g. "nv-Latn" > "Latn" if script2check == "Latf" or script2check == "Latinx" or script2check == "unicode" then script2check = "Latn" elseif script2check == "Hans" or script2check == "Hant" then script2check = "Hani" end local scriptinfo = m_scripts[script2check] or error("The script code \"" .. script .. "\" is not valid.") if scriptinfo.characters and mw.ustring.match(text, "[%[%d%p%s]-[" .. scriptinfo.characters .. "]") then return script, scFix end end scFix = (scripts[1] ~= "Zyyy" and scripts[1] ~= "None") -- not written in native script(s); check for all scripts -- TODO: This is slow; we really shouldn't be doing this! for script, scriptinfo in pairs(m_scripts) do if scriptinfo.characters and mw.ustring.match(text, "[%[%d%p%s]-[" .. scriptinfo.characters .. "]") then return script, scFix end end return scripts[1], scFix end -- Format the categories with the appropriate sort key function export.format_categories(categories, lang, sort_key, sort_base) NAMESPACE = NAMESPACE or mw.title.getCurrentTitle().nsText if NAMESPACE == "" or NAMESPACE == "Appendix" then PAGENAME = PAGENAME or mw.title.getCurrentTitle().text SUBPAGENAME = SUBPAGENAME or mw.title.getCurrentTitle().subpageText if not lang then lang = require("Module:languages").getLanguageByCode("und") end -- Generate a default sort key sort_base = lang:makeSortKey(sort_base or SUBPAGENAME) if sort_key then -- Gather some statistics regarding sort keys if mw.ustring.lower(sort_key) == sort_base then table.insert(categories, "Sort key tracking/redundant") elseif lang:getCode() ~= "und" and lang:getCode() ~= "cmn" and lang:getCode() ~= "ja" and lang:getCode() ~= "zu" and lang:getCode() ~= "nan" and lang:getCode() ~= "yue" and lang:getCode() ~= "ko" then if lang:getCode() == "ga" or lang:getCode() == "gv" or lang:getCode() == "nv" or lang:getCode() == "roa-jer" or lang:getCode() == "fr" or lang:getCode() == "rm" or lang:getCode() == "prg" or lang:getCode() == "gd" or lang:getCode() == "twf" or lang:getCode() == "en" or lang:getCode() == "ro" or lang:getCode() == "egl" or lang:getCode() == "roa-tar" or lang:getCode() == "gl" or lang:getCode() == "ast" or lang:getCode() == "br" then table.insert(categories, "Sort key tracking/needed/" .. lang:getCode()) else table.insert(categories, "Sort key tracking/needed") end end else sort_key = sort_base end -- If the resulting key is the same as the wiki software's default, remove it if sort_key == PAGENAME then sort_key = nil end for key, cat in ipairs(categories) do categories[key] = "[[Category:" .. cat .. (sort_key and "|" .. sort_key or "") .. "]]" end return table.concat(categories, "") else return "" end end -- Used by {{categorize}} function export.template_categorize(frame) NAMESPACE = NAMESPACE or mw.title.getCurrentTitle().nsText local format = frame.args["format"] local args = frame:getParent().args local langcode = args[1]; if langcode == "" then langcode = nil end local sort_key = args["sort"]; if sort_key == "" then sort_key = nil end local categories = {} if not langcode then if NAMESPACE == "Template" then return "" end error("Language code has not been specified. Please pass parameter 1 to the template.") end local lang = require("Module:languages").getLanguageByCode(langcode) if not lang then if NAMESPACE == "Template" then return "" end error("The language code \"" .. langcode .. "\" is not valid.") end local prefix = "" if format == "pos" then prefix = lang:getCanonicalName() .. " " elseif format == "topic" then prefix = lang:getCode() .. ":" end local i = 2 local cat = args[i] while cat do if cat ~= "" then table.insert(categories, prefix .. cat) end i = i + 1 cat = args[i] end return export.format_categories(categories, lang, sort_key) end return export qj679f1zraid93ma8vbehopicntpozo Module:utilities/documentation 828 3753 21202 10043 2022-04-11T00:40:56Z Reedy (WMF) 1360 Reedy (WMF) changed the content model of the page [[Module:utilities/documentation]] from "Scribunto" to "wikitext": T304381 21202 wikitext text/x-wiki This module is exports various general utility functions, which can be used by other modules. detect_script <code>detect_script(text, lang)</code> Given some text and a [[Module:languages#Language objects|language object]], this function tries to detect the script used in the text, and returns its script code (see [[Wiktionary:Scripts]]). It will first try all the scripts that are given for the language in the [[Module:languages]] data. If none of those match, it tries all other scripts. If there is still no match, <code>nil</code> is returned. format_categories <code>format_categories(categories, lang, sort_key)</code> Formats a list (table) of category names. The output is a string consisting of all categories with <nowiki>[[Category:...]]</nowiki> applied to each one, and the given sort key added. If the namespace is not the main or Appendix namespace, the output will be an empty string. If no sort key is given: # A default one is generated by using the current subpage name, and by removing hyphens from the beginning (so that suffixes can be sorted without a key). # If a sort key is available for the given language, it is then used to create a sort key that follows the rules for that language. # If the final sort key ends up being identical to PAGENAME (which is the default key used by the software), then it is omitted entirely, so that it can be used in combination with DEFAULTSORT. template_categorize <code><nowiki>{{#invoke:utilities|template_categorize}}</nowiki></code> This function is used by the {{temp|categorize}}, {{temp|catlangname}} and {{temp|catlangcode}} templates. <includeonly> s5ojqoderkzz14waid1zxh70lo09j17 Template:-rm- 10 3754 10044 2014-04-11T18:16:29Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Romanshka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Romansh</big></big></big> (rm)</div>== <br><noinclude> <!... 10044 wikitext text/x-wiki <includeonly>[[Category:Romanshka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Romansh</big></big></big> (rm)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> hymygpcnbqj71k92j1qlqlp5i93w8w2 Template:-et- 10 3755 10045 2014-04-11T18:17:31Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Istooniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Istooniyaan</big></big></big> (et)</div>== <br><noinclu... 10045 wikitext text/x-wiki <includeonly>[[Category:Istooniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Istooniyaan</big></big></big> (et)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> d3wy8ulkohj2mjll80r9owlawrpb810 déserts 0 3756 18680 10716 2017-04-28T17:25:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18680 wikitext text/x-wiki {{-fr-}} === Sifo === {{head|fr|g=m-p}} # {{masculine plural of|désert|lang=fr}} === Magac === {{head|fr|plural}} {{g|m-p}} # {{jamac reer|désert|lang=fr}} === Xiisa === * [[dessert#Faransiis|dessert]] 2thpnoie9vxkfogldvb7rqznidt9xev Template:jamac reer 10 3757 13442 10050 2015-06-04T17:50:37Z Dalmo Pereira 1417 13442 wikitext text/x-wiki {{#invoke:form of|form_of_t|qaab jamac ah}}<!-- -->{{#if:{{{nocat|}}}<!-- -->|<!-- -->[[Category:jamac reer/with nocat]]<!-- -->}}<!-- -->{{#if:{{{nocap|}}}|[[Category:jamac ah/nocap]]}}<!-- -->{{#if:{{{nodot|}}}|[[Category:jamac ah/nodot]]}}<!-- -->{{#if:{{{pos|}}}|[[Category:jamac ah/pos]]}}<!-- --><noinclude>{{diiwaaninta}}<noinclude> qpem4bk1x4j35nq42k0gk78ocvly6au Module:form of 828 3758 13489 10049 2015-06-04T23:45:36Z Dalmo Pereira 1417 13489 Scribunto text/plain local export = {} local m_links = require("Module:links") local declension_tags = { -- Genders ["m"] = "masculine", ["f"] = "feminine", ["n"] = "neuter", ["c"] = "common", ["s"] = "singular", ["d"] = "dual", ["p"] = "plural", -- Cases ["abl"] = "ablative", ["acc"] = "accusative", ["com"] = "comitative", ["dat"] = "dative", ["erg"] = "ergative", ["gen"] = "genitive", ["ins"] = "instrumental", ["loc"] = "locative", ["nom"] = "nominative", ["par"] = "partitive", ["prep"] = "prepositional", ["voc"] = "vocative", } function format_t(args, iargs, text, term, alt, gloss) NAMESPACE = mw.title.getCurrentTitle().nsText local categories = {} local annotations = {} local lang = iargs["lang"] or args["lang"]; if lang == "" then lang = nil end local sc = args["sc"]; if sc == "" then sc = nil end local id = args["id"]; if id == "" then id = nil end annotations.gloss = gloss annotations.tr = args["tr"]; if annotations.tr == "" then annotations.tr = nil end if not lang then lang = "en" table.insert(categories, "Language code missing/form of") end lang = require("Module:languages").getByCode(lang) if not term then if NAMESPACE == "Template" then term = "term" else error("You have not given a term to link to.") end end if not text then error("No definition text provided.") end if #categories > 0 then local m_utilities = require("Module:utilities") categories = m_utilities.format_categories(categories, lang, nil) else categories = "" end return "<span class='form-of-definition'>" .. text .. " " .. "<span class='form-of-definition-link'>" .. m_links.full_link(term, alt, lang, sc, "term", id, annotations, nil) .. "</span>" .. "</span>" .. categories end function export.form_of_t(frame) local args = frame:getParent().args local iargs = frame.args local term_param = tonumber(iargs["term_param"]) or 1 local text = iargs[1]; if text == "" then text = nil end local term = args[term_param]; if term == "" then term = nil end local alt = args[term_param + 1]; if alt == "" then alt = nil end local gloss = args[term_param + 2]; if gloss == "" then gloss = nil end local categories = "" if not text:find(" of$") then text = text .. " of" if mw.title.getCurrentTitle().nsText == "Template" then categories = "[[Category:form of lacking \"of\"/templates]]" else categories = "[[Category:form of lacking \"of\"]]" end end return format_t(args, iargs, text, term, alt, gloss) .. categories end function export.inflection_t(frame) local args = frame:getParent().args local iargs = frame.args local term = args[1]; if term == "" then term = nil end local alt = args[2]; if alt == "" then alt = nil end local gloss = args["gloss"]; if gloss == "" then gloss = nil end local inflections = {} local i = 3 local infl = args[i] while infl do if infl ~= "" then table.insert(inflections, declension_tags[infl] or infl) end i = i + 1 infl = args[i] end return format_t(args, iargs, table.concat(inflections, " ") .. " of", term, alt, gloss) end return export d8nnodwvj5dq2zqlclrkziera1yqnfd γλυκός 0 3759 19547 16719 2017-04-28T17:31:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19547 wikitext text/x-wiki {{-el-}} === Magac === '''γλυκός''' (glykós) [[macaan]] bbfowklxgw68s37xurmqrttglmc6erp 甘い 0 3760 19751 17378 2017-04-28T17:32:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19751 wikitext text/x-wiki {{-ja-}} === Magac === '''甘い''' (amai) [[macaan|macaan ah]] 2dg7pq0ct8w3wpujwg6prk3w8dqqlio 달다 0 3761 19763 18168 2017-04-28T17:32:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19763 wikitext text/x-wiki {{-ko-}} === Magac === '''달다''' (dalda) [[macaan|macaan ah]] 4kag045xtjfzdv8tj1eoc5gd1r2j81l 0 3762 19752 16795 2017-04-28T17:32:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19752 wikitext text/x-wiki {{-zh-}} === Magac === '''甜''' (tián) [[macaan|macaan ah]] 5xfhofg4yh1yy10w3qzf2ghgpceijxl dadlı 0 3763 18599 16571 2017-04-28T17:24:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18599 wikitext text/x-wiki {{-az-}} === Magac === '''dadlı''' [[macaan|macaan ah]] aopirwjudn7j3zsesh36nq3o8i4fut6 Help:Soo Dhawayn 12 3764 10057 2014-04-11T18:57:59Z 177.133.91.76 Bog cusub: == soo dhaweynayaa == Isagoo soo dhoweynaya isticmaala cusub u gal Wiktionary ka taraa bulshada Wiktionary ah, iyo [[bi'iyo|jebiyo baraf]] talagalay dadka cusub leery. Guud ahaan, syso... 10057 wikitext text/x-wiki == soo dhaweynayaa == Isagoo soo dhoweynaya isticmaala cusub u gal Wiktionary ka taraa bulshada Wiktionary ah, iyo [[bi'iyo|jebiyo baraf]] talagalay dadka cusub leery. Guud ahaan, sysops ma isticmaala cusub 'soo dhaweynayaa' marka koontada waa la abuuray. Dadka isticmaala diiwaangashan, mid ama laba Bilaawga wanaagsan yahay sharci ah suulka (si loo ma dhumin waqti on xisaabaadka vandal/sockpuppet.) Wixii contributions IP si qarsoodi ah, sysops ugu sug 3-5 waxa 'wanaagsan'. Ka sokow siinta dadka isticmaala cusub kartaa macluumaad ku saabsan sida aad u heli lahaayeen jidkooda agagaarka Wiktionary, ka soo dhaweynayaa farriimaha beddeli bandhig ku darsadaan, kuwa, samaynta "isbedel dhowaan lagu gaday dhulal" wax yar ka sahlan, marka si sax ah loo isticmaalo. == Sida loo soo dhawoow == Waxaa jira saddex siyaabood guud si loo soo dhoweeyo isticmaala cusub, taasoo ku xiran sida ay isu sameeyey. # <tt> <nowiki> {{Pediawelcome}} ~~~~ </nowiki> </TT> # <tt> <nowiki> {{soo dhaweynayaa}} ~~~~ </nowiki> </TT> # <tt> <nowiki> {{Welcomeip|~~~~}} </nowiki> </TT> Jaantus waxay ku {{kireysa|pediawelcome}} waxaa loo isticmaalaa kuwaas oo si cad ayaa gacan ka [[w:Wikipedia|Wikipedia]]; waxay ama waxaa laga yaabaa in aan laga yaabaa in qaar ka mid ah preconceptions oo ku saabsan sida wax'' waa'' shaqada. pp4dsyu5tgmghrknokft8axs1luduax näyttölaite 0 3765 19090 12115 2017-04-28T17:28:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19090 wikitext text/x-wiki {{-fi-}} === Magac === '''näyttölaite''' [[shaashad]] hye1o7qjst3qdgorkwxod704i8pfg88 επίδειξη 0 3766 19549 13624 2017-04-28T17:31:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19549 wikitext text/x-wiki {{-el-}} === Magac === '''επίδειξη''' (epídeixi̱) [[shaashad]] 6sbvn6nluaqnpfi0dcq3eqynmjg6zt8 Template:-el- 10 3767 10065 2014-04-11T22:44:05Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Giriigga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Giriigga</big></big></big> (el)</div>== <br><noinclude> <!... 10065 wikitext text/x-wiki <includeonly>[[Category:Giriigga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Giriigga</big></big></big> (el)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> dvknhrckmwcf96hzj025wamatbbeljr Template:-he- 10 3768 10066 2014-04-11T22:46:13Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Cibraaniga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Cibraaniga</big></big></big> (he)</div>== <br><noinclude... 10066 wikitext text/x-wiki <includeonly>[[Category:Cibraaniga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Cibraaniga</big></big></big> (he)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 4eyernsgb28burzq8x770h23bqiawwg Category:Giriigga ereyada 14 3769 19844 15397 2017-06-22T02:53:23Z Octahedron80 1659 [[d:Q8500134]] 19844 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx rooti 0 3770 19231 17903 2017-04-28T17:29:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19231 wikitext text/x-wiki [[File:Serbian bread.jpg|thumb|250px|non]] {{wikipedia}} {{-so-}} === Magac === '''rooti''' 1. Rooti The dhex qooshtay kaas oo ku daray in ay khamiir cajiinka ama khamiirka caadi ahaan la kariyey (dubay) ee foorno, soo saarida dheeraad ah ama ka yar oo jilicsan rootida, kuna waari dhexdeeda baastada ayaa la kariyey leeyahay dhimman hawada. 2. Kibis aan khamiir lahayn unfermented, kuwaas oo soo saara rootiyada guri guud ahaan more joogto ah; waxaa lagu dubay karo ama lagu dubi jiray saxan (ama tii digsiga), ama xataa la shiilay. === Tarjumaad === {{kor}} * {{sq}}: [[bukë]] * {{ar}}: [[خبز]] (xubz) * {{az}}: [[çörək]], [[əkmək]] * {{bg}}: [[хляб]] (hljab) * {{de}}: [[Brot]] * {{es}}: [[pan]] * {{fr}}: [[pain]] * {{en}}: [[bread]] * {{it}}: [[pane]] {{dhaxda}} * {{hu}}: [[kenyér]] * {{pt}}: [[pão]] * {{ro}}: [[pâine]] * {{sv}}: [[bröd]] * {{tr}}: [[ekmek]] * {{vi}}: [[bánh mì]] * {{ja}}: [[パン]] (pan) * {{zh}}: [[面包]] (miànbāo) * {{el}}: [[ψωμί]] (psomí), [[άρτος]] (ártos) {{hoos}} 0c6iif5jlairugo7lom8tkyo3glq5vy خبز 0 3771 19680 16785 2017-04-28T17:32:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19680 wikitext text/x-wiki {{-ar-}} === Magac === '''خبز''' (xubz) [[rooti]] de60sqwbedw4kg0w20orzl77oyl5t9t bukë 0 3772 18522 17419 2017-04-28T17:24:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18522 wikitext text/x-wiki {{-sq-}} === Magac === '''bukë''' :[[rooti]] 74zn9ze2dm1ic9jj5xuqjsh91ycz45g Brot 0 3773 18279 17465 2017-04-28T17:22:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18279 wikitext text/x-wiki {{-de-}} === Magac === '''Brot''' :[[rooti]] bjwn218v0y2d5d8uqcex22tcml9pjrl pão 0 3774 19171 16298 2017-04-28T17:28:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19171 wikitext text/x-wiki {{-pt-}} === Magac === '''pão''' :[[rooti]] f24f84biz18smml185a7gjv27fmn45i pane 0 3775 19122 17880 2017-04-28T17:28:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19122 wikitext text/x-wiki {{-it-}} === Magac === '''pane''' [[rooti]] r9labtclk7afl2wm3rethlpidou3vug kenyér 0 3776 18926 17999 2017-04-28T17:27:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18926 wikitext text/x-wiki {{-hu-}} === Magac === '''kenyér''' :[[rooti]] afgh2dsjjb3hpa1rti10t1087bpuu8q pâine 0 3777 19170 17744 2017-04-28T17:28:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19170 wikitext text/x-wiki {{-ro-}} === Magac === '''pâine''' * [[rooti]] crmapwjhndw0xxin5im3d3rmjpztj1q pan 0 3778 19121 17297 2017-04-28T17:28:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19121 wikitext text/x-wiki {{-ast-}} === Magac === '''pan''' * [[rooti]] {{-gl-}} === Magac === '''pan''' * [[rooti]] {{-es-}} === Magac === '''pan''' * [[rooti]] s4ffq6k0yeocenefo8ejtuvnol3c1cb pain 0 3779 19118 17685 2017-04-28T17:28:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19118 wikitext text/x-wiki {{-fr-}} === Magac === '''pain''' * [[rooti]] a7pe9urzfpsikgqv9z3hfspu9ih3k18 bröd 0 3780 18521 17984 2017-04-28T17:24:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18521 wikitext text/x-wiki {{-sv-}} === Magac === '''bröd''' * [[rooti]] 3yv4i8xmtz6ah7d98x278ourljhbsyy ekmek 0 3781 18692 15882 2017-04-28T17:25:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18692 wikitext text/x-wiki {{-tr-}} === Magac === '''ekmek''' [[rooti]] 9zr2doq65nefvfeaolh9hhy08nvcx8e bánh mì 0 3782 18530 17809 2017-04-28T17:24:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18530 wikitext text/x-wiki {{-vi-}} === Magac === '''bánh mì''' [[rooti]] a5izl9oiwnj05v425ovcbrcwtri3dyg パン 0 3783 19738 17741 2017-04-28T17:32:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19738 wikitext text/x-wiki {{-ja-}} === Magac === '''パン''' (pan) :[[rooti]] l0gvmsz06juz4oml1pw6tf1eitsqr7i 面包 0 3784 19760 16812 2017-04-28T17:32:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19760 wikitext text/x-wiki {{-zh-}} === Magac === '''面包''' (miànbāo) [[rooti]] kh4u1jjt5ju8q8je2102hjajdjejwo3 ψωμί 0 3785 19561 17974 2017-04-28T17:31:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19561 wikitext text/x-wiki {{-el-}} === Magac === '''ψωμί''' (psomí) * [[rooti]] jr9nai2nu3lao03ndvid7yolrvypy5y άρτος 0 3786 19543 17440 2017-04-28T17:31:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19543 wikitext text/x-wiki {{-el-}} === Magac === '''άρτος''' (ártos) [[rooti]] sw3nnw21viqhpqr4sxc2zblthfsl7d7 хляб 0 3787 19620 17738 2017-04-28T17:32:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19620 wikitext text/x-wiki {{-bg-}} === Magac === '''хляб''' (hijad) [[rooti]] bmgpfqmb88n42ywdf1qxv2sprxcq916 çörək 0 3788 19517 17968 2017-04-28T17:31:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19517 wikitext text/x-wiki {{-az-}} === Magac === '''çörək''' [[rooti]] l5uzkxp8pwcmg57q94rurscoc4e6ue1 əkmək 0 3789 19541 16720 2017-04-28T17:31:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19541 wikitext text/x-wiki {{-az-}} === Magac === '''əkmək''' [[rooti]] nu48ozpjtcffstf12n5er00kyp1gkmv non 0 3790 19077 15469 2017-04-28T17:28:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19077 wikitext text/x-wiki {{-ia-}} === Magac === '''non''' {{-fr-}} === Magac === '''non''' {{-uz-}} === Magac === '''non''' [[rooti]] g28dhv07fpstrzhz6sc2yzp4e9t2f8r Template:-ia- 10 3791 10091 2014-04-12T00:00:38Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Interlinguwa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Interlinguwa</big></big></big> (ia)</div>== <br><noinc... 10091 wikitext text/x-wiki <includeonly>[[Category:Interlinguwa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Interlinguwa</big></big></big> (ia)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> sxcy1ew6ligac78ofqvy0iy0vu4n75u Template:-az- 10 3792 20040 10092 2018-10-28T13:58:44Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20040 wikitext text/x-wiki ==aserbajaan== 5f2s89xcq9ugcb3vjzmlil7qduzlukw Template:-zh- 10 3793 10093 2014-04-12T00:06:58Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Shiinees ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Shiinees</big></big></big> (zh)</div>== <br><noinclude> <!... 10093 wikitext text/x-wiki <includeonly>[[Category:Shiinees ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Shiinees</big></big></big> (zh)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> qnrmve1dwtrjxqmtnd6sg9np3kd06ka Template:-vi- 10 3794 10094 2014-04-12T00:10:11Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Fiyatnaamiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Fiyatnaamiis</big></big></big> (vi)</div>== <br><noinc... 10094 wikitext text/x-wiki <includeonly>[[Category:Fiyatnaamiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Fiyatnaamiis</big></big></big> (vi)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> hwvi1oazdtdl03pe3pwmkcf5mmjjkl2 Template:-uk- 10 3795 10095 2014-04-12T00:13:20Z 177.133.91.76 Bog cusub: <includeonly>[[Category:Yukreeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Yukreeniyaan</big></big></big> (uk)</div>== <br><noinc... 10095 wikitext text/x-wiki <includeonly>[[Category:Yukreeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Yukreeniyaan</big></big></big> (uk)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> fikeptix7zq7rlwfr53g54vnmec250x Category:Shiinees ereyada 14 3796 19852 17129 2017-06-24T10:53:01Z Octahedron80 1659 Wuxuu qoraalka ku badalay "[[Category:Ereyada]]" 19852 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Fiyatnaamiis ereyada 14 3797 19887 17138 2017-07-03T13:38:19Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19887 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Aserbajaan ereyada 14 3798 19860 17364 2017-07-03T13:37:40Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19860 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ereyada 14 3799 19881 17411 2017-07-03T13:38:12Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19881 wikitext text/x-wiki Ereyada q5bzo7t5rmlcsckhn2qk7bmesc97htl shukulaata 0 3800 10100 2014-04-12T00:28:30Z 177.133.91.76 Bog loo bedeley [[shukulaato]] 10100 wikitext text/x-wiki #REDIRECT [[shukulaato]] rmcwoute3n31ahpneerml6pzye37473 shukulaato 0 3801 20675 19294 2021-12-08T00:06:17Z Calq 872 20675 wikitext text/x-wiki [[File:Chocolate02.jpg|thumb|300px|shukulaato]] {{wikipedia}} {{-so-}} === Magac === '''shukulaato''' === Tarjumaad === {{kor}} * {{af}}: [[sjokolade]] * {{hy}}: [[շոկոլադ]] (šokolad) * {{ast}}: [[chicolate]] * {{az}}: [[şokolad]] * {{be}}: [[шакалад]] (šakalád) * {{eu}}: [[txokolate]] * {{da}}: [[chokolade]] * {{de}}: [[Schokolade]] * {{en}}: [[chocolate]] * {{eo}}: [[ĉokolado]] * {{et}}: [[šokolaad]] * {{fj}}: [[jokeliti]] * {{fi}}: [[suklaa]] * {{fr}}: [[chocolat]] * {{fo}}: [[sjokoláta]] * {{ka}}: [[შოკოლადი]] (šokoladi) * {{gl}}: [[chocolate]] * {{gu}}: [[ચોકલિટ્]] (cōkaliṭ) * {{ht}}: [[chokola]] * {{id}}: [[coklat]] * {{ga}}: [[seacláid]] * {{hu}}: [[csokoládé]] * {{is}}: [[súkkulaði]] * {{es}}: [[chocolate]] {{dhaxda}} * {{it}}: [[cioccolata]] * {{ca}}: [[xocolata]] * {{lo}}: [[ໂຊໂກລາ]] (sookoolaa) * {{la}}: [[cacaotica]] * {{lv}}: [[šokolāde]] * {{lt}}: [[šokoladas]] * {{mg}}: [[sokola]] * {{ms}}: [[coklat]] * {{nl}}: [[chocolade]] * {{no}}: [[sjokolade]] * {{pl}}: [[czekolada]] * {{pt}}: [[chocolate]] * {{sv}}: [[choklad]] * {{ru}}: [[шоколад]] (šokolád) * {{th}}: [[ช็อกโกแล็ต]] (chók-goh-láet) * {{tr}}: [[çikolata]] * {{cy}}: [[siocled]] * {{uk}}: [[шоколад]] (šokolád) * {{vi}}: [[sô-cô-la]] * {{ja}}: [[チョコレート]] (chokoreeto) * {{uz}}: [[shokolad]] * {{el}}: [[σοκολάτα]] (sokoláta) * {{zu}}: [[shokoledi]] {{hoos}} e2ll9hl9icigaks7op7zarwseyjja6h chocolate 0 3802 20676 18562 2021-12-08T00:06:39Z Calq 872 20676 wikitext text/x-wiki {{-gl-}} === Magac === '''chocolate''' * [[shukulaato]] {{-en-}} === Magac === '''chocolate''' * [[shukulaato]] {{-es-}} === Magac === '''chocolate''' * [[shukulaato]] {{-pt-}} === Magac === '''chocolate''' * [[shukulaato]] rv0mfal5imm0xjqb8fbbofhedohg0ax chocolat 0 3803 18561 17688 2017-04-28T17:24:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18561 wikitext text/x-wiki {{-fr-}} === Magac === '''chocolat''' * [[shukulaato]] ttahs3ml3gxmvxwc6kci80fp9lrrhnk šokolaad 0 3804 19537 16723 2017-04-28T17:31:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19537 wikitext text/x-wiki {{-et-}} === Magac === '''šokolaad''' [[shukulaato]] fhuw9r3jozy9snnycja4z7v33bth8z6 ĉokolado 0 3805 19521 17104 2017-04-28T17:31:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19521 wikitext text/x-wiki {{-eo-}} === Magac === '''ĉokolado''' * [[shukulaato]] i175w53r38aupzflluavbypluygnszj jokeliti 0 3806 18909 15789 2017-04-28T17:27:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18909 wikitext text/x-wiki {{-fj-}} === Magac === '''jokeliti''' * [[shukulaato]] 139yq6suoag6tq4xekl8x8eij2eh1c0 suklaa 0 3807 19333 17934 2017-04-28T17:30:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19333 wikitext text/x-wiki {{-fi-}} === Magac === '''suklaa''' * [[shukulaato]] d4fm2vkrc22ru3ae9y2ccimya0pyfnw sjokolade 0 3808 19306 17928 2017-04-28T17:29:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19306 wikitext text/x-wiki {{-af-}} === Magac === '''sjokolade''' * [[shukulaato]] {{-no-}} === Magac === '''sjokolade''' * [[shukulaato]] ogmcy06boq7bu5s0p4ca2nev3pzxqx7 շոկոլադ 0 3809 19658 16747 2017-04-28T17:32:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19658 wikitext text/x-wiki {{-hy-}} === Magac === '''շոկոլադ''' (šokolad) * [[shukulaata]] 4nzp2t1pdd3lrsa8qt5s4uvlmk41r38 chicolate 0 3810 18559 17034 2017-04-28T17:24:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18559 wikitext text/x-wiki {{-ast-}} === Magac === '''chicolate''' * [[shukulaato]] s534fbk1sshskc0vc3gl0bxfftddevo Schokolade 0 3811 18339 16843 2017-04-28T17:22:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18339 wikitext text/x-wiki {{-de-}} === Magac === '''Schokolade''' * [[shukulaato]] phzbejtt20eefx1l8xykelubphhtw6q şokolad 0 3812 19533 16724 2017-04-28T17:31:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19533 wikitext text/x-wiki {{-az-}} === Magac === '''şokolad''' [[shukulaata]] jmoqq96y36lkcackb01t1fas6bt6xht шакалад 0 3813 19626 17600 2017-04-28T17:32:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19626 wikitext text/x-wiki {{-be-}} === Magac === '''шакалад''' (šakalád) [[shukulaata]] c7win2x2r5inwld9lamsyjd0nygr8kn txokolate 0 3814 19423 17095 2017-04-28T17:30:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19423 wikitext text/x-wiki {{-eu-}} === Magac === '''txokolate''' [[shukulaato]] 48x3za9h7u9w0hzz492gns5vbzphdhj chokolade 0 3815 18565 17986 2017-04-28T17:24:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18565 wikitext text/x-wiki {{-da-}} === Magac === '''chokolade''' * [[shukulaata]] ay0gfhwgq730tti2xwgc60pt106crg6 shokolad 0 3816 19292 13783 2017-04-28T17:29:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19292 wikitext text/x-wiki {{-uz-}} === Magac === '''shokolad''' * [[shukulaata]] 9eetxizvce2d91vh19jd8o7y9tsomj0 nosso 0 3817 19081 11029 2017-04-28T17:28:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19081 wikitext text/x-wiki {{-pt-}} === Magac === '''nosso''' 229vq6yx19viqdqevo241jsc16a7zgi Template:dareen 10 3818 10126 2014-04-12T14:08:51Z 177.133.29.128 Bog cusub: {{isreebreebka|{{{1}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|{{{9|}}}}}<span class="ib-colon"><span class="sense-qualifier-colon">:</span></span><!-- -->{{#if... 10126 wikitext text/x-wiki {{isreebreebka|{{{1}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|{{{9|}}}}}<span class="ib-colon"><span class="sense-qualifier-colon">:</span></span><!-- -->{{#ifeq:{{NAMESPACE}}||<!-- -->{{#ifeq:{{{1}}}|?|<!-- -->[[Category:Terms needing to be assigned to a sense]]<!-- -->}}<!-- -->}}<noinclude>{{diiwaaninta}}</noinclude> enz8643ukyzm7av8wf478xcdliktcxp Help:Documenting templates and modules 12 3819 10127 2014-04-12T14:18:24Z 177.133.29.128 Bog cusub: Jaantus iyo moodallada waa qaabab aad u awood badan oo ah [[m:Main Page|MediaWiki]], laakiin waxay noqon karaan kuwo jaho-wareer in ay isticmaala cusub iyo xataa dadka isticmaala khibr... 10127 wikitext text/x-wiki Jaantus iyo moodallada waa qaabab aad u awood badan oo ah [[m:Main Page|MediaWiki]], laakiin waxay noqon karaan kuwo jaho-wareer in ay isticmaala cusub iyo xataa dadka isticmaala khibrad leh dhibaato ka haysan kartaa macno ahaa kuwa ugu badan oo adag. Waxay sidaas darteed waa in ay la socotaa cadayn in si loo hagaajiyo geynta. Diiwaagelinta waa in loo sharaxo waxa jaantus ama module ma iyo sida loo isticmaalo. Wixii templates gaar ahaan, waxay noqon waa sahlan ku filan in user ah oo aan aqoon buuxda oo diiniga ah jaantus syntax - oo ay ku jiraan qaaraama badan oo khibrad leh oo meel kale diiradda ay fiiro - waxaa si sax ah u isticmaali kartaa. Tani waa run gaar ahaan kiiska habyaalada aad u ballaaran-loo isticmaalo. lezd8tow2ntpxtjw3g9no2zxx9nxbgb abuuro 0 3820 10128 2014-04-12T15:03:55Z 177.133.29.128 Bog cusub: {{-so-}} ===Magac=== '''abuuro''' *Qaab fudud oo gabdhaha yaryar qalbigooda jaceyl loogu abuuro. === Tarjumaad === 10128 wikitext text/x-wiki {{-so-}} ===Magac=== '''abuuro''' *Qaab fudud oo gabdhaha yaryar qalbigooda jaceyl loogu abuuro. === Tarjumaad === p9ustw4lmtgckn25i4bpzf7i0anro2i dareenka 0 3821 10129 2014-04-12T15:07:44Z 177.133.29.128 Bog loo bedeley [[dareen]] 10129 wikitext text/x-wiki #REDIRECT [[dareen]] qh5dbmj2yowmrqbi64hk4zkgorbqlch dareen 0 3822 18601 18228 2017-04-28T17:24:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18601 wikitext text/x-wiki {{-so-}} === Magac === '''dareen''' * Xog fiican Oo dumarka ka anfacaysa ogaashaha dareenka Ragga haweeneyda ay ku tiraahdo oo ay u sheegto habka ay u dooneyso in ciyaarta u waxa ay ku leedahay waa hubaal haddii. === Tarjumaad === * {{en}}: [[sense]] * {{pt}}: [[senso]] cx9esz22uiagxpkn8em91ududczsa7b bedel 0 3823 18486 18210 2017-04-28T17:24:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18486 wikitext text/x-wiki {{-so-}} === Magac === '''bedel''' === Tarjumaad === {{kor}} * {{ar}}: [[تحول]] * {{en}}: [[switch]] {{dhaxda}} * {{pt}}: [[interruptor]] * {{tr}}: [[şalter]] {{hoos}} 99p0w4p0qdxo79w0g7tjdg08fj9sbb8 تحول 0 3824 19672 16788 2017-04-28T17:32:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19672 wikitext text/x-wiki {{-ar-}} === Magac === '''تحول''' [[bedel]] 2s0o1ufawbhrf9sbgebsvv42qsfjc27 switch 0 3825 19342 17078 2017-04-28T17:30:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19342 wikitext text/x-wiki {{-en-}} === Magac === '''switch''' [[bedel]] le8okbs34vc3hfsndy0z8fed5j4wbsi şalter 0 3826 19529 14100 2017-04-28T17:31:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19529 wikitext text/x-wiki {{-tr-}} === Magac === '''şalter''' [[bedel]] fcq7fxx4719tpexdeh4mvka807t8uro interruptor 0 3827 18885 11295 2017-04-28T17:26:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18885 wikitext text/x-wiki {{-ast-}} === Magac === '''interruptor''' [[bedel]] {{-gl-}} === Magac === '''interruptor''' [[bedel]] {{-es-}} === Magac === '''interruptor''' [[bedel]] {{-pt-}} === Magac === '''interruptor''' [[bedel]] ipoh47xpgixhx30jb2vrbmge7sd47sw zebra 0 3828 19496 17963 2017-04-28T17:31:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19496 wikitext text/x-wiki {{-eu-}} === Magac === '''zebra''' * [[dameer-farow]] {{-cs-}} === Magac === '''zebra''' * [[dameer-farow]] {{-da-}} [[File:Beautiful_Zebra_in_South_Africa.JPG|thumb|Zebra [1].]] [[File:Raised_crosswalk_1.jpg|thumb|Zebra [2].]] === Magac === '''zebra''' [[dameer-farow]] {{-eo-}} === Magac === '''zebra''' * [[dameer-farow]] {{-hu-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|/ˈzɛbrɒ/|lang=hu}} * {{hyphenation|zeb|ra|lang=hu}} * [[dameer-farow]] {{-en-}} === Magac === '''zebra''' === Dhawaaqida === * {{a|UK|Commonwealth}} {{CGX|/ˈzɛbɹə/|/ˈziːbɹə/}} * {{audio|en-uk-zebra.ogg|Audio (UK)|lang=en}} * {{a|US and trad. English}} {{CGX|/ˈziːbɹə/}} * {{audio|en-us-zebra.ogg|Audio (US)|lang=en}} * [[dameer-farow]] {{-es-}} === Magac === '''zebra''' * [[dameer-farow]] {{-it-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|/ˈdzɛːbra/|lang=it}} [[dameer-farow]] {{-ca-}} === Magac === '''zebra''' * [[dameer-farow]] {{-la-}} === Magac === '''zebra''' * [[dameer-farow]] {{-lv-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|lang=lv|/ˈzɛbra/}} * {{audio|Lv-zebra.ogg|audio|lang=lv}} [[dameer-farow]] {{-pl-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|lang=pl|/ˈzɛbra/}} * {{audio|Pl-zebra.ogg|zebra|lang=pl}} [[dameer-farow]] {{-pt-}} === Magac === '''zebra''' * [[dameer-farow]] {{-sh-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|/zêbra/|lang=sh}} [[dameer-farow]] {{-sk-}} === Magac === '''zebra''' === Dhawaaqida === * {{CGX|lang=sl|/ˈzèːbra/|/ˈzéːbra/}} * {{sl-tonal|zẹ́bra|zẹ̑bra}} [[dameer-farow]] {{-sl-}} === Magac === '''zebra''' [[dameer-farow]] {{-sv-}} === Magac === '''zebra''' [[dameer-farow]] {{-tr-}} === Magac === '''zebra''' [[dameer-farow]] nsrtfpm9balji5nbmhbgqhpdg0j0w28 Template:sl-tonal 10 3829 10143 2014-04-13T13:14:30Z 177.133.29.128 Bog cusub: Tonal: <!-- --><span class="Unicode" lang="sl">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="Unicode" lang="sl">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span c... 10143 wikitext text/x-wiki Tonal: <!-- --><span class="Unicode" lang="sl">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="Unicode" lang="sl">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="Unicode" lang="sl">{{{3}}}</span>}}<!-- -->{{#if:{{{4|}}}|, <span class="Unicode" lang="sl">{{{4}}}</span>}}<!-- -->{{#if:{{{5|}}}|, <span class="Unicode" lang="sl">{{{5}}}</span>}}<!-- -->{{#if:{{{6|}}}|, <span class="Unicode" lang="sl">{{{6}}}</span>}}<!-- --><includeonly>{{#if:{{{1|}}}||[[Category:Pronunciation templates without a pronunciation]]}}</includeonly><!-- --><noinclude>{{diiwaaninta}}</noinclude> jfbnipjx0s8y4ol02x5xskz2j8i70cl Zebra 0 3830 24181 18368 2023-08-09T12:30:45Z Jeuwre 4430 dhawaaqida 24181 wikitext text/x-wiki {{-de-}} === Magac === '''Zebra''' === Dhawaaqida === * {{CGX|/ˈtseːbʀa/|lang=de}} * {{audio|De-Zebra.ogg|audio (Germany)|lang=de}} * {{audio|De-Zebra2.ogg|audio (Germany)|lang=de}} * {{audio|De-at-Zebra.ogg|audio (Austria)|lang=de}} [[dameer-farow]] {{-lb-}} === Magac === '''Zebra''' # [[dameer-farow]] px9jb3ykc0jopumcgj2sfkwhxtsx1gj dameer-farow 0 3831 10145 2014-04-13T13:27:38Z 177.133.29.128 Bog cusub: {{-so-}} ===Magac=== '''dameer-farow''' ===Tarjumaad=== *{{pt}}: [[zebra]] *{{gl}}: [[cebra]] *{{lb}}: [[Zebra]] 10145 wikitext text/x-wiki {{-so-}} ===Magac=== '''dameer-farow''' ===Tarjumaad=== *{{pt}}: [[zebra]] *{{gl}}: [[cebra]] *{{lb}}: [[Zebra]] d15727ne3zsiur3nl7hm33kdtjovz8w Template:lb 10 3832 10146 2014-04-13T13:29:24Z 177.133.29.128 Bog cusub: Laksambargish<noinclude> 10146 wikitext text/x-wiki Laksambargish<noinclude> fvs398x8zci4llj8dt8bsm775cb44rk Template:-lb- 10 3833 10147 2014-04-13T13:30:54Z 177.133.29.128 Bog cusub: <includeonly>[[Category:Laksambargish ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laksambargish</big></big></big> (lb)</div>== <br><noi... 10147 wikitext text/x-wiki <includeonly>[[Category:Laksambargish ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laksambargish</big></big></big> (lb)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 42iu3ee1h1du8t6tfo0ej4khoqakh4p cebra 0 3834 18550 17812 2017-04-28T17:24:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18550 wikitext text/x-wiki {{-gl-}} === Magac === '''cebra''' [[dameer-farow]] {{-es-}} === Magac === '''cebra''' [[dameer-farow]] 1w8jqdtg1wfhdgdifkeuqq91xxg6ecn Template:hy 10 3835 10149 2014-04-13T14:49:42Z 177.133.29.128 Bog cusub: Armeeniyaan<noinclude> 10149 wikitext text/x-wiki Armeeniyaan<noinclude> cr6foitm7pvxtara35o7tbg7kt3tfth god 0 3836 30039 26650 2024-08-21T03:29:55Z Girligaanshub 3150 30039 wikitext text/x-wiki {{-so-}} == Magac == '''god''' === Tarjumaad === * {{en}}: ditch, hole {{-en-}} === Magac === '''god''' [[ilaah]] 6e2lomepqf6ud1ri4zaafglaqy0zn8e God 0 3837 18297 16506 2017-04-28T17:22:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18297 wikitext text/x-wiki {{-en-}} === Magac === '''God''' # [[eebbe]] # [[ilaah]] 5795srnfr80oidi8ziisi0lujuy6zq9 webiyada 0 3838 10153 2014-04-13T15:02:15Z 177.133.29.128 Bog cusub: {{-so-}} ===Magac=== '''webiyada''' ===Tarjumaad=== *{{en}}: [[river]] 10153 wikitext text/x-wiki {{-so-}} ===Magac=== '''webiyada''' ===Tarjumaad=== *{{en}}: [[river]] hsie2knstw6otfmv9gyhxyuxqle8y5z fasax 0 3839 24477 18746 2023-09-01T08:53:28Z Girligaanshub 3150 24477 wikitext text/x-wiki {{-so-}} === Magac === '''fasax''' === Tarjumaad === * {{be}}: [[свята]] (sviata) * {{en}}: [[holiday]], liberate, release * {{ru}}: [[праздник]] (prazdnik) * {{tr}}: [[tatil]] agk8p1q8wtb5if4k651gzfb5559cdqs свята 0 3840 19600 16732 2017-04-28T17:31:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19600 wikitext text/x-wiki {{-be-}} === Magac === '''свята''' (sviata) [[fasax]]a 1ot6f1nh377zjnoprksfgsqxf1v31hb tatil 0 3841 19358 14801 2017-04-28T17:30:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19358 wikitext text/x-wiki {{-tr-}} === Magac === '''tatil''' [[fasax]]a 5gt5ld9pcm93kfpkenvtoaaozzbno5q праздник 0 3842 19594 15601 2017-04-28T17:31:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19594 wikitext text/x-wiki {{-ru-}} === Magac === '''праздник''' (prazdnik) [[fasax]] 8eggtmbwadff2wdgisq82pb6rnw3ew5 bayoloji 0 3843 18484 14803 2017-04-28T17:24:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18484 wikitext text/x-wiki {{-so-}} === Magac === '''bayoloji''' === Tarjumaad === {{kor}} * {{ar}}: [[علم الاحياء]] * {{az}}: [[biologiya]] * {{be}}: [[біялогія]] (bijalohija) * {{gl}}: [[bioloxía]] * {{en}}: [[biology]] {{dhaxda}} * {{es}}: [[biología]] * {{ja}}: [[生物学]] (ikimonogaku), [[バイオロジー]] (Baiorojī) * {{nl}}: [[biologie]] * {{pt}}: [[biologia]] * {{tl}}: [[aghambuhay]], [[byolohiya]] {{hoos}} 0a385p6vdrkgcwfwuymop8oi1inzlrb علم الاحياء 0 3844 10160 2014-04-13T15:14:51Z 177.133.29.128 Bog cusub: {{-ar-}} ===Magac=== '''علم الاحياء''' *[[bayoloji]] 10160 wikitext text/x-wiki {{-ar-}} ===Magac=== '''علم الاحياء''' *[[bayoloji]] 9nedyhn2fhzotumhi9fbly0acnkevm1 bioloxía 0 3845 18501 17730 2017-04-28T17:24:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18501 wikitext text/x-wiki {{-gl-}} === Magac === '''bioloxía''' * [[bayoloji]] qx3lksfnrp6v80ox5qf5yc9qjhbcyl1 aghambuhay 0 3846 10162 2014-04-13T15:16:45Z 177.133.29.128 Bog cusub: {{-tl-}} ===Magac=== '''aghambuhay''' [[bayoloji]] 10162 wikitext text/x-wiki {{-tl-}} ===Magac=== '''aghambuhay''' [[bayoloji]] 6ibmesyqodj9r7i0e6jr1mo34lvgawr byolohiya 0 3847 18527 14804 2017-04-28T17:24:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18527 wikitext text/x-wiki {{-tl-}} === Magac === '''byolohiya''' * [[bayoloji]] akehkzj13rzgmvh87x0hmjawrynwmle biología 0 3848 18500 17805 2017-04-28T17:24:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18500 wikitext text/x-wiki {{-ast-}} === Magac === '''biología''' * [[bayoloji]] {{-es-}} === Magac === '''biología''' * [[bayoloji]] hjxjjmgjoa3nt669xaegi0zodhy4zvt biologia 0 3849 18496 17019 2017-04-28T17:24:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18496 wikitext text/x-wiki {{-fi-}} === Magac === '''biologia''' * [[bayoloji]] {{-eu-}} === Magac === '''biologia''' * [[bayoloji]] {{-ca-}} === Magac === '''biologia''' * [[bayoloji]] {{-ia-}} === Magac === '''biologia''' * [[bayoloji]] {{-it-}} === Magac === '''biologia''' * [[bayoloji]] {{-pt-}} === Magac === '''biologia''' * [[bayoloji]] 4yr30irhsg603ozhd19syij47hhaj47 biologie 0 3850 18497 17971 2017-04-28T17:24:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18497 wikitext text/x-wiki {{-af-}} === Magac === '''biologie''' [[bayoloji]] {{-nl-}} === Magac === '''biologie''' [[bayoloji]] {{-ro-}} === Magac === '''biologie''' [[bayoloji]] em70tx4uhsciy8n9066p7hhvkpgkrom biologiya 0 3851 18498 17590 2017-04-28T17:24:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18498 wikitext text/x-wiki {{-az-}} === Magac === '''biologiya''' * [[bayoloji]] bhggs8fcumdpeyfsgq6z4vvj9b5tvij біялогія 0 3852 19569 14806 2017-04-28T17:31:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19569 wikitext text/x-wiki {{-be-}} === Magac === '''Bбіялогія''' (bijalohija) * [[bayoloji]] anlf28guwf14kzpax3he83rvfu8aryv 生物学 0 3853 19753 18012 2017-04-28T17:32:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19753 wikitext text/x-wiki {{-ja-}} === Magac === '''生物学''' (ikimonogaku) [[bayoloji]] 8gmj3zxccxprelgn082j6rpyi52rmnh バイオロジー 0 3854 19737 14171 2017-04-28T17:32:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19737 wikitext text/x-wiki {{-ja-}} === Magac === '''バイオロジー''' (Baiorojī) [[bayoloji]] ax3iame5fjjh8e37r7zwe7v25ncn3ap bad 0 3855 18468 17548 2017-04-28T17:23:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18468 wikitext text/x-wiki {{-en-}} === Magac === '''bad''' * [[hun]] {{-so-}} === Magac === '''bad''' === Tarjumaad === * {{en}}: [[sea]] 29s2fx5r63zh45wsfvpfnd5lrxg4d5y hun 0 3856 18857 18067 2017-04-28T17:26:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18857 wikitext text/x-wiki {{-so-}} === Magac === '''hun''' === Tarjumaad === * {{en}}: [[bad]] 2rq8u7dfeoeo9batcejy0wzst9ijvo6 qaado 0 3857 31524 19175 2024-10-13T03:09:58Z Girligaanshub 3150 31524 wikitext text/x-wiki {{-so-}} === Magac === '''qaabo''' === Tarjumaad === * {{en}}: [[spoon]] ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] psnhe8c09rhafjpunt4sob15320wq3q dowlad 0 3858 18663 16577 2017-04-28T17:25:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18663 wikitext text/x-wiki {{-so-}} === Magac === '''dowlad''' === Tarjumaad === * {{en}}: [[state]] * {{es}}: [[estado]] 9c9rl5pq75ja4tz0bjebuta4uryhakz estado 0 3859 18718 17040 2017-04-28T17:25:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18718 wikitext text/x-wiki {{-ast-}} === Magac === '''estado''' [[dowlad]] {{-es-}} === Magac === '''estado''' [[dowlad]] {{-gl-}} === Magac === '''estado''' [[dowlad]] {{-pt-}} === Magac === '''estado''' [[dowlad]] {{-tl-}} === Magac === '''estado''' [[dowlad]] gj36vyxfo3u48pazinxisarxw9luspj stato 0 3860 19330 17081 2017-04-28T17:29:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19330 wikitext text/x-wiki {{-it-}} === Magac === '''stato''' * [[dowlad]] mdb2kufrvw8kmzakyxnpdp6dicfastf dooro 0 3861 18660 13903 2017-04-28T17:25:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18660 wikitext text/x-wiki {{-so-}} === Magac === '''dooro''' === Tarjumaad === * {{en}}: [[chicken]] * {{pt}}: [[frango]] 6quou4ndq8fbp2016o9k59xhxomcffn frango 0 3862 18778 18056 2017-04-28T17:26:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18778 wikitext text/x-wiki {{-pt-}} === Magac === '''frango''' [[dooro]] 7ak8kqlz9ddx3zzvs5g8q9bjgtfiep6 xeeb 0 3863 19478 14090 2017-04-28T17:31:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19478 wikitext text/x-wiki {{-so-}} === Magac === '''xeeb''' === Tarjumaad === * {{en}}: [[coast]] 5mfsfx2xajc6qkfxkwq306wxip9p4g0 fure 0 3864 18783 16597 2017-04-28T17:26:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18783 wikitext text/x-wiki {{-so-}} === Magac === '''fure''' === Tarjumaad === {{kor}} * {{ar}}: [[مفتاح]] * {{da}}: [[nøgle]] * {{en}}: [[key]] * {{es}}: [[llave]] {{dhaxda}} * {{it}}: [[chiave]] * {{no}}: [[nøkkel]] * {{pt}}: [[chave]] * {{ro}}: [[cheie]] {{hoos}} flcitoe81mborg5dfrhnffdg79nibol مفتاح 0 3865 19694 18107 2017-04-28T17:32:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19694 wikitext text/x-wiki {{-ar-}} === Magac === '''مفتاح''' [[fure]] lwzzx0ddvj1dockkgfj9p4bf8xdav2n cheie 0 3866 18556 17813 2017-04-28T17:24:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18556 wikitext text/x-wiki {{-ro-}} === Magac === '''cheie''' [[fure]] 6d8ozf14nyhj7m0ulsrook68glxpyhf chiave 0 3867 18557 15067 2017-04-28T17:24:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18557 wikitext text/x-wiki {{-it-}} === Magac === '''chiave''' * [[fure]] ime0faycsm52nebnq3kktufwsge9awi llave 0 3868 18988 15916 2017-04-28T17:27:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18988 wikitext text/x-wiki {{-es-}} === Magac === '''llave''' [[fure]] 2hkt1vxaolak89uoihutaav8asova88 nøkkel 0 3869 19092 17868 2017-04-28T17:28:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19092 wikitext text/x-wiki {{-no-}} === Magac === '''nøkkel''' [[fure]] ns5xan39ip79klno2a4ca9fs11swoza nøgle 0 3870 19091 18087 2017-04-28T17:28:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19091 wikitext text/x-wiki {{-da-}} === Magac === '''nøgle''' [[fure]] jfgjckydiywuoalcwsyzu1aojeiderb suugaan 0 3871 19338 16696 2017-04-28T17:30:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19338 wikitext text/x-wiki {{-so-}} === Magac === '''suugaan''' === Tarjumaad === * {{en}}: [[literature]] n89nyklfdq3kge3nylom7wnx4pjtt3z saxan 0 3872 31530 19252 2024-10-13T03:26:27Z Girligaanshub 3150 31530 wikitext text/x-wiki {{-so-}} === Magac === '''saxan''' === Tarjumaad === * {{en}}: [[dish]], plate * {{pt}}: [[prato]] bc3m7owukde2uf6rwcfe6hbihr2hymc prato 0 3873 19163 16232 2017-04-28T17:28:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19163 wikitext text/x-wiki {{-pt-}} === Magac === '''prato''' [[saxan]] ee4uvasr1kdbzl7hvx72cbse55gj7td ilik 0 3874 20175 18869 2019-02-05T16:53:28Z 91.156.27.99 20175 wikitext text/x-wiki {{-so-}} === Magac === '''ilik''' === Tarjumaad === * {{en}}: [[tooth]] * {{fi}}: [[hammas]] * {{fr}}: [[dent]] * {{pt}}: [[dente]] 5985w7wfy81awu6eunul0eytkwbklq9 magaalo 0 3875 19010 17852 2017-04-28T17:27:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19010 wikitext text/x-wiki {{-so-}} === Magac === '''magaalo''' === Tarjumaad === * {{en}}: [[town]] bzp73yv9zvcl7hjisvt68pwxhhacaog albaab 0 3876 32797 18406 2024-12-01T18:00:05Z ВМНС 5070 32797 wikitext text/x-wiki {{-so-}} === Magac === '''albaab''' === Tarjumaad === * {{en}}: [[door]] * {{es}}: [[puerta]] * {{it}}: [[porta]] [[Category:Soomaali ereyada-al]] h9k9yldjpse10azd73j3nb5v2i4qah2 porta 0 3877 19156 14479 2017-04-28T17:28:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19156 wikitext text/x-wiki {{-it-}} === Magac === '''porta''' [[albaab]] {{-pt-}} === Magac === '''porta''' [[albaab]] gq6aq09qnoml0pvuo9emv4btspdwgim puerta 0 3878 19166 17402 2017-04-28T17:28:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19166 wikitext text/x-wiki {{-es-}} === Magac === '''puerta''' [[albaab]] carel5nimilsoor7fy7r7n5ucbblbeo by 0 3879 18526 17977 2017-04-28T17:24:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18526 wikitext text/x-wiki {{-so-}} === Magac === '''by''' {{-en-}} === Magac === '''by''' tjtc8b2ijszzntjnyq70mygow7krtox dheg 0 3880 18622 17035 2017-04-28T17:25:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18622 wikitext text/x-wiki {{-so-}} === Magac === '''dheg''' === Tarjumaad === * {{en}}: [[ear]] 8yd9tfv6oh95ej2118qreffq5p6byl8 ukun 0 3881 19835 19428 2017-06-08T03:28:04Z 91.156.27.99 19835 wikitext text/x-wiki {{-so-}} === Magac === '''ukun''' === Tarjumaad === * {{en}}: [[egg]] * {{fi}}: [[muna]] * {{pt}}: [[ovo]] bbpcn8e01raybnmk3y057gu13wzxnet ovo 0 3882 19115 17335 2017-04-28T17:28:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19115 wikitext text/x-wiki {{-pt-}} === Magac === '''ovo''' [[ukun]] 65pae1ol6lgcg6wol5ztiaxa0vw2bon hilib 0 3883 18837 18180 2017-04-28T17:26:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18837 wikitext text/x-wiki {{-so-}} === Magac === '''hilib''' === Tarjumaad === * {{en}}: [[meat]] 5hbce3pmubfvly0numkrq2o7rcdrq8z dawo 0 3884 10203 2014-04-13T16:08:56Z 177.133.29.128 Bog cusub: {{-so-}} ===Magac=== '''dawo''' ===Tarjumaad=== *{{en}}: [[medicine]] 10203 wikitext text/x-wiki {{-so-}} ===Magac=== '''dawo''' ===Tarjumaad=== *{{en}}: [[medicine]] k5opbcn6mic4oibuxlapt5ryz7garhu ensiim 0 3885 10204 2014-04-13T16:10:18Z 177.133.29.128 Bog cusub: {{-so-}} ===Magac=== '''ensiim''' ===Tarjumaad=== *{{en}}: [[enzyme]] 10204 wikitext text/x-wiki {{-so-}} ===Magac=== '''ensiim''' ===Tarjumaad=== *{{en}}: [[enzyme]] bwej78a89k91dlwwi31mbujufglttl2 sanad 0 3886 19247 18095 2017-04-28T17:29:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19247 wikitext text/x-wiki {{-so-}} === Magac === '''sanad''' === Tarjumaad === {{kor}} * {{en}}: [[year]] * {{es}}: [[año]] * {{it}}: [[anno]] {{dhaxda}} * {{nl}}: [[jaar]] * {{de}}: [[Jahr]] * {{pt}}: [[ano]] {{hoos}} 4x225z2s5jvrwtfdfe7c4mfnwnyhf40 jaar 0 3887 18896 17316 2017-04-28T17:26:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18896 wikitext text/x-wiki {{-af-}} === Magac === '''jaar''' * [[sanad]] {{-nl-}} === Magac === '''jaar''' * [[sanad]] {{-so-}} === Magac === '''jaar''' === Tarjumaad === * {{en}}: [[neighbor]] j1bhsrsz7c768eg7r1p4rp6joiunht2 año 0 3888 18461 17654 2017-04-28T17:23:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18461 wikitext text/x-wiki {{-es-}} === Magac === '''año''' * [[sanad]] 09t7dqwa48tu11983qyftl79guay5bw anno 0 3889 18431 17664 2017-04-28T17:23:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18431 wikitext text/x-wiki {{-it-}} === Magac === '''anno''' * [[sanad]] tv0mmi7wwap6it4hvq8j5uoegqexmwo Jahr 0 3890 18306 18133 2017-04-28T17:22:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18306 wikitext text/x-wiki {{-de-}} === Magac === '''Jahr''' [[sanad]] rao4scdm1q22qjhxmk2n8wftqgq8vdn ano 0 3891 18432 17343 2017-04-28T17:23:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18432 wikitext text/x-wiki {{-gl-}} === Magac === '''ano''' [[sanad]] {{-es-}} === Magac === '''ano''' [[sanad]] pyy73w3sagyu8sh9mn9qmaqflizqoeq farammugo 0 3892 18741 16589 2017-04-28T17:25:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18741 wikitext text/x-wiki {{-so-}} === Magac === '''farammugo''' === Tarjumaad === * {{en}}: [[octopus]] j5vgtl80uphsg24et8ir85uzm9w15wd shan 0 3893 23357 23356 2023-04-23T08:20:37Z Apisite 3737 23357 wikitext text/x-wiki {{-so-}} === Magac === '''shan''' === Tarjumaad === {{kor}} * {{aa}}: [[konoy]] * {{da}}: [[fem]] * {{fr}}: [[cinq]] * {{vi}}: [[năm]] * {{es}}: [[cinco]] * {{en}}: [[five]] * {{sv}}: [[fem]] * {{ms}}: [[lima]] {{dhaxda}} * {{pt}}: [[cinco]] * {{rhg}}: [[fañs]] * {{sw}}: [[tano]] * {{zh}}: [[五]] * {{it}}: [[cinque]] * {{bo}}: [[ལྔ]] (lnga) * {{ug}}: [[بەش]] * {{uz}}: [[besh]] {{hoos}} d284r1q7rw662banpjd3tarlm2o39eg besh 0 3894 18489 15546 2017-04-28T17:24:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18489 wikitext text/x-wiki {{-uz-}} === Magac === '''besh''' [[shan]] mj588coex52giwtg5hc0ev2jluul04d cinq 0 3895 18568 17989 2017-04-28T17:24:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18568 wikitext text/x-wiki {{-fr-}} === Magac === '''cinq''' [[shan]] e7vngq1rofbrzksefb1kmrde0terjxe cinque 0 3896 18569 17817 2017-04-28T17:24:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18569 wikitext text/x-wiki {{-it-}} === Magac === '''cinque''' [[shan]] 1m7dkxmjowywcq8nm9x4cqgdbwptxzk cinco 0 3897 18567 17690 2017-04-28T17:24:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18567 wikitext text/x-wiki {{-ast-}} === Magac === '''cinco''' [[shan]] {{-gl-}} === Magac === '''cinco''' [[shan]] {{-es-}} === Magac === '''cinco''' [[shan]] {{-pt-}} === Magac === '''cinco''' [[shan]] sgpokz7vwf2i7zby5vhqdsqqnaayq0h fünf 0 3898 18784 17717 2017-04-28T17:26:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18784 wikitext text/x-wiki {{-de-}} === Magac === '''fünf''' [[shan]] nl29tndoucy6zzr6w2uhohhf3nsrnk6 pasta 0 3899 19130 16290 2017-04-28T17:28:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19130 wikitext text/x-wiki {{-ca-}} === Magac === '''pasta''' [[koollada]] {{-cs-}} === Magac === '''pasta''' [[koollada]] {{-fo-}} === Magac === '''pasta''' [[koollada]] {{-fi-}} === Magac === '''pasta''' [[koollada]] {{-is-}} === Magac === '''pasta''' [[koollada]] {{-it-}} === Magac === '''pasta''' [[koollada]] {{-es-}} === Magac === '''pasta''' [[koollada]] {{-la-}} === Magac === '''pasta''' [[koollada]] {{-pl-}} === Magac === '''pasta''' [[koollada]] {{-pt-}} === Magac === '''pasta''' [[koollada]] {{-sh-}} === Magac === '''pasta''' [[koollada]] {{-scn-}} === Magac === '''pasta''' [[koollada]] {{-sk-}} === Magac === '''pasta''' [[koollada]] {{-tl-}} === Magac === '''pasta''' [[koollada]] {{-tr-}} === Magac === '''pasta''' [[koollada]] {{-cy-}} === Magac === '''pasta''' [[koollada]] 7wpzq8nzu9tsp8pqjktutu0lp5a0v8h koollada 0 3900 18943 13946 2017-04-28T17:27:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18943 wikitext text/x-wiki {{-pt-}} === Magac === '''koollada''' === Tarjumaad === * {{en}}: [[paste]] * {{pt}}: [[pasta]] gu5c82tb1hxh11jzbtbsd2k8kg25fph paste 0 3901 19131 15942 2017-04-28T17:28:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19131 wikitext text/x-wiki {{-en-}} === Magac === '''paste''' [[koollada]] {{-sl-}} === Magac === '''paste''' [[koollada]] p2e1zxqm41lcovc3p01lupfgavs2ki9 líma 0 3902 18998 13968 2017-04-28T17:27:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18998 wikitext text/x-wiki {{-is-}} === Magac === '''líma''' [[koollada]] rr1m62zcmm2jnp26sag08nxncmoerwj puzzle 0 3903 19167 17069 2017-04-28T17:28:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19167 wikitext text/x-wiki {{wikipedia}} [[File:Rubik's cube.svg|thumb|300px|puzzle]] {{-en-}} === Magac === '''puzzle''' === Dhawaaqida === * {{enPR|pŭzʹəl}}, {{CGX|/ˈpʌzəl/}} {{audio|En-ca-puzzle.ogg|Audio (CA)|lang=en}} * {{heesaha|ʌzəl}} {{-cs-}} === Magac === '''puzzle''' {{-fr-}} === Magac === '''puzzle''' === Dhawaaqida === * {{audio|Fr-puzzle.ogg|audio|lang=fr}} {{-it-}} === Magac === '''puzzle''' 5yal319eb7uqbxjh4b7dkiou7ftizjv Template:riimid 10 3904 10228 2014-04-14T11:54:55Z 177.17.246.205 Bog cusub: Riimid: [[Riimid:{{lang|{{{lang|so}}}}}:-{{{1}}}|{{CGXchar|-{{{1}}}}}]]{{#if:{{{2|}}}|, [[Riimid:{{lang|{{{lang|so}}}}}:-{{{2}}}|{{CGXchar|-{{{2}}}}}]]}}{{#if:{{{3|}}}|, Riimid:{{lan... 10228 wikitext text/x-wiki Riimid: [[Riimid:{{lang|{{{lang|so}}}}}:-{{{1}}}|{{CGXchar|-{{{1}}}}}]]{{#if:{{{2|}}}|, [[Riimid:{{lang|{{{lang|so}}}}}:-{{{2}}}|{{CGXchar|-{{{2}}}}}]]}}{{#if:{{{3|}}}|, [[Riimid:{{lang|{{{lang|en}}}}}:-{{{3}}}|{{CGXchar|-{{{3}}}}}]]}}{{#if:{{{4|}}}|, [[Riimid:{{lang|{{{lang|so}}}}}:-{{{4}}}|{{CGXchar|-{{{4}}}}}]]}}<noinclude>{{diiwaaninta}}</noinclude> mfubgek07i1fdu592ujewuiehhjag6g setembro 0 3905 19279 18200 2017-04-28T17:29:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19279 wikitext text/x-wiki {{-pt-}} {{Bilaha-pt}} === Magac === '''setembro''' [[sebteembar]] rgk1xj3qgk7xvk7odf3ct59am2nbxce septiembre 0 3906 19276 17777 2017-04-28T17:29:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19276 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''septiembre''' [[sebteembar]] 4fw95au72gll5qrgd8cx2o7ry6jtszu junio 0 3907 18917 15905 2017-04-28T17:27:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18917 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''junio''' [[juun]] 6vrxinsrs181ifdn7r7s7dgn2ti5fgz junho 0 3908 18916 16959 2017-04-28T17:27:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18916 wikitext text/x-wiki {{-pt-}} {{Bilaha-pt}} === Magac === '''junho''' [[juun]] 3j7joo3rlsysrfeso49bb6eae2gxd29 julho 0 3909 18914 17842 2017-04-28T17:27:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18914 wikitext text/x-wiki {{-pt-}} {{Bilaha-pt}} === Magac === '''julho''' [[luuliyo]] 1p3iznl408o9r6z5b2pe73fze55uf4m julio 0 3910 18915 17841 2017-04-28T17:27:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18915 wikitext text/x-wiki {{-es-}} {{Bilaha-es}} === Magac === '''julio''' [[luuliyo]] 8avd6dj6bfjujvqu3a2pwxa5r021v7e fifteen 0 3911 18757 17558 2017-04-28T17:25:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18757 wikitext text/x-wiki {{-en-}} === Magac === '''fifteen''' [[shan iyo toban]] i912pnrj8by78a4n8w8kcc6q3b8pcl8 sagaal iyo toban 0 3912 19240 14017 2017-04-28T17:29:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19240 wikitext text/x-wiki {{-so-}} === Magac === '''sagaal iyo toban''' (19) === Tarjumaad === {{kor}} * {{bg}}: [[деветнадесет]] * {{da}}: [[nitten]] * {{en}}: [[nineteen]] * {{es}}: [[diecinueve]] * {{gl}}: [[dezanove]] {{dhaxda}} * {{fr}}: [[dix-neuf]] * {{it}}: [[diciassette]] * {{pl}}: [[dziewiętnaście]] * {{pt}}: [[dezenove]] * {{tl}}: [[labinsiyam]] {{hoos}} 4l6sog81kuyf7syqtlnjb5v70o0x027 siddeed iyo toban 0 3913 19297 14052 2017-04-28T17:29:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19297 wikitext text/x-wiki {{-so-}} === Magac === '''siddeed iyo toban (18)''' === Tarjumaad === {{kor}} * {{bg}}: [[осемнадесет]] * {{da}}: [[atten]] * {{en}}: [[eighteen]] * {{es}}: [[dieciocho]] * {{gl}}: [[dezaoito]] {{dhaxda}} * {{fr}}: [[dix-huit]] * {{it}}: [[diciotto]] * {{pl}}: [[osiemnaście]] * {{pt}}: [[dezoito]] * {{tl}}: [[labing-walo]] {{hoos}} 5u82sb8604f01jbp1zdys413sf7rere toddoba iyo toban 0 3914 19394 14081 2017-04-28T17:30:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19394 wikitext text/x-wiki {{-so-}} === Magac === '''toddoba iyo toban ''' (17) === Tarjumaad === {{kor}} * {{bg}}: [[седемнадесет]] * {{da}}: [[sytten]] * {{en}}: [[seventeen]] * {{es}}: [[diecisiete]] * {{gl}}: [[dezasete]] {{dhaxda}} * {{fr}}: [[dix-sept]] * {{it}}: [[diciassette]] * {{pl}}: [[siedemnaście]] * {{pt}}: [[dezessete]] * {{tl}}: [[labimpito]] {{hoos}} tsmm9zgno5cn9n9bw9uhaxjano47cgo деветнадесет 0 3915 19573 16744 2017-04-28T17:31:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19573 wikitext text/x-wiki {{-bg-}} === Magac === '''деветнадесет''' [[sagaal iyo toban]] mp2nqtgm8jvr9ozvj6c8wx1ri29mjyu осемнадесет 0 3916 19589 16737 2017-04-28T17:31:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19589 wikitext text/x-wiki {{-bg-}} === Magac === '''осемнадесет''' [[siddeed iyo toban]] fpzljxmllqxcbdnqbjccqewja05f5ic atten 0 3917 18448 18022 2017-04-28T17:23:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18448 wikitext text/x-wiki {{-da-}} === Magac === '''atten''' [[siddeed iyo toban]] {{-no-}} === Magac === '''atten''' [[siddeed iyo toban]] 49311msfngy7q2utf8g0h6ohwfhx5fp nitten 0 3918 19072 18086 2017-04-28T17:28:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19072 wikitext text/x-wiki {{-da-}} === Magac === '''nitten''' [[sagaal iyo toban]] {{-no-}} === Magac === '''nitten''' [[sagaal iyo toban]] fjru3yecvba7u4azejgscar0csnfnk8 седемнадесет 0 3919 19602 15602 2017-04-28T17:31:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19602 wikitext text/x-wiki {{-bg-}} === Magac === '''седемнадесет''' [[toddoba iyo toban]] bbh2bbt6vo2y4augbwg1axe135g3b31 sytten 0 3920 19343 18098 2017-04-28T17:30:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19343 wikitext text/x-wiki {{-da-}} === Magac === '''sytten''' [[toddoba iyo toban]] {{-no-}} === Magac === '''sytten''' [[toddoba iyo toban]] 2j2l4pkm95gx6ejfdrfta011qlgymb6 seventeen 0 3921 19283 17488 2017-04-28T17:29:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19283 wikitext text/x-wiki {{-en-}} === Magac === '''seventeen''' [[toddoba iyo toban]] lm8s2dtzvmw5hz04zbgyfqfppp1t59k eighteen 0 3922 18690 17674 2017-04-28T17:25:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18690 wikitext text/x-wiki {{-en-}} === Magac === '''eighteen''' [[siddeed iyo toban]] 9rqufca6ejianowgvctypgc7q3c2luy dieciocho 0 3923 18633 17699 2017-04-28T17:25:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18633 wikitext text/x-wiki {{-ast-}} === Magac === '''dieciocho''' [[siddeed iyo toban]] {{-es-}} === Magac === '''dieciocho''' [[siddeed iyo toban]] 4z11n16pxtg3dokbjc179c4mseqgka8 nineteen 0 3924 19070 17861 2017-04-28T17:28:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19070 wikitext text/x-wiki {{-en-}} === Magac === '''nineteen''' [[sagaal iyo toban]] mea6yxmkw3gwdrfghx2gtrozpvizwm6 diecinueve 0 3925 18632 16124 2017-04-28T17:25:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18632 wikitext text/x-wiki {{-ast-}} === Magac === '''diecinueve''' [[sagaal iyo toban]] {{-es-}} === Magac === '''diecinueve''' [[sagaal iyo toban]] 69xik05wnu975y63vbdv5xdh5p5l4me dezanove 0 3926 18613 13598 2017-04-28T17:24:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18613 wikitext text/x-wiki {{-gl-}} === Magac === '''dezanove''' [[sagaal iyo toban]] dq6uz53dg1ku2205nxjc3flw1oebwoz dezaoito 0 3927 18614 13899 2017-04-28T17:24:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18614 wikitext text/x-wiki {{-gl-}} === Magac === '''dezaoito''' [[siddeed iyo toban]] 5206vitc9urimhps9018ew6997rp3kk diecisiete 0 3928 18634 16122 2017-04-28T17:25:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18634 wikitext text/x-wiki {{-ast-}} === Magac === '''diecisiete''' [[toddoba iyo toban]] {{-es-}} === Magac === '''diecisiete''' [[toddoba iyo toban]] q7ey5nfd6s7yd9eehoqfur1jwwgzl61 dezasete 0 3929 18616 13897 2017-04-28T17:25:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18616 wikitext text/x-wiki {{-gl-}} === Magac === '''dezasete''' [[toddoba iyo toban]] jijaaj7rz50a3phw7esm6f4jua6dp9w dix-sept 0 3930 18647 18035 2017-04-28T17:25:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18647 wikitext text/x-wiki {{-fr-}} === Magac === '''dix-sept''' [[toddoba iyo toban]] thppsvj6l88257uqw9et8nrs9qzgmam dix-huit 0 3931 18645 18037 2017-04-28T17:25:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18645 wikitext text/x-wiki {{-fr-}} === Magac === '''dix-huit''' [[siddeed iyo toban]] azak8nq6m2ciuhlq4lncg1yre4rc1sq dix-neuf 0 3932 18646 18036 2017-04-28T17:25:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18646 wikitext text/x-wiki {{-fr-}} === Magac === '''dix-neuf''' [[sagaal iyo toban]] o7hklow6eywdme99zhlx0ij8h669okk diciassette 0 3933 18625 16212 2017-04-28T17:25:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18625 wikitext text/x-wiki {{-it-}} === Magac === '''diciassette''' [[sagaal iyo toban]] 8qk8q3c54eiwhoyv4b20omy4ovwvdh0 diciotto 0 3934 18628 16211 2017-04-28T17:25:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18628 wikitext text/x-wiki {{-it-}} === Magac === '''diciotto''' [[siddeed iyo toban]] m2ujuck08egrpcq1djx4dxtuct6vk4j siedemnaście 0 3935 19299 12419 2017-04-28T17:29:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19299 wikitext text/x-wiki {{-pl-}} === Magac === '''siedemnaście''' [[toddoba iyo toban]] raj0fr6iogndtkhk8m0coyl3q60fxoj dezessete 0 3936 18620 12927 2017-04-28T17:25:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18620 wikitext text/x-wiki {{-pt-}} === Magac === '''dezessete''' [[toddoba iyo toban]] ogfypzlumc57h8p77womkv2rbt85381 labimpito 0 3937 18962 18091 2017-04-28T17:27:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18962 wikitext text/x-wiki {{-tl-}} === Magac === '''labimpito''' [[toddoba iyo toban]] cz8l9l4kgknbtytk2ydiwnw1z1uis2f osiemnaście 0 3938 19109 12420 2017-04-28T17:28:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19109 wikitext text/x-wiki {{-pl-}} === Magac === '''osiemnaście''' [[siddeed iyo toban]] tj85tp1qrsxlgrjz6w25kfngdw06lam dezoito 0 3939 18621 12926 2017-04-28T17:25:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18621 wikitext text/x-wiki {{-pt-}} === Magac === '''dezoito''' [[siddeed iyo toban]] 42l9yudvblixu74j19ccm5rcnqmjn4p labing-walo 0 3940 18963 16634 2017-04-28T17:27:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18963 wikitext text/x-wiki {{-tl-}} === Magac === '''labing-walo''' [[siddeed iyo toban]] tqjh9rx6r9kr7ak6erh5i5vuwgs8kky dziewiętnaście 0 3941 18678 12421 2017-04-28T17:25:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18678 wikitext text/x-wiki {{-pl-}} === Magac === '''dziewiętnaście''' [[sagaal iyo toban]] aspmyom7bhkpu9xoycn9nvlvavbqm10 dezenove 0 3942 18618 13599 2017-04-28T17:25:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18618 wikitext text/x-wiki {{-pt-}} === Magac === '''dezenove''' [[sagaal iyo toban]] pzwthlk0zsss3auf7sah4ncevfwhj9b labinsiyam 0 3943 18964 13374 2017-04-28T17:27:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18964 wikitext text/x-wiki {{-tl-}} === Magac === '''labinsiyam''' [[sagaal iyo toban]] jfbrng4ck0krbvu1686d92lqqz70m3m Template:ca 10 3944 10273 2014-04-14T21:59:08Z 177.17.246.205 Bog cusub: Katalaan<noinclude> 10273 wikitext text/x-wiki Katalaan<noinclude> i4dfijlssjk74nafm894ag1reiujkle szesnaście 0 3945 19347 12418 2017-04-28T17:30:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19347 wikitext text/x-wiki {{-pl-}} === Magac === '''szesnaście''' [[lix iyo toban]] kivjz0821lwrgkqsh9hx6cujhs3bkzt sjutton 0 3946 19309 17926 2017-04-28T17:29:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19309 wikitext text/x-wiki {{-sv-}} === Magac === '''sjutton''' [[toddoba iyo toban]] 7p2d160g5zm9cy16i3mmaz1g6qvm3yt arton 0 3947 20216 18446 2019-05-14T17:48:18Z 213.200.157.2 /* Magac */ 20216 wikitext text/x-wiki {{-sv-}} === Magac === '''arton''' [[siddeed iyo toban]] [[toban iyo siddeed]] pnauhjqimfpbi7npqhs4yjd209yxkkm nitton 0 3948 19073 17862 2017-04-28T17:28:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19073 wikitext text/x-wiki {{-sv-}} === Magac === '''nitton''' [[sagaal iyo toban]] 2tnffjn8y7jp0foyv0ok1qjf55oel99 toddoba 0 3949 19393 17945 2017-04-28T17:30:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19393 wikitext text/x-wiki {{-so-}} === Magac === '''toddoba''' === Tarjumaad === {{kor}} * {{ar}}: [[سبعة]] * {{bg}}: [[седем]] * {{da}}: [[syv]] * {{en}}: [[seven]] * {{es}}: [[siete]] * {{gl}}: [[sete]] {{dhaxda}} * {{fr}}: [[sept]] * {{it}}: [[sette]] * {{pl}}: [[siedem]] * {{zh}}: [[七]] (qī) * {{sv}}: [[sju]] * {{tl}}: [[pito]] {{hoos}} b39fh7msx1lk5miba78cxy7ud7zq86k 0 3950 19741 18144 2017-04-28T17:32:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19741 wikitext text/x-wiki {{-ja-}} === Magac === '''七''' (shichi) * [[toddoba]] {{-zh-}} === Magac === '''七''' (qī) * [[toddoba]] ipjjz6j8ddfbxsggpavqo1mcgy5p3wb sette 0 3951 19280 17918 2017-04-28T17:29:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19280 wikitext text/x-wiki {{-it-}} === Magac === '''sette''' * [[toddoba]] 2wvhgb98bkudnq7it0wxbwowanuqzo5 sete 0 3952 19278 17761 2017-04-28T17:29:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19278 wikitext text/x-wiki {{-gl-}} === Magac === '''sete''' * [[toddoba]] {{-pt-}} === Magac === '''sete''' * [[toddoba]] e2znhryv4aa0mlgqwr9ph25dv3r1mpf syv 0 3953 19344 17936 2017-04-28T17:30:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19344 wikitext text/x-wiki {{-da-}} === Magac === '''syv''' * [[toddoba]] {{-no-}} === Magac === '''syv''' * [[toddoba]] hnhtybl2gmswbf04locfjlb3rpj20na siete 0 3954 19300 17883 2017-04-28T17:29:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19300 wikitext text/x-wiki {{-ast-}} === Magac === '''siete''' * [[toddoba]] {{-es-}} === Magac === '''siete''' * [[toddoba]] ggaxft8g46hle4jihlmdsu5y78exyay седем 0 3955 19601 12550 2017-04-28T17:31:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19601 wikitext text/x-wiki {{-bg-}} === Magac === '''седем''' * [[toddoba]] jda5ack6tlj6ue34k6pvha2ohzuttvp سبعة 0 3956 19682 13745 2017-04-28T17:32:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19682 wikitext text/x-wiki {{-ar-}} === Magac === '''سبعة''' [[toddoba]] 5qefdxg04l7l8f0ryx20t9k2gnnzdct seven 0 3957 19282 17689 2017-04-28T17:29:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19282 wikitext text/x-wiki {{-en-}} === Magac === '''seven''' [[toddoba]] sfjhxn25wjindsqjhmcdyxt3kvi9by7 pito 0 3958 19146 17578 2017-04-28T17:28:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19146 wikitext text/x-wiki {{-tl-}} === Magac === '''pito''' [[toddoba]] tvepl09wsh9mre2l7nsozxw3zip4931 sept 0 3959 19275 17917 2017-04-28T17:29:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19275 wikitext text/x-wiki {{-fr-}} === Magac === '''sept''' * [[toddoba]] ntul3c1jvf9abrc1gdepz0uxtkbmoys siedem 0 3960 19298 18192 2017-04-28T17:29:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19298 wikitext text/x-wiki {{-pl-}} === Magac === '''siedem''' [[toddoba]] 9ct0txhgl6pabm13zz2kotfd8f7m2yj sju 0 3961 19308 18097 2017-04-28T17:29:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19308 wikitext text/x-wiki {{-sv-}} === Magac === '''sju''' * [[toddoba]] 86yx5cafge982qn9569tjaz9krs3gl3 flag 0 3962 18766 17271 2017-04-28T17:26:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18766 wikitext text/x-wiki {{-en-}} === Magac === '''flag''' [[calan]] oqg89z4g9urnzaqhvg9c04wl65m858x calan 0 3963 18541 18034 2017-04-28T17:24:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18541 wikitext text/x-wiki {{-so-}} === Magac === '''calan''' === Tarjumaad === {{kor}} * {{ar}}: [[علم]] * {{en}}: [[flag]] * {{es}}: [[bandera]] * {{nl}}: [[vlag]] * {{de}}: [[Fähne]] * {{fr}}: [[drapeau]] * {{sk}}: [[vlajka]] * {{el}}: [[σημαία]] (si̱maía) {{dhaxda}} * {{sl}}: [[zastava]] * {{it}}: [[bandiera]] * {{fa}}: [[پرچم]] * {{ja}}: [[旗]] (hata) * {{no}}: [[flagg]] * {{pt}}: [[bandeira]] * {{sv}}: [[flagga]] * {{zh}}: [[旗]] (qí) {{hoos}} 7vth9ubx9x4lsgmlqbs5phu8puraqb4 bandeira 0 3964 18473 16145 2017-04-28T17:23:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18473 wikitext text/x-wiki {{-pt-}} === Magac === '''bandeira''' [[calan]] jbij038ngqav3e5yr4w308ar6ywwmvz bandera 0 3965 18474 17801 2017-04-28T17:23:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18474 wikitext text/x-wiki {{-es-}} === Magac === '''bandera''' [[calan]] h4poy6tciih62c3vnq4am9v7ufoumts vlag 0 3966 19455 18102 2017-04-28T17:30:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19455 wikitext text/x-wiki {{-af-}} === Magac === '''vlag''' [[calan]]ka {{-nl-}} === Magac === '''vlag''' [[calan]]ka tb6qpg74p8dojxd2a499sr36pu6jmq5 drapeau 0 3967 18667 17707 2017-04-28T17:25:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18667 wikitext text/x-wiki {{-fr-}} === Magac === '''drapeau''' [[calan]]ka hg744vtdoixjnm7369c1ni4va8jejd2 bandiera 0 3968 18475 17964 2017-04-28T17:23:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18475 wikitext text/x-wiki {{-it-}} === Magac === '''bandiera''' * [[calan]] g3bjqrj4snqekvbzpm1001ta8cps9jg Fähne 0 3969 10302 2014-04-14T22:40:37Z 177.17.246.205 Bog cusub: {{-de-}} ===Magac=== '''Fähne''' *[[calan]]ka 10302 wikitext text/x-wiki {{-de-}} ===Magac=== '''Fähne''' *[[calan]]ka d6xo316fgw5ruu46rxkcek9rna4no1p dent 0 3970 18605 17820 2017-04-28T17:24:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18605 wikitext text/x-wiki {{-ca-}} === Magac === '''dent''' [[ilik]] {{-fr-}} === Magac === '''dent''' [[ilik]] iqtayrppzlubq9nqukjemovbmnidga2 dente 0 3971 18606 17327 2017-04-28T17:24:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18606 wikitext text/x-wiki {{-gl-}} === Magac === '''dente''' [[ilik]] {{-it-}} === Magac === '''dente''' [[ilik]] {{-pt-}} === Magac === '''dente''' [[ilik]] 5rsrwa9ib55dz4gkdoqivz7r0zq5ntl Template:-tk- 10 3972 20072 10306 2018-10-28T17:40:36Z Sakiinlaq 1889 20072 wikitext text/x-wiki <includeonly>[[Category:Turkumaanish ereyada]]</includeonly> ==turkumaanish== [[Category:Wiktionary/translate]] fbpx0r1c4tm3td4vherhlfiv3j24npq vlajka 0 3973 19456 13060 2017-04-28T17:30:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19456 wikitext text/x-wiki {{-sk-}} === Magac === '''vlajka''' [[calan]] 69skuq3i79qdnbl90uoo85dj6zlxp0x σημαία 0 3974 19557 18159 2017-04-28T17:31:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19557 wikitext text/x-wiki {{-el-}} === Magac === '''σημαία''' (si̱maía) [[calan]]ka 7rol4k5n1pxjyxm9h0kw34rqio9lqyi zastava 0 3975 19495 15548 2017-04-28T17:31:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19495 wikitext text/x-wiki {{-sl-}} === Magac === '''zastava''' [[calan]]ka gfu47gepib1domm6r69i0qer46lm5hy پرچم 0 3976 19696 18143 2017-04-28T17:32:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19696 wikitext text/x-wiki {{-fa-}} === Magac === '''پرچم''' [[calan]] jg18vwdw9ijd1sfye8ygjbabffh3d9c flagga 0 3977 18768 18052 2017-04-28T17:26:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18768 wikitext text/x-wiki {{-sv-}} === Magac === '''flagga''' [[calan]]ka hvjwww50svo6vff45ub9g630o5mmi5e flagg 0 3978 18767 18109 2017-04-28T17:26:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18767 wikitext text/x-wiki {{-no-}} === Magac === '''flagg''' [[calan]]ka 3vvn9jivtqvxcaq291uems2cf28vco3 0 3979 19745 16798 2017-04-28T17:32:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19745 wikitext text/x-wiki {{-ja-}} === Magac === '''旗''' (hata) [[calan]] {{-zh-}} === Magac === '''旗''' (qí) [[calan]] 8tkp28qay6nhjzy1h7voqbolak706wn Template:sk 10 3980 10321 2014-04-14T23:22:35Z 177.17.246.205 Bog cusub: Isloofaak<noinclude> 10321 wikitext text/x-wiki Isloofaak<noinclude> 6ig4rj1pdvd7u3pqsj2rnzja05ob7j6 Template:l/diiwaaninta 10 3981 10325 2014-04-15T13:36:58Z 200.130.64.1 Bog cusub: {{documentation subpage}} Jaantus Tan a link si galista luqad aan la siin. Isticmaal jaantus this ee qaybaha in ay taxaan entries, sida "shuruudaha Related" iyo "farcamay". Waa in aan... 10325 wikitext text/x-wiki {{documentation subpage}} Jaantus Tan a link si galista luqad aan la siin. Isticmaal jaantus this ee qaybaha in ay taxaan entries, sida "shuruudaha Related" iyo "farcamay". Waa in aan la isticmaali waayo shuruudaha ku xusan qoraalka orodka (taasoo ah meesha {{kireysa|kireysa}} waxaa loo isticmaalaa). jaantus The xidhiidhiya gaar ah luqadda-qaybta on page bartilmaameedka, iyo khusaysaa jacayl ma-gaar-luqad. Waxaa sidoo kale tusi kartaa dhowr ah oo walaxcireedyada. Jaantus Tani waxay isticmaashaa [[Module:links]] sidii a dib-dhamaadka, sidaa daraadeed waxa ay taageertaa oo dhan muuqaalada module in. Fadlan eeg its cadayn in faahfaahin dheeraad ah. == Parameters == The template takes two required positional parameters, and several optional parameters. ; <code>1=</code> : The [[Wiktionary:Languages|language code]] of the desired target link. All languages are supported, including constructed and reconstructed ones. ; <code>2=</code> : The page name to be linked. The template will automatically remove diacritics and punctuation from the page title, according to the <code>entry_name</code> setting in [[Module:languages]], but will keep them in the displayed text. To link to a reconstructed term, such as Proto-Germanic {{term/t|gem-pro|*dagaz}}, add * in front of this parameter. ; <code>3=</code> : Alternate text to display as the link title, if different from the page name. Please do not use this only for adding diacritics or punctuation to the word, as the template can automatically remove these. See above. ; <code>4=</code> or <code>gloss=</code> : A gloss or short translation of the word. ; <code>sc=</code> : Script code to use. The template can usually figure out the correct code, so this is rarely needed. When no code is given, the template will try to detect the script based on the (first) characters of the word, and if it fails to detect the script, the language's default script (the first listed in [[Module:languages]]) will be used. ; <code>tr=</code> : Transliteration for non-Latin-script words. When no transliteration is given, the template will try to add a default transliteration when possible. For certain languages, automated transliteration will override the value of this parameter. Use <code>tr=-</code> if you don't want a transliteration to be automatically generated (you shouldn't really ever do this in an entry). ; <code>g=</code>, <code>g2=</code>, <code>g3=</code> and so on : Gender and number; see [[Module:gender and number]] for details. ==Xiitaa fiiri== * {{kireysa|ja-l}} - jaantus la mid ah si gaar ah loogu Jabbaniis * {{kireysa|ko-inline}} - jaantus la mid ah si gaar ah loogu Kuuriya * {{kireysa|l-list}} * {{kireysa|term}} ==Gaar-luqad== Waxaa jira qoraalkii ka qabadka sare ee jaantus tan luqado dhowr ah. All iyaga oo qaad laba-beegyada uu: the hadalka iyo qoraalka beddelid. Qaar ka mid ah waxaa laga yaabaa in ay taageeraan tarjumaadda sidoo kale, laakiin waa in aysan taageerin oo xuduudaheedu kale sababo xawaaraha. Isticmaalka kasta oo subtemplates kuwaas oo mararka qaarkood lagama maarmaanka u ah bogagga in xiriir la leeyihiin badan, tan iyo markii ay ka dhaqso yihiin. Si caadi ah loo isticmaalo, ma aha ku tan, iyo si joogto ah {{kireysa|l}} waa in la isticmaalaa halkii. == Tusaaleyaal la xiriira == * {{kireysa|term}} for shuruudaha ku xusan * {{kireysa|lang}} tarba ugu luuqada kaliya <includeonly> [[Category:Internal link templates|l]] [[ca:Plantilla:e]] [[en:Template:l/documentation]] [[de:Vorlage:Verbindung]] [[fr:Modèle:lien]] </includeonly> bszgj4m8x8b9rfg9xp0pyfhblhyb4hy lix 0 3982 18985 16628 2017-04-28T17:27:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18985 wikitext text/x-wiki {{-so-}} === Magac === '''lix''' (6) === Tarjumaad === {{kor}} * {{ar}}: [[ستة]] * {{da}}: [[seks]] * {{nl}}: [[zes]] * {{en}}: [[six]] * {{es}}: [[seis]] * {{de}}: [[sechs]] * {{el}}: [[έξι]] (éxi) {{dhaxda}} * {{fr}}: [[six]] * {{ca}}: [[set]] * {{it}}: [[sei]] * {{mn}}: [[зургаа]] * {{pt}}: [[seis]] * {{sk}}: [[šesť]] * {{sv}}: [[sex]] {{hoos}} pecf0xmi36t73slac03v018w1aqyoum зургаа 0 3983 19580 18220 2017-04-28T17:31:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19580 wikitext text/x-wiki {{-mn-}} === Magac === '''зургаа''' [[lix]] p0q5vux3cpslyjwagqkumc383e1ll3w ستة 0 3984 19683 15296 2017-04-28T17:32:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19683 wikitext text/x-wiki {{-ar-}} === Magac === '''ستة''' [[lix]] 9to0ay5rdbol2e7g3n0hepjrysla86j zes 0 3985 19498 17556 2017-04-28T17:31:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19498 wikitext text/x-wiki {{-nl-}} === Magac === '''zes''' [[lix]] ifz6w966lsqzb8hemjsxjsbx3dt64zr šesť 0 3986 19536 10678 2017-04-28T17:31:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19536 wikitext text/x-wiki {{-sk-}} === Magac === '''šesť''' [[lix]] 9vy4bosk1hotyucdneroieodagt1d6t έξι 0 3987 19545 18008 2017-04-28T17:31:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19545 wikitext text/x-wiki {{-el-}} === Magac === '''έξι''' (éxi) [[lix]] 5nrhrhrrihcqlyy7155501zdegd08li sei 0 3988 19266 18141 2017-04-28T17:29:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19266 wikitext text/x-wiki {{-it-}} === Magac === '''sei''' (6) [[lix]] 1sqxvx23wx91218gk9y8emhcqcp0x03 sex 0 3989 19284 17919 2017-04-28T17:29:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19284 wikitext text/x-wiki {{-sv-}} === Magac === '''sex''' * [[lix]] dl2o715mn9e02g8pcudep9et7wf338b sechs 0 3990 19261 17758 2017-04-28T17:29:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19261 wikitext text/x-wiki {{-de-}} === Magac === '''sechs''' (6) * [[lix]] 421cm9rakl5gn7ppkg0mhu2khf9wbr0 deur 0 3991 18609 17993 2017-04-28T17:24:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18609 wikitext text/x-wiki {{-af-}} === Magac === '''deur''' [[albaab]] {{-nl-}} === Magac === '''deur''' [[albaab]] iwvbofwii0bnb3277468jnhpxpwy8tx Tür 0 3992 18353 11449 2017-04-28T17:22:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18353 wikitext text/x-wiki {{-de-}} === Magac === '''Tür''' [[albaab]]ka acpagcun8xqk98cs4xmiqd7rmin9whs porte 0 3993 19157 17615 2017-04-28T17:28:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19157 wikitext text/x-wiki {{-fr-}} === Magac === '''porte''' [[albaab]]ka l69vm122d1p4wlkehyc1b1sum2az2b6 ajtó 0 3994 18404 18014 2017-04-28T17:23:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18404 wikitext text/x-wiki {{-hu-}} === Magac === '''ajtó''' [[albaab]]ka dth4qx7tc7ucz394rtb8ddu4c35qbre ƙyaure 0 3995 10341 2014-04-22T12:55:26Z 200.130.64.1 Bog cusub: {{-ha-}} ===Magac=== '''ƙyaure''' [[albaab]] 10341 wikitext text/x-wiki {{-ha-}} ===Magac=== '''ƙyaure''' [[albaab]] em3zzv6y8784yf33ru4ccfaybhokhxx ƙofa 0 3996 10342 2014-04-22T12:55:49Z 200.130.64.1 Bog cusub: {{-ha-}} ===Magac=== '''ƙofa''' [[albaab]]ka 10342 wikitext text/x-wiki {{-ha-}} ===Magac=== '''ƙofa''' [[albaab]]ka of16m7udgekotg2fwhqz13avg10th0v ovi 0 3997 19114 18088 2017-04-28T17:28:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19114 wikitext text/x-wiki {{-fi-}} === Magac === '''ovi''' [[albaab]] 7nkuc6sr8bahj7omlutpnmhmh1knq6g waddanka hooyo 0 3998 19463 14097 2017-04-28T17:30:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19463 wikitext text/x-wiki {{-so-}} === Magac === '''[[waddanka]] [[hooyo]]''' === Tarjumaad === * {{tr}}: [[vatan]] 0kftc18a6mdxqcbbad4r4xkdfusbe2h waqti 0 3999 19465 14096 2017-04-28T17:30:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19465 wikitext text/x-wiki {{-so-}} === Magac === '''waqti''' === Tajumaad === * {{et}}: [[aeg]] * {{fi}}: [[aika]] * {{en}}: [[time]] * {{tr}}: [[vakit]] jhyfzgugcgkufmi954pufky1jyyuyme aeg 0 4000 18387 18166 2017-04-28T17:23:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18387 wikitext text/x-wiki {{-et-}} === Magac === '''aeg''' [[waqti]] 0zdae7pqlzl2bsuk94kv48isiexqrlf aika 0 4001 18399 18013 2017-04-28T17:23:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18399 wikitext text/x-wiki {{-fi-}} === Magac === '''aika''' [[waqti]] qxrp3b6kmu7vadu94f9kslzsjyl1fdl time 0 4002 19389 16491 2017-04-28T17:30:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19389 wikitext text/x-wiki {{-en-}} === Magac === '''time''' [[waqti]] {{-da-}} === Magac === '''time''' [[saacad]] {{-no-}} === Magac === '''time''' [[saacad]] {{-pt-}} === Magac === '''time''' [[kooxda]] dcjelmcciqn77p4gs7m997gsn7r8nvr saacad 0 4003 19237 14460 2017-04-28T17:29:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19237 wikitext text/x-wiki {{-so-}} === Magac === '''saacad''' === Tarjumaad === * {{da}}: [[time]] * {{es}}: [[hora]] * {{it}}: [[ora]] * {{ro}}: [[timp]] 7scwcudyod162qcxbg7xom6vlqhnjto timp 0 4004 19390 17944 2017-04-28T17:30:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19390 wikitext text/x-wiki {{-ro-}} === Magac === '''timp''' :[[saacad]] lr45s1vrztu17qep7jsgmbhuain3709 ora 0 4005 19106 17747 2017-04-28T17:28:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19106 wikitext text/x-wiki {{-it-}} === Magac === '''ora''' :[[saacad]] rytdi2yaqghluz5xypaez9pjcl3f85v hora 0 4006 18852 17597 2017-04-28T17:26:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18852 wikitext text/x-wiki {{-es-}} === Magac === '''hora''' [[saacad]] {{-pt-}} === Magac === '''hora''' [[saacad]] f06g50g0i87ouvkkjrdmxjhvuf08ar3 kooxda 0 4007 18944 13773 2017-04-28T17:27:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18944 wikitext text/x-wiki {{-so-}} === Magac === '''kooxda''' === Tarjumaad === * {{de}}: [[Team]], [[Mannschaft]] * {{es}}: [[equipo]] * {{en}}: [[team]] * {{ja}}: [[チーム]] (chīmu) * {{pt}}: [[time]] * {{sv}}: [[lag]] s2ajgraoftju8tailfgbpp4zc6zyz9m Team 0 4008 18347 17004 2017-04-28T17:22:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18347 wikitext text/x-wiki {{-de-}} === Magac === '''Team''' * [[kooxda]] c6m56hpbri0cq7wibfpwmyhvw7yb7w9 team 0 4009 19362 17534 2017-04-28T17:30:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19362 wikitext text/x-wiki {{-en-}} === Magac === '''team''' * [[kooxda]] m1mozsm3uj53sorsozu1wqpujojw7lf lag 0 4010 18965 17599 2017-04-28T17:27:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18965 wikitext text/x-wiki {{-no-}} === Magac === '''lag''' * [[kooxda]] {{-sv-}} === Magac === '''lag''' * [[kooxda]] sqyn6kuma9x5jj42hbc6dvrz4tqkmzg チーム 0 4011 19733 14172 2017-04-28T17:32:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19733 wikitext text/x-wiki {{-ja-}} === Magac === '''チーム''' (chīmu) * [[kooxda]] 37iaihjylftfl5657lf3vfxfaaf0602 Mannschaft 0 4012 18316 14453 2017-04-28T17:22:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18316 wikitext text/x-wiki {{-de-}} === Magac === '''Mannschaft''' [[kooxda]] 2mdjmuyy5tkkn7aww1wjgsmkc7wf3l8 equipo 0 4013 18711 15884 2017-04-28T17:25:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18711 wikitext text/x-wiki {{-es-}} === Magac === '''equipo''' [[kooxda]] {{-gl-}} === Magac === '''equipo''' [[kooxda]] bkld2o3vlf6fmdr2tht1kzg4dwlcpoa 团队 0 4014 19743 13815 2017-04-28T17:32:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19743 wikitext text/x-wiki {{-zh-}} === Magac === '''团队''' (tuánduì) [[kooxda]] 6nlwni4j77lav8wpcly6hlwg7b79ehx joukkue 0 4015 18911 13367 2017-04-28T17:27:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18911 wikitext text/x-wiki {{-fi-}} === Magac === '''joukkue''' [[kooxda]] n67t1be5w0gu5a47i4cfyhax6h94f4f meeskond 0 4016 19026 17855 2017-04-28T17:27:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19026 wikitext text/x-wiki {{-et-}} === Magac === '''meeskond''' [[kooxda]] a1x7gzyufhjic729yznazc9mtrijmzg Category:Istooniyaan ereyada 14 4017 19903 17414 2017-07-03T13:38:35Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19903 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx ομάδα 0 4018 19555 13628 2017-04-28T17:31:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19555 wikitext text/x-wiki {{-el-}} === Magac === '''ομάδα''' (omáda) [[kooxda]] ky5lhzi376iqgizj9q7jlw4odr1bx9i giraanta 0 4019 19855 10366 2017-06-30T14:00:33Z 91.156.27.99 19855 wikitext text/x-wiki {{-so-}} ===Magac=== '''giraanta''' ===Tarjumaad=== {{kor}} *{{de}}: [[Ring]] *{{en}}: [[ring]] *{{fi}}: [[sormus]] *{{fr}}: [[anneau]] *{{it}}: [[annello]] {{dhaxda}} *{{pt}}: [[anel]] *{{ro}}: [[inel]] *{{el}}: [[δακτύλιος]] (daktýlios) *{{zh}}: [[环]] (huán) {{hoos}} om7y9dn3nx3armj97agngxqxqtt62sa kalacag 0 4020 10367 2014-04-22T13:34:22Z 200.130.64.1 Bog cusub: {{-so-}} ===Magac=== '''kalacag''' ===Tarjumaad=== {{kor}} *{{de}}: [[Geld]] *{{en}}: [[money]] *{{fr}}: [[argent]] {{dhaxda}} *{{el}}: [[χρήματα]] (chrí̱mata) *{{pt}}: din... 10367 wikitext text/x-wiki {{-so-}} ===Magac=== '''kalacag''' ===Tarjumaad=== {{kor}} *{{de}}: [[Geld]] *{{en}}: [[money]] *{{fr}}: [[argent]] {{dhaxda}} *{{el}}: [[χρήματα]] (chrí̱mata) *{{pt}}: [[dinheiro]] *{{zh}}: [[金钱]] (jīnqián) {{hoos}} sbrcwp5hrhffibnx8fsqbm1tfxva56n jaalle 0 4021 18895 16613 2017-04-28T17:26:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18895 wikitext text/x-wiki {{-so-}} === Magac === '''jaalle''' === Tarjumaad === {{kor}} * {{de}}: [[gelb]] * {{en}}: [[yellow]] * {{fr}}: [[jaune]] {{dhaxda}} * {{el}}: [[κίτρινος]] (kítrinos) * {{pt}}: [[amarelo]] * {{zh}}: [[黄色]] (huángsè) {{hoos}} nsw94kxmf8c2xa1zucuab7uqyxi7mo7 Ring 0 4022 18334 17006 2017-04-28T17:22:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18334 wikitext text/x-wiki {{-de-}} === Magac === '''Ring''' [[giraanta]] {{-lb-}} === Magac === '''Ring''' [[giraanta]] 0hgh0u3p5x3xbubm79ccb8y5yk4yj2g Geld 0 4023 18295 16507 2017-04-28T17:22:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18295 wikitext text/x-wiki {{-de-}} === Magac === '''Geld''' [[kalacag]] 4th2w7zd15n9o1r9j5auo8fwvyqbky1 gelb 0 4024 18795 18058 2017-04-28T17:26:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18795 wikitext text/x-wiki {{-de-}} === Magac === '''gelb''' [[jaalle]] kukixvc0h1bjbkaugvt9nshuurlc0k9 inel 0 4025 18876 18223 2017-04-28T17:26:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18876 wikitext text/x-wiki {{-ro-}} === Magac === '''inel''' [[giraanta]] 8qfpsc3n5wascsfmk7uy0jjpk9e8f39 dinheiro 0 4026 18640 17826 2017-04-28T17:25:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18640 wikitext text/x-wiki {{-pt-}} === Magac === '''dinheiro''' [[kalacag]] mi72699g4za9xw8ujdr4bp7mf3xbsu8 anel 0 4027 18424 12899 2017-04-28T17:23:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18424 wikitext text/x-wiki {{-gl-}} === Magac === '''anel''' [[giraanta]] {{-pt-}} === Magac === '''anel''' [[giraanta]] i2y2l9e3vih9o8c8uc1n2ve4su8q096 amarelo 0 4028 18415 18190 2017-04-28T17:23:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18415 wikitext text/x-wiki {{-gl-}} === Magac === '''amarelo''' [[jaalle]] {{-pt-}} === Magac === '''amarelo''' [[jaalle]] gb3a2kh73c9tofnk4jmtj3xzqiswzqf cartos 0 4029 18545 13831 2017-04-28T17:24:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18545 wikitext text/x-wiki {{-gl-}} === Magac === '''cartos''' [[kalacag]] m2m7kcz1et3hz4ktxv6j6rperhi5lpj anillo 0 4030 18426 17797 2017-04-28T17:23:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18426 wikitext text/x-wiki {{-es-}} === Magac === '''anillo''' * [[giraanta]] 8rggkr339mbol82xtr6trwgm3vxbe28 annello 0 4031 10379 2014-04-22T13:41:35Z 200.130.64.1 Bog cusub: {{-it-}} ===Magac=== '''annello''' [[giraanta]] 10379 wikitext text/x-wiki {{-it-}} ===Magac=== '''annello''' [[giraanta]] 23b82oldhjx6b4z63u8je02aih75ik2 κίτρινος 0 4032 19551 18217 2017-04-28T17:31:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19551 wikitext text/x-wiki {{-el-}} === Magac === '''κίτρινος''' (kítrinos) * [[jaalle]] 3sqn9d4bd7gxxi1vz6fmjw8s1r5subz 黄色 0 4033 19761 15129 2017-04-28T17:32:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19761 wikitext text/x-wiki {{-zh-}} === Magac === '''黄色''' (huángsè) [[jaalle]] opbz5usdfhhzka7el4p89o1b4xfs79l χρήματα 0 4034 19560 13631 2017-04-28T17:31:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19560 wikitext text/x-wiki {{-el-}} === Magac === '''χρήματα''' (chrí̱mata) [[kalacag]] phc5gbwhek2mw65o9ua4rae7r5dubqf 金钱 0 4035 19759 13828 2017-04-28T17:32:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19759 wikitext text/x-wiki {{-zh-}} === Magac === '''金钱''' (jīnqián) [[kalacag]] kj9gcmg2w88zmhsatbex0pn2ij1nmyx δακτύλιος 0 4036 19548 13622 2017-04-28T17:31:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19548 wikitext text/x-wiki {{-el-}} === Magac === '''δακτύλιος''' (daktýlios) * [[giraanta]] r2v5mkzxegtft0ni1f9lsezfpc0ze1n 0 4037 19749 16797 2017-04-28T17:32:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19749 wikitext text/x-wiki {{-zh-}} === Magac === '''环''' (huán) * [[giraanta]] osg98rap7sopk0yqtt3diu40kafslqw money 0 4038 19038 17524 2017-04-28T17:27:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19038 wikitext text/x-wiki {{-en-}} === Magac === '''money''' * [[kalacag]] qdtgpl67twwmrro6tinoyuv7pydwdr8 anneau 0 4039 18430 17663 2017-04-28T17:23:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18430 wikitext text/x-wiki {{-fr-}} === Magac === '''anneau''' * [[giraanta]] 21w07394nqcykcq0enhxaex351alzav yellow 0 4040 19489 17539 2017-04-28T17:31:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19489 wikitext text/x-wiki {{-en-}} === Magac === '''yellow''' * [[jaalle]] 87sts9zio9rdi4pau64vao83fba87y4 ring 0 4041 19223 17620 2017-04-28T17:29:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19223 wikitext text/x-wiki {{-af-}} === Magac === '''ring''' * [[giraanta]] {{-da-}} === Magac === '''ring''' * [[giraanta]] {{-nl-}} === Magac === '''ring''' * [[giraanta]] {{-en-}} === Magac === '''ring''' * [[giraanta]] {{-no-}} === Magac === '''ring''' * [[giraanta]] {{-sv-}} === Magac === '''ring''' * [[giraanta]] guqd977ozc06dcaayc2f0fhldd7imi5 argent 0 4042 18440 17799 2017-04-28T17:23:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18440 wikitext text/x-wiki {{-fr-}} === Magac === '''argent''' [[kalacag]] dg1ddo3naleuc8z7hmqfbuw0xf6boba jaune 0 4043 18904 17723 2017-04-28T17:27:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18904 wikitext text/x-wiki {{-fr-}} === Magac === '''jaune''' [[jaalle]] ap3jw3pmdrmratgj4p863cks0nybe1l dinero 0 4044 18639 17827 2017-04-28T17:25:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18639 wikitext text/x-wiki {{-es-}} === Magac === '''dinero''' * [[kalacag]] b3a7hzobg6jt1jo1ivun76yx4vjrg0r amarillo 0 4045 18416 18191 2017-04-28T17:23:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18416 wikitext text/x-wiki {{-es-}} === Magac === '''amarillo''' * [[jaalle]] fi2s66q3gzfcrofx4ubp1bbwcgvifo0 WikiQaamuus:Liiska ereyada oo dhan 0 4046 19834 16483 2017-05-22T10:17:04Z CommonsDelinker 15 Replacing Flag_of_Macedonia.svg with [[File:Flag_of_the_Republic_of_Macedonia.svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#reasons|File renaming criterion #2]]: To change from a meaningless or ambi 19834 wikitext text/x-wiki '''Ereyada:''' #[[Image:Flag_of_South Africa.svg|20px]] [[:Category:Afrikaanays ereyada|Afrikaanys]] #[[Image:Flag_of_Albania.svg|20px]] [[:Category:Albaaniyaan ereyada‎|Albaaniyaan]] #[[Image:Flag of Ethiopia.svg|20px]] [[:Category:Amxaariga ereyada|Amxaariga]] #[[Image:Flag_of_Armenia.svg|20px]] [[:Category:Armeeniyaan ereyada‎|Armeeniyaan]] #[[Image:Flag_of_Azerbaijan.svg|20px]] [[:Category:Aserbajaan ereyada‎|Aserbajaan]] #[[Image:Flag_of_India.svg|20px]] [[:Category:Assamiis ereyada‎|Assamiis]] #[[Image:Flag_of_Asturias.svg|20px]] [[:Category:Asturiyaan ereyada‎|Asturiyaan]] #[[Image:Flag_of_Haiti.svg|20px]] [[:Category:Ayiti ereyada|Ayiti]] #[[Image:Flag_of_Ireland.svg|20px]] [[:Category:Ayrish ereyada‎|Ayrish]] #[[Image:Flag_of_Iceland.svg|20px]] [[:Category:Ayslandays ereyada|Ayslandays]] #[[Image:Flag_of_Basque Country.svg|20px]] [[:Category:Basquu ereyada‎|Basquu]] #[[Image:Flag_of_Brittany (Gwenn ha du).svg|20px]] [[:Category:Bereton ereyada‏‎|Bereton]] #[[Image:Flag_of_Poland.svg|20px]] [[:Category:Boolish ereyada‎|Boolish]] #[[Image:Flag_of_Bulgaria.svg|20px]] [[:Category:Bulgeeriyaan ereyada‎|Bulgeeriyaan]] #[[Image:Flag_of_India.svg|20px]] [[:Category:Bunjaabi ereyada‎|Bunjaabi]] #[[Image:Flag_of_Saudi Arabia.svg|20px]] [[:Category:Carabi ereyada‎|Carabi]] #[[Image:Flag_of_Israel.svg|20px]] [[:Category:Cibraaniga ereyada‏‎|Cibraaniga]] #[[Image:Flag_of_Denmark.svg|20px]] [[:Category:Deenish ereyada|Deenish]] #[[Image:Flag of Iran.svg|20px]] [[:Category:Faarisi ereyada‏‎|Faarisi]] #[[Image:Flag_of_France.svg|20px]] [[:Category:Faransiis ereyada‎|Faransiis]] #[[Image:Flag_of_the Faroe Islands.svg|20px]] [[:Category:Farowsi ereyada‎|Farowsi]] #[[Image:Flag_of_Finland.svg|20px]] [[:Category:Finnish ereyada‎|Finnish]] #[[Image:Flag_of_Vietnam.svg|20px]] [[:Category:Fiyatnaamiis ereyada‎|Fiyatnaamiis]] #[[Image:Flag_of_Galicia.svg|20px]] [[:Category:Galiisiyaan ereyada|Galiisiyaan]] #[[Image:Flag_of_Greece.svg|20px]] [[:Category:Giriigga ereyada‎|Giriigga]] #[[Image:Flag_of_Hungary.svg|20px]] [[:Category:Hangariyaan ereyada|Hangariyaan]] #[[Image:Flag_of_Niger.svg|20px]] [[:Category:Hausa ereyada‎|Hausa]] #[[Image:Flag_of_Hawaii.svg|20px]] [[:Category:Hawaaiyaan ereyada‎|Hawaaiyaan]] #[[Image:Flag_of_India.svg|20px]] [[:Category:Hindi ereyada‎|Hindi]] #[[Image:Flag_of_the_Netherlands.svg|20px]] [[:Category:Holandees ereyada‎|Holandees]] #[[Image:Flag of Ido.svg|20px]] [[:Category:Ido ereyada‏‎|Ido]] #[[Image:Flag_of_Indonesia.svg|20px]] [[:Category:Indunuusiyaan ereyada‎|Indunuusiyaan]] #[[Image:Flag_of_the United Kingdom.svg|20px]] [[:Category:Ingiriis ereyada‎|Ingiriis]] #[[Image:Flag of Interlingua.svg|20px]] [[:Category:Interlinguwa ereyada‏‎|Interlinguwa]] #[[Image:Flag_of_Spain.svg|20px]] [[:Category:Isbaanish ereyada‎|Isbaanish]] #[[Image:Flag of Esperanto.svg|20px]] [[:Category:Isberento ereyada|Isberento]] #[[Image:Flag_of_Scotland.svg|20px]] [[:Category:Iskot giilik ereyada‎|Iskot Giilik]] #[[Image:Flag_of_Northern_Ireland.svg|20px]] [[:Category:Iskotishka ereyada‎|Iskotishka]] #[[Image:Flag of Slovenia.svg|20px]] [[:Category:Islofeeniyaan ereyada‏‎|Islofeeniyaan]] #[[Image:Flag of Slovakia.svg|20px]] [[:Category:Isloofaak ereyada‏‎|Isloofaak]] #[[Image:Flag_of_Estonia.svg|20px]] [[:Category:Istooniyaan ereyada|Istooniyaan]] #[[Image:Flag_of_Sweden.svg|20px]] [[:Category:Iswiidish ereyada‎|Iswiidish]] #[[Image:Flag_of_Japan.svg|20px]] [[:Category:Jabaaniis ereyada‏‎|Jabaaniis]] #[[Image:Flag_of_Indonesia.svg|20px]] [[:Category:Jafaaniis ereyada‎|Jafaaniis]] #[[Image:Flag_of_Germany.svg|20px]] [[:Category:Jarmal ereyada‎|Jarmal]] #[[Image:Flag_of_the Czech Republic.svg|20px]] [[:Category:Jeeg ereyada|Jeeg]] #[[Image:Flag_of_Cambodia.svg|20px]] [[:Category:Kamboodhian ereyada‎|Kamboodhian]] #[[Image:Flag_of_India.svg|20px]] [[:Category:Kannadays ereyada‎|Kannadays]] #[[Image:Flag_of_Catalonia.svg|20px]] [[:Category:Katalaan ereyada|Katalaan]] #[[Image:Flag_of_Kazakhstan.svg|20px]] [[:Category:Kazaax ereyada‎|Kazaax]] #[[Image:Flag_of_Kyrgyzstan.svg|20px]] [[:Category:Kirgiis ereyada‎|Kirgiis]] #[[Image:Flag_of_Kurdistan.svg|20px]] [[:Category:Kurdishka ereyada‎|Kurdishka]] #[[Image:Flag_of_South Korea.svg|20px]] [[:Category:Kuuriyaan ereyada‎|Kuuriyaan]] #[[Image:Flag_of_Latvia.svg|20px]] [[:Category:Laatfiyaan ereyada‏‎|Laatfiyaan ]] #[[Image:Flag of the Vatican City.svg|20px]] [[:Category:Laatiin ereyada|Laatiin]] #[[Image:Flag_of_Luxembourg.svg|20px]] [[:Category:Laksambargish ereyada‏‎|Laksambargish]] #[[Image:NL-LimburgVlag.svg|20px]] [[:Category:Limburgaan ereyada‏‎|Limburgaan]] #[[Image:Flag_of_the_Democratic_Republic_of_the_Congo.svg|20px]] [[Image:Flag_of_the_Republic_of_the_Congo.svg|20px]] [[:Category:Lingala ereyada|Lingala]] #[[Image:Flag of Lithuania.svg|20px]] [[:Category:Lituwaanays ereyada|Lituwaanays]] #[[Image:Flag of India.svg|20px]] [[:Category:Maarati ereyada|Maarati]] #[[Image:Flag of Malaysia.svg|20px]] [[:Category:Malaay ereyada|Malaay]] #[[Image:Flag of Malta.svg|20px]] [[:Category:Maltiis ereyada|Maltiis]] #[[Image:Flag_of_Mongolia.svg|20px]] [[:Category:Mangooli ereyada|Mangooli]] #[[Image:Flag of New Zealand.svg|20px]] [[:Category:Maori ereyada‎|Maori]] #[[Image:Flag of the Republic of Macedonia.svg|20px]] [[:Category:Masadooniyaan ereyada‎|Masedooniyaan]] #[[Image:Flag of Naples.svg|20px]] [[:Category:Nebaali ereyada|Nebaali]] #[[Image:Flag of Norway.svg|20px]] [[:Category:Norwejiga ereyada|Norwejiga]] #[[Image:Flag_of_Portugal.svg|20px]] [[:Category:Portugiis ereyada‎|Portugiis]] #[[Image:Flag_of_Romania.svg|20px]] [[:Category:Romanka ereyada‎|Romeeniyaan]] #[[Image:Flag of Switzerland (Pantone).svg|20px]] [[:Category:Romanshka ereyada‏‎|Romanshka]] #[[Image:Flag_of_Russia.svg|20px]] [[:Category:Ruush ereyada‎|Ruush]] #[[Image:Flag_of_Rwanda.svg|20px]] [[:Category:Ruwanda ereyada‎|Ruwanda]] #[[Image:Flag_of_Tanzania.svg|20px]] [[Image:Flag_of_Kenya.svg|20px]] [[:Category:Sawaaxili ereyada|Sawaaxili]] #[[Image:Flag_of_Serbia.svg|20px]] [[Image:Flag_of_Croatia.svg|20px]] [[:Category:Serbiyaan-Koreeshiyan ereyada|Serbiyaan-Koreeshiyan]] #[[Image:Flag of the People's Republic of China.svg|20px]] [[:Category:Shiinees ereyada|Shiinees]] #[[Image:Flag of Sri Lanka.svg|20px]] [[:Category:Sinhaleys ereyada|Sinhaleys]] #[[Image:Flag_of_Somalia.svg|20px]] [[:Category:Soomaali ereyada‎|Soomaali]] #[[Image:Flag of Thailand.svg|20px]] [[:Category:Taaylandays ereyada|Taaylandays]] #[[Image:Flag of Philippines.svg|20px]] [[:Category:Tagaloga ereyada|Tagaloga]] #[[Image:Flag_of_Italy.svg|20px]] [[:Category:Talyaani ereyada‎|Talyaani]] #[[Image:Flag of Tatarstan.svg|20px]] [[:Category:Tataari ereyada‎|Tataari]] #[[Image:Flag_of_India.svg|20px]] [[:Category:Teluugu ereyada‏‎|Teluugu]] #[[Image:Flag_of_Turkey.svg|20px]] [[:Category:Turki ereyada‎|Turki]] #[[Image:Flag_of_Turkmenistan.svg|20px]] [[:Category:Turkumaanish ereyada‏‎|Turkumaanish]] #[[Image:Flag_of_Tuvalu.svg|20px]] [[:Category:Tuvalu ereyada‏‎|Tuvalu]] #[[Image:Kokbayraq_flag.svg|20px]] [[:Category:Uirghur ereyada‎|Uirghur]] #[[Image:Flag_of_Pakistan.svg|20px]] [[:Category:Urduu ereyada‎|Urduu]] #[[Image:Flag_of_Uzbekistan.svg|20px]] [[:Category:Usbakis ereyada‎|Usbakis]] #[[Image:Flag_of_Wales_2.svg|20px]] [[:Category:Welsh ereyada‎|Welsh]] #[[Image:Flag_of_Ukraine.svg|20px]] [[:Category:Yukreeniyaan ereyada‏‎|Yukreeniyaan]] #[[Image:Flag_of_South Africa.svg|20px]] [[:Category:Zuluu ereyada|Zuluu]] dsmm58nah9fvn0td95aanqzpf5gx5c5 Category:Laksambargish ereyada 14 4047 19912 17454 2017-07-03T13:38:44Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19912 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Isloofaak ereyada 14 4048 19902 16873 2017-07-03T13:38:34Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19902 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Template:-fa- 10 4049 10399 2014-04-22T18:25:25Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Faarisi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Faarisi</big></big></big> (fa)</div>== <br><noinclude> <!--... 10399 wikitext text/x-wiki <includeonly>[[Category:Faarisi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Faarisi</big></big></big> (fa)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 4r3cb624z9rprv8a7hzvkku74pq0yet Template:-lt- 10 4050 10400 2014-04-22T18:27:19Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Lituwaanays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Lituwaanays</big></big></big> (lt)</div>== <br><noinclu... 10400 wikitext text/x-wiki <includeonly>[[Category:Lituwaanays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Lituwaanays</big></big></big> (lt)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> jz8ldsj2t5dshj6d06akfzuaemzul3m Template:-sl- 10 4051 10401 2014-04-22T18:29:19Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Islofeeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Islofeeniyaan</big></big></big> (sl)</div>== <br><noi... 10401 wikitext text/x-wiki <includeonly>[[Category:Islofeeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Islofeeniyaan</big></big></big> (sl)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> bv8yx5agrasbcnt1xkyjx6pomobbi82 Template:-th- 10 4052 10402 2014-04-22T18:31:34Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Taaylandays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Taaylandays</big></big></big> (th)</div>== <br><noinclu... 10402 wikitext text/x-wiki <includeonly>[[Category:Taaylandays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Taaylandays</big></big></big> (th)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> ahl7o5dwlfts2mt4vwp3dmev7b07876 Template:-eo- 10 4053 10403 2014-04-22T18:32:50Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Isberento ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Isberento</big></big></big> (eo)</div>== <br><noinclude>... 10403 wikitext text/x-wiki <includeonly>[[Category:Isberento ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Isberento</big></big></big> (eo)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> r6q0h28je2rsxpmmsftl02gnhyhcfab Template:-io- 10 4054 10404 2014-04-22T18:33:41Z 177.17.185.221 Bog cusub: <includeonly>[[Category:Ido ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ido</big></big></big> (io)</div>== <br><noinclude> <!--Catego... 10404 wikitext text/x-wiki <includeonly>[[Category:Ido ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ido</big></big></big> (io)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 71npae7sicgg7s2yah95whrbhx6574u erityinen 0 4055 18715 13909 2017-04-28T17:25:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18715 wikitext text/x-wiki {{-fi-}} === Magac === '''erityinen''' [[khaas]] 8nzg9fcrmplkxwx73ktoklggq2eykv4 Category:Islofeeniyaan ereyada 14 4056 19901 17362 2017-07-03T13:38:33Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19901 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx sjokoláta 0 4057 19307 16683 2017-04-28T17:29:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19307 wikitext text/x-wiki {{-fo-}} === Magac === '''sjokoláta''' [[shukulaato]] 8e8ueohlufcryprrhdl4pfkj8ud7nqt შოკოლადი 0 4058 19723 17112 2017-04-28T17:32:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19723 wikitext text/x-wiki {{-ka-}} === Magac === '''შოკოლადი''' (šokoladi) [[shukulaato]] 7towwjlnr09wjk6wgyb9svsmes365qd coklat 0 4059 18580 15624 2017-04-28T17:24:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18580 wikitext text/x-wiki {{-id-}} === Magac === '''coklat''' [[shukulaato]] {{-ms-}} === Magac === '''coklat''' [[shukulaato]] ef804hnbehjajkal44mkycbxw7o8jig ચોકલિટ્ 0 4060 19706 16777 2017-04-28T17:32:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19706 wikitext text/x-wiki {{-gu-}} === Magac === '''ચોકલિટ્''' (cōkaliṭ) [[shukulaato]] 8piu1y3t2u98j0l5gqhhurh2w9t2mbp chokola 0 4061 18564 16561 2017-04-28T17:24:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18564 wikitext text/x-wiki {{-ht-}} === Magac === '''chokola''' [[shukulaato]] i4v08owi8xwzhzkqhr2nap4stnsiaez seacláid 0 4062 19259 16673 2017-04-28T17:29:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19259 wikitext text/x-wiki {{-ga-}} === Magac === '''seacláid''' [[shukulaato]] i7uk25xymfb2iu9y69e8h3wt9ne7nuz csokoládé 0 4063 18590 17991 2017-04-28T17:24:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18590 wikitext text/x-wiki {{-hu-}} === Magac === '''csokoládé''' [[shukulaato]] 14sg384rn1br0dw2c16zcubjaa07c2i súkkulaði 0 4064 19352 15709 2017-04-28T17:30:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19352 wikitext text/x-wiki {{-is-}} === Magac === '''súkkulaði''' * [[shukulaato]] cb2y0gadx79f72rbywhk5mkbvg2x6cr czekolada 0 4065 18593 17958 2017-04-28T17:24:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18593 wikitext text/x-wiki {{-pl-}} === Magac === '''czekolada''' [[shukulaato]] 7gjhwlwi699zw2fgsg035d2m45930u8 chocolade 0 4066 18560 17988 2017-04-28T17:24:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18560 wikitext text/x-wiki {{-nl-}} === Magac === '''chocolade''' * [[shukulaato]] gf6anwte016it00j5ud1ox63o07b3z0 cioccolata 0 4067 18570 17816 2017-04-28T17:24:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18570 wikitext text/x-wiki {{-it-}} === Magac === '''cioccolata''' * [[shukulaato]] q09n7f787x3xh4ftrzsujornixkusjz xocolata 0 4068 19480 18007 2017-04-28T17:31:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19480 wikitext text/x-wiki {{-ca-}} === Magac === '''xocolata''' [[shukulaato]] kqg26ed139kex2bgt9c2b0b2xg4ra74 ໂຊໂກລາ 0 4069 19719 16806 2017-04-28T17:32:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19719 wikitext text/x-wiki {{-lo-}} === Magac === '''ໂຊໂກລາ''' (sookoolaa) # [[shukulaato]] 9g4d4tgx0bar2e93wu8aylaijgf0d76 cacaotica 0 4070 18538 16548 2017-04-28T17:24:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18538 wikitext text/x-wiki {{-la-}} === Magac === '''cacaotica''' [[shukulaato]] 9g087fq9elvd778u85gef9rx5ixrseo sokola 0 4071 19311 18206 2017-04-28T17:29:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19311 wikitext text/x-wiki {{-mg-}} === Magac === '''sokola''' [[shukulaato]] 3fhw1sraykmpzrz8mib3zagkqyjw4ya šokolāde 0 4072 19539 16721 2017-04-28T17:31:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19539 wikitext text/x-wiki {{--lv-}} === Magac === '''šokolāde''' [[shukulaato]] d3acgcdn9uuz0hp3rizjrmkms3oy5lu šokoladas 0 4073 19538 16722 2017-04-28T17:31:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19538 wikitext text/x-wiki {{-lt-}} === Magac === '''šokoladas''' # [[shukulaato]] d1gric1vv1soqchp1yp6kjuodskgzlx choklad 0 4074 18563 17987 2017-04-28T17:24:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18563 wikitext text/x-wiki {{-sv-}} === Magac === '''choklad''' # [[shukulaato]] 9czcy5a2pv7drwwnjjtu1rmqa47k8xu шоколад 0 4075 19628 13708 2017-04-28T17:32:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19628 wikitext text/x-wiki {{-ru-}} === Magac === '''шоколад''' (šokolád) # [[shukulaato]] {{-uk-}} === Magac === '''шоколад''' (šokolád) # [[shukulaato]] dbtu2ybi497xd895ec5j3c8h888lrty ช็อกโกแล็ต 0 4076 19715 16808 2017-04-28T17:32:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19715 wikitext text/x-wiki {{-th-}} === Magac === '''ช็อกโกแล็ต''' (chók-goh-láet) [[shukulaato]] 3pgkli1bhysdqii258lnsftgkq7phun çikolata 0 4077 19515 16711 2017-04-28T17:31:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19515 wikitext text/x-wiki {{-tr-}} === Magac === '''çikolata''' [[shukulaato]] ge6xzd5wdx30b8rvfqll9i5l1u4j0gh siocled 0 4078 19303 18005 2017-04-28T17:29:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19303 wikitext text/x-wiki {{-cy-}} === Magac === '''siocled''' # [[shukulaato]] r82crbm4kf0e3xgbvvjcyprocvdjqoy sô-cô-la 0 4079 19350 16693 2017-04-28T17:30:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19350 wikitext text/x-wiki {{-vi-}} === Magac === '''sô-cô-la''' [[shukulaato]] enoi7si93v48ktowwqx7h0bsgomyjuo チョコレート 0 4080 19732 16800 2017-04-28T17:32:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19732 wikitext text/x-wiki {{-ja-}} === Magac === '''チョコレート''' (chokoreeto) [[shukulaato]] 76ner40ofpj7vz1ylzckq38x1xabfha σοκολάτα 0 4081 19558 17973 2017-04-28T17:31:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19558 wikitext text/x-wiki {{-el-}} === Magac === '''σοκολάτα''' (sokoláta) * [[shukulaato]] fl19xi6m9ilaq3ej5hcz9nxvwze3r46 shokoledi 0 4082 19293 16686 2017-04-28T17:29:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19293 wikitext text/x-wiki {{-zu-}} === Magac === '''shokoledi''' * [[shukulaato]] dlydzq3nquz2868fucebfs2sapa90h1 Template:fo 10 4083 10438 2014-04-22T19:30:51Z 177.17.185.221 Bog cusub: Farowsi <noinclude> 10438 wikitext text/x-wiki Farowsi <noinclude> 5ml6xo5vqfwxciclllcj9m8s74aqhbo Template:ast 10 4084 10439 2014-04-22T19:32:03Z 177.17.185.221 Bog cusub: Asturiyaan <noinclude> 10439 wikitext text/x-wiki Asturiyaan <noinclude> qvv2303zpgldsp52ze0wsmb4i7f1afu Template:zu 10 4085 10440 2014-04-22T19:33:01Z 177.17.185.221 Bog cusub: Zuulu <noinclude> 10440 wikitext text/x-wiki Zuulu <noinclude> 6wvjaldpd1tmysfh368gqbdty6rzm72 Template:et 10 4086 10441 2014-04-22T19:33:56Z 177.17.185.221 Bog cusub: Istooniyaan <noinclude> 10441 wikitext text/x-wiki Istooniyaan <noinclude> f3gagj20u173x2vvfo99hspozy8n07v Template:cy 10 4087 10442 2014-04-22T19:35:17Z 177.17.185.221 Bog cusub: Welsh <noinclude> 10442 wikitext text/x-wiki Welsh <noinclude> lhwx735svnmxezxuojp87ie8o3uwejy Template:gu 10 4088 10443 2014-04-22T19:44:37Z 177.17.185.221 Bog cusub: Gurajaati <noinclude> 10443 wikitext text/x-wiki Gurajaati <noinclude> ahbloq8ry6ajlkhrgmo59clymv6prva Template:ga 10 4089 10444 2014-04-22T19:46:07Z 177.17.185.221 Bog cusub: Ayrish <noinclude> 10444 wikitext text/x-wiki Ayrish <noinclude> q8m884yvzlz77b6li4bzgj7mq2krzfv Template:ka 10 4090 10445 2014-04-22T19:48:08Z 177.17.185.221 Bog cusub: Joorijiyaan <noinclude> 10445 wikitext text/x-wiki Joorijiyaan <noinclude> fg1wj75i51zlda6y15am1ja0aprrw5v Template:ht 10 4091 10446 2014-04-23T10:39:00Z 200.130.64.1 Bog cusub: Haitian <noinclude> 10446 wikitext text/x-wiki Haitian <noinclude> 4pg0c7zr0slwdtzp5wnad5zfz63svsg Template:mg 10 4092 10447 2014-04-23T10:40:15Z 200.130.64.1 Bog cusub: Malagasy <noinclude> 10447 wikitext text/x-wiki Malagasy <noinclude> qaajnfoo5tedkqx4enfj2p2qxglthnt Template:lo 10 4093 10448 2014-04-23T10:41:11Z 200.130.64.1 Bog cusub: Laothian <noinclude> 10448 wikitext text/x-wiki Laothian <noinclude> 99pkeqa94ztzgs428sx6f3m7zyqcw3o Template:fj 10 4094 10449 2014-04-23T10:43:19Z 200.130.64.1 Bog cusub: Fijian <noinclude> 10449 wikitext text/x-wiki Fijian <noinclude> 5smuo3r65e6zdde0veo4f3zn6wj87hh kow 0 4095 32765 18945 2024-12-01T10:23:43Z ВМНС 5070 32765 wikitext text/x-wiki {{-so-}} === Magac === '''kow''' (1) === Tarjumaad === {{kor}} * {{en}}: [[one]] * {{de}}: [[ein]] * {{nl}}: [[een]] {{dhaxda}} * {{fr}}: [[un]] * {{pt}}: [[um]] * {{tr}}: [[bir]] {{hoos}} [[Category:Soomaali ereyada-ko]] 39qtim4seeeutvkezca69gnbhz2g754 een 0 4096 18687 18136 2017-04-28T17:25:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18687 wikitext text/x-wiki {{-af-}} === Magac === '''een''' [[kow]] {{-nl-}} === Magac === '''een''' [[kow]] skfhgw36goejd7kgju6ivsqsl6mg1vb um 0 4097 19430 17757 2017-04-28T17:30:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19430 wikitext text/x-wiki {{-de-}} === Magac === '''um''' {{-fo-}} === Magac === '''um''' {{-is-}} === Magac === '''um''' {{-ga-}} === Magac === '''een''' {{-lb-}} === Magac === '''een''' {{-pt-}} === Magac === '''um''' [[kow]] {{-rm-}} === Magac === '''um''' {{-sco-}} === Magac === '''um''' {{-sh-}} === Magac === '''um''' i264j9qduknvoofi29kc3x2thtzfm3f one 0 4098 19102 17682 2017-04-28T17:28:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19102 wikitext text/x-wiki {{-en-}} === Magac === '''one''' [[kow]] {{-sh-}} === Magac === '''one''' {{-sl-}} === Magac === '''one''' {{-vo-}} === Magac === '''one''' 4zzxhgqowmtxly8hx2jg4e4dygcrf4i ein 0 4099 18691 17710 2017-04-28T17:25:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18691 wikitext text/x-wiki {{-de-}} === Magac === '''ein''' [[kow]] {{-fo-}} === Magac === '''ein''' [[kow]] {{-is-}} === Magac === '''ein''' [[kow]] {{-no-}} === Magac === '''ein''' [[kow]] {{-cy-}} === Magac === '''ein''' [[kow]] exvydhvzqgll9gm71hwizcuo0tdw2lk bir 0 4100 18502 16102 2017-04-28T17:24:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18502 wikitext text/x-wiki {{-az-}} === Magac === '''bir''' [[kow]] {{-crh-}} === Magac === '''bir''' [[kow]] {{-id-}} === Magac === '''bir''' [[kow]] {{-mt-}} === Magac === '''bir''' [[kow]] {{-ms-}} === Magac === '''bir''' [[kow]] {{-tr-}} === Magac === '''bir''' [[kow]] {{-tk-}} === Magac === '''bir''' [[kow]] {{-uz-}} === Magac === '''bir''' [[kow]] {{-vo-}} === Magac === '''bir''' [[kow]] ivu6lceh93l5tlk3w3a8gucolxcb1rs un 0 4101 19431 17640 2017-04-28T17:30:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19431 wikitext text/x-wiki {{-ast-}} === Magac === '''un''' [[kow]] {{-br-}} === Magac === '''un''' [[kow]] {{-fr-}} === Magac === '''un''' [[kow]] {{-gl-}} === Magac === '''un''' [[kow]] {{-hu-}} === Magac === '''un''' {{-io-}} === Magac === '''un''' [[kow]] {{-ia-}} === Magac === '''un''' [[kow]] {{-es-}} === Magac === '''un''' [[kow]] {{-it-}} === Magac === '''un''' [[kow]] {{-ca-}} === Magac === '''un''' [[kow]] {{-lv-}} === Magac === '''un''' {{-oc-}} === Magac === '''un''' [[kow]] {{-ro-}} === Magac === '''un''' [[kow]] {{-scn-}} === Magac === '''un''' [[kow]] {{-tt-}} === Magac === '''un''' {{-tr-}} === Magac === '''un''' {{-cy-}} === Magac === '''un''' [[kow]] 58ycp0g2gf0najpzi5jd80taw055c4e cola 0 4102 18581 17990 2017-04-28T17:24:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18581 wikitext text/x-wiki {{-ast-}} === Magac === '''cola''' [[xabagta]] {{-es-}} === Magac === '''cola''' [[xabagta]] {{-pt-}} === Magac === '''cola''' [[xabagta]] {{-fj-}} === Magac === '''cola''' [[koolaha]] {{-en-}} === Magac === '''cola''' [[koolaha]] {{-it-}} === Magac === '''cola''' [[koolaha]] {{-ca-}} === Magac === '''cola''' [[koolaha]] {{-nl-}} === Magac === '''cola''' [[koolaha]] {{-la-}} === Magac === '''cola''' [[koolaha]] ot7bovset7pfny5s3lyilket7w4qrzo xabagta 0 4103 24823 10458 2023-09-10T19:21:33Z Girligaanshub 3150 24823 wikitext text/x-wiki {{-so-}} ===Magac=== '''xabagta''' ===Tarjumaad=== *{{en}}: [[glue]], gum, adhesive, resin cy4a3ze5auehvcg0yq6k6215hn7l847 tutkal 0 4104 19418 14076 2017-04-28T17:30:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19418 wikitext text/x-wiki {{-tr-}} === Magac === '''tutkal''' [[xabagta]] nf8h2lqe0mji96ayiictb9qea2vd55g glue 0 4105 18800 16226 2017-04-28T17:26:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18800 wikitext text/x-wiki {{-en-}} === Magac === '''glue''' [[xabagta]] 98akr2nccv9dvvu6en9acslh1f972f6 Leim 0 4106 18314 16521 2017-04-28T17:22:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18314 wikitext text/x-wiki {{-de-}} === Magac === '''Leim''' * [[xabagta]] 3d4isedw1tthxkm08uqpdd0ad9l5zud colla 0 4107 18582 18030 2017-04-28T17:24:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18582 wikitext text/x-wiki {{-it-}} === Magac === '''colla''' [[xabagta]] {{-oc-}} === Magac === '''colla''' [[xabagta]] hclw2po5qezoe1q3d5pptlo7p3g3t8h pegamento 0 4108 19135 17882 2017-04-28T17:28:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19135 wikitext text/x-wiki {{-es-}} === Magac === '''pegamento''' [[xabagta]] g6fz5njuwoteeorst75u9wmvlq9wk13 colle 0 4109 20138 18583 2018-10-29T00:04:29Z Sakiinlaq 1889 20138 wikitext text/x-wiki {{-fr-}} === Magac === '''colle''' [[xabag]] lpk3912hcwgdvut3z6koln6op4sw2gh Klebstoff 0 4110 18311 10735 2017-04-28T17:22:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18311 wikitext text/x-wiki {{-de-}} === Magac === '''Klebstoff''' # [[xabagta]] # [[xabag]] fo3cus7yzco7nnlggwl9czjcdtu645o 아교 0 4111 19767 14202 2017-04-28T17:32:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19767 wikitext text/x-wiki {{-ko-}} === Magac === '''아교''' (agyo) * [[xabagta]] 80cvdf1w2cawpcg90zj2imakxrhunpj lijepak 0 4112 10467 2014-04-23T14:30:32Z 200.130.64.1 Bog cusub: {{-sh-}} ===Magac=== '''lijepak''' [[xabagta]] 10467 wikitext text/x-wiki {{-sh-}} ===Magac=== '''lijepak''' [[xabagta]] q946rprg4uqh0mjv14482vcgxfd0g4o цавуу 0 4113 19621 13800 2017-04-28T17:32:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19621 wikitext text/x-wiki {{-mn-}} === Magac === '''цавуу''' (tsavuu) [[xabagta]] r2ncc8yd3z6smkohhwg1cvbn1pcfxtt лепак 0 4114 19583 16740 2017-04-28T17:31:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19583 wikitext text/x-wiki {{-sh-}} === Magac === '''лепак''' [[xabagta]] 9yxquo935yo2d9jym9l3cstr43kd5sn ljepilo 0 4115 18987 13957 2017-04-28T17:27:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18987 wikitext text/x-wiki {{-sh-}} === Magac === '''ljepilo''' [[xabag]] ml5ds6yrd15fhzy9s9kuznullvdskgu xabag 0 4116 31624 24824 2024-10-19T13:59:41Z Girligaanshub 3150 31624 wikitext text/x-wiki {{-so-}} ===Magac=== '''xabag''' ===Tarjumaad=== *{{en}}: glue, gum, adhesive, resin, sap 90gyq4uocb46hej228clu8p4bu70d8c adhesivo 0 4117 18381 17793 2017-04-28T17:23:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18381 wikitext text/x-wiki {{-gl-}} === Magac === '''adhesivo''' [[xabag]] {{-ia-}} === Magac === '''adhesivo''' [[xabag]] 1zb07vsgomhdep50xzfeoywsu308w4q käyttäjätunnus 0 4118 18952 16620 2017-04-28T17:27:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18952 wikitext text/x-wiki {{-fi-}} === Magac === '''käyttäjätunnus''' [[gudagale]] p4j3xo0a83t6jf3unjebzgtq4u8hyta paikka 0 4119 19117 18089 2017-04-28T17:28:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19117 wikitext text/x-wiki {{-fi-}} === Magac === '''paikka''' [[goob]] ml53gcv52iloqv82qbs4pgleqkfixqv isticmaalaha 0 4120 18889 16614 2017-04-28T17:26:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18889 wikitext text/x-wiki {{-so-}} === Magac === '''isticmaalaha''' === Tarjumaad === * {{az}}: [[istifadəçi]] * {{de}}: [[Benutzer]] * {{pt}}: [[usuário]] * {{zh}}: [[用户]] (yònghù) j5c1cjzdbnavizx8h28oxnqkb2hcq5q istifadəçi 0 4121 18890 15112 2017-04-28T17:26:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18890 wikitext text/x-wiki {{-az-}} === Magac === '''istifadəçi''' * [[isticmaalaha]] f2tsxt8msvcs03m6g439qxskr49ru6w Benutzer 0 4122 18274 15520 2017-04-28T17:22:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18274 wikitext text/x-wiki {{-de-}} === Magac === '''Benutzer''' * [[isticmaalaha]] cyf4znypipgpdk0sdjrsos8t4bicstz usuário 0 4123 19437 17409 2017-04-28T17:30:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19437 wikitext text/x-wiki {{-pt-}} === Magac === '''usuário''' * [[isticmaalaha]] cbwch54kwga3va66elyoo4crgzxbyhn 用戶 0 4124 23762 23760 2023-06-13T03:46:46Z Apisite 3737 23762 wikitext text/x-wiki {{-zh-}} === Magac === '''用戶 / 用户''' (yònghù) * [[isticmaalaha]] dq0yyio622ff116pea5lco1hmf8092t usuario 0 4125 19436 17351 2017-04-28T17:30:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19436 wikitext text/x-wiki {{-ast-}} === Magac === '''usuario''' * [[isticmaalaha]] {{-es-}} === Magac === '''usuario''' * [[isticmaalaha]] {{-gl-}} === Magac === '''usuario''' * [[isticmaalaha]] 3ieaytdv9pvexxao1xb745oavdev5qv Template:cs 10 4126 10482 2014-04-23T14:47:00Z 200.130.64.1 Bog cusub: Jeeg <noinclude> 10482 wikitext text/x-wiki Jeeg <noinclude> bl3b7yl7hzer9w4yygz4p7lx8f0c1o4 qaboojiyaha 0 4127 10483 2014-04-23T14:49:23Z 200.130.64.1 Bog cusub: {{-so-}} ===Magac=== '''qaboojiyaha''' ===Tarjumaad=== *{{fr}}: [[climatisation]] *{{gl}}: [[climatización]] *{{it}}: [[climatizzazione]] *{{ha}}: [[kwandishan]] 10483 wikitext text/x-wiki {{-so-}} ===Magac=== '''qaboojiyaha''' ===Tarjumaad=== *{{fr}}: [[climatisation]] *{{gl}}: [[climatización]] *{{it}}: [[climatizzazione]] *{{ha}}: [[kwandishan]] t9ditsend31nfkpw8aijnwnuvy4bgwy climatisation 0 4128 18576 13892 2017-04-28T17:24:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18576 wikitext text/x-wiki {{-fr-}} === Magac === '''climatisation''' [[qaboojiyaha]] pd1m8ipc2zp5l3clvyvl1ezpqs812pl climatización 0 4129 18577 15426 2017-04-28T17:24:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18577 wikitext text/x-wiki {{-gl-}} === Magac === '''climatización''' [[qaboojiyaha]] {{-es-}} === Magac === '''climatización''' [[qaboojiyaha]] rqk8zxsd4uz8hhbx2pv0jixxuine3za climatizzazione 0 4130 18578 16558 2017-04-28T17:24:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18578 wikitext text/x-wiki {{-it-}} === Magac === '''climatizzazione''' [[qaboojiyaha]] eqftt4exgucphqu1woqe3gz3q9d8p6c kwandishan 0 4131 10487 2014-04-23T14:51:37Z 200.130.64.1 Bog cusub: {{-ha-}} ===Magac=== '''kwandishan''' [[qaboojiyaha]] 10487 wikitext text/x-wiki {{-ha-}} ===Magac=== '''kwandishan''' [[qaboojiyaha]] 3jgdq2bvixcdhzi5juohoerbz72gmuz drei 0 4132 18668 17708 2017-04-28T17:25:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18668 wikitext text/x-wiki {{-de-}} === Magac === '''drei''' [[saddex]] aye18o03djzb38jaern0uy0jrh9rb7z drie 0 4133 18670 17555 2017-04-28T17:25:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18670 wikitext text/x-wiki {{-af-}} === Magac === '''drie''' [[saddex]] {{-nl-}} === Magac === '''drie''' [[saddex]] tlf923yy3g7q1m942djnzh2bqo3tq1j três 0 4134 19416 17763 2017-04-28T17:30:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19416 wikitext text/x-wiki {{-pt-}} === Magac === '''três''' [[saddex]] ioqmdhbxx1yp46ucxjwdg9ro9yflk36 trois 0 4135 19415 17638 2017-04-28T17:30:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19415 wikitext text/x-wiki {{-fr-}} === Magac === '''trois''' (3) [[saddex]] ch4mjo44sappf4txb2v83ljicg5wxfz three 0 4136 19386 17693 2017-04-28T17:30:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19386 wikitext text/x-wiki {{-en-}} === Magac === '''three''' [[saddex]] 1rlo355cd6uqyv86a5vdvk6ixxwzk28 dois 0 4137 18653 18061 2017-04-28T17:25:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18653 wikitext text/x-wiki {{-fr-}} === Magac === '''dois''' {{-pt-}} === Magac === '''dois''' [[laba]] 2r0skr8x7un1o3542y33royyv67k71g duas 0 4138 18672 17831 2017-04-28T17:25:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18672 wikitext text/x-wiki {{-pt-}} === Magac === '''duas''' [[laba]] 006x4i9oz9h1zdaflnp7t4iq5doz7dn dos 0 4139 18661 17672 2017-04-28T17:25:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18661 wikitext text/x-wiki {{-ast-}} === Magac === '''dos''' [[laba]] {{-es-}} === Magac === '''dos''' [[laba]] cek21pvdtpe8v2zl3pc4xcwlna8yy8q zwei 0 4140 19504 17743 2017-04-28T17:31:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19504 wikitext text/x-wiki {{-de-}} === Magac === '''zwei''' [[laba]] {{-li-}} === Magac === '''zwei''' [[laba]] mcfmpyauzq16aed1t58lhmlvmijaibp two 0 4141 19422 18171 2017-04-28T17:30:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19422 wikitext text/x-wiki {{-en-}} === Magac === '''two''' [[laba]] qb7dsgwfycfblfc3ct1gawy7ul3fxmg twee 0 4142 19420 17557 2017-04-28T17:30:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19420 wikitext text/x-wiki {{-af-}} === Magac === '''twee''' [[laba]] {{-nl-}} === Magac === '''twee''' [[laba]] j4vakyeyi9kntb6omqls2bv342sg9mr due 0 4143 18673 17673 2017-04-28T17:25:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18673 wikitext text/x-wiki {{-it-}} === Magac === '''due''' [[laba]] 7tkilnr6icfqcspx9zqe8nfcqvcm4oo tre 0 4144 19404 17636 2017-04-28T17:30:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19404 wikitext text/x-wiki {{-it-}} === Magac === '''tre''' [[saddex]] aw7i19ea85peyddfck1ks2s4dtbqxxq tres 0 4145 19410 17762 2017-04-28T17:30:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19410 wikitext text/x-wiki {{-ast-}} === Magac === '''tres''' [[saddex]] {{-gl-}} === Magac === '''tres''' [[saddex]] {{-es-}} === Magac === '''tres''' [[saddex]] gscvw5xn9n41ny8eqdtisqs452sck8k vier 0 4146 19453 17760 2017-04-28T17:30:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19453 wikitext text/x-wiki {{-de-}} === Magac === '''vier''' [[afar]] 2wxoksfse8g00opgjv562256pb0o5o3 veer 0 4147 19443 17222 2017-04-28T17:30:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19443 wikitext text/x-wiki {{-af-}} === Magac === '''veer''' [[afar]] {{-nl-}} === Magac === '''veer''' [[afar]] {{-li-}} === Magac === '''veer''' [[afar]] fui8aa2taxdukcc52vfs5vgf74kzdp9 four 0 4148 18773 18054 2017-04-28T17:26:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18773 wikitext text/x-wiki {{-en-}} === Magac === '''four''' [[afar]] ejb17tvlkjikuggh5yd877v6ibtup7k quattro 0 4149 19185 17895 2017-04-28T17:29:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19185 wikitext text/x-wiki {{-it-}} === Magac === '''quattro''' [[afar]] cokmjj1934g9dvtlwvj1n6252ie0j3q cuatro 0 4150 18591 17695 2017-04-28T17:24:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18591 wikitext text/x-wiki {{-ast-}} === Magac === '''cuatro''' [[afar]] {{-gl-}} === Magac === '''cuatro''' [[afar]] {{-es-}} === Magac === '''cuatro''' [[afar]] t3i2yn0unyijbyrbcg09ntcww9qfypl saddex 0 4151 23352 23350 2023-04-23T07:58:27Z Apisite 3737 /* Tarjumaad */ 23352 wikitext text/x-wiki {{-so-}} === Magac === '''saddex''' === Tarjumaad === * {{aa}}: [[sidoc]] * {{da}}: [[tre]] * {{fr}}: [[trois]] * {{vi}}: [[ba]] * {{en}}: [[three]] * {{es}}: [[tres]] * {{sv}}: [[tre]] * {{ms}}: [[tiga]], [[telu]], [[tri]] * {{pt}}: [[três]] * {{rhg}}: [[tin]] * {{sw}}: [[tatu]] * {{zh}}: [[三]] * {{it}}: [[tre]] * {{bo}}: [[གསུམ]] (gsum) * {{ug}}: [[ئۈچ]] * {{uz}}: [[uch]] juyk42rcew74fxkmkzoxq9ji8ffhjfj laba 0 4152 20013 18960 2018-10-27T13:48:14Z Sakiinlaq 1889 20013 wikitext text/x-wiki ==soomaali== === Magac === kzi9x15f0xxuztp91ufzzuvi5re79gt ikki 0 4153 18868 16619 2017-04-28T17:26:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18868 wikitext text/x-wiki {{-uz-}} === Magac === '''ikki''' [[laba]] h2nxtelvzoqxt8nsde3te809e43qq5d deux 0 4154 18611 17821 2017-04-28T17:24:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18611 wikitext text/x-wiki {{-fr-}} === Magac === '''deux''' [[laba]] nh94lp3kxid9h5g3hhckx7i3rfwq7sk iki 0 4155 18867 16163 2017-04-28T17:26:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18867 wikitext text/x-wiki {{-az-}} === Magac === '''iki''' * [[laba]] {{-tk-}} === Magac === '''iki''' * [[laba]] {{-crh-}} === Magac === '''iki''' * [[laba]] {{-tr-}} === Magac === '''iki''' * [[laba]] fi14hh25idz12429ytz7du710gxgtcf aabbe 0 4156 20005 18371 2018-10-25T20:10:50Z 213.200.157.2 20005 wikitext text/x-wiki {{-so-}} === Magac === '''aabbe''' === Tarjumaad === * {{az}}: [[baba]] *{{sv}}:[[far]] 2eaudcjq85joxfvb7maeiv28f94ilvs giallo 0 4157 18798 17718 2017-04-28T17:26:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18798 wikitext text/x-wiki {{-it-}} === Magac === '''giallo''' * [[jaalle]] 7j5cyasb38vsn8su4kj05vg1hbo07ze geel 0 4158 18794 11286 2017-04-28T17:26:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18794 wikitext text/x-wiki {{-af-}} === Magac === '''geel''' * [[jaalle]] {{-nl-}} === Magac === '''geel''' * [[jaalle]] 2hccm6rv71y8cgpje3zacm60bueb2jy preto 0 4159 19165 14006 2017-04-28T17:28:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19165 wikitext text/x-wiki {{-pt-}} === Magac === '''preto''' * [[madow]] 2d9bsk7tqlibok3nx3nkbh5yhy5nk0u noir 0 4160 19076 18193 2017-04-28T17:28:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19076 wikitext text/x-wiki {{-fr-}} === Magac === '''noir''' * [[madow]] kpbz5zdhkdze5tesgi1jfrrzy7fr78e negro 0 4161 19060 16183 2017-04-28T17:28:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19060 wikitext text/x-wiki {{-ast-}} === Magac === '''negro''' * [[madow]] {{-gl-}} === Magac === '''negro''' * [[madow]] {{-es-}} === Magac === '''negro''' * [[madow]] {{-pt-}} === Magac === '''negro''' * [[madow]] jf5a8cfevphuyyp85a9f7y6jcuuddwn negre 0 4162 19059 18083 2017-04-28T17:28:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19059 wikitext text/x-wiki {{-ca-}} === Magac === '''negre''' [[madow]] j5l224rura4fow9cgtzwjglmr3y92hr schwanz 0 4163 19254 16674 2017-04-28T17:29:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19254 wikitext text/x-wiki {{-de-}} === Magac === '''schwanz''' [[madow]] lsqsrvcv27cw1t6gsuzie6q6q2riali swart 0 4164 19340 15173 2017-04-28T17:30:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19340 wikitext text/x-wiki {{-af-}} === Magac === '''swart''' * [[madow]] 5nod7gyzr7qjonip11zgbsk7m801tz4 zwart 0 4165 19503 17437 2017-04-28T17:31:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19503 wikitext text/x-wiki {{-nl-}} === Magac === '''zwart''' [[madow]] 385yt73r5qer4ed5kcbmjd7ootyvzxw crn 0 4166 18588 16557 2017-04-28T17:24:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18588 wikitext text/x-wiki {{-sh-}} === Magac === '''crn / црн''' * [[madow]] 4wbcnqd6eryqfmfufyyky173vvzfdlo qara 0 4167 19177 15669 2017-04-28T17:28:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19177 wikitext text/x-wiki {{-az-}} === Magac === '''qara''' [[madow]] c9ew7b15eiuxwezrpb2pzch4p9rqul0 kara 0 4168 18922 18070 2017-04-28T17:27:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18922 wikitext text/x-wiki {{-tr-}} === Magac === '''kara''' * [[madow]] j6p5ekl9y6fpfg6dgo112ommtntbiy8 qora 0 4169 19179 16657 2017-04-28T17:28:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19179 wikitext text/x-wiki {{-uz-}} === Magac === '''qora''' [[madow]] ks2zi9g4s8rwjdb27q70r219nfnmx4a verde 0 4170 19448 18196 2017-04-28T17:30:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19448 wikitext text/x-wiki {{-ast-}} === Magac === '''verde''' * [[cagaar]] {{-es-}} === Magac === '''verde''' * [[cagaar]] {{-gl-}} === Magac === '''verde''' * [[cagaar]] {{-it-}} === Magac === '''verde''' * [[cagaar]] {{-pt-}} === Magac === '''verde''' * [[cagaar]] {{-ro-}} === Magac === '''verde''' * [[cagaar]] 4435wogdeqnziswh3b2dgrt0xbur7px berdea 0 4171 10528 2014-04-23T21:47:49Z 177.17.185.221 Bog cusub: {{-eu-}} ===Magac=== '''berdea''' *[[cagaar]] 10528 wikitext text/x-wiki {{-eu-}} ===Magac=== '''berdea''' *[[cagaar]] jw3yjq096a0wfic98q7eq838zhpw2h4 vert 0 4172 19450 17641 2017-04-28T17:30:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19450 wikitext text/x-wiki {{-fr-}} === Magac === '''vert''' * [[cagaar]] lkfad164vifmw4ry9h7ta6ip2o3yt1l verd 0 4173 19447 18006 2017-04-28T17:30:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19447 wikitext text/x-wiki {{-ca-}} === Magac === '''verd''' [[cagaar]] i5igbtjyyio1vu2lcswzf5vjdnprrmv grün 0 4174 18809 15537 2017-04-28T17:26:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18809 wikitext text/x-wiki {{-de-}} === Magac === '''grün''' * [[cagaar]] f94o6plsbkxz2rrnguxnbkuzikitnnw green 0 4175 18804 18187 2017-04-28T17:26:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18804 wikitext text/x-wiki {{-en-}} === Magac === '''green''' * [[cagaar]] eus9ksd2syrnr217z95ffbwxch2n7mp groen 0 4176 18806 15784 2017-04-28T17:26:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18806 wikitext text/x-wiki {{-af-}} === Magac === '''groen''' * [[cagaar]] {{-nl-}} === Magac === '''groen''' * [[cagaar]] e5w5pjlm3edec0wkn7bhnuyjsz7rmzh zöld 0 4177 19507 17965 2017-04-28T17:31:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19507 wikitext text/x-wiki {{-hu-}} === Magac === '''zöld''' [[cagaar]] f529s28hjfs2o0ruuaw5z3u1ap78qxx yashil 0 4178 19486 17575 2017-04-28T17:31:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19486 wikitext text/x-wiki {{-uz-}} === Magac === '''yashil''' * [[cagaar]] tp6f6f88h8vr7qhorz9c5jo7i8kext4 yeşil 0 4179 19490 15848 2017-04-28T17:31:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19490 wikitext text/x-wiki {{-tr-}} === Magac === '''yeşil''' * [[cagaar]] 4d2nf0nnqegl3rjgk7sxkyzzphife8x madow 0 4180 19009 17731 2017-04-28T17:27:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19009 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''madow''' === Tarjumaad === {{kor}} * {{af}}: [[swart]] * {{az}}: [[qara]] * {{en}}: [[black]] * {{es}}: [[negro]] * {{fr}}: [[noir]] * {{nl}}: [[zwart]] * {{hu}}: [[fekete]] {{dhaxda}} * {{it}}: [[nero]] * {{de}}: [[schwanz]] * {{pt}}: [[preto]] * {{ru}}: [[черный]] * {{sv}}: [[svart]] * {{tr}}: [[kara]] * {{uz}}: [[qora]] {{hoos}} 4wktk8qmiq2ssecxdoyxu9uh2odmoys cagaar 0 4181 18540 17810 2017-04-28T17:24:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18540 wikitext text/x-wiki {{wikipedia}} {{-so-}} === Magac === '''cagaar''' === Tarjumaad === {{kor}} * {{af}}: [[groen]] * {{az}}: [[yaşıl]] * {{en}}: [[green]] * {{es}}: [[verde]] * {{fr}}: [[vert]] * {{ca}}: [[verd]] * {{hu}}: [[zöld]] {{dhaxda}} * {{it}}: [[verde]] * {{de}}: [[grün]] * {{pt}}: [[verde]] * {{ru}}: [[зеленый]] * {{sv}}: [[grön]] * {{tr}}: [[yeşil]] * {{uz}}: [[yashil]] {{hoos}} e5psetlee3jvy6v0ryxgp7obkrfh3sb yaşıl 0 4182 19487 17565 2017-04-28T17:31:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19487 wikitext text/x-wiki {{-az-}} === Magac === '''yaşıl''' [[cagaar]] 7axap6vbsz9izwv4lw0d51u2ls2susm зеленый 0 4183 19579 18139 2017-04-28T17:31:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19579 wikitext text/x-wiki {{-ru-}} === Magac === '''зеленый''' [[cagaar]] ghlycdnqgogt9bv3pzimmolsnp64dku grön 0 4184 18808 17996 2017-04-28T17:26:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18808 wikitext text/x-wiki {{-sv-}} === Magac === '''grön''' [[cagaar]] rwzncmytiignq14qvji7g7mwa4fxxge черный 0 4185 19623 18142 2017-04-28T17:32:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19623 wikitext text/x-wiki {{-ru-}} === Magac === '''черный''' [[madow]] isl0j6vjjn4aotre4r48uuz5eg94xwh nero 0 4186 19063 18195 2017-04-28T17:28:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19063 wikitext text/x-wiki {{-it-}} === Magac === '''nero''' [[madow]] b66me3v36q3ju6vjr6tmn7ruj1xysrb black 0 4187 18506 18186 2017-04-28T17:24:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18506 wikitext text/x-wiki {{-en-}} === Magac === '''black''' * [[madow]] eteq1x25zskvmwnls93o7h7wij1dzmu svart 0 4188 19339 17935 2017-04-28T17:30:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19339 wikitext text/x-wiki {{-no-}} === Magac === '''svart''' [[madow]] {{-sv-}} === Magac === '''svart''' [[madow]] bax27yiency7doff7xggmenenr3nwwx fekete 0 4189 18753 18049 2017-04-28T17:25:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18753 wikitext text/x-wiki {{-hu-}} === Magac === '''fekete''' [[madow]] lgwkwujqnewzdv4kystpg7qn50ns4tk sort 0 4190 19321 17470 2017-04-28T17:29:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19321 wikitext text/x-wiki {{-da-}} === Magac === '''sort''' [[madow]] iw7285qupjv3qfg5nbfh7wu5lrdgm1l mala 0 4191 19012 17854 2017-04-28T17:27:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19012 wikitext text/x-wiki {{-pt-}} === Magac === '''mala''' [[xun]] {{-pt-}} === Magac === '''mala''' [[shandado]] laxlsau590ztharcixflvnn7feyprwz shandado 0 4192 10562 10554 2014-04-27T21:15:43Z 177.17.137.219 10562 wikitext text/x-wiki {{-so-}} ===Magac === '''sandado''' ===Tarjumaad=== {{kor}} *{{ar}}: [[حقيبة سفر]] *{{da}}: [[kuffert]] *{{es}}: [[maleta]] {{dhaxda}} *{{el}}: [[βαλίτσα]] (valítsa) *{{no}}: [[koffert]] *{{pt}}: [[mala]] {{hoos}} 3e9hecpbtij5jpr1z5kpyvo6q7xhrrc حقيبة سفر 0 4193 19676 14156 2017-04-28T17:32:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19676 wikitext text/x-wiki {{-ar-}} === Magac === '''حقيبة سفر''' [[shandado]] got2kc9kibqmro5l4ubpffclnz9cn0q kuffert 0 4194 18947 18126 2017-04-28T17:27:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18947 wikitext text/x-wiki {{-da-}} === Magac === '''kuffert''' * [[shandado]] saao0g6it7qdaxibvzpq5rwwexwve26 maleta 0 4195 19013 18081 2017-04-28T17:27:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19013 wikitext text/x-wiki {{-ast-}} === Magac === '''maleta''' [[shandado]] {{-es-}} === Magac === '''maleta''' [[shandado]] {{-gl-}} === Magac === '''maleta''' * [[shandado]] {{-pt-}} === Magac === '''maleta''' (Portugal) [[shandado]] fl3j0s0lz8yez1ovc91kwnaqalftyil βαλίτσα 0 4196 19546 17101 2017-04-28T17:31:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19546 wikitext text/x-wiki {{-el-}} === Magac === '''βαλίτσα''' (valítsa) * [[shandado]] tjnkjm082ehybzf8j1b9pu6mgjl4kf3 koffert 0 4197 18939 18073 2017-04-28T17:27:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18939 wikitext text/x-wiki {{-no-}} === Magac === '''koffert''' [[shandado]] 0e6h6j6em247w8yczwazqgtmsjp46dy xun 0 4198 19483 17742 2017-04-28T17:31:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19483 wikitext text/x-wiki {{-so-}} === Magac === '''xun''' === Tarjumaad === * {{es}}: [[mala]] * {{gl}}: [[malo]] * {{sv}}: [[dålig]] iphswxsfloj1j5smgm2tt62znj2knsr dålig 0 4199 18679 18039 2017-04-28T17:25:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18679 wikitext text/x-wiki {{-sv-}} === Magac === '''dålig''' [[xun]] i0r09pbahf99efw9gsv5xhg2zjkvjn4 malo 0 4200 19015 17058 2017-04-28T17:27:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19015 wikitext text/x-wiki {{-gl-}} === Magac === '''malo''' [[xun]] e7wr4dt7e1subf8uamwgvl70l00vz9o wadahadal 0 4201 24493 19462 2023-09-01T10:36:30Z Girligaanshub 3150 24493 wikitext text/x-wiki {{-so-}} == Magac == '''wadahadal''' === Tarjumaad === * {{en}}: communication mmbimwxyhxfr6f6ivwekt9n0q1bno5m karaa 0 4202 10566 2014-04-27T21:21:24Z 177.17.137.219 Bog cusub: {{-so-}} ===Magac=== '''karaa''' 10566 wikitext text/x-wiki {{-so-}} ===Magac=== '''karaa''' kqdy32qy6j6yyuqmuvn2at1shbuxca8 Template:t 10 4203 12231 10569 2015-02-07T15:04:40Z 177.133.7.166 12231 wikitext text/x-wiki [[{{{2}}}#{{{{#if:{{{xs|}}}|t2|t-sect}}|{{{1|}}}|{{{xs|}}}}}|{{#if:{{{sc|}}}|{{{{{sc}}}|{{{alt|{{{2}}}}}}}}|{{{alt|{{{2}}}}}}}}]]&nbsp;{{#ifeq:{{{1|}}}|{{#language:{{#switch:{{{1|}}}|nan=zh-min-nan|yue=zh-yue|cmn=zh|{{{1|}}}}}}}||<sup>[[:{{#switch:{{{1}}}|nan=zh-min-nan|yue=zh-yue|cmn=zh|{{{1}}}}}:{{{2}}}|({{{1}}})]]</sup>}}{{#if:{{{tr|}}}|&nbsp;({{{tr}}})}}{{#switch:{{{3|}}}|f|m|n|c|s|p|mf|nm=&nbsp;{{{{{3}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}}}|}} st3dfalrxtxesvzjsuw4kmsl8tu61sh Template:teeramka 10 4204 10573 10570 2014-05-03T16:13:37Z 177.17.143.83 10573 wikitext text/x-wiki Isticmaal jaantus inaad u sheegto erayga ama weedha ah gudahood orodka qoraalka (tusaale ahaan in===Asalkeeda=== iyo ==== xusuusqor bahan yahay==== qaybaha). Isticmaal {{l}} halkii ee liiska ama madaxdii reer si looga fogaado italicizing. Jaantus Tani waxa ay muujinaysaa in ereyga ama weedha ah ee font ku habboon (user-customisable talagalay Laatiinka/Roman sheegaye), oo ay weheliso ay tarjumaadda (haddii luqadda waxaa si toos ah tarjumayna) iyo turjumidda gloss Ingiriisi, haddii ay jiraan. {{teeramka|word|lang=en}} {{teeramka|verbum|verbō|lang=la}} {{teeramka|verbum|verbō|for the word|lang=la}} {{teeramka|word||unit of speech|lang=en}} {{teeramka|λόγος|lang=grc}} {{teeramka|λόγος||word|lang=grc}} {{teeramka|mot|lang=fr}} {{teeramka|[[cor|Cor]] [[Carolī]]||Charles' heart|lang=la}} Ku dartaa qaybahan talagalay-beegyada uu u xun ama ka maqan qaarkood. --><includeonly>{{#invoke:term cleanup|cleanup}}</includeonly><!-- --><noinclude>{{diiwaaninta}}</noinclude> isd63i5a6y0l39fniixwv5qk86xuzqq Module:links/templates 828 4205 10572 10571 2014-05-03T16:08:06Z 177.17.143.83 10572 Scribunto text/plain local m_links = require("Module:links") local export = {} -- Used in [[Template:l]] and [[Template:term]] function export.l_term_t(frame) local face = frame.args["face"]; if face ~= "term" then face = nil end local notself = frame.args["notself"]; if notself == "" then notself = nil end -- Compatibility mode. -- 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 "") ~= "" local args = frame:getParent().args local lang = args[(compat and "lang" or 1)]; if lang == "" then lang = nil end local sc = args["sc"]; if sc == "" then sc = nil end local term = args[(compat and 1 or 2)]; if term == "" then term = nil end local alt = args[(compat and 2 or 3)]; if alt == "" then alt = nil end local id = args["id"]; if id == "" then id = nil end local tr = args["tr"]; if tr == "" then tr = nil end local gloss = args["gloss"] or args[(compat and 3 or 4)]; if gloss == "" then gloss = nil end local pos = args["pos"]; if pos == "" then pos = nil end local lit = args["lit"]; if lit == "" then lit = nil end -- Gather gender and number specifications -- Iterate over all gn parameters (g2, g3 and so on) until one is empty local genders = {} local g = args["g"] or "" local i = 2 while g ~= "" do table.insert(genders, g) g = args["g" .. i] or "" i = i + 1 end -- Check parameters if not lang then -- Temporary. Unfortunately, many pages are missing the language parameter. -- These all need to be fixed, but until then this is needed to avoid -- thousands of script errors. See [[:Category:term cleanup]]! if compat or mw.title.getCurrentTitle().nsText == "Template" then lang = "und" else error("The first parameter (language code) has not been given") end end lang = require("Module:languages").getLanguageByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") if not term and not alt and mw.title.getCurrentTitle().nsText == "Template" then term = "term" end -- Forward the information to full_link return m_links.full_link(term, alt, lang, sc, face, id, {tr = tr, genders = genders, gloss = gloss, pos = pos, lit = lit}, (notself and mw.title.getCurrentTitle().prefixedText or nil)) end return export p1zvket9kqh1xgohow23jgd6c0eer20 raadi 0 4206 19193 17071 2017-04-28T17:29:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19193 wikitext text/x-wiki {{-so-}} === Magac === '''raadi''' === Trajumaad === {{kor}} * {{az}}: [[axtarış]] * {{de}}: [[Suche]] * {{fi}}: [[haku]] * {{ha}}: [[Bincike]] {{dhaxda}} * {{en}}: [[Search]] * {{mn}}: [[хайх]] (khaikh) * {{pt}}: [[pesquisa]] * {{tl}}: [[paghahanap]] {{hoos}} nbl8k6d0rn8e3ewxeon20d9jyn1x4sp axtarış 0 4207 18458 13881 2017-04-28T17:23:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18458 wikitext text/x-wiki {{-az-}} === Magac === '''axtarış''' [1] [[raadi]] h1i3qlf1l32h0pl41b7dmz52zip5l4r Search 0 4208 18340 17005 2017-04-28T17:22:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18340 wikitext text/x-wiki {{-en-}} === Magac === '''Search''' * [[raadi]] ciyhyd4v4n1v5jqoc8eeuloo47z95o6 Suche 0 4209 18344 15655 2017-04-28T17:22:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18344 wikitext text/x-wiki {{-de-}} === Magac === '''Suche''' [[raadi]] q3dj6ty8ocrtvpuzbh2bcaasnc5l8ru haku 0 4210 18817 16593 2017-04-28T17:26:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18817 wikitext text/x-wiki {{-fi-}} === Magac === '''haku''' * [[raadi]] hsmmd7r689hocag80nqdvqopiqpj40f paghahanap 0 4211 10579 2014-05-04T12:57:51Z 177.157.118.236 Bog cusub: {{-tl-}} ===Magac=== '''paghahanap''' #[[raadi]] 10579 wikitext text/x-wiki {{-tl-}} ===Magac=== '''paghahanap''' #[[raadi]] aes4wik9x9pxmyu00ey8s8debjw1zok Bincike 0 4212 10580 2014-05-04T12:58:08Z 177.157.118.236 Bog cusub: {{-ha-}} ===Magac=== '''Bincike''' [[raadi]] 10580 wikitext text/x-wiki {{-ha-}} ===Magac=== '''Bincike''' [[raadi]] ax9jix2spre9mdnj2ehxw91otlbnv52 pesquisa 0 4213 19140 14729 2017-04-28T17:28:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19140 wikitext text/x-wiki {{-pt-}} === Magac === '''pesquisa''' # [[raadi]] pms5z3oahk5ekrxj6urbhc1ieceltcw хайх 0 4214 19619 17315 2017-04-28T17:32:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19619 wikitext text/x-wiki {{-mn-}} === Magac === '''хайх''' (khaikh) # [[raadi]] nba6pdan3g9lgq1vrxmtmnb6e7iohn5 Template:-ha- 10 4215 10583 2014-05-04T13:02:07Z 177.157.118.236 Bog cusub: <includeonly>[[Category:Hausa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hausa</big></big></big> (ha)</div>== <br><noinclude> <!--Ca... 10583 wikitext text/x-wiki <includeonly>[[Category:Hausa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hausa</big></big></big> (ha)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> tn4h837kk9wgzyzvsyzpgbnljczoedc Template:-tl- 10 4216 10584 2014-05-04T13:03:12Z 177.157.118.236 Bog cusub: <includeonly>[[Category:Tagaloga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tagalog</big></big></big> (tl)</div>== <br><noinclude> <!-... 10584 wikitext text/x-wiki <includeonly>[[Category:Tagaloga ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tagalog</big></big></big> (tl)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> do58kwypzt2771mgki0yq3lq66oxdo2 Template:-mn- 10 4217 12410 10585 2015-02-08T12:20:04Z 201.86.174.11 12410 wikitext text/x-wiki <includeonly>[[Category:Mangooli ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Mangooli</big></big></big> (mn)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> k3u67muhvwkm3v2x2y3oyxgg034pijr khaaska 0 4218 10586 2014-05-04T13:13:16Z 177.157.118.236 Bog cusub: {{-so-}} ===Magac=== '''khaaska''' ===Tarjumaad=== {{kor}} *{{sq}}: [[veçantë]] *{{ar}}: [[خاص]] *{{az}}: [[xüsusi]] *{{et}}: [[eriline]] {{dhaxda}} *{{hu}}: [[speciális]] *{{k... 10586 wikitext text/x-wiki {{-so-}} ===Magac=== '''khaaska''' ===Tarjumaad=== {{kor}} *{{sq}}: [[veçantë]] *{{ar}}: [[خاص]] *{{az}}: [[xüsusi]] *{{et}}: [[eriline]] {{dhaxda}} *{{hu}}: [[speciális]] *{{ko}}: [[특별한]] (teugbyeolhan) *{{mn}}: [[тусгай]] (tusgai) *{{vi}}: [[đặc biệt]] {{hoos}} oxxaym1w942smecghjvmzkgkheazk07 veçantë 0 4219 19452 13863 2017-04-28T17:30:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19452 wikitext text/x-wiki {{-sq-}} === Magac === '''veçantë''' [[khaaska]] 42s9jl7xr8s2o3ysmv0w7yr6oko0496 đặc biệt 0 4220 19522 17709 2017-04-28T17:31:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19522 wikitext text/x-wiki {{-vi-}} === Magac === '''đặc biệt''' [[khaaska]] awnxongbqyfbw2geiivfie5efh8srbm خاص 0 4221 19677 14155 2017-04-28T17:32:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19677 wikitext text/x-wiki {{-ar-}} === Magac === '''خاص''' # [[khaaska]] nh5q44n31kskppqmfr5xuneogwjxyrh 특별한 0 4222 19772 14198 2017-04-28T17:33:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19772 wikitext text/x-wiki {{-ko-}} === Magac === '''특별한''' (teugbyeolhan) # [[khaaska]] 41gvlqdh1pfmyuear17zx4qb1ung4mr тусгай 0 4223 19616 13797 2017-04-28T17:31:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19616 wikitext text/x-wiki {{-mn-}} === Magac === '''тусгай''' (tusgai) [[khaaska]] 3dffpt7ehylijf99vqqv1ahoofx3buj xüsusi 0 4224 19484 14548 2017-04-28T17:31:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19484 wikitext text/x-wiki {{-az-}} === Magac === '''xüsusi''' # [[khaaska]] 8fpmqd5yqba58f172t6rjgds3yqjh4v eriline 0 4225 18714 17416 2017-04-28T17:25:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18714 wikitext text/x-wiki {{-et-}} === Magac === '''eriline''' * [[khaaska]] t17yzl5j11pq8zjv6n1f7gkfkrxmr4r speciális 0 4226 19325 14047 2017-04-28T17:29:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19325 wikitext text/x-wiki {{-hu-}} === Magac === '''speciális''' [[khaaska]] 3e50hz2jg4xytn1drp7aenuh6vbpckw musamman 0 4227 19053 13981 2017-04-28T17:28:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19053 wikitext text/x-wiki {{-ha-}} === Magac === '''musamman''' [[khaaska]] 2ktr6xt9kb8bxow7bca22t67lqlbl7v especial 0 4228 18716 17676 2017-04-28T17:25:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18716 wikitext text/x-wiki {{-gl-}} === Magac === '''especial''' # [[khaas]] # [[khaaska]] {{-es-}} === Magac === '''especial''' [[khaas]] {{-pt-}} === Magac === '''especial''' [[khaas]] 4de4qudc9j41r5n7iuox66w6xnh15ee espesyal 0 4229 18717 16584 2017-04-28T17:25:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18717 wikitext text/x-wiki {{-tl-}} === Magac === '''espesyal''' [[khaas]] qwig8wz1rxl9n15aizy1q7yaqra46dt Togo 0 4230 30336 18349 2024-08-28T07:16:38Z CommonsDelinker 15 Replacing Flag_of_Togo.svg with [[File:Flag_of_Togo_(3-2).svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: 3-2 aspect ratio is more accurate than "golden ratio". See [[:c::en:Talk:Flag of Togo#Truly_golden?|]] for more information.). 30336 wikitext text/x-wiki [[File:Flag of Togo (3-2).svg|thumb|350px|Bayroq Togo]] [[File:LocationTogo.svg|thumb|350px|Tarqalishini '''Togo''']] [[File:Togo Regions.png|thumb|350px|Hudud '''Togo''']] {{-so-}} === Magac === '''Togo''' {{-uz-}} === Magac === '''Togo''' {{-af-}} === Magac === '''Togo''' {{-sq-}} === Magac === '''Togo''' {{-ast-}} === Magac === '''Togo''' {{-an-}} === Magac === '''Togo''' {{-eu-}} === Magac === '''Togo''' {{-br-}} === Magac === '''Togo''' {{-ca-}} === Magac === '''Togo''' {{-da-}} === Magac === '''Togo''' {{-eo-}} === Magac === '''Togo''' {{-et-}} === Magac === '''Togo''' {{-ia-}} === Magac === '''Togo''' {{-pt-}} === Magac === '''Togo''' {{-es-}} === Magac === '''Togo''' {{-fo-}} === Magac === '''Togo''' {{-fi-}} === Magac === '''Togo''' {{-fr-}} === Magac === '''Togo''' {{-gl-}} === Magac === '''Togo''' {{-hu-}} === Magac === '''Togo''' {{-ht-}} === Magac === '''Togo''' {{-id-}} === Magac === '''Togo''' {{-la-}} === Magac === '''Togo''' {{-lv-}} === Magac === '''Togo''' {{-li-}} === Magac === '''Togo''' {{-ln-}} === Magac === '''Togo''' {{-lt-}} === Magac === '''Togo''' {{-lb-}} === Magac === '''Togo''' {{-ms-}} === Magac === '''Togo''' {{-de-}} === Magac === '''Togo''' {{-no-}} === Magac === '''Togo''' {{-mt-}} === Magac === '''Togo''' {{-nl-}} === Magac === '''Togo''' {{-pl-}} === Magac === '''Togo''' {{-qu-}} === Magac === '''Togo''' {{-rm-}} === Magac === '''Togo''' {{-rw-}} === Magac === '''Togo''' {{-scn-}} === Magac === '''Togo''' {{-sk-}} === Magac === '''Togo''' {{-sl-}} === Magac === '''Togo''' {{-sw-}} === Magac === '''Togo''' {{-sv-}} === Magac === '''Togo''' {{-tl-}} === Magac === '''Togo''' {{-tr-}} === Magac === '''Togo''' {{-tpi-}} === Magac === '''Togo''' {{-tk-}} === Magac === '''Togo''' {{-vi-}} === Magac === '''Togo''' {{-cy-}} === Magac === '''Togo''' {{-wo-}} === Magac === '''Togo''' {{-sh-}} === Magac === '''Togo''' {{-cs-}} === Magac === '''Togo''' 65py446n6tmvq4zgvf4keg6ccj6hz2g Template:-sh- 10 4231 10605 2014-05-10T16:04:22Z 177.133.18.148 Bog cusub: <includeonly>[[Category:Serbiyaan-Koreeshiyan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Serbiyaan-Koreeshiyan</big></big></big> (sh)<... 10605 wikitext text/x-wiki <includeonly>[[Category:Serbiyaan-Koreeshiyan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Serbiyaan-Koreeshiyan</big></big></big> (sh)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> omc9xqu0xumcs4mtnrwogte6mzdtxba Ugaandha 0 4232 18355 13880 2017-04-28T17:23:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18355 wikitext text/x-wiki [[File:Flag of Uganda.svg|thumb|300px|Ugaandha]] {{-so-}} === Magac === '''Ugaandha''' 420w2e2s53j4cf6ozz0ylbtx4x9nqd4 bobsley 0 4233 18511 13885 2017-04-28T17:24:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18511 wikitext text/x-wiki {{-af-}} === Magac === '''bobsley''' {{-en-}} === Magac === '''bobsley''' {{-nl-}} === Magac === '''bobsley''' {{-tl-}} === Magac === '''bobsley''' {{-uz-}} === Magac === '''bobsley''' mbcfydjd9xfrixuixoltimhdjsz6jyh Saint Lucia 0 4234 18336 15831 2017-04-28T17:22:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18336 wikitext text/x-wiki {{wikipedia}} [[File:Flag of Saint Lucia.svg|thumb|Saint Lucia]] {{-en-}} === Magac === '''Saint Lucia''' {{-af-}} === Magac === '''Saint Lucia''' {{-ca-}} === Magac === '''Saint Lucia''' {{-da-}} === Magac === '''Saint Lucia''' {{-nl-}} === Magac === '''Saint Lucia''' {{-fi-}} === Magac === '''Saint Lucia''' {{-id-}} === Magac === '''Saint Lucia''' {{-ms-}} === Magac === '''Saint Lucia''' {{-de-}} === Magac === '''Saint Lucia''' {{-an-}} === Magac === '''Saint Lucia''' {{-it-}} === Magac === '''Saint Lucia''' {{-no-}} === Magac === '''Saint Lucia''' {{-pl-}} === Magac === '''Saint Lucia''' {{-ro-}} === Magac === '''Saint Lucia''' {{-sv-}} === Magac === '''Saint Lucia''' {{-tl-}} === Magac === '''Saint Lucia''' {{-vi-}} === Magac === '''Saint Lucia''' {{-uz-}} === Magac === '''Saint Lucia''' ev980dys690yf47hf12557o5wkoq6sg Wiktionary talk:Albaabka bulshada 5 4235 16814 11544 2016-06-29T10:50:05Z MediaWiki message delivery 1259 /* Standard bot policy */ new section 16814 wikitext text/x-wiki == Using only [[commons:Special:MyLanguage/Commons:Upload Wizard|UploadWizard]] for uploads == [[Image:Commons-logo.svg|right|220px|alt=Wikimedia Commons logo]] <div lang="en" dir="ltr" class="mw-content-ltr"> Hello! It was noted that on this wiki you have [[Special:Statistics|less than 10 local files]]. Presumably, you therefore don't have interest nor energies to have [[commons:Category:Licensing templates|hundreds templates]] with the [[mw:Multimedia/Media Viewer/Template compatibility|now required HTML]], even less a local [[m:EDP|EDP]]. However, this means that users here will experience a mostly broken and/or [[wmf:Resolution:Licensing policy|illegal]] uploading. I propose to * '''have [[Special:Upload|local upload]] [[commons:Commons:Turning off local uploads|restricted]]''' to the "{{int:group-sysop}}" group (for emergency uploads) and * the '''sidebar point to [[commons:Special:UploadWizard]]''', so that you can avoid local maintenance and all users can have a functioning, easy upload interface [[translatewiki:Special:Translate/ext-uploadwizard|in their own language]]. All registered users can upload on Commons and [[Special:ListFiles|existing files]] will not be affected. I'll get this done in one week from now. # If you disagree with the proposal, just [[m:User:Nemo bis/Unused local uploads|remove your wiki from the list]]. # To make the UploadWizard even better, please tell your experience and ideas on [[commons:Commons:Upload Wizard feedback]]. [[m:User:Nemo_bis|Nemo]] 20:38, 19 May 2014 (UTC) </div> <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User_talk:Nemo_bis/Unused_local_uploads&oldid=8578536 --> == 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:34, 14 Nofeembar 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 --> == Standard bot policy == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello, To facilitate [[m:steward|steward]] granting of [[m:bot|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 (interwiki) 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. At this moment the Wiktionaries are not supported by [[d:|Wikidata]] yet, so interwiki bot activity will still be present in this project. 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 (or the community page where bot requests are handled) 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 in two weeks 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. If you have any questions, feel free to ask me at [[m:User talk:MarcoAurelio|my talk page at Meta-Wiki]]. Thank you very much, --[[m:User:MarcoAurelio|MarcoAurelio]] 10:50, 29 Juun 2016 (UTC) </div> <!-- Message sent by User:MarcoAurelio@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:MarcoAurelio/BP2&oldid=15730310 --> ho62hkyy1c4b2d8q54w12g9vc937czz kurihii 0 4236 10614 10613 2014-05-22T18:00:04Z 177.41.116.214 10614 wikitext text/x-wiki {{-so-}} ===Magac=== '''kurihii''' ctpjbnb76r12zj1vyu7s0nn47u1kens Category:Interlinguwa ereyada 14 4237 19896 17423 2017-07-03T13:38:28Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19896 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx عرض 0 4238 19686 16782 2017-04-28T17:32:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19686 wikitext text/x-wiki {{-ar-}} === Magac === '''عرض''' # [[shaashad]] 5m1gt5744r33znaxzxdjxgbgf01gpln màn hình hiển thị 0 4239 19054 13980 2017-04-28T17:28:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19054 wikitext text/x-wiki {{-vi-}} === Magac === '''màn hình hiển thị''' # [[shaashad]] pfnb88b2drozfwms4v0xulitko4njrs kijelző 0 4240 18931 13950 2017-04-28T17:27:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18931 wikitext text/x-wiki {{-hu-}} === Magac === '''kijelző''' # [[shaashad]] emoacwng5o29bhop8eqcfeasm2rujjx soleil 0 4241 19314 18153 2017-04-28T17:29:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19314 wikitext text/x-wiki {{-fr-}} === Magac === '''soleil''' [[qorrax]] 705l0pfh8uiqdkptbf9q32eawt0yctv äiti 0 4242 19511 17350 2017-04-28T17:31:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19511 wikitext text/x-wiki {{-fi-}} === Magac === '''äiti''' [[hooyo]] pg0fgjlzhjrnd7yaskcg6vtpayai1sd waalid 0 4243 10625 2014-06-04T11:02:14Z 200.130.64.1 Bog cusub: {{-so-}} ===Magac=== '''waalid''' 10625 wikitext text/x-wiki {{-so-}} ===Magac=== '''waalid''' jugira50itr0sn6qhd7n18uxch9lkbu shukulaatada 0 4244 10626 2014-06-04T11:08:11Z 200.130.64.1 Bog cusub: {{-so-}} ===Magac=== '''shukulaatada''' *Caanaha [[shukulaato]] waa dabaqad cuntada, taas oo ay jirto joogitaanka shukulaatada ah. In ay Ninkan fudud, shukulaatada ee ku jira qiyaasti... 10626 wikitext text/x-wiki {{-so-}} ===Magac=== '''shukulaatada''' *Caanaha [[shukulaato]] waa dabaqad cuntada, taas oo ay jirto joogitaanka shukulaatada ah. In ay Ninkan fudud, shukulaatada ee ku jira qiyaastii 70% sucrose ama sonkor kale iyo 30% oo ah budada kookaha. Si shukulaatada ku daraan kartaa budada caanaha si loo gaaro alaabta dhamaystiran iyo si dhab ah dumaya. Waxaa sida caadiga ah aan la isticmaalin budada caanaha sabab u tahay isbedelka yaqaanaa murqo-in la xaddido nolosha ee alaabta waxtar leh. Maaddooyinka kale ee caadiga ah loo isticmaalo ee ay socotey ganacsiga alaabta shukulaatada ka mid ah laga soosaaray malt, glucose, fitamiinada E iyo macdanta sida dheeri ah. ===Tarjumaad=== *{{pt}}: [[achocolatado]] hv9tx004aeydqx42ep94n4i626h5p7o achocolatado 0 4245 18379 12825 2017-04-28T17:23:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18379 wikitext text/x-wiki {{-pt-}} === Magac === '''achocolatado''' [[shukulaatada]] {{-es-}} === Magac === '''achocolatado''' [[shukulaatada]] sjqg6mu346sexy469py5gbvq0ue1uu1 daabicikaro 0 4246 26850 10628 2024-02-27T04:15:04Z Girligaanshub 3150 26850 wikitext text/x-wiki {{-so-}} == Magac == '''daabicikaro''' === Tarjumaad === * {{en}}: printable 6f21gnccf2xkyrnfkmaqzzzedu8s4s2 sida 0 4247 19296 18244 2017-04-28T17:29:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19296 wikitext text/x-wiki {{-so-}} === Magac === '''sida''' {{-fr-}} === Magac === '''sida''' === Dhawaaqida === * {{audio|Fr-sida.ogg|Audio|lang=fr}} {{-no-}} === Magac === '''sida''' {{-sv-}} === Magac === '''sida''' === Dhawaaqida === * {{audio|Sv-sida.ogg|audio|lang=sv}} fg6xnj7kvhbcynjpbztzc2e52eynw1f Surinam 0 4248 18345 17659 2017-04-28T17:22:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18345 wikitext text/x-wiki {{-an-}} '''Surinam''' {{-az-}} '''Surinam''' {{-ast-}} '''Surinam''' {{-eu-}} '''Surinam''' {{-sh-}} '''Surinam''' {{-ca-}} '''Surinam''' {{-cs-}} '''Surinam''' {{-da-}} '''Surinam''' {{-en-}} '''Surinam''' {{-es-}} '''Surinam''' {{-fr-}} '''Surinam''' {{-gl-}} '''Surinam''' {{-de-}} '''Surinam''' {{-no-}} '''Surinam''' {{-pl-}} '''Surinam''' {{-ro-}} '''Surinam''' {{-sw-}} '''Surinam''' {{-tr-}} '''Surinam''' {{-sk-}} '''Surinam''' {{-sl-}} '''Surinam''' {{-sv-}} '''Surinam''' {{-uz-}} '''Surinam''' === Tarjumaad === * {{ar}}: [[سورينام]] (Surīnām) * {{en}}: [[Suriname]] * {{pt}}: [[Suriname]] * {{fa}}: [[سورینام]] (surinâm) bnxkpu62kul0vr0k9f4io3rc5dtxd5j sarimsoq 0 4249 19250 18004 2017-04-28T17:29:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19250 wikitext text/x-wiki {{-uz-}} === Magac === '''sarimsoq''' [[toon]] 5pciuqnoa3swboisoh9bu3p53pzubr2 toon 0 4250 19398 17947 2017-04-28T17:30:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19398 wikitext text/x-wiki {{-so-}} === Magac === '''toon''' === Tarjumaad === * {{sq}}: [[hudhër]] * {{ar}}: [[ثوم]] * {{en}}: [[garlic]] * {{fi}}: [[valkosipuli]] * {{lv}}: [[ķiploks]] * {{de}}: [[Knoblauch]] * {{nl}}: [[knoflook]] * {{pl}}: [[czosnek]] * {{pt}}: [[alho]] * {{ru}}: [[чеснок]] * {{tr}}: [[sarımsak]] * {{uz}}: [[sarimsoq]] * {{uk}}: [[часник]] (chasnyk) * {{vi}}: [[tỏi]] fhtjx6bsc8izw86cn3hms6nex342kpm часник 0 4251 19622 18106 2017-04-28T17:32:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19622 wikitext text/x-wiki {{-uk-}} === Magac === '''часник''' (chasnyk) [[toon]] pv2rr4dorigh99i05ovlbaxpkwrd06f tỏi 0 4252 19425 18101 2017-04-28T17:30:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19425 wikitext text/x-wiki {{-vi-}} === Magac === '''tỏi''' * [[toon]] ihbihr4kc8vxkyenvurjhfaapgw2cz1 ثوم 0 4253 19674 18010 2017-04-28T17:32:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19674 wikitext text/x-wiki {{-ar-}} === Magac === '''ثوم''' * [[toon]] cy25hg70xx3x8t90sjnfustohl29rds чеснок 0 4254 19624 17980 2017-04-28T17:32:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19624 wikitext text/x-wiki {{-ru-}} === Magac === '''чеснок''' * [[toon]] srakf9buwri7od42hz0l8yiyc5t283s ajo 0 4255 18403 17795 2017-04-28T17:23:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18403 wikitext text/x-wiki {{-es-}} === Magac === '''ajo''' [[toon]] 53iaur5oqx05fec7arh3po849xnx98y alho 0 4256 18409 17796 2017-04-28T17:23:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18409 wikitext text/x-wiki {{-pt-}} === Magac === '''alho''' [[toon]] tve3krifs8tzij32218nzbd3l88zpc2 aglio 0 4257 18393 17877 2017-04-28T17:23:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18393 wikitext text/x-wiki {{-it-}} === Magac === '''aglio''' [[toon]] lrofup85fkhoxj7yeixkx17s4h66xjn czosnek 0 4258 18594 17819 2017-04-28T17:24:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18594 wikitext text/x-wiki {{-pl-}} === Magac === '''csosnek''' [[toon]] jq0cz138i8uc0pw3889dt1pkay1557u hudhër 0 4259 18855 17610 2017-04-28T17:26:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18855 wikitext text/x-wiki {{-sq-}} === Magac === '''hudhër''' [[toon]] am0qp1gobpzs4xpymxzptvomd2259qx garlic 0 4260 18790 17605 2017-04-28T17:26:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18790 wikitext text/x-wiki {{-en-}} === Magac === '''garlic''' * [[toon]] 3cn6ybf2aau7ncxuefz498i9qytomtl ķiploks 0 4261 19528 13611 2017-04-28T17:31:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19528 wikitext text/x-wiki {{-lv-}} === Magac === '''ķiploks''' * [[toon]] ar1xflxz5ksm990fhu3uisn8jglznb5 valkosipuli 0 4262 19440 17783 2017-04-28T17:30:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19440 wikitext text/x-wiki {{-fi-}} === Magac === '''valkosipuli''' * [[toon]] h54g1kxsvn6krczq3yng2rmji1x9cxd knoflook 0 4263 18937 17843 2017-04-28T17:27:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18937 wikitext text/x-wiki {{-nl-}} === Magac === '''knoflook''' [[toon]] mgwk0hegowp6plsu49v1q6f2581ptnf Knoblauch 0 4264 18312 17786 2017-04-28T17:22:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18312 wikitext text/x-wiki {{-de-}} === Magac === '''Knoblauch''' * [[toon]] ddsycjj4ccydv2luc8qmn14jss1h0a1 andoza 0 4265 18423 10663 2017-04-28T17:23:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18423 wikitext text/x-wiki {{-uz-}} === Magac === '''andoza''' [[tusmo]] jek7n4xn83b7he4kpoimk7naaob6795 mil 0 4266 19032 17785 2017-04-28T17:27:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19032 wikitext text/x-wiki {{-ast-}} === Magac === '''mil''' {{-br-}} === Magac === '''mil''' * {{CGX|/ˈmiːl/|lang=br}} {{-ca-}} === Magac === '''mil''' {{-eo-}} === Magac === '''mil''' {{-et-}} === Magac === '''mil''' {{-fr-}} === Magac === '''mil''' * {{CGX|/mil/|/mij/|lang=fr}} {{-gl-}} === Magac === '''mil''' {{-io-}} === Magac === '''mil''' {{-ga-}} === Magac === '''mil''' {{-en-}} === Magac === '''mil''' {{-ku-}} === Magac === '''mil''' {{-pt-}} === Magac === '''mil''' {{-gd-}} === Magac === '''mil''' {{-sl-}} === Magac === '''mil''' * {{CGX|lang=sl|/ˈmíːl/}} * {{sl-tonal|mȋl}} {{-es-}} === Magac === '''mil''' * {{CGX|/mil/|lang=es}} {{-sv-}} === Magac === '''mil''' * {{CGX|/miːl/|lang=sv}} * {{audio|Sv-mil.ogg|audio|lang=sv}} {{-tt-}} '''mil''' {{-tr-}} === Magac === '''mil''' * {{CGX|/ˈmil/|lang=tr}} {{-vo-}} === Magac === '''mil''' {{-cy-}} === Magac === '''mil''' aq7m18xynfqmu598e14falxqe8dqo5m download 0 4267 18664 17179 2017-04-28T17:25:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18664 wikitext text/x-wiki {{-en-}} === Magac === '''download''' === Asalkeeda === Ka {{horgale|down|load|lang=en}}. === Dhawaaqida === * {{a|RP}} {{CGX|/ˌdaʊnˈləʊd/|lang=en}} * {{a|US}} {{CGX|/ˈdaʊnˌloʊd/|lang=en}} * {{audio|en-us-download.ogg|Audio (US)|lang=en}} ==== Shuruudaha soo minguuriyey ==== * [[DL]] , [[dl]] , [[d/l]] , [[D/L]] {{isreebreebka|abbreviation}} hzvsr8q2xc4h7hv7aa1zqiefs2gfa32 Template:horgale 10 4268 10669 10668 2014-06-15T14:58:41Z 179.179.42.161 10669 wikitext text/x-wiki {| border=0 width=100% |- |bgcolor="#e2e2ff" valign=top width=100%| Horgale<br> '''{{{1|{{PAGENAME}}}}}''' |}<includeonly>[[Category:Horgala]]</includeonly><noinclude> <noinclude>{{diiwaaninta}}</noinclude> 7kux2quqciaqy6ccbf9kktfj0se8mrt Template:cad 10 4269 10670 2014-06-15T15:04:00Z 179.179.42.161 Bog cusub: <div style="cad:both;"></div> 10670 wikitext text/x-wiki <div style="cad:both;"></div> 3s3rsrwvbji316tewwq61saxb3t2j07 Category:Ayslandays ereyada 14 4270 19865 17137 2017-07-03T13:37:45Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19865 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx bedelay 0 4271 10679 2014-06-29T15:01:57Z 179.179.57.9 Bog cusub: {{-so-}} ===Magac=== '''bedelay''' 10679 wikitext text/x-wiki {{-so-}} ===Magac=== '''bedelay''' ik3oglw3mx6k3hlll35yem9ckfn51ae mukulaal 0 4272 30828 23740 2024-09-18T20:57:14Z 2001:2044:70A:7700:EF06:F9D2:3884:92FF /* Magac */Added alternative 30828 wikitext text/x-wiki {{-so-}} === Magac === '''mukulaal, mugulaal''' # Nooc la dajiyay (Felis catus) oo ah xayawaan dhogor ah, oo caadi ahaan loo hayo sidii xayawaan guri. erlf4tfhkz9qzy3oqwvrrtbybr476yq bisad 0 4273 18504 17807 2017-04-28T17:24:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18504 wikitext text/x-wiki {{-so-}} === Magac === '''bisad''' ppgmhd3a4ryhii4iq1jafb7vakqfmnx dameer 0 4274 18600 16570 2017-04-28T17:24:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18600 wikitext text/x-wiki {{-so-}} === Magac === '''dameer''' * {{tr}}: [[eşek]] 3yaty3zv448xk8241ztv2uj5ks9nqe2 Category:Yukreeniyaan ereyada 14 4275 19951 17361 2017-07-03T13:39:25Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19951 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Turkumaanish ereyada 14 4276 19945 16999 2017-07-03T13:39:18Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19945 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx dugsi 0 4277 28686 18674 2024-07-05T03:31:47Z Girligaanshub 3150 28686 wikitext text/x-wiki {{-so-}} === Magac === '''dugsi''' * {{tr}}: [[okul]] * {{en}}: school 9xqklqlekner05w1lcbpeuu4i1j69yv ganacsi 0 4278 28790 28789 2024-07-20T01:40:50Z Girligaanshub 3150 28790 wikitext text/x-wiki {{-so-}} == Magac == '''ganacsi''' === Tarjumaad === * {{en}}: business ===Synonyms=== *[[ganacsi]], [[warshad]], [[shirkad]] s2f2b7r97iw39oa51v4s0zfavccjid5 User:Jalexander 2 4280 10861 2014-08-17T23:20:12Z MF-Warburg 63 MF-Warburg moved page [[User:Jalexander]] to [[User:Jalexander-WMF]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Jalexander|Jalexander]]" to "[[Special:CentralAuth/Jalexander-WMF|Jalexander-WMF]]" 10861 wikitext text/x-wiki #REDIRECT [[User:Jalexander-WMF]] t8nu6cznx4zp6ma22gdrxm4g2v8pz98 User:Prenn (usurped 2) 2 4282 16041 10873 2016-04-26T17:24:22Z Cyberpower678 1609 Cyberpower678 moved page [[User:Prenn]] to [[User:Prenn (usurped 2)]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Prenn|Prenn]]" to "[[Special:CentralAuth/Prenn (usurped 2)|Prenn (usurped 2)]]" 16041 wikitext text/x-wiki [[File:Redirectltr.png|#REDIRECT|link=]]<span class="redirectText" id="softredirect">[[:User:Pinus|User:Pinus]]</span><br /><span style="font-size:85%; padding-left:48px;">This page is a [[w:Wikipedia:Soft redirect|soft redirect]].</span> bk1h0zcgkuuwy5d2cefva7mixy9eihl User:Good afternoon 2 4283 10997 2014-08-27T03:42:29Z Pathoschild 41 global user pages ([[m:User:Pathoschild/Scripts/Synchbot|requested by Good afternoon]]) 10997 wikitext text/x-wiki __NOINDEX__ Greetings! I'm most active on [[:w:zh:User:Good afternoon|Chinese Wikipedia]]. Please leave me messages there. Thank you! 5p9zn8ygjlpiez32knrqmg16jzgc3ps User:Vanished user 9oijnsdfknefijh3tjasfi34 2 4285 15489 11176 2015-11-13T03:10:36Z Nihonjoe 371 Nihonjoe moved page [[User:Romtam]] to [[User:Vanished user 9oijnsdfknefijh3tjasfi34]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Romtam|Romtam]]" to "[[Special:CentralAuth/Vanished user 9oijnsdf... 15489 wikitext text/x-wiki <center>Hi there. If you want to contact me, please visit my talk page at [[m:w:en:User talk:Romtam|English Wikipedia]] or [[m:w:th:คุยกับผู้ใช้:Romtam|Thai Wikipedia]]. Thanks for visiting. <br /> สวัสดีครับ ถ้าคุณต้องการติดต่อผม ขอให้คุยที่[[m:w:th:คุยกับผู้ใช้:Romtam|วิกิพีเดีย]]ครับ ขอบคุณครับ <br /> [[File:BTS Surasak Aug2014.jpg|700px]]</center> kflhupopageql1pdurbu1tyspe6jq1i User:Vajotwo 2 4287 11186 2014-09-14T16:31:46Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Vajotwo]]) 11186 wikitext text/x-wiki '''Hi, if you want to contact me, please visit my talk page at [[m:w:it:User talk:Vajotwo|Italian Wikipedia]]. Thanks for your attention''' 3x6177sgt4xcdumkkbdt95dxsj5r9n8 User talk:Vanished user 9oijnsdfknefijh3tjasfi34 3 4288 15490 11235 2015-11-13T03:10:46Z Nihonjoe 371 Nihonjoe moved page [[User talk:Romtam]] to [[User talk:Vanished user 9oijnsdfknefijh3tjasfi34]] without leaving a redirect: Automatically moved page while renaming the user "[[Special:CentralAuth/Romtam|Romtam]]" to "[[Special:CentralAuth/Vanished use... 15490 wikitext text/x-wiki <center>Hi there. If you want to contact me, please visit my talk page at [[m:w:en:User talk:Romtam|English Wikipedia]] or [[m:w:th:คุยกับผู้ใช้:Romtam|Thai Wikipedia]]. Thanks for visiting. <br /> สวัสดีครับ ถ้าคุณต้องการติดต่อผม ขอให้คุยที่[[m:w:th:คุยกับผู้ใช้:Romtam|วิกิพีเดีย]]ครับ ขอบคุณครับ <br /> [[File:BTS Surasak Aug2014.jpg|700px]]</center> kflhupopageql1pdurbu1tyspe6jq1i User:Hym411 2 4289 32274 11539 2024-11-04T11:31:58Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[User:Revi C.]] 32274 wikitext text/x-wiki #REDIRECT [[User:Revi C.]] 88g0cv17whfgb1wkeh281mptujwtlut User talk:Hym411 3 4290 32275 11540 2024-11-04T11:32:18Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[User talk:Revi C.]] 32275 wikitext text/x-wiki #REDIRECT [[User talk:Revi C.]] o9z79lcc9a9pfmqmrod5w3eyk4q9i0o Uzbek 0 4293 18358 16510 2017-04-28T17:23:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18358 wikitext text/x-wiki {{-en-}} === Magac === '''Uzbek''' # [[usbakis]] 8vfo4oa0vigonorv4aczgnjaihjq6py Template:-fy- 10 4295 12177 11475 2015-02-07T00:49:49Z 177.133.7.166 12177 wikitext text/x-wiki <includeonly>[[Category:Firiisiyan galbeed ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big>Firiisiyan Galbeed</big></big></big> (fy)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 36vgkpecb1a8ru2o1e5shkpc5u47fmi Template:-mi- 10 4296 11476 2014-10-12T22:02:52Z 177.205.38.136 Bog cusub: <includeonly>[[Category:Maori ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maori</big></big></big> (mi)</div>== <br><noinclude> <!--Ca... 11476 wikitext text/x-wiki <includeonly>[[Category:Maori ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maori</big></big></big> (mi)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> nd8xxg6xkgwgh17dcg9u85nmvis64l3 Template:-mr- 10 4297 11477 2014-10-12T22:04:32Z 177.205.38.136 Bog cusub: <includeonly>[[Category:Maarati ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maarati</big></big></big> (mr)</div>== <br><noinclude> <!--... 11477 wikitext text/x-wiki <includeonly>[[Category:Maarati ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maarati</big></big></big> (mr)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> kdwm5y2aa1b9sngfhfqiyz33ebbt4f9 Template:-sm- 10 4298 11478 2014-10-12T22:06:40Z 177.205.38.136 Bog cusub: <includeonly>[[Category:Samoowa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Samoowa</big></big></big> (sm)</div>== <br><noinclude> <!--... 11478 wikitext text/x-wiki <includeonly>[[Category:Samoowa ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Samoowa</big></big></big> (sm)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 9ayt6o9tq73cujrmm4hd07izwg14no4 Template:-om- 10 4299 11479 2014-10-12T22:13:30Z 177.205.38.136 Bog cusub: <includeonly>[[Category:Oromo ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Oromo</big></big></big> (om)</div>== <br><noinclude> <!--Ca... 11479 wikitext text/x-wiki <includeonly>[[Category:Oromo ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Oromo</big></big></big> (om)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 0w4s110rrplcbmfr35gsjjkb76xxsek Template:-am- 10 4300 20037 20034 2018-10-28T13:54:34Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20037 wikitext text/x-wiki ==amxaariga== 1tytjdw2piuuz2w4iht1mv73rwyakt5 Category:Taaylandays ereyada 14 4301 19938 18258 2017-07-03T13:39:11Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19938 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User:Conquistador/sandbox 2 4302 15518 15515 2015-11-15T21:14:43Z Conquistador 1332 page blanking 15518 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Template:softredirect 10 4303 11499 2014-10-16T14:08:14Z Conquistador 1332 Bog loo bedeley [[Template:Softredirect]] 11499 wikitext text/x-wiki #REDIRECT [[Template:Softredirect]] e3seyzdad101twwwboft021dw04ej42 dhamaan 0 4306 11545 2014-11-19T16:00:57Z 177.133.80.236 Bog cusub: {{-so-}} ==Magac== '''dhamaan''' 11545 wikitext text/x-wiki {{-so-}} ==Magac== '''dhamaan''' oeylfql0fh54w65qdzmuj626ydnkc58 trajumaad 0 4307 11546 2014-11-19T16:02:18Z 177.133.80.236 Bog cusub: {{-so-}} ===Magac=== '''trajumaad''' 11546 wikitext text/x-wiki {{-so-}} ===Magac=== '''trajumaad''' nd8000s6n7qvt4y5xmjzp4p06vt7pqn daanyeer 0 4308 11547 2014-11-19T16:05:20Z 177.133.80.236 Bog cusub: {{-so-}} ==Magac== '''daanyeer''' ===Trajumaad=== *{{en}}: [[monkey]] *{{pt}}: [[dinheiro]] 11547 wikitext text/x-wiki {{-so-}} ==Magac== '''daanyeer''' ===Trajumaad=== *{{en}}: [[monkey]] *{{pt}}: [[dinheiro]] 8uoxmci5mtfe9yypyf0fjzgqxat40hq monkey 0 4309 19040 16280 2017-04-28T17:27:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19040 wikitext text/x-wiki {{-en-}} == Magac == '''monkey''' [[daanyeer]] kfrrhh961ufh5tjinna7jd9kyzs0nrv dameerkiisa 0 4310 11549 2014-11-19T16:07:38Z 177.133.80.236 Bog cusub: {{-so-}} ==Magac== '''dameerkiisa''' ===Trajumaad=== *{{en}}: [[donkey]] *{{ka}}: [[ვირი]] *{{pt}}: [[macaco]] 11549 wikitext text/x-wiki {{-so-}} ==Magac== '''dameerkiisa''' ===Trajumaad=== *{{en}}: [[donkey]] *{{ka}}: [[ვირი]] *{{pt}}: [[macaco]] essu48rwnycmq1e53drhf6c5ic0y7du macaco 0 4311 19006 13966 2017-04-28T17:27:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19006 wikitext text/x-wiki {{-es-}} == Magac == '''macaco''' [[dameerkiisa]] {{-gl-}} == Magac == '''macaco''' [[dameerkiisa]] {{-pt-}} == Magac == '''macaco''' [[dameerkiisa]] sogn677ov8ab39czmr0k763b3esiqj3 ვირი 0 4312 19721 16805 2017-04-28T17:32:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19721 wikitext text/x-wiki {{-ka-}} == Magac == '''ვირი''' [[dameerkiisa]] eyrzc5glagky8gmqu46ubaap7ctua5x donkey 0 4313 18657 16217 2017-04-28T17:25:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18657 wikitext text/x-wiki {{-en-}} == Magac == '''donkey''' [[dameerkiisa]] hgpcpl3g7nyjb9suewlpaxx87npicec åsna 0 4314 19512 17967 2017-04-28T17:31:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19512 wikitext text/x-wiki {{-sv-}} == Magac == '''åsna''' [[dameerkiisa]] j43y5iy2212eymobkv08c5hj4bjl8r4 dhamaantood 0 4315 11554 2014-11-19T16:14:28Z 177.133.80.236 Bog cusub: {{-so-}} ==Sifo== '''dhamaantood''' 11554 wikitext text/x-wiki {{-so-}} ==Sifo== '''dhamaantood''' qc02eaknlw6hi0g7iednc3p3e7aur9r xayndaab 0 4316 24966 24964 2023-09-20T18:51:50Z Girligaanshub 3150 24966 wikitext text/x-wiki {{-so-}} == Magac == '''xayndaab''' === Tarjumaad === * {{en}}: sphere, picket fence, fence, enclosure, jjd86bqctccxzzqoqcxx08514uqqdyu radiado 0 4317 19198 16670 2017-04-28T17:29:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19198 wikitext text/x-wiki {{-eo-}} == Sifo == '''radiado''' [[xayndaabto]] o50l0eeymooo0mwuuxkqhz4uuoz63yl vekradio 0 4318 19444 14099 2017-04-28T17:30:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19444 wikitext text/x-wiki {{-eo-}} == Magac == '''vekradio''' [[raadiyaha]] r1je2b5glhw1az126yv9cfjzwb3pujp Template:hyphenation 10 4319 11558 2014-11-19T16:30:14Z 177.133.80.236 Bog cusub: {{#if:{{{nocaption|}}}||{{{caption|Xarfahata ah}}}:}} <!-- -->{{lang<!-- -->|1={{{lang|en}}}<!-- -->|sc={{{sc|}}}<!-- -->|2=<!-- -->{{{1}}}<!-- -->{{#if:{{{2|}}}|‧{{{2}}}}}<!--... 11558 wikitext text/x-wiki {{#if:{{{nocaption|}}}||{{{caption|Xarfahata ah}}}:}} <!-- -->{{lang<!-- -->|1={{{lang|en}}}<!-- -->|sc={{{sc|}}}<!-- -->|2=<!-- -->{{{1}}}<!-- -->{{#if:{{{2|}}}|‧{{{2}}}}}<!-- -->{{#if:{{{3|}}}|‧{{{3}}}}}<!-- -->{{#if:{{{4|}}}|‧{{{4}}}}}<!-- -->{{#if:{{{5|}}}|‧{{{5}}}}}<!-- -->{{#if:{{{6|}}}|‧{{{6}}}}}<!-- -->{{#if:{{{7|}}}|‧{{{7}}}}}<!-- -->{{#if:{{{8|}}}|‧{{{8}}}}}<!-- -->{{#if:{{{9|}}}|‧{{{9}}}}}<!-- -->{{#if:{{{10|}}}|‧{{{10}}}}}<!-- -->{{#if:{{{11|}}}|‧{{{11}}}}}<!-- -->{{#if:{{{12|}}}|‧{{{12}}}}}<!-- -->{{#if:{{{13|}}}|‧{{{13}}}}}<!-- -->{{#if:{{{14|}}}|‧{{{14}}}}}<!-- -->{{#if:{{{15|}}}|‧{{{15}}}}}<!-- -->{{#if:{{{16|}}}|‧{{{16}}}}}<!-- -->{{#if:{{{17|}}}|‧{{{17}}}}}<!-- -->{{#if:{{{18|}}}|‧{{{18}}}}}<!-- -->{{#if:{{{19|}}}|‧{{{19}}}}}<!-- -->{{#if:{{{20|}}}|‧{{{20}}}}}<!-- -->{{#if:{{{21|}}}|‧{{{21}}}}}<!-- -->{{#if:{{{22|}}}|‧{{{22}}}}}<!-- -->{{#if:{{{23|}}}|‧{{{23}}}}}<!-- -->{{#if:{{{24|}}}|‧{{{24}}}}}<!-- -->{{#if:{{{25|}}}|‧{{{25}}}}}<!-- -->{{#if:{{{26|}}}|‧{{{26}}}}}<!-- -->{{#if:{{{27|}}}|‧{{{27}}}}}<!-- -->{{#if:{{{28|}}}|‧{{{28}}}}}<!-- -->{{#if:{{{29|}}}|‧{{{29}}}}}<!-- -->{{#if:{{{30|}}}|‧{{{30}}}}}<!-- -->}}<!-- --><includeonly>{{#if:{{{lang|}}}||[[Category:Language code missing/hyphenation]]}}</includeonly><!-- sslkni0u81jo6tptki7pi6r8aidcqsu Template:temp 10 4320 11560 2014-11-19T16:37:17Z 177.133.80.236 Bog cusub: <tt>{&#123;<!--temp name-->{{#if:{{{1|}}}|{{#switch:{{{prefix|{{{|}}}}}}|:=<!--not temp space-->{{#if:{{{subst|}}}|subst:}}&#58;[[{{{1}}}]]|subst:|=<!--temp-->{{#if:{{{subst|}}}|subst:... 11560 wikitext text/x-wiki <tt>{&#123;<!--temp name-->{{#if:{{{1|}}}|{{#switch:{{{prefix|{{{|}}}}}}|:=<!--not temp space-->{{#if:{{{subst|}}}|subst:}}&#58;[[{{{1}}}]]|subst:|=<!--temp-->{{#if:{{{subst|}}}|subst:|{{{|}}}}}[[{{#switch:{{NAMESPACE}}:{{PAGENAME}}|Template:{{{1}}}=Template talk|Template talk:{{{1}}}=Template|#default={{#ifexist:Template talk:{{{1}}}|Template talk|Template}}}}:{{{1}}}|{{{1}}}]]|#default=<!--sister-->{{#if:{{{subst|}}}|subst:|{{#ifeq:{{{}}}|subst:|subst:}}}}{{#ifeq:{{{}}}|:|&#58;}}[[:{{{prefix|{{{}}}}}}{{#ifeq:{{{}}}|:||Template:}}{{{1}}}|{{{1}}}]]}}}}{{#ifeq:{{{2}}}|{{{2|?}}}|{{#if:{{{1|}}}|&#124;}}{{{2}}}{{#ifeq:{{{3}}}|{{{3|?}}}|&#124;{{{3}}}{{#ifeq:{{{4}}}|{{{4|?}}}|&#124;{{{4}}}{{#ifeq:{{{5}}}|{{{5|?}}}|&#124;{{{5}}}{{#ifeq:{{{6}}}|{{{6|?}}}|&#124;{{{6}}}{{#ifeq:{{{7}}}|{{{7|?}}}|&#124;{{{7}}}{{#ifeq:{{{8}}}|{{{8|?}}}|&#124;{{{8}}}{{#ifeq:{{{9}}}|{{{9|?}}}|&#124;{{{9}}}&#124;{{{10|}}}&#124;{{{11|}}}&#124;{{{12|}}}&#124;{{{13|}}}&#124;[[Category:Limit of template reached]]}}}}}}}}}}}}}}}}}}</tt><noinclude> [[Category:Templates]] [[vi:Tiêu bản:Liên kết tiêu bản]] </noinclude> 2cxi7crbmkaxn7bufx88x5ibyqe2kjs Template:langnamex 10 4321 11561 2014-11-19T16:41:20Z 177.133.80.236 Bog cusub: {{{{#ifeq:{{{1}}}|{{lc:{{{1}}}}}|languagex|langnamex/name}}|{{{1}}}}}<noinclude>{{diiwaaninta}}</noinclude> 11561 wikitext text/x-wiki {{{{#ifeq:{{{1}}}|{{lc:{{{1}}}}}|languagex|langnamex/name}}|{{{1}}}}}<noinclude>{{diiwaaninta}}</noinclude> 61krbz9et43mony4tp0agwm9o87drtd Template:languagex 10 4322 11562 2014-11-19T16:46:54Z 177.133.80.236 Bog cusub: <includeonly>{{#if:{{{1|}}}|{{{{langprefix|{{{1}}}}}{{{1}}}}}}}</includeonly><noinclude>{{diiwaaninta}}</noinclude> 11562 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}|{{{{langprefix|{{{1}}}}}{{{1}}}}}}}</includeonly><noinclude>{{diiwaaninta}}</noinclude> kh2d2l9o7d31outo5ol5yijacmcmgak Template:langprefix 10 4323 11563 2014-11-19T16:49:36Z 177.133.80.236 Bog cusub: <includeonly>{{#switch:{{{1|}}}</includeonly><!-- -->|aav-pro|afa-pro|alg-pro|ath-pro|azc-pro|azc-nah-pro|bat-pro|ber-pro|bnt-pro|ccs-pro|cel-pro|cel-bry-pro|dra-pro|esx-pro|esx-esk-pr... 11563 wikitext text/x-wiki <includeonly>{{#switch:{{{1|}}}</includeonly><!-- -->|aav-pro|afa-pro|alg-pro|ath-pro|azc-pro|azc-nah-pro|bat-pro|ber-pro|bnt-pro|ccs-pro|cel-pro|cel-bry-pro|dra-pro|esx-pro|esx-esk-pro|euq-pro|fiu-pro|fiu-fin-pro|fiu-ugr-pro|gem-pro|grk-pro|hyx-pro|iir-pro|inc-pro|ine-pro|ine-bsl-pro|ira-pro|itc-pro|jpx-pro|map-pro|mkh-pro|mkh-vie-pro|poz-pro|poz-oce-pro|poz-pol-pro|qfa-cka-pro|qfa-yen-pro|sem-pro|sit-pro|sla-pro|sqj-pro|tai-pro|tai-swe-pro|trk-pro|urj-pro=proto:<!-- -->|art-apl|art-elo|art-lap|art-man|art-mun|art-nav|art-neo|art-top|art-una|ldn|lfn|qya|sjn|tlh=conl:<!-- -->|#default=<!-- --><includeonly>}}</includeonly><noinclude>{{diiwaaninta}}</noinclude> pu5bkhzg28y75f7tq2cxe8rle2622oh Template:sh 10 4324 11564 2014-11-19T16:50:16Z 177.133.80.236 Bog cusub: Serbiyaan-Koreeshiyan 11564 wikitext text/x-wiki Serbiyaan-Koreeshiyan 1aoc5gmwd29ul6cnh4ol69nc3bqv0kv Template:l 10 4325 11566 11565 2014-11-19T17:01:40Z 177.133.80.236 11566 wikitext text/x-wiki <includeonly><span class="ib-brac"><span class="qualifier-brac">(</span></span><!-- --><span class="ib-content"><span class="qualifier-content">{{{1}}}<!-- -->{{#if:{{{2|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{2}}}<!-- -->{{#if:{{{3|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{3}}}<!-- -->{{#if:{{{4|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{4}}}<!-- -->{{#if:{{{5|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{5}}}<!-- -->{{#if:{{{6|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{6}}}<!-- -->{{#if:{{{7|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{7}}}<!-- -->{{#if:{{{8|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{8}}}<!-- -->{{#if:{{{9|}}}|<span class="ib-comma"><span class="qualifier-comma">,</span></span> {{{9}}}<!-- -->}}}}}}}}}}}}}}}}</span></span><span class="ib-brac"><span class="qualifier-brac">)</span></span></includeonly><noinclude>{{diiwaaninta}}</noinclude> fc8gom80nawek80yi4zou4kcs38sg16 User:V(g) 2 4326 17180 17139 2016-08-25T14:55:00Z Céréales Killer 1396 Céréales Killer moved page [[User:G(x)-former]] to [[User:V(g)]]: Automatically moved page while renaming the user "[[Special:CentralAuth/G(x)-former|G(x)-former]]" to "[[Special:CentralAuth/V(g)|V(g)]]" 17180 wikitext text/x-wiki [[File:Redirect arrow without text.svg|46px|link=]][[m:th:User:V(g)|w:th:{{ns:3}}:V(g)]] slukf703ujdbkhc42onrhxjkk50gtvz User talk:V(g) 3 4327 17182 17140 2016-08-25T14:55:00Z Céréales Killer 1396 Céréales Killer moved page [[User talk:G(x)-former]] to [[User talk:V(g)]]: Automatically moved page while renaming the user "[[Special:CentralAuth/G(x)-former|G(x)-former]]" to "[[Special:CentralAuth/V(g)|V(g)]]" 17182 wikitext text/x-wiki [[File:Redirect arrow without text.svg|46px|link=]][[m:th:User talk:V(g)|w:th:{{ns:3}}:V(g)]] 0a8ll03hwd1s0o95bb7tbg7ww2ctts0 User:Ralgis 2 4328 11577 2014-11-27T23:50:26Z Savh 517 Savh moved page [[User:Ralgis]] to [[User:Allan Aguilar]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Ralgis|Ralgis]]" to "[[Special:CentralAuth/Allan Aguilar|Allan Aguilar]]" 11577 wikitext text/x-wiki #REDIRECT [[User:Allan Aguilar]] jfbjquwj4mviloq2v42y7hlq8z9viro User talk:Ralgis 3 4329 11580 2014-11-27T23:50:26Z Savh 517 Savh moved page [[User talk:Ralgis]] to [[User talk:Allan Aguilar]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Ralgis|Ralgis]]" to "[[Special:CentralAuth/Allan Aguilar|Allan Aguilar]]" 11580 wikitext text/x-wiki #REDIRECT [[User talk:Allan Aguilar]] 22dg2x00xce0tledj4h1xskjqdn6nhj User talk:Ah3kal 3 4331 11582 2014-11-30T05:51:12Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Ah3kal]]) 11582 wikitext text/x-wiki Welcome to my page! please contact me at [[m:w:el:User talk:Ah3kal|User talk:Ah3kal @ el.wikipedia]] 67vgypbz2gxfpukcgcsc2b4x43eg8w1 User talk:Sam Sailor 3 4333 11598 2014-12-15T14:47:33Z Sam Sailor 1362 Bog cusub: <table style="background:#F8EABA; width:100%"><tr><td> [[Image:Imbox notice.png|left|40px]] {{{{{|safesubst:}}}#ifeq:{{{noheader}}}|yes||=={{{header|Feel free to leave me a message he... 11598 wikitext text/x-wiki <table style="background:#F8EABA; width:100%"><tr><td> [[Image:Imbox notice.png|left|40px]] {{{{{|safesubst:}}}#ifeq:{{{noheader}}}|yes||=={{{header|Feel free to leave me a message here, but you will get a quicker response if you visit [[:w:en:User talk:Sam Sailor|my English Wikipedia user talk page]].}}}==}} </td></tr></table> j6cmjkfsj2mt8ysm135zlede1kjcb21 Category:Bereton ereyada 14 4335 19871 17130 2017-07-03T13:37:51Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19871 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Cibraaniga ereyada 14 4336 19879 17192 2017-07-03T13:38:10Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19879 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Faarisi ereyada 14 4337 19882 17450 2017-07-03T13:38:13Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19882 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Hausa ereyada 14 4338 19889 16872 2017-07-03T13:38:21Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19889 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ido ereyada 14 4339 19893 17457 2017-07-03T13:38:25Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19893 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Lituwaanays ereyada 14 4340 19915 16880 2017-07-03T13:38:47Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19915 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Tagaloga ereyada 14 4342 19939 17250 2017-07-03T13:39:12Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19939 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Romanshka ereyada 14 4343 19930 15625 2017-07-03T13:39:03Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19930 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User talk:Sir Lestaty de Lioncourt 3 4346 11926 2015-01-11T23:58:49Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Sir Lestaty de Lioncourt]]) 11926 wikitext text/x-wiki __NOINDEX__{{#babel:pt|en-3}}[[File:Redirect arrow without text.svg|45px|link=]][[m:User talk:Sir Lestaty de Lioncourt|Lestaty de Lioncourt (Meta-Wiki)]] 0738nao5e9r9j989zct5f35xw1x5bxc User:Lestaty 2 4347 11939 2015-01-13T01:52:26Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Lestaty]]) 11939 wikitext text/x-wiki #REDIRECT [[User talk:Sir Lestaty de Lioncourt]] cc8rweyhovhvvro1gd6g7rh9zxi29el User talk:Lestaty 3 4348 11940 2015-01-13T02:58:06Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Lestaty]]) 11940 wikitext text/x-wiki #REDIRECT [[User talk:Sir Lestaty de Lioncourt]] cc8rweyhovhvvro1gd6g7rh9zxi29el User:Caliburn 2 4349 12561 12382 2015-02-20T12:33:45Z Billinghurst 716 Billinghurst moved page [[User:George.Edward.C]] to [[User:Caliburn]]: Automatically moved page while renaming the user "[[Special:CentralAuth/George.Edward.C|George.Edward.C]]" to "[[Special:CentralAuth/Caliburn|Caliburn]]" 12561 wikitext text/x-wiki __NOINDEX__[[File:Redirectltr.png]][[meta:User:George.Edward.C|Me @ Meta]] 0qt2melp40r0592gltncjamudoyvboh interjection 0 4350 18883 16165 2017-04-28T17:26:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18883 wikitext text/x-wiki {{-en-}} === Magac === '''interjection''' {{-fr-}} === Magac === '''interjection''' 926k3cv0cu2byyupo5u8tfd7ea9j867 mujuruca 0 4351 19049 13983 2017-04-28T17:28:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19049 wikitext text/x-wiki {{-so-}} === Magac === '''mujuruca''' * {{tr}}: [[emzik]] * {{uz}}: [[emizik]] 6527zkz6cfetdflkgsiwocn39fczeso emizik 0 4352 18703 13911 2017-04-28T17:25:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18703 wikitext text/x-wiki {{-uz-}} === Magac === '''emizik''' : [[mujuruca]] oust8y2yarbo3bya8h4nv0pw5mh89xx emzik 0 4353 18705 16586 2017-04-28T17:25:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18705 wikitext text/x-wiki {{-tr-}} === Magac === '''emzik''' * [[mujuruca]] {{-tk-}} === Magac === '''emzik''' * [[mujuruca]] 8v9g48z8tz39e34xg4qcfxiret427f4 Schnuller 0 4354 18338 17658 2017-04-28T17:22:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18338 wikitext text/x-wiki {{-de-}} === Magac === '''Schnuller''' * [[mujuruca]] n0h7lw3ak1o8sjp90ee5co50fo0f4mw User:Suprememangaka 2 4355 12120 2015-02-03T18:06:36Z Céréales Killer 1396 Céréales Killer moved page [[User:Suprememangaka]] to [[User:*SM*]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Suprememangaka|Suprememangaka]]" to "[[Special:CentralAuth/*SM*|*SM*]]" 12120 wikitext text/x-wiki #REDIRECT [[User:*SM*]] juaz7ef9o58ymhh9c7tpwf5jg2lcljh User talk:Suprememangaka 3 4356 12122 2015-02-03T18:06:36Z Céréales Killer 1396 Céréales Killer moved page [[User talk:Suprememangaka]] to [[User talk:*SM*]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Suprememangaka|Suprememangaka]]" to "[[Special:CentralAuth/*SM*|*SM*]]" 12122 wikitext text/x-wiki #REDIRECT [[User talk:*SM*]] 6tim9v8bm99r7x8lh5bvtzk148py84u senado 0 4358 19271 17916 2017-04-28T17:29:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19271 wikitext text/x-wiki {{-es-}} === Magac === '''senado''' [[guurtida]] {{-gl-}} === Magac === '''senado''' [[guurtida]] {{-pt-}} === Magac === '''senado''' [[guurtida]] 7k0rg08g2penak65j1xsf3ivtwg0xpe senate 0 4359 19272 13033 2017-04-28T17:29:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19272 wikitext text/x-wiki {{-en-}} === Magac === '''senate''' [[guurtida]] k5gt4bzolvcf4lzdygowle4e4l1849f político 0 4360 19155 16294 2017-04-28T17:28:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19155 wikitext text/x-wiki {{-es-}} === Magac === '''político''' :[[siyaasadeed]] {{-gl-}} === Magac === '''político''' :[[siyaasadeed]] {{-pt-}} === Magac === '''político''' :[[siyaasadeed]] 2xfs2vpsnr7jll02fzfg0zqn8heuwp8 jornal 0 4361 18910 16625 2017-04-28T17:27:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18910 wikitext text/x-wiki {{-pt-}} === Magac === '''jornal''' :[[wargeyska]] 6fa1p250n60xrjnvw2ka66j3e6l2d4v xornal 0 4362 19482 17099 2017-04-28T17:31:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19482 wikitext text/x-wiki {{-gl-}} === Magac === '''xornal''' :[[wargeyska]] ier8c5e3j0d7cjtepp60x1ge8sbw7de diário 0 4363 18649 16215 2017-04-28T17:25:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18649 wikitext text/x-wiki {{-es-}} === Magac === '''diário''' :[[wargeyska]] {{-pt-}} === Magac === '''diário''' :[[maalmeedka]] j9e8rq0yv6byzkimzf1q0o5s87kj0pb journal 0 4364 18913 17997 2017-04-28T17:27:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18913 wikitext text/x-wiki {{-fr-}} === Magac === '''journal''' :[[wargeyska]] akidxqh1u38sxib46i2pvneosqhojbj wargeyska 0 4365 12135 2015-02-06T23:43:48Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''wargeyska''' *{{en}}: [[newspaper]] *{{fr}}: [[journal]] *{{pt}}: [[jornal]] 12135 wikitext text/x-wiki {{-so-}} ===Magac=== '''wargeyska''' *{{en}}: [[newspaper]] *{{fr}}: [[journal]] *{{pt}}: [[jornal]] l8oten37iw1n4qn4iei9bzbdy0w3utm newspaper 0 4366 19065 17602 2017-04-28T17:28:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19065 wikitext text/x-wiki {{-en-}} === Magac === '''[[news]][[paper]]''' :[[wargeyska]] 7vp9xw6d1wqckrsnlzuc3m5nchdzgvo maalmeedka 0 4367 12137 2015-02-06T23:46:00Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''maalmeedka''' *{{fr}}: [[quotidien]] *{{pt}}: [[diário]] 12137 wikitext text/x-wiki {{-so-}} ===Magac=== '''maalmeedka''' *{{fr}}: [[quotidien]] *{{pt}}: [[diário]] rvkoectoyt3y3oe2mtw3pnbkxtxrh97 siyaasadeed 0 4368 12138 2015-02-06T23:46:11Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''siyaasadeed''' *{{fr}}: [[politique]] *{{it}}: [[politico]] *{{pt}}: [[político]] 12138 wikitext text/x-wiki {{-so-}} ===Magac=== '''siyaasadeed''' *{{fr}}: [[politique]] *{{it}}: [[politico]] *{{pt}}: [[político]] iihqkr5rrryiqfw8pps2etnv5jh5i9p quotidien 0 4369 19189 14818 2017-04-28T17:29:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19189 wikitext text/x-wiki {{-fr-}} === Magac === '''quotidien''' :[[maalmeedka]] 763dyvc271bzqf40e3hknh0v6avnwjw politique 0 4370 19154 17890 2017-04-28T17:28:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19154 wikitext text/x-wiki {{-fr-}} === Magac === '''politique''' :[[siyaasadeed]] f70387t45khtirt1kyj3vxngirxbfwm politico 0 4371 19153 17889 2017-04-28T17:28:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19153 wikitext text/x-wiki {{-an-}} === Magac === '''politico''' :[[siyaasadeed]] {{-gl-}} === Magac === '''politico''' :[[siyaasadeed]] {{-it-}} === Magac === '''politico''' :[[siyaasadeed]] 9qgu301udg7j8ybjbumrnbf0meco4mi news 0 4372 19064 17603 2017-04-28T17:28:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19064 wikitext text/x-wiki {{-en-}} === Magac === '''news''' :[[wararka]] j52ndv7rvisafd8lwhd5p8tpvb15kze notícia 0 4373 19084 17403 2017-04-28T17:28:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19084 wikitext text/x-wiki {{-pt-}} === Magac === '''notícia''' :[[wararka]] qwtg0h2jg9aah7csbh2rjsxrzhn1w63 paper 0 4374 19124 18125 2017-04-28T17:28:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19124 wikitext text/x-wiki {{-en-}} === Magac === '''paper''' :[[warqad]] 42jh8u619whntnpyzqdkjbalyfgmm78 noticia 0 4375 19082 17377 2017-04-28T17:28:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19082 wikitext text/x-wiki {{-an-}} === Magac === '''noticia''' :[[wararka]] {{-gl-}} === Magac === '''noticia''' :[[wararka]] ek4hb9jmw47bmwtc5tr26mgd0qylt72 notizia 0 4376 19083 13972 2017-04-28T17:28:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19083 wikitext text/x-wiki {{-it-}} === Magac === '''notizia''' :[[wararka]] 8wz2dprnfy7s9svul4nyt379t36cqf0 wararka 0 4377 12147 2015-02-06T23:54:53Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''wararka''' *{{gl}}: [[noticia]] *{{en}}: [[news]] *{{it}}: [[notizia]] *{{pt}}: [[notícia]] 12147 wikitext text/x-wiki {{-so-}} ===Magac=== '''wararka''' *{{gl}}: [[noticia]] *{{en}}: [[news]] *{{it}}: [[notizia]] *{{pt}}: [[notícia]] qhocji4i5fckoxy114harysoegy5gwn adjectivo 0 4378 18383 16946 2017-04-28T17:23:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18383 wikitext text/x-wiki {{-ia-}} === Magac === '''adjectivo''' :[[sifo]] {{-la-}} === Sifo === '''adjectivo''' :[[sifo]] {{-pt-}} === Magac === '''adjectivo''' :[[sifo]] q6t3wfrer28vy63yd4hmhx5og32fxsz aggettivo 0 4379 18392 17876 2017-04-28T17:23:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18392 wikitext text/x-wiki {{-it-}} === Magac === '''aggettivo''' :[[sifo]] l8d35ay0l8kuufvqy8dunxtfkh3bzr7 papel 0 4380 19123 15941 2017-04-28T17:28:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19123 wikitext text/x-wiki {{-ast-}} === Magac === '''papel''' :[[warqad]] {{-gl-}} === Magac === '''papel''' {{-es-}} === Magac === '''papel''' :[[warqad]] {{-pt-}} === Magac === '''papel''' :[[warqad]] {{-sv-}} === Magac === '''papel''' :[[warqad]] {{-tl-}} === Magac === '''papel''' {{-war-}} === Magac === '''papel''' :[[warqad]] 2oygix5jfqhki31lvttfmabwlo938h0 sifo 0 4381 30711 27948 2024-09-11T03:25:24Z Girligaanshub 3150 30711 wikitext text/x-wiki {{-so-}} === Magac === '''sifo''' === Tarjumaad === * {{en}}: attribute, quality, characteristic, trait, property, feature, aspect, facet, element, trademark, custom, mannerism, conduct, * {{en}}: [[adjective]] * {{it}}: [[aggettivo]] * {{pt}}: [[adjectivo]] ===Synonyms=== *[[jawinimo]], [[sifo]], [[sifooyin]], [[nuxur]], mnpypeobb3hwcflxeab5dqgjnqore09 empresa 0 4382 18704 17835 2017-04-28T17:25:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18704 wikitext text/x-wiki {{-es-}} === Magac === '''empresa''' :[[ganacsiga]] {{-ca-}} === Magac === '''empresa''' :[[ganacsiga]] {{-pt-}} === Magac === '''empresa''' :[[ganacsiga]] kqvyziz2d5s2dd3q1nd8ir89ys0w6h0 adjective 0 4383 18382 16067 2017-04-28T17:23:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18382 wikitext text/x-wiki {{-en-}} === Magac === '''adjective''' :[[sifo]] ku2ly5fm3yo2ppli195grocrysyu1n8 impressa 0 4384 18872 13937 2017-04-28T17:26:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18872 wikitext text/x-wiki {{-es-}} === Magac === '''impressa''' :[[daacabo ayaa]] {{-it-}} === Sifo === '''impressa''' :[[daacabo ayaa]] {{-la-}} === Sifo === '''impressa''' :[[daacabo ayaa]] {{-pt-}} === Magac === '''impressa''' :[[daacabo ayaa]] 0mftf66mdovjpgq6dtpyeqeepswumz5 warqad 0 4385 32352 30330 2024-11-10T13:01:59Z Girligaanshub 3150 32352 wikitext text/x-wiki {{-so-}} === Magac === '''warqad''' * {{en}}: [[paper]] * {{es}}: [[papel]] * {{it}}: [[carta]] ===Synonyms=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] 7v3lla0j6wpr9xzxtmdj7bg2mfboa3s carta 0 4386 18544 12915 2017-04-28T17:24:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18544 wikitext text/x-wiki {{-an-}} === Magac === '''carta''' :[[warqad]] {{-es-}} === Magac === '''carta''' :[[warqad]] {{-it-}} === Magac === '''carta''' :[[warqad]] {{-pt-}} === Magac === '''carta''' :[[warqad]] et4rsyzn5n37fvv8tc985k7dptwwhl4 daacabo ayaa 0 4387 12158 2015-02-07T00:10:58Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''daacabo ayaa''' *{{es}}: [[impresión]] *{{it}}: [[stampa]] *{{pt}}: [[impressa]] 12158 wikitext text/x-wiki {{-so-}} ===Magac=== '''daacabo ayaa''' *{{es}}: [[impresión]] *{{it}}: [[stampa]] *{{pt}}: [[impressa]] pgwrnpq8ej9xzon3oga1ntazpaqsyk1 impresión 0 4388 25795 25201 2023-11-07T03:49:54Z Wutsje 235 rv cross-wiki spam 25795 wikitext text/x-wiki {{-es-}} === Magac === '''impresión''' :[[daacabo ayaa]] {{-gl-}} === Magac === '''impresión''' :[[daacabo ayaa]] r0dkklz3k5cktgbelpp51y10b5abw25 stampa 0 4389 19327 13106 2017-04-28T17:29:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19327 wikitext text/x-wiki {{-it-}} === Magac === '''stampa''' :[[daacabo ayaa]] 0iqf8ibpe6de20ym0e8q7cob9ueemj6 impressão 0 4390 18874 13936 2017-04-28T17:26:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18874 wikitext text/x-wiki {{-pt-}} === Magac === '''impressão''' :[[daacabo ayaa]], [[daabacan]] 763z7agb29tlpr3vvi006smecpm7l2b daabacan 0 4391 18596 13901 2017-04-28T17:24:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18596 wikitext text/x-wiki {{-so-}} === Magac === '''daabacan''' * {{en}}: [[impression]] * {{es}}: [[impresión]] * {{pt}}: [[impressão]] qobh3wto5arh6c400sl9ww0uhdnw93k impression 0 4392 18873 17284 2017-04-28T17:26:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18873 wikitext text/x-wiki {{-fr-}} === Magac === '''impression''' :[[daabacan]] {{-en-}} === Magac === '''impression''' :[[daabacan]] g4nigpwl8lua6bkbfib0tvjxul1f2uh hadda 0 4393 18814 13772 2017-04-28T17:26:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18814 wikitext text/x-wiki {{-so-}} === Magac === '''hadda''' {{-ha-}} === Magac === '''hadda''' butvjfaecgyg6gyvci8m76ydf4z2d3e guurtida 0 4394 12166 2015-02-07T00:20:23Z 177.133.7.166 Bog cusub: {{-so-}} ===Magac=== '''guurtida''' *{{en}}: [[senate]] *{{pt}}: [[senado]] 12166 wikitext text/x-wiki {{-so-}} ===Magac=== '''guurtida''' *{{en}}: [[senate]] *{{pt}}: [[senado]] b855smb6dl3z9esqfsazcgpum9hrf4l Template:-ga- 10 4395 12168 12167 2015-02-07T00:41:52Z 177.133.7.166 12168 wikitext text/x-wiki <includeonly>[[Category:Ayrish ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ayrish</big></big></big> (ga)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> oojh1mi1zsxl98qi0wyn8lotu5jq5xa Template:-ky- 10 4396 12169 2015-02-07T00:42:53Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Kirgiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kirgiis</big></big></big> (ky)</div>== <br><noinclude> <!--... 12169 wikitext text/x-wiki <includeonly>[[Category:Kirgiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kirgiis</big></big></big> (ky)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> sxor9tortx0sm7wwe5o8rybosv91ujh Template:-ku- 10 4397 12170 2015-02-07T00:43:48Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Kurdishka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kurdishka</big></big></big> (ku)</div>== <br><noinclude>... 12170 wikitext text/x-wiki <includeonly>[[Category:Kurdishka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kurdishka</big></big></big> (ku)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 50fgxbsleb6rghjz4s24pnccw9be1my Template:-kn- 10 4398 12171 2015-02-07T00:44:33Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Kannadays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kannadays</big></big></big> (kn)</div>== <br><noinclude>... 12171 wikitext text/x-wiki <includeonly>[[Category:Kannadays ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kannadays</big></big></big> (kn)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 2pd0qvijt093ea0xdyy1y5nmcvuvcc9 Template:-km- 10 4399 12172 2015-02-07T00:45:38Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Kamboodhian ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kamboodhian</big></big></big> (km)</div>== <br><noinclu... 12172 wikitext text/x-wiki <includeonly>[[Category:Kamboodhian ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kamboodhian</big></big></big> (km)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 9461ksoatp1fl7qai400z0aarq2lgp5 Template:-ka- 10 4400 12173 2015-02-07T00:46:29Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Joorijiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Joorijiyaan</big></big></big> (ka)</div>== <br><noinclu... 12173 wikitext text/x-wiki <includeonly>[[Category:Joorijiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Joorijiyaan</big></big></big> (ka)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> mioimblsle2r6g81lmd3g7senvb658b Template:-jv- 10 4401 12174 2015-02-07T00:47:18Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Jafaaniis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Jafaaniis</big></big></big> (jv)</div>== <br><noinclude>... 12174 wikitext text/x-wiki <includeonly>[[Category:Jafaaniis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Jafaaniis</big></big></big> (jv)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 3260yjd9wji9sdusig80mtrm9c4ranp Template:-hy- 10 4402 12175 2015-02-07T00:48:09Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Armeeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Armeeniyaan</big></big></big> (hy)</div>== <br><noinclu... 12175 wikitext text/x-wiki <includeonly>[[Category:Armeeniyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Armeeniyaan</big></big></big> (hy)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 9lsk4gs7ok737orflwsl8u8vv2522dz Template:-gd- 10 4403 12176 2015-02-07T00:49:01Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Iskot giilik ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Iskot Giilik</big></big></big> (gd)</div>== <br><noinc... 12176 wikitext text/x-wiki <includeonly>[[Category:Iskot giilik ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Iskot Giilik</big></big></big> (gd)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 04htoe2qxcbgtrx28bzcqnfob6bd7yj Template:-bn- 10 4404 12178 2015-02-07T00:50:57Z 177.133.7.166 Bog cusub: <includeonly>[[Category:Bangaali ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big>Bangaali</big></big></big> (bn)</div>== <br><noinclude> <!-... 12178 wikitext text/x-wiki <includeonly>[[Category:Bangaali ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big>Bangaali</big></big></big> (bn)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> nujrvrtaysfd2z9lnojn7nvks5lx9s2 Template:-as- 10 4405 20038 12179 2018-10-28T13:55:31Z Sakiinlaq 1889 Wuxuu qoraalka ku badalay "==assamiis==" 20038 wikitext text/x-wiki ==assamiis== 4eczrgqrldfsl1bwk599v962dhnrzdl Category:Armeeniyaan ereyada 14 4406 19859 17289 2017-07-03T13:37:39Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19859 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ayrish ereyada 14 4407 19864 17462 2017-07-03T13:37:44Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19864 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Joorijiyaan ereyada 14 4408 19851 17446 2017-06-24T10:32:29Z Octahedron80 1659 Wuxuu qoraalka ku badalay "[[Category:Ereyada]]" 19851 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kurdishka ereyada 14 4409 19850 16498 2017-06-24T10:11:25Z Octahedron80 1659 Wuxuu qoraalka ku badalay "[[Category:Ereyada]]" 19850 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Isberento ereyada 14 4410 19898 18254 2017-07-03T13:38:30Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19898 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Iskot giilik ereyada 14 4411 19899 16846 2017-07-03T13:38:31Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19899 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Serbiyaan-Koreeshiyan ereyada 14 4412 19854 18243 2017-06-26T06:32:12Z Octahedron80 1659 Wuxuu qoraalka ku badalay "[[Category:Ereyada]]" 19854 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Template:t+ 10 4413 12188 2015-02-07T01:06:05Z 177.133.7.166 Bog cusub: [[{{{2}}}#{{{{#if:{{{xs|}}}|t2|t-sect}}|{{{1|}}}|{{{xs|}}}}}|{{#if:{{{sc|}}}|{{{{{sc}}}|{{{alt|{{{2}}}}}}}}|{{{alt|{{{2}}}}}}}}]]&nbsp;<sup>:{{#switch:{{{1}}}|nan=zh-min-nan|yue=zh-y... 12188 wikitext text/x-wiki [[{{{2}}}#{{{{#if:{{{xs|}}}|t2|t-sect}}|{{{1|}}}|{{{xs|}}}}}|{{#if:{{{sc|}}}|{{{{{sc}}}|{{{alt|{{{2}}}}}}}}|{{{alt|{{{2}}}}}}}}]]&nbsp;<sup>[[:{{#switch:{{{1}}}|nan=zh-min-nan|yue=zh-yue|cmn=zh|{{{1}}}}}:{{{2}}}|({{{1}}})]]</sup>{{#if:{{{tr|}}}|&nbsp;({{{tr}}})}}{{#switch:{{{3|}}}|f|m|n|c|s|p|mf|nm=&nbsp;{{{{{3}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}}}|}} j1ksv590f901bd3dvgkbakvhzjp60oq Template:t-sect 10 4414 12190 12189 2015-02-07T01:07:19Z 177.133.7.166 12190 wikitext text/x-wiki {{{{#switch:{{{1}}}|=#if:|ar|da|de|el|es|fi|fr|he|it|ja|no|ko|nl|pt|ru|sv=t-lang|bg|bs|ca|cmn|cs|et|hr|hu|is|ku|la|pl|ro|sr|sk|sl|te|th|tr=t-lan2|hy|mk=t-lan3|luqadda}}|{{{1}}}}} 7exuxf8k70d78dbys3kdovayga0zz0f Template:luqadda 10 4415 12191 2015-02-07T01:08:01Z 177.133.7.166 Bog cusub: {{#if:{{{1}}}|{{{{{1}}}|l=}}}} 12191 wikitext text/x-wiki {{#if:{{{1}}}|{{{{{1}}}|l=}}}} 2two22an3udwtopwqwy57wvssy1ritf Template:am 10 4416 12192 2015-02-07T01:08:49Z 177.133.7.166 Bog cusub: Axmaari 12192 wikitext text/x-wiki Axmaari ch4nrl4x60of81wz8kxv5s20ld1hmlg Template:kn 10 4417 12193 2015-02-07T01:09:31Z 177.133.7.166 Bog cusub: Kannadays 12193 wikitext text/x-wiki Kannadays 5moerq77pwvyp4vpvzn9eujod74jecb Template:jv 10 4418 12194 2015-02-07T01:10:16Z 177.133.7.166 Bog cusub: Jafaaniis 12194 wikitext text/x-wiki Jafaaniis nm8fc3ayiuald3kh99vommxeiw5any3 Template:io 10 4419 12195 2015-02-07T01:10:19Z 177.133.7.166 Bog cusub: Ido 12195 wikitext text/x-wiki Ido popoy4qk4dr5yi3sycl5ntq72xjb8pw Template:km 10 4420 12196 2015-02-07T01:10:29Z 177.133.7.166 Bog cusub: Kamboodhian 12196 wikitext text/x-wiki Kamboodhian pzthprmrbysffe65c6bl51r605pyc2y Template:yi 10 4421 12198 2015-02-07T01:18:17Z 177.133.7.166 Bog cusub: Yadhish 12198 wikitext text/x-wiki Yadhish qepii9ixbkpx33yevi7ppba2017z58k Template:vo 10 4422 12199 2015-02-07T01:18:55Z 177.133.7.166 Bog cusub: Volapuuk 12199 wikitext text/x-wiki Volapuuk lsorw5nenqwrls5ru746g2tblyk797c Template:ug 10 4423 23351 12200 2023-04-23T07:57:20Z Apisite 3737 23351 wikitext text/x-wiki Uighur 7zocbeizqw8dheg0oiq21ba75zijasf Template:oc 10 4424 12201 2015-02-07T01:22:02Z 177.133.7.166 Bog cusub: Okitaan 12201 wikitext text/x-wiki Okitaan evxjfrebxls895dwn1hqmimpi9ixdze Template:mr 10 4425 12202 2015-02-07T01:23:14Z 177.133.7.166 Bog cusub: Maraati 12202 wikitext text/x-wiki Maraati 3o9vmrvcbe0dwf0unazl57oo3c2v2rm ընտանիք 0 4426 19655 17331 2017-04-28T17:32:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19655 wikitext text/x-wiki {{-hy-}} === Magac === '''ընտանիք''' [[qoys]] dpqzdt00j7p20eles53pzs81d3e1sb2 familha 0 4427 18728 16581 2017-04-28T17:25:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18728 wikitext text/x-wiki {{-an-}} === Magac === '''familha''' [[qoys]] 7b215w1u9z26ff1heylhq1t3qtmpr61 عائلة 0 4428 19684 17339 2017-04-28T17:32:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19684 wikitext text/x-wiki {{-ar-}} === Magac === '''عائلة''' # [[qoys]] t4whnf2blpdidie8mqs25k0d1jhjpsj أسرة 0 4429 19663 17223 2017-04-28T17:32:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19663 wikitext text/x-wiki {{-ar-}} === Magac === '''أسرة''' [[qoys]] 3d40qe02pfvz2mgauf6706lz2dhojnp ቤተሰብ 0 4430 19724 17594 2017-04-28T17:32:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19724 wikitext text/x-wiki {{-am-}} === Magac === '''ቤተሰብ''' # [[qoys]] oikghdb83f26i18vqeiusoxmuxr0j7d ቤተሰቦች 0 4431 19725 14179 2017-04-28T17:32:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19725 wikitext text/x-wiki {{-am-}} === Magac === '''ቤተሰቦች''' # [[qoys]] plusigxc7quiltztpnlqahy3x21jhc1 ዘመድ አዝማድ 0 4432 19726 17496 2017-04-28T17:32:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19726 wikitext text/x-wiki {{-am-}} === Magac === '''ዘመድ አዝማድ''' [[ዘመድ ማለት እናትና አባት፣ ወንድማና እህት፣ እክስትና አጎት፣ የእንጀራ አባትና እናት፣ የእንጀራ ወንድምና እህት፣ የወንድም እና የእህት ተጋቢ፣ የወንድምና የእህት ልጆች ናቸው]] pbop92zfhy9ncq61qqbc6dqd312eelq familje 0 4433 18735 17318 2017-04-28T17:25:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18735 wikitext text/x-wiki {{-da-}} === Magac === '''familje''' [[qoys]] hi0ql7prh8hemlqqorokbccv7o3fv4e familie 0 4434 18731 18047 2017-04-28T17:25:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18731 wikitext text/x-wiki {{-af-}} === Magac === '''familie''' [[qoys]] {{-nl-}} === Magac === '''familie''' [[qoys]] {{-no-}} === Magac === '''familie''' [[qoys]] 161fxcz8upywal3o7nhxn7fbb5dn45n аҭаацәа 0 4435 19567 18104 2017-04-28T17:31:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19567 wikitext text/x-wiki {{-ab-}} === Magac === '''аҭаацәа''' [[qoys]] iq92q422kc9ysosooep0kz8wbnlwx5p ailə 0 4436 18401 17581 2017-04-28T17:23:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18401 wikitext text/x-wiki {{-az-}} === Magac === '''ailə''' # [[qoys]] 3t36l1sl23ofj5h101ogm6eir2uobkd পরিবার 0 4437 19703 18162 2017-04-28T17:32:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19703 wikitext text/x-wiki {{-bn-}} === Magac === '''পরিবার''' # [[qoys]] 8ij4wg6fi9sh0jnhi62k7cnp2lcrbie পৰিয়াল 0 4438 19704 14197 2017-04-28T17:32:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19704 wikitext text/x-wiki {{-as-}} === Magac === '''পৰিয়াল''' # [[qoys]] ej80sosc6ubuxiq9m6isb5zj7tmjfjl brayat 0 4439 18516 13790 2017-04-28T17:24:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18516 wikitext text/x-wiki {{-jv-}} === Magac === '''brayat''' # [[qoys]] a3r2mrddoy2ikex5jp57o9fitm0zet4 keluarga 0 4440 18925 15660 2017-04-28T17:27:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18925 wikitext text/x-wiki {{-id-}} === Magac === '''keluarga''' # [[qoys]] {{-ms-}} === Magac === '''keluarga''' # [[qoys]] esljstawcu0q9i1o8adem21g4759fkb famili 0 4441 18729 17776 2017-04-28T17:25:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18729 wikitext text/x-wiki {{-id-}} === Magac === '''famili''' # [[qoys]] {{-ms-}} === Magac === '''famili''' # [[qoys]] thimcojolds5zhsbec7xiuy014n7cfo familio 0 4442 18732 18046 2017-04-28T17:25:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18732 wikitext text/x-wiki {{-eo-}} === Magac === '''familio''' # [[qoys]] {{-io-}} === Magac === '''familio''' # [[qoys]] odzl1ttnd9n3gr1s1mjkrrvt6iwzknb familia 0 4443 18730 17712 2017-04-28T17:25:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18730 wikitext text/x-wiki {{-ast-}} === Magac === '''familia''' # [[qoys]] {{-gl-}} === Magac === '''familia''' # [[qoys]] {{-es-}} === Magac === '''familia''' # [[qoys]] {{-la-}} === Magac === '''familia''' # [[qoys]] 7dlaj9dzw2ctn7zr9pf8khpjajc3dsr પરિવાર 0 4444 19707 17515 2017-04-28T17:32:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19707 wikitext text/x-wiki {{-gu-}} === Magac === '''પરિવાર''' # [[qoys]] arnfyid8yxvgzuwf9zf6us3viwxt8iv οικογένεια 0 4445 19554 17381 2017-04-28T17:31:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19554 wikitext text/x-wiki {{-el-}} === Magac === '''οικογένεια''' # [[qoys]] 6offqg7dab39pxszp580bgnj5qpppss ʻohana 0 4446 19542 13617 2017-04-28T17:31:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19542 wikitext text/x-wiki {{-haw-}} === Magac === '''ʻohana''' # [[qoys]] jwki5czh1h72gq1sj2f9brwp16i3rtz משפחה 0 4447 19660 16272 2017-04-28T17:32:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19660 wikitext text/x-wiki {{-he-}} === Magac === '''משפחה''' # [[qoys]] 7nspwxhik0f1y3lbmhyiwrzrho58bc7 Template:Cyrl 10 4448 12228 2015-02-07T14:50:44Z 177.133.7.166 Bog cusub: <includeonly>{{qoraal/{{{type|span}}}|Cyrl|2={{{1|}}}}}</includeonly> 12228 wikitext text/x-wiki <includeonly>{{qoraal/{{{type|span}}}|Cyrl|2={{{1|}}}}}</includeonly> lcj40shfburhg1ewfhtgdusvee1ji1s Template:qoraal/span 10 4449 12229 2015-02-07T14:52:19Z 177.133.7.166 Bog cusub: <includeonly><!-- -->{{#if:{{{2|}}}|<!-- -->{{#ifeq:{{{{{1}}}/type|span}}|?|<!-- --><span <!-- --> dir="{{#ifeq:{{{{{1}}}/type|dir}}|?|ltr|{{{{{1}}}/type|dir}}}}"<!-- -->... 12229 wikitext text/x-wiki <includeonly><!-- -->{{#if:{{{2|}}}|<!-- -->{{#ifeq:{{{{{1}}}/type|span}}|?|<!-- --><span <!-- --> dir="{{#ifeq:{{{{{1}}}/type|dir}}|?|ltr|{{{{{1}}}/type|dir}}}}"<!-- --> class="script-{{{1}}}"<!-- --> style="<!-- -->{{#ifeq:{{{{{1}}}/type|polices}}|?||font-family:{{{{{1}}}/type|polices}};}}<!-- -->{{#ifeq:{{{{{1}}}/type|taille}}|?||font-size:{{{{{1}}}/type|taille}};}}<!-- -->{{#ifeq:{{{{{1}}}/type|taille-x}}|?||font-size-adjust:{{{{{1}}}/type|taille-x}};}}<!-- -->">{{{2|}}}</span><!-- -->|<!-- -->{{{{{1}}}/type|type=span|1={{{2|}}}}}<!-- -->}}<!-- -->|<!-- -->''{{{{{1}}}/type|}}''<!-- -->}}</includeonly> fqts1vf6kmtckmpb2o28mev2frf5g4o Template:t-lang 10 4450 12230 2015-02-07T14:57:58Z 177.133.7.166 Bog cusub: {{#switch:{{{1}}} |ar=carabi |da=deenish |de=jarmalka |es=isbaanish |fi=finnishka |fr=faransiis |el=giriigga |he=cibraaniga |it=talyanni |ja=jabaaniis |ko=kuuriyaan |nl=holandees |no=n... 12230 wikitext text/x-wiki {{#switch:{{{1}}} |ar=carabi |da=deenish |de=jarmalka |es=isbaanish |fi=finnishka |fr=faransiis |el=giriigga |he=cibraaniga |it=talyanni |ja=jabaaniis |ko=kuuriyaan |nl=holandees |no=norwejiga |pt=portugiis |sv=iswiidish |ru=ruush }} bdudylxo8f2vxiscir4qzhhecvx3idk Template:f 10 4451 12232 2015-02-07T15:06:37Z 177.133.7.166 Bog cusub: <sub>dhedig ah</sub> 12232 wikitext text/x-wiki <sub>dhedig ah</sub> 216hnb89jx230rxy1kpnpyr1hq1sits Template:ee 10 4452 12234 2015-02-07T15:08:22Z 177.133.7.166 Bog cusub: Ewe 12234 wikitext text/x-wiki Ewe 0liith1qa9ukkhzv0oxn5nwb3b4mufz Template:t-lan2 10 4453 12236 2015-02-07T15:22:31Z 177.133.7.166 Bog cusub: {{#switch:{{{1}}} |bg=Bulgeeriyaan |ca=Katalaan |cmn=Mandariaan |cs=Jeegiis |et=Istooniyaan |hr=Koreeshiyan |hu=Hangariyaan |is=Ayslandays |ku=Kurdishka |la=Latiin |pl=Boolish |ro=Rome... 12236 wikitext text/x-wiki {{#switch:{{{1}}} |bg=Bulgeeriyaan |ca=Katalaan |cmn=Mandariaan |cs=Jeegiis |et=Istooniyaan |hr=Koreeshiyan |hu=Hangariyaan |is=Ayslandays |ku=Kurdishka |la=Latiin |pl=Boolish |ro=Romeeniyaan |sr=Serbiyaan |sk=Isloofaak |sl=Islofeeniyaan |te=Telugu |th=Taaylandays |tr=Turkishka }} 4tk1vfn9ehivg7zu441xonjyz5gh4vz družina 0 4454 18671 17232 2017-04-28T17:25:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18671 wikitext text/x-wiki {{-sl-}} === Magac === '''družina''' [[qoys]] 187nybytvhived63bxbam6pljnrv8vy rodina 0 4455 19226 18122 2017-04-28T17:29:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19226 wikitext text/x-wiki {{-sk-}} === Magac === '''rodina''' [[qoys]] {{-cs-}} === Magac === '''rodina''' [[qoys]] 4jroxi6odbhtyqqqdddbx8pudup3oo2 pamilya 0 4456 19120 14817 2017-04-28T17:28:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19120 wikitext text/x-wiki {{-tl-}} === Magac === '''pamilya''' [[qoys]] 3uj1jqufydyqqfcip76n1bn1mwx4u5x familj 0 4457 18733 18045 2017-04-28T17:25:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18733 wikitext text/x-wiki {{-sv-}} === Magac === '''familj''' [[qoys]] fkvkfuqxj8vskvrmrix2mnpyy3ha3sf hushåll 0 4458 18862 17612 2017-04-28T17:26:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18862 wikitext text/x-wiki {{-sv-}} === Magac === '''hushåll''' [[qoys]] bm9ypq4ql2cufj8h9esyczh9ejj2so8 oila 0 4459 19097 17395 2017-04-28T17:28:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19097 wikitext text/x-wiki {{-uz-}} === Magac === '''oila''' [[qoys]] 7z5xnoo4w1djz4aie4k6epo8k9itjrm família 0 4460 18738 17320 2017-04-28T17:25:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18738 wikitext text/x-wiki {{-pt-}} === Magac === '''família''' [[qoys]] 3ktvo6okw8wcx61rhue3s9fxz8ci76m rodzina 0 4461 19227 17771 2017-04-28T17:29:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19227 wikitext text/x-wiki {{-pl-}} === Magac === '''rodzina''' [[qoys]] q7zz9w0m9v98p6bff8j45os5cn9tsx1 ғаилә 0 4463 19629 13709 2017-04-28T17:32:03Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19629 wikitext text/x-wiki {{-ba-}} === Magac === '''ғаилә''' [[qoys]] q8pd9v1mk4rhp47c4weedt4a6qd5r24 сям'я 0 4464 19611 17503 2017-04-28T17:31:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19611 wikitext text/x-wiki {{-be-}} === Magac === '''сям'я''' [[qoys]] flx2j6zwbm5b1m4pc595w74gj5jc7bd familh 0 4465 18727 15558 2017-04-28T17:25:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18727 wikitext text/x-wiki {{-br-}} === Magac === '''familh''' [[qoys]] meua1al1u01nx7h75wg8im2xr8k2sm1 семейство 0 4466 19603 17740 2017-04-28T17:31:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19603 wikitext text/x-wiki {{-bg-}} === Magac === '''семейство''' # [[qoys]] fxyb6lmbiaq10lzfjib8ls53smlfiu2 tiegezh 0 4467 19388 18148 2017-04-28T17:30:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19388 wikitext text/x-wiki {{-br-}} === Magac === '''tiegezh''' [[qoys]] isasuvcff8joo7pxcv22h4npijf2ots မိသားစု 0 4468 19720 14183 2017-04-28T17:32:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19720 wikitext text/x-wiki {{-my-}} === Magac === '''မိသားစု»''' [[qoys]] sqabl2zrzs2y0m0jdpssgv7vh4u15in ᏏᏓᏁᎸᎯ 0 4469 19727 14177 2017-04-28T17:32:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19727 wikitext text/x-wiki {{-chr-}} === Magac === '''ᏏᏓᏁᎸᎯ''' # [[qoys]] 5fmfz495kngbcu8ow9bg4xb8rqlmloc доьзал 0 4470 19576 16743 2017-04-28T17:31:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19576 wikitext text/x-wiki {{-ce-}} === Magac === '''доьзал''' [[qoys]] envzdhp6l3murddjre27kse7ucn6a1p famiglia 0 4471 18726 17836 2017-04-28T17:25:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18726 wikitext text/x-wiki {{-it-}} === Magac === '''famiglia''' [[qoys]] {{-co-}} === Magac === '''famiglia''' [[qoys]] {{-rm-}} === Magac === '''famiglia''' [[qoys]] ijcr6j3lbut74zkertbb81psps8g3v2 famalja 0 4472 18725 13921 2017-04-28T17:25:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18725 wikitext text/x-wiki {{-dlm-}} === Magac === '''famalja''' [[qoys]] poojjcxpau2p337c92gqmti0kdkifyq Familie 0 4473 18289 17438 2017-04-28T17:22:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18289 wikitext text/x-wiki {{-de-}} === Magac === '''Familie''' [[qoys]] {{-lb-}} === Magac === '''Familie''' [[qoys]] be1tg8cxoctbs9b5tv5ki91h5d7anof परिबार 0 4474 19700 16779 2017-04-28T17:32:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19700 wikitext text/x-wiki {{-ne-}} === Magac === '''परिबार''' :[[qoys]] k626twat24l49fr5v9lqgggeis9bibm خاندان 0 4475 19678 14154 2017-04-28T17:32:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19678 wikitext text/x-wiki {{-fa-}} === Magac === '''خاندان''' :[[qoys]] {{-ur-}} === Magac === '''خاندان''' :[[qoys]] 10v6bnobvn7twl416xdgyzmin9b20ga ପରିବାର 0 4476 19708 14193 2017-04-28T17:32:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19708 wikitext text/x-wiki {{-or-}} === Magac === '''ପରିବାର''' :[[qoys]] kfq1crhfd6orj3u22j4derhn9noorin خانوادَه 0 4477 19679 14153 2017-04-28T17:32:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19679 wikitext text/x-wiki {{-fa-}} === Magac === '''خانوادَه''' :[[qoys]] j5yyvvk11q4ad2m2uotvlr260jcvnu3 ocak 0 4478 19095 17871 2017-04-28T17:28:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19095 wikitext text/x-wiki {{-tr-}} === Magac === '''ocak''' :[[qoys]] 8i6vbcj5vh1zczlo6jmaf417br4re10 семья 0 4479 19605 16731 2017-04-28T17:31:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19605 wikitext text/x-wiki {{-ru-}} === Magac === '''семья''' :[[qoys]] pz67offf77v5i34up3i0vg42wd95pgd kodak 0 4480 18938 13948 2017-04-28T17:27:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18938 wikitext text/x-wiki {{-az-}} === Magac === '''kodak''' :[[qoys]] {{-tr-}} === Magac === '''kodak''' :[[qoys]] 753gni8ixnbuziratbp32dhoavclmlc aile 0 4482 20177 18400 2019-02-05T17:03:42Z 91.156.27.99 20177 wikitext text/x-wiki {{-tr-}} === Magac === '''aile''' :[[qoys]] [[Category:Turki ereyada]] 2j4bg3jqje99gfuvhoedp7r8tge4m7d xonadon 0 4483 19481 16715 2017-04-28T17:31:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19481 wikitext text/x-wiki {{-uz-}} === Magac === '''xonadon''' [[qoys]] 7qj3t7xjj4lxp4lm5u64sunvz5kdd6o teulu 0 4484 19382 14056 2017-04-28T17:30:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19382 wikitext text/x-wiki {{-cy-}} === Magac === '''teulu''' # [[qoys]] fzl6efxuc8e55zq2e21qcqvnlsbw1t4 famül 0 4485 18739 13917 2017-04-28T17:25:52Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18739 wikitext text/x-wiki {{-vo-}} === Magac === '''famül''' :[[qoys]] 4qsnr7seqwpokupejvpcwfz7ip51xjw gia đình 0 4486 18797 17376 2017-04-28T17:26:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18797 wikitext text/x-wiki {{-vi-}} === Magac === '''gia đình''' :[[qoys]] 2ssr352g8y9uwtq8foq08qoji0r8x78 គ្រួសារ 0 4487 19728 14176 2017-04-28T17:32:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19728 wikitext text/x-wiki {{-km-}} === Magac === '''គ្រួសារ''' :[[qoys]] 292fnkn77scq0nk7qv0eqfqila5cij4 Template:Hani 10 4488 12271 2015-02-07T22:24:31Z 201.86.174.11 Bog cusub: <span class="Hani" lang="{{{lang|zh}}}-Hani" xml:lang="{{{lang|zh}}}-Hani">{{{1}}}</span> 12271 wikitext text/x-wiki <span class="Hani" lang="{{{lang|zh}}}-Hani" xml:lang="{{{lang|zh}}}-Hani">{{{1}}}</span> qcahc8viwnvx0ndfrfkcca0bd25vwqv Template:Cyrl/type 10 4489 12272 2015-02-07T22:25:41Z 201.86.174.11 Bog cusub: <includeonly>{{#switch:{{{1|}}}|fs|fs.cat|=cyrillique|ISO name=Cyrillic|polices=DejaVu Sans, Segoe UI, Tahoma, Verdana, Arial|exemple=АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШ... 12272 wikitext text/x-wiki <includeonly>{{#switch:{{{1|}}}|fs|fs.cat|=cyrillique|ISO name=Cyrillic|polices=DejaVu Sans, Segoe UI, Tahoma, Verdana, Arial|exemple=АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ абвгдежзийклмнопрстуфхцчшщъыьэюя ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏ ѐёђѓєѕіїјљњћќѝўџ ҚқҐґ|?}}</includeonly> 3ucyhpos9ef0oiqnhxm048d1or44x9c Template:ur-Arab 10 4490 12273 2015-02-07T22:28:12Z 201.86.174.11 Bog cusub: <span class="ur-Arab" dir="rtl">{{{1}}}</span> 12273 wikitext text/x-wiki <span class="ur-Arab" dir="rtl">{{{1}}}</span> 1h2yzgm2ppdw7nkr9vd4fbvuigd6wxb Template:Mlym 10 4491 12274 2015-02-07T22:29:06Z 201.86.174.11 Bog cusub: <span class="mlym" dir="rtl">{{{1}}}</span> 12274 wikitext text/x-wiki <span class="mlym" dir="rtl">{{{1}}}</span> ga32vt7husizylpgelr9sy7d67ojjrp Template:Thai 10 4492 12275 2015-02-07T22:29:38Z 201.86.174.11 Bog cusub: <span class="Thai">{{{1}}}</span> 12275 wikitext text/x-wiki <span class="Thai">{{{1}}}</span> sd8p9ewjq9tlynkjh56t8icd5aw8ado Template:Telu 10 4493 12276 2015-02-07T22:30:58Z 201.86.174.11 Bog cusub: <span class="Telu">{{{1}}}</span> 12276 wikitext text/x-wiki <span class="Telu">{{{1}}}</span> krd3z776e0463todnzvkw4ao2e912ym Template:Taml 10 4494 12277 2015-02-07T22:31:07Z 201.86.174.11 Bog cusub: <span class="Taml">{{{1}}}</span> 12277 wikitext text/x-wiki <span class="Taml">{{{1}}}</span> awfy0953m9538bhuanamitj7bu63fnd Template:ia 10 4495 12278 2015-02-07T22:32:06Z 201.86.174.11 Bog cusub: Interlinguwa 12278 wikitext text/x-wiki Interlinguwa n26n211cvgrhhtwmpr64nklkba5mejb Template:gv 10 4496 12279 2015-02-07T22:33:04Z 201.86.174.11 Bog cusub: Manx 12279 wikitext text/x-wiki Manx iz6r1d00y1hfee6pc0jtf1hogkaut0y әулет 0 4497 19631 16770 2017-04-28T17:32:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19631 wikitext text/x-wiki {{-kk-}} === Magac === '''әулет''' :[[qoys]] ry8g4fq5j3av7ooz1hbbzurqo21afaj ಆವಳಿ 0 4498 19711 14190 2017-04-28T17:32:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19711 wikitext text/x-wiki {{-kn-}} === Magac === '''ಆವಳಿ''' [[qoys]] 5wciizxjfyavc4mshw3qyd9lvgrqgcy saime 0 4499 19241 17772 2017-04-28T17:29:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19241 wikitext text/x-wiki {{-ltg-}} === Magac === '''saime''' [[qoys]] {{-lv-}} === Magac === '''saime''' [[qoys]] 6s4inth30ubkscqgntokr74qd2517ri от басы 0 4500 12283 2015-02-07T22:37:33Z 201.86.174.11 Bog cusub: {{-kk-}} ===Magac=== '''от басы''' [[qoys]] 12283 wikitext text/x-wiki {{-kk-}} ===Magac=== '''от басы''' [[qoys]] 3xdk66memwge6fopljk6fiplugathru 가족 0 4501 19762 17114 2017-04-28T17:32:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19762 wikitext text/x-wiki {{-ko-}} === Magac === '''가족''' # [[qoys]] 4mui1o96wemo2cwc5a9yzee875c76na бүлө 0 4502 19570 13644 2017-04-28T17:31:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19570 wikitext text/x-wiki {{-ky-}} === Magac === '''бүлө''' # [[qoys]] 5nygwoquakw6bs2mm97af6qv0hhaqdx үй-бүлө 0 4503 19630 13754 2017-04-28T17:32:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19630 wikitext text/x-wiki {{-ky-}} === Magac === '''үй-бүлө''' # [[qoys]] jzy9kjaw41hl2n9bco72e1tqyu3uuss ຄອບຄົວ 0 4504 19718 14185 2017-04-28T17:32:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19718 wikitext text/x-wiki {{-lo-}} === Magac === '''ຄອບຄົວ''' # [[qoys]] map8g9qpt37o7s9qyjxkssp1gmot1tm айл 0 4505 19565 13636 2017-04-28T17:31:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19565 wikitext text/x-wiki {{-mn-}} === Magac === '''айл''' # [[qoys]] qqh27mahusmmnun00snfqbxnjoe2cc6 овог 0 4506 19587 16738 2017-04-28T17:31:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19587 wikitext text/x-wiki {{-mn-}} === Magac === '''овог''' [[qoys]] n8803rr9djt3wc5l6mekn9v3jcpog7i гэр бүл 0 4507 19572 16745 2017-04-28T17:31:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19572 wikitext text/x-wiki {{-mn-}} === Magac === '''гэр бүл''' # [[qoys]] ia70qwok1inviq4ndylar1m95vn9awg фамилија 0 4508 19617 16775 2017-04-28T17:31:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19617 wikitext text/x-wiki {{-mk-}} === Magac === '''фамилија''' [[qoys]] riqjzfx6vzcirnge8py4x40zict6z1d семејство 0 4509 19604 15603 2017-04-28T17:31:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19604 wikitext text/x-wiki {{-mk-}} === Magac === '''семејство''' # [[qoys]] bykgfj3fi66asjj1pfpp5k4wsm146zr šeimyna 0 4510 19535 13614 2017-04-28T17:31:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19535 wikitext text/x-wiki {{-lt-}} === Magac === '''šeimyna''' # [[qoys]] 6odr4coot3hd6r83t3xter5t7mcsnns šeima 0 4511 19534 14772 2017-04-28T17:31:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19534 wikitext text/x-wiki {{-lt-}} === Magac === '''šeima''' # [[qoys]] fn1r4ltf9awbzvalgd1qzqaejweugoc ģimene 0 4512 19523 13153 2017-04-28T17:31:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19523 wikitext text/x-wiki {{-lv-}} === Magac === '''ģimene''' # [[qoys]] b1mson6qasqr5hhf076osss89fciiyh Template:trans-mid 10 4513 12296 2015-02-07T22:44:40Z 201.86.174.11 Bog cusub: <noinclude> [[Category:Column templates|{{PAGENAME}}]] </noinclude>| width=1% | |bgcolor="#FFFFE0" valign=top align=left width=48%| 12296 wikitext text/x-wiki <noinclude> [[Category:Column templates|{{PAGENAME}}]] </noinclude>| width=1% | |bgcolor="#FFFFE0" valign=top align=left width=48%| aapo47u49220gvk2ayt3cq63g83he9z Template:ur 10 4514 12297 2015-02-07T22:46:25Z 201.86.174.11 Bog cusub: Urduu 12297 wikitext text/x-wiki Urduu k74avo4homoa8zzq7ooqpajsgdlfj8c Template:Jpan 10 4515 12298 2015-02-07T22:46:58Z 201.86.174.11 Bog cusub: <span class="Jpan JA" lang="ja" xml:lang="ja">{{{1}}}</span> 12298 wikitext text/x-wiki <span class="Jpan JA" lang="ja" xml:lang="ja">{{{1}}}</span> rg41bm55wezniu8bu23995av275443w Template:Deva 10 4516 12299 2015-02-07T22:48:16Z 201.86.174.11 Bog cusub: <span class="Deva">{{{1}}}</span> 12299 wikitext text/x-wiki <span class="Deva">{{{1}}}</span> ee4cjf8rxre0pdm0fu88tz2953tvnf7 Template:ps-Arab 10 4517 12300 2015-02-07T22:49:21Z 201.86.174.11 Bog cusub: <span class="ps-Arab">{{{1}}}</span> 12300 wikitext text/x-wiki <span class="ps-Arab">{{{1}}}</span> 7zzd5f69d05ffti18phvx8iulaai1l7 Template:Latn 10 4518 12301 2015-02-07T22:49:40Z 201.86.174.11 Bog cusub: <span class="Latn">{{{1}}}</span> 12301 wikitext text/x-wiki <span class="Latn">{{{1}}}</span> kj7xoamnj06ydqd6ajyo9bpi823fo1u Template:Sinh 10 4519 12302 2015-02-07T22:50:01Z 201.86.174.11 Bog cusub: <span class="Sinh">{{{1}}}</span> 12302 wikitext text/x-wiki <span class="Sinh">{{{1}}}</span> 699x54xa1lpek935910j4ug3kt8ff3c Template:sd-Arab 10 4520 12303 2015-02-07T22:50:11Z 201.86.174.11 Bog cusub: <span class="sd-Arab">{{{1}}}</span> 12303 wikitext text/x-wiki <span class="sd-Arab">{{{1}}}</span> 8n25emgeuzkuy2gqbnzpkcs43l2oz5z Template:ug-Arab 10 4521 12304 2015-02-07T22:50:27Z 201.86.174.11 Bog cusub: <span class="ug-Arab">{{{1}}}</span> 12304 wikitext text/x-wiki <span class="ug-Arab">{{{1}}}</span> jy7zu9sfj6le6zehuk94x48ywh4fzox Template:fa-Arab 10 4522 12305 2015-02-07T22:51:35Z 201.86.174.11 Bog cusub: <span class="fa-Arab">{{{1}}}</span> 12305 wikitext text/x-wiki <span class="fa-Arab">{{{1}}}</span> isq5ms13l1xufgitzxn22o7t2hl9in3 Template:Guru 10 4523 12306 2015-02-07T22:52:09Z 201.86.174.11 Bog cusub: <span class="Guru">{{{1}}}</span> 12306 wikitext text/x-wiki <span class="Guru">{{{1}}}</span> 2q9bep8xx6hesqf7a05c1mnm0q82vpg Template:ii 10 4524 12307 2015-02-07T22:52:57Z 201.86.174.11 Bog cusub: Sichuan Yi 12307 wikitext text/x-wiki Sichuan Yi mp02915g6n3fs6499664prlp5fwshyz Template:tyv 10 4525 12308 2015-02-07T22:53:35Z 201.86.174.11 Bog cusub: Tuvaniis 12308 wikitext text/x-wiki Tuvaniis ay0xyzl54sldns7hhs2ra2bhgtnmkp0 Template:Hebr 10 4526 12309 2015-02-07T22:54:38Z 201.86.174.11 Bog cusub: <span class="Hebr">{{{1}}}</span> 12309 wikitext text/x-wiki <span class="Hebr">{{{1}}}</span> 1xej8uprxeim8km5xf3zdwvgivh4pop Template:bn 10 4527 12310 2015-02-07T23:00:44Z 201.86.174.11 Bog cusub: Bangaali 12310 wikitext text/x-wiki Bangaali 5tb08lw68t0gmfcl16911bmyyfo7oyr Template:ky 10 4528 12311 2015-02-07T23:01:19Z 201.86.174.11 Bog cusub: Kirgiis 12311 wikitext text/x-wiki Kirgiis 4a2rxpc2eh5fykabrfwg1f946p510xh Template:mt 10 4529 12312 2015-02-07T23:01:22Z 201.86.174.11 Bog cusub: Maltiis 12312 wikitext text/x-wiki Maltiis e3jirhiebsmpejydhq2x649pv6t43rv Template:pa 10 4530 12313 2015-02-07T23:01:56Z 201.86.174.11 Bog cusub: Bunjaabi 12313 wikitext text/x-wiki Bunjaabi 2831834f4a61vu2lfqoerfswfwwutq1 Template:ta 10 4531 12314 2015-02-07T23:02:37Z 201.86.174.11 Bog cusub: Tamiil 12314 wikitext text/x-wiki Tamiil 1f481ikam0q1dbj8r2m7r97v5ml4e7z Template:tk 10 4532 12315 2015-02-07T23:02:46Z 201.86.174.11 Bog cusub: Turkumaanish 12315 wikitext text/x-wiki Turkumaanish 70qa3cgt5erxkgoo44cqas64ujz2e58 Template:si 10 4533 12316 2015-02-07T23:03:18Z 201.86.174.11 Bog cusub: Sinhaleys 12316 wikitext text/x-wiki Sinhaleys coxc39uhnfm7tp4chl4zyzopbc52ox3 ਪਰਿਵਾਰ 0 4534 19705 14196 2017-04-28T17:32:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19705 wikitext text/x-wiki {{-pa-}} === Magac === '''ਪਰਿਵਾਰ''' # [[qoys]] 12t1ptonvns1s2eslmbdvwwnmkx3kd0 පවුල 0 4535 19713 14188 2017-04-28T17:32:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19713 wikitext text/x-wiki {{-sd-}} === Magac === '''පවුල''' :[[qoys]] l5h1pois4625rtnld4x6dppnqgm7c6l бинонтӕ 0 4536 19568 14111 2017-04-28T17:31:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19568 wikitext text/x-wiki {{-os-}} === Magac === '''бинонтӕ''' :[[qoys]] i9e5fv2tk91m0clny6tc55imimh5786 عائله 0 4537 19685 16783 2017-04-28T17:32:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19685 wikitext text/x-wiki {{-fa-}} === Magac === '''عائله''' [[qoys]] q3n3p64iirmlt4tkgt4ttrumo0jgt4w فامیل 0 4538 19689 14147 2017-04-28T17:32:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19689 wikitext text/x-wiki {{-fa-}} === Magac === '''فامیل''' [[qoys]] 7bt920baulsermdvzojxrh81yapnu7b குடும்பம் 0 4539 19709 14192 2017-04-28T17:32:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19709 wikitext text/x-wiki {{-ta-}} === Magac === '''குடும்பம்''' # [[qoys]] humaqalmsvamnb1142vudlmux96tmtl משפּחה 0 4540 19659 13074 2017-04-28T17:32:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19659 wikitext text/x-wiki {{-yi-}} === Magac === '''משפּחה''' [[qoys]] 2or5lra0te08mmhvygv35q8m3vkpqlh ئائىلە 0 4541 19666 14164 2017-04-28T17:32:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19666 wikitext text/x-wiki {{-ug-}} === Magac === '''ئائىلە''' [[qoys]] 5yj4hv9fighv2n00pehxoi09jkhijkb ครอบครัว 0 4542 19714 17369 2017-04-28T17:32:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19714 wikitext text/x-wiki {{-th-}} === Magac === '''ครอบครัว''' # [[qoys]] ciuhp1ylw96egb8jc2neob0qsl4fb8x కుటుంబము 0 4543 19710 14191 2017-04-28T17:32:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19710 wikitext text/x-wiki {{-te-}} === Magac === '''కుటుంబము''' :[[qoys]] lsidwaujl03beh1m756dzcg1uc3iw6c сім'я 0 4544 19612 18105 2017-04-28T17:31:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19612 wikitext text/x-wiki {{-uk-}} === Magac === '''сім'я''' :[[qoys]] tjitf41srbzmnqw7dxgd0c864nogfr7 өг-ишти 0 4545 12328 2015-02-07T23:10:37Z 201.86.174.11 Bog cusub: {{-tt-}} ===Magac=== '''өг-ишти''' :[[qoys]] 12328 wikitext text/x-wiki {{-tt-}} ===Magac=== '''өг-ишти''' :[[qoys]] 67wtduq3it1bdnt0jt54q3dkedufbvi өг-бүле 0 4546 19632 14114 2017-04-28T17:32:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19632 wikitext text/x-wiki {{-tt-}} === Magac === '''өг-бүле''' :[[qoys]] r5wwmc2rh5f5oqv5txp7x7z0jc35io4 maşgala 0 4547 19022 13961 2017-04-28T17:27:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19022 wikitext text/x-wiki {{-tk-}} === Magac === '''maşgala''' :[[qoys]] o1coyubv61bosa7iqi7g3kexak0t7m2 Template:-te- 10 4549 12332 2015-02-07T23:13:23Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Teluugu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Teluugu</big></big></big> (te)</div>== <br><noinclude> <!--... 12332 wikitext text/x-wiki <includeonly>[[Category:Teluugu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Teluugu</big></big></big> (te)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 9iqcl2k4mms0b6w84lil33bi4r67uqz Template:-zu- 10 4550 12333 2015-02-07T23:14:06Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Zuluu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Zuluu</big></big></big> (zu)</div>== <br><noinclude> <!--Ca... 12333 wikitext text/x-wiki <includeonly>[[Category:Zuluu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Zuluu</big></big></big> (zu)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> mvd40smpj3ipqdfm1vpzgopwy6ux5sb Template:-ug- 10 4551 12335 2015-02-07T23:15:00Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Uirghur ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Uirghur</big></big></big> (ug)</div>== <br><noinclude> <!--... 12335 wikitext text/x-wiki <includeonly>[[Category:Uirghur ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Uirghur</big></big></big> (ug)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> gcp5af4cu97gz84581cub67dpexad5x Template:-sd- 10 4552 12336 2015-02-07T23:15:51Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Sinhaleys ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Sinhaleys</big></big></big> (sd)</div>== <br><noinclude>... 12336 wikitext text/x-wiki <includeonly>[[Category:Sinhaleys ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Sinhaleys</big></big></big> (sd)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 3has9a50m7p0hz8ur17zunq3kprk6jm Template:-ta- 10 4553 12337 2015-02-07T23:16:30Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Tamiil ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tamiil</big></big></big> (ta)</div>== <br><noinclude> <!--... 12337 wikitext text/x-wiki <includeonly>[[Category:Tamiil ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tamiil</big></big></big> (ta)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> rwtldos2pi3za8pfsbnft74sy26wnc9 Template:-ur- 10 4554 12339 2015-02-07T23:20:00Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Urduu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Urduu</big></big></big> (ur)</div>== <br><noinclude> <!--Ca... 12339 wikitext text/x-wiki <includeonly>[[Category:Urduu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Urduu</big></big></big> (ur)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> awt0o65eia2g37y1jy13digkvl2xv35 Template:-mt- 10 4555 12340 2015-02-07T23:20:45Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Maltiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maltiis</big></big></big> (mt)</div>== <br><noinclude> <!--... 12340 wikitext text/x-wiki <includeonly>[[Category:Maltiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Maltiis</big></big></big> (mt)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 61hzc2z4x68jpgab4gx40ev3z16ydnq Template:-pa- 10 4556 12341 2015-02-07T23:21:26Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Bunjaabi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bunjaabi</big></big></big> (pa)</div>== <br><noinclude> <!... 12341 wikitext text/x-wiki <includeonly>[[Category:Bunjaabi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bunjaabi</big></big></big> (pa)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> tj1ydqghk7iou7970yj3l96ghu5mbqh Template:-sw- 10 4557 12342 2015-02-07T23:22:13Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Sawaaxili ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Sawaaxili</big></big></big> (sw)</div>== <br><noinclude>... 12342 wikitext text/x-wiki <includeonly>[[Category:Sawaaxili ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Sawaaxili</big></big></big> (sw)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> sflekfm7y616q1kybkzfiiz0gacltg6 Template:-kk- 10 4558 12343 2015-02-07T23:23:45Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Kazaax ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kazaax</big></big></big> (kk)</div>== <br><noinclude> <!--... 12343 wikitext text/x-wiki <includeonly>[[Category:Kazaax ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Kazaax</big></big></big> (kk)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 08bi8gjl7meq7on4oymwulnkqhcet4l Module:links 828 4559 22398 22397 2022-09-26T10:09:30Z EnsiklopediaXylon 3278 Noqay bedelaadka 22397 ee sameeyay [[Special:Contributions/EnsiklopediaXylon|EnsiklopediaXylon]] ([[User talk:EnsiklopediaXylon|hadal]]) 22398 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 = "" -- Encode certain characters to avoid various delimiter-related issues at various stages. We need to encode < and > -- because they end up forming part of CSS class names inside of <span ...> and will interfere with finding the end -- of the HTML tag. I first tried converting them to URL encoding, i.e. %3C and %3E; they then appear in the URL as -- %253C and %253E, which get mapped back to %3C and %3E when passed to [[Module:accel]]. But mapping them to &lt; -- and &gt; somehow works magically without any further work; they appear in the URL as < and >, and get passed to -- [[Module:accel]] as < and >. I have no idea who along the chain of calls is doing the encoding and decoding. If -- someone knows, please modify this comment appropriately! local encode_accel_char_map = { ["%"] = ".", [" "] = "_", ["<"] = "&lt;", [">"] = "&gt;", } local function encode_accel_param_chars(param) local retval = param:gsub("[% <>]", encode_accel_char_map) -- discard second return value 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 os54grsal9oli8pqebeyim2kpu68njq Template:masculine plural of 10 4560 12345 2015-02-07T23:29:04Z 201.86.174.11 Bog cusub: U sameeyaan eray ka jamac {{{1}}} 12345 wikitext text/x-wiki U sameeyaan eray ka jamac {{{1}}} fdt86e2wsl4xvxoodfa62u9k5oi4q2z Module:term cleanup 828 4561 12346 2015-02-07T23:32:08Z 201.86.174.11 Bog cusub: local export = {} function export.cleanup(frame) local args = frame:getParent().args local title = mw.title.getCurrentTitle() local lang = args["lang"] local sc =... 12346 Scribunto text/plain local export = {} function export.cleanup(frame) local args = frame:getParent().args local title = mw.title.getCurrentTitle() local lang = args["lang"] local sc = args["sc"] local tr = args["tr"] local term = (args[1] or "") .. (args[2] or "") if lang == "und" then return "[[Category:term cleanup/lang=und]]" elseif not lang or lang == "" then if title.nsText == "Template" then return "[[Category:term cleanup/template namespace]]" elseif sc then if sc == "Arab" then return "[[Category:term cleanup/sc=Arab]]" elseif sc == "fa-Arab" then return "[[Category:term cleanup/sc=fa-Arab]]" elseif sc == "Deva" then return "[[Category:term cleanup/sc=Deva]]" elseif sc == "Grek" then return "[[Category:term cleanup/sc=Grek]]" elseif sc == "Hebr" then return "[[Category:term cleanup/sc=Hebr]]" elseif sc == "Hani" or sc == "Hant" or sc == "Hans" then return "[[Category:term cleanup/sc=Hani]]" else return "[[Category:term cleanup/with sc]]" end elseif lang == "" then return "[[Category:term cleanup/lang=]]" elseif title.isTalkPage then return "[[Category:term cleanup/talk]]" elseif title.nsText == "User" then return "[[Category:term cleanup/user namespace]]" elseif title.nsText == "Wiktionary" then return "[[Category:term cleanup/wiktionary namespace]]" elseif tr then return "[[Category:term cleanup/with tr]]" -- Categorise by character range elseif containsRange(term, 0x0600, 0x06FF) then return "[[Category:term cleanup/Arabic]]" elseif containsRange(term, 0x0530, 0x058F) then return "[[Category:term cleanup/Armenian]]" elseif containsRange(term, 0x3400, 0x9FFF) then return "[[Category:term cleanup/Chinese]]" elseif containsRange(term, 0x0400, 0x04FF) then return "[[Category:term cleanup/Cyrillic]]" elseif containsRange(term, 0x0900, 0x097F) then return "[[Category:term cleanup/Devanagari]]" elseif containsRange(term, 0x10A0, 0x10FF) then return "[[Category:term cleanup/Georgian]]" elseif containsRange(term, 0x2C00, 0x2C5F) then return "[[Category:term cleanup/Glagolitic]]" elseif containsRange(term, 0x10330, 0x1034F) then return "[[Category:term cleanup/Gothic]]" elseif containsRange(term, 0x0370, 0x03FF) then return "[[Category:term cleanup/Greek]]" elseif containsRange(term, 0x1F00, 0x1FFF) then return "[[Category:term cleanup/Polytonic Greek]]" elseif containsRange(term, 0x0590, 0x05FF) or containsRange(term, 0xFB1D, 0xFB4F) then return "[[Category:term cleanup/Hebrew]]" elseif containsRange(term, 0x3040, 0x30FF) then return "[[Category:term cleanup/Kana]]" elseif containsRange(term, 0xAC00, 0xD7AF) then return "[[Category:term cleanup/Korean]]" elseif containsRange(term, 0x0E00, 0x0E7F) then return "[[Category:term cleanup/Thai]]" elseif containsRange(term, 0x80, 0x024F) then return "[[Category:term cleanup/Latin extended]]" -- Any other non-ASCII elseif containsRange(term, 0x80, 0x10FFFF) then return "[[Category:term cleanup/containing characters]]" elseif term:find("@") then return "[[Category:term cleanup/sign language]]" else return "[[Category:term cleanup]]" end end end function containsRange(str, first, last) for codepoint in mw.ustring.gcodepoint(str) do if codepoint >= first and codepoint <= last then return true end end return false end return export 7wt3isa4qar1iuvbqhk2av7byrh9zel Module:languages 828 4562 12347 2015-02-07T23:33:10Z 201.86.174.11 Bog cusub: local export = {} local Language = {} function Language:getCode() return self._code end function Language:getCanonicalName() return self._rawData.canonicalName end -- Commente... 12347 Scribunto text/plain local export = {} local Language = {} function Language:getCode() return self._code end function Language:getCanonicalName() return self._rawData.canonicalName end -- Commented out; I don't think anything uses this, the presence/absence of script errors should confirm --function Language:getAllNames() -- return self._rawData.names --end function Language:getOtherNames() return self._rawData.otherNames or {} end function Language:getType() return self._rawData.type 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:getScripts() if not self._scriptObjects then local m_scripts = require("Module:scripts") self._scriptObjects = {} for _, sc in ipairs(self._rawData.scripts) do table.insert(self._scriptObjects, m_scripts.getByCode(sc)) end end return self._scriptObjects end function Language:getFamily() if not self._familyObject then self._familyObject = require("Module:families").getByCode(self._rawData.family) end return self._familyObject end function Language:getAncestors() if not self._ancestorObjects then self._ancestorObjects = {} for _, ancestor in ipairs(self._rawData.ancestors or {}) do table.insert(self._ancestorObjects, export.getByCode(ancestor)) end end return self._ancestorObjects 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:getCategoryName() local name = self._rawData.canonicalName -- 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:makeEntryName(text) text = mw.ustring.gsub(text, "^[¿¡]", "") text = mw.ustring.gsub(text, "[؟?!;՛՜ ՞ ՟?!।॥။၊་།]$", "") if self._rawData.entry_name then for i, from in ipairs(self._rawData.entry_name.from) do local to = self._rawData.entry_name.to[i] or "" text = mw.ustring.gsub(text, from, to) end end return text end function Language:makeSortKey(name) name = mw.ustring.lower(name) -- Remove initial hyphens and * name = mw.ustring.gsub(name, "^[-־ـ*]+(.)", "%1") -- Remove anything in 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 there are language-specific rules to generate the key, use those if self._rawData.sort_key then for i, from in ipairs(self._rawData.sort_key.from) do local to = self._rawData.sort_key.to[i] or "" name = mw.ustring.gsub(name, from, to) end end return mw.ustring.upper(name) 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:toJSON() local entryNamePatterns = nil if self._rawData.entry_name 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 local ret = { ancestors = self._rawData.ancestors, canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName(), code = self._code, entryNamePatterns = entryNamePatterns, family = self._rawData.family, otherNames = self:getOtherNames(), scripts = self._rawData.scripts, type = self:getType(), wikimediaLanguages = self._rawData.wikimedia_codes, } 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 local function getDataModuleName(code) if code:find("^[a-z][a-z]$") then return "languages/data2" elseif code:find("^[a-z][a-z][a-z]$") then local prefix = code:sub(1, 1) return "languages/data3/" .. prefix elseif code:find("^[a-z-]+$") then return "languages/datax" else return nil end end local function getRawLanguageData(code) local modulename = getDataModuleName(code) return modulename and mw.loadData("Module:" .. modulename)[code] or nil end function export.makeObject(code, data) return data and setmetatable({ _rawData = data, _code = code }, Language) or nil end function export.getByCode(code) return export.makeObject(code, getRawLanguageData(code)) end function export.getByCanonicalName(name) local code = mw.loadData("Module:languages/by name")[name] if not code then return nil end return export.makeObject(code, getRawLanguageData(code)) 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 return export 7ialdrwmnawnmj57sc5i0k4macycqxt Module:scripts 828 4563 12348 2015-02-07T23:47:52Z 201.86.174.11 Bog cusub: local export = {} local Script = {} function Script:getCode() return self._code end function Script:getCanonicalName() return self._rawData.canonicalName end function Script:g... 12348 Scribunto text/plain local export = {} local Script = {} function Script:getCode() return self._code end function Script:getCanonicalName() return self._rawData.canonicalName end function Script:getOtherNames() return self._rawData.otherNames or {} end --function Script:getAllNames() -- return self._rawData.names --end function Script:getType() return "script" end function Script:getCategoryName() local name = self._rawData.canonicalName -- If the name already has "script" in it, don't add it. if name:find("[Ss]script$") then return name else return name .. " script" 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:getRawData() return self._rawData end function Script:toJSON() local ret = { canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName(), code = self._code, otherNames = self:getOtherNames(), type = self:getType(), } 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) if code == "IPAchar" then require("Module:debug").track("IPAchar") 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. function export.findBestScript(text, lang) if not text or not lang then return export.getByCode("None") end local scripts = lang:getScripts() -- Try to match every script against the text, -- and return the one with the most matching characters. local bestcount = 0 local bestscript = nil for i, script in ipairs(scripts) do local count = script:countCharacters(text) 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 return export 1o0zw7bl325q0rhc37ouh1720kya84a Module:languages/data2 828 4564 12349 2015-02-07T23:49:13Z 201.86.174.11 Bog cusub: 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... 12349 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 m = {} m["aa"] = { canonicalName = "Afar", otherNames = {"Qafar"}, type = "regular", scripts = {"Latn"}, family = "cus", } m["ab"] = { canonicalName = "Abkhaz", otherNames = {"Abkhazian", "Abxazo"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nwc", translit_module = "ab-translit", entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["ae"] = { canonicalName = "Avestan", otherNames = {"Zend", "Old Bactrian"}, type = "regular", scripts = {"Avst", "Gujr"}, family = "ira", translit_module = "Avst-translit", } m["af"] = { canonicalName = "Afrikaans", type = "regular", scripts = {"Latn", "Arab"}, family = "gmw", ancestors = {"nl"}, sort_key = { from = {"[äáâà]", "[ëéêè]", "[ïíîì]", "[öóôò]", "[üúûù]", "[ÿýŷỳ]", "^-", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" }} , } m["ak"] = { canonicalName = "Akan", otherNames = {"Twi-Fante"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["am"] = { canonicalName = "Amharic", type = "regular", scripts = {"Ethi"}, family = "sem-eth", translit_module = "Ethi-translit", } m["an"] = { canonicalName = "Aragonese", type = "regular", scripts = {"Latn"}, family = "roa", } m["ar"] = { canonicalName = "Arabic", otherNames = {"Modern Standard Arabic", "Standard Arabic", "Literary Arabic", "Classical Arabic"}, type = "regular", scripts = {"Arab"}, family = "sem-arb", 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)}}, translit_module = "ar-translit", } m["as"] = { canonicalName = "Assamese", type = "regular", scripts = {"Beng"}, family = "inc", } m["av"] = { canonicalName = "Avar", otherNames = {"Avaric"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "av-translit", } m["ay"] = { canonicalName = "Aymara", otherNames = {"Southern Aymara", "Central Aymara"}, type = "regular", scripts = {"Latn"}, family = "sai-aym", } m["az"] = { canonicalName = "Azeri", otherNames = {"Azerbaijani", "Azari", "Azeri Turkic", "Azerbaijani Turkic", "North Azerbaijani", "South Azerbaijani"}, type = "regular", scripts = {"Latn", "Cyrl", "fa-Arab"}, family = "trk", } m["ba"] = { canonicalName = "Bashkir", type = "regular", scripts = {"Cyrl"}, family = "trk", translit_module = "ba-translit", } m["be"] = { canonicalName = "Belarusian", otherNames = {"Belorussian", "Belarusan", "Bielorussian", "Byelorussian", "Belarussian", "White Russian"}, type = "regular", scripts = {"Cyrl"}, family = "zle", ancestors = {"orv"}, translit_module = "be-translit", sort_key = { from = {"Ё", "ё"}, to = {"Е" , "е"}}, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["bg"] = { canonicalName = "Bulgarian", type = "regular", scripts = {"Cyrl"}, family = "zls", translit_module = "bg-translit", entry_name = { from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE}, to = {"Е", "е", "И", "и"}} , } m["bh"] = { canonicalName = "Bihari", type = "regular", scripts = {"Deva"}, family = "inc", } m["bi"] = { canonicalName = "Bislama", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["bm"] = { canonicalName = "Bambara", otherNames = {"Bamanankan"}, type = "regular", scripts = {"Latn"}, family = "dmn", } m["bn"] = { canonicalName = "Bengali", otherNames = {"Bangla"}, type = "regular", scripts = {"Beng"}, family = "inc", } m["bo"] = { canonicalName = "Tibetan", type = "regular", scripts = {"Tibt"}, family = "tbq", translit_module = "bo-translit", } m["br"] = { canonicalName = "Breton", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"xbm"}, } m["ca"] = { canonicalName = "Catalan", otherNames = {"Valencian"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "l·l"}, to = {"a", "e" , "i" , "o" , "u" , "c", "ll" }} , } m["ce"] = { canonicalName = "Chechen", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "ce-translit", } m["ch"] = { canonicalName = "Chamorro", otherNames = {"Chamoru"}, type = "regular", scripts = {"Latn"}, family = "poz-sus", } m["co"] = { canonicalName = "Corsican", otherNames = {"Corsu"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["cr"] = { canonicalName = "Cree", type = "regular", scripts = {"Cans", "Latn"}, family = "alg", } m["cs"] = { canonicalName = "Czech", type = "regular", scripts = {"Latn"}, family = "zlw", sort_key = { from = {"á", "é", "í", "ó", "[úů]", "ý"}, to = {"a", "e", "i", "o", "u" , "y"}} , } m["cu"] = { canonicalName = "Old Church Slavonic", otherNames = {"Old Church Slavic"}, type = "regular", scripts = {"Cyrs", "Glag"}, family = "zls", translit_module = "Cyrs-Glag-translit", entry_name = { from = {u(0x0484)}, -- kamora to = {}}, sort_key = { from = {"оу", "є"}, to = {"у" , "е"}} , } m["cv"] = { canonicalName = "Chuvash", type = "regular", scripts = {"Cyrl"}, family = "trk", translit_module = "cv-translit", } m["cy"] = { canonicalName = "Welsh", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"wlm"}, sort_key = { from = {"[âáàä]", "[êéèë]", "[îíìï]", "[ôóòö]", "[ûúùü]", "[ŵẃẁẅ]", "[ŷýỳÿ]", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "w" , "y" }} , } m["da"] = { canonicalName = "Danish", type = "regular", scripts = {"Latn"}, family = "gmq", } m["de"] = { canonicalName = "German", otherNames = {"High German", "New High German", "Deutsch"}, -- the last name is indeed also used in English type = "regular", scripts = {"Latn", "Latf"}, family = "gmw", ancestors = {"gmh"}, sort_key = { from = {"[äàáâå]", "[ëèéê]", "[ïìíî]", "[öòóô]", "[üùúû]", "ß" }, to = {"a" , "e" , "i" , "o" , "u" , "ss"}} , } m["dv"] = { canonicalName = "Dhivehi", otherNames = {"Divehi", "Mahal", "Mahl", "Maldivian"}, type = "regular", scripts = {"Thaa"}, family = "inc", translit_module = "dv-translit", } m["dz"] = { canonicalName = "Dzongkha", type = "regular", scripts = {"Tibt"}, family = "tbq", translit_module = "bo-translit", } m["ee"] = { canonicalName = "Ewe", type = "regular", scripts = {"Latn"}, family = "alv", } m["el"] = { canonicalName = "Greek", otherNames = {"Modern Greek", "Neo-Hellenic"}, type = "regular", scripts = {"Grek"}, family = "grk", translit_module = "el-translit", sort_key = { -- Keep this synchronized with grc, cpg from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ"}} , } m["en"] = { canonicalName = "English", otherNames = {"Modern English", "New English", "Hawaiian Creole English", "Hawai'ian Creole English", "Hawaiian Creole", "Hawai'ian Creole", "Polari", "Yinglish"}, -- all but the first three are names and alt names of subsumed dialects which once had ISO codes type = "regular", scripts = {"Latn", "Shaw", "Dsrt"}, -- last two are rare but probably attested; entries in them might require community approval, but it's good for the script codes not to be orphans family = "gmw", ancestors = {"enm"}, sort_key = { from = {"[äàáâåā]", "[ëèéêē]", "[ïìíîī]", "[öòóôō]", "[üùúûū]", "æ" , "œ" , "[çč]", "ñ", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "ae", "oe", "c" , "n"}}, wikimedia_codes = {"en", "simple"}, } m["eo"] = { canonicalName = "Esperanto", type = "regular", scripts = {"Latn"}, family = "art", sort_key = { from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ĉ]", "[ĝ]", "[ĥ]", "[ĵ]", "[ŝ]", "[ŭ]"}, to = {"a" , "e" , "i" , "o" , "u", "cĉ", "gĉ", "hĉ", "jĉ", "sĉ", "uĉ"}} , } m["es"] = { canonicalName = "Spanish", otherNames = {"Castilian"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"á", "é", "í", "ó", "[úü]", "ç", "ñ"}, to = {"a", "e", "i", "o", "u" , "c", "n"}} , } m["et"] = { canonicalName = "Estonian", type = "regular", scripts = {"Latn"}, family = "fiu-fin", ancestors = {"fiu-fin-pro"}, } m["eu"] = { canonicalName = "Basque", otherNames = {"Euskara"}, type = "regular", scripts = {"Latn"}, family = "euq", } m["fa"] = { canonicalName = "Persian", otherNames = {"Farsi", "New Persian", "Modern Persian", "Western Persian", "Iranian Persian", "Eastern Persian", "Dari"}, type = "regular", scripts = {"fa-Arab"}, family = "ira", entry_name = { from = {u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)}, to = {}} , } m["ff"] = { canonicalName = "Fula", otherNames = {"Adamawa Fulfulde", "Bagirmi Fulfulde", "Borgu Fulfulde", "Central-Eastern Niger Fulfulde", "Fulani", "Fulfulde", "Maasina Fulfulde", "Nigerian Fulfulde", "Pular", "Pulaar", "Western Niger Fulfulde"}, -- Maasina, etc are dialects, subsumed into this code type = "regular", scripts = {"Latn"}, family = "alv-sng", } m["fi"] = { canonicalName = "Finnish", otherNames = {"Suomi"}, type = "regular", scripts = {"Latn"}, family = "fiu-fin", ancestors = {"fiu-fin-pro"}, 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"] = { canonicalName = "Fijian", type = "regular", scripts = {"Latn"}, family = "poz-occ", } m["fo"] = { canonicalName = "Faroese", type = "regular", scripts = {"Latn"}, family = "gmq", } m["fr"] = { canonicalName = "French", otherNames = {"Modern French"}, type = "regular", scripts = {"Latn"}, family = "roa", ancestors = {"frm"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c", "ae", "oe"}} , } m["fy"] = { canonicalName = "West Frisian", otherNames = {"Western Frisian", "Frisian"}, type = "regular", scripts = {"Latn"}, family = "gmw-fri", } m["ga"] = { canonicalName = "Irish", otherNames = {"Irish Gaelic"}, type = "regular", scripts = {"Latn"}, family = "cel-gae", ancestors = {"mga"}, sort_key = { from = {"á", "é", "í", "ó", "ú", "ý", "ḃ" , "ċ" , "ḋ" , "ḟ" , "ġ" , "ṁ" , "ṗ" , "ṡ" , "ṫ" }, to = {"a", "e", "i", "o", "u", "y", "bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}} , } m["gd"] = { canonicalName = "Scottish Gaelic", otherNames = {"Gàidhlig", "Highland Gaelic", "Scots Gaelic", "Scottish"}, type = "regular", scripts = {"Latn"}, family = "cel-gae", ancestors = {"mga"}, sort_key = { from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ýỳ]"}, to = {"a" , "e" , "i" , "o" , "u" , "y" }} , } m["gl"] = { canonicalName = "Galician", type = "regular", scripts = {"Latn"}, family = "roa", } m["gn"] = { canonicalName = "Guaraní", type = "regular", scripts = {"Latn"}, family = "tup", } m["gu"] = { canonicalName = "Gujarati", type = "regular", scripts = {"Gujr"}, family = "inc", } m["gv"] = { canonicalName = "Manx", otherNames = {"Manx Gaelic"}, type = "regular", scripts = {"Latn"}, family = "cel-gae", ancestors = {"mga"}, sort_key = { from = {"ç", "-"}, to = {"c"}} , } m["ha"] = { canonicalName = "Hausa", type = "regular", scripts = {"Latn", "Arab"}, family = "cdc-wst", } m["he"] = { canonicalName = "Hebrew", otherNames = {"Ivrit"}, type = "regular", scripts = {"Hebr"}, family = "sem-can", entry_name = { from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. "]"}, to = {}} , } m["hi"] = { canonicalName = "Hindi", type = "regular", scripts = {"Deva"}, family = "inc", translit_module = "hi-translit", } m["ho"] = { canonicalName = "Hiri Motu", otherNames = {"Pidgin Motu", "Police Motu"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"meu"}, } m["ht"] = { canonicalName = "Haitian Creole", otherNames = {"Creole", "Haitian", "Kreyòl"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["hu"] = { canonicalName = "Hungarian", otherNames = {"Magyar"}, type = "regular", scripts = {"Latn"}, family = "fiu-ugr", sort_key = { from = {"á", "é", "í", "ó", "ú", "ő", "ű"}, to = {"a", "e", "i", "o", "u", "ö", "ü"}} , } m["hy"] = { canonicalName = "Armenian", otherNames = {"Modern Armenian", "Eastern Armenian", "Western Armenian"}, type = "regular", scripts = {"Armn"}, family = "hyx", translit_module = "Armn-translit", sort_key = { from = {"ու", "և", "եւ"}, to = {"ւ", "եվ", "եվ"}}, entry_name = { from = {"՞", "՜", "՛", "՟", "և", "<sup>յ</sup>", "ՙ", "̈", "յ̵"}, to = {"", "", "", "", "եւ", "յ", "", "", "յ"}} , } m["hz"] = { canonicalName = "Herero", type = "regular", scripts = {"Latn"}, family = "bnt", } m["ia"] = { canonicalName = "Interlingua", type = "regular", scripts = {"Latn"}, family = "art", } m["id"] = { canonicalName = "Indonesian", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["ie"] = { canonicalName = "Interlingue", otherNames = {"Occidental"}, type = "regular", scripts = {"Latn"}, family = "art", } m["ig"] = { canonicalName = "Igbo", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["ii"] = { canonicalName = "Sichuan Yi", type = "regular", scripts = {"Yiii"}, family = "tbq", } m["ik"] = { canonicalName = "Inupiak", otherNames = {"Inupiaq", "Iñupiaq", "Inupiatun"}, type = "regular", scripts = {"Latn"}, family = "esx-inu", } m["io"] = { canonicalName = "Ido", type = "regular", scripts = {"Latn"}, family = "art", } m["is"] = { canonicalName = "Icelandic", type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"non"}, } m["it"] = { canonicalName = "Italian", type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[àáâäå]", "[èéêë]", "[ìíîï]", "[òóôö]", "[ùúûü]"}, to = {"a" , "e" , "i" , "o" , "u" }} , } m["iu"] = { canonicalName = "Inuktitut", otherNames = {"Eastern Canadian Inuktitut", "Eastern Canadian Inuit", "Western Canadian Inuktitut", "Western Canadian Inuit", "Western Canadian Inuktun", "Inuinnaq", "Inuinnaqtun", "Inuvialuk", "Inuvialuktun", "Nunavimmiutit", "Nunatsiavummiut", "Aivilimmiut", "Natsilingmiut", "Kivallirmiut", "Siglit", "Siglitun"}, type = "regular", scripts = {"Cans", "Latn"}, family = "esx-inu", translit_module = "iu-translit", } m["ja"] = { canonicalName = "Japanese", otherNames = {"Modern Japanese", "Nipponese", "Nihongo"}, type = "regular", scripts = {"Jpan", "Latn", "Hira"}, family = "jpx", } m["jv"] = { canonicalName = "Javanese", type = "regular", scripts = {"Latn", "Java"}, family = "poz-sus", } m["ka"] = { canonicalName = "Georgian", otherNames = {"Kartvelian"}, type = "regular", scripts = {"Geor", "Geok"}, family = "ccs", translit_module = "Geor-translit", entry_name = { from = {"̂"}, to = {""}}, } m["kg"] = { canonicalName = "Kongo", otherNames = {"Kikongo", "Koongo", "Laari", "San Salvador Kongo", "Yombe"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["ki"] = { canonicalName = "Kikuyu", type = "regular", scripts = {"Latn"}, family = "bnt", } m["kj"] = { canonicalName = "Kwanyama", otherNames = {"Kuanyama", "Oshikwanyama"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["kk"] = { canonicalName = "Kazakh", type = "regular", scripts = {"Cyrl", "Latn", "Arab", "kk-Arab"}, family = "trk", translit_module = "kk-translit", } m["kl"] = { canonicalName = "Greenlandic", otherNames = {"Kalaallisut"}, type = "regular", scripts = {"Latn"}, family = "esx-inu", } m["km"] = { canonicalName = "Khmer", otherNames = {"Cambodian"}, type = "regular", scripts = {"Khmr"}, family = "mkh", translit_module = "km-translit", } m["kn"] = { canonicalName = "Kannada", type = "regular", scripts = {"Knda"}, family = "dra", translit_module = "kn-translit", } m["ko"] = { canonicalName = "Korean", otherNames = {"Modern Korean"}, type = "regular", scripts = {"Kore"}, family = "qfa-kor", translit_module = "ko-translit", } m["kr"] = { canonicalName = "Kanuri", otherNames = {"Kanembu", "Bilma Kanuri", "Central Kanuri", "Manga Kanuri", "Tumari Kanuri"}, type = "regular", scripts = {"Latn"}, family = "ssa", } m["ks"] = { canonicalName = "Kashmiri", type = "regular", scripts = {"ks-Arab", "Deva"}, family = "iir-dar", } m["ku"] = { canonicalName = "Kurdish", type = "regular", scripts = {"Latn", "ku-Arab"}, family = "ira", } m["kw"] = { canonicalName = "Cornish", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"cnx"}, } m["ky"] = { canonicalName = "Kyrgyz", otherNames = {"Kirghiz", "Kirgiz"}, type = "regular", scripts = {"Cyrl", "Latn", "Arab"}, family = "trk", translit_module = "ky-translit", } m["la"] = { canonicalName = "Latin", type = "regular", scripts = {"Latn"}, family = "itc", ancestors = {"itc-ola"}, entry_name = { from = {"[ĀĂ]", "[āă]", "[ĒĔ]", "[ēĕë]", "[ĪĬÏ]", "[īĭï]", "[ŌŎ]", "[ōŏ]", "[ŪŬÜ]", "[ūŭü]", "Ȳ", "ȳ", MACRON, BREVE, DIAER}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}}, } m["lb"] = { canonicalName = "Luxembourgish", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"gmh"}, } m["lg"] = { canonicalName = "Luganda", otherNames = {"Ganda"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["li"] = { canonicalName = "Limburgish", otherNames = {"Limburgan", "Limburgian", "Limburgic"}, type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"dum"}, } m["ln"] = { canonicalName = "Lingala", type = "regular", scripts = {"Latn"}, family = "bnt", } m["lo"] = { canonicalName = "Lao", otherNames = {"Laotian"}, type = "regular", scripts = {"Laoo"}, family = "tai-swe", translit_module = "lo-translit", } m["lt"] = { canonicalName = "Lithuanian", type = "regular", scripts = {"Latn"}, family = "bat", entry_name = { from = {"[áãà]", "[éẽè]", "[íĩì]", "[ýỹ]", "ñ", "[óõò]", "[úù]", ACUTE, GRAVE, TILDE}, to = {"a" , "e" , "i", "y" , "n", "o" , "u" }} , } m["lu"] = { canonicalName = "Luba-Katanga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["lv"] = { canonicalName = "Latvian", otherNames = {"Lettish", "Lett"}, type = "regular", scripts = {"Latn"}, family = "bat", } m["mg"] = { canonicalName = "Malagasy", otherNames = {"Betsimisaraka Malagasy", "Betsimisaraka", "Northern Betsimisaraka Malagasy", "Northern Betsimisaraka", "Southern Betsimisaraka Malagasy", "Southern Betsimisaraka", "Bara Malagasy", "Bara", "Masikoro Malagasy", "Masikoro", "Antankarana", "Antankarana Malagasy", "Plateau Malagasy", "Sakalava", "Tandroy Malagasy", "Tandroy", "Tanosy", "Tanosy Malagasy", "Tesaka", "Tsimihety", "Tsimihety Malagasy"}, type = "regular", scripts = {"Latn"}, family = "poz-bre", } m["mh"] = { canonicalName = "Marshallese", type = "regular", scripts = {"Latn"}, family = "poz-mic", sort_key = { from = {"ā" , "ļ" , "m̧" , "ņ" , "n̄" , "o̧" , "ō" , "ū" }, to = {"a~", "l~", "m~", "n~", "n~~", "o~", "o~~", "u~"}} , } m["mi"] = { canonicalName = "Maori", otherNames = {"Māori"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mk"] = { canonicalName = "Macedonian", type = "regular", scripts = {"Cyrl"}, family = "zls", translit_module = "mk-translit", entry_name = { from = {ACUTE}, to = {}}, } m["ml"] = { canonicalName = "Malayalam", type = "regular", scripts = {"Mlym"}, family = "dra", translit_module = "ml-translit", } m["mn"] = { canonicalName = "Mongolian", otherNames = {"Khalkha Mongolian"}, type = "regular", scripts = {"Cyrl", "Mong"}, family = "xgn", translit_module = "mn-translit", } m["mr"] = { canonicalName = "Marathi", type = "regular", scripts = {"Deva"}, family = "inc", translit_module = "hi-translit", } m["ms"] = { canonicalName = "Malay", type = "regular", scripts = {"Latn", "Arab"}, family = "poz-mly", } m["mt"] = { canonicalName = "Maltese", type = "regular", scripts = {"Latn"}, family = "sem-arb", } m["my"] = { canonicalName = "Burmese", otherNames = {"Myanmar"}, type = "regular", scripts = {"Mymr"}, family = "tbq-brm", ancestors = {"obr"}, translit_module = "my-translit", } m["na"] = { canonicalName = "Nauruan", otherNames = {"Nauru"}, type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["nb"] = { canonicalName = "Norwegian Bokmål", otherNames = {"Bokmål"}, type = "regular", scripts = {"Latn"}, family = "gmq", wikimedia_codes = {"no"}, } m["nd"] = { canonicalName = "Northern Ndebele", otherNames = {"North Ndebele"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["ne"] = { canonicalName = "Nepali", otherNames = {"Nepalese"}, type = "regular", scripts = {"Deva"}, family = "inc", translit_module = "sa-translit", } m["ng"] = { canonicalName = "Ndonga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["nl"] = { canonicalName = "Dutch", otherNames = {"Netherlandic", "Flemish"}, type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"dum"}, sort_key = { from = {"[äáâå]", "[ëéê]", "[ïíî]", "[öóô]", "[üúû]", "ç", "ñ", "^-"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "n"}} , } m["nn"] = { canonicalName = "Norwegian Nynorsk", otherNames = {"New Norwegian", "Nynorsk"}, type = "regular", scripts = {"Latn"}, family = "gmq", } m["no"] = { canonicalName = "Norwegian", type = "regular", scripts = {"Latn"}, family = "gmq", } m["nr"] = { canonicalName = "Southern Ndebele", otherNames = {"South Ndebele"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["nv"] = { canonicalName = "Navajo", type = "regular", scripts = {"nv-Latn"}, family = "apa", sort_key = { from = {"[áą]", "[éę]", "[íį]", "[óǫ]", "ń", "^n([djlt])", "ł" , "[ʼ’']", ACUTE}, to = {"a" , "e" , "i" , "o" , "n", "ni%1" , "l"}} } -- the copyright sign is used to guarantee that ł will always be sorted after all other words with l m["ny"] = { canonicalName = "Chichewa", otherNames = {"Chicheŵa", "Chinyanja", "Nyanja"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["oc"] = { canonicalName = "Occitan", otherNames = {"Provençal", "Auvergnat", "Auvernhat", "Gascon", "Languedocien", "Lengadocian"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[àá]", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "([lns])·h"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "%1h" }} , } m["oj"] = { canonicalName = "Ojibwe", otherNames = {"Chippewa", "Ojibway", "Ojibwemowin", "Southwestern Ojibwa"}, type = "regular", scripts = {"Cans", "Latn"}, family = "alg", } m["om"] = { canonicalName = "Oromo", otherNames = {"Orma", "Borana-Arsi-Guji Oromo", "West Central Oromo"}, type = "regular", scripts = {"Latn", "Ethi"}, family = "cus", } m["or"] = { canonicalName = "Oriya", otherNames = {"Odia", "Oorya"}, type = "regular", scripts = {"Orya"}, family = "inc", } m["os"] = { canonicalName = "Ossetian", otherNames = {"Ossete", "Ossetic", "Digor", "Iron"}, type = "regular", scripts = {"Cyrl", "Geor", "Latn"}, family = "ira", translit_module = "os-translit", entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["pa"] = { canonicalName = "Punjabi", otherNames = {"Panjabi"}, type = "regular", scripts = {"Guru", "Arab", "Deva"}, family = "inc", } m["pi"] = { canonicalName = "Pali", type = "regular", scripts = {"Latn", "Deva", "Sinh", "Mymr", "Khmr", "Thai"}, family = "inc", sort_key = { from = {"ā", "ī", "ū", "ḍ", "ḷ", "[ṁṃ]", "[ṇñṅ]", "ṭ"}, to = {"a", "i", "u", "d", "l", "m" , "n" , "t"}} , } m["pl"] = { canonicalName = "Polish", type = "regular", scripts = {"Latn"}, family = "zlw", 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"] = { canonicalName = "Pashto", otherNames = {"Pashtun", "Pushto", "Pashtu", "Central Pashto", "Northern Pashto", "Southern Pashto", "Pukhto", "Pakhto", "Pakkhto", "Afghani"}, type = "regular", scripts = {"ps-Arab"}, family = "ira", } m["pt"] = { canonicalName = "Portuguese", otherNames = {"Modern Portuguese"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[àãáâä]", "[èẽéêë]", "[ìĩíï]", "[òóôõö]", "[üúùũ]", "ç", "ñ"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "n"}} , } m["qu"] = { canonicalName = "Quechua", type = "regular", scripts = {"Latn"}, family = "qwe", } m["rm"] = { canonicalName = "Romansch", otherNames = {"Romansh", "Rumantsch", "Romanche"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["rn"] = { canonicalName = "Kirundi", type = "regular", scripts = {"Latn"}, family = "bnt", } m["ro"] = { canonicalName = "Romanian", otherNames = {"Daco-Romanian", "Roumanian", "Rumanian"}, type = "regular", scripts = {"Latn", "Cyrl"}, family = "roa", } m["ru"] = { canonicalName = "Russian", type = "regular", scripts = {"Cyrl"}, family = "zle", ancestors = {"orv"}, translit_module = "ru-translit", sort_key = { from = {"ё"}, to = {"е" .. mw.ustring.char(0x10FFFF)}}, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["rw"] = { canonicalName = "Kinyarwanda", type = "regular", scripts = {"Latn"}, family = "bnt", } m["sa"] = { canonicalName = "Sanskrit", type = "regular", scripts = {"Deva", "Beng", "Brah", "Gran", "Gujr", "Guru", "Khar", "Knda", "Mlym", "Mymr", "Orya", "Shrd", "Sinh", "Taml", "Telu", "Thai", "Tibt"}, family = "inc", ancestors = {"inc-pro"}, translit_module = "sa-translit", } m["sc"] = { canonicalName = "Sardinian", otherNames = {"Campidanese", "Logudorese", "Nuorese"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["sd"] = { canonicalName = "Sindhi", type = "regular", scripts = {"sd-Arab"}, family = "inc", } m["se"] = { canonicalName = "Northern Sami", otherNames = {"North Sami", "Northern Saami", "North Saami"}, type = "regular", scripts = {"Latn"}, family = "smi", entry_name = { from = {"([đflmnŋrsšŧv])'%1"}, to = {"%1%1"} }, } m["sg"] = { canonicalName = "Sango", type = "regular", scripts = {"Latn"}, family = "crp", } m["sh"] = { canonicalName = "Serbo-Croatian", otherNames = {"BCS", "Croato-Serbian", "Serbocroatian", "Bosnian", "Croatian", "Montenegrin", "Serbian"}, type = "regular", scripts = {"Latn", "Cyrl"}, family = "zls", entry_name = { from = {"[ȀÀȂÁĀ]", "[ȁàȃáā]", "[ȄÈȆÉĒ]", "[ȅèȇéē]", "[ȈÌȊÍĪ]", "[ȉìȋíī]", "[ȌÒȎÓŌ]", "[ȍòȏóō]", "[ȐȒŔ]", "[ȑȓŕ]", "[ȔÙȖÚŪ]", "[ȕùȗúū]", "Ѐ", "ѐ", "[ӢЍ]", "[ӣѝ]", "[Ӯ]", "[ӯ]", GRAVE, ACUTE, DGRAVE, INVBREVE, MACRON}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "Е", "е", "И" , "и", "У", "у" }}, wikimedia_codes = {"sh", "bs", "hr", "sr"}, } m["si"] = { canonicalName = "Sinhalese", otherNames = {"Singhalese", "Sinhala"}, type = "regular", scripts = {"Sinh"}, family = "inc", translit_module = "si-translit", } m["sk"] = { canonicalName = "Slovak", type = "regular", scripts = {"Latn"}, family = "zlw", sort_key = { from = {"[áä]", "é", "í", "[óô]", "ú", "ý", "ŕ", "ĺ"}, to = {"a" , "e", "i", "o" , "u", "y", "r", "l"}} , } m["sl"] = { canonicalName = "Slovene", otherNames = {"Slovenian"}, type = "regular", scripts = {"Latn"}, family = "zls", entry_name = { from = {"[ÁÀÂȂȀ]", "[áàâȃȁ]", "[ÉÈÊȆȄỆẸ]", "[éèêȇȅệẹə]", "[ÍÌÎȊȈ]", "[íìîȋȉ]", "[ÓÒÔȎȌỘỌ]", "[óòôȏȍộọ]", "[ŔȒȐ]", "[ŕȓȑ]", "[ÚÙÛȖȔ]", "[úùûȗȕ]", "ł", GRAVE, ACUTE, DGRAVE, INVBREVE, CIRC, DOTBELOW}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "l"}} , } m["sm"] = { canonicalName = "Samoan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["sn"] = { canonicalName = "Shona", type = "regular", scripts = {"Latn"}, family = "bnt", } m["so"] = { canonicalName = "Somali", type = "regular", scripts = {"Latn", "Arab", "Osma"}, family = "cus", entry_name = { from = {"[ÁÀÂ]", "[áàâ]", "[ÉÈÊ]", "[éèê]", "[ÍÌÎ]", "[íìî]", "[ÓÒÔ]", "[óòô]", "[ÚÙÛ]", "[úùû]", "[ÝỲ]", "[ýỳ]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u", "Y", "y"}} , } m["sq"] = { canonicalName = "Albanian", type = "regular", scripts = {"Latn", "Elba"}, family = "sqj", sort_key = { from = { '[âãä]', '[ÂÃÄ]', '[êẽë]', '[ÊẼË]', 'ĩ', 'Ĩ', 'õ', 'Õ', 'ũ', 'Ũ', 'ỹ', 'Ỹ', 'ç', 'Ç' }, to = { 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U', 'y', 'Y', 'c', 'C' } } , } m["ss"] = { canonicalName = "Swazi", otherNames = {"Swati"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["st"] = { canonicalName = "Sotho", otherNames = {"Sesotho", "Southern Sesotho", "Southern Sotho"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["su"] = { canonicalName = "Sundanese", type = "regular", scripts = {"Latn", "Sund"}, family = "poz-msa", } m["sv"] = { canonicalName = "Swedish", type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"gmq-osw"}, } m["sw"] = { canonicalName = "Swahili", type = "regular", scripts = {"Latn", "Arab"}, family = "bnt", sort_key = { from = {"ng'", "^-"}, to = {"ngz"}} , } m["ta"] = { canonicalName = "Tamil", type = "regular", scripts = {"Taml"}, family = "dra", translit_module = "ta-translit", } m["te"] = { canonicalName = "Telugu", type = "regular", scripts = {"Telu"}, family = "dra", translit_module = "te-translit", } m["tg"] = { canonicalName = "Tajik", otherNames = {"Tadjik", "Tadzhik", "Tajiki", "Tajik Persian"}, type = "regular", scripts = {"Cyrl", "fa-Arab", "Latn"}, family = "ira", translit_module = "tg-translit", sort_key = { from = {"Ё", "ё"}, to = {"Е" , "е"}} , } m["th"] = { canonicalName = "Thai", type = "regular", scripts = {"Thai"}, family = "tai-swe", } m["ti"] = { canonicalName = "Tigrinya", type = "regular", scripts = {"Ethi"}, family = "sem-eth", translit_module = "Ethi-translit", } m["tk"] = { canonicalName = "Turkmen", type = "regular", scripts = {"Latn", "Cyrl"}, family = "trk", } m["tl"] = { canonicalName = "Tagalog", type = "regular", scripts = {"Latn", "Tglg"}, family = "phi", } m["tn"] = { canonicalName = "Tswana", otherNames = {"Setswana"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["to"] = { canonicalName = "Tongan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["tr"] = { canonicalName = "Turkish", type = "regular", scripts = {"Latn"}, family = "trk", } m["ts"] = { canonicalName = "Tsonga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["tt"] = { canonicalName = "Tatar", type = "regular", scripts = {"Cyrl", "Latn", "Arab", "tt-Arab"}, family = "trk", translit_module = "tt-translit", } m["tw"] = { canonicalName = "Twi", type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["ty"] = { canonicalName = "Tahitian", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["ug"] = { canonicalName = "Uyghur", otherNames = {"Uigur", "Uighur", "Uygur"}, type = "regular", scripts = {"ug-Arab", "Latn", "Cyrl"}, family = "trk", translit_module = "ug-translit", } m["uk"] = { canonicalName = "Ukrainian", type = "regular", scripts = {"Cyrl"}, family = "zle", ancestors = {"orv"}, translit_module = "uk-translit", entry_name = { from = {GRAVE, ACUTE}, to = {}} } m["ur"] = { canonicalName = "Urdu", type = "regular", scripts = {"ur-Arab"}, family = "inc", entry_name = { from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)}, to = {}} , } m["uz"] = { canonicalName = "Uzbek", otherNames = {"Northern Uzbek", "Southern Uzbek"}, type = "regular", scripts = {"Latn", "Cyrl", "fa-Arab"}, family = "trk", } m["ve"] = { canonicalName = "Venda", type = "regular", scripts = {"Latn"}, family = "bnt", } m["vi"] = { canonicalName = "Vietnamese", otherNames = {"Annamese", "Annamite"}, type = "regular", scripts = {"Latn", "Hani"}, family = "mkh-vie", } m["vo"] = { canonicalName = "Volapük", type = "regular", scripts = {"Latn"}, family = "art", } m["wa"] = { canonicalName = "Walloon", type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâäå]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["wo"] = { canonicalName = "Wolof", type = "regular", scripts = {"Latn", "Arab"}, family = "alv-sng", } m["xh"] = { canonicalName = "Xhosa", type = "regular", scripts = {"Latn"}, family = "bnt", } m["yi"] = { canonicalName = "Yiddish", type = "regular", scripts = {"Hebr"}, family = "gmw", ancestors = {"gmh"}, translit_module = "yi-translit", } m["yo"] = { canonicalName = "Yoruba", type = "regular", scripts = {"Latn"}, family = "alv-von", } m["za"] = { canonicalName = "Zhuang", type = "regular", scripts = {"Latn", "Hani", "Cyrl"}, family = "tai", } m["zh"] = { canonicalName = "Chinese", type = "regular", scripts = {"Hani"}, family = "sit", } m["zu"] = { canonicalName = "Zulu", otherNames = {"isiZulu"}, type = "regular", scripts = {"Latn"}, family = "bnt", } return m 5gqbzc7fhuxc6hv2f8v1if4y69p4c22 Module:cmn-pron 828 4565 12350 2015-02-07T23:50:52Z 201.86.174.11 Bog cusub: local export = {} local gsub = mw.ustring.gsub local len = mw.ustring.len local match = mw.ustring.match local sub = mw.ustring.sub local m_zh = require("Module:zh") local m_zh_data... 12350 Scribunto text/plain local export = {} local gsub = mw.ustring.gsub local len = mw.ustring.len local match = mw.ustring.match local sub = mw.ustring.sub local m_zh = require("Module:zh") local m_zh_data = mw.loadData("Module:zh/data") local hom_data = mw.loadData("Module:zh/data/cmn-hom") local py_detone = { ['ā'] = 'a', ['á'] = 'a', ['ǎ'] = 'a', ['à'] = 'a', ['ō'] = 'o', ['ó'] = 'o', ['ǒ'] = 'o', ['ò'] = 'o', ['ē'] = 'e', ['é'] = 'e', ['ě'] = 'e', ['è'] = 'e', ['ī'] = 'i', ['í'] = 'i', ['ǐ'] = 'i', ['ì'] = 'i', ['ū'] = 'u', ['ú'] = 'u', ['ǔ'] = 'u', ['ù'] = 'u', ['ǖ'] = 'ü', ['ǘ'] = 'ü', ['ǚ'] = 'ü', ['ǜ'] = 'ü', ['ḿ'] = 'm', ['ń'] = 'n', ['ň'] = 'n', ['ǹ'] = 'n', } local py_tone = { ['ā'] = '1', ['ō'] = '1', ['ē'] = '1', ['ī'] = '1', ['ū'] = '1', ['ǖ'] = '1', ['á'] = '2', ['ó'] = '2', ['é'] = '2', ['í'] = '2', ['ú'] = '2', ['ǘ'] = '2', ['ǎ'] = '3', ['ǒ'] = '3', ['ě'] = '3', ['ǐ'] = '3', ['ǔ'] = '3', ['ǚ'] = '3', ['à'] = '4', ['ò'] = '4', ['è'] = '4', ['ì'] = '4', ['ù'] = '4', ['ǜ'] = '4', ['ḿ'] = '2', ['ń'] = '2', ['ň'] = '3', ['ǹ'] = '4', } function export.py_transform(text, detone, not_spaced) if type(text) == 'table' then text, detone, not_spaced = text.args[1], text.args[2], text.args[3] end if match(text, '​') then error("Pinyin contains the hidden character: ​ (U+200B). Please remove that character from the text.") end if detone == '' then detone = nil end if not_spaced == '' then not_spaced = nil end if match(mw.ustring.lower(text), '[āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ][aeiou]?[āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]') and not not_spaced then error(("Missing apostrophe before null-initial syllable - should be \"%s\" instead."):format(gsub(text, '([āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ][aeiou]?)([āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ])', "%1'%2"))) end text = mw.ustring.lower(text) if not mw.ustring.match(text, '[āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜḿńňǹ]') and text:match('[1-5]') then return gsub(text, '(%d)(%l)', '%1 %2') end if match(text, '[一不,.?]') then text = gsub(text, '一 ', ' yī ') text = gsub(text, '([一不])$', {['一'] = ' yī', ['不'] = ' bù'}) text = gsub(text, '([一不])', ' %1 ') text = gsub(text, '([,.?])', ' %1 ') text = gsub(text, ' +', ' ') text = gsub(text, '^ ', '') text = gsub(text, ' $', '') text = gsub(text, '%. %. %.', '...') end text = gsub(text, "['%-]", ' ') text = gsub(text, '̀', '4') text = gsub(text, '([aoeiuüāōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]n?g?r?)([bpmfdtlkhjqxzcsywrng]h?)', '%1 %2') text = gsub(text, ' ([grn])$', '%1') text = gsub(text, ' ([grn]) ', '%1 ') if detone then text = mw.ustring.gsub(text, '([āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜḿńňǹ])', function(a) return py_detone[a] .. py_tone[a] end) text = gsub(text, '([1234])([^ ]*)', '%2%1') text = mw.ustring.gsub(text, '([%lüê]) ', '%15 ') text = mw.ustring.gsub(text, '([%lüê])$', '%15') end if not_spaced then text = gsub(text, ' ', '') end return text end function export.py_ipa(text) local ipa_initial = { ['b'] = 'p', ['p'] = 'pʰ', ['m'] = 'm', ['f'] = 'f', ['d'] = 't', ['t'] = 'tʰ', ['n'] = 'n', ['l'] = 'l', ['g'] = 'k', ['k'] = 'kʰ', ['h'] = 'x', ['j'] = 't͡ɕ', ['q'] = 't͡ɕʰ', ['x'] = 'ɕ', ['z'] = 't͡s', ['c'] = 't͡sʰ', ['s'] = 's', ['r'] = 'ʐ', ['zh'] = 'ʈ͡ʂ', ['ch'] = 'ʈ͡ʂʰ', ['sh'] = 'ʂ', [''] = '' } local ipa_initial_tl = { ['p'] = 'b̥', ['t'] = 'd̥', ['k'] = 'g̊', ['t͡ɕ'] = 'd͡ʑ̥', ['t͡s'] = 'd͡z̥', ['ʈ͡ʂ'] = 'ɖ͡ʐ̥' } local ipa_final = { ['yuanr'] = 'ɥɑɻ', ['iangr'] = 'jɑ̃ɻ', ['yangr'] = 'jɑ̃ɻ', ['uangr'] = 'wɑ̃ɻ', ['wangr'] = 'wɑ̃ɻ', ['yingr'] = 'jɤ̃ɻ', ['wengr'] = 'ʊ̃ɻ', ['iongr'] = 'jʊ̃ɻ', ['yongr'] = 'jʊ̃ɻ', ['yuan'] = 'y̯ɛn', ['iang'] = 'i̯ɑŋ', ['yang'] = 'i̯ɑŋ', ['uang'] = 'u̯ɑŋ', ['wang'] = 'u̯ɑŋ', ['ying'] = 'iŋ', ['weng'] = 'u̯əŋ', ['iong'] = 'i̯ʊŋ', ['yong'] = 'i̯ʊŋ', ['ianr'] = 'jɑɻ', ['yanr'] = 'jɑɻ', ['uair'] = 'wɑɻ', ['wair'] = 'wɑɻ', ['uanr'] = 'wɑɻ', ['wanr'] = 'wɑɻ', ['iaor'] = 'jaʊɻʷ', ['yaor'] = 'jaʊɻʷ', ['üanr'] = 'ɥɑɻ', ['vanr'] = 'ɥɑɻ', ['angr'] = 'ɑ̃ɻ', ['yuer'] = 'ɥɛɻ', ['weir'] = 'wəɻ', ['wenr'] = 'wəɻ', ['your'] = 'jɤʊɻʷ', ['yinr'] = 'jəɻ', ['yunr'] = 'ɥəɻ', ['engr'] = 'ɤ̃ɻ', ['ingr'] = 'jɤ̃ɻ', ['ongr'] = 'ʊ̃ɻ', ['uai'] = 'u̯aɪ̯', ['wai'] = 'u̯aɪ̯', ['yai'] = 'i̯aɪ̯', ['iao'] = 'i̯ɑʊ̯', ['yao'] = 'i̯ɑʊ̯', ['ian'] = 'i̯ɛn', ['yan'] = 'i̯ɛn', ['uan'] = 'u̯a̠n', ['wan'] = 'u̯a̠n', ['üan'] = 'y̯ɛn', ['van'] = 'y̯ɛn', ['ang'] = 'ɑŋ', ['yue'] = 'y̯œ', ['wei'] = 'u̯eɪ̯', ['you'] = 'i̯oʊ̯', ['yin'] = 'in', ['wen'] = 'u̯ən', ['yun'] = 'yn', ['eng'] = 'ɤŋ', ['ing'] = 'iŋ', ['ong'] = 'ʊŋ', ['air'] = 'ɑɻ', ['anr'] = 'ɑɻ', ['iar'] = 'jɑɻ', ['yar'] = 'jɑɻ', ['uar'] = 'wɑɻ', ['war'] = 'wɑɻ', ['aor'] = 'aʊɻʷ', ['ier'] = 'jɛɻ', ['yer'] = 'jɛɻ', ['uor'] = 'wɔɻ', ['wor'] = 'wɔɻ', ['üer'] = 'ɥɛɻ', ['ver'] = 'ɥɛɻ', ['eir'] = 'əɻ', ['enr'] = 'əɻ', ['uir'] = 'wəɻ', ['unr'] = 'wəɻ', ['our'] = 'ɤʊɻʷ', ['iur'] = 'jɤʊɻ', ['inr'] = 'jəɻ', ['ünr'] = 'ɥəɻ', ['vnr'] = 'ɥəɻ', ['yir'] = 'jəɻ', ['wur'] = 'wuɻ', ['yur'] = 'ɥəɻ', ['yo'] = 'i̯ɔ', ['ia'] = 'i̯a̠', ['ya'] = 'i̯a̠', ['ua'] = 'u̯a̠', ['wa'] = 'u̯a̠', ['ai'] = 'aɪ̯', ['ao'] = 'ɑʊ̯', ['an'] = 'a̠n', ['ie'] = 'i̯ɛ', ['ye'] = 'i̯ɛ', ['uo'] = 'u̯ɔ', ['wo'] = 'u̯ɔ', ['ue'] = 'ɥ̯œ', ['üe'] = 'ɥ̯œ', ['ve'] = 'ɥ̯œ', ['ei'] = 'eɪ̯', ['ui'] = 'u̯eɪ̯', ['ou'] = 'oʊ̯', ['iu'] = 'i̯oʊ̯', ['en'] = 'ən', ['in'] = 'in', ['un'] = 'u̯ən', ['ün'] = 'yn', ['vn'] = 'yn', ['yi'] = 'i', ['wu'] = 'u', ['yu'] = 'y', ['mˋ'] = 'm̩', ['ng'] = 'ŋ̩', ['ňg'] = 'ŋ̩', ['ńg'] = 'ŋ̩', ['ê̄'] = 'ɛ', ['ê̌'] = 'ɛ', ['ar'] = 'ɑɻ', ['er'] = 'ɤɻ', ['or'] = 'wɔɻ', ['ir'] = 'iəɻ', ['ur'] = 'uɻ', ['ür'] = 'yəɻ', ['vr'] = 'yəɻ', ['a'] = 'a̠', ['e'] = 'ɤ', ['o'] = 'u̯ɔ', ['i'] = 'i', ['u'] = 'u', ['ü'] = 'y', ['v'] = 'y', ['m'] = 'm̩', ['ḿ'] = 'm̩', ['n'] = 'n̩', ['ń'] = 'n̩', ['ň'] = 'n̩', ['ê'] = 'ɛ', ['ế'] = 'ɛ', ['ề'] = 'ɛ' } local ipa_null = { ['a'] = true, ['o'] = true, ['e'] = true, ['ai'] = true, ['ei'] = true, ['ao'] = true, ['ou'] = true, ['an'] = true, ['en'] = true, ['er'] = true, ['ang'] = true, ['ong'] = true, ['eng'] = true } local ipa_tl_ts = { ['1'] = '²', ['2'] = '³', ['3'] = '⁴', ['4'] = '¹', ['5'] = '¹' } local ipa_third_t_ts = { ['1'] = '²¹⁴⁻²¹¹', ['3'] = '²¹⁴⁻³⁵', ['5'] = '²¹⁴', ['2'] = '²¹⁴⁻²¹¹', ['1-2'] = '²¹⁴⁻²¹¹', ['4-2'] = '²¹⁴⁻²¹¹', ['4'] = '²¹⁴⁻²¹¹', ['1-4'] = '²¹⁴⁻²¹¹' } local ipa_t_values = { ['4'] = '⁵¹', ['1-4'] = '⁵⁵⁻⁵¹', ['1'] = '⁵⁵', ['2'] = '³⁵', ['1-2'] = '⁵⁵⁻³⁵', ['4-2'] = '⁵¹⁻³⁵' } local tone = {} local tone_cat = {} local text = gsub(export.py_transform(text), '[,.]', '') text = gsub(text, ' +', ' ') local p = mw.text.split(text, " ") for i = 1, #p do tone_cat[i] = m_zh.tone_determ(p[i]) p[i] = gsub(p[i], '.', py_detone) if p[i] == '一' then if m_zh.tone_determ(p[i+1]) == '4' then tone_cat[i] = '1-2' else tone_cat[i] = '1-4' end p[i] = 'yi' elseif p[i] == '不' then if m_zh.tone_determ(p[i+1]) == '4' then tone_cat[i] = '4-2' else tone_cat[i] = '4' end p[i] = 'bu' end end for i = 1, #p do if ipa_null[p[i]] then p[i] = 'ˀ' .. p[i] end p[i] = gsub(p[i], '([jqx])u', '%1ü') p[i] = gsub(p[i], '^(ˀ?)([bcdfghjklmnpqrstxz]?h?)(.+)$', function(a, b, c) return a .. (ipa_initial[b] or error(("Unrecognised initial: \"%s\""):format(b))) .. (ipa_final[c] or error(("Unrecognised final: \"%s\". Are you missing an apostrophe before the null-initial syllable, or using an invalid Pinyin final?"):format(c))) end) p[i] = gsub(p[i], '(ʈ?͡?[ʂʐ]ʰ?)i', '%1ʐ̩') p[i] = gsub(p[i], '(t?͡?sʰ?)i', '%1z̩') p[i] = gsub(p[i], 'ˀu̯ɔ', 'ˀ̯ɔ') p[i] = gsub(p[i], 'ʐʐ̩', 'ʐ̩') if tone_cat[i] == '5' then p[i] = gsub(p[i], '^([ptk])([^͡ʰ])', function(a, b) return ipa_initial_tl[a] .. b end) p[i] = gsub(p[i], '^([tʈ]͡[sɕʂ])([^ʰ])', function(a, b) return ipa_initial_tl[a] .. b end) p[i] = gsub(p[i], 'ɤ$', 'ə') tone[i] = ipa_tl_ts[tone_cat[i-1]] or "" elseif tone_cat[i] == '3' then if i == #tone_cat then if i == 1 then tone[i] = '²¹⁴' else tone[i] = '²¹⁴⁻²¹⁽⁴⁾' end else tone[i] = ipa_third_t_ts[tone_cat[i+1]] end elseif tone_cat[i] == '4' and tone_cat[i+1] == '4' then tone[i] = '⁵¹⁻⁵³' elseif tone_cat[i] == '4' and tone_cat[i+1] == '1-4' then tone[i] = '⁵¹⁻⁵³' elseif tone_cat[i] == '1-4' and tone_cat[i+1] == '4' then tone[i] = '⁵⁵⁻⁵³' else tone[i] = ipa_t_values[tone_cat[i]] end p[i] = p[i] .. tone[i] end return table.concat(p, " ") end function export.py_zhuyin(text) local zhuyin_initial = { ['b'] = 'ㄅ', ['p'] = 'ㄆ', ['m'] = 'ㄇ', ['f'] = 'ㄈ', ['d'] = 'ㄉ', ['t'] = 'ㄊ', ['n'] = 'ㄋ', ['l'] = 'ㄌ', ['g'] = 'ㄍ', ['k'] = 'ㄎ', ['h'] = 'ㄏ', ['j'] = 'ㄐ', ['q'] = 'ㄑ', ['x'] = 'ㄒ', ['z'] = 'ㄗ', ['c'] = 'ㄘ', ['s'] = 'ㄙ', ['r'] = 'ㄖ', ['zh'] = 'ㄓ', ['ch'] = 'ㄔ', ['sh'] = 'ㄕ', [''] = '' } local zhuyin_final = { ['yuan'] = 'ㄩㄢ', ['iang'] = 'ㄧㄤ', ['yang'] = 'ㄧㄤ', ['uang'] = 'ㄨㄤ', ['wang'] = 'ㄨㄤ', ['ying'] = 'ㄧㄥ', ['weng'] = 'ㄨㄥ', ['iong'] = 'ㄩㄥ', ['yong'] = 'ㄩㄥ', ['uai'] = 'ㄨㄞ', ['wai'] = 'ㄨㄞ', ['yai'] = 'ㄧㄞ', ['iao'] = 'ㄧㄠ', ['yao'] = 'ㄧㄠ', ['ian'] = 'ㄧㄢ', ['yan'] = 'ㄧㄢ', ['uan'] = 'ㄨㄢ', ['wan'] = 'ㄨㄢ', ['üan'] = 'ㄩㄢ', ['ang'] = 'ㄤ', ['yue'] = 'ㄩㄝ', ['wei'] = 'ㄨㄟ', ['you'] = 'ㄧㄡ', ['yin'] = 'ㄧㄣ', ['wen'] = 'ㄨㄣ', ['yun'] = 'ㄩㄣ', ['eng'] = 'ㄥ', ['ing'] = 'ㄧㄥ', ['ong'] = 'ㄨㄥ', ['yo'] = 'ㄧㄛ', ['ia'] = 'ㄧㄚ', ['ya'] = 'ㄧㄚ', ['ua'] = 'ㄨㄚ', ['wa'] = 'ㄨㄚ', ['ai'] = 'ㄞ', ['ao'] = 'ㄠ', ['an'] = 'ㄢ', ['ie'] = 'ㄧㄝ', ['ye'] = 'ㄧㄝ', ['uo'] = 'ㄨㄛ', ['wo'] = 'ㄨㄛ', ['ue'] = 'ㄩㄝ', ['üe'] = 'ㄩㄝ', ['ei'] = 'ㄟ', ['ui'] = 'ㄨㄟ', ['ou'] = 'ㄡ', ['iu'] = 'ㄧㄡ', ['en'] = 'ㄣ', ['in'] = 'ㄧㄣ', ['un'] = 'ㄨㄣ', ['ün'] = 'ㄩㄣ', ['yi'] = 'ㄧ', ['wu'] = 'ㄨ', ['yu'] = 'ㄩ', ['a'] = 'ㄚ', ['e'] = 'ㄜ', ['o'] = 'ㄛ', ['i'] = 'ㄧ', ['u'] = 'ㄨ', ['ü'] = 'ㄩ', ['ê'] = 'ㄝ', [''] = '' } local zhuyin_er = { ['r'] = 'ㄦ', [''] = '' } local zhuyin_tone = { ['1'] = '', ['2'] = 'ˊ', ['3'] = 'ˇ', ['4'] = 'ˋ', ['5'] = '˙' } if type(text) == 'table' then if text.args[1] == '' then text = mw.title.getCurrentTitle().text else text = text.args[1] end end text = export.py_transform(text, true) text = gsub(text, '([jqx])u', '%1ü') text = gsub(text, '([zcs]h?)i', '%1') word = mw.text.split(text, " ", true) for i = 1, #word do if match(word[i], '^[hn][mg][12345]$') then word[i] = gsub(word[i], '^([hn][mg])([12345])$', function(a, b) return gsub(a, '[hn][mg]', {['ng'] = '兀', ['hm'] = 'ㄏㄇ'}) .. zhuyin_tone[b] end) elseif match(word[i], '^er[12345]$') then word[i] = gsub(word[i], '^er([12345])$', function(a) return 'ㄦ' .. zhuyin_tone[a] end) else word[i] = gsub(word[i], '^([bpmfdtnlgkhjqxzcsr]?h?)([aeiouêüyw]?[aeioun]?[aeioung]?[ng]?)(r?)([12345])$', function(a, b, c, d) return zhuyin_initial[a] .. zhuyin_final[b] .. zhuyin_tone[d] .. zhuyin_er[c] end) end if match(word[i], '[%l%d]') then error(("Zhuyin conversion unsuccessful: \"%s\". Are you using a valid Pinyin syllable? Is the text using a breve letter instead of a caron one?"):format(word[i])) end end text = gsub(table.concat(word, " "), ' , ', ', ') return text end function export.zhuyin_py(text) local zhuyin_py_initial = { ["ㄅ"] = "b", ["ㄆ"] = "p", ["ㄇ"] = "m", ["ㄈ"] = "f", ["ㄉ"] = "d", ["ㄊ"] = "t", ["ㄋ"] = "n", ["ㄌ"] = "l", ["ㄍ"] = "g", ["ㄎ"] = "k", ["ㄏ"] = "h", ["ㄐ"] = "j", ["ㄑ"] = "q", ["ㄒ"] = "x", ["ㄓ"] = "zh", ["ㄔ"] = "ch", ["ㄕ"] = "sh", ["ㄖ"] = "r", ["ㄗ"] = "z", ["ㄘ"] = "c", ["ㄙ"] = "s", [""] = "" } local zhuyin_py_final = { ['ㄚ'] = 'a', ['ㄛ'] = 'o', ['ㄜ'] = 'e', ['ㄝ'] = 'ê', ['ㄞ'] = 'ai', ['ㄟ'] = 'ei', ['ㄠ'] = 'ao', ['ㄡ'] = 'ou', ['ㄢ'] = 'an', ['ㄣ'] = 'en', ['ㄤ'] = 'ang', ['ㄥ'] = 'eng', ['ㄧ'] = 'i', ['ㄧㄚ'] = 'ia', ['ㄧㄛ'] = 'io', ['ㄧㄝ'] = 'ie', ['ㄧㄞ'] = 'iai', ['ㄧㄠ'] = 'iao', ['ㄧㄡ'] = 'iu', ['ㄧㄢ'] = 'ian', ['ㄧㄣ'] = 'in', ['ㄧㄤ'] = 'iang', ['ㄧㄥ'] = 'ing', ['ㄨ'] = 'u', ['ㄨㄚ'] = 'ua', ['ㄨㄛ'] = 'uo', ['ㄨㄞ'] = 'uai', ['ㄨㄟ'] = 'ui', ['ㄨㄢ'] = 'uan', ['ㄨㄣ'] = 'un', ['ㄨㄤ'] = 'uang', ['ㄨㄥ'] = 'ong', ['ㄩ'] = 'ü', ['ㄩㄝ'] = 'ue', ['ㄩㄝ'] = 'üe', ['ㄩㄢ'] = 'üan', ['ㄩㄣ'] = 'ün', ['ㄩㄥ'] = 'iong', ['ㄦ'] = 'er', ['ㄫ'] = 'ng', ['ㄇ'] = 'm', [''] = 'i' } local zhuyin_py_tone = { ["ˊ"] = "\204\129", ["ˇ"] = "\204\140", ["ˋ"] = "\204\128", ["˙"] = "", [""] = "\204\132" } if type(text) == "table" then text = text.args[1] end word = mw.text.split(text, " ", true) for i = 1, #word do word[i] = gsub(word[i], '^([ㄓㄔㄕㄖㄗㄘㄙ])([ˊˇˋ˙]?)$', '%1ㄧ%2') word[i] = gsub(word[i], '([ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙ]?)([ㄧㄨㄩ]?[ㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄫㄧㄨㄩㄇ])([ˊˇˋ˙]?)(ㄦ?)', function(initial, final, tone, erhua) initial = zhuyin_py_initial[initial] final = zhuyin_py_final[final] if erhua ~= '' then final = final .. 'r' end if initial == '' then final = final:gsub('^([iu])(n?g?)$', function(a, b) return a:gsub('[iu]', {['i'] = 'yi', ['u'] = 'wu'}) .. b end) final = final:gsub('^(w?u)([in])$', 'ue%2') final = final:gsub('^iu$', 'iou') final = final:gsub('^([iu])', {['i'] = 'y', ['u'] = 'w'}) final = final:gsub('^ong', 'weng') final = gsub(final, '^ü', 'yu') end if initial:match('[jqx]') then final = gsub(final, '^ü', 'u') end tone = zhuyin_py_tone[tone] if final:find('[ae]') then final = final:gsub("([ae])", "%1" .. tone) elseif final:find('i[ou]') then final = final:gsub("(i[ou])", "%1" .. tone) elseif final:find('[io]') then final = final:gsub("([io])", "%1" .. tone) else final = gsub(final, "^([wy]?)(.)", "%1" .. "%2" .. tone) end return initial .. final end) end return mw.ustring.toNFC(table.concat(word, " ")) end function export.py_wg(text) local py_wg_initial = { ["b"] = "p", ["p"] = "p'", ["d"] = "t", ["t"] = "t'", ["g"] = "k", ["k"] = "k'", ["j"] = "ch", ["q"] = "ch'", ["x"] = "hs", ["z"] = "ts", ["c"] = "ts'", ["r"] = "j", ["zh"] = "ch", ["ch"] = "ch'", } local py_wg_final = { ["^([yw]?)e([^ih])"] = "%1ê%2", ["^e$"] = "ê", ["([iy])an$"] = "%1en", ["(i?)ong"] = "%1ung", ["([iy])e$"] = '%1eh', ["[uü]e"] = "üeh", ["r$"] = "rh", ["^ê$"] = "eh", ["^i$"] = "ih", ["yi$"] = "i", } local py_wg_syl = { ["(ts'?)uo"] = "%1o", ["^([kh]'?)uo"] = "%1o", ["tsih"] = "tzu", ["ts'ih"] = "tz'u", ["^sih"] = "szu", ["^([kh]?'?)ê$"] = "%1o", ["yên"] = "yen", ["you"] = "yu", ["^ih"] = "i" } if type(text) == 'table' then text = text.args[1] end local text = gsub(export.py_transform(text, true), '[,%.]', '') text = gsub(gsub(text, ' +', ' '), '[一不]', {['一'] = 'yi1', ['不'] = 'bu4'}) text = gsub(text, '([jqxy])u', '%1ü') local p = mw.text.split(text, " ", true) for i = 1, #p do p[i] = gsub(p[i], '^([bcdfghjklmnpqrstxz]?h?)(.+)([1-5])$', function(initial, final, tone) for text, replace in pairs(py_wg_final) do final = gsub(final, text, replace) end untoned = (py_wg_initial[initial] or initial) .. final for text, replace in pairs(py_wg_syl) do untoned = gsub(untoned, text, replace) end untoned = gsub(untoned, "k('?)ui", "k%1uei") return untoned .. '<sup>' .. tone .. '</sup>' end) end return table.concat(p, " ") end function make_bg(text, bg) if bg == 'y' then return '<span style="background-color:#F5DEB3">' .. text .. '</span>' else return text end end function export.py_gwoyeu(text, original_text) local initials = { ['b'] = 'b', ['p'] = 'p', ['m'] = 'm', ['f'] = 'f', ['d'] = 'd', ['t'] = 't', ['n'] = 'n', ['l'] = 'l', ['g'] = 'g', ['k'] = 'k', ['h'] = 'h', ['j'] = 'j', ['q'] = 'ch', ['x'] = 'sh', ['zh'] = 'j', ['ch'] = 'ch', ['sh'] = 'sh', ['r'] = 'r', ['z'] = 'tz', ['c'] = 'ts', ['s'] = 's', ['y'] = 'i', ['w'] = 'u', [''] = '' } local finals = { ['a'] = 'a', ['ai'] = 'ai', ['ao'] = 'au', ['an'] = 'an', ['ang'] = 'ang', ['e'] = 'e', ['ei'] = 'ei', ['ou'] = 'ou', ['en'] = 'en', ['eng'] = 'eng', ['o'] = 'o', ['ia'] = 'ia', ['iao'] = 'iau', ['ian'] = 'ian', ['iang'] = 'iang', ['ie'] = 'ie', ['iu'] = 'iou', ['in'] = 'in', ['ing'] = 'ing', ['i'] = 'i', ['ua'] = 'ua', ['uai'] = 'uai', ['uan'] = 'uan', ['uang'] = 'uang', ['uo'] = 'uo', ['ui'] = 'uei', ['un'] = 'uen', ['ong'] = 'ong', ['u'] = 'u', ['ɨ'] = 'y', ['üan'] = 'iuan', ['üe'] = 'iue', ['ün'] = 'iun', ['iong'] = 'iong', ['ü'] = 'iu', --erhua ['ar'] = 'al', ['air'] = 'al', ['aor'] = 'aul', ['anr'] = 'al', ['angr'] = 'angl', ['er'] = 'el', ['eir'] = 'eil', ['our'] = 'oul', ['enr'] = 'el', ['engr'] = 'engl', ['or'] = 'ol', ['iar'] = 'ial', ['iaor'] = 'iaul', ['ianr'] = 'ial', ['iangr'] = 'iangl', ['ier'] = 'iel', ['iur'] = 'ioul', ['inr'] = 'iel', ['ingr'] = 'iengl', ['ir'] = 'iel', ['uar'] = 'ual', ['uair'] = 'ual', ['uanr'] = 'ual', ['uangr'] = 'uangl', ['uor'] = 'uol', ['uir'] = 'ueil', ['unr'] = 'uel', ['ongr'] = 'ongl', ['ur'] = 'ul', ['ɨr'] = 'el', ['üanr'] = 'iual', ['üer'] = 'iuel', ['ünr'] = 'iul', ['iongr'] = 'iongl', ['ür'] = 'iuel', } if type(text) == 'table' then text = text.args[1] end if text:match('^%s') or text:match('%s$') then error('invalid spacing') end words = mw.text.split(text, " ") local count = 0 for i = 1, #words do if words[i]:match('^%u') then uppercase = true else uppercase = false end words[i] = export.py_transform(words[i], true, true) words[i] = gsub(words[i], "([1-5])", "%1 ") words[i] = gsub(words[i], " $", "") words[i] = gsub(words[i], '([!-/:-@%[-`{|}~!-/:-@[-`{-・])', ' %1 ') words[i] = gsub(words[i], ' +', ' ') words[i] = gsub(words[i], ' $', '') words[i] = gsub(words[i], '^ ', '') local syllables = mw.text.split(words[i], " ") for j = 1, #syllables do count = count + 1 if not mw.ustring.find(syllables[j], '^[!-/:-@%[-`{|}~!-/:-@[-`{-・]+$') then local current = sub(mw.title.getCurrentTitle().text, count, count) if current == '一' or current == '七' or current == '八' or current == '不' then syllables[j] = gsub(current, '.', {['一'] = 'i', ['七'] = 'chi', ['八'] = 'ba', ['不'] = 'bu'}) else initial, final, tone = '', '', '' syllables[j] = gsub(syllables[j], '([jqxy])u', '%1ü') syllables[j] = gsub(syllables[j], '^([zcsr]h?)i(r?[1-5])$', '%1ɨ%2') if mw.ustring.find(syllables[j], '([bpmfdtnlgkhjqxzcsryw]?h?)([iuü]?[aoeiɨuü][ioun]?g?r?)([1-5])') then syllables[j] = gsub(syllables[j], '([bpmfdtnlgkhjqxzcsryw]?h?)([iuü]?[aoeiɨuü][ioun]?g?r?)([1-5])', function(a, b, c) initial = initials[a] or error('Unrecognised initial:' .. a); final = finals[b] or error('Unrecognised final:' .. b); tone = c return (initial .. final .. tone) end) else error('Unrecognised syllable:' .. syllables[j]) end local original = initial..final..tone if initial:find('^[iu]$') then final = initial .. final initial = '' end final = gsub(final, '([iu])%1', '%1') local len = len(initial) + len(final) local detone = initial..final local replace = detone local fullstop = false if tone == 5 or tone == '5' then fullstop = true if original_text then tone = mw.text.split(export.py_transform(original_text, true), ' ')[count]:match('[1-5]') else tone = 1 end if tone == 5 or tone == '5' then tone = m_zh.tone_determ(m_zh.py(current)) end end if tone == 1 or tone == '1' then if initial == 'l' or initial == 'm' or initial == 'n' or initial == 'r' then replace = initial .. 'h' .. sub(detone, 2, len) else replace = detone end elseif tone == 2 or tone == '2' then if not (initial == 'l' or initial == 'm' or initial == 'n' or initial == 'r') then if final:sub(1, 1) == 'i' or final:sub(1, 1) == 'u' then replace = gsub(detone, '[iu]', {['i'] = 'y', ['u'] = 'w'}, 1) if replace:sub(len, len) == 'y' or replace:sub(len, len) == 'w' then replace = gsub(replace, '[yw]$', {['y'] = 'yi', ['w'] = 'wu'}) end else replace = detone .. 'r' end else replace = detone end elseif tone == 3 or tone == '3' then if detone:find('^[iu]') then detone = detone:gsub('^[iu]', {['i'] = 'yi', ['u'] = 'wu'}) end if final:find('[aeiou][aeiou]') and not final:find('^[ie][ie]') and not final:find('^[uo][uo]') then replace = detone:gsub('[iu]', {['i'] = 'e', ['u'] = 'o'}, 1) else if final:find('a') then replace = detone:gsub('a', 'aa', 1) elseif final:find('o') then replace = detone:gsub('o', 'oo', 1) elseif final:find('e') then replace = detone:gsub('e', 'ee', 1) elseif final:find('i') then replace = detone:gsub('i', 'ii', 1) elseif final:find('u') then replace = detone:gsub('u', 'uu', 1) elseif final:find('y') then replace = detone:gsub('y', 'yy', 1) else error('Unrecognised final:'..final) end end elseif tone == 4 or tone == '4' then if detone:find('^[iu]') then detone = detone:gsub('^[iu]', {['i'] = 'yi', ['u'] = 'wu'}) end if detone:find('[aeiou][iuln]g?$') then replace = detone:gsub('[iuln]g?$', {['i'] = 'y', ['u'] = 'w', ['l'] = 'll', ['n'] = 'nn', ['ng'] = 'nq'}) else replace = detone .. 'h' end replace = replace:gsub('yi([aeiou])', 'y%1') replace = replace:gsub('wu([aeiou])', 'w%1') end if fullstop then replace = '.' .. replace end syllables[j] = syllables[j]:gsub(original, replace) end end end words[i] = table.concat(syllables, "") if uppercase then words[i] = gsub(words[i], '^%l', mw.ustring.upper) end end return table.concat(words, " ") end function export.py_format(text, cap, bg, simple, nolink) if cap == false then cap = nil end if bg == false then bg = 'n' else bg = 'y' end if simple == false then simple = nil end if nolink == false then nolink = nil end local phon = '' local cat = '' if text:match('[一不]') and not simple then if text:match('一 ') then cat = cat .. '[[Category:Mandarin words containing 一 not undergoing tone sandhi]]' text = gsub(text, '一 ', 'yī ') end text = gsub(text, '[一不]$', {['一'] = 'yī', ['不'] = 'bù'}) if match(text, '一') then if match(text, '一[^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[āōēīūǖáóéíúǘǎǒěǐǔǚ]') then cat = cat .. '[[Category:Mandarin words containing 一 undergoing tone sandhi to the fourth tone]]' phon = gsub(text, '一([^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[āōēīūǖáóéíúǘǎǒěǐǔǚ])', function(a) return make_bg('yì', bg) .. a end) text = gsub(text, '一([^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[āōēīūǖáóéíúǘǎǒěǐǔǚ])', 'yī%1') end if match(text, '一[^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[àòèìùǜ]') then cat = cat .. '[[Category:Mandarin words containing 一 undergoing tone sandhi to the second tone]]' if phon == '' then phon = text end phon = gsub(phon, '一([^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[àòèìùǜ])', function(a) return make_bg('yí', bg) .. a end) text = gsub(text, '一([^ āōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[āōēīūǖáóéíúǘǎǒěǐǔǚ])', 'yī%1') end end if match(text, '不[bpmfdtnlgkhjqxzcsrwy]?h?[aeiouāōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[àòèìùǜ]') then if phon == '' then phon = text end cat = cat .. '[[Category:Mandarin words containing 不 undergoing tone sandhi|2]]' phon = gsub(phon, '不([bpmfdtnlgkhjqxzcsrwy]?h?[aeiouāōēīūǖáóéíúǘǎǒěǐǔǚàòèìùǜ]*[àòèìùǜ])', function(a) return make_bg('bú', bg) .. a end) end end text = gsub(text, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) text = gsub(text, '兒', function(a) return make_bg('r', bg) end) if not simple then if cap then text = gsub(text, '^%l', string.upper) phon = gsub(phon, '^%l', string.upper) end if not nolink then text = '[[' .. text .. ']]' end if phon ~= '' then phon = gsub(phon, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) text = text .. ' [Phonetic: ' .. phon .. ']' end if mw.title.getCurrentTitle().nsText ~= 'Template' and not nolink then text = text .. cat end end return text end function export.make_tl(original_text, tl_pos, bg, cap) if bg == false then bg = 'n' else bg = 'y' end _, countoriginal = gsub(original_text, " ", " ") cats = '' spaced = export.py_transform(original_text) if sub(spaced, -1, -1) == ' ' then spaced = sub(spaced, 1, -2) end _, count = gsub(spaced, " ", " ") index = {} i = 1 pos = 1 for i = 1, count, 1 do if i ~= 1 then pos = (index[i-1] + 1) end index[i] = mw.ustring.find(spaced, ' ', pos) end if tl_pos == 2 then start = index[count-1] - count + countoriginal + 2 finish = index[count] - count + countoriginal elseif tl_pos == 3 then start = index[count-2] - count + countoriginal + 2 finish = index[count-1] - count + countoriginal else start = index[count] - count + countoriginal + 1 finish = -1 end text = (sub(original_text, 1, start-1) .. make_bg(gsub(sub(original_text, start, finish), '.', py_detone), bg)) if finish ~= -1 then text = (text .. sub(original_text, finish+1, -1)) end if cap == true then text = gsub(text, '^%l', upper) end return text end function export.tag(first, second, third, fourth, fifth) local text = "(''" local tag = {} local tagg = first or "[[w:Standard Chinese|Standard Chinese]], Beijing" if second == '' then tag[1] = "[[w:Standard Chinese|Standard Chinese]]" else tag[1] = second end if third == '' then tag[2] = "Beijing" else tag[2] = third end if fourth == '' then tag[3] = nil else tag[3] = fourth end if fifth == '' then tag[4] = nil else tag[4] = fifth end if tagg == '' then text = (text .. table.concat(tag, ", ") .. "'')") else text = (text .. tagg .. "'')") end text = gsub(text, 'Beijing', "[[w:Beijing dialect|Beijing]]") text = gsub(text, 'Mainland', "[[w:Beijing dialect|Mainland]]") text = gsub(text, 'Taiwan', "[[w:Taiwanese Mandarin|Taiwan]]") text = gsub(text, 'Min Nan', "[[w:Min Nan|Min Nan]]") text = gsub(text, 'erhua([^%]%|])', "[[w:erhua|erhua]]%1") return text end function export.straitdiff(text, pron_ind, tag) local conv_text = text for i = 1, #text do if m_zh_data.MT[sub(text, i, i)] then conv_text = 'y' end end if tag == 'tag' then if conv_text == 'y' then tag = {} for a, b in pairs(m_zh_data.MT_tag) do tag[a] = b[tonumber(pron_ind)] end conv_text = gsub(match(text, '[一-龯㐀-䶵]'), '.', tag) else conv_text = '' end elseif pron_ind == 1 or pron_ind == 2 or pron_ind == 3 or pron_ind == 4 then reading = {} for a, b in pairs(m_zh_data.MT) do reading[a] = b[pron_ind] if reading[a] then reading[a] = gsub(reading[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") end end conv_text = gsub(text, '.', reading) text = gsub(text, "^'", "") text = gsub(text, " '", " ") if conv_text == text and tag == 'exist' then return nil end end conv_text = gsub(conv_text, "^'", "") return conv_text end function export.str_analysis(text, conv_type) if type(text) == 'table' then text, conv_type = text.args[1], (text.args[2] or "") end local MT = m_zh_data.MT text = gsub(text, '=', '—') text = gsub(text, ',', '隔') text = gsub(text, '隔 ', ', ') if conv_type == 'head' then if match(text, ', cap—') then text = gsub(text, '[一不]', {['一'] = 'Yī', ['不'] = 'Bù'}) end text = gsub(text, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) end local comp = mw.text.split(text, '隔', true) local reading = {} local alternative_reading = {} local zhuyin = {} local param = {'1n', '1na', '1nb', '1nc', '1nd', 'py', 'cap', 'tl', 'tl2', 'tl3', 'a', 'audio', 'er', 'ertl', 'ertl2', 'ertl3', 'era', 'eraudio', '2n', '2na', '2nb', '2nc', '2nd', '2py', '2cap', '2tl', '2tl2', '2tl3', '2a', '2audio', '3n', '3na', '3nb', '3nc', '3nd', '3py', '3cap', '3tl', '3tl2', '3tl3', '3a', '3audio', '4n', '4na', '4nb', '4nc', '4nd', '4py', '4cap', '4tl', '4tl2', '4tl3', '4a', '4audio'} if conv_type == '' then return comp[1] elseif conv_type == 'head' then for i = 1, #comp do if not match(comp[i], '—') then if match(comp[i], '[一-龯㐀-䶵]') then M, T = {}, {} for a, b in pairs(MT) do M[a] = b[1]; T[a] = b[2] M[a] = gsub(M[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") T[a] = gsub(T[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") end mandarin = gsub(comp[i], '.', M) taiwan = gsub(comp[i], '.', T) mandarin = gsub(mandarin, "^'", "") mandarin = gsub(mandarin, " '", " ") taiwan = gsub(taiwan, "^'", "") taiwan = gsub(taiwan, " '", " ") zhuyin[i] = export.py_zhuyin(mandarin, true) .. ', ' .. export.py_zhuyin(taiwan, true) reading[i] = mandarin .. ']], [[' .. taiwan else zhuyin[i] = export.py_zhuyin(comp[i], true) reading[i] = comp[i] if len(mw.title.getCurrentTitle().text) == 1 then alternative_reading[i] = "[[" .. m_zh.py_transf(reading[i]) .. "|" .. gsub(m_zh.py_transf(reading[i]), '([1-5]*)', '<sup>%1</sup>') .. "]]" end end if reading[i] ~= '' then reading[i] = '[[' .. reading[i] .. ']]' end end end id = m_zh.ts_determ(mw.title.getCurrentTitle().text) if id == 'trad' then accel = '<span class="form-of lang-cmn pinyin-t-form-of transliteration-' .. m_zh.ts(mw.title.getCurrentTitle().text) .. '">' elseif id == 'simp' then accel = '<span class="form-of lang-cmn pinyin-s-form-of transliteration-' .. m_zh.st(mw.title.getCurrentTitle().text) .. '">' elseif id == 'both' then accel = '<span class="form-of pinyin-ts-form-of lang-cmn">' end local result = "*: (''[[w:Pinyin|Pinyin]]''): <tt>" .. accel .. table.concat(reading, ", ") .. "</span>" if alternative_reading[1] then result = result .. " (" .. table.concat(alternative_reading, ", ") .. ")" end result = result .. "</tt>\n*: (''[[w:Zhuyin|Zhuyin]]''): " .. table.concat(zhuyin, ", ") return result elseif conv_type == '2' or conv_type == '3' or conv_type == '4' then if not match(text, '隔') or (comp[tonumber(conv_type)] and match(comp[tonumber(conv_type)], '—')) then return '' else return comp[tonumber(conv_type)] end else for i = 1, #comp, 1 do target = conv_type .. '—' if match(comp[i], target) then text = gsub(comp[i], target, '') return text end end text = '' end return text end function export.homophones(pinyin) local text = '' if mw.title.getCurrentTitle().nsText == '' then local args = hom_data.list[pinyin] text = '<div style="visibility:hidden; float:left"><sup><span style="color:#FFF">edit</span></sup></div>' i = 1 while args[i] and args[i] ~= '' do if i > 1 then text = text .. '<br>' end text = text .. '<span class="Hani">[[' .. args[i] .. '#Chinese|' .. args[i] .. ']]</span>' if args[i+1] and args[i+1] ~= '' then text = text .. '<span class="Hani">/[[' .. args[i+1] .. '#Chinese|' .. args[i+1] .. ']]</span>' end i = i + 2 end text = text .. '[[Category:Chinese terms with homophones]]' end return text end local function erhua(word, erhua_pos, pagename) local er_char = { ['trad'] = '兒', ['simp'] = '儿' } local er_title = {} local er_title_exist = {} local er_title_found = false local syllable = {} local title = '' word = export.straitdiff(word, 1, '') or word spaced = export.py_transform(word) _, count = gsub(spaced, " ", " ") if not match(erhua_pos, '[1-9]') then erhua_pos = count + 1 end erhua_pos = tonumber(erhua_pos) for item, value in pairs(er_char) do er_title[item] = sub(pagename, 1, erhua_pos) .. value .. sub(pagename, erhua_pos + 1, -1) if mw.title.new(er_title[item]).exists then if not er_title_found then er_title_found = true end table.insert(er_title_exist, '[[' .. er_title[item] .. ']]') else er_title[item] = nil end end if er_title_found then title = title .. ' (' .. table.concat(er_title_exist, "/") .. ')' end syllable = mw.text.split(spaced, " ") syllable[erhua_pos] = syllable[erhua_pos] .. 'r' word = table.concat(syllable, "") return (export.tag('', '', '', '[[w:erhua|erhua]]-ed') .. title), word end function export.make(frame) local args = frame:getParent().args return export.make_args(args) end function export.make_args(args) local pagename = mw.title.getCurrentTitle().text local text = '' local reading = {args[1] or '', args[2] or '', args[3] or '', args[4] or ''} if reading[1] ~= '' then title = export.tag((args["1n"] or ''), (args["1na"] or ''), (args["1nb"] or export.straitdiff(args[1], 1, 'tag')), (args["1nc"] or ''), (args["1nd"] or '')) pinyin = export.straitdiff(reading[1], 1, '') text = text .. export.make_table(title, pinyin, (args["py"] or ''), (args["cap"] or ''), (args["tl"] or ''), (args["tl2"] or ''), (args["tl3"] or ''), (args["a"] or args["audio"] or '')) end if args["er"] and args["er"] ~= '' then title, pinyin = erhua(reading[1], args["er"], pagename) text = text .. export.make_table(title, pinyin, '', (args["cap"] or ''), (args["ertl"] or ''), (args["ertl2"] or ''), (args["ertl3"] or ''), (args["era"] or args["eraudio"] or ''), true) end if reading[2] ~= '' or export.straitdiff(reading[1], 2, 'exist') then if args["2nb"] and args["2nb"] ~= '' then tagb = args["2nb"] else tagb = export.straitdiff(args[1], 2, 'tag') end title = export.tag((args["2n"] or ''), (args["2na"] or ''), tagb, (args["2nc"] or ''), (args["2nd"] or '')) if reading[2] ~= '' then pinyin = reading[2] else pinyin = export.straitdiff(reading[1], 2, '') end text = text .. export.make_table(title, pinyin, (args["2py"] or ''), (args["2cap"] or ''), (args["2tl"] or ''), (args["2tl2"] or ''), (args["2tl3"] or ''), (args["2a"] or args["2audio"] or ''), true) .. '[[Category:Mandarin variant pronunciations|' .. (export.straitdiff(args[1], 1, '') or args[1]) .. ']]' if reading[3] ~= '' or export.straitdiff(reading[1], 3, 'exist') then if args["3nb"] and args["3nb"] ~= '' then tagb = args["3nb"] else tagb = export.straitdiff(args[1], 3, 'tag') end title = export.tag((args["3n"] or ''), (args["3na"] or ''), tagb, (args["3nc"] or ''), (args["3nd"] or '')) if reading[3] ~= '' then pinyin = reading[3] else pinyin = export.straitdiff(reading[1], 3, '') end text = text .. export.make_table(title, pinyin, (args["3py"] or ''), (args["3cap"] or ''), (args["3tl"] or ''), (args["3tl2"] or ''), (args["3tl3"] or ''), (args["3a"] or args["3audio"] or ''), true) if reading[4] ~= '' or export.straitdiff(reading[1], 4, 'exist') then if args["4nb"] and args["4nb"] ~= '' then tagb = args["4nb"] else tagb = export.straitdiff(args[1], 4, 'tag') end title = export.tag((args["4n"] or ''), (args["4na"] or ''), tagb, (args["4nc"] or ''), (args["4nd"] or '')) if reading[4] ~= '' then pinyin = reading[4] else pinyin = export.straitdiff(reading[1], 4, '') end text = text .. export.make_table(title, pinyin, (args["4py"] or ''), (args["4cap"] or ''), (args["4tl"] or ''), (args["4tl2"] or ''), (args["4tl3"] or ''), (args["4a"] or args["4audio"] or ''), true) end end end if (args["tl"] or '') .. (args["tl2"] or '') .. (args["tl3"] or '') .. (args["2tl"] or '') .. (args["2tl2"] or '') .. (args["2tl3"] or '') ~= '' then text = text .. '[[Category:Mandarin words containing toneless variants|' .. export.straitdiff(args[1], 1, '') .. ']]' end return text end function export.make_table(title, pinyin, py, cap, tl, tl2, tl3, a, novariety) if py == '' then py = nil end;if cap == '' then cap = nil end;if tl == '' then tl = nil end;if tl2 == '' then tl2 = nil end;if tl3 == '' then tl3 = nil end;if a == '' then a = nil end;if novariety == '' then novariety = nil end local text = '' pinyin_simple_fmt = export.py_format(pinyin, false, false, true) pinyin_simple_fmt_nolink = export.py_format(pinyin, false, false, true, true) if not novariety then text = text .. '* [[w:Mandarin Chinese|Mandarin]]' else text = text .. '<br><br>' end text = text .. '\n** ' .. title if hom_data.list[mw.ustring.lower(pinyin_simple_fmt)] then hom_found = true else hom_found = false text = text .. '<sup><small><abbr title="Add Mandarin homophones (click on this if and only if you know what you are doing!)"><span class="plainlinks">[' .. tostring(mw.uri.fullUrl("Module:zh/data/cmn-hom",{["action"]="edit"})) .. ' +]</span></abbr></small></sup>' end text = text .. "\n*** ''[[w:Pinyin|Pinyin]]'': " id = m_zh.ts_determ(mw.title.getCurrentTitle().text) if id == 'trad' then text = text .. '<span class="form-of lang-cmn pinyin-t-form-of transliteration-' .. m_zh.ts(mw.title.getCurrentTitle().text) .. '">' elseif id == 'simp' then text = text .. '<span class="form-of lang-cmn pinyin-s-form-of transliteration-' .. m_zh.st(mw.title.getCurrentTitle().text) .. '">' elseif id == 'both' then text = text .. '<span class="form-of pinyin-ts-form-of lang-cmn">' end if py then text = text .. '<tt>' .. py .. '</tt>' else text = text .. '<tt>' if cap then text = text .. export.py_format(pinyin, true, true) else text = text .. export.py_format(pinyin, false, true) end if tl or tl2 or tl3 then text = text .. ' → ' if tl then tl_pos = 1 elseif tl2 then tl_pos = 2 elseif tl3 then tl_pos = 3 end if cap then text = text .. export.make_tl(export.py_format(pinyin, true, false, true, true), tl_pos, true, true) else text = text .. export.make_tl(pinyin_simple_fmt_nolink, tl_pos, true) end end text = text .. '</tt>' if tl then text = text .. ' <small>(toneless final syllable variant)</small>' elseif tl2 or tl3 then text = text .. ' <small>(toneless variant)</small>' end end text = text .. "</span>\n*** ''[[w:Zhuyin|Zhuyin]]'': " .. '<span lang="zh" class="Bopo">' .. export.py_zhuyin(pinyin_simple_fmt, true) if tl or tl2 or tl3 then text = text .. ' → ' .. export.py_zhuyin(export.make_tl(pinyin_simple_fmt_nolink, tl_pos, false), true) end text = text .. '</span>' if tl then text = text .. ' <small>(toneless final syllable variant)</small>' elseif tl2 or tl3 then text = text .. ' <small>(toneless variant)</small>' end if len(mw.title.getCurrentTitle().text) == 1 then text = text .. "\n*** ''[[w:Wade-Giles|Wade-Giles]]'': <tt>" .. export.py_wg(pinyin_simple_fmt) .. '</tt>' end text = text .. "\n*** ''[[w:Gwoyeu Romatzyh|Gwoyeu Romatzyh]]'': <tt>" if tl or tl2 or tl3 then text = text .. export.py_gwoyeu(export.make_tl(pinyin_simple_fmt_nolink, tl_pos, false), pinyin_simple_fmt) else text = text .. export.py_gwoyeu(pinyin_simple_fmt) end text = text .. '</tt>' text = text .. '\n*** [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[Appendix:Mandarin pronunciation|key]])</sup>: <span class="IPA">/' .. export.py_ipa(pinyin) if tl or tl2 or tl3 then text = text .. '/ → /' .. export.py_ipa(export.make_tl(pinyin_simple_fmt_nolink, tl_pos, false)) end text = text .. '/</span>' if a then if a == 'y' then a = 'zh-' .. pinyin_simple_fmt .. '.ogg' end text = text .. '\n*** ' .. mw.getCurrentFrame():expandTemplate{title = "Template:audio", args = {a, ['lang'] = 'cmn'}} end if hom_found then text = text .. '\n*** Homophones: <table class="wikitable mw-collapsible mw-collapsed" style="width:15em;margin:0; position:left; text-align:center"><tr><th></th></tr><tr><td><sup><div style="float: right; clear: right;"><span class="plainlinks">[' .. tostring(mw.uri.fullUrl("Module:zh/data/cmn-hom", {["action"]="edit"})) .. ' edit]</span></div></sup>' .. export.homophones(mw.ustring.lower(pinyin_simple_fmt)) .. '</td></tr></table>' end return text end return export 1ymfeun9547g73qj3icpre5xr9fjpbt Module:zh/data/cmn-hom 828 4566 12351 2015-02-07T23:54:26Z 201.86.174.11 Bog cusub: local export = {} export.list = { ["āidào"] = { '挨到', '', '哀悼', '' }, ["àikǒu"] = { '礙口', '碍口', '隘口', '' }, ["ānchún"] = {'鵪鶉','鹌鹑','安純','安... 12351 Scribunto text/plain local export = {} export.list = { ["āidào"] = { '挨到', '', '哀悼', '' }, ["àikǒu"] = { '礙口', '碍口', '隘口', '' }, ["ānchún"] = {'鵪鶉','鹌鹑','安純','安纯'}, ["ànjì"] = { '暗記', '暗记', '暗計', '暗计' }, ["ànjiàn"] = { '暗箭', '', '案件', '', '按鍵', '按键', '暗劍', '暗剑' }, ["ànqì"] = { '暗器', '', '暗泣', '暗契' }, ["ànshì"] = { '暗示', '', '暗室', '', '暗事', '' }, ["ànxiāng"] = { '暗香', '', '暗箱', '' }, ["ànyǔ"] = { '暗語', '暗语', '按語', '按语', '案語', '案语' }, ["báihuà"] = { '白話', '白话', '白樺', '白桦', '白化', '' }, ["báilù"] = { '白鷺', '白鹭', '白露', '', '白鹿', '' }, ["bàiyè"] = { '拜謁', '拜谒', '敗葉', '败叶' }, ["báizhǐ"] = { '白紙', '白纸', '白芷', '' }, ["bāncì"] = { '班次', '', '頒賜', '颁赐' }, ["bàndǎo"] = { '半島', '半岛', '絆倒', '绊倒' }, ["bāndòng"] = { '搬動', '搬动', '扳動', '扳动' }, ["bǎnhuà"] = { '版畫', '版画', '板話', '板话' }, ["bānjī"] = { '班機', '班机', '扳機', '扳机' }, ["bànshì"] = { '半世', '', '辦事', '办事' }, ["bānzi"] = { '班子', '', '扳子', '' }, ["bàobìng"] = { '暴病', '', '抱病', '' }, ["bàodào"] = { '報到', '报到', '報道', '报道' }, ["bàofā"] = { '爆發', '爆发', '暴發', '暴发' }, ["bàofù"] = { '報復', '报复', '抱負', '抱负', '暴富', '' }, ["bǎojiàn"] = { '保健', '', '寶劍', '宝剑', '寶鑑', '宝鉴', '保薦', '保荐' }, ["bàolì"] = { '暴力', '', '暴利', '', '暴戾', '', '暴吏' }, ["bàoliè"] = { '爆裂', '', '暴烈', '', '爆烈', '' }, ["bàozi"] = { '豹子', '', '報子', '报子', '刨子', '' }, ["bèifú"] = { '被服', '', '被俘', '' }, ["bēijù"] = { '悲劇', '悲剧', '杯具', '' }, ["bèimiàn"] = { '背面', '', '被面', '' }, ["bēimíng"] = { '悲鳴', '悲鸣', '碑銘', '碑铭' }, ["běnyì"] = { '本意', '', '本義', '本义' }, ["biānfú"] = { '蝙蝠', '', '邊幅', '边幅' }, ["biàngé"] = { '變格', '变格', '變革', '变革' }, ["biànhuàn"] = { '變換', '变换', '變幻', '变幻' }, ["biànjié"] = { '變節', '变节', '便捷', '' }, ["biànlì"] = { '便利', '', '遍歷', '遍历' }, ["biànyì"] = { '變異', '变异', '變易', '变易', '辨義', '辨义' }, ["biànyú"] = { '編餘', '编余', '鯿魚', '鳊鱼' }, ["biǎnzhí"] = { '貶值', '贬值', '貶職', '贬职' }, ["bìhuì"] = { '避諱', '避讳', '閉會', '闭会' }, ["bǐjià"] = { '比價', '比价', '筆架', '笔架' }, ["bǐjiān"] = { '比肩', '', '筆尖', '笔尖' }, ["bìlì"] = { '壁立', '', '篳篥', '筚篥', '薜荔', '' }, ["bǐlì"] = { '筆力', '笔力', '比例', '' }, ["bǐlù"] = { '筆錄', '笔录', '筆路', '笔路' }, ["bìmìng"] = { '斃命', '毙命', '畢命', '毕命' }, ["bīngjiàn"] = { '兵艦', '兵舰', '兵諫', '兵谏' }, ["bìnglì"] = { '並立', '并立', '病例', '', '病歷', '病历', '併力', '并力' }, ["bǐngqì"] = { '屏棄', '屏弃', '屏氣', '屏气' }, ["bīngshì"] = { '兵士', '', '冰室', '', '兵事', '', '冰釋', '冰释', '兵勢', '兵势' }, ["bìngyuán"] = { '病原', '', '病員', '病员', '病源', '' }, ["bīngyuán"] = { '冰原', '', '兵員', '兵员', '兵源', '' }, ["bǐshì"] = { '鄙視', '鄙视', '比試', '比试', '筆試', '笔试', '筆式', '笔式', '筆勢', '笔势' }, ["bìxū"] = { '必需', '', '必須', '必须' }, ["bǐyì"] = { '筆譯', '笔译', '比翼', '', '筆意', '笔意', '鄙意', '' }, ["bǐzhí"] = { '筆直', '笔直', '比值', '' }, ["bōfú"] = { '播幅', '', '波幅', '' }, ["bōnong"] = { '撥弄', '拨弄', '播弄', '' }, ["bùbiàn"] = { '不變', '不变', '不便', '', '不辨', '' }, ["bùdào"] = { '佈道', '布道', '步道', '' }, ["bùhé"] = { '不和', '', '不合', '' }, ["bǔkè"] = { '補課', '补课', '卜課', '卜课' }, ["bùlì"] = { '不利', '', '不力', '' }, ["bùqū"] = { '不屈', '', '部曲', '' }, ["bùshǔ"] = { '部署', '', '部屬', '部属' }, ["bùxiáng"] = { '不詳', '不详', '不祥', '' }, ["bùxiè"] ={'不懈', '', '不屑', '', '不謝', '不谢'}, ["bǔyǎng"] = { '補養', '补养', '哺養', '哺养' }, ["bùyì"] = { '不易', '', '不義', '不义', '不意', '' }, ["bùzi"] = { '步子', '', '簿子', '' }, ["bùzú"] = { '不足', '', '部族', '' }, ["cáijiǎn"] = { '裁剪', '', '裁減', '裁减' }, ["cáilì"] = { '才力', '', '財力', '财力' }, ["cáiwù"] = { '財物', '财物', '財務', '财务' }, ["cáiyuán"] = { '財源', '财源', '裁員', '裁员' }, ["cáizhì"] = { '才智', '', '裁製', '裁制' }, ["cānghuáng"] = { '倉皇', '仓皇', '蒼黃', '苍黄', '倉惶', '仓惶' }, ["cáozi"] = { '艚子', '', '槽子', '' }, ["cèshì"] = { '測試', '测试', '側視', '侧视', '策士', '', '側室', '侧室' }, ["chádiǎn"] = { '茶點', '茶点', '查點', '查点' }, ["chāhuà"] = { '插畫', '插画', '插話', '插话' }, ["chákān"] = { '查勘', '', '察勘', '' }, ["chángnián"] = { '常年', '', '長年', '长年' }, ["chángshí"] = { '常識', '常识', '長時', '长时', '長石', '长石', '常食', '' }, ["chángshì"] = { '嘗試', '尝试', '常事', '', '常是', '', '長逝', '长逝', '常識', '常识' }, ["chángshòu"] = { '長壽', '长寿', '嘗受', '尝受' }, ["chángyán"] = { '腸炎', '肠炎', '常言', '' }, ["chǎngzhǎng"] = { '廠長', '厂长', '場長', '场长' }, ["chǎngzi"] = { '場子', '场子', '廠子', '厂子' }, ["chǎnqián"] = { '產前', '产前', '產鉗', '产钳' }, ["chāoshēng"] = { '超生', '', '超聲', '超声', '超升', '' }, ["cháyè"] = { '茶葉', '茶叶', '茶業', '茶业', '查夜', '' }, ["chàzi"] = { '岔子', '', '杈子', '' }, ["chéngbàn"] = { '承辦', '承办', '懲辦', '惩办' }, ["chénghuáng"] = { '橙黃', '橙黄', '城隍', '' }, ["chéngjī"] = { '成績', '成绩', '乘積', '乘积', '乘機', '乘机' }, ["chénglì"] = { '成立', '', '成例', '' }, ["chéngrén"] = { '成人', '', '成仁', '' }, ["chéngshì"] = { '城市', '', '程式', '', '成事', '', '城事', '', '乘勢', '乘势', '呈示', '', '誠是', '诚是', '承事', '' }, ["chéngwén"] = { '成文', '', '呈文', '' }, ["chéngxīn"] = { '誠心', '诚心', '成心', '' }, ["chéngzhì"] = { '誠摯', '诚挚', '懲治', '惩治', '承製', '承制' }, ["chénmò"] = { '沉默', '', '沉沒', '沉没' }, ["chíhuǎn"] = { '遲緩', '迟缓', '弛緩', '弛缓' }, ["chǐgǔ"] = { '尺骨', '', '恥骨', '耻骨' }, ["chōngchōng"] = { '衝衝', '冲冲', '忡忡', '', '憧憧', '' }, ["chōngjī"] = { '衝擊', '冲击', '沖積', '冲积', '充飢', '充饥', '冲激', '' }, ["chōngxǐ"] = { '沖洗', '冲洗', '沖喜', '冲喜' }, ["chóngyáng"] = { '重陽', '重阳', '崇洋', '', '重洋', '' }, ["chóuchàng"] = { '惆悵', '惆怅', '酬唱', '' }, ["chóuzi"] = { '綢子', '绸子', '籌子', '筹子' }, ["chuàngjiàn"] = { '創建', '创建', '創見', '创见' }, ["chuǎngjìn"] = { '闖勁', '闯劲', '闖進', '闯进' }, ["chuāngkǒu"] = { '窗口', '', '瘡口', '疮口', '創口', '创口' }, ["chuánpiào"] = { '船票', '', '傳票', '传票' }, ["chuánsòng"] = { '傳送', '传送', '傳頌', '传颂', '傳誦', '传诵' }, ["chūbǎn"] = { '出版', '', '初版', '' }, ["chūchǎng"] = { '出場', '出场', '出廠', '出厂' }, ["chūgé"] = { '出格', '', '出閣', '出阁' }, ["chūgōng"] = { '出工', '', '出宮', '出宫', '出恭', '' }, ["chūjiè"] = { '出界', '', '出借', '' }, ["chùlì"] = { '矗立', '', '畜力', '' }, ["chūshēng"] = { '出生', '', '出聲', '出声', '初生', '', '初聲', '初声', '初升', '' }, ["chǔshì"] = { '處世', '处世', '處事', '处事', '處室', '处室', '處士', '处士' }, ["chūshì"] = { '出世', '', '出示', '', '出事', '', '出仕', '', '初試', '初试' }, ["chūshǒu"] = { '出手', '', '出首', '' }, ["chūzhěn"] = { '出診', '出诊', '初診', '初诊' }, ["chǔzhì"] = { '處置', '处置', '處治', '处治' }, ["chūzhōng"] = { '初中', '', '初衷', '' }, ["cíxíng"] = { '辭行', '辞行', '詞形', '词形' }, ["cíxìng"] = { '詞性', '词性', '磁性', '', '雌性', '' }, ["cōngcōng"] = { '匆匆', '', '蔥蔥', '葱葱' }, ["cūlǔ"] = { '粗魯', '粗鲁', '粗鹵', '粗卤' }, ["cuòshī"] = { '措施', '', '錯失', '错失' }, ["dǎbāo"] = { '打包', '', '打苞', '' }, ["dǎchà"] = { '打岔', '', '打杈', '' }, ["dǎdǔn"] = { '打盹', '', '打躉', '打趸' }, ["dǎhuǒ"] = { '打火', '', '打夥', '打伙' }, ["dàidiàn"] = { '帶電', '带电', '代墊', '代垫', '代電', '代电' }, ["dàizi"] = { '帶子', '带子', '袋子', '' }, ["dàjiě"] = { '大姐', '', '大解', '' }, ["dàlù"] = { '大陸', '大陆', '大路', '' }, ["dànbó"] = { '淡薄', '', '淡泊', '' }, ["dāndú"] = { '單獨', '单独', '丹毒', '' }, ["dànhuáng"] = { '蛋黃', '蛋黄', '淡黃', '淡黄' }, ["dānjià"] = { '擔架', '担架', '單價', '单价' }, ["dānjù"] = { '單據', '单据', '單句', '单句', '丹劇', '丹剧' }, ["dànqīng"] = { '蛋清', '', '淡青', '' }, ["dānshēn"] = { '單身', '单身', '丹蔘', '丹参' }, ["dānxīn"] = { '擔心', '担心', '丹心', '' }, ["dānyī"] = { '單衣', '单衣', '單一', '单一' }, ["dǎnzi"] = { '撣子', '掸子', '膽子', '胆子' }, ["dàochǎng"] = { '到場', '到场', '道場', '道场' }, ["dǎodàn"] = { '搗蛋', '捣蛋', '導彈', '导弹' }, ["dàoguàn"] = { '倒灌', '', '道觀', '道观' }, ["dàojiā"] = { '道家', '', '到家', '' }, ["dàoshì"] = { '倒是', '', '道士', '' }, ["dàqì"] = { '大氣', '大气', '大器', '' }, ["dàshì"] = { '大事', '', '大勢', '大势' }, ["dǎyàng"] = { '打樣', '打样', '打烊', '' }, ["dàyì"] = { '大意', '', '大義', '大义' }, ["de"] = { '的', '', '得', '', '地', '' }, ["diànshì"] = { '電視', '电视', '電勢', '电势', '殿試', '殿试' }, ["diàoxiàn"] = { '釣線', '钓线', '掉線', '掉线', '吊線', '吊线' }, ["dìbǎo"] = { '地堡', '', '地保', '' }, ["dìdòng"] = { '地動', '地动', '地洞', '' }, ["dìjī"] = { '地基', '', '地積', '地积' }, ["dìjiāo"] = { '遞交', '递交', '締交', '缔交' }, ["dìlì"] = { '地利', '', '地力', '' }, ["dǐngfēng"] = { '頂峰', '顶峰', '頂風', '顶风' }, ["dìnglì"] = { '訂立', '订立', '定力', '', '定例', '' }, ["dìnglǐ"] = { '定理', '', '定禮', '定礼' }, ["dǐnglì"] = { '鼎力', '', '鼎立', '' }, ["díyì"] = { '敵意', '敌意', '嫡裔', '' }, ["dìyī"] = { '第一', '', '地衣', '' }, ["dìyù"] = { '地域', '', '地獄', '地狱' }, ["dìzhì"] = { '地質', '地质', '帝制', '' }, ["dòngbīng"] = { '動兵', '动兵', '凍冰', '冻冰' }, ["dǒngshì"] = { '懂事', '', '董事', '' }, ["dòngtǔ"] = { '凍土', '冻土', '動土', '动土' }, ["dòumiáo"] = { '豆苗', '', '痘苗', '' }, ["duànzi"] = { '緞子', '缎子', '段子', '' }, ["duìbù"] = { '隊部', '队部', '對簿', '对簿' }, ["duìzhì"] = { '對峙', '对峙', '對質', '对质', '對治', '对治', '對置', '对置' }, ["dúlì"] = { '獨立', '独立', '獨力', '独力' }, ["duōyú"] = { '多餘', '多余', '多於', '多于' }, ["dúwù"] = { '毒物', '', '讀物', '读物', '毒霧', '毒雾' }, ["èguǐ"] = { '惡鬼', '恶鬼', '餓鬼', '饿鬼' }, ["èhuà"] = { '惡化', '恶化', '顎化', '颚化', '齶化', '腭化' }, ["èliè"] = { '惡劣', '恶劣', '齶裂', '腭裂' }, ["èyì"] = { '惡意', '恶意', '遏抑', '' }, ["ézi"] = { '蛾子', '', '額子', '额子' }, ["fājué"] = { '發覺', '发觉', '發掘', '发掘' }, ["fǎngōng"] = { '返工', '', '反攻', '' }, ["fángshì"] = { '房事', '', '房室', '', '房市', '', '防蝕', '防蚀', '妨事‎', '' }, ["fǎnyìng"] = { '反應', '反应', '反映', '' }, ["fǎnzhèng"] = { '反正', '', '反證', '反证' }, ["fāshēng"] = { '發聲', '发声', '發生', '发生' }, ["fāyán"] = { '發言', '发言', '發炎', '发炎' }, ["fǎzhì"] = { '法制', '', '法治', '' }, ["fēidàn"] = { '非但', '', '飛彈', '飞弹' }, ["fèiqì"] = { '廢棄', '废弃', '廢氣', '废气' }, ["fèizhǐ"] = { '廢止', '废止', '廢紙', '废纸', '廢址', '废址' }, ["fēnbiàn"] = { '分辯', '分辩', '分辨', '' }, ["fēngcháo"] = { '風潮', '风潮', '蜂巢', '' }, ["fēngdù"] = { '豐度', '丰度', '風度', '风度' }, ["fēngkǒu"] = { '封口', '', '風口', '风口' }, ["fēnglì"] = { '風力', '风力', '鋒利', '锋利' }, ["fēngmào"] = { '風貌', '风貌', '風帽', '风帽', '豐茂', '丰茂' }, ["fēnhóng"] = { '分洪', '', '分紅', '分红' }, ["fùběn"] = { '副本', '', '複本', '复本', '附本', '' }, ["fúchén"] = { '浮沉', '', '浮塵', '浮尘', '拂塵', '拂尘' }, ["fùdiàn"] = { '負電', '负电', '複電', '复电' }, ["fùhé"] = { '複合', '复合', '複核', '复核' }, ["fùhè"] = { '負荷', '负荷', '附和', '' }, ["fùjì"] = { '附記', '附记', '附驥', '附骥', '附寄', '' }, ["fùkān"] = { '副刊', '', '復刊', '复刊' }, ["fúlì"] = { '浮力', '', '福利', '' }, ["fùlì"] = { '富麗', '富丽', '複利', '复利' }, ["fùqì"] = { '負氣', '负气', '付訖', '付讫' }, ["fùshāng"] = { '富商', '', '負傷', '负伤' }, ["fúshì"] = { '服飾', '服饰', '服侍', '', '拂拭', '', '浮世', '', '服式', '' }, ["fúshū"] = { '服輸', '服输', '扶疏', '' }, ["fùshù"] = { '複數', '复数', '富庶', '', '負數', '负数', '複述', '复述' }, ["fùshuǐ"] = { '腹水', '', '洑水', '' }, ["fùxīn"] = { '負心', '负心', '腹心', '腹心', '負薪', '负薪' }, ["fùxìng"] = { '複姓', '复姓', '複性', '复性', '負性', '负性', '賦性', '赋性' }, ["fùyè"] = { '副業', '副业', '父業', '父业' }, ["fùyì"] = { '復議', '复议', '附議', '附议', '負義', '负义' }, ["fùyǒu"] = { '富有', '', '附有', '', '負有', '负有', '富友', '', '賦有', '赋有', '複有', '复有' }, ["fùyú"] = { '富餘', '富余', '鰒魚', '鳆鱼', '富於', '富于', '附於', '附于', '負於', '负于', '負隅', '负隅' }, ["fùyù"] = { '富裕', '', '馥郁', '' }, ["fùyuán"] = { '復原', '复原', '復員', '复员' }, ["fùzé"] = { '負責', '负责', '附則', '附则' }, ["fùzhí"] = { '負值', '负值', '副職', '副职', '賦值', '赋值', '復職', '复职', '父執', '父执', '復執', '复执' }, ["fùzhòng"] = { '負重', '负重', '複種', '复种' }, ["gàishù"] = { '概述', '', '概數', '概数' }, ["gāncǎo"] = { '乾草', '干草', '甘草', '' }, ["gānfàn"] = { '乾飯', '干饭', '干犯', '' }, ["gāngcái"] = { '剛才', '刚才', '鋼材', '钢材' }, ["gānxīn"] = { '甘心', '', '乾薪', '干薪' }, ["gānzi"] = { '杆子', '', '竿子', '', '柑子', '' }, ["gāofēng"] = { '高峰', '', '高風', '高风' }, ["gǎojiàn"] = { '稿件', '', '稿薦', '稿荐' }, ["gāoshēng"] = { '高聲', '高声', '高升', '' }, ["gāozi"] = { '羔子', '', '膏子', '', '篙子', '' }, ["gāyú"] = { '高於', '高于', '膏腴', '' }, ["gèbié"] = { '個別', '个别', '各別', '各别' }, ["gēge"] = { '哥哥', '', '咯咯', '' }, ["gējù"] = { '割據', '割据', '歌劇', '歌剧' }, ["gér"] = { '格兒', '格儿', '嗝兒', '嗝儿' }, ["gēr"] = { '歌兒', '歌儿', '哥兒', '哥儿' }, ["gèrén"] = { '個人', '个人', '各人', '' }, ["gèwèi"] = { '各位', '', '個位', '个位' }, ["gézi"] = { '格子', '', '閣子', '阁子' }, ["gōngchǎng"] = { '工廠', '工厂', '工場', '工场' }, ["gōngdì"] = { '工地', '', '公地', '' }, ["gōngdiàn"] = { '宮殿', '宫殿', '供電', '供电' }, ["gōngdú"] = { '攻讀', '攻读', '工讀', '工读', '公牘', '公牍' }, ["gōngduàn"] = { '公斷', '公断', '工段', '' }, ["gōngfēn"] = { '公分', '', '工分', '' }, ["gōnghuì"] = { '工會', '工会', '公會', '公会' }, ["gōngjī"] = { '攻擊', '攻击', '公雞', '公鸡' }, ["gōngjià"] = { '工價', '工价', '功架', '', '工架', '' }, ["gōngjiàn"] = { '工件', '', '弓箭', '', '工建', '', '公建', '' }, ["gōngjué"] = { '公決', '公决', '公爵', '' }, ["gōngkè"] = { '功課', '功课', '公克', '', '攻克', '' }, ["gōnglì"] = { '功力', '', '功利', '', '公立', '', '公例', '', '公曆', '公历', '工力', '' }, ["gōnglǐ"] = { '公里', '', '公理', '' }, ["gōngshì"] = { '宮室', '宫室', '公式', '', '工事', '', '公事', '', '公室', '', '公示', '', '攻勢', '攻势' }, ["gōngwù"] = { '公務', '公务', '工務', '工务', '公物', '' }, ["gōngxíng"] = { '弓形', '', '躬行', '', '宮刑', '宫刑' }, ["gōngyè"] = { '工業', '工业', '功業', '功业', '公業', '公业', '恭謁', '恭谒' }, ["gōngyì"] = { '工藝', '工艺', '公益', '', '公義', '公义', '公議', '公议', '工役', '', '公意', '' }, ["gōngyòng"] = { '公用', '', '功用', '' }, ["gōngyǒu"] = { '工友', '', '公有', '' }, ["gōngyú"] = { '工於', '工于', '公餘', '公余' }, ["gōngyuán"] = { '公園', '公园', '公元', '' }, ["gōngzhèng"] = { '公正', '', '公證', '公证', '工正', '' }, ["gōutōng"] = { '溝通', '沟通', '勾通', '' }, ["guān'ài"] = { '關愛', '关爱', '關隘', '关隘', '關礙', '关碍' }, ["guànzhù"] = { '灌注', '', '貫注', '贯注' }, ["guǎnzi"] = { '管子', '', '館子', '馆子' }, ["guāpí"] = { '瓜皮', '', '刮皮', '' }, ["gūdān"] = { '孤單', '孤单', '估單', '估单' }, ["gūfù"] = { '姑父', '', '辜負', '辜负' }, ["gùgōng"] = { '僱工', '雇工', '故宮', '故宫' }, ["gǔgǔ"] = { '股骨', '', '鼓鼓', '', '汩汩', '', '股股', '' }, ["gǔhuà"] = { '骨化', '', '古話', '古话', '古畫', '古画' }, ["guīgé"] = { '規格', '规格', '閨閣', '闺阁' }, ["guǐguài"] = { '鬼怪', '', '詭怪', '诡怪' }, ["guīhuà"] = { '規劃', '规划', '歸化', '归化', '規化', '规化', '硅化', '' }, ["gūjì"] = { '估計', '估计', '孤寂', '' }, ["gǔlì"] = { '鼓勵', '鼓励', '古麗', '古丽', '穀粒', '谷粒', '股利', '', '古力', '', '骨力', '' }, ["gūlu"] = { '骨碌', '', '咕嚕', '咕噜' }, ["gǔmó"] = { '鼓膜', '', '骨膜', '' }, ["gǔnzi"] = { '滾子', '滚子', '磙子', '', '輥子', '辊子' }, ["guòdù"] = { '過度', '过度', '過渡', '过渡' }, ["guójì"] = { '國際', '国际', '國紀', '国纪', '國計', '国计', '國祭', '国祭' }, ["guólì"] = { '國立', '国立', '國力', '国力', '國曆', '国历', '國利', '国利' }, ["guóshì"] = { '國事', '国事', '國是', '国是', '國勢', '国势' }, ["gǔqì"] = { '骨氣', '骨气', '鼓氣', '鼓气', '骨器', '' }, ["gǔshū"] = { '古書', '古书', '鼓書', '鼓书' }, ["gùtài"] = { '固態', '固态', '故態', '故态' }, ["gǔwù"] = { '穀物', '谷物', '古物', '' }, ["gǔxī"] = { '股息', '', '古稀', '' }, ["gùyǒu"] = { '固有', '', '故友', '', '故有', '', '固友', '' }, ["gǔzhǎng"] = { '鼓掌', '', '股長', '股长' }, ["gùzhǔ"] = { '僱主', '雇主', '顧主', '顾主', '故主', '' }, ["gǔzi"] = { '穀子', '谷子', '骨子', '', '股子', '' }, ["hǎiguī"] = { '海龜', '海龟', '海歸', '海归' }, ["huìhuà"] = { '繪畫', '绘画', '會話', '会话', '匯劃', '汇划' }, ["jiǎnchá"] = { '檢查', '检查', '檢察', '检察' }, ["jiànyú"] = { '見於', '见于', '鑒於', '鉴于', '劍魚', '剑鱼', '箭魚', '箭鱼' }, ["jīdiǎn"] = { '基點', '基点', '績點', '绩点' }, ["jīdiàn"] = { '機電', '机电', '積澱', '积淀' }, ["jiēdào"] = { '街道', '', '接到' }, ["jiědú"] = { '解毒', '', '解讀', '解读' }, ["jiéhé"] = { '結合', '结合', '結核', '结核' }, ["jiéshí"] = { '結石', '结石', '結識', '结识', '節食', '节食', '潔食', '洁食' }, ["jiùshì"] = { '就是', '', '舊式', '旧式', '舊事', '旧事', '救市', '', '救世', '', '就事', '', '就勢', '就势', '舊市', '旧市', '就試', '就试' }, ["jiùyī"] = { '就醫', '就医', '舊衣', '旧衣' }, ["jīxíng"] = { '畸形', '', '機型', '机型' }, ["kāishì"] = { '開示', '开示', '開市', '开市', '開釋', '开释', '揩拭', '' }, ["mǎnzú"] = { '滿足', '满足', '滿族', '满族' }, ["mílù"] = { '迷路', '', '麋鹿' }, ["mìmì"] = { '秘密', '', '密秘', '', '祕密', '', '密密', '', '汨汨', '' }, ["qǐshì"] = { '啟示', '启示', '啟事', '启事', '豈是', '岂是', '起勢', '起势', '綺室', '绮室', '起誓', '', '起事', '', '乞士', '', '起士' }, ["qìyǔ"] = { '氣宇', '气宇', '器宇' }, ["qìyǔ xuān'áng"] = { '氣宇軒昂', '气宇轩昂', '器宇軒昂', '器宇轩昂' }, ["quánlì"] = { '權利', '权利', '權力', '权力', '全力' }, ["rénshì"] = { '人士', '', '人事', '', '人世', '', '人氏', '', '人市' }, ["shénqí"] = { '神祇', '', '神奇' }, ["shìjiè"] = { '世界', '', '視界', '视界', '事界' }, ["shíkè"] = { '時刻', '时刻', '蝕刻', '蚀刻', '石刻', '', '食客', '' }, ["shìlì"] = { '勢力', '势力', '視力', '视力', '事例', '', '示例', '', '勢利', '势利', '市立', '', '侍立' }, ["shìshí"] = { '事實', '事实', '適時', '适时', '嗜食', '', '侍食', '', '試食', '试食' }, ["shíwù"] = { '什物', '', '拾物', '', '食物', '', '時務', '时务', '實物', '实物', '實務', '实务' }, ["tèyì"] = { '特意', '', '特異', '特异' }, ["tóngshēng"] = { '童聲', '童声', '同生', '', '童生', '', '同聲', '同声' }, ["xiěyì"] = { '寫意', '写意', '血液', '' }, ["xīlì"] = { '吸力', '', '西曆', '西历', '犀利', '', '淅瀝', '淅沥', '惜力' }, ["xíngshì"] = { '形式', '', '型式', '', '形勢', '形势', '行事', '', '刑事', '' }, ["xiūyǎng"] = { '休養', '休养', '修養', '修养' }, ["xuèyè"] = { '血液', '', '血業', '血业', '血葉', '血叶' }, ["xuěyè"] = { '血液', '', '血業', '血业', '血葉', '血叶', '雪夜', '' }, ["yínglì"] = { '贏利', '赢利', '營利', '营利', '盈利' }, ["yīnwèi"] = { '因為', '因为', '音位' }, ["yìyì"] = { '意義', '意义', '意譯', '意译', '異議', '异议', '異義', '异义', '奕奕', '', '熠熠', '', '翼翼', '', '悒悒', '', '仡仡', '' }, ["yìzhì"] = { '意志', '', '抑制', '', '益智', '', '異質', '异质', '譯製', '译制', '異志', '异志', '易幟', '易帜' }, ["yǒusī"] = { '有私', '', '有司', '' }, ["yóuyú"] = { '由於', '由于', '魷魚', '鱿鱼', '游魚', '游鱼' }, ["yuánběn"] = { '原本', '', '元本', '' }, ["yuèjù"] = { '越劇', '越剧', '粤劇', '粤剧' }, ["zhèngshì"] = { '正式', '', '正是', '', '政事', '', '正視', '正视', '正室', '', '正事', '' }, ["zhǐshì"] = { '只是', '', '指示', '', '指事' }, ["zhōngdiǎn"] = { '終點', '终点', '中點', '中点', '鐘點', '钟点' }, ["zhūrú"] = { '諸如', '诸如', '侏儒', '' }, ["zīshēng"] = { '滋生', '', '孳生', '' }, } return export p0wivatujmk26zdycgzyqs8qibl6xy9 Module:yue-pron 828 4567 12352 2015-02-07T23:56:51Z 201.86.174.11 Bog cusub: local export = {} local entering_tones={ ['1']='7',['3']='8',['6']='9' } local ipa_preprocess={ [1]={'a','ă'},[2]={'yu','y'},[3]={'ăă', 'a'},[4]={'uk', 'ŭk'},[5]={'ik', 'ĭk'},... 12352 Scribunto text/plain local export = {} local entering_tones={ ['1']='7',['3']='8',['6']='9' } local ipa_preprocess={ [1]={'a','ă'},[2]={'yu','y'},[3]={'ăă', 'a'},[4]={'uk', 'ŭk'},[5]={'ik', 'ĭk'}, [6]={'ou', 'ŏu'},[7]={'eoi','eoy'},[8]={'ung','ŭng'},[9]={'ing','ĭng'},[10]={'ei', 'ĕi'} } local ipa_initial={ ['b']='p',['p']='pʰ',['d']='t',['t']='tʰ',['g']='k',['k']='kʰ',['ng']='ŋ',['gw']='kʷ',['kw']='kʷʰ', ['zh']='t͡ɕ',['z']='t͡s',['ch']='t͡ɕʰ',['c']='t͡sʰ',['sh']='ɕ', ['m']='m',['f']='f',['n']='n',['l']='l',['h']='h',['w']='w',['s']='s',['j']='j', ['']='' } local ipa_nucleus={ ['a']='ɑː',['ă']='ɐ',['e']='ɛː',['ĕ']='e',['i']='iː',['ĭ']='ɪ',['o']='ɔː',['ŏ']='o',['oe']='œː',['eo']='ɵ',['u']='uː',['ŭ']='ʊ',['y']='yː' } local ipa_coda={ ['i']='i̯',['u']='u̯',['y']='y̯',['m']='m',['n']='n',['ng']='ŋ',['p']='p̚',['t']='t̚',['k']='k̚',['']='' } local ipa_tone={ ['1']='<span style="cursor:help" title="or 53">⁵⁵</span>',['2']='³⁵',['3']='³³',['4']='²¹',['5']='¹³',['6']='²²',['7']='⁵',['8']='³',['9']='²',['']='' } local ipa_tone_sandhi={ ['*']='⁻',['-']='⁻',['']='' } local ipa_syllabic={ ['m']='m̩',['ng']='ŋ̍' } local acute_accents={ ['a']='á',['e']='é',['i']='í',['o']='ó',['u']='ú' } local grave_accents={ ['a']='à',['e']='è',['i']='ì',['o']='ò',['u']='ù' } local macrons={ ['a']='ā',['e']='ē',['i']='ī',['o']='ō',['u']='ū' } local yale_final={ ['aa']='a',['eu']='沒有耶魯拼音',['em']='沒有耶魯拼音',['ep']='沒有耶魯拼音',['et']='沒有耶魯拼音', ['oe']='eu',['oeng']='eung',['oek']='euk',['eoi']='eui',['eon']='eun',['eot']='eut', ['']='' } local canton_pinyin_regex={ ['yu']='y',['eo']='oe',['oei']='oey',['z(h?)']='dz%1',['c(h?)']='ts%1', ['([ptk])([136])']=function(a,b) return a .. entering_tones[b] end, ['([ptk][1-6][%-%*])([136])$']=function(a,b) return a .. entering_tones[b] end } local function yale_tone(final,b) if b=='4' or b=='5' or b=='6' then final = mw.ustring.gsub(final,'([ptkmn]?g?)$','h%1',1) end if b=='1' then final = mw.ustring.gsub(final,'[aeiou]',macrons,1) end if b=='4' then final = mw.ustring.gsub(final,'[aeiou]',grave_accents,1) end if b=='2' or b=='5' then final = mw.ustring.gsub(final,'[aeiou]',acute_accents,1) end return final end function export.jyutping_to_ipa(text) if type(text) == 'table' then text = text.args[1] end if text:match('[7-9]') then error('Invalid tone in Jyutping') end text = text:lower() text = text:gsub('jy([^u])','j%1') text = text:gsub(',','隔'):gsub('隔 ',', ') local reading = mw.text.split(text,'隔') for i = 1,#reading do reading[i] = reading[i]:gsub('([1-6])[a-z]','%1 '):gsub('[^a-z1-6%-%* ]','') local syllable = mw.text.split(reading[i]:lower(),' ') for i = 1,#syllable do syllable[i] = syllable[i]:gsub('([zcs])yu','%1hyu') syllable[i] = syllable[i]:gsub('([zc])oe','%1hoe') syllable[i] = syllable[i]:gsub('([zc])eo','%1heo') syllable[i] = syllable[i]:gsub('^([mn]g?)([1-6])([%-%*]?)([1-6]?)$', function(a,b,c,d) return ipa_syllabic[a] .. ipa_tone[b] .. ipa_tone_sandhi[c] .. ipa_tone[d] end) syllable[i] = syllable[i]:gsub('([ptk])([136])', function(a,b) return a .. entering_tones[b] end) syllable[i] = syllable[i]:gsub('([ptk][1-9][%-%*])([136])$', function(a,b) return a .. entering_tones[b] end) for regex_idx,regex_pair in ipairs(ipa_preprocess) do syllable[i] = mw.ustring.gsub(syllable[i],regex_pair[1],regex_pair[2]) end syllable[i] = mw.ustring.gsub(syllable[i],'([bcdfghjklmnpqrstvwxyz]?[bcdfghjklmnpqrstvwxyz]?)([aăeĕiĭoŏuŭy][eo]?)([iuymngptk]?g?)([1-9])([%-%*]?)([1-9]?)', function(a,b,c,d,e,f) return (ipa_initial[a] or error(("Unrecognised initial: \"%s\""):format(a))) .. (ipa_nucleus[b] or error(("Unrecognised nucleus: \"%s\""):format(b))) .. (ipa_coda[c] or error(("Unrecognised coda: \"%s\""):format(c))) .. (ipa_tone[d] or error(("Unrecognised tone: \"%s\""):format(d))) .. ipa_tone_sandhi[e] .. (ipa_tone[f] or error(("Unrecognised tone: \"%s\""):format(f))) end) end reading[i] = table.concat(syllable," ") end return table.concat(reading,'/, /') end function export.jyutping_to_yale(text) if type(text) == 'table' then text = text.args[1] end text = text:gsub('jy([^u])','j%1') text = text:gsub(',','隔'):gsub('隔 ',', ') local reading = mw.text.split(text,'隔') for i = 1,#reading do reading[i] = mw.ustring.gsub(reading[i],'%-[1-6]','') reading[i] = mw.ustring.gsub(reading[i],'([1-9])[a-z]','%1 ') local syllables = mw.text.split(mw.ustring.lower(reading[i]),' ',true) for j = 1,#syllables do local text = syllables[j] if mw.ustring.match(text,'jy[^u]') then error('wrong usage of "jy" in Jyutping') end text = mw.ustring.gsub(text,'[789]',{['7']='1',['8']='3',['9']='6'}) text = mw.ustring.gsub(text,'^m[1-6]$',{['m1']='{{懸停|或m̀|m̄}}',['m2']='ḿ',['m3']='m',['m4']='m̀h',['m5']='ḿh',['m6']='mh'}) text = mw.ustring.gsub(text,'^ng[1-6]$',{['ng1']='{{懸停|或ǹg|n̄g}}',['ng2']='ńg',['ng3']='ng',['ng4']='ǹgh',['ng5']='ńgh',['ng6']='ngh'}) text = mw.ustring.gsub(text,'jy?','y') text = mw.ustring.gsub(text,'[cz]',{['z']='j',['c']='ch'}) text = mw.ustring.gsub(text,'([aeiou][aeiou]?[iumngptk]?[g]?)([1-6])', function(a,b) return yale_tone((yale_final[a] or a),b) end) text = mw.ustring.gsub(text,'(yu[tn]?)([1-6])',yale_tone) text = mw.ustring.gsub(text,'[āēīōū]',{['ā']='{{懸停|或à|ā}}',['ē']='{{懸停|或è|ē}}',['ī']='{{懸停|或ì|ī}}',['ō']='{{懸停|或ò|ō}}',['ū']='{{懸停|或ù|ū}}'}) text = mw.ustring.gsub(text,'{{懸停|或([^|]+)|([^}]+)}}','<span style="cursor:help" title="or %1">%2</span>') syllables[j] = text end reading[i] = table.concat(syllables,' ') if mw.ustring.match(reading[i],'沒有耶魯拼音') then reading[i] = 'colloquial sounds not defined' end end return table.concat(reading,', ') end function export.jyutping_to_cantonese_pinyin(text) if type(text) == 'table' then text = text.args[1] end text = text:gsub('jy([^u])','j%1') text = text:gsub(',','隔'):gsub('隔 ',', ') local reading = mw.text.split(text,'隔') for i=1,#reading do for regex,replace in pairs(canton_pinyin_regex) do reading[i] = mw.ustring.gsub(reading[i],regex,replace) end end return table.concat(reading,', ') end function export.jyutping_format(text) if type(text) == 'table' then text = text.args[1] end if text:find('%[%[') then return 'just a lengthy text to ensure it works' end text = mw.text.split(text:gsub(',','隔'):gsub('隔 ',', '),'隔') for i,to_be_processed in ipairs(text) do text[i] = to_be_processed:gsub('[1-6]%-([1-6])','%1') end return text end return export 5tv521agqwi8ebizxwgu9zh14gschj8 Module:hak-pron 828 4568 12353 2015-02-07T23:59:47Z 201.86.174.11 Bog cusub: local export = {} function export.rom_display(text,convtype) if type(text) == 'table' then text,convtype = text.args[1],(text.args[2] or '') end local display = '' local decomp = m... 12353 Scribunto text/plain local export = {} function export.rom_display(text,convtype) if type(text) == 'table' then text,convtype = text.args[1],(text.args[2] or '') end local display = '' local decomp = mw.text.split(text,';',true) for i = 1,#decomp,1 do if mw.ustring.match(decomp[i],'pfs') then display = display .. "\n*** ''[[w:Pha̍k-fa-sṳ|Pha̍k-fa-sṳ]]'': <tt>" .. string.gsub(string.gsub(decomp[i],'[%[%]]',''),'pfs=','') .. '</tt>' if convtype ~= '' then display = string.gsub(decomp[i],'pfs=','') return display end end if mw.ustring.match(decomp[i],'gd') then display = display .. "\n*** ''[[w:Guangdong_Romanization#Hakka|Guangdong]]'': <tt>" .. string.gsub(decomp[i],'gd=','') .. '</tt>' end if mw.ustring.match(decomp[i],'hpy') then display = display .. "\n*** ''[[w:Hagfa Pinyim|Hagfa Pinyim]]'': <tt>" .. string.gsub(decomp[i],'hpy=','') .. '</tt>' end if mw.ustring.match(decomp[i],'poj') then display = display .. "\n*** ''[[w:POJ#Adaptations for other languages or dialects|POJ]]'': <tt>" .. string.gsub(decomp[i],'poj=','') .. '</tt>' end end return display end function export.ipa(text) local syllables, initial, final, tone, tone_conv = {}, {}, {}, {}, {} local ipa = {} if type(text) == 'table' then text = text.args[1] end syllables = mw.text.split(mw.ustring.gsub(mw.ustring.lower(text), 'pfs=', ''), "-") for i, syllable in ipairs(syllables) do local palatal = false initial[i] = mw.ustring.match(syllable, '^[mnptkcfvshyl]?[gh]?h?') final[i] = mw.ustring.sub(syllable, mw.ustring.len(initial[i]) + 1, -1) if mw.ustring.find(final[i], '^[iíìî]') then palatal = true end local function add_palatal(text, add_or_not) local palatal_initial = { ['ch'] = true, ['chh'] = true, ['s'] = true, ['ng'] = true } if add_or_not and palatal_initial[text] then return text .. 'i' else return text end end local initial_ipa = { ['ngi'] = 'ɲ', ['ng'] = 'ŋ', ['ph'] = 'pʰ', ['th'] = 'tʰ', ['kh'] = 'kʰ', ['ch'] = 't͡s', ['chi'] = 't͡ɕ', ['chh'] = 't͡sʰ', ['chhi'] = 't͡ɕʰ', ['si'] = 'ɕ', ['y'] = 'j', } initial[i] = initial_ipa[add_palatal(initial[i], palatal)] or initial[i] if mw.ustring.find(final[i], '[âêîôû̂]') then tone[i] = 1 elseif mw.ustring.find(final[i], '[àèìòù̀]') then tone[i] = 2 elseif mw.ustring.find(final[i], '[áéíóú́]') then tone[i] = 3 elseif mw.ustring.find(final[i], '̍') then tone[i] = 6 elseif mw.ustring.find(final[i], '[ptk]$') then tone[i] = 5 else tone[i] = 4 end local final_conv = { ['á'] = 'a', ['é'] = 'e', ['í'] = 'i', ['ó'] = 'o', ['ú'] = 'u', ['́'] = '', ['à'] = 'a', ['è'] = 'e', ['ì'] = 'i', ['ò'] = 'o', ['ù'] = 'u', ['̀'] = '', ['â'] = 'a', ['ê'] = 'e', ['î'] = 'i', ['ô'] = 'o', ['û'] = 'u', ['̂'] = '', ['ń'] = 'n', ['ǹ'] = 'n', ['̍'] = '', ['ṳ'] = 'ɨ', } final[i] = mw.ustring.gsub(final[i], '[âêîôû̂àèìòù̀áéíóú́ńǹ̍ṳ]', final_conv) final[i] = mw.ustring.gsub(final[i], '([ptk])$', '%1̚') final[i] = mw.ustring.gsub(final[i], 'ng$', 'ŋ') final[i] = final[i] == 'ŋ' and 'ŋ̍' or final[i] final[i] = mw.ustring.gsub(final[i], '([aeiouɨ])([aeiouɨ])([aeiouɨ]?)', function(first, second, third) if third ~= '' then return first .. '̯' .. second .. third .. '̯' else return first .. '̯' .. second end end) end for i, syllable in ipairs(syllables) do local tone_ipa = { [1] = '²⁴', [2] = '¹¹', [3] = '³¹', [4] = '⁵⁵', [5] = '²', [6] = '⁵', } tone_conv[i] = tone_ipa[tone[i]] if tone[i] == 1 and mw.ustring.find(tostring(tone[i+1]), '[146]') then tone_conv[i] = tone_conv[i] .. '⁻¹¹' end ipa[i] = initial[i] .. final[i] .. tone_conv[i] end return table.concat(ipa, " ") end return export lotm6bz1xy4e1bx5ymgkc6uncxmq2hm Module:cdo-pron 828 4569 12354 2015-02-08T00:01:25Z 201.86.174.11 Bog cusub: local export = {} local detone = { ['ă'] = 'a', ['ĕ'] = 'e', ['ĭ'] = 'i', ['ŏ'] = 'o', ['ŭ'] = 'u', ['̆'] = '', ['ā'] = 'a', ['ē'] = 'e', ['ī'] = 'i', ['ō'] = 'o', ['ū']... 12354 Scribunto text/plain local export = {} local detone = { ['ă'] = 'a', ['ĕ'] = 'e', ['ĭ'] = 'i', ['ŏ'] = 'o', ['ŭ'] = 'u', ['̆'] = '', ['ā'] = 'a', ['ē'] = 'e', ['ī'] = 'i', ['ō'] = 'o', ['ū'] = 'u', ['̄'] = '', ['á'] = 'a', ['é'] = 'e', ['í'] = 'i', ['ó'] = 'o', ['ú'] = 'u', ['́'] = '', ['à'] = 'a', ['è'] = 'e', ['ì'] = 'i', ['ò'] = 'o', ['ù'] = 'u', ['̀'] = '', ['â'] = 'a', ['ê'] = 'e', ['î'] = 'i', ['ô'] = 'o', ['û'] = 'u', ['̂'] = '', } local initial_ipa = { ['b'] = { ['unchanged'] = 'p', ['lenited'] = '<sup>(p-)</sup>β', ['nasal'] = '<sup>(p-)</sup>m' }, ['p'] = { ['unchanged'] = 'pʰ', ['lenited'] = '<sup>(pʰ-)</sup>β', ['nasal'] = '<sup>(pʰ-)</sup>m' }, ['m'] = { ['unchanged'] = 'm', ['lenited'] = 'm', ['nasal'] = 'm' }, ['d'] = { ['unchanged'] = 't', ['lenited'] = '<sup>(t-)</sup>l', ['nasal'] = '<sup>(t-)</sup>n' }, ['t'] = { ['unchanged'] = 'tʰ', ['lenited'] = '<sup>(tʰ-)</sup>l', ['nasal'] = '<sup>(tʰ-)</sup>n' }, ['n'] = { ['unchanged'] = 'n', ['lenited'] = 'n', ['nasal'] = 'n' }, ['l'] = { ['unchanged'] = 'l', ['lenited'] = 'l', ['nasal'] = '<sup>(l-)</sup>n' }, ['g'] = { ['unchanged'] = 'k', ['lenited'] = '<sup>(k-)</sup>', ['nasal'] = '<sup>(k-)</sup>ŋ' }, ['k'] = { ['unchanged'] = 'kʰ', ['lenited'] = '<sup>(kʰ-)</sup>', ['nasal'] = '<sup>(kʰ-)</sup>ŋ' }, ['ng'] = { ['unchanged'] = 'ŋ', ['lenited'] = 'ŋ', ['nasal'] = 'ŋ' }, ['h'] = { ['unchanged'] = 'h', ['lenited'] = '<sup>(h-)</sup>', ['nasal'] = '<sup>(h-)</sup>ŋ' }, ['c'] = { ['unchanged'] = 't͡s', ['lenited'] = '<sup>(t͡s-)</sup>ʒ', ['nasal'] = '<sup>(t͡s-)</sup>ʒ' }, ['ch'] = { ['unchanged'] = 't͡sʰ', ['lenited'] = '<sup>(t͡sʰ-)</sup>ʒ', ['nasal'] = '<sup>(t͡sʰ-)</sup>ʒ' }, ['s'] = { ['unchanged'] = 's', ['lenited'] = '<sup>(s-)</sup>l', ['nasal'] = '<sup>(s-)</sup>n' }, [''] = { ['unchanged'] = '', ['lenited'] = '', ['nasal'] = '<sup>(Ø-)</sup>ŋ' }, } local final_ipa = { ["a"] = { ["close"] = "a", ["open"] = "ɑ" }, ["ia"] = { ["close"] = "ia", ["open"] = "iɑ" }, ["ua"] = { ["close"] = "ua", ["open"] = "uɑ" }, ["a̤"] = { ["close"] = "ɛ", ["open"] = "ɑ" }, ["ie"] = { ["close"] = "ie", ["open"] = "iɛ" }, ["o̤"] = { ["close"] = "o", ["open"] = "ɔ" }, ["io"] = { ["close"] = "yo", ["open"] = "yɔ" }, ["uo"] = { ["close"] = "uo", ["open"] = "uɔ" }, ["e̤"] = { ["close"] = "œ", ["open"] = "ɔ" }, ["ae̤"] = { ["close"] = "œ", ["open"] = "ɔ" }, ["au"] = { ["close"] = "au", ["open"] = "ɑu" }, ["eu"] = { ["close"] = "ɛu", ["open"] = "ɛu" }, ["aiu"] = { ["close"] = "ɛu", ["open"] = "ɑu" }, ["ieu"] = { ["close"] = "iu", ["open"] = "iɛu" }, ["iu"] = { ["close"] = "iu", ["open"] = "iu" }, ["eu"] = { ["close"] = "iu", ["open"] = "iɛu" }, ["oi"] = { ["close"] = "øy", ["open"] = "øy" }, ["o̤i"] = { ["close"] = "øy", ["open"] = "ɔy" }, ["ai"] = { ["close"] = "ai", ["open"] = "ɑi" }, ["uai"] = { ["close"] = "uai", ["open"] = "uɑi" }, ["uoi"] = { ["close"] = "ui", ["open"] = "uoi" }, ["ui"] = { ["close"] = "ui", ["open"] = "ui" }, ["oi"] = { ["close"] = "ui", ["open"] = "uoi" }, ["i"] = { ["close"] = "i", ["open"] = "i" }, ["e"] = { ["close"] = "i", ["open"] = "ɛi" }, ["u"] = { ["close"] = "u", ["open"] = "u" }, ["o"] = { ["close"] = "u", ["open"] = "ou" }, ["ṳ"] = { ["close"] = "y", ["open"] = "øy" }, ["e̤ṳ"] = { ["close"] = "y", ["open"] = "øy" }, ["ah"] = { ["close"] = "aʔ", ["open"] = "ɑʔ" }, ["iah"] = { ["close"] = "iaʔ", ["open"] = "iɑʔ" }, ["uah"] = { ["close"] = "uaʔ", ["open"] = "uɑʔ" }, ["a̤h"] = { ["close"] = "eʔ", ["open"] = "ɛʔ" }, ["ieh"] = { ["close"] = "ieʔ", ["open"] = "iɛʔ" }, ["o̤h"] = { ["close"] = "oʔ", ["open"] = "ɔʔ" }, ["ioh"] = { ["close"] = "yoʔ", ["open"] = "yɔʔ" }, ["uoh"] = { ["close"] = "uoʔ", ["open"] = "uɔʔ" }, ["e̤h"] = { ["close"] = "øʔ", ["open"] = "œʔ" }, ["ang"] = { ["close"] = "aŋ", ["open"] = "ɑŋ" }, ["iang"] = { ["close"] = "iaŋ", ["open"] = "iɑŋ" }, ["uang"] = { ["close"] = "uaŋ", ["open"] = "uɑŋ" }, ["ieng"] = { ["close"] = "ieŋ", ["open"] = "iɛŋ" }, ["iong"] = { ["close"] = "yoŋ", ["open"] = "yɔŋ" }, ["uong"] = { ["close"] = "uoŋ", ["open"] = "uɔŋ" }, ["ing"] = { ["close"] = "iŋ", ["open"] = "iŋ" }, ["eng"] = { ["close"] = "iŋ", ["open"] = "ɛiŋ" }, ["ung"] = { ["close"] = "uŋ", ["open"] = "uŋ" }, ["ong"] = { ["close"] = "uŋ", ["open"] = "ouŋ" }, ["ṳng"] = { ["close"] = "yŋ", ["open"] = "yŋ" }, ["e̤ṳng"] = { ["close"] = "yŋ", ["open"] = "øyŋ" }, ["eng"] = { ["close"] = "eiŋ", ["open"] = "eiŋ" }, ["aing"] = { ["close"] = "eiŋ", ["open"] = "aiŋ" }, ["ong2"] = { ["close"] = "ouŋ", ["open"] = "ouŋ" }, ["aung"] = { ["close"] = "ouŋ", ["open"] = "auŋ" }, ["e̤ng"] = { ["close"] = "øyŋ", ["open"] = "øyŋ" }, ["ae̤ng"] = { ["close"] = "øyŋ", ["open"] = "ɔyŋ" }, ["ak"] = { ["close"] = "aʔ", ["open"] = "ɑʔ" }, ["iak"] = { ["close"] = "iaʔ", ["open"] = "iɑʔ" }, ["uak"] = { ["close"] = "uaʔ", ["open"] = "uɑʔ" }, ["iek"] = { ["close"] = "ieʔ", ["open"] = "iɛʔ" }, ["iok"] = { ["close"] = "yoʔ", ["open"] = "yɔʔ" }, ["uok"] = { ["close"] = "uoʔ", ["open"] = "uɔʔ" }, ["ik"] = { ["close"] = "iʔ", ["open"] = "iʔ" }, ["ek"] = { ["close"] = "iʔ", ["open"] = "ɛiʔ" }, ["uk"] = { ["close"] = "uʔ", ["open"] = "uʔ" }, ["ok"] = { ["close"] = "uʔ", ["open"] = "ouʔ" }, ["ṳk"] = { ["close"] = "yʔ", ["open"] = "yʔ" }, ["e̤ṳk"] = { ["close"] = "yʔ", ["open"] = "øyʔ" }, ["ek"] = { ["close"] = "eiʔ", ["open"] = "eiʔ" }, ["aik"] = { ["close"] = "eiʔ", ["open"] = "aiʔ" }, ["ok2"] = { ["close"] = "ouʔ", ["open"] = "ouʔ" }, ["auk"] = { ["close"] = "ouʔ", ["open"] = "auʔ" }, ["e̤k"] = { ["close"] = "øyʔ", ["open"] = "øyʔ" }, ["ae̤k"] = { ["close"] = "øyʔ", ["open"] = "ɔyʔ" }, ["ng"] = { ["close"] = "ŋ̍", ["open"] = "ŋ̍" }, } local tone_ipa = { [1] = '⁵⁵', [2] = '³³', [3] = '²¹³', [4] = '²⁴', [5] = '⁵³', [6] = '²⁴²', [7] = '⁵', } local tone_sandhi = { ['first'] = { [1] = '⁻⁵⁵', [5] = '⁻⁵⁵', [7] = '⁻⁵⁵', [2] = '⁻⁵³', [3] = '⁻⁵³', [4] = '⁻⁵³', [6] = '⁻⁵³', }, ['second'] = { [1] = '⁻⁵⁵', [2] = '⁻³³', [5] = '⁻³³', [7] = '⁻³³', [3] = '⁻²¹', [4] = '⁻²¹', [6] = '⁻²¹', }, ['third'] = { [1] = '⁻²¹', [5] = '⁻²¹', [7] = '⁻²¹', [2] = '⁻³⁵', [3] = '⁻⁵⁵', [4] = '⁻⁵⁵', [6] = '⁻⁵⁵', } } local neg_assim = { ['nasal'] = "<sup>(ŋ̍-)</sup>m̩", ['dental'] = "<sup>(ŋ̍-)</sup>n̩", ['velar'] = "<sup>(ŋ̍-)</sup>ŋ̍", } function export.ipa(text) if type(text) == 'table' then text = text.args[1] end text = mw.ustring.lower(text) local syllables, initial, final, tone, tone_conv, ipa = {}, {}, {}, {}, {}, {} syllables = mw.text.split(text, "-") for i, syllable in ipairs(syllables) do syllable = mw.ustring.gsub(syllable, '([\{\}])', function(captured_initial) lenition_blocked = true return '' end) initial[i] = mw.ustring.match(syllable, '^([bpmdtnlgkhcs]?[gh]?)') final[i] = mw.ustring.sub(syllable, mw.ustring.len(initial[i]) + 1, -1) if mw.ustring.find(final[i], '[ăĕĭŏŭ̆]') or final[i] == '' then if mw.ustring.find(final[i], '[hk]$') then tone[i] = 7 else tone[i] = 1 end elseif mw.ustring.find(final[i], '[āēīōū̄]') then tone[i] = 2 elseif mw.ustring.find(final[i], '[áéíóú́]') then if mw.ustring.find(final[i], '[hk]$') then tone[i] = 4 else tone[i] = 3 end elseif mw.ustring.find(final[i], '[àèìòù̀]') then tone[i] = 5 elseif mw.ustring.find(final[i], '[âêîôû̂]') then tone[i] = 6 end final[i] = mw.ustring.gsub(final[i], '[ăĕĭŏŭāēīōūáéíóúàèìòùâêîôû̆̄́̀̂]', detone) if (final[i] == 'ong' or final[i] == 'ok') and mw.ustring.find(tostring(tone[i]), '[1257]') then final[i] = final[i] .. '2' end if mw.ustring.find(initial[i] .. final[i], '[dtnlcs]h?io') then final[i] = mw.ustring.gsub(final[i], 'io', 'uo') end if (initial[i] .. final[i]) == 'ng' then initial[i], final[i] = '', 'ng' end if mw.ustring.find(tostring(tone[i]), '[346]') and (#syllables == 1 or i == #syllables) then final[i] = final_ipa[final[i]]["open"] else final[i] = final_ipa[final[i]]["close"] end if i == 1 or mw.ustring.find(syllables[i-1], 'k$') or lenition_blocked then initial_state = 'unchanged' elseif mw.ustring.find(final[i-1], '[ŋ̍]$') then initial_state = 'nasal' else initial_state = 'lenited' end initial[i] = initial_ipa[initial[i]][initial_state] end for i = 1, #syllables do if final[i] == 'ŋ̍' then if mw.ustring.match(syllables[i+1], '[bpm]') then neg_type = 'nasal' elseif mw.ustring.match(syllables[i+1], '[dtnlsc]') then neg_type = 'dental' else neg_type = 'velar' end final[i] = neg_assim[neg_type] end tone_conv[i] = tone_ipa[tone[i]] if i ~= #syllables then if mw.ustring.find(tostring(tone[i]), '[136]') or (tone[i] == 4 and mw.ustring.find(final[i], 'h$')) then tone_conv[i] = tone_conv[i] .. tone_sandhi['first'][tone[i+1]] elseif mw.ustring.find(tostring(tone[i]), '[57]') then tone_conv[i] = tone_conv[i] .. tone_sandhi['second'][tone[i+1]] else tone_conv[i] = tone_conv[i] .. tone_sandhi['third'][tone[i+1]] end tone_conv[i] = mw.ustring.gsub(tone_conv[i], '([¹²³⁴⁵]+)⁻([¹²³⁴⁵]+)', function(original, sandhi) if original == sandhi then return original end end) end ipa[i] = initial[i] .. final[i] .. tone_conv[i] end return table.concat(ipa, " ") end return export gil9vdraxzle9tzsc0lr9389dy1ew41 Module:nan-pron 828 4570 12355 2015-02-08T00:04:52Z 201.86.174.11 Bog cusub: local export = {} function export.poj_to_tl_conv(text) if type(text) == 'table' then text = text.args[1] end text = mw.ustring.gsub(text,'e̍[kn][g]?',{['e̍k']='i̍k',['e̍ng']='i... 12355 Scribunto text/plain local export = {} function export.poj_to_tl_conv(text) if type(text) == 'table' then text = text.args[1] end text = mw.ustring.gsub(text,'e̍[kn][g]?',{['e̍k']='i̍k',['e̍ng']='i̍ng'}) text = mw.ustring.gsub(text,'[eéèêē][kn][g]?',{['ek']='ik',['eng']='ing',['ék']='ík',['éng']='íng',['èk']='ìk',['èng']='ìng',['êk']='îk',['êng']='îng',['ēk']='īk',['ēng']='īng'}) text = mw.ustring.gsub(text,'o̍[ae]',{['o̍a']='ua̍',['o̍e']='ue̍'}) text = mw.ustring.gsub(text,'[oóòôō][ae]',{['oa']='ua',['óa']='uá',['òa']='uà',['ôa']='uâ',['ōa']='uā',['oe']='ue',['óe']='ué',['òe']='uè',['ôe']='uê',['ōe']='uē'}) text = mw.ustring.gsub(text,'[úùûū]i',{['úi']='uí',['ùi']='uì',['ûi']='uî',['ūi']='uī'}) text = mw.ustring.gsub(text,'[ớờơ̂ơ̄ơ̍]',{['ớ']='óo',['ờ']='òo',['ơ̂']='ôo',['ơ̄']='ōo',['ơ̍']='o̍o'}) text = string.gsub(text,'u̍i','ui̍') text = string.gsub(text,'ⁿ','nn') text = string.gsub(text,'nnh','hnn') text = string.gsub(text,'ch','ts') return text end function export.poj_to_ipa_conv(text,loc) if type(text) == 'table' then text,loc = text.args[1],text.args["loc"] end local initial={} local final={} local tone={} local tonesandhi={} local ipa={} local readings = mw.text.split(mw.ustring.lower(text),'/',true) for i = 1,#readings,1 do p = mw.text.split(readings[i],'-',true) for i = 1,#p,1 do p[i] = mw.ustring.gsub(p[i],'[ớờơ̂ơ̄ơ̍]',{['ớ']='óo',['ờ']='òo',['ơ̂']='ôo',['ơ̄']='ōo',['ơ̍']='o̍o'}) p[i] = mw.ustring.gsub(p[i],'[̍̂̄̀]',{['̍']='捌',['̂']='伍',['̄']='柒',['̀']='叁'}) if mw.ustring.match(p[i],'[aeiou][捌]?[ptkh]') then if mw.ustring.match(p[i],'捌') then if mw.ustring.match(p[i],'h') then tone[i] = '八B' else tone[i] = '八A' end else if mw.ustring.match(p[i],'h') then tone[i] = '四B' else tone[i] = '四A' end end elseif mw.ustring.match(p[i],'[áíúéóḿń貳]') then tone[i] = '二' elseif mw.ustring.match(p[i],'[àìùèòǹ叁]') then tone[i] = '三' elseif mw.ustring.match(p[i],'[âîûêô伍]') then tone[i] = '五' elseif mw.ustring.match(p[i],'[āīūēō柒]') then tone[i] = '七' else tone[i] = '一' end p[i] = mw.ustring.gsub(p[i],'[áíúéóḿńàìùèòǹâîûêôāīūēō貳叁伍柒捌]',{['á']='a',['í']='i',['ú']='u',['é']='e',['ó']='o',['ḿ']='m',['ń']='n',['貳']='',['à']='a',['ì']='i',['ù']='u',['è']='e',['ò']='o',['ǹ']='n',['叁']='',['â']='a',['î']='i',['û']='u',['ê']='e',['ô']='o',['伍']='',['ā']='a',['ī']='i',['ū']='u',['ē']='e',['ō']='o',['柒']='',['捌']=''}) if mw.ustring.sub(p[i],1,3) == 'chh' then initial[i] = 'chh' final[i] = mw.ustring.sub(p[i],4,-1) elseif mw.ustring.sub(p[i],1,2) == 'ng' then if mw.ustring.sub(p[i],3,3) == '' then initial[i] = 'ʔ' final[i] = 'ng' else initial[i] = 'ng' final[i] = mw.ustring.sub(p[i],3,-1) end elseif mw.ustring.gsub(mw.ustring.sub(p[i],1,2),'[ptkc]h','') == '' then initial[i] = mw.ustring.sub(p[i],1,2) final[i] = mw.ustring.sub(p[i],3,-1) elseif mw.ustring.gsub(mw.ustring.sub(p[i],1,1),'[mnpbtkgjshl]','') == '' then initial[i] = mw.ustring.sub(p[i],1,1) final[i] = mw.ustring.sub(p[i],2,-1) else initial[i] = '' final[i] = p[i] end initial[i] = mw.ustring.gsub(initial[i],'[cktpnj][hg]?[h]?',{['ch']='t͡s',['chh']='t͡sʰ',['j']='d͡z',['ng']='ŋ',['ph']='pʰ',['kh']='kʰ',['th']='tʰ'}) if mw.ustring.gsub(initial[i],'[td]?[͡]?[sz][ʰ]?','') == '' then if mw.ustring.sub(final[i],1,1) == 'i' or final[i] == 'eng' or final[i] == 'ek' then initial[i] = mw.ustring.gsub(initial[i],'[td]?[͡]?[sz][ʰ]?',{['t͡s']='t͡ɕ',['t͡sʰ']='t͡ɕʰ',['d͡z']='d͡ʑ',['s']='ɕ'}) end end final[i] = mw.ustring.gsub(final[i],'hⁿ','ⁿh') final[i] = mw.ustring.gsub(final[i],'[ptkhⁿn][g]?',{['h']='ʔ',['ⁿ']='̃',['p']='p̚',['t']='t̚',['k']='k̚',['ng']='ŋ'}) if mw.ustring.gsub(final[i],'[mŋ][ʔ]?','') == '' then final[i] = mw.ustring.gsub(final[i],'[mŋ]?',{['m']='m̩',['ŋ']='ŋ̍'}) end final[i] = mw.ustring.gsub(final[i],'[aeiou][aeiou]?[iu]?',{['ai']='aɪ',['au']='aʊ',['ia']='ia',['iau']='iaʊ',['io']='iɔ',['oai']='uai',['oa']='ua',['oe']='ue',['oo']='ɔɔ'}) final[i] = mw.ustring.gsub(final[i],'ian','iɛn') final[i] = mw.ustring.gsub(final[i],'e([kŋ])','ɪ%1') final[i] = mw.ustring.gsub(final[i],'o','ɔ') if mw.ustring.find(final[i],'^[i]?ɔ[h]?$') then final[i] = mw.ustring.gsub(final[i],'ɔ','ə') end final[i] = mw.ustring.gsub(final[i],'͘','') final[i] = mw.ustring.gsub(final[i],'ɔɔ','ɔ') final[i] = mw.ustring.gsub(final[i],'a([ɪʊ])̃','%1̃a') end for i = 1,#p,1 do if i ~= #tone then if tone[i] == '一' then tonesandhi[i] = '一至七' elseif tone[i] == '二' then tonesandhi[i] = '二至一' elseif tone[i] == '三' then tonesandhi[i] = '三至二' elseif tone[i] == '四A' then tonesandhi[i] = '四至八' elseif tone[i] == '四B' then final[i] = mw.ustring.gsub(final[i],'ʔ','(ʔ)') tonesandhi[i] = '四至七' elseif tone[i] == '五' then tonesandhi[i] = '五至七' elseif tone[i] == '七' then tonesandhi[i] = '七至三' elseif tone[i] == '八A' then tonesandhi[i] = '八至四' elseif tone[i] == '八B' then final[i] = mw.ustring.gsub(final[i],'ʔ','(ʔ)') tonesandhi[i] = '八至三' end else tonesandhi[i] = mw.ustring.gsub(tone[i],'[AB]','') end if loc == 'Zhangzhou' then tonesandhi[i] = mw.ustring.gsub(tonesandhi[i],'[一二三四五七八至]',{['一']='³⁴',['二']='⁵³',['三']='²¹',['四']='³²',['五']='¹³',['七']='²²',['八']='¹²¹',['至']='⁻'}) elseif loc == 'Taipei' then tonesandhi[i] = mw.ustring.gsub(tonesandhi[i],'[一二三四五七八至]',{['一']='⁴⁴',['二']='⁴¹',['三']='¹¹',['四']='³²',['五']='²³',['七']='³³',['八']='⁴',['至']='⁻'}) end ipa[i] = (initial[i] .. final[i] .. tonesandhi[i]) end readings[i] = table.concat(ipa," ") end return table.concat(readings,"/, /") end function export.poj_display(text) if type(text) == 'table' then text = text.args[1] end if not mw.ustring.match(text,' ') then text = '[[' .. text .. ']]' text = string.gsub(text,'/',']] / [[') end return text end return export 3c2l6bffzaj0puzhnmrk2d7xl1geers Module:wuu-pron 828 4571 12356 2015-02-08T00:06:12Z 201.86.174.11 Bog cusub: local export = {} local initial = { ["p"] = 'p', ["ph"] = 'pʰ', ["b"] = 'b̻', ["m"] = 'm', ["'m"] = 'ʔm', ["f"] = 'f', ["v"] = 'v̻', ["t"] = 't', ["th"] = 'tʰ', ["d"] = 'd̻',... 12356 Scribunto text/plain local export = {} local initial = { ["p"] = 'p', ["ph"] = 'pʰ', ["b"] = 'b̻', ["m"] = 'm', ["'m"] = 'ʔm', ["f"] = 'f', ["v"] = 'v̻', ["t"] = 't', ["th"] = 'tʰ', ["d"] = 'd̻', ["n"] = 'n', ["'n"] = 'ʔn', ["l"] = 'l', ["'l"] = 'ʔl', ["ts"] = 't͡s', ["tsh"] = 't͡sʰ', ["s"] = 's', ["z"] = 'z̻', ["j"] = 't͡ɕ', ["q"] = 't͡ɕʰ', ["jj"] = 'd̥͡ʑ', ["ny"] = 'ȵ', ["'ny"] = 'ʔȵ', ["x"] = 'ɕ', ["xx"] = 'ʑ̻', ["k"] = 'k', ["kh"] = 'kʰ', ["g"] = 'g̊', ["ng"] = 'ŋ', ["'ng"] = 'ʔŋ', ["h"] = 'h', ["'"] = 'ʔ', ["hh"] = 'ɦ', [""] = '' } local final = { ["a"] = 'ᴀ', ["o"] = 'o', ["au"] = 'ɔ', ["eu"] = 'ɜ', ["e"] = 'ᴇ', ["oe"] = 'ø', ["i"] = 'i', ["ia"] = 'iᴀ', ["ie"] = 'iᴇ', ["io"] = 'io', ["iau"] = 'iɔ', ["ieu"] = 'iɜ', ["u"] = 'ɯ', ["ua"] = 'ɯᴀ', ["ue"] = 'ɯᴇ', ["uoe"] = 'ɯø', ["y"] = 'y', ["yoe"] = 'yø', ["an"] = 'ã', ["aan"] = 'ɑ̃', ["en"] = 'əɲ', ["on"] = 'ʊŋ', ["aq"] = 'ᴀʔ', ["oq"] = 'ʊʔ', ["eq"] = 'əʔ', ["ian"] = 'iã', ["iaan"] = 'iɑ̃', ["in"] = 'ɪɲ', ["ion"] = 'i̯ʊŋ', ["iaq"] = 'iᴀʔ', ["ioq"] = 'i̯ʊʔ', ["iq"] = 'i̯ɪʔ', ["uan"] = 'ɯã', ["uaan"] = 'ɯɑ̃', ["un"] = 'ɯə̯ɲ', ["uaq"] = 'ɯᴀʔ', ["ueq"] = 'ɯə̯ʔ', ["yn"] = 'ʏɲ', ["yq"] = 'ɥ̯ɪʔ', ["er"] = 'əɻ', ["r"] = 'z̩' } local tone_contours = { ['1-0'] = '', ['1-1'] = '⁵³', ['1-2'] = '³⁴', ['1-3'] = '²³', ['1-4'] = '⁵⁵', ['1-5'] = '¹²', ['2-1'] = '⁵⁵ ²¹', ['2-2'] = '³³ ⁴⁴', ['2-3'] = '²² ⁴⁴', ['2-4'] = '³³ ⁴⁴', ['2-5'] = '¹¹ ²³', ['3-1'] = '⁵⁵ ³³ ²¹', ['3-2'] = '³³ ⁵⁵ ²¹', ['3-3'] = '²² ⁵⁵ ²¹', ['3-4'] = '³³ ⁵⁵ ²¹', ['3-5'] = '¹¹ ²² ²³', ['4-1'] = '⁵⁵ ³³ ³³ ²¹', ['4-2'] = '³³ ⁵⁵ ³³ ²¹', ['4-3'] = '²² ⁵⁵ ³³ ²¹', ['4-4'] = '³³ ⁵⁵ ³³ ²¹', ['4-5'] = '²² ⁵⁵ ³³ ²¹' } local syllabic = { ['mm'] = 'm̩', ['ngg'] = 'ŋ̍' } function export.ipa_conv(original_text) if type(original_text) == 'table' then original_text = original_text.args[1] end original_text = mw.ustring.lower(original_text) local text, conv_text = '','' local reading = mw.text.split(original_text, ",", true) local syllable = {} local syl_tone = {} for i = 1, #reading, 1 do parts = mw.text.split(reading[i], '+', true) for i = 1, #parts do text = parts[i] wordlen = string.len(text:gsub('[^ ]', '')) + 1 if mw.ustring.match(mw.ustring.sub(text,1,1), '[0-9]') then tone = wordlen .. '-' .. text:sub(1,1) tone = tone_contours[tone] or tone text = text:sub(2,-1) else tone = tostring(text:gsub('%l', '')) tone = mw.ustring.gsub(tone, '[1-5]', {[1]='¹', [2]='²', [3]='³', [4]='⁴', [5]='⁵'}) text = text:gsub('%d', '') end syllable = mw.text.split(text, ' ', true) syl_tone = mw.text.split(tone, ' ', true) for i = 1, wordlen, 1 do syllable[i] = export.ipa_syl_conv(syllable[i]) syllable[i] = syllable[i] .. syl_tone[i] end parts[i] = table.concat(syllable, " ") end reading[i] = table.concat(parts, " &nbsp;") end return table.concat(reading, "/, /") end function export.ipa_syl_conv(text) if text:match('^h?h?[mn][mg]?g?$') then text = mw.ustring.gsub(text, "^(h?h?)([mn][mg]?g?)$", function(a, b) return (initial[a] or '') .. (syllabic[b] or error(("Invalid syllable: \"%s\""):format(text))) end) elseif text:match("^%'?ny") then text = mw.ustring.gsub(text, "^([\']?ny)([aeiouyr][aeou]?[aeu]?[nqr]?)$", function(a, b) return initial[a] .. (final[b] or error(("Unrecognised final: \"%s\""):format(b))) end) elseif text:match("^[\']?[pbmfvtdnlszjqxkghr%']?[sjgx]?h?[aeiouyr][aeou]?[aeu]?[nqr]?$") then text = mw.ustring.gsub(text, "^([\']?[pbmfvtdnlszjqxkghr%']?[sjgx]?[h]?)([aeiouyr][aeou]?[aeu]?[nqr]?)$", function(a, b) return (initial[a] or error(("Unrecognised initial: \"%s\""):format(a))) .. (final[b] or error(("Unrecognised final: \"%s\""):format(b))) end) else return error(("Invalid syllable: \"%s\""):format(text)) end return text end function export.rom(text) if type(text) == 'table' then text = text.args[1] end text = mw.text.split(text, ",", true) for i = 1, #text, 1 do parts = mw.text.split(text[i], '+', true) for i = 1, #parts do if string.match(parts[i]:sub(1,1), '[0-9]') then parts[i] = parts[i]:sub(2,-1) .. ' (T' .. parts[i]:sub(1,1) .. ')' end end text[i] = table.concat(parts, ' + ') end return table.concat(text, "; ") end return export i93zd0fj4wrq4cxk8ruvxmtexvstxzw Module:yue-pron/hom 828 4572 12357 2015-02-08T00:08:53Z 201.86.174.11 Bog cusub: local export = {} export["ceoi2 tai3"] = {"取締/取缔", "取替" } export["ci4 coeng4"] = {"磁場/磁场", "慈祥" } export["fong1 tong4"] = {... 12357 Scribunto text/plain local export = {} export["ceoi2 tai3"] = {"取締/取缔", "取替" } export["ci4 coeng4"] = {"磁場/磁场", "慈祥" } export["fong1 tong4"] = {"方糖", "荒唐" } export["fung1 dou6"] = {"豐度/丰度", "風度/风度" } export["gau1 doi6"] = {"交待", "交代" } export["gong2 ze2"] = {"講者/讲者", "港姐" } export["gou1 jyun2"] = {"睪丸/睪丸", "高院" } export["hang4 sing1"] = {"行星", "恆星/恒星" } export["hung4 kei4"] = {"紅旗/红旗", "雄奇" } export["jyun4 bat1"] = {"鉛筆/铅笔", "完畢/完毕" } export["sam1 ngoi3"] = {"心愛/心爱", "深愛/深爱" } export["san4 kei4"] = {"神祇", "神奇" } export["sat1 sau2"] = {"失手", "失守" } export["sau1 joeng5"] = {"收養/收养", "修養/修养" } export["si1 sau2"] = {"廝守/厮守", "屍首/尸首" } export["zat1 sou3"] = {"質數/质数", "質素/质素" } export["zi6 hei3"] = {"自棄/自弃", "稚氣/稚气" } export["zi2 si6"] = {"只是", "指示", "指事" } export["zik6 gok3"] = {"直覺/直觉", "直角" } export["zung1 dim2"] = {"終點/终点", "中點/中点", "鐘點/钟点"} export["zung1 zi2"] = {"宗旨", "中指" } return export 8r1q4gid8rrsbmeh6zfzsx6gqoak1xt Module:script utilities 828 4573 12358 2015-02-08T00:20:12Z 201.86.174.11 Bog cusub: local export = {} -- Implements [[Template:lang]] function export.lang_t(frame) local args = frame:getParent().args NAMESPACE = mw.title.getCurrentTitle().nsText local lang = arg... 12358 Scribunto text/plain local export = {} -- Implements [[Template:lang]] function export.lang_t(frame) local args = frame:getParent().args NAMESPACE = mw.title.getCurrentTitle().nsText local lang = args[1]; if lang == "" then lang = nil end local text = args[2] or "" local sc = args["sc"]; if sc == "" then sc = nil end local face = args["face"]; if face == "" then face = nil end lang = lang 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 error("The language code \"" .. lang .. "\" is not valid.") sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) if not sc then sc = require("Module:scripts").findBestScript(text, lang) end return export.tag_text(text, lang, sc, face) end -- Wrap text in the appropriate HTML tags with language and script class. function export.tag_text(text, lang, sc, face) -- Add a script wrapper if face == "term" then return '<i class="' .. sc:getCode() .. ' mention" lang="' .. lang:getCode() .. '">' .. text .. '</i>' elseif face == "head" then return '<strong class="' .. sc:getCode() .. ' headword" lang="' .. lang:getCode() .. '">' .. text .. '</strong>' elseif face == "bold" then return '<b class="' .. sc:getCode() .. '" lang="' .. lang:getCode() .. '">' .. text .. '</b>' elseif face == nil then return '<span class="' .. sc:getCode() .. '" lang="' .. lang:getCode() .. '">' .. text .. '</span>' else error("Invalid script face \"" .. face .. "\".") end end -- Add a notice to request the native script of a word function export.request_script(lang, sc) local scripts = lang:getScripts() -- 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 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 is_Latin_script(val) then has_nonlatin = true break end end -- If there are non-Latin scripts, return nothing. if not has_nonlatin then return "" end end local category = "" if mw.title.getCurrentTitle().nsText ~= "Template" then category = "[[Category:" .. lang:getCanonicalName() .. " terms needing " .. cat_script .. " script]]" end return "<small>[" .. disp_script .. " needed]</small>" .. category end function export.template_rfscript(frame) local args = frame.args local lang = args[1] or error("The first parameter (language code) has not been given") local sc = args["sc"]; if sc == "" then sc = nil end lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) local ret = export.request_script(lang, sc) 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 is_Latin_script(sc) return (sc:getCode():find("Latn", nil, true)) or sc:getCode() == "Latinx" end return export n1fryhj4xhc7osh8h7ri65mrtdqdt5x Template:trans-top 10 4574 12360 2015-02-08T02:02:13Z 201.86.174.11 Bog cusub: <includeonly>{{#if:{{{1|}}}||[[Category:Miiska tarjamada madax ka maqan ekaanta]]}}</includeonly><div class="NavFrame"> <div class="NavHead" align="left">{{{1|Tarjamaad}}}</div> <div c... 12360 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}||[[Category:Miiska tarjamada madax ka maqan ekaanta]]}}</includeonly><div class="NavFrame"> <div class="NavHead" align="left">{{{1|Tarjamaad}}}</div> <div class="NavContent"> {| border="0" width="100%" class="translations" |- | bgcolor="#FFFFE0" valign="top" width="48%" align="left" | <noinclude> |}</div></div>{{diiwaaninta}}</noinclude> t18nyloepgjkjhhm85g6yr6w5469wlj Template:ml 10 4575 12361 2015-02-08T02:03:44Z 201.86.174.11 Bog cusub: Malayalam 12361 wikitext text/x-wiki Malayalam n9myqh2gpf0fw4yp8g46k5r1snlyufz Template:lg 10 4576 12362 2015-02-08T02:04:24Z 201.86.174.11 Bog cusub: Lugaanda 12362 wikitext text/x-wiki Lugaanda 0qvcnqkd0yzsg1o6rrwx6z633j2wad5 Template:my 10 4577 12363 2015-02-08T02:05:08Z 201.86.174.11 Bog cusub: Barmiis 12363 wikitext text/x-wiki Barmiis fy729sp5n01nm4oz6uf32cd5i6nsxpy Template:-my- 10 4578 12364 2015-02-08T02:06:17Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Barmiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Barmiis</big></big></big> (my)</div>== <br><noinclude> <!--... 12364 wikitext text/x-wiki <includeonly>[[Category:Barmiis ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Barmiis</big></big></big> (my)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 8rjs8mrxbal030enom54uu18o2bnmw2 Template:-ne- 10 4579 12365 2015-02-08T02:10:02Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Nebaali ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Nebaali</big></big></big> (ne)</div>== <br><noinclude> <!--... 12365 wikitext text/x-wiki <includeonly>[[Category:Nebaali ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Nebaali</big></big></big> (ne)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> munwntdpg9lpsh86h6vhocu1iwn1asn Template:-sco- 10 4580 12366 2015-02-08T02:12:12Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Iskotishka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Iskotishka</big></big></big> (sco)</div>== <br><noinclud... 12366 wikitext text/x-wiki <includeonly>[[Category:Iskotishka ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Iskotishka</big></big></big> (sco)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> l8vtee73jc1zg3pbzhdqfsn2jo4oct8 Template:ne 10 4581 12367 2015-02-08T02:12:59Z 201.86.174.11 Bog cusub: Nebaali 12367 wikitext text/x-wiki Nebaali ifa1oad6zcw12tlx3xv00jgsmfil0oz Template:sco 10 4582 12368 2015-02-08T02:13:52Z 201.86.174.11 Bog cusub: Iskotishka 12368 wikitext text/x-wiki Iskotishka els60y160b9cfv8cif3qcdwh19ebr3v Template:tt 10 4583 12369 2015-02-08T02:14:48Z 201.86.174.11 Bog cusub: Tataari 12369 wikitext text/x-wiki Tataari 8jbx7kxf0lhsg89au28j0lp7p6my95a Template:-tt- 10 4584 12370 2015-02-08T02:15:30Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Tataari ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tataari</big></big></big> (tt)</div>== <br><noinclude> <!--... 12370 wikitext text/x-wiki <includeonly>[[Category:Tataari ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tataari</big></big></big> (tt)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 08gr2thf66khkimhptqi2t88p96la7r Template:tg 10 4585 12371 2015-02-08T02:16:22Z 201.86.174.11 Bog cusub: Tajik 12371 wikitext text/x-wiki Tajik qilzolrejn9lu1e5h7nscfmiqkudy1w Template:haw 10 4586 12372 2015-02-08T02:20:12Z 201.86.174.11 Bog cusub: Hawaiian 12372 wikitext text/x-wiki Hawaiian o00er06v60k8y4z6nsai45u606xmbr9 Template:-ht- 10 4587 12373 2015-02-08T02:21:13Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Ayiti ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ayiti</big></big></big> (ht)</div>== <br><noinclude> <!--Ca... 12373 wikitext text/x-wiki <includeonly>[[Category:Ayiti ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ayiti</big></big></big> (ht)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> q1lrlkhpagd99c2pkcgu9wvjioly7yo famille 0 4588 18737 17713 2017-04-28T17:25:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18737 wikitext text/x-wiki {{-fr-}} === Magac === '''famille''' :[[qoys]] 8djewpkbd9wlec4l4ocjdm9wf3s495g Template:ps 10 4589 12375 2015-02-08T02:26:26Z 201.86.174.11 Bog cusub: Bashtuu 12375 wikitext text/x-wiki Bashtuu 7ksub7yuc58231bh3qk3vu3li52blf9 Template:-ps- 10 4590 12376 2015-02-08T02:27:17Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Bashtuu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bashtuu</big></big></big> (ps)</div>== <br><noinclude> <!--... 12376 wikitext text/x-wiki <includeonly>[[Category:Bashtuu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Bashtuu</big></big></big> (ps)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> irtmg53hj0w6glr175idvmtxlyum5a4 familja 0 4591 18734 16221 2017-04-28T17:25:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18734 wikitext text/x-wiki {{-mt-}} === Magac === '''familja''' :[[qoys]] dc7xlzwamkmd76bg9ssv5iar2xh5nlo család 0 4592 18589 18031 2017-04-28T17:24:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18589 wikitext text/x-wiki {{-hu-}} === Magac === '''család''' :[[qoys]] 7mfx9hfq432l509lq0tblse0dx6tdp9 Template:gd 10 4593 12380 2015-02-08T02:34:37Z 201.86.174.11 Bog cusub: Iskot Giilik 12380 wikitext text/x-wiki Iskot Giilik 0iidyyvmngrokj9vhpdxlw8v4zkikfb User talk:Unapersona 3 4594 12381 2015-02-08T05:04:28Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Unapersona]]) 12381 wikitext text/x-wiki #REDIRECT[[m:User talk:Unapersona]] axmxwqgqn5cc3repvdpskh427rynpkh User talk:Caliburn 3 4595 12563 12383 2015-02-20T12:33:45Z Billinghurst 716 Billinghurst moved page [[User talk:George.Edward.C]] to [[User talk:Caliburn]]: Automatically moved page while renaming the user "[[Special:CentralAuth/George.Edward.C|George.Edward.C]]" to "[[Special:CentralAuth/Caliburn|Caliburn]]" 12563 wikitext text/x-wiki <center><font face="Georgia">'''Hi there! Please do not contact me here. Instead, please contact me on [[meta:User_talk:George.Edward.C|meta]]. Messages left here may not get a timely response.</font></center> kv5wzoqoqwkaewjwmlncjbvwbbz9e5h fanmi 0 4596 18740 17714 2017-04-28T17:25:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18740 wikitext text/x-wiki {{-ht-}} === Magac === '''fanmi''' * [[qoys]] nnra8dkhket1nktsoxectpd61d4qzqu clann 0 4597 18575 13701 2017-04-28T17:24:43Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18575 wikitext text/x-wiki {{-ga-}} === Magac === '''clann''' * [[qoys]] 06vyixa6pfaust57st8wwy4ifwzzr08 परिवार 0 4598 19701 17420 2017-04-28T17:32:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19701 wikitext text/x-wiki {{-hi-}} === Magac === '''परिवार''' * [[qoys]] {{-mr-}} === Magac === '''परिवार''' * [[qoys]] knfh4npfz5fibw7fn8lywxv0nd9m5r2 ოჯახი 0 4599 19722 14181 2017-04-28T17:32:40Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19722 wikitext text/x-wiki {{-ka-}} === Magac === '''ოჯახი''' * [[qoys]] ecsu57y006hi40z9rap09sh9g1ph43y ख़ानदान 0 4600 19699 14138 2017-04-28T17:32:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19699 wikitext text/x-wiki {{-hi-}} === Magac === '''ख़ानदान''' * [[qoys]] 28k5fn2zmpuxojwve2rea7nuvbb4fno fjölskylda 0 4601 18765 17043 2017-04-28T17:26:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18765 wikitext text/x-wiki {{-is-}} === Magac === '''fjölskylda''' * [[qoys]] 980xgkqv8t6ee94zrw1aptc8kkolvt1 बाल-बच्चे 0 4602 19702 14135 2017-04-28T17:32:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19702 wikitext text/x-wiki {{-hi-}} === Magac === '''बाल-बच्चे''' * [[qoys]] tfz9t13hf1jlj6yez29a5wjj42mj8fx Template:-hi- 10 4603 12391 2015-02-08T11:41:59Z 201.86.174.11 Bog cusub: <includeonly>[[Category:Hindi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hindi</big></big></big> (hi)</div>== <br><noinclude> <!--Ca... 12391 wikitext text/x-wiki <includeonly>[[Category:Hindi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hindi</big></big></big> (hi)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 4ahsqv0q5o900m5enhfx7fi32at2b7d гаилә 0 4604 19571 14110 2017-04-28T17:31:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19571 wikitext text/x-wiki {{-tt-}} === Magac === '''гаилә''' :[[qoys]] 81jajq9xb01t7recd3iifm6ggl5chf1 Category:Tataari ereyada 14 4605 19942 15441 2017-07-03T13:39:15Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19942 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx އާއިލާ 0 4606 19698 18120 2017-04-28T17:32:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19698 wikitext text/x-wiki {{-dv-}} === Magac === '''އާއިލާ''' * [[qoys]] 5g94hyq3npp5o0sipzksjuumzv31g30 faimily 0 4607 18721 13924 2017-04-28T17:25:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18721 wikitext text/x-wiki {{-sco-}} === magac === '''faimily''' * [[qoys]] kbjzlusvgi3efistncsu05vfqn02u1y amaka 0 4608 18413 17018 2017-04-28T17:23:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18413 wikitext text/x-wiki {{-lg-}} === Magac === '''amaka''' * [[qoys]] svr6s7bxd2gm39y2158m6x0gy2xawtw faimlie 0 4609 18722 13923 2017-04-28T17:25:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18722 wikitext text/x-wiki {{-sco-}} === Magac === '''faimlie''' * [[qoys]] mvl5k68gw6ywqxi60c1m92kvj85d44b teaghlach 0 4610 19361 17076 2017-04-28T17:30:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19361 wikitext text/x-wiki {{-gd-}} === Magac === '''teaghlach''' * [[qoys]] f7kmgkh6fykljozdvnwnpz5piqz88xr lught thie 0 4611 18995 13970 2017-04-28T17:27:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18995 wikitext text/x-wiki {{-gv-}} === Magac === '''lught thie''' * [[qoys]] d2bulq0wvwympe52yvwwo066lpmivbk كورنۍ 0 4612 19691 14144 2017-04-28T17:32:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19691 wikitext text/x-wiki {{-ps-}} === Magac === '''كورنۍ''' * [[qoys]] 7s23ci657gwzlpupas1om2dir2tqb2l തറവാട് 0 4613 19712 14189 2017-04-28T17:32:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19712 wikitext text/x-wiki {{-ml-}} === Magac === '''തറവാട്''' * [[qoys]] gkq4agx2mm4xg2vjp2uggil81hcoio7 mooinjer 0 4614 19041 13985 2017-04-28T17:27:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19041 wikitext text/x-wiki {{-gv-}} === Magac === '''mooinjer''' * [[qoys]] 78qqmv7k3z7y7tuiots44aasmgcpglm оила 0 4615 19588 15600 2017-04-28T17:31:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19588 wikitext text/x-wiki {{-tg-}} === Magac === '''оила''' * [[qoys]] t0262zswd05abw2e0xmdbpw7m5rvhr2 Template:rm 10 4616 12411 12406 2015-02-08T12:21:10Z 201.86.174.11 12411 wikitext text/x-wiki Romanshka 59pl7iu840pfqut9lmsj7pcy7p09i5t Category:Mangooli ereyada 14 4617 19919 17452 2017-07-03T13:38:51Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19919 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Amxaariga ereyada 14 4618 19858 18231 2017-07-03T13:37:38Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19858 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Maltiis ereyada 14 4619 19918 18235 2017-07-03T13:38:50Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19918 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User talk:Mjbmr 3 4620 12430 2015-02-12T02:54:15Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Mjbmr]]) 12430 wikitext text/x-wiki __NOINDEX__<div dir="ltr">[[File:Redirect arrow without text.svg|46px|link=]][[w:en:User:Mjbmr|Mjbmr]]@Wikipedia ([[w:en:User talk:Mjbmr|Talk]]@Wikipedia)</div> iixdp9ugeyiqeurocghjgsb2lkrjjfm Category:Iskotishka ereyada 14 4621 19900 17122 2017-07-03T13:38:32Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19900 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Hindi ereyada 14 4622 19891 18255 2017-07-03T13:38:23Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19891 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kazaax ereyada 14 4623 19908 18234 2017-07-03T13:38:40Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19908 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ayiti ereyada 14 4624 19863 16850 2017-07-03T13:37:43Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19863 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Sawaaxili ereyada 14 4625 19934 17410 2017-07-03T13:39:06Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19934 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kirgiis ereyada 14 4626 19909 16875 2017-07-03T13:38:41Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19909 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Sinhaleys ereyada 14 4627 19936 18242 2017-07-03T13:39:08Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19936 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Tamiil ereyada 14 4628 19941 17580 2017-07-03T13:39:14Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19941 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Nebaali ereyada 14 4629 19924 17290 2017-07-03T13:38:56Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19924 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Teluugu ereyada 14 4630 19943 15402 2017-07-03T13:39:16Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19943 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Maarati ereyada 14 4631 19916 16879 2017-07-03T13:38:48Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19916 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kannadays ereyada 14 4632 19845 15436 2017-06-22T10:39:43Z Octahedron80 1659 [[d:Q8570347]] 19845 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Bunjaabi ereyada 14 4633 19877 18249 2017-07-03T13:38:08Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19877 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Zuluu ereyada 14 4634 19952 17251 2017-07-03T13:39:25Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19952 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Kamboodhian ereyada 14 4635 19848 18247 2017-06-23T03:05:13Z Octahedron80 1659 [[d:Q8573286]] 19848 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Bashtuu ereyada 14 4636 19868 18241 2017-07-03T13:37:48Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19868 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Jafaaniis ereyada 14 4637 19906 17447 2017-07-03T13:38:38Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19906 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Barmiis ereyada 14 4638 19867 18251 2017-07-03T13:37:47Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19867 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Bangaali ereyada 14 4639 19866 17121 2017-07-03T13:37:46Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19866 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Urduu ereyada 14 4640 19948 17884 2017-07-03T13:39:21Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19948 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Uirghur ereyada 14 4641 19947 16891 2017-07-03T13:39:20Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19947 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Assamiis ereyada 14 4642 19861 18253 2017-07-03T13:37:41Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19861 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User:NahidSultan 2 4643 12510 2015-02-14T19:33:59Z Pathoschild 41 global user pages ([[m:Synchbot|requested by NahidSultan]]) 12510 wikitext text/x-wiki {{DISPLAYTITLE:<span style="display:none;">User:</span><span style="font-family:Comic Sans MS;font-size:30px"><b><font color=green>Nahid Sultan</font></b></span>}} <div style="padding: 12px 18px 5px 15px; width: absolute; border: 2px solid #000; background: #F5F5F5; color: #000; text-align: justify;">Thanks for stopping by! The purpose of this user page is to point you to the right direction where you can contact me in need. Please do not leave your message here, otherwise in most cases, they will not be noticed in time and eventually be removed. However, you are encouraged to contact me or say hello. :-) Please note that I can communicate in either Bangla or English. My apologies for not knowing your language. If you prefer to leave me a message, please choose any of the following talk pages I maintain frequently. * [[m:User talk:NahidSultan|Meta-Wiki talk page]] * [[m:bn:User talk:NahidSultan|Bangla Wikipedia talk page]] * [[m:en:User talk:NahidSultan|English Wikipedia talk page]] * [[m:commons:User talk:NahidSultan|Wikimedia Commons talk page]] If you have something to say to me in private, e-mail is a good option. * If you are logged in to your Wikimedia account you can probably e-mail me by [[Special:EmailUser/NahidSultan|clicking here]]. Finally, If you have an IRC client, you can contact me there as well. I can be found in [irc://irc.freenode.net/cvn-sw #cvn-sw] and [irc://irc.freenode.net/wikimedia-commons #wikimedia-commons] on the Freenode IRC network, usually with the nick <code>NahidSultan</code>. Please be bold and talk.</font></center></div> 7g7jlke3se59pr3n34z6pd2eymm6gfy Wahl 0 4644 32276 18360 2024-11-05T09:23:30Z Jeuwre 4430 dhawaaqida 32276 wikitext text/x-wiki {{-de-}} === Magac === '''Wahl''' [[doorashadu]] === Dhawaaqida === * {{CGX|/vaːl/|lang=de}} * {{audio|De-Wahl.ogg|audio (Germany)|lang=de}} pvwhraufrqd9mg3tc69rh6jqygckrfw doorashadu 0 4645 12531 2015-02-17T13:17:33Z 177.17.186.163 Bog cusub: {{-so-}} ===Magac=== '''doorashadu''' 12531 wikitext text/x-wiki {{-so-}} ===Magac=== '''doorashadu''' lvnia11r8ms0hky0labsp1zf4tdmoqu User talk:Vanished user 24kwjf10h32h 3 4646 20328 14255 2020-06-05T13:26:37Z Sotiale 781 Sotiale wareejiyay bogga [[User talk:Diego Grez-Cañete]] ilaa [[User talk:Vanished user 24kwjf10h32h]] oo aan ka tagin sii toosin: Automatically moved page while renaming the user "[[Special:CentralAuth/Diego Grez-Cañete|Diego Grez-Cañete]]" to "[[Special:CentralAuth/Vanished user 24kwjf10h32h|Vanished user 24kwjf10h32h]]" 14255 wikitext text/x-wiki __NOINDEX__ 4dk4zevx7zb4mh95uavtx21at6jgovp Template:-lv- 10 4648 12554 2015-02-20T11:36:15Z 200.130.64.1 Bog cusub: <includeonly>[[Category:Laatfiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laatfiyaan</big></big></big> (lv)</div>== <br><noinclude... 12554 wikitext text/x-wiki <includeonly>[[Category:Laatfiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Laatfiyaan</big></big></big> (lv)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> h2sikzuiucuj02paaf3aibzqjhqjlz1 Template:-li- 10 4649 12558 12557 2015-02-20T11:50:10Z 200.130.64.1 12558 wikitext text/x-wiki <includeonly>[[Category:Limburgaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Limburgaan</big></big></big> (li)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> 62hb8axfmingvdqdh5gxkwt66ny1ycl Template:-ln- 10 4650 12556 2015-02-20T11:41:26Z 200.130.64.1 Bog cusub: <includeonly>[[Category:Lingala ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Lingala</big></big></big> (ln)</div>== <br><noinclude> <!--... 12556 wikitext text/x-wiki <includeonly>[[Category:Lingala ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Lingala</big></big></big> (ln)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> to3l7zcsoj2b8zapkeuaftw609g18ap Template:-rw- 10 4651 12559 2015-02-20T12:01:22Z 200.130.64.1 Bog cusub: <includeonly>[[Category:Ruwanda ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ruwanda</big></big></big> (rw)</div>== <br><noinclude> <!--... 12559 wikitext text/x-wiki <includeonly>[[Category:Ruwanda ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Ruwanda</big></big></big> (rw)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> h7uqnrf3bsp8t7mvy7l5c8xdo6bu2fd Category:Laatfiyaan ereyada 14 4652 19910 18260 2017-07-03T13:38:42Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19910 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx User:George.Edward.C 2 4653 12562 2015-02-20T12:33:45Z Billinghurst 716 Billinghurst moved page [[User:George.Edward.C]] to [[User:Caliburn]]: Automatically moved page while renaming the user "[[Special:CentralAuth/George.Edward.C|George.Edward.C]]" to "[[Special:CentralAuth/Caliburn|Caliburn]]" 12562 wikitext text/x-wiki #REDIRECT [[User:Caliburn]] svf0sdxgjokzjnsfzgqy8jcld4lzxsh User talk:George.Edward.C 3 4654 12564 2015-02-20T12:33:45Z Billinghurst 716 Billinghurst moved page [[User talk:George.Edward.C]] to [[User talk:Caliburn]]: Automatically moved page while renaming the user "[[Special:CentralAuth/George.Edward.C|George.Edward.C]]" to "[[Special:CentralAuth/Caliburn|Caliburn]]" 12564 wikitext text/x-wiki #REDIRECT [[User talk:Caliburn]] 06bpjkp92a0x73dhgsquvqr4sk7bcb8 User:Vanished user 24kwjf10h32h 2 4655 20329 14253 2020-06-05T13:26:38Z Sotiale 781 Sotiale wareejiyay bogga [[User:Diego Grez-Cañete]] ilaa [[User:Vanished user 24kwjf10h32h]] oo aan ka tagin sii toosin: Automatically moved page while renaming the user "[[Special:CentralAuth/Diego Grez-Cañete|Diego Grez-Cañete]]" to "[[Special:CentralAuth/Vanished user 24kwjf10h32h|Vanished user 24kwjf10h32h]]" 14253 wikitext text/x-wiki __NOINDEX__ 4dk4zevx7zb4mh95uavtx21at6jgovp User:Küñall 2 4656 21001 14257 2022-02-21T04:24:18Z EmausBot 1865 Bot: Dib u Sixidda qaldantay waxaa loo wareejiyey Bog kale [[User:Vanished user 24kwjf10h32h]] 21001 wikitext text/x-wiki #REDIRECT [[User:Vanished user 24kwjf10h32h]] duynahi7jsu4e8l703tsu9lbkv5fldz User talk:Guy Macon 3 4657 12630 2015-03-08T19:54:02Z Guy Macon 1426 Test 12630 wikitext text/x-wiki Test bop1vj5i98maix36pjrpgep1w6hnxfe Module:rhymes 828 4658 12637 2015-03-15T17:42:14Z 191.33.128.17 Bog cusub: local export = {} function export.show_nav(frame) -- Gather parameters local args = frame:getParent().args local lang = args[1] or (mw.title.getCurrentTitle().nsText == "Template"... 12637 Scribunto text/plain local export = {} 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) or error("The language code \"" .. lang .. "\" is not valid.") 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]]", "» [[Rhymes:" .. lang:getCanonicalName() .. "|" .. lang:getCanonicalName() .. "]]"} 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, "» [[Rhymes:" .. lang:getCanonicalName() .. "/" .. part .. "-|-" .. part .. "-]]") end if last == "-" then table.insert(steps, "» [[Rhymes:" .. lang:getCanonicalName() .. "/" .. 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, "» [[Rhymes:" .. lang:getCanonicalName() .. "/" .. prefix .. last .. "-|-" .. prefix .. last .. "-]]") table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes/" .. prefix .. last .. "-|-]]") else table.insert(steps, "» [[Rhymes:" .. lang:getCanonicalName() .. "/" .. prefix .. last .. "|-" .. prefix .. last .. "]]") table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes" .. (prefix == "" and "" or "/" .. prefix .. "-") .. "|" .. last .. "]]") end elseif lang ~= "und" then table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes| ]]") end return table.concat(steps, " ") .. table.concat(categories) end return export nazcm2jsoo3uyzkjdgu5y6drf66dttf User talk:Sevela.p 3 4659 12644 2015-03-18T01:58:54Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Sevela.p]]) 12644 wikitext text/x-wiki __NOINDEX__[[File:Redirect arrow without text.svg|45px|link=]][[w:cs:User talk:Sevela.p|Sevela.p (cs.wikipedia.org)]] 7210kk8bqhstp21n3p3mihytpu2dcan User talk:Carlos~sowiktionary 3 4660 12870 12856 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12870 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Carlos. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Carlos~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> ntthbu1nbzaugpsem2emrwavhoylzpz User talk:Ga~sowiktionary 3 4661 12873 12858 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12873 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Ga. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Ga~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> 0y7r5w9gtf0ccp691g9o8uv461e74y3 User talk:Hoo MergeAccount Test~sowiktionary 3 4662 12871 12855 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12871 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Hoo MergeAccount Test. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Hoo MergeAccount Test~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> oet4eo60r14pshw3b8wvy7bkl9l56z8 User talk:Kadiye~sowiktionary 3 4663 12872 12861 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12872 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Kadiye. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Kadiye~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> btwwdbmhd0wmfaf9mtu772yud54i9m5 User talk:Lilith~sowiktionary 3 4664 12875 12865 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12875 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Lilith. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Lilith~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> eqg822ovitg4hry8jb9ag1zxacnpau2 User talk:Linus~sowiktionary 3 4665 12874 12868 2015-04-17T04:42:02Z MediaWiki message delivery 1259 Renamed 12874 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Linus. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Linus~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> 0dm4z9cplqu2fxpwiallnsahetl64zs User talk:Llull~sowiktionary 3 4666 12876 12860 2015-04-17T04:42:03Z MediaWiki message delivery 1259 Renamed 12876 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Llull. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Llull~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> bps81g4df0rs2x1vbnij8ewjg2a2g6i User talk:MediaWiki default 3 4667 12657 2015-03-20T08:16:36Z MediaWiki message delivery 1259 Your account will be renamed 12657 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called MediaWiki default. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name MediaWiki default~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> npvqyg5vpo2u1dw3zo0hofd1n2ub8jd User talk:MediaWiki spam cleanup 3 4668 12658 2015-03-20T08:16:36Z MediaWiki message delivery 1259 Your account will be renamed 12658 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called MediaWiki spam cleanup. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name MediaWiki spam cleanup~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> 6i8n79u2uypdobb1s4lqlkp4q4xn0v8 User talk:Pilgrim~sowiktionary 3 4669 12877 12862 2015-04-17T04:42:08Z MediaWiki message delivery 1259 Renamed 12877 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Pilgrim. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Pilgrim~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> imxzima730vrswwmz992bfnt6byyc3d User talk:RCBot~sowiktionary 3 4670 12878 12859 2015-04-17T04:42:08Z MediaWiki message delivery 1259 Renamed 12878 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called RCBot. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name RCBot~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> e60h48h8tdbcw1i26d7qik5je4e7o6n User talk:Tehut~sowiktionary 3 4671 12879 12869 2015-04-17T04:42:14Z MediaWiki message delivery 1259 Renamed 12879 wikitext text/x-wiki == Your account will be renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See [[m:Special:MyLanguage/Single User Login finalisation announcement|the announcement]] for more information. Unfortunately, your account clashes with another account also called Tehut. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Tehut~sowiktionary that only you will have. If you like it, you don't have to do anything. If you do not like it, you can [[Special:GlobalRenameRequest|pick out a different name]]. If you think you might own all of the accounts with this name and this message is in error, please visit [[Special:MergeAccount]] to check and attach all of your accounts to prevent them from being renamed. Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in. Sorry for the inconvenience. Yours,<br />[[m:User:Keegan (WMF)|Keegan Peterzell]]<br />Community Liaison, Wikimedia Foundation </div> 08:16, 20 Maarso 2015 (UTC) <!-- SUL finalisation notification --> == Renamed == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of [[m:Special:MyLanguage/Single User Login finalisation announcement|single-user login finalisation]]. If you own this account you can [[{{#special:userlogin}}|log in using your previous username and password]] for more information. If you do not like this account's new name, you can choose your own using this form after logging in: [[{{#special:GlobalRenameRequest}}]]. -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 04:42, 17 Abriil 2015 (UTC) <!-- SUL post-rename notification --> ib2jps2mugtbf9nqss0kvyt0hvdi3rs Category:Limburgaan ereyada 14 4672 19913 15405 2017-07-03T13:38:45Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19913 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Lingala ereyada 14 4673 19914 16877 2017-07-03T13:38:46Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19914 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Ruwanda ereyada 14 4674 19932 17131 2017-07-03T13:39:05Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19932 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Pages using duplicate arguments in template calls 14 4675 19926 18262 2017-07-03T13:38:58Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19926 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Bog ka samaysan file aan jirin. 14 4676 19874 17511 2017-07-03T13:38:05Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19874 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Qeybaha qarsoon 14 4677 19928 18232 2017-07-03T13:39:01Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19928 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 User:Azariv 2 4678 12854 2015-04-16T19:22:15Z Jalexander-WMF 416 Jalexander-WMF moved page [[User:Azariv]] to [[User:Azariv-WMF]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Azariv|Azariv]]" to "[[Special:CentralAuth/Azariv-WMF|Azariv-WMF]]" 12854 wikitext text/x-wiki #REDIRECT [[User:Azariv-WMF]] 4gatdwrbg96vwt3uaak9g6vfjqbj2wp Module:wikimedia languages/templates 828 4679 13325 2015-05-31T23:26:30Z Dalmo Pereira 1417 Bog cusub: local export = {} function export.exists(frame, fallback) local args = frame.args local lang = args[1] or error("Wikimedia language code has not been specified. Please pass paramet... 13325 Scribunto text/plain local export = {} function export.exists(frame, fallback) local args = frame.args local lang = args[1] or error("Wikimedia language code has not been specified. Please pass parameter 1 to the module invocation.") lang = require("Module:wikimedia languages")[(fallback and "getByCodeWithFallback" or "getByCode")](lang) if lang then return "1" else return "" end end function export.existsWithFallback(frame) return export.exists(frame, true) end function export.getByCode(frame, fallback) local args = frame.args local langcode = args[1] or error("Wikimedia language code has not been specified. Please pass parameter 1 to the module invocation.") local itemname = args[2] or error("Type of information to look up has not been specified. Please pass parameter 2 to the module invocation.") local lang = require("Module:wikimedia languages")[(fallback and "getByCodeWithFallback" or "getByCode")](langcode) if not lang then error("The wikimedia language code '" .. langcode .. "' is not valid.") end -- The item that the caller wanted to look up if itemname == "getAllNames" then local index = args[3]; if index == "" then index = nil end index = tonumber(index or error("Please specify the numeric index of the desired name.")) return lang:getAllNames()[index] or "" elseif itemname == "getWiktionaryLanguage" then return lang:getWiktionaryLanguage():getCode() elseif lang[itemname] then local ret = lang[itemname](lang) if type(ret) == "string" then return ret else error("The function \"" .. itemname .. "\" did not return a string value.") end else error("Requested invalid item name \"" .. itemname .. "\".") end end function export.getByCodeWithFallback(frame) return export.getByCode(frame, true) end return export bzhetk5bli10b7h9qvgnk0rvatt7blo Module:translations/data 828 4680 13326 2015-05-31T23:29:10Z Dalmo Pereira 1417 Bog cusub: local has_auto_translit = { ["ab"] = true, ["axm"] = true, ["ady"] = true, ["am"] = true, ["ba"] = true, ["bg"] = true, ["be"] =... 13326 Scribunto text/plain local has_auto_translit = { ["ab"] = true, ["axm"] = true, ["ady"] = true, ["am"] = true, ["ba"] = true, ["bg"] = true, ["be"] = true, ["byn"] = true, ["ce"] = true, ["chr"] = true, ["cv"] = true, ["dv"] = true, ["hy"] = true, ["kbd"] = true, ["el"] = true, ["gez"] = true, ["har"] = true, ["iu"] = true, ["ka"] = true, ["kk"] = true, ["kn"] = true, ["ky"] = true, ["lzz"] = true, ["mk"] = true, ["ml"] = true, ["mn"] = true, ["mym"] = true, ["os"] = true, ["oge"] = true, ["ru"] = true, ["sa"] = true, ["si"] = true, ["sva"] = true, ["ta"] = true, ["te"] = true, ["ti"] = true, ["tig"] = true, ["tg"] = true, ["tt"] = true, ["ug"] = true, ["uk"] = true, ["xcl"] = true, ["xmf"] = true, ["yi"] = true} local needs_translit = { ["alr"] = true, ["ab"] = true, ["abq"] = true, ["ady"] = true, ["agh"] = true, ["akv"] = true, ["am"] = true, ["ani"] = true, ["aqc"] = true, ["ar"] = true, ["as"] = true, ["av"] = true, ["ba"] = true, ["bbl"] = true, ["bdk"] = true, ["be"] = true, ["bg"] = true, ["bn"] = true, ["bo"] = true, ["bph"] = true, ["bxr"] = true, ["ce"] = true, ["cji"] = true, ["ckt"] = true, ["cv"] = true, ["dar"] = true, ["dlg"] = true, ["dng"] = true, ["dv"] = true, ["el"] = true, ["enf"] = true, ["ess"] = true, ["eve"] = true, ["evn"] = true, ["fa"] = true, ["gdo"] = true, ["got"] = true, ["gu"] = true, ["he"] = true, ["hi"] = true, ["hy"] = true, ["inh"] = true, ["itl"] = true, ["ja"] = true, ["ka"] = true, ["kap"] = true, ["kbd"] = true, ["kca"] = true, ["kjh"] = true, ["kk"] = true, ["km"] = true, ["kn"] = true, ["ko"] = true, ["krc"] = true, ["kv"] = true, ["kva"] = true, ["ky"] = true, ["lez"] = true, ["lo"] = true, ["mdf"] = true, ["mk"] = true, ["ml"] = true, ["mn"] = true, ["mr"] = true, ["my"] = true, ["myv"] = true, ["ne"] = true, ["or"] = true, ["os"] = true, ["ps"] = true, ["ru"] = true, ["rue"] = true, ["sah"] = true, ["sa"] = true, ["si"] = true, ["ta"] = true, ["te"] = true, ["tg"] = true, ["th"] = true, ["ti"] = true, ["tt"] = true, ["tt"] = true, ["tyv"] = true, ["udm"] = true, ["ug"] = true, ["uk"] = true, ["ur"] = true, ["xal"] = true, ["yi"] = true, ["yrk"] = true} return {has_auto_translit, needs_translit} kbkxfrd55r6tekghb9smdl1swybz0eu Module:translations 828 4681 13327 2015-05-31T23:29:56Z Dalmo Pereira 1417 Bog cusub: local m_links = require("Module:links") local export = {} local interwiki_langs = { ["nds-de"] = "nds", ["nds-nl"] = "nds", ["pdt"] = "nds" } -- The main entry point.... 13327 Scribunto text/plain local m_links = require("Module:links") local export = {} local interwiki_langs = { ["nds-de"] = "nds", ["nds-nl"] = "nds", ["pdt"] = "nds" } -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local args = frame:getParent().args local interwiki = frame.args["interwiki"] NAMESPACE = mw.title.getCurrentTitle().nsText local categories = {} local lang = args[1] or (NAMESPACE == "Templat" and "und") or error("Language code has not been specified. Please pass parameter 1 to the template.") local sc = args["sc"] or ""; if sc == "" then sc = nil end lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) local term = args[2] or (NAMESPACE == "Templat" and "term" or ""); if term == "" then term = nil end local alt = args["alt"]; if alt == "" then alt = nil end local tr = args["tr"]; if tr == "" then tr = nil end -- Gender and number -- Iterate over all numbered parameters starting from 3, until one is empty. local genders = {} local i = 3 local g = args[i] or "" while g ~= "" do table.insert(genders, g) i = i + 1 g = args[i] or "" end -- Don't show the interwiki link if there is nothing to link to. if term then local wmlangs = {} if interwiki_langs[lang:getCode()] then wmlangs = {require("Module:wikimedia languages").getByCode(interwiki_langs[lang:getCode()])} else wmlangs = lang:getWikimediaLanguages() end -- Don't show the interwiki link if the language is not recognised by Wikimedia -- or if the term contains links (for SOP translations) if term:find("[[", nil, true) or #wmlangs == 0 then interwiki = false end if interwiki then interwiki = "<span class=\"" .. interwiki .. "\">&nbsp;[[:" .. wmlangs[1]:getCode() .. ":" .. lang:makeEntryName(term) .. "|(" .. wmlangs[1]:getCode() .. ")]]</span>" end end return m_links.full_link(term, alt, lang, sc, nil, nil, {interwiki = interwiki, tr = tr, genders = genders}, true) end return export iigibylo45zb8f6le8qdyvjxmcffc20 Module:scripts/data 828 4682 13328 2015-05-31T23:32:15Z Dalmo Pereira 1417 Bog cusub: -- When adding new scripts to this file, please don't forget to add -- style definitons for the script in [[MediaWiki:Common.css]]. local m = {} m["Afak"] = { names = { "Afaka" }, }... 13328 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 m = {} m["Afak"] = { names = { "Afaka" }, } m["Aghb"] = { names = { "Caucas Albania" }, characters = "𐔰-𐕣𐕯", } m["Arab"] = { names = { "Arab", "Jawi" }, characters = "؀-ۿݐ-ݿﭐ-﷽ﹰ-ﻼ", } m["fa-Arab"] = { names = { "Arab", "Perso-Arab" }, characters = m["Arab"].characters, } m["kk-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["ks-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["ku-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["mzn-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["ota-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["pa-Arab"] = { names = { "Arab", "Shahmukhi" }, characters = m["Arab"].characters, } m["ps-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["sd-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["tt-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["ug-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["ur-Arab"] = { names = { "Arab" }, characters = m["Arab"].characters, } m["Armi"] = { names = { "Imperial Arama" }, characters = "𐡀-𐡟", } m["Armn"] = { names = { "Armenia" }, characters = "Ա-֏ﬓ-ﬗ", } m["Avst"] = { names = { "Avestan" }, characters = "𐬀-𐬿", } m["Bali"] = { names = { "Bali" }, characters = "ᬀ-᭼", } m["Bamu"] = { names = { "Bamum" }, characters = "ꚠ-꛷𖠀-𖨸", } m["Bass"] = { names = { "Bassa", "Bassa Vah", "Vah" }, characters = "𖫐-𖫵", } m["Batk"] = { names = { "Batak" }, characters = "ᯀ-᯿", } m["Beng"] = { names = { "Bengali" }, characters = "ঁ-৺", } m["Bopo"] = { names = { "Zhuyin", "Zhuyin Fuhao", "Bopomofo" }, characters = "ㄅ-ㄭㆠ-ㆺ", } m["Brah"] = { names = { "Brahmi" }, characters = "𑀀-𑁯", } m["Brai"] = { names = { "Braille" }, characters = "⠀-⣿", } m["Bugi"] = { names = { "Bugis" }, characters = "ᨀ-᨟", } m["Buhd"] = { names = { "Buhid" }, characters = "ᝀ-ᝓ", } m["Cakm"] = { names = { "Chakma" }, characters = "𑄀-𑅃", } m["Cans"] = { names = { "suku kata Kanada" }, characters = "᐀-ᙿ", } m["Cari"] = { names = { "Caria" }, characters = "𐊠-𐋐", } m["Cham"] = { names = { "Cham" }, characters = "ꨀ-꩟" } m["Cher"] = { names = { "Cherokee" }, characters = "Ꭰ-Ᏼ", } m["Copt"] = { names = { "Coptik" }, characters = "Ⲁ-⳿", -- This is the separate "Coptic" block, not the unified "Greek and Coptic" } m["Cprt"] = { names = { "Cypriot" }, characters = "𐠀-𐠿", } m["Cyrl"] = { names = { "Cyril" }, characters = "Ѐ-џҊ-ԧꚀ-ꚗ", } m["Cyrs"] = { names = { "Cyril Lama" }, characters = "Ѐ-ԧꙀ-ꚗ", } m["Deva"] = { names = { "Devanagari" }, characters = "ऀ-ॿ꣠-ꣻ", } m["Dsrt"] = { names = { "Deseret" }, characters = "𐐀-𐑏", } m["Dupl"] = { names = { "Duployan" }, characters = "𛰀-𛲟", } m["Egyd"] = { names = { "Demoti" }, } m["Egyp"] = { names = { "hieroglif Mesir" }, characters = "𓀀-𓐮", } m["Elba"] = { names = { "Elbasan" }, characters = "𐔀-𐔧", } m["Ethi"] = { names = { "Ethiopik", "Ge'ez" }, characters = "ሀ-᎙ⶀ-ⷞꬁ-ꬮ", } m["Geok"] = { names = { "Nuskhuri", "Khutsuri", "Asomtavruli" }, characters = "Ⴀ-Ⴭⴀ-ⴭ", -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri } m["Geor"] = { names = { "Georgia", "Mkhedruli" }, characters = "Ⴀ-ჼ", -- technically only the range [ა-ჿ] is Mkhedruli } m["Glag"] = { names = { "Glagolitik" }, characters = "Ⰰ-ⱞ", } m["Goth"] = { names = { "Gothik" }, characters = "𐌰-𐍊", } m["Gran"] = { names = { "Grantha" }, characters = "𑌁-𑍴", } m["Grek"] = { names = { "Greek" }, characters = "Ͱ-Ͽ", } m["polytonic"] = { names = { "Greek" }, characters = "ἀ-῾" .. m["Grek"].characters, } m["Gujr"] = { names = { "Gujarati" }, characters = "ઁ-૱", } m["Guru"] = { names = { "Gurmukhi" }, characters = "ਁ-ੵ", } m["Hang"] = { names = { "Hangul" }, characters = "가-힣", } m["Hani"] = { names = { "Han", "Hanzi", "Chu Nom" }, characters = "一-鿌㐀-䶵 -〿𠀀-𫠝!-○", } m["Hans"] = { names = { "Han Ringkas" }, characters = m["Hani"].characters, } m["Hant"] = { names = { "Han Tradisional" }, characters = m["Hani"].characters, } m["Hira"] = { names = { "Hiragana" }, characters = "ぁ-ゟ", } m["Kana"] = { names = { "Katakana" }, characters = "゠-ヿㇰ-ㇿ", } -- These should be defined after the scripts they are composed of m["Jpan"] = { names = { "Jepun" }, characters = m["Hira"].characters .. m["Kana"].characters .. m["Hani"].characters, } m["Kore"] = { names = { "Korea" }, characters = m["Hang"].characters .. m["Hani"].characters .. "!-○", } m["CGK"] = { names = { "Korea" }, } m["Hano"] = { names = { "Hanunoo" }, characters = "ᜠ-᜴", } m["Hebr"] = { names = { "Hebrew" }, characters = "א-ת", } m["Hmng"] = { names = { "Hmong", "Pahawh Hmong" }, characters = "𖬀-𖮏", } m["Ibrn"] = { names = { "Iberia" }, } m["Inds"] = { names = { "Indus", "Harappan", "Lembah Indus" }, } m["IPAchar"] = { names = { "Abjad Fonetik Antarabangsa" }, } m["Ital"] = { names = { "Itali Lama" }, characters = "𐌀-𐌣", } m["Java"] = { names = { "Jawa" }, characters = "ꦀ-꧟", } m["Jurc"] = { names = { "Jurchen" }, } m["Kali"] = { names = { "Kayah Li" }, characters = "꤀-꤯", } m["Khar"] = { names = { "Kharoshthi" }, characters = "𐨀-𐩘", } m["Khmr"] = { names = { "Khmer" }, characters = "ក-៹", } m["Knda"] = { names = { "Kannada" }, characters = "ಂ-ೲ", } m["Kthi"] = { names = { "Kaithi" }, characters = "𑂀-𑃁", } m["Lana"] = { names = { "Lanna" }, } m["Laoo"] = { names = { "Lao" }, characters = "ກ-ໝ", } m["Latn"] = { names = { "Latin", "Roman", "Rumi", "Romaji", "Rōmaji" }, characters = "0-9A-Za-z¡-ɏḀ-ỿ", } m["Latf"] = { names = { "Fraktur", "Blackletter" }, characters = m["Latn"].characters, } m["Latinx"] = { names = { "Latin" }, characters = m["Latn"].characters .. "Ⱡ-Ɀ꜠-ꟿꬰ-ꭥ", } m["nv-Latn"] = { names = { "Latin" }, characters = m["Latn"].characters, } m["pjt-Latn"] = { names = { "Latin" }, characters = m["Latn"].characters, } m["Lepc"] = { names = { "Lepcha" }, characters = "ᰀ-ᱏ", } m["Limb"] = { names = { "Limbu" }, characters = "ᤀ-᥏", } m["Lina"] = { names = { "Linear A" }, characters = "𐘀-𐝧", } m["Linb"] = { names = { "Linear B" }, characters = "𐀀-𐃺", } m["Lisu"] = { names = { "Lisu", "Fraser" }, characters = "ꓐ-꓿", } m["Lyci"] = { names = { "Lycia" }, characters = "𐊀-𐊜", } m["Lydi"] = { names = { "Lydia" }, characters = "𐤠-𐤿", } m["Mand"] = { names = { "Manda" }, characters = "ࡀ-࡞", } m["Mani"] = { names = { "Manichae" }, characters = "𐫀-𐫶", } m["Maya"] = { names = { "Maya", "hieroglif Maya", "Mayan", "hieroglif Mayan" }, } m["Mend"] = { names = { "Mende", "Mende Kikakui" }, characters = "𞠀-𞣖", } m["Merc"] = { names = { "kursif Meroitik" }, characters = "𐦠-𐦿", } m["Mero"] = { names = { "hieroglif Meroitik" }, characters = "𐦀-𐦟", } m["Mlym"] = { names = { "Malayalam" }, characters = "ം-ൿ", } m["Mong"] = { names = { "Mongolia" }, characters = "᠀-ᢪ", } m["Mtei"] = { names = { "Meitei Mayek" }, characters = "ꯀ-꯿ꫠ-꫿", } m["musical"] = { names = { "notasi muzik" }, characters = "𝄀-𝇝", } m["Mymr"] = { names = { "Burma" }, characters = "က-ၙ", } m["Nbat"] = { names = { "Nabatae", "Nabatea" }, characters = "𐢀-𐢯", } m["Nkoo"] = { names = { "N'Ko" }, characters = "߀-ߺ", } m["None"] = { names = { "Tiada tulisan dinyatakan" }, -- This should not have any characters listed character_category = false, -- none } m["Ogam"] = { names = { "Ogham" }, characters = " -᚜", } m["Olck"] = { names = { "Ol Chiki" }, characters = "᱐-᱿", } m["Orkh"] = { names = { "rune Orkhon" }, characters = "𐰀-𐱈", } m["Orya"] = { names = { "Oriya" }, characters = "ଁ-୷", } m["Osma"] = { names = { "Osmanya" }, characters = "𐒀-𐒩", } m["Palm"] = { names = { "Palmyrene" }, characters = "-", } m["Phag"] = { names = { "Phags-pa" }, characters = "ꡀ-꡷", } m["Phli"] = { names = { "Intulisansi Pahlavi" }, characters = "𐭠-𐭿", } m["Phlp"] = { names = { "Psalter Pahlavi" }, characters = "𐮀-𐮯", } m["Phlv"] = { names = { "Buku Pahlavi" }, -- Not in Unicode } m["Phnx"] = { names = { "Phoenician" }, characters = "𐤀-𐤟", } m["Plrd"] = { names = { "Pollard" }, characters = "𖼀-𖾟", } m["Prti"] = { names = { "Parthia" }, characters = "𐭀-𐭟", } m["Rjng"] = { names = { "Rejang" }, characters = "ꤰ-꥟", } m["Ruminumerals"] = { names = { "angka Rumi" }, characters = "𐹠-𐹾", character_category = "angka Rumi", } m["Runr"] = { names = { "Runik" }, characters = "ᚠ-ᛰ", } m["Samr"] = { names = { "Samarita" }, characters = "ࠀ-࠾", } m["Sarb"] = { names = { "Arab Selatan Lama" }, characters = "𐩠-𐩿", } m["Saur"] = { names = { "Saurashtra" }, characters = "ꢀ-꣙", } m["Sgnw"] = { names = { "SignWriting" }, } m["Shaw"] = { names = { "Shavia" }, characters = "𐑐-𐑿", } m["Shrd"] = { names = { "Sharada" }, characters = "𑆀-𑇙", } m["Sinh"] = { names = { "Sinhala" }, characters = "ං-෴", } m["Sora"] = { names = { "Sorang Sompeng", "Sora Sompeng" }, characters = "𑃐-𑃹" } m["Sund"] = { names = { "Sunda" }, characters = "ᮀ-ᮿ", } m["Sylo"] = { names = { "Syloti Nagri", "Sylheti Nagari" }, } m["Syrc"] = { names = { "Syria" }, characters = "܀-ݏ", } m["Tagb"] = { names = { "Tagbanwa" }, characters = "ᝠ-ᝳ", } m["Takr"] = { names = { "Takri" }, characters = "𑚀-𑛉", } m["Tale"] = { names = { "Tai Le" }, characters = "ᥐ-ᥴ", } m["Talu"] = { names = { "New Tai Lue" }, characters = "ᦀ-᧟", } m["Taml"] = { names = { "Tamil" }, characters = "ஂ-௺", } m["Tang"] = { names = { "Tangut" }, } m["Tavt"] = { names = { "Tai Viet" }, characters = "ꪀ-꫟", } m["Telu"] = { names = { "Telugu" }, characters = "ఁ-౿", } m["Teng"] = { names = { "Tengwar" }, } m["Tfng"] = { names = { "Tifinagh" }, characters = "ⴰ-⵿", } m["Tglg"] = { names = { "Tagalog" }, characters = "ᜀ-᜔", } m["Thaa"] = { names = { "Thaana" }, characters = "ހ-ޱ", } m["Thai"] = { names = { "Thai" }, characters = "ก-ฺ", } m["Tibt"] = { names = { "Tibetan" }, characters = "ༀ-࿚", } m["xzh-Tibt"] = { names = { "Zhang-Zhung" }, } m["Ugar"] = { names = { "Ugarit" }, characters = "𐎀-𐎟", } m["Vaii"] = { names = { "Vai" }, characters = "ꔀ-ꘫ", } m["Xpeo"] = { names = { "Parsi Lama" }, characters = "𐎠-𐏕", } m["Xsux"] = { names = { "Kuneiform", "Kuneiform Sumero-Akkadia" }, characters = "𒀀-𒍮𒐀-𒑳", } m["Yiii"] = { names = { "Yi" }, characters = "ꀀ-꓆", } m["Zmth"] = { names = { "notasi matematik" }, characters = "ℵ∀-⋿⟀-⟯⦀-⧿⨀-⫿𝐀-𝟿", character_category = "Simbol notasi matematik" -- ? } m["Zsym"] = { names = { "simbol" }, characters = "─-➿←⇿⌀-⏳🌀-🛅", character_category = false, -- none } m["Zyyy"] = { names = { "tidak dapat ditentukan" }, -- This should not have any characters listed, probably character_category = false, -- none } m["Zzzz"] = { names = { "tidak dapat dikodkan" }, -- This should not have any characters listed character_category = false, -- none } return m pgz7q3bbm5fa7l3keiphi2mm383cqvm Module:languages/letters rares 828 4683 13329 2015-05-31T23:34:39Z Dalmo Pereira 1417 Bog cusub: local l = {} -- Langues (attention ‎‎ï̂ est décomposé en ‎‎ï + ^) l['en'] = { rare = '[æÆœŒàÀ‎á‎Áâ‎Â‎‎ä‎Ä‎‎ã‎Ã‎‎ā‎ĀåÅçÇé... 13329 Scribunto text/plain local l = {} -- Langues (attention ‎‎ï̂ est décomposé en ‎‎ï + ^) l['en'] = { rare = '[æÆœŒàÀ‎á‎Áâ‎Â‎‎ä‎Ä‎‎ã‎Ã‎‎ā‎ĀåÅçÇéÉèÈ‎‎êÊë‎‎Ë‎‎ē‎Ē‎‎ìÌ‎íÍ‎‎î‎Îï‎‎Ï‎‎īĪ‎‎ñ‎‎Ñ‎‎‎ó‎Óö‎‎Ö‎‎‎õ‎‎ÕùÙ‎‎úÚû‎‎Û‎‎ü‎‎Ü‎ũ‎Ũ‎‎ū‎‎Ū‎‎]+' } l['fr'] = { rare = '[æÆœŒàÀ‎á‎Á‎‎ä‎Ä‎‎ã‎Ã‎‎ā‎ĀåÅçÇ‎‎ê‎‎Êë‎‎Ë‎‎ē‎Ē‎‎ìÌ‎íÍ‎‎î‎Îï‎‎Ï‎‎īĪ‎‎ñ‎‎Ñ‎‎‎ó‎Óö‎‎Ö‎‎‎õ‎‎ÕùÙ‎‎úÚû‎‎Û‎‎ü‎‎Ü‎ũ‎Ũ‎‎ū‎‎Ū‎‎]+' } return l 6lrluu34zvc56hbh98ugntd0ms1czni Module:languages/datax 828 4684 13330 2015-05-31T23:36:16Z Dalmo Pereira 1417 Bog cusub: 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... 13330 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 m = {} m["aav-pro"] = { canonicalName ="Proto-Austro-Asiatik", type = "reconstructed", scripts = {"Latinx"}, family = "aav", } m["afa-pro"] = { canonicalName ="Proto-Afro-Asiatik", type = "reconstructed", scripts = {"Latinx"}, family = "afa", } m["alg-pro"] = { canonicalName ="Proto-Algonquia", type = "reconstructed", scripts = {"Latinx"}, family = "alg", sort_key = { from = {"·"}, to = {""}} , } m["aql-pro"] = { canonicalName ="Proto-Algik", type = "reconstructed", scripts = {"Latinx"}, family = "aql", sort_key = { from = {"·"}, to = {""}} , } m["art-blk"] = { canonicalName ="Bolak", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-bsp"] = { canonicalName ="Ucapan Black", type = "appendix-constructed", scripts = {"Latn", "Teng"}, family = "art", } m["art-com"] = { canonicalName ="komunikasi Sprache", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-elo"] = { canonicalName ="Eloi", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-gld"] = { canonicalName ="Goa'uld", type = "appendix-constructed", scripts = {"Latn", "Egyp", "Mero"}, family = "art", } m["art-lap"] = { canonicalName ="Lapine", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-ma"] = { canonicalName ="Mandaloria", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-mu"] = { canonicalName ="Mundolinco", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-nav"] = { canonicalName ="Na'vi", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-nox"] = { canonicalName ="Noxilo", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-top"] = { canonicalName ="Toki Pona", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["art-una"] = { canonicalName ="Unas", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["ath-pro"] = { canonicalName ="Proto-Athabaska", type = "reconstructed", scripts = {"Latinx"}, family = "ath", } m["aus-bu"] = { canonicalName ="Bunurong", type = "regular", scripts = {"None"}, family = "aus-pam", } m["aus-cww-pro"] = { canonicalName ="Proto-Pusat New South Wales", type = "reconstructed", scripts = {"Latinx"}, family = "aus-cww", } m["aus-pam-pro"] = { canonicalName ="Proto-Pama-Nyunga", type = "reconstructed", scripts = {"Latinx"}, family = "aus-pam", } m["awd-pro"] = { canonicalName = "Proto-Arawakan", otherNames = {"Proto-Arawak", "Proto-Maipurean", "Proto-Maipuran"}, type = "reconstructed", scripts = {"Latn"}, family = "awd", } m["awd-taa-pro"] = { canonicalName = "Proto-Ta-Arawakan", otherNames = {"Proto-Ta-Arawak", "Proto-Caribbean Arawak Utara"}, type = "reconstructed", scripts = {"Latn"}, family = "awd-taa", } m["azc-cup-pro"] = { canonicalName ="Proto-Cupa", type = "reconstructed", scripts = {"Latinx"}, family = "azc-cup", } m["azc-nah-pro"] = { canonicalName ="Proto-Nahua", type = "reconstructed", scripts = {"Latinx"}, family = "azc-nah", } m["azc-num-pro"] = { canonicalName ="Proto-Numik", type = "reconstructed", scripts = {"Latinx"}, family = "azc-num", } m["azc-tak-pro"] = { canonicalName ="Proto-Takik", type = "reconstructed", scripts = {"Latinx"}, family = "azc-tak", } m["azc-pro"] = { canonicalName ="Proto-Uto-Azteca", type = "reconstructed", scripts = {"Latinx"}, family = "azk", } m["bat-pro"] = { canonicalName ="Proto-Baltik", type = "reconstructed", scripts = {"Latinx"}, family = "bat", ancestors = {"ine-bsl-pro"}, } m["ber-pro"] = { canonicalName ="Proto-Berber", type = "reconstructed", scripts = {"None"}, family = "ber", } m["bnt-phu"] = { canonicalName ="Phuthi", type = "regular", scripts = {"None"}, family = "bnt", } m["bnt-pro"] = { canonicalName ="Proto-Bantu", type = "reconstructed", scripts = {"Latinx"}, family = "bnt", } m["cau-cir-pro"] = { canonicalName ="Proto-Circassia", type = "reconstructed", scripts = {"Latinx"}, family = "cau-cir", } m["cau-nec-pro"] = { canonicalName ="Proto-Caucasia Timur Laut", type = "reconstructed", scripts = {"Latinx"}, family = "cau-nek", } m["cau-nwc-pro"] = { canonicalName ="Proto-Caucasia Barat Laut", type = "reconstructed", scripts = {"Latinx"}, family = "cau-nwk", } m["cbk-zam"] = { canonicalName ="Zamboanga Chavacano", type = "regular", scripts = {"None"}, family = "crp", } m["ccn-pro"] = { canonicalName ="Proto-Caucasia Utara", type = "reconstructed", scripts = {"Latinx"}, family = "cc", } m["ccs-pro"] = { canonicalName ="Proto-Kartvelia", type = "reconstructed", scripts = {"Latinx"}, family = "ccs", } m["cel-bry-pro"] = { canonicalName ="Proto-Brythonik", "Proto-Brittonik", type = "reconstructed", scripts = {"Latinx"}, family = "cel-bry", ancestors = {"cel-pro"}, } m["cel-gau"] = { canonicalName ="Gaul", type = "regular", scripts = {"Latn", "Grek"}, family = "cel", ancestors = {"cel-pro"}, } m["cel-pro"] = { canonicalName ="Proto-Celtik", type = "reconstructed", scripts = {"Latinx"}, family = "cel", ancestors = {"ine-pro"}, } m["cmc-pro"] = { canonicalName ="Proto-Chamik", type = "reconstructed", scripts = {"Latinx"}, family = "cmk", } m["cpe-mar"] = { canonicalName ="Semangat Maroo", otherNames = {"Rasukan Semangat Maroon Jamaica"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["cpe-spp"] = { canonicalName ="Perladangan Samoa Pidgi", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"e"}, } m["crp-gep"] = { canonicalName ="Greenlandik Eskimo Pidgi", type = "regular", scripts = {"Latn"}, family = "crp", } m["crp-rs"] = { canonicalName ="Russenorsk", type = "regular", scripts = {"Cyrl", "Latn"}, family = "crp", ancestors = {"no", "ru"}, } m["crp-tpr"] = { canonicalName ="Taimyr Pidgin Russia", type = "regular", scripts = {"Cyrl"}, family = "crp", } m["dra-pro"] = { canonicalName ="Proto-Dravidia", type = "reconstructed", scripts = {"Latinx"}, family = "dra", } m["dru-pro"] = { canonicalName ="Proto-Rukai", type = "reconstructed", scripts = {"Latinx"}, family = "map", } m["esx-esk-pro"] = { canonicalName ="Proto-Eskimo", type = "reconstructed", scripts = {"Latinx"}, family = "esx-esk", } m["esx-inu-pro"] = { canonicalName ="Proto-Inuit", type = "reconstructed", scripts = {"Latinx"}, family = "esx-inu", } m["esx-pro"] = { canonicalName ="Proto-Eskimo-Aleut", type = "reconstructed", scripts = {"Latinx"}, family = "esx", } m["euq-pro"] = { canonicalName ="Proto-Basque", type = "reconstructed", scripts = {"Latinx"}, family = "euq", } m["fiu-fin-pro"] = { canonicalName ="Proto-Finnik", type = "reconstructed", scripts = {"Latn"}, family = "fiu-fin", ancestors = {"fiu-fpr-pro"}, sort_key = { from = {"ä", "ö", "ü"}, to = {"a", "o", "u"}} , } m["fiu-ugr-pro"] = { canonicalName ="Proto-Ugrik", type = "reconstructed", scripts = {"Latinx"}, family = "fiu-ugr", ancestors = {"fiu-pro"}, } m["fra-aca"] = { canonicalName ="Perancis Arcadia", type = "regular", scripts = {"Latn"}, family = "roa", } m["gem-pro"] = { canonicalName ="Proto-Jermanik", otherNames = {"Jerman Umum"}, type = "reconstructed", scripts = {"Latinx"}, family = "gem", ancestors = {"ine-pro"}, sort_key = { from = {"ā", "[ēê]", "ī", "[ōô]", "ū", "ą" , "į" , "ǫ" , "ų" , CIRC, MACRON}, to = {"a" , "e" , "i", "o" , "u", "a", "i", "o", "u"}} , } m["gme-cgo"] = { canonicalName ="Gothik Crimea", type = "regular", scripts = {"Latn"}, family = "gme", ancestors = {"gem-pro"}, } m["gmq-gut"] = { canonicalName ="Gutnish", type = "regular", scripts = {"Latn"}, family = "gmq", } m["gmq-mno"] = { canonicalName ="Norwegia Tengah", type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"no"}, } m["gmq-oda"] = { canonicalName ="Denmark Lama", type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"no"}, } m["gmq-osw"] = { canonicalName ="Sweden Lama", type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"no"}, } m["gmq-pro"] = { canonicalName ="Proto-Norse", type = "regular", scripts = {"Runr"}, family = "gmq", ancestors = {"gem-pro"}, translit_module = "Runr-translit", } m["gmw-jdt"] = { canonicalName ="Jersey Belanda", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"nl"}, } m["grk-cal"] = { canonicalName ="Greek Calabria", otherNames = {"Greek Itali", "Bova"}, type = "regular", -- NB the related lect Griko has the etym-only code 'el-grk' scripts = {"Latn"}, family = "grk", } m["grk-pro"] = { canonicalName ="Proto-Hellenik", type = "reconstructed", scripts = {"Latinx"}, family = "grk", ancestors = {"ine-pro"}, } m["hmn-pro"] = { canonicalName ="Proto-Hmong", type = "reconstructed", scripts = {"Latinx"}, family = "hmn", } m["hmx-mie-pro"] = { canonicalName ="Proto-Mie", type = "reconstructed", scripts = {"Latinx"}, family = "hmx-mie", } m["hmx-pro"] = { canonicalName ="Proto-Hmong-Mie", type = "reconstructed", scripts = {"Latinx"}, family = "hmx", } m["hyx-pro"] = { canonicalName ="Proto-Armenia", type = "reconstructed", scripts = {"Latn"}, family = "hyx", ancestors = {"ine-pro"}, } m["iir-pro"] = { canonicalName ="Proto-Indo-Iran", type = "reconstructed", scripts = {"Latinx"}, family = "iir", ancestors = {"ine-pro"}, } m["inc-pro"] = { canonicalName ="Proto-Indo-Arya", type = "reconstructed", scripts = {"Latinx"}, family = "inc", ancestors = {"iir-pro"}, } m["ine-ana-pro"] = { canonicalName ="Proto-Anatolia", type = "reconstructed", scripts = {"Latinx"}, family = "ine-ana", ancestors = {"ine-pro"}, } m["ine-bsl-pro"] = { canonicalName ="Proto-Balto-Slavik", type = "reconstructed", scripts = {"Latinx"}, family = "ine-bsl", ancestors = {"ine-pro"}, } m["ine-pro"] = { canonicalName ="Proto-Indo-Eropah", type = "reconstructed", scripts = {"Latinx"}, family = "ine", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", "ĺ", "ḿ", "ń", "ŕ", "ǵ" , "ḱ" , "ʰ", "ʷ", "₁", "₂", "₃", RINGBELOW, ACUTE, MACRON}, to = {"a" , "e" , "i" , "o" , "u" , "l", "m", "n", "r", "g'", "k'", "h", "w", "1", "2", "3"}} , } m["ine-toc-pro"] = { canonicalName ="Proto-Tocharia", type = "reconstructed", scripts = {"Latinx"}, family = "ine-toc", ancestors = {"ine-pro"}, } m["ira-pro"] = { canonicalName ="Proto-Iran", type = "reconstructed", scripts = {"Latinx"}, family = "ira", ancestors = {"iir-pro"}, } m["iro-mi"] = { canonicalName ="Mingo", type = "regular", scripts = {"Latn"}, family = "iro", } m["itc-ola"] = { canonicalName ="Latin Lama", otherNames = {"Latin Archaik", "Latin Awal", "Latin Pra-Klasik", "Ante-Klasik Latin"}, type = "regular", scripts = {"Latn"}, family = "itc", ancestors = {"itc-pro"}, entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}} , } m["itc-pro"] = { canonicalName ="Proto-Italik", type = "reconstructed", scripts = {"Latinx"}, family = "itc", ancestors = {"ine-pro"}, } m["jpx-pro"] = { canonicalName ="Proto-Japonik", type = "reconstructed", scripts = {"Latinx"}, family = "jpx", } m["khi-ku"] = { canonicalName ="ǃKung", type = "regular", scripts = {"Latn"}, family = "khi", } m["map-ata-pro"] = { canonicalName ="Proto-Atayalik", type = "reconstructed", scripts = {"Latinx"}, family = "map-ata", } m["map-bms"] = { canonicalName ="Banyumasan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["map-pro"] = { canonicalName ="Proto-Austronesia", type = "reconstructed", scripts = {"Latinx"}, family = "map", } m["mkh-mvi"] = { canonicalName ="Vietnam Tengah", type = "regular", scripts = {"Latn", "Hani"}, family = "mkh-vie", } m["mkh-pro"] = { canonicalName ="Proto-Mon-Khmer", type = "reconstructed", scripts = {"Latinx"}, family = "mkh", } m["mkh-vie-pro"] = { canonicalName ="Proto-Vietik", type = "reconstructed", scripts = {"Latinx"}, family = "mkh-vie", } m["nai-pic"] = { canonicalName ="Picuris", type = "regular", scripts = {"Latn"}, family = "qfa-kta", } m["nds-de"] = { canonicalName ="Jerman Jerma Rendah", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"nds"}, wikimedia_codes = {"nds"}, } m["nds-nl"] = { canonicalName ="Belanda Saxo Rendah", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"nds"}, } m["phi-pro"] = { canonicalName ="Proto-Filipina", type = "reconstructed", scripts = {"Latinx"}, family = "phi", } m["plf-pro"] = { canonicalName ="Proto-Malayo Tengah-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "plf", } m["poz-btk-pro"] = { canonicalName ="Proto-Bungku-Tolaki", type = "reconstructed", scripts = {"Latinx"}, family = "poz-btk", } m["poz-cet-pro"] = { canonicalName ="Proto-Pusat-Malayo Tengah-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "poz", } m["poz-hce-pro"] = { canonicalName ="Proto-Halmahera-Cenderawasih", otherNames = {"Proto-Halmahera Selatan - New Guinea Barat"}, type = "reconstructed", scripts = {"Latinx"}, family = "poz-hce", } m["poz-lgx-pro"] = { canonicalName ="Proto-Lampungik", type = "reconstructed", scripts = {"Latinx"}, family = "poz-lgx", } m["poz-mcm-pro"] = { canonicalName ="Proto-Malayo-Chamik", type = "reconstructed", scripts = {"Latinx"}, family = "poz-msa", } m["poz-mly-pro"] = { canonicalName ="Proto-Malayik", type = "reconstructed", scripts = {"Latinx"}, family = "poz-mly", } m["poz-msa-pro"] = { canonicalName ="Proto-Malayo-Sumbawa", type = "reconstructed", scripts = {"Latinx"}, family = "poz-msa", } m["poz-oce-pro"] = { canonicalName ="Proto-Oceanik", type = "reconstructed", scripts = {"Latinx"}, family = "poz-oce", } m["poz-pep-pro"] = { names = "Proto-Polinesia Timur", otherNames = {"Proto-Timur-Polinesia", "Proto-Timur Polinesia", "Proto-Timur-Polinesia"}, type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", } m["poz-pnp-pro"] = { canonicalName ="Proto-Polinesia Nuklear", type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", } m["poz-pol-pro"] = { canonicalName ="Proto-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", } m["poz-pro"] = { canonicalName ="Proto-Malayo-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "poz", } m["poz-ssw-pro"] = { canonicalName ="Proto-Sulawesi Selatan", type = "reconstructed", scripts = {"Latinx"}, family = "poz-ssw", } m["poz-sus-pro"] = { canonicalName ="Proto-Sunda-Sulawesi", type = "reconstructed", scripts = {"Latinx"}, family = "poz-sus", } m["poz-swa-pro"] = { canonicalName ="Proto-Sarawak Utara", type = "reconstructed", scripts = {"Latinx"}, family = "poz-swa", } m["pqe-pro"] = { canonicalName ="Proto-Malayo Timur-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "pqe", } m["pqw-pro"] = { canonicalName ="Proto-Western Malayo-Polinesia", type = "reconstructed", scripts = {"Latinx"}, family = "pqw", } m["qfa-cka-pro"] = { canonicalName ="Proto-Chukotko-Kamchatka", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-cka", } m["qfa-ctc-cat"] = { canonicalName = "Catacao", type = "regular", scripts = {"Latinx"}, family = "qfa-ctc", } m["qfa-ctc-col"] = { canonicalName = "Colán", otherNames = {"Colan"}, type = "regular", scripts = {"Latinx"}, family = "qfa-ctc", } m["qfa-kor-pro"] = { canonicalName ="Proto-Korea", type = "reconstructed", scripts = {"None"}, family = "qfa-kor", } m["qfa-len-slv"] = { canonicalName ="Salvadoran Lenca", type = "regular", scripts = {"Latn"}, family = "qfa-len", } m["qfa-yen-pro"] = { canonicalName ="Proto-Yeniseia", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-yen", } m["roa-oca"] = { canonicalName ="Catalan Lama", type = "regular", scripts = {"Latn"}, family = "roa", ancestors = {"pro"}, sort_key = { from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "·"}, to = {"a", "e" , "i" , "o" , "u" , "k"}} , } m["roa-gal"] = { canonicalName ="Gallo", type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "k"}} , } m["roa-gr"] = { names = "Guernésiais", otherNames = {"Dgèrnésiais", "Guernsey Perancis", "Guernsey Norman Perancis"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "k"}} , } m["roa-jer"] = { names = "Jèrriais", otherNames = {"Jersey Perancis", "Jersey Norma", "Jersey Norman Perancis"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "k"}} , } m["roa-leo"] = { canonicalName ="Leone", type = "regular", scripts = {"Latn"}, family = "roa", } m["roa-oan"] = { names = "Navarro-Aragone", otherNames = {"Aragone Lama"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["roa-oit"] = { canonicalName ="Itali Lama", type = "regular", scripts = {"Latn"}, family = "roa", } m["roa-ole"] = { canonicalName ="Leone Lama", type = "regular", scripts = {"Latn"}, family = "roa", } m["roa-opt"] = { names = "Potugis Lama", otherNames = {"Galicia-Portugis", "Portugis Galicia", "Galicia Pertengahan"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["roa-tar"] = { canonicalName ="Tarantino", type = "regular", scripts = {"Latn"}, family = "roa", wikimedia_codes = {"roa-tara"}, } m["sal-pro"] = { canonicalName ="Proto-Sali", "Proto-Salisha", type = "reconstructed", scripts = {"Latn"}, family = "sal", } m["sca-pro"] = { -- NB: NB 'sio-pro' "Proto-Siouan" which is Proto-Western Siouan canonicalName ="Proto-Sioux-Catawba", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-sca", } m["sem-amm"] = { canonicalName ="Ammonite", type = "regular", scripts = {"Phnx"}, family = "sem-can", } m["sem-pro"] = { canonicalName ="Proto-Semitik", type = "reconstructed", scripts = {"Latinx"}, family = "sem", } m["sem-srb"] = { canonicalName ="Arab Selatan Lama", type = "regular", scripts = {"Sarb"}, family = "sem-osa", } m["sio-pro"] = { -- this is the proto-lang of Western Sioun only; cf. 'sca-pro' canonicalName = "Proto-Siou", type = "reconstructed", scripts = {"Latinx"}, family = "sio", } m["sit-pro"] = { canonicalName ="Proto-Sino-Tibet", type = "reconstructed", scripts = {"Latn"}, family = "sit", } m["sla-pro"] = { canonicalName ="Proto-Slavik", otherNames = {"Slavik Biasa"}, type = "reconstructed", scripts = {"Latinx"}, family = "sla", ancestors = {"ine-bsl-pro"}, } m["smi-pro"] = { canonicalName ="Proto-Samik", otherNames = {"Proto-Sami"}, type = "reconstructed", scripts = {"Latn"}, family = "smi", } m["sqj-pro"] = { canonicalName = "Proto-Albania", type = "reconstructed", scripts = {"Latinx"}, family = "sqj", } m["syd-fne"] = { canonicalName = "Forest Nenets", type = "regular", scripts = {"Cyrl"}, family = "syd", ancestors = {"syd-pro"}, } m["syd-pro"] = { canonicalName ="Proto-Samoyedik", type = "reconstructed", scripts = {"None"}, family = "syd", ancestors = {"urj-pro"}, } m["tai-pro"] = { canonicalName ="Proto-Tai", type = "reconstructed", scripts = {"Latinx"}, family = "tai", } m["tai-swe-pro"] = { canonicalName ="Proto-Tai Barat Daya", type = "reconstructed", scripts = {"Latinx"}, family = "tai-swe", } m["trk-pro"] = { canonicalName ="Proto-Turki", type = "reconstructed", scripts = {"Latinx"}, family = "trk", } m["tut-pro"] = { canonicalName ="Proto-Altaik", type = "reconstructed", scripts = {"Latinx"}, family = "tut", } m["tuw-pro"] = { canonicalName ="Proto-Tungusik", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-und", } m["urj-pro"] = { canonicalName ="Proto-Uralik", otherNames = {"Proto-Finno-Ugric", "Proto-Finno-Permic"}, -- PFU and PFP are subsumed into PU per [[Wiktionary:Beer parlour/2015/January#Merging Finno-Volgaic, Finno-Samic, Finno-Permic and Finno-Ugric into Uralic]] type = "reconstructed", scripts = {"Latinx"}, family = "urj", } m["xgn-pro"] = { canonicalName ="Proto-Mongolik", type = "reconstructed", scripts = {"Latinx"}, family = "xgn", } m["zlw-opl"] = { canonicalName ="Poland Lama", type = "regular", scripts = {"Latn"}, family = "zlw", ancestors = {"sla-pro"}, } m["zlw-pom"] = { canonicalName ="Pomerania", type = "regular", scripts = {"None"}, family = "qfa-und", } m["zlw-slv"] = { canonicalName ="Slovincia", type = "regular", scripts = {"Latn"}, family = "zlw", } return m ekp6fxyy7idee2zlmse4ycekc1mckxf Module:languages/data3/z 828 4685 13331 2015-05-31T23:38:58Z Dalmo Pereira 1417 Bog cusub: 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... 13331 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 m = {} m["zaa"] = { canonicalName = "Sierra de Juárez Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zab"] = { canonicalName = "San Juan Guelavía Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zac"] = { canonicalName = "Ocotlán Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zad"] = { canonicalName = "Cajonos Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zae"] = { canonicalName = "Yareni Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zaf"] = { canonicalName = "Ayoquesco Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zag"] = { canonicalName = "Zaghawa", type = "regular", scripts = {"None"}, family = "ssa", } m["zah"] = { canonicalName = "Zangwal", type = "regular", scripts = {"None"}, family = "cdc", } m["zai"] = { canonicalName = "Isthmus Zapotec", type = "regular", scripts = {"Latn"}, family = "omq-zap", } m["zaj"] = { canonicalName = "Zaramo", type = "regular", scripts = {"Latn"}, family = "bnt", } m["zak"] = { canonicalName = "Zanaki", type = "regular", scripts = {"None"}, family = "bnt", } m["zal"] = { canonicalName = "Zauzou", type = "regular", scripts = {"None"}, family = "tbq", } m["zam"] = { canonicalName = "Central Mahuatlán Zapoteco", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zao"] = { canonicalName = "Ozolotepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zap"] = { canonicalName = "Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zaq"] = { canonicalName = "Aloápam Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zar"] = { canonicalName = "Rincón Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zas"] = { canonicalName = "Santo Domingo Albarradas Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zat"] = { canonicalName = "Tabaa Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zau"] = { canonicalName = "Zangskari", type = "regular", scripts = {"None"}, family = "sit", } m["zav"] = { canonicalName = "Yatzachi Zapotec", type = "regular", scripts = {"Latn"}, family = "omq-zap", } m["zaw"] = { canonicalName = "Mitla Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zax"] = { canonicalName = "Xadani Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zay"] = { canonicalName = "Zayse-Zergulla", type = "regular", scripts = {"None"}, family = "omv", } m["zaz"] = { canonicalName = "Zari", type = "regular", scripts = {"None"}, family = "cdc", } m["zbc"] = { canonicalName = "Central Berawan", type = "regular", scripts = {"None"}, family = "poz-bnn", } m["zbe"] = { canonicalName = "East Berawan", type = "regular", scripts = {"None"}, family = "poz-bnn", } m["zbt"] = { canonicalName = "Batui", type = "regular", scripts = {"None"}, family = "poz-slb", } m["zbw"] = { canonicalName = "West Berawan", type = "regular", scripts = {"None"}, family = "poz-bnn", } m["zca"] = { canonicalName = "Coatecas Altas Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zch"] = { canonicalName = "Central Hongshuihe Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zdj"] = { canonicalName = "Ngazidja Comorian", type = "regular", scripts = {"None"}, family = "bnt", } m["zea"] = { canonicalName = "Zealandic", type = "regular", scripts = {"None"}, family = "gmw", } m["zeg"] = { canonicalName = "Zenag", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["zeh"] = { canonicalName = "Eastern Hongshuihe Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zen"] = { canonicalName = "Zenaga", type = "regular", scripts = {"Latn"}, family = "ber", } m["zga"] = { canonicalName = "Kinga", type = "regular", scripts = {"None"}, family = "bnt", } m["zgb"] = { canonicalName = "Guibei Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zgh"] = { canonicalName = "Standard Moroccan Tamazight", type = "regular", scripts = {"Tfng"}, family = "ber", } m["zgm"] = { canonicalName = "Minz Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zgn"] = { canonicalName = "Guibian Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zgr"] = { canonicalName = "Magori", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["zhb"] = { canonicalName = "Zhaba", type = "regular", scripts = {"None"}, family = "tbq", } m["zhd"] = { canonicalName = "Dai Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zhi"] = { canonicalName = "Zhire", type = "regular", scripts = {"None"}, family = "nic-bco", } m["zhn"] = { canonicalName = "Nong Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zhw"] = { canonicalName = "Zhoa", type = "regular", scripts = {"None"}, family = "nic-grf", } m["zia"] = { canonicalName = "Zia", type = "regular", scripts = {"None"}, family = "ngf", } m["zib"] = { canonicalName = "Zimbabwe Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["zik"] = { canonicalName = "Zimakani", type = "regular", scripts = {"None"}, family = "ngf", } m["zil"] = { canonicalName = "Zialo", type = "regular", scripts = {"None"}, family = "dmn"} m["zim"] = { canonicalName = "Mesme", type = "regular", scripts = {"None"}, family = "cdc", } m["zin"] = { canonicalName = "Zinza", type = "regular", scripts = {"None"}, family = "bnt", } m["zir"] = { canonicalName = "Ziriya", type = "regular", scripts = {"None"}, family = "nic-knj", } m["ziw"] = { canonicalName = "Zigula", type = "regular", scripts = {"None"}, family = "bnt", } m["ziz"] = { canonicalName = "Zizilivakan", type = "regular", scripts = {"None"}, family = "cdc", } m["zka"] = { canonicalName = "Kaimbulawa", type = "regular", scripts = {"None"}, family = "poz-mun", } m["zkb"] = { canonicalName = "Koibal", type = "regular", scripts = {"None"}, family = "syd", } m["zkg"] = { canonicalName = "Goguryeo", type = "regular", scripts = {"Hani"}, family = "qfa-und", } m["zkh"] = { canonicalName = "Khorezmian", type = "regular", scripts = {"None"}, family = "trk", } m["zkk"] = { canonicalName = "Karankawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["zko"] = { canonicalName = "Kott", type = "regular", scripts = {"Latn"}, family = "qfa-yen", } m["zkp"] = { canonicalName = "São Paulo Kaingáng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["zkr"] = { canonicalName = "Zakhring", type = "regular", scripts = {"None"}, family = "sai-jee", } m["zkt"] = { canonicalName = "Khitan", type = "regular", scripts = {"None"}, family = "xgn", } m["zku"] = { canonicalName = "Kaurna", type = "regular", scripts = {"Latn"}, family = "aus-psw", } m["zkv"] = { canonicalName = "Krevinian", type = "regular", scripts = {"None"}, family = "fiu-fin", } m["zkz"] = { canonicalName = "Khazar", type = "regular", scripts = {"Orkh"}, family = "trk", } m["zlj"] = { canonicalName = "Liujiang Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zln"] = { canonicalName = "Lianshan Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zlq"] = { canonicalName = "Liuqian Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zma"] = { canonicalName = "Australian Manda", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmb"] = { canonicalName = "Zimba", type = "regular", scripts = {"Latn"}, family = "bnt", } m["zmc"] = { canonicalName = "Margany", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["zmd"] = { canonicalName = "Maridan", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zme"] = { canonicalName = "Mangerr", type = "regular", scripts = {"None"}, family = "qfa-und", } m["zmf"] = { canonicalName = "Mfinu", type = "regular", scripts = {"None"}, family = "bnt", } m["zmg"] = { canonicalName = "Marti Ke", type = "regular", scripts = {"Latn"}, family = "aus-dal", } m["zmh"] = { canonicalName = "Makolkol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["zmi"] = { canonicalName = "Negeri Sembilan Malay", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["zmj"] = { canonicalName = "Maridjabin", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmk"] = { canonicalName = "Mandandanyi", type = "regular", scripts = {"None"}, family = "aus-pam", } m["zml"] = { canonicalName = "Madngele", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmm"] = { canonicalName = "Marimanindji", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmn"] = { canonicalName = "Mbangwe", type = "regular", scripts = {"None"}, family = "bnt", } m["zmo"] = { canonicalName = "Molo", type = "regular", scripts = {"None"}, family = "sdv", } m["zmp"] = { canonicalName = "Mpuono", type = "regular", scripts = {"None"}, family = "bnt", } m["zmq"] = { canonicalName = "Mituku", type = "regular", scripts = {"None"}, family = "bnt", } m["zmr"] = { canonicalName = "Maranunggu", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zms"] = { canonicalName = "Mbesa", type = "regular", scripts = {"None"}, family = "bnt", } m["zmt"] = { canonicalName = "Maringarr", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmu"] = { canonicalName = "Muruwari", type = "regular", scripts = {"None"}, family = "aus-pam", } m["zmv"] = { canonicalName = "Mbariman-Gudhinma", type = "regular", scripts = {"None"}, family = "aus-pmn", } m["zmw"] = { canonicalName = "Mbo (Congo)", otherNames = {"Mbo (Democratic Republic of the Congo)", "Mbo"}, type = "regular", scripts = {"None"}, family = "bnt", } m["zmx"] = { canonicalName = "Bomitaba", type = "regular", scripts = {"None"}, family = "bnt", } m["zmy"] = { canonicalName = "Mariyedi", type = "regular", scripts = {"None"}, family = "aus-dal", } m["zmz"] = { canonicalName = "Mbandja", type = "regular", scripts = {"None"}, family = "bad", } m["zna"] = { canonicalName = "Zan Gula", type = "regular", scripts = {"None"}, family = "alv-sav", } m["zne"] = { canonicalName = "Zande", type = "regular", scripts = {"Latn"}, family = "znd", } m["zng"] = { canonicalName = "Mang", type = "regular", scripts = {"None"}, family = "mkh", } m["znk"] = { canonicalName = "Manangkari", otherNames = {"Naragani"}, type = "regular", scripts = {"None"}, family = "aus-wdj", } m["zns"] = { canonicalName = "Mangas", type = "regular", scripts = {"None"}, family = "cdc", } m["zoc"] = { canonicalName = "Copainalá Zoque", type = "regular", scripts = {"None"}, family = "nai-miz", } m["zoh"] = { canonicalName = "Chimalapa Zoque", type = "regular", scripts = {"None"}, family = "nai-miz", } m["zom"] = { canonicalName = "Zou", otherNames = {"Zo"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["zoo"] = { canonicalName = "Asunción Mixtepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zoq"] = { canonicalName = "Tabasco Zoque", type = "regular", scripts = {"None"}, family = "nai-miz", } m["zor"] = { canonicalName = "Rayón Zoque", type = "regular", scripts = {"None"}, family = "nai-miz", } m["zos"] = { canonicalName = "Francisco León Zoque", type = "regular", scripts = {"None"}, family = "nai-miz", } m["zpa"] = { canonicalName = "Lachiguiri Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpb"] = { canonicalName = "Yautepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpc"] = { canonicalName = "Choapan Zapotec", otherNames = {"Choapan Zapoteco"}, type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpd"] = { canonicalName = "Southeastern Ixtlán Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpe"] = { canonicalName = "Petapa Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpf"] = { canonicalName = "San Pedro Quiatoni Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpg"] = { canonicalName = "Guevea De Humboldt Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zph"] = { canonicalName = "Totomachapan Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpi"] = { canonicalName = "Santa María Quiegolani Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpj"] = { canonicalName = "Quiavicuzas Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpk"] = { canonicalName = "Tlacolulita Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpl"] = { canonicalName = "Lachixío Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpm"] = { canonicalName = "Mixtepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpn"] = { canonicalName = "Santa Inés Yatzechi Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpo"] = { canonicalName = "Amatlán Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpp"] = { canonicalName = "El Alto Zapotec", otherNames = {"El Alto Zapoteco"}, type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpq"] = { canonicalName = "Zoogocho Zapotec", type = "regular", scripts = {"Latn"}, family = "omq-zap", } m["zpr"] = { canonicalName = "Santiago Xanica Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zps"] = { canonicalName = "Coatlán Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpt"] = { canonicalName = "San Vicente Coatlán Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpu"] = { canonicalName = "Yalálag Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpv"] = { canonicalName = "Chichicapan Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpw"] = { canonicalName = "Zaniza Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpx"] = { canonicalName = "San Baltazar Loxicha Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpy"] = { canonicalName = "Mazaltepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zpz"] = { canonicalName = "Texmelucan Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zqe"] = { canonicalName = "Qiubei Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zra"] = { canonicalName = "Kaya", otherNames = {"Kara"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["zrg"] = { canonicalName = "Mirgan", type = "regular", scripts = {"None"}, family = "inc", } m["zrn"] = { canonicalName = "Zirenkel", type = "regular", scripts = {"None"}, family = "cdc", } m["zro"] = { canonicalName = "Záparo", type = "regular", scripts = {"Latn"}, family = "qfa-zap", } m["zrp"] = { canonicalName = "Zarphatic", type = "regular", scripts = {"Hebr"}, family = "roa", } m["zrs"] = { canonicalName = "Mairasi", type = "regular", scripts = {"None"}, family = "paa-mai", } m["zsa"] = { canonicalName = "Sarasira", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["zsk"] = { canonicalName = "Kaskean", otherNames = {"Kaskian"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["zsl"] = { canonicalName = "Zambian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["zsr"] = { canonicalName = "Southern Rincon Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zsu"] = { canonicalName = "Sukurum", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["zte"] = { canonicalName = "Elotepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztg"] = { canonicalName = "Xanaguía Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztl"] = { canonicalName = "Lapaguía-Guivini Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztm"] = { canonicalName = "San Agustín Mixtepec Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztn"] = { canonicalName = "Santa Catarina Albarradas Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztp"] = { canonicalName = "Loxicha Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztq"] = { canonicalName = "Quioquitani-Quierí Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zts"] = { canonicalName = "Tilquiapan Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztt"] = { canonicalName = "Tejalapan Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztu"] = { canonicalName = "San Pablo Güilá Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["ztx"] = { canonicalName = "Zaachila Zapotec", otherNames = {"Zaachila Zapoteco"}, type = "regular", scripts = {"None"}, family = "omq-zap", } m["zty"] = { canonicalName = "Yatee Zapotec", type = "regular", scripts = {"None"}, family = "omq-zap", } m["zua"] = { canonicalName = "Zeem", type = "regular", scripts = {"None"}, family = "cdc", } m["zuh"] = { canonicalName = "Tokano", type = "regular", scripts = {"None"}, family = "ngf", } m["zum"] = { canonicalName = "Kumzari", type = "regular", scripts = {"None"}, family = "ira", } m["zun"] = { canonicalName = "Zuni", otherNames = {"Zuñi", "Shiwi'ma"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["zuy"] = { canonicalName = "Zumaya", type = "regular", scripts = {"None"}, family = "cdc", } m["zwa"] = { canonicalName = "Zay", type = "regular", scripts = {"None"}, family = "sem-eth", } m["zyb"] = { canonicalName = "Yongbei Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zyg"] = { canonicalName = "Yang Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zyj"] = { canonicalName = "Youjiang Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zyn"] = { canonicalName = "Yongnan Zhuang", type = "regular", scripts = {"None"}, family = "tai", } m["zyp"] = { canonicalName = "Zyphe", otherNames = {"Zyphe Chin"}, type = "regular", scripts = {"Latn"}, family = "tbq-kuk", } m["zza"] = { canonicalName = "Zazaki", type = "regular", scripts = {"Latn"}, family = "ira", wikimedia_codes = {"diq"}, } m["zzj"] = { canonicalName = "Zuojiang Zhuang", type = "regular", scripts = {"None"}, family = "tai", } return m cx94uxjw42dtlow4phlg457k279guvf Module:languages/data3/y 828 4686 13332 2015-05-31T23:41:40Z Dalmo Pereira 1417 Bog cusub: 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... 13332 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 m = {} m["yaa"] = { canonicalName = "Yaminahua", otherNames = {"Yaminawa"}, type = "regular", scripts = {"None"}, family = "qfa-pan", } m["yab"] = { canonicalName = "Yuhup", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yac"] = { canonicalName = "Pass Valley Yali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yad"] = { canonicalName = "Yagua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yae"] = { canonicalName = "Pumé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yaf"] = { canonicalName = "Kiyaka", otherNames = {"Yaka (Democratic Republic of the Congo)", "Yaka"}, -- distinguish from 'axk' and especially 'iyx' type = "regular", scripts = {"None"}, family = "bnt", } m["yag"] = { canonicalName = "Yámana", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["yah"] = { canonicalName = "Yazgulyam", type = "regular", scripts = {"None"}, family = "ira", } m["yai"] = { canonicalName = "Yagnobi", type = "regular", scripts = {"None"}, family = "ira", } m["yaj"] = { canonicalName = "Banda-Yangere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yak"] = { canonicalName = "Yakima", type = "regular", scripts = {"None"}, family = "nai-shp", } m["yal"] = { canonicalName = "Yalunka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yam"] = { canonicalName = "Yamba", type = "regular", scripts = {"None"}, family = "nic-bod", } m["yan"] = { canonicalName = "Mayangna", type = "regular", scripts = {"Latn"}, family = "qfa-min", } m["yao"] = { canonicalName = "Yao", type = "regular", scripts = {"Latn"}, family = "bnt", } m["yap"] = { canonicalName = "Yapese", type = "regular", scripts = {"Latn"}, family = "poz-oce", } m["yaq"] = { canonicalName = "Yaqui", otherNames = {"Hiaki", "Yoeme"}, type = "regular", scripts = {"Latn"}, family = "azc-trc", } m["yar"] = { canonicalName = "Yabarana", type = "regular", scripts = {"None"}, family = "sai-car", } m["yas"] = { canonicalName = "Gunu", otherNames = {"Nugunu"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["yat"] = { canonicalName = "Yambeta", type = "regular", scripts = {"None"}, family = "nic-bod", } m["yau"] = { canonicalName = "Yuwana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yav"] = { canonicalName = "Yangben", type = "regular", scripts = {"None"}, family = "nic-bod", } m["yaw"] = { canonicalName = "Yawalapití", type = "regular", scripts = {"None"}, family = "awd", } m["yax"] = { canonicalName = "Yauma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yay"] = { canonicalName = "Agwagwune", type = "regular", scripts = {"None"}, family = "nic-bco", } m["yaz"] = { canonicalName = "Lokaa", type = "regular", scripts = {"None"}, family = "nic-bco", } m["yba"] = { canonicalName = "Yala", type = "regular", scripts = {"None"}, family = "alv", } m["ybb"] = { canonicalName = "Yemba", type = "regular", scripts = {"None"}, family = "bai", } m["ybe"] = { canonicalName = "Western Yugur", type = "regular", scripts = {"None"}, family = "trk", } m["ybh"] = { canonicalName = "Yakkha", type = "regular", scripts = {"None"}, family = "tbq", } m["ybi"] = { canonicalName = "Yamphu", type = "regular", scripts = {"None"}, family = "tbq", } m["ybj"] = { canonicalName = "Hasha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ybk"] = { canonicalName = "Bokha", type = "regular", scripts = {"None"}, family = "tbq", } m["ybl"] = { canonicalName = "Yukuben", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ybm"] = { canonicalName = "Yaben", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ybn"] = { canonicalName = "Yabaâna", type = "regular", scripts = {"None"}, family = "awd", } m["ybo"] = { canonicalName = "Yabong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ybx"] = { canonicalName = "Yawiyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yby"] = { canonicalName = "Yaweyuha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ych"] = { canonicalName = "Chesu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ycl"] = { canonicalName = "Lolopo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ycn"] = { canonicalName = "Yucuna", type = "regular", scripts = {"None"}, family = "awd", } m["ycp"] = { canonicalName = "Chepya", type = "regular", scripts = {"None"}, family = "tbq", } m["yda"] = { canonicalName = "Yanda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yde"] = { canonicalName = "Yangum Dey", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ydg"] = { canonicalName = "Yidgha", type = "regular", scripts = {"None"}, family = "ira", } m["ydk"] = { canonicalName = "Yoidik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yds"] = { canonicalName = "Yiddish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["yea"] = { canonicalName = "Ravula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yec"] = { canonicalName = "Yeniche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yee"] = { canonicalName = "Yimas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yei"] = { canonicalName = "Yeni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yej"] = { canonicalName = "Yevanic", type = "regular", scripts = {"Hebr"}, family = "grk", } m["yel"] = { canonicalName = "Yela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yen"] = { canonicalName = "Yendang", otherNames = {"Yotti"}, type = "regular", scripts = {"Latn"}, family = "alv", } m["yer"] = { canonicalName = "Tarok", otherNames = {"Yergum", "Yergam"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["yes"] = { canonicalName = "Yeskwa", otherNames = {"Nyankpa"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["yet"] = { canonicalName = "Yetfa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yeu"] = { canonicalName = "Yerukula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yev"] = { canonicalName = "Yapunda", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["yey"] = { canonicalName = "Yeyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ygi"] = { canonicalName = "Yiningayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ygl"] = { canonicalName = "Yangum Gel", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ygm"] = { canonicalName = "Yagomi", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["ygp"] = { canonicalName = "Gepo", type = "regular", scripts = {"None"}, family = "tbq", } m["ygr"] = { canonicalName = "Yagaria", otherNames = {"Hua"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["ygs"] = { canonicalName = "Yolngu Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ygu"] = { canonicalName = "Yugul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ygw"] = { canonicalName = "Yagwoia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yha"] = { canonicalName = "Baha Buyang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yhd"] = { canonicalName = "Judeo-Iraqi Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["yhl"] = { canonicalName = "Hlepho Phowa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yia"] = { canonicalName = "Yinggarda", type = "regular", scripts = {"None"}, family = "aus-psw", } m["yif"] = { canonicalName = "Ache", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yig"] = { canonicalName = "Wusa Nasu", type = "regular", scripts = {"None"}, family = "tbq", } m["yii"] = { canonicalName = "Yidiny", type = "regular", scripts = {"Latn"}, family = "aus-yid", } m["yij"] = { canonicalName = "Yindjibarndi", type = "regular", scripts = {"Latn"}, family = "aus-nga", } m["yik"] = { canonicalName = "Dongshanba Lalo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yil"] = { canonicalName = "Yindjilandji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yim"] = { canonicalName = "Yimchungru Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yin"] = { canonicalName = "Yinchia", type = "regular", scripts = {"None"}, family = "aav", } m["yip"] = { canonicalName = "Pholo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yiq"] = { canonicalName = "Miqie", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yir"] = { canonicalName = "North Awyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yis"] = { canonicalName = "Yis", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["yit"] = { canonicalName = "Eastern Lalu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yiu"] = { canonicalName = "Awu", otherNames = {"Lope"}, type = "regular", scripts = {"None"}, family = "tbq", } m["yiv"] = { canonicalName = "Northern Nisu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yix"] = { canonicalName = "Axi Yi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yiy"] = { canonicalName = "Yir-Yoront", otherNames = {"Yir Yoront", "Yirr-Yoront", "Yirr-Yorront", "Yirrk-Mel", "Yirrk-Thangalkl", "Yir Thangedl", "Yirr-Thangell"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["yiz"] = { canonicalName = "Azhe", type = "regular", scripts = {"None"}, family = "tbq", } m["yka"] = { canonicalName = "Yakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykg"] = { canonicalName = "Northern Yukaghir", type = "regular", scripts = {"Cyrl"}, family = "qfa-yuk", } m["yki"] = { canonicalName = "Yoke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykk"] = { canonicalName = "Yakaikeke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykl"] = { canonicalName = "Khlula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykm"] = { canonicalName = "Kap", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["yko"] = { canonicalName = "Yasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykr"] = { canonicalName = "Yekora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ykt"] = { canonicalName = "Kathu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yky"] = { canonicalName = "Yakoma", otherNames = {"Dendi", "Dendi (Central Africa)"}, -- Dendi is a dialect type = "regular", scripts = {"None"}, family = "nic-ubg", } m["yla"] = { canonicalName = "Yaul", type = "regular", scripts = {"None"}, family = "paa", } m["ylb"] = { canonicalName = "Yaleba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yle"] = { canonicalName = "Yele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ylg"] = { canonicalName = "Yelogu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yli"] = { canonicalName = "Angguruk Yali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yll"] = { canonicalName = "Yil", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ylm"] = { canonicalName = "Limi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yln"] = { canonicalName = "Langnian Buyang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ylo"] = { canonicalName = "Naluo Yi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ylr"] = { canonicalName = "Yalarnnga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ylu"] = { canonicalName = "Aribwaung", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["yly"] = { canonicalName = "Nyâlayu", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["yma"] = { canonicalName = "Yamphe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymb"] = { canonicalName = "Yambes", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ymc"] = { canonicalName = "Southern Muji", type = "regular", scripts = {"None"}, family = "tbq", } m["ymd"] = { canonicalName = "Muda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yme"] = { canonicalName = "Yameo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymg"] = { canonicalName = "Yamongeri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymh"] = { canonicalName = "Mili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymi"] = { canonicalName = "Moji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymk"] = { canonicalName = "Makwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yml"] = { canonicalName = "Iamalele", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ymm"] = { canonicalName = "Maay", type = "regular", scripts = {"Latn"}, family = "cus", } m["ymn"] = { canonicalName = "Sunum", otherNames = {"Yamna"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ymo"] = { canonicalName = "Yangum Mon", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ymp"] = { canonicalName = "Yamap", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ymq"] = { canonicalName = "Qila Muji", type = "regular", scripts = {"None"}, family = "tbq", } m["ymr"] = { canonicalName = "Malasar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yms"] = { canonicalName = "Mysian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ymx"] = { canonicalName = "Northern Muji", type = "regular", scripts = {"None"}, family = "tbq", } m["ymz"] = { canonicalName = "Muzi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yna"] = { canonicalName = "Aluo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ynd"] = { canonicalName = "Yandruwandha", type = "regular", scripts = {"None"}, family = "aus-kar", } m["yne"] = { canonicalName = "Lang'e", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yng"] = { canonicalName = "Yango", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["ynk"] = { canonicalName = "Naukanski", type = "regular", scripts = {"Cyrl"}, family = "ypk", } m["ynl"] = { canonicalName = "Yangulam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ynn"] = { canonicalName = "Yana", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["yno"] = { canonicalName = "Yong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yns"] = { canonicalName = "Yansi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ynu"] = { canonicalName = "Yahuna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yob"] = { canonicalName = "Yoba", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["yog"] = { canonicalName = "Yogad", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yoi"] = { canonicalName = "Yonaguni", type = "regular", scripts = {"Kana"}, family = "jpx", } m["yok"] = { canonicalName = "Yokuts", otherNames = {"Mariposa", "Yokutsan", "Mariposan", "Paleuyami", "Palewyami", "Poso Creek Yokuts", "Altinin"}, type = "regular", scripts = {"Latn"}, family = "qfa-you", } m["yol"] = { canonicalName = "Yola", type = "regular", scripts = {"Latn"}, family = "gmw", } m["yom"] = { canonicalName = "Yombe", type = "regular", scripts = {"None"}, family = "bnt", } m["yon"] = { canonicalName = "Yongkom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yos"] = { canonicalName = "Yos", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yox"] = { canonicalName = "Yoron", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yoy"] = { canonicalName = "Yoy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypa"] = { canonicalName = "Phala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypb"] = { canonicalName = "Labo Phowa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypg"] = { canonicalName = "Phola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yph"] = { canonicalName = "Phupha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypm"] = { canonicalName = "Phuma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypn"] = { canonicalName = "Ani Phowa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypo"] = { canonicalName = "Alo Phola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypp"] = { canonicalName = "Phupa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ypz"] = { canonicalName = "Phuza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yra"] = { canonicalName = "Yerakai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yrb"] = { canonicalName = "Yareba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yre"] = { canonicalName = "Yaouré", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yri"] = { canonicalName = "Yarí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yrk"] = { canonicalName = "Tundra Nenets", otherNames = {"Nenets", "Yurak"}, type = "regular", scripts = {"Cyrl"}, family = "syd", } m["yrl"] = { canonicalName = "Nhengatu", type = "regular", scripts = {"None"}, family = "tup", } m["yrn"] = { canonicalName = "Yerong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yrs"] = { canonicalName = "Yarsun", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["yrw"] = { canonicalName = "Yarawata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yry"] = { canonicalName = "Yarluyandi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ysc"] = { canonicalName = "Yassic", otherNames = {"Jassic"}, type = "regular", scripts = {"Latn"}, family = "ira", } m["ysd"] = { canonicalName = "Samatao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ysl"] = { canonicalName = "Yugoslavian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ysn"] = { canonicalName = "Sani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yso"] = { canonicalName = "Nisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ysp"] = { canonicalName = "Southern Lolopo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ysr"] = { canonicalName = "Sirenik", type = "regular", scripts = {"Cyrl"}, family = "ypk", } m["yss"] = { canonicalName = "Yessan-Mayo", otherNames = {"Yessan", "Mayo"}, type = "regular", scripts = {"Latn"}, family = "paa-spk", } m["ysy"] = { canonicalName = "Sanie", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yta"] = { canonicalName = "Talu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ytl"] = { canonicalName = "Tanglang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ytp"] = { canonicalName = "Thopho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ytw"] = { canonicalName = "Yout Wam", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["yty"] = { canonicalName = "Yatay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yua"] = { canonicalName = "Yucatec Maya", type = "regular", scripts = {"Latn"}, family = "myn", } m["yub"] = { canonicalName = "Yugambal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yuc"] = { canonicalName = "Yuchi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yud"] = { canonicalName = "Judeo-Tripolitanian Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["yue"] = { canonicalName = "Kantonis", otherNames = {"Yue", "Yüeh"}, type = "regular", scripts = {"Hani"}, family = "zhx", wikimedia_codes = {"zh-yue"}, } m["yuf"] = { canonicalName = "Havasupai-Walapai-Yavapai", type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["yug"] = { canonicalName = "Yug", otherNames = {"Yugh"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["yui"] = { canonicalName = "Yurutí", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["yuj"] = { canonicalName = "Karkar-Yuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yuk"] = { canonicalName = "Yuki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yul"] = { canonicalName = "Yulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yum"] = { canonicalName = "Quechan", otherNames = {"Yuma"}, type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["yun"] = { canonicalName = "Bena", otherNames = {"Binna", "Buna", "Ebina", "Ebuna", "Gbinna", "Lala", "Purra", "Yangeru", "Yongor", "Yungur"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["yup"] = { canonicalName = "Yukpa", type = "regular", scripts = {"None"}, family = "sai-car", } m["yuq"] = { canonicalName = "Yuqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yur"] = { canonicalName = "Yurok", type = "regular", scripts = {"Latn"}, family = "aql", } m["yut"] = { canonicalName = "Yopno", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["yuw"] = { canonicalName = "Finisterre Yau", otherNames = {"Yau"}, type = "regular", scripts = {"None"}, family = "ngf-fin", } m["yux"] = { canonicalName = "Southern Yukaghir", type = "regular", scripts = {"Cyrl"}, family = "qfa-yuk", } m["yuy"] = { canonicalName = "East Yugur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yuz"] = { canonicalName = "Yuracare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yva"] = { canonicalName = "Yawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yvt"] = { canonicalName = "Yavitero", type = "regular", scripts = {"None"}, family = "awd", } m["ywa"] = { canonicalName = "Kalou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ywg"] = { canonicalName = "Yinhawangka", type = "regular", scripts = {"Latn"}, family = "aus-nga", } m["ywl"] = { canonicalName = "Western Lalu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ywn"] = { canonicalName = "Yawanawa", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["ywq"] = { canonicalName = "Nasu", otherNames = {"Wuding-Luquan Yi"}, type = "regular", scripts = {"Plrd"}, family = "tbq", } m["ywr"] = { canonicalName = "Yawuru", type = "regular", scripts = {"None"}, family = "aus-nyu", } m["ywt"] = { canonicalName = "Xishanba Lalo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ywu"] = { canonicalName = "Wumeng Nasu", otherNames = {"Wumeng Yi", "Wusa Yi"}, type = "regular", scripts = {"None"}, family = "tbq", } m["yww"] = { canonicalName = "Yawarawarga", type = "regular", scripts = {"None"}, family = "aus-kar", } m["yxa"] = { canonicalName = "Mayawali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yxg"] = { canonicalName = "Yagara", type = "regular", scripts = {"None"}, family = "aus-pam", } m["yxl"] = { canonicalName = "Yarli", otherNames = {"Yardliyawarra", "Wadikali", "Malyangapa"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["yxm"] = { canonicalName = "Yinwum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yxu"] = { canonicalName = "Yuyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yyu"] = { canonicalName = "Torricelli Yau", otherNames = {"Yau"}, type = "regular", scripts = {"None"}, family = "qfa-tor", } m["yyz"] = { canonicalName = "Ayizi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yzg"] = { canonicalName = "E'ma Buyang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["yzk"] = { canonicalName = "Zokhuo", type = "regular", scripts = {"None"}, family = "qfa-und", } return m amg34vvm6g0v0w22ion75ldwd9vfior Module:languages/data3/x 828 4687 13333 2015-05-31T23:42:51Z Dalmo Pereira 1417 Bog cusub: 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... 13333 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 m = {} m["xaa"] = { canonicalName = "Andalusian Arabic", otherNames = {"Andalusi Arabic", "Moorish Arabic", "Spanish Arabic"}, type = "regular", scripts = {"Arab"}, family = "sem-arb", } m["xab"] = { canonicalName = "Sambe", type = "regular", scripts = {"None"}, family = "nic-bco", } m["xac"] = { canonicalName = "Kachari", type = "regular", scripts = {"None"}, family = "tbq", } m["xad"] = { canonicalName = "Adai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xae"] = { canonicalName = "Aequian", type = "regular", scripts = {"None"}, family = "itc", } m["xag"] = { canonicalName = "Aghwan", otherNames = {"Caucasian Albanian"}, type = "regular", scripts = {"Aghb"}, family = "cau-nec", } m["xai"] = { canonicalName = "Kaimbé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xaj"] = { canonicalName = "Ararandewára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xal"] = { canonicalName = "Kalmyk", otherNames = {"Oirat", "Modern Oirat"}, type = "regular", scripts = {"Cyrl"}, family = "xgn", translit_module = "xal-translit", } m["xam"] = { canonicalName = "ǀXam", otherNames = {"ǀKham"}, type = "regular", scripts = {"Latn"}, family = "qfa-tuu", } m["xan"] = { canonicalName = "Xamtanga", type = "regular", scripts = {"None"}, family = "cus", } m["xao"] = { canonicalName = "Khao", type = "regular", scripts = {"None"}, family = "mkh", } m["xap"] = { canonicalName = "Apalachee", type = "regular", scripts = {"None"}, family = "qfa-mus", } m["xaq"] = { canonicalName = "Aquitanian", type = "regular", scripts = {"Latn"}, family = "euq", } m["xar"] = { canonicalName = "Karami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xas"] = { canonicalName = "Kamassian", type = "regular", scripts = {"Cyrl"}, family = "syd", } m["xat"] = { canonicalName = "Katawixi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xau"] = { canonicalName = "Kauwera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xav"] = { canonicalName = "Xavante", type = "regular", scripts = {"Latn"}, family = "sai-jee", } m["xaw"] = { canonicalName = "Kawaiisu", type = "regular", scripts = {"Latn"}, family = "azc-num", } m["xay"] = { canonicalName = "Kayan Mahakam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xba"] = { canonicalName = "Camba", otherNames = {"Kamba (Brazil)", "Kamba"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbb"] = { canonicalName = "Lower Burdekin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbc"] = { canonicalName = "Bactrian", otherNames = {"Greco-Bactrian", "Kushan", "Kushano-Bactrian"}, type = "regular", scripts = {"Grek", "Mani"}, family = "ira", translit_module = "xbc-translit", } m["xbd"] = { canonicalName = "Bindal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbe"] = { canonicalName = "Bigambal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbg"] = { canonicalName = "Bunganditj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbi"] = { canonicalName = "Kombio", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["xbj"] = { canonicalName = "Birrpayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbm"] = { canonicalName = "Middle Breton", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"obt"}, } m["xbn"] = { canonicalName = "Kenaboi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbo"] = { canonicalName = "Bulgar", otherNames = {"Bolğar", "Bulghar", "Bolghar", "Bolgarian", "Bolgar"}, type = "regular", scripts = {"None"}, family = "trk", } m["xbp"] = { canonicalName = "Bibbulman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbr"] = { canonicalName = "Kambera", otherNames = {"East Sumbanese", "Sumbanese"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["xbw"] = { canonicalName = "Kambiwá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xbx"] = { canonicalName = "Kabixí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xby"] = { canonicalName = "Butchulla", otherNames = {"Badjala"}, -- contrast gbw type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcb"] = { canonicalName = "Cumbric", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcc"] = { canonicalName = "Camunic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xce"] = { canonicalName = "Celtiberian", type = "regular", scripts = {"None"}, family = "cel", } m["xch"] = { canonicalName = "Chemakum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcl"] = { canonicalName = "Armenia Lama", otherNames = {"Armenia Klasik", "Armenia Liturgikal", "Grabar"}, type = "regular", scripts = {"Armn"}, family = "hyx", translit_module = "Armn-translit", entry_name = { from = {"՞", "՜", "՛", "՟", "և"}, to = {"", "", "", "", "եւ"}} , } m["xcm"] = { canonicalName = "Comecrudo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcn"] = { canonicalName = "Cotoname", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xco"] = { canonicalName = "Chorasmian", otherNames = {"Khwarezmian"}, type = "regular", scripts = {"fa-Arab"}, -- Khwarezmian script not in Unicode yet family = "ira", } m["xcr"] = { canonicalName = "Carian", type = "regular", scripts = {"Cari"}, family = "ine-ana", } m["xct"] = { canonicalName = "Classical Tibetan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcu"] = { canonicalName = "Curonian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcv"] = { canonicalName = "Chuvantsy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcw"] = { canonicalName = "Coahuilteco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xcy"] = { canonicalName = "Cayuse", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xda"] = { canonicalName = "Darkinjung", type = "regular", scripts = {"Latn"}, family = "aus-yuk", } m["xdc"] = { canonicalName = "Dacian", type = "regular", scripts = {"Latn"}, family = "ine", } m["xdk"] = { canonicalName = "Dharug", otherNames = {"Darug", "Dharruk", "Dharuk", "Eora", "Iora", "Iyora", "Sydney"}, type = "regular", scripts = {"Latn"}, family = "aus-yuk", } m["xdm"] = { canonicalName = "Edomite", type = "regular", scripts = {"Phnx"}, family = "sem-can", } m["xdy"] = { canonicalName = "Malayic Dayak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xeb"] = { canonicalName = "Eblaite", type = "regular", scripts = {"Xsux"}, family = "sem-eas", } m["xed"] = { canonicalName = "Hdi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xeg"] = { canonicalName = "ǁXegwi", type = "regular", scripts = {"Latn"}, family = "qfa-tuu", } m["xel"] = { canonicalName = "Kelo", type = "regular", scripts = {"None"}, family = "sdv", } m["xem"] = { canonicalName = "Kembayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xep"] = { canonicalName = "Epi-Olmec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xer"] = { canonicalName = "Xerénte", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xes"] = { canonicalName = "Kesawai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xet"] = { canonicalName = "Xetá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xeu"] = { canonicalName = "Keoru-Ahia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xfa"] = { canonicalName = "Faliscan", type = "regular", scripts = {"Ital", "Latn"}, family = "itc", } m["xga"] = { canonicalName = "Galatian", type = "regular", scripts = {"Latn", "Grek"}, family = "cel", } m["xgb"] = { canonicalName = "Gbin", type = "regular", scripts = {"None"}, family = "dmn", } m["xgd"] = { canonicalName = "Gudang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgf"] = { canonicalName = "Gabrielino-Fernandeño", otherNames = {"Tongva", "Gabrielino", "Gabrieleño", "Fernandeño"}, type = "regular", scripts = {"Latn"}, family = "azc-tak", } m["xgg"] = { canonicalName = "Goreng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgi"] = { canonicalName = "Garingbal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgl"] = { canonicalName = "Galindan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgm"] = { canonicalName = "Darumbal", otherNames = {"Darambal", "Dharumbal", "Dharambal", "Guwinmal", "Kuinmabara", "Karunbara", "Rakiwara", "Wapabara"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgr"] = { canonicalName = "Garza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgu"] = { canonicalName = "Unggumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xgw"] = { canonicalName = "Guwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xha"] = { canonicalName = "Harami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xhc"] = { canonicalName = "Hunnic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xhd"] = { canonicalName = "Hadrami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xhe"] = { canonicalName = "Khetrani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xhr"] = { canonicalName = "Hernican", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xht"] = { canonicalName = "Hattic", type = "regular", scripts = {"Xsux"}, family = "qfa-iso", } m["xhu"] = { canonicalName = "Hurrian", type = "regular", scripts = {"Xsux"}, family = "qfa-hur", } m["xhv"] = { canonicalName = "Khua", type = "regular", scripts = {"None"}, family = "mkh", } m["xib"] = { canonicalName = "Iberian", type = "regular", scripts = {"Latn", "Ibrn"}, family = "qfa-iso", } m["xii"] = { canonicalName = "Xiri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xil"] = { canonicalName = "Illyrian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xin"] = { canonicalName = "Xinca", type = "regular", scripts = {"None"}, family = "qfa-xin", } m["xip"] = { canonicalName = "Xipináwa", otherNames = {"Shipinawa"}, type = "regular", scripts = {"None"}, family = "qfa-pan", } m["xir"] = { canonicalName = "Xiriâna", type = "regular", scripts = {"None"}, family = "awd", } m["xis"] = { canonicalName = "Kisan", -- a dialect of 'kru', said to be over 70 percent intelligible with it; cf 'kxl' type = "regular", scripts = {"None"}, family = "qfa-und", } m["xiv"] = { canonicalName = "Indus Valley Language", type = "regular", scripts = {"Inds"}, family = "qfa-und", } m["xiy"] = { canonicalName = "Xipaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xjb"] = { canonicalName = "Minjungbal", type = "regular", scripts = {"None"}, family = "aus-pam", } m["xka"] = { canonicalName = "Kalkoti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkb"] = { canonicalName = "Manigri-Kambolé Ede Nago", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkc"] = { canonicalName = "Kho'ini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkd"] = { canonicalName = "Mendalam Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xke"] = { canonicalName = "Kereho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkf"] = { canonicalName = "Khengkha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkg"] = { canonicalName = "Kagoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkh"] = { canonicalName = "Karahawyana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xki"] = { canonicalName = "Kenyan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["xkj"] = { canonicalName = "Kajali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkk"] = { canonicalName = "Kaco'", otherNames = {"Lamam"}, -- Lamam is a Kaco' clan name, formerly encoded by the ISO as 'lmm' type = "regular", scripts = {"None"}, family = "mkh", } m["xkl"] = { canonicalName = "Bakung", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["xkn"] = { canonicalName = "Kayan River Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xko"] = { canonicalName = "Kiorr", type = "regular", scripts = {"None"}, family = "aav", } m["xkp"] = { canonicalName = "Kabatei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkq"] = { canonicalName = "Koroni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkr"] = { canonicalName = "Xakriabá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xks"] = { canonicalName = "Kumbewaha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkt"] = { canonicalName = "Kantosi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xku"] = { canonicalName = "Kaamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkv"] = { canonicalName = "Kgalagadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkw"] = { canonicalName = "Kembra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkx"] = { canonicalName = "Karore", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["xky"] = { canonicalName = "Uma' Lasan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xkz"] = { canonicalName = "Kurtop", otherNames = {"Kurtöp", "Kurtopkha", "Kurtokha"}, type = "regular", scripts = {"Tibt", "Latn"}, family = "tbq", } m["xla"] = { canonicalName = "Kamula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xlb"] = { canonicalName = "Loup B", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xlc"] = { canonicalName = "Lycian", type = "regular", scripts = {"Lyci"}, family = "ine-ana", } m["xld"] = { canonicalName = "Lydian", type = "regular", scripts = {"Lydi"}, family = "ine-ana", } m["xle"] = { canonicalName = "Lemnian", type = "regular", scripts = {"Ital"}, family = "qfa-tyn", } m["xlg"] = { canonicalName = "Ancient Ligurian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xli"] = { canonicalName = "Liburnian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xln"] = { canonicalName = "Alanic", type = "regular", scripts = {"None"}, family = "ira", } m["xlo"] = { canonicalName = "Loup A", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xlp"] = { canonicalName = "Lepontic", type = "regular", scripts = {"Ital"}, family = "cel", } m["xls"] = { canonicalName = "Lusitanian", type = "regular", scripts = {"Latn"}, family = "ine", } m["xlu"] = { canonicalName = "Luwian", type = "regular", scripts = {"Xsux"}, family = "ine-ana", } m["xly"] = { canonicalName = "Elymian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xma"] = { canonicalName = "Mushungulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmb"] = { canonicalName = "Mbonga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmc"] = { canonicalName = "Makhuwa-Marrevone", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmd"] = { canonicalName = "Mbudum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xme"] = { canonicalName = "Median", type = "regular", scripts = {"Zyyy"}, family = "ira", } m["xmf"] = { canonicalName = "Mingrelian", type = "regular", scripts = {"Geor"}, family = "ccs", translit_module = "Geor-translit", } m["xmg"] = { canonicalName = "Mengaka", type = "regular", scripts = {"None"}, family = "bai", } m["xmh"] = { canonicalName = "Kugu-Muminh", otherNames = {"Kuku-Muminh"}, type = "regular", scripts = {"None"}, family = "aus-pmn", } m["xmj"] = { canonicalName = "Majera", type = "regular", scripts = {"None"}, family = "cdc", } m["xmk"] = { canonicalName = "Ancient Macedonian", type = "regular", scripts = {"Grek"}, family = "grk", } m["xml"] = { canonicalName = "Malaysian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["xmm"] = { canonicalName = "Manado Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmn"] = { canonicalName = "Manichaean Middle Persian", type = "regular", scripts = {"Mani"}, family = "ira", } m["xmo"] = { canonicalName = "Morerebi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmp"] = { canonicalName = "Kuku-Mu'inh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmq"] = { canonicalName = "Kuku-Mangk", type = "regular", scripts = {"None"}, family = "aus-pam", } m["xmr"] = { canonicalName = "Meroitic", type = "regular", scripts = {"Mero", "Merc"}, family = "afa", } m["xms"] = { canonicalName = "Moroccan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["xmt"] = { canonicalName = "Matbat", type = "regular", scripts = {"None"}, family = "poz-hce", } m["xmu"] = { canonicalName = "Kamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmx"] = { canonicalName = "Maden", type = "regular", scripts = {"None"}, family = "poz-hce", } m["xmy"] = { canonicalName = "Mayaguduna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xmz"] = { canonicalName = "Mori Bawah", type = "regular", scripts = {"Latn"}, family = "poz-btk", } m["xna"] = { canonicalName = "Ancient North Arabian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xnb"] = { canonicalName = "Kanakanabu", otherNames = {"Kanakanavu"}, type = "regular", scripts = {"Latn"}, family = "map", } m["xng"] = { canonicalName = "Middle Mongolian", type = "regular", scripts = {"Mong", "Arab", "Phag"}, family = "xgn", } m["xnh"] = { canonicalName = "Kuanhua", type = "regular", scripts = {"None"}, family = "mkh", } m["xni"] = { canonicalName = "Ngarigu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xnk"] = { canonicalName = "Nganakarti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xnn"] = { canonicalName = "Northern Kankanay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xnr"] = { canonicalName = "Kangri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xns"] = { canonicalName = "Kanashi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xnt"] = { canonicalName = "Narragansett", type = "regular", scripts = {"Latn"}, family = "alg", } m["xnu"] = { canonicalName = "Nukunul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xny"] = { canonicalName = "Nyiyaparli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xoc"] = { canonicalName = "O'chi'chi'", type = "regular", scripts = {"None"}, family = "nic-bco", } m["xod"] = { canonicalName = "Kokoda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xog"] = { canonicalName = "Soga", otherNames = {"Lusoga"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["xoi"] = { canonicalName = "Kominimung", type = "regular", scripts = {"None"}, family = "paa", } m["xok"] = { canonicalName = "Xokleng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xom"] = { canonicalName = "Komo", otherNames = {"Komo (Sudan)", "Madiin"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["xon"] = { canonicalName = "Konkomba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xoo"] = { canonicalName = "Xukurú", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xop"] = { canonicalName = "Kopar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xor"] = { canonicalName = "Korubo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xow"] = { canonicalName = "Kowaki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpa"] = { canonicalName = "Pirriya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpc"] = { canonicalName = "Pecheneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpe"] = { canonicalName = "Liberia Kpelle", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpg"] = { canonicalName = "Phrygian", type = "regular", scripts = {"Grek"}, family = "ine", } m["xpi"] = { canonicalName = "Pictish", type = "regular", scripts = {"Ogam", "Latn"}, family = "qfa-und", } m["xpj"] = { canonicalName = "Mpalitjanh", otherNames = {"Luthigh"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["xpk"] = { canonicalName = "Kulina", otherNames = {"Kulina Pano"}, type = "regular", scripts = {"None"}, family = "qfa-pan", } m["xpm"] = { canonicalName = "Pumpokol", type = "regular", scripts = {"Latn"}, family = "qfa-yen", } m["xpn"] = { canonicalName = "Kapinawá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpo"] = { canonicalName = "Pochutec", type = "regular", scripts = {"Latn"}, family = "azc-nah", } m["xpp"] = { canonicalName = "Puyo-Paekche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xpq"] = { canonicalName = "Mohegan-Pequot", type = "regular", scripts = {"Latn"}, family = "alg", } m["xpr"] = { canonicalName = "Parthian", type = "regular", scripts = {"Prti"}, family = "ira", } m["xps"] = { canonicalName = "Pisidian", type = "regular", scripts = {"None"}, family = "ine-ana", } m["xpu"] = { canonicalName = "Punic", type = "regular", scripts = {"Phnx"}, family = "sem-can", } m["xpy"] = { canonicalName = "Buyeo", type = "regular", scripts = {"Hani"}, family = "qfa-und", } m["xqa"] = { canonicalName = "Karakhanid", type = "regular", scripts = {"None"}, family = "trk", } m["xqt"] = { canonicalName = "Qatabanian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xra"] = { canonicalName = "Krahô", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrb"] = { canonicalName = "Eastern Karaboro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrd"] = { canonicalName = "Gundungurra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xre"] = { canonicalName = "Kreye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrg"] = { canonicalName = "Minang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xri"] = { canonicalName = "Krikati-Timbira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrm"] = { canonicalName = "Armazic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrn"] = { canonicalName = "Arin", type = "regular", scripts = {"Latn"}, family = "qfa-yen", } m["xrq"] = { canonicalName = "Karranga", otherNames = {"Karrangpurru"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["xrr"] = { canonicalName = "Raetic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrt"] = { canonicalName = "Aranama-Tamique", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xru"] = { canonicalName = "Marriammu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xrw"] = { canonicalName = "Karawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsa"] = { canonicalName = "Sabaean", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsb"] = { canonicalName = "Sambali", otherNames = {"Sambal", "Tina Sambal", "Tina"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["xsc"] = { canonicalName = "Scythian", type = "regular", scripts = {"None"}, family = "ira", } m["xsd"] = { canonicalName = "Sidetic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xse"] = { canonicalName = "Sempan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsh"] = { canonicalName = "Shamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsi"] = { canonicalName = "Sio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsl"] = { canonicalName = "South Slavey", type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["xsm"] = { canonicalName = "Kasem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xso"] = { canonicalName = "Solano", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["xsp"] = { canonicalName = "Silopi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsq"] = { canonicalName = "Makhuwa-Saka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsr"] = { canonicalName = "Sherpa", type = "regular", scripts = {"Tibt"}, family = "tbq", } m["xss"] = { canonicalName = "Assan", type = "regular", scripts = {"Latn"}, family = "qfa-yen", } m["xsu"] = { canonicalName = "Sanumá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xsv"] = { canonicalName = "Sudovian", otherNames = {"Jatvingian"}, type = "regular", scripts = {"Latn"}, family = "bat", } m["xsy"] = { canonicalName = "Saisiyat", type = "regular", scripts = {"Latn"}, family = "map", } m["xta"] = { canonicalName = "Alcozauca Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["xtb"] = { canonicalName = "Chazumba Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtc"] = { canonicalName = "Kadugli", otherNames = {"Katcha-Kadugli-Miri"}, type = "regular", scripts = {"Latn"}, family = "qfa-kad", } m["xtd"] = { canonicalName = "Diuxi-Tilantongo Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xte"] = { canonicalName = "Ketengban", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xth"] = { canonicalName = "Yitha Yitha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xti"] = { canonicalName = "Sinicahua Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtj"] = { canonicalName = "San Juan Teita Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtl"] = { canonicalName = "Tijaltepec Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtm"] = { canonicalName = "Magdalena Peñasco Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtn"] = { canonicalName = "Northern Tlaxiaco Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xto"] = { canonicalName = "Tocharian A", otherNames = {"East Tocharian", "Agnean"}, type = "regular", scripts = {"None"}, family = "ine-toc", } m["xtp"] = { canonicalName = "San Miguel Piedras Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtq"] = { canonicalName = "Tumshuqese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xtr"] = { canonicalName = "Early Tripuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xts"] = { canonicalName = "Sindihui Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtt"] = { canonicalName = "Tacahua Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtu"] = { canonicalName = "Cuyamecalco Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtv"] = { canonicalName = "Thawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xtw"] = { canonicalName = "Tawandê", type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["xty"] = { canonicalName = "Yoloxochitl Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["xtz"] = { canonicalName = "Tasmanian", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["xua"] = { canonicalName = "Alu Kurumba", type = "regular", scripts = {"None"}, family = "dra", } m["xub"] = { canonicalName = "Betta Kurumba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xug"] = { canonicalName = "Kunigami", type = "regular", scripts = {"None"}, family = "jpx", } m["xuj"] = { canonicalName = "Jennu Kurumba", type = "regular", scripts = {"None"}, family = "dra", } m["xul"] = { canonicalName = "Ngunawal", type = "regular", scripts = {"Latn"}, family = "aus-yuk", } m["xum"] = { canonicalName = "Umbrian", type = "regular", scripts = {"Ital", "Latn"}, family = "itc", } m["xuo"] = { canonicalName = "Kuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xup"] = { canonicalName = "Upper Umpqua", type = "regular", scripts = {"None"}, family = "ath-pco", } m["xur"] = { canonicalName = "Urartian", type = "regular", scripts = {"Xsux"}, family = "qfa-hur", } m["xut"] = { canonicalName = "Kuthant", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xuu"] = { canonicalName = "Kxoe", otherNames = {"Khwe"}, type = "regular", scripts = {"Latn"}, family = "khi", } m["xve"] = { canonicalName = "Venetic", type = "regular", scripts = {"Ital"}, family = "ine", } m["xvi"] = { canonicalName = "Kamviri", type = "regular", scripts = {"Arab"}, family = "qfa-und", } m["xvn"] = { canonicalName = "Vandalic", type = "regular", scripts = {"Latn"}, family = "gme", } m["xvo"] = { canonicalName = "Volscian", type = "regular", scripts = {"Latn"}, family = "itc", } m["xvs"] = { canonicalName = "Vestinian", type = "regular", scripts = {"Latn"}, family = "itc", } m["xwa"] = { canonicalName = "Kwaza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwc"] = { canonicalName = "Woccon", type = "regular", scripts = {"Latn"}, family = "qfa-cat", } m["xwd"] = { canonicalName = "Wadi Wadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwe"] = { canonicalName = "Xwela Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwg"] = { canonicalName = "Kwegu", type = "regular", scripts = {"None"}, family = "sdv", } m["xwj"] = { canonicalName = "Wajuk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwk"] = { canonicalName = "Wangkumara", otherNames = {"Wanggumara", "Karenggapa", "Punthamara"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["xwl"] = { canonicalName = "Western Xwla Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwo"] = { canonicalName = "Written Oirat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xwr"] = { canonicalName = "Kwerba Mamberamo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xww"] = { canonicalName = "Wemba-Wemba", otherNames = {"Wemba Wemba", "Wamba-Wamba", "Wamba Wamba", "Wembawemba", "Baraba-Baraba", "Barababaraba", "Nari-Nari", "Wergaia", "Wotjobaluk"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["xxk"] = { canonicalName = "Ke'o", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xxm"] = { canonicalName = "Minkin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xxr"] = { canonicalName = "Koropó", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xxt"] = { canonicalName = "Tambora", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["xya"] = { canonicalName = "Yaygir", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xyb"] = { canonicalName = "Yandjibara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xyl"] = { canonicalName = "Yalakalore", type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["xzh"] = { canonicalName = "Zhang-Zhung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xzm"] = { canonicalName = "Zemgalian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["xzp"] = { canonicalName = "Ancient Zapotec", type = "regular", scripts = {"None"}, family = "qfa-und", } return m gmab1i3j8sz2nla6go54e1cjqg1zl7g Module:languages/data3/t 828 4688 13334 2015-05-31T23:48:06Z Dalmo Pereira 1417 Bog cusub: 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... 13334 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 m = {} m["taa"] = { canonicalName = "Lower Tanana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tab"] = { canonicalName = "Tabasaran", otherNames = {"Tabassaran"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "tab-translit", } m["tac"] = { canonicalName = "Lowland Tarahumara", type = "regular", scripts = {"None"}, family = "azc-trc", } m["tad"] = { canonicalName = "Tause", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tae"] = { canonicalName = "Tariana", type = "regular", scripts = {"None"}, family = "awd", } m["taf"] = { canonicalName = "Tapirapé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tag"] = { canonicalName = "Tagoi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["taj"] = { canonicalName = "Eastern Tamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tak"] = { canonicalName = "Tala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tal"] = { canonicalName = "Tal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tan"] = { canonicalName = "Tangale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tao"] = { canonicalName = "Yami", otherNames = {"Tao"}, type = "regular", scripts = {"Latn"}, family = "phi", } m["tap"] = { canonicalName = "Taabwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["taq"] = { canonicalName = "Tamasheq", type = "regular", scripts = {"None"}, family = "ber", } m["tar"] = { canonicalName = "Central Tarahumara", type = "regular", scripts = {"Latn"}, family = "azc-trc", } m["tas"] = { canonicalName = "Tay Boi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tau"] = { canonicalName = "Upper Tanana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tav"] = { canonicalName = "Tatuyo", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["taw"] = { canonicalName = "Tai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tax"] = { canonicalName = "Tamki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tay"] = { canonicalName = "Atayal", type = "regular", scripts = {"Latn"}, family = "map", } m["taz"] = { canonicalName = "Tocho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tba"] = { canonicalName = "Aikanã", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["tbb"] = { canonicalName = "Tapeba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbc"] = { canonicalName = "Takia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbd"] = { canonicalName = "Kaki Ae", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tbe"] = { canonicalName = "Tanimbili", type = "regular", scripts = {"None"}, family = "poz-oce", } m["tbf"] = { canonicalName = "Mandara", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tbg"] = { canonicalName = "North Tairora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbh"] = { canonicalName = "Thurawal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbi"] = { canonicalName = "Gaam", type = "regular", scripts = {"None"}, family = "sdv", } m["tbj"] = { canonicalName = "Tiang", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tbk"] = { canonicalName = "Calamian Tagbanwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbl"] = { canonicalName = "Tboli", type = "regular", scripts = {"None"}, family = "phi", } m["tbm"] = { canonicalName = "Tagbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbn"] = { canonicalName = "Barro Negro Tunebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbo"] = { canonicalName = "Tawala", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tbp"] = { canonicalName = "Taworta", otherNames = {"Diebroud", "Dabra"}, type = "regular", scripts = {"None"}, family = "paa-lkp", } m["tbr"] = { canonicalName = "Tumtum", type = "regular", scripts = {"None"}, family = "qfa-kad", } m["tbs"] = { canonicalName = "Tanguat", type = "regular", scripts = {"None"}, family = "paa", } m["tbt"] = { canonicalName = "Kitembo", otherNames = {"Tembo"}, type = "regular", scripts = {"None"}, family = "bnt", } m["tbu"] = { canonicalName = "Tubar", otherNames = {"Tubare"}, type = "regular", scripts = {"None"}, family = "azc-trc", } m["tbv"] = { canonicalName = "Tobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbw"] = { canonicalName = "Tagbanwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbx"] = { canonicalName = "Kapin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tby"] = { canonicalName = "Tabaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tbz"] = { canonicalName = "Ditammari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tca"] = { canonicalName = "Ticuna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcb"] = { canonicalName = "Tanacross", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcc"] = { canonicalName = "Datooga", type = "regular", scripts = {"None"}, family = "sdv", } m["tcd"] = { canonicalName = "Tafi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tce"] = { canonicalName = "Southern Tutchone", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcf"] = { canonicalName = "Malinaltepec Tlapanec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcg"] = { canonicalName = "Tamagario", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tch"] = { canonicalName = "Turks And Caicos Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tci"] = { canonicalName = "Wára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tck"] = { canonicalName = "Tchitchege", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcm"] = { canonicalName = "Tanahmerah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcn"] = { canonicalName = "Tichurong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tco"] = { canonicalName = "Taungyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcp"] = { canonicalName = "Tawr Chin", otherNames = {"Tawr"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["tcq"] = { canonicalName = "Kaiy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcs"] = { canonicalName = "Torres Strait Creole", otherNames = {"Big Thap", "Blaikman", "Brokan", "Broken", "Broken English", "Cape York Creole", "Lockhart Creole", "Papuan Pidgin English", "Torres Strait Brokan", "Torres Strait Broken", "Torres Strait Pidgin", "Yumplatok"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["tct"] = { canonicalName = "T'en", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcu"] = { canonicalName = "Southeastern Tarahumara", type = "regular", scripts = {"None"}, family = "azc-trc", } m["tcw"] = { canonicalName = "Tecpatlán Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tcx"] = { canonicalName = "Toda", type = "regular", scripts = {"None"}, family = "dra", } m["tcy"] = { canonicalName = "Tulu", type = "regular", scripts = {"Knda"}, family = "dra", } m["tcz"] = { canonicalName = "Thado Chin", otherNames = {"Thado"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["tda"] = { canonicalName = "Tagdal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdb"] = { canonicalName = "Panchpargania", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdc"] = { canonicalName = "Emberá-Tadó", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdd"] = { canonicalName = "Tai Nüa", type = "regular", scripts = {"Tale"}, family = "tai-swe", } m["tde"] = { canonicalName = "Tiranige Diga Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["tdf"] = { canonicalName = "Talieng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdg"] = { canonicalName = "Western Tamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdh"] = { canonicalName = "Thulung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdi"] = { canonicalName = "Tomadino", type = "regular", scripts = {"Latn"}, family = "poz-btk", } m["tdj"] = { canonicalName = "Tajio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdk"] = { canonicalName = "Tambas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdl"] = { canonicalName = "Sur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdn"] = { canonicalName = "Tondano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdo"] = { canonicalName = "Teme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdq"] = { canonicalName = "Tita", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdr"] = { canonicalName = "Todrah", type = "regular", scripts = {"None"}, family = "mkh", } m["tds"] = { canonicalName = "Doutai", otherNames = {"Taori"}, type = "regular", scripts = {"None"}, family = "paa-lkp", } m["tdt"] = { canonicalName = "Tetun Dili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdu"] = { canonicalName = "Tempasuk Dusun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdv"] = { canonicalName = "Toro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tdy"] = { canonicalName = "Tadyawan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tea"] = { canonicalName = "Temiar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["teb"] = { canonicalName = "Tetete", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["tec"] = { canonicalName = "Terik", type = "regular", scripts = {"None"}, family = "sdv", } m["ted"] = { canonicalName = "Tepo Krumen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tee"] = { canonicalName = "Huehuetla Tepehua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tef"] = { canonicalName = "Teressa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["teg"] = { canonicalName = "Teke-Tege", type = "regular", scripts = {"None"}, family = "qfa-und", } m["teh"] = { canonicalName = "Tehuelche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tei"] = { canonicalName = "Torricelli", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["tek"] = { canonicalName = "Ibali Teke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tem"] = { canonicalName = "Timne", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ten"] = { canonicalName = "Tama (Colombia)", otherNames = {"Tama"}, type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["teo"] = { canonicalName = "Ateso", type = "regular", scripts = {"Latn"}, family = "sdv", } m["tep"] = { canonicalName = "Tepecano", type = "regular", scripts = {"None"}, family = "azc", } m["teq"] = { canonicalName = "Temein", type = "regular", scripts = {"None"}, family = "sdv", } m["ter"] = { canonicalName = "Tereno", type = "regular", scripts = {"None"}, family = "awd", } m["tes"] = { canonicalName = "Tengger", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tet"] = { canonicalName = "Tetum", type = "regular", scripts = {"Latn"}, family = "plf", } m["teu"] = { canonicalName = "Soo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tev"] = { canonicalName = "Teor", type = "regular", scripts = {"None"}, family = "plf", } m["tew"] = { canonicalName = "Tewa", otherNames = {"Tano", "Santa Clara Tewa", "San Ildefonso Tewa", "Tesuque Tewa", "Nambe Tewa", "Ohkay Owingeh", "Pojoaque"}, type = "regular", scripts = {"Latn"}, family = "qfa-kta", } m["tex"] = { canonicalName = "Tennet", type = "regular", scripts = {"None"}, family = "sdv", } m["tey"] = { canonicalName = "Tulishi", type = "regular", scripts = {"Latn"}, family = "qfa-kad", } m["tfi"] = { canonicalName = "Tofin Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tfn"] = { canonicalName = "Dena'ina", type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["tfo"] = { canonicalName = "Tefaro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tfr"] = { canonicalName = "Teribe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tft"] = { canonicalName = "Ternate", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tga"] = { canonicalName = "Sagalla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgb"] = { canonicalName = "Tobilung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgc"] = { canonicalName = "Tigak", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tgd"] = { canonicalName = "Ciwogai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tge"] = { canonicalName = "Eastern Gorkha Tamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgf"] = { canonicalName = "Chalikha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgg"] = { canonicalName = "Tangga", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tgh"] = { canonicalName = "Tobagonian Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgi"] = { canonicalName = "Lawunuia", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tgn"] = { canonicalName = "Tandaganon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgo"] = { canonicalName = "Sudest", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tgp"] = { canonicalName = "Tangoa", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["tgq"] = { canonicalName = "Tring", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgr"] = { canonicalName = "Tareng", type = "regular", scripts = {"None"}, family = "mkh", } m["tgs"] = { canonicalName = "Nume", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tgt"] = { canonicalName = "Central Tagbanwa", type = "regular", scripts = {"Tagb"}, family = "phi", } m["tgu"] = { canonicalName = "Tanggu", type = "regular", scripts = {"None"}, family = "paa", } m["tgv"] = { canonicalName = "Tingui-Boto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgw"] = { canonicalName = "Tagwana Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgx"] = { canonicalName = "Tagish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tgy"] = { canonicalName = "Togoyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thc"] = { canonicalName = "Tai Hang Tong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thd"] = { canonicalName = "Kuuk Thaayorre", otherNames = {"Thaayorre", "Thayore"}, type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["the"] = { canonicalName = "Chitwania Tharu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thf"] = { canonicalName = "Thangmi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thh"] = { canonicalName = "Northern Tarahumara", type = "regular", scripts = {"None"}, family = "azc-trc", } m["thi"] = { canonicalName = "Tai Long", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thk"] = { canonicalName = "Tharaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thl"] = { canonicalName = "Dangaura Tharu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thm"] = { canonicalName = "Aheu", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["thn"] = { canonicalName = "Thachanadan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thp"] = { canonicalName = "Thompson", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thq"] = { canonicalName = "Kochila Tharu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thr"] = { canonicalName = "Rana Tharu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ths"] = { canonicalName = "Thakali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tht"] = { canonicalName = "Tahltan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thu"] = { canonicalName = "Thuri", type = "regular", scripts = {"None"}, family = "sdv", } m["thv"] = { canonicalName = "Tahaggart Tamahaq", otherNames = {"Tamahaq", "Tahaggart", "Ahaggar"}, type = "regular", scripts = {"None"}, family = "ber", } m["thw"] = { canonicalName = "Thudam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thy"] = { canonicalName = "Tha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["thz"] = { canonicalName = "Tayart Tamajeq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tia"] = { canonicalName = "Tidikelt Tamazight", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tic"] = { canonicalName = "Tira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tid"] = { canonicalName = "Tidong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tie"] = { canonicalName = "Tingal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tif"] = { canonicalName = "Tifal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tig"] = { canonicalName = "Tigre", type = "regular", scripts = {"Ethi"}, family = "sem-eth", translit_module = "Ethi-translit", } m["tih"] = { canonicalName = "Timugon Murut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tii"] = { canonicalName = "Tiene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tij"] = { canonicalName = "Tilung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tik"] = { canonicalName = "Tikar", type = "regular", scripts = {"None"}, family = "nic-bod", } m["til"] = { canonicalName = "Tillamook", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tim"] = { canonicalName = "Timbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tin"] = { canonicalName = "Tindi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tio"] = { canonicalName = "Teop", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tip"] = { canonicalName = "Trimuris", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tiq"] = { canonicalName = "Tiéfo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tis"] = { canonicalName = "Masadiit Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tit"] = { canonicalName = "Tinigua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tiu"] = { canonicalName = "Adasen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tiv"] = { canonicalName = "Tivi", otherNames = {"Tiv"}, type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["tiw"] = { canonicalName = "Tiwi", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["tix"] = { canonicalName = "Southern Tiwa", otherNames = {"Isleta", "Isleta Tiwa", "Isleta Pueblo", "Sandia", "Sandia Tiwa", "Sandia Pueblo"}, type = "regular", scripts = {"Latn"}, family = "qfa-kta", } m["tiy"] = { canonicalName = "Tiruray", type = "regular", scripts = {"Latn"}, family = "phi", } m["tiz"] = { canonicalName = "Tai Hongjin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tja"] = { canonicalName = "Tajuasohn", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tjg"] = { canonicalName = "Tunjung", type = "regular", scripts = {"None"}, family = "poz", } m["tji"] = { canonicalName = "Northern Tujia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tjm"] = { canonicalName = "Timucua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tjn"] = { canonicalName = "Tonjon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tjo"] = { canonicalName = "Temacine Tamazight", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tjs"] = { canonicalName = "Southern Tujia", type = "regular", scripts = {"Latn"}, family = "tbq", } m["tju"] = { canonicalName = "Tjurruru", type = "regular", scripts = {"None"}, family = "aus-nga", } m["tjw"] = { canonicalName = "Chaap Wuurong", otherNames = {"Djabwurrung", "Djab Wurrung", "Tjapwurrung"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["tka"] = { canonicalName = "Truká", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkb"] = { canonicalName = "Buksa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkd"] = { canonicalName = "Tukudede", type = "regular", scripts = {"Latn"}, family = "plf", } m["tke"] = { canonicalName = "Takwane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkf"] = { canonicalName = "Tukumanféd", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkl"] = { canonicalName = "Tokelau", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["tkm"] = { canonicalName = "Takelma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkn"] = { canonicalName = "Toku-No-Shima", type = "regular", scripts = {"None"}, family = "jpx", } m["tkp"] = { canonicalName = "Tikopia", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["tkq"] = { canonicalName = "Tee", type = "regular", scripts = {"None"}, family = "nic-bco", } m["tkr"] = { canonicalName = "Tsakhur", otherNames = {"Caxur", "Tsaxur"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["tks"] = { canonicalName = "Takestani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkt"] = { canonicalName = "Kathoriya Tharu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tku"] = { canonicalName = "Upper Necaxa Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkv"] = { canonicalName = "Mur Pano", otherNames = {"Pano"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkw"] = { canonicalName = "Teanu", type = "regular", scripts = {"None"}, family = "poz-oce", } m["tkx"] = { canonicalName = "Tangko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tkz"] = { canonicalName = "Takua", type = "regular", scripts = {"None"}, family = "mkh", } m["tla"] = { canonicalName = "Southwestern Tepehuan", type = "regular", scripts = {"None"}, family = "azc", } m["tlb"] = { canonicalName = "Tobelo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlc"] = { canonicalName = "Yecuatla Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tld"] = { canonicalName = "Talaud", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlf"] = { canonicalName = "Telefol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlg"] = { canonicalName = "Tofanma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlh"] = { canonicalName = "Klingon", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["tli"] = { canonicalName = "Tlingit", type = "regular", scripts = {"Latn", "Cyrl"}, family = "xnd", } m["tlj"] = { canonicalName = "Talinga-Bwisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlk"] = { canonicalName = "Taloki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tll"] = { canonicalName = "Tetela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlm"] = { canonicalName = "Tolomako", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tln"] = { canonicalName = "Talondo'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlo"] = { canonicalName = "Talodi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlp"] = { canonicalName = "Filomena Mata-Coahuitlán Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlq"] = { canonicalName = "Tai Loi", type = "regular", scripts = {"None"}, family = "aav", } m["tlr"] = { canonicalName = "Talise", type = "regular", scripts = {"None"}, family = "poz-sls", } m["tls"] = { canonicalName = "Tambotalo", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tlt"] = { canonicalName = "Teluti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tlu"] = { canonicalName = "Tulehu", type = "regular", scripts = {"None"}, family = "plf", } m["tlv"] = { canonicalName = "Taliabu", type = "regular", scripts = {"Latn"}, family = "plf", } m["tlx"] = { canonicalName = "Khehek", type = "regular", scripts = {"None"}, family = "poz-aay", } m["tly"] = { canonicalName = "Talysh", otherNames = {"Asalemi", "Anbarani"}, -- last two names are very rare, but were in some trans tables here type = "regular", scripts = {"Latn", "Cyrl", "fa-Arab"}, family = "ira", } m["tma"] = { canonicalName = "Tama (Chad)", otherNames = {"Tama"}, type = "regular", scripts = {"None"}, family = "sdv", } m["tmb"] = { canonicalName = "Avava", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tmc"] = { canonicalName = "Tumak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmd"] = { canonicalName = "Haruai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tme"] = { canonicalName = "Tremembé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmf"] = { canonicalName = "Toba-Maskoy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmg"] = { canonicalName = "Ternateño", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmh"] = { canonicalName = "Tamashek", otherNames = {"Tamahaq", "Tamajaq", "Tamasheq", "Tuareg"}, type = "regular", scripts = {"None"}, family = "ber", } m["tmi"] = { canonicalName = "Tutuba", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tmj"] = { canonicalName = "Samarokena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmk"] = { canonicalName = "Northwestern Tamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tml"] = { canonicalName = "Tamnim Citak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmm"] = { canonicalName = "Tai Thanh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmo"] = { canonicalName = "Temoq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmp"] = { canonicalName = "Tai Mène", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmq"] = { canonicalName = "Tumleo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tms"] = { canonicalName = "Tima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmt"] = { canonicalName = "Tasmate", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tmu"] = { canonicalName = "Iau", otherNames = {"Turu"}, type = "regular", scripts = {"None"}, family = "paa-lkp", } m["tmv"] = { canonicalName = "Motembo", otherNames = {"Tembo"}, type = "regular", scripts = {"None"}, family = "bnt", } m["tmw"] = { canonicalName = "Temuan", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["tmy"] = { canonicalName = "Tami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tmz"] = { canonicalName = "Tamanaku", type = "regular", scripts = {"None"}, family = "sai-car", } m["tna"] = { canonicalName = "Tacana", type = "regular", scripts = {"Latn"}, family = "qfa-tac", } m["tnb"] = { canonicalName = "Western Tunebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnc"] = { canonicalName = "Tanimuca-Retuarã", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["tnd"] = { canonicalName = "Angosturas Tunebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tne"] = { canonicalName = "Tinoc Kallahan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tng"] = { canonicalName = "Tobanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnh"] = { canonicalName = "Maiani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tni"] = { canonicalName = "Tandia", type = "regular", scripts = {"None"}, family = "poz-hce", } m["tnk"] = { canonicalName = "Kwamera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnl"] = { canonicalName = "Lenakel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnm"] = { canonicalName = "Tabla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnn"] = { canonicalName = "North Tanna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tno"] = { canonicalName = "Toromono", type = "regular", scripts = {"None"}, family = "qfa-tac", } m["tnp"] = { canonicalName = "Whitesands", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnq"] = { canonicalName = "Taino", otherNames = {"Taíno"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["tnr"] = { canonicalName = "Bedik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tns"] = { canonicalName = "Tenis", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tnt"] = { canonicalName = "Tontemboan", type = "regular", scripts = {"Latn"}, family = "phi", } m["tnu"] = { canonicalName = "Tay Khang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnv"] = { canonicalName = "Tangchangya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnw"] = { canonicalName = "Tonsawang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tnx"] = { canonicalName = "Tanema", type = "regular", scripts = {"None"}, family = "poz-oce", } m["tny"] = { canonicalName = "Tongwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tob"] = { canonicalName = "Toba", otherNames = {"Chaco Sur", "Namqom", "Qom", "Toba Qom"}, type = "regular", scripts = {"Latn"}, family = "sai-gua", } m["toc"] = { canonicalName = "Coyutla Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tod"] = { canonicalName = "Toma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["toe"] = { canonicalName = "Tomedes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tof"] = { canonicalName = "Gizrra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tog"] = { canonicalName = "Chitonga", otherNames = {"Kitonga", "Siska", "Sisya", "Tonga", "Western Nyasa"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["toh"] = { canonicalName = "Gitonga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["toi"] = { canonicalName = "Tonga", otherNames = {"Chitonga", "Plateau Tonga", "Zambezi"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["toj"] = { canonicalName = "Tojolabal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tol"] = { canonicalName = "Tolowa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tom"] = { canonicalName = "Tombulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["too"] = { canonicalName = "Xicotepec De Juárez Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["top"] = { canonicalName = "Papantla Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["toq"] = { canonicalName = "Toposa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tor"] = { canonicalName = "Togbo-Vara Banda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tos"] = { canonicalName = "Highland Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tou"] = { canonicalName = "Tho", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["tov"] = { canonicalName = "Upper Taromi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tow"] = { canonicalName = "Jemez", type = "regular", scripts = {"None"}, family = "qfa-kta", } m["tox"] = { canonicalName = "Tobian", type = "regular", scripts = {"None"}, family = "poz-mic", } m["toy"] = { canonicalName = "Topoiyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["toz"] = { canonicalName = "To", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpa"] = { canonicalName = "Taupota", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tpc"] = { canonicalName = "Azoyú Me'phaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpe"] = { canonicalName = "Tippera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpf"] = { canonicalName = "Tarpia", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tpg"] = { canonicalName = "Kula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpi"] = { canonicalName = "Tok Pisin", otherNames = {"Melanesian Pidgin English", "Neo-Melanesian", "New Guinea Pidgin"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["tpj"] = { canonicalName = "Tapieté", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpk"] = { canonicalName = "Tupinikin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpl"] = { canonicalName = "Tlacoapa Me'phaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpm"] = { canonicalName = "Tampulma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpn"] = { canonicalName = "Tupinambá", type = "regular", scripts = {"Latn"}, family = "tup", } m["tpo"] = { canonicalName = "Tai Pao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpp"] = { canonicalName = "Pisaflores Tepehua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpq"] = { canonicalName = "Tukpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpr"] = { canonicalName = "Tuparí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpt"] = { canonicalName = "Tlachichilco Tepehua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpu"] = { canonicalName = "Tampuan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpv"] = { canonicalName = "Tanapag", type = "regular", scripts = {"None"}, family = "poz-mic", } m["tpw"] = { canonicalName = "Old Tupi", type = "regular", scripts = {"Latn"}, family = "tup", } m["tpx"] = { canonicalName = "Acatepec Me'phaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpy"] = { canonicalName = "Trumai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tpz"] = { canonicalName = "Tinputz", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tqb"] = { canonicalName = "Tembé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tql"] = { canonicalName = "Lehali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqm"] = { canonicalName = "Turumsa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqn"] = { canonicalName = "Tenino", type = "regular", scripts = {"None"}, family = "nai-shp", } m["tqo"] = { canonicalName = "Toaripi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqp"] = { canonicalName = "Tomoip", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tqq"] = { canonicalName = "Tunni", type = "regular", scripts = {"None"}, family = "cus", } m["tqr"] = { canonicalName = "Torona", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqt"] = { canonicalName = "Western Totonac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqu"] = { canonicalName = "Touo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tqw"] = { canonicalName = "Tonkawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tra"] = { canonicalName = "Tirahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trb"] = { canonicalName = "Terebu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["trc"] = { canonicalName = "Copala Triqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trd"] = { canonicalName = "Turi", type = "regular", scripts = {"None"}, family = "mun", } m["tre"] = { canonicalName = "East Tarangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trf"] = { canonicalName = "Trinidadian Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trg"] = { canonicalName = "Lishán Didán", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trh"] = { canonicalName = "Turaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tri"] = { canonicalName = "Trió", type = "regular", scripts = {"None"}, family = "sai-car", } m["trj"] = { canonicalName = "Toram", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trl"] = { canonicalName = "Traveller Scottish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trm"] = { canonicalName = "Tregami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trn"] = { canonicalName = "Trinitario", type = "regular", scripts = {"None"}, family = "awd", } m["tro"] = { canonicalName = "Tarao", otherNames = {"Tarao Naga", "Taraotrong", "Tarau"}, type = "regular", scripts = {"Latn"}, family = "tbq", } m["trp"] = { canonicalName = "Kokborok", type = "regular", scripts = {"None"}, family = "tbq", } m["trq"] = { canonicalName = "San Martín Itunyoso Triqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trr"] = { canonicalName = "Taushiro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trs"] = { canonicalName = "Chicahuaxtla Triqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trt"] = { canonicalName = "Tunggare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tru"] = { canonicalName = "Turoyo", type = "regular", scripts = {"Syrc", "Latn"}, family = "sem-ara", } m["trv"] = { canonicalName = "Taroko", otherNames = {"Seediq"}, type = "regular", scripts = {"Latn"}, family = "map", } m["trw"] = { canonicalName = "Torwali", type = "regular", scripts = {"ur-Arab"}, family = "iir-dar", } m["trx"] = { canonicalName = "Tringgus", otherNames = {"Tringus", "Tringgus-Sembaan Bidayuh"}, type = "regular", scripts = {"None"}, family = "day", } m["try"] = { canonicalName = "Turung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["trz"] = { canonicalName = "Torá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsa"] = { canonicalName = "Tsaangi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsb"] = { canonicalName = "Tsamai", type = "regular", scripts = {"None"}, family = "cus", } m["tsc"] = { canonicalName = "Tswa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsd"] = { canonicalName = "Tsakonian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tse"] = { canonicalName = "Tunisian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["tsf"] = { canonicalName = "Southwestern Tamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsg"] = { canonicalName = "Tausug", type = "regular", scripts = {"Latn"}, family = "phi", } m["tsh"] = { canonicalName = "Tsuvan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsi"] = { canonicalName = "Tsimshian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsj"] = { canonicalName = "Tshangla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsk"] = { canonicalName = "Tseku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsl"] = { canonicalName = "Ts'ün-Lao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsm"] = { canonicalName = "Turkish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["tsp"] = { canonicalName = "Northern Toussian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsq"] = { canonicalName = "Thai Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["tsr"] = { canonicalName = "Akei", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tss"] = { canonicalName = "Taiwan Sign Language", type = "regular", scripts = {"None"}, family = "sgn-jsl", } m["tsu"] = { canonicalName = "Tsou", type = "regular", scripts = {"Latn"}, family = "map", } m["tsv"] = { canonicalName = "Tsogo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsw"] = { canonicalName = "Tsishingini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsx"] = { canonicalName = "Mubami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tsy"] = { canonicalName = "Tebul Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["tta"] = { canonicalName = "Tutelo", type = "regular", scripts = {"None"}, family = "sio", } m["ttb"] = { canonicalName = "Gaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttc"] = { canonicalName = "Tektiteko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttd"] = { canonicalName = "Tauade", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tte"] = { canonicalName = "Bwanabwana", otherNames = {"Tubetube"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["ttf"] = { canonicalName = "Tuotomb", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ttg"] = { canonicalName = "Tutong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tth"] = { canonicalName = "Upper Ta'oih", type = "regular", scripts = {"None"}, family = "mkh", } m["tti"] = { canonicalName = "Tobati", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ttj"] = { canonicalName = "Tooro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttk"] = { canonicalName = "Totoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttl"] = { canonicalName = "Totela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttm"] = { canonicalName = "Northern Tutchone", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttn"] = { canonicalName = "Towei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tto"] = { canonicalName = "Lower Ta'oih", type = "regular", scripts = {"None"}, family = "mkh", } m["ttp"] = { canonicalName = "Tombelala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttq"] = { canonicalName = "Tawallammat Tamajaq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttr"] = { canonicalName = "Tera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tts"] = { canonicalName = "Isan", otherNames = {"Isanese", "Isaan", "Issan"}, type = "regular", scripts = {"Thai"}, family = "tai-swe", } m["ttt"] = { canonicalName = "Tat", otherNames = {"Muslim Tat"}, type = "regular", scripts = {"Latn", "Cyrl"}, family = "ira", } m["ttu"] = { canonicalName = "Torau", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ttv"] = { canonicalName = "Titan", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ttw"] = { canonicalName = "Long Wat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tty"] = { canonicalName = "Sikaritai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ttz"] = { canonicalName = "Tsum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tua"] = { canonicalName = "Wiarumus", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["tub"] = { canonicalName = "Tübatulabal", type = "regular", scripts = {"None"}, family = "azc", } m["tuc"] = { canonicalName = "Mutu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tud"] = { canonicalName = "Tuxá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tue"] = { canonicalName = "Tuyuca", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["tuf"] = { canonicalName = "Central Tunebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tug"] = { canonicalName = "Tunia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tuh"] = { canonicalName = "Taulil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tui"] = { canonicalName = "Tupuri", type = "regular", scripts = {"None"}, family = "alv", } m["tuj"] = { canonicalName = "Tugutil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tul"] = { canonicalName = "Tula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tum"] = { canonicalName = "Tumbuka", type = "regular", scripts = {"Latn"}, family = "bnt", } m["tun"] = { canonicalName = "Tunica", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["tuo"] = { canonicalName = "Tucano", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["tuq"] = { canonicalName = "Tedaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tus"] = { canonicalName = "Tuscarora", type = "regular", scripts = {"None"}, family = "iro", } m["tuu"] = { canonicalName = "Tututni", type = "regular", scripts = {"None"}, family = "ath-pco", } m["tuv"] = { canonicalName = "Turkana", type = "regular", scripts = {"None"}, family = "sdv", } m["tux"] = { canonicalName = "Tuxináwa", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["tuy"] = { canonicalName = "Tugen", type = "regular", scripts = {"None"}, family = "sdv", } m["tuz"] = { canonicalName = "Turka", type = "regular", scripts = {"None"}, family = "nic-gur", } m["tva"] = { canonicalName = "Vaghua", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["tvd"] = { canonicalName = "Tsuvadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tve"] = { canonicalName = "Te'un", type = "regular", scripts = {"None"}, family = "plf", } m["tvk"] = { canonicalName = "Southeast Ambrym", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["tvl"] = { canonicalName = "Tuvaluan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["tvm"] = { canonicalName = "Tela-Masbuar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvn"] = { canonicalName = "Tavoyan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvo"] = { canonicalName = "Tidore", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvs"] = { canonicalName = "Taveta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvt"] = { canonicalName = "Tutsa Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvu"] = { canonicalName = "Tunen", otherNames = {"Tunen-Aling'a"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["tvw"] = { canonicalName = "Sedoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tvy"] = { canonicalName = "Timor Pidgin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twa"] = { canonicalName = "Twana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twb"] = { canonicalName = "Western Tawbuid", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twc"] = { canonicalName = "Teshenawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twe"] = { canonicalName = "Teiwa", otherNames = {"Tewa"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["twf"] = { canonicalName = "Taos", otherNames = {"Northern Tiwa"}, type = "regular", scripts = {"Latn"}, family = "qfa-kta", } m["twg"] = { canonicalName = "Tereweng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twh"] = { canonicalName = "Tai Dón", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twl"] = { canonicalName = "Tawara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twm"] = { canonicalName = "Tawang Monpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twn"] = { canonicalName = "Twendi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["two"] = { canonicalName = "Tswapong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twp"] = { canonicalName = "Ere", type = "regular", scripts = {"None"}, family = "poz-aay", } m["twq"] = { canonicalName = "Tasawaq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twr"] = { canonicalName = "Southwestern Tarahumara", type = "regular", scripts = {"None"}, family = "azc-trc", } m["twt"] = { canonicalName = "Turiwára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twu"] = { canonicalName = "Termanu", type = "regular", scripts = {"None"}, family = "plf", } m["tww"] = { canonicalName = "Tuwari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twx"] = { canonicalName = "Tewe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["twy"] = { canonicalName = "Tawoyan", otherNames = {"Taboyan"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["txa"] = { canonicalName = "Tombonuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txb"] = { canonicalName = "Tocharian B", otherNames = {"West Tocharian", "Kuchean"}, type = "regular", scripts = {"None"}, family = "ine-toc", } m["txc"] = { canonicalName = "Tsetsaut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txe"] = { canonicalName = "Totoli", type = "regular", scripts = {"Latn"}, family = "poz-tot", } m["txg"] = { canonicalName = "Tangut", type = "regular", scripts = {"Tang"}, family = "tbq", } m["txj"] = { canonicalName = "Tarjumo", type = "regular", scripts = {"Latn", "Arab"}, family = "ssa-sah", } m["txh"] = { canonicalName = "Thracian", type = "regular", scripts = {"Grek"}, family = "ine", } m["txi"] = { canonicalName = "Ikpeng", type = "regular", scripts = {"None"}, family = "sai-car", } m["txm"] = { canonicalName = "Tomini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txn"] = { canonicalName = "West Tarangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txo"] = { canonicalName = "Toto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txq"] = { canonicalName = "Tii", type = "regular", scripts = {"None"}, family = "plf", } m["txr"] = { canonicalName = "Tartessian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txs"] = { canonicalName = "Tonsea", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txt"] = { canonicalName = "Citak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txu"] = { canonicalName = "Kayapó", type = "regular", scripts = {"None"}, family = "qfa-und", } m["txx"] = { canonicalName = "Tatana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tya"] = { canonicalName = "Tauya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tye"] = { canonicalName = "Kyenga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyh"] = { canonicalName = "O'du", type = "regular", scripts = {"None"}, family = "mkh", } m["tyi"] = { canonicalName = "Teke-Tsaayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyj"] = { canonicalName = "Tai Do", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyl"] = { canonicalName = "Thu Lao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyn"] = { canonicalName = "Kombai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["typ"] = { canonicalName = "Thaypan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyr"] = { canonicalName = "Tai Daeng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tys"] = { canonicalName = "Tày Sa Pa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyt"] = { canonicalName = "Tày Tac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyu"] = { canonicalName = "Kua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyv"] = { canonicalName = "Tuvan", otherNames = {"Tyvan"}, type = "regular", scripts = {"Cyrl"}, family = "trk", translit_module = "tyv-translit", } m["tyx"] = { canonicalName = "Teke-Tyee", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tyz"] = { canonicalName = "Tày", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tza"] = { canonicalName = "Tanzanian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["tzh"] = { canonicalName = "Tzeltal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tzj"] = { canonicalName = "Tz'utujil", otherNames = {"Tzutujil"}, type = "regular", scripts = {"Latn"}, family = "myn", } m["tzl"] = { canonicalName = "Talossan", type = "appendix-constructed", scripts = {"None"}, family = "art", } m["tzm"] = { canonicalName = "Central Atlas Tamazight", type = "regular", scripts = {"Tfng"}, family = "ber", } m["tzn"] = { canonicalName = "Tugun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["tzo"] = { canonicalName = "Tzotzil", type = "regular", scripts = {"Latn"}, family = "myn", } m["tzx"] = { canonicalName = "Tabriak", otherNames = {"Karawari"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } return m idqesunrr6emqux98r5bn7rm7h49ruv Module:languages/data3/u 828 4689 13335 2015-05-31T23:48:55Z Dalmo Pereira 1417 Bog cusub: 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... 13335 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 m = {} m["uam"] = { canonicalName = "Uamué", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uan"] = { canonicalName = "Kuan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uar"] = { canonicalName = "Tairuma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uba"] = { canonicalName = "Ubang", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ubi"] = { canonicalName = "Ubi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ubl"] = { canonicalName = "Buhi'non Bikol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ubr"] = { canonicalName = "Ubir", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ubu"] = { canonicalName = "Umbu-Ungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uby"] = { canonicalName = "Ubykh", type = "regular", scripts = {"Latn"}, family = "cau-nwc", } m["uda"] = { canonicalName = "Uda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ude"] = { canonicalName = "Udihe", otherNames = {"Udege", "Udekhe", "Udeghe"}, type = "regular", scripts = {"Cyrl"}, family = "tuw", } m["udg"] = { canonicalName = "Muduga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["udi"] = { canonicalName = "Udi", type = "regular", scripts = {"Cyrl", "Latn", "Armn"}, family = "cau-nec", } m["udj"] = { canonicalName = "Ujir", type = "regular", scripts = {"None"}, family = "qfa-und", } m["udl"] = { canonicalName = "Uldeme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["udm"] = { canonicalName = "Udmurt", type = "regular", scripts = {"Cyrl"}, family = "fiu-prm", translit_module = "udm-translit" } m["udu"] = { canonicalName = "Uduk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ues"] = { canonicalName = "Kioko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ufi"] = { canonicalName = "Ufim", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["uga"] = { canonicalName = "Ugaritic", type = "regular", scripts = {"Ugar"}, family = "sem-nwe", } m["ugb"] = { canonicalName = "Kuku-Ugbanh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uge"] = { canonicalName = "Ughele", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ugn"] = { canonicalName = "Ugandan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ugo"] = { canonicalName = "Ugong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ugy"] = { canonicalName = "Uruguayan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["uha"] = { canonicalName = "Uhami", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["uhn"] = { canonicalName = "Damal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uis"] = { canonicalName = "Uisai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uiv"] = { canonicalName = "Iyive", type = "regular", scripts = {"None"}, family = "nic-bod", } m["uji"] = { canonicalName = "Tanjijili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uka"] = { canonicalName = "Kaburi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ukg"] = { canonicalName = "Ukuriguma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ukh"] = { canonicalName = "Ukhwejo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ukl"] = { canonicalName = "Ukrainian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ukp"] = { canonicalName = "Ukpe-Bayobiri", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ukq"] = { canonicalName = "Ukwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uks"] = { canonicalName = "Kaapor Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["uku"] = { canonicalName = "Ukue", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ukw"] = { canonicalName = "Ukwuani-Aboh-Ndoni", type = "regular", scripts = {"None"}, family = "alv", } m["uky"] = { canonicalName = "Kuuk Yak", type = "regular", scripts = {"None"}, family = "aus-psw", } m["ula"] = { canonicalName = "Fungwa", otherNames = {"Ula", "Ura"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["ulb"] = { canonicalName = "Ulukwumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ulc"] = { canonicalName = "Ulch", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ule"] = { canonicalName = "Lule", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["ulf"] = { canonicalName = "Afra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uli"] = { canonicalName = "Ulithian", type = "regular", scripts = {"None"}, family = "poz-mic", } m["ulk"] = { canonicalName = "Meriam", type = "regular", scripts = {"Latn"}, family = "ngf", } m["ull"] = { canonicalName = "Ullatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ulm"] = { canonicalName = "Ulumanda'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uln"] = { canonicalName = "Unserdeutsch", otherNames = {"Rabaul Creole German"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"de"}, } m["ulu"] = { canonicalName = "Uma' Lung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ulw"] = { canonicalName = "Ulwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uma"] = { canonicalName = "Umatilla", type = "regular", scripts = {"None"}, family = "nai-shp", } m["umb"] = { canonicalName = "Umbundu", otherNames = {"South Mbundu"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["umc"] = { canonicalName = "Marrucinian", type = "regular", scripts = {"Latn"}, family = "itc", } m["umd"] = { canonicalName = "Umbindhamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umg"] = { canonicalName = "Umbuygamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umi"] = { canonicalName = "Ukit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umm"] = { canonicalName = "Umon", type = "regular", scripts = {"None"}, family = "nic-bco", } m["umn"] = { canonicalName = "Makyan Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umo"] = { canonicalName = "Umotína", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ump"] = { canonicalName = "Umpila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umr"] = { canonicalName = "Umbugarla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ums"] = { canonicalName = "Pendau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["umu"] = { canonicalName = "Munsee", type = "regular", scripts = {"Latn"}, family = "del", } m["una"] = { canonicalName = "North Watut", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["und"] = { canonicalName = "Tidak ditentukan", type = "regular", scripts = {"Zyyy"}, family = "qfa-not", } m["une"] = { canonicalName = "Uneme", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ung"] = { canonicalName = "Ngarinyin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["unk"] = { canonicalName = "Enawené-Nawé", type = "regular", scripts = {"None"}, family = "awd", } m["unm"] = { canonicalName = "Unami", type = "regular", scripts = {"Latn"}, family = "del", entry_name = { from = {"À", "Ä", "È", "Ë", "Ì", "Ò", "Ù", "à", "ä", "è", "ë", "ì", "ò", "ù"}, to = {"A", "A", "E", "E", "I", "O", "U", "a", "a", "e", "e", "i", "o", "u"}} , } m["unn"] = { canonicalName = "Kurnai", otherNames = {"Gunai", "Gaanay", "Ganai", "Gunnai'", "Kurnay"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["unr"] = { canonicalName = "Mundari", type = "regular", scripts = {"None"}, family = "mun", } m["unu"] = { canonicalName = "Unubahe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["unx"] = { canonicalName = "Munda", type = "regular", scripts = {"None"}, family = "mun", } m["unz"] = { canonicalName = "Unde Kaili", otherNames = {"Banava", "Ndepuu", "West Kaili", "Lole", "Ganti"}, type = "regular", scripts = {"Latn"}, family = "poz-kal", } m["uok"] = { canonicalName = "Uokha", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["upi"] = { canonicalName = "Umeda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["upv"] = { canonicalName = "Uripiv-Wala-Rano-Atchin", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["ura"] = { canonicalName = "Urarina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urb"] = { canonicalName = "Urubú-Kaapor", type = "regular", scripts = {"Latn"}, family = "tup", } m["urc"] = { canonicalName = "Urningangg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ure"] = { canonicalName = "Uru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urf"] = { canonicalName = "Uradhi", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["urg"] = { canonicalName = "Urigina", type = "regular", scripts = {"None"}, family = "ngf", } m["urh"] = { canonicalName = "Urhobo", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["uri"] = { canonicalName = "Urim", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["urk"] = { canonicalName = "Urak Lawoi'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["url"] = { canonicalName = "Urali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urm"] = { canonicalName = "Urapmin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urn"] = { canonicalName = "Uruangnirin", type = "regular", scripts = {"Latn"}, family = "plf", } m["uro"] = { canonicalName = "Ura (New Guinea)", otherNames = {"Ura (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "paa", } m["urp"] = { canonicalName = "Uru-Pa-In", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urr"] = { canonicalName = "Lehalurup", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urt"] = { canonicalName = "Urat", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["uru"] = { canonicalName = "Urumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urv"] = { canonicalName = "Uruava", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["urw"] = { canonicalName = "Sop", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urx"] = { canonicalName = "Urimo", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ury"] = { canonicalName = "Orya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["urz"] = { canonicalName = "Uru-Eu-Wau-Wau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["usa"] = { canonicalName = "Usarufa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ush"] = { canonicalName = "Ushojo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["usi"] = { canonicalName = "Usui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["usk"] = { canonicalName = "Usaghade", type = "regular", scripts = {"None"}, family = "qfa-und", } m["usp"] = { canonicalName = "Uspanteco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["usu"] = { canonicalName = "Uya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uta"] = { canonicalName = "Otank", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ute"] = { canonicalName = "Ute", otherNames = {"Southern Paiute", "Colorado River Numic", "Chemehuevi"}, type = "regular", scripts = {"Latn"}, family = "azc-num", } m["utp"] = { canonicalName = "Aba", otherNames = {"Amba", "Nebao", "Nembao"}, type = "regular", scripts = {"Latn"}, family = "poz-oce", } m["utr"] = { canonicalName = "Etulo", type = "regular", scripts = {"Latn"}, family = "alv", } m["utu"] = { canonicalName = "Utu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uum"] = { canonicalName = "Urum", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["uun"] = { canonicalName = "Kulon-Pazeh", otherNames = {"Pazeh", "Pazih", "Kulun", "Kulon"}, type = "regular", scripts = {"Latn"}, family = "map", } m["uur"] = { canonicalName = "Ura (Vanuatu)", type = "regular", scripts = {"None"}, family = "poz-oce", } m["uuu"] = { canonicalName = "U", type = "regular", scripts = {"None"}, family = "aav", } m["uve"] = { canonicalName = "West Uvean", type = "regular", scripts = {"None"}, family = "poz-pol", } m["uvh"] = { canonicalName = "Uri", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["uvl"] = { canonicalName = "Lote", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["uwa"] = { canonicalName = "Kuku-Uwanh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["uya"] = { canonicalName = "Doko-Uyanga", type = "regular", scripts = {"None"}, family = "nic-bco", } return m l21jytg98resqti8i3pstd7o6vvtgul Module:languages/data3/v 828 4690 13336 2015-05-31T23:51:22Z Dalmo Pereira 1417 Bog cusub: 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... 13336 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 m = {} m["vaa"] = { canonicalName = "Vaagri Booli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vae"] = { canonicalName = "Vale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vaf"] = { canonicalName = "Vafsi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vag"] = { canonicalName = "Vagla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vah"] = { canonicalName = "Varhadi-Nagpuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vai"] = { canonicalName = "Vai", otherNames = {"Gallinas", "Vy"}, type = "regular", scripts = {"Vaii"}, family = "dmn", } m["vaj"] = { canonicalName = "Sekele", otherNames = {"Sekela", "Vasekele", "Vasekela", "Vasekela Bushman", "ǃ'OǃKung"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["val"] = { canonicalName = "Vehes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vam"] = { canonicalName = "Vanimo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["van"] = { canonicalName = "Valman", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["vao"] = { canonicalName = "Vao", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["vap"] = { canonicalName = "Vaiphei", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["var"] = { canonicalName = "Huarijio", otherNames = {"Guarijío", "Varihío", "Warihío"}, type = "regular", scripts = {"Latn"}, family = "azc-trc", } m["vas"] = { canonicalName = "Vasavi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vau"] = { canonicalName = "Vanuma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vav"] = { canonicalName = "Varli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vay"] = { canonicalName = "Vayu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vbb"] = { canonicalName = "Southeast Babar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vbk"] = { canonicalName = "Southwestern Bontok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vec"] = { canonicalName = "Venetian", type = "regular", scripts = {"Latn"}, family = "roa", } m["ved"] = { canonicalName = "Veddah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vem"] = { canonicalName = "Vemgo-Mabas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["veo"] = { canonicalName = "Ventureño", type = "regular", scripts = {"Latn"}, family = "nai-chu", } m["vep"] = { canonicalName = "Veps", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["ver"] = { canonicalName = "Mom Jango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vgr"] = { canonicalName = "Vaghri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vgt"] = { canonicalName = "Flemish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["vic"] = { canonicalName = "Virgin Islands Creole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vid"] = { canonicalName = "Vidunda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vif"] = { canonicalName = "Vili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vig"] = { canonicalName = "Viemo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vil"] = { canonicalName = "Vilela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vin"] = { canonicalName = "Vinza", type = "regular", scripts = {"Latn"}, family = "bnt", } m["vis"] = { canonicalName = "Vishavan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vit"] = { canonicalName = "Viti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["viv"] = { canonicalName = "Iduna", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["vka"] = { canonicalName = "Kariyarra", type = "regular", scripts = {"None"}, family = "aus-nga", } m["vki"] = { canonicalName = "Ija-Zuba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkj"] = { canonicalName = "Kujarge", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkk"] = { canonicalName = "Kaur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkl"] = { canonicalName = "Kulisusu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkm"] = { canonicalName = "Kamakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vko"] = { canonicalName = "Kodeoha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkp"] = { canonicalName = "Korlai Creole Portuguese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vkt"] = { canonicalName = "Tenggarong Kutai Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vku"] = { canonicalName = "Kurrama", type = "regular", scripts = {"None"}, family = "aus-nga", } m["vlp"] = { canonicalName = "Valpei", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["vls"] = { canonicalName = "West Flemish", type = "regular", scripts = {"Latn"}, family = "gmw", } m["vma"] = { canonicalName = "Martuthunira", type = "regular", scripts = {"Latn"}, family = "aus-nga", } m["vmb"] = { canonicalName = "Mbabaram", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["vmc"] = { canonicalName = "Juxtlahuaca Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["vmd"] = { canonicalName = "Mudu Koraga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vme"] = { canonicalName = "East Masela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmg"] = { canonicalName = "Minigir", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["vmh"] = { canonicalName = "Maraghei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmi"] = { canonicalName = "Miwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmj"] = { canonicalName = "Ixtayutla Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["vmk"] = { canonicalName = "Makhuwa-Shirima", type = "regular", scripts = {"Latn"}, family = "bnt", } m["vml"] = { canonicalName = "Malgana", type = "regular", scripts = {"None"}, family = "aus-psw", } m["vmm"] = { canonicalName = "Mitlatongo Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["vmp"] = { canonicalName = "Soyaltepec Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmq"] = { canonicalName = "Soyaltepec Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["vmr"] = { canonicalName = "Marenje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vms"] = { canonicalName = "Moksela", type = "regular", scripts = {"None"}, family = "plf", } m["vmu"] = { canonicalName = "Muluridyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmv"] = { canonicalName = "Valley Maidu", type = "regular", scripts = {"None"}, family = "nai-mdu", } m["vmw"] = { canonicalName = "Makhuwa", type = "regular", scripts = {"Latn"}, family = "bnt", } m["vmx"] = { canonicalName = "Tamazola Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["vmy"] = { canonicalName = "Ayautla Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vmz"] = { canonicalName = "Mazatlán Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vnk"] = { canonicalName = "Lovono", type = "regular", scripts = {"None"}, family = "poz-oce", } m["vnm"] = { canonicalName = "Neve'ei", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["vnp"] = { canonicalName = "Vunapu", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["vor"] = { canonicalName = "Voro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vot"] = { canonicalName = "Votic", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["vra"] = { canonicalName = "Vera'a", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vro"] = { canonicalName = "Võro", type = "regular", scripts = {"Latn"}, family = "fiu-fin", wikimedia_codes = {"fiu-vro"}, } m["vrs"] = { canonicalName = "Varisi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["vrt"] = { canonicalName = "Banam Bay", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["vsi"] = { canonicalName = "Moldova Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["vsl"] = { canonicalName = "Venezuelan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["vsv"] = { canonicalName = "Valencian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["vto"] = { canonicalName = "Vitou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vum"] = { canonicalName = "Vumbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vun"] = { canonicalName = "Vunjo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["vut"] = { canonicalName = "Vute", type = "regular", scripts = {"None"}, family = "nic-bod", } m["vwa"] = { canonicalName = "Awa (China)", otherNames = {"Awa", "Ava", "Va"}, -- last two are confusingly also names of sibling dialect 'wbm' type = "regular", scripts = {"None"}, family = "qfa-und", } return m 1bx6emfzzswtmw07vqo15lrlckq7ons Module:languages/data3/w 828 4691 13337 2015-05-31T23:53:00Z Dalmo Pereira 1417 Bog cusub: 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... 13337 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 m = {} m["waa"] = { canonicalName = "Walla Walla", type = "regular", scripts = {"None"}, family = "nai-shp", } m["wab"] = { canonicalName = "Wab", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wac"] = { canonicalName = "Wasco-Wishram", type = "regular", scripts = {"None"}, family = "nai-ckn", } m["wad"] = { canonicalName = "Wandamen", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["wae"] = { canonicalName = "Walser German", otherNames = {"Walserdeutsch", "Walser", "Wallisertiitsch"}, type = "regular", scripts = {"Latn"}, family = "gmw", } m["waf"] = { canonicalName = "Wakoná", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wag"] = { canonicalName = "Wa'ema", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wah"] = { canonicalName = "Watubela", type = "regular", scripts = {"None"}, family = "plf", } m["wai"] = { canonicalName = "Wares", type = "regular", scripts = {"None"}, family = "paa", } m["waj"] = { canonicalName = "Waffa", type = "regular", scripts = {"None"}, family = "ngf", } m["wal"] = { canonicalName = "Walamo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wam"] = { canonicalName = "Massachusett", otherNames = {"Wampanoag"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["wan"] = { canonicalName = "Wan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wao"] = { canonicalName = "Wappo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wap"] = { canonicalName = "Wapishana", type = "regular", scripts = {"None"}, family = "awd", } m["waq"] = { canonicalName = "Wageman", otherNames = {"Wagiman", "Wakiman", "Wogeman"}, type = "regular", scripts = {"Latn"}, family = "aus-gun", } m["war"] = { canonicalName = "Waray-Waray", type = "regular", scripts = {"Latn"}, family = "phi", } m["was"] = { canonicalName = "Washo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wat"] = { canonicalName = "Kaninuwa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wau"] = { canonicalName = "Wauja", otherNames = {"Waura", "Waurá", "Uaura"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["wav"] = { canonicalName = "Waka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["waw"] = { canonicalName = "Waiwai", type = "regular", scripts = {"None"}, family = "sai-car", } m["wax"] = { canonicalName = "Watam", otherNames = {"Marangis"}, type = "regular", scripts = {"None"}, family = "paa", } m["way"] = { canonicalName = "Wayana", type = "regular", scripts = {"None"}, family = "sai-car", } m["waz"] = { canonicalName = "Wampur", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wba"] = { canonicalName = "Warao", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["wbb"] = { canonicalName = "Wabo", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["wbe"] = { canonicalName = "Waritai", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["wbf"] = { canonicalName = "Wara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbh"] = { canonicalName = "Wanda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbi"] = { canonicalName = "Wanji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbj"] = { canonicalName = "Alagwa", type = "regular", scripts = {"None"}, family = "cus", } m["wbk"] = { canonicalName = "Waigali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbl"] = { canonicalName = "Wakhi", type = "regular", scripts = {"Cyrl", "Latn", "Arab"}, family = "ira", } m["wbm"] = { canonicalName = "Wa", otherNames = {"Va"}, -- cf 'vwa' type = "regular", scripts = {"None"}, family = "aav", } m["wbp"] = { canonicalName = "Warlpiri", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["wbq"] = { canonicalName = "Waddar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbr"] = { canonicalName = "Wagdi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbt"] = { canonicalName = "Wanman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wbv"] = { canonicalName = "Wajarri", type = "regular", scripts = {"None"}, family = "aus-psw", } m["wbw"] = { canonicalName = "Woi", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["wca"] = { canonicalName = "Yanomámi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wci"] = { canonicalName = "Waci Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wdd"] = { canonicalName = "Wandji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wdg"] = { canonicalName = "Wadaginam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wdj"] = { canonicalName = "Wadjiginy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wdu"] = { canonicalName = "Wadjigu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wdy"] = { canonicalName = "Wadjabangayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wea"] = { canonicalName = "Wewaw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wec"] = { canonicalName = "Wè Western", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wed"] = { canonicalName = "Wedau", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["weh"] = { canonicalName = "Weh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wei"] = { canonicalName = "Kiunum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wem"] = { canonicalName = "Weme Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["weo"] = { canonicalName = "Wemale", otherNames = {"North Wemale", "South Wemale"}, type = "regular", scripts = {"None"}, family = "plf", } m["wer"] = { canonicalName = "Weri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wes"] = { canonicalName = "Cameroon Pidgin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wet"] = { canonicalName = "Perai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["weu"] = { canonicalName = "Welaung", otherNames = {"Rawngtu Chin", "Rawngtu"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["wew"] = { canonicalName = "Weyewa", type = "regular", scripts = {"Latn"}, family = "plf", } m["wfg"] = { canonicalName = "Yafi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wga"] = { canonicalName = "Wagaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wgb"] = { canonicalName = "Wagawaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wgg"] = { canonicalName = "Wangganguru", type = "regular", scripts = {"None"}, family = "aus-kar", } m["wgi"] = { canonicalName = "Wahgi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wgo"] = { canonicalName = "Waigeo", type = "regular", scripts = {"None"}, family = "poz-hce", } m["wgu"] = { canonicalName = "Wirangu", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["wgy"] = { canonicalName = "Warrgamay", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["wha"] = { canonicalName = "Manusela", type = "regular", scripts = {"None"}, family = "plf", } m["whg"] = { canonicalName = "North Wahgi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["whk"] = { canonicalName = "Wahau Kenyah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["whu"] = { canonicalName = "Wahau Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wib"] = { canonicalName = "Southern Toussian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wic"] = { canonicalName = "Wichita", type = "regular", scripts = {"None"}, family = "cdd", } m["wie"] = { canonicalName = "Wik-Epa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wif"] = { canonicalName = "Wik-Keyangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wig"] = { canonicalName = "Wik-Ngathana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wih"] = { canonicalName = "Wik-Me'anha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wii"] = { canonicalName = "Minidien", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["wij"] = { canonicalName = "Wik-Iiyanh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wik"] = { canonicalName = "Wikalkan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wil"] = { canonicalName = "Wilawila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wim"] = { canonicalName = "Wik-Mungkan", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["win"] = { canonicalName = "Winnebago", otherNames = {"Hocak", "Hochank", "Hochunk"}, type = "regular", scripts = {"Latn"}, family = "sio", } m["wir"] = { canonicalName = "Wiraféd", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wiu"] = { canonicalName = "Wiru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wiv"] = { canonicalName = "Muduapa", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["wiy"] = { canonicalName = "Wiyot", type = "regular", scripts = {"None"}, family = "aql", } m["wja"] = { canonicalName = "Waja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wji"] = { canonicalName = "Warji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wka"] = { canonicalName = "Kw'adza", type = "regular", scripts = {"None"}, family = "cus", } m["wkb"] = { canonicalName = "Kumbaran", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wkd"] = { canonicalName = "Mo", otherNames = {"Wakde"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wkl"] = { canonicalName = "Kalanadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wku"] = { canonicalName = "Kunduvadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wkw"] = { canonicalName = "Wakawaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wky"] = { canonicalName = "Wangkayutyuru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wla"] = { canonicalName = "Walio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wlc"] = { canonicalName = "Mwali Comorian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wle"] = { canonicalName = "Wolane", type = "regular", scripts = {"None"}, family = "sem-eth", } m["wlg"] = { canonicalName = "Kunbarlang", type = "regular", scripts = {"None"}, family = "aus-gun", } m["wli"] = { canonicalName = "Waioli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wlk"] = { canonicalName = "Wailaki", type = "regular", scripts = {"None"}, family = "ath-pco", } m["wll"] = { canonicalName = "Wali (Sudan)", otherNames = {"Wali"}, -- part of the Hill Nubian or Kordofanian Nubian dialect continuum type = "regular", scripts = {"None"}, family = "nub", } m["wlm"] = { canonicalName = "Middle Welsh", type = "regular", ancestors = {"owl"}, scripts = {"Latn"}, family = "cel-bry", } m["wlo"] = { canonicalName = "Wolio", type = "regular", scripts = {"Latn", "Arab"}, family = "poz-wot", } m["wlr"] = { canonicalName = "Wailapa", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["wls"] = { canonicalName = "Wallisian", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["wlu"] = { canonicalName = "Wuliwuli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wlv"] = { canonicalName = "Wichí Lhamtés Vejoz", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["wlw"] = { canonicalName = "Walak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wlx"] = { canonicalName = "Wali (Ghana)", otherNames = {"Wali", "Waali", "Walii"}, type = "regular", scripts = {"None"}, family = "nic-gur", } m["wly"] = { canonicalName = "Waling", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wma"] = { canonicalName = "Mawa", otherNames = {"Mawa (Nigeria)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["wmb"] = { canonicalName = "Wambaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wmc"] = { canonicalName = "Wamas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wmd"] = { canonicalName = "Mamaindé", otherNames = {"Mamaindê", "Mamainde"}, type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["wme"] = { canonicalName = "Wambule", type = "regular", scripts = {"None"}, family = "tbq", } m["wmh"] = { canonicalName = "Waima'a", otherNames = {"Waimoa"}, type = "regular", scripts = {"None"}, family = "poz", } m["wmi"] = { canonicalName = "Wamin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wmm"] = { canonicalName = "Maiwa (Indonesia)", otherNames = {"Maiwa"}, type = "regular", scripts = {"None"}, family = "poz", } m["wmn"] = { canonicalName = "Waamwang", type = "regular", scripts = {"None"}, family = "poz-cln", } m["wmo"] = { canonicalName = "Wam", otherNames = {"Wom (New Guinea)", "Wom (Papua New Guinea)", "Wom"}, type = "regular", scripts = {"Latn"}, family = "qfa-tor", } m["wms"] = { canonicalName = "Wambon", type = "regular", scripts = {"None"}, family = "ngf", } m["wmt"] = { canonicalName = "Walmajarri", type = "regular", scripts = {"None"}, family = "aus-pam", } m["wmw"] = { canonicalName = "Mwani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wmx"] = { canonicalName = "Womo", type = "regular", scripts = {"None"}, family = "paa-msk", } m["wnb"] = { canonicalName = "Wanambre", type = "regular", scripts = {"None"}, family = "ngf", } m["wnc"] = { canonicalName = "Wantoat", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["wnd"] = { canonicalName = "Wandarang", type = "regular", scripts = {"None"}, family = "aus-arn", } m["wne"] = { canonicalName = "Waneci", otherNames = {"Wanetsi", "Wanechi", "Chalgari", "Tarino"}, type = "regular", scripts = {"ps-Arab"}, family = "ira", } m["wng"] = { canonicalName = "Wanggom",-- possibly not distinct from 'tyn' type = "regular", scripts = {"None"}, family = "ngf", } m["wni"] = { canonicalName = "Ndzwani Comorian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wnk"] = { canonicalName = "Wanukaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wnm"] = { canonicalName = "Wanggamala", type = "regular", scripts = {"None"}, family = "aus-kar", } m["wno"] = { canonicalName = "Wano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wnp"] = { canonicalName = "Wanap", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["wnu"] = { canonicalName = "Usan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wnw"] = { canonicalName = "Wintu", type = "regular", scripts = {"Latn"}, family = "qfa-wtq", } m["wny"] = { canonicalName = "Wanyi", otherNames = {"Wanji", "Waanyi"}, type = "regular", scripts = {"Latn"}, family = "aus-gar", } m["woa"] = { canonicalName = "Tyaraity", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wob"] = { canonicalName = "Wè Northern", type = "regular", scripts = {"None"}, family = "qfa-und", } m["woc"] = { canonicalName = "Wogeo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["wod"] = { canonicalName = "Wolani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["woe"] = { canonicalName = "Woleaian", type = "regular", scripts = {"None"}, family = "poz-mic", } m["wof"] = { canonicalName = "Gambian Wolof", -- merge into Wolof? type = "regular", scripts = {"None"}, family = "qfa-und", } m["wog"] = { canonicalName = "Wogamusin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["woi"] = { canonicalName = "Kamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wok"] = { canonicalName = "Longto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wom"] = { canonicalName = "Perema", otherNames = {"Wom (Nigeria)", "Wom"}, type = "regular", scripts = {"Latn"}, family = "alv", } m["won"] = { canonicalName = "Wongo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["woo"] = { canonicalName = "Manombai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wor"] = { canonicalName = "Woria", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wos"] = { canonicalName = "Hanga Hundi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wow"] = { canonicalName = "Wawonii", type = "regular", scripts = {"None"}, family = "qfa-und", } m["woy"] = { canonicalName = "Weyto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wpc"] = { canonicalName = "Maco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wra"] = { canonicalName = "Warapu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrb"] = { canonicalName = "Warluwara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrd"] = { canonicalName = "Warduji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrg"] = { canonicalName = "Warungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrh"] = { canonicalName = "Wiradhuri", type = "regular", scripts = {"Latn"}, family = "aus-cww", } m["wri"] = { canonicalName = "Wariyangga", type = "regular", scripts = {"None"}, family = "aus-psw", } m["wrk"] = { canonicalName = "Garawa", otherNames = {"Garrwa", "Karawa"}, type = "regular", scripts = {"Latn"}, family = "aus-gar", } m["wrl"] = { canonicalName = "Warlmanpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrm"] = { canonicalName = "Warumungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrn"] = { canonicalName = "Warnang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wro"] = { canonicalName = "Worora", otherNames = {"Worrorra", "Wororan", "Worrorran"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrp"] = { canonicalName = "Waropen", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["wrr"] = { canonicalName = "Wardaman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrs"] = { canonicalName = "Waris", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wru"] = { canonicalName = "Waru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrv"] = { canonicalName = "Waruna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrw"] = { canonicalName = "Gugu Warra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrx"] = { canonicalName = "Wae Rana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wrz"] = { canonicalName = "Waray", type = "regular", scripts = {"None"}, family = "aus-gun", } m["wsa"] = { canonicalName = "Warembori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wsi"] = { canonicalName = "Wusi", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["wsk"] = { canonicalName = "Waskia", type = "regular", scripts = {"Latn"}, family = "ngf", } m["wsr"] = { canonicalName = "Owenia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wss"] = { canonicalName = "Wasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wsu"] = { canonicalName = "Wasu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wsv"] = { canonicalName = "Wotapuri-Katarqalai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wtf"] = { canonicalName = "Watiwa", type = "regular", scripts = {"None"}, family = "ngf", } m["wth"] = { canonicalName = "Wathaurong", otherNames = {"Wathawurrung"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["wti"] = { canonicalName = "Berta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wtk"] = { canonicalName = "Watakataui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wtm"] = { canonicalName = "Mewati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wtw"] = { canonicalName = "Wotu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wua"] = { canonicalName = "Wikngenchera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wub"] = { canonicalName = "Wunambal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wud"] = { canonicalName = "Wudu", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["wuh"] = { canonicalName = "Wutunhua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wul"] = { canonicalName = "Silimo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wum"] = { canonicalName = "Wumbvu", type = "regular", scripts = {"None"}, family = "bnt", } m["wun"] = { canonicalName = "Bungu", type = "regular", scripts = {"None"}, family = "bnt", } m["wur"] = { canonicalName = "Wurrugu", otherNames = {"Popham Bay language"}, type = "regular", scripts = {"None"}, family = "aus-wdj", } m["wut"] = { canonicalName = "Wutung", type = "regular", scripts = {"None"}, family = "paa-msk", } m["wuu"] = { canonicalName = "Wu", otherNames = {"Suzhounese", "Shanghainese"}, type = "regular", scripts = {"Hani"}, family = "zhx", } m["wuv"] = { canonicalName = "Wuvulu-Aua", otherNames = {"Wuvulu"}, type = "regular", scripts = {"None"}, family = "poz-aay", } m["wux"] = { canonicalName = "Wulna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wuy"] = { canonicalName = "Wauyai", type = "regular", scripts = {"None"}, family = "poz-hce", } m["wwa"] = { canonicalName = "Waama", type = "regular", scripts = {"None"}, family = "nic-gur", } m["wwo"] = { canonicalName = "Dorig", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["wwr"] = { canonicalName = "Warrwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["www"] = { canonicalName = "Wawa", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["wxa"] = { canonicalName = "Waxianghua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wxw"] = { canonicalName = "Wardandi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["wya"] = { canonicalName = "Wyandot", type = "regular", scripts = {"Latn"}, family = "iro", } m["wyb"] = { canonicalName = "Ngiyambaa", otherNames = {"Wangaaybuwan-Ngiyambaa", "Wangaaybuwan", "Wayilwan"}, type = "regular", scripts = {"Latn"}, family = "aus-cww", } m["wyi"] = { canonicalName = "Woiwurrung", otherNames = {"Woiworung", "Woiwurrong", "Wuywurung"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["wym"] = { canonicalName = "Vilamovian", otherNames = {"Wilamowicean", "Vilamovicean", "Wymysorys"}, -- Vilamovian and Wym. may not even meet CFI type = "regular", scripts = {"Latn"}, family = "gmw", } m["wyr"] = { canonicalName = "Wayoró", type = "regular", scripts = {"None"}, family = "tup", } m["wyy"] = { canonicalName = "Western Fijian", type = "regular", scripts = {"None"}, family = "poz-occ", } return m fj2amsamod9atqnhgmvln6sgfblbjhu Module:languages/data3/s 828 4692 13338 2015-05-31T23:53:56Z Dalmo Pereira 1417 Bog cusub: 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... 13338 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 m = {} m["saa"] = { canonicalName = "Saba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sab"] = { canonicalName = "Buglere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sac"] = { canonicalName = "Fox", otherNames = {"Sac", "Sauk", "Kickapoo", "Mesquakie", "Meskwaki"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["sad"] = { canonicalName = "Sandawe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sae"] = { canonicalName = "Sabanê", type = "regular", scripts = {"None"}, family = "qfa-und", } m["saf"] = { canonicalName = "Safaliba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sah"] = { canonicalName = "Yakut", otherNames = {"Sakha"}, type = "regular", scripts = {"Cyrl"}, family = "trk", translit_module = "sah-translit", } m["saj"] = { canonicalName = "Sahu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sak"] = { canonicalName = "Sake", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sam"] = { canonicalName = "Samaritan Aramaic", type = "regular", scripts = {"Samr"}, family = "sem-ara", } m["sao"] = { canonicalName = "Sause", type = "regular", scripts = {"None"}, family = "qfa-und", } m["saq"] = { canonicalName = "Samburu", type = "regular", scripts = {"None"}, family = "sdv", } m["sar"] = { canonicalName = "Saraveca", type = "regular", scripts = {"None"}, family = "awd", } m["sas"] = { canonicalName = "Sasak", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["sat"] = { canonicalName = "Santali", type = "regular", scripts = {"Olck"}, family = "mun", } m["sau"] = { canonicalName = "Saleman", type = "regular", scripts = {"None"}, family = "plf", } m["sav"] = { canonicalName = "Saafi-Saafi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["saw"] = { canonicalName = "Sawi", type = "regular", scripts = {"Latn"}, family = "ngf", } m["sax"] = { canonicalName = "Sa", otherNames = {"Saa"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["say"] = { canonicalName = "Saya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["saz"] = { canonicalName = "Saurashtra", type = "regular", scripts = {"Saur", "Latn", "Taml", "Deva"}, family = "inc", } m["sba"] = { canonicalName = "Ngambay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbb"] = { canonicalName = "Simbo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sbc"] = { canonicalName = "Gele'", otherNames = {"Kele (New Guinea)", "Kele (Papua New Guinea)", "Kele"}, type = "regular", scripts = {"None"}, family = "poz-oce", } m["sbd"] = { canonicalName = "Southern Samo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbe"] = { canonicalName = "Saliba", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sbf"] = { canonicalName = "Shabo", otherNames = {"Mikeyir", "Mekeyir", "Mekeyer"}, type = "regular", scripts = {"Latn"}, family = "ssa", } m["sbg"] = { canonicalName = "Seget", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbh"] = { canonicalName = "Sori-Harengan", otherNames = {"Sori", "Harengan"}, type = "regular", scripts = {"Latn"}, family = "poz-aay", } m["sbi"] = { canonicalName = "Seti", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["sbj"] = { canonicalName = "Surbakhal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbk"] = { canonicalName = "Safwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbl"] = { canonicalName = "Botolan Sambal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbm"] = { canonicalName = "Sagala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbn"] = { canonicalName = "Sindhi Bhil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbo"] = { canonicalName = "Sabüm", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbp"] = { canonicalName = "Sangu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbq"] = { canonicalName = "Sileibi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbr"] = { canonicalName = "Sembakung Murut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbs"] = { canonicalName = "Subiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbt"] = { canonicalName = "Kimki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbu"] = { canonicalName = "Stod Bhoti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbv"] = { canonicalName = "Sabine", type = "regular", scripts = {"Latn"}, family = "itc", } m["sbw"] = { canonicalName = "Simba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbx"] = { canonicalName = "Seberuang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sby"] = { canonicalName = "Soli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sbz"] = { canonicalName = "Sara Kaba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scb"] = { canonicalName = "Chut", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["sce"] = { canonicalName = "Dongxiang", otherNames = {"Santa"}, type = "regular", scripts = {"Arab", "Latn"}, family = "xgn", } m["scf"] = { canonicalName = "San Miguel Creole French", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scg"] = { canonicalName = "Sanggau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sch"] = { canonicalName = "Sakachep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sci"] = { canonicalName = "Sri Lankan Creole Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sck"] = { canonicalName = "Sadri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scl"] = { canonicalName = "Shina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scn"] = { canonicalName = "Sicilian", type = "regular", scripts = {"Latn"}, family = "roa", } m["sco"] = { canonicalName = "Scots", otherNames = {"Lowland Scots"}, type = "regular", scripts = {"Latn"}, family = "gmw", } m["scp"] = { canonicalName = "Helambu Sherpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scq"] = { canonicalName = "Sa'och", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scs"] = { canonicalName = "North Slavey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scu"] = { canonicalName = "Shumcho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scv"] = { canonicalName = "Sheni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scw"] = { canonicalName = "Sha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["scx"] = { canonicalName = "Sicel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sda"] = { canonicalName = "Toraja-Sa'dan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdb"] = { canonicalName = "Shabak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdc"] = { canonicalName = "Sassarese Sardinian", type = "regular", scripts = {"Latn"}, family = "roa", } m["sde"] = { canonicalName = "Surubu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdf"] = { canonicalName = "Sarli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdg"] = { canonicalName = "Savi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdh"] = { canonicalName = "Southern Kurdish", otherNames = {"Kermanshani", "Kermanshahi", "Kermanshahi Kurdish", "Kermanshani Kurdish"}, type = "regular", scripts = {"ku-Arab"}, family = "ira", } m["sdj"] = { canonicalName = "Suundi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdk"] = { canonicalName = "Sos Kundi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdl"] = { canonicalName = "Saudi Arabian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sdm"] = { canonicalName = "Semandang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdn"] = { canonicalName = "Gallurese Sardinian", type = "regular", scripts = {"Latn"}, family = "roa", } m["sdo"] = { canonicalName = "Bukar-Sadung Bidayuh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdp"] = { canonicalName = "Sherdukpen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdr"] = { canonicalName = "Oraon Sadri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sds"] = { canonicalName = "Sened", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdt"] = { canonicalName = "Shuadit", type = "regular", scripts = {"Hebr"}, family = "roa", } m["sdu"] = { canonicalName = "Sarudu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sdx"] = { canonicalName = "Sibu Melanau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sea"] = { canonicalName = "Semai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seb"] = { canonicalName = "Shempire Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sec"] = { canonicalName = "Sechelt", type = "regular", scripts = {"None"}, family = "sal", } m["sed"] = { canonicalName = "Sedang", type = "regular", scripts = {"None"}, family = "aav-nbn", } m["see"] = { canonicalName = "Seneca", type = "regular", scripts = {"Latn"}, family = "iro", } m["sef"] = { canonicalName = "Cebaara Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seg"] = { canonicalName = "Segeju", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seh"] = { canonicalName = "Sena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sei"] = { canonicalName = "Seri", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["sej"] = { canonicalName = "Sene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sek"] = { canonicalName = "Sekani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sel"] = { canonicalName = "Selkup", type = "regular", scripts = {"Cyrl"}, family = "syd", } m["sen"] = { canonicalName = "Nanerigé Sénoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seo"] = { canonicalName = "Suarmin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sep"] = { canonicalName = "Sìcìté Sénoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seq"] = { canonicalName = "Senara Sénoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ser"] = { canonicalName = "Serrano", otherNames = {"Kitanemuk"}, type = "regular", scripts = {"Latn"}, family = "azc-tak", } m["ses"] = { canonicalName = "Koyraboro Senni Songhai", type = "regular", scripts = {"Latn"}, family = "son", } m["set"] = { canonicalName = "Sentani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["seu"] = { canonicalName = "Serui-Laut", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["sev"] = { canonicalName = "Nyarafolo Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sew"] = { canonicalName = "Sewa Bay", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sey"] = { canonicalName = "Secoya", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["sez"] = { canonicalName = "Senthang Chin", otherNames = {"Senthang"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["sfb"] = { canonicalName = "French Belgian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sfm"] = { canonicalName = "Small Flowery Miao", type = "regular", scripts = {"None"}, family = "hmn", } m["sfs"] = { canonicalName = "South African Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sfw"] = { canonicalName = "Sehwi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sga"] = { canonicalName = "Old Irish", type = "regular", scripts = {"Latn"}, family = "cel-gae", ancestors = {"pgl"}, entry_name = { from = {"ḟ", "ṡ", "Ḟ", "Ṡ", "ä", "ë", "ï", "ö", "ü", "·"}, to = {"f", "s", "F", "S", "a", "e", "i", "o", "u"}} , sort_key = { from = {"á", "é", "æ", "ǽ", "í", "ó", "ú", "^h"}, to = {"a", "e", "e", "e", "i", "o", "u"}} , } m["sgb"] = { canonicalName = "Mag-Anchi Ayta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgc"] = { canonicalName = "Kipsigis", type = "regular", scripts = {"None"}, family = "sdv", } m["sgd"] = { canonicalName = "Surigaonon", type = "regular", scripts = {"Latn"}, family = "phi", } m["sge"] = { canonicalName = "Segai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgg"] = { canonicalName = "Swiss-German Sign Language", otherNames = {"Swiss German Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["sgh"] = { canonicalName = "Shughni", type = "regular", scripts = {"Cyrl"}, family = "ira", } m["sgi"] = { canonicalName = "Suga", type = "regular", scripts = {"None"}, family = "nic-bod", } m["sgk"] = { canonicalName = "Sangkong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgm"] = { canonicalName = "Singa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgp"] = { canonicalName = "Singpho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgr"] = { canonicalName = "Sangisari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgs"] = { canonicalName = "Samogitian", type = "regular", scripts = {"Latn"}, family = "bat", wikimedia_codes = {"bat-smg"}, } m["sgt"] = { canonicalName = "Brokpake", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgu"] = { canonicalName = "Salas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgw"] = { canonicalName = "Sebat Bet Gurage", type = "regular", scripts = {"Ethi"}, family = "sem-eth", } m["sgx"] = { canonicalName = "Sierra Leone Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sgy"] = { canonicalName = "Sanglechi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sgz"] = { canonicalName = "Sursurunga", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["sha"] = { canonicalName = "Shall-Zwall", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shb"] = { canonicalName = "Ninam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shc"] = { canonicalName = "Sonde", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shd"] = { canonicalName = "Kundal Shahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["she"] = { canonicalName = "Sheko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shg"] = { canonicalName = "Shua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shh"] = { canonicalName = "Shoshone", otherNames = {"Shoshoni", "Gosiute", "Goshute", "Eastern Shoshone", "Eastern Shoshoni", "Western Shoshone", "Western Shoshoni", "Northern Shoshone", "Northern Shoshoni"}, type = "regular", scripts = {"Latn"}, family = "azc-num", } m["shi"] = { canonicalName = "Tashelhit", otherNames = {"Tachelhit", "Chleuh", "Shilha", "Tashlhiyt", "Tashelhit Berber", "Tachelhit Berber", "Tashlhiyt Berber"}, type = "regular", scripts = {"Latn"}, family = "ber", } m["shj"] = { canonicalName = "Shatt", type = "regular", scripts = {"None"}, family = "sdv", } m["shk"] = { canonicalName = "Shilluk", type = "regular", scripts = {"None"}, family = "sdv", } m["shl"] = { canonicalName = "Shendu", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["shm"] = { canonicalName = "Shahrudi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shn"] = { canonicalName = "Shan", type = "regular", scripts = {"Mymr"}, family = "tai-swe", } m["sho"] = { canonicalName = "Shanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shp"] = { canonicalName = "Shipibo-Conibo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["shq"] = { canonicalName = "Sala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shr"] = { canonicalName = "Shi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shs"] = { canonicalName = "Shuswap", type = "regular", scripts = {"Latn"}, family = "sal", } m["sht"] = { canonicalName = "Shasta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shu"] = { canonicalName = "Chadian Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", } m["shv"] = { canonicalName = "Shehri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shw"] = { canonicalName = "Shwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shx"] = { canonicalName = "She", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shy"] = { canonicalName = "Tachawit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["shz"] = { canonicalName = "Syenara Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sia"] = { canonicalName = "Akkala Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["sib"] = { canonicalName = "Sebop", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sid"] = { canonicalName = "Sidamo", type = "regular", scripts = {"None"}, family = "cus", } m["sie"] = { canonicalName = "Simaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sif"] = { canonicalName = "Siamou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sig"] = { canonicalName = "Paasaal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sih"] = { canonicalName = "Zire", type = "regular", scripts = {"None"}, family = "poz-cln", } m["sii"] = { canonicalName = "Shom Peng", type = "regular", scripts = {"None"}, family = "aav", } m["sij"] = { canonicalName = "Numbami", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sik"] = { canonicalName = "Sikiana", type = "regular", scripts = {"None"}, family = "sai-car", } m["sil"] = { canonicalName = "Tumulung Sisaala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sip"] = { canonicalName = "Sikkima", otherNames = {"Dranjongke", "Dranjoke", "Denjongka", "Denzongpeke", "Denzongke"}, type = "regular", scripts = {"Tibt"}, family = "tbq", translit_module = "bo-translit", } m["siq"] = { canonicalName = "Sonia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sir"] = { canonicalName = "Siri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sis"] = { canonicalName = "Siuslaw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["siu"] = { canonicalName = "Sinagen", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["siv"] = { canonicalName = "Sumariup", type = "regular", scripts = {"None"}, family = "qfa-und", } m["siw"] = { canonicalName = "Siwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["six"] = { canonicalName = "Sumau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["siy"] = { canonicalName = "Sivandi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["siz"] = { canonicalName = "Siwa", type = "regular", scripts = {"None"}, family = "ber", } m["sja"] = { canonicalName = "Epena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjb"] = { canonicalName = "Sajau Basap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjd"] = { canonicalName = "Kildin Sami", type = "regular", scripts = {"Cyrl"}, family = "smi", } m["sje"] = { canonicalName = "Pite Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["sjg"] = { canonicalName = "Assangori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjk"] = { canonicalName = "Kemi Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["sjl"] = { canonicalName = "Miji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjm"] = { canonicalName = "Mapun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjn"] = { canonicalName = "Sindarin", type = "appendix-constructed", scripts = {"Latn", "Teng"}, family = "art", } m["sjo"] = { canonicalName = "Xibe", otherNames = {"Sibo", "Sibe", "Xibo"}, type = "regular", scripts = {"Mong"}, family = "tuw", } m["sjp"] = { canonicalName = "Surjapuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjr"] = { canonicalName = "Siar-Lak", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sjs"] = { canonicalName = "Senhaja De Srair", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sjt"] = { canonicalName = "Ter Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["sju"] = { canonicalName = "Ume Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["sjw"] = { canonicalName = "Shawnee", type = "regular", scripts = {"Latn"}, family = "alg", } m["ska"] = { canonicalName = "Skagit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skb"] = { canonicalName = "Saek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skc"] = { canonicalName = "Sauk", otherNames = {"Ma Manda"}, type = "regular", scripts = {"None"}, family = "ngf-fin", } m["skd"] = { canonicalName = "Southern Sierra Miwok", type = "regular", scripts = {"None"}, family = "qfa-you", } m["ske"] = { canonicalName = "Ske", otherNames = {"Seke"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["skf"] = { canonicalName = "Sakirabiá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skh"] = { canonicalName = "Sikule", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ski"] = { canonicalName = "Sika", otherNames = {"Sikanese"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["skj"] = { -- compare 'ths' canonicalName = "Seke", type = "regular", scripts = {"None"}, family = "tbq", } m["skk"] = { canonicalName = "Sok", type = "regular", scripts = {"None"}, family = "aav-ban", } m["skm"] = { canonicalName = "Sakam", otherNames = {"Kutong"}, type = "regular", scripts = {"None"}, family = "ngf-fin", } m["skn"] = { canonicalName = "Kolibugan Subanon", type = "regular", scripts = {"None"}, family = "phi", } m["sko"] = { canonicalName = "Seko Tengah", type = "regular", scripts = {"None"}, family = "poz", } m["skp"] = { canonicalName = "Sekapan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skq"] = { canonicalName = "Sininkere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skr"] = { canonicalName = "Seraiki", otherNames = {"Siraiki", "Saraiki"}, type = "regular", scripts = {"ur-Arab"}, family = "inc", } m["sks"] = { canonicalName = "Maia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skt"] = { canonicalName = "Sakata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sku"] = { canonicalName = "Sakao", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["skv"] = { canonicalName = "Skou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["skw"] = { canonicalName = "Skepi Creole Dutch", otherNames = {"Skepi Dutch", "Skepi Dutch Creole", "Essequibo Dutch"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["skx"] = { canonicalName = "Seko Padang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sky"] = { canonicalName = "Sikaiana", otherNames = {"Sikayana"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["skz"] = { canonicalName = "Sekar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slc"] = { canonicalName = "Sáliba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sld"] = { canonicalName = "Sissala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sle"] = { canonicalName = "Sholaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slf"] = { canonicalName = "Swiss-Italian Sign Language", otherNames = {"Swiss Italian Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["slg"] = { canonicalName = "Selungai Murut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slh"] = { canonicalName = "Southern Puget Sound Salish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sli"] = { canonicalName = "Silesian German", type = "regular", scripts = {"Latn"}, family = "gmw", } m["slj"] = { canonicalName = "Salumá", type = "regular", scripts = {"None"}, family = "sai-car", } m["sll"] = { canonicalName = "Salt-Yui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slm"] = { canonicalName = "Pangutaran Sama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sln"] = { canonicalName = "Salinan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slp"] = { canonicalName = "Lamaholot", otherNames = {"Solor", "Solorese"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["slq"] = { canonicalName = "Salchuq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slr"] = { canonicalName = "Salar", type = "regular", scripts = {"Arab"}, family = "trk", } m["sls"] = { canonicalName = "Singapore Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["slt"] = { canonicalName = "Sila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slu"] = { canonicalName = "Selaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slw"] = { canonicalName = "Sialum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slx"] = { canonicalName = "Salampasu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sly"] = { canonicalName = "Selayar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["slz"] = { canonicalName = "Ma'ya", type = "regular", scripts = {"None"}, family = "poz-hce", } m["sma"] = { canonicalName = "Southern Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["smb"] = { canonicalName = "Simbari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smc"] = { canonicalName = "Som", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["smd"] = { canonicalName = "Sama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smf"] = { canonicalName = "Auwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smg"] = { canonicalName = "Simbali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smh"] = { canonicalName = "Samei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smj"] = { canonicalName = "Lule Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["smk"] = { canonicalName = "Bolinao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sml"] = { canonicalName = "Central Sama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smm"] = { canonicalName = "Musasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smn"] = { canonicalName = "Inari Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["smp"] = { canonicalName = "Samaritan", otherNames = {"Samaritan Hebrew"}, type = "regular", scripts = {"Samr"}, family = "sem-can", } m["smq"] = { canonicalName = "Samo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smr"] = { canonicalName = "Simeulue", otherNames = {"Simalur", "Devayan", "Defayan", "Simolol"}, type = "regular", scripts = {"Latn"}, family = "poz-nws", } m["sms"] = { canonicalName = "Skolt Sami", type = "regular", scripts = {"Latn"}, family = "smi", } m["smt"] = { canonicalName = "Simte", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["smu"] = { canonicalName = "Somray", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smv"] = { canonicalName = "Samvedi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smw"] = { canonicalName = "Sumbawa", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["smx"] = { canonicalName = "Samba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smy"] = { canonicalName = "Semnani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["smz"] = { canonicalName = "Simeku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snb"] = { canonicalName = "Sebuyau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snc"] = { canonicalName = "Sinaugoro", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sne"] = { canonicalName = "Bau Bidayuh", type = "regular", scripts = {"Latn"}, family = "day", } m["snf"] = { canonicalName = "Noon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snh"] = { canonicalName = "Shinabo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["sni"] = { canonicalName = "Sensi", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["snj"] = { canonicalName = "Riverain Sango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snk"] = { canonicalName = "Soninke", type = "regular", scripts = {"Latn"}, family = "dmn", } m["snl"] = { canonicalName = "Sangil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snm"] = { canonicalName = "Southern Ma'di", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snn"] = { canonicalName = "Siona", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["sno"] = { canonicalName = "Snohomish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snp"] = { canonicalName = "Siane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snq"] = { canonicalName = "Chango", otherNames = {"Sangu"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["snr"] = { canonicalName = "Sihan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sns"] = { canonicalName = "Nahavaq", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["snu"] = { canonicalName = "Senggi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snv"] = { canonicalName = "Sa'ban", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snw"] = { canonicalName = "Selee", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snx"] = { canonicalName = "Sam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sny"] = { canonicalName = "Saniyo-Hiyewe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["snz"] = { canonicalName = "Sinsauru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soa"] = { canonicalName = "Thai Song", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sob"] = { canonicalName = "Sobei", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["soc"] = { canonicalName = "Soko", otherNames = {"So"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["sod"] = { canonicalName = "Songoora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soe"] = { canonicalName = "Songomeno", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sog"] = { canonicalName = "Sogdian", type = "regular", scripts = {"Zzzz", "Mani", "Syrc"}, -- Sogdian and Manichaean alphabets not in Unicode yet family = "ira", } m["soh"] = { canonicalName = "Aka", type = "regular", scripts = {"None"}, family = "sdv", } m["soi"] = { canonicalName = "Sonha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soj"] = { canonicalName = "Soi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sok"] = { canonicalName = "Sokoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sol"] = { canonicalName = "Solos", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["soo"] = { canonicalName = "Songo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sop"] = { canonicalName = "Songe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soq"] = { canonicalName = "Kanasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sor"] = { canonicalName = "Somrai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sos"] = { canonicalName = "Seeku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sou"] = { canonicalName = "Southern Thai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sov"] = { canonicalName = "Sonsorolese", type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["sow"] = { canonicalName = "Sowanda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soy"] = { canonicalName = "Miyobe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["soz"] = { canonicalName = "Temi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spc"] = { canonicalName = "Sapé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spd"] = { canonicalName = "Saep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spe"] = { canonicalName = "Sepa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["spg"] = { canonicalName = "Sian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spi"] = { canonicalName = "Saponi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spk"] = { canonicalName = "Sengo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spl"] = { canonicalName = "Selepet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spm"] = { canonicalName = "Sepen", type = "regular", scripts = {"None"}, family = "paa", } m["spn"] = { canonicalName = "Sanapaná", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spo"] = { canonicalName = "Spokane", type = "regular", scripts = {"None"}, family = "sal", } m["spp"] = { canonicalName = "Supyire", otherNames = {"Suppire", "Supyire Senoufo"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["spq"] = { canonicalName = "Loreto-Ucayali Spanish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spr"] = { canonicalName = "Saparua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sps"] = { canonicalName = "Saposa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["spt"] = { canonicalName = "Spiti Bhoti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["spu"] = { canonicalName = "Sapuan", type = "regular", scripts = {"None"}, family = "aav-ban", } m["spx"] = { canonicalName = "South Picene", type = "regular", scripts = {"Ital", "Latn"}, family = "itc", } m["spy"] = { canonicalName = "Sabaot", type = "regular", scripts = {"None"}, family = "sdv", } m["sqa"] = { canonicalName = "Shama-Sambuga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqh"] = { canonicalName = "Shau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqk"] = { canonicalName = "Albanian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sqm"] = { canonicalName = "Suma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqn"] = { canonicalName = "Susquehannock", type = "regular", scripts = {"None"}, family = "iro", } m["sqo"] = { canonicalName = "Sorkhei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqq"] = { canonicalName = "Sou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqr"] = { canonicalName = "Siculo-Arabic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sqs"] = { canonicalName = "Sri Lankan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sqt"] = { canonicalName = "Soqotri", otherNames = {"Socotri"}, type = "regular", scripts = {"None"}, family = "sem-sar", } m["squ"] = { canonicalName = "Squamish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sra"] = { canonicalName = "Saruga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srb"] = { canonicalName = "Sora", type = "regular", scripts = {"Sora"}, family = "mun", } m["src"] = { canonicalName = "Logudorese Sardinian", type = "regular", scripts = {"Latn"}, family = "roa", } m["sre"] = { canonicalName = "Sara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srf"] = { canonicalName = "Nafi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["srg"] = { canonicalName = "Sulod", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srh"] = { canonicalName = "Sarikoli", type = "regular", scripts = {"None"}, family = "ira", } m["sri"] = { canonicalName = "Siriano", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["srk"] = { canonicalName = "Serudung Murut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srl"] = { canonicalName = "Isirawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srm"] = { canonicalName = "Saramaccan", type = "regular", scripts = {"Latn"}, family = "crp", } m["srn"] = { canonicalName = "Sranan Tongo", type = "regular", scripts = {"Latn"}, family = "crp", } m["sro"] = { canonicalName = "Campidanese Sardinian", type = "regular", scripts = {"Latn"}, family = "roa", } m["srq"] = { canonicalName = "Sirionó", type = "regular", scripts = {"Latn"}, family = "tup", } m["srr"] = { canonicalName = "Serer", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srs"] = { canonicalName = "Sarcee", otherNames = {"Sarsi", "Tsuu T'ina", "Tsuut'ina", "Tsu T'ina"}, type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["srt"] = { canonicalName = "Sauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sru"] = { canonicalName = "Suruí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srv"] = { canonicalName = "Waray Sorsogon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srw"] = { canonicalName = "Serua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["srx"] = { canonicalName = "Sirmauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sry"] = { canonicalName = "Sera", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["srz"] = { canonicalName = "Shahmirzadi", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["ssb"] = { canonicalName = "Southern Sama", type = "regular", scripts = {"Latn"}, family = "poz-sbj", } m["ssc"] = { canonicalName = "Suba-Simbiti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssd"] = { canonicalName = "Siroi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sse"] = { canonicalName = "Balangingi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssf"] = { canonicalName = "Thao", otherNames = {"Sao"}, type = "regular", scripts = {"Latn"}, family = "map", } m["ssg"] = { canonicalName = "Seimat", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ssh"] = { canonicalName = "Shihhi Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", } m["ssi"] = { canonicalName = "Sansi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssj"] = { canonicalName = "Sausi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssk"] = { canonicalName = "Sunam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssl"] = { canonicalName = "Western Sisaala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssm"] = { canonicalName = "Semnam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssn"] = { canonicalName = "Waata", type = "regular", scripts = {"None"}, family = "cus", } m["sso"] = { canonicalName = "Sissano", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ssp"] = { canonicalName = "Spanish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ssq"] = { canonicalName = "So'a", type = "regular", scripts = {"Latn"}, family = "plf", } m["ssr"] = { canonicalName = "Swiss-French Sign Language", otherNames = {"Swiss French Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["sss"] = { canonicalName = "Sô", type = "regular", scripts = {"None"}, family = "mkh", } m["sst"] = { canonicalName = "Sinasina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssu"] = { canonicalName = "Susuami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssv"] = { canonicalName = "Shark Bay", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["ssx"] = { canonicalName = "Samberigi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ssy"] = { canonicalName = "Saho", type = "regular", scripts = {"None"}, family = "cus", } m["ssz"] = { canonicalName = "Sengseng", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["sta"] = { canonicalName = "Settla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stb"] = { canonicalName = "Northern Subanen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["std"] = { canonicalName = "Sentinelese", type = "regular", scripts = {"Zyyy"}, family = "qfa-und", } m["ste"] = { canonicalName = "Liana-Seti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stf"] = { canonicalName = "Seta", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["stg"] = { canonicalName = "Trieng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sth"] = { canonicalName = "Shelta", otherNames = {"Cant"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["sti"] = { canonicalName = "Bulo Stieng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stj"] = { canonicalName = "Matya Samo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stk"] = { canonicalName = "Arammba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stm"] = { canonicalName = "Setaman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stn"] = { canonicalName = "Owa", type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["sto"] = { canonicalName = "Stoney", type = "regular", scripts = {"None"}, family = "sio", } m["stp"] = { canonicalName = "Southeastern Tepehuan", type = "regular", scripts = {"Latn"}, family = "azc", } m["stq"] = { canonicalName = "Saterland Frisian", type = "regular", scripts = {"Latn"}, family = "gmw", } m["str"] = { canonicalName = "Saanich", type = "regular", scripts = {"Latn"}, family = "sal", } m["sts"] = { canonicalName = "Shumashti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stt"] = { canonicalName = "Budeh Stieng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["stu"] = { canonicalName = "Samtao", type = "regular", scripts = {"None"}, family = "aav", } m["stv"] = { canonicalName = "Silt'e", type = "regular", scripts = {"Ethi"}, family = "sem-eth", } m["stw"] = { canonicalName = "Satawalese", type = "regular", scripts = {"None"}, family = "poz-mic", } m["sua"] = { canonicalName = "Sulka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sub"] = { canonicalName = "Suku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["suc"] = { canonicalName = "Western Subanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sue"] = { canonicalName = "Suena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sug"] = { canonicalName = "Suganga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sui"] = { canonicalName = "Suki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["suj"] = { canonicalName = "Shubi", otherNames = {"Subi"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["suk"] = { canonicalName = "Sukuma", type = "regular", scripts = {"Latn"}, family = "bnt", } m["suq"] = { canonicalName = "Suri", type = "regular", scripts = {"None"}, family = "sdv", } m["sur"] = { canonicalName = "Sura", otherNames = {"Mwaghavul", "Mupun"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["sus"] = { canonicalName = "Susu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sut"] = { canonicalName = "Subtiaba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["suv"] = { canonicalName = "Sulung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["suw"] = { canonicalName = "Sumbwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sux"] = { canonicalName = "Sumerian", type = "regular", scripts = {"Xsux"}, family = "qfa-iso", } m["suy"] = { canonicalName = "Suyá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["suz"] = { canonicalName = "Sunwar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sva"] = { canonicalName = "Svan", type = "regular", scripts = {"Geor"}, family = "ccs", translit_module = "Geor-translit", entry_name = { from = {DIAER, MACRON}, to = {}} , } m["svb"] = { canonicalName = "Ulau-Suain", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["svc"] = { canonicalName = "Vincentian Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sve"] = { canonicalName = "Serili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["svk"] = { canonicalName = "Slovakian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["svm"] = { canonicalName = "Molise Croatian", otherNames = {"Slavo-molisano", "Slavomolisano"}, type = "regular", scripts = {"Latn"}, family = "zls", } m["svr"] = { canonicalName = "Savara", type = "regular", scripts = {"None"}, family = "dra", } m["svs"] = { canonicalName = "Savosavo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["svx"] = { canonicalName = "Skalvian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swb"] = { canonicalName = "Maore Comorian", type = "regular", scripts = {"Latn"}, family = "bnt", } m["swf"] = { canonicalName = "Sere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swg"] = { canonicalName = "Swabian", type = "regular", scripts = {"Latn"}, family = "gmw", } m["swi"] = { canonicalName = "Sui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swj"] = { canonicalName = "Sira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swk"] = { canonicalName = "Malawi Sena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swl"] = { canonicalName = "Swedish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["swm"] = { canonicalName = "Samosa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swn"] = { canonicalName = "Sokna", otherNames = {"Sawknah", "Fezzan", "Fogaha"}, type = "regular", scripts = {"None"}, family = "ber", } m["swo"] = { canonicalName = "Shanenawa", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["swp"] = { canonicalName = "Suau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swq"] = { canonicalName = "Sharwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swr"] = { canonicalName = "Saweru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sws"] = { canonicalName = "Seluwasan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swt"] = { canonicalName = "Sawila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["swu"] = { canonicalName = "Suwawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sww"] = { canonicalName = "Sowa", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["swx"] = { canonicalName = "Suruahá", type = "regular", scripts = {"None"}, family = "auf", } m["swy"] = { canonicalName = "Sarua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxb"] = { canonicalName = "Suba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxc"] = { canonicalName = "Sicanian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxe"] = { canonicalName = "Sighu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxg"] = { canonicalName = "Shixing", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxk"] = { canonicalName = "Southern Kalapuya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxl"] = { canonicalName = "Selonian", otherNames = {"Selian"}, type = "regular", scripts = {"None"}, family = "bat", } m["sxm"] = { canonicalName = "Samre", type = "regular", scripts = {"None"}, family = "aav", } m["sxn"] = { canonicalName = "Sangir", type = "regular", scripts = {"Latn"}, family = "phi", } m["sxo"] = { canonicalName = "Sorothaptic", type = "regular", scripts = {"None"}, family = "qfa-und", -- possibly ine, but this language is an odd duck } m["sxr"] = { canonicalName = "Saaroa", type = "regular", scripts = {"Latn"}, family = "map", } m["sxs"] = { canonicalName = "Sasaru", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["sxu"] = { canonicalName = "Upper Saxon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sxw"] = { canonicalName = "Saxwe Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sya"] = { canonicalName = "Siang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syb"] = { canonicalName = "Central Subanen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syc"] = { canonicalName = "Classical Syriac", type = "regular", scripts = {"Syrc"}, family = "sem-ara", } m["syi"] = { canonicalName = "Seki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syk"] = { canonicalName = "Sukur", type = "regular", scripts = {"None"}, family = "cdc", } m["syl"] = { canonicalName = "Sylheti", type = "regular", scripts = {"Sylo", "Beng"}, family = "inc", } m["sym"] = { canonicalName = "Maya Samo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syn"] = { canonicalName = "Senaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syo"] = { canonicalName = "Suoy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syr"] = { canonicalName = "Syriac", type = "regular", scripts = {"Syrc"}, family = "sem-ara", } m["sys"] = { canonicalName = "Sinyar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syw"] = { canonicalName = "Kagate", type = "regular", scripts = {"None"}, family = "qfa-und", } m["syx"] = { canonicalName = "Shamay", otherNames = {"Osamayi", "Samayi", "Samay", "Shamayi"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["syy"] = { canonicalName = "Al-Sayyid Bedouin Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["sza"] = { canonicalName = "Semelai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szb"] = { canonicalName = "Ngalum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szc"] = { canonicalName = "Semaq Beri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szd"] = { canonicalName = "Seru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["sze"] = { canonicalName = "Seze", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szg"] = { canonicalName = "Sengele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szl"] = { canonicalName = "Silesian", type = "regular", scripts = {"Latn"}, family = "zlw", } m["szn"] = { canonicalName = "Sula", type = "regular", scripts = {"None"}, family = "plf", } m["szp"] = { canonicalName = "Suabo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["szv"] = { canonicalName = "Isubu", otherNames = {"Isu", "Isu (Fako Division)", "Isuwu", "Suwu", "Subu"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["szw"] = { canonicalName = "Sawai", type = "regular", scripts = {"None"}, family = "poz-hce", } return m 6ba4boyp2irw9anmot8ifa0ysuqbjwy Module:languages/data3/r 828 4693 13339 2015-05-31T23:56:23Z Dalmo Pereira 1417 Bog cusub: 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... 13339 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 m = {} m["raa"] = { canonicalName = "Dungmali", type = "regular", scripts = {"None"}, family = "tbq", } m["rab"] = { canonicalName = "Camling", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rac"] = { canonicalName = "Rasawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rad"] = { canonicalName = "Rade", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["raf"] = { canonicalName = "Western Meohang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rag"] = { canonicalName = "Logooli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rah"] = { canonicalName = "Rabha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rai"] = { canonicalName = "Ramoaaina", otherNames = {"Ramoaina", "Ramuaaina", "Ramuaina", "Duke of York"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["raj"] = { canonicalName = "Rajasthani", type = "regular", scripts = {"Deva"}, family = "inc", } m["rak"] = { canonicalName = "Tulu-Bohuai", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ral"] = { canonicalName = "Ralte", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["ram"] = { canonicalName = "Canela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ran"] = { canonicalName = "Riantana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rao"] = { canonicalName = "Rao", type = "regular", scripts = {"None"}, family = "paa", } m["rap"] = { canonicalName = "Rapa Nui", otherNames = {"Rapanui", "Pascuense"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["raq"] = { canonicalName = "Saam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rar"] = { canonicalName = "Rarotongan", otherNames = {"Cook Islands Maori", "Cook Islands Māori"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["ras"] = { canonicalName = "Tegali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rat"] = { canonicalName = "Razajerdi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rau"] = { canonicalName = "Raute", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rav"] = { canonicalName = "Sampang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["raw"] = { canonicalName = "Rawang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rax"] = { canonicalName = "Rang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ray"] = { canonicalName = "Rapa", type = "regular", scripts = {"None"}, family = "poz-pol", } m["raz"] = { canonicalName = "Rahambuu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rbb"] = { canonicalName = "Rumai Palaung", type = "regular", scripts = {"None"}, family = "aav", } m["rbk"] = { canonicalName = "Northern Bontok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rbl"] = { canonicalName = "Miraya Bikol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rcf"] = { canonicalName = "Réunion Creole French", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"fr"}, } m["rdb"] = { canonicalName = "Rudbari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rea"] = { canonicalName = "Rerau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["reb"] = { canonicalName = "Rembong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ree"] = { canonicalName = "Rejang Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["reg"] = { canonicalName = "Kara (Tanzania)", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rei"] = { canonicalName = "Reli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rej"] = { canonicalName = "Rejang", type = "regular", scripts = {"Rjng"}, family = "poz-sus", } m["rel"] = { canonicalName = "Rendille", type = "regular", scripts = {"None"}, family = "cus", } m["rem"] = { canonicalName = "Remo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["ren"] = { canonicalName = "Rengao", type = "regular", scripts = {"None"}, family = "mkh", } m["rer"] = { canonicalName = "Rer Bare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["res"] = { canonicalName = "Reshe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ret"] = { canonicalName = "Retta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rey"] = { canonicalName = "Reyesano", type = "regular", scripts = {"None"}, family = "qfa-tac", } m["rga"] = { canonicalName = "Roria", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["rge"] = { canonicalName = "Romani Greek", otherNames = {"Romano-Greek", "Hellenoromani"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["rgk"] = { canonicalName = "Rangkas", type = "regular", scripts = {"None"}, family = "tbq", } m["rgn"] = { canonicalName = "Romagnol", otherNames = {"Romagnolo"}, type = "regular", scripts = {"Latn"}, family = "roa", wikimedia_codes = {"eml"}, } m["rgr"] = { canonicalName = "Resígaro", type = "regular", scripts = {"None"}, family = "awd", } m["rgs"] = { canonicalName = "Southern Roglai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rgu"] = { canonicalName = "Ringgou", type = "regular", scripts = {"None"}, family = "plf", } m["rhg"] = { canonicalName = "Rohingya", type = "regular", scripts = {"Latn"}, family = "inc", } m["rhp"] = { canonicalName = "Yahang", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ria"] = { canonicalName = "Reang", otherNames = {"Riang"}, type = "regular", scripts = {"None"}, family = "tbq", } m["rie"] = { canonicalName = "Rien", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rif"] = { canonicalName = "Tarifit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ril"] = { canonicalName = "Riang", type = "regular", scripts = {"None"}, family = "aav", } m["rim"] = { canonicalName = "Nyaturu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rin"] = { canonicalName = "Nungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rir"] = { canonicalName = "Ribun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rit"] = { canonicalName = "Ritarungo", otherNames = {"Ritharrŋu", "Ritharngu"}, type = "regular", scripts = {"Latn"}, family = "aus-yol", } m["riu"] = { canonicalName = "Riung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rjg"] = { canonicalName = "Rajong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rji"] = { canonicalName = "Raji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rjs"] = { canonicalName = "Rajbanshi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rka"] = { canonicalName = "Kraol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rkb"] = { canonicalName = "Rikbaktsa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rkh"] = { canonicalName = "Rakahanga-Manihiki", type = "regular", scripts = {"None"}, family = "poz-pol", } m["rki"] = { canonicalName = "Rakhine", otherNames = {"Arakanese", "Ramree", "Yangbye", "Thandwe", "Chaungtha"}, type = "regular", scripts = {"None"}, family = "tbq-brm", } m["rkm"] = { canonicalName = "Marka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rkt"] = { canonicalName = "Kamta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rkw"] = { canonicalName = "Arakwal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rma"] = { canonicalName = "Rama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmb"] = { canonicalName = "Rembarunga", type = "regular", scripts = {"None"}, family = "aus-gun", } m["rmc"] = { canonicalName = "Carpathian Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmd"] = { canonicalName = "Traveller Danish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rme"] = { canonicalName = "Angloromani", type = "regular", scripts = {"Latn"}, family = "crp", } m["rmf"] = { canonicalName = "Kalo Finnish Romani", type = "regular", scripts = {"None"}, family = "inc", } m["rmg"] = { canonicalName = "Traveller Norwegian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmh"] = { canonicalName = "Murkim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmi"] = { canonicalName = "Lomavren", type = "regular", scripts = {"None"}, family = "inc", } m["rmk"] = { canonicalName = "Romkun", type = "regular", scripts = {"None"}, family = "paa", } m["rml"] = { canonicalName = "Baltic Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmm"] = { canonicalName = "Roma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmn"] = { canonicalName = "Balkan Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmo"] = { canonicalName = "Sinte Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmp"] = { canonicalName = "Rempi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmq"] = { canonicalName = "Caló", type = "regular", scripts = {"Latn"}, family = "qfa-mix", } m["rms"] = { canonicalName = "Romanian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["rmt"] = { canonicalName = "Domari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmu"] = { canonicalName = "Tavringer Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmv"] = { canonicalName = "Romanova", type = "appendix-constructed", scripts = {"None"}, family = "art", } m["rmw"] = { canonicalName = "Welsh Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmx"] = { canonicalName = "Romam", type = "regular", scripts = {"None"}, family = "mkh", } m["rmy"] = { canonicalName = "Vlax Romani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rmz"] = { canonicalName = "Marma", type = "regular", scripts = {"None"}, family = "tbq-brm", } m["rna"] = { canonicalName = "Runa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rnd"] = { canonicalName = "Ruund", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rng"] = { canonicalName = "Ronga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rnl"] = { canonicalName = "Ranglong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rnn"] = { canonicalName = "Roon", type = "regular", scripts = {"None"}, family = "poz-hce", } m["rnp"] = { canonicalName = "Rongpo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rnw"] = { canonicalName = "Rungwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rob"] = { canonicalName = "Tae'", type = "regular", scripts = {"Latn"}, family = "poz-ssw", } m["roc"] = { canonicalName = "Cacgia Roglai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rod"] = { canonicalName = "Rogo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["roe"] = { canonicalName = "Ronji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rof"] = { canonicalName = "Rombo", type = "regular", scripts = {"Latn"}, family = "bnt", } m["rog"] = { canonicalName = "Northern Roglai", type = "regular", scripts = {"Latn"}, family = "cmc", } m["rol"] = { canonicalName = "Romblomanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rom"] = { canonicalName = "Romani", type = "regular", scripts = {"Latn"}, family = "inc", } m["roo"] = { canonicalName = "Rotokas", type = "regular", scripts = {"Latn"}, family = "paa", } m["rop"] = { canonicalName = "Kriol", otherNames = {"Australian Kriol"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["ror"] = { canonicalName = "Rongga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rou"] = { canonicalName = "Runga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["row"] = { canonicalName = "Dela-Oenale", type = "regular", scripts = {"None"}, family = "plf", } m["rpn"] = { canonicalName = "Repanbitip", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["rpt"] = { canonicalName = "Rapting", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rri"] = { canonicalName = "Ririo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["rro"] = { canonicalName = "Roro", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["rsb"] = { canonicalName = "Romano-Serbian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rsi"] = { canonicalName = "Rennellese Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["rsl"] = { canonicalName = "Russian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["rtc"] = { canonicalName = "Rungtu", otherNames = {"Rungtu Chin", "Thaungtha"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["rth"] = { canonicalName = "Ratahan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rtm"] = { canonicalName = "Rotuman", type = "regular", scripts = {"Latn"}, family = "poz-occ", } m["rtw"] = { canonicalName = "Rathawi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rub"] = { canonicalName = "Gungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ruc"] = { canonicalName = "Ruuli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rue"] = { canonicalName = "Rusyn", type = "regular", scripts = {"Cyrl"}, family = "zle", translit_module = "rue-translit", entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["ruf"] = { canonicalName = "Luguru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rug"] = { canonicalName = "Roviana", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["ruh"] = { canonicalName = "Ruga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rui"] = { canonicalName = "Rufiji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ruk"] = { canonicalName = "Che", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ruo"] = { canonicalName = "Istro-Romanian", type = "regular", scripts = {"Latn"}, family = "roa", } m["rup"] = { canonicalName = "Aromania", type = "regular", scripts = {"Latn"}, family = "roa", wikimedia_codes = {"roa-rup"}, } m["ruq"] = { canonicalName = "Megleno-Romanian", type = "regular", scripts = {"Latn"}, family = "roa", } m["rut"] = { canonicalName = "Rutul", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["ruu"] = { canonicalName = "Lanas Lobu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ruy"] = { canonicalName = "Mala (Nigeria)", otherNames = {"Mala"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["ruz"] = { canonicalName = "Ruma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rwa"] = { canonicalName = "Rawo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rwk"] = { canonicalName = "Rwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rwm"] = { canonicalName = "Amba", type = "regular", scripts = {"Latn"}, family = "bnt", } m["rwo"] = { canonicalName = "Rawa", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["rxd"] = { canonicalName = "Ngardi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["rxw"] = { canonicalName = "Karuwali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ryn"] = { canonicalName = "Northern Amami-Oshima", type = "regular", scripts = {"None"}, family = "jpx", } m["rys"] = { canonicalName = "Yaeyama", type = "regular", scripts = {"Kana"}, family = "jpx", } m["ryu"] = { canonicalName = "Okinawa", type = "regular", scripts = {"Jpan"}, family = "jpx", } return m s5xqws7tvyuvexhm0aiga6s026rcp44 Module:languages/data3/q 828 4694 13340 2015-05-31T23:59:12Z Dalmo Pereira 1417 Bog cusub: 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... 13340 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 m = {} m["qot"] = { canonicalName = "Sahaptin", otherNames = {"Shahaptin"}, type = "regular", scripts = {"Latn"}, family = "nai-shp", } m["qua"] = { canonicalName = "Quapaw", otherNames = {"Arkansas"}, type = "regular", scripts = {"None"}, family = "sio", } m["quc"] = { canonicalName = "K'iche'", type = "regular", scripts = {"Latn"}, family = "myn", } m["qui"] = { canonicalName = "Quileute", type = "regular", scripts = {"None"}, family = "qfa-und", } m["qum"] = { canonicalName = "Sipacapense", type = "regular", scripts = {"None"}, family = "qfa-und", } m["qun"] = { canonicalName = "Quinault", type = "regular", scripts = {"None"}, family = "qfa-und", } m["quq"] = { canonicalName = "Quinqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["quv"] = { canonicalName = "Sacapulteco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["qvy"] = { canonicalName = "Queyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["qwc"] = { canonicalName = "Classical Quechua", type = "regular", scripts = {"Latn"}, family = "qwe", } m["qwm"] = { canonicalName = "Kipchak", otherNames = {"Kypchak", "Qypchaq", "Armeno-Kipchak", "Armeno-Qypchaq", "Mamluk-Kipchak", "Cuman", "Kuman", "Polovets"}, type = "regular", scripts = {"Latn", "Armn", "Arab"}, family = "trk", } m["qwt"] = { canonicalName = "Kwalhioqua-Tlatskanai", type = "regular", scripts = {"None"}, family = "ath", } m["qxq"] = { canonicalName = "Qashqa'i", type = "regular", scripts = {"None"}, family = "qfa-und", } m["qxs"] = { canonicalName = "Southern Qiang", type = "regular", scripts = {"Latn"}, family = "tbq", } m["qya"] = { canonicalName = "Quenya", type = "appendix-constructed", scripts = {"Latn", "Teng"}, family = "art", } m["qyp"] = { canonicalName = "Quiripi", otherNames = {"Unquachog", "Unkechaug", "Quiripi-Unquachog", "Naugatuck", "Wampano", "Quinnipiac"}, type = "regular", scripts = {"Latn"}, family = "alg", } return m 0nvd3pwkmfij6mjzajkhlo2ljtbluch Module:languages/data3/p 828 4695 13341 2015-06-01T00:00:36Z Dalmo Pereira 1417 Bog cusub: 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... 13341 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 m = {} m["pab"] = { canonicalName = "Pareci", otherNames = {"Parecis", "Parecís", "Paresi", "Paresí"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["pac"] = { canonicalName = "Pacoh", type = "regular", scripts = {"None"}, family = "mkh", } m["pad"] = { canonicalName = "Paumarí", type = "regular", scripts = {"Latn"}, family = "auf", } m["pae"] = { canonicalName = "Pagibete", type = "regular", scripts = {"None"}, family = "bnt", } m["paf"] = { canonicalName = "Paranawát", type = "regular", scripts = {"None"}, family = "tup", } m["pag"] = { canonicalName = "Pangasinan", type = "regular", scripts = {"Latn"}, family = "phi", } m["pah"] = { canonicalName = "Tenharim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pai"] = { canonicalName = "Pe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pak"] = { canonicalName = "Parakanã", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pal"] = { canonicalName = "Parsi Tengah", otherNames = {"Pahlavi"}, type = "regular", scripts = {"Phlv", "Phli", "Avst", "Phlp"}, -- Phlv and Phlp not in Unicode yet family = "ira", } m["pam"] = { canonicalName = "Kapampangan", otherNames = {"Pampango"}, type = "regular", scripts = {"Latn"}, -- also Kulitan, which lacks a code family = "phi", } m["pao"] = { canonicalName = "Northern Paiute", otherNames = {"Numu", "Numa", "Paviotso", "Mono-Paviotso", "Mono-Bannock", "Bannock"}, type = "regular", scripts = {"Latn"}, family = "azc-num", } m["pap"] = { canonicalName = "Papiamentu", otherNames = {"Papiamento"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["paq"] = { canonicalName = "Parya", type = "regular", scripts = {"None"}, family = "inc", } m["par"] = { canonicalName = "Panamint", otherNames = {"Panamint Shoshone", "Timbisha", "Tümpisha", "Koso"}, type = "regular", scripts = {"Latn"}, family = "azc-num", } m["pas"] = { canonicalName = "Papasena", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["pat"] = { canonicalName = "Papitalai", type = "regular", scripts = {"None"}, family = "poz-aay", } m["pau"] = { canonicalName = "Palauan", type = "regular", scripts = {"Latn"}, family = "poz-sus", } m["pav"] = { canonicalName = "Wari'", type = "regular", scripts = {"Latn"}, family = "qfa-cpc", } m["paw"] = { canonicalName = "Pawnee", type = "regular", scripts = {"Latn"}, family = "cdd", } m["pax"] = { canonicalName = "Pankararé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pay"] = { canonicalName = "Pech", type = "regular", scripts = {"None"}, family = "qfa-und", } m["paz"] = { canonicalName = "Pankararú", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbb"] = { canonicalName = "Páez", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbc"] = { canonicalName = "Patamona", type = "regular", scripts = {"None"}, family = "sai-car", } m["pbe"] = { canonicalName = "Mezontla Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbf"] = { canonicalName = "Coyotepec Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbg"] = { canonicalName = "Paraujano", type = "regular", scripts = {"None"}, family = "awd", } m["pbh"] = { canonicalName = "Panare", type = "regular", scripts = {"None"}, family = "sai-car", } m["pbi"] = { canonicalName = "Podoko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbl"] = { canonicalName = "Mak (Nigeria)", otherNames = {"Mak", "Panya", "Zo"}, -- Panya and Zo are dialects type = "regular", scripts = {"None"}, family = "alv", } m["pbn"] = { canonicalName = "Kpasam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbo"] = { canonicalName = "Papel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbp"] = { canonicalName = "Badyara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbr"] = { canonicalName = "Pangwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbs"] = { canonicalName = "Central Pame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pbv"] = { canonicalName = "Pnar", type = "regular", scripts = {"None"}, family = "aav", } m["pby"] = { canonicalName = "Pyu", otherNames = {"Papuan Pyu", "Pyu (New Guinea)", "Pyu (Papua New Guinea)"}, -- distinguish from 'pyx' type = "regular", scripts = {"None"}, family = "qfa-und", } m["pca"] = { canonicalName = "Santa Inés Ahuatempan Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcb"] = { canonicalName = "Pear", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcc"] = { canonicalName = "Yay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcd"] = { canonicalName = "Picard", otherNames = {"Chti", "Ch'ti"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["pce"] = { canonicalName = "Ruching Palaung", type = "regular", scripts = {"None"}, family = "aav", } m["pcf"] = { canonicalName = "Paliyan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcg"] = { canonicalName = "Paniya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pch"] = { canonicalName = "Pardhan", type = "regular", scripts = {"None"}, family = "dra", } m["pci"] = { canonicalName = "Duruwa", type = "regular", scripts = {"None"}, family = "dra", } m["pcj"] = { canonicalName = "Parenga", type = "regular", scripts = {"None"}, family = "mun", } m["pck"] = { canonicalName = "Paite Chin", otherNames = {"Paite"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["pcl"] = { canonicalName = "Pardhi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcm"] = { canonicalName = "Nigerian Pidgin", type = "regular", scripts = {"Latn"}, family = "crp", } m["pcn"] = { canonicalName = "Piti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pcp"] = { canonicalName = "Pacahuara", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["pcw"] = { canonicalName = "Pyapun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pda"] = { canonicalName = "Anam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pdc"] = { canonicalName = "Pennsylvania German", type = "regular", scripts = {"Latn"}, family = "gmw", } m["pdi"] = { canonicalName = "Pa Di", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pdn"] = { canonicalName = "Fedan", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["pdo"] = { canonicalName = "Padoe", type = "regular", scripts = {"Latn"}, family = "poz-btk", } m["pdt"] = { canonicalName = "Plautdietsch", type = "regular", scripts = {"Latn"}, family = "gmw", } m["pdu"] = { canonicalName = "Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pea"] = { canonicalName = "Peranakan Indonesian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["peb"] = { canonicalName = "Eastern Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["ped"] = { canonicalName = "Mala (New Guinea)", otherNames = {"Mala (Papua New Guinea)", "Mala"}, type = "regular", scripts = {"None"}, family = "ngf", } m["pee"] = { canonicalName = "Taje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pef"] = { canonicalName = "Northeastern Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["peg"] = { canonicalName = "Pengo", type = "regular", scripts = {"None"}, family = "dra", } m["peh"] = { canonicalName = "Bonan", type = "regular", scripts = {"None"}, family = "xgn", } m["pei"] = { canonicalName = "Chichimeca-Jonaz", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pej"] = { canonicalName = "Northern Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["pek"] = { canonicalName = "Penchal", type = "regular", scripts = {"None"}, family = "poz-aay", } m["pel"] = { canonicalName = "Pekal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pem"] = { canonicalName = "Phende", type = "regular", scripts = {"None"}, family = "qfa-und", } m["peo"] = { canonicalName = "Old Persian", type = "regular", scripts = {"Xpeo"}, family = "ira", } m["pep"] = { canonicalName = "Kunja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["peq"] = { canonicalName = "Southern Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["pev"] = { canonicalName = "Pémono", type = "regular", scripts = {"None"}, family = "sai-car", } m["pex"] = { canonicalName = "Petats", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["pey"] = { canonicalName = "Petjo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pez"] = { canonicalName = "Eastern Penan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pfa"] = { canonicalName = "Pááfang", type = "regular", scripts = {"None"}, family = "poz-mic", } m["pfe"] = { canonicalName = "Peere", otherNames = {"Kutin"}, type = "regular", scripts = {"Latn"}, family = "alv", } m["pfl"] = { canonicalName = "Palatinate German", otherNames = {"Pfälzisch", "Pälzisch"}, type = "regular", scripts = {"None"}, family = "gmw", } m["pga"] = { canonicalName = "Juba Arabic", type = "regular", scripts = {"Arab"}, family = "crp", ancestors = {"apd"}, } m["pgd"] = { canonicalName = "Gāndhārī", otherNames = {"Gāndhārī Prakrit"}, type = "regular", scripts = {"Deva"}, family = "inc", ancestors = {"sa"}, } m["pgg"] = { canonicalName = "Pangwali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pgi"] = { canonicalName = "Pagi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pgk"] = { canonicalName = "Rerep", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["pgl"] = { canonicalName = "Primitive Irish", type = "regular", scripts = {"Ogam"}, family = "cel-gae", ancestors = {"cel-pro"}, translit_module = "pgl-translit", } m["pgn"] = { canonicalName = "Paelignian", type = "regular", scripts = {"Latn"}, family = "itc", } m["pgs"] = { canonicalName = "Pangseng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pgu"] = { canonicalName = "Pagu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pha"] = { canonicalName = "Pa-Hng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phd"] = { canonicalName = "Phudagi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phg"] = { canonicalName = "Phuong", type = "regular", scripts = {"None"}, family = "mkh", } m["phh"] = { canonicalName = "Phukha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phk"] = { canonicalName = "Phake", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phl"] = { canonicalName = "Phalura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phm"] = { canonicalName = "Phimbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phn"] = { canonicalName = "Phoenician", type = "regular", scripts = {"Phnx"}, family = "sem-can", } m["pho"] = { canonicalName = "Phunoi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phq"] = { canonicalName = "Phana'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phr"] = { canonicalName = "Pahari-Potwari", otherNames = {"Pothohari", "Pothwari"}, type = "regular", scripts = {"fa-Arab", "Latn"}, family = "inc", } m["pht"] = { canonicalName = "Phu Thai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phu"] = { canonicalName = "Phuan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phv"] = { canonicalName = "Pahlavani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["phw"] = { canonicalName = "Phangduwali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pia"] = { canonicalName = "Pima Bajo", type = "regular", scripts = {"None"}, family = "azc", } m["pib"] = { canonicalName = "Yine", otherNames = {"Piro"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["pic"] = { canonicalName = "Pinji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pid"] = { canonicalName = "Piaroa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pie"] = { canonicalName = "Piro", type = "regular", scripts = {"None"}, family = "qfa-kta", } m["pif"] = { canonicalName = "Pingelapese", type = "regular", scripts = {"None"}, family = "poz-mic", } m["pig"] = { canonicalName = "Pisabo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["pih"] = { canonicalName = "Pitcairn-Norfolk", otherNames = {"Pitkern-Norfuk", "Pitcairn", "Pitkern", "Norfolk", "Norfuk"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["pii"] = { canonicalName = "Pini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pij"] = { canonicalName = "Pijao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pil"] = { canonicalName = "Yom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pim"] = { canonicalName = "Powhatan", type = "regular", scripts = {"Latn"}, family = "alg", } m["pin"] = { canonicalName = "Piame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pio"] = { canonicalName = "Piapoco", type = "regular", scripts = {"None"}, family = "awd", } m["pip"] = { canonicalName = "Pero", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pir"] = { canonicalName = "Piratapuyo", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["pis"] = { canonicalName = "Pijin", otherNames = {"Kanaka", "Neo-Solomonic", "Solomons Pidgin"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["pit"] = { canonicalName = "Pitta-Pitta", otherNames = {"Pitta Pitta"}, type = "regular", scripts = {"Latn"}, family = "aus-kar", } m["piu"] = { canonicalName = "Pintupi-Luritja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["piv"] = { canonicalName = "Pileni", type = "regular", scripts = {"None"}, family = "poz-pol", } m["piw"] = { canonicalName = "Pimbwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pix"] = { canonicalName = "Piu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["piy"] = { canonicalName = "Piya-Kwonci", type = "regular", scripts = {"None"}, family = "qfa-und", } m["piz"] = { canonicalName = "Pije", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["pjt"] = { canonicalName = "Pitjantjatjara", type = "regular", scripts = {"pjt-Latn"}, family = "aus-pam", } m["pka"] = { canonicalName = "Ardhamagadhi Prakrit", otherNames = {"Magadhi Prakrit"}, type = "regular", scripts = {"None"}, family = "pra", } m["pkb"] = { canonicalName = "Kipfokomo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pkc"] = { canonicalName = "Baekje", type = "regular", scripts = {"Hani"}, family = "qfa-und", } m["pkg"] = { canonicalName = "Pak-Tong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pkh"] = { canonicalName = "Pankhu", otherNames = {"Pankho", "Pangkhua", "Pangkho", "Pangkhu", "Panko"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["pkn"] = { canonicalName = "Pakanha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pko"] = { canonicalName = "Pökoot", type = "regular", scripts = {"None"}, family = "sdv", } m["pkp"] = { canonicalName = "Pukapukan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["pkr"] = { canonicalName = "Attapady Kurumba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pks"] = { canonicalName = "Pakistan Sign Language", otherNames = {"Pakistani Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["pkt"] = { canonicalName = "Maleng", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["pku"] = { canonicalName = "Paku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pla"] = { canonicalName = "Miani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plb"] = { canonicalName = "Polonombauk", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["plc"] = { canonicalName = "Central Palawano", type = "regular", scripts = {"None"}, family = "phi", } m["ple"] = { canonicalName = "Palu'e", type = "regular", scripts = {"Latn"}, family = "plf", } m["plg"] = { canonicalName = "Pilagá", otherNames = {"Pilacá"}, type = "regular", scripts = {"Latn"}, family = "sai-gua", } m["plh"] = { canonicalName = "Paulohi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plj"] = { canonicalName = "Polci", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plk"] = { canonicalName = "Kohistani Shina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pll"] = { canonicalName = "Shwe Palaung", type = "regular", scripts = {"None"}, family = "aav", } m["pln"] = { canonicalName = "Palenquero", type = "regular", scripts = {"Latn"}, family = "crp", } m["plo"] = { canonicalName = "Oluta Popoluca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plp"] = { canonicalName = "Palpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plq"] = { canonicalName = "Palaic", type = "regular", scripts = {"Xsux"}, family = "ine-ana", } m["plr"] = { canonicalName = "Palaka Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pls"] = { canonicalName = "San Marcos Tlalcoyalco Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["plu"] = { canonicalName = "Palikur", otherNames = {"Palikúr"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["plv"] = { canonicalName = "Southwest Palawano", type = "regular", scripts = {"None"}, family = "phi", } m["plw"] = { canonicalName = "Brooke's Point Palawano", type = "regular", scripts = {"None"}, family = "phi", } m["ply"] = { canonicalName = "Bolyu", type = "regular", scripts = {"None"}, family = "mkh", } m["plz"] = { canonicalName = "Paluan", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["pma"] = { canonicalName = "Paama", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["pmb"] = { canonicalName = "Pambia", type = "regular", scripts = {"None"}, family = "znd", } m["pmc"] = { canonicalName = "Palumata", type = "regular", scripts = {"None"}, family = "plf", } m["pmd"] = { canonicalName = "Pallanganmiddang", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["pme"] = { canonicalName = "Pwaamei", type = "regular", scripts = {"None"}, family = "poz-cln", } m["pmf"] = { canonicalName = "Pamona", otherNames = {"Bare'e"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["pmh"] = { canonicalName = "Maharastri Prakrit", otherNames = {"Maharashtri Prakrit", "Maharastri", "Maharashtri"}, type = "regular", scripts = {"None"}, family = "pra", } m["pmi"] = { canonicalName = "Northern Pumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmj"] = { canonicalName = "Southern Pumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmk"] = { canonicalName = "Pamlico", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["pml"] = { canonicalName = "Sabir", otherNames = {"Mediterranean Lingua Franca", "Lingua Franca"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["pmm"] = { canonicalName = "Pomo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmn"] = { canonicalName = "Pam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmo"] = { canonicalName = "Pom", type = "regular", scripts = {"None"}, family = "poz-hce", } m["pmq"] = { canonicalName = "Northern Pame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmr"] = { canonicalName = "Paynamar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pms"] = { canonicalName = "Piedmontese", type = "regular", scripts = {"Latn"}, family = "roa", } m["pmt"] = { canonicalName = "Tuamotuan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["pmu"] = { canonicalName = "Mirpur Panjabi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmw"] = { canonicalName = "Plains Miwok", type = "regular", scripts = {"None"}, family = "qfa-you", } m["pmx"] = { canonicalName = "Poumei Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmy"] = { canonicalName = "Papuan Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pmz"] = { canonicalName = "Southern Pame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pna"] = { canonicalName = "Punan Bah-Biau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnb"] = { canonicalName = "Western Panjabi", type = "regular", scripts = {"pa-Arab"}, family = "inc", } m["pnc"] = { canonicalName = "Pannei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pne"] = { canonicalName = "Western Penan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["png"] = { canonicalName = "Pongu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnh"] = { canonicalName = "Penrhyn", otherNames = {"Tongareva", "Tongarewa"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["pni"] = { canonicalName = "Aoheng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnj"] = { canonicalName = "Pinjarup", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnk"] = { canonicalName = "Paunaca", otherNames = {"Pauna", "Paunaka"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["pnm"] = { canonicalName = "Punan Batu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnn"] = { canonicalName = "Pinai-Hagahai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pno"] = { canonicalName = "Panobo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["pnp"] = { canonicalName = "Pancana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnq"] = { canonicalName = "Pana (West Africa)", otherNames = {"Pana (Burkina Faso)", "Pana"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnr"] = { canonicalName = "Panim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pns"] = { canonicalName = "Ponosakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnt"] = { canonicalName = "Pontic Greek", type = "regular", scripts = {"polytonic"}, family = "grk", } m["pnu"] = { canonicalName = "Jiongnai Bunu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pnv"] = { canonicalName = "Pinigura", type = "regular", scripts = {"None"}, family = "aus-psw", } m["pnw"] = { canonicalName = "Panyjima", type = "regular", scripts = {"Latn"}, family = "aus-nga", } m["pnx"] = { canonicalName = "Phong-Kniang", type = "regular", scripts = {"None"}, family = "mkh", } m["pny"] = { canonicalName = "Pinyin", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["pnz"] = { canonicalName = "Pana (Central Africa)", otherNames = {"Pana (Central African Republic)", "Pana"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["poc"] = { canonicalName = "Poqomam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pod"] = { canonicalName = "Ponares", type = "regular", scripts = {"None"}, family = "qfa-und", } m["poe"] = { canonicalName = "San Juan Atzingo Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pof"] = { canonicalName = "Poke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pog"] = { canonicalName = "Potiguára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["poh"] = { canonicalName = "Poqomchi'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["poi"] = { canonicalName = "Highland Popoluca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pok"] = { canonicalName = "Pokangá", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["pom"] = { canonicalName = "Southeastern Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["pon"] = { canonicalName = "Pohnpeian", type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["poo"] = { canonicalName = "Central Pomo", type = "regular", scripts = {"None"}, family = "nai-pom", } m["pop"] = { canonicalName = "Pwapwa", type = "regular", scripts = {"None"}, family = "poz-cln", } m["poq"] = { canonicalName = "Texistepec Popoluca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pos"] = { canonicalName = "Sayula Popoluca", type = "regular", scripts = {"Latn"}, family = "nai-miz", } m["pot"] = { canonicalName = "Potawatomi", otherNames = {"Pottawatomie"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["pov"] = { canonicalName = "Guinea-Bissau Creole", otherNames = {"Upper Guinea Creole", "Upper Guinea Crioulo", "Kriol", "Crioulo", "Kriolu", "Kriyol", "Kiriol"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["pow"] = { canonicalName = "San Felipe Otlaltepec Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pox"] = { canonicalName = "Polabian", type = "regular", scripts = {"Latn"}, family = "zlw", } m["poy"] = { canonicalName = "Pogolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppa"] = { canonicalName = "Pao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppe"] = { canonicalName = "Papi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppi"] = { canonicalName = "Paipai", otherNames = {"Akwa'ala"}, type = "regular", scripts = {"None"}, family = "nai-yuc", } m["ppk"] = { canonicalName = "Uma", type = "regular", scripts = {"Latn"}, family = "poz-kal", } m["ppl"] = { canonicalName = "Pipil", type = "regular", scripts = {"Latn"}, family = "azc-nah", } m["ppm"] = { canonicalName = "Papuma", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["ppn"] = { canonicalName = "Papapana", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ppo"] = { canonicalName = "Folopa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppp"] = { canonicalName = "Pelende", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppq"] = { canonicalName = "Pei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pps"] = { canonicalName = "San Luís Temalacayuca Popoloca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppt"] = { canonicalName = "Pare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ppu"] = { canonicalName = "Papora", type = "regular", scripts = {"Latn"}, family = "map", } m["pqa"] = { canonicalName = "Pa'a", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pqm"] = { canonicalName = "Malecite-Passamaquoddy", otherNames = {"Malecite", "Maliseet", "Passamaquoddy"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["prb"] = { canonicalName = "Lua'", otherNames = {"Pray"}, type = "regular", scripts = {"None"}, family = "mkh", } m["prc"] = { canonicalName = "Parachi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pre"] = { canonicalName = "Principense", type = "regular", scripts = {"Latn"}, family = "crp", } m["prf"] = { canonicalName = "Paranan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["prg"] = { canonicalName = "Old Prussian", otherNames = {"Prussian"}, type = "regular", scripts = {"Latn"}, family = "bat", } m["prh"] = { canonicalName = "Porohanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pri"] = { canonicalName = "Paicî", type = "regular", scripts = {"None"}, family = "poz-cln", } m["prk"] = { canonicalName = "Parauk", type = "regular", scripts = {"None"}, family = "aav", } m["prl"] = { canonicalName = "Peruvian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["prm"] = { canonicalName = "Kibiri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["prn"] = { canonicalName = "Prasuni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pro"] = { canonicalName = "Old Provençal", otherNames = {"Old Occitan"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"ç"}, to = {"c"}} , } m["prq"] = { canonicalName = "Ashéninka Perené", type = "regular", scripts = {"None"}, family = "awd", } m["prr"] = { canonicalName = "Puri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["prt"] = { canonicalName = "Phai", otherNames = {"Prai"}, type = "regular", scripts = {"None"}, family = "mkh", } m["pru"] = { canonicalName = "Puragi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["prw"] = { canonicalName = "Parawen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["prx"] = { canonicalName = "Purik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pry"] = { canonicalName = "Pray", otherNames = {"Prai", "Phray"}, type = "regular", scripts = {"None"}, family = "mkh", } m["prz"] = { canonicalName = "Providencia Sign Language", otherNames = {"Providence Island Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["psa"] = { canonicalName = "Asue Awyu", otherNames = {"Pisa"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["psc"] = { canonicalName = "Persian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["psd"] = { canonicalName = "Plains Indian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["pse"] = { canonicalName = "Central Malay", type = "regular", scripts = {"None"}, family = "poz-mly", } m["psg"] = { canonicalName = "Penang Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["psh"] = { canonicalName = "Southwest Pashayi", type = "regular", scripts = {"None"}, family = "iir-dar", } m["psi"] = { canonicalName = "Southeast Pashayi", type = "regular", scripts = {"None"}, family = "iir-dar", } m["psl"] = { canonicalName = "Puerto Rican Sign Language", type = "regular", scripts = {"None"}, family = "sgn-fsl", } m["psm"] = { canonicalName = "Pauserna", type = "regular", scripts = {"None"}, family = "tup", } m["psn"] = { canonicalName = "Panasuan", type = "regular", scripts = {"None"}, family = "poz", } m["pso"] = { canonicalName = "Polish Sign Language", type = "regular", scripts = {"None"}, family = "sgn-gsl", } m["psp"] = { canonicalName = "Philippine Sign Language", type = "regular", scripts = {"None"}, family = "sgn-fsl", } m["psq"] = { canonicalName = "Pasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["psr"] = { canonicalName = "Portuguese Sign Language", type = "regular", scripts = {"None"}, family = "sgn", -- this is the in Swedish SL fam, whenever that gets a code } m["pss"] = { canonicalName = "Kaulong", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["psu"] = { canonicalName = "Sauraseni Prakrit", otherNames = {"Sauraseni", "Shauraseni"}, type = "regular", scripts = {"Deva"}, family = "pra", } m["psw"] = { canonicalName = "Port Sandwich", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["psy"] = { canonicalName = "Piscataway", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pta"] = { canonicalName = "Pai Tavytera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pth"] = { canonicalName = "Pataxó Hã-Ha-Hãe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pti"] = { canonicalName = "Pintiini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ptn"] = { canonicalName = "Patani", type = "regular", scripts = {"None"}, family = "poz-hce", } m["pto"] = { canonicalName = "Zo'é", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ptp"] = { canonicalName = "Patep", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ptr"] = { canonicalName = "Piamatsina", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["ptt"] = { canonicalName = "Enrekang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ptu"] = { canonicalName = "Bambam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ptv"] = { canonicalName = "Port Vato", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ptw"] = { canonicalName = "Pentlatch", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pty"] = { canonicalName = "Pathiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pua"] = { canonicalName = "Purepecha", otherNames = {"Tarascan", "Tarasco", "P'urhepecha", "Purépecha", "P'urhépecha", "Phorhépecha", "Phorhé", "Porhé"}, type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["pub"] = { canonicalName = "Purum", otherNames = {"Purum Naga"}, type = "regular", scripts = {"Latn"}, family = "tbq-kuk", } m["puc"] = { canonicalName = "Punan Merap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pud"] = { canonicalName = "Punan Aput", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pue"] = { canonicalName = "Puelche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puf"] = { canonicalName = "Punan Merah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pug"] = { canonicalName = "Phuie", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pui"] = { canonicalName = "Puinave", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puj"] = { canonicalName = "Punan Tubu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puk"] = { canonicalName = "Pu Ko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pum"] = { canonicalName = "Puma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puo"] = { canonicalName = "Puoc", type = "regular", scripts = {"None"}, family = "mkh", } m["pup"] = { canonicalName = "Pulabu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puq"] = { canonicalName = "Puquina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pur"] = { canonicalName = "Puruborá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["put"] = { canonicalName = "Putoh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puu"] = { canonicalName = "Punu", type = "regular", scripts = {"Latn"}, family = "bnt", } m["puw"] = { canonicalName = "Puluwat", otherNames = {"Puluwatese"}, type = "regular", scripts = {"None"}, family = "poz-mic", } m["pux"] = { canonicalName = "Puare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["puy"] = { canonicalName = "Purisimeño", type = "regular", scripts = {"None"}, family = "nai-chu", } m["pwa"] = { canonicalName = "Pawaia", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["pwb"] = { canonicalName = "Panawa", type = "regular", scripts = {"None"}, family = "nic-bco", } m["pwg"] = { canonicalName = "Gapapaiwa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["pwi"] = { canonicalName = "Patwin", type = "regular", scripts = {"Latn"}, family = "qfa-wtq", } m["pwm"] = { canonicalName = "Molbog", type = "regular", scripts = {"None"}, family = "poz", } m["pwn"] = { canonicalName = "Paiwan", type = "regular", scripts = {"Latn"}, family = "map", } m["pwo"] = { canonicalName = "Western Pwo", otherNames = {"Delta Pwo", "Pwo Western Karen"}, type = "regular", scripts = {"None"}, family = "tbq", } m["pwr"] = { canonicalName = "Powari", type = "regular", scripts = {"Deva"}, family = "inc", } m["pww"] = { canonicalName = "Northern Pwo", otherNames = {"Phlong", "Pwo Northern Karen"}, type = "regular", scripts = {"None"}, family = "tbq", } m["pxm"] = { canonicalName = "Quetzaltepec Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pye"] = { canonicalName = "Pye Krumen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pym"] = { canonicalName = "Fyam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pyn"] = { canonicalName = "Poyanáwa", otherNames = {"Poyanawa"}, type = "regular", scripts = {"None"}, family = "qfa-pan", } m["pys"] = { canonicalName = "Paraguayan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["pyu"] = { canonicalName = "Puyuma", type = "regular", scripts = {"Latn"}, family = "map", } m["pyx"] = { canonicalName = "Tircul", otherNames = {"Pyu"}, type = "regular", scripts = {"None"}, family = "tbq", } m["pyy"] = { canonicalName = "Pyen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["pzn"] = { canonicalName = "Para Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } return m fqmqoa8lq9guqo0guh4060ltlqoh8ke Module:languages/data3/o 828 4696 13342 2015-06-01T00:02:40Z Dalmo Pereira 1417 Bog cusub: 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... 13342 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 m = {} m["oaa"] = { canonicalName = "Orok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oac"] = { canonicalName = "Oroch", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oav"] = { canonicalName = "Old Avar", type = "regular", scripts = {"None"}, family = "cau-nec", } m["obi"] = { canonicalName = "Obispeño", type = "regular", scripts = {"None"}, family = "nai-chu", } m["obk"] = { canonicalName = "Southern Bontok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["obl"] = { canonicalName = "Oblo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["obm"] = { canonicalName = "Moabite", type = "regular", scripts = {"Phnx"}, family = "sem-can", } m["obo"] = { canonicalName = "Obo Manobo", otherNames = {"Obo"}, type = "regular", scripts = {"None"}, family = "mno", } m["obr"] = { canonicalName = "Old Burmese", type = "regular", scripts = {"Mymr"}, family = "tbq", ancestors = {"sit-pro"}, } m["obt"] = { canonicalName = "Old Breton", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"cel-bry-pro"}, } m["obu"] = { canonicalName = "Obulom", type = "regular", scripts = {"None"}, family = "nic-bco", } m["oca"] = { canonicalName = "Ocaina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["och"] = { canonicalName = "Old Chinese", type = "regular", scripts = {"Hani"}, family = "zhx", } m["oco"] = { canonicalName = "Old Cornish", type = "regular", scripts = {"None"}, family = "cel-bry", ancestors = {"cel-bry-pro"}, } m["ocu"] = { canonicalName = "Atzingo Matlatzinca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oda"] = { canonicalName = "Odut", type = "regular", scripts = {"None"}, family = "nic-bco", } m["odk"] = { canonicalName = "Od", type = "regular", scripts = {"None"}, family = "qfa-und", } m["odt"] = { canonicalName = "Old Dutch", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"frk"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u"}} , } m["odu"] = { canonicalName = "Odual", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ofo"] = { canonicalName = "Ofo", type = "regular", scripts = {"None"}, family = "sio", } m["ofs"] = { canonicalName = "Old Frisian", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"gem-pro"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u"}} , } m["ofu"] = { canonicalName = "Efutop", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ogb"] = { canonicalName = "Ogbia", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ogc"] = { canonicalName = "Ogbah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oge"] = { canonicalName = "Old Georgian", type = "regular", scripts = {"Geor"}, family = "ccs", translit_module = "Geor-translit", entry_name = { from = {"̂"}, to = {""}} , } m["ogg"] = { canonicalName = "Ogbogolo", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ogo"] = { canonicalName = "Khana", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ogu"] = { canonicalName = "Ogbronuagum", type = "regular", scripts = {"None"}, family = "nic-bco", } m["oht"] = { canonicalName = "Old Hittite", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ohu"] = { canonicalName = "Old Hungarian", type = "regular", scripts = {"Latn"}, family = "fiu-ugr", } m["oia"] = { canonicalName = "Oirata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oin"] = { canonicalName = "Inebu One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ojb"] = { canonicalName = "Northwestern Ojibwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ojc"] = { canonicalName = "Central Ojibwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ojg"] = { canonicalName = "Eastern Ojibwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ojp"] = { canonicalName = "Old Japanese", type = "regular", scripts = {"Jpan"}, family = "jpx", } m["ojs"] = { canonicalName = "Severn Ojibwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ojv"] = { canonicalName = "Ontong Java", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["ojw"] = { canonicalName = "Western Ojibwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oka"] = { canonicalName = "Okanagan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["okb"] = { canonicalName = "Okobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["okd"] = { canonicalName = "Okodia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["okg"] = { canonicalName = "Kok-Paponk", type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["okh"] = { canonicalName = "Koresh-e Rostam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oki"] = { canonicalName = "Okiek", type = "regular", scripts = {"None"}, family = "sdv", } m["okj"] = { canonicalName = "Oko-Juwoi", type = "regular", scripts = {"None"}, family = "qfa-adm", } m["okk"] = { canonicalName = "Kwamtim One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["okl"] = { canonicalName = "Old Kentish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["okm"] = { canonicalName = "Middle Korean", type = "regular", scripts = {"CGK"}, family = "qfa-kor", } m["okn"] = { canonicalName = "Oki-No-Erabu", otherNames = {"Okino-Erabu", "Okinoerabu"}, -- distinguish Okinawan type = "regular", scripts = {"None"}, family = "jpx", } m["oko"] = { canonicalName = "Old Korean", type = "regular", scripts = {"Hani"}, family = "qfa-kor", } m["okr"] = { canonicalName = "Kirike", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oks"] = { canonicalName = "Oko-Eni-Osayen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oku"] = { canonicalName = "Oku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["okv"] = { canonicalName = "Orokaiva", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ola"] = { canonicalName = "Walungge", type = "regular", scripts = {"None"}, family = "qfa-und", } m["old"] = { canonicalName = "Mochi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ole"] = { canonicalName = "Olekha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["olm"] = { canonicalName = "Oloma", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["olo"] = { canonicalName = "Livvi", otherNames = {"Livvi-Karelian", "Livvikovian", "Olonets", "Southern Olonetsian"}, type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["olr"] = { canonicalName = "Olrat", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["olt"] = { canonicalName = "Old Lithuanian", type = "regular", scripts = {"Latn"}, family = "bat", ancestors = {"bat-pro"}, entry_name = { from = {"[áãà]", "[éẽè]", "[íĩì]", "[ýỹ]", "ñ", "[óõò]", "[úù]", ACUTE, GRAVE, TILDE}, to = {"a" , "e" , "i", "y" , "n", "o" , "u" }} , } m["oma"] = { canonicalName = "Omaha-Ponca", otherNames = {"Omaha", "Ponca"}, type = "regular", scripts = {"Latn"}, family = "sio", } m["omb"] = { canonicalName = "Omba", otherNames = {"East Ambae"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["omc"] = { canonicalName = "Mochica", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ome"] = { canonicalName = "Omejes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omg"] = { canonicalName = "Omagua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omi"] = { canonicalName = "Omi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omk"] = { canonicalName = "Omok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oml"] = { canonicalName = "Ombo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omn"] = { canonicalName = "Minoan", type = "regular", scripts = {"Lina"}, family = "qfa-und", } m["omo"] = { canonicalName = "Utarmbung", type = "regular", scripts = {"None"}, family = "ngf", } m["omp"] = { canonicalName = "Old Manipuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omr"] = { canonicalName = "Old Marathi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omt"] = { canonicalName = "Omotik", type = "regular", scripts = {"None"}, family = "sdv", } m["omu"] = { canonicalName = "Omurano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omw"] = { canonicalName = "South Tairora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["omx"] = { canonicalName = "Old Mon", type = "regular", scripts = {"None"}, family = "mkh", } m["ona"] = { canonicalName = "Selknam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["onb"] = { canonicalName = "Lingao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["one"] = { canonicalName = "Oneida", type = "regular", scripts = {"None"}, family = "iro", } m["ong"] = { canonicalName = "Olo", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["oni"] = { canonicalName = "Onin", type = "regular", scripts = {"Latn"}, family = "plf", } m["onj"] = { canonicalName = "Onjob", type = "regular", scripts = {"None"}, family = "qfa-und", } m["onk"] = { canonicalName = "Kabore One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["onn"] = { canonicalName = "Onobasulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ono"] = { canonicalName = "Onondaga", type = "regular", scripts = {"Latn"}, family = "iro", } m["onp"] = { canonicalName = "Sartang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["onr"] = { canonicalName = "Northern One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["ons"] = { canonicalName = "Ono", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ont"] = { canonicalName = "Ontenu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["onu"] = { canonicalName = "Unua", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["onw"] = { canonicalName = "Old Nubian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["onx"] = { canonicalName = "Onin Based Pidgin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ood"] = { canonicalName = "O'odham", otherNames = {"Papago"}, type = "regular", scripts = {"Latn"}, family = "azc", } m["oog"] = { canonicalName = "Ong", type = "regular", scripts = {"None"}, family = "mkh", } m["oon"] = { canonicalName = "Önge", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oor"] = { canonicalName = "Oorlams", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oos"] = { canonicalName = "Old Ossetic", otherNames = {"Old Ossetian"}, type = "regular", scripts = {"None"}, family = "ira", } m["opa"] = { canonicalName = "Okpamheri", otherNames = {"Opameri", "Ibilo"}, type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["opk"] = { canonicalName = "Kopkaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["opm"] = { canonicalName = "Oksapmin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["opo"] = { canonicalName = "Opao", type = "regular", scripts = {"None"}, family = "ngf", } m["opt"] = { canonicalName = "Opata", type = "regular", scripts = {"Latn"}, family = "azc-trc", } m["opy"] = { canonicalName = "Ofayé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ora"] = { canonicalName = "Oroha", type = "regular", scripts = {"None"}, family = "poz-sls", } m["ore"] = { canonicalName = "Orejón", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["org"] = { canonicalName = "Oring", type = "regular", scripts = {"None"}, family = "nic-bco", } m["orh"] = { canonicalName = "Oroqen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["orn"] = { canonicalName = "Orang Kanaq", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["oro"] = { canonicalName = "Orokolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["orr"] = { canonicalName = "Oruma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ors"] = { canonicalName = "Orang Seletar", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["ort"] = { canonicalName = "Adivasi Oriya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oru"] = { canonicalName = "Ormuri", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["orv"] = { canonicalName = "Old East Slavic", otherNames = {"Old Russian"}, type = "regular", scripts = {"Cyrs"}, family = "zle", ancestors = {"sla-pro"}, translit_module = "Cyrs-Glag-translit", entry_name = { from = {u(0x0484)}, -- kamora to = {}}, sort_key = { from = {"оу", "є"}, to = {"у" , "е"}} , } m["orw"] = { canonicalName = "Oro Win", type = "regular", scripts = {"None"}, family = "qfa-und", } m["orx"] = { canonicalName = "Oro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["orz"] = { canonicalName = "Ormu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["osa"] = { canonicalName = "Osage", type = "regular", scripts = {"Latn"}, family = "sio", } m["osc"] = { canonicalName = "Oscan", type = "regular", scripts = {"Ital", "Latn"}, family = "itc", } m["osi"] = { canonicalName = "Osing", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oso"] = { canonicalName = "Ososo", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["osp"] = { canonicalName = "Old Spanish", type = "regular", scripts = {"Latn"}, family = "roa", } m["ost"] = { canonicalName = "Osatu", type = "regular", scripts = {"None"}, family = "nic-bod", } m["osu"] = { canonicalName = "Southern One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["osx"] = { canonicalName = "Old Saxon", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"gem-pro"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u"}} , } m["ota"] = { canonicalName = "Ottoman Turkish", otherNames = {"Ottoman"}, type = "regular", scripts = {"ota-Arab", "Armn"}, family = "trk", } m["otb"] = { canonicalName = "Old Tibetan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["otd"] = { canonicalName = "Ot Danum", otherNames = {"Dohoi"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ote"] = { canonicalName = "Mezquital Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["oti"] = { canonicalName = "Oti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["otk"] = { canonicalName = "Old Turkic", type = "regular", scripts = {"Orkh"}, family = "trk", } m["otl"] = { canonicalName = "Tilapa Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["otm"] = { canonicalName = "Eastern Highland Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["otn"] = { canonicalName = "Tenango Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["otq"] = { canonicalName = "Querétaro Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["otr"] = { canonicalName = "Otoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ots"] = { canonicalName = "Estado de México Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["ott"] = { canonicalName = "Temoaya Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["otu"] = { canonicalName = "Otuke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["otw"] = { canonicalName = "Ottawa", type = "regular", scripts = {"Latn"}, family = "alg", } m["otx"] = { canonicalName = "Texcatepec Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["oty"] = { canonicalName = "Old Tamil", type = "regular", scripts = {"Brah"}, family = "dra", } m["otz"] = { canonicalName = "Ixtenco Otomi", type = "regular", scripts = {"None"}, family = "oto", } m["oua"] = { canonicalName = "Tagargrent", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oub"] = { canonicalName = "Glio-Oubi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oue"] = { canonicalName = "Oune", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oui"] = { canonicalName = "Old Uighur", otherNames = {"Old Uyghur"}, type = "regular", scripts = {"None"}, family = "trk", } m["oum"] = { canonicalName = "Ouma", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["owi"] = { canonicalName = "Owiniga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["owl"] = { canonicalName = "Old Welsh", type = "regular", scripts = {"Latn"}, family = "cel-bry", ancestors = {"cel-bry-pro"}, } m["oyb"] = { canonicalName = "Oy", otherNames = {"Oi", "The"}, -- The is a dialect of Oi. No, seriously. type = "regular", scripts = {"None"}, family = "aav-ban", } m["oyd"] = { canonicalName = "Oyda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oym"] = { canonicalName = "Wayampi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["oyy"] = { canonicalName = "Oya'oya", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ozm"] = { canonicalName = "Koonzime", type = "regular", scripts = {"None"}, family = "qfa-und", } return m da8ct2gw08y27sqdzbwqydfo8bl8fk7 Module:languages/data3/m 828 4697 13343 2015-06-01T00:03:41Z Dalmo Pereira 1417 Bog cusub: 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... 13343 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 m = {} m["maa"] = { canonicalName = "San Jerónimo Tecóatl Mazatec", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["mab"] = { canonicalName = "Yutanduchi Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mad"] = { canonicalName = "Madurese", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["mae"] = { canonicalName = "Bo-Rukul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["maf"] = { canonicalName = "Mafa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mag"] = { canonicalName = "Magahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mai"] = { canonicalName = "Maithili", type = "regular", scripts = {"Deva"}, family = "inc", } m["maj"] = { canonicalName = "Jalapa De Díaz Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mak"] = { canonicalName = "Makasar", type = "regular", scripts = {"Latn"}, family = "poz-ssw", } m["mam"] = { canonicalName = "Mam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["man"] = { canonicalName = "Mandingo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["maq"] = { canonicalName = "Chiquihuitlán Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mas"] = { canonicalName = "Maasai", type = "regular", scripts = {"Latn"}, family = "sdv", } m["mat"] = { canonicalName = "San Francisco Matlatzinca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mau"] = { canonicalName = "Huautla Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mav"] = { canonicalName = "Sateré-Mawé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["maw"] = { canonicalName = "Mampruli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["max"] = { canonicalName = "North Moluccan Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["maz"] = { canonicalName = "Central Mazahua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mba"] = { canonicalName = "Higaonon", type = "regular", scripts = {"None"}, family = "poz-hce", } m["mbb"] = { canonicalName = "Western Bukidnon Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbc"] = { canonicalName = "Macushi", otherNames = {"Makushi", "Makusi", "Makuxi", "Macusi", "Macussi", "Teweya"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["mbd"] = { canonicalName = "Dibabawon Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbe"] = { canonicalName = "Molale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbf"] = { canonicalName = "Baba Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbh"] = { canonicalName = "Mangseng", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mbi"] = { canonicalName = "Ilianen Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbj"] = { canonicalName = "Nadëb", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbk"] = { canonicalName = "Malol", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mbl"] = { canonicalName = "Maxakalí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbm"] = { canonicalName = "Ombamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbn"] = { canonicalName = "Macaguán", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbo"] = { -- is, like 'bqz', 'bsi' and 'bss', a dialect of Manenguba canonicalName = "Mbo (Cameroon)", otherNames = {"Mbo"}, type = "regular", scripts = {"None"}, family = "bnt", } m["mbp"] = { canonicalName = "Wiwa", otherNames = {"Damana", "Malayo"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["mbq"] = { canonicalName = "Maisin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbr"] = { canonicalName = "Nukak Makú", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbs"] = { canonicalName = "Sarangani Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbt"] = { canonicalName = "Matigsalug Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbu"] = { canonicalName = "Mbula-Bwazza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbv"] = { canonicalName = "Mbulungish", type = "regular", scripts = {"None"}, family = "alv-sng", } m["mbw"] = { canonicalName = "Maring", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbx"] = { canonicalName = "Sepik Mari", otherNames = {"Mari (East Sepik Province)"}, type = "regular", scripts = {"None"}, family = "paa-spk", } m["mby"] = { canonicalName = "Memoni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mbz"] = { canonicalName = "Amoltepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mca"] = { canonicalName = "Maca", type = "regular", scripts = {"Latn"}, family = "qfa-mtc", } m["mcb"] = { canonicalName = "Machiguenga", type = "regular", scripts = {"None"}, family = "awd", } m["mcc"] = { canonicalName = "Bitur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcd"] = { canonicalName = "Sharanahua", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["mce"] = { canonicalName = "Itundujia Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mcf"] = { canonicalName = "Matsés", type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["mcg"] = { canonicalName = "Mapoyo", type = "regular", scripts = {"None"}, family = "sai-car", } m["mch"] = { canonicalName = "Maquiritari", otherNames = {"Makiritare", "Ye'kwana", "Ye'kuana", "Yekuana", "De'kwana", "So'to", "Maiongong"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["mci"] = { canonicalName = "Mese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcj"] = { canonicalName = "Mvanip", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mck"] = { canonicalName = "Mbunda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcl"] = { canonicalName = "Macaguaje", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["mcm"] = { canonicalName = "Malaccan Creole Portuguese", type = "regular", scripts = {"Latn"}, family = "crp", } m["mcn"] = { canonicalName = "Masana", otherNames = {"Massa", "Masa"}, type = "regular", scripts = {"None"}, family = "cdc-mas", } m["mco"] = { canonicalName = "Coatlán Mixe", type = "regular", scripts = {"Latn"}, family = "nai-miz", } m["mcp"] = { canonicalName = "Makaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcq"] = { canonicalName = "Ese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcr"] = { canonicalName = "Menya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcs"] = { canonicalName = "Mambai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mct"] = { canonicalName = "Mengisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcu"] = { canonicalName = "Cameroon Mambila", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mcv"] = { canonicalName = "Minanibai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcw"] = { canonicalName = "Mahwa", otherNames = {"Mawa (Chad)", "Mawa"}, type = "regular", scripts = {"Latn"}, family = "cdc-est", } m["mcx"] = { canonicalName = "Mpiemo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mcy"] = { canonicalName = "South Watut", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mcz"] = { canonicalName = "Mawan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mda"] = { canonicalName = "Mada (Nigeria)", otherNames = {"Mada"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["mdb"] = { canonicalName = "Morigi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdc"] = { canonicalName = "Male", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdd"] = { canonicalName = "Mbum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mde"] = { canonicalName = "Bura Mabang", type = "regular", scripts = {"None"}, family = "ssa", } m["mdf"] = { canonicalName = "Moksha", otherNames = {"Mordvin"}, type = "regular", scripts = {"Cyrl"}, family = "fiu-mdv", translit_module = "mdf-translit", } m["mdg"] = { canonicalName = "Massalat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdh"] = { canonicalName = "Maguindanao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdi"] = { canonicalName = "Mamvu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdj"] = { canonicalName = "Mangbetu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdk"] = { canonicalName = "Mangbutu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdl"] = { canonicalName = "Maltese Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mdm"] = { canonicalName = "Mayogo", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["mdn"] = { canonicalName = "Mbati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdp"] = { canonicalName = "Mbala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdq"] = { canonicalName = "Mbole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdr"] = { canonicalName = "Mandar", type = "regular", scripts = {"Bugi"}, family = "poz-ssw", } m["mds"] = { canonicalName = "Maria", otherNames = {"Maria (New Guinea)", "Maria (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdt"] = { canonicalName = "Mbere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdu"] = { canonicalName = "Mboko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdv"] = { canonicalName = "Santa Lucía Monteverde Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mdw"] = { canonicalName = "Mbosi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdx"] = { canonicalName = "Dizin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdy"] = { canonicalName = "Maale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mdz"] = { canonicalName = "Suruí Do Pará", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mea"] = { canonicalName = "Menka", type = "regular", scripts = {"None"}, family = "nic-bod", } m["meb"] = { canonicalName = "Ikobi-Mena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mec"] = { canonicalName = "Mara", otherNames = {"Leelawarra", "Leelalwarra", "Mala", "Marra"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["med"] = { canonicalName = "Melpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mee"] = { canonicalName = "Mengen", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mef"] = { canonicalName = "Megam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["meg"] = { canonicalName = "Mea", type = "regular", scripts = {"None"}, family = "poz-cln", } m["meh"] = { canonicalName = "Southwestern Tlaxiaco Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mei"] = { canonicalName = "Midob", type = "regular", scripts = {"Latn"}, family = "nub", } m["mej"] = { canonicalName = "Meyah", otherNames = {"Mejah", "Meax"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["mek"] = { canonicalName = "Mekeo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mel"] = { canonicalName = "Central Melanau", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["mem"] = { canonicalName = "Mangala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["men"] = { canonicalName = "Mende", type = "regular", scripts = {"Latn", "Mend"}, family = "dmn", } m["meo"] = { canonicalName = "Kedah Malay", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["mep"] = { canonicalName = "Miriwung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["meq"] = { canonicalName = "Merey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mer"] = { canonicalName = "Meru", type = "regular", scripts = {"Latn"}, family = "bnt", } m["mes"] = { canonicalName = "Masmaje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["met"] = { canonicalName = "Mato", type = "regular", scripts = {"None"}, family = "qfa-und", } m["meu"] = { canonicalName = "Motu", otherNames = {"Pure Motu", "True Motu"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["mev"] = { canonicalName = "Mano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mew"] = { canonicalName = "Maaka", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["mey"] = { canonicalName = "Hassaniya", type = "regular", scripts = {"Arab"}, family = "sem-arb", } m["mez"] = { canonicalName = "Menominee", type = "regular", scripts = {"Latn"}, family = "alg", sort_key = { from = {"·"}, to = {""}} , } m["mfa"] = { canonicalName = "Pattani Malay", type = "regular", scripts = {"Latn", "Thai", "Arab"}, family = "poz-mly", } m["mfb"] = { canonicalName = "Bangka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfc"] = { canonicalName = "Mba", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["mfd"] = { canonicalName = "Mendankwe-Nkwen", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mfe"] = { canonicalName = "Mauritian Creole", otherNames = {"Mauritian"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["mff"] = { canonicalName = "Naki", otherNames = {"Bukwen", "Mashi"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["mfg"] = { canonicalName = "Mixifore", type = "regular", scripts = {"None"}, family = "dmn", } m["mfh"] = { canonicalName = "Matal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfi"] = { canonicalName = "Wandala", otherNames = {"Mandara"}, type = "regular", scripts = {"Latn"}, family = "cdc-cbm", } m["mfj"] = { canonicalName = "Mefele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfk"] = { canonicalName = "North Mofu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfl"] = { canonicalName = "Putai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfm"] = { canonicalName = "Marghi South", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfn"] = { canonicalName = "Cross River Mbembe", type = "regular", scripts = {"None"}, family = "nic-bco", } m["mfo"] = { canonicalName = "Mbe", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mfp"] = { canonicalName = "Makassar Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfq"] = { canonicalName = "Moba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfr"] = { canonicalName = "Marrithiyel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfs"] = { canonicalName = "Mexican Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mft"] = { canonicalName = "Mokerang", type = "regular", scripts = {"None"}, family = "poz-aay", } m["mfu"] = { canonicalName = "Mbwela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfv"] = { canonicalName = "Mandjak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfw"] = { canonicalName = "Mulaha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfx"] = { canonicalName = "Melo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mfy"] = { canonicalName = "Mayo", type = "regular", scripts = {"Latn"}, family = "azc-trc", } m["mfz"] = { canonicalName = "Mabaan", type = "regular", scripts = {"None"}, family = "sdv", } m["mga"] = { canonicalName = "Middle Irish", type = "regular", scripts = {"Latn"}, family = "cel-gae", ancestors = {"sga"}, entry_name = { from = {"ḟ", "ṡ", "ä", "ë", "ï", "ö", "ü", "·"}, to = {"f", "s", "a", "e", "i", "o", "u"}} , sort_key = { from = {"á", "é", "æ", "ǽ", "í", "ó", "ú", "^h"}, to = {"a", "e", "e", "e", "i", "o", "u"}} , } m["mgb"] = { canonicalName = "Mararit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgc"] = { canonicalName = "Morokodo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgd"] = { canonicalName = "Moru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mge"] = { canonicalName = "Mango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgf"] = { canonicalName = "Maklew", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgg"] = { canonicalName = "Mpongmpong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgh"] = { canonicalName = "Makhuwa-Meetto", type = "regular", scripts = {"Latn"}, family = "bnt", } m["mgi"] = { canonicalName = "Lijili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgj"] = { canonicalName = "Abureni", type = "regular", scripts = {"None"}, family = "nic-bco", } m["mgk"] = { canonicalName = "Mawes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgl"] = { canonicalName = "Maleu-Kilenge", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgm"] = { canonicalName = "Mambae", type = "regular", scripts = {"None"}, family = "plf", } m["mgn"] = { canonicalName = "Mbangi", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["mgo"] = { canonicalName = "Meta'", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mgp"] = { canonicalName = "Eastern Magar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgq"] = { canonicalName = "Malila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgr"] = { canonicalName = "Mambwe-Lungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgs"] = { canonicalName = "Nyasa", otherNames = {"Kimanda", "Kinyasa", "Manda"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgt"] = { canonicalName = "Mongol", type = "regular", scripts = {"None"}, family = "paa", } m["mgu"] = { canonicalName = "Mailu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgv"] = { canonicalName = "Matengo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgw"] = { canonicalName = "Matumbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgx"] = { canonicalName = "Omati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgy"] = { canonicalName = "Mbunga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mgz"] = { canonicalName = "Mbugwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mha"] = { canonicalName = "Manda", type = "regular", scripts = {"None"}, family = "dra", } m["mhb"] = { canonicalName = "Mahongwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhc"] = { canonicalName = "Mocho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhd"] = { canonicalName = "Mbugu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhe"] = { canonicalName = "Besisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhf"] = { canonicalName = "Mamaa", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["mhg"] = { canonicalName = "Margu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhi"] = { canonicalName = "Ma'di", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhj"] = { canonicalName = "Mogholi", type = "regular", scripts = {"None"}, family = "xgn", } m["mhk"] = { canonicalName = "Mungaka", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["mhl"] = { canonicalName = "Mauwake", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhm"] = { canonicalName = "Makhuwa-Moniga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhn"] = { canonicalName = "Mòcheno", type = "regular", scripts = {"Latn"}, family = "gmw", } m["mho"] = { canonicalName = "Mashi", type = "regular", scripts = {"Latn"}, family = "bnt", } m["mhp"] = { canonicalName = "Balinese Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhq"] = { canonicalName = "Mandan", type = "regular", scripts = {"None"}, family = "sio", } m["mhs"] = { canonicalName = "Buru (Indonesia)", otherNames = {"Buru"}, type = "regular", scripts = {"None"}, family = "poz", } m["mht"] = { canonicalName = "Mandahuaca", type = "regular", scripts = {"None"}, family = "awd", } m["mhu"] = { canonicalName = "Digaro-Mishmi", otherNames = {"Darang", "Taraon"}, type = "regular", scripts = {"Latn"}, family = "tbq", } m["mhw"] = { canonicalName = "Mbukushu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhx"] = { canonicalName = "Lhaovo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhy"] = { canonicalName = "Ma'anyan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mhz"] = { canonicalName = "Austronesian Mor", otherNames = {"Mor"}, type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["mia"] = { canonicalName = "Miami", type = "regular", scripts = {"Latn"}, family = "alg", } m["mib"] = { canonicalName = "Atatláhuca Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mic"] = { canonicalName = "Mi'kmaq", type = "regular", scripts = {"Latn"}, family = "alg", } m["mid"] = { canonicalName = "Mandaic", type = "regular", scripts = {"Mand"}, family = "sem-ara", } m["mie"] = { canonicalName = "Ocotepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mif"] = { canonicalName = "Mofu-Gudur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mig"] = { canonicalName = "San Miguel El Grande Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mih"] = { canonicalName = "Chayuco Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mii"] = { canonicalName = "Chigmecatitlán Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mij"] = { canonicalName = "Mungbam", otherNames = {"Abar", "Missong", "Munken", "Ngun"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["mik"] = { canonicalName = "Mikasuki", type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["mil"] = { canonicalName = "Peñoles Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mim"] = { canonicalName = "Alacatlatzala Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["min"] = { canonicalName = "Minangkabau", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["mio"] = { canonicalName = "Pinotepa Nacional Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mip"] = { canonicalName = "Apasco-Apoala Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["miq"] = { canonicalName = "Miskito", type = "regular", scripts = {"Latn"}, family = "qfa-min", } m["mir"] = { canonicalName = "Isthmus Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mit"] = { canonicalName = "Southern Puebla Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["miu"] = { canonicalName = "Cacaloxtepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["miw"] = { canonicalName = "Akoye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mix"] = { canonicalName = "Mixtepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["miy"] = { canonicalName = "Ayutla Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["miz"] = { canonicalName = "Coatzospan Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mjc"] = { canonicalName = "San Juan Colorado Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mjd"] = { canonicalName = "Northwest Maidu", type = "regular", scripts = {"None"}, family = "nai-mdu", } m["mje"] = { canonicalName = "Muskum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjg"] = { canonicalName = "Monguor", type = "regular", scripts = {"Latn"}, family = "xgn", } m["mjh"] = { canonicalName = "Nyanza", otherNames = {"Kinyasa", "Mwera", "Nyasa"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["mji"] = { canonicalName = "Kim Mun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjj"] = { canonicalName = "Mawak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjk"] = { canonicalName = "Matukar", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mjl"] = { canonicalName = "Mandeali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjm"] = { canonicalName = "Medebur", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mjn"] = { canonicalName = "Mebu", otherNames = {"Ma"}, type = "regular", scripts = {"None"}, family = "ngf-fin", } m["mjo"] = { canonicalName = "Malankuravan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjp"] = { canonicalName = "Malapandaram", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjq"] = { canonicalName = "Malaryan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjr"] = { canonicalName = "Malavedan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjs"] = { canonicalName = "Miship", otherNames = {"Chip"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["mjt"] = { canonicalName = "Malto", type = "regular", scripts = {"None"}, family = "dra", } m["mju"] = { canonicalName = "Manna-Dora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjv"] = { canonicalName = "Mannan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mjw"] = { canonicalName = "Karbi", otherNames = {"Arleng", "Mikir"}, type = "regular", scripts = {"Latn"}, family = "tbq", } m["mjx"] = { canonicalName = "Mahali", type = "regular", scripts = {"None"}, family = "mun", } m["mjy"] = { canonicalName = "Mahican", type = "regular", scripts = {"Latn"}, family = "alg", } m["mjz"] = { canonicalName = "Majhi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mka"] = { canonicalName = "Mbre", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkb"] = { canonicalName = "Mal Paharia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkc"] = { canonicalName = "Siliput", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["mke"] = { canonicalName = "Mawchi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkf"] = { canonicalName = "Miya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkg"] = { canonicalName = "Mak (China)", otherNames = {"Mak"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["mki"] = { canonicalName = "Dhatki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkj"] = { canonicalName = "Mokilese", type = "regular", scripts = {"None"}, family = "poz-mic", } m["mkk"] = { canonicalName = "Byep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkl"] = { canonicalName = "Mokole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkm"] = { canonicalName = "Moklen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkn"] = { canonicalName = "Kupang Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mko"] = { canonicalName = "Mingang Doso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkp"] = { canonicalName = "Moikodi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkq"] = { canonicalName = "Bay Miwok", type = "regular", scripts = {"None"}, family = "qfa-you", } m["mkr"] = { canonicalName = "Malas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mks"] = { canonicalName = "Silacayoapan Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mkt"] = { canonicalName = "Vamale", type = "regular", scripts = {"None"}, family = "poz-cln", } m["mku"] = { canonicalName = "Konyanka Maninka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mkv"] = { canonicalName = "Mafea", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mkx"] = { canonicalName = "Cinamiguin Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mky"] = { canonicalName = "East Makian", type = "regular", scripts = {"None"}, family = "poz-hce", } m["mkz"] = { canonicalName = "Makasae", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mla"] = { canonicalName = "Malo", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mlb"] = { canonicalName = "Mbule", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mlc"] = { canonicalName = "Man Cao Lan", type = "regular", scripts = {"None"}, family = "tai", } m["mle"] = { canonicalName = "Manambu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlf"] = { canonicalName = "Mal", type = "regular", scripts = {"None"}, family = "mkh", } m["mlh"] = { canonicalName = "Mape", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mli"] = { canonicalName = "Malimpung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlj"] = { canonicalName = "Miltu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlk"] = { canonicalName = "Ilwana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mll"] = { canonicalName = "Malua Bay", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mlm"] = { canonicalName = "Mulam", type = "regular", scripts = {"Hani"}, family = "qfa-tak", } m["mln"] = { canonicalName = "Malango", type = "regular", scripts = {"None"}, family = "poz-sls", } m["mlo"] = { canonicalName = "Mlomp", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlp"] = { canonicalName = "Bargam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlq"] = { canonicalName = "Western Maninkakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlr"] = { canonicalName = "Vame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mls"] = { canonicalName = "Masalit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlu"] = { canonicalName = "To'abaita", otherNames = {"Toqabaqita"}, type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["mlv"] = { canonicalName = "Mwotlap", otherNames = {"Motlav"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["mlw"] = { canonicalName = "Moloko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mlx"] = { canonicalName = "Malfaxal", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mlz"] = { canonicalName = "Malaynon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mma"] = { canonicalName = "Mama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmb"] = { canonicalName = "Momina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmc"] = { canonicalName = "Michoacán Mazahua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmd"] = { canonicalName = "Maonan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mme"] = { canonicalName = "Mae", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mmf"] = { canonicalName = "Mundat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmg"] = { canonicalName = "North Ambrym", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["mmh"] = { canonicalName = "Mehináku", type = "regular", scripts = {"None"}, family = "awd", } m["mmi"] = { canonicalName = "Musar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmj"] = { canonicalName = "Majhwar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmk"] = { canonicalName = "Mukha-Dora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mml"] = { canonicalName = "Man Met", type = "regular", scripts = {"None"}, family = "aav", } m["mmm"] = { canonicalName = "Maii", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mmn"] = { canonicalName = "Mamanwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmo"] = { canonicalName = "Mangga Buang", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mmp"] = { canonicalName = "Musan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmq"] = { canonicalName = "Musak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmr"] = { canonicalName = "Western Xiangxi Miao", type = "regular", scripts = {"None"}, family = "hmn", } m["mmt"] = { canonicalName = "Malalamai", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mmu"] = { canonicalName = "Mmaala", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mmv"] = { canonicalName = "Miriti", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["mmw"] = { canonicalName = "Emae", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mmx"] = { canonicalName = "Madak", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mmy"] = { canonicalName = "Migaama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mmz"] = { canonicalName = "Mabaale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mna"] = { canonicalName = "Mbula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnb"] = { canonicalName = "Muna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnc"] = { canonicalName = "Manchu", type = "regular", scripts = {"Mong"}, family = "tuw", } m["mnd"] = { canonicalName = "Mondé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mne"] = { canonicalName = "Naba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnf"] = { canonicalName = "Mundani", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mng"] = { canonicalName = "Eastern Mnong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnh"] = { canonicalName = "Mono (Congo)", otherNames = {"Mono (Democratic Republic of the Congo)", "Mono"}, type = "regular", scripts = {"None"}, family = "bad", } m["mni"] = { canonicalName = "Manipuri", otherNames = {"Meitei", "Meithei"}, type = "regular", scripts = {"Beng", "Mtei"}, family = "tbq", } m["mnj"] = { canonicalName = "Munji", type = "regular", scripts = {"None"}, family = "ira", } m["mnk"] = { canonicalName = "Mandinka", otherNames = {"Mandingo"}, type = "regular", scripts = {"Latn"}, family = "dmn", } m["mnl"] = { canonicalName = "Tiale", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mnm"] = { canonicalName = "Mapena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnn"] = { canonicalName = "Southern Mnong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnp"] = { canonicalName = "Min Bei", type = "regular", scripts = {"None"}, family = "zhx", } m["mnq"] = { canonicalName = "Minriq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnr"] = { canonicalName = "Mono (California)", otherNames = {"Mono (United States of America)", "Mono", "Western Mono", "Monache", "Monachi", "Owens Valley Paiute", "Eastern Mono"}, type = "regular", scripts = {"Latn"}, family = "azc-num", } m["mns"] = { canonicalName = "Mansi", type = "regular", scripts = {"Cyrl"}, family = "fiu-ugr", } m["mnt"] = { canonicalName = "Maykulan", otherNames = {"Mayi-Kulan", "Wunumara", "Mayi-Yapi", "Mayi-Thakurti"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["mnu"] = { canonicalName = "Mer", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnv"] = { canonicalName = "Rennellese", otherNames = {"Rennell-Bellona"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mnw"] = { canonicalName = "Mon", type = "regular", scripts = {"Mymr"}, family = "mkh", } m["mnx"] = { canonicalName = "Manikion", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mny"] = { canonicalName = "Manyawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mnz"] = { canonicalName = "Moni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["moa"] = { canonicalName = "Mwan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["moc"] = { canonicalName = "Mocoví", otherNames = {"Mbocobí", "Mokoví", "Moqoyt"}, type = "regular", scripts = {"None"}, family = "sai-gua", } m["mod"] = { canonicalName = "Mobilian", type = "regular", scripts = {"Latn"}, family = "crp", } m["moe"] = { canonicalName = "Montagnais", type = "regular", scripts = {"Latn"}, family = "alg", entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["mog"] = { canonicalName = "Mongondow", type = "regular", scripts = {"Latn"}, family = "phi", } m["moh"] = { canonicalName = "Mohawk", type = "regular", scripts = {"Latn"}, family = "iro", } m["moi"] = { canonicalName = "Mboi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["moj"] = { canonicalName = "Monzombo", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["mok"] = { canonicalName = "Morori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mom"] = { canonicalName = "Monimbo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["moo"] = { canonicalName = "Monom", type = "regular", scripts = {"None"}, family = "mkh", } m["mop"] = { canonicalName = "Mopan Maya", otherNames = {"Mopan", "Mopán Maya", "Mopán"}, type = "regular", scripts = {"Latn"}, family = "myn", } m["moq"] = { canonicalName = "Papuan Mor", otherNames = {"Mor"}, type = "regular", scripts = {"None"}, family = "paa", } m["mor"] = { canonicalName = "Moro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mos"] = { canonicalName = "More", type = "regular", scripts = {"None"}, family = "nic-gur", } m["mot"] = { canonicalName = "Barí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mou"] = { canonicalName = "Mogum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mov"] = { canonicalName = "Mojave", type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["mow"] = { canonicalName = "Moi (Congo)", otherNames = {"Moi"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["mox"] = { canonicalName = "Molima", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["moy"] = { canonicalName = "Shekkacho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["moz"] = { canonicalName = "Mukulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpa"] = { canonicalName = "Mpoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpb"] = { canonicalName = "Mullukmulluk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpc"] = { canonicalName = "Mangarayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpd"] = { canonicalName = "Machinere", type = "regular", scripts = {"None"}, family = "awd", } m["mpe"] = { canonicalName = "Majang", type = "regular", scripts = {"None"}, family = "sdv", } m["mpg"] = { canonicalName = "Marba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mph"] = { canonicalName = "Maung", type = "regular", scripts = {"Latn"}, family = "aus-wdj", } m["mpi"] = { canonicalName = "Mpade", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpj"] = { canonicalName = "Martu Wangka", otherNames = {"Yulparija", "Yulparitja"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["mpk"] = { canonicalName = "Mbara (Chad)", otherNames = {"Mbara"}, type = "regular", scripts = {"None"}, family = "cdc-cbm", } m["mpl"] = { canonicalName = "Middle Watut", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mpm"] = { canonicalName = "Yosondúa Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mpn"] = { canonicalName = "Mindiri", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mpo"] = { canonicalName = "Miu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mpp"] = { canonicalName = "Migabac", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpq"] = { canonicalName = "Matís", type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["mpr"] = { canonicalName = "Vangunu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mps"] = { canonicalName = "Dadibi", otherNames = {"Daribi", "Karimui"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["mpt"] = { canonicalName = "Mian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpu"] = { canonicalName = "Makuráp", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mpv"] = { canonicalName = "Mungkip", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["mpw"] = { canonicalName = "Mapidian", type = "regular", scripts = {"None"}, family = "awd", } m["mpx"] = { canonicalName = "Misima-Paneati", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mpy"] = { canonicalName = "Mapia", type = "regular", scripts = {"None"}, family = "poz-mic", } m["mpz"] = { canonicalName = "Mpi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqa"] = { canonicalName = "Maba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqb"] = { canonicalName = "Mbuko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqc"] = { canonicalName = "Mangole", type = "regular", scripts = {"None"}, family = "plf", } m["mqe"] = { canonicalName = "Matepi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqf"] = { canonicalName = "Momuna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqg"] = { canonicalName = "Kota Bangun Kutai Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqh"] = { canonicalName = "Tlazoyaltepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mqi"] = { canonicalName = "Mariri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqj"] = { canonicalName = "Mamasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqk"] = { canonicalName = "Rajah Kabunsuwan Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mql"] = { canonicalName = "Mbelime", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqm"] = { canonicalName = "South Marquesan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mqn"] = { canonicalName = "Moronene", type = "regular", scripts = {"Latn"}, family = "poz-btk", } m["mqo"] = { canonicalName = "Modole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqp"] = { canonicalName = "Manipa", type = "regular", scripts = {"None"}, family = "plf", } m["mqq"] = { canonicalName = "Minokok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqr"] = { canonicalName = "Mander", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqs"] = { canonicalName = "West Makian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqt"] = { canonicalName = "Mok", type = "regular", scripts = {"None"}, family = "aav", } m["mqu"] = { canonicalName = "Mandari", type = "regular", scripts = {"None"}, family = "sdv", } m["mqv"] = { canonicalName = "Mosimo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqw"] = { canonicalName = "Murupi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqx"] = { canonicalName = "Mamuju", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mqy"] = { canonicalName = "Manggarai", type = "regular", scripts = {"Latn"}, family = "plf", } m["mqz"] = { canonicalName = "Malasanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mra"] = { canonicalName = "Mlabri", type = "regular", scripts = {"None"}, family = "mkh", } m["mrb"] = { canonicalName = "Marino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mrc"] = { canonicalName = "Maricopa", type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["mrd"] = { canonicalName = "Western Magar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mre"] = { canonicalName = "Martha's Vineyard Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mrf"] = { canonicalName = "Elseng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mrg"] = { canonicalName = "Mising", otherNames = {"Mishing", "Plains Miri", "Takam", "Hill Miri", "Sarak"}, type = "regular", scripts = {"Latn", "Beng", "Deva"}, family = "tbq", } m["mrh"] = { canonicalName = "Mara Chin", otherNames = {"Chin Mara", "Lakher", "Mara", "Maram", "Mira", "Zao"}, type = "regular", scripts = {"Latn"}, family = "tbq-kuk", } m["mrj"] = { canonicalName = "Western Mari", otherNames = {"Hill Mari", "Mountain Mari", "Highland Mari"}, type = "regular", scripts = {"Cyrl"}, family = "urj", translit_module = "chm-translit", } m["mrk"] = { canonicalName = "Hmwaveke", type = "regular", scripts = {"None"}, family = "poz-cln", } m["mrl"] = { canonicalName = "Mortlockese", type = "regular", scripts = {"None"}, family = "poz-mic", } m["mrm"] = { canonicalName = "Merlav", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mrn"] = { canonicalName = "Cheke Holo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mro"] = { canonicalName = "Mru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mrp"] = { canonicalName = "Morouas", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mrq"] = { canonicalName = "North Marquesan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mrr"] = { canonicalName = "Hill Maria", otherNames = {"Garhchiroli Maria", "Madia", "Madiya", "Maria (India)", "Maria"}, -- the last four are also names of mrr's sibling lect, daq type = "regular", scripts = {"None"}, family = "dra", } m["mrs"] = { canonicalName = "Maragus", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mrt"] = { canonicalName = "Margi", otherNames = {"Marghi Central", "Marghi"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["mru"] = { canonicalName = "Mono (Cameroon)", otherNames = {"Mono"}, type = "regular", scripts = {"None"}, family = "alv-mbm", } m["mrv"] = { canonicalName = "Mangarevan", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["mrw"] = { canonicalName = "Maranao", type = "regular", scripts = {"None"}, family = "phi", } m["mrx"] = { canonicalName = "Dineor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mry"] = { canonicalName = "Karaga Mandaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mrz"] = { canonicalName = "Marind", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msb"] = { canonicalName = "Masbatenyo", type = "regular", scripts = {"Latn"}, family = "phi", } m["msc"] = { canonicalName = "Sankaran Maninka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msd"] = { canonicalName = "Yucatec Maya Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mse"] = { canonicalName = "Musey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msf"] = { canonicalName = "Mekwei", otherNames = {"Mekwei (New Guinea)", "Menggwei"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["msg"] = { canonicalName = "Moraid", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msi"] = { canonicalName = "Sabah Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msj"] = { canonicalName = "Ma", otherNames = {"Madi"}, type = "regular", scripts = {"None"}, family = "nic-ubg", } m["msk"] = { canonicalName = "Mansaka", type = "regular", scripts = {"Latn"}, family = "phi", } m["msl"] = { canonicalName = "Molof", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msm"] = { canonicalName = "Agusan Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msn"] = { canonicalName = "Vurës", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["mso"] = { canonicalName = "Mombum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msp"] = { canonicalName = "Maritsauá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msq"] = { canonicalName = "Caac", type = "regular", scripts = {"None"}, family = "poz-cln", } m["msr"] = { canonicalName = "Mongolian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mss"] = { canonicalName = "West Masela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msu"] = { canonicalName = "Musom", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["msv"] = { canonicalName = "Maslam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msw"] = { canonicalName = "Mansoanka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msx"] = { canonicalName = "Moresada", type = "regular", scripts = {"None"}, family = "qfa-und", } m["msy"] = { canonicalName = "Aruamu", type = "regular", scripts = {"None"}, family = "paa", } m["msz"] = { canonicalName = "Momare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mta"] = { canonicalName = "Cotabato Manobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtb"] = { canonicalName = "Anyin Morofo", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["mtc"] = { canonicalName = "Munit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtd"] = { canonicalName = "Mualang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mte"] = { canonicalName = "Alu", otherNames = {"Mono", "Mono-Alu"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["mtf"] = { canonicalName = "Murik (New Guinea)", otherNames = {"Murik (Papua New Guinea)", "Murik", "Sepik Murik"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["mtg"] = { canonicalName = "Una", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mth"] = { canonicalName = "Munggui", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["mti"] = { canonicalName = "Maiwa (New Guinea)", otherNames = {"Maiwa (Papua New Guinea)", "Maiwa"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["mtj"] = { canonicalName = "Moskona", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtk"] = { canonicalName = "Mbe'", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mtl"] = { canonicalName = "Montol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtm"] = { canonicalName = "Mator", otherNames = {"Taygi", "Karagas", "Mator-Taygi-Karagas"}, type = "regular", scripts = {"Cyrl"}, family = "syd", } m["mtn"] = { canonicalName = "Matagalpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mto"] = { canonicalName = "Totontepec Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtp"] = { canonicalName = "Wichí Lhamtés Nocten", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["mtq"] = { canonicalName = "Muong", type = "regular", scripts = {"Latn"}, family = "mkh-vie", } m["mts"] = { canonicalName = "Yora", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["mtt"] = { canonicalName = "Mota", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mtu"] = { canonicalName = "Tututepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mtv"] = { canonicalName = "Asaro'o", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["mtw"] = { canonicalName = "Magahat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mtx"] = { canonicalName = "Tidaá Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mty"] = { canonicalName = "Nabi", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["mua"] = { canonicalName = "Mundang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mub"] = { canonicalName = "Mubi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muc"] = { canonicalName = "Mbu'", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mud"] = { canonicalName = "Mednyj Aleut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mue"] = { canonicalName = "Media Lengua", type = "regular", scripts = {"Latn"}, family = "crp", } m["mug"] = { canonicalName = "Musgu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muh"] = { canonicalName = "Mündü", otherNames = {"Mundu"}, type = "regular", scripts = {"None"}, family = "nic-ubg", } m["mui"] = { canonicalName = "Musi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muj"] = { canonicalName = "Mabire", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muk"] = { canonicalName = "Mugom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mul"] = { canonicalName = "Translingual", type = "regular", scripts = {"None", "Latn", "Bopo", "Brai", "Cyrl", "Hani", "Hans", "Hant", "IPAchar", "musical", "Ruminumerals", "Zsym", "Zmth"}, family = "qfa-not", } m["mum"] = { canonicalName = "Maiwala", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["muo"] = { canonicalName = "Nyong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mup"] = { canonicalName = "Malvi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muq"] = { canonicalName = "Eastern Xiangxi Miao", type = "regular", scripts = {"None"}, family = "hmn", } m["mur"] = { canonicalName = "Murle", type = "regular", scripts = {"None"}, family = "sdv", } m["mus"] = { canonicalName = "Creek", otherNames = {"Muscogee"}, type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["mut"] = { canonicalName = "Western Muria", type = "regular", scripts = {"None"}, family = "dra", } m["muu"] = { canonicalName = "Yaaku", type = "regular", scripts = {"None"}, family = "cus", } m["muv"] = { canonicalName = "Muthuvan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mux"] = { canonicalName = "Bo-Ung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muy"] = { canonicalName = "Muyang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["muz"] = { canonicalName = "Mursi", type = "regular", scripts = {"None"}, family = "sdv", } m["mva"] = { canonicalName = "Manam", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["mvb"] = { canonicalName = "Mattole", type = "regular", scripts = {"None"}, family = "ath-pco", } m["mvd"] = { canonicalName = "Mamboru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvg"] = { canonicalName = "Yucuañe Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mvh"] = { canonicalName = "Mire", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvi"] = { canonicalName = "Miyako", type = "regular", scripts = {"Kana"}, family = "jpx", } m["mvk"] = { canonicalName = "Mekmek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvl"] = { canonicalName = "Mbara (Australia)", otherNames = {"Mbara", "Midjamba"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["mvm"] = { canonicalName = "Muya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvn"] = { canonicalName = "Minaveha", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mvo"] = { canonicalName = "Marovo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mvp"] = { canonicalName = "Duri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvq"] = { canonicalName = "Moere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvr"] = { canonicalName = "Marau", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["mvs"] = { canonicalName = "Massep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvt"] = { canonicalName = "Mpotovoro", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mvu"] = { canonicalName = "Marfa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvv"] = { canonicalName = "Tagal Murut", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["mvw"] = { canonicalName = "Machinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvx"] = { canonicalName = "Meoswar", type = "regular", scripts = {"None"}, family = "poz-hce", } m["mvy"] = { canonicalName = "Indus Kohistani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mvz"] = { canonicalName = "Mesqan", type = "regular", scripts = {"None"}, family = "sem-eth", } m["mwa"] = { canonicalName = "Mwatebu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mwb"] = { canonicalName = "Juwal", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["mwc"] = { canonicalName = "Are", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mwe"] = { canonicalName = "Mwera", otherNames = {"Chimwera", "Cimwera", "Mwela"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwf"] = { canonicalName = "Murrinh-Patha", type = "regular", scripts = {"Latn"}, family = "aus-dal", } m["mwg"] = { canonicalName = "Aiklep", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mwh"] = { canonicalName = "Mouk-Aria", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mwi"] = { canonicalName = "Labo", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["mwk"] = { canonicalName = "Kita Maninkakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwl"] = { canonicalName = "Mirandese", type = "regular", scripts = {"Latn"}, family = "roa", } m["mwm"] = { canonicalName = "Sar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwn"] = { canonicalName = "Nyamwanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwo"] = { canonicalName = "Central Maewo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwp"] = { canonicalName = "Kala Lagaw Ya", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["mwq"] = { canonicalName = "Mün Chin", otherNames = {"Mün", "Müün Chin"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["mwr"] = { canonicalName = "Marwari", otherNames = {"Merwari", "Mewari", "Dhundari", "Shekhawati", "Harauti", "Goaria", "Gurgula"}, type = "regular", scripts = {"Deva"}, family = "inc", } m["mws"] = { canonicalName = "Mwimbi-Muthambi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mwt"] = { canonicalName = "Moken", type = "regular", scripts = {"None"}, family = "poz", } m["mwu"] = { canonicalName = "Mittu", type = "regular", scripts = {"None"}, family = "csu", } m["mwv"] = { canonicalName = "Mentawai", type = "regular", scripts = {"Latn"}, family = "poz-nws", } m["mww"] = { canonicalName = "White Hmong", otherNames = {"Hmong Daw", "Hmoob Dawb"}, type = "regular", scripts = {"Latn", "Hmng"}, family = "hmn", } m["mwx"] = { canonicalName = "Mediak", type = "regular", scripts = {"None"}, family = "sdv", } m["mwy"] = { canonicalName = "Mosiro", type = "regular", scripts = {"None"}, family = "sdv", } m["mwz"] = { canonicalName = "Moingi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxa"] = { canonicalName = "Northwest Oaxaca Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxb"] = { canonicalName = "Tezoatlán Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxc"] = { canonicalName = "Manyika", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxd"] = { canonicalName = "Modang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxe"] = { canonicalName = "Mele-Fila", type = "regular", scripts = {"None"}, family = "poz-pol", } m["mxf"] = { canonicalName = "Malgbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxg"] = { canonicalName = "Mbangala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxh"] = { canonicalName = "Mvuba", type = "regular", scripts = {"Latn"}, family = "csu", } m["mxi"] = { canonicalName = "Mozarabic", type = "regular", scripts = {"Arab"}, family = "roa", } m["mxj"] = { canonicalName = "Miju-Mishmi", otherNames = {"Miju Mishmi", "Geman Deng"}, type = "regular", scripts = {"Latn"}, family = "tbq", } m["mxk"] = { canonicalName = "Monumbo", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["mxl"] = { canonicalName = "Maxi Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxm"] = { canonicalName = "Meramera", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["mxn"] = { canonicalName = "Moi (Indonesia)", otherNames = {"Moi", "Mekwei"}, type = "regular", scripts = {"None"}, family = "paa", } m["mxo"] = { canonicalName = "Mbowe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxp"] = { canonicalName = "Tlahuitoltepec Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxq"] = { canonicalName = "Juquila Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxr"] = { canonicalName = "Murik (Malaysia)", otherNames = {"Murik", "Kayan Murik"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["mxs"] = { canonicalName = "Huitepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxt"] = { canonicalName = "Jamiltepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxu"] = { canonicalName = "Mada (Cameroon)", otherNames = {"Mada"}, type = "regular", scripts = {"Latn"}, family = "cdc-cbm", } m["mxv"] = { canonicalName = "Metlatónoc Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxw"] = { canonicalName = "Namo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxx"] = { canonicalName = "Mahou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mxy"] = { canonicalName = "Southeastern Nochixtlán Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mxz"] = { canonicalName = "Central Masela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myb"] = { canonicalName = "Mbay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myc"] = { canonicalName = "Mayeka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myd"] = { canonicalName = "Maramba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mye"] = { canonicalName = "Myene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myf"] = { canonicalName = "Bambassi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myg"] = { canonicalName = "Manta", type = "regular", scripts = {"None"}, family = "nic-bod", } m["myh"] = { canonicalName = "Makah", type = "regular", scripts = {"Latn"}, family = "wak", } m["myj"] = { canonicalName = "Mangayat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myk"] = { canonicalName = "Mamara Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myl"] = { canonicalName = "Moma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mym"] = { canonicalName = "Me'en", type = "regular", scripts = {"None"}, family = "sdv", } m["myo"] = { canonicalName = "Anfillo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myp"] = { canonicalName = "Pirahã", type = "regular", scripts = {"Latn"}, family = "sai-mur", } m["myr"] = { canonicalName = "Muniche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mys"] = { canonicalName = "Mesmes", type = "regular", scripts = {"None"}, family = "sem-eth", } m["myu"] = { canonicalName = "Mundurukú", type = "regular", scripts = {"None"}, family = "qfa-und", } m["myv"] = { canonicalName = "Erzya", otherNames = {"Mordvin"}, type = "regular", scripts = {"Cyrl"}, family = "fiu-mdv", translit_module = "myv-translit", } m["myw"] = { canonicalName = "Muyuw", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["myx"] = { canonicalName = "Masaba", otherNames = {"Masaaba"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["myy"] = { canonicalName = "Macuna", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["myz"] = { canonicalName = "Classical Mandaic", type = "regular", scripts = {"Mand"}, family = "sem-ara", } m["mza"] = { canonicalName = "Santa María Zacatepec Mixtec", type = "regular", scripts = {"Latn"}, family = "omq-mix", } m["mzb"] = { canonicalName = "Tumzabt", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzc"] = { canonicalName = "Madagascar Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mzd"] = { canonicalName = "Malimba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mze"] = { canonicalName = "Morawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzg"] = { canonicalName = "Monastic Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mzh"] = { canonicalName = "Wichí Lhamtés Güisnay", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["mzi"] = { canonicalName = "Ixcatlán Mazatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzj"] = { canonicalName = "Manya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzk"] = { canonicalName = "Nigeria Mambila", type = "regular", scripts = {"None"}, family = "nic-bod", } m["mzl"] = { canonicalName = "Mazatlán Mixe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzm"] = { canonicalName = "Mumuye", type = "regular", scripts = {"None"}, family = "alv-sav", } m["mzn"] = { canonicalName = "Mazanderani", otherNames = {"Mazandarani"}, type = "regular", scripts = {"fa-Arab", "mzn-Arab"}, family = "ira", } m["mzo"] = { canonicalName = "Matipuhy", type = "regular", scripts = {"None"}, family = "sai-car", } m["mzp"] = { canonicalName = "Movima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzq"] = { canonicalName = "Mori Atas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzr"] = { canonicalName = "Marúbo", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["mzs"] = { canonicalName = "Macanese", type = "regular", scripts = {"Latn"}, family = "crp", } m["mzt"] = { canonicalName = "Mintil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzu"] = { canonicalName = "Inapang", type = "regular", scripts = {"None"}, family = "paa", } m["mzv"] = { canonicalName = "Manza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzw"] = { canonicalName = "Deg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzx"] = { canonicalName = "Mawayana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["mzy"] = { canonicalName = "Mozambican Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["mzz"] = { canonicalName = "Maiadomu", type = "regular", scripts = {"None"}, family = "poz-ocw", } return m thl53qmwdikolzo8mhbh30tks5j6wql Module:languages/data3/n 828 4698 13344 2015-06-01T00:05:20Z Dalmo Pereira 1417 Bog cusub: 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... 13344 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 m = {} m["naa"] = { canonicalName = "Namla", type = "regular", scripts = {"None"}, family = "paa", } m["nab"] = { canonicalName = "Nambikwara", otherNames = {"Nambiquara", "Nambicuara", "Nambikuara", "Nambikuára Selatan"}, type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["nac"] = { canonicalName = "Narak", type = "regular", scripts = {"None"}, family = "ngf", } m["nad"] = { canonicalName = "Nijadali", type = "regular", scripts = {"None"}, family = "aus-nga", } m["nae"] = { canonicalName = "Naka'ela", type = "regular", scripts = {"None"}, family = "poz", } m["naf"] = { canonicalName = "Nabak", type = "regular", scripts = {"None"}, family = "ngf", } m["nag"] = { canonicalName = "Pijin Naga", otherNames = {"Nagamese"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["nah"] = { canonicalName = "Nahuatl", type = "regular", scripts = {"Latn"}, family = "azc-nah", } m["naj"] = { canonicalName = "Nalu", type = "regular", scripts = {"None"}, family = "alv-sng", } m["nak"] = { canonicalName = "Nakanai", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["nal"] = { canonicalName = "Nalik", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["nam"] = { canonicalName = "Ngan'gityemerri", otherNames = {"Ngan'gi", "Nangikurrunggurr"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["nan"] = { canonicalName = "Min Nan", otherNames = {"Hokkien", "Taiwanese", "Amoy", "Xiamenese"}, type = "regular", scripts = {"Hani"}, family = "zhx", wikimedia_codes = {"zh-min-nan"}, } m["nao"] = { canonicalName = "Naaba", otherNames = {"Naapa"}, type = "regular", scripts = {"None"}, family = "tbq", } m["nap"] = { canonicalName = "Neapolitan", type = "regular", scripts = {"Latn"}, family = "roa", } m["naq"] = { canonicalName = "Nama", otherNames = {"Khoekhoe"}, type = "regular", scripts = {"Latn"}, family = "khi", } m["nar"] = { canonicalName = "Iguta", type = "regular", scripts = {"None"}, family = "nic-bco", } m["nas"] = { canonicalName = "Nasioi", otherNames = {"Naasioi"}, type = "regular", scripts = {"Latn"}, family = "paa", } m["nat"] = { canonicalName = "Hungworo", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["naw"] = { canonicalName = "Nawuri", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["nax"] = { canonicalName = "Nakwi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nay"] = { canonicalName = "Ngarrindjeri", otherNames = {"Yaraldi"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["naz"] = { canonicalName = "Nahuatl Coatepec", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nba"] = { canonicalName = "Nyemba", type = "regular", scripts = {"None"}, family = "nic-bco", } m["nbb"] = { canonicalName = "Ndoe", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nbc"] = { canonicalName = "Chang", type = "regular", scripts = {"None"}, family = "tbq", } m["nbd"] = { canonicalName = "Ngbinda", type = "regular", scripts = {"None"}, family = "bnt", } m["nbe"] = { canonicalName = "Konyak Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbg"] = { canonicalName = "Nagarchal", type = "regular", scripts = {"None"}, family = "dra", } m["nbh"] = { canonicalName = "Ngamo", type = "regular", scripts = {"None"}, family = "cdc", } m["nbi"] = { canonicalName = "Mao Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbj"] = { canonicalName = "Ngarinman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbk"] = { canonicalName = "Nake", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbm"] = { canonicalName = "Ngbaka Ma'bo", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["nbn"] = { canonicalName = "Kuri", otherNames = {"Nabi"}, type = "regular", scripts = {"None"}, family = "poz", } m["nbo"] = { canonicalName = "Nkukoli", type = "regular", scripts = {"None"}, family = "nic-bco", } m["nbp"] = { canonicalName = "Nnam", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nbq"] = { canonicalName = "Nggem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbr"] = { canonicalName = "Numana-Nunku-Gbantu-Numbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbs"] = { canonicalName = "Bahasa Isyarat Namibia", type = "regular", scripts = {"None"}, family = "sgn", } m["nbt"] = { canonicalName = "Na", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbu"] = { canonicalName = "Rongmei Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nbv"] = { canonicalName = "Ngamambo", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nbw"] = { canonicalName = "Ngbandi Selatan", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["nby"] = { canonicalName = "Ningera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nca"] = { canonicalName = "Iyo", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["ncb"] = { canonicalName = "Nicobar Pusat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ncc"] = { canonicalName = "Ponam", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ncd"] = { canonicalName = "Nachering", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nce"] = { canonicalName = "Yale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ncf"] = { canonicalName = "Notsi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ncg"] = { canonicalName = "Nisga'a", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nch"] = { canonicalName = "Nahuatl Huasteca Pusat", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nci"] = { canonicalName = "Nahuatl Klasik", type = "regular", scripts = {"Latn"}, family = "azc-nah", entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}} , } m["ncj"] = { canonicalName = "Nahuatl Puebla Utara", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nck"] = { canonicalName = "Nakara", type = "regular", scripts = {"None"}, family = "aus-arn", } m["ncl"] = { canonicalName = "Nahuatl Michoacán", type = "regular", scripts = {"None"}, family = "azc-nah", } m["ncm"] = { canonicalName = "Nambo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ncn"] = { canonicalName = "Nauna", type = "regular", scripts = {"None"}, family = "poz-aay", } m["nco"] = { canonicalName = "Sibe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ncp"] = { canonicalName = "Ndaktup", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ncr"] = { canonicalName = "Ncane", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ncs"] = { canonicalName = "Bahasa Isyarat Nicaragua", type = "regular", scripts = {"None"}, family = "sgn", } m["nct"] = { canonicalName = "Chothe Naga", otherNames = {"Chothe"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["ncu"] = { canonicalName = "Chumburung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ncx"] = { canonicalName = "Nahuatl Puebla Pusat", type = "regular", scripts = {"None"}, family = "azc-nah", } m["ncz"] = { canonicalName = "Natchez", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nda"] = { canonicalName = "Ndasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndb"] = { canonicalName = "Kenswei Nsei", type = "regular", scripts = {"None"}, family = "alv", } m["ndc"] = { canonicalName = "Ndau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndd"] = { canonicalName = "Nde-Nsele-Nta", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ndf"] = { canonicalName = "Nadruvia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndg"] = { canonicalName = "Ndengereko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndh"] = { canonicalName = "Ndali", type = "regular", scripts = {"Latn"}, family = "bnt", } m["ndi"] = { canonicalName = "Chamba Leko", otherNames = {"Samba Leko", "Samba Leeko"}, type = "regular", scripts = {"None"}, family = "alv", } m["ndj"] = { canonicalName = "Ndamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndk"] = { canonicalName = "Ndaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndl"] = { canonicalName = "Ndolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndm"] = { canonicalName = "Ndam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndn"] = { canonicalName = "Ngundi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndp"] = { canonicalName = "Ndo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndq"] = { canonicalName = "Ndombe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndr"] = { canonicalName = "Ndoola", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nds"] = { canonicalName = "Jerman Kasar", otherNames = {"Saxon Kasar", "Jerman Kasar Moden"}, type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"gml"}, } m["ndt"] = { canonicalName = "Ndunga", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["ndu"] = { canonicalName = "Dugun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndv"] = { canonicalName = "Ndut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndw"] = { canonicalName = "Ndobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndx"] = { canonicalName = "Nduga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndy"] = { canonicalName = "Lutos", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ndz"] = { canonicalName = "Ndogo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nea"] = { canonicalName = "Ngad'a Timur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["neb"] = { canonicalName = "Toura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nec"] = { canonicalName = "Nedebang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ned"] = { canonicalName = "Nde-Gbite", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nee"] = { canonicalName = "Kumak", type = "regular", scripts = {"None"}, family = "poz-cln", } m["nef"] = { canonicalName = "Nefamese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["neg"] = { canonicalName = "Negidal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["neh"] = { canonicalName = "Nyenkha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nei"] = { canonicalName = "Neo-Hittite", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nej"] = { canonicalName = "Neko", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nek"] = { canonicalName = "Neku", type = "regular", scripts = {"None"}, family = "poz-cln", } m["nem"] = { canonicalName = "Nemi", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["nen"] = { canonicalName = "Nengone", type = "regular", scripts = {"None"}, family = "poz-occ", } m["neo"] = { canonicalName = "Ná-Meo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["neq"] = { canonicalName = "Mixe Pusat Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ner"] = { canonicalName = "Yahadian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nes"] = { canonicalName = "Bhoti Kinnauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["net"] = { canonicalName = "Nete", type = "regular", scripts = {"None"}, family = "qfa-und", } m["neu"] = { canonicalName = "Neo", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["nev"] = { canonicalName = "Nyaheun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["new"] = { canonicalName = "Newari", type = "regular", scripts = {"Deva"}, family = "tbq", } m["nex"] = { canonicalName = "Neme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ney"] = { canonicalName = "Neyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nez"] = { canonicalName = "Nez Perce", otherNames = {"Nez Percé", "Numipu"}, type = "regular", scripts = {"Latn"}, family = "nai-shp", } m["nfa"] = { canonicalName = "Dhao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nfd"] = { canonicalName = "Ahwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nfl"] = { canonicalName = "Aiwoo", type = "regular", scripts = {"None"}, family = "poz-oce", } m["nfr"] = { canonicalName = "Nafaanra", type = "regular", scripts = {"None"}, family = "alv", } m["nfu"] = { canonicalName = "Mfumte", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nga"] = { canonicalName = "Ngbaka", type = "regular", scripts = {"None"}, family = "alv", } m["ngb"] = { canonicalName = "Ngbandi Utara", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["ngc"] = { canonicalName = "Lingombe", otherNames = {"Ngombe (Democratic Republic of the Congo)", "Ngombe"}, type = "regular", scripts = {"None"}, family = "bnt", } m["ngd"] = { canonicalName = "Bagandou", otherNames = {"Ngando (Central African Republic)", "Ngando", "Bangandou"}, type = "regular", scripts = {"None"}, family = "bnt", } m["nge"] = { canonicalName = "Ngemba", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ngg"] = { -- compare 'aiy' canonicalName = "Ngbaka Manza", type = "regular", scripts = {"None"}, family = "alv", } m["ngh"] = { canonicalName = "Nǀuu", otherNames = {"Nǁng"}, type = "regular", scripts = {"Latn"}, family = "qfa-tuu", } m["ngi"] = { canonicalName = "Ngizim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngj"] = { canonicalName = "Ngie", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ngk"] = { canonicalName = "Ngalkbun", type = "regular", scripts = {"None"}, family = "aus-gun", } m["ngl"] = { canonicalName = "Lomwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngm"] = { canonicalName = "Kreol Ngatik Men", otherNames = {"Ngatikese", "Ngatikese Pidgin", "Ngatikese Creole"}, type = "regular", scripts = {"None"}, family = "crp", } m["ngn"] = { canonicalName = "Ngwo", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ngo"] = { canonicalName = "Ngoni", type = "regular", scripts = {"None"}, family = "bnt", } m["ngp"] = { canonicalName = "Ngulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngq"] = { canonicalName = "Ngoreme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngr"] = { canonicalName = "Nagu", type = "regular", scripts = {"None"}, family = "poz-oce", } m["ngs"] = { canonicalName = "Gvoko", type = "regular", scripts = {"None"}, family = "cdc", } m["ngt"] = { canonicalName = "Ngeq", type = "regular", scripts = {"None"}, family = "mkh", } m["ngu"] = { canonicalName = "Nahuatl Guerrero", type = "regular", scripts = {"None"}, family = "azc-nah", } m["ngv"] = { canonicalName = "Nagumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngw"] = { canonicalName = "Ngwaba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngx"] = { canonicalName = "Nggwahyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngy"] = { canonicalName = "Tibea", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ngz"] = { canonicalName = "Ngungwel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nha"] = { canonicalName = "Nhanda", type = "regular", scripts = {"Latn"}, family = "aus-psw", } m["nhb"] = { canonicalName = "Beng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nhc"] = { canonicalName = "Nahuatl Tabasco", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhd"] = { canonicalName = "Chiripá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nhe"] = { canonicalName = "Nahuatl Huasteca Timur", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhf"] = { canonicalName = "Nhuwala", type = "regular", scripts = {"None"}, family = "aus-nga", } m["nhg"] = { canonicalName = "Nahuatl Tetelcingo", type = "regular", scripts = {"Latn"}, family = "azc-nah", } m["nhh"] = { canonicalName = "Nahari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nhi"] = { canonicalName = "Nahuatl Zacatlán-Ahuacatlán-Tepetzintla", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhk"] = { canonicalName = "Nahuatl Isthmus-Cosoleacaque", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhm"] = { canonicalName = "Nahuatl Morelos", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhn"] = { canonicalName = "Nahuatl Pusat", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nho"] = { canonicalName = "Takuu", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["nhp"] = { canonicalName = "Nahuatl Isthmus-Pajapan", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhq"] = { canonicalName = "Nahuatl Huaxcaleca", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhr"] = { canonicalName = "Naro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nht"] = { canonicalName = "Nahuatl Ometepec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nhu"] = { canonicalName = "Noone", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nhv"] = { canonicalName = "Nahuatl Temascaltepec", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhw"] = { canonicalName = "Nahuatl Huasteca Barat", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhx"] = { canonicalName = "Nahuatl Isthmus-Mecayapan", type = "regular", scripts = {"Latn"}, family = "azc-nah", } m["nhy"] = { canonicalName = "Nahuatl Oaxaca Utara", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nhz"] = { canonicalName = "Nahuatl Santa María La Alta", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nia"] = { canonicalName = "Nias", type = "regular", scripts = {"Latn"}, family = "poz-nws", } m["nib"] = { canonicalName = "Nakame", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nid"] = { canonicalName = "Ngandi", type = "regular", scripts = {"None"}, family = "aus-arn", } m["nie"] = { canonicalName = "Niellim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nif"] = { canonicalName = "Nek", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nig"] = { canonicalName = "Ngalakan", type = "regular", scripts = {"None"}, family = "aus-gun", } m["nih"] = { canonicalName = "Nyiha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nii"] = { canonicalName = "Nii", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nij"] = { canonicalName = "Ngaju", type = "regular", scripts = {"Latn"}, family = "poz-brw", } m["nik"] = { canonicalName = "Nicobar Selatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nil"] = { canonicalName = "Nila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nim"] = { canonicalName = "Nilamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nin"] = { canonicalName = "Ninzo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nio"] = { canonicalName = "Nganasan", type = "regular", scripts = {"Cyrl"}, family = "syd", } m["niq"] = { canonicalName = "Nandi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nir"] = { canonicalName = "Nimboran", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nis"] = { canonicalName = "Nimi", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nit"] = { canonicalName = "Kolami Tenggara", type = "regular", scripts = {"None"}, family = "dra", } m["niu"] = { canonicalName = "Niue", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["niv"] = { canonicalName = "Nivkh", type = "regular", scripts = {"Cyrl"}, family = "qfa-iso", } m["niw"] = { canonicalName = "Nimo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nix"] = { canonicalName = "Hema", type = "regular", scripts = {"None"}, family = "qfa-und", } m["niy"] = { canonicalName = "Ngiti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["niz"] = { canonicalName = "Ningil", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["nja"] = { canonicalName = "Nzanyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njb"] = { canonicalName = "Nocte Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njd"] = { canonicalName = "Ndonde Hamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njh"] = { canonicalName = "Lotha Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nji"] = { canonicalName = "Gudanji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njj"] = { canonicalName = "Njen", type = "regular", scripts = {"None"}, family = "nic-bod", } m["njl"] = { canonicalName = "Njalgulgule", type = "regular", scripts = {"None"}, family = "sdv", } m["njm"] = { canonicalName = "Angami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njn"] = { canonicalName = "Liangmai Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njo"] = { canonicalName = "Ao", otherNames = {"Mongsen Ao", "Ao Naga"}, type = "regular", scripts = {"Latn"}, family = "tbq", } m["njr"] = { canonicalName = "Njerep", type = "regular", scripts = {"None"}, family = "nic-bod", } m["njs"] = { canonicalName = "Nisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njt"] = { canonicalName = "Pijin Ndyuka-Trio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nju"] = { canonicalName = "Ngadjunmaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njx"] = { canonicalName = "Kunyi", type = "regular", scripts = {"None"}, family = "bnt", } m["njy"] = { canonicalName = "Njyem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["njz"] = { canonicalName = "Nyishi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nka"] = { canonicalName = "Nkoya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkb"] = { canonicalName = "Khoibu Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkc"] = { canonicalName = "Nkongho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkd"] = { canonicalName = "Koireng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nke"] = { canonicalName = "Duke", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["nkf"] = { canonicalName = "Inpui Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkg"] = { canonicalName = "Nekgini", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nkh"] = { canonicalName = "Khezha Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nki"] = { canonicalName = "Thangal Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkj"] = { canonicalName = "Nakai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkk"] = { canonicalName = "Nokuku", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nkm"] = { canonicalName = "Namat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkn"] = { canonicalName = "Nkangala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nko"] = { canonicalName = "Nkonya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkp"] = { canonicalName = "Niuatoputapu", type = "regular", scripts = {"None"}, family = "poz-pol", } m["nkq"] = { canonicalName = "Nkami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkr"] = { canonicalName = "Nukuoro", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["nks"] = { canonicalName = "Asmat Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkt"] = { canonicalName = "Nyika", otherNames = {"Nyiha", "Kinyika", "Kinyiha", "Nyixa", "Chinyika"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["nku"] = { canonicalName = "Bouna Kulango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkw"] = { canonicalName = "Nkutu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkx"] = { canonicalName = "Nkoroo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nkz"] = { canonicalName = "Nkari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nla"] = { canonicalName = "Ngombale", type = "regular", scripts = {"None"}, family = "bai", } m["nlc"] = { canonicalName = "Nalca", otherNames = {"Hmanggona", "Hmonono", "Kimjal"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["nle"] = { canonicalName = "Nyala Timur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlg"] = { canonicalName = "Gela", type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["nli"] = { canonicalName = "Grangali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlj"] = { canonicalName = "Nyali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlk"] = { canonicalName = "Ninia Yali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nll"] = { canonicalName = "Nihali", type = "regular", scripts = {"Deva"}, family = "qfa-iso", } m["nlo"] = { canonicalName = "Ngul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlq"] = { canonicalName = "Lao Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlu"] = { canonicalName = "Nchumbulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlv"] = { canonicalName = "Nahuatl Orizaba", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nlw"] = { canonicalName = "Walangama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nlx"] = { canonicalName = "Nahali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nly"] = { canonicalName = "Nyamal", type = "regular", scripts = {"None"}, family = "aus-nga", } m["nlz"] = { canonicalName = "Nalögo", type = "regular", scripts = {"None"}, family = "poz-oce", } m["nma"] = { canonicalName = "Maram Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmb"] = { canonicalName = "Big Nambas", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nmc"] = { canonicalName = "Ngam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmd"] = { canonicalName = "Ndumu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nme"] = { canonicalName = "Mzieme Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmf"] = { canonicalName = "Tangkhul Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmg"] = { canonicalName = "Kwasio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmh"] = { canonicalName = "Monsang Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmi"] = { canonicalName = "Nyam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmj"] = { canonicalName = "Bangando-Ngombe", otherNames = {"Bagando-Ngombe", "Ngombe-Kaka", "Ngombe (Central African Republic)", "Ngombe"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmk"] = { canonicalName = "Namakura", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nml"] = { canonicalName = "Ndemli", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nmm"] = { canonicalName = "Manangba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmn"] = { canonicalName = "ǃXóõ", otherNames = {"Xoo", "Taa"}, type = "regular", scripts = {"Latn"}, family = "qfa-tuu", } m["nmo"] = { canonicalName = "Moyon Naga", otherNames = {"Moyon"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["nmp"] = { canonicalName = "Nimanbur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmq"] = { canonicalName = "Nambya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmr"] = { canonicalName = "Nimbari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nms"] = { canonicalName = "Letemboi", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nmt"] = { canonicalName = "Namonuito", type = "regular", scripts = {"None"}, family = "poz-mic", } m["nmu"] = { canonicalName = "Maidu Timur Laut", type = "regular", scripts = {"None"}, family = "nai-mdu", } m["nmv"] = { canonicalName = "Ngamini", type = "regular", scripts = {"None"}, family = "aus-kar", } m["nmw"] = { canonicalName = "Nimoa", otherNames = {"Rifao"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["nmy"] = { canonicalName = "Namuyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nmz"] = { canonicalName = "Nawdm", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nna"] = { canonicalName = "Nyangumarta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnb"] = { canonicalName = "Nande", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnc"] = { canonicalName = "Nancere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnd"] = { canonicalName = "Ambae Barat", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nne"] = { canonicalName = "Ngandyera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnf"] = { canonicalName = "Ngaing", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nng"] = { canonicalName = "Maring Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnh"] = { canonicalName = "Ngiemboon", type = "regular", scripts = {"None"}, family = "bai", } m["nni"] = { canonicalName = "Nuaulu Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnj"] = { canonicalName = "Nyangatom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnk"] = { canonicalName = "Nankina", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nnl"] = { canonicalName = "Rengma Naga Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnm"] = { canonicalName = "Namia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnn"] = { canonicalName = "Ngete", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnp"] = { canonicalName = "Wancho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnq"] = { canonicalName = "Ngindo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnr"] = { canonicalName = "Narungga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nns"] = { canonicalName = "Ningye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnt"] = { canonicalName = "Nanticoke", type = "regular", scripts = {"Latn"}, family = "alg", } m["nnu"] = { canonicalName = "Dwang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnv"] = { canonicalName = "Nukunu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnw"] = { canonicalName = "Nuni Selatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnx"] = { canonicalName = "Ngong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nny"] = { canonicalName = "Nyangga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nnz"] = { canonicalName = "Nda'nda'", type = "regular", scripts = {"None"}, family = "bai", } m["noa"] = { canonicalName = "Woun Meu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["noc"] = { canonicalName = "Nuk", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["nod"] = { canonicalName = "Thai Utara", type = "regular", scripts = {"Lana", "Thai"}, family = "tai-swe", } m["noe"] = { canonicalName = "Nimadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nof"] = { canonicalName = "Nomane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nog"] = { canonicalName = "Nogai", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["noh"] = { canonicalName = "Nomu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["noi"] = { canonicalName = "Noiri", type = "regular", scripts = {"None"}, family = "inc", } m["noj"] = { canonicalName = "Nonuya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nok"] = { canonicalName = "Nooksack", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nol"] = { canonicalName = "Nomlaki", type = "regular", scripts = {"None"}, family = "qfa-wtq", } m["nom"] = { canonicalName = "Nocamán", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["non"] = { canonicalName = "Norse Lama", otherNames = {"Old Icelandic", "Old Norwegian"}, -- note: Old Swedish and Old Danish have their own codes type = "regular", scripts = {"Latn"}, family = "gmq", ancestors = {"gmq-pro"}, } m["nop"] = { canonicalName = "Numanggang", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["noq"] = { canonicalName = "Ngongo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nos"] = { canonicalName = "Nisu Timur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["not"] = { canonicalName = "Nomatsiguenga", type = "regular", scripts = {"None"}, family = "awd", } m["nou"] = { canonicalName = "Ewage-Notu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nov"] = { canonicalName = "Novial", type = "regular", scripts = {"Latn"}, family = "art", } m["now"] = { canonicalName = "Nyambo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["noy"] = { canonicalName = "Noy", type = "regular", scripts = {"None"}, family = "qfa-und", } m["noz"] = { canonicalName = "Nayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["npa"] = { canonicalName = "Nar Phu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["npb"] = { canonicalName = "Nupbikha", type = "regular", scripts = {"None"}, family = "tbq", } m["nph"] = { canonicalName = "Phom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["npl"] = { canonicalName = "Nahuatl Puebla Tenggara", type = "regular", scripts = {"None"}, family = "azc-nah", } m["npn"] = { canonicalName = "Mondropolon", type = "regular", scripts = {"None"}, family = "poz-aay", } m["npo"] = { canonicalName = "Pochuri Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nps"] = { canonicalName = "Nipsan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["npu"] = { canonicalName = "Puimei Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["npy"] = { canonicalName = "Napu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nqg"] = { canonicalName = "Ede Nago", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nqk"] = { canonicalName = "Kura Ede Nago", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nqm"] = { canonicalName = "Ndom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nqn"] = { canonicalName = "Nen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nqo"] = { canonicalName = "N'Ko", type = "regular", scripts = {"Nkoo"}, family = "dmn", } m["nqq"] = { canonicalName = "Kyan-Karyaw Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nra"] = { canonicalName = "Ngom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrb"] = { canonicalName = "Nara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrc"] = { canonicalName = "Noric", type = "regular", scripts = {"None"}, family = "cel", } m["nre"] = { canonicalName = "Rengma Naga Selatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrf"] = { canonicalName = "Norman", otherNames = {"Cauchois", "Jèrriais", "Jersey French", "Jersey Norman", "Jersey Norman French", "Guernésiais", "Dgèrnésiais", "Guernsey French", "Guernsey Norman French", "Augeron", "Sercquiais", "Auregnais"}, type = "regular", scripts = {"Latn"}, family = "roa", ancestors = {"frm"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c", "ae", "oe"}} , wikimedia_codes = {"nrm"}, } m["nrg"] = { canonicalName = "Narango", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nri"] = { canonicalName = "Chokri Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrk"] = { canonicalName = "Ngarla", type = "regular", scripts = {"Latn"}, family = "aus-nga", } m["nrl"] = { canonicalName = "Ngarluma", type = "regular", scripts = {"None"}, family = "aus-nga", } m["nrm"] = { canonicalName = "Narom", type = "regular", scripts = {"None"}, family = "poz-swa", } m["nrn"] = { canonicalName = "Norn", type = "regular", scripts = {"Latn"}, family = "gmq", } m["nrp"] = { canonicalName = "Pisen Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrr"] = { canonicalName = "Norra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrt"] = { canonicalName = "Kalapuya Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nru"] = { canonicalName = "Narua", type = "regular", scripts = {"None"}, family = "tbq", } m["nrx"] = { canonicalName = "Ngurmbur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nrz"] = { canonicalName = "Lala", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["nsa"] = { canonicalName = "Sangtam Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsc"] = { canonicalName = "Nshi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsd"] = { canonicalName = "Nisu Selatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nse"] = { canonicalName = "Nsenga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsg"] = { canonicalName = "Ngasa", type = "regular", scripts = {"None"}, family = "sdv", } m["nsh"] = { canonicalName = "Ngoshie", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nsi"] = { canonicalName = "Bahasa Isyarat Nigeria", type = "regular", scripts = {"None"}, family = "sgn", } m["nsk"] = { canonicalName = "Naskapi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsl"] = { canonicalName = "Bahasa Isyarat Norway", type = "regular", scripts = {"None"}, family = "sgn", } m["nsm"] = { canonicalName = "Sema", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsn"] = { canonicalName = "Nehan", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["nso"] = { canonicalName = "Sotho Utara", type = "regular", scripts = {"Latn"}, family = "bnt", } m["nsp"] = { canonicalName = "Bahasa Isyarat Nepal", type = "regular", scripts = {"None"}, family = "sgn", } m["nsq"] = { canonicalName = "Sierra Miwok Utara", type = "regular", scripts = {"None"}, family = "qfa-you", } m["nsr"] = { canonicalName = "Bahasa Isyarat Maritim", type = "regular", scripts = {"None"}, family = "sgn", } m["nss"] = { canonicalName = "Nali", type = "regular", scripts = {"None"}, family = "poz-aay", } m["nst"] = { canonicalName = "Tangsa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsu"] = { canonicalName = "Nahuatl Negra Sierra", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nsv"] = { canonicalName = "Nisu Barat Daya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsw"] = { canonicalName = "Navut", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nsx"] = { canonicalName = "Nsongo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsy"] = { canonicalName = "Nasal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nsz"] = { canonicalName = "Nisenan", type = "regular", scripts = {"None"}, family = "nai-mdu", } m["nte"] = { canonicalName = "Nathembo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ntg"] = { canonicalName = "Ngantangarra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nti"] = { canonicalName = "Natioro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ntj"] = { canonicalName = "Ngaanyatjarra", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["ntk"] = { canonicalName = "Ikoma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ntm"] = { canonicalName = "Nateni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nto"] = { canonicalName = "Ntomba", type = "regular", scripts = {"Latn"}, family = "bnt", } m["ntp"] = { canonicalName = "Tepehuan Utara", type = "regular", scripts = {"None"}, family = "azc", } m["ntr"] = { canonicalName = "Delo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nts"] = { canonicalName = "Natagaimas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ntu"] = { canonicalName = "Natügu", type = "regular", scripts = {"None"}, family = "poz-oce", } m["ntw"] = { canonicalName = "Nottoway", type = "regular", scripts = {"None"}, family = "iro", } m["nty"] = { canonicalName = "Mantsi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ntz"] = { canonicalName = "Natanzi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nua"] = { canonicalName = "Yuaga", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["nuc"] = { canonicalName = "Nukuini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nud"] = { canonicalName = "Ngala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nue"] = { canonicalName = "Ngundu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuf"] = { canonicalName = "Nusu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nug"] = { canonicalName = "Nungali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuh"] = { canonicalName = "Ndunda", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nui"] = { canonicalName = "Ngumbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuj"] = { canonicalName = "Nyole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuk"] = { canonicalName = "Nootka", otherNames = {"Nuu-chah-nulth", "Nuuchahnulth", "T'aat'aaqsapa"}, type = "regular", scripts = {"Latn"}, family = "wak", } m["nul"] = { canonicalName = "Nusa Laut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["num"] = { canonicalName = "Niuafo'ou", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["nun"] = { canonicalName = "Anong", otherNames = {"Nung"}, -- also mistakenly assigned the name "Ayi" by the ISO type = "regular", scripts = {"None"}, family = "tbq", } m["nuo"] = { canonicalName = "Nguôn", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["nup"] = { canonicalName = "Nupe", otherNames = {"Nupe-Nupe-Tako"}, type = "regular", scripts = {"Latn"}, family = "alv-von", } m["nuq"] = { canonicalName = "Nukumanu", type = "regular", scripts = {"None"}, family = "poz-pol", } m["nur"] = { canonicalName = "Nuguria", otherNames = {"Nukuria"}, type = "regular", scripts = {"None"}, family = "poz-pol", } m["nus"] = { canonicalName = "Nuer", type = "regular", scripts = {"None"}, family = "sdv", } m["nut"] = { canonicalName = "Nung", type = "regular", scripts = {"None"}, family = "tai", } m["nuu"] = { canonicalName = "Ngbundu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuv"] = { canonicalName = "Nuni Utara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuw"] = { canonicalName = "Nguluwan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nux"] = { canonicalName = "Mehek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nuy"] = { canonicalName = "Nunggubuyu", otherNames = {"Wubuy"}, type = "regular", scripts = {"None"}, family = "aus-arn", } m["nuz"] = { canonicalName = "Nahuatl Tlamacazapa", type = "regular", scripts = {"None"}, family = "azc-nah", } m["nvh"] = { canonicalName = "Nasarian", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["nvm"] = { canonicalName = "Namiae", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nvo"] = { canonicalName = "Nyokon", type = "regular", scripts = {"None"}, family = "nic-bod", } m["nwa"] = { canonicalName = "Nawathinehena", type = "regular", scripts = {"Latn"}, family = "alg", } m["nwb"] = { canonicalName = "Nyabwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwc"] = { canonicalName = "Newari Klasik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwe"] = { canonicalName = "Ngwe", type = "regular", scripts = {"None"}, family = "bai", } m["nwi"] = { canonicalName = "Tanna Barat Daya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwm"] = { canonicalName = "Nyamusa-Molo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwo"] = { canonicalName = "Nauo", otherNames = {"Nawo"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["nwr"] = { canonicalName = "Nawaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwx"] = { canonicalName = "Newar Tengah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nwy"] = { canonicalName = "Nottoway-Meherrin", type = "regular", scripts = {"None"}, family = "iro", } m["nxa"] = { canonicalName = "Nauete", type = "regular", scripts = {"None"}, family = "poz", } m["nxd"] = { canonicalName = "Longandu", otherNames = {"Ngando (Democratic Republic of the Congo)", "Ngando"}, type = "regular", scripts = {"None"}, family = "bnt", } m["nxe"] = { canonicalName = "Nage", type = "regular", scripts = {"None"}, family = "plf", } m["nxg"] = { canonicalName = "Ngad'a", type = "regular", scripts = {"Latn"}, family = "plf", } m["nxi"] = { canonicalName = "Nindi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nxl"] = { canonicalName = "Nuaulu Selatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nxm"] = { canonicalName = "Numidian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nxn"] = { canonicalName = "Ngawun", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["nxo"] = { canonicalName = "Ndambomo", type = "regular", scripts = {"Latn"}, family = "bnt", } m["nxq"] = { canonicalName = "Naxi", type = "regular", scripts = {"None"}, family = "tbq", } m["nxr"] = { canonicalName = "Ninggerum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nxu"] = { canonicalName = "Narau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nxx"] = { canonicalName = "Nafri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyb"] = { canonicalName = "Nyangbo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyc"] = { canonicalName = "Nyanga-li", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyd"] = { canonicalName = "Nyore", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nye"] = { canonicalName = "Nyengo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyf"] = { canonicalName = "Giryama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyg"] = { canonicalName = "Nyindu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyh"] = { canonicalName = "Nyigina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyi"] = { canonicalName = "Nyimang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyj"] = { canonicalName = "Nyanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyk"] = { canonicalName = "Nyaneka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyl"] = { canonicalName = "Nyeu", type = "regular", scripts = {"None"}, family = "mkh", } m["nym"] = { canonicalName = "Nyamwezi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyn"] = { canonicalName = "Nyankole", type = "regular", scripts = {"Latn"}, family = "bnt", } m["nyo"] = { canonicalName = "Nyoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyp"] = { canonicalName = "Nyang'i", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyq"] = { canonicalName = "Nayini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyr"] = { canonicalName = "Shinyiha", otherNames = {"Nyiha"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["nys"] = { canonicalName = "Nyunga", otherNames = {"Noongar", "Nyuunga"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["nyt"] = { canonicalName = "Nyawaygi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyu"] = { canonicalName = "Nyungwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyv"] = { canonicalName = "Nyulnyul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyw"] = { canonicalName = "Nyaw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nyx"] = { canonicalName = "Nganyaywana", type = "regular", scripts = {"None"}, family = "aus-cww", } m["nyy"] = { canonicalName = "Nyakyusa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nza"] = { canonicalName = "Tigon Mbembe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzb"] = { canonicalName = "Njebi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzi"] = { canonicalName = "Nzima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzk"] = { canonicalName = "Nzakara", type = "regular", scripts = {"Latn"}, family = "znd", } m["nzm"] = { canonicalName = "Zeme Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzs"] = { canonicalName = "Bahasa Isyarat New Zealand", type = "regular", scripts = {"None"}, family = "sgn", } m["nzu"] = { canonicalName = "Teke-Nzikou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzy"] = { canonicalName = "Nzakambay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["nzz"] = { canonicalName = "Nanga Dama Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } return m rgjj1r2txkbzvd5luehe5x23tceorgm Module:languages/data3/k 828 4699 13345 2015-06-01T00:09:54Z Dalmo Pereira 1417 Bog cusub: 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... 13345 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 m = {} m["kaa"] = { canonicalName = "Karakalpak", type = "regular", scripts = {"Latn", "Cyrl"}, family = "trk", } m["kab"] = { canonicalName = "Kabyle", type = "regular", scripts = {"Latn"}, family = "ber", } m["kac"] = { canonicalName = "Jingpho", type = "regular", scripts = {"Latn"}, family = "tbq", } m["kad"] = { canonicalName = "Kadara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kae"] = { canonicalName = "Ketangalan", type = "regular", scripts = {"None"}, family = "map", } m["kaf"] = { canonicalName = "Katso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kag"] = { canonicalName = "Kajaman", type = "regular", scripts = {"None"}, family = "poz", } m["kah"] = { canonicalName = "Fer", otherNames = {"Kara"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["kai"] = { canonicalName = "Karekare", type = "regular", scripts = {"None"}, family = "cdc", } m["kaj"] = { canonicalName = "Jju", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kak"] = { canonicalName = "Kayapa Kallahan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kam"] = { canonicalName = "Kamba", otherNames = {"Kikamba", "Kamba (Kenya)"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["kao"] = { canonicalName = "Kassonke", otherNames = {"Khasonke", "Kasonke", "Khassonké"}, type = "regular", scripts = {"Latn"}, family = "dmn", } m["kap"] = { canonicalName = "Bezhta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kaq"] = { canonicalName = "Capanahua", otherNames = {"Kapanawa"}, type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["kav"] = { canonicalName = "Katukína", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kaw"] = { canonicalName = "Old Javanese", otherNames = {"Kawi"}, type = "regular", scripts = {"Latn"}, family = "poz-sus", } m["kax"] = { canonicalName = "Kao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kay"] = { canonicalName = "Kamayurá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kba"] = { canonicalName = "Kalarko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbb"] = { canonicalName = "Kaxuiâna", type = "regular", scripts = {"None"}, family = "sai-car", } m["kbc"] = { canonicalName = "Kadiwéu", otherNames = {"Caduveo", "Ediu-Adig", "Guaicurú", "Kadiweu", "Mbayá", "Mbayá-Guaycuru", "Waikurú"}, type = "regular", scripts = {"Latn"}, family = "qfa-mgc", } m["kbd"] = { canonicalName = "Kabardian", otherNames = {"East Circassian"}, type = "regular", scripts = {"Cyrl"}, family = "cau-cir", translit_module = "kbd-translit", } m["kbe"] = { canonicalName = "Kanju", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbg"] = { canonicalName = "Khamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbh"] = { canonicalName = "Camsá", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["kbi"] = { canonicalName = "Kaptiau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbj"] = { canonicalName = "Kari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbk"] = { canonicalName = "Grass Koiari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbm"] = { canonicalName = "Iwal", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kbo"] = { canonicalName = "Keliko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbp"] = { canonicalName = "Kabiyé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbq"] = { canonicalName = "Kamano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbr"] = { canonicalName = "Kafa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbs"] = { canonicalName = "Kande", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbt"] = { canonicalName = "Gabadi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kbu"] = { canonicalName = "Kabutra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbv"] = { canonicalName = "Kamberataro", otherNames = {"Dera", "Dera (New Guinea)"}, type = "regular", scripts = {"None"}, family = "paa", } m["kbw"] = { canonicalName = "Kaiep", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kbx"] = { canonicalName = "Ap Ma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kbz"] = { canonicalName = "Duhwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kca"] = { canonicalName = "Khanty", type = "regular", scripts = {"Cyrl"}, family = "fiu-ugr", translit_module = "kca-translit", } m["kcb"] = { canonicalName = "Kawacha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcc"] = { canonicalName = "Lubila", type = "regular", scripts = {"None"}, family = "nic-bco", } m["kcd"] = { canonicalName = "Ngkâlmpw Kanum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kce"] = { canonicalName = "Kaivi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcf"] = { canonicalName = "Ukaan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcg"] = { canonicalName = "Tyap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kch"] = { canonicalName = "Vono", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kci"] = { canonicalName = "Kamantan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcj"] = { canonicalName = "Kobiana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kck"] = { canonicalName = "Kalanga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["kcl"] = { canonicalName = "Kala", otherNames = {"Kela", "Gela"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["kcm"] = { canonicalName = "Tar Gula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcn"] = { canonicalName = "Nubi", otherNames = {"Ki-Nubi"}, type = "regular", scripts = {"Arab"}, family = "crp", ancestors = {"apd"}, } m["kco"] = { canonicalName = "Kinalakna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcp"] = { canonicalName = "Kanga", type = "regular", scripts = {"Latn"}, family = "qfa-kad", } m["kcq"] = { canonicalName = "Kamo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcr"] = { canonicalName = "Katla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcs"] = { canonicalName = "Koenoem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kct"] = { canonicalName = "Kaian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcu"] = { canonicalName = "Kikami", otherNames = {"Kami"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcv"] = { canonicalName = "Kete", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcw"] = { canonicalName = "Kabwari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcx"] = { canonicalName = "Kachama-Ganjule", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcy"] = { canonicalName = "Korandje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kcz"] = { canonicalName = "Konongo", type = "regular", scripts = {"None"}, family = "bnt", } m["kda"] = { canonicalName = "Worimi", otherNames = {"Gadang", "Gadhang", "Gadjang", "Kattang", "Kutthung"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["kdc"] = { canonicalName = "Kutu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdd"] = { canonicalName = "Yankunytjatjara", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["kde"] = { canonicalName = "Makonde", type = "regular", scripts = {"Latn"}, family = "bnt", } m["kdf"] = { canonicalName = "Mamusi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kdg"] = { canonicalName = "Seba", type = "regular", scripts = {"None"}, family = "bnt", } m["kdh"] = { canonicalName = "Tem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdi"] = { canonicalName = "Kumam", otherNames = {"Kuman"}, type = "regular", scripts = {"None"}, family = "sdv", } m["kdj"] = { canonicalName = "Karamojong", type = "regular", scripts = {"Latn"}, family = "sdv", } m["kdk"] = { canonicalName = "Numee", type = "regular", scripts = {"None"}, family = "poz-cln", } m["kdl"] = { canonicalName = "Tsikimba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdm"] = { canonicalName = "Kagoma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdn"] = { canonicalName = "Kunda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdp"] = { canonicalName = "Kaningdon-Nindem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdq"] = { canonicalName = "Koch", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdr"] = { canonicalName = "Karaim", type = "regular", scripts = {"Cyrl", "Latn", "Hebr"}, family = "trk", } m["kdt"] = { canonicalName = "Kuy", type = "regular", scripts = {"None"}, family = "mkh", } m["kdu"] = { canonicalName = "Kadaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdv"] = { canonicalName = "Kado", otherNames = {"Kadu"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdw"] = { canonicalName = "Koneraw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdx"] = { canonicalName = "Kam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdy"] = { canonicalName = "Keder", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kdz"] = { canonicalName = "Kwaja", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kea"] = { canonicalName = "Kabuverdianu", otherNames = {"Cape Verdean Creole", "Kriolu", "Creole", "Barlavento", "Sotavento"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"pt"}, } m["keb"] = { canonicalName = "Kélé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kec"] = { canonicalName = "Keiga", type = "regular", scripts = {"Latn"}, family = "qfa-kad", } m["ked"] = { canonicalName = "Kerewe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kee"] = { canonicalName = "Eastern Keres", type = "regular", scripts = {"None"}, family = "qfa-ker", } m["kef"] = { canonicalName = "Kpessi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["keg"] = { canonicalName = "Tese", type = "regular", scripts = {"None"}, family = "sdv", } m["keh"] = { canonicalName = "Keak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kei"] = { canonicalName = "Kei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kej"] = { canonicalName = "Kadar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kek"] = { canonicalName = "Q'eqchi", type = "regular", scripts = {"None"}, family = "myn", } m["kel"] = { canonicalName = "Kela", type = "regular", scripts = {"Latn"}, family = "bnt", } m["kem"] = { canonicalName = "Kemak", type = "regular", scripts = {"None"}, family = "plf", } m["ken"] = { canonicalName = "Kenyang", type = "regular", scripts = {"None"}, family = "nic-bod", } m["keo"] = { canonicalName = "Kakwa", type = "regular", scripts = {"None"}, family = "sdv", } m["kep"] = { canonicalName = "Kaikadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["keq"] = { canonicalName = "Kamar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ker"] = { canonicalName = "Kera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kes"] = { canonicalName = "Kugbo", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ket"] = { canonicalName = "Ket", type = "regular", scripts = {"Cyrl"}, family = "qfa-yen", } m["keu"] = { canonicalName = "Akebu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kev"] = { canonicalName = "Kanikkaran", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kew"] = { canonicalName = "West Kewa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kex"] = { canonicalName = "Kukna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["key"] = { canonicalName = "Kupia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kez"] = { canonicalName = "Kukele", type = "regular", scripts = {"None"}, family = "nic-bco", } m["kfa"] = { canonicalName = "Kodava", type = "regular", scripts = {"None"}, family = "dra", } m["kfb"] = { canonicalName = "Northwestern Kolami", type = "regular", scripts = {"None"}, family = "dra", } m["kfc"] = { canonicalName = "Konda-Dora", type = "regular", scripts = {"Telu"}, family = "dra", } m["kfd"] = { canonicalName = "Korra Koraga", type = "regular", scripts = {"None"}, family = "dra", } m["kfe"] = { canonicalName = "Kota", otherNames = {"Kota (India)"}, type = "regular", scripts = {"Taml"}, family = "dra", } m["kff"] = { canonicalName = "Koya", type = "regular", scripts = {"None"}, family = "dra", } m["kfg"] = { canonicalName = "Kudiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfh"] = { canonicalName = "Kurichiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfi"] = { canonicalName = "Kannada Kurumba", type = "regular", scripts = {"None"}, family = "dra", } m["kfj"] = { canonicalName = "Kemiehua", type = "regular", scripts = {"None"}, family = "mkh", } m["kfk"] = { canonicalName = "Kinnauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfl"] = { canonicalName = "Kung", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kfm"] = { canonicalName = "Khunsari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfn"] = { canonicalName = "Kuk", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kfo"] = { canonicalName = "Koro (West Africa)", otherNames = {"Koro", "Koro Jula"}, -- the last name is misleading, as Jula is a diff. language type = "regular", scripts = {"Latn", "Nkoo"}, family = "dmn", } m["kfp"] = { canonicalName = "Korwa", type = "regular", scripts = {"None"}, family = "mun", } m["kfq"] = { canonicalName = "Korku", type = "regular", scripts = {"None"}, family = "mun", } m["kfr"] = { canonicalName = "Kachchi", otherNames = {"Kutchi", "Cutchi", "Kachchhi", "Kutchhi"}, type = "regular", scripts = {"Gujr"}, family = "inc", } m["kfs"] = { canonicalName = "Bilaspuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kft"] = { canonicalName = "Kanjari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfu"] = { canonicalName = "Katkari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfv"] = { canonicalName = "Kurmukar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfw"] = { canonicalName = "Kharam Naga", otherNames = {"Kharam"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["kfx"] = { canonicalName = "Kullu Pahari", otherNames = {"Kullu"}, type = "regular", scripts = {"None"}, family = "inc", } m["kfy"] = { canonicalName = "Kumaoni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kfz"] = { canonicalName = "Koromfé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kga"] = { canonicalName = "Koyaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgb"] = { canonicalName = "Kawe", type = "regular", scripts = {"None"}, family = "poz-hce", } m["kgc"] = { canonicalName = "Kasseng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgd"] = { canonicalName = "Kataang", type = "regular", scripts = {"None"}, family = "mkh", } m["kge"] = { canonicalName = "Komering", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgf"] = { canonicalName = "Kube", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgg"] = { canonicalName = "Kusunda", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["kgi"] = { canonicalName = "Selangor Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["kgj"] = { canonicalName = "Gamale Kham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgk"] = { canonicalName = "Kaiwá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgl"] = { canonicalName = "Kunggari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgm"] = { canonicalName = "Karipúna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgn"] = { canonicalName = "Karingani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgo"] = { canonicalName = "Krongo", type = "regular", scripts = {"Latn"}, family = "qfa-kad", } m["kgp"] = { canonicalName = "Kaingang", type = "regular", scripts = {"Latn"}, family = "sai-jee", } m["kgq"] = { canonicalName = "Kamoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgr"] = { canonicalName = "Abun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgs"] = { canonicalName = "Kumbainggar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgt"] = { canonicalName = "Somyev", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kgu"] = { canonicalName = "Kobol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgv"] = { canonicalName = "Karas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgw"] = { canonicalName = "Karon Dori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgx"] = { canonicalName = "Kamaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kgy"] = { canonicalName = "Kyerung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kha"] = { canonicalName = "Khasi", type = "regular", scripts = {"None"}, family = "aav", } m["khb"] = { canonicalName = "Lü", type = "regular", scripts = {"Talu"}, family = "tai-swe", } m["khc"] = { canonicalName = "Tukang Besi North", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khd"] = { canonicalName = "Bädi Kanum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khe"] = { canonicalName = "Korowai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khf"] = { canonicalName = "Khuen", type = "regular", scripts = {"None"}, family = "mkh", } m["khg"] = { canonicalName = "Khams Tibetan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khh"] = { canonicalName = "Kehu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khj"] = { canonicalName = "Kuturmi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khl"] = { canonicalName = "Lusi", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["khn"] = { canonicalName = "Khandesi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kho"] = { canonicalName = "Khotanese", type = "regular", scripts = {"Brah"}, family = "ira", } m["khp"] = { canonicalName = "Kapauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khq"] = { canonicalName = "Koyra Chiini Songhay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khr"] = { canonicalName = "Kharia", type = "regular", scripts = {"None"}, family = "mun", } m["khs"] = { canonicalName = "Kasua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kht"] = { canonicalName = "Khamti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khu"] = { canonicalName = "Nkhumbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khv"] = { canonicalName = "Khvarshi", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["khw"] = { canonicalName = "Khowar", type = "regular", scripts = {"Arab"}, family = "iir-dar", } m["khx"] = { canonicalName = "Kanu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["khy"] = { canonicalName = "Ekele", otherNames = {"Kele", "Kele (Congo)", "Kele (Democratic Republic of the Congo)", "Lokele"}, type = "regular", scripts = {"None"}, family = "bnt", } m["khz"] = { canonicalName = "Keapara", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kia"] = { canonicalName = "Kim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kib"] = { canonicalName = "Koalib", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kic"] = { canonicalName = "Kickapoo", type = "regular", scripts = {"Latn"}, family = "alg", } m["kid"] = { canonicalName = "Koshin", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["kie"] = { canonicalName = "Kibet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kif"] = { canonicalName = "Eastern Parbate Kham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kig"] = { canonicalName = "Kimaama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kih"] = { canonicalName = "Kilmeri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kii"] = { canonicalName = "Kitsai", type = "regular", scripts = {"None"}, family = "cdd", } m["kij"] = { canonicalName = "Kilivila", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["kil"] = { canonicalName = "Kariya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kim"] = { canonicalName = "Tofa", otherNames = {"Tofalar", "Karagas"}, type = "regular", scripts = {"Cyrl"}, family = "trk", } m["kio"] = { canonicalName = "Kiowa", type = "regular", scripts = {"Latn"}, family = "qfa-kta", } m["kip"] = { canonicalName = "Sheshi Kham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kiq"] = { canonicalName = "Kosadle", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kis"] = { canonicalName = "Kis", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kit"] = { canonicalName = "Agob", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kiv"] = { canonicalName = "Kimbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kiw"] = { canonicalName = "Northeast Kiwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kix"] = { canonicalName = "Khiamniungan Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kiy"] = { canonicalName = "Kirikiri", otherNames = {"Faia"}, type = "regular", scripts = {"None"}, family = "paa-lkp", } m["kiz"] = { canonicalName = "Kisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kja"] = { canonicalName = "Mlap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjb"] = { canonicalName = "Q'anjob'al", type = "regular", scripts = {"Latn"}, family = "myn", } m["kjc"] = { canonicalName = "Coastal Konjo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjd"] = { canonicalName = "Southern Kiwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kje"] = { canonicalName = "Kisar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjf"] = { canonicalName = "Khalaj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjg"] = { canonicalName = "Khmu", type = "regular", scripts = {"Laoo"}, family = "mkh", } m["kjh"] = { canonicalName = "Khakas", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["kji"] = { canonicalName = "Zabana", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kjj"] = { canonicalName = "Khinalug", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["kjk"] = { canonicalName = "Highland Konjo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjl"] = { canonicalName = "Kham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjm"] = { canonicalName = "Kháng", type = "regular", scripts = {"None"}, family = "mkh", } m["kjn"] = { canonicalName = "Kunjen", otherNames = {"Uw Oykangand", "Uw Olkola", "Olkol"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["kjo"] = { canonicalName = "Harijan Kinnauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjp"] = { canonicalName = "Pwo Eastern Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjq"] = { canonicalName = "Western Keres", type = "regular", scripts = {"Latn"}, family = "qfa-ker", } m["kjr"] = { canonicalName = "Kurudu", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["kjs"] = { canonicalName = "East Kewa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjt"] = { canonicalName = "Phrae Pwo Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kju"] = { canonicalName = "Kashaya", type = "regular", scripts = {"Latn"}, family = "nai-pom", } m["kjx"] = { canonicalName = "Ramopa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjy"] = { canonicalName = "Erave", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kjz"] = { canonicalName = "Bumthangkha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kka"] = { canonicalName = "Kakanda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkb"] = { canonicalName = "Kwerisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkc"] = { canonicalName = "Odoodee", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkd"] = { canonicalName = "Kinuku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kke"] = { canonicalName = "Kakabe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkf"] = { canonicalName = "Kalaktang Monpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkg"] = { canonicalName = "Mabaka Valley Kalinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkh"] = { canonicalName = "Khün", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kki"] = { canonicalName = "Kagulu", otherNames = {"Kaguru"}, type = "regular", scripts = {"None"}, family = "bnt", } m["kkj"] = { canonicalName = "Kako", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkk"] = { canonicalName = "Kokota", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kkl"] = { canonicalName = "Kosarek Yale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkm"] = { canonicalName = "Kiong", type = "regular", scripts = {"None"}, family = "nic-bco", } m["kkn"] = { canonicalName = "Kon Keu", type = "regular", scripts = {"None"}, family = "aav", } m["kko"] = { canonicalName = "Karko", otherNames = {"Kithonirishe"}, type = "regular", scripts = {"None"}, family = "nub", } m["kkp"] = { canonicalName = "Koko-Bera", otherNames = {"Kok-Kaper", "Gugubera", "Koko-Pera"}, type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["kkq"] = { canonicalName = "Kaiku", type = "regular", scripts = {"None"}, family = "bnt", } m["kkr"] = { canonicalName = "Kir-Balar", otherNames = {"Kir"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["kks"] = { canonicalName = "Kirfi", otherNames = {"Giiwo"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["kkt"] = { canonicalName = "Koi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kku"] = { canonicalName = "Tumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkv"] = { canonicalName = "Kangean", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkw"] = { canonicalName = "Teke-Kukuya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kkx"] = { canonicalName = "Kohin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kky"] = { canonicalName = "Guugu Yimidhirr", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["kkz"] = { canonicalName = "Kaska", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kla"] = { canonicalName = "Klamath-Modoc", otherNames = {"Klamath"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["klb"] = { canonicalName = "Kiliwa", type = "regular", scripts = {"None"}, family = "nai-yuc", } m["klc"] = { canonicalName = "Kolbila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kld"] = { canonicalName = "Gamilaraay", otherNames = {"Kamilaroi", "Kamilarai", "Kamalarai", "Gamilaroi"}, type = "regular", scripts = {"Latn"}, family = "aus-cww", } m["kle"] = { canonicalName = "Kulung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klf"] = { canonicalName = "Kendeje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klg"] = { canonicalName = "Tagakaulu Kalagan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klh"] = { canonicalName = "Weliki", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["kli"] = { canonicalName = "Kalumpang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klj"] = { canonicalName = "Turkic Khalaj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klk"] = { canonicalName = "Kono (Nigeria)", otherNames = {"Kono"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["kll"] = { canonicalName = "Kagan Kalagan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klm"] = { canonicalName = "Kolom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kln"] = { canonicalName = "Kalenjin", type = "regular", scripts = {"Latn"}, family = "sdv", } m["klo"] = { canonicalName = "Kapya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klp"] = { canonicalName = "Kamasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klq"] = { canonicalName = "Rumu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klr"] = { canonicalName = "Khaling", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kls"] = { canonicalName = "Kalasha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klt"] = { canonicalName = "Nukna", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["klu"] = { canonicalName = "Klao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klv"] = { canonicalName = "Maskelynes", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["klw"] = { canonicalName = "Lindu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klx"] = { canonicalName = "Koluwawa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kly"] = { canonicalName = "Kalao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["klz"] = { canonicalName = "Kabola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kma"] = { canonicalName = "Konni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmb"] = { canonicalName = "Kimbundu", otherNames = {"North Mbundu"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["kmc"] = { canonicalName = "Gam", otherNames = {"Dong", "Northern Dong", "Southern Dong"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["kmd"] = { canonicalName = "Madukayang Kalinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kme"] = { canonicalName = "Bakole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmg"] = { canonicalName = "Kâte", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmh"] = { canonicalName = "Kalam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmi"] = { canonicalName = "Kami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmj"] = { canonicalName = "Kumarbhag Paharia", type = "regular", scripts = {"None"}, family = "dra", } m["kmk"] = { canonicalName = "Limos Kalinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kml"] = { canonicalName = "Tanudan Kalinga", otherNames = {"Lower Tanudan Kalinga", "Upper Tanudan Kalinga"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["kmm"] = { canonicalName = "Kom (India)", otherNames = {"Kom"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["kmn"] = { canonicalName = "Awtuw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmo"] = { canonicalName = "Kwoma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmp"] = { canonicalName = "Gimme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmq"] = { canonicalName = "Kwama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmr"] = { canonicalName = "Northern Kurdish", otherNames = {"Kurmanji"}, type = "regular", scripts = {"Latn"}, family = "ira", wikimedia_codes = {"ku"}, } m["kms"] = { canonicalName = "Kamasau", type = "regular", scripts = {"Latn"}, family = "qfa-tor", } m["kmt"] = { canonicalName = "Kemtuik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmu"] = { canonicalName = "Kanite", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmv"] = { canonicalName = "Karipúna Creole French", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmw"] = { canonicalName = "Kikumu", otherNames = {"Kikomo", "Komo (Democratic Republic of the Congo)", "Komo"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["kmx"] = { canonicalName = "Waboda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmy"] = { canonicalName = "Koma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kmz"] = { canonicalName = "Khorasani Turkish", otherNames = {"Khorasani Turkic"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["kna"] = { canonicalName = "Kanakuru", otherNames = {"Dera", "Dera (Nigeria)"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["knb"] = { canonicalName = "Lubuagan Kalinga", type = "regular", scripts = {"None"}, family = "phi", } m["knd"] = { canonicalName = "Konda", type = "regular", scripts = {"None"}, family = "ngf-sbh", } m["kne"] = { canonicalName = "Kankanaey", type = "regular", scripts = {"Latn"}, family = "phi", } m["knf"] = { canonicalName = "Mankanya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kni"] = { canonicalName = "Kanufi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knj"] = { canonicalName = "Western Kanjobal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knk"] = { canonicalName = "Kuranko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knl"] = { canonicalName = "Keninjal", type = "regular", scripts = {"None"}, family = "qfa-und", } -- two unrelated lects have this name; Ethnologue confuses them; -- use this code for the Katukinian one for which materials exist, -- rather than the Arawakan one about which little is known m["knm"] = { canonicalName = "Kanamari", otherNames = {"Kanamarí", "Katukina-Kanamari", "Kanamare"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["kno"] = { canonicalName = "Kono (Sierra Leone)", otherNames = {"Kono", "Konnoh"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["knp"] = { canonicalName = "Kwanja", type = "regular", scripts = {"None"}, family = "nic-bod", } m["knq"] = { canonicalName = "Kintaq", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knr"] = { canonicalName = "Kaningra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kns"] = { canonicalName = "Kensiu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knt"] = { canonicalName = "Panoan Katukína", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["knu"] = { -- a dialect of 'kpe' canonicalName = "Kono (Guinea)", otherNames = {"Kono"}, type = "regular", scripts = {"Latn"}, family = "dmn", } m["knv"] = { canonicalName = "Tabo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knx"] = { canonicalName = "Kendayan", otherNames = {"Salako", "Selako", "Ahe"}, type = "regular", scripts = {"None"}, family = "poz-mly", } m["kny"] = { canonicalName = "Kanyok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["knz"] = { canonicalName = "Kalamsé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koa"] = { canonicalName = "Konomala", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["koc"] = { canonicalName = "Kpati", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kod"] = { canonicalName = "Kodi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koe"] = { canonicalName = "Kacipo-Balesi", type = "regular", scripts = {"None"}, family = "sdv", } m["kof"] = { canonicalName = "Kubi", type = "regular", scripts = {"None"}, family = "cdc", } m["kog"] = { canonicalName = "Cogui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koh"] = { canonicalName = "Koyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koi"] = { canonicalName = "Komi-Permyak", type = "regular", scripts = {"Cyrl"}, family = "fiu-prm", translit_module = "kv-translit", } m["koj"] = { canonicalName = "Sara Dunjo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kok"] = { canonicalName = "Konkani", type = "regular", scripts = {"Deva", "Knda", "Mlym", "fa-Arab", "Latn"}, family = "inc", } m["koo"] = { canonicalName = "Konzo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kop"] = { canonicalName = "Waube", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koq"] = { canonicalName = "Ikota", otherNames = {"iKota", "Kota (Gabon)", "Kota"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["kos"] = { canonicalName = "Kosraean", type = "regular", scripts = {"None"}, family = "poz-mic", } m["kot"] = { canonicalName = "Lagwan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kou"] = { canonicalName = "Koke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kov"] = { canonicalName = "Kudu-Camo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kow"] = { canonicalName = "Kugama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kox"] = { canonicalName = "Coxima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["koy"] = { canonicalName = "Koyukon", otherNames = {"Denaakk'e"}, type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["koz"] = { canonicalName = "Korak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpa"] = { canonicalName = "Kutto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpb"] = { canonicalName = "Mullu Kurumba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpc"] = { canonicalName = "Curripaco", type = "regular", scripts = {"None"}, family = "awd", } m["kpd"] = { canonicalName = "Koba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpe"] = { canonicalName = "Kpelle", type = "regular", scripts = {"Latn"}, family = "dmn", } m["kpf"] = { canonicalName = "Komba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpg"] = { canonicalName = "Kapingamarangi", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["kph"] = { canonicalName = "Kplang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpi"] = { canonicalName = "Kofei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpj"] = { canonicalName = "Karajá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpk"] = { canonicalName = "Kpan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpl"] = { canonicalName = "Kpala", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["kpm"] = { canonicalName = "Koho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpn"] = { canonicalName = "Kepkiriwát", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpo"] = { canonicalName = "Ikposo", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["kpp"] = { canonicalName = "Paku Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpq"] = { canonicalName = "Korupun-Sela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpr"] = { canonicalName = "Korafe-Yegha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kps"] = { canonicalName = "Tehit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpt"] = { canonicalName = "Karata", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["kpu"] = { canonicalName = "Kafoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpv"] = { canonicalName = "Komi-Zyrian", otherNames = {"Komi"}, type = "regular", scripts = {"Cyrl"}, family = "fiu-prm", translit_module = "kv-translit", } m["kpw"] = { canonicalName = "Kobon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpx"] = { canonicalName = "Mountain Koiali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kpy"] = { canonicalName = "Koryak", type = "regular", scripts = {"Cyrl"}, family = "qfa-cka", } m["kpz"] = { canonicalName = "Kupsabiny", type = "regular", scripts = {"None"}, family = "sdv", } m["kqa"] = { canonicalName = "Mum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqb"] = { canonicalName = "Kovai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqc"] = { canonicalName = "Doromu-Koki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqd"] = { canonicalName = "Koy Sanjaq Surat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqe"] = { canonicalName = "Kalagan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqf"] = { canonicalName = "Kakabai", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kqg"] = { canonicalName = "Khe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqh"] = { canonicalName = "Kisankasa", type = "regular", scripts = {"None"}, family = "sdv", } m["kqi"] = { canonicalName = "Koitabu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqj"] = { canonicalName = "Koromira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqk"] = { canonicalName = "Kotafon Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kql"] = { canonicalName = "Kyenele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqm"] = { canonicalName = "Khisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqn"] = { canonicalName = "Kaonde", otherNames = {"Chikaonde", "Kawonde"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["kqo"] = { canonicalName = "Eastern Krahn", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqp"] = { canonicalName = "Kimré", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqq"] = { canonicalName = "Krenak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqr"] = { canonicalName = "Kimaragang", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["kqs"] = { canonicalName = "Northern Kissi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqt"] = { canonicalName = "Klias River Kadazan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqu"] = { canonicalName = "Seroa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqv"] = { canonicalName = "Okolod", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqw"] = { canonicalName = "Kandas", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kqx"] = { canonicalName = "Mser", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqy"] = { canonicalName = "Koorete", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kqz"] = { canonicalName = "Korana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kra"] = { canonicalName = "Kumhali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krb"] = { canonicalName = "Karkin", type = "regular", scripts = {"None"}, family = "qfa-you", } m["krc"] = { canonicalName = "Karachay-Balkar", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["krd"] = { canonicalName = "Kairui-Midiki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kre"] = { canonicalName = "Panará", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krf"] = { canonicalName = "Koro (Vanuatu)", otherNames = {"Koro"}, type = "regular", scripts = {"None"}, family = "poz-oce", } m["krh"] = { canonicalName = "Kurama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kri"] = { canonicalName = "Krio", type = "regular", scripts = {"Latn"}, family = "crp", } m["krj"] = { canonicalName = "Kinaray-a", type = "regular", scripts = {"Latn"}, family = "phi", } m["krk"] = { canonicalName = "Kerek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krl"] = { canonicalName = "Karelian", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["krm"] = { canonicalName = "Krim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krn"] = { canonicalName = "Sapo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krp"] = { canonicalName = "Korop", type = "regular", scripts = {"None"}, family = "nic-bco", } m["krr"] = { canonicalName = "Kru'ng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krs"] = { canonicalName = "Kresh", otherNames = {"Gbaya"}, type = "regular", scripts = {"None"}, family = "csu", } m["kru"] = { canonicalName = "Kurukh", type = "regular", scripts = {"None"}, family = "dra", } m["krv"] = { canonicalName = "Kavet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krw"] = { canonicalName = "Western Krahn", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krx"] = { canonicalName = "Karon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kry"] = { canonicalName = "Kryts", type = "regular", scripts = {"None"}, family = "qfa-und", } m["krz"] = { canonicalName = "Sota Kanum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksa"] = { canonicalName = "Shuwa-Zamani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksb"] = { canonicalName = "Shambala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksc"] = { canonicalName = "Southern Kalinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksd"] = { canonicalName = "Tolai", otherNames = {"Kuanua"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["kse"] = { canonicalName = "Kuni", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ksf"] = { canonicalName = "Bafia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksg"] = { canonicalName = "Kusaghe", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ksh"] = { canonicalName = "Kölsch", type = "regular", scripts = {"Latn"}, family = "gmw", } m["ksi"] = { canonicalName = "Krisa", type = "regular", scripts = {"Latn"}, family = "paa-msk", } m["ksj"] = { canonicalName = "Uare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksk"] = { canonicalName = "Kansa", type = "regular", scripts = {"None"}, family = "sio", } m["ksl"] = { canonicalName = "Kumalu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ksm"] = { canonicalName = "Kumba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksn"] = { canonicalName = "Kasiguranin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kso"] = { canonicalName = "Kofa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksp"] = { canonicalName = "Kaba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksq"] = { canonicalName = "Kwaami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksr"] = { canonicalName = "Borong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kss"] = { canonicalName = "Southern Kisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kst"] = { canonicalName = "Winyé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksu"] = { canonicalName = "Khamyang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksv"] = { canonicalName = "Kusu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksw"] = { canonicalName = "S'gaw Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksx"] = { canonicalName = "Kedang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksy"] = { canonicalName = "Kharia Thar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ksz"] = { canonicalName = "Kodaku", type = "regular", scripts = {"None"}, family = "mun", } m["kta"] = { canonicalName = "Katua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktb"] = { canonicalName = "Kambaata", type = "regular", scripts = {"None"}, family = "cus", } m["ktc"] = { canonicalName = "Kholok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktd"] = { canonicalName = "Kokata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kte"] = { canonicalName = "Nubri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktf"] = { canonicalName = "Kwami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktg"] = { canonicalName = "Kalkatungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kth"] = { canonicalName = "Karanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kti"] = { canonicalName = "North Muyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktj"] = { canonicalName = "Plapo Krumen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktk"] = { canonicalName = "Kaniet", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ktl"] = { canonicalName = "Koroshi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktm"] = { canonicalName = "Kurti", type = "regular", scripts = {"None"}, family = "poz-aay", } m["ktn"] = { canonicalName = "Karitiâna", type = "regular", scripts = {"Latn"}, family = "tup", } m["kto"] = { canonicalName = "Kuot", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktp"] = { canonicalName = "Kaduo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktq"] = { canonicalName = "Katabaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktr"] = { canonicalName = "Kota Marudu Tinagas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kts"] = { canonicalName = "South Muyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktt"] = { canonicalName = "Ketum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ktu"] = { canonicalName = "Kituba", otherNames = {"Munukutuba", "Kikongo-Kituba", "Kikongo", "Kikongo ya leta", "Kibulamatadi", "Kikwango", "Ikeleve", "Kizabave"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["ktv"] = { canonicalName = "Eastern Katu", type = "regular", scripts = {"None"}, family = "mkh", } m["ktw"] = { canonicalName = "Kato", type = "regular", scripts = {"None"}, family = "ath-pco", } m["ktx"] = { canonicalName = "Kaxararí", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["kty"] = { canonicalName = "Kango", otherNames = {"Kango (Bas-Uélé District)"}, -- distinct in name, but not necessarily in identity, from 'kzy' type = "regular", scripts = {"None"}, family = "bnt", } m["ktz"] = { canonicalName = "Juǀ'hoan", type = "regular", scripts = {"Latn"}, family = "qfa-kxa", } m["kub"] = { canonicalName = "Kutep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuc"] = { canonicalName = "Kwinsu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kud"] = { canonicalName = "Auhelawa", otherNames = {"'Auhelawa"}, type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["kue"] = { canonicalName = "Kuman", otherNames = {"Simbu", "Chimbu"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["kuf"] = { canonicalName = "Western Katu", type = "regular", scripts = {"None"}, family = "mkh", } m["kug"] = { canonicalName = "Kupa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuh"] = { canonicalName = "Kushi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kui"] = { canonicalName = "Kuikúro", otherNames = {"Kuikúro-Kalapálo", "Kuikuro", "Apalakiri"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["kuj"] = { canonicalName = "Kuria", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuk"] = { canonicalName = "Kepo'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kul"] = { canonicalName = "Kulere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kum"] = { canonicalName = "Kumyk", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["kun"] = { canonicalName = "Kunama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuo"] = { canonicalName = "Kumukio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kup"] = { canonicalName = "Kunimaipa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuq"] = { canonicalName = "Karipuna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kus"] = { canonicalName = "Kusaal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kut"] = { canonicalName = "Kutenai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuu"] = { canonicalName = "Upper Kuskokwim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuv"] = { canonicalName = "Kur", type = "regular", scripts = {"None"}, family = "plf", } m["kuw"] = { canonicalName = "Kpagua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kux"] = { canonicalName = "Kukatja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuy"] = { canonicalName = "Kuuku-Ya'u", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kuz"] = { canonicalName = "Kunza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kva"] = { canonicalName = "Bagvalal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvb"] = { canonicalName = "Kubu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvc"] = { canonicalName = "Kove", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kvd"] = { canonicalName = "Kui (Indonesia)", otherNames = {"Kui"}, type = "regular", scripts = {"None"}, family = "ngf", } m["kve"] = { canonicalName = "Kalabakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvf"] = { canonicalName = "Kabalai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvg"] = { canonicalName = "Kuni-Boazi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvh"] = { canonicalName = "Komodo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvi"] = { canonicalName = "Kwang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvj"] = { canonicalName = "Psikye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvk"] = { canonicalName = "Korean Sign Language", type = "regular", scripts = {"None"}, family = "sgn-jsl", } m["kvl"] = { canonicalName = "Brek Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvm"] = { canonicalName = "Kendem", type = "regular", scripts = {"None"}, family = "nic-bod", } m["kvn"] = { canonicalName = "Border Kuna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvo"] = { canonicalName = "Dobel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvp"] = { canonicalName = "Kompane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvq"] = { canonicalName = "Geba Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvr"] = { canonicalName = "Kerinci", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvs"] = { canonicalName = "Kunggara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvt"] = { canonicalName = "Lahta Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvu"] = { canonicalName = "Yinbaw Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvv"] = { canonicalName = "Kola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvw"] = { canonicalName = "Wersing", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvx"] = { canonicalName = "Parkari Koli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvy"] = { canonicalName = "Yintale Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kvz"] = { canonicalName = "Tsakwambo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwa"] = { canonicalName = "Dâw", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwb"] = { canonicalName = "Baa", otherNames = {"Kwa"}, type = "regular", scripts = {"None"}, family = "alv", } m["kwc"] = { canonicalName = "Likwala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwd"] = { canonicalName = "Kwaio", type = "regular", scripts = {"None"}, family = "poz-sls", } m["kwe"] = { canonicalName = "Kwerba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwf"] = { canonicalName = "Kwara'ae", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwg"] = { canonicalName = "Sara Kaba Deme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwh"] = { canonicalName = "Kowiai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwi"] = { canonicalName = "Awa-Cuaiquer", otherNames = {"Awa", "Cuaiquer", "Awa Pit"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["kwj"] = { canonicalName = "Kwanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwk"] = { canonicalName = "Kwak'wala", type = "regular", scripts = {"None"}, family = "wak", } m["kwl"] = { canonicalName = "Kofyar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwm"] = { canonicalName = "Kwambi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwn"] = { canonicalName = "Kwangali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwo"] = { canonicalName = "Kwomtari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwp"] = { canonicalName = "Kodia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwq"] = { canonicalName = "Kwak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwr"] = { canonicalName = "Kwer", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kws"] = { canonicalName = "Kwese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwt"] = { canonicalName = "Kwesten", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwu"] = { canonicalName = "Kwakum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwv"] = { canonicalName = "Sara Kaba Náà", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kww"] = { canonicalName = "Kwinti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwx"] = { canonicalName = "Khirwar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kwz"] = { canonicalName = "Kwadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxa"] = { canonicalName = "Kairiru", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kxb"] = { canonicalName = "Krobu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxc"] = { canonicalName = "Khonso", type = "regular", scripts = {"None"}, family = "cus", } m["kxd"] = { canonicalName = "Brunei", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["kxe"] = { canonicalName = "Kakihum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxf"] = { canonicalName = "Manumanaw Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxh"] = { canonicalName = "Karo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxi"] = { canonicalName = "Keningau Murut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxj"] = { canonicalName = "Kulfa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxk"] = { canonicalName = "Zayein Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxl"] = { canonicalName = "Nepali Kurux", type = "regular", scripts = {"None"}, family = "dra", } m["kxm"] = { canonicalName = "Northern Khmer", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxn"] = { canonicalName = "Kanowit-Tanjong Melanau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxo"] = { canonicalName = "Kanoé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxp"] = { canonicalName = "Wadiyara Koli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxq"] = { canonicalName = "Smärky Kanum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxr"] = { canonicalName = "Koro (New Guinea)", otherNames = {"Koro (Papua New Guinea)", "Koro"}, type = "regular", scripts = {"None"}, family = "poz-oce", } m["kxs"] = { canonicalName = "Kangjia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxt"] = { canonicalName = "Koiwat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxu"] = { canonicalName = "Kui (India)", otherNames = {"Kui", "Kuy"}, type = "regular", scripts = {"Orya"}, family = "dra", } m["kxv"] = { canonicalName = "Kuvi", type = "regular", scripts = {"Orya"}, family = "dra", } m["kxw"] = { canonicalName = "Konai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxx"] = { canonicalName = "Likuba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kxy"] = { canonicalName = "Kayong", type = "regular", scripts = {"None"}, family = "mkh", } m["kxz"] = { canonicalName = "Kerewo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kya"] = { canonicalName = "Kwaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyb"] = { canonicalName = "Butbut Kalinga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyc"] = { canonicalName = "Kyaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyd"] = { canonicalName = "Karey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kye"] = { canonicalName = "Krache", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyf"] = { canonicalName = "Kouya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyg"] = { canonicalName = "Keyagana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyh"] = { canonicalName = "Karok", otherNames = {"Karuk"}, type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["kyi"] = { canonicalName = "Kiput", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["kyj"] = { canonicalName = "Karao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyk"] = { canonicalName = "Kamayo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyl"] = { canonicalName = "Kalapuya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kym"] = { canonicalName = "Kpatili", type = "regular", scripts = {"None"}, family = "znd", } m["kyn"] = { canonicalName = "Karolanos", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyo"] = { canonicalName = "Kelon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyp"] = { canonicalName = "Kang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyq"] = { canonicalName = "Kenga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyr"] = { canonicalName = "Kuruáya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kys"] = { canonicalName = "Baram Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyt"] = { canonicalName = "Kayagar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyu"] = { canonicalName = "Western Kayah", type = "regular", scripts = {"Kali"}, family = "kar", } m["kyv"] = { canonicalName = "Kayort", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyw"] = { canonicalName = "Kudmali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyx"] = { canonicalName = "Rapoisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyy"] = { canonicalName = "Kambaira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kyz"] = { canonicalName = "Kayabí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kza"] = { canonicalName = "Western Karaboro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzb"] = { canonicalName = "Kaibobo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzc"] = { canonicalName = "Bondoukou Kulango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzd"] = { canonicalName = "Kadai", type = "regular", scripts = {"None"}, family = "plf", } m["kze"] = { canonicalName = "Kosena", type = "regular", scripts = {"None"}, family = "ngf", } m["kzf"] = { canonicalName = "Da'a Kaili", otherNames = {"Tado", "Inde", "Pekava", "West Kaili"}, type = "regular", scripts = {"Latn"}, family = "poz-kal", } m["kzg"] = { canonicalName = "Kikai", type = "regular", scripts = {"None"}, family = "jpx", } m["kzh"] = { canonicalName = "Dongolawi", otherNames = {"Kenuzi-Dongola", "Andaandi", "Kenzi", "Mattoki"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzi"] = { canonicalName = "Kelabit", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["kzj"] = { canonicalName = "Coastal Kadazan", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["kzk"] = { canonicalName = "Kazukuru", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kzl"] = { canonicalName = "Kayeli", type = "regular", scripts = {"None"}, family = "plf", } m["kzm"] = { canonicalName = "Kais", type = "regular", scripts = {"None"}, family = "paa", } m["kzn"] = { canonicalName = "Kokola", type = "regular", scripts = {"None"}, family = "bnt", } m["kzo"] = { canonicalName = "Kaningi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzp"] = { canonicalName = "Kaidipang", type = "regular", scripts = {"None"}, family = "phi", } m["kzq"] = { canonicalName = "Kaike", type = "regular", scripts = {"None"}, family = "qfa-und", } m["kzr"] = { canonicalName = "Karang", type = "regular", scripts = {"None"}, family = "alv-mbm", } m["kzs"] = { canonicalName = "Sugut Dusun", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["kzt"] = { canonicalName = "Tambunan Dusun", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["kzu"] = { canonicalName = "Kayupulau", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["kzv"] = { canonicalName = "Komyandaret", type = "regular", scripts = {"None"}, family = "ngf-okk", } m["kzw"] = { canonicalName = "Karirí-Xocó", type = "regular", scripts = {"None"}, family = "sai-mje", -- Karirí + Xocó are different languages; only Kariri is Macro-Je (sic!) } m["kzx"] = { canonicalName = "Kamarian", type = "regular", scripts = {"Latn"}, family = "plf", } m["kzy"] = { canonicalName = "Kango-Sua", otherNames = {"Kango", "Kango (Tshopo District)"}, -- distinct in name, but not necessarily in identity, from 'kty' type = "regular", scripts = {"None"}, family = "bnt", } m["kzz"] = { canonicalName = "Kalabra", type = "regular", scripts = {"None"}, family = "paa", } return m atbjcwazpk7a4yhk67fc52g6vb4aaxf Module:languages/data3/l 828 4700 13346 2015-06-01T00:09:58Z Dalmo Pereira 1417 Bog cusub: 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... 13346 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 m = {} m["laa"] = { canonicalName = "Lapuyan Subanun", type = "regular", scripts = {"None"}, family = "phi", } m["lab"] = { canonicalName = "Linear A", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lac"] = { canonicalName = "Lacandon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lad"] = { canonicalName = "Ladino", otherNames = {"Judaeo-Spanish", "Judæo-Spanish", "Judeo-Spanish"}, type = "regular", scripts = {"Hebr", "Latn", "Cyrl"}, family = "roa", } m["lae"] = { canonicalName = "Pattani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["laf"] = { canonicalName = "Lafofa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lag"] = { canonicalName = "Langi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lah"] = { canonicalName = "Lahnda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lai"] = { canonicalName = "Lambya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["laj"] = { canonicalName = "Lango (Uganda)", otherNames = {"Lango", "Leb Lango"}, -- the last, though listed in Ethnologue, is not a name but rather the phrase "Lango language" type = "regular", scripts = {"Latn"}, family = "sdv", } m["lak"] = { canonicalName = "Laka", otherNames = {"Laka (Nigeria)"}, type = "regular", scripts = {"None"}, family = "alv", } m["lal"] = { canonicalName = "Lalia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lam"] = { canonicalName = "Lamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lan"] = { canonicalName = "Laru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lap"] = { canonicalName = "Kabba-Laka", otherNames = {"Kabba Laka", "Laka (Chad)", "Laka"}, type = "regular", scripts = {"None"}, family = "csu", } m["laq"] = { canonicalName = "Qabiao", otherNames = {"Laqua"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["lar"] = { canonicalName = "Larteh", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["las"] = { canonicalName = "Gur Lama", otherNames = {"Lama (West Africa)", "Lama (Togo)", "Lama"}, -- contrast 'lay', "Tibeto-Burman Lama" type = "regular", scripts = {"None"}, family = "nic-gur", } m["lau"] = { canonicalName = "Laba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["law"] = { canonicalName = "Lauje", type = "regular", scripts = {"Latn"}, family = "poz", } m["lax"] = { canonicalName = "Tiwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lay"] = { canonicalName = "Lama Bai", otherNames = {"Lama (Southeast Asia)", "Lama (Burma)", "Lama (Myanmar)", "Lama", "Northern Bai", "Laemae"}, -- the last two names are ambiguous, and also denote another Bai language type = "regular", scripts = {"None"}, family = "tbq", } m["laz"] = { canonicalName = "Aribwatsa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lba"] = { canonicalName = "Lui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbb"] = { canonicalName = "Label", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["lbc"] = { canonicalName = "Lakkia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbe"] = { canonicalName = "Lak", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "lbe-translit", } m["lbf"] = { canonicalName = "Tinani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbg"] = { canonicalName = "Laopang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbi"] = { canonicalName = "La'bi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbj"] = { canonicalName = "Ladakhi", otherNames = {"Bhoti"}, type = "regular", scripts = {"None"}, family = "qfa-und", translit_module = "bo-translit", } m["lbk"] = { canonicalName = "Central Bontok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbl"] = { canonicalName = "Libon Bikol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbm"] = { canonicalName = "Lodhi", type = "regular", scripts = {"None"}, family = "mun", } m["lbn"] = { canonicalName = "Lamet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbo"] = { canonicalName = "Laven", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbq"] = { canonicalName = "Wampar", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lbr"] = { canonicalName = "Northern Lorung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbs"] = { canonicalName = "Libyan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["lbt"] = { canonicalName = "Lachi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbu"] = { canonicalName = "Labu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lbv"] = { canonicalName = "Lavatbura-Lamusong", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lbw"] = { canonicalName = "Tolaki", type = "regular", scripts = {"Latn"}, family = "poz-btk", } m["lbx"] = { canonicalName = "Lawangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lby"] = { canonicalName = "Lamu-Lamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lbz"] = { canonicalName = "Lardil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lcc"] = { canonicalName = "Legenyem", type = "regular", scripts = {"None"}, family = "poz-hce", } m["lcd"] = { canonicalName = "Lola", type = "regular", scripts = {"None"}, family = "plf", } m["lce"] = { canonicalName = "Loncong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lcf"] = { canonicalName = "Lubu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lch"] = { canonicalName = "Luchazi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lcl"] = { canonicalName = "Lisela", type = "regular", scripts = {"None"}, family = "plf", } m["lcm"] = { canonicalName = "Tungag", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lcp"] = { canonicalName = "Western Lawa", type = "regular", scripts = {"None"}, family = "aav", } m["lcq"] = { canonicalName = "Luhu", otherNames = {"Piru"}, type = "regular", scripts = {"None"}, family = "plf", } m["lcs"] = { canonicalName = "Lisabata-Nuniali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lda"] = { canonicalName = "Kla", type = "regular", scripts = {"None"}, family = "dmn", } m["ldb"] = { canonicalName = "Idun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldd"] = { canonicalName = "Luri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldg"] = { canonicalName = "Lenyima", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ldh"] = { canonicalName = "Lamja-Dengsa-Tola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldj"] = { canonicalName = "Lemoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldk"] = { canonicalName = "Leelau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldl"] = { canonicalName = "Kaan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldm"] = { canonicalName = "Landoma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldn"] = { canonicalName = "Láadan", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["ldo"] = { canonicalName = "Loo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldp"] = { canonicalName = "Tso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ldq"] = { canonicalName = "Lufu", type = "regular", scripts = {"None"}, family = "alv", } m["lea"] = { canonicalName = "Lega-Shabunda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["leb"] = { canonicalName = "Lala-Bisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lec"] = { canonicalName = "Leco", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["led"] = { canonicalName = "Lendu", type = "regular", scripts = {"Latn"}, family = "csu", } m["lee"] = { canonicalName = "Lyélé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lef"] = { canonicalName = "Lelemi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["leh"] = { canonicalName = "Lenje", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lei"] = { canonicalName = "Lemio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lej"] = { canonicalName = "Lengola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lek"] = { canonicalName = "Leipon", type = "regular", scripts = {"None"}, family = "poz-aay", } m["lel"] = { canonicalName = "Bashilele", otherNames = {"Lele (Congo)", "Lele (Democratic Republic of the Congo)", "Lele", "Usilele"}, type = "regular", scripts = {"None"}, family = "bnt", } m["lem"] = { canonicalName = "Nomaande", type = "regular", scripts = {"None"}, family = "nic-bod", } m["len"] = { canonicalName = "Honduran Lenca", otherNames = {"Lenca", "Lencan"}, type = "regular", scripts = {"Latn"}, family = "qfa-len", } m["leo"] = { canonicalName = "Leti (Cameroon)", otherNames = {"Leti"}, -- Ethnologue says this secret language has never had native speakers or been written type = "regular", scripts = {"None"}, family = "nic-bco", } m["lep"] = { canonicalName = "Lepcha", type = "regular", scripts = {"Lepc"}, family = "tbq", } m["leq"] = { canonicalName = "Lembena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ler"] = { canonicalName = "Lenkau", type = "regular", scripts = {"None"}, family = "poz-aay", } m["les"] = { canonicalName = "Lese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["let"] = { canonicalName = "Lesing-Gelimi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["leu"] = { canonicalName = "Kara (New Guinea)", otherNames = {"Kara (Papua New Guinea)", "Kara", "Lemakot"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lev"] = { canonicalName = "Lamma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lew"] = { -- this code was basically assigned as a catch-all for things that aren't brs, kzf or unz canonicalName = "Ledo Kaili", otherNames = {"Rai", "Tara", "Ta'a", "Taa", "Central Kaili", "East Kaili", "Ledo", "Edo", "Ado", "Doi", "Ija", "Tawaili", "Palu", "Parigi", "Sigi"}, type = "regular", scripts = {"Latn"}, family = "poz-kal", } m["lex"] = { canonicalName = "Luang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ley"] = { canonicalName = "Lemolang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lez"] = { canonicalName = "Lezgi", otherNames = {"Lezgian", "Lezgin"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "lez-translit", } m["lfa"] = { canonicalName = "Lefa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lfn"] = { canonicalName = "Lingua Franca Nova", type = "appendix-constructed", scripts = {"Latn"}, family = "art", } m["lga"] = { canonicalName = "Lungga", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lgb"] = { canonicalName = "Laghu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lgg"] = { canonicalName = "Lugbara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgh"] = { canonicalName = "Laghuu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgi"] = { canonicalName = "Lengilu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgk"] = { canonicalName = "Lingarak", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lgl"] = { canonicalName = "Wala", type = "regular", scripts = {"None"}, family = "poz-sls", } m["lgm"] = { canonicalName = "Lega-Mwenga", type = "regular", scripts = {"None"}, family = "bnt", } m["lgn"] = { canonicalName = "Opuuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgq"] = { canonicalName = "Logba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgr"] = { canonicalName = "Lengo", type = "regular", scripts = {"None"}, family = "poz-sls", } m["lgt"] = { canonicalName = "Pahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lgu"] = { canonicalName = "Longgu", type = "regular", scripts = {"None"}, family = "poz-sls", } m["lgz"] = { canonicalName = "Ligenza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lha"] = { canonicalName = "Laha (Vietnam)", otherNames = {"Laha", "La Ha"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["lhh"] = { canonicalName = "Laha (Indonesia)", otherNames = {"Laha", "Central Ambon"}, type = "regular", scripts = {"None"}, family = "poz", } m["lhi"] = { canonicalName = "Lahu Shi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lhl"] = { canonicalName = "Lahul Lohar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lhm"] = { canonicalName = "Lhomi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lhn"] = { canonicalName = "Lahanan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lhp"] = { canonicalName = "Lhokpu", type = "regular", scripts = {"None"}, family = "tbq", } m["lhs"] = { canonicalName = "Mlahsö", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lht"] = { canonicalName = "Lo-Toga", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lhu"] = { canonicalName = "Lahu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lia"] = { canonicalName = "West-Central Limba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lib"] = { canonicalName = "Likum", type = "regular", scripts = {"None"}, family = "poz-aay", } m["lic"] = { canonicalName = "Hlai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lid"] = { canonicalName = "Nyindrou", type = "regular", scripts = {"None"}, family = "poz-aay", } m["lie"] = { canonicalName = "Likila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lif"] = { canonicalName = "Limbu", type = "regular", scripts = {"Limb"}, family = "tbq", } m["lig"] = { canonicalName = "Ligbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lih"] = { canonicalName = "Lihir", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lii"] = { canonicalName = "Lingkhim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lij"] = { canonicalName = "Ligurian", type = "regular", scripts = {"Latn"}, family = "roa", } m["lik"] = { canonicalName = "Lika", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lil"] = { canonicalName = "Lillooet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lio"] = { canonicalName = "Liki", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lip"] = { canonicalName = "Sekpele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["liq"] = { canonicalName = "Libido", type = "regular", scripts = {"None"}, family = "cus", } m["lir"] = { canonicalName = "Liberian English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lis"] = { canonicalName = "Lisu", type = "regular", scripts = {"Lisu"}, family = "qfa-und", } m["liu"] = { canonicalName = "Logorik", type = "regular", scripts = {"None"}, family = "sdv", } m["liv"] = { canonicalName = "Livonian", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["liw"] = { canonicalName = "Col", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lix"] = { canonicalName = "Liabuku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["liy"] = { canonicalName = "Banda-Bambari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["liz"] = { canonicalName = "Libinza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lja"] = { canonicalName = "Golpa", type = "regular", scripts = {"None"}, family = "aus-yol", } m["lje"] = { canonicalName = "Rampi", type = "regular", scripts = {"None"}, family = "poz", } m["lji"] = { canonicalName = "Laiyolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ljl"] = { canonicalName = "Li'o", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ljp"] = { canonicalName = "Lampung Api", type = "regular", scripts = {"Latn"}, family = "poz-lgx", } m["ljw"] = { canonicalName = "Yirandali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ljx"] = { canonicalName = "Yuru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lka"] = { canonicalName = "Lakalei", type = "regular", scripts = {"None"}, family = "plf", } m["lkb"] = { canonicalName = "Kabras", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkc"] = { canonicalName = "Kucong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkd"] = { canonicalName = "Lakondê", type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["lke"] = { canonicalName = "Kenyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkh"] = { canonicalName = "Lakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lki"] = { canonicalName = "Laki", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["lkj"] = { canonicalName = "Remun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkl"] = { canonicalName = "Laeko-Libuat", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["lkm"] = { canonicalName = "Kalaamaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkn"] = { canonicalName = "Lakon", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lko"] = { canonicalName = "Khayo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkr"] = { canonicalName = "Päri", type = "regular", scripts = {"None"}, family = "sdv", } m["lks"] = { canonicalName = "Kisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lkt"] = { canonicalName = "Lakota", otherNames = {"Lakhota"}, type = "regular", scripts = {"Latn"}, family = "sio", } m["lku"] = { canonicalName = "Kungkari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lky"] = { canonicalName = "Lokoya", type = "regular", scripts = {"None"}, family = "sdv", } m["lla"] = { canonicalName = "Lala-Roba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["llb"] = { canonicalName = "Lolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["llc"] = { canonicalName = "Lele (Guinea)", otherNames = {"Lele"}, type = "regular", scripts = {"None"}, family = "dmn", } m["lld"] = { canonicalName = "Ladin", type = "regular", scripts = {"Latn"}, family = "roa", } m["lle"] = { canonicalName = "Lele (New Guinea)", otherNames = {"Lele (Papua New Guinea)", "Lele", "Lele Hai"}, type = "regular", scripts = {"None"}, family = "poz-oce", } m["llf"] = { canonicalName = "Hermit", type = "regular", scripts = {"None"}, family = "poz-aay", } m["llg"] = { canonicalName = "Lole", type = "regular", scripts = {"None"}, family = "plf", } m["llh"] = { canonicalName = "Lamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lli"] = { canonicalName = "Teke-Laali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["llj"] = { canonicalName = "Ladji-Ladji", otherNames = {"Ledji-Ledji"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["llk"] = { canonicalName = "Lelak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lll"] = { canonicalName = "Lilau", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["llm"] = { canonicalName = "Lasalimu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lln"] = { canonicalName = "Lele (Chad)", otherNames = {"Lele"}, type = "regular", scripts = {"None"}, family = "cdc", } m["llo"] = { canonicalName = "Khlor", type = "regular", scripts = {"None"}, family = "mkh", } m["llp"] = { canonicalName = "North Efate", otherNames = {"Efate", "Vate", "Vaté", "Nguna"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["llq"] = { canonicalName = "Lolak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lls"] = { canonicalName = "Lithuanian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["llu"] = { canonicalName = "Lau", type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["llx"] = { canonicalName = "Lauan", type = "regular", scripts = {"None"}, family = "poz-occ", } m["lma"] = { canonicalName = "East Limba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmb"] = { canonicalName = "Merei", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lmc"] = { canonicalName = "Limilngan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmd"] = { canonicalName = "Lumun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lme"] = { canonicalName = "Pévé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmf"] = { canonicalName = "South Lembata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmg"] = { canonicalName = "Lamogai", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["lmh"] = { canonicalName = "Lambichhong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmi"] = { canonicalName = "Lombi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmj"] = { canonicalName = "West Lembata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmk"] = { canonicalName = "Lamkang", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["lml"] = { canonicalName = "Hano", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["lmn"] = { canonicalName = "Lambadi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmo"] = { canonicalName = "Lombard", type = "regular", scripts = {"Latn"}, family = "roa", } m["lmp"] = { canonicalName = "Limbum", type = "regular", scripts = {"None"}, family = "nic-bod", } m["lmq"] = { canonicalName = "Lamatuka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmr"] = { canonicalName = "Lamalera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmu"] = { canonicalName = "Lamenu", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lmv"] = { canonicalName = "Lomaiviti", type = "regular", scripts = {"None"}, family = "poz-occ", } m["lmw"] = { canonicalName = "Lake Miwok", type = "regular", scripts = {"None"}, family = "qfa-you", } m["lmx"] = { canonicalName = "Laimbue", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmy"] = { canonicalName = "Lamboya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lmz"] = { canonicalName = "Lumbee", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["lna"] = { canonicalName = "Langbashe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnb"] = { canonicalName = "Mbalanhu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnd"] = { canonicalName = "Lun Bawang", type = "regular", scripts = {"Latn"}, family = "poz-bnn", } m["lng"] = { canonicalName = "Lombardic", type = "regular", scripts = {"Runr"}, family = "gem", } m["lnh"] = { canonicalName = "Lanoh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lni"] = { canonicalName = "Daantanai'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnj"] = { canonicalName = "Linngithigh", otherNames = {"Linngithig", "Leningitij"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnl"] = { canonicalName = "South Central Banda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnm"] = { canonicalName = "Langam", type = "regular", scripts = {"None"}, family = "paa", } m["lnn"] = { canonicalName = "Lorediakarkar", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lno"] = { canonicalName = "Lango (Sudan)", otherNames = {"Lango", "Lango (South Sudan)", "Langgo"}, type = "regular", scripts = {"None"}, family = "sdv", } m["lns"] = { canonicalName = "Lamnso'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lnu"] = { canonicalName = "Longuda", type = "regular", scripts = {"Latn"}, family = "nic", } m["lnw"] = { canonicalName = "Lanima", type = "regular", scripts = {"None"}, family = "aus-pam", } m["lnz"] = { canonicalName = "Lonzo", type = "regular", scripts = {"None"}, family = "nic-bco", } m["loa"] = { canonicalName = "Loloda", type = "regular", scripts = {"None"}, family = "paa", } m["lob"] = { canonicalName = "Lobi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["loc"] = { canonicalName = "Inonhan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lod"] = { canonicalName = "Berawan", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["loe"] = { canonicalName = "Saluan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lof"] = { canonicalName = "Logol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["log"] = { canonicalName = "Logo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["loh"] = { canonicalName = "Narim", type = "regular", scripts = {"None"}, family = "sdv", } m["loi"] = { canonicalName = "Lomakka", otherNames = {"Loma"}, type = "regular", scripts = {"None"}, family = "nic", } m["loj"] = { canonicalName = "Lou", type = "regular", scripts = {"Latn"}, family = "poz-aay", } m["lok"] = { canonicalName = "Loko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lol"] = { canonicalName = "Mongo", type = "regular", scripts = {"Latn"}, family = "bnt", } m["lom"] = { canonicalName = "Looma", otherNames = {"Loma"}, type = "regular", scripts = {"None"}, family = "dmn", } m["lon"] = { canonicalName = "Malawi Lomwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["loo"] = { canonicalName = "Lombo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lop"] = { canonicalName = "Lopa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["loq"] = { canonicalName = "Lobala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lor"] = { canonicalName = "Téén", type = "regular", scripts = {"None"}, family = "qfa-und", } m["los"] = { canonicalName = "Loniu", type = "regular", scripts = {"None"}, family = "poz-aay", } m["lot"] = { canonicalName = "Lotuko", type = "regular", scripts = {"None"}, family = "sdv", } m["lou"] = { canonicalName = "Louisiana Creole French", type = "regular", scripts = {"Latn"}, family = "roa", } m["lov"] = { canonicalName = "Lopi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["low"] = { canonicalName = "Tampias Lobu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lox"] = { canonicalName = "Loun", type = "regular", scripts = {"None"}, family = "plf", } m["loy"] = { canonicalName = "Lowa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["loz"] = { canonicalName = "Lozi", type = "regular", scripts = {"Latn"}, family = "bnt", } m["lpa"] = { canonicalName = "Lelepa", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lpe"] = { canonicalName = "Lepki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lpn"] = { canonicalName = "Long Phuri Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lpo"] = { canonicalName = "Lipo", type = "regular", scripts = {"Plrd"}, family = "tbq", } m["lpx"] = { canonicalName = "Lopit", type = "regular", scripts = {"None"}, family = "sdv", } m["lra"] = { canonicalName = "Rara Bakati'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrc"] = { canonicalName = "Northern Luri", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["lre"] = { canonicalName = "Laurentian", type = "regular", scripts = {"Latn"}, family = "iro", } m["lrg"] = { canonicalName = "Laragia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lri"] = { canonicalName = "Marachi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrk"] = { canonicalName = "Loarki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrl"] = { canonicalName = "Lari", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["lrm"] = { canonicalName = "Marama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrn"] = { canonicalName = "Lorang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lro"] = { canonicalName = "Laro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrr"] = { canonicalName = "Southern Lorung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lrt"] = { canonicalName = "Larantuka Malay", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["lrv"] = { canonicalName = "Larevat", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lrz"] = { canonicalName = "Lemerig", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lsa"] = { canonicalName = "Lasgerdi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lsd"] = { canonicalName = "Lishana Deni", otherNames = {"Betanure Jewish Neo-Aramaic"}, type = "regular", scripts = {"Hebr"}, family = "qfa-und", } m["lse"] = { canonicalName = "Lusengo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lsg"] = { canonicalName = "Lyons Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["lsh"] = { canonicalName = "Lish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lsi"] = { canonicalName = "Lashi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lsl"] = { canonicalName = "Latvian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["lsm"] = { canonicalName = "Saamia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lso"] = { canonicalName = "Laos Sign Language", otherNames = {"Laotian Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["lsp"] = { canonicalName = "Panamanian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["lsr"] = { canonicalName = "Aruop", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["lss"] = { canonicalName = "Lasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lst"] = { canonicalName = "Trinidad and Tobago Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["lsy"] = { canonicalName = "Mauritian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ltc"] = { canonicalName = "Middle Chinese", otherNames = {"Late Middle Chinese", "Early Middle Chinese"}, type = "regular", scripts = {"Hani"}, family = "zhx", } m["ltg"] = { canonicalName = "Latgalian", type = "regular", scripts = {"Latn"}, family = "bat", } m["lti"] = { canonicalName = "Leti (Indonesia)", otherNames = {"Leti"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["ltn"] = { canonicalName = "Latundê", type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["lto"] = { canonicalName = "Olutsotso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lts"] = { canonicalName = "Lutachoni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ltu"] = { canonicalName = "Latu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lua"] = { canonicalName = "Tshiluba", type = "regular", scripts = {"Latn"}, family = "bnt", } m["luc"] = { canonicalName = "Aringa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lud"] = { canonicalName = "Ludian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lue"] = { canonicalName = "Luvale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["luf"] = { canonicalName = "Laua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lui"] = { canonicalName = "Luiseño", otherNames = {"Luiseno", "Juaneño", "Juaneno"}, type = "regular", scripts = {"Latn"}, family = "azc-cup", } m["luj"] = { canonicalName = "Luna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["luk"] = { canonicalName = "Lunanakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lul"] = { canonicalName = "Olu'bo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lum"] = { canonicalName = "Luimbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lun"] = { canonicalName = "Lunda", type = "regular", scripts = {"Latn"}, family = "bnt", } m["luo"] = { canonicalName = "Luo", otherNames = {"Dholuo"}, type = "regular", scripts = {"Latn"}, family = "sdv", } m["lup"] = { canonicalName = "Lumbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["luq"] = { canonicalName = "Lucumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lur"] = { canonicalName = "Laura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lus"] = { canonicalName = "Mizo", type = "regular", scripts = {"Latn"}, family = "tbq-kuk", } m["lut"] = { canonicalName = "Lushootseed", type = "regular", scripts = {"Latn"}, family = "sal", } m["luu"] = { canonicalName = "Lumba-Yakkha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["luv"] = { canonicalName = "Luwati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["luy"] = { canonicalName = "Luhya", type = "regular", scripts = {"Latn"}, family = "bnt", } m["luz"] = { canonicalName = "Southern Luri", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["lva"] = { canonicalName = "Maku'a", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lvk"] = { canonicalName = "Lavukaleve", type = "regular", scripts = {"Latn"}, family = "paa", } m["lvu"] = { canonicalName = "Levuka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwa"] = { canonicalName = "Lwalu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwe"] = { canonicalName = "Lewo Eleng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwg"] = { canonicalName = "Oluwanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwh"] = { canonicalName = "White Lachi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwl"] = { canonicalName = "Eastern Lawa", type = "regular", scripts = {"None"}, family = "aav", } m["lwm"] = { canonicalName = "Laomian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwo"] = { canonicalName = "Luwo", type = "regular", scripts = {"None"}, family = "sdv", } m["lwt"] = { canonicalName = "Lewotobi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lwu"] = { canonicalName = "Lawu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lww"] = { canonicalName = "Lewo", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lya"] = { canonicalName = "Layakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lyg"] = { canonicalName = "Lyngngam", type = "regular", scripts = {"None"}, family = "aav", } m["lyn"] = { canonicalName = "Luyana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lzh"] = { canonicalName = "Literary Chinese", type = "regular", scripts = {"Hani"}, family = "zhx", wikimedia_codes = {"zh-classical"}, } m["lzl"] = { canonicalName = "Litzlitz", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["lzn"] = { canonicalName = "Leinong Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["lzz"] = { canonicalName = "Laz", type = "regular", scripts = {"Geor", "Latn"}, family = "ccs", translit_module = "Geor-translit", entry_name = { from = {"̂"}, to = {""}}, } return m dm3m38s7ohtqhqyhp4h73zdlg8vmyfg Module:languages/data3/i 828 4701 13347 2015-06-01T00:10:03Z Dalmo Pereira 1417 Bog cusub: 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... 13347 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 m = {} m["iai"] = { canonicalName = "Iaai", type = "regular", scripts = {"None"}, family = "poz-occ", } m["ian"] = { canonicalName = "Iatmul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iap"] = { canonicalName = "Iapama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iar"] = { canonicalName = "Purari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iba"] = { canonicalName = "Iban", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["ibb"] = { canonicalName = "Ibibio", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["ibd"] = { canonicalName = "Iwaidja", type = "regular", scripts = {"Latn"}, family = "aus-wdj", } m["ibe"] = { canonicalName = "Akpes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ibg"] = { canonicalName = "Ibanag", type = "regular", scripts = {"None"}, family = "phi", } m["ibl"] = { canonicalName = "Ibaloi", type = "regular", scripts = {"None"}, family = "phi", } m["ibm"] = { canonicalName = "Agoi", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ibn"] = { canonicalName = "Ibino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ibr"] = { canonicalName = "Ibuoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ibu"] = { canonicalName = "Ibu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iby"] = { canonicalName = "Ibani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ica"] = { canonicalName = "Ede Ica", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ich"] = { canonicalName = "Etkywan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["icl"] = { canonicalName = "Icelandic Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["icr"] = { canonicalName = "Islander Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ida"] = { canonicalName = "Idakho-Isukha-Tiriki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["idb"] = { canonicalName = "Indo-Portuguese", type = "regular", scripts = {"Latn"}, family = "crp", } m["idc"] = { canonicalName = "Idon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["idd"] = { canonicalName = "Ede Idaca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ide"] = { canonicalName = "Idere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["idi"] = { canonicalName = "Idi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["idr"] = { canonicalName = "Indri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ids"] = { canonicalName = "Idesa", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["idt"] = { canonicalName = "Idaté", type = "regular", scripts = {"None"}, family = "plf", } m["idu"] = { canonicalName = "Idoma", type = "regular", scripts = {"None"}, family = "alv", } m["ifa"] = { canonicalName = "Amganad Ifugao", otherNames = {"Amganad Ifugaw"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ifb"] = { canonicalName = "Batad Ifugao", otherNames = {"Batad Ifugaw", "Ifugaw", "Batad"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ife"] = { canonicalName = "Ifè", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iff"] = { canonicalName = "Ifo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ifk"] = { canonicalName = "Tuwali Ifugao", otherNames = {"Tuwali Ifugaw"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ifm"] = { canonicalName = "Teke-Fuumu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ifu"] = { canonicalName = "Mayoyao Ifugao", otherNames = {"Mayoyao Ifugaw"}, type = "regular", scripts = {"Latn"}, family = "phi", } m["ify"] = { canonicalName = "Keley-I Kallahan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["igb"] = { canonicalName = "Ebira", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ige"] = { canonicalName = "Igede", type = "regular", scripts = {"None"}, family = "alv", } m["igg"] = { canonicalName = "Igana", type = "regular", scripts = {"None"}, family = "paa", } m["igl"] = { canonicalName = "Igala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["igm"] = { canonicalName = "Kanggape", type = "regular", scripts = {"None"}, family = "paa", } m["ign"] = { canonicalName = "Ignaciano", type = "regular", scripts = {"None"}, family = "awd", } m["igo"] = { canonicalName = "Isebe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["igs"] = { canonicalName = "Glosa", type = "appendix-constructed", scripts = {"None"}, family = "art", } m["igw"] = { canonicalName = "Igwe", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ihb"] = { canonicalName = "Iha Based Pidgin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ihi"] = { canonicalName = "Ihievbe", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ihp"] = { canonicalName = "Iha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ijc"] = { canonicalName = "Izon", otherNames = {"Kolokuma", "Ekpetiama", "Gbanran", "Central-Western Ijo"}, type = "regular", scripts = {"Latn"}, family = "nic", } m["ije"] = { canonicalName = "Biseni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ijj"] = { canonicalName = "Ede Ije", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ijn"] = { canonicalName = "Kalabari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ijs"] = { canonicalName = "Southeast Ijo", otherNames = {"Southeastern Ijo", "Nembe"}, type = "regular", scripts = {"Latn"}, family = "nic", } m["ike"] = { canonicalName = "Eastern Canadian Inuktitut", type = "regular", scripts = {"Cans"}, family = "esx-inu", } m["iki"] = { canonicalName = "Iko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ikk"] = { canonicalName = "Ika", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ikl"] = { canonicalName = "Ikulu", otherNames = {"Kulu"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["iko"] = { canonicalName = "Olulumo-Ikom", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ikp"] = { canonicalName = "Ikpeshi", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ikr"] = { canonicalName = "Ikaranggal", otherNames = {"Ikarranggal", "Ikarranggali"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["iks"] = { canonicalName = "Inuit Sign Language", otherNames = {"Inuit Uukturausingit", "ISL", "IUR"}, type = "regular", scripts = {"None"}, family = "sgn", } m["ikt"] = { canonicalName = "Western Canadian Inuktitut", type = "regular", scripts = {"Cans"}, family = "esx-inu", } m["ikv"] = { canonicalName = "Iku-Gora-Ankwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ikw"] = { canonicalName = "Ikwere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ikx"] = { canonicalName = "Ik", type = "regular", scripts = {"Latn"}, family = "ssa", } m["ikz"] = { canonicalName = "Ikizu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ila"] = { canonicalName = "Ile Ape", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ilb"] = { canonicalName = "Ila", type = "regular", scripts = {"Latn"}, family = "bnt", } m["ilg"] = { canonicalName = "Ilgar", otherNames = {"Garig"}, type = "regular", scripts = {"Latn"}, family = "aus-wdj", } m["ili"] = { canonicalName = "Ili Turki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ilk"] = { canonicalName = "Ilongot", type = "regular", scripts = {"Latn"}, family = "phi", } m["ill"] = { canonicalName = "Iranun", type = "regular", scripts = {"Latn"}, family = "phi", } m["ilo"] = { canonicalName = "Ilocano", otherNames = {"Ilokano"}, type = "regular", scripts = {"Latn"}, family = "phi", } m["ils"] = { canonicalName = "International Sign", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ilu"] = { canonicalName = "Ili'uun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ilv"] = { canonicalName = "Ilue", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ima"] = { canonicalName = "Mala Malasar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["imi"] = { canonicalName = "Anamgura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iml"] = { canonicalName = "Miluk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["imn"] = { canonicalName = "Imonda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["imo"] = { canonicalName = "Imbongu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["imr"] = { canonicalName = "Imroing", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ims"] = { canonicalName = "Marsian", type = "regular", scripts = {"Latn"}, family = "itc", } m["imy"] = { canonicalName = "Milyan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inb"] = { canonicalName = "Inga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ing"] = { canonicalName = "Deg Xinag", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inh"] = { canonicalName = "Ingush", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "inh-translit", } m["inj"] = { canonicalName = "Jungle Inga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inl"] = { canonicalName = "Indonesian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["inm"] = { canonicalName = "Minaean", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inn"] = { canonicalName = "Isinai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ino"] = { canonicalName = "Inoke-Yate", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inp"] = { canonicalName = "Iñapari", type = "regular", scripts = {"None"}, family = "awd", } m["ins"] = { canonicalName = "Indian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["int"] = { canonicalName = "Intha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["inz"] = { canonicalName = "Ineseño", type = "regular", scripts = {"Latn"}, family = "nai-chu", } m["ior"] = { canonicalName = "Inor", type = "regular", scripts = {"Ethi"}, family = "sem-eth", } m["iou"] = { canonicalName = "Tuma-Irumu", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["iow"] = { canonicalName = "Chiwere", type = "regular", scripts = {"None"}, family = "sio", } m["ipi"] = { canonicalName = "Ipili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ipo"] = { canonicalName = "Ipiko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iqu"] = { canonicalName = "Iquito", type = "regular", scripts = {"None"}, family = "qfa-zap", } m["iqw"] = { canonicalName = "Ikwo", type = "regular", scripts = {"None"}, family = "alv-von", } m["ire"] = { canonicalName = "Iresim", type = "regular", scripts = {"None"}, family = "poz-hce", } m["irh"] = { canonicalName = "Irarutu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iri"] = { canonicalName = "Irigwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["irk"] = { canonicalName = "Iraqw", type = "regular", scripts = {"None"}, family = "cus", } m["irn"] = { canonicalName = "Irántxe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["irr"] = { canonicalName = "Ir", type = "regular", scripts = {"None"}, family = "mkh", } m["iru"] = { canonicalName = "Irula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["irx"] = { canonicalName = "Kamberau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iry"] = { canonicalName = "Iraya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["isa"] = { canonicalName = "Isabi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["isc"] = { canonicalName = "Isconahua", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["isd"] = { canonicalName = "Isnag", type = "regular", scripts = {"Latn"}, family = "phi", } m["ise"] = { canonicalName = "Italian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["isg"] = { canonicalName = "Irish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ish"] = { canonicalName = "Esan", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["isi"] = { canonicalName = "Nkem-Nkum", type = "regular", scripts = {"None"}, family = "nic-bod", } m["isk"] = { canonicalName = "Ishkashimi", type = "regular", scripts = {"None"}, family = "ira", } m["ism"] = { canonicalName = "Masimasi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["isn"] = { canonicalName = "Isanzu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iso"] = { canonicalName = "Isoko", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["isr"] = { canonicalName = "Israeli Sign Language", type = "regular", scripts = {"Sgnw"}, family = "sgn", } m["ist"] = { canonicalName = "Istriot", type = "regular", scripts = {"Latn"}, family = "roa", } m["isu"] = { canonicalName = "Isu", otherNames = {"Isu (Menchum Division)"}, type = "regular", scripts = {"Latn"}, family = "nic-grf", } m["itb"] = { canonicalName = "Binongan Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ite"] = { canonicalName = "Itene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iti"] = { canonicalName = "Inlaod Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itk"] = { canonicalName = "Judeo-Italian", type = "regular", scripts = {"Hebr"}, family = "roa", } m["itl"] = { canonicalName = "Itelmen", otherNames = {"Western Itelmen", "Kamchadal"}, type = "regular", scripts = {"Cyrl", "Latn"}, family = "qfa-cka", } m["itm"] = { canonicalName = "Itu Mbon Uzo", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["ito"] = { canonicalName = "Itonama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itr"] = { canonicalName = "Iteri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["its"] = { canonicalName = "Isekiri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itt"] = { canonicalName = "Maeng Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itv"] = { canonicalName = "Itawit", type = "regular", scripts = {"Latn"}, family = "phi", } m["itw"] = { canonicalName = "Ito", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itx"] = { canonicalName = "Itik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ity"] = { canonicalName = "Moyadan Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["itz"] = { canonicalName = "Itzá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ium"] = { canonicalName = "Iu Mien", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ivb"] = { canonicalName = "Ibatan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ivv"] = { canonicalName = "Ivatan", type = "regular", scripts = {"Latn"}, family = "phi", } m["iwk"] = { canonicalName = "I-Wak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iwm"] = { canonicalName = "Iwam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iwo"] = { canonicalName = "Iwur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iws"] = { canonicalName = "Sepik Iwam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ixc"] = { canonicalName = "Ixcatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ixl"] = { canonicalName = "Ixil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["iya"] = { canonicalName = "Iyayu", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["iyo"] = { canonicalName = "Mesaka", type = "regular", scripts = {"None"}, family = "nic-bod", } m["iyx"] = { canonicalName = "Yaa", otherNames = {"Yaka (Republic of Congo)", "Yaka"}, -- a dialect of West Teke; distinguish from 'axk' and especially 'yaf' type = "regular", scripts = {"None"}, family = "bnt", } m["izh"] = { canonicalName = "Ingrian", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["izi"] = { canonicalName = "Izi-Ezaa-Ikwo-Mgbo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["izr"] = { canonicalName = "Izere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["izz"] = { canonicalName = "Izi", otherNames = {"Izii", "Izzi"}, type = "regular", scripts = {"None"}, family = "alv-von", } return m 0vxw2i42ob20tclqcqu8qr66xo3a07g Module:languages/data3/j 828 4702 13348 2015-06-01T00:10:29Z Dalmo Pereira 1417 Bog cusub: 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... 13348 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 m = {} m["jaa"] = { canonicalName = "Jamamadí", otherNames = {"Jamamadi", "Madi", "Jarawara", "Jarauára", "Jaruára", "Jarauara", "Jaruara"}, type = "regular", scripts = {"None"}, family = "auf", } m["jab"] = { canonicalName = "Hyam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jac"] = { canonicalName = "Jakaltek", otherNames = {"Jacalteco", "Jakalteko", "Popti'", "Popti", "Eastern Jacalteco", "Western Jacalteco"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["jad"] = { canonicalName = "Jahanka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jae"] = { canonicalName = "Jabem", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["jaf"] = { canonicalName = "Jara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jah"] = { canonicalName = "Jah Hut", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jaj"] = { canonicalName = "Zazao", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["jak"] = { canonicalName = "Jakun", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["jal"] = { canonicalName = "Yalahatan", otherNames = {"Horuru", "Atamanu"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["jam"] = { canonicalName = "Jamaican Creole", otherNames = {"Jamaican", "Jamaican Patois", "Patois", "Patwa"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["jao"] = { canonicalName = "Yanyuwa", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["jaq"] = { canonicalName = "Yaqay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jas"] = { canonicalName = "New Caledonian Javanese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jat"] = { canonicalName = "Jakati", type = "regular", scripts = {"None"}, family = "inc", } m["jau"] = { canonicalName = "Yaur", type = "regular", scripts = {"None"}, family = "poz-hce", } m["jax"] = { canonicalName = "Jambi Malay", type = "regular", scripts = {"None"}, family = "poz-mly", } m["jay"] = { canonicalName = "Yan-nhangu", type = "regular", scripts = {"None"}, family = "aus-yol", } m["jaz"] = { canonicalName = "Jawe", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["jbe"] = { canonicalName = "Judeo-Berber", type = "regular", scripts = {"Hebr"}, family = "ber", } m["jbj"] = { canonicalName = "Arandai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jbn"] = { canonicalName = "Nefusa", otherNames = {"Nefusi", "Nafusa", "Nafusi"}, type = "regular", scripts = {"None"}, family = "ber", } m["jbo"] = { canonicalName = "Lojban", type = "regular", scripts = {"Latn"}, family = "art", } m["jbr"] = { canonicalName = "Jofotek-Bromnya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jbt"] = { canonicalName = "Jabutí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jbu"] = { canonicalName = "Jukun Takum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jcs"] = { canonicalName = "Jamaican Country Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["jct"] = { canonicalName = "Krymchak", type = "regular", scripts = {"Latn", "Cyrl"}, family = "trk", } m["jda"] = { canonicalName = "Jad", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jdg"] = { canonicalName = "Jadgali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jdt"] = { canonicalName = "Judeo-Tat", type = "regular", scripts = {"Latn", "Cyrl", "Hebr"}, family = "ira", } m["jeb"] = { canonicalName = "Jebero", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jee"] = { canonicalName = "Jerung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jeg"] = { canonicalName = "Jeng", otherNames = {"Cheng"}, type = "regular", scripts = {"None"}, family = "aav-ban", } m["jeh"] = { canonicalName = "Jeh", type = "regular", scripts = {"None"}, family = "mkh", } m["jei"] = { canonicalName = "Yei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jek"] = { canonicalName = "Jeri Kuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jel"] = { canonicalName = "Yelmek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jen"] = { canonicalName = "Dza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jer"] = { canonicalName = "Jere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jet"] = { canonicalName = "Manem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jeu"] = { canonicalName = "Jonkor Bourmataguil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jgb"] = { canonicalName = "Ngbee", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jge"] = { canonicalName = "Judeo-Georgian", type = "regular", scripts = {"None"}, family = "ccs", } m["jgo"] = { canonicalName = "Ngomba", type = "regular", scripts = {"None"}, family = "bai", } m["jhi"] = { canonicalName = "Jehai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jhs"] = { canonicalName = "Jhankot Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["jia"] = { canonicalName = "Jina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jib"] = { canonicalName = "Jibu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jic"] = { canonicalName = "Tol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jid"] = { canonicalName = "Bu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jie"] = { canonicalName = "Jilbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jig"] = { canonicalName = "Jingulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jih"] = { canonicalName = "Shangzhai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jii"] = { canonicalName = "Jiiddu", type = "regular", scripts = {"None"}, family = "cus", } m["jil"] = { canonicalName = "Jilim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jim"] = { canonicalName = "Jimjimen", otherNames = {"Jimi", "Jimi (Cameroon)"}, type = "regular", scripts = {"Latn"}, family = "cdc-cbm", } m["jio"] = { canonicalName = "Jiamao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jiq"] = { canonicalName = "Guanyinqiao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jit"] = { canonicalName = "Jita", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jiu"] = { canonicalName = "Youle Jinuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jiv"] = { canonicalName = "Shuar", type = "regular", scripts = {"Latn"}, family = "qfa-jiv", } m["jiy"] = { canonicalName = "Buyuan Jinuo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jje"] = { canonicalName = "Jeju", otherNames = {"Cheju", "Jejueo"}, type = "regular", scripts = {"Kore"}, family = "qfa-kor", translit_module = "ko-translit", } m["jko"] = { canonicalName = "Kubo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jkr"] = { canonicalName = "Koro (India)", otherNames = {"Koro"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["jku"] = { canonicalName = "Labir", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jle"] = { canonicalName = "Ngile", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jls"] = { canonicalName = "Jamaican Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["jma"] = { canonicalName = "Dima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmb"] = { canonicalName = "Zumbun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmc"] = { canonicalName = "Machame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmd"] = { canonicalName = "Yamdena", type = "regular", scripts = {"Latn"}, family = "plf", } m["jmi"] = { canonicalName = "Jimi", otherNames = {"Jimi (Nigeria)"}, type = "regular", scripts = {"Latn"}, family = "cdc-wst", } m["jml"] = { canonicalName = "Jumli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmn"] = { canonicalName = "Makuri Naga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmr"] = { canonicalName = "Kamara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jmx"] = { canonicalName = "Western Juxtlahuaca Mixtec", type = "regular", scripts = {"None"}, family = "omq-mix", } m["jna"] = { canonicalName = "Jangshung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jnd"] = { canonicalName = "Jandavra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jng"] = { canonicalName = "Yangman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jni"] = { canonicalName = "Janji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jnj"] = { canonicalName = "Yemsa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jnl"] = { canonicalName = "Rawat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jns"] = { canonicalName = "Jaunsari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["job"] = { canonicalName = "Joba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jod"] = { canonicalName = "Wojenaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jor"] = { canonicalName = "Jorá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jos"] = { canonicalName = "Jordanian Sign Language", type = "regular", scripts = {"Sgnw"}, family = "sgn", } m["jow"] = { canonicalName = "Jowulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jpr"] = { canonicalName = "Judeo-Persian", type = "regular", scripts = {"Hebr"}, family = "ira", } m["jqr"] = { canonicalName = "Jaqaru", type = "regular", scripts = {"None"}, family = "sai-aym", } m["jra"] = { canonicalName = "Jarai", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["jrb"] = { canonicalName = "Judeo-Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["jrr"] = { canonicalName = "Jiru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jrt"] = { canonicalName = "Jorto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jru"] = { canonicalName = "Japrería", type = "regular", scripts = {"None"}, family = "sai-car", } m["jsl"] = { canonicalName = "Japanese Sign Language", type = "regular", scripts = {"None"}, family = "sgn-jsl", } m["jua"] = { canonicalName = "Júma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jub"] = { canonicalName = "Wannu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juc"] = { canonicalName = "Jurchen", type = "regular", scripts = {"Jurc"}, family = "tuw", } m["jud"] = { canonicalName = "Worodougou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juh"] = { canonicalName = "Hõne", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juk"] = { canonicalName = "Wapan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jul"] = { canonicalName = "Jirel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jum"] = { canonicalName = "Jumjum", type = "regular", scripts = {"None"}, family = "sdv", } m["jun"] = { canonicalName = "Juang", type = "regular", scripts = {"None"}, family = "mun", } m["juo"] = { canonicalName = "Jiba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jup"] = { canonicalName = "Hupdë", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jur"] = { canonicalName = "Jurúna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jus"] = { canonicalName = "Jumla Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["jut"] = { canonicalName = "Jutish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juu"] = { canonicalName = "Ju", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juw"] = { canonicalName = "Wãpha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["juy"] = { canonicalName = "Juray", type = "regular", scripts = {"None"}, family = "mun", } m["jvd"] = { canonicalName = "Javindo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jvn"] = { canonicalName = "Caribbean Javanese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jwi"] = { canonicalName = "Jwira-Pepesa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jya"] = { canonicalName = "Jiarong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["jye"] = { canonicalName = "Judeo-Yemeni Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["jyy"] = { canonicalName = "Jaya", type = "regular", scripts = {"None"}, family = "qfa-und", } return m 5wp7e65phjjwsp34jmo041x2bsbjsvt Module:languages/data3/h 828 4703 13349 2015-06-01T00:18:36Z Dalmo Pereira 1417 Bog cusub: 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... 13349 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 m = {} m["haa"] = { canonicalName = "Han", otherNames = {"Hän"}, type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["hab"] = { canonicalName = "Hanoi Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hac"] = { canonicalName = "Gurani", type = "regular", scripts = {"Arab"}, family = "ira", } m["had"] = { canonicalName = "Hatam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["haf"] = { canonicalName = "Haiphong Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hag"] = { canonicalName = "Hanga", type = "regular", scripts = {"None"}, family = "nic-gur", } m["hah"] = { canonicalName = "Hahon", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hai"] = { canonicalName = "Haida", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["haj"] = { canonicalName = "Hajong", type = "regular", scripts = {"Beng"}, family = "qfa-und", -- WP says: it was 'tbq' but due to mixing it is now basically 'inc' } m["hak"] = { canonicalName = "Hakka", type = "regular", scripts = {"Hani"}, family = "zhx", } m["hal"] = { canonicalName = "Halang", type = "regular", scripts = {"None"}, family = "mkh", } m["ham"] = { canonicalName = "Hewa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["han"] = { canonicalName = "Hangaza", type = "regular", scripts = {"Latn"}, family = "bnt", } m["hao"] = { canonicalName = "Hakö", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hap"] = { canonicalName = "Hupla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["haq"] = { canonicalName = "Ha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["har"] = { canonicalName = "Harari", type = "regular", scripts = {"Ethi"}, family = "sem-eth", } m["has"] = { canonicalName = "Haisla", type = "regular", scripts = {"None"}, family = "wak", } m["hav"] = { canonicalName = "Havu", type = "regular", scripts = {"None"}, family = "bnt", } m["haw"] = { canonicalName = "Hawaii", type = "regular", scripts = {"Latn"}, family = "poz-pol", sort_key = { from = {"ā", "ē", "ī", "ō", "ū" }, to = {"a", "e", "i", "o", "u" }} , } m["hax"] = { canonicalName = "Southern Haida", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hay"] = { canonicalName = "Haya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["haz"] = { canonicalName = "Hazaragi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hba"] = { canonicalName = "Hamba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hbb"] = { canonicalName = "Huba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hbn"] = { canonicalName = "Heiban", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hbu"] = { canonicalName = "Habu", type = "regular", scripts = {"None"}, family = "plf", } m["hca"] = { canonicalName = "Andaman Creole Hindi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hch"] = { canonicalName = "Huichol", type = "regular", scripts = {"Latn"}, family = "azc", } m["hdn"] = { canonicalName = "Northern Haida", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hds"] = { canonicalName = "Honduras Sign Language", otherNames = {"Honduran Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["hdy"] = { canonicalName = "Hadiyya", type = "regular", scripts = {"None"}, family = "cus", } m["hea"] = { canonicalName = "Northern Qiandong Miao", otherNames = {"Black Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hed"] = { canonicalName = "Herdé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["heg"] = { canonicalName = "Helong", type = "regular", scripts = {"None"}, family = "plf", } m["heh"] = { canonicalName = "Hehe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hei"] = { canonicalName = "Heiltsuk", type = "regular", scripts = {"None"}, family = "wak", } m["hem"] = { canonicalName = "Hemba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hgm"] = { canonicalName = "Haiǁom", type = "regular", scripts = {"None"}, family = "khi", } m["hgw"] = { canonicalName = "Haigwai", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hhi"] = { canonicalName = "Hoia Hoia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hhr"] = { canonicalName = "Kerak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hhy"] = { canonicalName = "Hoyahoya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hia"] = { canonicalName = "Lamang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hib"] = { canonicalName = "Hibito", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hid"] = { canonicalName = "Hidatsa", type = "regular", scripts = {"None"}, family = "sio", } m["hif"] = { canonicalName = "Fiji Hindi", type = "regular", scripts = {"Latn"}, family = "inc", } m["hig"] = { canonicalName = "Kamwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hih"] = { canonicalName = "Pamosu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hii"] = { canonicalName = "Hinduri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hij"] = { canonicalName = "Hijuk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hik"] = { canonicalName = "Seit-Kaitetu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hil"] = { canonicalName = "Hiligaynon", type = "regular", scripts = {"Latn"}, family = "phi", entry_name = { from = {"Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", MACRON}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["hio"] = { canonicalName = "Tsoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hir"] = { canonicalName = "Himarimã", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hit"] = { canonicalName = "Hittite", type = "regular", scripts = {"Xsux"}, family = "ine-ana", } m["hiw"] = { canonicalName = "Hiw", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["hix"] = { canonicalName = "Hixkaryana", otherNames = {"Hixkaryána"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["hji"] = { canonicalName = "Haji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hka"] = { canonicalName = "Kahe", type = "regular", scripts = {"None"}, family = "bnt", } m["hke"] = { canonicalName = "Hunde", type = "regular", scripts = {"None"}, family = "bnt", } m["hkk"] = { canonicalName = "Hunjara-Kaina Ke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hks"] = { canonicalName = "Hong Kong Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hla"] = { canonicalName = "Halia", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hlb"] = { canonicalName = "Halbi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hld"] = { canonicalName = "Halang Doan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hle"] = { canonicalName = "Hlersu", otherNames = {"Sansu"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["hlt"] = { canonicalName = "Nga La", otherNames = {"Matu Chin", "Matu"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["hma"] = { canonicalName = "Southern Mashan Hmong", otherNames = {"Southern Mashan Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmb"] = { canonicalName = "Humburi Senni Songhay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hmc"] = { canonicalName = "Central Huishui Hmong", otherNames = {"Central Huishui Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmd"] = { canonicalName = "A-Hmao", otherNames = {"A Hmao", "Big Flowery Miao", "Large Flowery Miao"}, type = "regular", scripts = {"Latn", "Plrd"}, family = "hmn", } m["hme"] = { canonicalName = "Eastern Huishui Hmong", otherNames = {"Eastern Huishui Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmf"] = { canonicalName = "Hmong Don", type = "regular", scripts = {"None"}, family = "hmn", } m["hmg"] = { canonicalName = "Southwestern Guiyang Hmong", type = "regular", scripts = {"None"}, family = "hmn", } m["hmh"] = { canonicalName = "Southwestern Huishui Hmong", otherNames = {"Southwestern Huishui Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmi"] = { canonicalName = "Northern Huishui Hmong", otherNames = {"Northern Huishui Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmj"] = { canonicalName = "Ge", otherNames = {"Gedou Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmk"] = { canonicalName = "Maek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hml"] = { canonicalName = "Luopohe Hmong", type = "regular", scripts = {"None"}, family = "hmn", } m["hmm"] = { canonicalName = "Central Mashan Hmong", otherNames = {"Central Mashan Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmp"] = { canonicalName = "Northern Mashan Hmong", otherNames = {"Northern Mashan Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmq"] = { canonicalName = "Eastern Qiandong Miao", otherNames = {"Black Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmr"] = { canonicalName = "Hmar", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["hms"] = { canonicalName = "Southern Qiandong Miao", otherNames = {"Black Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmt"] = { canonicalName = "Hamtai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hmu"] = { canonicalName = "Hamap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hmv"] = { canonicalName = "Hmong Dô", otherNames = {"Hmong Do"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmw"] = { canonicalName = "Western Mashan Hmong", otherNames = {"Western Mashan Miao"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hmy"] = { canonicalName = "Southern Guiyang Hmong", type = "regular", scripts = {"None"}, family = "hmn", } m["hmz"] = { canonicalName = "Hmong Shua", otherNames = {"Hmong Sua"}, type = "regular", scripts = {"None"}, family = "hmn", } m["hnd"] = { canonicalName = "Southern Hindko", type = "regular", scripts = {"None"}, family = "inc", } m["hne"] = { canonicalName = "Chhattisgarhi", type = "regular", scripts = {"Deva"}, family = "inc", } m["hnh"] = { canonicalName = "ǁAni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hni"] = { canonicalName = "Hani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hnj"] = { canonicalName = "Green Hmong", otherNames = {"Hmong Njua", "Hmong Leng", "Mong Leng", "Green Miao", "Blue Hmong"}, type = "regular", scripts = {"Latn", "Hmng"}, family = "hmn", } m["hnn"] = { canonicalName = "Hanunoo", type = "regular", scripts = {"Hano"}, family = "phi", } m["hno"] = { canonicalName = "Northern Hindko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hns"] = { canonicalName = "Caribbean Hindustani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hnu"] = { canonicalName = "Hung", type = "regular", scripts = {"None"}, family = "mkh-vie", } m["hoa"] = { canonicalName = "Hoava", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hob"] = { canonicalName = "Austronesian Mari", otherNames = {"Mari (Madang Province)", "Hop"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hoc"] = { canonicalName = "Ho", type = "regular", scripts = {"None"}, family = "mun", } m["hod"] = { canonicalName = "Holma", type = "regular", scripts = {"None"}, family = "cdc", } m["hoe"] = { canonicalName = "Horom", type = "regular", scripts = {"None"}, family = "nic-bco", } m["hoh"] = { canonicalName = "Hobyót", type = "regular", scripts = {"None"}, family = "sem-sar", } m["hoi"] = { canonicalName = "Holikachuk", type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["hoj"] = { canonicalName = "Hadothi", otherNames = {"Harauti"}, type = "regular", scripts = {"None"}, family = "inc", } m["hol"] = { canonicalName = "Holu", type = "regular", scripts = {"None"}, family = "bnt", } m["hom"] = { canonicalName = "Homa", type = "regular", scripts = {"None"}, family = "bnt", } m["hoo"] = { canonicalName = "Holoholo", type = "regular", scripts = {"None"}, family = "bnt", } m["hop"] = { canonicalName = "Hopi", otherNames = {"Moqui"}, type = "regular", scripts = {"Latn"}, family = "azc", } m["hor"] = { canonicalName = "Horo", type = "regular", scripts = {"None"}, family = "csu", } m["hos"] = { canonicalName = "Ho Chi Minh City Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hot"] = { canonicalName = "Hote", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["hov"] = { canonicalName = "Hovongan", type = "regular", scripts = {"None"}, family = "poz", } m["how"] = { canonicalName = "Honi", type = "regular", scripts = {"None"}, family = "tbq", } m["hoy"] = { canonicalName = "Holiya", type = "regular", scripts = {"None"}, family = "dra", } m["hoz"] = { canonicalName = "Hozo", type = "regular", scripts = {"None"}, family = "omv", } m["hpo"] = { canonicalName = "Hpon", type = "regular", scripts = {"None"}, family = "tbq", } m["hps"] = { canonicalName = "Hawai'i Pidgin Sign Language", otherNames = {"Hawaiian Sign Language", "Hula", "Hawaii Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["hra"] = { canonicalName = "Hrangkhol", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["hrc"] = { canonicalName = "Niwer Mil", otherNames = {"Tangga"}, -- the dialect of the Tangga macrolanguage spoken on Tangga island type = "regular", scripts = {"None"}, family = "poz-oce", } m["hre"] = { canonicalName = "Hre", otherNames = {"Hrê"}, type = "regular", scripts = {"None"}, family = "aav-nbn", } m["hrk"] = { canonicalName = "Haruku", type = "regular", scripts = {"None"}, family = "plf", } m["hrm"] = { canonicalName = "Horned Miao", type = "regular", scripts = {"None"}, family = "hmn", } m["hro"] = { canonicalName = "Haroi", type = "regular", scripts = {"Latn"}, family = "cmc", } m["hrp"] = { canonicalName = "Nhirrpi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hrt"] = { canonicalName = "Hértevin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hru"] = { canonicalName = "Hruso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hrw"] = { canonicalName = "Warwar Feni", otherNames = {"Feni"}, type = "regular", scripts = {"Latn"}, family = "poz-oce", } m["hrx"] = { canonicalName = "Hunsrik", type = "regular", scripts = {"Latn"}, family = "gmw", } m["hrz"] = { canonicalName = "Harzani", otherNames = {"Harzandi"}, type = "regular", scripts = {"None"}, family = "ira", } m["hsb"] = { canonicalName = "Upper Sorbian", otherNames = {"Upper Lusatian", "Upper Wendish"}, type = "regular", scripts = {"Latn"}, family = "wen", ancestors = {"sla-pro"}, } m["hsh"] = { canonicalName = "Hungarian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hsl"] = { canonicalName = "Hausa Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["hsn"] = { canonicalName = "Xiang", type = "regular", scripts = {"Hani"}, family = "zhx", } m["hss"] = { canonicalName = "Harsusi", type = "regular", scripts = {"None"}, family = "sem-sar", } m["hti"] = { canonicalName = "Hoti", type = "regular", scripts = {"None"}, family = "plf", } m["hto"] = { canonicalName = "Minica Huitoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hts"] = { canonicalName = "Hadza", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["htu"] = { canonicalName = "Hitu", type = "regular", scripts = {"None"}, family = "plf", } m["htx"] = { canonicalName = "Middle Hittite", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hub"] = { canonicalName = "Huambisa", otherNames = {"Huambiza", "Wambisa"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["huc"] = { canonicalName = "ǂHoan", otherNames = {"ǂ’Amkoe", "ǂHȍã", "ǂHȍȁn"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["hud"] = { canonicalName = "Huaulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huf"] = { canonicalName = "Humene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hug"] = { canonicalName = "Huachipaeri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huh"] = { canonicalName = "Huilliche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hui"] = { canonicalName = "Huli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huj"] = { canonicalName = "Northern Guiyang Hmong", type = "regular", scripts = {"None"}, family = "hmn", } m["huk"] = { canonicalName = "Hulung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hul"] = { canonicalName = "Hula", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["hum"] = { canonicalName = "Hungana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huo"] = { canonicalName = "Hu", type = "regular", scripts = {"None"}, family = "aav", } m["hup"] = { canonicalName = "Hupa", type = "regular", scripts = {"None"}, family = "ath-pco", } m["huq"] = { canonicalName = "Tsat", otherNames = {"Hainan Cham", "Hui", "Huihui", "Sanya Hui", "Utsat", "Utset"}, type = "regular", scripts = {"None"}, family = "cmc", } m["hur"] = { canonicalName = "Halkomelem", type = "regular", scripts = {"Latn"}, family = "sal", } m["hus"] = { canonicalName = "Wastek", type = "regular", scripts = {"Latn"}, family = "myn", } m["hut"] = { canonicalName = "Humla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huu"] = { canonicalName = "Murui Huitoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huv"] = { canonicalName = "Huave", otherNames = {"San Mateo del Mar Huave", "San Dionisio del Mar Huave", "Santa María del Mar Huave", "San Francisco del Mar Huave"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["huw"] = { canonicalName = "Hukumina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hux"] = { canonicalName = "Nüpode Huitoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huy"] = { canonicalName = "Hulaulá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["huz"] = { canonicalName = "Hunzib", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["hvc"] = { canonicalName = "Haitian Vodoun Culture Language", otherNames = {"Langaj", "Langay"}, type = "regular", scripts = {"Latn"}, family = "crp", } m["hvk"] = { canonicalName = "Haveke", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["hvn"] = { canonicalName = "Sabu", type = "regular", scripts = {"Latn"}, family = "plf", } m["hwa"] = { canonicalName = "Wané", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hwo"] = { canonicalName = "Hwana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["hya"] = { canonicalName = "Hya", type = "regular", scripts = {"None"}, family = "qfa-und", } return m pwhv6qjomnzcwz14div8skf0jha6ak8 Module:languages/data3/g 828 4704 13350 2015-06-01T00:20:16Z Dalmo Pereira 1417 Bog cusub: 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... 13350 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 m = {} m["gaa"] = { canonicalName = "Ga", type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["gab"] = { canonicalName = "Gabri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gad"] = { canonicalName = "Gaddang", type = "regular", scripts = {"None"}, family = "phi", } m["gae"] = { canonicalName = "Warekena", type = "regular", scripts = {"None"}, family = "awd", } m["gaf"] = { canonicalName = "Gende", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gag"] = { canonicalName = "Gagauz", type = "regular", scripts = {"Latn", "Cyrl"}, family = "trk", } m["gah"] = { canonicalName = "Alekano", otherNames = {"Gahuku"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["gai"] = { canonicalName = "Borei", type = "regular", scripts = {"None"}, family = "paa", } m["gaj"] = { canonicalName = "Gadsup", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gak"] = { canonicalName = "Gamkonora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gal"] = { canonicalName = "Galoli", otherNames = {"Galolen", "Talur"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["gam"] = { canonicalName = "Kandawo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gan"] = { canonicalName = "Gan", type = "regular", scripts = {"Hani"}, family = "zhx", } m["gao"] = { canonicalName = "Gants", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gap"] = { canonicalName = "Gal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gaq"] = { canonicalName = "Gata'", type = "regular", scripts = {"None"}, family = "mun", } m["gar"] = { canonicalName = "Galeya", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gas"] = { canonicalName = "Adiwasi Garasia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gat"] = { canonicalName = "Kenati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gau"] = { canonicalName = "Mudhili Gadaba", type = "regular", scripts = {"None"}, family = "dra", } m["gaw"] = { canonicalName = "Nobonob", type = "regular", scripts = {"None"}, family = "paa", } m["gay"] = { canonicalName = "Gayo", type = "regular", scripts = {"Latn"}, family = "poz-nws", } m["gba"] = { canonicalName = "Gbaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbb"] = { canonicalName = "Kaytetye", type = "regular", scripts = {"Latn"}, family = "aus-rnd", } m["gbd"] = { canonicalName = "Karadjeri", otherNames = {"Garadjari", "Karajarri"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["gbe"] = { canonicalName = "Niksek", type = "regular", scripts = {"None"}, family = "paa", } m["gbf"] = { canonicalName = "Gaikundi", type = "regular", scripts = {"None"}, family = "paa", } m["gbg"] = { canonicalName = "Gbanziri", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["gbh"] = { canonicalName = "Defi Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbi"] = { canonicalName = "Galela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbj"] = { canonicalName = "Bodo Gadaba", type = "regular", scripts = {"None"}, family = "mun", } m["gbk"] = { canonicalName = "Gaddi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbl"] = { canonicalName = "Gamit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbm"] = { canonicalName = "Garhwali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbn"] = { canonicalName = "Mo'da", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbo"] = { canonicalName = "Northern Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbp"] = { canonicalName = "Gbaya-Bossangoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbq"] = { canonicalName = "Gbaya-Bozoum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbr"] = { canonicalName = "Gbagyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbs"] = { canonicalName = "Gbesi Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbu"] = { canonicalName = "Gagadu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbv"] = { canonicalName = "Gbanu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbw"] = { canonicalName = "Gabi", otherNames = {"Gabi-Gabi", "Gabi Gabi", "Gubbi-Gubbi", "Gubbi Gubbi"}, -- contrast xby type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["gbx"] = { canonicalName = "Eastern Xwla Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gby"] = { canonicalName = "Gbari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gbz"] = { canonicalName = "Zoroastrian Dari", type = "regular", scripts = {"None"}, family = "ira", } m["gcc"] = { canonicalName = "Mali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gcd"] = { canonicalName = "Ganggalida", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gce"] = { canonicalName = "Galice", type = "regular", scripts = {"None"}, family = "ath-pco", } m["gcf"] = { canonicalName = "Antillean Creole", otherNames = {"Antillean Creole French", "Guadeloupean Creole", "Guadeloupean Creole French", "Saint Lucian Creole", "Saint Lucian Creole French"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"fr"}, } m["gcl"] = { canonicalName = "Grenadian Creole English", type = "regular", scripts = {"None"}, family = "crp", } m["gcn"] = { canonicalName = "Gaina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gcr"] = { canonicalName = "Guianese Creole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gct"] = { canonicalName = "Colonia Tovar German", type = "regular", scripts = {"Latn"}, family = "gmw", } m["gda"] = { canonicalName = "Gade Lohar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdb"] = { canonicalName = "Pottangi Ollar Gadaba", type = "regular", scripts = {"None"}, family = "dra", } m["gdc"] = { canonicalName = "Gugu Badhun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdd"] = { canonicalName = "Gedaged", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gde"] = { canonicalName = "Gude", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdf"] = { canonicalName = "Guduf-Gava", type = "regular", scripts = {"None"}, family = "cdc-cbm", } m["gdg"] = { canonicalName = "Ga'dang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdh"] = { canonicalName = "Gadjerawang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdi"] = { canonicalName = "Gundi", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["gdj"] = { canonicalName = "Kurtjar", otherNames = {"Gurdjar"}, type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["gdk"] = { canonicalName = "Gadang", type = "regular", scripts = {"None"}, family = "cdc-est", } m["gdl"] = { canonicalName = "Dirasha", type = "regular", scripts = {"None"}, family = "cus", } m["gdm"] = { canonicalName = "Laal", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["gdn"] = { canonicalName = "Umanakaina", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdo"] = { canonicalName = "Godoberi", otherNames = {"Ghodoberi"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["gdq"] = { canonicalName = "Mehri", otherNames = {"Mahri"}, type = "regular", scripts = {"Arab"}, family = "sem-sar", } m["gdr"] = { canonicalName = "Wipi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gds"] = { canonicalName = "Ghandruk Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["gdt"] = { canonicalName = "Kungardutyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdu"] = { canonicalName = "Gudu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gdx"] = { canonicalName = "Godwari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gea"] = { canonicalName = "Geruma", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["geb"] = { canonicalName = "Kire", type = "regular", scripts = {"None"}, family = "paa", } m["gec"] = { canonicalName = "Gboloo Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ged"] = { canonicalName = "Gade", type = "regular", scripts = {"None"}, family = "qfa-und", } m["geg"] = { canonicalName = "Gengle", type = "regular", scripts = {"None"}, family = "qfa-und", } m["geh"] = { canonicalName = "Hutterisch", otherNames = {"Hutterite German"}, type = "regular", scripts = {"Latn"}, family = "gmw", } m["gei"] = { canonicalName = "Gebe", type = "regular", scripts = {"None"}, family = "poz-hce", } m["gej"] = { canonicalName = "Gen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gek"] = { canonicalName = "Gerka", otherNames = {"Yiwom"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["gel"] = { canonicalName = "Fakkanci", type = "regular", scripts = {"None"}, family = "nic-knj", } m["geq"] = { canonicalName = "Geme", type = "regular", scripts = {"None"}, family = "znd", } m["ges"] = { canonicalName = "Geser-Gorom", type = "regular", scripts = {"None"}, family = "plf", } m["gev"] = { canonicalName = "Viya", otherNames = {"Eviya"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["gew"] = { canonicalName = "Gera", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["gex"] = { canonicalName = "Garre", type = "regular", scripts = {"None"}, family = "cus", } m["gey"] = { canonicalName = "Enya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gez"] = { canonicalName = "Ge'ez", otherNames = {"Ethiopic", "Gi'iz"}, type = "regular", scripts = {"Ethi"}, family = "sem-eth", translit_module = "Ethi-translit", } m["gfk"] = { canonicalName = "Patpatar", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["gft"] = { canonicalName = "Gafat", type = "regular", scripts = {"None"}, family = "sem-eth", } m["gga"] = { canonicalName = "Gao", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ggb"] = { canonicalName = "Gbii", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ggd"] = { canonicalName = "Gugadj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gge"] = { canonicalName = "Guragone", type = "regular", scripts = {"None"}, family = "aus-arn", } m["ggg"] = { canonicalName = "Gurgula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ggk"] = { canonicalName = "Kungarakany", type = "regular", scripts = {"None"}, family = "aus-arn", } m["ggl"] = { canonicalName = "Ganglau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ggn"] = { canonicalName = "Eastern Gurung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ggo"] = { canonicalName = "Southern Gondi", type = "regular", scripts = {"None"}, family = "dra", } m["ggt"] = { canonicalName = "Gitua", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ggu"] = { canonicalName = "Gban", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ggw"] = { canonicalName = "Gogodala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gha"] = { canonicalName = "Ghadames", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghe"] = { canonicalName = "Southern Ghale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghh"] = { canonicalName = "Northern Ghale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghk"] = { canonicalName = "Geko Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghl"] = { canonicalName = "Ghulfan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghn"] = { canonicalName = "Ghanongga", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gho"] = { canonicalName = "Ghomara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghr"] = { canonicalName = "Ghera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ghs"] = { canonicalName = "Guhu-Samane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ght"] = { canonicalName = "Kutang Ghale", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gia"] = { canonicalName = "Kitja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gib"] = { canonicalName = "Gibanawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gic"] = { canonicalName = "Gail", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gid"] = { canonicalName = "Gidar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gig"] = { canonicalName = "Goaria", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gih"] = { canonicalName = "Githabul", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gil"] = { canonicalName = "Gilbertese", type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["gim"] = { canonicalName = "Papuan Gimi", otherNames = {"Gimi"}, type = "regular", scripts = {"None"}, family = "paa", } m["gin"] = { canonicalName = "Hinukh", type = "regular", scripts = {"None"}, family = "cau-nec", } m["gio"] = { canonicalName = "Gelao", type = "regular", scripts = {"None"}, family = "qfa-tak", } m["gip"] = { canonicalName = "Austronesian Gimi", otherNames = {"Gimi"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["giq"] = { canonicalName = "Green Gelao", type = "regular", scripts = {"None"}, family = "qfa-tak", } m["gir"] = { canonicalName = "Red Gelao", otherNames = {"Vandu"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["gis"] = { canonicalName = "North Giziga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["git"] = { canonicalName = "Gitxsan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["giw"] = { canonicalName = "White Gelao", otherNames = {"Telue"}, type = "regular", scripts = {"None"}, family = "qfa-tak", } m["gix"] = { canonicalName = "Gilima", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["giy"] = { canonicalName = "Giyug", type = "regular", scripts = {"None"}, family = "qfa-und", } m["giz"] = { canonicalName = "South Giziga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gji"] = { canonicalName = "Geji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gjk"] = { canonicalName = "Kachi Koli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gjm"] = { canonicalName = "Gunditjmara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gjn"] = { canonicalName = "Gonja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gju"] = { canonicalName = "Gojri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gka"] = { canonicalName = "Guya", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["gke"] = { canonicalName = "Ndai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gkm"] = { canonicalName = "Byzantine Greek", otherNames = {"Medieval Greek"}, type = "regular", scripts = {"polytonic"}, family = "grk", } m["gkn"] = { canonicalName = "Gokana", type = "regular", scripts = {"None"}, family = "nic-bco", } m["gko"] = { canonicalName = "Kok-Nar", type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["gkp"] = { canonicalName = "Guinea Kpelle", type = "regular", scripts = {"None"}, family = "qfa-und", } m["glc"] = { canonicalName = "Bon Gula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gld"] = { canonicalName = "Nanai", type = "regular", scripts = {"Cyrl"}, family = "tuw", } m["glh"] = { canonicalName = "Northwest Pashayi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gli"] = { canonicalName = "Guliguli", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["glj"] = { canonicalName = "Kulaal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["glk"] = { canonicalName = "Gilaki", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["glo"] = { canonicalName = "Galambu", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["glr"] = { canonicalName = "Glaro-Twabo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["glu"] = { canonicalName = "Gula", otherNames = {"Sara Gula"}, type = "regular", scripts = {"None"}, family = "csu", } m["glw"] = { canonicalName = "Glavda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gly"] = { canonicalName = "Gule", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gma"] = { canonicalName = "Gambera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmb"] = { canonicalName = "Gula'alaa", type = "regular", scripts = {"None"}, family = "poz-sls", } m["gmd"] = { canonicalName = "Mághdì", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmg"] = { canonicalName = "Magɨyi", type = "regular", scripts = {"None"}, family = "paa", } m["gmh"] = { canonicalName = "Middle High German", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"goh"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊË]", "[ēêë]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u" }} , } m["gml"] = { canonicalName = "Middle Low German", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"osx"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u"}} , } m["gmm"] = { canonicalName = "Gbaya-Mbodomo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmn"] = { canonicalName = "Gimnime", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmu"] = { canonicalName = "Gumalu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmv"] = { canonicalName = "Gamo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmx"] = { canonicalName = "Magoma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gmy"] = { canonicalName = "Mycenaean Greek", type = "regular", scripts = {"Linb"}, family = "grk", translit_module = "Linb-translit", } m["gna"] = { canonicalName = "Kaansa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnb"] = { canonicalName = "Gangte", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["gnc"] = { canonicalName = "Guanche", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnd"] = { canonicalName = "Zulgo-Gemzek", otherNames = {"Zulgo", "Gemzek", "Mineo"}, type = "regular", scripts = {"Latn"}, family = "cdc-cbm", } m["gne"] = { canonicalName = "Ganang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gng"] = { canonicalName = "Ngangam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnh"] = { canonicalName = "Lere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gni"] = { canonicalName = "Gooniyandi", type = "regular", scripts = {"Latn"}, family = "aus-bub", } m["gnk"] = { canonicalName = "ǁGana", otherNames = {"Gana"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnl"] = { canonicalName = "Gangulu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnm"] = { canonicalName = "Ginuman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnn"] = { canonicalName = "Gumatj", type = "regular", scripts = {"None"}, family = "aus-yol", } m["gno"] = { canonicalName = "Northern Gondi", type = "regular", scripts = {"None"}, family = "dra", } m["gnq"] = { canonicalName = "Gana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnr"] = { canonicalName = "Gureng Gureng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnt"] = { canonicalName = "Guntai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnu"] = { canonicalName = "Gnau", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["gnw"] = { canonicalName = "Western Bolivian Guaraní", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gnz"] = { canonicalName = "Ganzi", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["goa"] = { canonicalName = "Guro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gob"] = { canonicalName = "Playero", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goc"] = { canonicalName = "Gorakor", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["god"] = { canonicalName = "Godié", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goe"] = { canonicalName = "Gongduk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gof"] = { canonicalName = "Gofa", type = "regular", scripts = {"Latn", "Ethi"}, family = "omv", } m["gog"] = { canonicalName = "Gogo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goh"] = { canonicalName = "Old High German", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"gem-pro"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊË]", "[ēêë]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u" }} , } m["goi"] = { canonicalName = "Gobasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goj"] = { canonicalName = "Gowlan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gok"] = { canonicalName = "Gowli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gol"] = { canonicalName = "Gola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gon"] = { canonicalName = "Gondi", type = "regular", scripts = {"Telu"}, family = "dra", } m["goo"] = { canonicalName = "Gone Dau", type = "regular", scripts = {"None"}, family = "poz-occ", } m["gop"] = { canonicalName = "Yeretuar", type = "regular", scripts = {"None"}, family = "poz-hce", } m["goq"] = { canonicalName = "Gorap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gor"] = { canonicalName = "Gorontalo", type = "regular", scripts = {"Latn"}, family = "phi", } m["got"] = { canonicalName = "Gothic", type = "regular", scripts = {"Goth"}, family = "gme", translit_module = "Goth-translit", entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["gou"] = { canonicalName = "Gavar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gow"] = { canonicalName = "Gorowa", type = "regular", scripts = {"None"}, family = "cus", } m["gox"] = { canonicalName = "Gobu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goy"] = { canonicalName = "Goundo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["goz"] = { canonicalName = "Gozarkhani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gpa"] = { canonicalName = "Gupa-Abawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gpn"] = { canonicalName = "Taiap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gqa"] = { canonicalName = "Ga'anda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gqi"] = { canonicalName = "Guiqiong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gqn"] = { -- a variety of 'ter' canonicalName = "Kinikinao", otherNames = {"Guana", "Guaná", "Guana (Brazil)", "Arawakan Guana"}, type = "regular", scripts = {"None"}, family = "awd", } m["gqr"] = { canonicalName = "Gor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gra"] = { canonicalName = "Rajput Garasia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grb"] = { canonicalName = "Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grc"] = { canonicalName = "Yunani Kuno", type = "regular", scripts = {"polytonic", "Cprt"}, family = "grk", ancestors = {"grk-pro"}, translit_module = "grc-translit", sort_key = { -- Keep this synchronized with el, cpg from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇᾱ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗῑ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧῡ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ"}}, entry_name = { from = {"[ᾰᾱ]", "[ῐῑ]", "[ῠῡ]"}, to = {"α", "ι", "υ"}} , } m["grd"] = { canonicalName = "Guruntum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grg"] = { canonicalName = "Madi", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["grh"] = { canonicalName = "Gbiri-Niragu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gri"] = { canonicalName = "Ghari", type = "regular", scripts = {"None"}, family = "poz-sls", } m["grj"] = { canonicalName = "Southern Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grm"] = { canonicalName = "Kota Marudu Talantang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gro"] = { canonicalName = "Groma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grq"] = { canonicalName = "Gorovu", type = "regular", scripts = {"None"}, family = "paa", } m["grr"] = { canonicalName = "Taznatit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grs"] = { canonicalName = "Gresi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grt"] = { canonicalName = "Garo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gru"] = { canonicalName = "Kistane", type = "regular", scripts = {"None"}, family = "sem-eth", } m["grv"] = { canonicalName = "Central Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grw"] = { canonicalName = "Gweda", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["grx"] = { canonicalName = "Guriaso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gry"] = { canonicalName = "Barclayville Grebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["grz"] = { canonicalName = "Guramalum", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gse"] = { canonicalName = "Ghanaian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["gsg"] = { canonicalName = "German Sign Language", otherNames = {"Deutsche Gebärdensprache"}, type = "regular", scripts = {"Sgnw"}, family = "sgn-gsl", } m["gsl"] = { canonicalName = "Gusilay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gsm"] = { canonicalName = "Guatemalan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["gsn"] = { canonicalName = "Gusan", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["gso"] = { canonicalName = "Southwest Gbaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gsp"] = { canonicalName = "Wasembo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gss"] = { canonicalName = "Greek Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["gsw"] = { canonicalName = "Alemannic German", otherNames = {"Swiss German"}, type = "regular", scripts = {"Latn"}, family = "gmw", wikimedia_codes = {"als"}, } m["gta"] = { canonicalName = "Guató", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["gti"] = { canonicalName = "Gbati-ri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gtu"] = { canonicalName = "Aghu Tharrnggala", otherNames = {"Aghu Tharnggala", "Aghu Tharnggalu"}, type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["gua"] = { canonicalName = "Shiki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gub"] = { canonicalName = "Guajajára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guc"] = { canonicalName = "Wayuu", type = "regular", scripts = {"None"}, family = "awd", } m["gud"] = { canonicalName = "Yocoboué Dida", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gue"] = { canonicalName = "Gurindji", type = "regular", scripts = {"None"}, family = "aus-pam", } m["guf"] = { canonicalName = "Gupapuyngu", type = "regular", scripts = {"None"}, family = "aus-yol", } m["gug"] = { canonicalName = "Paraguayan Guaraní", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guh"] = { canonicalName = "Guahibo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gui"] = { canonicalName = "Eastern Bolivian Guaraní", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guk"] = { canonicalName = "Gumuz", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gul"] = { canonicalName = "Gullah", otherNames = {"Geechee", "Sea Island Creole English"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["gum"] = { canonicalName = "Guambiano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gun"] = { canonicalName = "Mbyá Guaraní", type = "regular", scripts = {"Latn"}, family = "tup", } m["guo"] = { canonicalName = "Guayabero", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gup"] = { canonicalName = "Gunwinggu", type = "regular", scripts = {"None"}, family = "aus-gun", } m["guq"] = { canonicalName = "Aché", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gur"] = { canonicalName = "Farefare", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gus"] = { canonicalName = "Guinean Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["gut"] = { canonicalName = "Maléku Jaíka", type = "regular", scripts = {"Latn"}, family = "cba", } m["guu"] = { canonicalName = "Yanomamö", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guv"] = { canonicalName = "Gey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guw"] = { canonicalName = "Gun", otherNames = {"Gun-Gbe", "Gungbe"}, type = "regular", scripts = {"Latn"}, family = "alv", } m["gux"] = { canonicalName = "Gourmanchéma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["guz"] = { canonicalName = "Gusii", type = "regular", scripts = {"Latn"}, family = "bnt", } m["gva"] = { canonicalName = "Kaskihá", otherNames = {"Guana", "Guaná", "Guana (Paraguay)", "Mascoian Guana"}, type = "regular", scripts = {"None"}, family = "qfa-mas", } m["gvc"] = { canonicalName = "Guanano", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["gve"] = { canonicalName = "Duwet", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gvf"] = { canonicalName = "Golin", type = "regular", scripts = {"Latn"}, family = "ngf", } m["gvj"] = { canonicalName = "Guajá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvl"] = { canonicalName = "Gulay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvm"] = { canonicalName = "Gurmana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvn"] = { canonicalName = "Kuku-Yalanji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvo"] = { canonicalName = "Gavião Do Jiparaná", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvp"] = { canonicalName = "Pará Gavião", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvr"] = { canonicalName = "Western Gurung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gvs"] = { canonicalName = "Gumawana", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["gvy"] = { canonicalName = "Guyani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwa"] = { canonicalName = "Mbato", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwb"] = { canonicalName = "Gwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwc"] = { canonicalName = "Kalami", type = "regular", scripts = {"Arab"}, family = "iir-dar", } m["gwd"] = { canonicalName = "Gawwada", type = "regular", scripts = {"None"}, family = "cus", } m["gwe"] = { canonicalName = "Gweno", type = "regular", scripts = {"Latn"}, family = "bnt", } m["gwf"] = { canonicalName = "Gowro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwg"] = { canonicalName = "Moo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwi"] = { canonicalName = "Gwich'in", otherNames = {"Gwich’in", "Kutchin", "Takudh", "Tukudh", "Loucheux"}, type = "regular", scripts = {"Latn"}, family = "ath", } m["gwj"] = { canonicalName = "Gcwi", otherNames = {"Gǀwi", "Gǀui"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwn"] = { canonicalName = "Gwandara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwr"] = { canonicalName = "Gwere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwt"] = { canonicalName = "Gawar-Bati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwu"] = { canonicalName = "Guwamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gww"] = { canonicalName = "Kwini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gwx"] = { canonicalName = "Gua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gxx"] = { canonicalName = "Wè Southern", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gya"] = { canonicalName = "Northwest Gbaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyb"] = { canonicalName = "Garus", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyd"] = { canonicalName = "Kayardild", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gye"] = { canonicalName = "Gyem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyf"] = { canonicalName = "Gungabula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyg"] = { canonicalName = "Gbayi", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["gyi"] = { canonicalName = "Gyele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyl"] = { canonicalName = "Gayil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gym"] = { canonicalName = "Ngäbere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyn"] = { canonicalName = "Guyanese Creole English", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyr"] = { canonicalName = "Guarayu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gyy"] = { canonicalName = "Gunya", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["gza"] = { canonicalName = "Ganza", type = "regular", scripts = {"None"}, family = "qfa-und", } m["gzi"] = { canonicalName = "Gazi", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["gzn"] = { canonicalName = "Gane", type = "regular", scripts = {"None"}, family = "poz-hce", } return m ke8ekiohep7ndxxmfe7i6hmr9lf73bm Module:languages/data3/f 828 4705 13351 2015-06-01T00:21:54Z Dalmo Pereira 1417 Bog cusub: 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... 13351 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 m = {} m["faa"] = { canonicalName = "Fasu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fab"] = { canonicalName = "Annobonese", otherNames = {"Fa d'Ambu"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"pt"}, } m["fad"] = { canonicalName = "Wagi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["faf"] = { canonicalName = "Fagani", type = "regular", scripts = {"None"}, family = "poz-sls", } m["fag"] = { canonicalName = "Finongan", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["fah"] = { canonicalName = "Baissa Fali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fai"] = { canonicalName = "Faiwol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["faj"] = { canonicalName = "Faita", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fak"] = { canonicalName = "Fang (Cameroon)", otherNames = {"Fang"}, type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["fal"] = { canonicalName = "South Fali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fam"] = { canonicalName = "Fam", type = "regular", scripts = {"None"}, family = "nic-bod", } m["fan"] = { canonicalName = "Fang (Guinea)", otherNames = {"Pahouin", "Fang (Equatorial Guinea)", "Fang"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["fap"] = { canonicalName = "Palor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["far"] = { canonicalName = "Fataleka", type = "regular", scripts = {"None"}, family = "poz-sls", } m["fat"] = { canonicalName = "Fanti", otherNames = {"Fante"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["fau"] = { canonicalName = "Fayu", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["fax"] = { canonicalName = "Fala", type = "regular", scripts = {"Latn"}, family = "roa", } m["fay"] = { canonicalName = "Southwestern Fars", type = "regular", scripts = {"None"}, family = "qfa-und", } m["faz"] = { canonicalName = "Northwestern Fars", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fbl"] = { canonicalName = "West Albay Bikol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fcs"] = { canonicalName = "Quebec Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["fer"] = { canonicalName = "Feroge", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ffi"] = { canonicalName = "Foia Foia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fgr"] = { canonicalName = "Fongoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fia"] = { canonicalName = "Nobiin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fie"] = { canonicalName = "Fyer", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fip"] = { canonicalName = "Fipa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fir"] = { canonicalName = "Firan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fit"] = { canonicalName = "Meänkieli", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["fiw"] = { canonicalName = "Fiwaga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fkk"] = { canonicalName = "Kirya-Konzel", otherNames = {"Kirya-Konzəl"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["fkv"] = { canonicalName = "Kven", type = "regular", scripts = {"Latn"}, family = "fiu-fin", } m["fla"] = { canonicalName = "Montana Salish", type = "regular", scripts = {"Latn"}, family = "sal", } m["flh"] = { canonicalName = "Foau", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["fli"] = { canonicalName = "Fali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fll"] = { canonicalName = "North Fali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fln"] = { canonicalName = "Flinders Island", type = "regular", scripts = {"None"}, family = "qfa-und", } m["flr"] = { canonicalName = "Fuliiru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fly"] = { canonicalName = "Tsotsitaal", otherNames = {"Flaaitaal"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["fmp"] = { canonicalName = "Fe'fe'", type = "regular", scripts = {"None"}, family = "bai", } m["fmu"] = { canonicalName = "Far Western Muria", type = "regular", scripts = {"None"}, family = "dra", } m["fng"] = { canonicalName = "Fanagalo", type = "regular", scripts = {"Latn"}, family = "crp", } m["fni"] = { canonicalName = "Fania", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fod"] = { canonicalName = "Foodo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["foi"] = { canonicalName = "Foi", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["fom"] = { canonicalName = "Foma", type = "regular", scripts = {"None"}, family = "bnt", } m["fon"] = { canonicalName = "Fon", type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["for"] = { canonicalName = "Fore", type = "regular", scripts = {"Latn"}, family = "paa-kag", } m["fos"] = { canonicalName = "Siraya", type = "regular", scripts = {"Latn"}, family = "map", } m["fpe"] = { canonicalName = "Pichinglis", type = "regular", scripts = {"Latn"}, family = "crp", } m["fqs"] = { canonicalName = "Fas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["frd"] = { canonicalName = "Fordata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["frk"] = { canonicalName = "Frankish", otherNames = {"Old Frankish"}, type = "regular", scripts = {"Latn", "Runr"}, -- It is attested in Runr, but most of our entries are reconstructed Latn family = "gmw", ancestors = {"gem-pro"}, } m["frm"] = { canonicalName = "Perancis Pertengahan", type = "regular", scripts = {"Latn"}, family = "roa", ancestors = {"fro"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["fro"] = { canonicalName = "Perancis Lama", type = "regular", scripts = {"Latn"}, family = "roa", ancestors = {"la"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["frp"] = { canonicalName = "Franco-Provençal", otherNames = {"Arpetan", "Arpitan"}, type = "regular", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["frq"] = { canonicalName = "Forak", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["frr"] = { canonicalName = "North Frisian", type = "regular", scripts = {"Latn"}, family = "gmw-fri", } -- code is ambiguous, could be a Frisian-ic lect or a Low German-ic one m["frs"] = { canonicalName = "Eastern Frisian", type = "regular", scripts = {"Latn"}, family = "gmw", } m["frt"] = { canonicalName = "Fortsenal", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["fse"] = { canonicalName = "Finnish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["fsl"] = { canonicalName = "French Sign Language", type = "regular", scripts = {"None"}, family = "sgn-fsl", } m["fss"] = { canonicalName = "Finnish-Swedish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["fud"] = { canonicalName = "East Futuna", otherNames = {"Futunan", "Futunian", "Futuna"}, type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["fuj"] = { canonicalName = "Ko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fum"] = { canonicalName = "Fum", type = "regular", scripts = {"None"}, family = "nic-bod", } m["fun"] = { canonicalName = "Fulniô", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["fur"] = { canonicalName = "Friulian", type = "regular", scripts = {"Latn"}, family = "roa", } m["fut"] = { canonicalName = "Futuna-Aniwa", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["fuu"] = { canonicalName = "Furu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fuy"] = { canonicalName = "Fuyug", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fvr"] = { canonicalName = "Fur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["fwa"] = { canonicalName = "Fwâi", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["fwe"] = { canonicalName = "Fwe", type = "regular", scripts = {"None"}, family = "qfa-und", } return m 8qvwjrw88q45p92fith0gcxrwho2i9g Module:languages/data3/e 828 4706 13352 2015-06-01T00:24:49Z Dalmo Pereira 1417 Bog cusub: 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... 13352 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 m = {} m["ebg"] = { canonicalName = "Ebughu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ebk"] = { canonicalName = "Eastern Bontok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ebo"] = { canonicalName = "Teke-Ebo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ebr"] = { canonicalName = "Ebrié", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ebu"] = { canonicalName = "Embu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ecr"] = { canonicalName = "Eteocretan", type = "regular", scripts = {"Grek"}, family = "qfa-und", } m["ecs"] = { canonicalName = "Ecuadorian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["ecy"] = { canonicalName = "Eteocypriot", type = "regular", scripts = {"Cprt"}, family = "qfa-und", } m["eee"] = { canonicalName = "E", type = "regular", scripts = {"None"}, family = "qfa-und", } m["efa"] = { canonicalName = "Efai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["efe"] = { canonicalName = "Efe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["efi"] = { canonicalName = "Efik", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["ega"] = { canonicalName = "Ega", type = "regular", scripts = {"None"}, family = "qfa-und", } m["egl"] = { canonicalName = "Emilian", otherNames = {"Emiliano"}, type = "regular", scripts = {"Latn"}, family = "roa", wikimedia_codes = {"eml"}, } m["ego"] = { canonicalName = "Eggon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["egy"] = { canonicalName = "Mesir", otherNames = {"Mesir Purba"}, type = "regular", scripts = {"Latn", "Egyp", "Egyd"}, family = "egx", } m["ehu"] = { canonicalName = "Ehueun", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["eip"] = { canonicalName = "Eipomek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eit"] = { canonicalName = "Eitiep", type = "regular", scripts = {"Latn"}, family = "qfa-tor", } m["eiv"] = { canonicalName = "Askopan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eja"] = { canonicalName = "Ejamat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eka"] = { canonicalName = "Ekajuk", type = "regular", scripts = {"None"}, family = "nic-bod", } m["eke"] = { canonicalName = "Ekit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ekg"] = { canonicalName = "Ekari", type = "regular", scripts = {"Latn"}, family = "ngf", } m["eki"] = { canonicalName = "Eki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ekl"] = { canonicalName = "Kolhe", otherNames = {"Kol"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ekm"] = { canonicalName = "Elip", type = "regular", scripts = {"None"}, family = "nic-bod", } m["eko"] = { canonicalName = "Koti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ekp"] = { canonicalName = "Ekpeye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ekr"] = { canonicalName = "Yace", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eky"] = { canonicalName = "Eastern Kayah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ele"] = { canonicalName = "Elepi", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["elh"] = { canonicalName = "El Hugeirat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eli"] = { canonicalName = "Nding", type = "regular", scripts = {"None"}, family = "qfa-und", } m["elk"] = { canonicalName = "Elkei", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["elm"] = { canonicalName = "Eleme", type = "regular", scripts = {"None"}, family = "nic-bco", } m["elo"] = { canonicalName = "El Molo", type = "regular", scripts = {"None"}, family = "cus", } m["elu"] = { canonicalName = "Elu", type = "regular", scripts = {"None"}, family = "poz-aay", } m["elx"] = { canonicalName = "Elamite", type = "regular", scripts = {"Xsux"}, family = "qfa-iso", } m["ema"] = { canonicalName = "Emai", otherNames = {"Aoma", "Ora", "Emai-Iuleha-Ora"}, type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["emb"] = { canonicalName = "Embaloh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eme"] = { canonicalName = "Emerillon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emg"] = { canonicalName = "Eastern Meohang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emi"] = { canonicalName = "Mussau-Emira", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["emk"] = { canonicalName = "Eastern Maninkakan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emm"] = { canonicalName = "Mamulique", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emn"] = { canonicalName = "Eman", type = "regular", scripts = {"None"}, family = "nic-bod", } m["emp"] = { canonicalName = "Northern Emberá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ems"] = { canonicalName = "Alutiiq", type = "regular", scripts = {"Latn"}, family = "ypk", } m["emu"] = { canonicalName = "Eastern Muria", type = "regular", scripts = {"None"}, family = "dra", } m["emw"] = { canonicalName = "Emplawas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emx"] = { canonicalName = "Erromintxela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["emy"] = { canonicalName = "Epigraphic Mayan", otherNames = {"Classic Ch'olti'an", "Ch'olti'"}, type = "regular", scripts = {"Maya"}, family = "myn", } m["ena"] = { canonicalName = "Apali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["enb"] = { canonicalName = "Markweeta", type = "regular", scripts = {"None"}, family = "sdv", } m["enc"] = { canonicalName = "En", type = "regular", scripts = {"None"}, family = "qfa-und", } m["end"] = { canonicalName = "Ende", type = "regular", scripts = {"Latn"}, family = "plf", } m["enf"] = { canonicalName = "Forest Enets", type = "regular", scripts = {"None"}, family = "qfa-und", } m["enh"] = { canonicalName = "Tundra Enets", type = "regular", scripts = {"None"}, family = "qfa-und", } m["enl"] = { canonicalName = "Enlhet", otherNames = {"Lengua"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["enm"] = { canonicalName = "Inggeris Pertengahan", otherNames = {"Inggeris Medieval", "Mediaeval English"}, type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"ang"}, } m["enn"] = { canonicalName = "Engenni", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["eno"] = { canonicalName = "Enggano", type = "regular", scripts = {"None"}, family = "poz", } m["enq"] = { canonicalName = "Enga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["enr"] = { canonicalName = "Emem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["enu"] = { canonicalName = "Enu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["env"] = { canonicalName = "Enwan", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["enw"] = { canonicalName = "Enwang", otherNames = {"Enwan"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["enx"] = { canonicalName = "Enxet", otherNames = {"Lengua"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["eot"] = { canonicalName = "Beti", otherNames = {"Eotile"}, -- had needed to be distinguished parenthetically from 'btb', till code was split type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["epi"] = { canonicalName = "Epie", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["era"] = { canonicalName = "Eravallan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["erg"] = { canonicalName = "Sie", type = "regular", scripts = {"None"}, family = "qfa-und", } m["erh"] = { canonicalName = "Eruwa", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["eri"] = { canonicalName = "Ogea", type = "regular", scripts = {"None"}, family = "qfa-und", } m["erk"] = { canonicalName = "South Efate", otherNames = {"Efate", "Vate", "Vaté"}, type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["ero"] = { canonicalName = "Horpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["err"] = { canonicalName = "Erre", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ers"] = { canonicalName = "Ersu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ert"] = { canonicalName = "Eritai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["erw"] = { canonicalName = "Erokwanas", type = "regular", scripts = {"None"}, family = "poz-hce", } m["ese"] = { canonicalName = "Ese Ejja", otherNames = {"Tiatinagua"}, type = "regular", scripts = {"None"}, family = "qfa-tac", } m["esh"] = { canonicalName = "Eshtehardi", type = "regular", scripts = {"Arab"}, family = "ira", } m["esi"] = { canonicalName = "North Alaskan Inupiatun", type = "regular", scripts = {"Latn"}, family = "esx-inu", } m["esk"] = { canonicalName = "Northwest Alaska Inupiatun", type = "regular", scripts = {"None"}, family = "esx-inu", } m["esl"] = { canonicalName = "Bahasa Isyarat Mesir", type = "regular", scripts = {"None"}, family = "sgn", } m["esm"] = { canonicalName = "Esuma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["esn"] = { canonicalName = "Bahasa Isyarat Salvador", type = "regular", scripts = {"None"}, family = "sgn", } m["eso"] = { canonicalName = "Bahasa Isyarat Estonia", type = "regular", scripts = {"None"}, family = "sgn", } m["esq"] = { canonicalName = "Esselen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ess"] = { canonicalName = "Yupik Siberia Pusat", type = "regular", scripts = {"Cyrl"}, family = "ypk", } m["esu"] = { canonicalName = "Yup'ik", type = "regular", scripts = {"Latn"}, family = "ypk", } m["etb"] = { canonicalName = "Etebi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["etc"] = { canonicalName = "Etchemin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eth"] = { canonicalName = "Bahasa Isyarat Habsyah", type = "regular", scripts = {"None"}, family = "sgn", } m["etn"] = { canonicalName = "Eton (Vanuatu)", otherNames = {"Eton"}, type = "regular", scripts = {"None"}, family = "poz-oce", } m["eto"] = { canonicalName = "Eton (Cameroon)", otherNames = {"Eton"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["etr"] = { canonicalName = "Edolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ets"] = { canonicalName = "Yekhee", otherNames = {"Afenmai", "Afemai", "Etsako"}, type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ett"] = { canonicalName = "Etruscan", type = "regular", scripts = {"Ital"}, family = "qfa-tyn", } m["etu"] = { canonicalName = "Ejagham", type = "regular", scripts = {"None"}, family = "nic-bod", } m["etx"] = { canonicalName = "Eten", type = "regular", scripts = {"None"}, family = "qfa-und", } m["etz"] = { canonicalName = "Semimi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["eve"] = { canonicalName = "Even", type = "regular", scripts = {"None"}, family = "qfa-und", } m["evh"] = { canonicalName = "Uvbie", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["evn"] = { canonicalName = "Evenki", type = "regular", scripts = {"Cyrl"}, family = "tuw", } m["ewo"] = { canonicalName = "Ewondo", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["ext"] = { canonicalName = "Extremaduran", type = "regular", scripts = {"Latn"}, family = "roa", } m["eya"] = { canonicalName = "Eyak", type = "regular", scripts = {"None"}, family = "xnd", } m["eyo"] = { canonicalName = "Keiyo", type = "regular", scripts = {"None"}, family = "sdv", } m["eza"] = { canonicalName = "Ezaa", otherNames = {"Ezza", "Eza"}, type = "regular", scripts = {"None"}, family = "alv-von", } m["eze"] = { canonicalName = "Uzekwe", type = "regular", scripts = {"None"}, family = "nic-bco", } return m 5be8fcmv5j47usctwzmg1mg56wx5ra5 Module:languages/data3/c 828 4707 13353 2015-06-01T00:25:33Z Dalmo Pereira 1417 Bog cusub: 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... 13353 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 m = {} m["caa"] = { canonicalName = "Ch'orti'", type = "regular", scripts = {"Latn"}, family = "myn", } m["cab"] = { canonicalName = "Garifuna", type = "regular", scripts = {"Latn"}, family = "awd", } m["cac"] = { canonicalName = "Chuj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cad"] = { canonicalName = "Caddo", type = "regular", scripts = {"Latn"}, family = "cdd", } m["cae"] = { canonicalName = "Laalaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["caf"] = { canonicalName = "Southern Carrier", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cag"] = { canonicalName = "Nivaclé", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["cah"] = { canonicalName = "Cahuarano", type = "regular", scripts = {"None"}, family = "qfa-zap", } m["caj"] = { canonicalName = "Chané", type = "regular", scripts = {"None"}, family = "awd", } m["cak"] = { canonicalName = "Cakchiquel", otherNames = {"Kaqchikel", "Kakchiquel", "Cachiquel"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["cal"] = { canonicalName = "Carolinian", type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["cam"] = { canonicalName = "Cemuhî", type = "regular", scripts = {"None"}, family = "poz-cln", } m["can"] = { canonicalName = "Chambri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cao"] = { canonicalName = "Chácobo", type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["cap"] = { canonicalName = "Chipaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["caq"] = { canonicalName = "Car Nicobarese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["car"] = { canonicalName = "Galibi Carib", otherNames = {"Carib", "Caribe", "Cariña", "Galibi", "Galibí", "Kalihna", "Kali'na", "Kalinya", "Maraworno", "Marworno"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["cas"] = { canonicalName = "Tsimané", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cav"] = { canonicalName = "Cavineña", otherNames = {"Cavinena"}, type = "regular", scripts = {"Latn"}, family = "qfa-tac", } m["caw"] = { canonicalName = "Callawalla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cax"] = { canonicalName = "Chiquitano", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["cay"] = { canonicalName = "Cayuga", type = "regular", scripts = {"None"}, family = "iro", } m["caz"] = { canonicalName = "Canichana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbb"] = { canonicalName = "Cabiyarí", type = "regular", scripts = {"None"}, family = "awd", } m["cbc"] = { canonicalName = "Carapana", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["cbd"] = { canonicalName = "Carijona", type = "regular", scripts = {"None"}, family = "sai-car", } m["cbe"] = { canonicalName = "Chipiajes", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbg"] = { canonicalName = "Chimila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbh"] = { canonicalName = "Cagua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbi"] = { canonicalName = "Chachi", otherNames = {"Cha'palaa", "Chapalaa", "Cha'palaachi", "Chapalaachi", "Cayapa"}, type = "regular", scripts = {"Latn"}, family = "sai-bar", } m["cbj"] = { canonicalName = "Ede Cabe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbk"] = { canonicalName = "Chavacano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbl"] = { canonicalName = "Bualkhaw Chin", otherNames = {"Bualkhaw"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cbn"] = { canonicalName = "Nyah Kur", otherNames = {"Nyahkur"}, type = "regular", scripts = {"Latn"}, family = "aav", } m["cbo"] = { canonicalName = "Izora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbr"] = { canonicalName = "Cashibo-Cacataibo", otherNames = {"Cashibo", "Cacataibo"}, type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["cbs"] = { canonicalName = "Cashinahua", type = "regular", scripts = {"Latn"}, family = "qfa-pan", } m["cbt"] = { canonicalName = "Chayahuita", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbu"] = { canonicalName = "Candoshi-Shapra", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbv"] = { canonicalName = "Cacua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cbw"] = { canonicalName = "Kinabalian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cby"] = { canonicalName = "Carabayo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cca"] = { canonicalName = "Cauca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccc"] = { canonicalName = "Chamicuro", type = "regular", scripts = {"Latn"}, family = "awd", } m["ccd"] = { canonicalName = "Cafundo Creole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cce"] = { canonicalName = "Chopi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccg"] = { canonicalName = "Chamba Daka", otherNames = {"Samba Daka", "Nakanyare"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["cch"] = { canonicalName = "Atsam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccj"] = { canonicalName = "Kasanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccl"] = { canonicalName = "Cutchi-Swahili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccm"] = { canonicalName = "Malaccan Creole Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cco"] = { canonicalName = "Comaltepec Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ccp"] = { canonicalName = "Chakma", type = "regular", scripts = {"Cakm"}, family = "inc", } m["ccr"] = { canonicalName = "Cacaopera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cda"] = { canonicalName = "Choni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cde"] = { canonicalName = "Chenchu", type = "regular", scripts = {"None"}, family = "dra", } m["cdf"] = { canonicalName = "Chiru", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cdg"] = { canonicalName = "Chamari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdh"] = { canonicalName = "Chambeali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdi"] = { canonicalName = "Chodri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdj"] = { canonicalName = "Churahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdm"] = { canonicalName = "Chepang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdn"] = { canonicalName = "Chaudangsi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdo"] = { canonicalName = "Min Dong", otherNames = {"Min Dong Chinese"}, type = "regular", scripts = {"Hani"}, family = "zhx", } m["cdr"] = { canonicalName = "Cinda-Regi-Tiyal", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["cds"] = { canonicalName = "Chadian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["cdy"] = { canonicalName = "Chadong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cdz"] = { canonicalName = "Koda", type = "regular", scripts = {"None"}, family = "mun", } m["cea"] = { canonicalName = "Lower Chehalis", type = "regular", scripts = {"None"}, family = "sal", } m["ceb"] = { canonicalName = "Cebuano", type = "regular", scripts = {"Latn"}, family = "phi", } m["ceg"] = { canonicalName = "Chamacoco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cen"] = { canonicalName = "Cen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cet"] = { canonicalName = "Centúúm", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cfa"] = { canonicalName = "Dijim-Bwilim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cfd"] = { canonicalName = "Cara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cfg"] = { canonicalName = "Como Karim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cfm"] = { canonicalName = "Falam Chin", otherNames = {"Falam"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cga"] = { canonicalName = "Changriwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cgc"] = { canonicalName = "Kagayanen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cgg"] = { canonicalName = "Rukiga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["cgk"] = { canonicalName = "Chocangacakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chb"] = { canonicalName = "Chibcha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chc"] = { canonicalName = "Catawba", type = "regular", scripts = {"Latn"}, family = "qfa-cat", } m["chd"] = { canonicalName = "Highland Oaxaca Chontal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chf"] = { canonicalName = "Tabasco Chontal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chg"] = { canonicalName = "Chagatai", type = "regular", scripts = {"Arab"}, family = "trk", } m["chh"] = { canonicalName = "Chinook", type = "regular", scripts = {"Latn"}, family = "nai-ckn", } m["chj"] = { canonicalName = "Ojitlán Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chk"] = { canonicalName = "Chuukese", type = "regular", scripts = {"Latn"}, family = "poz-mic", } m["chl"] = { canonicalName = "Cahuilla", type = "regular", scripts = {"Latn"}, family = "azc-cup", entry_name = { from = {"Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", MACRON}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["chm"] = { canonicalName = "Eastern Mari", otherNames = {"Meadow Mari", "Lowland Mari", "Midland Mari", "Standard Mari", "Upo Mari", "Mari", "Mari (Russia)"}, type = "regular", scripts = {"Cyrl"}, family = "urj", translit_module = "chm-translit", } m["chn"] = { canonicalName = "Chinook Jargon", type = "regular", scripts = {"Latn", "Dupl"}, family = "crp", } m["cho"] = { canonicalName = "Choctaw", type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["chp"] = { canonicalName = "Chipewyan", otherNames = {"Dëne Sųłiné", "Dënesųłiné", "Dëne", "Dene Suline", "Denesuline", "Dene"}, type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["chq"] = { canonicalName = "Quiotepec Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chr"] = { canonicalName = "Cherokee", type = "regular", scripts = {"Cher"}, family = "iro", translit_module = "Cher-translit", } m["cht"] = { canonicalName = "Cholón", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chw"] = { canonicalName = "Chuwabu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chx"] = { canonicalName = "Chantyal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["chy"] = { canonicalName = "Cheyenne", type = "regular", scripts = {"Latn"}, family = "alg", } m["chz"] = { canonicalName = "Ozumacín Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cia"] = { canonicalName = "Cia-Cia", type = "regular", scripts = {"Hang", "Latn"}, family = "poz-mun", } m["cib"] = { canonicalName = "Ci Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cic"] = { canonicalName = "Chickasaw", type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["cid"] = { canonicalName = "Chimariko", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["cie"] = { canonicalName = "Cineni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cih"] = { canonicalName = "Chinali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cik"] = { canonicalName = "Chitkuli Kinnauri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cim"] = { canonicalName = "Cimbrian", type = "regular", scripts = {"Latn"}, family = "gmw", } m["cin"] = { canonicalName = "Cinta Larga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cip"] = { canonicalName = "Chiapanec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cir"] = { canonicalName = "Tiri", otherNames = {"Méa", "Haméa"}, type = "regular", scripts = {"None"}, family = "poz-cln", } m["ciy"] = { canonicalName = "Chaima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cja"] = { canonicalName = "Western Cham", type = "regular", scripts = {"Arab"}, family = "poz-msa", } m["cje"] = { canonicalName = "Chru", type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["cjh"] = { canonicalName = "Upper Chehalis", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cji"] = { canonicalName = "Chamalal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cjk"] = { canonicalName = "Chokwe", type = "regular", scripts = {"Latn"}, family = "bnt", } m["cjm"] = { canonicalName = "Eastern Cham", type = "regular", scripts = {"Cham"}, family = "cmc", } m["cjn"] = { canonicalName = "Chenapian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cjo"] = { canonicalName = "Ashéninka Pajonal", type = "regular", scripts = {"None"}, family = "awd", } m["cjp"] = { canonicalName = "Cabécar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cjs"] = { canonicalName = "Shor", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["cjv"] = { canonicalName = "Chuave", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cjy"] = { canonicalName = "Jin", otherNames = {"Jinyu", "Jinhua", "Jinese", "Shanxinese", "Jin Chinese", "Jinyu Chinese"}, type = "regular", scripts = {"Hani"}, family = "zhx", } m["ckb"] = { canonicalName = "Central Kurdish", otherNames = {"Sorani"}, type = "regular", scripts = {"ku-Arab"}, family = "ira", } m["ckh"] = { canonicalName = "Chak", type = "regular", scripts = {"None"}, family = "tbq", } m["ckl"] = { canonicalName = "Cibak", type = "regular", scripts = {"None"}, family = "cdc", } m["ckn"] = { canonicalName = "Kaang Chin", otherNames = {"Kaang"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cko"] = { canonicalName = "Anufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ckq"] = { canonicalName = "Kajakse", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ckr"] = { canonicalName = "Kairak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cks"] = { canonicalName = "Tayo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ckt"] = { canonicalName = "Chukchi", type = "regular", scripts = {"Cyrl"}, family = "qfa-cka", } m["cku"] = { canonicalName = "Koasati", type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["ckv"] = { canonicalName = "Kavalan", otherNames = {"Kebalan"}, type = "regular", scripts = {"Latn"}, family = "map", } m["ckx"] = { canonicalName = "Caka", type = "regular", scripts = {"None"}, family = "nic-bod", } m["cky"] = { canonicalName = "Cakfem-Mushere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ckz"] = { canonicalName = "Cakchiquel-Quiché Mixed Language", otherNames = {"Cauque Mayan"}, type = "regular", scripts = {"None"}, family = "myn", } m["cla"] = { canonicalName = "Ron", otherNames = {"Bokkos", "Daffo-Butura", "Shagawu"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["clc"] = { canonicalName = "Chilcotin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cld"] = { canonicalName = "Chaldean Neo-Aramaic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cle"] = { canonicalName = "Lealao Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["clh"] = { canonicalName = "Chilisso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cli"] = { canonicalName = "Chakali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["clj"] = { canonicalName = "Laitu Chin", otherNames = {"Laitu"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["clk"] = { canonicalName = "Idu-Mishmi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cll"] = { canonicalName = "Chala", type = "regular", scripts = {"None"}, family = "qfa-und", } m["clm"] = { canonicalName = "Klallam", otherNames = {"Clallam", "S'Klallam"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["clo"] = { canonicalName = "Lowland Oaxaca Chontal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["clt"] = { canonicalName = "Lautu Chin", otherNames = {"Lautu"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["clu"] = { canonicalName = "Caluyanun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["clw"] = { canonicalName = "Chulym", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cly"] = { canonicalName = "Eastern Highland Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cma"] = { canonicalName = "Maa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cme"] = { canonicalName = "Cerma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cmg"] = { canonicalName = "Classical Mongolian", type = "regular", scripts = {"None"}, family = "xgn", } m["cmi"] = { canonicalName = "Emberá-Chamí", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cml"] = { canonicalName = "Campalagian", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cmm"] = { canonicalName = "Michigamea", type = "regular", scripts = {"None"}, family = "sio", } m["cmn"] = { canonicalName = "Mandarin", otherNames = {"Mandarin Chinese", "Putonghua", "Guoyu", "Huayu", "Guanhua", "Beifanghua", "Standard Chinese"}, type = "regular", scripts = {"Hani"}, family = "zhx", wikimedia_codes = {"zh"}, } m["cmo"] = { canonicalName = "Central Mnong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cmr"] = { canonicalName = "Mro Chin", otherNames = {"Mro-Khimi Chin", "Mro", "Mro-Khimi"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cms"] = { canonicalName = "Messapic", type = "regular", scripts = {"None"}, family = "ine", } m["cmt"] = { canonicalName = "Camtho", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cna"] = { canonicalName = "Changthang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cnb"] = { canonicalName = "Chinbon Chin", otherNames = {"Chinbon"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cnc"] = { canonicalName = "Côông", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cng"] = { canonicalName = "Northern Qiang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cnh"] = { canonicalName = "Lai", otherNames = {"Haka Chin", "Haka"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cni"] = { canonicalName = "Asháninka", otherNames = {"Ashaninka"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["cnk"] = { canonicalName = "Khumi Chin", otherNames = {"Khumi"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cnl"] = { canonicalName = "Lalana Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cno"] = { canonicalName = "Con", type = "regular", scripts = {"None"}, family = "aav", } m["cns"] = { canonicalName = "Central Asmat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cnt"] = { canonicalName = "Tepetotutla Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cnu"] = { canonicalName = "Chenoua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cnw"] = { canonicalName = "Ngawn Chin", otherNames = {"Ngawn"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cnx"] = { canonicalName = "Middle Cornish", type = "regular", scripts = {"None"}, family = "cel-bry", ancestors = {"oco"}, } m["coa"] = { canonicalName = "Cocos Islands Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cob"] = { canonicalName = "Chicomuceltec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["coc"] = { canonicalName = "Cocopa", type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["cod"] = { canonicalName = "Cocama-Cocamilla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["coe"] = { canonicalName = "Koreguaje", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["cof"] = { canonicalName = "Tsafiki", otherNames = {"Colorado", "Tsáchila"}, type = "regular", scripts = {"Latn"}, family = "sai-bar", } m["cog"] = { canonicalName = "Chong", type = "regular", scripts = {"Thai", "Khmr"}, family = "aav", } m["coh"] = { canonicalName = "Chichonyi-Chidzihana-Chikauma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["coj"] = { canonicalName = "Cochimi", type = "regular", scripts = {"None"}, family = "nai-yuc", } m["cok"] = { canonicalName = "Santa Teresa Cora", type = "regular", scripts = {"Latn"}, family = "azc", } m["col"] = { canonicalName = "Columbia-Wenatchi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["com"] = { canonicalName = "Comanche", type = "regular", scripts = {"Latn"}, family = "azc-num", } m["con"] = { canonicalName = "Cofán", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["coo"] = { canonicalName = "Comox", type = "regular", scripts = {"Latn"}, family = "sal", } m["cop"] = { canonicalName = "Coptic", otherNames = {"Akhmimic", "Assiutic", "Bashmuric", "Bohairic", "Faiyumic", "Fayyumic", "Lycopolitan", "Memphitic", "Mesokemic", "Oxyrhynchite", "Sahidic", "Subakhmimic", "Thebaic"}, -- Akhmimic etc are names of dialects which are currently, pending any suggestion that we should do otherwise, subsumed into this code type = "regular", scripts = {"Copt"}, family = "egx", translit_module = "Copt-translit", } m["coq"] = { canonicalName = "Coquille", type = "regular", scripts = {"None"}, family = "ath-pco", } m["cot"] = { canonicalName = "Caquinte", type = "regular", scripts = {"None"}, family = "awd", } m["cou"] = { canonicalName = "Wamey", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cov"] = { canonicalName = "Cao Miao", type = "regular", scripts = {"None"}, family = "qfa-tak", } m["cow"] = { canonicalName = "Cowlitz", type = "regular", scripts = {"Latn"}, family = "sal", } m["cox"] = { canonicalName = "Nanti", type = "regular", scripts = {"None"}, family = "awd", } m["coy"] = { canonicalName = "Coyaima", type = "regular", scripts = {"None"}, family = "sai-car", } m["coz"] = { canonicalName = "Chochotec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cpa"] = { canonicalName = "Palantla Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cpb"] = { canonicalName = "Ucayali-Yurúa Ashéninka", type = "regular", scripts = {"None"}, family = "awd", } m["cpc"] = { canonicalName = "Ajyíninka Apurucayali", type = "regular", scripts = {"None"}, family = "awd", } m["cpg"] = { canonicalName = "Cappadocian Greek", otherNames = {"Cappadocian"}, type = "regular", scripts = {"polytonic"}, family = "grk", translit_module = "grc-translit", sort_key = { -- Keep this synchronized with el, grc from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ"}} , } m["cpi"] = { canonicalName = "Chinese Pidgin English", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, } m["cpn"] = { canonicalName = "Cherepon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cpo"] = { canonicalName = "Kpeego", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cpp"] = { canonicalName = "Kristang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cps"] = { canonicalName = "Capiznon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cpu"] = { canonicalName = "Pichis Ashéninka", type = "regular", scripts = {"None"}, family = "awd", } m["cpx"] = { canonicalName = "Pu Xian", otherNames = {"Pu Xian Chinese"}, type = "regular", scripts = {"Hani"}, family = "zhx", } m["cpy"] = { canonicalName = "South Ucayali Ashéninka", type = "regular", scripts = {"None"}, family = "awd", } m["cqd"] = { canonicalName = "Chuanqiandian Cluster Miao", type = "regular", scripts = {"Latn", "Plrd"}, family = "hmn", } m["cra"] = { canonicalName = "Chara", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crb"] = { canonicalName = "Island Carib", type = "regular", scripts = {"None"}, family = "awd", } m["crc"] = { canonicalName = "Lonwolwol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crd"] = { canonicalName = "Coeur d'Alene", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crf"] = { canonicalName = "Caramanta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crg"] = { canonicalName = "Michif", type = "regular", scripts = {"Latn"}, family = "qfa-mix", } m["crh"] = { canonicalName = "Crimean Tatar", type = "regular", scripts = {"Latn", "Cyrl"}, family = "trk", } m["cri"] = { canonicalName = "Sãotomense", otherNames = {"Forro", "São Tomense"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["crj"] = { canonicalName = "Southern East Cree", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crk"] = { canonicalName = "Plains Cree", type = "regular", scripts = {"Cans", "Latn"}, family = "alg", } m["crl"] = { canonicalName = "Northern East Cree", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crm"] = { canonicalName = "Moose Cree", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crn"] = { canonicalName = "Cora", type = "regular", scripts = {"Latn"}, family = "azc", } m["cro"] = { canonicalName = "Crow", type = "regular", scripts = {"None"}, family = "sio", } m["crq"] = { canonicalName = "Iyo'wujwa Chorote", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["crr"] = { canonicalName = "Carolina Algonquian", type = "regular", scripts = {"Latn"}, family = "alg", } m["crs"] = { canonicalName = "Seychellois Creole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crt"] = { canonicalName = "Iyojwa'ja Chorote", type = "regular", scripts = {"None"}, family = "qfa-mtc", } m["crv"] = { canonicalName = "Chaura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crw"] = { canonicalName = "Chrau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crx"] = { canonicalName = "Carrier", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cry"] = { canonicalName = "Cori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["crz"] = { canonicalName = "Cruzeño", type = "regular", scripts = {"None"}, family = "nai-chu", } m["csa"] = { canonicalName = "Chiltepec Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["csb"] = { canonicalName = "Kashubian", type = "regular", scripts = {"Latn"}, family = "zlw", } m["csc"] = { canonicalName = "Catalan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csd"] = { canonicalName = "Chiangmai Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["cse"] = { canonicalName = "Czech Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csf"] = { canonicalName = "Cuban Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csg"] = { canonicalName = "Chilean Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csh"] = { canonicalName = "Asho Chin", otherNames = {"Asho"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["csi"] = { canonicalName = "Coast Miwok", type = "regular", scripts = {"None"}, family = "qfa-you", } m["csj"] = { canonicalName = "Songlai Chin", otherNames = {"Songlai"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["csk"] = { canonicalName = "Jola-Kasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["csl"] = { canonicalName = "Chinese Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csm"] = { canonicalName = "Central Sierra Miwok", type = "regular", scripts = {"Latn"}, family = "qfa-you", } m["csn"] = { canonicalName = "Colombian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["cso"] = { canonicalName = "Sochiapam Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["csq"] = { canonicalName = "Croatian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["csr"] = { canonicalName = "Costa Rican Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["css"] = { canonicalName = "Southern Ohlone", type = "regular", scripts = {"Latn"}, family = "qfa-you", } m["cst"] = { canonicalName = "Northern Ohlone", type = "regular", scripts = {"Latn"}, family = "qfa-you", } m["csv"] = { canonicalName = "Sumtu Chin", otherNames = {"Sumtu"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["csw"] = { canonicalName = "Swampy Cree", type = "regular", scripts = {"None"}, family = "qfa-und", } m["csy"] = { canonicalName = "Siyin Chin", otherNames = {"Siyin"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["csz"] = { canonicalName = "Coos", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cta"] = { canonicalName = "Tataltepec Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctc"] = { canonicalName = "Chetco", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctd"] = { canonicalName = "Tedim Chin", otherNames = {"Tedim", "Tiddim", "Sukte"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["cte"] = { canonicalName = "Tepinapa Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctg"] = { canonicalName = "Chittagonian", type = "regular", scripts = {"Beng"}, family = "inc", } m["cth"] = { canonicalName = "Thaiphum Chin", otherNames = {"Thaiphum"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["ctl"] = { canonicalName = "Tlacoatzintepec Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctm"] = { canonicalName = "Chitimacha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctn"] = { canonicalName = "Chhintange", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cto"] = { canonicalName = "Emberá-Catío", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctp"] = { canonicalName = "Western Highland Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cts"] = { canonicalName = "Northern Catanduanes Bicolano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctt"] = { canonicalName = "Wayanad Chetti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ctu"] = { canonicalName = "Chol", type = "regular", scripts = {"Latn"}, family = "myn", } m["ctz"] = { canonicalName = "Zacatepec Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cua"] = { canonicalName = "Cua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cub"] = { canonicalName = "Cubeo", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["cuc"] = { canonicalName = "Usila Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cug"] = { canonicalName = "Cung", type = "regular", scripts = {"None"}, family = "nic-bod", } m["cuh"] = { canonicalName = "Chuka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cui"] = { canonicalName = "Cuiba", type = "regular", scripts = {"Latn"}, family = "qfa-gua", } m["cuj"] = { canonicalName = "Mashco Piro", type = "regular", scripts = {"None"}, family = "awd", } m["cuk"] = { canonicalName = "Kuna", type = "regular", scripts = {"Latn"}, family = "cba", } m["cul"] = { canonicalName = "Culina", type = "regular", scripts = {"None"}, family = "auf", } m["cum"] = { canonicalName = "Cumeral", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cuo"] = { canonicalName = "Cumanagoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cup"] = { canonicalName = "Cupeño", type = "regular", scripts = {"Latn"}, family = "azc-cup", } m["cuq"] = { canonicalName = "Cun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cur"] = { canonicalName = "Chhulung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cut"] = { canonicalName = "Teutila Cuicatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cuu"] = { canonicalName = "Tai Ya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cuv"] = { canonicalName = "Cuvok", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cuw"] = { canonicalName = "Chukwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cux"] = { canonicalName = "Tepeuxila Cuicatec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cvg"] = { canonicalName = "Chug", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cvn"] = { canonicalName = "Valle Nacional Chinantec", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwa"] = { canonicalName = "Kabwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwb"] = { canonicalName = "Maindo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwd"] = { canonicalName = "Woods Cree", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwe"] = { canonicalName = "Kwere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwg"] = { canonicalName = "Chewong", otherNames = {"Cheq Wong"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["cwt"] = { canonicalName = "Kuwaataay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cya"] = { canonicalName = "Nopala Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["cyb"] = { canonicalName = "Cayubaba", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["cyo"] = { canonicalName = "Cuyunon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["czh"] = { canonicalName = "Huizhou", otherNames = {"Huizhou Chinese"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["czk"] = { canonicalName = "Knaanic", type = "regular", scripts = {"Hebr"}, family = "zlw", } m["czn"] = { canonicalName = "Zenzontepec Chatino", type = "regular", scripts = {"None"}, family = "qfa-und", } m["czo"] = { canonicalName = "Min Zhong", otherNames = {"Min Zhong Chinese"}, type = "regular", scripts = {"None"}, family = "zhx", } m["czt"] = { canonicalName = "Zotung Chin", otherNames = {"Zotung"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } return m 5kqh1qwf5rnzmxnb3nhul72j5ipgn6z Module:languages/data3/d 828 4708 13354 2015-06-01T00:26:54Z Dalmo Pereira 1417 Bog cusub: 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... 13354 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 m = {} m["daa"] = { canonicalName = "Dangaléat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dac"] = { canonicalName = "Dambi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["dad"] = { canonicalName = "Marik", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["dae"] = { canonicalName = "Duupa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dag"] = { canonicalName = "Dagbani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dah"] = { canonicalName = "Gwahatike", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["dai"] = { canonicalName = "Day", type = "regular", scripts = {"None"}, family = "qfa-und", } m["daj"] = { canonicalName = "Dar Fur Daju", type = "regular", scripts = {"None"}, family = "sdv", } m["dak"] = { canonicalName = "Dakota", type = "regular", scripts = {"Latn"}, family = "sio", } m["dal"] = { canonicalName = "Dahalo", type = "regular", scripts = {"None"}, family = "cus", } m["dam"] = { canonicalName = "Damakawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dao"] = { canonicalName = "Daai Chin", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["daq"] = { canonicalName = "Dandami Maria", otherNames = {"Bison-Horn Maria", "Madia", "Madiya", "Maria (India)", "Maria"}, -- the last four are also names of daq's sibling lect, mrr type = "regular", scripts = {"None"}, family = "dra", } m["dar"] = { canonicalName = "Dargwa", otherNames = {"Dargin"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", translit_module = "dar-translit", } m["das"] = { canonicalName = "Daho-Doo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dau"] = { canonicalName = "Dar Sila Daju", type = "regular", scripts = {"None"}, family = "sdv", } m["dav"] = { canonicalName = "Taita", type = "regular", scripts = {"None"}, family = "qfa-und", } m["daw"] = { canonicalName = "Davawenyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dax"] = { canonicalName = "Dayi", type = "regular", scripts = {"None"}, family = "aus-yol", } m["daz"] = { canonicalName = "Dao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dba"] = { canonicalName = "Bangi Me", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbb"] = { canonicalName = "Deno", type = "regular", scripts = {"None"}, family = "cdc", } m["dbd"] = { canonicalName = "Dadiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbe"] = { canonicalName = "Dabe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbf"] = { canonicalName = "Edopi", otherNames = {"Elopi"}, type = "regular", scripts = {"None"}, family = "paa-lkp", } m["dbg"] = { canonicalName = "Dogul Dom Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dbi"] = { canonicalName = "Doka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbj"] = { canonicalName = "Ida'an", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["dbl"] = { canonicalName = "Dyirbal", type = "regular", scripts = {"Latn"}, family = "aus-dyb", } m["dbm"] = { canonicalName = "Duguri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbn"] = { canonicalName = "Duriankere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbo"] = { canonicalName = "Dulbu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbp"] = { canonicalName = "Duwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbq"] = { canonicalName = "Daba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbr"] = { canonicalName = "Dabarre", type = "regular", scripts = {"None"}, family = "cus", } m["dbt"] = { canonicalName = "Ben Tey Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dbu"] = { canonicalName = "Bondum Dom Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dbv"] = { canonicalName = "Dungu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dbw"] = { canonicalName = "Bankan Tey Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dby"] = { canonicalName = "Dibiyaso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dcc"] = { canonicalName = "Deccan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dcr"] = { canonicalName = "Negerhollands", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ddd"] = { canonicalName = "Dongotono", type = "regular", scripts = {"None"}, family = "sdv", } m["dde"] = { canonicalName = "Doondo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ddg"] = { canonicalName = "Fataluku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ddi"] = { canonicalName = "Diodio", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["ddj"] = { canonicalName = "Jaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ddn"] = { canonicalName = "Dendi", otherNames = {"Dandawa", "Dendi (West Africa)", "Dendi (Benin)"}, type = "regular", scripts = {"Latn"}, family = "son", } m["ddo"] = { canonicalName = "Tsez", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ddr"] = { canonicalName = "Dhudhuroa", otherNames = {"Yaitmathang"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["dds"] = { canonicalName = "Donno So Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["ddw"] = { canonicalName = "Dawera-Daweloor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dec"] = { canonicalName = "Dagik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ded"] = { canonicalName = "Dedua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dee"] = { canonicalName = "Dewoin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["def"] = { canonicalName = "Dezfuli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["deg"] = { canonicalName = "Degema", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["deh"] = { canonicalName = "Dehwari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dei"] = { canonicalName = "Demisa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dek"] = { canonicalName = "Dek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dem"] = { canonicalName = "Dem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["den"] = { canonicalName = "Slavey", otherNames = {"Slave", "Slavé"}, type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["dep"] = { canonicalName = "Pidgin Delaware", type = "regular", scripts = {"Latn"}, family = "crp", } m["der"] = { canonicalName = "Deori", type = "regular", scripts = {"None"}, family = "qfa-und", } m["des"] = { canonicalName = "Desano", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["dev"] = { canonicalName = "Domung", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["dez"] = { canonicalName = "Dengese", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dga"] = { canonicalName = "Southern Dagaare", type = "regular", scripts = {"Latn"}, family = "nic-gur", } m["dgb"] = { canonicalName = "Bunoge Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dgc"] = { canonicalName = "Casiguran Dumagat Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["dgd"] = { canonicalName = "Dagaari Dioula", type = "regular", scripts = {"Latn"}, family = "nic-gur", } m["dge"] = { canonicalName = "Degenan", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["dgg"] = { canonicalName = "Doga", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["dgh"] = { canonicalName = "Dghwede", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgi"] = { canonicalName = "Northern Dagara", type = "regular", scripts = {"Latn"}, family = "nic-gur", } m["dgk"] = { canonicalName = "Dagba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgn"] = { canonicalName = "Dagoman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgo"] = { canonicalName = "Hindi Dogri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgr"] = { canonicalName = "Dogrib", type = "regular", scripts = {"Latn"}, family = "ath-nor", } m["dgs"] = { canonicalName = "Dogoso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgt"] = { canonicalName = "Ntra'ngith", otherNames = {"Ndra'ngith"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["dgu"] = { canonicalName = "Degaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgx"] = { canonicalName = "Doghoro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dgz"] = { canonicalName = "Daga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhg"] = { canonicalName = "Dhangu", type = "regular", scripts = {"None"}, family = "aus-yol", } m["dhi"] = { canonicalName = "Dhimal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhl"] = { canonicalName = "Dhalandji", type = "regular", scripts = {"None"}, family = "aus-psw", } m["dhm"] = { canonicalName = "Zemba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhn"] = { canonicalName = "Dhanki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dho"] = { canonicalName = "Dhodia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhr"] = { canonicalName = "Tharrgari", otherNames = {"Dhargari"}, type = "regular", scripts = {"Latn"}, family = "aus-psw", } m["dhs"] = { canonicalName = "Dhaiso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhu"] = { canonicalName = "Dhurga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dhv"] = { canonicalName = "Drehu", type = "regular", scripts = {"None"}, family = "poz-occ", } m["dhw"] = { canonicalName = "Danuwar", otherNames = {"Danwar", "Dhanwar", "Rai"}, type = "regular", scripts = {"None"}, family = "inc", } m["dhx"] = { canonicalName = "Dhungaloo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dia"] = { canonicalName = "Dia", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["dib"] = { canonicalName = "South Central Dinka", type = "regular", scripts = {"None"}, family = "sdv", } m["dic"] = { canonicalName = "Lakota Dida", type = "regular", scripts = {"None"}, family = "qfa-und", } m["did"] = { canonicalName = "Didinga", type = "regular", scripts = {"None"}, family = "sdv", } m["dif"] = { canonicalName = "Dieri", otherNames = {"Diyari", "Dirari"}, type = "regular", scripts = {"Latn"}, family = "aus-kar", } m["dig"] = { canonicalName = "Chidigo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dih"] = { canonicalName = "Kumiai", otherNames = {"Diegueño"}, type = "regular", scripts = {"Latn"}, family = "nai-yuc", } m["dii"] = { canonicalName = "Dimbong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dij"] = { canonicalName = "Dai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dik"] = { canonicalName = "Southwestern Dinka", type = "regular", scripts = {"None"}, family = "sdv", } m["dil"] = { canonicalName = "Dilling", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dim"] = { canonicalName = "Dime", type = "regular", scripts = {"None"}, family = "qfa-und", } m["din"] = { canonicalName = "Dinka", type = "regular", scripts = {"Latn"}, family = "sdv", } m["dio"] = { canonicalName = "Dibo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dip"] = { canonicalName = "Northeastern Dinka", type = "regular", scripts = {"None"}, family = "sdv", } m["dir"] = { canonicalName = "Dirim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dis"] = { canonicalName = "Dimasa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["diu"] = { canonicalName = "Diudish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["diw"] = { canonicalName = "Northwestern Dinka", type = "regular", scripts = {"None"}, family = "sdv", } m["dix"] = { canonicalName = "Dixon Reef", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["diy"] = { canonicalName = "Diuwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["diz"] = { canonicalName = "Ding", type = "regular", scripts = {"None"}, family = "qfa-und", } m["djb"] = { canonicalName = "Djinba", type = "regular", scripts = {"None"}, family = "aus-yol", } m["djc"] = { canonicalName = "Dar Daju Daju", type = "regular", scripts = {"None"}, family = "sdv", } m["djd"] = { canonicalName = "Djamindjung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dje"] = { canonicalName = "Zarma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["djf"] = { canonicalName = "Djangun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dji"] = { canonicalName = "Djinang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["djj"] = { canonicalName = "Djeebbana", type = "regular", scripts = {"None"}, family = "aus-arn", } m["djk"] = { canonicalName = "Aukan", otherNames = {"Ndyuka"}, type = "regular", scripts = {"Latn", "Afak"}, family = "crp", } m["djl"] = { canonicalName = "Djiwarli", type = "regular", scripts = {"None"}, family = "aus-psw", } m["djm"] = { canonicalName = "Jamsay Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["djn"] = { canonicalName = "Djauan", type = "regular", scripts = {"None"}, family = "aus-gun", } m["djo"] = { canonicalName = "Jangkang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["djr"] = { canonicalName = "Djambarrpuyngu", type = "regular", scripts = {"None"}, family = "aus-yol", } m["dju"] = { canonicalName = "Kapriman", type = "regular", scripts = {"None"}, family = "qfa-und", } m["djw"] = { canonicalName = "Djawi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dka"] = { canonicalName = "Dakpakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dkk"] = { canonicalName = "Dakka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dkr"] = { canonicalName = "Kuijau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dks"] = { canonicalName = "Southeastern Dinka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dkx"] = { canonicalName = "Mazagway", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dlc"] = { canonicalName = "Elfdalian", otherNames = {"Övdalian"}, type = "regular", scripts = {"Latn"}, family = "gmq", } m["dlg"] = { canonicalName = "Dolgan", type = "regular", scripts = {"Cyrl"}, family = "trk", } m["dlk"] = { canonicalName = "Dahalik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dlm"] = { canonicalName = "Dalmatian", otherNames = {"Dalmatic"}, type = "regular", scripts = {"Latn"}, family = "roa", } m["dln"] = { canonicalName = "Darlong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dma"] = { canonicalName = "Duma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmb"] = { canonicalName = "Mombo Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dmc"] = { canonicalName = "Dimir", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dme"] = { canonicalName = "Dugwor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmg"] = { canonicalName = "Upper Kinabatangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmk"] = { canonicalName = "Domaaki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dml"] = { canonicalName = "Dameli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmm"] = { canonicalName = "Dama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmo"] = { canonicalName = "Kemezung", type = "regular", scripts = {"None"}, family = "nic-bod", } m["dmr"] = { canonicalName = "East Damar", type = "regular", scripts = {"None"}, family = "plf", } m["dms"] = { canonicalName = "Dampelas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmu"] = { canonicalName = "Dubu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmv"] = { canonicalName = "Dumpas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmw"] = { canonicalName = "Mudburra", otherNames = {"Mudbura"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["dmx"] = { canonicalName = "Dema", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dmy"] = { canonicalName = "Demta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dna"] = { canonicalName = "Upper Grand Valley Dani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dnd"] = { canonicalName = "Daonda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dne"] = { canonicalName = "Ndendeule", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dng"] = { canonicalName = "Dungan", type = "regular", scripts = {"Cyrl"}, family = "zhx", } m["dni"] = { canonicalName = "Lower Grand Valley Dani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dnj"] = { canonicalName = "Dan", type = "regular", scripts = {"None"}, family = "dmn", } m["dnk"] = { canonicalName = "Dengka", type = "regular", scripts = {"None"}, family = "plf", } m["dnn"] = { canonicalName = "Dzùùngoo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dnr"] = { canonicalName = "Danaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dnt"] = { canonicalName = "Mid Grand Valley Dani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dnu"] = { canonicalName = "Danau", type = "regular", scripts = {"None"}, family = "aav", } m["dnv"] = { canonicalName = "Danu", type = "regular", scripts = {"None"}, family = "tbq", } m["dnw"] = { canonicalName = "Western Dani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dny"] = { canonicalName = "Dení", type = "regular", scripts = {"None"}, family = "auf", } m["doa"] = { canonicalName = "Dom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dob"] = { canonicalName = "Dobu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["doe"] = { canonicalName = "Doe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dof"] = { canonicalName = "Domu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["doh"] = { canonicalName = "Dong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["doi"] = { canonicalName = "Dogri", type = "regular", scripts = {"Deva", "Takr", "fa-Arab"}, family = "inc", } m["dok"] = { canonicalName = "Dondo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dol"] = { canonicalName = "Doso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["don"] = { canonicalName = "Doura", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["doo"] = { canonicalName = "Dongo", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["dop"] = { canonicalName = "Lukpa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["doq"] = { canonicalName = "Dominican Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["dor"] = { canonicalName = "Dori'o", type = "regular", scripts = {"None"}, family = "poz-sls", } m["dos"] = { canonicalName = "Dogosé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dot"] = { canonicalName = "Dass", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dov"] = { canonicalName = "Dombe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dow"] = { canonicalName = "Doyayo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dox"] = { canonicalName = "Bussa", type = "regular", scripts = {"None"}, family = "cus", } m["doy"] = { canonicalName = "Dompo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["doz"] = { canonicalName = "Dorze", type = "regular", scripts = {"Latn"}, family = "omv", } m["dpp"] = { canonicalName = "Papar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["drb"] = { canonicalName = "Dair", type = "regular", scripts = {"None"}, family = "qfa-und", } m["drc"] = { canonicalName = "Minderico", type = "regular", scripts = {"None"}, family = "roa", } m["drd"] = { canonicalName = "Darmiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dre"] = { canonicalName = "Dolpo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["drg"] = { canonicalName = "Rungus", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dri"] = { canonicalName = "C'lela", otherNames = {"Lela"}, type = "regular", scripts = {"Latn"}, family = "nic-knj", } m["drl"] = { canonicalName = "Baagandji", otherNames = {"Darling", "Bandjigali"}, type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["drn"] = { canonicalName = "West Damar", type = "regular", scripts = {"None"}, family = "plf", } m["dro"] = { canonicalName = "Daro-Matu Melanau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["drq"] = { canonicalName = "Dura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["drr"] = { canonicalName = "Dororo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["drs"] = { canonicalName = "Gedeo", type = "regular", scripts = {"None"}, family = "cus", } m["dru"] = { canonicalName = "Rukai", type = "regular", scripts = {"Latn"}, family = "map", } m["dry"] = { canonicalName = "Darai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dsb"] = { canonicalName = "Lower Sorbian", otherNames = {"Lower Lusatian", "Lower Wendish"}, type = "regular", scripts = {"Latn"}, family = "wen", ancestors = {"sla-pro"}, sort_key = { from = {"b́", "ḿ", "ó", "ṕ", "ẃ"}, to = {"bj", "mj", "o", "pj", "wj"}} , } m["dse"] = { canonicalName = "Dutch Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["dsh"] = { canonicalName = "Daasanach", type = "regular", scripts = {"None"}, family = "cus", } m["dsi"] = { canonicalName = "Disa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dsl"] = { canonicalName = "Danish Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["dsn"] = { canonicalName = "Dusner", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["dso"] = { canonicalName = "Desiya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dsq"] = { canonicalName = "Tadaksahak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dta"] = { canonicalName = "Daur", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dtb"] = { canonicalName = "Labuk-Kinabatangan Kadazan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dtd"] = { canonicalName = "Ditidaht", otherNames = {"Diitidaht"}, type = "regular", scripts = {"Latn"}, family = "wak", } m["dti"] = { canonicalName = "Ana Tinga Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dtk"] = { canonicalName = "Tene Kan Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dtm"] = { canonicalName = "Tomo Kan Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dto"] = { canonicalName = "Tommo So Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dtp"] = { canonicalName = "Central Dusun", type = "regular", scripts = {"Latn"}, family = "poz-san", } m["dtr"] = { canonicalName = "Lotud", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dts"] = { canonicalName = "Toro So Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dtt"] = { canonicalName = "Toro Tegu Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dtu"] = { canonicalName = "Tebul Ure Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dua"] = { canonicalName = "Duala", type = "regular", scripts = {"Latn"}, family = "bnt", } m["dub"] = { canonicalName = "Dubli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duc"] = { canonicalName = "Duna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dud"] = { canonicalName = "Duka", otherNames = {"Saare", "Hun-Saare"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["due"] = { canonicalName = "Umiray Dumaget Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["duf"] = { canonicalName = "Dumbea", type = "regular", scripts = {"None"}, family = "poz-cln", } m["dug"] = { canonicalName = "Chiduruma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duh"] = { canonicalName = "Dungra Bhil", type = "regular", scripts = {"None"}, family = "inc", } m["dui"] = { canonicalName = "Dumun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duj"] = { canonicalName = "Dhuwal", type = "regular", scripts = {"Latn"}, family = "aus-yol", } m["duk"] = { canonicalName = "Uyajitaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dul"] = { canonicalName = "Alabat Island Agta", type = "regular", scripts = {"None"}, family = "phi", } m["dum"] = { canonicalName = "Middle Dutch", type = "regular", scripts = {"Latn"}, family = "gmw", ancestors = {"odt"}, entry_name = { from = {"[ĀÂ]", "[āâ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u"}} , } m["dun"] = { canonicalName = "Dusun Deyah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duo"] = { canonicalName = "Dupaninan Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["dup"] = { canonicalName = "Duano", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["duq"] = { canonicalName = "Dusun Malang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dur"] = { canonicalName = "Dii", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dus"] = { canonicalName = "Dumi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duu"] = { canonicalName = "Drung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duv"] = { canonicalName = "Duvle", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["duw"] = { canonicalName = "Dusun Witu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dux"] = { canonicalName = "Duungooma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["duy"] = { canonicalName = "Dicamay Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["duz"] = { canonicalName = "Duli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dva"] = { canonicalName = "Duau", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["dwa"] = { canonicalName = "Diri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dwl"] = { canonicalName = "Walo Kumbe Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dwr"] = { canonicalName = "Dawro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dww"] = { canonicalName = "Dawawa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["dya"] = { canonicalName = "Dyan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dyb"] = { canonicalName = "Dyaberdyaber", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dyd"] = { canonicalName = "Dyugun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dyg"] = { canonicalName = "Villa Viciosa Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["dyi"] = { canonicalName = "Djimini Senoufo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dym"] = { canonicalName = "Yanda Dom Dogon", type = "regular", scripts = {"None"}, family = "qfa-dgn", } m["dyn"] = { canonicalName = "Dyangadi", type = "regular", scripts = {"None"}, family = "aus-cww", } m["dyo"] = { canonicalName = "Jola-Fonyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dyu"] = { canonicalName = "Dyula", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dyy"] = { canonicalName = "Dyaabugay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dza"] = { canonicalName = "Tunzu", otherNames = {"Duguza"}, type = "regular", scripts = {"None"}, family = "nic-knj", } m["dzg"] = { canonicalName = "Dazaga", otherNames = {"Daza", "Dasaga"}, type = "regular", scripts = {"None"}, family = "ssa-sah", } m["dzl"] = { canonicalName = "Dzalakha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["dzn"] = { canonicalName = "Dzando", type = "regular", scripts = {"None"}, family = "qfa-und", } return m a9t0t9bljmqbka6zio875fatbeasale Module:languages/data3/b 828 4709 13355 2015-06-01T00:29:52Z Dalmo Pereira 1417 Bog cusub: 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... 13355 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 m = {} m["baa"] = { canonicalName = "Babatana", otherNames = {"Mbambatana"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bab"] = { canonicalName = "Bainouk-Gunyuño", type = "regular", scripts = {"None"}, family = "alv-sng", } m["bac"] = { canonicalName = "Badui", type = "regular", scripts = {"None"}, family = "poz-msa", } m["bae"] = { canonicalName = "Baré", otherNames = {"Barawana"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["baf"] = { canonicalName = "Nubaca", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bag"] = { canonicalName = "Tuki", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bah"] = { canonicalName = "Bahamian Creole", otherNames = {"Bahamian Creole English", "Bahamian", "Bahamas Creole", "Bahamas Creole English"}, type = "regular", scripts = {"None"}, family = "crp", } m["baj"] = { canonicalName = "Barakai", type = "regular", scripts = {"None"}, family = "plf", } m["bal"] = { canonicalName = "Baluchi", otherNames = {"Balochi", "Southern Baluchi", "Southern Balochi", "Eastern Baluchi", "Eastern Balochi", "Western Baluchi", "Western Balochi"}, type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["ban"] = { canonicalName = "Balinese", type = "regular", scripts = {"Latn", "Bali"}, family = "poz-msa", } m["bao"] = { canonicalName = "Waimaha", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["bap"] = { canonicalName = "Bantawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bar"] = { canonicalName = "Bavarian", type = "regular", scripts = {"Latn"}, family = "gmw", } m["bas"] = { canonicalName = "Basaa", otherNames = {"Basa (Cameroon)", "Basa"}, type = "regular", scripts = {"None"}, family = "bnt", } m["bau"] = { canonicalName = "Badanchi", otherNames = {"Bada", "Bada (Nigeria)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bav"] = { canonicalName = "Babungo", otherNames = {"Vengo"}, type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["baw"] = { canonicalName = "Bambili-Bambui", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bax"] = { canonicalName = "Bamum", otherNames = {"Bamun"}, type = "regular", scripts = {"Latn", "Bamu"}, family = "nic-bod", } m["bay"] = { canonicalName = "Batuley", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bba"] = { canonicalName = "Baatonum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbb"] = { canonicalName = "Barai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbc"] = { canonicalName = "Toba Batak", otherNames = {"Batak Toba"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["bbd"] = { canonicalName = "Bau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbe"] = { canonicalName = "Bangba", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["bbf"] = { canonicalName = "Baibai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbg"] = { canonicalName = "Barama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbh"] = { canonicalName = "Bugan", otherNames = {"Bogan"}, type = "regular", scripts = {"None"}, family = "mkh", } m["bbi"] = { canonicalName = "Barombi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbj"] = { canonicalName = "Ghomálá'", type = "regular", scripts = {"None"}, family = "bai", } m["bbk"] = { canonicalName = "Babanki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbl"] = { canonicalName = "Bats", type = "regular", scripts = {"Geor"}, translit_module = "Geor-translit", family = "cau-nec", entry_name = { from = {"̃"}, to = {""}} , } m["bbm"] = { canonicalName = "Babango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbn"] = { canonicalName = "Uneapa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bbo"] = { canonicalName = "Konabéré", otherNames = {"Bobo Fing", "Black Bobo", "Northern Bobo Madaré"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbp"] = { canonicalName = "West Central Banda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbq"] = { canonicalName = "Bamali", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bbr"] = { canonicalName = "Girawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbs"] = { canonicalName = "Bakpinka", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bbt"] = { canonicalName = "Mburku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbu"] = { canonicalName = "Bakulung", otherNames = {"Kulung", "Kulung (Nigeria)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbv"] = { canonicalName = "Karnai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bbw"] = { canonicalName = "Baba", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bbx"] = { canonicalName = "Bubia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bby"] = { canonicalName = "Befang", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bbz"] = { canonicalName = "Babalia Creole Arabic", otherNames = {"Babalia Arabic"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bca"] = { canonicalName = "Central Bai", otherNames = {"Jianchuan Bai"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcb"] = { canonicalName = "Bainouk-Samik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcd"] = { canonicalName = "North Babar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bce"] = { canonicalName = "Bamenyam", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bcf"] = { canonicalName = "Bamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcg"] = { canonicalName = "Baga Binari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bch"] = { canonicalName = "Bariai", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bci"] = { canonicalName = "Baoule", otherNames = {"Baoulé", "Bawule"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["bcj"] = { canonicalName = "Bardi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bck"] = { canonicalName = "Bunaba", type = "regular", scripts = {"None"}, family = "aus-bub", } m["bcl"] = { canonicalName = "Bikol Central", otherNames = {"Central Bikol", "Bikol"}, -- also "Central Bicolano"? type = "regular", scripts = {"Latn"}, family = "phi", } m["bcm"] = { canonicalName = "Bannoni", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bcn"] = { canonicalName = "Bibaali", otherNames = {"Bali", "Bali (Nigeria)", "Abaali"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bco"] = { canonicalName = "Kaluli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcp"] = { canonicalName = "Bali", otherNames = {"Bali (Congo)", "Bali (Democratic Republic of the Congo)", "Baali", "Kibali", "Libaali"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcq"] = { canonicalName = "Bench", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcr"] = { canonicalName = "Babine", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcs"] = { canonicalName = "Kohumono", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bct"] = { canonicalName = "Bendi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcu"] = { canonicalName = "Awad Bing", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bcv"] = { canonicalName = "Shoo-Minda-Nye", otherNames = {"Shoo", "Minda", "Nye"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["bcw"] = { canonicalName = "Bana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcy"] = { canonicalName = "Bacama", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bcz"] = { canonicalName = "Bainouk-Gunyaamolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bda"] = { canonicalName = "Bayot", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdb"] = { canonicalName = "Basap", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdc"] = { canonicalName = "Emberá-Baudó", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdd"] = { canonicalName = "Bunama", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bde"] = { canonicalName = "Bade", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdf"] = { canonicalName = "Biage", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdg"] = { canonicalName = "Bonggi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdh"] = { canonicalName = "Tara Baka", otherNames = {"Baka", "Baka (Sudan)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdi"] = { canonicalName = "Burun", otherNames = {"Northern Burun", "Maiak", "Mayak", "Mughaja", "Kurmuk"}, type = "regular", scripts = {"Latn"}, family = "sdv", } m["bdj"] = { canonicalName = "Bai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdk"] = { canonicalName = "Budukh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdl"] = { canonicalName = "Indonesian Bajau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdm"] = { canonicalName = "Buduma", otherNames = {"Yedina", "Kuri"}, type = "regular", scripts = {"Latn"}, family = "cdc-cbm", } m["bdn"] = { canonicalName = "Baldemu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdo"] = { canonicalName = "Morom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdp"] = { canonicalName = "Bende", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdq"] = { canonicalName = "Bahnar", type = "regular", scripts = {"None"}, family = "mkh", } m["bdr"] = { canonicalName = "West Coast Bajau", type = "regular", scripts = {"Latn"}, family = "poz-sbj", } m["bds"] = { canonicalName = "Burunge", type = "regular", scripts = {"None"}, family = "cus", } m["bdt"] = { canonicalName = "Bokoto", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdu"] = { canonicalName = "Oroko", otherNames = {"Bima"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdv"] = { canonicalName = "Bodo Parja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdw"] = { canonicalName = "Baham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdx"] = { canonicalName = "Budong-Budong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bdy"] = { canonicalName = "Bandjalang", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["bdz"] = { canonicalName = "Badeshi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bea"] = { canonicalName = "Beaver", type = "regular", scripts = {"None"}, family = "qfa-und", } m["beb"] = { canonicalName = "Bebele", type = "regular", scripts = {"None"}, family = "bnt", } m["bec"] = { canonicalName = "Iceve-Maci", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bed"] = { canonicalName = "Bedoanas", type = "regular", scripts = {"None"}, family = "poz-hce", } m["bee"] = { canonicalName = "Byangsi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bef"] = { canonicalName = "Benabena", type = "regular", scripts = {"None"}, family = "qfa-und", } m["beg"] = { canonicalName = "Belait", type = "regular", scripts = {"None"}, family = "qfa-und", } m["beh"] = { canonicalName = "Biali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bei"] = { canonicalName = "Bekati'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bej"] = { canonicalName = "Beja", type = "regular", scripts = {"Arab"}, family = "cus", } m["bek"] = { canonicalName = "Bebeli", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bem"] = { canonicalName = "Bemba", otherNames = {"Bemba (Zambia)"}, type = "regular", scripts = {"None"}, family = "bnt", } m["beo"] = { canonicalName = "Beami", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bep"] = { canonicalName = "Besoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["beq"] = { canonicalName = "Beembe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bes"] = { canonicalName = "Besme", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bet"] = { canonicalName = "Guiberoua Béte", type = "regular", scripts = {"None"}, family = "qfa-und", } m["beu"] = { canonicalName = "Blagar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bev"] = { canonicalName = "Daloa Bété", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bew"] = { canonicalName = "Betawi", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"ms"}, } m["bex"] = { canonicalName = "Jur Modo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bey"] = { canonicalName = "Akuwagel", otherNames = {"Beli", "Beli (New Guinea)", "Beli (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "qfa-tor", } m["bez"] = { canonicalName = "Kibena", otherNames = {"Bena", "Bena (Tanzania)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfa"] = { canonicalName = "Bari", type = "regular", scripts = {"Latn"}, family = "sdv", } m["bfb"] = { canonicalName = "Pauri Bareli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfc"] = { canonicalName = "Northern Bai", otherNames = {"Bijiang Bai", "Laemae", "Lama", "Panyi Bai"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfd"] = { canonicalName = "Bafut", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bfe"] = { canonicalName = "Betaf", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bff"] = { canonicalName = "Bofi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfg"] = { canonicalName = "Busang Kayan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfh"] = { canonicalName = "Blafe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfi"] = { canonicalName = "British Sign Language", otherNames = {"BSL"}, type = "regular", scripts = {"None"}, family = "sgn", } m["bfj"] = { canonicalName = "Bafanji", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bfk"] = { canonicalName = "Ban Khor Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["bfl"] = { canonicalName = "Banda-Ndélé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfm"] = { canonicalName = "Mmen", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bfn"] = { canonicalName = "Bunak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfo"] = { canonicalName = "Malba Birifor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfp"] = { canonicalName = "Beba", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bfq"] = { canonicalName = "Badaga", type = "regular", scripts = {"None"}, family = "dra", } m["bfr"] = { canonicalName = "Bazigar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfs"] = { canonicalName = "Southern Bai", otherNames = {"Dali Bai"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bft"] = { canonicalName = "Balti", type = "regular", scripts = {"None"}, family = "tbq", } m["bfu"] = { canonicalName = "Gahri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfw"] = { canonicalName = "Bondo", type = "regular", scripts = {"None"}, family = "mun", } m["bfx"] = { canonicalName = "Bantayanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfy"] = { canonicalName = "Bagheli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bfz"] = { canonicalName = "Mahasu Pahari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bga"] = { canonicalName = "Gwamhi-Wuri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgb"] = { canonicalName = "Bobongko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgc"] = { canonicalName = "Haryanvi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgd"] = { canonicalName = "Rathwi Bareli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bge"] = { canonicalName = "Bauria", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgf"] = { canonicalName = "Bangandu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgg"] = { canonicalName = "Bugun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgi"] = { canonicalName = "Giangan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgj"] = { canonicalName = "Bangolan", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bgk"] = { canonicalName = "Bit", type = "regular", scripts = {"None"}, family = "mkh", } m["bgl"] = { canonicalName = "Bo", otherNames = {"Bo (Laos)"}, -- if 'bpw' is added, the disambiguating name will have to be made the canonical one type = "regular", scripts = {"None"}, family = "mkh-vie", } m["bgm"] = { canonicalName = "Baga Mboteni", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgo"] = { canonicalName = "Baga Koga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgq"] = { canonicalName = "Bagri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgr"] = { canonicalName = "Bawm Chin", otherNames = {"Bawm"}, type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["bgs"] = { canonicalName = "Tagabawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgt"] = { canonicalName = "Bughotu", otherNames = {"Bugotu"}, type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["bgu"] = { canonicalName = "Mbongno", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bgv"] = { canonicalName = "Warkay-Bipim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgw"] = { canonicalName = "Bhatri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgx"] = { canonicalName = "Balkan Gagauz Turkish", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgy"] = { canonicalName = "Benggoi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bgz"] = { canonicalName = "Banggai", type = "regular", scripts = {"Latn"}, family = "poz-slb", } m["bha"] = { canonicalName = "Bharia", type = "regular", scripts = {"None"}, family = "dra", } m["bhb"] = { canonicalName = "Bhili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhc"] = { canonicalName = "Biga", type = "regular", scripts = {"None"}, family = "poz-hce", } m["bhd"] = { canonicalName = "Bhadrawahi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhe"] = { canonicalName = "Bhaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhf"] = { canonicalName = "Odiai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhg"] = { canonicalName = "Binandere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhh"] = { canonicalName = "Bukhari", type = "regular", scripts = {"Cyrl", "Hebr", "Latn", "fa-Arab"}, family = "qfa-und", } m["bhi"] = { canonicalName = "Bhilali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhj"] = { canonicalName = "Bahing", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhl"] = { canonicalName = "Bimin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhm"] = { canonicalName = "Bathari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhn"] = { canonicalName = "Bohtan Neo-Aramaic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bho"] = { canonicalName = "Bhojpuri", type = "regular", scripts = {"Deva"}, family = "inc", } m["bhp"] = { canonicalName = "Bima", otherNames = {"Bimanese"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["bhq"] = { canonicalName = "Tukang Besi South", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhs"] = { canonicalName = "Buwal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bht"] = { canonicalName = "Bhattiyali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhu"] = { canonicalName = "Bhunjia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhv"] = { canonicalName = "Bahau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhw"] = { canonicalName = "Biak", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["bhx"] = { canonicalName = "Bhalay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhy"] = { canonicalName = "Bhele", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bhz"] = { canonicalName = "Bada", otherNames = {"Bada (Indonesia)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bia"] = { canonicalName = "Badimaya", type = "regular", scripts = {"None"}, family = "aus-psw", } m["bib"] = { canonicalName = "Bissa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bic"] = { canonicalName = "Bikaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bid"] = { canonicalName = "Bidiyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bie"] = { canonicalName = "Bepour", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bif"] = { canonicalName = "Biafada", type = "regular", scripts = {"None"}, family = "qfa-und", } m["big"] = { canonicalName = "Biangai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bij"] = { canonicalName = "Vaghat-Ya-Bijim-Legeri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bil"] = { canonicalName = "Bile", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bim"] = { canonicalName = "Bimoba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bin"] = { canonicalName = "Edo", otherNames = {"Bini"}, type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["bio"] = { canonicalName = "Nai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bip"] = { canonicalName = "Bila", type = "regular", scripts = {"None"}, family = "qfa-und", } m["biq"] = { canonicalName = "Bipi", type = "regular", scripts = {"None"}, family = "poz-aay", } m["bir"] = { canonicalName = "Bisorio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bit"] = { canonicalName = "Berinomo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["biu"] = { canonicalName = "Biete", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["biv"] = { canonicalName = "Southern Birifor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["biw"] = { canonicalName = "Kol (Cameroon)", otherNames = {"Kol"}, type = "regular", scripts = {"None"}, family = "bnt", } m["bix"] = { canonicalName = "Bijori", type = "regular", scripts = {"None"}, family = "mun", } m["biy"] = { canonicalName = "Birhor", type = "regular", scripts = {"None"}, family = "mun", } m["biz"] = { canonicalName = "Baloi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bja"] = { canonicalName = "Budza", otherNames = {"Buja"}, type = "regular", scripts = {"None"}, family = "bnt", } m["bjb"] = { canonicalName = "Banggarla", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjc"] = { canonicalName = "Bariji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bje"] = { canonicalName = "Biao-Jiao Mien", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjf"] = { canonicalName = "Barzani Jewish Neo-Aramaic", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjg"] = { canonicalName = "Bidyogo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjh"] = { canonicalName = "Bahinemo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bji"] = { canonicalName = "Burji", type = "regular", scripts = {"None"}, family = "cus", } m["bjj"] = { canonicalName = "Kanauji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjk"] = { canonicalName = "Barok", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bjl"] = { canonicalName = "Bulu (New Guinea)", otherNames = {"Bulu (Papua New Guinea)", "Bulu"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bjm"] = { canonicalName = "Bajelani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjn"] = { canonicalName = "Banjarese", otherNames = {"Banjar"}, type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["bjo"] = { canonicalName = "Mid-Southern Banda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjp"] = { canonicalName = "Fanamaket", type = "regular", scripts = {"None"}, family = "poz-oce", } m["bjr"] = { canonicalName = "Binumarien", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjs"] = { canonicalName = "Bajan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjt"] = { canonicalName = "Balanta-Ganja", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bju"] = { canonicalName = "Busuu", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bjv"] = { canonicalName = "Bedjond", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjw"] = { canonicalName = "Bakwé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjx"] = { canonicalName = "Banao Itneg", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjy"] = { canonicalName = "Bayali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bjz"] = { canonicalName = "Baruga", type = "regular", scripts = {"Latn"}, family = "ngf", } m["bka"] = { canonicalName = "Kyak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkc"] = { canonicalName = "Baka", otherNames = {"Baka (Cameroon)"}, type = "regular", scripts = {"None"}, family = "nic-ubg", } m["bkd"] = { canonicalName = "Binukid", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkf"] = { canonicalName = "Beeke", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkg"] = { canonicalName = "Buraka", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["bkh"] = { canonicalName = "Bakoko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bki"] = { canonicalName = "Baki", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["bkj"] = { canonicalName = "Pande", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkk"] = { canonicalName = "Brokskat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkl"] = { canonicalName = "Berik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkm"] = { canonicalName = "Kom (Cameroon)", otherNames = {"Kom"}, type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["bkn"] = { canonicalName = "Bukitan", type = "regular", scripts = {"None"}, family = "poz", } m["bko"] = { canonicalName = "Kwa'", type = "regular", scripts = {"None"}, family = "bai", } m["bkp"] = { canonicalName = "Iboko", otherNames = {"Boko", "Boko (Congo)", "Boko (Democratic Republic of the Congo)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkq"] = { canonicalName = "Bakairí", type = "regular", scripts = {"None"}, family = "sai-car", } m["bkr"] = { canonicalName = "Bakumpai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bks"] = { canonicalName = "Masbate Sorsogon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkt"] = { canonicalName = "Boloki", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bku"] = { canonicalName = "Buhid", type = "regular", scripts = {"Buhd"}, family = "phi", } m["bkv"] = { canonicalName = "Bekwarra", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bkw"] = { canonicalName = "Bekwel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bkx"] = { canonicalName = "Baikeno", type = "regular", scripts = {"None"}, family = "plf", } m["bky"] = { canonicalName = "Bokyi", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bkz"] = { canonicalName = "Bungku", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bla"] = { canonicalName = "Blackfoot", otherNames = {"Siksika", "Blackfeet"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["blb"] = { canonicalName = "Bilua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blc"] = { canonicalName = "Bella Coola", otherNames = {"Nuxálk", "Nuxalk"}, type = "regular", scripts = {"Latn"}, family = "sal", } m["bld"] = { canonicalName = "Bolango", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ble"] = { canonicalName = "Balanta-Kentohe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blf"] = { canonicalName = "Buol", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blg"] = { canonicalName = "Balau", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blh"] = { canonicalName = "Kuwaa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bli"] = { canonicalName = "Bolia", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blj"] = { canonicalName = "Bolongan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blk"] = { canonicalName = "Pa'o Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bll"] = { canonicalName = "Biloxi", type = "regular", scripts = {"None"}, family = "sio", } m["blm"] = { canonicalName = "Beli", otherNames = {"Behli", "Beili", "Jur Beli", "Beli (Sudan)", "Beli (South Sudan)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bln"] = { canonicalName = "Southern Catanduanes Bicolano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blo"] = { canonicalName = "Anii", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blp"] = { canonicalName = "Blablanga", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["blq"] = { canonicalName = "Baluan-Pam", type = "regular", scripts = {"Latn"}, family = "poz-aay", } m["blr"] = { canonicalName = "Blang", type = "regular", scripts = {"None"}, family = "aav", } m["bls"] = { canonicalName = "Balaesang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blt"] = { canonicalName = "Tai Dam", type = "regular", scripts = {"Tavt"}, family = "tai-swe", } m["blv"] = { canonicalName = "Bolo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blw"] = { canonicalName = "Balangao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blx"] = { canonicalName = "Mag-Indi Ayta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bly"] = { canonicalName = "Notre", type = "regular", scripts = {"None"}, family = "qfa-und", } m["blz"] = { canonicalName = "Balantak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bma"] = { canonicalName = "Lame", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmb"] = { canonicalName = "Bembe", otherNames = {"Bemba", "Kinyabemba"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["bmc"] = { canonicalName = "Biem", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bmd"] = { canonicalName = "Baga Manduri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bme"] = { canonicalName = "Limassa", type = "regular", scripts = {"None"}, family = "nic-ubg", } m["bmf"] = { canonicalName = "Bom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmg"] = { canonicalName = "Bamwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmh"] = { canonicalName = "Kein", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmi"] = { canonicalName = "Bagirmi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmj"] = { canonicalName = "Bote-Majhi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmk"] = { canonicalName = "Ghayavi", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bml"] = { canonicalName = "Bomboli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmn"] = { canonicalName = "Bina", otherNames = {"Bina (New Guinea)", "Bina (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bmo"] = { canonicalName = "Bambalang", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bmp"] = { canonicalName = "Bulgebi", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["bmq"] = { canonicalName = "Bomu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmr"] = { canonicalName = "Muinane", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmt"] = { canonicalName = "Biao Mon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmu"] = { canonicalName = "Somba-Siawari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmv"] = { canonicalName = "Bum", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bmw"] = { canonicalName = "Bomwali", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmx"] = { canonicalName = "Baimak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bmz"] = { canonicalName = "Baramu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bna"] = { canonicalName = "Bonerate", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnb"] = { canonicalName = "Bookan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnc"] = { canonicalName = "Bontoc", type = "regular", scripts = {"Latn"}, family = "phi", } m["bnd"] = { canonicalName = "Banda", otherNames = {"Banda (Indonesia)"}, type = "regular", scripts = {"None"}, family = "plf", } m["bne"] = { canonicalName = "Bintauna", type = "regular", scripts = {"None"}, family = "phi", } m["bnf"] = { canonicalName = "Masiwang", otherNames = {"Bonfia"}, type = "regular", scripts = {"Latn"}, family = "plf", } m["bng"] = { canonicalName = "Benga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bni"] = { canonicalName = "Bangi", otherNames = {"Bobangi", "Bubangi"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["bnj"] = { canonicalName = "Eastern Tawbuid", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnk"] = { canonicalName = "Bierebo", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["bnl"] = { canonicalName = "Boon", type = "regular", scripts = {"None"}, family = "cus", } m["bnm"] = { canonicalName = "Batanga", type = "regular", scripts = {"Latn"}, family = "bnt", } m["bnn"] = { canonicalName = "Bunun", type = "regular", scripts = {"Latn"}, family = "map", } m["bno"] = { canonicalName = "Asi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnp"] = { canonicalName = "Bola", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bnq"] = { canonicalName = "Bantik", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnr"] = { canonicalName = "Butmas-Tur", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["bns"] = { canonicalName = "Bundeli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnu"] = { canonicalName = "Bentong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnv"] = { canonicalName = "Beneraf", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnw"] = { canonicalName = "Bisis", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bnx"] = { canonicalName = "Bangubangu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bny"] = { canonicalName = "Bintulu", type = "regular", scripts = {"Latn"}, family = "poz-swa", } m["bnz"] = { canonicalName = "Beezen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["boa"] = { canonicalName = "Bora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bob"] = { canonicalName = "Aweer", type = "regular", scripts = {"None"}, family = "cus", } m["boe"] = { canonicalName = "Mundabli", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bof"] = { canonicalName = "Bolon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bog"] = { canonicalName = "Bamako Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["boh"] = { canonicalName = "Boma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["boi"] = { canonicalName = "Barbareño", type = "regular", scripts = {"None"}, family = "nai-chu", } m["boj"] = { canonicalName = "Anjam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bok"] = { canonicalName = "Bonjo", type = "regular", scripts = {"None"}, family = "alv", } m["bol"] = { canonicalName = "Bole", type = "regular", scripts = {"None"}, family = "cdc", } m["bom"] = { canonicalName = "Berom", otherNames = {"Birom"}, type = "regular", scripts = {"Latn"}, family = "alv", } m["bon"] = { canonicalName = "Bine", type = "regular", scripts = {"None"}, family = "qfa-und", } m["boo"] = { canonicalName = "Tiemacèwè Bozo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bop"] = { canonicalName = "Bonkiman", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["boq"] = { canonicalName = "Bogaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bor"] = { canonicalName = "Borôro", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["bot"] = { canonicalName = "Bongo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bou"] = { canonicalName = "Bondei", type = "regular", scripts = {"Latn"}, family = "bnt", } m["bov"] = { canonicalName = "Tuwuli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bow"] = { canonicalName = "Rema", type = "regular", scripts = {"None"}, family = "qfa-und", } m["box"] = { canonicalName = "Buamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["boy"] = { canonicalName = "Bodo (Central Africa)", otherNames = {"Bodo (Central African Republic)", "Bodo"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["boz"] = { canonicalName = "Tiéyaxo Bozo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpa"] = { canonicalName = "Dakaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpb"] = { canonicalName = "Barbacoas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpd"] = { canonicalName = "Banda-Banda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpg"] = { canonicalName = "Bonggo", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bph"] = { canonicalName = "Botlikh", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["bpi"] = { canonicalName = "Bagupi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpj"] = { canonicalName = "Binji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpk"] = { canonicalName = "Orowe", type = "regular", scripts = {"None"}, family = "poz-cln", } m["bpl"] = { canonicalName = "Broome Pearling Lugger Pidgin", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"ms"}, } m["bpm"] = { canonicalName = "Biyom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpn"] = { canonicalName = "Dzao Min", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpo"] = { canonicalName = "Anasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpp"] = { canonicalName = "Kaure", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpq"] = { canonicalName = "Banda Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpr"] = { canonicalName = "Koronadal Blaan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bps"] = { canonicalName = "Sarangani Blaan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpt"] = { canonicalName = "Barrow Point", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpu"] = { canonicalName = "Bongu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpv"] = { canonicalName = "Bian Marind", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpx"] = { canonicalName = "Palya Bareli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bpy"] = { canonicalName = "Bishnupriya Manipuri", otherNames = {"Bishnupriya", "Manipuri Bishnupriya"}, type = "regular", scripts = {"Beng"}, family = "inc", } m["bpz"] = { canonicalName = "Bilba", type = "regular", scripts = {"Latn"}, family = "plf", } m["bqa"] = { canonicalName = "Tchumbuli", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqb"] = { canonicalName = "Bagusa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqc"] = { canonicalName = "Boko", otherNames = {"Boko (Benin)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqd"] = { canonicalName = "Bung", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqf"] = { canonicalName = "Baga Kaloum", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqg"] = { canonicalName = "Bago-Kusuntu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqh"] = { canonicalName = "Baima", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqi"] = { canonicalName = "Bakhtiari", type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["bqj"] = { canonicalName = "Bandial", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqk"] = { canonicalName = "Banda-Mbrès", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bql"] = { canonicalName = "Bilakura", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqm"] = { canonicalName = "Wumboko", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqn"] = { canonicalName = "Bulgarian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["bqo"] = { canonicalName = "Balo", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bqp"] = { canonicalName = "Busa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqq"] = { canonicalName = "Biritai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqr"] = { canonicalName = "Burusu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqs"] = { canonicalName = "Bosngun", type = "regular", scripts = {"None"}, family = "paa", } m["bqt"] = { canonicalName = "Bamukumbit", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bqu"] = { canonicalName = "Boguru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqv"] = { canonicalName = "Begbere-Ejar", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqw"] = { canonicalName = "Buru (Nigeria)", otherNames = {"Buru"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["bqx"] = { canonicalName = "Baangi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bqy"] = { canonicalName = "Bengkala Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["bqz"] = { canonicalName = "Bakaka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bra"] = { canonicalName = "Braj", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brb"] = { canonicalName = "Lave", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brc"] = { canonicalName = "Berbice Creole Dutch", otherNames = {"Berbice Dutch", "Berbice Dutch Creole", "Berbice Creole"}, type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"nl"}, } m["brd"] = { canonicalName = "Baraamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brf"] = { canonicalName = "Bera", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brg"] = { canonicalName = "Baure", otherNames = {"Bauré"}, type = "regular", scripts = {"Latn"}, family = "awd", } m["brh"] = { canonicalName = "Brahui", type = "regular", scripts = {"Arab", "Latn"}, family = "dra", } m["bri"] = { canonicalName = "Mokpwe", type = "regular", scripts = {"Latn"}, family = "bnt", } m["brj"] = { canonicalName = "Bieria", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["brk"] = { canonicalName = "Birked", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brl"] = { canonicalName = "Birwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brm"] = { canonicalName = "Barambu", type = "regular", scripts = {"None"}, family = "znd", } m["brn"] = { canonicalName = "Boruca", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bro"] = { canonicalName = "Brokkat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brp"] = { canonicalName = "Barapasi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brq"] = { canonicalName = "Breri", type = "regular", scripts = {"None"}, family = "paa", } m["brr"] = { canonicalName = "Birao", type = "regular", scripts = {"None"}, family = "poz-sls", } m["brs"] = { canonicalName = "Baras", otherNames = {"Ende", "West Kaili"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["brt"] = { canonicalName = "Bitare", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bru"] = { canonicalName = "Eastern Bru", type = "regular", scripts = {"None"}, family = "mkh", } m["brv"] = { canonicalName = "Western Bru", type = "regular", scripts = {"None"}, family = "mkh", } m["brw"] = { canonicalName = "Bellari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brx"] = { canonicalName = "Bodo (India)", otherNames = {"Bodo"}, type = "regular", scripts = {"Deva", "Latn"}, family = "tbq", } m["bry"] = { canonicalName = "Burui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["brz"] = { canonicalName = "Bilbil", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bsa"] = { canonicalName = "Abinomn", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsb"] = { canonicalName = "Brunei Bisaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsc"] = { canonicalName = "Bassari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bse"] = { canonicalName = "Wushi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsf"] = { canonicalName = "Bauchi", type = "regular", scripts = {"None"}, family = "nic-knj", } m["bsg"] = { canonicalName = "Bashkardi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsh"] = { canonicalName = "Kati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsi"] = { canonicalName = "Bassossi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsj"] = { canonicalName = "Bangwinji", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsk"] = { canonicalName = "Burushaski", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["bsl"] = { canonicalName = "Basa-Gumna", type = "regular", scripts = {"None"}, family = "nic-knj", } m["bsm"] = { canonicalName = "Busami", type = "regular", scripts = {"None"}, family = "poz-hce", } m["bsn"] = { canonicalName = "Barasana", type = "regular", scripts = {"None"}, family = "qfa-tuc", } m["bso"] = { canonicalName = "Buso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsp"] = { canonicalName = "Baga Sitemu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsq"] = { canonicalName = "Bassa", type = "regular", scripts = {"Latn", "Bass"}, family = "kro", } m["bsr"] = { canonicalName = "Bassa-Kontagora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bss"] = { canonicalName = "Akoose", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bst"] = { canonicalName = "Basketo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsu"] = { canonicalName = "Bahonsuai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsv"] = { canonicalName = "Baga Sobané", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bsw"] = { canonicalName = "Baiso", type = "regular", scripts = {"None"}, family = "cus", } m["bsx"] = { canonicalName = "Yangkam", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bsy"] = { canonicalName = "Sabah Bisaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bta"] = { canonicalName = "Bata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btc"] = { canonicalName = "Bati (Cameroon)", otherNames = {"Bati"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["btd"] = { canonicalName = "Dairi Batak", otherNames = {"Batak Dairi"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["bte"] = { canonicalName = "Gamo-Ningi", type = "regular", scripts = {"None"}, family = "nic-knj", } m["btf"] = { canonicalName = "Birgit", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btg"] = { canonicalName = "Gagnoa Bété", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bth"] = { canonicalName = "Biatah Bidayuh", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bti"] = { canonicalName = "Burate", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btj"] = { canonicalName = "Bacanese Malay", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["btl"] = { canonicalName = "Bhatola", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btm"] = { canonicalName = "Mandailing Batak", otherNames = {"Batak Mandailing"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["btn"] = { canonicalName = "Ratagnon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bto"] = { canonicalName = "Iriga Bicolano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btp"] = { canonicalName = "Budibud", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["btq"] = { canonicalName = "Batek", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btr"] = { canonicalName = "Baetora", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bts"] = { canonicalName = "Simalungun Batak", otherNames = {"Batak Simalungun"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["btt"] = { canonicalName = "Bete-Bendi", type = "regular", scripts = {"None"}, family = "nic-bco", } m["btu"] = { canonicalName = "Batu", type = "regular", scripts = {"None"}, family = "nic-bod", } m["btv"] = { canonicalName = "Bateri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btw"] = { canonicalName = "Butuanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["btx"] = { canonicalName = "Karo Batak", otherNames = {"Batak Karo"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["bty"] = { canonicalName = "Bobot", type = "regular", scripts = {"None"}, family = "plf", } m["btz"] = { canonicalName = "Alas-Kluet Batak", otherNames = {"Batak Alas-Kluet"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["bua"] = { canonicalName = "Buryat", otherNames = {"Buriat"}, type = "regular", scripts = {"Cyrl"}, family = "xgn", translit_module = "bua-translit", wikimedia_codes = {"bxr"}, } m["bub"] = { canonicalName = "Bua", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buc"] = { canonicalName = "Bushi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bud"] = { canonicalName = "Ntcham", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bue"] = { canonicalName = "Beothuk", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buf"] = { canonicalName = "Bushoong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bug"] = { canonicalName = "Buginese", type = "regular", scripts = {"Bugi", "Latn"}, family = "poz-ssw", } m["buh"] = { canonicalName = "Younuo Bunu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bui"] = { canonicalName = "Bongili", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buj"] = { canonicalName = "Basa-Gurmana", type = "regular", scripts = {"None"}, family = "nic-knj", } m["buk"] = { canonicalName = "Bugawac", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bum"] = { canonicalName = "Bulu (Cameroon)", otherNames = {"Bulu"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["bun"] = { canonicalName = "Sherbro", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buo"] = { canonicalName = "Terei", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bup"] = { canonicalName = "Busoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buq"] = { canonicalName = "Brem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bus"] = { canonicalName = "Bokobaru", type = "regular", scripts = {"None"}, family = "qfa-und", } m["but"] = { canonicalName = "Bungain", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["buu"] = { canonicalName = "Budu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buv"] = { canonicalName = "Bun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buw"] = { canonicalName = "Bubi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bux"] = { canonicalName = "Boghom", type = "regular", scripts = {"None"}, family = "qfa-und", } m["buy"] = { canonicalName = "Bullom So", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bva"] = { canonicalName = "Barein", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvb"] = { canonicalName = "Bube", type = "regular", scripts = {"Latn"}, family = "bnt", } m["bvc"] = { canonicalName = "Baelelea", type = "regular", scripts = {"None"}, family = "poz-sls", } m["bvd"] = { canonicalName = "Baeggu", otherNames = {"Mbaenggu", "Baegu"}, type = "regular", scripts = {"None"}, family = "poz-sls", } m["bve"] = { canonicalName = "Berau Malay", type = "regular", scripts = {"Latn"}, family = "poz-mly", } m["bvf"] = { canonicalName = "Boor", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvg"] = { canonicalName = "Bonkeng", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvh"] = { canonicalName = "Bure", type = "regular", scripts = {"None"}, family = "cdc", } m["bvi"] = { canonicalName = "Belanda Viri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvj"] = { canonicalName = "Baan", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bvk"] = { canonicalName = "Bukat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvl"] = { canonicalName = "Bolivian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["bvm"] = { canonicalName = "Bamunka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvn"] = { canonicalName = "Buna", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["bvo"] = { canonicalName = "Bolgo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvp"] = { canonicalName = "Bumang", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvq"] = { canonicalName = "Birri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvr"] = { canonicalName = "Burarra", type = "regular", scripts = {"None"}, family = "aus-arn", } m["bvt"] = { canonicalName = "Bati (Indonesia)", otherNames = {"Bati"}, type = "regular", scripts = {"None"}, family = "poz", } m["bvu"] = { canonicalName = "Bukit Malay", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvv"] = { canonicalName = "Baniva", type = "regular", scripts = {"None"}, family = "awd", } m["bvw"] = { canonicalName = "Boga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvx"] = { canonicalName = "Dibole", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvy"] = { canonicalName = "Baybayanon", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bvz"] = { canonicalName = "Bauzi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwa"] = { canonicalName = "Bwatoo", type = "regular", scripts = {"None"}, family = "poz-cln", } m["bwb"] = { canonicalName = "Namosi-Naitasiri-Serua", type = "regular", scripts = {"None"}, family = "poz-occ", } m["bwc"] = { canonicalName = "Bwile", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwd"] = { canonicalName = "Bwaidoka", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bwe"] = { canonicalName = "Bwe Karen", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwf"] = { canonicalName = "Boselewa", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bwg"] = { canonicalName = "Barwe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwh"] = { canonicalName = "Bishuo", type = "regular", scripts = {"None"}, family = "nic-bod", } m["bwi"] = { canonicalName = "Baniwa", type = "regular", scripts = {"None"}, family = "awd", } m["bwj"] = { canonicalName = "Láá Láá Bwamu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwk"] = { canonicalName = "Bauwaki", type = "regular", scripts = {"None"}, family = "ngf", } m["bwl"] = { canonicalName = "Bwela", type = "regular", scripts = {"None"}, family = "bnt", } m["bwm"] = { canonicalName = "Biwat", otherNames = {"Mundugumor"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwn"] = { canonicalName = "Wunai Bunu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwp"] = { canonicalName = "Mandobo Bawah", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwq"] = { canonicalName = "Southern Bobo Madaré", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwr"] = { canonicalName = "Bura", otherNames = {"Bura-Pabir", "Pabir", "Burra"}, type = "regular", scripts = {"Latn"}, family = "cdc", } m["bws"] = { canonicalName = "Bomboma", type = "regular", scripts = {"None"}, family = "bnt", } m["bwt"] = { canonicalName = "Bafaw-Balong", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwu"] = { canonicalName = "Buli (Ghana)", otherNames = {"Buli"}, type = "regular", scripts = {"None"}, family = "nic-gur", } m["bww"] = { canonicalName = "Bwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwx"] = { canonicalName = "Bu-Nao Bunu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bwy"] = { canonicalName = "Cwi Bwamu", type = "regular", scripts = {"None"}, family = "nic-gur", } m["bwz"] = { canonicalName = "Bwisi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxa"] = { canonicalName = "Bauro", otherNames = {"Tairaha"}, type = "regular", scripts = {"None"}, family = "poz-sls", } m["bxb"] = { canonicalName = "Belanda Bor", type = "regular", scripts = {"None"}, family = "sdv", } m["bxc"] = { canonicalName = "Molengue", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxd"] = { canonicalName = "Pela", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxe"] = { canonicalName = "Ongota", otherNames = {"Birale", "Birayle"}, type = "regular", scripts = {"None"}, family = "cus", } m["bxf"] = { canonicalName = "Bilur", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bxg"] = { canonicalName = "Bangala", otherNames = {"Ngala"}, type = "regular", scripts = {"Latn"}, family = "bnt", } m["bxh"] = { canonicalName = "Buhutu", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bxi"] = { canonicalName = "Pirlatapa", type = "regular", scripts = {"None"}, family = "aus-kar", } m["bxj"] = { canonicalName = "Bayungu", type = "regular", scripts = {"None"}, family = "aus-psw", } m["bxk"] = { canonicalName = "Bukusu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxl"] = { canonicalName = "Jalkunan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxn"] = { canonicalName = "Burduna", type = "regular", scripts = {"None"}, family = "aus-psw", } m["bxo"] = { canonicalName = "Barikanchi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxp"] = { canonicalName = "Bebil", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxq"] = { canonicalName = "Beele", type = "regular", scripts = {"None"}, family = "cdc", } m["bxs"] = { canonicalName = "Busam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxv"] = { canonicalName = "Berakou", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxw"] = { canonicalName = "Bankagooma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bxz"] = { canonicalName = "Binahari", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bya"] = { canonicalName = "Batak", type = "regular", scripts = {"Tagb"}, family = "phi", } m["byb"] = { canonicalName = "Bikya", type = "regular", scripts = {"None"}, family = "nic-bod", } m["byc"] = { canonicalName = "Ubaghara", type = "regular", scripts = {"None"}, family = "nic-bco", } m["byd"] = { canonicalName = "Benyadu'", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bye"] = { canonicalName = "Pouye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byf"] = { canonicalName = "Bete", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byg"] = { canonicalName = "Baygo", type = "regular", scripts = {"None"}, family = "sdv", } m["byh"] = { canonicalName = "Bujhyal", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byi"] = { canonicalName = "Buyu", otherNames = {"Buya"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["byj"] = { canonicalName = "Binawa", otherNames = {"Bina", "Bina (Nigeria)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["byk"] = { canonicalName = "Biao", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byl"] = { canonicalName = "Bayono", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bym"] = { canonicalName = "Bidyara", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["byn"] = { canonicalName = "Blin", otherNames = {"Bilin", "Bilen", "Belen", "Bilein"}, type = "regular", scripts = {"Ethi", "Latn"}, family = "cus", translit_module = "Ethi-translit", } m["byo"] = { canonicalName = "Biyo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byp"] = { canonicalName = "Bumaji", type = "regular", scripts = {"None"}, family = "nic-bco", } m["byq"] = { canonicalName = "Basay", otherNames = {"Basai"}, type = "regular", scripts = {"None"}, family = "map", } m["byr"] = { canonicalName = "Baruya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bys"] = { canonicalName = "Burak", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byt"] = { canonicalName = "Berti", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byv"] = { canonicalName = "Medumba", type = "regular", scripts = {"None"}, family = "bai", } m["byw"] = { canonicalName = "Belhariya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byx"] = { canonicalName = "Qaqet", type = "regular", scripts = {"None"}, family = "qfa-und", } m["byz"] = { canonicalName = "Banaro", type = "regular", scripts = {"None"}, family = "paa", } m["bza"] = { canonicalName = "Bandi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzb"] = { canonicalName = "Andio", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzd"] = { canonicalName = "Bribri", type = "regular", scripts = {"Latn"}, family = "cba", } m["bze"] = { canonicalName = "Jenaama Bozo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzf"] = { canonicalName = "Boikin", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzg"] = { canonicalName = "Babuza", type = "regular", scripts = {"None"}, family = "map", } m["bzh"] = { canonicalName = "Mapos Buang", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["bzi"] = { canonicalName = "Bisu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzj"] = { canonicalName = "Belize Kriol English", otherNames = {"Belizean Creole", "Belizean Creole English", "Belizean Kriol", "Kriol"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzk"] = { canonicalName = "Nicaraguan Creole", otherNames = {"Nicaraguan Creole English", "Nicaragua Creole English"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzl"] = { -- supposedly also called "Bolano", but I can find no evidence of that canonicalName = "Boano (Sulawesi)", otherNames = {"Boano", "Austronesian Boano", "Totoli Boano"}, type = "regular", scripts = {"None"}, family = "poz", } m["bzm"] = { canonicalName = "Bolondo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzn"] = { canonicalName = "Boano (Maluku)", otherNames = {"Boano", "Austronesian Boano", "Seram Boano"}, type = "regular", scripts = {"None"}, family = "poz", } m["bzo"] = { canonicalName = "Bozaba", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzp"] = { canonicalName = "Kemberano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzq"] = { canonicalName = "Buli (Indonesia)", otherNames = {"Buli"}, type = "regular", scripts = {"None"}, family = "poz-hce", } m["bzr"] = { canonicalName = "Biri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzs"] = { canonicalName = "Brazilian Sign Language", otherNames = {"LGB", "LSB", "LSCB", "Libras"}, type = "regular", scripts = {"None"}, family = "sgn", } m["bzu"] = { canonicalName = "Burmeso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzv"] = { canonicalName = "Bebe", otherNames = {"Naami"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["bzw"] = { canonicalName = "Basa", otherNames = {"Basa (Nigeria)", "Basa-Benue"}, type = "regular", scripts = {"None"}, family = "nic-knj", } m["bzx"] = { canonicalName = "Hainyaxo Bozo", type = "regular", scripts = {"None"}, family = "qfa-und", } m["bzy"] = { canonicalName = "Obanliku", type = "regular", scripts = {"None"}, family = "nic-bco", } m["bzz"] = { canonicalName = "Evant", type = "regular", scripts = {"None"}, family = "nic-bod"} return m 0k36ifv7vmxj3lr95z01w0lihzfhphm Module:languages/data3/a 828 4710 13356 2015-06-01T00:31:24Z Dalmo Pereira 1417 Bog cusub: 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... 13356 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 m = {} m["aaa"] = { canonicalName = "Ghotuo", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["aab"] = { canonicalName = "Alumu-Tesu", otherNames = {"Alumu", "Tesu"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["aac"] = { canonicalName = "Ari", type = "regular", scripts = {"None"}, family = "ngf", } m["aad"] = { canonicalName = "Amal", type = "regular", scripts = {"None"}, family = "paa-iwm", } m["aae"] = { canonicalName = "Albania Arbëreshë", type = "regular", scripts = {"Latn"}, family = "sqj", } m["aaf"] = { canonicalName = "Aranadan", otherNames = {"Eranadan"}, type = "regular", scripts = {"None"}, family = "dra", } m["aag"] = { canonicalName = "Ambrak", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aah"] = { canonicalName = "Abu' Arapesh", otherNames = {"Abu'", "Ua"}, type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aai"] = { canonicalName = "Arifama-Miniafia", otherNames = {"Arifama", "Miniafia"}, type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aak"] = { canonicalName = "Ankave", otherNames = {"Angave"}, type = "regular", scripts = {"Latn"}, family = "ngf", } m["aal"] = { canonicalName = "Afade", type = "regular", scripts = {"None"}, family = "cdc-cbm", } m["aam"] = { canonicalName = "Aramanik", otherNames = {"Laramanik"}, type = "regular", scripts = {"None"}, family = "sdv", } m["aan"] = { canonicalName = "Anambé", otherNames = {"Anambe"}, type = "regular", scripts = {"None"}, family = "tup", } m["aao"] = { canonicalName = "Arab Sahara Algeria", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["aap"] = { canonicalName = "Pará Arára", otherNames = {"Arára"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["aaq"] = { canonicalName = "Penobscot", otherNames = {"Eastern Abenaki", "Eastern Abnaki"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["aas"] = { canonicalName = "Aasax", otherNames = {"Aasáx"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["aat"] = { canonicalName = "Arvanitika Albania", type = "regular", scripts = {"None"}, family = "sqj", } m["aau"] = { canonicalName = "Abau", type = "regular", scripts = {"Latn"}, family = "paa", } m["aaw"] = { canonicalName = "Solong", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aax"] = { canonicalName = "Mandobo Atas", type = "regular", scripts = {"None"}, family = "ngf", } m["aaz"] = { canonicalName = "Amarasi", type = "regular", scripts = {"None"}, family = "plf", } m["aba"] = { canonicalName = "Abé", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["abb"] = { canonicalName = "Bankon", type = "regular", scripts = {"None"}, family = "nic-bco", } m["abc"] = { canonicalName = "Ambala Ayta", type = "regular", scripts = {"None"}, family = "phi", } m["abd"] = { canonicalName = "Camarines Norte Agta", type = "regular", scripts = {"Latn"}, family = "phi", } m["abe"] = { canonicalName = "Abenaki", otherNames = {"Western Abenaki", "Abnaki", "Western Abnaki"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["abf"] = { canonicalName = "Abai Sungai", type = "regular", scripts = {"None"}, family = "poz", } m["abg"] = { canonicalName = "Abaga", type = "regular", scripts = {"None"}, family = "ngf", } m["abh"] = { canonicalName = "Arab Tajiki", type = "regular", scripts = {"None"}, family = "sem-arb", } m["abi"] = { canonicalName = "Abidji", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["abj"] = { canonicalName = "Aka-Bea", otherNames = {"Bea"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["abl"] = { canonicalName = "Abung", otherNames = {"Pepadun", "Lampung Nyo"}, type = "regular", scripts = {"None"}, family = "poz", } m["abm"] = { canonicalName = "Abanyom", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["abn"] = { canonicalName = "Abua", type = "regular", scripts = {"None"}, family = "nic-bco", } m["abo"] = { canonicalName = "Abon", type = "regular", scripts = {"None"}, family = "nic-bod", } m["abp"] = { canonicalName = "Abenlen Ayta", type = "regular", scripts = {"None"}, family = "phi", } m["abq"] = { canonicalName = "Abaza", type = "regular", scripts = {"Cyrl"}, family = "cau-nwc", translit_module = "abq-translit", } m["abr"] = { canonicalName = "Abron", otherNames = {"Brong"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["abs"] = { canonicalName = "Melayu Ambon", type = "regular", scripts = {"None"}, family = "crp", } m["abt"] = { canonicalName = "Ambulas", type = "regular", scripts = {"Latn"}, family = "paa", } m["abu"] = { canonicalName = "Abure", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["abv"] = { canonicalName = "Arab Baharna", type = "regular", scripts = {"None"}, family = "sem-arb", } m["abw"] = { canonicalName = "Pal", type = "regular", scripts = {"None"}, family = "ngf", } m["abx"] = { canonicalName = "Inabaknon", type = "regular", scripts = {"None"}, family = "poz-sbj", } m["aby"] = { canonicalName = "Aneme Wake", type = "regular", scripts = {"Latn"}, family = "ngf", } m["abz"] = { canonicalName = "Abui", type = "regular", scripts = {"Latn"}, family = "ngf", } m["aca"] = { canonicalName = "Achagua", type = "regular", scripts = {"None"}, family = "awd", } m["acb"] = { canonicalName = "Áncá", type = "regular", scripts = {"None"}, family = "nic-bod", } m["acd"] = { canonicalName = "Gikyode", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["ace"] = { canonicalName = "Aceh", otherNames = {"Achi", "Atjeh"}, type = "regular", scripts = {"Latn"}, family = "poz-msa", } m["ach"] = { canonicalName = "Acholi", otherNames = {"Acoli", "Shuli", "Acooli"}, type = "regular", scripts = {"Latn"}, family = "sdv", } m["aci"] = { canonicalName = "Aka-Cari", otherNames = {"Cari", "Aka-Kari", "Kari", "Chariar"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["ack"] = { canonicalName = "Aka-Kora", otherNames = {"Kora"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["acl"] = { canonicalName = "Akar-Bale", type = "regular", scripts = {"None"}, family = "qfa-adm", } m["acm"] = { canonicalName = "Arab Iraq", otherNames = {"Arab Mesopotamia"}, type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["acn"] = { canonicalName = "Achang", otherNames = {"Xiandao"}, type = "regular", scripts = {"None"}, family = "tbq", } m["acp"] = { canonicalName = "Acipa Timur", type = "regular", scripts = {"None"}, family = "nic-bco", } m["acq"] = { canonicalName = "Arab Ta'izzi-Adeni", type = "regular", scripts = {"None"}, family = "sem-arb", } m["acr"] = { canonicalName = "Achi", otherNames = {"Achí", "Achi Maya", "Cubulco Achi", "Cubulco Achí", "Cubulco Achi'"}, type = "regular", scripts = {"None"}, family = "myn", } m["acs"] = { canonicalName = "Acroá", type = "regular", scripts = {"None"}, family = "sai-jee", } m["acu"] = { canonicalName = "Achuar", otherNames = {"Achuar-Shiwiar"}, type = "regular", scripts = {"Latn"}, family = "qfa-jiv", } m["acv"] = { canonicalName = "Achumawi", type = "regular", scripts = {"Latn"}, family = "qfa-pal", } m["acw"] = { canonicalName = "Arab Hijjaz", otherNames = {"Arab Hejazi"}, type = "regular", scripts = {"None"}, family = "sem-arb", } m["acx"] = { canonicalName = "Arab Omani", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["acy"] = { canonicalName = "Arab Cypriot", type = "regular", scripts = {"None"}, family = "sem-arb", } m["acz"] = { canonicalName = "Acheron", otherNames = {"Asheron"}, type = "regular", scripts = {"None"}, family = "nic", } m["ada"] = { canonicalName = "Adangme", otherNames = {"Dangme"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["adb"] = { canonicalName = "Adabe", type = "regular", scripts = {"None"}, family = "ngf", } m["add"] = { canonicalName = "Dzodinka", type = "regular", scripts = {"None"}, family = "nic-bod", } m["ade"] = { canonicalName = "Adele", type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["adf"] = { canonicalName = "Arab Dhofari", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["adg"] = { canonicalName = "Andegerebinha", type = "regular", scripts = {"None"}, family = "aus-pam", } m["adh"] = { canonicalName = "Adhola", type = "regular", scripts = {"None"}, family = "sdv", } m["adi"] = { canonicalName = "Adi", type = "regular", scripts = {"None"}, family = "tbq", } m["adj"] = { canonicalName = "Adioukrou", otherNames = {"Adjukru", "Adyoukrou", "Adyukru", "Ajukru"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["adl"] = { canonicalName = "Galo", otherNames = {"Gallong"}, type = "regular", scripts = {"None"}, family = "tbq", } m["adn"] = { canonicalName = "Adang", type = "regular", scripts = {"None"}, family = "ngf", } m["ado"] = { canonicalName = "Abu", type = "regular", scripts = {"Latn"}, family = "paa", } m["adp"] = { canonicalName = "Adap", type = "regular", scripts = {"None"}, family = "tbq", } m["adq"] = { canonicalName = "Adangbe", otherNames = {"Agotime"}, type = "regular", scripts = {"None"}, family = "alv-kwa", } m["adr"] = { canonicalName = "Adonara", type = "regular", scripts = {"None"}, family = "plf", } m["ads"] = { canonicalName = "Bahasa Isyarat Adamorobe", type = "regular", scripts = {"None"}, family = "sgn", } m["adt"] = { canonicalName = "Adnyamathanha", type = "regular", scripts = {"Latn"}, family = "aus-psw", } m["adu"] = { canonicalName = "Aduge", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["adw"] = { canonicalName = "Amundava", type = "regular", scripts = {"None"}, family = "tup", } m["adx"] = { canonicalName = "Amdo Tibetan", otherNames = {"Amdo", "Panang"}, type = "regular", scripts = {"None"}, family = "tbq", } m["ady"] = { canonicalName = "Adyghe", otherNames = {"West Circassian"}, type = "regular", scripts = {"Cyrl"}, family = "cau-cir", translit_module = "ady-translit", } m["adz"] = { canonicalName = "Adzera", type = "regular", scripts = {"Latn"}, family = "poz-ocw", } m["aea"] = { canonicalName = "Areba", type = "regular", scripts = {"None"}, family = "aus-pam", } m["aeb"] = { canonicalName = "Tunisian Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["aec"] = { canonicalName = "Saidi Arabic", otherNames = {"Sa'idi Arabic", "Upper Egyptian Arabic"}, type = "regular", scripts = {"None"}, family = "sem-arb", } m["aed"] = { canonicalName = "Argentine Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["aee"] = { canonicalName = "Northeast Pashayi", type = "regular", scripts = {"None"}, family = "iir-dar", } m["aek"] = { canonicalName = "Haeke", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["ael"] = { canonicalName = "Ambele", type = "regular", scripts = {"None"}, family = "nic-bod", } m["aem"] = { canonicalName = "Arem", type = "regular", scripts = {"None"}, family = "aav", } m["aen"] = { canonicalName = "Armenian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["aeq"] = { canonicalName = "Aer", type = "regular", scripts = {"None"}, family = "inc", } m["aer"] = { canonicalName = "Eastern Arrernte", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["aes"] = { canonicalName = "Alsea", otherNames = {"Yaquina", "Yakwina", "Alseya", "Yakona"}, -- names of the two dialects that make up the language type = "regular", scripts = {"None"}, family = "qfa-und", } m["aeu"] = { canonicalName = "Akeu", type = "regular", scripts = {"None"}, family = "tbq", } m["aew"] = { canonicalName = "Ambakich", otherNames = {"Aion", "Porapora"}, type = "regular", scripts = {"None"}, family = "paa", } m["aey"] = { canonicalName = "Amele", type = "regular", scripts = {"None"}, family = "ngf", } m["aez"] = { canonicalName = "Aeka", type = "regular", scripts = {"None"}, family = "ngf", } m["afb"] = { canonicalName = "Gulf Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["afd"] = { canonicalName = "Andai", type = "regular", scripts = {"None"}, family = "paa", } m["afe"] = { canonicalName = "Putukwam", type = "regular", scripts = {"None"}, family = "nic-bco", } m["afg"] = { canonicalName = "Afghan Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["afh"] = { canonicalName = "Afrihili", type = "appendix-constructed", scripts = {"None"}, family = "art", } m["afi"] = { canonicalName = "Akrukay", type = "regular", scripts = {"None"}, family = "paa", } m["afk"] = { canonicalName = "Nanubae", type = "regular", scripts = {"None"}, family = "paa", } m["afn"] = { canonicalName = "Defaka", type = "regular", scripts = {"None"}, family = "nic", } m["afo"] = { canonicalName = "Eloyi", type = "regular", scripts = {"None"}, family = "nic-bco", } m["afp"] = { canonicalName = "Tapei", type = "regular", scripts = {"None"}, family = "paa", } m["afs"] = { canonicalName = "Afro-Seminole Creole", type = "regular", scripts = {"None"}, family = "crp", } m["aft"] = { canonicalName = "Afitti", type = "regular", scripts = {"None"}, family = "sdv", } m["afu"] = { canonicalName = "Awutu", otherNames = {"Efutu"}, type = "regular", scripts = {"None"}, family = "alv-kwa", } m["afz"] = { canonicalName = "Obokuitai", type = "regular", scripts = {"None"}, family = "paa", } m["aga"] = { canonicalName = "Aguano", type = "regular", scripts = {"None"}, family = "qfa-und", } m["agb"] = { canonicalName = "Legbo", type = "regular", scripts = {"None"}, family = "nic-bco", } m["agc"] = { canonicalName = "Agatu", type = "regular", scripts = {"None"}, family = "alv", } m["agd"] = { canonicalName = "Agarabi", type = "regular", scripts = {"None"}, family = "paa-kag", } m["age"] = { canonicalName = "Angal", type = "regular", scripts = {"None"}, family = "ngf", } m["agf"] = { canonicalName = "Arguni", type = "regular", scripts = {"None"}, family = "plf", } m["agg"] = { canonicalName = "Angor", type = "regular", scripts = {"Latn"}, family = "ngf", } m["agh"] = { canonicalName = "Ngelima", type = "regular", scripts = {"None"}, family = "bnt", } m["agi"] = { canonicalName = "Agariya", type = "regular", scripts = {"None"}, family = "mun", } m["agj"] = { canonicalName = "Argobba", type = "regular", scripts = {"Ethi"}, family = "sem-eth", } m["agk"] = { canonicalName = "Isarog Agta", type = "regular", scripts = {"None"}, family = "phi", } m["agl"] = { canonicalName = "Fembe", otherNames = {"Agala"}, type = "regular", scripts = {"None"}, family = "ngf", } m["agm"] = { canonicalName = "Angaataha", type = "regular", scripts = {"Latn"}, family = "ngf", } m["agn"] = { canonicalName = "Agutaynen", type = "regular", scripts = {"None"}, family = "phi", } m["ago"] = { canonicalName = "Tainae", type = "regular", scripts = {"None"}, family = "ngf", } m["agq"] = { canonicalName = "Aghem", type = "regular", scripts = {"None"}, family = "alv", } m["agr"] = { canonicalName = "Aguaruna", type = "regular", scripts = {"Latn"}, family = "qfa-jiv", } m["ags"] = { canonicalName = "Esimbi", type = "regular", scripts = {"None"}, family = "nic-bod", } m["agt"] = { canonicalName = "Central Cagayan Agta", type = "regular", scripts = {"None"}, family = "phi", } m["agu"] = { canonicalName = "Aguacateco", otherNames = {"Awakatek", "Aguacatec"}, type = "regular", scripts = {"Latn"}, family = "myn", } m["agv"] = { canonicalName = "Remontado Agta", otherNames = {"Remontado Dumagat", "Sinauna", "Hatang Kayey"}, type = "regular", scripts = {"None"}, family = "phi", } m["agw"] = { canonicalName = "Kahua", type = "regular", scripts = {"None"}, family = "poz-sls", } m["agx"] = { canonicalName = "Aghul", otherNames = {"Agul"}, type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["agy"] = { canonicalName = "Southern Alta", type = "regular", scripts = {"None"}, family = "phi", } m["agz"] = { canonicalName = "Mt. Iriga Agta", type = "regular", scripts = {"None"}, family = "phi", } m["aha"] = { canonicalName = "Ahanta", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["ahb"] = { canonicalName = "Axamb", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["ahg"] = { canonicalName = "Qimant", type = "regular", scripts = {"None"}, family = "cus", } m["ahh"] = { canonicalName = "Aghu", type = "regular", scripts = {"Latn"}, family = "ngf", } m["ahi"] = { canonicalName = "Tiagbamrin Aizi", type = "regular", scripts = {"None"}, family = "kro", } m["ahk"] = { canonicalName = "Akha", type = "regular", scripts = {"None"}, family = "tbq", } m["ahl"] = { canonicalName = "Igo", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["ahm"] = { canonicalName = "Mobumrin Aizi", type = "regular", scripts = {"None"}, family = "kro", } m["ahn"] = { canonicalName = "Àhàn", otherNames = {"Ahan", "Ahaan"}, type = "regular", scripts = {"None"}, family = "nic-bco", } m["aho"] = { canonicalName = "Ahom", type = "regular", scripts = {"None"}, family = "tai", } m["ahp"] = { canonicalName = "Aproumu Aizi", type = "regular", scripts = {"None"}, family = "kro", } m["ahr"] = { canonicalName = "Ahirani", type = "regular", scripts = {"None"}, family = "inc", } m["ahs"] = { canonicalName = "Ashe", type = "regular", scripts = {"None"}, family = "nic-bco", } m["aht"] = { canonicalName = "Ahtna", type = "regular", scripts = {"None"}, family = "ath-nor", } m["aia"] = { canonicalName = "Arosi", type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["aib"] = { canonicalName = "Aynu", otherNames = {"Ainu", "Ainu (China)"}, type = "regular", scripts = {"None"}, family = "trk", } m["aic"] = { canonicalName = "Ainbai", type = "regular", scripts = {"None"}, family = "paa", } m["aid"] = { canonicalName = "Alngith", type = "regular", scripts = {"None"}, family = "aus-pmn", } m["aie"] = { canonicalName = "Amara", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aif"] = { canonicalName = "Agi", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aig"] = { canonicalName = "Antigua and Barbuda Creole English", type = "regular", scripts = {"None"}, family = "crp", } m["aih"] = { canonicalName = "Ai-Cham", type = "regular", scripts = {"None"}, family = "qfa-tak", } m["aii"] = { canonicalName = "Assyrian Neo-Aramaic", type = "regular", scripts = {"Syrc"}, family = "sem-ara", } m["aij"] = { canonicalName = "Lishanid Noshan", type = "regular", scripts = {"None"}, family = "sem-ara", } m["aik"] = { canonicalName = "Ake", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ail"] = { canonicalName = "Aimele", type = "regular", scripts = {"None"}, family = "ngf", } m["aim"] = { canonicalName = "Aimol", type = "regular", scripts = {"None"}, family = "tbq-kuk", } m["ain"] = { canonicalName = "Ainu", otherNames = {"Ainu (Japan)"}, type = "regular", scripts = {"Kana", "Latn", "Cyrl"}, family = "qfa-iso", } m["aio"] = { canonicalName = "Aiton", type = "regular", scripts = {"None"}, family = "tai-swe", } m["aip"] = { canonicalName = "Burumakok", type = "regular", scripts = {"None"}, family = "ngf", } m["aiq"] = { canonicalName = "Aimaq", type = "regular", scripts = {"None"}, family = "ira", } m["air"] = { canonicalName = "Airoran", type = "regular", scripts = {"None"}, family = "paa", } m["ais"] = { canonicalName = "Nataoran Amis", type = "regular", scripts = {"None"}, family = "map", } m["ait"] = { canonicalName = "Arikem", type = "regular", scripts = {"None"}, family = "tup", } m["aiw"] = { canonicalName = "Aari", type = "regular", scripts = {"Latn"}, family = "omv", } m["aix"] = { canonicalName = "Aighon", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aiy"] = { canonicalName = "Ali", type = "regular", scripts = {"None"}, family = "alv", } m["aja"] = { canonicalName = "Aja", otherNames = {"Adja", "Aja (Sudan)"}, type = "regular", scripts = {"None"}, family = "csu", } m["ajg"] = { canonicalName = "Adja", otherNames = {"Aja", "Aja (Benin)"}, type = "regular", scripts = {"None"}, family = "alv-kwa", } m["aji"] = { canonicalName = "Ajië", type = "regular", scripts = {"Latn"}, family = "poz-cln", } m["ajn"] = { canonicalName = "Andajin", -- sometimes considered a dialect of 'ung' type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["ajp"] = { canonicalName = "South Levantine Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["ajt"] = { canonicalName = "Judeo-Tunisian Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["aju"] = { canonicalName = "Judeo-Moroccan Arabic", type = "regular", scripts = {"Hebr"}, family = "sem-arb", } m["ajw"] = { canonicalName = "Ajawa", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["ajz"] = { canonicalName = "Amri Karbi", type = "regular", scripts = {"None"}, family = "tbq", } m["akb"] = { canonicalName = "Angkola Batak", otherNames = {"Batak Angkola"}, type = "regular", scripts = {"Latn", "Batk"}, family = "btk", } m["akc"] = { canonicalName = "Mpur", type = "regular", scripts = {"None"}, family = "paa", } m["akd"] = { canonicalName = "Ukpet-Ehom", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ake"] = { canonicalName = "Akawaio", type = "regular", scripts = {"Latn"}, family = "sai-car", } m["akf"] = { canonicalName = "Akpa", type = "regular", scripts = {"None"}, family = "alv", } m["akg"] = { canonicalName = "Anakalangu", type = "regular", scripts = {"None"}, family = "plf", } m["akh"] = { canonicalName = "Angal Heneng", type = "regular", scripts = {"None"}, family = "ngf", } m["aki"] = { canonicalName = "Aiome", type = "regular", scripts = {"None"}, family = "paa", } m["akj"] = { canonicalName = "Jeru", otherNames = {"Aka-Jeru"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["akk"] = { canonicalName = "Akkadian", type = "regular", scripts = {"Xsux"}, family = "sem-eas", } m["akl"] = { canonicalName = "Aklanon", otherNames = {"Aklan", "Akeanon"}, type = "regular", scripts = {"Latn"}, family = "phi", } m["akm"] = { canonicalName = "Aka-Bo", otherNames = {"Ba", "Bo"}, type = "regular", scripts = {"Latn"}, family = "qfa-adm", } m["ako"] = { canonicalName = "Akurio", type = "regular", scripts = {"None"}, family = "sai-car", } m["akp"] = { canonicalName = "Siwu", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["akq"] = { canonicalName = "Ak", type = "regular", scripts = {"None"}, family = "paa", } m["akr"] = { canonicalName = "Araki", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["aks"] = { canonicalName = "Akaselem", type = "regular", scripts = {"None"}, family = "nic-gur", } m["akt"] = { canonicalName = "Akolet", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aku"] = { canonicalName = "Akum", type = "regular", scripts = {"None"}, family = "nic-bco", } m["akv"] = { canonicalName = "Akhvakh", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["akw"] = { canonicalName = "Akwa", type = "regular", scripts = {"None"}, family = "bnt", } m["akx"] = { canonicalName = "Aka-Kede", otherNames = {"Kede"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["aky"] = { canonicalName = "Aka-Kol", otherNames = {"Kol"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["akz"] = { canonicalName = "Alabama", type = "regular", scripts = {"Latn"}, family = "qfa-mus", } m["ala"] = { canonicalName = "Alago", type = "regular", scripts = {"None"}, family = "alv", } m["alc"] = { canonicalName = "Kawésqar", otherNames = {"Qawasqar"}, type = "regular", scripts = {"Latn"}, family = "aqa", } m["ald"] = { canonicalName = "Alladian", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["ale"] = { canonicalName = "Aleut", otherNames = {"Aleutian"}, type = "regular", scripts = {"Latn"}, family = "esx", } m["alf"] = { canonicalName = "Alege", type = "regular", scripts = {"None"}, family = "nic-bco", } m["alh"] = { canonicalName = "Alawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ali"] = { canonicalName = "Amaimon", type = "regular", scripts = {"Latn"}, family = "ngf", } m["alj"] = { canonicalName = "Alangan", type = "regular", scripts = {"None"}, family = "phi", } m["alk"] = { canonicalName = "Alak", type = "regular", scripts = {"None"}, family = "mkh", } m["all"] = { canonicalName = "Allar", type = "regular", scripts = {"None"}, family = "dra", } m["alm"] = { canonicalName = "Amblong", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["aln"] = { canonicalName = "Gheg Albanian", type = "regular", scripts = {"Latn"}, family = "sqj", } m["alo"] = { canonicalName = "Larike-Wakasihu", type = "regular", scripts = {"None"}, family = "plf", } m["alp"] = { canonicalName = "Alune", type = "regular", scripts = {"None"}, family = "plf", } m["alq"] = { canonicalName = "Algonquin", type = "regular", scripts = {"Latn"}, family = "alg", } m["alr"] = { canonicalName = "Alutor", type = "regular", scripts = {"Cyrl"}, family = "qfa-cka", } m["alt"] = { canonicalName = "Southern Altai", otherNames = {"Southern Altay", "Altai", "Altay"}, type = "regular", scripts = {"Cyrl"}, family = "trk", } m["alu"] = { canonicalName = "'Are'are", otherNames = {"Areare"}, type = "regular", scripts = {"Latn"}, family = "poz-sls", } m["alw"] = { canonicalName = "Alaba", otherNames = {"Alaba-K'abeena"}, type = "regular", scripts = {"None"}, family = "cus", } m["alx"] = { canonicalName = "Amol", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aly"] = { canonicalName = "Alyawarr", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["alz"] = { canonicalName = "Alur", type = "regular", scripts = {"None"}, family = "sdv", } m["ama"] = { canonicalName = "Amanayé", type = "regular", scripts = {"None"}, family = "tup", } m["amb"] = { canonicalName = "Ambo", type = "regular", scripts = {"None"}, family = "nic-bod", } m["amc"] = { canonicalName = "Amahuaca", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["ame"] = { canonicalName = "Yanesha'", otherNames = {"Amuesha"}, type = "regular", scripts = {"None"}, family = "awd", } m["amf"] = { canonicalName = "Hamer-Banna", type = "regular", scripts = {"Latn"}, family = "omv", } m["amg"] = { canonicalName = "Amurdag", otherNames = {"Amarag"}, type = "regular", scripts = {"Latn"}, family = "aus-wdj", } m["ami"] = { canonicalName = "Amis", type = "regular", scripts = {"Latn"}, family = "map", } m["amj"] = { canonicalName = "Amdang", type = "regular", scripts = {"None"}, family = "ssa-fur", } m["amk"] = { canonicalName = "Ambai", otherNames = {"Wadapi-Laut"}, type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["aml"] = { canonicalName = "War-Jaintia", type = "regular", scripts = {"None"}, family = "aav", } m["amm"] = { canonicalName = "Ama", otherNames = {"Ama (New Guinea)", "Ama (Papua New Guinea)"}, type = "regular", scripts = {"Latn"}, family = "qfa-mal", } m["amn"] = { canonicalName = "Amanab", type = "regular", scripts = {"Latn"}, family = "ngf", } m["amo"] = { canonicalName = "Amo", type = "regular", scripts = {"Latn"}, family = "nic-bco", } m["amp"] = { canonicalName = "Alamblak", type = "regular", scripts = {"Latn"}, family = "paa", } m["amq"] = { canonicalName = "Amahai", type = "regular", scripts = {"None"}, family = "plf", } m["amr"] = { canonicalName = "Amarakaeri", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ams"] = { canonicalName = "Southern Amami-Oshima", type = "regular", scripts = {"None"}, family = "jpx", } m["amt"] = { canonicalName = "Amto", type = "regular", scripts = {"None"}, family = "paa", } m["amu"] = { canonicalName = "Amuzgo", otherNames = {"Guerrero Amuzgo"}, -- WP suggests this is only one dialect of Amzugo, which could make it misleading to call it plain Amzugo type = "regular", scripts = {"Latn"}, family = "omq", } m["amv"] = { canonicalName = "Ambelau", type = "regular", scripts = {"None"}, family = "poz", } m["amw"] = { canonicalName = "Western Neo-Aramaic", type = "regular", scripts = {"None"}, family = "sem-ara", } m["amx"] = { canonicalName = "Anmatyerre", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["amy"] = { canonicalName = "Ami", otherNames = {"Ame", "Amijangal"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["amz"] = { canonicalName = "Atampaya", type = "regular", scripts = {"None"}, family = "aus-pam", } m["ana"] = { canonicalName = "Andaqui", type = "regular", scripts = {"None"}, family = "qfa-und", } m["anb"] = { canonicalName = "Andoa", type = "regular", scripts = {"None"}, family = "qfa-zap", } m["anc"] = { canonicalName = "Angas", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["and"] = { canonicalName = "Ansus", type = "regular", scripts = {"Latn"}, family = "poz-hce", } m["ane"] = { canonicalName = "Xârâcùù", type = "regular", scripts = {"None"}, family = "poz-cln", } m["anf"] = { canonicalName = "Animere", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["ang"] = { canonicalName = "Old English", otherNames = {"Anglo-Saxon"}, type = "regular", scripts = {"Latinx"}, family = "gmw", ancestors = {"gem-pro"}, entry_name = { from = {"Ā", "ā", "Ǣ", "ǣ", "Ċ", "ċ", "Ē", "ē", "Ġ", "ġ", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"}, to = {"A", "a", "Æ", "æ", "C", "c", "E", "e", "G", "g", "I", "i", "O", "o", "U", "u", "Y", "y"}} , } m["anh"] = { canonicalName = "Nend", type = "regular", scripts = {"None"}, family = "ngf", } m["ani"] = { canonicalName = "Andi", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["anj"] = { canonicalName = "Anor", type = "regular", scripts = {"None"}, family = "paa", } m["ank"] = { canonicalName = "Goemai", type = "regular", scripts = {"None"}, family = "cdc-wst", } m["anl"] = { canonicalName = "Anu", otherNames = {"Khaungtso", "Anu-Hkongso Chin"}, -- the last name is the one used by the ISO, an unattested blend of the names of the lect's two dialects and half of the name of the place where it is spoken type = "regular", scripts = {"None"}, family = "tbq", } m["anm"] = { canonicalName = "Anal", otherNames = {"Namfau"}, -- the latter is a placename, not properly a language name, though it is encountered as one type = "regular", scripts = {"Latn"}, family = "tbq-kuk", } m["ann"] = { canonicalName = "Obolo", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ano"] = { canonicalName = "Andoque", type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["anp"] = { canonicalName = "Angika", type = "regular", scripts = {"None"}, family = "inc", } m["anq"] = { canonicalName = "Jarawa", otherNames = {"Jarawa (India)"}, type = "regular", scripts = {"None"}, family = "qfa-adm", } m["anr"] = { canonicalName = "Andh", type = "regular", scripts = {"None"}, family = "inc", } m["ans"] = { canonicalName = "Anserma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ant"] = { canonicalName = "Antakarinya", type = "regular", scripts = {"None"}, family = "aus-psw", } m["anu"] = { canonicalName = "Anuak", type = "regular", scripts = {"None"}, family = "sdv", } m["anv"] = { canonicalName = "Denya", type = "regular", scripts = {"None"}, family = "nic-bod", } m["anw"] = { canonicalName = "Anaang", type = "regular", scripts = {"None"}, family = "nic-bco", } m["anx"] = { canonicalName = "Andra-Hus", type = "regular", scripts = {"None"}, family = "poz-aay", } m["any"] = { canonicalName = "Anyi", otherNames = {"Anyin"}, type = "regular", scripts = {"Latn"}, family = "alv-kwa", } m["anz"] = { canonicalName = "Anem", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aoa"] = { canonicalName = "Angolar", type = "regular", scripts = {"Latn"}, family = "crp", ancestors = {"pt"}, } m["aob"] = { canonicalName = "Abom", type = "regular", scripts = {"None"}, family = "ngf", } m["aoc"] = { canonicalName = "Pemon", otherNames = {"Arekuna"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["aod"] = { canonicalName = "Andarum", type = "regular", scripts = {"None"}, family = "paa", } m["aoe"] = { canonicalName = "Angal Enen", type = "regular", scripts = {"None"}, family = "ngf", } m["aof"] = { canonicalName = "Bragat", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aog"] = { canonicalName = "Angoram", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aoh"] = { canonicalName = "Arma", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aoi"] = { canonicalName = "Anindilyakwa", otherNames = {"Enindhilyagwa"}, type = "regular", scripts = {"Latn"}, family = "aus-arn", } m["aoj"] = { canonicalName = "Mufian", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aok"] = { canonicalName = "Arhö", type = "regular", scripts = {"None"}, family = "poz-cln", } m["aol"] = { canonicalName = "Alor", otherNames = {"Alorese"}, type = "regular", scripts = {"None"}, family = "poz", } m["aom"] = { canonicalName = "Ömie", type = "regular", scripts = {"None"}, family = "ngf", } m["aon"] = { canonicalName = "Bumbita Arapesh", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aor"] = { canonicalName = "Aore", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["aos"] = { canonicalName = "Taikat", type = "regular", scripts = {"None"}, family = "paa", } m["aot"] = { canonicalName = "A'tong", type = "regular", scripts = {"None"}, family = "tbq", } m["aox"] = { canonicalName = "Atorada", type = "regular", scripts = {"None"}, family = "awd", } m["aoz"] = { canonicalName = "Uab Meto", type = "regular", scripts = {"Latn"}, family = "plf", } m["apb"] = { canonicalName = "Sa'a", otherNames = {"South Malaita", "Apae'aa"}, type = "regular", scripts = {"None"}, family = "poz-sls", } m["apc"] = { canonicalName = "North Levantine Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["apd"] = { canonicalName = "Sudanese Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["ape"] = { canonicalName = "Bukiyip", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["apf"] = { canonicalName = "Pahanan Agta", type = "regular", scripts = {"None"}, family = "phi", } m["apg"] = { canonicalName = "Ampanang", type = "regular", scripts = {"None"}, family = "poz", } m["aph"] = { canonicalName = "Athpare", otherNames = {"Athpariya"}, type = "regular", scripts = {"None"}, family = "tbq", } m["api"] = { canonicalName = "Apiaká", type = "regular", scripts = {"None"}, family = "qfa-und", } m["apj"] = { canonicalName = "Jicarilla", otherNames = {"Jicarilla Apache"}, type = "regular", scripts = {"Latn"}, family = "apa", } m["apk"] = { canonicalName = "Plains Apache", otherNames = {"Kiowa Apache"}, type = "regular", scripts = {"Latn"}, family = "apa", } m["apl"] = { canonicalName = "Lipan", otherNames = {"Lipan Apache"}, type = "regular", scripts = {"Latn"}, family = "apa", } m["apm"] = { canonicalName = "Chiricahua", otherNames = {"Mescalero", "Mescalero-Chiricahua Apache"}, -- two dialects combined by Ethnologue type = "regular", scripts = {"Latn"}, family = "apa", } m["apn"] = { canonicalName = "Apinayé", type = "regular", scripts = {"None"}, family = "qfa-und", } m["apo"] = { canonicalName = "Ambul", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["app"] = { canonicalName = "Apma", type = "regular", scripts = {"Latn"}, family = "poz-vnc", } m["apq"] = { canonicalName = "A-Pucikwar", otherNames = {"Pucikwar"}, type = "regular", scripts = {"Latn"}, family = "qfa-adm", } m["apr"] = { canonicalName = "Arop-Lokep", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aps"] = { canonicalName = "Arop-Sissano", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["apt"] = { canonicalName = "Apatani", type = "regular", scripts = {"None"}, family = "tbq", } m["apu"] = { canonicalName = "Apurinã", type = "regular", scripts = {"None"}, family = "awd", } m["apv"] = { canonicalName = "Alapmunte", type = "regular", scripts = {"Latn"}, family = "sai-nmk", } m["apw"] = { canonicalName = "Western Apache", type = "regular", scripts = {"Latn"}, family = "apa", } m["apx"] = { canonicalName = "Aputai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["apy"] = { canonicalName = "Apalaí", otherNames = {"Apalai"}, type = "regular", scripts = {"Latn"}, family = "sai-car", } m["apz"] = { canonicalName = "Safeyoka", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqc"] = { canonicalName = "Archi", type = "regular", scripts = {"Cyrl"}, family = "cau-nec", } m["aqd"] = { canonicalName = "Ampari Dogon", type = "regular", scripts = {"Latn"}, family = "qfa-dgn", } m["aqg"] = { canonicalName = "Arigidi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqm"] = { canonicalName = "Atohwaim", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqn"] = { canonicalName = "Northern Alta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqp"] = { canonicalName = "Atakapa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqr"] = { canonicalName = "Arhâ", type = "regular", scripts = {"None"}, family = "poz-cln", } m["aqt"] = { canonicalName = "Angaité", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aqz"] = { canonicalName = "Akuntsu", type = "regular", scripts = {"None"}, family = "tup", } m["arc"] = { canonicalName = "Aramaic", otherNames = {"Imperial Aramaic", "Official Aramaic", "Biblical Aramaic"}, type = "regular", scripts = {"Hebr", "Armi", "Syrc", "Palm", "Nbat"}, family = "sem-ara", entry_name = { from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. "]"}, to = {}} , } m["ard"] = { canonicalName = "Arabana", type = "regular", scripts = {"None"}, family = "aus-kar", } m["are"] = { canonicalName = "Western Arrernte", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["arh"] = { canonicalName = "Arhuaco", otherNames = {"Ika"}, type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["ari"] = { canonicalName = "Arikara", type = "regular", scripts = {"None"}, family = "cdd", } m["arj"] = { canonicalName = "Arapaso", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ark"] = { canonicalName = "Arikapú", type = "regular", scripts = {"None"}, family = "qfa-und", } m["arl"] = { canonicalName = "Arabela", type = "regular", scripts = {"Latn"}, family = "qfa-zap", } m["arn"] = { canonicalName = "Mapudungun", type = "regular", scripts = {"Latn"}, family = "qfa-ara", } m["aro"] = { canonicalName = "Araona", type = "regular", scripts = {"Latn"}, family = "qfa-tac", } m["arp"] = { canonicalName = "Arapaho", type = "regular", scripts = {"Latn"}, family = "alg", } m["arq"] = { canonicalName = "Algerian Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["arr"] = { canonicalName = "Arara-Karo", otherNames = {"Karo", "Karo (Brazil)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ars"] = { canonicalName = "Najdi Arabic", type = "regular", scripts = {"None"}, family = "sem-arb", } m["aru"] = { canonicalName = "Arua", otherNames = {"Aruá", "Arawa", "Arawá"}, -- extinct, spoken in northern Brazil, cf. 'arx' type = "regular", scripts = {"Latn"}, family = "auf", } m["arv"] = { canonicalName = "Arbore", type = "regular", scripts = {"Latn"}, family = "cus", } m["arw"] = { canonicalName = "Arawak", type = "regular", scripts = {"Latn"}, family = "awd", } m["arx"] = { canonicalName = "Aruá", otherNames = {"Arua", "Aruashi", "Aruáshi", "Aruachi"}, -- moribund, spoken in central Brazil, cf. 'aru' type = "regular", scripts = {"None"}, family = "tup", } m["ary"] = { canonicalName = "Moroccan Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["arz"] = { canonicalName = "Egyptian Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["asa"] = { canonicalName = "Asu", otherNames = {"Asu (Tanzania)"}, type = "regular", scripts = {"None"}, family = "bnt", } m["asb"] = { canonicalName = "Assiniboine", type = "regular", scripts = {"None"}, family = "sio", } m["asc"] = { canonicalName = "Casuarina Coast Asmat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asd"] = { canonicalName = "Asas", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ase"] = { canonicalName = "American Sign Language", otherNames = {"Ameslan", "ASL"}, type = "regular", scripts = {"Sgnw"}, family = "sgn", } m["asf"] = { canonicalName = "Auslan", otherNames = {"Australian Sign Language"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["asg"] = { canonicalName = "Cishingini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ash"] = { canonicalName = "Abishira", type = "regular", scripts = {"None"}, family = "qfa-iso", } m["asi"] = { canonicalName = "Buruwai", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asj"] = { canonicalName = "Nsari", otherNames = {"Sari", "Saari"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["ask"] = { canonicalName = "Ashkun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asl"] = { canonicalName = "Asilulu", type = "regular", scripts = {"Latn"}, family = "plf", } m["asn"] = { canonicalName = "Xingú Asuriní", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aso"] = { canonicalName = "Dano", type = "regular", scripts = {"None"}, family = "ngf", } m["asp"] = { canonicalName = "Algerian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["asq"] = { canonicalName = "Austrian Sign Language", type = "regular", scripts = {"None"}, family = "sgn", } m["asr"] = { canonicalName = "Asuri", type = "regular", scripts = {"None"}, family = "mun", } m["ass"] = { canonicalName = "Ipulo", type = "regular", scripts = {"Latn"}, family = "nic-bod", } m["ast"] = { canonicalName = "Asturian", type = "regular", scripts = {"Latn"}, family = "roa", } m["asu"] = { canonicalName = "Tocantins Asurini", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asv"] = { canonicalName = "Asoa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asw"] = { canonicalName = "Australian Aboriginal Sign Language", otherNames = {"Australian Aborigines Sign Language"}, type = "regular", scripts = {"None"}, family = "sgn", } m["asx"] = { canonicalName = "Muratayak", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["asy"] = { canonicalName = "Yaosakor Asmat", type = "regular", scripts = {"None"}, family = "qfa-und", } m["asz"] = { canonicalName = "As", type = "regular", scripts = {"None"}, family = "poz-hce", } m["ata"] = { canonicalName = "Pele-Ata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atb"] = { canonicalName = "Zaiwa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atc"] = { canonicalName = "Atsahuaca", type = "regular", scripts = {"None"}, family = "qfa-pan", } m["atd"] = { canonicalName = "Ata Manobo", type = "regular", scripts = {"None"}, family = "phi", } m["ate"] = { canonicalName = "Atemble", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atg"] = { canonicalName = "Okpela", otherNames = {"Ivbie North", "Arhe", "Ivbie North-Okpela-Arhe"}, type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ati"] = { canonicalName = "Attié", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atj"] = { canonicalName = "Atikamekw", type = "regular", scripts = {"Latn"}, family = "alg", } m["atk"] = { canonicalName = "Ati", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atl"] = { canonicalName = "Mt. Iraya Agta", type = "regular", scripts = {"None"}, family = "phi", } m["atm"] = { canonicalName = "Ata", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atn"] = { canonicalName = "Ashtiani", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ato"] = { canonicalName = "Atong", otherNames = {"A'tong"}, type = "regular", scripts = {"None"}, family = "nic-bod", } m["atp"] = { canonicalName = "Pudtol Atta", type = "regular", scripts = {"None"}, family = "phi", } m["atq"] = { canonicalName = "Aralle-Tabulahan", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atr"] = { canonicalName = "Waimiri-Atroari", type = "regular", scripts = {"None"}, family = "sai-car", } m["ats"] = { canonicalName = "Gros Ventre", otherNames = {"Atsina"}, type = "regular", scripts = {"Latn"}, family = "alg", } m["att"] = { canonicalName = "Pamplona Atta", type = "regular", scripts = {"None"}, family = "phi", } m["atu"] = { canonicalName = "Reel", type = "regular", scripts = {"None"}, family = "qfa-und", } m["atv"] = { canonicalName = "Northern Altai", otherNames = {"Northern Altay", "Altai", "Altay"}, type = "regular", scripts = {"Cyrl"}, family = "trk", } m["atw"] = { canonicalName = "Atsugewi", otherNames = {"Atsugé"}, type = "regular", scripts = {"Latn"}, family = "qfa-pal", } m["atx"] = { canonicalName = "Arutani", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["aty"] = { canonicalName = "Aneityum", type = "regular", scripts = {"None"}, family = "poz-oce", } m["atz"] = { canonicalName = "Arta", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aua"] = { canonicalName = "Asumboa", type = "regular", scripts = {"None"}, family = "poz-oce", } m["aub"] = { canonicalName = "Alugu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auc"] = { canonicalName = "Huaorani", otherNames = {"Waorani", "Sabela", "Wao", "Huao", "Aushiri", "Ssabela", "Wao Terero", "Auka", "Auca"}, type = "regular", scripts = {"Latn"}, family = "qfa-iso", } m["aud"] = { canonicalName = "Anuta", type = "regular", scripts = {"Latn"}, family = "poz-pol", } m["aue"] = { canonicalName = "ǂKxʼauǁʼein", otherNames = {"ǁAuǁei", "Auen", "Kaukau", "Koko", "Kung-Gobabis", "‡Kx'auǁ'ei", "ǂKx'auǁ'ein", "ǁX'auǁ'e"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["aug"] = { canonicalName = "Aguna", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auh"] = { canonicalName = "Aushi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aui"] = { canonicalName = "Anuki", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["auj"] = { canonicalName = "Augila", otherNames = {"Awjilah", "Awjila"}, type = "regular", scripts = {"None"}, family = "ber", } m["auk"] = { canonicalName = "Heyo", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aul"] = { canonicalName = "Aulua", type = "regular", scripts = {"None"}, family = "poz-vnc", } m["aum"] = { canonicalName = "Abewa", otherNames = {"Asu", "Asu (Nigeria)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["aun"] = { canonicalName = "Molmo One", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["auo"] = { canonicalName = "Auyokawa", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aup"] = { canonicalName = "Makayam", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auq"] = { canonicalName = "Anus", otherNames = {"A", "Korur", "Korurnus"}, -- no name seems to be attested; lect may be the same as 'pdn' type = "regular", scripts = {"None"}, family = "poz-ocw", } m["aur"] = { canonicalName = "Aruek", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["aut"] = { canonicalName = "Austral", type = "regular", scripts = {"None"}, family = "poz-pol", } m["auu"] = { canonicalName = "Auye", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auw"] = { canonicalName = "Awyi", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aux"] = { canonicalName = "Aurá", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auy"] = { canonicalName = "Auyana", type = "regular", scripts = {"None"}, family = "qfa-und", } m["auz"] = { canonicalName = "Uzbeki Arabic", otherNames = {"Uzbek Arabic"}, type = "regular", scripts = {"None"}, family = "sem-arb", } m["avb"] = { canonicalName = "Avau", type = "regular", scripts = {"None"}, family = "poz-ocw", } m["avd"] = { canonicalName = "Alviri-Vidari", otherNames = {"Alviri", "Vidari"}, type = "regular", scripts = {"fa-Arab"}, family = "ira", } m["avi"] = { canonicalName = "Avikam", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["avk"] = { canonicalName = "Kotava", type = "appendix-constructed", scripts = {"None"}, family = "art", } m["avl"] = { canonicalName = "Eastern Egyptian Bedawi Arabic", type = "regular", scripts = {"None"}, family = "sem-arb", } m["avm"] = { canonicalName = "Angkamuthi", -- sometimes considered a dialect of 'urf' type = "regular", scripts = {"Latn"}, family = "aus-pmn", } m["avn"] = { canonicalName = "Avatime", type = "regular", scripts = {"None"}, family = "alv-kwa", } m["avo"] = { canonicalName = "Agavotaguerra", type = "regular", scripts = {"None"}, family = "awd", } m["avs"] = { canonicalName = "Aushiri", type = "regular", scripts = {"None"}, family = "qfa-zap", } m["avt"] = { canonicalName = "Au", type = "regular", scripts = {"None"}, family = "qfa-tor", } m["avu"] = { canonicalName = "Avokaya", type = "regular", scripts = {"None"}, family = "qfa-und", } m["avv"] = { canonicalName = "Avá-Canoeiro", otherNames = {"Avá", "Canoe"}, type = "regular", scripts = {"None"}, family = "tup", } m["awa"] = { canonicalName = "Awadhi", type = "regular", scripts = {"Deva", "Kthi", "fa-Arab"}, family = "inc", } m["awb"] = { canonicalName = "Awa (New Guinea)", otherNames = {"Awa", "Awa (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["awc"] = { canonicalName = "Cicipu", type = "regular", scripts = {"None"}, family = "nic-bco", } m["awe"] = { canonicalName = "Awetí", type = "regular", scripts = {"None"}, family = "tup", } m["awg"] = { canonicalName = "Anguthimri", otherNames = {"Alngith", "Leningitij", "Mpakwithi"}, type = "regular", scripts = {"None"}, family = "aus-pam", } m["awh"] = { canonicalName = "Awbono", type = "regular", scripts = {"None"}, family = "qfa-und", } m["awi"] = { canonicalName = "Aekyom", otherNames = {"Awin"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["awk"] = { canonicalName = "Awabakal", type = "regular", scripts = {"Latn"}, family = "aus-pam", } m["awm"] = { canonicalName = "Arawum", type = "regular", scripts = {"None"}, family = "ngf", } m["awn"] = { canonicalName = "Awngi", type = "regular", scripts = {"None"}, family = "cus", } m["awo"] = { canonicalName = "Awak", type = "regular", scripts = {"None"}, family = "alv", } m["awr"] = { canonicalName = "Awera", type = "regular", scripts = {"None"}, family = "paa-lkp", } m["aws"] = { canonicalName = "South Awyu", type = "regular", scripts = {"None"}, family = "ngf", } m["awt"] = { canonicalName = "Araweté", type = "regular", scripts = {"None"}, family = "tup", } m["awu"] = { canonicalName = "Central Awyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["awv"] = { canonicalName = "Jair Awyu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aww"] = { canonicalName = "Awun", type = "regular", scripts = {"None"}, family = "qfa-und", } m["awx"] = { canonicalName = "Awara", type = "regular", scripts = {"None"}, family = "ngf-fin", } m["awy"] = { canonicalName = "Edera Awyu", type = "regular", scripts = {"None"}, family = "ngf", } m["axb"] = { canonicalName = "Abipon", otherNames = {"Abipón", "Callaga", "Kalyaga"}, type = "regular", scripts = {"None"}, family = "sai-gua", } m["axe"] = { canonicalName = "Ayerrerenge", -- a variety of Arrernte type = "regular", scripts = {"None"}, family = "aus-pam", } m["axg"] = { canonicalName = "Mato Grosso Arára", type = "regular", scripts = {"None"}, family = "qfa-und", } m["axk"] = { canonicalName = "Yaka", otherNames = {"Yaka (Central African Republic)", "Aka", "Beka"}, -- distinguish from 'iyx' and 'yaf' type = "regular", scripts = {"None"}, family = "bnt", } m["axl"] = { canonicalName = "Lower Southern Aranda", type = "regular", scripts = {"None"}, family = "qfa-und", } m["axm"] = { canonicalName = "Middle Armenian", type = "regular", scripts = {"Armn"}, family = "hyx", translit_module = "Armn-translit", entry_name = { from = {"՞", "՜", "՛", "՟", "և"}, to = {"", "", "", "", "եւ"}} , } m["axx"] = { canonicalName = "Xaragure", otherNames = {"Xârâgurè"}, type = "regular", scripts = {"None"}, family = "poz-cln", } m["aya"] = { canonicalName = "Awar", type = "regular", scripts = {"None"}, family = "paa", } m["ayb"] = { canonicalName = "Ayizo Gbe", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ayd"] = { canonicalName = "Ayabadhu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["aye"] = { canonicalName = "Ayere", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ayg"] = { canonicalName = "Ginyanga", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ayh"] = { canonicalName = "Hadrami Arabic", type = "regular", scripts = {"None"}, family = "sem-arb", } m["ayi"] = { canonicalName = "Leyigha", type = "regular", scripts = {"None"}, family = "nic-bco", } m["ayk"] = { canonicalName = "Akuku", type = "regular", scripts = {"Latn"}, family = "alv-edo", } m["ayl"] = { canonicalName = "Libyan Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["ayn"] = { canonicalName = "Sanaani Arabic", type = "regular", scripts = {"None"}, family = "sem-arb", } m["ayo"] = { canonicalName = "Ayoreo", type = "regular", scripts = {"Latn"}, family = "qfa-und", } m["ayp"] = { canonicalName = "North Mesopotamian Arabic", type = "regular", scripts = {"Arab"}, family = "sem-arb", 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["ayq"] = { canonicalName = "Ayi", otherNames = {"Ayi (New Guinea)", "Ayi (Papua New Guinea)"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["ays"] = { canonicalName = "Sorsogon Ayta", type = "regular", scripts = {"None"}, family = "phi", } m["ayt"] = { canonicalName = "Bataan Ayta", otherNames = {"Magbukun Ayta", "Mariveleño"}, type = "regular", scripts = {"None"}, family = "phi", } m["ayu"] = { canonicalName = "Ayu", type = "regular", scripts = {"None"}, family = "qfa-und", } m["ayy"] = { canonicalName = "Tayabas Ayta", type = "regular", scripts = {"None"}, family = "phi", } m["ayz"] = { canonicalName = "Maybrat", otherNames = {"Mai Brat", "Ajamaru", "Ayamaru"}, type = "regular", scripts = {"None"}, family = "qfa-und", } m["aza"] = { canonicalName = "Azha", type = "regular", scripts = {"None"}, family = "qfa-und", } m["azd"] = { canonicalName = "Eastern Durango Nahuatl", type = "regular", scripts = {"None"}, family = "azc-nah", } m["azg"] = { canonicalName = "San Pedro Amuzgos Amuzgo", type = "regular", scripts = {"None"}, family = "omq", } m["azm"] = { canonicalName = "Ipalapa Amuzgo", type = "regular", scripts = {"None"}, family = "omq", } m["azn"] = { canonicalName = "Western Durango Nahuatl", type = "regular", scripts = {"None"}, family = "azc-nah", } m["azo"] = { canonicalName = "Awing", type = "regular", scripts = {"None"}, family = "nic-bod", } m["azt"] = { canonicalName = "Faire Atta", type = "regular", scripts = {"None"}, family = "phi", } m["azz"] = { canonicalName = "Highland Puebla Nahuatl", type = "regular", scripts = {"None"}, family = "azc-nah", } return m 40cu0jsp1gxdvlx9wdz2mrkhunemntr Module:languages/by name 828 4711 13357 2015-06-01T00:38:08Z Dalmo Pereira 1417 Bog cusub: local export = {} for code, data in pairs(mw.loadData("Module:languages/data2")) do export[data.names[1]] = code end for letter in mw.ustring.gmatch("abcdefghijklmnopqrstuvwxyz",... 13357 Scribunto text/plain local export = {} for code, data in pairs(mw.loadData("Module:languages/data2")) do export[data.names[1]] = code end for letter in mw.ustring.gmatch("abcdefghijklmnopqrstuvwxyz", "(.)") do for code, data in pairs(mw.loadData("Module:languages/data3/" .. letter)) do export[data.names[1]] = code end end for code, data in pairs(mw.loadData("Module:languages/datax")) do export[data.names[1]] = code end return export kbm01wz2p7zim6e657z65thdratiq3r Module:languages/alldata 828 4713 13360 2015-06-01T00:41:01Z Dalmo Pereira 1417 Bog cusub: local modules = { ["Module:languages/data2"] = true, ["Module:languages/data3/a"] = true, ["Module:languages/data3/b"] = true, ["Module:languages/data3/c"] = true,... 13360 Scribunto text/plain local modules = { ["Module:languages/data2"] = true, ["Module:languages/data3/a"] = true, ["Module:languages/data3/b"] = true, ["Module:languages/data3/c"] = true, ["Module:languages/data3/d"] = true, ["Module:languages/data3/e"] = true, ["Module:languages/data3/f"] = true, ["Module:languages/data3/g"] = true, ["Module:languages/data3/h"] = true, ["Module:languages/data3/i"] = true, ["Module:languages/data3/j"] = true, ["Module:languages/data3/k"] = true, ["Module:languages/data3/l"] = true, ["Module:languages/data3/m"] = true, ["Module:languages/data3/n"] = true, ["Module:languages/data3/o"] = true, ["Module:languages/data3/p"] = true, ["Module:languages/data3/q"] = true, ["Module:languages/data3/r"] = true, ["Module:languages/data3/s"] = true, ["Module:languages/data3/t"] = true, ["Module:languages/data3/u"] = true, ["Module:languages/data3/v"] = true, ["Module:languages/data3/w"] = true, ["Module:languages/data3/x"] = true, ["Module:languages/data3/y"] = true, ["Module:languages/data3/z"] = true, ["Module:languages/datax"] = true, } local m = {} for mname in pairs(modules) do for key, value in pairs(require(mname)) do m[key] = value end end return m rdi5wlras5llxlkhb81eiqojwtejimt Module:families/templates 828 4714 13383 2015-06-02T18:30:54Z 191.33.134.160 Bog cusub: local export = {} function export.exists(frame) local args = frame.args local fam = args[1] or error("Xeerka qoyska aan la cayimay. Fadlan mari Halbeegga 1 ilaa ogyn qaybtan.") f... 13383 Scribunto text/plain local export = {} function export.exists(frame) local args = frame.args local fam = args[1] or error("Xeerka qoyska aan la cayimay. Fadlan mari Halbeegga 1 ilaa ogyn qaybtan.") fam = require("Module:families").getByCode(fam) if fam then return "1" else return "" end end function export.getByCode(frame) local args = frame.args local fam = args[1] or error("Xeerka qoyska (halbeegga 1) aan la cayimay.") local itemname = args[2] or error("Fansaar inuu u soo yeedho (halbeegga 2) aan la cayimay.") fam = require("Module:families").getByCode(fam) or error("Xeerka qoyska '" .. fam .. "' run ma aha.") -- Shayga in wacaha doonayay in kor eega if itemname == "getCanonicalName" then return fam:getCanonicalName() elseif itemname == "getOtherNames" then local index = args[3]; if index == "" then index = nil end index = tonumber(index or error("Murdisada tiro shayga la doonayo in liiska (halbeegga 3) aan la cayimay.")) return fam:getOtherNames()[index] or "" elseif itemname == "getFamily" then return fam:getFamily():getCode() elseif itemname == "getCategoryName" then return fam:getCategoryName() else error("Haddii ay codsi ka jirin magaca shayga \"" .. itemname .. "\".") end end function export.getByCanonicalName(frame) local args = frame.args local famname = args[1] or error("Magaca qoyska aan la cayimay. Fadlan mari halbeegga 1 ilaa ogyn qaybtan.") local fam = require("Module:families").getByCanonicalName(famname) if fam then return fam:getCode() else return "" end end return export cv6kx2p5b8qnilp75s4qg1kvqmfdq6t Module:families 828 4715 13384 2015-06-02T18:41:54Z 191.33.134.160 Bog cusub: local export = {} local Family = {} function Family:getCode() return self._code end function Family:getCanonicalName() return self._rawData.canonicalName end --function Family... 13384 Scribunto text/plain local export = {} local Family = {} function Family:getCode() return self._code end function Family:getCanonicalName() return self._rawData.canonicalName end --function Family:getAllNames() -- return self._rawData.names --end function Family:getOtherNames() return self._rawData.otherNames or {} end function Family:getType() return "family" end function Family:getFamily() return export.getByCode(self._rawData.family) end function Family:getCategoryName() local name = self._rawData.canonicalName -- If the name already has "languages" in it, don't add it. if name:find("[Ll]anguages$") then return name else return name .. " languages" end end function Family:toJSON() local ret = { canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName(), code = self._code, family = self._rawData.family, otherNames = self:getOtherNames(), type = self:getType(), } return require("Module:JSON").toJSON(ret) end function Family:getRawData() return self._rawData end Family.__index = Family function export.makeObject(code, data) return data and setmetatable({ _rawData = data, _code = code }, Family) or nil end function export.getByCode(code) if code == 'kdo' then require('Module:debug').track('Kordofanian') end return export.makeObject(code, mw.loadData("Module:families/data")[code]) end function export.getByCanonicalName(name) local code = mw.loadData("Module:families/by name")[name] if not code then return nil end return export.makeObject(code, mw.loadData("Module:families/data")[code]) end return export mo7pw3g7k4a0dtoh9by33upryt1ir0v Module:families/data 828 4716 13385 2015-06-02T18:43:58Z 191.33.134.160 Bog cusub: --[=[ This module contains definitions for all language family codes on Wiktionary. ]=]-- local m = {} m["aav"] = { canonicalName = "Austro-Asiatic", otherNames = {"Austroas... 13385 Scribunto text/plain --[=[ This module contains definitions for all language family codes on Wiktionary. ]=]-- local m = {} m["aav"] = { canonicalName = "Austro-Asiatic", otherNames = {"Austroasiatic"}, family = "qfa-und", } m["aav-ban"] = { canonicalName = "Bahnaric", family = "aav", } m["aav-nbn"] = { canonicalName = "North Bahnaric", family = "aav-ban", } m["afa"] = { canonicalName = "Afro-Asiatic", otherNames = {"Afroasiatic"}, family = "qfa-und", } m["alg"] = { canonicalName = "Algonquian", family = "aql", } m["alv"] = { canonicalName = "Atlantic-Congo", family = "nic", } m["alv-edo"] = { canonicalName = "Edoid", family = "alv-von", } m["alv-kwa"] = { canonicalName = "Kwa", family = "alv", } m["alv-mbm"] = { canonicalName = "Mbum", family = "alv-sav", } m["alv-sav"] = { canonicalName = "Savanna", family = "alv", } m["alv-sng"] = { canonicalName = "Senegambian", family = "alv", } m["alv-von"] = { canonicalName = "Volta-Niger", family = "alv", } m["apa"] = { canonicalName = "Apachean", otherNames = {"Southern Athabaskan"}, family = "ath", } m["aqa"] = { canonicalName = "Alacalufan", family = "qfa-und", } m["aql"] = { canonicalName = "Algic", otherNames = {"Algonquian-Ritwan", "Algonquian-Wiyot-Yurok"}, family = "qfa-und", } m["art"] = { canonicalName = "constructed", otherNames = {"artificial", "planned"}, family = "qfa-not", } m["ath"] = { canonicalName = "Athabaskan", family = "xnd", } m["ath-nor"] = { canonicalName = "North Athabaskan", otherNames = {"Northern Athabaskan"}, family = "ath", } m["ath-pco"] = { canonicalName = "Pacific Coast Athabaskan", family = "ath", } m["auf"] = { canonicalName = "Arauan", otherNames = {"Arahuan", "Arauán", "Arawa", "Arawan", "Arawán"}, family = "qfa-und"} --[=[ Exceptional language and family codes for Australian Aboriginal languages can use the prefix "aus-", though "aus" is no longer itself a family code. ]=]-- m["aus-arn"] = { canonicalName = "Arnhem", otherNames = {"Gunwinyguan", "Macro-Gunwinyguan"}, family = "qfa-und", } m["aus-bub"] = { canonicalName = "Bunuban", otherNames = {"Bunaban"}, family = "qfa-und", } m["aus-cww"] = { canonicalName = "Central New South Wales", family = "aus-pam", } m["aus-dal"] = { canonicalName = "Daly", family = "qfa-und", } m["aus-dyb"] = { canonicalName = "Dyirbalic", family = "aus-pam", } m["aus-gar"] = { canonicalName = "Garawan", family = "qfa-und", } m["aus-gun"] = { canonicalName = "Gunwinyguan", otherNames = {"Gunwingguan"}, family = "aus-arn", } m["aus-kar"] = { canonicalName = "Karnic", family = "aus-pam", } m["aus-nga"] = { canonicalName = "Ngayarda", family = "aus-psw", } m["aus-nyu"] = { canonicalName = "Nyulnyulan", family = "qfa-und", } m["aus-pam"] = { canonicalName = "Pama-Nyungan", family = "qfa-und", } m["aus-pmn"] = { canonicalName = "Paman", family = "aus-pam", } m["aus-psw"] = { canonicalName = "Southwest Pama-Nyungan", family = "aus-pam", } m["aus-rnd"] = { canonicalName = "Arandic", family = "aus-pam", } m["aus-wdj"] = { canonicalName = "Iwaidjan", otherNames = {"Yiwaidjan"}, family = "qfa-und", } m["aus-yid"] = { canonicalName = "Yidinyic", family = "aus-pam", } m["aus-yol"] = { canonicalName = "Yolngu", otherNames = {"Yolŋu", "Yolngu Matha"}, family = "aus-pam", } m["aus-yuk"] = { canonicalName = "Yuin-Kuric", family = "aus-pam", } m["awd"] = { canonicalName = "Arawakan", otherNames = {"Arawak", "Maipurean", "Maipuran"}, family = "qfa-und", } m["awd-taa"] = { canonicalName = "Ta-Arawakan", otherNames = {"Ta-Arawak", "Ta-Maipurean"}, family = "awd", } m["azc"] = { canonicalName = "Uto-Aztecan", otherNames = {"Uto-Aztekan"}, family = "qfa-und", } m["azc-cup"] = { canonicalName = "Cupan", family = "azc-tak", } m["azc-nah"] = { canonicalName = "Nahuan", otherNames = {"Aztecan"}, family = "azc", } m["azc-num"] = { canonicalName = "Numic", family = "azc", } m["azc-tak"] = { canonicalName = "Takic", family = "azc", } m["azc-trc"] = { canonicalName = "Taracahitic", otherNames = {"Taracahitan"}, family = "azc", } m["bad"] = { canonicalName = "Banda", family = "nic-ubg", } m["bai"] = { canonicalName = "Bamileke", family = "nic-grf", } m["bat"] = { canonicalName = "Baltic", family = "ine-bsl", } m["ber"] = { canonicalName = "Berber", otherNames = {"Tamazight"}, family = "afa", } m["bnt"] = { canonicalName = "Bantu", family = "nic-bod", } m["btk"] = { canonicalName = "Batak", family = "poz-nws"} --[=[ Exceptional language and family codes for Central American Indian languages can use the prefix "cai-", though "cai" is no longer itself a family code. ]=]-- m["cau"] = { canonicalName = "Caucasian", family = "qfa-not", } m["cau-cir"] = { canonicalName = "Circassian", otherNames = {"Cherkess"}, family = "cau-nwc", } m["cau-nec"] = { canonicalName = "Northeast Caucasian", otherNames = {"Dagestanian", "Nakho-Dagestanian", "Caspian"}, family = "cau", } m["cau-nwc"] = { canonicalName = "Northwest Caucasian", otherNames = {"Abkhazo-Adyghean", "Pontic"}, family = "cau", } m["cba"] = { canonicalName = "Chibchan", family = "qfa-mch", -- or 'qfa-und' if Macro-Chibchan is considered undemonstrated } m["ccn"] = { canonicalName = "North Caucasian", family = "cau", } m["ccs"] = { canonicalName = "Kartvelian", otherNames = {"South Caucasian"}, family = "cau", } m["cdc"] = { canonicalName = "Chadic", family = "afa", } m["cdc-cbm"] = { canonicalName = "Central Chadic", otherNames = {"Biu-Mandara"}, family = "cdc", } m["cdc-est"] = { canonicalName = "East Chadic", family = "cdc", } m["cdc-mas"] = { canonicalName = "Masa", family = "cdc", } m["cdc-wst"] = { canonicalName = "West Chadic", family = "cdc", } m["cdd"] = { canonicalName = "Caddoan", family = "qfa-und", } m["cel"] = { canonicalName = "Celtic", family = "ine", } m["cel-bry"] = { canonicalName = "Brythonic", family = "cel", } m["cel-gae"] = { canonicalName = "Goidelic", otherNames = {"Gaelic"}, family = "cel", } m["cmc"] = { canonicalName = "Chamic", family = "poz-mcm", } m["crp"] = { canonicalName = "creole or pidgin", family = "qfa-not", } m["csu"] = { canonicalName = "Central Sudanic", family = "ssa", } m["cus"] = { canonicalName = "Cushitic", family = "afa", } m["day"] = { canonicalName = "Land Dayak", family = "poz-bop", } m["del"] = { canonicalName = "Lenape", otherNames = {"Delaware"}, family = "alg", } m["dmn"] = { canonicalName = "Mande", family = "nic", } m["dra"] = { canonicalName = "Dravidian", family = "qfa-und", } m["egx"] = { canonicalName = "Egyptian", family = "afa", } m["esx"] = { canonicalName = "Eskimo-Aleut", family = "qfa-und", } m["esx-esk"] = { canonicalName = "Eskimo", family = "esx", } m["esx-inu"] = { canonicalName = "Inuit", family = "esx-esk", } m["euq"] = { canonicalName = "Vasconic", family = "qfa-und", } m["fiu"] = { canonicalName = "Finno-Ugric", otherNames = {"Finno-Ugrian"}, family = "urj", } m["fiu-fin"] = { canonicalName = "Finnic", family = "urj", } m["fiu-mdv"] = { canonicalName = "Mordvinic", family = "urj", } m["fiu-prm"] = { canonicalName = "Permic", family = "urj", } m["fiu-ugr"] = { canonicalName = "Ugric", family = "urj", } m["gem"] = { canonicalName = "Germanic", family = "ine", } m["gme"] = { canonicalName = "East Germanic", family = "gem", } m["gmq"] = { canonicalName = "North Germanic", family = "gem", } m["gmw"] = { canonicalName = "West Germanic", family = "gem", } m["gmw-fri"] = { canonicalName = "Frisian", family = "gmw", } m["grk"] = { canonicalName = "Hellenic", otherNames = {"Greek"}, family = "ine", } m["hmn"] = { canonicalName = "Hmong", family = "hmx", } m["hmx"] = { canonicalName = "Hmong-Mien", otherNames = {"Miao-Yao"}, family = "qfa-und", } m["hmx-mie"] = { canonicalName = "Mien", family = "hmx", } m["hok"] = { canonicalName = "Hokan", family = "qfa-und", } m["hyx"] = { canonicalName = "Armenian", family = "ine", } m["iir"] = { canonicalName = "Indo-Iranian", family = "ine", } m["iir-dar"] = { canonicalName = "Dardic", family = "inc", } m["ijo"] = { canonicalName = "Ijoid", family = "nic", } m["inc"] = { canonicalName = "Indo-Aryan", otherNames = {"Indic"}, family = "iir", } m["ine"] = { canonicalName = "Indo-European", otherNames = {"Indo-Germanic"}, family = "qfa-und", } m["ine-ana"] = { canonicalName = "Anatolian", family = "ine", } m["ine-bsl"] = { canonicalName = "Balto-Slavic", family = "ine", } m["ine-toc"] = { canonicalName = "Tocharian", otherNames = {"Tokharian"}, family = "ine", } m["ira"] = { canonicalName = "Iranian", family = "iir", } m["iro"] = { canonicalName = "Iroquoian", family = "qfa-und", } m["itc"] = { canonicalName = "Italic", family = "ine", } m["jpx"] = { canonicalName = "Japonic", otherNames = {"Japanese", "Japanese-Ryukyuan"}, family = "qfa-und", } m["kar"] = { canonicalName = "Karen", family = "tbq", } m["kdo"] = { canonicalName = "Kordofanian", family = "qfa-not", } m["khi"] = { canonicalName = "Khoisan", otherNames = {"Khoesaan", "Khoesan"}, family = "qfa-not", } m["kro"] = { canonicalName = "Kru", family = "nic-bco", } m["map"] = { canonicalName = "Austronesian", family = "qfa-und", } m["map-ata"] = { canonicalName = "Atayalic", family = "map", } m["mkh"] = { canonicalName = "Mon-Khmer", family = "aav", } m["mkh-vie"] = { canonicalName = "Vietic", family = "mkh", } m["mno"] = { canonicalName = "Manobo", family = "phi", } m["mun"] = { canonicalName = "Munda", family = "aav", } m["myn"] = { canonicalName = "Mayan", family = "qfa-und"} --[=[ Exceptional language and family codes for North American Indian languages can use the prefix "nai-", though "nai" is no longer itself a family code. ]=]-- m["nai-chu"] = { canonicalName = "Chumashan", family = "qfa-und", } m["nai-ckn"] = { canonicalName = "Chinookan", family = "qfa-und", } m["nai-mdu"] = { canonicalName = "Maiduan", family = "qfa-und", } m["nai-miz"] = { canonicalName = "Mixe-Zoquean", family = "qfa-und", } m["nai-pom"] = { canonicalName = "Pomoan", otherNames = {"Pomo", "Kulanapan"}, family = "qfa-und", } m["nai-shp"] = { canonicalName = "Sahaptian", family = "qfa-und", } m["nai-yuc"] = { canonicalName = "Yuman-Cochimí", family = "qfa-und", } m["ngf"] = { canonicalName = "Trans-New Guinea", family = "qfa-und", } m["ngf-fin"] = { canonicalName = "Finisterre", family = "ngf", } m["ngf-okk"] = { canonicalName = "Ok", family = "ngf", } m["ngf-sbh"] = { canonicalName = "South Bird's Head", family = "ngf", } m["nic"] = { canonicalName = "Niger-Congo", otherNames = {"Niger-Kordofanian"}, family = "qfa-und", } m["nic-bco"] = { canonicalName = "Benue-Congo", family = "nic-vco", } m["nic-bod"] = { canonicalName = "Bantoid", family = "nic-bco", } m["nic-grf"] = { canonicalName = "Grassfields", otherNames = {"Grassfields Bantu", "Wide Grassfields"}, family = "nic-bod", } m["nic-gur"] = { canonicalName = "Gur", otherNames = {"Voltaic"}, family = "alv-sav", } m["nic-knj"] = { canonicalName = "Kainji", family = "nic-bco", } m["nic-ubg"] = { canonicalName = "Ubangian", family = "nic-vco", -- or 'qfa-und' } m["nic-vco"] = { canonicalName = "Volta-Congo", family = "alv", } m["nub"] = { canonicalName = "Nubian", family = "qfa-und", } m["omq"] = { canonicalName = "Oto-Manguean", family = "qfa-und", } m["omq-mix"] = { canonicalName = "Mixtecan", family = "omq", } m["omq-tri"] = { canonicalName = "Trique", otherNames = {"Triqui"}, family = "omq-mix", } m["omq-zap"] = { canonicalName = "Zapotecan", family = "omq", } m["omv"] = { canonicalName = "Omotic", family = "afa", } m["oto"] = { canonicalName = "Otomian", family = "omq", } m["paa"] = { canonicalName = "Papuan", family = "qfa-not", } m["paa-iwm"] = { canonicalName = "Iwam", family = "qfa-und", } m["paa-kag"] = { canonicalName = "Kainantu-Goroka", family = "ngf", } m["paa-lkp"] = { canonicalName = "Lakes Plain", family = "qfa-und", } m["paa-mai"] = { canonicalName = "Mairasi", family = "qfa-und", } m["paa-msk"] = { canonicalName = "Sko", otherNames = {"Skou"}, family = "qfa-und", } m["paa-spk"] = { canonicalName = "Sepik", family = "qfa-und", } m["phi"] = { canonicalName = "Philippine", family = "poz-bop", } m["plf"] = { canonicalName = "Central Malayo-Polynesian", family = "poz", } m["poz"] = { canonicalName = "Malayo-Polynesian", family = "map", } m["poz-aay"] = { canonicalName = "Admiralty Islands", family = "poz-oce", } m["poz-bnn"] = { canonicalName = "North Bornean", family = "poz-bop", } m["poz-bop"] = { canonicalName = "Borneo-Philippines", family = "poz", } m["poz-bre"] = { canonicalName = "East Barito", family = "poz-bop", } m["poz-brw"] = { canonicalName = "West Barito", family = "poz-bop", } m["poz-btk"] = { canonicalName = "Bungku-Tolaki", family = "poz-sus", } m["poz-cln"] = { canonicalName = "New Caledonian", family = "poz-occ", } m["poz-hce"] = { canonicalName = "Halmahera-Cenderawasih", family = "pqe", } m["poz-kal"] = { canonicalName = "Kaili-Pamona", family = "poz-sus", } m["poz-lgx"] = { canonicalName = "Lampungic", family = "poz-sus", } m["poz-mcm"] = { canonicalName = "Malayo-Chamic", family = "poz-msa", } m["poz-mic"] = { canonicalName = "Micronesian", family = "poz-occ", } m["poz-mly"] = { canonicalName = "Malayic", family = "poz-mcm", } m["poz-msa"] = { canonicalName = "Malayo-Sumbawan", family = "poz-sus", } m["poz-mun"] = { canonicalName = "Muna-Buton", family = "poz-sus", } m["poz-nws"] = { canonicalName = "Northwest Sumatran", family = "poz-sus", } m["poz-occ"] = { canonicalName = "Central-Eastern Oceanic", family = "poz-oce", } m["poz-oce"] = { canonicalName = "Oceanic", family = "pqe", } m["poz-ocw"] = { canonicalName = "Western Oceanic", family = "poz-oce", } m["poz-pol"] = { canonicalName = "Polynesian", family = "poz-occ", } m["poz-san"] = { canonicalName = "Sabahan", family = "poz-bnn", } m["poz-sbj"] = { canonicalName = "Sama-Bajaw", family = "poz-bop", } m["poz-slb"] = { canonicalName = "Saluan-Banggai", family = "poz-sus", } m["poz-sls"] = { canonicalName = "Southeast Solomonic", family = "poz-occ", } m["poz-ssw"] = { canonicalName = "South Sulawesi", family = "poz-sus", } m["poz-sus"] = { canonicalName = "Sunda-Sulawesi", family = "poz", } m["poz-swa"] = { canonicalName = "North Sarawakan", family = "poz-bnn", } m["poz-tot"] = { canonicalName = "Tomini-Tolitoli", family = "poz-sus", } m["poz-vnc"] = { canonicalName = "North-Central Vanuatu", family = "poz-occ", } m["poz-wot"] = { canonicalName = "Wotu-Wolio", family = "poz-sus", } m["pqe"] = { canonicalName = "Eastern Malayo-Polynesian", family = "poz", } m["pqw"] = { canonicalName = "Western Malayo-Polynesian", family = "poz", } m["pra"] = { canonicalName = "Prakrit", family = "inc", } m["qfa-adm"] = { canonicalName = "Andamanese", family = "qfa-und", } m["qfa-ara"] = { canonicalName = "Araucanian", family = "qfa-und", } m["qfa-cat"] = { canonicalName = "Catawban", family = "qfa-sca", } m["qfa-cka"] = { canonicalName = "Chukotko-Kamchatkan", family = "qfa-und", } m["qfa-cpc"] = { canonicalName = "Chapacuran", family = "qfa-und", } m["qfa-ctc"] = { canonicalName = "Catacaoan", family = "qfa-und", } m["qfa-dgn"] = { canonicalName = "Dogon", family = "qfa-und", } m["qfa-gua"] = { canonicalName = "Guahiban", otherNames = {"Guahiboan", "Guajiboan", "Wahivoan"}, family = "qfa-und", } m["qfa-hur"] = { canonicalName = "Hurro-Urartian", family = "qfa-und", } m["qfa-iso"] = { canonicalName = "isolate", family = "qfa-not", } m["qfa-jiv"] = { canonicalName = "Jivaroan", otherNames = {"Hívaro", "Jibaro", "Jibaroan", "Jibaroana", "Jívaro"}, family = "qfa-und", } m["qfa-kad"] = { canonicalName = "Kadu", family = "qfa-und", -- considered either Nilo-Saharan or independent/'qfa-und' } m["qfa-ker"] = { canonicalName = "Keresan", family = "qfa-und", } m["qfa-kor"] = { canonicalName = "Korean", family = "qfa-und", } m["qfa-kta"] = { canonicalName = "Kiowa-Tanoan", family = "qfa-und", } m["qfa-kxa"] = { canonicalName = "Kx'a", otherNames = {"Ju-ǂHoan"}, family = "qfa-und", } m["qfa-len"] = { canonicalName = "Lencan", otherNames = {"Lenca"}, family = "qfa-und", } m["qfa-mal"] = { canonicalName = "Left May", family = "qfa-und", } m["qfa-mas"] = { canonicalName = "Mascoian", otherNames = {"Mascoyan", "Maskoian", "Enlhet-Enenlhet"}, family = "qfa-und", } m["qfa-mch"] = { canonicalName = "Macro-Chibchan", family = "qfa-und", } m["qfa-mgc"] = { canonicalName = "Mataco-Guaicuru", family = "qfa-und", } m["qfa-min"] = { canonicalName = "Misumalpan", otherNames = {"Misuluan", "Misumalpa"}, family = "qfa-mch", } m["qfa-mix"] = { canonicalName = "mixed", family = "qfa-not", } m["qfa-mtc"] = { canonicalName = "Matacoan", family = "qfa-und", } m["qfa-mus"] = { canonicalName = "Muskogean", family = "qfa-und", } m["qfa-not"] = { canonicalName = "not a family", family = "qfa-not", } m["qfa-pal"] = { canonicalName = "Palaihnihan", family = "qfa-und", } m["qfa-pan"] = { canonicalName = "Panoan", otherNames = {"Pano"}, family = "qfa-pat", } m["qfa-pat"] = { canonicalName = "Pano-Tacanan", otherNames = {"Pano-Tacana", "Pano-Takana", "Páno-Takána", "Pano-Takánan"}, family = "qfa-und", } m["qfa-sca"] = { canonicalName = "Siouan-Catawban", family = "qfa-und", } m["qfa-sub"] = { canonicalName = "substrate", family = "qfa-und", } m["qfa-tac"] = { canonicalName = "Tacanan", family = "qfa-pat", } m["qfa-tak"] = { canonicalName = "Tai-Kadai", otherNames = {"Daic", "Kadai", "Kra-Dai"}, family = "qfa-und", } m["qfa-tor"] = { canonicalName = "Torricelli", family = "qfa-und", } m["qfa-tot"] = { canonicalName = "Totozoquean", family = "qfa-und", } m["qfa-tuc"] = { canonicalName = "Tucanoan", family = "qfa-und", } m["qfa-tuu"] = { canonicalName = "Tuu", otherNames = {"ǃUi-Taa"}, family = "qfa-und", } m["qfa-tyn"] = { canonicalName = "Tyrsenian", family = "qfa-und", } m["qfa-und"] = { canonicalName = "unclassified", otherNames = {"undetermined"}, family = "qfa-not", } m["qfa-wic"] = { canonicalName = "Wichí", family = "qfa-und", } m["qfa-wtq"] = { canonicalName = "Wintuan", otherNames = {"Wintun"}, family = "qfa-und", } m["qfa-xin"] = { canonicalName = "Xincan", otherNames = {"Xinca"}, family = "qfa-und", } m["qfa-yen"] = { canonicalName = "Yeniseian", otherNames = {"Yeniseic", "Yenisei-Ostyak"}, family = "qfa-und", } m["qfa-you"] = { canonicalName = "Yok-Utian", family = "qfa-und", } m["qfa-yuk"] = { canonicalName = "Yukaghir", otherNames = {"Yukagir", "Jukagir"}, family = "qfa-und", } m["qfa-zap"] = { canonicalName = "Zaparoan", family = "qfa-und", } m["qwe"] = { canonicalName = "Quechuan", family = "qfa-und", } m["roa"] = { canonicalName = "Romance", otherNames = {"Romanic", "Latin", "Neolatin", "Neo-Latin"}, family = "itc"} --[=[ Exceptional language and family codes for South American Indian languages can use the prefix "sai-", though "sai" is no longer itself a family code. ]=]-- m["sai-aym"] = { canonicalName = "Aymaran", family = "qfa-und", } m["sai-bar"] = { canonicalName = "Barbacoan", otherNames = {"Barbakoan"}, family = "qfa-und", } m["sai-car"] = { canonicalName = "Cariban", otherNames = {"Carib"}, family = "qfa-und", } m["sai-gua"] = { canonicalName = "Guaicuruan", otherNames = {"Guaicurú", "Guaycuruana", "Guaikurú", "Guaycuruano", "Guaykuruan", "Waikurúan"}, family = "qfa-und", } m["sai-jee"] = { canonicalName = "Jê", otherNames = {"Gê", "Jean", "Gean", "Jê-Kaingang", "Ye"}, family = "sai-mje", } m["sai-mje"] = { canonicalName = "Macro-Jê", otherNames = {"Macro-Gê"}, family = "qfa-und", } m["sai-mur"] = { canonicalName = "Muran", otherNames = {"Mura"}, family = "qfa-und", } m["sai-nmk"] = { canonicalName = "Nambikwaran", otherNames = {"Nambicuaran", "Nambiquaran", "Nambikuaran"}, family = "qfa-und", } m["sal"] = { canonicalName = "Salishan", family = "qfa-und", } m["sdv"] = { canonicalName = "Eastern Sudanic", family = "ssa", } m["sem"] = { canonicalName = "Semitic", family = "afa", } m["sem-ara"] = { canonicalName = "Aramaic", family = "sem-nwe", } m["sem-arb"] = { canonicalName = "Arabic", family = "sem-cen", } m["sem-can"] = { canonicalName = "Canaanite", family = "sem-nwe", } m["sem-cen"] = { canonicalName = "Central Semitic", family = "sem-wes", } m["sem-eas"] = { canonicalName = "East Semitic", family = "sem", } m["sem-eth"] = { canonicalName = "Ethiopian Semitic", otherNames = {"Afro-Semitic", "Ethiopian", "Ethiopic", "Ethiosemitic"}, family = "sem-sou", } m["sem-nwe"] = { canonicalName = "Northwest Semitic", family = "sem-cen", } m["sem-osa"] = { canonicalName = "Old South Arabian", otherNames = {"Epigraphic South Arabian", "Sayhadic"}, family = "sem-sou", } m["sem-sar"] = { canonicalName = "South Arabian", otherNames = {"Modern South Arabian"}, family = "sem-sou", } m["sem-sou"] = { canonicalName = "South Semitic", family = "sem-wes", } m["sem-wes"] = { canonicalName = "West Semitic", family = "sem", } m["sgn"] = { canonicalName = "sign", family = "qfa-not", } m["sgn-fsl"] = { canonicalName = "French Sign Languages", family = "sgn", } m["sgn-gsl"] = { canonicalName = "German Sign Languages", family = "sgn", } m["sgn-jsl"] = { canonicalName = "Japanese Sign Languages", family = "sgn", } m["sio"] = { canonicalName = "Siouan", family = "qfa-sca", } m["sit"] = { canonicalName = "Sino-Tibetan", family = "qfa-und", } m["sla"] = { canonicalName = "Slavic", otherNames = {"Slavonic"}, family = "ine-bsl", } m["smi"] = { canonicalName = "Sami", otherNames = {"Saami", "Samic", "Saamic"}, family = "urj", } m["son"] = { canonicalName = "Songhai", otherNames = {"Songhay"}, family = "ssa", } m["sqj"] = { canonicalName = "Albanian", family = "ine", } m["ssa"] = { canonicalName = "Nilo-Saharan", family = "qfa-und", -- possibly not a genetic grouping } m["ssa-fur"] = { canonicalName = "Fur", family = "ssa", } m["ssa-sah"] = { canonicalName = "Saharan", family = "ssa", } m["syd"] = { canonicalName = "Samoyedic", otherNames = {"Samoyed", "Samodeic"}, family = "urj", } m["tai"] = { canonicalName = "Tai", family = "qfa-tak", } m["tai-swe"] = { canonicalName = "Southwestern Tai", family = "tai", } m["tbq"] = { canonicalName = "Tibeto-Burman", family = "sit", } m["tbq-brm"] = { canonicalName = "Burmish", family = "tbq", } m["tbq-kuk"] = { canonicalName = "Kukish", family = "tbq", } m["trk"] = { canonicalName = "Turkic", family = "qfa-und", } m["tup"] = { canonicalName = "Tupian", otherNames = {"Tupi"}, family = "qfa-und", } m["tut"] = { canonicalName = "Altaic", family = "qfa-und", } m["tuw"] = { canonicalName = "Tungusic", otherNames = {"Manchu-Tungus", "Tungus"}, family = "qfa-und", } m["urj"] = { canonicalName = "Uralic", otherNames = {"Finno-Ugric"}, family = "qfa-und", } m["wak"] = { canonicalName = "Wakashan", family = "qfa-und", } m["wen"] = { canonicalName = "Sorbian", otherNames = {"Lusatian", "Wendish"}, family = "zlw", } m["xgn"] = { canonicalName = "Mongolic", otherNames = {"Mongolian"}, family = "qfa-und", } m["xnd"] = { canonicalName = "Na-Dene", family = "qfa-und", } m["ypk"] = { canonicalName = "Yupik", family = "esx-esk", } m["zhx"] = { canonicalName = "Sinitic", otherNames = {"Chinese"}, family = "sit", } m["zle"] = { canonicalName = "East Slavic", family = "sla", } m["zls"] = { canonicalName = "South Slavic", family = "sla", } m["zlw"] = { canonicalName = "West Slavic", family = "sla", } m["znd"] = { canonicalName = "Zande", family = "qfa-und", } return m se4g0qjkibtgm6lywexqwfltkjbsrd6 halak 0 4717 18818 13853 2017-04-28T17:26:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18818 wikitext text/x-wiki {{-hu-}} === Magac === '''halak''' [[kalluunka]] {{-uz-}} === Magac === '''halak''' [[wajahaya]] gq72b9gce798m6u76dp92warnvnwlds item 0 4718 18892 15135 2017-04-28T17:26:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18892 wikitext text/x-wiki {{-en-}} === Magac === '''item''' [[wax]] {{-fr-}} === Fal-kaab === '''item''' [[shay]] {{-it-}} === Fal-kaab === '''item''' [[shay]] === Magac === '''item''' [[wax]] {{-la-}} === Fal-kaab === '''item''' [[shay]] {{-pt-}} === Magac === '''item''' [[wax]] jauvkcq9o18ac6o89rv8olrjal83jzp fal-kaab 0 4719 18723 13922 2017-04-28T17:25:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18723 wikitext text/x-wiki {{-so-}} === Magac === '''fal-kaab''' === Tarjumaad === * {{en}}: [[adverb]] * {{el}}: [[επίρρημα]] * {{nl}}: [[bijwoord]] * {{ms}}: [[kata sifat kerja]] * {{pt}}: [[advérbio]] * {{ru}}: [[наречие]] * {{tg}}: [[зарф]] * {{uz}}: [[ravish]] 3vesg58jdaeaal8v1ges440fnq84cq9 bijwoord 0 4720 18491 17969 2017-04-28T17:24:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18491 wikitext text/x-wiki {{-nl-}} === Magac === '''bijwoord''' [[fal-kaab]] bxsd5t4t05arpdlg67nov58rzpl27ab ravish 0 4721 19215 14028 2017-04-28T17:29:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19215 wikitext text/x-wiki {{-uz-}} === Magac === '''ravish''' [[fal-kaab]] 6q028h02qb9sugz5l5hr9nvxeum8nkx adverb 0 4722 18385 16068 2017-04-28T17:23:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18385 wikitext text/x-wiki {{-en-}} === Magac === '''adverb''' [[fal-kaab]] {{-no-}} === Magac === '''adverb''' [[fal-kaab]] {{-ro-}} === Magac === '''adverb''' [[fal-kaab]] {{-sh-}} === Magac === '''adverb''' [[fal-kaab]] {{-sv-}} === Magac === '''adverb''' [[fal-kaab]] drtax4b53a0vkmd1dwy8r2igntsl99d επίρρημα 0 4723 19550 17970 2017-04-28T17:31:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19550 wikitext text/x-wiki {{-el-}} === Magac === '''επίρρημα''' [[fal-kaab]] 9qeosny2zjbprzr9u5k4659lqk6yb7s kata sifat kerja 0 4724 13393 2015-06-02T19:01:58Z 191.33.134.160 Bog cusub: {{-ms-}} ===Magac=== '''kata sifat kerja''' [[fal-kaab]] 13393 wikitext text/x-wiki {{-ms-}} ===Magac=== '''kata sifat kerja''' [[fal-kaab]] 1ckmk3nl9gzd1k4ej9vlk2zp07vwtut advérbio 0 4725 18386 15538 2017-04-28T17:23:16Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18386 wikitext text/x-wiki {{-pt-}} === Magac === '''advérbio''' [[fal-kaab]] bs84saiwb8sdtfadqcl8bo8u9u7j4dx наречие 0 4726 19586 15598 2017-04-28T17:31:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19586 wikitext text/x-wiki {{-ru-}} === Magac === '''наречие''' [[fal-kaab]] g92gtdvn3tiloqsgrhrbk71ihebxe2t зарф 0 4727 19578 15595 2017-04-28T17:31:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19578 wikitext text/x-wiki {{-tg-}} === Magac === '''зарф''' [[fal-kaab]] 4zr78ux9eb0ofqrwyqz03sm12i9313w hol 0 4728 18847 17299 2017-04-28T17:26:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18847 wikitext text/x-wiki {{-uz-}} === Magac === '''hol''' [[fal-kaab]] 14mbd5hznd3ttcriru9n4s89f5cc1dv Tajakistaan 0 4729 13398 2015-06-02T19:13:20Z 191.33.134.160 Bog cusub: {{-so-}} ===Magac ku habboon=== '''Tajakistaan''' ===Tarjumaad=== *{{en}}: [[Tajikistan]] *{{hu}}: [[Tádzsikisztán]] *{{ru}}: [[Таджикистан]] 13398 wikitext text/x-wiki {{-so-}} ===Magac ku habboon=== '''Tajakistaan''' ===Tarjumaad=== *{{en}}: [[Tajikistan]] *{{hu}}: [[Tádzsikisztán]] *{{ru}}: [[Таджикистан]] kw3mqujijbu8horh24isdrf1nnr0mgi Таджикистан 0 4730 19564 13490 2017-04-28T17:31:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19564 wikitext text/x-wiki {{-bg-}} === Magac ku habboon === '''Таджикистан''' [[Tajakistaan]] {{-ru-}} === Magac ku habboon === '''Таджикистан''' [[Tajakistaan]] {{-uk-}} === Magac ku habboon === '''Таджикистан''' [[Tajakistaan]] 1ckw4u1i1afgfy4ggf4weubut2lbmbn Tajikistan 0 4731 18346 15833 2017-04-28T17:22:55Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18346 wikitext text/x-wiki {{-gd-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-cy-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-io-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-id-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-en-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-sw-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] {{-vi-}} === Magac ku habboon === '''Tajikistan''' [[Tajakistaan]] 7x4350cjn4lonfrru9wbp0ye1rhd2yk Tádzsikisztán 0 4732 18352 13872 2017-04-28T17:22:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18352 wikitext text/x-wiki {{-hu-}} === Magac ku habboon === '''Tádzsikisztán''' [[Tajakistaan]] 7llumiiib6exslih09w9knirlan07sa limon 0 4733 18978 15138 2017-04-28T17:27:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18978 wikitext text/x-wiki {{-sq-}} === Magac === '''limon''' [[liin]] {{-az-}} === Magac === '''limon''' [[liin]] {{-eo-}} === Magac === '''limon''' {{-fr-}} === Magac === '''limon''' [[liin]] {{-sl-}} === Magac === '''limon''' [[liin]] {{-sv-}} === Magac === '''limon''' [[liin]] {{-crh-}} === Magac === '''limon''' [[liin]] {{-tr-}} === Magac === '''limon''' [[liin]] {{-tk-}} === Magac === '''limon''' [[liin]] {{-tl-}} === Magac === '''limon''' [[liin]] {{-uz-}} === Magac === '''limon''' [[liin]] etmbrvzash06lsl4jy2a35ru6767rba liin 0 4734 18975 16631 2017-04-28T17:27:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18975 wikitext text/x-wiki {{-so-}} === Magac === '''liin''' === Tarjumaad === {{kor}} * {{az}}: [[limon]] * {{en}}: [[lemon]] * {{es}}: [[limón]] * {{fr}}: [[citron]] * {{de}}: [[Zitrone]] * {{id}}: [[jeruk nipis]] * {{is}}: [[sítrónu]] {{dhaxda}} * {{la}}: [[citrus]] * {{nl}}: [[citroen]] * {{ms}}: [[limau]] * {{pt}}: [[limão]] * {{ru}}: [[лимон]] (limon) * {{uz}}: [[limon]] * {{ja}}: [[レモン]] (remon) * {{zh}}: [[柠檬]] (níngméng) {{hoos}} i4ufz1on23pjgt8srz8h9ikqh54iv37 limão 0 4736 18979 16630 2017-04-28T17:27:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18979 wikitext text/x-wiki {{-pt-}} === Magac === '''limão''' * [[liin]] qe39hnxhwxo3h5etziyx8q9f3qofjoh lemon 0 4737 18973 16318 2017-04-28T17:27:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18973 wikitext text/x-wiki {{-en-}} === Magac === '''lemon''' * [[liin]] {{-eo-}} === Magac === '''lemon''' * [[liin]] r9x9qzh4waqmicwftw95mw4976cmr68 limón 0 4738 18980 18225 2017-04-28T17:27:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18980 wikitext text/x-wiki {{-an-}} === Magac === '''limón''' * [[liin]] {{-es-}} === Magac === '''limón''' * [[liin]] {{-gl-}} === Magac === '''limón''' * [[liin]] g6t261m2ih7lg2tel5xbk205prxw9lp Category:Musharaxiinta u tirtirka degdeg ah 14 4739 19923 17583 2017-07-03T13:38:55Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19923 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb Module:tcez 828 4740 13428 2015-06-03T18:43:23Z Dalmo Pereira 1417 Bog cusub: local export = {} local m_sc = require("Module:scripts") local m_lang = require("Module:languages") function export.show(frame) if #frame:getParent().args > 0 then error('No param... 13428 Scribunto text/plain local export = {} local m_sc = require("Module:scripts") local m_lang = require("Module:languages") function export.show(frame) if #frame:getParent().args > 0 then error('No parameter should be passed') end PAGENAME = PAGENAME or mw.title.getCurrentTitle().text if PAGENAME:find(':') then --The names are designed to be ascii langcode = mw.text.split(PAGENAME,':')[1] catname = mw.text.split(PAGENAME,':')[2] else langcode = '' catname = PAGENAME end local text = '' if langcode ~= '' then local langname = m_lang.getByCode(langcode):getCanonicalName() text = text .. frame:expandTemplate{title='Template:topic cat description/'..catname,args={['langlink']='[['..langname..']]'}} text = text .. '<sup class="plainlinks">[[https://en.wiktionary.org/w/index.php?title=Template:topic_cat_description/'..mw.uri.encode(catname,'WIKI')..'&action=edit&preload=Template:topic_cat_description/default edit description]]' text = text .. '[[https://en.wiktionary.org/w/index.php?title=Template:topic_cat_parents/'..mw.uri.encode(catname,'WIKI')..'&action=edit&preload=Template:topic_cat_parents/preload edit parents]]</sup>' text = text .. "\n\n''For other languages, see table at'' [[:Category:"..catname.."]]" text = text .. '[[Category:'..catname..']]' text = text .. '[[Category:'..langcode..':List of topics]]' else text = text .. 'This category contains only other categories, no dictionary entries. Its subcategories are on the topic: '..catname..'. They are of two sorts:' text = text .. '\n\n* Subcategories named like "aa:'..catname..'" (with a prefixed language code) are categories of terms in specific languages; for example "fr:'..catname..'" is the '..catname..'-related category of French terms. You may be interested especially in [[:Category:en:'..catname..'|en:'..catname..']], for English terms. To browse by language name instead of language code, see the "By language" table, below.' text = text .. '\n\n* Subcategories of this one named without the prefixed language code are further categories just like this one, but devoted to topics finer than '..catname..'.' text = text .. '<sup class="plainlinks">[[https://en.wiktionary.org/w/index.php?title=Template:topic_cat_description/'..mw.uri.encode(catname,'WIKI')..'&action=edit&preload=Template:topic_cat_description/default edit description]]' text = text .. '[[https://en.wiktionary.org/w/index.php?title=Template:topic_cat_parents/'..mw.uri.encode(catname,'WIKI')..'&action=edit&preload=Template:topic_cat_parents/preload edit parents]]</sup>\n\n' text = text .. frame:expandTemplate{title='Template:nav table',args={['current']=catname}} text = text .. '[[Category:List of topics]]' end local parents = {} if mw.title.new('Template:topic cat parents/'..catname).exists then parents[1] = frame:expandTemplate{title='Template:topic cat parents/'..catname,args={'parent1',['code']=langcode,['label']=catname}} local asterisk = '' if langcode == '' then asterisk = '*' end if parents[1] ~= '' then text = text .. '[[' .. name(nil,langcode,parents[1]) .. '|' .. asterisk .. catname .. ']]' else local parentbyname1 = frame:expandTemplate{title='Template:topic cat parents/'..catname,args={'parentbyname1',['code']=langcode,['label']=catname}} if parentbyname1 ~= '' then text = text .. '[[' .. name(nil,langcode,parentbyname1) .. '|' .. asterisk local sortparent1 = frame:expandTemplate{title='Template:topic cat parents/'..catname,args={'sortparent1',['code']=langcode,['label']=catname}} if sortparent1 ~= '' then text = text .. sortparent else text = text .. catname end text = text .. ']]' end end for i=2,5 do parents[i] = frame:expandTemplate{title='Template:topic cat parents/'..catname,args={'parent'..i,['code']=langcode,['label']=catname}} if parents[i] ~= '' then text = text .. '[[' .. name(nil,langcode,parents[i]) .. '|' .. asterisk .. catname .. ']]' end end else text = text .. '[[' .. name(nil,langcode,'Miscellaneous') .. '|' .. asterisk .. catname .. ']]' end if langcode == '' then text = text .. '[[Category:List of topics|' .. catname .. ']]' else if catname ~= 'List of topics' then text = text .. '[[Category:'..catname..']]' text = text .. '[[Category:'..langcode..':List of topics|'..catname..']]' end end return text end function name(prefix,lang,category,sc) local text = prefix or 'Category:' if lang and lang ~= '' then text = text .. lang .. ':' end text = text .. category if sc and sc ~= '' then text = text .. ' in ' if sc == 'Hant' then text = text .. 'traditional script' elseif sc == 'Hans' then text = text .. 'simplified script' else text = text .. m_sc.getByCode(sc):getCategoryName() end end return text end return export cap6bre3sj4d4qgnke3rxv7zwhm7ko2 wadahadalkeyga 0 4741 13433 2015-06-04T17:24:45Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''wadahadalkeyga''' 13433 wikitext text/x-wiki {{-so-}} ===Magac=== '''wadahadalkeyga''' fw77r1zneiyb4lnveo386tlhohx8z0y Template:head 10 4742 13435 2015-06-04T17:31:49Z Dalmo Pereira 1417 Bog cusub: {{safesubst:<noinclude/>#invoke:headword/templates|head_t}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> 13435 wikitext text/x-wiki {{safesubst:<noinclude/>#invoke:headword/templates|head_t}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> bncfe941x0rt2zzfm8n0681i3ztid7a Module:headword/templates 828 4743 13436 2015-06-04T17:33:00Z Dalmo Pereira 1417 Bog cusub: local export = {} -- Part of speech types that should not be pluralized. local invariable = { ["cmavo"] = true, ["cmene"] = true, ["fu'ivla"] = true, ["gismu"] = true, ["Han tu"]... 13436 Scribunto text/plain local export = {} -- Part of speech types that should not be pluralized. local invariable = { ["cmavo"] = true, ["cmene"] = true, ["fu'ivla"] = true, ["gismu"] = true, ["Han tu"] = true, ["hanzi"] = true, ["hanja"] = true, ["jyutping"] = true, ["kanji"] = true, ["lujvo"] = true, ["phrasebook"] = true, ["pinyin"] = true, ["rafsi"] = true, ["romaji"] = true, } local params = { [1] = {required = true, default = "und"}, ["sc"] = {}, ["cat sc"] = {}, ["sort"] = {}, [2] = {}, ["cat2"] = {}, ["cat3"] = {}, ["head"] = {list = true, allow_holes = true, default = ""}, ["tr"] = {list = true, allow_holes = true}, ["g"] = {list = true}, [3] = {list = true, allow_holes = true}, ["f1accel"] = {}, ["f1request"] = {}, ["f1alt"] = {}, ["f1sc"] = {}, ["f1id"] = {}, ["f1tr"] = {}, ["f1g"] = {}, ["f1qual"] = {}, ["f1nolink"] = {type = "boolean"}, ["f1lang"] = {}, ["f2accel"] = {}, ["f2request"] = {}, ["f2alt"] = {}, ["f2sc"] = {}, ["f2id"] = {}, ["f2tr"] = {}, ["f2g"] = {}, ["f2qual"] = {}, ["f2nolink"] = {type = "boolean"}, ["f2lang"] = {}, ["f3accel"] = {}, ["f3request"] = {}, ["f3alt"] = {}, ["f3sc"] = {}, ["f3id"] = {}, ["f3tr"] = {}, ["f3g"] = {}, ["f3qual"] = {}, ["f3nolink"] = {type = "boolean"}, ["f3lang"] = {}, ["f4accel"] = {}, ["f4request"] = {}, ["f4alt"] = {}, ["f4sc"] = {}, ["f4id"] = {}, ["f4tr"] = {}, ["f4g"] = {}, ["f4qual"] = {}, ["f4nolink"] = {type = "boolean"}, ["f4lang"] = {}, ["f5accel"] = {}, ["f5request"] = {}, ["f5alt"] = {}, ["f5sc"] = {}, ["f5id"] = {}, ["f5tr"] = {}, ["f5g"] = {}, ["f5qual"] = {}, ["f5nolink"] = {type = "boolean"}, ["f5lang"] = {}, ["f6accel"] = {}, ["f6request"] = {}, ["f6alt"] = {}, ["f6sc"] = {}, ["f6id"] = {}, ["f6tr"] = {}, ["f6g"] = {}, ["f6qual"] = {}, ["f6nolink"] = {type = "boolean"}, ["f6lang"] = {}, ["f7accel"] = {}, ["f7request"] = {}, ["f7alt"] = {}, ["f7sc"] = {}, ["f7id"] = {}, ["f7tr"] = {}, ["f7g"] = {}, ["f7qual"] = {}, ["f7nolink"] = {type = "boolean"}, ["f7lang"] = {}, ["f8accel"] = {}, ["f8request"] = {}, ["f8alt"] = {}, ["f8sc"] = {}, ["f8id"] = {}, ["f8tr"] = {}, ["f8g"] = {}, ["f8qual"] = {}, ["f8nolink"] = {type = "boolean"}, ["f8lang"] = {}, ["f9accel"] = {}, ["f9request"] = {}, ["f9alt"] = {}, ["f9sc"] = {}, ["f9id"] = {}, ["f9tr"] = {}, ["f9g"] = {}, ["f9qual"] = {}, ["f9nolink"] = {type = "boolean"}, ["f9lang"] = {}, ["f10accel"] = {}, ["f10request"] = {}, ["f10alt"] = {}, ["f10sc"] = {}, ["f10id"] = {}, ["f10tr"] = {}, ["f10g"] = {}, ["f10qual"] = {}, ["f10nolink"] = {type = "boolean"}, ["f10lang"] = {}, ["f11accel"] = {}, ["f11request"] = {}, ["f11alt"] = {}, ["f11sc"] = {}, ["f11id"] = {}, ["f11tr"] = {}, ["f11g"] = {}, ["f11qual"] = {}, ["f11nolink"] = {type = "boolean"}, ["f11lang"] = {}, ["f12accel"] = {}, ["f12request"] = {}, ["f12alt"] = {}, ["f12sc"] = {}, ["f12id"] = {}, ["f12tr"] = {}, ["f12g"] = {}, ["f12qual"] = {}, ["f12nolink"] = {type = "boolean"}, ["f12lang"] = {}, ["f13accel"] = {}, ["f13request"] = {}, ["f13alt"] = {}, ["f13sc"] = {}, ["f13id"] = {}, ["f13tr"] = {}, ["f13g"] = {}, ["f13qual"] = {}, ["f13nolink"] = {type = "boolean"}, ["f13lang"] = {}, ["f14accel"] = {}, ["f14request"] = {}, ["f14alt"] = {}, ["f14sc"] = {}, ["f14id"] = {}, ["f14tr"] = {}, ["f14g"] = {}, ["f14qual"] = {}, ["f14nolink"] = {type = "boolean"}, ["f14lang"] = {}, ["f15accel"] = {}, ["f15request"] = {}, ["f15alt"] = {}, ["f15sc"] = {}, ["f15id"] = {}, ["f15tr"] = {}, ["f15g"] = {}, ["f15qual"] = {}, ["f15nolink"] = {type = "boolean"}, ["f15lang"] = {}, ["f16accel"] = {}, ["f16request"] = {}, ["f16alt"] = {}, ["f16sc"] = {}, ["f16id"] = {}, ["f16tr"] = {}, ["f16g"] = {}, ["f16qual"] = {}, ["f16nolink"] = {type = "boolean"}, ["f16lang"] = {}, ["f17accel"] = {}, ["f17request"] = {}, ["f17alt"] = {}, ["f17sc"] = {}, ["f17id"] = {}, ["f17tr"] = {}, ["f17g"] = {}, ["f17qual"] = {}, ["f17nolink"] = {type = "boolean"}, ["f17lang"] = {}, } function export.head_t(frame) local args = require("Module:parameters").process(frame:getParent().args, params) -- Get language and script information local lang = args[1] local sc = args["sc"] local cat_sc = args["cat sc"] lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") if cat_sc then cat_sc = (cat_sc and (require("Module:scripts").getByCode(cat_sc) or error("The script code \"" .. cat_sc .. "\" is not valid.")) or nil) sc = cat_sc else sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) end -- Gather basic parameters local sort_key = args["sort"] local pos = args[2] local cat2 = args["cat2"] local cat3 = args["cat3"] local heads = args["head"] local translits = args["tr"] local genders = args["g"] -- Gather inflected forms local inflections = {} -- Go over all the inflection parameters for i = 1, math.ceil(args[3].maxindex / 2) do local infl_part = { label = args[3][i * 2 - 1], accel = args["f" .. i .. "accel"], request = args["f" .. i .. "request"], } local form = { term = args[3][i * 2], alt = args["f" .. i .. "alt"], genders = {args["f" .. i .. "g"]}, id = args["f" .. i .. "id"], lang = args["f" .. i .. "lang"], nolink = args["f" .. i .. "nolink"], qualifiers = {args["f" .. i .. "qual"]}, sc = args["f" .. i .. "sc"], translit = args["f" .. i .. "tr"], } if form.lang ~= nil then form.lang = require("Module:languages").getByCode(form.lang) or error("The language code \"" .. form.lang .. "\" is not valid.") end if form.sc ~= nil then form.sc = require("Module:scripts").getByCode(form.sc) or error("The script code \"" .. form.sc .. "\" is not valid.") end -- If no term or alt is given, then the label is shown alone. if form.term or form.alt then table.insert(infl_part, form) end if infl_part.label == "or" then -- Append to the previous inflection part, if one exists if #infl_part > 0 and inflections[1] then table.insert(inflections[#inflections], form) end elseif infl_part.label then -- Add a new inflection part table.insert(inflections, infl_part) end end -- Get/set categories local categories = {} local tracking_categories = {} if pos then if not pos:find("s$") and not invariable[pos] then --require("Module:debug").track("head tracking/singular category") -- Make the plural form of the part of speech if pos:find("x$") then pos = pos .. "es" else pos = pos .. "s" end end table.insert(categories, lang:getCanonicalName() .. " " .. pos .. (cat_sc and " in " .. cat_sc:getCategoryName() or "")) end if cat2 then table.insert(categories, lang:getCanonicalName() .. " " .. cat2) end if cat3 then table.insert(categories, lang:getCanonicalName() .. " " .. cat3) end return require("Module:headword").full_headword(lang, sc, heads, translits, genders, inflections, categories, sort_key) .. require("Module:utilities").format_categories(tracking_categories, lang, sort_key) end return export grf5mqmrbxhhmr078ui7l8xn55cynfr Module:headword 828 4744 13488 13437 2015-06-04T23:42:59Z Dalmo Pereira 1417 13488 Scribunto text/plain local export = {} local lemmas = { ["abbreviations"] = true, ["acronyms"] = true, ["adjectives"] = true, ["adnominals"] = true, ["adpositions"] = true, ["adverbs"] = true, ["affixes"] = true, ["articles"] = true, ["circumfixes"] = true, ["circumpositions"] = true, ["classifiers"] = true, ["cmavo"] = true, ["cmavo clusters"] = true, ["cmene"] = true, ["comparative adjectives"] = true, ["comparative adverbs"] = true, ["conjunctions"] = true, ["contractions"] = true, ["counters"] = true, ["determiners"] = true, ["diacritical marks"] = true, ["fu'ivla"] = true, ["gismu"] = true, ["Han characters"] = true, ["Han tu"] = true, ["hanzi"] = true, ["hanja"] = true, ["idioms"] = true, ["infixes"] = true, ["interfixes"] = true, ["initialisms"] = true, ["interjections"] = true, ["kanji"] = true, ["letters"] = true, ["ligatures"] = true, ["lujvo"] = true, ["morphemes"] = true, ["non-constituents"] = true, ["nouns"] = true, ["numbers"] = true, ["numeral symbols"] = true, ["numerals"] = true, ["particles"] = true, ["phrases"] = true, ["postpositions"] = true, ["predicatives"] = true, ["prefixes"] = true, ["prepositions"] = true, ["prepositional phrases"] = true, ["preverbs"] = true, ["pronominal adverbs"] = true, ["pronouns"] = true, ["proverbs"] = true, ["proper nouns"] = true, ["punctuation marks"] = true, ["relatives"] = true, ["roots"] = true, ["suffixes"] = true, ["superlative adjectives"] = true, ["superlative adverbs"] = true, ["syllables"] = true, ["symbols"] = true, ["verbs"] = true, } local nonlemmas = { ["active participles"] = true, ["adjectival participles"] = true, ["adjective forms"] = true, ["adjective comparative forms"] = true, ["adjective equative forms"] = true, ["adjective superlative forms"] = true, ["adverb forms"] = true, ["adverb comparative forms"] = true, ["adverb superlative forms"] = true, ["adverbial participles"] = true, ["agent participles"] = true, ["article forms"] = true, ["circumfix forms"] = true, ["combined forms"] = true, ["determiner comparative forms"] = true, ["determiner forms"] = true, ["determiner superlative forms"] = true, ["diminutive nouns"] = true, ["gerunds"] = true, ["infinitive forms"] = true, ["infinitives"] = true, ["jyutping"] = true, ["kanji readings"] = true, ["misspellings"] = true, ["negative participles"] = true, ["nominal participles"] = true, ["noun case forms"] = true, ["noun forms"] = true, ["noun plural forms"] = true, ["numeral forms"] = true, ["participles"] = true, ["participle forms"] = true, ["particle forms"] = true, ["passive participles"] = true, ["past active participles"] = true, ["past participles"] = true, ["past participle forms"] = true, ["past passive participles"] = true, ["perfect active participles"] = true, ["perfect passive participles"] = true, ["pinyin"] = true, ["plurals"] = true, ["postposition forms"] = true, ["prefix forms"] = true, ["preposition contractions"] = true, ["preposition forms"] = true, ["prepositional pronouns"] = true, ["present active participles"] = true, ["present participles"] = true, ["present passive participles"] = true, ["pronoun forms"] = true, ["proper noun forms"] = true, ["rafsi"] = true, ["romanizations"] = true, ["singulatives"] = true, ["suffix forms"] = true, ["verb forms"] = true, ["verbal nouns"] = true, } local notranslit = { ["az"] = true, ["bbc"] = true, ["bug"] = true, ["cia"] = true, ["cjm"] = true, ["cmn"] = true, ["hak"] = true, ["ja"] = true, ["lad"] = true, ["lzh"] = true, ["ms"] = true, ["mul"] = true, ["nan"] = true, ["oj"] = true, ["pi"] = true, ["ro"] = true, ["ryu"] = true, ["sh"] = true, ["tgt"] = true, ["tly"] = true, ["und"] = true, ["vi"] = true, ["yue"] = true, ["zh"] = true, } local function preprocess(lang, sc, heads, translits, categories) if type(heads) ~= "table" then heads = {heads} end if type(translits) ~= "table" then translits = {translits} end if #heads == 0 then heads = {""} end -- Create a default headword. local default_head = mw.title.getCurrentTitle().subpageText -- Determine if term is reconstructed local is_reconstructed = lang:getType() == "reconstructed" or (lang:getType() ~= "appendix-constructed" and mw.title.getCurrentTitle().nsText == "Appendix") -- Add links to multi-word page names when appropriate if lang:getCode() ~= "zh" then local WORDBREAKCHARS = "([%p%s]+)" local EXCLUDECHARS = "([^-־'.·]+)" -- workaround for excluding characters from the above local contains_words = false; mw.ustring.gsub(default_head, WORDBREAKCHARS, function(b) contains_words = contains_words or mw.ustring.match(b, "^" .. EXCLUDECHARS .. "$"); end) if (not is_reconstructed) and contains_words then local function workaround_to_exclude_chars(s) return mw.ustring.gsub(s, EXCLUDECHARS, "]]%1[[") end default_head = "[[" .. mw.ustring.gsub(default_head, WORDBREAKCHARS, workaround_to_exclude_chars) .. "]]" -- default_head = "[[" .. mw.ustring.gsub(default_head, WORDBREAKCHARS, "]]%1[[") .. "]]" -- use this when workaround is no longer needed default_head = mw.ustring.gsub(default_head, "%[%[%]%]", "") -- remove any empty links (which could have been created above at the beginning or end of the string) end 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(heads) do if head == "" then head = default_head end heads[i] = head 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 sc then sc = require("Module:scripts").findBestScript(heads[1], lang) end -- Make transliterations for i, head in ipairs(heads) do local translit = 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 == "-" then translit = nil elseif not translit and not ((sc:getCode():find("Latn", nil, true)) or sc:getCode() == "Latinx" or sc:getCode() == "None") then translit = lang:transliterate(require("Module:links").remove_links(head), sc) -- There is still no transliteration? -- Add the entry to a cleanup category. if not translit and not notranslit[lang:getCode()] then translit = "<small>transliteration needed</small>" table.insert(categories, lang:getCanonicalName() .. " terms needing transliteration") end end translits[i] = translit end return heads, translits, sc end -- Format a headword with transliterations local function format_headword(lang, sc, heads, translits) local m_links = require("Module:links") 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 -- Format the headwords for i, head in ipairs(heads) do if translits[i] then has_translits = true end -- Apply processing to the headword, for formatting links and such if head:find("[[", nil, true) then head = m_links.language_link(head, nil, lang, nil, false) end -- Add language and script wrapper head = m_scriptutils.tag_text(head, lang, sc, "head") heads[i] = head end local translits_formatted = "" if has_translits then -- Format the transliterations for i, head in ipairs(heads) do local translit = translits[i] if not translit then translit = "?" end translit = "<span class=\"tr\" lang=\"\">" .. translit .. "</span>" translits[i] = translit end translits_formatted = " (<span class=\"tr\" lang=\"\">" .. table.concat(translits, " ''or'' ") .. "</span>)" if lang and mw.title.new(lang:getCanonicalName() .. " transliteration", "Wiktionary").exists then translits_formatted = " [[Wiktionary:" .. lang:getCanonicalName() .. " transliteration|•]]" .. translits_formatted end end return table.concat(heads, " ''or'' ") .. translits_formatted end local function format_genders(lang, sc, genders) if genders and #genders > 0 then local gen = require("Module:jinsiga iyo tirada") return "&nbsp;" .. gen.format_list(genders, lang) else return "" end end local function format_inflection_parts(lang, sc, parts) local m_links = require("Module:links") for key, part in ipairs(parts) do if type(part) ~= "table" then part = {term = part} end local qualifiers = "" if part.qualifiers and #part.qualifiers > 0 then qualifiers = mw.getCurrentFrame():expandTemplate{title = "qualifier", args = part.qualifiers} .. " " end -- 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 = m_links.full_link(not part.nolink and part.term or nil, part.alt or (part.nolink and part.term or nil), part.lang or lang, part.sc or (not part.lang and sc), "bold", part.id, {genders = part.genders, tr = part.translit or (lang:getCode() ~= "ar" and "-" or nil)}, false) if parts.accel then part = "<span class=\"form-of lang-" .. lang:getCode() .. " " .. parts.accel .. "\">" .. part .. "</span>" end part = qualifiers .. part parts[key] = part end local parts_output = "" if #parts > 0 then parts_output = " " .. table.concat(parts, " ''or'' ") elseif parts.request then parts_output = " <small>[please provide]</small>" .. require("Module:utilities").format_categories({lang:getCanonicalName() .. " entries needing inflection"}, lang) end return "''" .. parts.label .. "''" .. parts_output end -- Format the inflections following the headword local function format_inflections(lang, sc, inflections) if inflections and #inflections > 0 then -- Format each inflection individually for key, infl in ipairs(inflections) do inflections[key] = format_inflection_parts(lang, sc, infl) end return " (" .. table.concat(inflections, ", ") .. ")" else return "" end end function export.full_headword(lang, sc, heads, translits, genders, inflections, categories, sort_key) local tracking_categories = {} categories = categories or {} -- Were any categories specified? if #categories == 0 then if lang:getCode() ~= "und" then table.insert(tracking_categories, "head tracking/no pos") require("Module:debug").track("head tracking/no pos") require("Module:debug").track("head tracking/no pos/lang/" .. lang:getCode()) end else for _, cat in ipairs(categories) do -- Does the category begin with the language name? If not, tag it with a tracking category. if mw.ustring.sub(cat, 1, mw.ustring.len(lang:getCanonicalName()) + 1) ~= lang:getCanonicalName() .. " " then table.insert(tracking_categories, "head tracking/no lang category") require("Module:debug").track("head tracking/no lang category") require("Module:debug").track("head tracking/no lang category/lang/" .. lang:getCode()) end end -- Does the category begin with the language name? if mw.ustring.sub(categories[1], 1, mw.ustring.len(lang:getCanonicalName()) + 1) == lang:getCanonicalName() .. " " then local pos = mw.ustring.sub(categories[1], mw.ustring.len(lang:getCanonicalName()) + 2) -- Is it a lemma category? if lemmas[pos] or lemmas[pos:gsub("^reconstructed ", "")] then table.insert(categories, 1, lang:getCanonicalName() .. " lemmas") -- Is it a nonlemma category? elseif nonlemmas[pos] or nonlemmas[pos:gsub("^reconstructed ", "")] or lemmas[pos:gsub("^mutated ", "")] or nonlemmas[pos:gsub("^mutated ", "")] then table.insert(categories, lang:getCanonicalName() .. " non-lemma forms") -- It's neither; we don't know what this category is, so tag it with a tracking category. else table.insert(tracking_categories, "head tracking/unrecognized pos") require("Module:debug").track("head tracking/unrecognized pos") require("Module:debug").track("head tracking/unrecognized pos/lang/" .. lang:getCode()) require("Module:debug").track("head tracking/unrecognized pos/pos/" .. pos) end end end -- Preprocess heads, translits, sc = preprocess(lang, sc, heads, translits, categories) -- Format and return all the gathered information return format_headword(lang, sc, heads, translits) .. format_genders(lang, sc, genders) .. format_inflections(lang, sc, inflections) .. require("Module:utilities").format_categories(categories, lang, sort_key) .. require("Module:utilities").format_categories(tracking_categories, lang, sort_key) end return export i096qg7tns6awzvh6ivj0di90kz9gg4 Module:parameters 828 4745 13438 2015-06-04T17:35:29Z Dalmo Pereira 1417 Bog cusub: local export = {} -- A helper function that removes empty numeric indexes in a table, -- so that the values are tightly packed like in a normal Lua table. function export.remove_holes... 13438 Scribunto text/plain local export = {} -- A helper function that removes empty numeric indexes in a table, -- so that the values are tightly packed like in a normal Lua table. function export.remove_holes(list) local new_list = {} for i = 1, list.maxindex do table.insert(new_list, list[i]) end return new_list end function export.process(args, params) local args_new = {} -- Process parameters for specific properties local required = {} local patterns = {} local list_from_index = nil for name, param in pairs(params) do if param.required then required[name] = true end if param.list then if param.default ~= nil then args_new[name] = {param.default, maxindex = 1} else args_new[name] = {maxindex = 0} 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. patterns["^" .. param.list .. "(%d+)$"] = name elseif type(name) == "number" then -- If the name is a number, then all indexed parameters from -- this number onwards go in the list. list_from_index = name else patterns["^" .. name .. "(%d+)$"] = name end elseif param.default ~= nil then args_new[name] = param.default end end -- Process the arguments for name, val in pairs(args) do local index = nil if type(name) == "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 = mw.ustring.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 -- If no index was found, use 1 as the default index. -- This makes list parameters like g, g2, g3 put g at index 1. index = index or 1 local param = params[name] -- If the argument is not in the list of parameters, trigger an error. if not params[name] then error("The parameter \"" .. name .. "\" does not exist.") end -- Empty string is equivalent to nil unless allow_empty is true. if val == "" and not param.allow_empty then val = nil end -- Convert to proper type if necessary. if param.type == "boolean" then val = not (not val or val == "" or val == "0" or val == "no" or val == "n" or val == "false") elseif param.type == "number" then val = tonumber(val) end -- Can't use "if val" alone, because val may be a boolean false. if val ~= nil then -- Mark it as no longer required, as it is present. required[name] = nil -- Store the argument value. if param.list then args_new[name][index] = val -- Store the highest index we find. args_new[name].maxindex = math.max(index, args_new[name].maxindex) else -- If the parameter is an alias of another, store it as the original, -- but avoid overwriting it; the original takes precedence. if not param.alias_of then args_new[name] = val elseif args[param.alias_of] == nil then args_new[param.alias_of] = val end 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().nsText ~= "Template" then for name, param in pairs(required) do error("The parameter \"" .. name .. "\" is required.") end end -- Remove holes in any list parameters if needed. for name, val in pairs(args_new) do if type(val) == "table" and not params[name].allow_holes then args_new[name] = export.remove_holes(val) end end return args_new end return export 79n5fn304v69sn07v3cyno9f6t6qsge Template:g 10 4746 13441 13439 2015-06-04T17:47:58Z Dalmo Pereira 1417 13441 wikitext text/x-wiki {{#invoke:jinsiga iyo tirada|show_list|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}}}<!-- --><noinclude>{{diiwaaninta}}</noinclude> pdzqe10ezxl6odek9kx909866gnw73i Module:jinsiga iyo tirada 828 4747 13440 2015-06-04T17:47:25Z Dalmo Pereira 1417 Bog cusub: --[=[ Sawirkan waxa uu abuuraa qaab yoolka ah ee jinsiga iyo tirada. Waxaa badasha faahfaahinta jinsiga qaab Wiki / HTML ah. Faahfaahinta jinsiga A waxaa ku qoran liiska mid ka... 13440 Scribunto text/plain --[=[ Sawirkan waxa uu abuuraa qaab yoolka ah ee jinsiga iyo tirada. Waxaa badasha faahfaahinta jinsiga qaab Wiki / HTML ah. Faahfaahinta jinsiga A waxaa ku qoran liiska mid ka mid ah waxyaabaha hoos ku qoran, kala hyphens. Tusaale ahaan: "c", "n", "f-p", "m-ah-p" ]=]-- local export = {} local codes = {} -- Liiska dhan "qaybo" suurto gal ah in faahfaahinta ah waxaa la samayn karaa ka mid ah. codes["?"] = '<abbr title="gender incomplete">?</abbr>' -- Jinsi codes["m"] = '<abbr title="masculine gender">m</abbr>' codes["f"] = '<abbr title="feminine gender">f</abbr>' codes["n"] = '<abbr title="neuter gender">n</abbr>' codes["c"] = '<abbr title="common gender">c</abbr>' -- Isreebreebka dheeraad ah codes["an"] = '<abbr title="animate">anim</abbr>' codes["in"] = '<abbr title="inanimate">inan</abbr>' codes["pr"] = '<abbr title="personal">pers</abbr>' -- Lambarada codes["s"] = '<abbr title="singular number">sg</abbr>' codes["d"] = '<abbr title="dual number">du</abbr>' codes["p"] = '<abbr title="plural number">pl</abbr>' -- Isreebreebka fal codes["impf"] = '<abbr title="imperfective aspect">impf</abbr>' codes["pf"] = '<abbr title="perfective aspect">pf</abbr>' -- Kitaabka of liiska qaab in la beddeli kara ka jaantus ah. function export.show_list(frame) local args = frame.args local lang = args["lang"]; if lang == "" then lang = nil end local list = {} local i = 1 while args[i] and args[i] ~= "" do table.insert(list, args[i]) i = i + 1 end return export.format_list(list, lang) end -- Qaabka hal ama jinsi dheeraad ah tilmaamaha gaarka u ah, oo ah qaab miis ka sooca ah. function export.format_list(list, lang) local is_nounclass = nil -- Badan faahfaahinta kasta oo qaab. for key, spec in ipairs(list) do local nc list[key], nc = export.format_specification(spec, lang) -- Hubi in shay sooc ka jira oo dhan ka mid ah fasalada magac, ama midkoodna yihiin. if is_nounclass == nil then is_nounclass = nc elseif is_nounclass ~= nc then error("Fasalada magac iyo jinsi ma lagu qasi karaa. Fadlan isticmaal mid ama ka kale.") end end if is_nounclass then -- Xeerasha baaraandegi wada Add la dhimi return "<span class=\"gender\">class " .. table.concat(list, "/") .. "</span>" else -- Xeerasha baaraandegi wada dar leh hakadka return "<span class=\"gender\">" .. table.concat(list, ", ") .. "</span>" end end -- Qaabka-qaybo sub ee hal faahfaahinta jinsiga ah. function export.format_specification(spec, lang) local categories = "" local ret = "" local is_nounclass = false -- Haddii faahfaahinta ku bilaabataa cX, markaas waa faahfaahinta fasalka magac ah. if spec:find("^[1-9]") or spec:find("^c[^-]") then is_nounclass = true code = spec:gsub("^c", "") if code == "?" then ret = "<abbr class=\"noun-class\" title=\"noun class missing\">?</abbr>" else ret = "<abbr class=\"noun-class\" title=\"noun class " .. code .. "\">" .. code .. "</abbr>" end else -- Ku daatay qaybo iyo iterate qayb kasta, u beddelaya qaab bandhigay ay local parts = mw.text.split(spec, "-") for key, code in ipairs(parts) do -- Is this code valid? if codes[code] then parts[key] = codes[code] else error("The gender specification \"" .. spec .. "\" is not valid.") end end -- Xeerasha baaraandegi wada dar leh meelaha aan burbureyso ret = table.concat(parts, "&nbsp;") end -- Ma jeegag dheeraad ah qaar ka mid ah haddii afka ah la siiyey if lang then -- Tani ma jinsiga ah aan dhamaystirnayn? if spec:find("?") then local m_utilities = require("Module:utilities") categories = m_utilities.format_categories({lang:getCanonicalName() .. "la jinsiga dhamaystirnayn"}, nil) end -- Check if the specification is valid --elseif langinfo.genders then -- local valid_genders = {} -- for _, g in ipairs(langinfo.genders) do valid_genders[g] = true end -- -- if not valid_genders[spec] then -- local valid_string = {} -- for i, g in ipairs(langinfo.genders) do valid_string[i] = g end -- error("The gender specification \"" .. spec .. "\" is not valid for " .. langinfo.names[1] .. ". Valid are: " .. table.concat(valid_string, ", ")) -- end --end end return ret .. categories, is_nounclass end return export b06wij7pqv5cimevenn6mprkc99q5wb autobus 0 4748 18452 17669 2017-04-28T17:23:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18452 wikitext text/x-wiki {{-sq-}} === Magac === '''autobus''' :[[baska]] {{-eu-}} === Magac === '''autobus''' :[[baska]], [[basaska]] {{-cs-}} === Magac === '''autobus''' :[[baska]] {{-en-}} === Magac === '''autobus''' :[[baska]] {{-nl-}} === Magac === '''autobus''' :[[baska]], [[basaska]] {{-fr-}} === Magac === '''autobus''' :[[baska]], [[basaska]] {{-it-}} === Magac === '''autobus''' :[[baska]] {{-pl-}} === Magac === '''autobus''' :[[baska]] {{-sh-}} === Magac === '''autobus''' :[[baska]] {{-sk-}} === Magac === '''autobus''' :[[baska]], [[basaska]] hs66nu1tq9tp1c94ggbvn3mn790ij4h basaska 0 4749 13448 2015-06-04T20:31:29Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''basaska''' ===Eeg sidoo kale=== *[[baska]] 13448 wikitext text/x-wiki {{-so-}} ===Magac=== '''basaska''' ===Eeg sidoo kale=== *[[baska]] mrwtqg0608d2ro3eem2chl0yfbvnauq soogaabiyayaasha 0 4750 13449 2015-06-04T20:34:40Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''soogaabiyayaasha''' ===Eeg sidoo kale=== *[[soogaabiye]] 13449 wikitext text/x-wiki {{-so-}} ===Magac=== '''soogaabiyayaasha''' ===Eeg sidoo kale=== *[[soogaabiye]] ki0zh8ntiz2m6ycud7k1gxfx0uawhdo taariikhda 0 4751 20093 13450 2018-10-28T20:45:40Z Sakiinlaq 1889 20093 wikitext text/x-wiki {{-so-}} ===Magac=== '''taariikh''' ===Tarjumaad=== *{{ar}}: [[تاريخ]] *{{en}}: [[history]] *{{pl}}: [[historia]] *{{tg}}: [[таърих]] kkybqmft3em1v13feh0aphus38kz41v تاريخ 0 4752 19671 16789 2017-04-28T17:32:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19671 wikitext text/x-wiki {{-ar-}} === Magac === '''تاريخ''' :[[taariikhda]] rftsfmslzwgu720srbrbc5liugi3tte таърих 0 4753 19614 16776 2017-04-28T17:31:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19614 wikitext text/x-wiki {{-tg-}} === Magac === '''таърих''' :[[taariikhda]] ehxe5ks6drdrts1xxj45y546i9w0tox history 0 4754 18844 17241 2017-04-28T17:26:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18844 wikitext text/x-wiki {{-en-}} === Magac === '''history''' :[[taariikhda]] 5i6vr1u6h6eihprkah5qhhav0go71yl historia 0 4755 18839 17720 2017-04-28T17:26:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18839 wikitext text/x-wiki {{-ast-}} === Magac === '''historia''' :[[taariikhda]] {{-eo-}} === Magac === '''historia''' :[[taariikhda]] {{-fi-}} === Magac === '''historia''' :[[taariikhda]] {{-es-}} === Magac === '''historia''' :[[taariikhda]] {{-ia-}} === Magac === '''historia''' :[[taariikhda]] {{-la-}} === Magac === '''historia''' :[[taariikhda]] {{-no-}} === Magac === '''historia''' :[[taariikhda]] {{-pl-}} === Magac === '''historia''' :[[taariikhda]] {{-sw-}} === Magac === '''historia''' :[[taariikhda]] {{-sv-}} === Magac === '''historia''' :[[taariikhda]] irl6plio8ouegwn5y95jo2621m4zhck história 0 4756 18845 17047 2017-04-28T17:26:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18845 wikitext text/x-wiki {{-pt-}} === Magac === '''história''' :[[taariikhda]] 0zpez7i2ypkg749dddee242de6wsggv histoire 0 4757 18838 17614 2017-04-28T17:26:33Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18838 wikitext text/x-wiki {{-fr-}} === Magac === '''histoire''' :[[taariikhda]] 14pcjemwlc38v40pshwe2ywttygl1ca historie 0 4758 18841 18169 2017-04-28T17:26:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18841 wikitext text/x-wiki {{-cs-}} === Magac === '''historie''' :[[taariikhda]] ==== La Xariira eego ==== * [[historický]] * [[historik]] * [[historiografie]] {{-da-}} === Magac === '''historie''' # [[taariikhda]] # [[bakhaar]] {{-eo-}} === Falgale === # [[taariikh]] ==== La Xariira eego ==== * {{l|eo|historia}} * {{l|eo|historio}} {{-no-}} === Magac === '''historie''' # [[taariikhda]] # [[bakhaar]] ==== La Xariira eego ==== * {{l|nn|historikar}} 8q5d0p1366vmyg3wczubkm76rav00as historický 0 4759 18840 15896 2017-04-28T17:26:34Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18840 wikitext text/x-wiki {{-cs-}} === Sifo === '''historický''' [[taariikheeya]] m6g1pxxprauqoec61ov3bmaiscjstxc historik 0 4760 18842 16271 2017-04-28T17:26:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18842 wikitext text/x-wiki {{-cs-}} === Magac === '''historik''' :[[taariikhda]] {{-sv-}} === Magac === '''historik''' :[[taariikhda]] 6dduxchyugw9yq89qrepj7xjlah66hm historiografie 0 4761 18843 13944 2017-04-28T17:26:35Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18843 wikitext text/x-wiki {{-cs-}} === Magac === '''historiografie''' [[taariikheeya]] dj53usfmf6uit9ddxcb97coss795eul taariikheeya 0 4762 13461 2015-06-04T20:55:13Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Sifo=== '''taariikheeya''' 13461 wikitext text/x-wiki {{-so-}} ===Sifo=== '''taariikheeya''' thywm1a7n7ttfv5kqgi2mfjq5qn4hyt kooban 0 4763 28940 13463 2024-07-27T14:16:27Z Girligaanshub 3150 28940 wikitext text/x-wiki {{-so-}} == Magac == '''kooban''' === Tarjumaad === * {{en}}: brief, briefl, concise, nutshell qn69gwnq97cvz12dywq0aowzat5fts9 Qargistan 0 4764 18332 18117 2017-04-28T17:22:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18332 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Qargistan''' pflrfhsvsh5rtc6jadlh2u4887cq9dj Qasagistan 0 4765 13465 2015-06-04T21:10:32Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac ku habboon=== '''Qasagistan''' 13465 wikitext text/x-wiki {{-so-}} ===Magac ku habboon=== '''Qasagistan''' iu3rfso25ebtvptpwbsmqffcsixe26w Usbekistan 0 4766 18357 15656 2017-04-28T17:23:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18357 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Usbekistan''' n2sqnp58i8km38vpjkwzbl9xl31w81t Waqooyiga Kuuriya 0 4767 18361 18118 2017-04-28T17:23:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18361 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Waqooyiga Kuuriya''' jhagnumsl98ujug9shuwwls4p54e7v6 Fiyetnam 0 4768 21681 13468 2022-07-22T14:13:37Z 86.114.191.253 +fi 21681 wikitext text/x-wiki {{-so-}} ===Magac ku habboon=== '''Fiyetnam''' ==== Tarjumaad ==== {{kor}} * {{fi}}: [[Vietnam]] {{dhaxda}} {{hoos}} qacq9g4up7o1f6f4woopd34yzakmw7p Cumaan 0 4769 18283 18111 2017-04-28T17:22:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18283 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Cumaan''' jcth9rurexlvcstwz0ipy4wol0fsmgo Afqaanistan 0 4770 13470 2015-06-04T21:16:39Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac ku habboon=== '''Afqaanistan''' 13470 wikitext text/x-wiki {{-so-}} ===Magac ku habboon=== '''Afqaanistan''' 43myv90p3a9glbsm373vzymnjpkp7s4 Aasiya 0 4771 18265 13871 2017-04-28T17:22:15Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18265 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Aasiya''' l891by8io2gt97xnnm2c1488y0qd7zk Ciraaq 0 4772 18281 18110 2017-04-28T17:22:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18281 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Ciraaq''' otlk0e16y9dp1z54973x9im645puhta Falastiin 0 4773 13473 2015-06-04T21:19:31Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac ku habboon=== '''Falastiin''' 13473 wikitext text/x-wiki {{-so-}} ===Magac ku habboon=== '''Falastiin''' fph21rl2xoo5bey3n7fw2dp2y84g9ll macnayaasha 0 4774 13474 2015-06-04T21:21:43Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''macnayaasha''' 13474 wikitext text/x-wiki {{-so-}} ===Magac=== '''macnayaasha''' dpjik65qd14uak5a0onr0qpq2k775vx Koonfur Kuuriya 0 4775 18313 18116 2017-04-28T17:22:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18313 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Koonfur Kuuriya''' 6qd048rpb5kbfi2xplxfe52mq1rdb26 Iiraan 0 4776 18302 18112 2017-04-28T17:22:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18302 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Iiraan''' pbaq3tiij5cej441n2otdf9drpfu1fj Urdun 0 4777 18356 16511 2017-04-28T17:23:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18356 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Urdun''' tg6ytpcs5og1ig7pcm0tm7k6w81c0k7 Jasiirada Maldiif 0 4778 18308 18115 2017-04-28T17:22:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18308 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Jasiirada Maldiif''' bx6s9j6v5l3j5ggx6hqjnoopkz2zc3p Hindiya 0 4779 18301 17439 2017-04-28T17:22:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18301 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Hindiya''' b6u913b5jfwlkahtyc1ruunk8t1tzfa Imaaraatka Carabta 0 4780 18303 18113 2017-04-28T17:22:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18303 wikitext text/x-wiki {{-so-}} === Magac ku habboon === '''Imaaraatka Carabta''' ihjlh7ocq9vqz3k7ilbabw5okq8piwb islaan 0 4781 28700 28698 2024-07-07T15:05:52Z Girligaanshub 3150 28700 wikitext text/x-wiki {{-so-}} == Magac == '''islaan''' === Tarjumaad === * {{en}}: elderly woman 5qdbr8rnen844qx008tbttj7liflyre imaarad 0 4782 13482 2015-06-04T21:32:42Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''imaarad''' 13482 wikitext text/x-wiki {{-so-}} ===Magac=== '''imaarad''' f3envinumq8w9p7kl1zol9lwypqfg6p imaaradood 0 4783 13483 2015-06-04T21:33:48Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Sifo=== '''imaaradood''' 13483 wikitext text/x-wiki {{-so-}} ===Sifo=== '''imaaradood''' 0p89y36431ddol83liffex3y1n2aruo lajoogo 0 4784 13484 2015-06-04T21:35:51Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''lajoogo''' 13484 wikitext text/x-wiki {{-so-}} ===Magac=== '''lajoogo''' 7jo6in7ao3kf64m8beulewdp87q9lgv Module:debug 828 4785 13487 2015-06-04T23:41:02Z Dalmo Pereira 1417 Bog cusub: local export = {} -- Convert a value to a string function export.dump(value) local t = type(value) if t == "string" then return '"' .. value .. '"' elseif t =... 13487 Scribunto text/plain local export = {} -- Convert a value to a string function export.dump(value) local t = type(value) if t == "string" then return '"' .. value .. '"' elseif t == "table" then local str_table = {} for key, val in pairs(value) do table.insert(str_table, "[" .. export.dump(key) .. "] = " .. export.dump(val)) end return "{" .. table.concat(str_table, ", ") .. "}" else return tostring(value) end end function export.track(key) local frame = mw.getCurrentFrame() pcall(frame.expandTemplate, frame, { title = 'tracking/' .. key }) end -- Trigger a script error from a template function export.error(frame) error(frame.args[1] or "(no message specified)") end return export n7gn5p9j34ia8kjqs9n8uvvpwkzft8p User:Diego Grez 2 4786 21000 14254 2022-02-21T04:24:08Z EmausBot 1865 Bot: Dib u Sixidda qaldantay waxaa loo wareejiyey Bog kale [[User:Vanished user 24kwjf10h32h]] 21000 wikitext text/x-wiki #REDIRECT [[User:Vanished user 24kwjf10h32h]] duynahi7jsu4e8l703tsu9lbkv5fldz User talk:Diego Grez 3 4787 21004 14256 2022-02-21T04:24:48Z EmausBot 1865 Bot: Dib u Sixidda qaldantay waxaa loo wareejiyey Bog kale [[User talk:Vanished user 24kwjf10h32h]] 21004 wikitext text/x-wiki #REDIRECT [[User talk:Vanished user 24kwjf10h32h]] p7xi3l4zr10zk497g6bd0qjuljxn7li nispero 0 4788 14269 2015-07-30T18:52:20Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''nispero''' 14269 wikitext text/x-wiki {{-fi-}} ===Magac=== '''nispero''' 3h3cburmtcs8ltyv1mz4m8we1la8c95 bambukeppi 0 4789 14270 2015-07-30T18:52:24Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''bambukeppi''' 14270 wikitext text/x-wiki {{-fi-}} ===Magac=== '''bambukeppi''' dssb9nwr9f2r3lshiayqh1czu244rym iisoppi 0 4790 14271 2015-07-30T18:52:32Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''iisoppi''' 14271 wikitext text/x-wiki {{-fi-}} ===Magac=== '''iisoppi''' 6p72e89gzn1a99h83qdsvjhkorz4fr3 proterotsooinen 0 4791 14272 2015-07-30T18:52:46Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''proterotsooinen''' 14272 wikitext text/x-wiki {{-fi-}} ===Magac=== '''proterotsooinen''' ovyxkx2w9cnfhpvam7wunsielmbas2u gasellikokta 0 4792 14273 2015-07-30T18:53:02Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''gasellikokta''' 14273 wikitext text/x-wiki {{-fi-}} ===Magac=== '''gasellikokta''' k7maroh1gdu6b6jri73e8qm3nvzs6g0 saippo 0 4793 14274 2015-07-30T18:53:11Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''saippo''' 14274 wikitext text/x-wiki {{-fi-}} ===Magac=== '''saippo''' qtxbukphfj8sadehda16a22k1ujdki9 delektaatio 0 4794 14275 2015-07-30T18:53:24Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''delektaatio''' 14275 wikitext text/x-wiki {{-fi-}} ===Magac=== '''delektaatio''' c30p31expmzzhkodvnmasb35rgasq34 datiivimuoto 0 4795 14276 2015-07-30T18:53:41Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''datiivimuoto''' 14276 wikitext text/x-wiki {{-fi-}} ===Magac=== '''datiivimuoto''' b1t05ftaamovhzom0cq89h23im8qvwy vaaleahko 0 4796 14277 2015-07-30T18:53:58Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''vaaleahko''' 14277 wikitext text/x-wiki {{-fi-}} ===Magac=== '''vaaleahko''' p8kefozikygctw2ze17llbg9c35619e maaton 0 4797 19004 14455 2017-04-28T17:27:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19004 wikitext text/x-wiki {{-fi-}} === Magac === '''maaton''' lw2z7kzwo5j6to4cmy6ffcvdb3esr03 durio 0 4798 18677 17832 2017-04-28T17:25:27Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18677 wikitext text/x-wiki {{-fi-}} === Magac === '''durio''' 3j25ukfhx3b193hg5fszau5hh6es9ea näyttämöohje 0 4799 14280 2015-07-30T18:55:11Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''näyttämöohje''' 14280 wikitext text/x-wiki {{-fi-}} ===Magac=== '''näyttämöohje''' haqa6krus4l7nbuxhx02xa1do3ljjz9 takuu 0 4800 14281 2015-07-30T18:55:13Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''takuu''' 14281 wikitext text/x-wiki {{-fi-}} ===Magac=== '''takuu''' 5mgafmhc71phap9r27sar23b8gsqnsz satunnaisluku 0 4801 14282 2015-07-30T18:55:15Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''satunnaisluku''' 14282 wikitext text/x-wiki {{-fi-}} ===Magac=== '''satunnaisluku''' r1fw385oma4vus3abpaasalul7g5p8k Template:attention 10 4802 14300 2015-07-31T13:43:55Z Dalmo Pereira 1417 Bog cusub: <onlyinclude><span id="attentionseeking{{{1|}}}{{{id|}}}" class="attentionseeking" lang="{{{1|}}}" {{#if:{{{2|}}}|title="{{#invoke:ugly hacks|escape_html|{{{2}}}}}"}}></span><includeon... 14300 wikitext text/x-wiki <onlyinclude><span id="attentionseeking{{{1|}}}{{{id|}}}" class="attentionseeking" lang="{{{1|}}}" {{#if:{{{2|}}}|title="{{#invoke:ugly hacks|escape_html|{{{2}}}}}"}}></span><includeonly>[[Category:{{#invoke:languages/templates|getByCode|{{{1}}}|getCanonicalName}} terms needing attention|{{{key|{{PAGENAME}}}}}]]{{#if:{{{topic|}}}|[[Category:Entries needing topical attention]]}}{{#if:{{{2|}}}||[[Category:attention lacking explanation]]}}</includeonly></onlyinclude> {{diiwaaninta}} mbwx496xb2rrn8hnjhgllaff9d5ek13 User talk:Dalmo Pereira 3 4803 14302 14301 2015-07-31T13:50:41Z Dalmo Pereira 1417 14302 wikitext text/x-wiki == Names of Wikimedia Languages == Dear Dalmo Pereira, we are initiating a long needed action - we would like to '''translate names of all Wikimedia languages to all Wikimedia languages''' in the next two months. We have noticed that you are very active on Wiktionary and that is the reason why we are taking liberty to contact you. We hope that you would be interesting to help us in our endeavor - To make this action easier we have already prepared the list of all [[:meta:Names of Wikimedia languages|Wikimedia languages]], and for each language we have already prepared the page with existing and missing translations. So when you go to the page for your language you would have two tasks - to check whether existing translations are OK and to fill in the missing one. The more detailed instruction are on the language page. What are the benefits of this work? * We believe it is about time to have all Wikimedia languages translated to all Wikimedia languages :) * Translated languages will be parsed into Wiktionary and the resulting number of Wiktionary entries will be significant for each language. That could significantly increase the number of entries for less developed Wiktionaries, and improve the quality of entries in general. * Wikidata - this would be great contribution to Wikidata. * All other projects could benefit from this list (Wiki Travel :)), as we believe that certain amount of terms has to be properly translated to all languages. We are gathered around the project [[meta:Grants:PEG/Interglider.ORG/Wiktionary_Meets_Matica_Srpska|Wiktionary Meets Matica Srpska]] and we hope that you would be interesting in working with us! If you have any questions you can ask them on the Names of Wikimedia languages [[meta:Talk:Names_of_Wikimedia_languages|discussion page]] or via personal emails. ''Important notice: The data are licensed under CC0, as they should be incorporated into Wikidata at the end of the process.'' If you '''don’t want''' to receive future announcement about the project, please leave a note on [[meta:Talk:Names_of_Wikimedia_languages|discussion page]]. Thank you and looking forward to hear from you! Interglider.org team *[https://en.wikipedia.org/wiki/User:Senka_Latinovi%C4%87 Senka Latinović] *[https://en.wikipedia.org/wiki/User:Godzzzilica Godzzzilica] *[https://en.wikipedia.org/wiki/User:Millosh Millosh] [[User:Godzzzilica|Godzzzilica]] ([[User talk:Godzzzilica|hadalka]]) 13:50, 31 Luuliyo 2015 (UTC) l5xuhs0r4205aibnbl53yhwj79xi24j αναζητώ 0 4804 14303 2015-07-31T14:01:00Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζητώ''' 14303 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζητώ''' as3bxm41wusnuzb2qnn9zj3us25rev5 αναζητάω 0 4805 14304 2015-07-31T14:01:03Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζητάω''' 14304 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζητάω''' 5ca1ze8cb68h9a3pj3swkvs6i7x56wk αναδιοργανώνω 0 4806 14305 2015-07-31T14:01:05Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναδιοργανώνω''' 14305 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναδιοργανώνω''' 9l0369d2hcm5nh1lkv844ojqxrartox αναδιοργανώνομαι 0 4807 14306 2015-07-31T14:01:09Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναδιοργανώνομαι''' 14306 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναδιοργανώνομαι''' kbsf4ohvaf05no0g929czjmkpql738z αναδείχνω 0 4808 14307 2015-07-31T14:01:11Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναδείχνω''' 14307 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναδείχνω''' f6rsri5v36wzcizi1895iivefjhr3vh αναδύομαι 0 4809 14308 2015-07-31T14:01:14Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναδύομαι''' 14308 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναδύομαι''' 87yrvtbooiya103mu4u8l21d1bv9e2k ζητιανεύω 0 4810 14309 2015-07-31T14:01:19Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''ζητιανεύω''' 14309 wikitext text/x-wiki {{-el-}} ===Falka=== '''ζητιανεύω''' 6y2pho4cy3lmfm6xpdbqyxn7sizgik4 αναζητιέμαι 0 4811 14310 2015-07-31T14:01:47Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζητιέμαι''' 14310 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζητιέμαι''' oovw91ko5s6x7h19k3eptb6d2kjb7yo αναζητούμαι 0 4812 14311 2015-07-31T14:02:05Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζητούμαι''' 14311 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζητούμαι''' 99yspex1fudkf4fy6sos9qvbr0jvk6n αναζωογονάω 0 4813 14312 2015-07-31T14:02:24Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζωογονάω''' 14312 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζωογονάω''' 1x6mv20yfmd7su70d3ignzou5lmmape αναζωογονώ 0 4814 14313 2015-07-31T14:03:18Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζωογονώ''' 14313 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζωογονώ''' mxmlo97pfe4rmzlpju8mh66cv5d276v αναζωογονούμαι 0 4815 14314 2015-07-31T14:03:37Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''αναζωογονούμαι''' 14314 wikitext text/x-wiki {{-el-}} ===Falka=== '''αναζωογονούμαι''' 61lxrv4dljmnqjdyi3bqmq3raz0tgy8 ζητιάνεψα 0 4816 14315 2015-07-31T14:03:51Z Dalmo Pereira 1417 Bog cusub: {{-el-}} ===Falka=== '''ζητιάνεψα''' 14315 wikitext text/x-wiki {{-el-}} ===Falka=== '''ζητιάνεψα''' 4d3xc9wbo5cvlbo8sjuck3wr3acw41l verbo 0 4817 19446 16977 2017-04-28T17:30:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19446 wikitext text/x-wiki {{-gl-}} === Magac === '''verbo''' [[falka]] {{-es-}} === Magac === '''verbo''' [[falka]] {{-it-}} === Magac === '''verbo''' [[falka]] {{-pt-}} === Magac === '''verbo''' [[falka]] d2x4g1hnfmgs06pd7mjbgqypb1q9g7z attention 0 4818 18449 16095 2017-04-28T17:23:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18449 wikitext text/x-wiki {{-en-}} === Magac === '''attention''' [[dareenka]], [[digtooni]] 0hn0an484t4w36uuwbuhhq1b8kqjj42 digtooni 0 4819 32494 30340 2024-11-16T19:50:52Z Girligaanshub 3150 32494 wikitext text/x-wiki {{-so-}} == Magac == '''ditooni''' === Tarjumaad === * {{en}}: attention, be careful, take heed, mindful, mindfulness * {{en}}: conscious, prudence ===Synonyms=== * [[fejignaan]], [[heegan]], [[heeganka]], [[digtooni]], [[taxadar]], 4pdxd0vwile9q69rruz8a9uhmvsaecp bolobolo 0 4820 18513 15118 2017-04-28T17:24:17Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18513 wikitext text/x-wiki {{-so-}} === Magac === '''bolobolo''' eni8yucahz9h5fynaj05a0zse4jryno gaaf 0 4821 18786 14461 2017-04-28T17:26:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18786 wikitext text/x-wiki {{-so-}} === Magac === '''gaaf''' iztpizh84synf7h7lsgh6yfjtzepqtb caarcaaro 0 4822 29808 29806 2024-08-12T06:55:29Z Girligaanshub 3150 29808 wikitext text/x-wiki {{-so-}} == Magac == '''caarcaaro''' === Tarjumaad === * {{en}}: spider rta4ffgbaszslsthxjlplrtipf65p85 jasiirad 0 4823 18903 16610 2017-04-28T17:27:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18903 wikitext text/x-wiki {{-so-}} === Magac === '''jasiirad''' === Tarjumaad === * {{en}}: [[island]] * {{pt}}: [[ilha]] k70prrwxllg0tuy7cqcm872d6wthqmu deni 0 4824 31060 31057 2024-10-02T16:53:58Z Girligaanshub 3150 31060 wikitext text/x-wiki {{-so-}} == Magac == '''deni''' === Tarjumaad === * {{en}}: lapwing * {{en}}: serious, grave, critical, imperative, assertive, tough * {{en}}: executioner, slayer, slaughterer, * {{en}}: bringer of water icedkbnea7y2o98quyjqq42z6rsngu6 sonkor 0 4825 19318 18155 2017-04-28T17:29:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19318 wikitext text/x-wiki {{-so-}} === Magac === '''sonkor''' ikkcere5ljgitox827ibdvlxa2a744n babuur 0 4826 14325 2015-07-31T14:16:35Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''babuur''' 14325 wikitext text/x-wiki {{-so-}} ===Magac=== '''babuur''' 5e004cc10dmeign4oqlz1rwowkkzfj4 falka 0 4827 29980 29979 2024-08-18T06:24:05Z 91.156.25.141 29980 wikitext text/x-wiki {{-so-}} ===Magac=== '''falka''' === Tarjumaad === * {{fi}}: [[verbi]], [[teonsana]] * {{en}}: [[verb]] * {{pt}}: [[verbo]] 0ym94j5mq1oflxeb1r8es7yc56m2z3c verb 0 4828 19445 14599 2017-04-28T17:30:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19445 wikitext text/x-wiki {{-en-}} === Magac === '''verb''' :[[falka]] {{-ca-}} === Magac === '''verb''' :[[falka]] {{-no-}} === Magac === '''verb''' :[[falka]] {{-ro-}} === Magac === '''verb''' :[[falka]] {{-sv-}} === Magac === '''verb''' :[[falka]] 0zt56xgjdhhdbdaevbedu1444oyq19c fiil 0 4829 18758 14328 2017-04-28T17:26:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18758 wikitext text/x-wiki {{-ms-}} === Magac === '''fiil''' # [[shaqada]] # [[dabeecad]] {{-tr-}} === Magac === '''fiil''' :[[falka]] 1bnprjp210iqz69uvzp4ut1czs9brm0 dabeecad 0 4830 29451 28636 2024-08-04T01:08:51Z Girligaanshub 3150 29451 wikitext text/x-wiki {{-so-}} == Magac == '''dabeecad''' === Tarjumaad === * {{en}}: nature * {{en}}: temperament, character, personality, ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]] 7rf4jtwd968pw7zppuimgatc9a0nov0 shaqada 0 4831 14330 2015-07-31T14:29:41Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''shaqada''' 14330 wikitext text/x-wiki {{-so-}} ===Magac=== '''shaqada''' bthcn36lep98i869l6r8ddvv7xwgy8r Հոլանդական 0 4832 19638 16764 2017-04-28T17:32:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19638 wikitext text/x-wiki {{-hy-}} === Magac === '''[[Հոլանդերեն]]''' :[[Holland]] b8k7z4pkk0154bjfeff5k8vihtycaz7 Հոլանդերեն 0 4833 19639 16763 2017-04-28T17:32:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19639 wikitext text/x-wiki {{-hy-}} === Sifo === '''[[Հոլանդական]]''' :[[Holland]] 24xywbymsj4qyfe40fwmgrpp02x9nhq Ռուսերեն 0 4834 19641 16761 2017-04-28T17:32:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19641 wikitext text/x-wiki {{-hy-}} === Magac === '''[[Ռուսական]]''' :[[Ruushka]] 24y6xjkjfsh1rwpxbqshrin6tz6ob58 Ռուսական 0 4835 19640 16762 2017-04-28T17:32:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19640 wikitext text/x-wiki {{-hy-}} === Sifo === '''[[Ռուսերեն]]''' :[[Ruushka]] 5mh4lmunxlgh8le3dx4kw0o6gl0dgrn Թուրքական 0 4836 19634 16768 2017-04-28T17:32:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19634 wikitext text/x-wiki {{-hy-}} === Sifo === '''[[Թրքերեն]]''' [[Turkiga]], [[Turkish]] 50ie9liwffzf4pnxs72j6fu8e8ntlyv ընթացիկ 0 4837 14336 2015-07-31T14:45:12Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ընթացիկ''' [[hadda]] 14336 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ընթացիկ''' [[hadda]] sfz0etboqk7gnmyzouno8tm6ys8ss5b Թրքերեն 0 4838 19635 16767 2017-04-28T17:32:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19635 wikitext text/x-wiki {{-hy-}} === Magac === '''[[Թուրքական]]''' [[Turkiga]], [[Turkish]] 1e2h2ijjeud2nj9lbukwh7g2giib6no իսպանական 0 4839 19657 16748 2017-04-28T17:32:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19657 wikitext text/x-wiki {{-hy-}} === Sifo === '''իսպանական''' [[Isbaanish]] c4z0ifp170sdvjr2ldlk1t8dk9djc0w Իտալական 0 4840 19636 16766 2017-04-28T17:32:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19636 wikitext text/x-wiki {{-hy-}} === Sifo === '''[[Իտալերեն]]''' [[Talyaani]] p50znretmkx67vbrolvhncec1v7jkpz Իտալերեն 0 4841 19637 16765 2017-04-28T17:32:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19637 wikitext text/x-wiki {{-hy-}} === Magac === '''[[Իտալական]]''' [[Talyaani]] 8mpl13ni4v5qem205e77n7klpc8itu9 զրահամորթ 0 4842 19654 15065 2017-04-28T17:32:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19654 wikitext text/x-wiki {{-hy-}} === Sifo === '''զրահամորթ''' bt31ou6b837k357oqu8xwrrjpvy2cms զվարթ 0 4843 19653 16749 2017-04-28T17:32:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19653 wikitext text/x-wiki {{-hy-}} === Sifo === '''զվարթ''' :[[qosol]] [[badan]] lo0vtjpf7a6uqt5hwrmc2tb6676r1rd զորեղ 0 4844 14348 14343 2015-07-31T14:53:46Z Dalmo Pereira 1417 14348 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զորեղ''' [[awood leh]] qrkn4m99p4dji76ggj36o111eel81ma զորավոր 0 4845 14344 2015-07-31T14:49:44Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զորավոր''' [[xeel]] 14344 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զորավոր''' [[xeel]] q6t6rwi7laskmbdhkbwkvjcpdhr15cz զոր 0 4846 14345 2015-07-31T14:50:54Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զոր''' [[kaas oo]] 14345 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զոր''' [[kaas oo]] ep2erhz0ugddhqhjmdh74m8kz441mmp զով 0 4847 14346 2015-07-31T14:51:51Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զով''' [[qabow]] 14346 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զով''' [[qabow]] 6gn1805hz12ugst27gpqoj41p0gi5b3 զոռ 0 4848 19652 16750 2017-04-28T17:32:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19652 wikitext text/x-wiki {{-hy-}} === Sifo === '''զոռ''' [[haddaba]] [[isku]] [[dayno]] t0zi69vnn9tlw60rqkah6doq3byyqxt զգոն 0 4849 14349 2015-07-31T14:55:05Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զգոն''' [[feejigaan]] 14349 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զգոն''' [[feejigaan]] 58375221iqwqsqjl3jvl2p8dj8rpzhh զեղուն 0 4850 14350 2015-07-31T14:55:11Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զեղուն''' [[orodkii]] 14350 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զեղուն''' [[orodkii]] 9m002nnozs65e1bimb2eohia2ozmxpd զիբիլ 0 4851 14351 2015-07-31T14:55:19Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զիբիլ''' [[qashinka]] 14351 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զիբիլ''' [[qashinka]] ec7iajdxllx4i49dg5xyn5bxxk054dx զգաստ 0 4852 14352 2015-07-31T14:56:25Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զգաստ''' [[heegan]] 14352 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զգաստ''' [[heegan]] i3iz78hucjgquro182el8h3sdccz36b զառամ 0 4853 14353 2015-07-31T14:57:36Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զառամ''' [[zaram]] 14353 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զառամ''' [[zaram]] 47g7g1g90e4v4qc38oq8n2fqko02b9v զառամյալ 0 4854 14354 2015-07-31T14:57:40Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զառամյալ''' [[waynida]] 14354 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զառամյալ''' [[waynida]] 3luhcjzy0ns752pmk4njr5rb55h83ii զատ 0 4855 14355 2015-07-31T14:57:41Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''զատ''' [[oo kala duwan]] 14355 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''զատ''' [[oo kala duwan]] n9vebda4vvot8foslqfo4hi6atip626 երդվյալ 0 4856 14356 2015-07-31T15:00:28Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''երդվյալ''' 14356 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''երդվյալ''' 2yt34uyzx39ltwug0fk918t0k6sh8rw երախտամոռ 0 4857 19651 16751 2017-04-28T17:32:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19651 wikitext text/x-wiki {{-hy-}} === Sifo === '''երախտամոռ''' [[gaalimo badan]] el464h51e9tnwu6t9f1wu8gjus7bi78 երգեցիկ 0 4858 14358 2015-07-31T15:01:22Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''երգեցիկ''' [[heesta]] 14358 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''երգեցիկ''' [[heesta]] 6dwiga8qi305swxneyqn9ku4gfd6r1k երաժշտական 0 4859 19650 16752 2017-04-28T17:32:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19650 wikitext text/x-wiki {{-hy-}} === Sifo === '''երաժշտական''' [[muusikada]] jrrsm742y0desoahiissw9ol4cirew7 ետին 0 4860 14360 2015-07-31T15:02:20Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ետին''' [[deerada]] 14360 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ետին''' [[deerada]] oos4llez91w1hlnlmak0pqk5ll6tu1d եվրոպական 0 4861 14361 2015-07-31T15:02:48Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եվրոպական''' [[Yurub]] 14361 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եվրոպական''' [[Yurub]] 6fj3qv53ntje2l579pz7dm1vzd11eq6 եղծ 0 4862 14362 2015-07-31T15:08:19Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եղծ''' [[gabaynayo]] 14362 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եղծ''' [[gabaynayo]] 6bt6iqg240cfoo1tmp81jn32fyo03hs ենթակա 0 4863 14363 2015-07-31T15:08:21Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ենթակա''' [[mawduuca]] 14363 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ենթակա''' [[mawduuca]] cbrk2856l3r0rg4twsnke6h81bpcnlh ենթակայական 0 4864 19648 16754 2017-04-28T17:32:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19648 wikitext text/x-wiki {{-hy-}} === Sifo === '''ենթակայական''' [[shakhsi ahaan]] pqzrh86ad57fnupnk064nppqjngtlu2 եռանդուն 0 4865 19649 16753 2017-04-28T17:32:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19649 wikitext text/x-wiki {{-hy-}} === Sifo === '''եռանդուն''' [[firfircoon]] 973j2z15iph5zsjxla02uvz7drc990l եբենոս 0 4866 14366 2015-07-31T15:09:49Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եբենոս''' 14366 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եբենոս''' tolej5ii1xjzh7cibq8vd3qcrt9gneg եդեմային 0 4867 14367 2015-07-31T15:10:32Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եդեմային''' [[Ceeden]] 14367 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եդեմային''' [[Ceeden]] dmlgi6yiv7nmr14pe1cw41jidbz8hcq եզակի 0 4868 14368 2015-07-31T15:10:45Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եզակի''' [[gaar]] [[ah]] 14368 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եզակի''' [[gaar]] [[ah]] 55h77wxzyq7x6qp2tpyqk3ixjy5c9fr եղերական 0 4869 19647 16755 2017-04-28T17:32:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19647 wikitext text/x-wiki {{-hy-}} === Sifo === '''եղերական''' [[waxshinimada]] [[ah]] 0r2dqbeiw69zga6nnefjnt05lz3i8hi եղեգնյա 0 4870 19646 16756 2017-04-28T17:32:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19646 wikitext text/x-wiki {{-hy-}} === Sifo === '''եղեգնյա''' [[cawsduurkaba]] dclix6fus8ay4xouwxc9thtzpahw15m եղբայրական 0 4871 19645 16757 2017-04-28T17:32:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19645 wikitext text/x-wiki {{-hy-}} === Sifo === '''եղբայրական''' [[walaalnimo]] qved55tibk4pnzyddnpbi93gn6o4vbn եկեղեցական 0 4872 14372 2015-07-31T15:13:16Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''եկեղեցական''' [[wacdina]] 14372 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''եկեղեցական''' [[wacdina]] 76lpbhbx30bzfbb05j7kfj15u6xrgqq Արաբերեն 0 4873 14373 2015-07-31T15:17:52Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''Արաբերեն''' [[Carabi]] 14373 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''Արաբերեն''' [[Carabi]] pgp9jtxnr7o64o4ltqm609581bcek3i Անքլիական 0 4874 19633 16769 2017-04-28T17:32:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19633 wikitext text/x-wiki {{-hy-}} === Sifo === '''Անքլիական''' [[Ankliakan]] 3iv3qcfswrprn6lny1bj62hr7yn8ulc Անգլերեն 0 4875 14375 2015-07-31T15:17:57Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''Անգլերեն''' [[Ingiriis]] 14375 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''Անգլերեն''' [[Ingiriis]] 0dajgjpnpkac5k0ydxx0jvrkulqewfv Գերմանական 0 4876 14376 2015-07-31T15:17:59Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''Գերմանական''' [[Jarmal]] 14376 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''Գերմանական''' [[Jarmal]] eax8954aht9ks8vj74r4jvqbqo07y89 ազգային 0 4877 14377 2015-07-31T15:25:28Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ազգային''' [[qaran]] 14377 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ազգային''' [[qaran]] hc5gmmpj1ji6lzzrjpo64fjxpmydzqa ազդեցիկ 0 4878 14378 2015-07-31T15:25:31Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ազդեցիկ''' [[awood leh]] 14378 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ազդեցիկ''' [[awood leh]] r8e7bxoee5fzfr7vrfrd0u2zrmv4fb4 ազնիվ 0 4879 14379 2015-07-31T15:25:34Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ազնիվ''' [[daacad]] 14379 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ազնիվ''' [[daacad]] coq1htro6ehu8wl63fjbsz2826sccvt աժդահա 0 4880 14380 2015-07-31T15:25:38Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աժդահա''' [[cimlaaq]] 14380 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աժդահա''' [[cimlaaq]] 5p5m1mue0q9wsnzqs5d2fdng64jghgf ագրեսիվ 0 4881 14381 2015-07-31T15:25:41Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ագրեսիվ''' [[dagaal]] 14381 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ագրեսիվ''' [[dagaal]] g2hgkcpu2mno14btkowf7kinxfx3pi4 ադամանդագործական 0 4882 19642 16760 2017-04-28T17:32:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19642 wikitext text/x-wiki {{-hy-}} === Sifo === '''ադամանդագործական''' [[dheemman]] e7mow7dfub549uuz7s8zy0ey7o0orig ազատ 0 4883 19643 16759 2017-04-28T17:32:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19643 wikitext text/x-wiki {{-hy-}} === Sifo === '''ազատ''' [[bilaash]] [[ah]] 9n4iz85m5pn9r3s7zatkgombnuianbt ազատանի 0 4884 14384 2015-07-31T15:25:50Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ազատանի''' 14384 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ազատանի''' r5z49archg7ses6027ygvu7rvztf1t2 տագալերեն 0 4885 14385 2015-07-31T15:26:48Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''տագալերեն''' [[Filibiin]] 14385 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''տագալերեն''' [[Filibiin]] qi423e2q9tio5ndmum1wvp2efhz7y0b աժդահակ 0 4886 14386 2015-07-31T15:28:31Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աժդահակ''' 14386 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աժդահակ''' ducext8omwvyj1mvsva3xbskivqa7ju ալաբաստրյա 0 4887 14387 2015-07-31T15:29:36Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալաբաստրյա''' 14387 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալաբաստրյա''' j8siq8kihvwve7k8y7ikcv8e4ztkvim ալանի 0 4888 14388 2015-07-31T15:30:15Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալանի''' 14388 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալանի''' atos1kb14loswlcz58gfaza54zgdt2p ալեբաստրե 0 4889 14389 2015-07-31T15:30:26Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալեբաստրե''' 14389 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալեբաստրե''' avciut8vi4n167i664y7bjcy5jmityi ալեբաստրյա 0 4890 14390 2015-07-31T15:30:57Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալեբաստրյա''' 14390 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալեբաստրյա''' a4v1vdgh0fvtc3cs5hvhez1t0z4v3ax ալաբաստրե 0 4891 14391 2015-07-31T15:31:12Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալաբաստրե''' 14391 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալաբաստրե''' 606lmhuv5aupy3hcgmlzdfem33w4scn ալեւոր 0 4892 14392 2015-07-31T15:32:22Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալեւոր''' [[cirro]] 14392 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալեւոր''' [[cirro]] cj3nkjqf9w3bfhdn1xet7k3wfamzftu ալեկոծ 0 4893 14393 2015-07-31T15:32:25Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալեկոծ''' 14393 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալեկոծ''' 65soqawynjrgp63bltih93hcj68jkc4 ախտաբանական 0 4894 14394 2015-07-31T15:32:55Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ախտաբանական''' [[cudur]] 14394 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ախտաբանական''' [[cudur]] 3n5kdcl4wjylgfig2bghedp6rs26ngc ալկոհոլային 0 4895 19644 16758 2017-04-28T17:32:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19644 wikitext text/x-wiki {{-hy-}} === Sifo === '''ալկոհոլային''' [[khamriga]] 6g40llkpsxhuhbvfaos79qpoqiq7n1g ագրարային 0 4896 14396 2015-07-31T15:35:25Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ագրարային''' [[deedna]] 14396 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ագրարային''' [[deedna]] 6kfcjntz7kmvadylid0rnjt5zvmk9wp ագահ 0 4897 14397 2015-07-31T15:35:29Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ագահ''' [[hunguri]] 14397 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ագահ''' [[hunguri]] mftqb45o1l92msndcihbt85xk7e0wrp ալեզարդ 0 4898 14398 2015-07-31T15:35:57Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''ալեզարդ''' 14398 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''ալեզարդ''' csb6fzy8p3h1jzm0ammb0ur6f00ofoy աբխազական 0 4899 14399 2015-07-31T15:36:14Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աբխազական''' 14399 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աբխազական''' 8unjkh5z8cxyv4emmuethr4kgxipoxx աբեղայակերպ 0 4900 14400 2015-07-31T15:36:52Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աբեղայակերպ''' 14400 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աբեղայակերպ''' 1v8zx8hr37r3w0gigd4r0g58xhbke3h աբեղայական 0 4901 14401 2015-07-31T15:37:05Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աբեղայական''' 14401 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աբեղայական''' d3sgm9u1kb60ngq9532rkk8r5wzbh37 աբբայական 0 4902 14402 2015-07-31T15:37:22Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աբբայական''' 14402 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աբբայական''' 0pqt85kagiwrp477zso5a7yjlu43np6 աբասանոց 0 4903 14403 2015-07-31T15:37:32Z Dalmo Pereira 1417 Bog cusub: {{-hy-}} ===Sifo=== '''աբասանոց''' 14403 wikitext text/x-wiki {{-hy-}} ===Sifo=== '''աբասանոց''' 9kdzus43kby8e0vy4nghlepkrb2qlaj maqola 0 4904 14404 2015-07-31T15:44:31Z Dalmo Pereira 1417 Bog cusub: {{-uz-}} ===Magac=== '''maqola''' 14404 wikitext text/x-wiki {{-uz-}} ===Magac=== '''maqola''' nq7lv610zo6auuw0ufg3dcan06xtvvz kuolinselvitys 0 4905 14406 2015-07-31T18:04:57Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''kuolinselvitys''' 14406 wikitext text/x-wiki {{-fi-}} ===Magac=== '''kuolinselvitys''' 2wamw0j9d6ydgmzcjdnm66j4504f1yl kulkukoira 0 4906 14407 2015-07-31T18:05:32Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''kulkukoira''' 14407 wikitext text/x-wiki {{-fi-}} ===Magac=== '''kulkukoira''' hn4ag67ggwneiunagjya5tnqqxedlc6 kouluavustaja 0 4907 14408 2015-07-31T18:06:27Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''kouluavustaja''' 14408 wikitext text/x-wiki {{-fi-}} ===Magac=== '''kouluavustaja''' ehvcc209kfl9iq4timddcs27oxy4avn kirjekyyhky 0 4908 18933 18127 2017-04-28T17:27:12Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18933 wikitext text/x-wiki {{-fi-}} === Magac === '''kirjekyyhky''' 0mpqy59m64sc4v8tllz5w0gqdhaibij hankauspiirros 0 4909 14410 2015-07-31T18:10:19Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''hankauspiirros''' 14410 wikitext text/x-wiki {{-fi-}} ===Magac=== '''hankauspiirros''' 5455wh6x1fyz8rx0r8hfvrxpchufurx minätietoisuus 0 4910 14411 2015-07-31T18:10:21Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''minätietoisuus''' 14411 wikitext text/x-wiki {{-fi-}} ===Magac=== '''minätietoisuus''' jl5nk1p7956m9gua26nxnwzmpwdo79o henkilöjuna 0 4911 14412 2015-07-31T18:12:05Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''henkilöjuna''' 14412 wikitext text/x-wiki {{-fi-}} ===Magac=== '''henkilöjuna''' tc74ewt3e0ivvnkolvkz8oxer5srz9x havupuumetsä 0 4912 14413 2015-07-31T18:12:07Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''havupuumetsä''' 14413 wikitext text/x-wiki {{-fi-}} ===Magac=== '''havupuumetsä''' 0hz475l9k6nxm78yvbwlvuqesu4xifp vendikausi 0 4913 14414 2015-07-31T18:12:09Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''vendikausi''' 14414 wikitext text/x-wiki {{-fi-}} ===Magac=== '''vendikausi''' t39jfjdg6p89h9q6ifd2o8mam7p0bow folivori 0 4914 14415 2015-07-31T18:12:53Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''folivori''' 14415 wikitext text/x-wiki {{-fi-}} ===Magac=== '''folivori''' gyni3edu4uxhviuwnljb1knr49l51ru frottaasi 0 4915 14416 2015-07-31T18:14:35Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''frottaasi''' 14416 wikitext text/x-wiki {{-fi-}} ===Magac=== '''frottaasi''' ao86uz5lkkyf21nvvcgswbvg5o5lran inferentiaalinen 0 4916 14417 2015-07-31T18:14:57Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''inferentiaalinen''' 14417 wikitext text/x-wiki {{-fi-}} ===Magac=== '''inferentiaalinen''' ixcf50grk6snkwps9a1jjh3u8jpc4y2 puhelinpalvelukeskus 0 4917 14418 2015-07-31T18:15:01Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''puhelinpalvelukeskus''' 14418 wikitext text/x-wiki {{-fi-}} ===Magac=== '''puhelinpalvelukeskus''' knzx2modcwr3fqkg6elrez1egcczetj makkaraperunat 0 4918 14419 2015-07-31T18:15:13Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''makkaraperunat''' 14419 wikitext text/x-wiki {{-fi-}} ===Magac=== '''makkaraperunat''' t7lnwsj7pzwkj9mz5avbq51zp0e35qz ikäsyrjintä 0 4919 14420 2015-07-31T18:15:32Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''ikäsyrjintä''' 14420 wikitext text/x-wiki {{-fi-}} ===Magac=== '''ikäsyrjintä''' qleqda9v5zvm98d6xx0da8ntr0uiptp kurkkutautioppi 0 4920 14421 2015-07-31T18:15:54Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''kurkkutautioppi''' 14421 wikitext text/x-wiki {{-fi-}} ===Magac=== '''kurkkutautioppi''' m7zhc4on20t4te26ee97yzi5g41g54n ristiturpa 0 4921 14422 2015-07-31T18:16:15Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''ristiturpa''' 14422 wikitext text/x-wiki {{-fi-}} ===Magac=== '''ristiturpa''' 6h5lcw9h5xcc7x7juuiqrwdg1njytfo vedenpitävyys 0 4922 14423 2015-07-31T18:16:18Z Dalmo Pereira 1417 Bog cusub: {{-fi-}} ===Magac=== '''vedenpitävyys''' 14423 wikitext text/x-wiki {{-fi-}} ===Magac=== '''vedenpitävyys''' 8px9pgqc91dnxu8v4qis7tkstgy4pza qoyska 0 4923 14424 2015-07-31T18:18:29Z Dalmo Pereira 1417 Bog cusub: {{-so-}} ===Magac=== '''qoyska''' 14424 wikitext text/x-wiki {{-so-}} ===Magac=== '''qoyska''' lseidlw2a3kf6u5vhif7gq25dwtxnbv Template:bot-entry 10 4924 14425 2015-07-31T18:23:41Z Dalmo Pereira 1417 Bog cusub: <center> {| class="wikitable" width="80%" |- | [[File:Crystal Clear action run v2.svg|40px|left|link=]] ''Soo galo Tani ayaa si toos ah u abuuray by robot oo laga yaabaa in aan la isk... 14425 wikitext text/x-wiki <center> {| class="wikitable" width="80%" |- | [[File:Crystal Clear action run v2.svg|40px|left|link=]] ''Soo galo Tani ayaa si toos ah u abuuray by robot oo laga yaabaa in aan la isku hallayn badan albaabkeedu kale. Fadlan ka goo jaantuska markan aad u baaro.'' ''وقد تم إنشاء هذا الإدخال تلقائيا باستخدام بوت، وربما تكون أقل موثوقية من الإدخالات الأخرى. الرجاء إزالة هذا القالب بمجرد إيداعه'' <includeonly>[[category:bot-made entry]]</includeonly> |}</center> 48ra4w9h05ebobh9sanmmm0p432dfje Template:FlowMention 10 4925 14436 2015-08-03T23:38:10Z Flow talk page manager 1511 /* Automatically created by Flow */ 14436 wikitext text/x-wiki @[[User:{{{1|Example}}}|{{{2|{{{1|Example}}}}}}]] ht62w5zp7ueoczj6k5jj4tnpk907kdj User talk:לערי ריינהארט 3 4926 15072 15071 2015-09-27T13:51:39Z לערי ריינהארט 1522 layout: 2015-09-17…b LTR RTL leri 15072 wikitext text/x-wiki {| class="float-center" border="0" cellpadding="0" cellspacing="0" style="background:#efefef; color:black" align="center" LANG="en" |- | align="center" colspan="2" | <span dir="ltr" >The phonetic transcription of <span class="nowrap" >«&nbsp;לערי&nbsp;ריינהארט&nbsp;»</span> is <span class="nowrap" LANG="he" >/lɛʁi&nbsp;ʁɑjnhɑʁt/</span> <span class="nowrap" >(leri&nbsp;raynhart).</span></span><br /> <!-- <span dir="ltr" >The phonetic transcription of <span class="nowrap" LANG="he" >«&nbsp;[[s:yi:בייַ מיר ביסטו שיין|בײַ&nbsp;מיר&nbsp;ביסטו&nbsp;שיין]]&nbsp;»</span> is <span class="nowrap" >/bɑj&nbsp;mɪʁ&nbsp;bɪstu&nbsp;ʃɛyn/</span> <span class="nowrap" >([[w:en:Bei Mir Bistu Shein|bay&nbsp;mir&nbsp;bistu&nbsp;sheyn]]).</span><br />&nbsp;</span><br /> --> {{Softredirect|1=testwiki:user talk:{{PAGENAME}}|2=<span dir="ltr" >testwiki:user talk:<span dir="ltr" >{{PAGENAME}}</span></span>}} |- | align="right" | [[image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:Gangleri]] |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' |}<!-- |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:Gangleri]] |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' --> <br clear="all" /> <!-- **only at sandbox subpages** <center dir="ltr" >This page is an '''user sandbox page'''.<br />'''SUBPAGENAME''':&nbsp;'''{{SUBPAGENAME}}'''&nbsp;&ndash; '''[[mediawiki:Sandbox]]''':&nbsp;'''{{int:Sandbox}}'''&nbsp;<sup>[[w:en:mediawiki:Sandbox]]</sup></center> ---- --> <center> : <sup><span dir="ltr" class="plainlinks" >SITENAME: '''{{SITENAME}}'''&nbsp;· '''language:'''&nbsp;{{CONTENTLANG}}:&nbsp;'''[{{fullurl:{{FULLPAGENAME}}|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:{{FULLPAGENAME}}|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}}}#footer #footer]</span></sup><!-- special:version --> : <sup><span dir "ltr" class="plainlinks" >[[special:version|local curent version]]: {{CURRENTVERSION}}&nbsp;· versions&nbsp;at&nbsp;[[b:special:version|b:]]&nbsp;· [[c:special:version|c:]]&nbsp;· [[d:special:version|d:]]&nbsp;·&nbsp;[[testwikidata:special:version|d2:]]&nbsp;· '''[[m:special:version|m:]]'''&nbsp;· [[mw:special:version|mw:]]&nbsp;· [[n:special:version|n:]]&nbsp;· [[q:special:version|q:]]&nbsp;· [[s:special:version|s:]]&nbsp;· '''[[testwiki:special:version|t:]]'''&nbsp;·&nbsp;[[test2wiki:special:version|t2:]]&nbsp;· [[v:special:version|v:]]&nbsp;· [[voy:special:version|voy:]]&nbsp;· [[w:special:version|w:]]&nbsp;· [[wikt:special:version|wikt:]]&nbsp;· [[w:en:special:version|w:en:]]&nbsp;· [[m:special:sitematrix#{{CONTENTLANG}}|m:special:sitematrix#{{CONTENTLANG}}]]&nbsp;· [[template:Wikivar]]&nbsp;·&nbsp;<sup>[[m:template:Wikivar|m:]]&lrm;</sup></span></sup> : <sup><span dir="ltr" class="plainlinks" >'''mediawiki:Sidebar'''&nbsp;'''[{{fullurl:mediawiki:Sidebar|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:mediawiki:Sidebar/en|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:mediawiki:Sidebar/de|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/es|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/fr|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/it|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ru|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/zh|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ar|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/he|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/hi|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/eo|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]</span></sup> : <sup><span dir "ltr" class="plainlinks" >[{{fullurl:special:Preferences}}#top <span dir="ltr" LANG="en" >your]&nbsp;[{{fullurl:special:Preferences|uselang=en}}#top <span dir="ltr" LANG="en" >local preferences]&nbsp;· [{{fullurl:special:Preferences|uselang=de}}#mw-prefsection-personal <span dir="ltr" LANG="de" >Einstellungen</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=es}}#mw-prefsection-rendering <span dir="ltr" LANG="es" >Preferencias</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=fr}}#mw-prefsection-editing <span dir="ltr" LANG="fr" >Préférences</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=it}}#mw-prefsection-rc <span dir="ltr" LANG="it" >Preferenze</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ru}}#mw-prefsection-watchlist <span dir="ltr" LANG="ru" >Настройки</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=zh}}#mw-prefsection-gadgets <span dir="ltr" LANG="zh" >设置</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ar}}#mw-prefsection-betafeatures <span dir="ltr" LANG="ar" >تفضيلات</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=he}}#mw-prefsection-betafeatures <span dir="ltr" LANG="he" >העדפות</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=hi}}#top <span dir="ltr" LANG="hi" >मेरी वरीयताएँ</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=eo}}#top <span dir="ltr" LANG="eo" >Preferoj</span>]</span></sup><!-- user:{{BASEPAGENAME}} --> : <sup><span dir "ltr" class="plainlinks" >user&nbsp;/&nbsp;&lrm;'''<span dir="ltr" >{{ns:2}}</span>'''&lrm;:&nbsp;&lrm;'''<span dir="ltr" >[[user:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]</span>&lrm;'''&nbsp;·&nbsp;[{{SERVER}}/?title=special:ListUsers&limit=1&username={{BASEPAGENAMEE}} rights]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}|all subpages]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}|T]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.css|&lrm;/common.css]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.js|/common.js]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/Archive/previous user page|/previous user page]]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}/Archive|archives]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}/Archive|archived talks]]&nbsp;· [[b:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|b:]]&nbsp;· [[c:user:{{BASEPAGENAME}}|c:]]&nbsp;· [[d:user:{{BASEPAGENAME}}|d:]]&nbsp;·&nbsp;[[testwikidata:user:{{BASEPAGENAME}}|d2:]]&nbsp;· [[m:user:{{BASEPAGENAME}}|m:]]&nbsp;· [[mw:user:{{BASEPAGENAME}}|mw:]]&nbsp;· [[n:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|n:]]&nbsp;· [[q:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|q:]]&nbsp;· [[s:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|s:]]&nbsp;· [[testwiki:user:{{BASEPAGENAME}}|t:]]&nbsp;·&nbsp;[[test2wiki:user:{{BASEPAGENAME}}|t2:]]&nbsp;· [[v:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|v:]]&nbsp;· [[voy:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|voy:]]&nbsp;· [[w:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|w:]]&nbsp;· [[wikt:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|wikt:]]&nbsp;· [[w:en:user:{{BASEPAGENAME}}|w:en:]]&nbsp;·&nbsp;[[w:user:{{BASEPAGENAME}}|w:]]&nbsp;·&nbsp;[[:en:user:{{BASEPAGENAME}}|:en:]]&lrm;</span></sup><!-- special:foobar --> : <sup><span dir "ltr" class="plainlinks" >&nbsp;[{{fullurl:special:WhatLinksHere/{{FULLPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;WLH]&lrm;&nbsp;· [{{fullurl:special:RecentChanges|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;RC]&lrm;&nbsp;· [{{fullurl:special:Logs|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;logs]&lrm;&nbsp;· [{{fullurl:special:WatchList|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;watchlist]&lrm;&nbsp;<sup>[{{fullurl:special:WatchList/edit|uselang=en}}#top <span LANG="en" >&nbsp;edit]</sup>&lrm;&nbsp;· [{{fullurl:special:Contributions/{{BASEPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;ontributions]&lrm;&nbsp;· [[mediawiki:Common.css|'''local'''&nbsp;mediawiki:Common.css]]&nbsp;· [[mediawiki:Common.js|'''local'''&nbsp;mediawiki:Common.js]]&nbsp;· [[mediawiki:Gadgets-definition|'''local'''&nbsp;mediawiki:Gadgets-definition]]&nbsp;· '''[[special:Notifications|local notifications]]'''<br />[[m:user:{{BASEPAGENAME}}/global.css|m:…'''/global.css''']]&nbsp;·&nbsp;[[m:user:{{BASEPAGENAME}}/global.js|m:…'''/global.js''']]&nbsp;·&nbsp;[[special:centralAuth/{{BASEPAGENAMEE}}|'''global'''&nbsp;account&nbsp;information]]&nbsp;· [https://tools.wmflabs.org/guc/?user={{URLENCODE:{{BASEPAGENAME}}|WIKI}} '''global'''&nbsp;user&nbsp;contributions]<!-- &nbsp;· [https://toolserver.org/~River/cgi-bin/count_edits?user={{BASEPAGENAMEE}}&dbname=wikidatawiki_p&machread=1] --></span></sup><!-- PAGEID related links --> : <sup><span dir "ltr" class="plainlinks" >'''PAGEID:'''&nbsp;{{PAGEID}}&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}#top links&nbsp;'''here''']&nbsp;· <sup>[https:{{SERVER}}/?curid={{PAGEID}}&action=purge# purge&nbsp;↺]&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}&action=edit&section=0# section=0]</sup>&nbsp;· '''REVISIONID:'''&nbsp;{{REVISIONID}}&nbsp;· [https:{{SERVER}}/?oldid={{REVISIONID}}# permanent&nbsp;link]&nbsp;· (layout:&nbsp;2015-09-17…b&nbsp;[https://fi.wikipedia.org/?curid=468081#top LTR]&nbsp;[https://ug.wiktionary.org/?curid=5716#top RTL]&nbsp;short)&lrm;</span></sup><!-- testing and validation links related languages / dialects --> : <sup><span dir "ltr" class="plainlinks" >'''testing and validation links:'''&nbsp;[[user:בײַ מיר ביסטו שיין#BiDi_issues|BiDi issues]]&nbsp;· [[user:I18n|gadget issues]]&nbsp;· '''[[#related languages]] / [[#related dialects]]'''&nbsp;· [[/local notes]]</span></sup> </center> ---- <!-- <br clear="all" /> --> __TOC__ == <span dir="ltr" >Welcome&lrm;&nbsp;<span id="Welcome" dir="ltr" >{{PAGENAME}}</span>&nbsp;to&nbsp;<span id="WelcomeToSITENAME" dir="ltr" >{{SITENAME}}</span>!</span> == : [[User:לערי ריינהארט|לערי ריינהארט]] ([[User talk:לערי ריינהארט|talk]]) 13:51, 27 Sebteembar 2015 (UTC) l3dgozcuurezdwh3octru9xd23cxnsm User talk:בײַ מיר ביסטו שיין 3 4927 15047 14755 2015-09-23T04:25:26Z בײַ מיר ביסטו שיין 1523 layout: 2015-09-17…b LTR RTL short bmbsh 15047 wikitext text/x-wiki {| class="float-center" border="0" cellpadding="0" cellspacing="0" style="background:#efefef; color:black" align="center" LANG="en" |- | align="center" colspan="2" | <!-- <span dir="ltr" >The phonetic transcription of <span class="nowrap" >«&nbsp;לערי&nbsp;ריינהארט&nbsp;»</span> is <span class="nowrap" LANG="he" >/lɛʁi&nbsp;ʁɑjnhɑʁt/</span> <span class="nowrap" >(leri&nbsp;raynhart).</span></span><br /> --> <span dir="ltr" >The phonetic transcription of <span class="nowrap" LANG="he" >«&nbsp;[[s:yi:בייַ מיר ביסטו שיין|בײַ&nbsp;מיר&nbsp;ביסטו&nbsp;שיין]]&nbsp;»</span> is <span class="nowrap" >/bɑj&nbsp;mɪʁ&nbsp;bɪstu&nbsp;ʃɛyn/</span> <span class="nowrap" >([[w:en:Bei Mir Bistu Shein|bay&nbsp;mir&nbsp;bistu&nbsp;sheyn]]).</span><br />&nbsp;</span><br /> {{Softredirect|1=testwiki:user talk:{{PAGENAME}}|2=<span dir="ltr" >testwiki:user talk:<span dir="ltr" >{{PAGENAME}}</span></span>}} <!-- |- | align="right" | [[image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:Gangleri]] --> |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' |}<!-- |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:Gangleri]] |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' --> <br clear="all" /> <!-- **only at sandbox subpages** <center dir="ltr" >This page is an '''user sandbox page'''.<br />'''SUBPAGENAME''':&nbsp;'''{{SUBPAGENAME}}'''&nbsp;&ndash; '''[[mediawiki:Sandbox]]''':&nbsp;'''{{int:Sandbox}}'''&nbsp;<sup>[[w:en:mediawiki:Sandbox]]</sup></center> ---- --> <center> : <sup><span dir="ltr" class="plainlinks" >SITENAME: '''{{SITENAME}}'''&nbsp;· '''language:'''&nbsp;{{CONTENTLANG}}:&nbsp;'''[{{fullurl:{{FULLPAGENAME}}|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:{{FULLPAGENAME}}|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}}}#footer #footer]</span></sup><!-- special:version --> : <sup><span dir "ltr" class="plainlinks" >[[special:version|local curent version]]: {{CURRENTVERSION}}&nbsp;· versions&nbsp;at&nbsp;[[b:special:version|b:]]&nbsp;· [[c:special:version|c:]]&nbsp;· [[d:special:version|d:]]&nbsp;·&nbsp;[[testwikidata:special:version|d2:]]&nbsp;· '''[[m:special:version|m:]]'''&nbsp;· [[mw:special:version|mw:]]&nbsp;· [[n:special:version|n:]]&nbsp;· [[q:special:version|q:]]&nbsp;· [[s:special:version|s:]]&nbsp;· '''[[testwiki:special:version|t:]]'''&nbsp;·&nbsp;[[test2wiki:special:version|t2:]]&nbsp;· [[v:special:version|v:]]&nbsp;· [[voy:special:version|voy:]]&nbsp;· [[w:special:version|w:]]&nbsp;· [[wikt:special:version|wikt:]]&nbsp;· [[w:en:special:version|w:en:]]&nbsp;· [[m:special:sitematrix#{{CONTENTLANG}}|m:special:sitematrix#{{CONTENTLANG}}]]&nbsp;· [[template:Wikivar]]&nbsp;·&nbsp;<sup>[[m:template:Wikivar|m:]]&lrm;</sup></span></sup> : <sup><span dir="ltr" class="plainlinks" >'''mediawiki:Sidebar'''&nbsp;'''[{{fullurl:mediawiki:Sidebar|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:mediawiki:Sidebar/en|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:mediawiki:Sidebar/de|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/es|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/fr|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/it|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ru|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/zh|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ar|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/he|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/hi|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/eo|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]</span></sup> : <sup><span dir "ltr" class="plainlinks" >[{{fullurl:special:Preferences}}#top <span dir="ltr" LANG="en" >your]&nbsp;[{{fullurl:special:Preferences|uselang=en}}#top <span dir="ltr" LANG="en" >local preferences]&nbsp;· [{{fullurl:special:Preferences|uselang=de}}#mw-prefsection-personal <span dir="ltr" LANG="de" >Einstellungen</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=es}}#mw-prefsection-rendering <span dir="ltr" LANG="es" >Preferencias</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=fr}}#mw-prefsection-editing <span dir="ltr" LANG="fr" >Préférences</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=it}}#mw-prefsection-rc <span dir="ltr" LANG="it" >Preferenze</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ru}}#mw-prefsection-watchlist <span dir="ltr" LANG="ru" >Настройки</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=zh}}#mw-prefsection-gadgets <span dir="ltr" LANG="zh" >设置</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ar}}#mw-prefsection-betafeatures <span dir="ltr" LANG="ar" >تفضيلات</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=he}}#mw-prefsection-betafeatures <span dir="ltr" LANG="he" >העדפות</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=hi}}#top <span dir="ltr" LANG="hi" >मेरी वरीयताएँ</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=eo}}#top <span dir="ltr" LANG="eo" >Preferoj</span>]</span></sup><!-- user:{{BASEPAGENAME}} --> : <sup><span dir "ltr" class="plainlinks" >user&nbsp;/&nbsp;&lrm;'''<span dir="ltr" >{{ns:2}}</span>'''&lrm;:&nbsp;&lrm;'''<span dir="ltr" >[[user:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]</span>&lrm;'''&nbsp;·&nbsp;[{{SERVER}}/?title=special:ListUsers&limit=1&username={{BASEPAGENAMEE}} rights]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}|all subpages]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}|T]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.css|&lrm;/common.css]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.js|/common.js]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/Archive/previous user page|/previous user page]]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}/Archive|archives]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}/Archive|archived talks]]&nbsp;· [[b:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|b:]]&nbsp;· [[c:user:{{BASEPAGENAME}}|c:]]&nbsp;· [[d:user:{{BASEPAGENAME}}|d:]]&nbsp;·&nbsp;[[testwikidata:user:{{BASEPAGENAME}}|d2:]]&nbsp;· [[m:user:{{BASEPAGENAME}}|m:]]&nbsp;· [[mw:user:{{BASEPAGENAME}}|mw:]]&nbsp;· [[n:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|n:]]&nbsp;· [[q:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|q:]]&nbsp;· [[s:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|s:]]&nbsp;· [[testwiki:user:{{BASEPAGENAME}}|t:]]&nbsp;·&nbsp;[[test2wiki:user:{{BASEPAGENAME}}|t2:]]&nbsp;· [[v:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|v:]]&nbsp;· [[voy:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|voy:]]&nbsp;· [[w:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|w:]]&nbsp;· [[wikt:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|wikt:]]&nbsp;· [[w:en:user:{{BASEPAGENAME}}|w:en:]]&nbsp;·&nbsp;[[w:user:{{BASEPAGENAME}}|w:]]&nbsp;·&nbsp;[[:en:user:{{BASEPAGENAME}}|:en:]]&lrm;</span></sup><!-- special:foobar --> : <sup><span dir "ltr" class="plainlinks" >&nbsp;[{{fullurl:special:WhatLinksHere/{{FULLPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;WLH]&lrm;&nbsp;· [{{fullurl:special:RecentChanges|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;RC]&lrm;&nbsp;· [{{fullurl:special:Logs|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;logs]&lrm;&nbsp;· [{{fullurl:special:WatchList|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;watchlist]&lrm;&nbsp;<sup>[{{fullurl:special:WatchList/edit|uselang=en}}#top <span LANG="en" >&nbsp;edit]</sup>&lrm;&nbsp;· [{{fullurl:special:Contributions/{{BASEPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;ontributions]&lrm;&nbsp;· [[mediawiki:Common.css|'''local'''&nbsp;mediawiki:Common.css]]&nbsp;· [[mediawiki:Common.js|'''local'''&nbsp;mediawiki:Common.js]]&nbsp;· [[mediawiki:Gadgets-definition|'''local'''&nbsp;mediawiki:Gadgets-definition]]&nbsp;· '''[[special:Notifications|local notifications]]'''<br />[[m:user:{{BASEPAGENAME}}/global.css|m:…'''/global.css''']]&nbsp;·&nbsp;[[m:user:{{BASEPAGENAME}}/global.js|m:…'''/global.js''']]&nbsp;·&nbsp;[[special:centralAuth/{{BASEPAGENAMEE}}|'''global'''&nbsp;account&nbsp;information]]&nbsp;· [https://tools.wmflabs.org/guc/?user={{URLENCODE:{{BASEPAGENAME}}|WIKI}} '''global'''&nbsp;user&nbsp;contributions]<!-- &nbsp;· [https://toolserver.org/~River/cgi-bin/count_edits?user={{BASEPAGENAMEE}}&dbname=wikidatawiki_p&machread=1] --></span></sup><!-- PAGEID related links --> : <sup><span dir "ltr" class="plainlinks" >'''PAGEID:'''&nbsp;{{PAGEID}}&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}#top links&nbsp;'''here''']&nbsp;· <sup>[https:{{SERVER}}/?curid={{PAGEID}}&action=purge# purge&nbsp;↺]&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}&action=edit&section=0# section=0]</sup>&nbsp;· '''REVISIONID:'''&nbsp;{{REVISIONID}}&nbsp;· [https:{{SERVER}}/?oldid={{REVISIONID}}# permanent&nbsp;link]&nbsp;· (layout:&nbsp;2015-09-17…b&nbsp;[https://fi.wikipedia.org/?curid=468081#top LTR]&nbsp;[https://ug.wiktionary.org/?curid=5716#top RTL]&nbsp;short)&lrm;</span></sup><!-- testing and validation links related languages / dialects --> : <sup><span dir "ltr" class="plainlinks" >'''testing and validation links:'''&nbsp;[[user:בײַ מיר ביסטו שיין#BiDi_issues|BiDi issues]]&nbsp;· [[user:I18n|gadget issues]]&nbsp;· '''[[#related languages]] / [[#related dialects]]'''&nbsp;· [[/local notes]]</span></sup> </center> ---- <!-- <br clear="all" /> --> __TOC__ == <span dir="ltr" >Welcome&lrm;&nbsp;<span id="Welcome" dir="ltr" >{{PAGENAME}}</span>&nbsp;to&nbsp;<span id="WelcomeToSITENAME" dir="ltr" >{{SITENAME}}</span>!</span> == : [[User:בײַ מיר ביסטו שיין|בײַ מיר ביסטו שיין]] ([[User talk:בײַ מיר ביסטו שיין|talk]]) 04:25, 23 Sebteembar 2015 (UTC) s5efy400pko46ao985axo29hzmxbdi8 User talk:I18n 3 4928 14809 14773 2015-09-14T01:19:24Z I18n 1524 layout:&nbsp;2015-09-07…d&nbsp;LTR&nbsp;RTL&nbsp;short i18n 14809 wikitext text/x-wiki {| class="float-center" border="0" cellpadding="3" cellspacing="5" style="background:#efefef; color:black" align="center" LANG="en" |- | align="center" colspan="2" | <!-- <span dir="ltr" >The phonetic transcription of <span class="nowrap" >«&nbsp;לערי&nbsp;ריינהארט&nbsp;»</span> is <span class="nowrap" LANG="he" >/lɛʁi&nbsp;ʁɑjnhɑʁt/</span> <span class="nowrap" >(leri&nbsp;raynhart).</span></span><br /> <span dir="ltr" >The phonetic transcription of <span class="nowrap" LANG="he" >«&nbsp;[[s:yi:בייַ מיר ביסטו שיין|בײַ&nbsp;מיר&nbsp;ביסטו&nbsp;שיין]]&nbsp;»</span> is <span class="nowrap" >/bɑj&nbsp;mɪʁ&nbsp;bɪstu&nbsp;ʃɛyn/</span> <span class="nowrap" >([[w:en:Bei Mir Bistu Shein|bay&nbsp;mir&nbsp;bistu&nbsp;sheyn]]).</span><br />&nbsp;</span><br /> --> {{Softredirect|1=testwiki:user talk:{{PAGENAME}}|2=<span dir="ltr" >testwiki:user talk:<span dir="ltr" >{{PAGENAME}}</span></span>}} <!-- |- | align="right" | [[image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:Gangleri]] --> |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="right" | [[Image:Redirectltr.png|right]] | align="left" dir="ltr" | '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' |}<!-- |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:Gangleri]] |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] [[user talk:לערי ריינהארט]] aka "''Gangleri''" |- | align="center" colspan="2" dir="ltr" | [[image:Redirectltr.png|left]] '''[[testwiki:user talk:לערי ריינהארט]] aka "''Gangleri''"''' --> <br clear="all" /> <!-- **only at sandbox subpages** <center dir="ltr" >This page is an '''user sandbox page'''.<br />'''SUBPAGENAME''':&nbsp;'''{{SUBPAGENAME}}'''&nbsp;&ndash; '''[[mediawiki:Sandbox]]''':&nbsp;'''{{int:Sandbox}}'''&nbsp;<sup>[[w:en:mediawiki:Sandbox]]</sup></center> ---- --> <center> : <sup><span dir="ltr" class="plainlinks" >SITENAME: '''{{SITENAME}}'''&nbsp;· '''language:'''&nbsp;{{CONTENTLANG}}:&nbsp;'''[{{fullurl:{{FULLPAGENAME}}|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:{{FULLPAGENAME}}|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]&nbsp;· [{{fullurl:{{FULLPAGENAME}}}}#footer #footer]</span></sup><!-- special:version --> : <sup><span dir "ltr" class="plainlinks" >[[special:version|local curent version]]: {{CURRENTVERSION}}&nbsp;· versions&nbsp;at&nbsp;[[b:special:version|b:]]&nbsp;·&nbsp;[[c:special:version|c:]]&nbsp;·&nbsp;[[d:special:version|d:]]&nbsp;·&nbsp;'''[[m:special:version|m:]]'''&nbsp;·&nbsp;[[mw:special:version|mw:]]&nbsp;·&nbsp;[[n:special:version|n:]]&nbsp;·&nbsp;[[q:special:version|q:]]&nbsp;·&nbsp;[[s:special:version|s:]]&nbsp;·&nbsp;'''[[testwiki:special:version|t:]]'''&nbsp;·&nbsp;[[v:special:version|v:]]&nbsp;·&nbsp;[[voy:special:version|voy:]]&nbsp;·&nbsp;[[w:special:version|w:]]&nbsp;·&nbsp;[[wikt:special:version|wikt:]]&nbsp;·&nbsp;[[w:en:special:version|w:en:]]&nbsp;·&nbsp;[[m:special:sitematrix#{{CONTENTLANG}}|m:special:sitematrix#{{CONTENTLANG}}]]&nbsp;·&nbsp;[[template:Wikivar]]&nbsp;·&nbsp;<sup>[[m:template:Wikivar|m:]]&lrm;</sup></span></sup> : <sup><span dir="ltr" class="plainlinks" >'''mediawiki:Sidebar'''&nbsp;'''[{{fullurl:mediawiki:Sidebar|uselang={{CONTENTLANG}}}}#top <span dir="ltr" LANG="{{CONTENTLANG}}" >{{#LANGUAGE:{{CONTENTLANG}}}}</span>]'''&nbsp;· &nbsp;[{{fullurl:mediawiki:Sidebar/en|uselang=en}}#top <span dir="ltr" LANG="en" >{{#LANGUAGE:{{CONTENTLANG}}|en}}</span>''']&nbsp;· [{{fullurl:mediawiki:Sidebar/de|uselang=de}}#top <span dir="ltr" LANG="de" >{{#LANGUAGE:{{CONTENTLANG}}|de}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/es|uselang=es}}#top <span dir="ltr" LANG="es" >{{#LANGUAGE:{{CONTENTLANG}}|es}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/fr|uselang=fr}}#top <span dir="ltr" LANG="fr" >{{#LANGUAGE:{{CONTENTLANG}}|fr}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/it|uselang=it}}#top <span dir="ltr" LANG="it" >{{#LANGUAGE:{{CONTENTLANG}}|it}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ru|uselang=ru}}#top <span dir="ltr" LANG="ru" >{{#LANGUAGE:{{CONTENTLANG}}|ru}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/zh|uselang=zh}}#top <span dir="ltr" LANG="zh" >{{#LANGUAGE:{{CONTENTLANG}}|zh}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/ar|uselang=ar}}#top <span dir="ltr" LANG="ar" >{{#LANGUAGE:{{CONTENTLANG}}|ar}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/he|uselang=he}}#top <span dir="ltr" LANG="he" >{{#LANGUAGE:{{CONTENTLANG}}|he}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/hi|uselang=hi}}#top <span dir="ltr" LANG="hi" >{{#LANGUAGE:{{CONTENTLANG}}|hi}}</span>]&nbsp;· [{{fullurl:mediawiki:Sidebar/eo|uselang=eo}}#top <span dir="ltr" LANG="eo" >{{#LANGUAGE:{{CONTENTLANG}}|eo}}</span>]</span></sup> : <sup><span dir "ltr" class="plainlinks" >[{{fullurl:special:Preferences}}#top <span dir="ltr" LANG="en" >your]&nbsp;[{{fullurl:special:Preferences|uselang=en}}#top <span dir="ltr" LANG="en" >local preferences]&nbsp;· [{{fullurl:special:Preferences|uselang=de}}#mw-prefsection-personal <span dir="ltr" LANG="de" >Einstellungen</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=es}}#mw-prefsection-rendering <span dir="ltr" LANG="es" >Preferencias</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=fr}}#mw-prefsection-editing <span dir="ltr" LANG="fr" >Préférences</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=it}}#mw-prefsection-rc <span dir="ltr" LANG="it" >Preferenze</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ru}}#mw-prefsection-watchlist <span dir="ltr" LANG="ru" >Настройки</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=zh}}#mw-prefsection-gadgets <span dir="ltr" LANG="zh" >设置</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=ar}}#mw-prefsection-betafeatures <span dir="ltr" LANG="ar" >تفضيلات</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=he}}#mw-prefsection-betafeatures <span dir="ltr" LANG="he" >העדפות</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=hi}}#top <span dir="ltr" LANG="hi" >मेरी वरीयताएँ</span>]&nbsp;· [{{fullurl:special:Preferences|uselang=eo}}#top <span dir="ltr" LANG="eo" >Preferoj</span>]</span></sup><!-- user:{{BASEPAGENAME}} --> : <sup><span dir "ltr" class="plainlinks" >user&nbsp;/&nbsp;&lrm;'''<span dir="ltr" >{{ns:2}}</span>'''&lrm;:&nbsp;&lrm;'''<span dir="ltr" >[[user:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]</span>&lrm;'''&nbsp;·&nbsp;[{{SERVER}}/?title=special:ListUsers&limit=1&username={{BASEPAGENAMEE}} rights]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}|all subpages]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}|T]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.css|&lrm;/common.css]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/common.js|/common.js]]&nbsp;·&nbsp;[[user:{{BASEPAGENAME}}/Archive/previous user page|/previous user page]]&nbsp;·&nbsp;[[special:Prefixindex/user:{{BASEPAGENAME}}/Archive|archives]]&nbsp;[[special:Prefixindex/user talk:{{BASEPAGENAME}}/Archive|archived talks]]&nbsp;·&nbsp;[[b:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|b:]]&nbsp;·&nbsp;[[c:user:{{BASEPAGENAME}}|c:]]&nbsp;·&nbsp;[[d:user:{{BASEPAGENAME}}|d:]]&nbsp;·&nbsp;[[m:user:{{BASEPAGENAME}}|m:]]&nbsp;·&nbsp;[[mw:user:{{BASEPAGENAME}}|mw:]]&nbsp;·&nbsp;[[n:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|n:]]&nbsp;·&nbsp;[[q:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|q:]]&nbsp;·&nbsp;[[s:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|s:]]&nbsp;·&nbsp;[[testwiki:user:{{BASEPAGENAME}}|t:]]&nbsp;·&nbsp;[[v:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|v:]]&nbsp;·&nbsp;[[voy:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|voy:]]&nbsp;·&nbsp;[[w:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|w:]]&nbsp;·&nbsp;[[wikt:{{CONTENTLANG}}:user:{{BASEPAGENAME}}|wikt:]]&nbsp;·&nbsp;[[w:en:user:{{BASEPAGENAME}}|w:en:]]&nbsp;·&nbsp;[[w:user:{{BASEPAGENAME}}|w:]]&nbsp;·&nbsp;[[:en:user:{{BASEPAGENAME}}|:en:]]&lrm;</span></sup><!-- special:foobar --> : <sup><span dir "ltr" class="plainlinks" >&nbsp;[{{fullurl:special:WhatLinksHere/{{FULLPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;WLH]&lrm;&nbsp;· [{{fullurl:special:RecentChanges|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;RC]&lrm;&nbsp;· [{{fullurl:special:Logs|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;logs]&lrm;&nbsp;· [{{fullurl:special:WatchList|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;watchlist]&lrm;&nbsp;· [{{fullurl:special:Contributions/{{BASEPAGENAME}}|uselang=en}}#top <span LANG="en" >'''local'''&nbsp;ontributions]&lrm;&nbsp;· [[mediawiki:Common.css|'''local'''&nbsp;mediawiki:Common.css]]&nbsp;· [[mediawiki:Common.js|'''local'''&nbsp;mediawiki:Common.js]]&nbsp;· [[mediawiki:Gadgets-definition|'''local'''&nbsp;mediawiki:Gadgets-definition]]&nbsp;· '''[[special:Notifications|local notifications]]'''<br />[[m:user:{{BASEPAGENAME}}/global.css|m:…'''/global.css''']]&nbsp;·&nbsp;[[m:user:{{BASEPAGENAME}}/global.js|m:…'''/global.js''']]&nbsp;·&nbsp;[[special:centralAuth/{{BASEPAGENAMEE}}|'''global'''&nbsp;account&nbsp;information]]&nbsp;· [https://tools.wmflabs.org/guc/?user={{URLENCODE:{{BASEPAGENAME}}|WIKI}} '''global'''&nbsp;user&nbsp;contributions]<!-- &nbsp;· [https://toolserver.org/~River/cgi-bin/count_edits?user={{BASEPAGENAMEE}}&dbname=wikidatawiki_p&machread=1] --></span></sup><!-- PAGEID related links --> : <sup><span dir "ltr" class="plainlinks" >'''PAGEID:'''&nbsp;{{PAGEID}}&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}#top links&nbsp;'''here''']&nbsp;· <sup>[https:{{SERVER}}/?curid={{PAGEID}}&action=purge# purge&nbsp;↺]&nbsp;· [https:{{SERVER}}/?curid={{PAGEID}}&action=edit&section=0# section=0]</sup>&nbsp;· '''REVISIONID:'''&nbsp;{{REVISIONID}}&nbsp;· [https:{{SERVER}}/?oldid={{REVISIONID}}# permanent&nbsp;link]&nbsp;· (layout:&nbsp;2015-09-07…d&nbsp;[https://fi.wikipedia.org/?curid=468081#top LTR]&nbsp;[https://ug.wiktionary.org/?curid=5716#top RTL]&nbsp;short)&lrm;</span></sup><!-- testing and validation links related languages / dialects --> : <sup><span dir "ltr" class="plainlinks" >'''testing and validation links:'''&nbsp;[[user:בײַ מיר ביסטו שיין#BiDi_issues|BiDi issues]]&nbsp;· [[user:I18n|gadget issues]]&nbsp;· '''related languages / dialects:'''&nbsp;[[w:foo:user:{{BASEPAGENAME}}|w:foo:]]&nbsp;·&nbsp;[[w:bar:user:{{BASEPAGENAME}}|w:bar:]]&lrm;</span></sup> </center> ---- <!-- <br clear="all" /> --> __TOC__ == <span dir="ltr" >Welcome&lrm;&nbsp;<span id="Welcome" dir="ltr" >{{PAGENAME}}</span>&nbsp;to&nbsp;<span id="WelcomeToSITENAME" dir="ltr" >{{SITENAME}}</span>!</span> == : [[User:I18n|I18n]] ([[User talk:I18n|talk]]) 18:16, 6 Sebteembar 2015 (UTC) : [[User:I18n|I18n]] ([[User talk:I18n|talk]]) 01:19, 14 Sebteembar 2015 (UTC) lpvujgmaa7svrcl5jqqma0zl5by8r9h Template:LQT Moved thread stub converted to Flow 10 4993 15089 2015-10-02T20:11:43Z Flow talk page manager 1511 /* Automatically created by Flow */ 15089 wikitext text/x-wiki This post by {{{author}}} was moved on {{{date}}}. You can find it at [[{{{title}}}]]. e5j16chw2130kmdotptl65jvxa6lw5w Template:LQT page converted to Flow 10 4994 15090 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15090 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 Template:Archive for converted LQT page 10 4995 15091 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15091 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 Template:LQT post imported with supressed user 10 4996 15092 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15092 wikitext text/x-wiki This revision was imported from LiquidThreads with a suppressed user. It has been reassigned to the current user. 1pswkbcu7hauadd98nklgf3pku080ee Template:LQT post imported with different signature user 10 4997 15093 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15093 wikitext text/x-wiki ''This post was posted by [[User:{{{authorUser}}}|{{{authorUser}}}]], but signed as [[User:{{{signatureUser}}}|{{{signatureUser}}}]].'' gr9xg2oo9p9alcaf8usi587bcmsi65s Template:Wikitext talk page converted to Flow 10 4998 15094 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15094 wikitext text/x-wiki Previous discussion was archived at <span class='flow-link-to-archive'>[[{{{archive}}}]]</span> on {{#time: Y-m-d|{{{date}}}}}. ccusakfp9y2sl227h5sbt4ok1ptcsxi Template:Archive for converted wikitext talk page 10 4999 15095 2015-10-02T20:11:44Z Flow talk page manager 1511 /* Automatically created by Flow */ 15095 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 dhawoow 0 5001 15179 15178 2015-10-27T10:25:11Z 200.130.64.1 15179 wikitext text/x-wiki {{-so-}} ==Magac== '''dhawoow''' tq65o6jlbbbozujzcgmviv7msan34ny tabarucid 0 5002 26826 15180 2024-02-21T00:24:56Z Girligaanshub 3150 26826 wikitext text/x-wiki {{-so-}} == Magac == '''tabarucid''' === Tarjumaad === * {{en}}: volunteering cwyvk4oyxpklyurqd88lgl4rx35h2bd dhacdooyinka 0 5003 26869 15181 2024-02-29T13:11:31Z Girligaanshub 3150 26869 wikitext text/x-wiki {{-so-}} == Magac == '''dhacdooyinka''' === Tarjumaad === * {{en}}: events, occurrences, incidents, circumstances, happenings, instances 2lj42nyap0soghd53gd7gct154gwduy run 0 5004 29950 19234 2024-08-16T23:24:23Z Girligaanshub 3150 29950 wikitext text/x-wiki {{-so-}} == Magac == '''run''' === Tarjumaad === * {{en}}: true, truth 9622c8qrz34gr3lm844soekl80okz9s rumay 0 5005 15183 2015-10-27T10:30:56Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''rumay''' ===Tarjumaad=== *{{en}}: [[toothbrush]] 15183 wikitext text/x-wiki {{-so-}} ==Magac== '''rumay''' ===Tarjumaad=== *{{en}}: [[toothbrush]] mi9jrscukjif47hxdwxioh0p81slc6p roob 0 5006 19230 18151 2017-04-28T17:29:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19230 wikitext text/x-wiki {{-so-}} == Magac == '''roob''' === Tarjumaad === * {{en}}: [[rain]] 7w8fhjvcs4elcj5nvw3bo28uvqn1clw riyo 0 5007 27795 19225 2024-05-29T02:10:47Z Girligaanshub 3150 27795 wikitext text/x-wiki {{-so-}} == Magac == '''riyo''' === Tarjumaad === * {{en}}: [[dream]] * {{en}}: multiple goats okc0k2zgimjazx2av43lkxje3u3mc81 riixid 0 5008 15186 2015-10-27T10:32:36Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''riixid''' ===Tarjumaad=== *{{en}}: [[push]] 15186 wikitext text/x-wiki {{-so-}} ==Magac== '''riixid''' ===Tarjumaad=== *{{en}}: [[push]] 0jfy3n65baxcfjcpse6mlyclnyreds1 raqiis 0 5009 19212 17898 2017-04-28T17:29:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19212 wikitext text/x-wiki {{-so-}} == Magac == '''raqiis''' === Tarjumaad === * {{en}}: [[cheap]] 6pp9qnr78em8mdipj0xr63pm5plpyxp raqabad 0 5010 15188 2015-10-27T10:34:26Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''raqabad''' ===Tarjumaad=== *{{en}}: [[neck]] 15188 wikitext text/x-wiki {{-so-}} ==Magac== '''raqabad''' ===Tarjumaad=== *{{en}}: [[neck]] 7x7841s8d65zsjhqrbsliywtdwmg1sx rakhiis ah 0 5011 15189 2015-10-27T10:34:44Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''rakhiis ah''' ===Tarjumaad=== *{{en}}: [[cheap]] 15189 wikitext text/x-wiki {{-so-}} ==Magac== '''rakhiis ah''' ===Tarjumaad=== *{{en}}: [[cheap]] q35bii530unu1mdvxh96ih9aauhldom rajabeeto 0 5012 15190 2015-10-27T10:35:03Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''rajabeeto''' ===Tarjumaad=== *{{en}}: [[brooch]] 15190 wikitext text/x-wiki {{-so-}} ==Magac== '''rajabeeto''' ===Tarjumaad=== *{{en}}: [[brooch]] jrim79is8exxxejxk1geqwheinl2nip rabid 0 5013 19197 15631 2017-04-28T17:29:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19197 wikitext text/x-wiki {{-so-}} == Falka == '''rabid''' === Tarjumaad === * {{en}}: [[want]] 4gc1i0yn08ha3ymcwhx0yl808o30tyv raaxo leh 0 5014 15193 2015-10-27T10:36:10Z 200.130.64.1 Bog cusub: {{-so-}} ==Sifo== '''raaxo leh''' ===Tarjumaad=== *{{en}}: [[comfortable]] 15193 wikitext text/x-wiki {{-so-}} ==Sifo== '''raaxo leh''' ===Tarjumaad=== *{{en}}: [[comfortable]] nsks4pebfogsysfvgznqlfbbcl0ab3o raashin 0 5015 15194 2015-10-27T10:36:41Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''raashin''' ==Falka== '''raashin''' ===Tarjumaad=== *{{en}}: [[food]] 15194 wikitext text/x-wiki {{-so-}} ==Magac== '''raashin''' ==Falka== '''raashin''' ===Tarjumaad=== *{{en}}: [[food]] kncocx7iojnt3xywkbmwdzcwvnn8yyt raadiyo 0 5016 19195 16671 2017-04-28T17:29:04Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19195 wikitext text/x-wiki {{-so-}} == Magac == '''raadiyo''' === Tarjumaad === * {{de}}: [[Radio]] * {{en}}: [[radio]] * {{pt}}: [[radio]] pnlbabcdtzzmy1gp6dk12ge3yzq507d raacid 0 5017 15196 2015-10-27T10:37:37Z 200.130.64.1 Bog cusub: {{-so-}} ==Falka== '''raacid''' ===Tarjumaad=== *{{en}}: [[follow]] 15196 wikitext text/x-wiki {{-so-}} ==Falka== '''raacid''' ===Tarjumaad=== *{{en}}: [[follow]] 8h375af13b2c3makpavsx3p3z465v5r qurxoon 0 5018 15197 2015-10-27T10:38:10Z 200.130.64.1 Bog cusub: {{-so-}} ==Falka== '''qurxoon''' ===Tarjumaad=== *{{en}}: [[beautiful]] 15197 wikitext text/x-wiki {{-so-}} ==Falka== '''qurxoon''' ===Tarjumaad=== *{{en}}: [[beautiful]] 8swel8x633c4o24wsycpcsee80tvnv8 quruxsan 0 5019 15198 2015-10-27T10:38:33Z 200.130.64.1 Bog cusub: {{-so-}} ==Sifo== '''quruxsan''' ===Tarjumaad=== *{{en}}: [[beautiful]] 15198 wikitext text/x-wiki {{-so-}} ==Sifo== '''quruxsan''' ===Tarjumaad=== *{{en}}: [[beautiful]] bryfhk4uft5l2kmmwg8nrce7gpvfw9m qurux-badan 0 5020 15199 2015-10-27T10:38:51Z 200.130.64.1 Bog cusub: {{-so-}} ==Magac== '''qurux-badan''' ===Tarjumaad=== *{{en}}: [[beautiful]] 15199 wikitext text/x-wiki {{-so-}} ==Magac== '''qurux-badan''' ===Tarjumaad=== *{{en}}: [[beautiful]] 3xkgk9wcs7jnssjc6u7tufmitzpf8yy quraac 0 5021 19190 16656 2017-04-28T17:29:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19190 wikitext text/x-wiki {{-so-}} == Magac == '''quraac''' === Tarjumaad === * {{en}}: [[breakfast]] nqhcfb131ij6un9xodiaaeyi7pwnmys qudaar 0 5022 29527 15201 2024-08-05T03:51:50Z Girligaanshub 3150 29527 wikitext text/x-wiki {{-so-}} ==Magac== '''qudaar''' ===Tarjumaad=== *{{en}}: [[vegetable]], vegetables dc439s3m8x7926z7k4asm564u8nrhu0 qubeys 0 5023 28785 28697 2024-07-19T03:24:35Z Mtarch11 2257 Wuxuu dib u noqay badalkii oo sameeyay [[Special:Contributions/41.84.143.26|41.84.143.26]] ([[User talk:41.84.143.26|talk]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:200.130.64.1|200.130.64.1]] 15202 wikitext text/x-wiki {{-so-}} ==Magac== '''qubeys''' ==Falka== '''qubeys''' ===Tarjumaad=== *{{en}}: [[bath]] 226kv7c1ws6zc7700lt1nl8de0e2b0a bath 0 5024 18483 17576 2017-04-28T17:23:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18483 wikitext text/x-wiki {{-en-}} == Falka == '''to bath''' == Magac == '''bath''' [[qubeys]] n6ohx6wm63ta03bb4hnk33oiz0m2wk9 toothbrush 0 5025 19400 16329 2017-04-28T17:30:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19400 wikitext text/x-wiki {{-en-}} == Magac == '''[[tooth]][[brush]]''' [[rumay]] 3nxzjiuwigl604i65s56qfsbu6f0ehk brush 0 5026 18520 17769 2017-04-28T17:24:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18520 wikitext text/x-wiki {{-en-}} == Magac == '''brush''' [[burush]] bqm4sm5nlbbpc0jqeszrxcwl0yyl3j4 burush 0 5027 18524 16552 2017-04-28T17:24:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18524 wikitext text/x-wiki {{-so-}} == Magac == '''burush''' === Tarjumaad === * {{en}}: [[brush]] lx81lliguaiy5hui83one7tp6xynpoy buraashid 0 5028 15210 2015-10-27T18:45:32Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''buraashid''' 15210 wikitext text/x-wiki {{-so-}} ==Falka== '''buraashid''' oysjf8uttu3uqute58anr1ix7uq650a engeg 0 5029 29053 15211 2024-07-28T19:18:59Z Girligaanshub 3150 29053 wikitext text/x-wiki {{-so-}} ==Magac== '''engeg''' ===Tarjumaad=== *{{en}}: [[dry]], dried ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 8h62qoc35p17hbo8l9hz10gux59swmk eey 0 5030 18688 16572 2017-04-28T17:25:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18688 wikitext text/x-wiki {{-so-}} == Magac == '''eey''' === Tarjumaad === * {{en}}: [[dog]] 1u1b4rckhjajb6oldqrjspk5ucn9598 eeg 0 5031 18686 15637 2017-04-28T17:25:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18686 wikitext text/x-wiki {{-so-}} == Magac == '''eeg''' === Tarjumaad === * {{en}}: [[look]] jslcokvdm3gi7eh5iu1yg8r0wosey9h eedo 0 5032 18685 17833 2017-04-28T17:25:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18685 wikitext text/x-wiki {{-so-}} == Magac == '''eedo''' === Tarjumaad === * {{en}}: [[aunt]] 201yezc4kvi0m580oa6v0l7jl0y84u4 eber 0 5033 18683 16575 2017-04-28T17:25:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18683 wikitext text/x-wiki {{-so-}} == Sifo == '''eber''' === Tarjumaad === * {{en}}: [[zero]] eas8lcidvsa4tjcsvlks5rbqhz5oeqo hurdo ka toos 0 5034 15216 2015-10-27T18:58:03Z 179.181.113.124 Bog cusub: {{-so-}} ==Xukumay== '''hurdo ka toos''' ===Tarjumaad=== *{{en}}: [[wake up]] 15216 wikitext text/x-wiki {{-so-}} ==Xukumay== '''hurdo ka toos''' ===Tarjumaad=== *{{en}}: [[wake up]] 62q9yz04xai2nm1kwplx40j829mumqv hurdo 0 5035 18859 16599 2017-04-28T17:26:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18859 wikitext text/x-wiki {{-so-}} == Magac == '''hurdo''' === Tarjumaad === * {{en}}: [[sleep]] g3a2dccyq2s1x3sofxn1gv4ytlmx3i7 hore 0 5036 18853 17393 2017-04-28T17:26:39Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18853 wikitext text/x-wiki {{-so-}} == Magac == '''hore''' === Tarjumaad === * {{en}}: [[before]] nnnydlrhuauemyakul9vo2d0giy7t5e hooseya 0 5037 15219 2015-10-27T19:01:01Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''hooseya''' ===Tarjumaad=== *{{en}}: [[low]] 15219 wikitext text/x-wiki {{-so-}} ==Falka== '''hooseya''' ===Tarjumaad=== *{{en}}: [[low]] hhq3sdknrmb7qylqn5pzyv4n1n62cj7 hoose 0 5038 18850 15566 2017-04-28T17:26:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18850 wikitext text/x-wiki {{-so-}} == Sifo == '''hoose''' === Tarjumaad === * {{en}}: [[low]] rd3j7lz5d3n8ry753oxckgabge2pnvt hoos 0 5039 30958 18849 2024-09-28T10:37:59Z Girligaanshub 3150 30958 wikitext text/x-wiki {{-so-}} == Sifo == '''hoos''' === Tarjumaad === * {{en}}: bottom, [[down]], beneath 4sa9mnlbgozq20ixyev3j2m4t3krxf7 hees 0 5040 18831 15461 2017-04-28T17:26:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18831 wikitext text/x-wiki {{-so-}} == Magac == '''hees''' === Tarjumaad === * {{en}}: [[song]] 6gko7mr7iexvun22pkjixxcy2a7qvw1 hee 0 5041 18830 15460 2017-04-28T17:26:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18830 wikitext text/x-wiki {{-so-}} == Fal-kaab == '''hee''' === Tarjumaad === * {{en}}: [[yes]] q8l58y9ngucgqnh8bghyha2winj2xti haye 0 5042 18829 16603 2017-04-28T17:26:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18829 wikitext text/x-wiki {{-so-}} == Fal-kaab == '''haye''' === Tarjumaad === * {{en}}: [[hello]], [[yes]] 7f6umdx12n6l01e3qz84gtlmtp9e4nw hay 0 5043 18828 15810 2017-04-28T17:26:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18828 wikitext text/x-wiki {{-so-}} == Falka == '''hay''' === Tarjumaad === * {{en}}: [[keep]] {{-es-}} == Fal-kaab == '''hay''' a5vjinp34u8ge9o0h35l5nm8upbr9ya hawl yar 0 5044 15226 2015-10-27T19:12:44Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''hawl yar''' ===Tarjumaad=== *{{en}}: [[easy]] 15226 wikitext text/x-wiki {{-so-}} ==Falka== '''hawl yar''' ===Tarjumaad=== *{{en}}: [[easy]] fstui7gu9wjslspoauvh8gqh5a4uuxn hawada 0 5045 15227 2015-10-27T19:13:06Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''hawada''' ===Tarjumaad=== *{{en}}: [[weather]] 15227 wikitext text/x-wiki {{-so-}} ==Magac== '''hawada''' ===Tarjumaad=== *{{en}}: [[weather]] l8czho9ridwsx1p5ep5r4kju4dzg3oq harraad 0 5046 20012 18825 2018-10-27T13:02:49Z Sakiinlaq 1889 20012 wikitext text/x-wiki ==soomaali== === Magac === '''harraad''' # Waa baahida noole, xaywaan ama dad ay u qabaan qaadasha biyo ama cibitaan. U baahnaano cabid. #: Haraad ayaa uu la socon karin. #: ''sammi'': oon === Tarjumaad === * {{en}}: [[thirsty]] r10uu9vom69qnajvmhyvl35htupmb11 haro 0 5047 26520 26519 2024-01-06T06:45:46Z Girligaanshub 3150 26520 wikitext text/x-wiki {{-so-}} ==Xukumay== '''haro''' ===Tarjumaad=== *{{en}}: omit, exclude *{{en}}: [[lake]], pond cjsx9axl9zwhf4n5ofsv4unyxzfm1p7 harag 0 5048 29590 23629 2024-08-06T15:26:36Z Girligaanshub 3150 29590 wikitext text/x-wiki {{-so-}} == Magac == '''harag''' === Tarjumaad === * {{en}}: [[leather]], cattle skin ===Synonyms=== *[[saan]], [[sar]], [[harag]], [[maqaar]] 27ys3e9vpqj49eju4ae7xryishz8d8l hanaqaad 0 5049 28653 25800 2024-07-01T15:08:43Z Girligaanshub 3150 28653 wikitext text/x-wiki {{-so-}} ==Magac== '''hanaqaad''' ===Tarjumaad=== *{{en}}: develop, adulting, maturing, mature, develop, development, advance, progress, prosper, g3eh7p2jrjf6craqdujgv0aox6g7v11 halkan 0 5050 18820 16591 2017-04-28T17:26:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18820 wikitext text/x-wiki {{-so-}} == Falka == '''halkan''' === Tarjumaad === * {{en}}: [[here]] 1u2ujprc53k679z38z8vdlyqp16l2iq halkaas 0 5051 18819 16592 2017-04-28T17:26:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18819 wikitext text/x-wiki {{-so-}} == Sifo == '''halkaas''' === Tarjumaad === * {{en}}: [[there]] fl1k3xarsq3wulmnk24przfespr8dae hal mar 0 5052 15234 2015-10-27T19:17:02Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''hal mar''' ===Tarjumaad=== *{{en}}: [[once]] 15234 wikitext text/x-wiki {{-so-}} ==Magac== '''hal mar''' ===Tarjumaad=== *{{en}}: [[once]] neuopi9m8olrfmtk4oam0bwchz12c3v ha yeshe 0 5053 15235 2015-10-27T19:17:34Z 179.181.113.124 Bog cusub: {{-so-}} ==Fal-kaab== '''ha yeshe''' ===Tarjumaad=== *{{en}}: [[but]] 15235 wikitext text/x-wiki {{-so-}} ==Fal-kaab== '''ha yeshe''' ===Tarjumaad=== *{{en}}: [[but]] fc45w29n6xduqm2c32w5kkgy2h1p5pp haddii 0 5054 18815 16594 2017-04-28T17:26:24Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18815 wikitext text/x-wiki {{-so-}} == Fal-kaab == '''haddii''' === Tarjumaad === * {{en}}: [[if]] 6ehiv4w2aes4jke7wxifnu7993050lb hadal la 'aan 0 5055 15237 2015-10-27T19:19:10Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''hadal la 'aan''' ===Tarjumaad=== *{{en}}: [[quiet]] 15237 wikitext text/x-wiki {{-so-}} ==Falka== '''hadal la 'aan''' ===Tarjumaad=== *{{en}}: [[quiet]] 5mfgpfv9qt7vnguepj7a5rq230twkrn hadal 0 5056 18813 16227 2017-04-28T17:26:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18813 wikitext text/x-wiki {{-so-}} == Magac == '''hadal''' === Tarjumaad === * {{en}}: [[speak]] 4ggyj5tcwgw3nbkdxv35qwd6urfxvoj had iyo jeer 0 5057 15239 2015-10-27T19:19:50Z 179.181.113.124 Bog cusub: {{-so-}} ==Xukumay== '''had iyo jeer''' ===Tarjumaad=== *{{en}}: [[always]] 15239 wikitext text/x-wiki {{-so-}} ==Xukumay== '''had iyo jeer''' ===Tarjumaad=== *{{en}}: [[always]] rrp8vta4hg81jm755b8onwiwqblkhub habeenbadh 0 5058 32358 15240 2024-11-10T15:31:05Z Girligaanshub 3150 32358 wikitext text/x-wiki {{-so-}} ==Sifo== '''habeenbadh''' ===Tarjumaad=== *{{en}}: [[midnight]] ===Synonyms=== *[[mir]], [[habeenbadh]], [[hiraab]], [[saqda dhexe]] edfb8qdezhqsh34cijg0zaqs0od8wjd habar-yar 0 5059 18811 16595 2017-04-28T17:26:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18811 wikitext text/x-wiki {{-so-}} == Magac == '''habar-yar''' === Tarjumaad === * {{en}}: [[aunt]] n920g5bcvl9on8s7ns7p2bd263gn7gx haa 0 5060 18810 17719 2017-04-28T17:26:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18810 wikitext text/x-wiki {{-so-}} == Fal-kaab == '''haa''' === Tarjumaad === * {{en}}: [[yes]] l7stqpha652t7ijzhnt11werxls79wr axad 0 5061 24992 18457 2023-09-21T17:33:53Z Girligaanshub 3150 24992 wikitext text/x-wiki {{-so-}} == Magac == '''axad''' === Tarjumaad === * {{en}}: [[Sunday]], person, * {{tr}}: [[pazar]] 986y8fcgxa32rw2jvwjeeh1wl90k1sn bariis 0 5062 18482 18188 2017-04-28T17:23:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18482 wikitext text/x-wiki {{-so-}} == Magac == '''bariis''' === Tarjumaad === * {{de}}: [[Reis]] * {{en}}: [[rice]] * {{pt}}: [[arroz]] rsdhze692or8vq3tvzr0t88v29gb7ss bari 0 5063 31007 31006 2024-09-30T14:06:25Z Girligaanshub 3150 31007 wikitext text/x-wiki {{-so-}} == Magac == '''bari''' ===Etymology=== *[[baryo]] + deity Ra * ib (heart) + deity Ra === Tarjumaad === * {{en}}: tomorrow * {{en}}: east * {{en}}: pray * {{en}}: fat tail of Somali sheep * {{en}}: once upon a time, once, onetime, in bygone days, before, formerly, ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] 0h794dsu0aqjk0saz32exmg45soh2gj bare 0 5064 30891 30890 2024-09-23T04:09:11Z Girligaanshub 3150 /* Synonyms */ 30891 wikitext text/x-wiki {{-so-}} ==Magac== '''bare''' === Tarjumaad === * {{en}}: [[teacher]] * {{en}}: God's rain ===Synonyms=== *[[bare]], [[macalin]], [[ustaad]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]] rmo2u31xfh1ruu7t50hvnggmddehmpk baabuur 0 5065 18464 16545 2017-04-28T17:23:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18464 wikitext text/x-wiki {{-so-}} == Magac == '''baabuur''' === Tarjumaad === * {{de}}: [[Wagen]] * {{en}}: [[car]] * {{es}}: [[carro]] i9p9cgvdwrp5xaoomwqczqmrq61jttf baahana-hay 0 5066 15250 2015-10-28T00:25:58Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''baahana-hay''' ===Tarjumaad=== *{{en}}: [[hungry]] 15250 wikitext text/x-wiki {{-so-}} ==Magac== '''baahana-hay''' ===Tarjumaad=== *{{en}}: [[hungry]] hgaaxxhkdc315jehs458cepphtj3fml baan 0 5067 21116 21115 2022-03-29T23:13:28Z Girligaanshub 3150 Changed redirect target from [[Baano]] to [[baano]] 21116 wikitext text/x-wiki #redirect [[baano]] sdl989d4799gdxt1vk6dmo7izessl8e baaxad leh 0 5068 15252 2015-10-28T00:28:26Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''baaxad leh''' ===Tarjumaad=== *{{en}}: [[large]] 15252 wikitext text/x-wiki {{-so-}} ==Falka== '''baaxad leh''' ===Tarjumaad=== *{{en}}: [[large]] e5np87ccsnj5bo4i32c67v9qdq8c7jr badan 0 5069 18469 15408 2017-04-28T17:23:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18469 wikitext text/x-wiki {{-so-}} == Magac == '''badan''' == Fal-kaab == '''badan''' === Tarjumaad === * {{en}}: [[more]] kbz2xfw18w7t2btbm5mpnfatd7vwrrv badweyn 0 5070 32798 25011 2024-12-01T18:15:19Z ВМНС 5070 32798 wikitext text/x-wiki {{-so-}} ==Magac== '''bad-weyn''' ===Tarjumaad=== *{{en}}: [[ocean]] [[Category:Soomaali ereyada-ba]] g8gtxdh4sxj3mmid7uvtcxdnjqno8ex balan-qaadid 0 5071 15255 2015-10-28T00:29:26Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''balan-qaadid''' ===Tarjumaad=== *{{en}}: [[promise]] 15255 wikitext text/x-wiki {{-so-}} ==Magac== '''balan-qaadid''' ===Tarjumaad=== *{{en}}: [[promise]] kjvykaox1uf6dbeyof9gytiokapjn5e baraf 0 5072 18479 17802 2017-04-28T17:23:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18479 wikitext text/x-wiki {{-so-}} == Magac == '''baraf''' === Tarjumaad === * {{de}}: [[Ei]] * {{en}}: [[ice]] * {{es}}: [[hielo]] * {{pt}}: [[gelo]] quw314xfw9cawwc2varcf4hl9a9c4mi bakaar 0 5073 29904 29902 2024-08-14T05:00:32Z Girligaanshub 3150 29904 wikitext text/x-wiki {{-so-}} ==Magac== '''baqaar''' ===Tarjumaad=== *{{en}}: [[store]], storehouse, storage, ehzst0u94xrwjh3zq5rz89dpviv5qdp ballaran 0 5074 18472 18208 2017-04-28T17:23:54Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18472 wikitext text/x-wiki {{-so-}} == Magac == '''ballaran''' === Tarjumaad === * {{en}}: [[large]] krx9ilu8b9ku4z802fjtcqdltq7hmbg bangi 0 5075 18476 17023 2017-04-28T17:23:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18476 wikitext text/x-wiki {{-so-}} == Sifo == '''bangi''' === Tarjumaad === * {{en}}: [[bank]] nqgh7w2unbno66x7fg0k7c30b8b9psu bangiga 0 5076 18477 16541 2017-04-28T17:23:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18477 wikitext text/x-wiki {{-so-}} == Falka == '''bangiga''' === Tarjumaad === * {{en}}: [[bank]] r7p3mt1x7f8nir3qyfkapt70nuznpqq barasho 0 5077 15262 2015-10-28T00:33:02Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''barasho''' ===Tarjumaad=== *{{en}}: [[study]], [[teach]], [[learn]] 15262 wikitext text/x-wiki {{-so-}} ==Magac== '''barasho''' ===Tarjumaad=== *{{en}}: [[study]], [[teach]], [[learn]] ewiu5lu4kepruaf7qf9f6ckzmh1m834 neighbor 0 5078 19061 16282 2017-04-28T17:28:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19061 wikitext text/x-wiki {{-en-}} === Magac === '''neighbor''' [[jaar]] 4ger030whk34x2l8v8fk0xth7cdsepl jacayl 0 5079 18898 16611 2017-04-28T17:26:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18898 wikitext text/x-wiki {{-so-}} == Magac == '''jacayl''' === Tarjumaad === * {{en}}: [[love]] * {{pt}}: [[amor]] 6k3wip7e7hdk4wgfey563ntbmqpf2ec jaclahay 0 5080 15266 2015-10-28T00:39:32Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''jaclahay''' ===Tarjumaad=== *{{en}}: [[like]] 15266 wikitext text/x-wiki {{-so-}} ==Magac== '''jaclahay''' ===Tarjumaad=== *{{en}}: [[like]] kkcm9ym1p89rfj50xq7bw7gctg4ekcq jaban 0 5081 18897 18172 2017-04-28T17:26:58Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18897 wikitext text/x-wiki {{-so-}} == Magac == '''jaban''' === Tarjumaad === * {{en}}: [[cheap]] qbnqqcet8c0ks6sun0g68q5ktvh06h9 jaranjaro 0 5082 15268 2015-10-28T00:40:14Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''jaranjaro''' ===Tarjumaad=== *{{en}}: [[stairs]] 15268 wikitext text/x-wiki {{-so-}} ==Magac== '''jaranjaro''' ===Tarjumaad=== *{{en}}: [[stairs]] dwbp6krvp0opfjq6aa0kn4id6r668f9 jariidad 0 5083 15270 2015-10-28T00:42:50Z 179.181.113.124 Bog cusub: {{-so-}} ===Magac=== '''jariidad''' ===Tarjumaad=== *{{en}}: [[newspaper]] *{{pt}}: [[jornal]] 15270 wikitext text/x-wiki {{-so-}} ===Magac=== '''jariidad''' ===Tarjumaad=== *{{en}}: [[newspaper]] *{{pt}}: [[jornal]] sq7ilaewbc8nra88mdynhgt6fe3lcd9 jawaab 0 5084 18905 18019 2017-04-28T17:27:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18905 wikitext text/x-wiki {{-so-}} == Magac == '''jawaab''' === Tarjumaad === * {{en}}: [[answer]] r9n6wtolw7l5s02pi9ng58pgeuk3wzr jawiga 0 5085 15272 2015-10-28T00:45:38Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''jawiga''' ===Tarjumaad=== *{{en}}: [[weather]] 15272 wikitext text/x-wiki {{-so-}} ==Falka== '''jawiga''' ===Tarjumaad=== *{{en}}: [[weather]] dpv9mdmloude2w8mmqe60fna7hl6mby jeceel 0 5086 15273 2015-10-28T00:46:11Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''jeceel''' ===Tarjumaad=== *{{en}}: [[love]] 15273 wikitext text/x-wiki {{-so-}} ==Magac== '''jeceel''' ===Tarjumaad=== *{{en}}: [[love]] bevy5gc1f9ufocksmwnlljuwmdrhidp jeebka 0 5087 15274 2015-10-28T00:46:32Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''jeebka''' ===Tarjumaad=== *{{en}}: [[pocket]] 15274 wikitext text/x-wiki {{-so-}} ==Falka== '''jeebka''' ===Tarjumaad=== *{{en}}: [[pocket]] sauylnyn0jpid80q98z5s78kersx4k6 jeeq 0 5088 15275 2015-10-28T00:46:35Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''jeeq''' ===Tarjumaad=== *{{pt}}: [[cheque]] 15275 wikitext text/x-wiki {{-so-}} ==Magac== '''jeeq''' ===Tarjumaad=== *{{pt}}: [[cheque]] 5yv1dj5halclunssng330h0my2wrlyg jerdiin 0 5089 15276 2015-10-28T00:48:29Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''jerdiin''' ===Tarjumaad=== *{{en}}: [[garden]] *{{pt}}: [[jardim]] 15276 wikitext text/x-wiki {{-so-}} ==Magac== '''jerdiin''' ===Tarjumaad=== *{{en}}: [[garden]] *{{pt}}: [[jardim]] 7c4dj8v0eg8zfxr6c2w4wtcjrsb7by4 jodari 0 5090 18908 17573 2017-04-28T17:27:02Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18908 wikitext text/x-wiki {{-so-}} == Magac == '''jodari''' === Tarjumaad === * {{en}}: [[mattress]] anrvf2pm07bzasn8izbzn7yw222476l joojin 0 5091 15278 2015-10-28T00:51:24Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''joojin''' ===Tarjumaad=== *{{en}}: [[stop]] 15278 wikitext text/x-wiki {{-so-}} ==Magac== '''joojin''' ===Tarjumaad=== *{{en}}: [[stop]] ks9rntoeay9mn3o9c3flzlah2y13rxd ka 0 5092 18919 16486 2017-04-28T17:27:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18919 wikitext text/x-wiki {{-so-}} == Fal-kaab == '''ka''' === Tarjumaad === * {{en}}: [[from]] {{-tl-}} == Fal-kaab == '''ka''' 1sr1057joj3dsnzodtgueexwoobywjh joornal 0 5093 15280 2015-10-28T00:52:51Z 179.181.113.124 Bog cusub: {{-so-}} ==Magac== '''joornal''' ===Tarjumaad=== *{{en}}: [[newspaper]] 15280 wikitext text/x-wiki {{-so-}} ==Magac== '''joornal''' ===Tarjumaad=== *{{en}}: [[newspaper]] ln9ebtkdq6b22t5ularb09mr0r881b1 jiro 0 5094 18907 16607 2017-04-28T17:27:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18907 wikitext text/x-wiki {{-so-}} == Magac == '''jiro''' === Tarjumaad === * {{en}}: [[sick]] tjhnnej54ya1zz46bpdxi53gampv9a4 sick 0 5095 19295 18096 2017-04-28T17:29:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19295 wikitext text/x-wiki {{-en-}} === Falka === '''sick''' [[jiro]] 3uni3z4qv73r0vgwi46n709zrcq087n jirka oo kululaado 0 5096 15283 2015-10-28T00:54:28Z 179.181.113.124 Bog cusub: {{-so-}} ==Xurumay== '''[[jirka]] [[oo]] [[kululaado]]''' 15283 wikitext text/x-wiki {{-so-}} ==Xurumay== '''[[jirka]] [[oo]] [[kululaado]]''' 5rkytvrhd13ueceb7cetf7dszvf8tdu garfeedh 0 5097 25734 15284 2023-11-05T15:25:01Z Girligaanshub 3150 Girligaanshub moved page [[feedh]] to [[garfeedh]] 15284 wikitext text/x-wiki {{-so-}} ===Magac=== '''feedh''' ===Tarjumaad=== *{{en}}: [[comb]] 0zqnyjsiwvzbm9e8i7mx3t10fjq7kgz faynuus 0 5098 18748 18257 2017-04-28T17:25:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18748 wikitext text/x-wiki {{-so-}} == Magac == '''faynuus''' === Tarjumaad === * {{en}}: [[lamp]] 2wpks4ia1bqjc4fr731m41nj754vfuz fatuurad 0 5099 15286 2015-10-28T01:17:46Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''fatuurad''' ===Tarjumaad=== *{{en}}: [[car]] 15286 wikitext text/x-wiki {{-so-}} ==Falka== '''fatuurad''' ===Tarjumaad=== *{{en}}: [[car]] mij263rzwnxgwh3uszjoiqq42jpwkfb fasal 0 5100 32199 31737 2024-11-01T18:10:52Z Girligaanshub 3150 32199 wikitext text/x-wiki {{-so-}} == Falka == '''fasal''' === Tarjumaad === * {{en}}: [[class]] ===Synonyms=== *[[fasal]], [[cashar]], [[kuliyad]], [[dhigasho]] g9xbzi499z1rmy6j8p0wnevk70wqt5z fekar 0 5101 15288 2015-10-28T01:19:52Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''fekar''' ===Tarjumaad=== *{{en}}: [[think]] 15288 wikitext text/x-wiki {{-so-}} ==Falka== '''fekar''' ===Tarjumaad=== *{{en}}: [[think]] pqhhwuae8s3eyj2srbd71m386q5kfai think 0 5102 19383 16704 2017-04-28T17:30:20Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19383 wikitext text/x-wiki {{-en-}} == Falka == '''think''' [[fekar]] ftle1iu0i33nbsb7rqrqwl3a2crdbu0 ziib 0 5103 15290 2015-10-28T01:20:59Z 179.181.113.124 Bog cusub: {{-so-}} ==Falka== '''ziib''' ===Tarjumaad=== *{{pt}}: [[ziper]] 15290 wikitext text/x-wiki {{-so-}} ==Falka== '''ziib''' ===Tarjumaad=== *{{pt}}: [[ziper]] gr1wdoleofrped6sfzresvsrbo2ml72 yaanyo 0 5104 24204 24202 2023-08-09T23:11:28Z Girligaanshub 3150 24204 wikitext text/x-wiki {{-so-}} ==Magac== '''yaanyo''' ===Tarjumaad=== *{{en}}: [[tomato]] ovooyc9cmse3airp7rkmp331kt29l50 yar 0 5105 19485 15394 2017-04-28T17:31:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19485 wikitext text/x-wiki {{-so-}} == Falka == '''yar''' === Tarjumaad === * {{en}}: [[small]], [[less]], [[young]] 54wbn57fmy3g7e6soxwrpc795wg7cn6 comb 0 5106 18584 15388 2017-04-28T17:24:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18584 wikitext text/x-wiki {{-en-}} == Magac == '''comb''' [[feedh]] 3xfboc6o1f6qo62uwak6zm0ogjism8d garden 0 5107 18789 15878 2017-04-28T17:26:13Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18789 wikitext text/x-wiki {{-en-}} == Magac == '''garden''' [[jerdiin‎]] obx73kgc59437dfyors7pa1nbpz3ytz jardim 0 5108 18901 18017 2017-04-28T17:26:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18901 wikitext text/x-wiki {{-pt-}} == Magac == '''jardim''' [[jerdiin‎]] 9xhgm33vsa49jxp5v5qdoj6gz40ln7b stop 0 5109 19331 17932 2017-04-28T17:29:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19331 wikitext text/x-wiki {{-en-}} == Falka == '''stop''' [[joojin‎]] rdym3vk56zk1a6l7d0xfcyggue8irm5 mattress 0 5110 19020 17203 2017-04-28T17:27:47Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19020 wikitext text/x-wiki {{-en-}} == Magac == '''mattress''' [[jodari‎]] j3mzu73y0h1e2wp5l37c1jlh4ncznlt from 0 5111 18782 17323 2017-04-28T17:26:10Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18782 wikitext text/x-wiki {{-en-}} == Fal-kaab == '''from''' [[ka]] p1scrs9spu5jod3jjlyfsjx0kj4hy8r love 0 5112 18993 17522 2017-04-28T17:27:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18993 wikitext text/x-wiki {{-en-}} == Magac == '''love''' [[jeceel]], [[jacayl]] 0mrehkhr4hovclxfdumvh1it04u7x30 pocket 0 5113 19150 17750 2017-04-28T17:28:44Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19150 wikitext text/x-wiki {{-en-}} == Magac == '''pocket''' [[jeebka‎]] mrdzr2qv72azku98cu2ewm5pfydir95 weather 0 5114 19469 16011 2017-04-28T17:30:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19469 wikitext text/x-wiki {{-en-}} == Magac == '''weather''' [[jawiga]] inapo0kpxtcair3rnp9183842ge3kb4 answer 0 5115 18433 16897 2017-04-28T17:23:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18433 wikitext text/x-wiki {{-en-}} == Magac == '''answer''' [[jawaab]] bvn3kg3tdnlz7qlchb9s54etjdqfmib bank 0 5116 18478 18138 2017-04-28T17:23:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18478 wikitext text/x-wiki {{-en-}} == Magac == '''bank''' [[ballaran]] {{-crh-}} == Magac == '''bank''' [[ballaran]] {{-da-}} == Magac == '''bank''' [[ballaran]] {{-nl-}} == Magac == '''bank''' [[ballaran]] {{-hu-}} == Magac == '''bank''' [[ballaran]] {{-mt-}} == Magac == '''bank''' [[ballaran]] {{-no-}} == Magac == '''bank''' [[ballaran]] {{-pl-}} == Magac == '''bank''' [[ballaran]] {{-sl-}} == Magac == '''bank''' [[ballaran]] {{-sv-}} == Magac == '''bank''' [[ballaran]] {{-tr-}} == Magac == '''bank''' [[ballaran]] {{-vo-}} == Magac == '''bank''' [[ballaran]] 6j7l4mqy7fzpl40zo6o6si0xy9f0n6g Bank 0 5117 18272 17253 2017-04-28T17:22:18Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18272 wikitext text/x-wiki {{-de-}} == Magac == '''Bank''' [[ballaran]] {{-lb-}} == Magac == '''Bank''' [[ballaran]] jx16s7blvr5z5vrge1zmciof5k3jj6i teacher 0 5118 19360 16691 2017-04-28T17:30:11Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19360 wikitext text/x-wiki {{-en-}} == Magac == '''teacher''' [[bare]] r5gct4e2qf1b95hb2jql78m6ioegzag store 0 5119 19332 16253 2017-04-28T17:29:59Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19332 wikitext text/x-wiki {{-en-}} == Magac == '''store''' [[baqaar]] r5ekd843y85n1wxw55uwgalpwts5j65 amor 0 5120 18419 17017 2017-04-28T17:23:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18419 wikitext text/x-wiki {{-es-}} == Magac == '''amor''' [[jeceel]], [[jacayl]] {{-pt-}} == Magac == '''amor''' [[jeceel]], [[jacayl]] {{-ro-}} == Magac == '''amor''' [[jeclahay]] o7z7ubjq4kmn43id2xi82z77wwey0bb jeclahay 0 5121 15314 2015-10-28T22:38:36Z 177.43.16.148 Bog cusub: {{-so-}} ==Magac== '''jeclahay''' ===Tarjumaad=== *{{en}}: [[mulberry]] *{{pt}}: [[amora]] *{{ro}}: [[amor]] 15314 wikitext text/x-wiki {{-so-}} ==Magac== '''jeclahay''' ===Tarjumaad=== *{{en}}: [[mulberry]] *{{pt}}: [[amora]] *{{ro}}: [[amor]] ksjsvsnim62ix98p2byx2b4yo3fe0k4 mulberry 0 5122 19051 18124 2017-04-28T17:28:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19051 wikitext text/x-wiki {{-en-}} == Magac == '''mulberry''' [[jeclahay]] 415lkm3gbnt5kw30e5z78js3ampnpb8 amora 0 5123 18420 16534 2017-04-28T17:23:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18420 wikitext text/x-wiki {{-pt-}} == Magac == '''amora''' [[bukaa]], [[sukamin]] gx7xo5ilae9cnw70sy0dzl8ryols5oe amendoim 0 5124 18418 15540 2017-04-28T17:23:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18418 wikitext text/x-wiki {{-pt-}} == Magac == '''ameindoim''' [[loos]] c1x7ru281e0o09aci64q3bxsewr3xlz peanut 0 5125 19134 17881 2017-04-28T17:28:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19134 wikitext text/x-wiki {{-en-}} == Magac == '''peanut''' [[loos]] 9yax5865lyjv5hq9y6yjmnu5v8kriok yeryongʻoq 0 5126 15319 2015-10-28T22:47:26Z 177.43.16.148 Bog cusub: {{-uz-}} ==Magac== '''yeryongʻoq''' [[loos]] 15319 wikitext text/x-wiki {{-uz-}} ==Magac== '''yeryongʻoq''' [[loos]] oc6601661qbvmea19wy0s187vxy8aud レモン 0 5127 15321 2015-10-28T22:53:50Z 177.43.16.148 Bog cusub: {{-ja-}} ==Magac== '''レモン''' [[liin]] 15321 wikitext text/x-wiki {{-ja-}} ==Magac== '''レモン''' [[liin]] pr9kwslj0mcv9yq0eu32s3ev4w2kbs8 柠檬 0 5128 15322 2015-10-28T22:53:53Z 177.43.16.148 Bog cusub: {{-zh-}} ==Magac== '''柠檬''' [[liin]] 15322 wikitext text/x-wiki {{-zh-}} ==Magac== '''柠檬''' [[liin]] h5wmlcywea0pzur696kolm5zev7z9fi limau 0 5129 18976 16242 2017-04-28T17:27:30Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18976 wikitext text/x-wiki {{-ms-}} == Magac == '''limau''' [[liin]] 5ftntpkochrt4dd0z4zq9fwmzgx301c citroen 0 5130 18571 18028 2017-04-28T17:24:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18571 wikitext text/x-wiki {{-nl-}} == Magac == '''citroen''' [[liin]] 4mk129di3qgu437wit0fxxnyznol8um citrus 0 5131 18573 18029 2017-04-28T17:24:42Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18573 wikitext text/x-wiki {{-la-}} == Magac == '''citrus''' [[liin]] 2tv9buz3n4e1rgvj9mvqs1v38jenbqd citron 0 5132 18572 17279 2017-04-28T17:24:41Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18572 wikitext text/x-wiki {{-fr-}} == Magac == '''citron''' [[liin]] epjo37kxgp1c5xrciprp5zdaksvnc3v sítrónu 0 5133 15327 2015-10-28T22:56:18Z 177.43.16.148 Bog cusub: {{-is-}} ==Magac== '''sítrónu''' [[liin]] 15327 wikitext text/x-wiki {{-is-}} ==Magac== '''sítrónu''' [[liin]] 3hakxlkleo8kjql3ix5lj8yu07o79b3 Zitrone 0 5134 18369 18212 2017-04-28T17:23:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18369 wikitext text/x-wiki {{-de-}} == Magac == '''Zitrone''' [[liin]] h6764qmuygma0kygl9sq5t48s1lb424 jeruk nipis 0 5135 15329 2015-10-28T22:56:52Z 177.43.16.148 Bog cusub: {{-id-}} ==Magac== '''jeruk nipis''' [[liin]] 15329 wikitext text/x-wiki {{-id-}} ==Magac== '''jeruk nipis''' [[liin]] 8pmmvti08tqwpozdodn6ai7ms45j2n2 лимон 0 5136 19584 16739 2017-04-28T17:31:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19584 wikitext text/x-wiki {{-bg-}} == Magac == '''лимон''' [[liin]] {{-mk-}} == Magac == '''лимон''' [[liin]] {{-ky-}} == Magac == '''лимон''' [[liin]] {{-ru-}} == Magac == '''лимон''' [[liin]] kna1szyo3zusozeih8ym1c6l9uxyf9g User:Hahc21 2 5144 15704 2015-12-30T19:05:29Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21]] to [[User:Razr Nation]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15704 wikitext text/x-wiki #REDIRECT [[User:Razr Nation]] i0eb6g64n60s7lf18r5a718uy77jfgh User:Hahc21/common.css 2 5145 15706 2015-12-30T19:05:56Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21/common.css]] to [[User:Razr Nation/common.css]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15706 css text/css /* #REDIRECT */@import url(//so.wiktionary.org/w/index.php?title=User:Razr_Nation/common.css&action=raw&ctype=text/css); 7hiwcvo3cjo39hm9o5r892nlo0f8uuz User:Hahc21/common.js 2 5146 15708 2015-12-30T19:05:56Z Steinsplitter 910 Steinsplitter moved page [[User:Hahc21/common.js]] to [[User:Razr Nation/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Hahc21|Hahc21]]" to "[[Special:CentralAuth/Razr Nation|Razr Nation]]" 15708 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:Razr_Nation/common.js\u0026action=raw\u0026ctype=text/javascript"); 7c78z230xciqohs80wxlyj6zke03ozh radiate 0 5147 19199 17432 2017-04-28T17:29:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19199 wikitext text/x-wiki {{-en-}} === Magac === '''radiate''' kqqutxoa8pxragtivtqcz4dk5o5hf61 radiation 0 5148 19200 15948 2017-04-28T17:29:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19200 wikitext text/x-wiki {{-en-}} === Magac === '''radiation''' {{-fr-}} === Magac === '''radiation''' i1nxy3p2h42ckutdarshts7u73pknxv radiator 0 5149 19201 17431 2017-04-28T17:29:06Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19201 wikitext text/x-wiki {{-en-}} === Magac === '''radiator''' {{-ro-}} === Magac === '''radiator''' jjb7oea3srm4eadub6lrumlzcizyyb8 radius 0 5150 19207 18009 2017-04-28T17:29:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19207 wikitext text/x-wiki {{-en-}} === Magac === '''radius''' [[raadiyaha]] ri3m5l5e00qug4xpi48b50ty8dtmqvj irradiate 0 5151 18886 16234 2017-04-28T17:26:53Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18886 wikitext text/x-wiki {{-en-}} === Magac === '''irradiate''' kxla3vk7q9lkpdrvwspi7pcd7siru9o radiogolf 0 5152 19203 17619 2017-04-28T17:29:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19203 wikitext text/x-wiki {{-nl-}} === Magac === '''radiogolf''' [[raadiyaha]] fldo82dhnagj43q56z13mhlcgkz9hi6 radioodbiornik 0 5153 19204 16667 2017-04-28T17:29:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19204 wikitext text/x-wiki {{-pl-}} === Magac === '''radioodbiornik''' [[raadiyaha]] q6n5lfr9q83zwev6iiey3hcnp9zi1oi radiostacja 0 5154 19205 16666 2017-04-28T17:29:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19205 wikitext text/x-wiki {{-pl-}} === Magac === '''radiostacja''' [[raadiyaha]] nb7le4sam77uxn65hee20dwnhdav566 rozgłośnia 0 5155 15729 2015-12-31T14:52:56Z 179.181.117.130 Bog cusub: {{-pl-}} ===Magac=== '''rozgłośnia''' [[raadiyaha]] 15729 wikitext text/x-wiki {{-pl-}} ===Magac=== '''rozgłośnia''' [[raadiyaha]] 4o8n2du1wwyhpfcdgmz7vi6vr4xlaqx radium 0 5156 19206 17896 2017-04-28T17:29:09Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19206 wikitext text/x-wiki {{-la-}} === Magac === '''radium''' [[raadiyaha]] rfaokj7674fotybfofnkbhxt3ry63ts emit 0 5157 18702 17281 2017-04-28T17:25:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18702 wikitext text/x-wiki {{-en-}} === Magac === '''emit''' === Falka === '''emit''' onpk94at367ngy58p5r0sma4mmsc5f3 contribution 0 5158 18587 17212 2017-04-28T17:24:48Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18587 wikitext text/x-wiki {{-en-}} === Magac === '''contribution''' [[tabarruc]] qsd052os9keinq6obslt2933wmrrh61 ağustos 0 5161 18462 15859 2017-04-28T17:23:51Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18462 wikitext text/x-wiki {{-tr-}} === Magac === '''ağustos''' # [[agoosto]] h50rf9w33k1ur7oetq54njry2b1dp60 User talk:182.70.94.215 3 5162 15875 2016-03-14T11:07:57Z 182.70.94.215 Bog cusub: Where does one go? We ask this question again and again, if we an evening, a weekend or just a few hours have free time again. But where? Just for 30+ is good advice sometimes almost... 15875 wikitext text/x-wiki Where does one go? We ask this question again and again, if we an evening, a weekend or just a few hours have free time again. But where? Just for 30+ is good advice sometimes almost impossible to get, and you just go back to where you're always gone. But we would not be some variety? The answer is the portal where you go hin.ch. We help our visitors in all of Switzerland, come to a decision where they can go out in the moment when they have the time and inclination. "Where to go hin.ch" brand and web address at the same time and target group. If the advertiser has special occasions, it can choose "Top of the Week" and appears with his rise to seven days very prominently on the home page. In addition to the highlights of the week "Top Of The Week", the visitor from the categories of restaurants, bars, nights, Arts & Culture, concerts, sporting Select & Leisure, club events and within these themes, specific regional cuisine, by genre or type of event . Of course also includes a sorting by region, date and keyword, as well as a customer-rating them. For More Information Visit - [http://www.wogehtmanhin.ch/ Das Schweizer Ausgeh- und Veranstaltungsportal] aln1vwfoo63pvcgnad6wju371qj6cf9 Template:process/documentation 10 5164 16037 16036 2016-04-07T16:42:04Z Dalmo Pereira 1417 16037 wikitext text/x-wiki {{documentation subpage}} <includeonly>{{rfd}}</includeonly> <!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> ===Isticmaalka=== Kanu qaabka waa shuqulkii ah in geeddi-socodka. Waxaa loogu talagalay in loo isticmaalo in ku dhow codsiyada in ka-up nadiif ah iyo geedi socodka xaqiijinta. Waxay qaadataa dhimaya a kaas oo ah magaca qaabka natiijada, sida [[Template:rfv-passed|rfv-maray]]. qaabka Natiijadan ayaa waxaa loo isticmaalaa bogga hadal haddii maqaalka jira. Waxaa intaasi dheer oo qaadataa tiro aan la cayimin qalamida ikhtiyaar ah oo waa in jaantus la maray by robot archiving ah. <includeonly> <!-- CATEGORIES AND INTERWIKIS HERE, THANKS --> [[Category:Templates]] </includeonly> f4fm87pwzvnf4lsk7y9hgeakgi9hsos User:Pinus 2 5167 21002 16043 2022-02-21T04:24:28Z EmausBot 1865 Bot: Dib u Sixidda qaldantay waxaa loo wareejiyey Bog kale [[User:Prenn (usurped 2)]] 21002 wikitext text/x-wiki #REDIRECT [[User:Prenn (usurped 2)]] dx9yb3rj1youixe10y1uj4xvlhra866 User:Riley Huntley 2 5170 16074 2016-05-04T18:40:08Z Steinsplitter 910 Steinsplitter moved page [[User:Riley Huntley]] to [[User:~riley]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Riley Huntley|Riley Huntley]]" to "[[Special:CentralAuth/~riley|~riley]]" 16074 wikitext text/x-wiki #REDIRECT [[User:~riley]] adcn98exih37k2lfdnpzn3bslnbh7ml a 0 5172 18370 17295 2017-04-28T17:23:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18370 wikitext text/x-wiki {{-sq-}} '''a''' {{-an-}} '''a''' {{-ast-}} '''a''' {{-bm-}} '''a''' {{-bar-}} '''a''' {{-ca-}} '''a''' {{-vi-}} '''a''' {{-es-}} '''a''' {{-gl-}} '''a''' {{-cs-}} '''a''' {{-dlm-}} '''a''' {{-da-}} '''a''' {{-nl-}} '''a''' {{-eo-}} '''a''' {{-fo-}} '''a''' {{-fi-}} '''a''' {{-fr-}} '''a''' {{-gl-}} '''a''' {{-de-}} '''a''' {{-gil-}} '''a''' {{-gl-}} '''a''' {{-ht-}} '''a''' {{-haw-}} '''a''' {{-hu-}} '''a''' {{-io-}} '''a''' {{-ia-}} '''a''' {{-ga-}} '''a''' {{-it-}} '''a''' {{-lad-}} '''a''' {{-la-}} '''a''' {{-lv-}} '''a''' {{-nds-}} '''a''' {{-ms-}} '''a''' {{-mi-}} '''a''' {{-nah-}} '''a''' {{-nap-}} '''a''' {{-nrf-}} '''a''' {{-no-}} '''a''' {{-nn-}} '''a''' {{-nov-}} '''a''' {{-ang-}} '''a''' {{-fro-}} '''a''' {{-pl-}} '''a''' {{-pt-}} '''a''' {{-ro-}} '''a''' {{-sco-}} '''a''' {{-gd-}} '''a''' {{-sh-}} '''a''' {{-sk-}} '''a''' {{-sl-}} '''a''' {{-es-}} '''a''' {{-srn-}} '''a''' {{-sw-}} '''a''' {{-sv-}} '''a''' {{-tl-}} '''a''' {{-tpi-}} '''a''' {{-wa-}} '''a''' {{-cy-}} '''a''' {{-yo-}} '''a''' {{-za-}} '''a''' okff14aanbjdwhq1zzfz4wa2ko23or7 e 0 5173 18681 17294 2017-04-28T17:25:28Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18681 wikitext text/x-wiki {{-en-}} '''e''' {{-af-}} '''e''' {{-sq-}} '''e''' {{-rup-}} '''e''' {{-az-}} '''e''' {{-br-}} '''e''' {{-ca-}} '''e''' {{-co-}} '''e''' {{-dlm-}} '''e''' {{-nl-}} '''e''' {{-eo-}} '''e''' {{-fo-}} '''e''' {{-fy-}} '''e''' {{-gl-}} '''e''' {{-haw-}} '''e''' {{-hu-}} '''e''' {{-io-}} '''e''' {{-ia-}} '''e''' {{-it-}} '''e''' {{-la-}} '''e''' {{-lv-}} '''e''' {{-ms-}} '''e''' {{-nv-}} '''e''' {{-nap-}} '''e''' {{-no-}} '''e''' {{-nov-}} '''e''' {{-oc-}} '''e''' {{-fro-}} '''e''' {{-pt-}} '''e''' {{-ro-}} '''e''' {{-sm-}} '''e''' {{-gd-}} '''e''' {{-sh-}} '''e''' {{-es-}} '''e''' {{-sv-}} '''e''' {{-ty-}} '''e''' {{-to-}} '''e''' {{-tk-}} '''e''' {{-tr-}} '''e''' {{-tvl-}} '''e''' {{-vi-}} '''e''' {{-vo-}} '''e''' {{-cy-}} '''e''' {{-za-}} '''e''' e6zfndpa113fk6pgbbr07tztxc9tvft o 0 5174 19094 17869 2017-04-28T17:28:19Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19094 wikitext text/x-wiki {{-so-}} o {{-af-}} o {{-an-}} o {{-ast-}} o {{-en-}} o {{-az-}} o {{-vi-}} o {{-vo-}} o {{-gl-}} o {{-ca-}} o {{-crh-}} o {{-de-}} o {{-haw-}} o {{-io-}} o {{-es-}} o {{-it-}} o {{-lad-}} o {{-la-}} o {{-lv-}} o {{-lt-}} o {{-ms-}} o {{-mi-}} o {{-nl-}} o {{-nds-}} o {{-nv-}} o {{-nap-}} o {{-no-}} o {{-pl-}} o {{-pt-}} o {{-ro-}} o {{-sm-}} o {{-sco-}} o {{-sl-}} o {{-sh-}} o {{-cy-}} o {{-tl-}} o {{-tpi-}} o {{-tk-}} o {{-tr-}} o {{-tvl-}} o {{-za-}} o {{-fo-}} o {{-fr-}} o {{-fro-}} o {{-cs-}} o {{-uz-}} o {{-sv-}} o {{-eo-}} o br4v6d5s1zm66y0fru0546zbt2np5vo i 0 5175 18865 17293 2017-04-28T17:26:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18865 wikitext text/x-wiki {{-en-}} '''i''' {{-sq-}} '''i''' {{-az-}} '''i''' {{-bm-}} '''i''' {{-bi-}} '''i''' {{-ca-}} '''i''' {{-nah-}} '''i''' {{-co-}} '''i''' {{-cs-}} '''i''' {{-dlm-}} '''i''' {{-da-}} '''i''' {{-nl-}} '''i''' {{-eo-}} '''i''' {{-fo-}} '''i''' {{-fy-}} '''i''' {{-haw-}} '''i''' {{-ga-}} '''i''' {{-it-}} '''i''' {{-la-}} '''i''' {{-lad-}} '''i''' {{-lv-}} '''i''' {{-jbo-}} {{jbo-cmavo}} {{-ms-}} '''i''' {{-mi-}} '''i''' {{-nv-}} '''i''' {{-nap-}} '''i''' {{-no-}} '''i''' {{-nn-}} '''i''' {{-fro-}} '''i''' {{-pl-}} '''i''' {{-pt-}} '''i''' {{-ro-}} '''i''' {{-sm-}} '''i''' {{-sco-}} '''i''' {{-gd-}} '''i''' {{-sh-}} '''i''' {{-sk-}} '''i''' {{-es-}} '''i''' {{-sv-}} '''i''' {{-ty-}} '''i''' {{-tpi-}} '''i''' {{-to-}} '''i''' {{-tr-}} '''i''' {{-tk-}} '''i''' {{-vi-}} '''i''' {{-vo-}} '''i''' {{-wa-}} '''i''' {{-cy-}} '''i''' 4lcmnz545f03ewqiyn8n7c5tsqbfhif Самоа 0 5176 19563 16716 2017-04-28T17:31:38Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19563 wikitext text/x-wiki {{-ky-}} '''Самоа''' {{-be-}} '''Самоа''' {{-bg-}} '''Самоа''' {{-kk-}} '''Самоа''' {{-mn-}} '''Самоа''' {{-ru-}} '''Самоа''' {{-sh-}} '''Самоа / [[Samoa]]''' {{-tg-}} '''Самоа''' {{-uk-}} '''Самоа''' ou6ak4r19lf3q1rrk39swccp68jorpx Template:-be- 10 5177 20041 16331 2018-10-28T13:59:23Z Sakiinlaq 1889 Qaabka cusub ee ==lang== ayaan ka dhigay, waxaan ku dadaalaynaa in ay sahlanaato akhrinta iyo bedelidda maqaalada 20041 wikitext text/x-wiki =beleruusiyaan== 065jcqpe7k5kov9miho9he60mut44gz Samoa 0 5178 18337 17657 2017-04-28T17:22:50Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18337 wikitext text/x-wiki {{-so-}} '''Samoa''' {{-af-}} '''Samoa''' {{-ast-}} '''Samoa''' {{-nah-}} '''Samoa''' {{-sq-}} '''Samoa''' {{-cs-}} '''Samoa''' {{-da-}} '''Samoa''' {{-fi-}} '''Samoa''' {{-fr-}} '''Samoa''' {{-en-}} '''Samoa''' {{-es-}} '''Samoa''' {{-it-}} '''Samoa''' {{-de-}} '''Samoa''' {{-na-}} '''Samoa''' {{-nl-}} '''Samoa''' {{-no-}} '''Samoa''' {{-pl-}} '''Samoa''' {{-pt-}} '''Samoa''' {{-ro-}} '''Samoa''' {{-sv-}} '''Samoa''' {{-sm-}} '''Samoa''' {{-tet-}} '''Samoa''' {{-tvl-}} '''Samoa''' {{-tl-}} '''Samoa''' {{-tr-}} '''Samoa''' {{-uz-}} '''Samoa''' {{-sh-}} '''Samoa''' la2jvviot1dno4l9xtdc1ui1z5lha15 dhan 0 5179 16341 2016-06-24T23:54:18Z 191.250.46.133 Bog cusub: {{-so-}} '''dhan''' 16341 wikitext text/x-wiki {{-so-}} '''dhan''' t45orr6kb5pa8h1drpri7dgqghih9jf oo 0 5180 16342 2016-06-24T23:54:38Z 191.250.46.133 Bog cusub: {{-so-}} '''oo''' 16342 wikitext text/x-wiki {{-so-}} '''oo''' 5yfcvuudcv2w1ogi0ge382nzx40czxw jooga 0 5181 16343 2016-06-24T23:55:00Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''jooga''' 16343 wikitext text/x-wiki {{-so-}} ===Magac=== '''jooga''' 7s5ytp9i5dh0ydkh24i1j6ghssihzm9 qayb 0 5182 16344 2016-06-24T23:55:32Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''qayb''' 16344 wikitext text/x-wiki {{-so-}} ===Magac=== '''qayb''' jmuhdxhs2n4ggognh3ys9ruwedvjjax caalami 0 5183 16345 2016-06-24T23:56:41Z 191.250.46.133 Bog cusub: {{-so-}} '''caalami''' 16345 wikitext text/x-wiki {{-so-}} '''caalami''' pewvvpf3uhtf4xz3bv5koxbuibxv8mx ah 0 5184 18397 17879 2017-04-28T17:23:21Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18397 wikitext text/x-wiki {{-so-}} '''ah''' {{-es-}} '''ah''' {{-it-}} '''ah''' {{-pt-}} '''ah''' sq492v8btjadteznm7gxa64ujjy4qlb set 0 5185 19277 17499 2017-04-28T17:29:37Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 19277 wikitext text/x-wiki {{-so-}} '''set''' {{-en-}} '''set''' ijk447iohcbnwexkucuvhk8wy6uqqwy ballan 0 5186 25024 25022 2023-09-22T14:31:04Z Girligaanshub 3150 25024 wikitext text/x-wiki {{-so-}} == Magac == '''ballan''' === Tarjumaad === * {{en}}: arrangement, arrange 6hhykfp3v9w2ig1qpkfd5gyoqogcrvy damiye 0 5187 28726 16349 2024-07-15T03:27:12Z Girligaanshub 3150 28726 wikitext text/x-wiki {{-so-}} == Magac == '''damiye''' === Tarjumaad === * {{en}}: turned off, unplug, unplugged, extinguished, logged off, shut down, close, ib6p5dqywl012aes02h7du3rmnhptn8 dab 0 5188 16350 2016-06-24T23:59:23Z 191.250.46.133 Bog cusub: {{-so-}} '''dab''' 16350 wikitext text/x-wiki {{-so-}} '''dab''' hpcnrxx5vkvm2lbrp7ih8azde5uxlm9 yaqanaa 0 5189 16351 2016-06-25T00:00:01Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''yaqanaa''' 16351 wikitext text/x-wiki {{-so-}} ===Magac=== '''yaqanaa''' dqdtowxgn3em75bij5t44wb69n0ran4 dheeraad 0 5190 30782 16352 2024-09-16T23:00:09Z Girligaanshub 3150 30782 wikitext text/x-wiki {{-so-}} ===Magac=== '''dheeraad''' ==Tarjumaad== *{{en}}: extra lyofr7w253ilxlgxmecumh8ncrrtkwj iyadoo 0 5191 16353 2016-06-25T00:01:24Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''iyadoo''' 16353 wikitext text/x-wiki {{-so-}} ===Magac=== '''iyadoo''' 4vpwhs2nisj8800du1hgi1xtg9brrfb cuntada 0 5192 16354 2016-06-25T00:01:55Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''cuntada''' 16354 wikitext text/x-wiki {{-so-}} ===Magac=== '''cuntada''' j9mm8lqf72b8gkcdwf373clsdiolr18 caadiga 0 5193 16355 2016-06-25T00:02:27Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''caadiga''' 16355 wikitext text/x-wiki {{-so-}} ===Magac=== '''caadiga''' 8isljsbpl1e7prwpdbo6ns1dttl0bwb berrito 0 5194 16356 2016-06-25T00:02:51Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''berrito''' 16356 wikitext text/x-wiki {{-so-}} ===Magac=== '''berrito''' turz9p13v9uq8hcp4aj3ms9l8l12gk2 hagaajin 0 5195 16357 2016-06-25T00:03:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''hagaajin''' 16357 wikitext text/x-wiki {{-so-}} ===Magac=== '''hagaajin''' 417xnjqtu5yxx354k83s9g9g6ir9eeo hadiyad 0 5196 16358 2016-06-25T00:05:02Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''hadiyad''' 16358 wikitext text/x-wiki {{-so-}} ===Magac=== '''hadiyad''' 0rum4urge8ug6rci2am0n7msdgcs2v6 isticmaalada 0 5197 16359 2016-06-25T00:06:35Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''isticmaalada''' 16359 wikitext text/x-wiki {{-so-}} ===Magac=== '''isticmaalada''' pgcshc01c3kygleherf9feacwtoq3iy Template:-haw- 10 5198 16360 2016-06-25T00:09:02Z 191.250.46.133 Bog cusub: <includeonly>[[Category:Hawaaiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hawaaiyaan</big></big></big> (haw)</div>== <br><noinclud... 16360 wikitext text/x-wiki <includeonly>[[Category:Hawaaiyaan ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Hawaaiyaan</big></big></big> (haw)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> ncu5mxkrlwgv82r36els00bg2ghje0w Template:-tvl- 10 5199 16361 2016-06-25T00:11:48Z 191.250.46.133 Bog cusub: <includeonly>[[Category:Tuvalu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tuvalu</big></big></big> (tvl)</div>== <br><noinclude> <!--[... 16361 wikitext text/x-wiki <includeonly>[[Category:Tuvalu ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Tuvalu</big></big></big> (tvl)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> ck84rj52hrp2ldtg1lxsvv33pgihfgb Category:Firiisiyan galbeed ereyada 14 5200 19886 16883 2017-07-03T13:38:18Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19886 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Hawaaiyaan ereyada 14 5201 19890 16861 2017-07-03T13:38:22Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19890 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Maori ereyada 14 5202 19920 17274 2017-07-03T13:38:52Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19920 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Tuvalu ereyada 14 5203 19946 16881 2017-07-03T13:39:19Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19946 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx Category:Beleruusiyaan ereyada 14 5204 19870 17191 2017-07-03T13:37:50Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19870 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx qodobo 0 5205 16368 2016-06-25T00:21:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''qodobo''' 16368 wikitext text/x-wiki {{-so-}} ===Sifo=== '''qodobo''' m2z4xdo71sgbf66p51g3cv2mk7h2t9s adeegsiga 0 5206 32029 29633 2024-10-27T07:09:16Z Girligaanshub 3150 32029 wikitext text/x-wiki {{-so-}} == Magac == '''adeegsiga''' === Tarjumaad === * {{en}}: application, applying, usage, program, system 0tkzcpaxzyjlmf0cubslvffmbvsivew faahfaahinta 0 5207 16370 2016-06-25T00:23:55Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''faahfaahinta''' 16370 wikitext text/x-wiki {{-so-}} ===Magac=== '''faahfaahinta''' et08i85k17hs0hzxp0pj8ya0i9a28tr ee 0 5208 18684 17233 2017-04-28T17:25:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18684 wikitext text/x-wiki {{-so-}} '''ee''' e954c6m33yst1w8xu2806wur7v1o7ib badanaa 0 5209 16372 2016-06-25T00:29:39Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''badanaa''' 16372 wikitext text/x-wiki {{-so-}} ===Magac=== '''badanaa''' pgmhjatp4420f8v3oyrzk5gjo64n3y1 yuubiyanka 0 5210 16373 2016-06-25T00:29:41Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''yuubiyanka''' 16373 wikitext text/x-wiki {{-so-}} ===Sifo=== '''yuubiyanka''' agv0umv3zrigiabjfp9sl36k0n5tjhm ingriiska 0 5211 16374 2016-06-25T00:29:43Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''ingriiska''' 16374 wikitext text/x-wiki {{-so-}} ===Sifo=== '''ingriiska''' 0keminb02ck4j6uv2xparagvhesw0bg waxee 0 5212 16375 2016-06-25T00:29:45Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''waxee''' 16375 wikitext text/x-wiki {{-so-}} ===Magac=== '''waxee''' cem2uohv56jnlfl2sj9n5f3blbxaung amar 0 5213 18414 16501 2017-04-28T17:23:29Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18414 wikitext text/x-wiki {{-so-}} === Sifo === '''amar''' {{-gl-}} === Falka === '''amar''' {{-es-}} === Falka === '''amar''' {{-pt-}} === Falka === '''amar''' eq4z0uf71p59qfv2dospkqp43zbmtjm ama 0 5214 23033 23029 2023-01-14T17:38:49Z 2601:404:C800:13D0:CC05:2BE7:4716:F8A6 /* Falka */ 23033 wikitext text/x-wiki {{-so-}} === Magac === '''ama''' {{-gl-}} === Falka === '''ou''' {{-es-}} === Falka === '''u''' {{-pt-}} === Falka === '''ou''' 3xebcubzeqb3cgumk2kahxwtvmfbg63 dadka 0 5215 16378 2016-06-25T00:31:39Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''dadka''' 16378 wikitext text/x-wiki {{-so-}} ===Sifo=== '''dadka''' sykramiigjljpwkh6gifmvk04kq5043 qaarkood 0 5216 16379 2016-06-25T00:31:55Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''qaarkood''' 16379 wikitext text/x-wiki {{-so-}} ===Sifo=== '''qaarkood''' kq04uwqwe33g5od1f2jz35jyvr70g53 lacag 0 5217 23092 23089 2023-01-30T03:20:24Z Kwamikagami 3157 /* Tarjumaad */ 23092 wikitext text/x-wiki {{-so-}} ===Magac=== '''lacag''' ===La mid ah=== * [[Ag]], [[☾]], [[☽]] === Tarjumaad === * {{en}}: [[silver]] 7qtfyxojxyusmlf17f1i3gy6rx6fjq7 shaqeen 0 5218 16381 2016-06-25T00:32:53Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''shaqeen''' 16381 wikitext text/x-wiki {{-so-}} ===Sifo=== '''shaqeen''' 62quw09l0ldy5lbnimosxni6mocw003 jireen 0 5219 16382 2016-06-25T00:32:55Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''jireen''' 16382 wikitext text/x-wiki {{-so-}} ===Magac=== '''jireen''' qpok13llsiqz3jy1y3t88du01pl0loz iyo 0 5220 18893 18015 2017-04-28T17:26:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18893 wikitext text/x-wiki {{-so-}} === Falka === '''iyo''' eq30yissbjb744ajlaq4a4gi7pv32b0 Masaayda 0 5221 16384 2016-06-25T00:34:39Z 191.250.46.133 Bog cusub: {{-so-}} '''Masaayda''' 16384 wikitext text/x-wiki {{-so-}} '''Masaayda''' 99gj1lv5mq54o9pz3brh9upual4ow6e ayaa 0 5222 16385 2016-06-25T00:34:50Z 191.250.46.133 Bog cusub: {{-so-}} '''ayaa''' 16385 wikitext text/x-wiki {{-so-}} '''ayaa''' 3en97msjqu4hxekvdoj33d5uthye11k dhulka 0 5223 21319 16386 2022-05-13T02:44:25Z Kwamikagami 3157 21319 wikitext text/x-wiki {{-so-}} ===Sifo=== '''dhulka''' ====La mid ah==== *[[🜨]], [[♁]] 0ouctb560yfetxp152e8ratljf7cvh0 dajiyay 0 5224 16387 2016-06-25T00:35:43Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dajiyay''' 16387 wikitext text/x-wiki {{-so-}} ===Magac=== '''dajiyay''' fyozsmomg6f72x7f5pltklvsrvn7lc7 waxaana 0 5225 16388 2016-06-25T00:36:18Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''waxaana''' 16388 wikitext text/x-wiki {{-so-}} ===Magac=== '''waxaana''' 7627szavcenvts5ed1kgpeyvwykxruq sameeyay 0 5226 16389 2016-06-25T00:36:50Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''sameeyay''' 16389 wikitext text/x-wiki {{-so-}} ===Magac=== '''sameeyay''' tg608g6dep5h9x31647gvgmcqh3cw09 wax 0 5227 19799 19468 2017-05-15T10:59:25Z 200.130.64.1 19799 wikitext text/x-wiki {{-so-}} ===Magac=== '''wax''' {{-en-}} ===Magac=== '''wax''' ===Sifo=== '''wax''' ===Falka=== '''wax''' epp2phgkgtk85d5jhab9xt66cc6qfi0 shaqo 0 5228 16391 2016-06-25T00:37:56Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''shaqo''' 16391 wikitext text/x-wiki {{-so-}} ===Magac=== '''shaqo''' 9e62hxc4lasdw7lzb80tq7ute71drkt xoroowday 0 5229 16392 2016-06-25T00:37:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''xoroowday''' 16392 wikitext text/x-wiki {{-so-}} ===Sifo=== '''xoroowday''' rop56c4y4n9g8nlur5pk92qoo6zggku Kikuyuga 0 5230 16393 2016-06-25T00:38:25Z 191.250.46.133 Bog cusub: {{-so-}} '''Kikuyuga''' 16393 wikitext text/x-wiki {{-so-}} '''Kikuyuga''' 2nkd1mwqg24v7ubi3zzyani1gte8vvb soo 0 5231 30366 16394 2024-08-30T06:08:48Z Girligaanshub 3150 30366 wikitext text/x-wiki {{-so-}} == Magac == '''soo''' === Tarjumaad === * {{en}}: go ahead * {{en}}: did eboyu3hep604oyos7nnad2z4yjmpqus saarkooda 0 5232 16395 2016-06-25T00:38:54Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''saarkooda''' 16395 wikitext text/x-wiki {{-so-}} ===Magac=== '''saarkooda''' aagb8e81v4xswenehcb6iyxkzqozb9p loo 0 5233 18991 18227 2017-04-28T17:27:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18991 wikitext text/x-wiki {{-so-}} '''loo''' er4mb950hdj7y3jtwi2fqktuj8wdx5l dhoofin 0 5234 16397 2016-06-25T00:39:22Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhoofin''' 16397 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhoofin''' lzorkvmymr85vm4t1aad9gpn86103dc jiray 0 5235 16398 2016-06-25T00:39:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''jiray''' 16398 wikitext text/x-wiki {{-so-}} ===Magac=== '''jiray''' cjfwhdijcbewiq1dvrvdy1hvwwq6ypf wadamada 0 5236 16399 2016-06-25T00:40:21Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''wadamada''' 16399 wikitext text/x-wiki {{-so-}} ===Sifo=== '''wadamada''' oi1zu1rr0vwffd2g4pmc67ai2azqcj2 ahaan 0 5237 16400 2016-06-25T00:41:09Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''ahaan''' 16400 wikitext text/x-wiki {{-so-}} ===Sifo=== '''ahaan''' 16sz8ahll9sn5cn8j9fs7uydoeokwrt Koonfur 0 5238 16401 2016-06-25T00:43:19Z 191.250.46.133 Bog cusub: {{-so-}} '''Koonfur''' 16401 wikitext text/x-wiki {{-so-}} '''Koonfur''' d4s4akw46zr08u9cutydp6t3cep9euu laheed 0 5239 16402 2016-06-25T00:43:36Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''laheed''' 16402 wikitext text/x-wiki {{-so-}} ===Magac=== '''laheed''' shffhebewtgo2wwwnawdh0sp78jnff2 dhul 0 5240 23096 23095 2023-01-30T03:23:28Z Kwamikagami 3157 /* Tarjumaad */ 23096 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhul''' ====La mid ah==== *[[🜨]], [[♁]] === Tarjumaad === * {{en}}: [[Earth]], [[earth]] 9g0mw30wp9sz6w7cobj8frys8uy63we beeraad 0 5241 16404 2016-06-25T00:43:53Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''beeraad''' 16404 wikitext text/x-wiki {{-so-}} ===Magac=== '''beeraad''' oyiok9qv20hsooblyyuljp1ba67snn7 weyn 0 5242 32039 32019 2024-10-27T16:29:07Z Girligaanshub 3150 32039 wikitext text/x-wiki {{-so-}} == Magac == '''weyn''' === Tarjumaad === * {{en}}: big, large ===Synonyms=== *[[weyn]], [[saa'id]], [[ba'an]] cgesmwkcuqw31r36k0s3lajexdszsgs dhulkaas 0 5243 16406 2016-06-25T00:44:12Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhulkaas''' 16406 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhulkaas''' k1fn3j72jjxbetw8gv9paq8ko3gn2lz isla 0 5244 22418 20324 2022-09-26T15:41:46Z Girligaanshub 3150 Bog loo bedeley [[isla (magacuyaal)]] 22418 wikitext text/x-wiki #redirect [[isla (magacuyaal)]] o0voa0emna0atwuzx1q747e9smtaeqc ajaanibta 0 5245 16408 2016-06-25T00:44:56Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''ajaanibta''' 16408 wikitext text/x-wiki {{-so-}} ===Sifo=== '''ajaanibta''' fzrh18r32o1psyk3fm3x3ubnigjta2f degay 0 5246 16409 2016-06-25T00:44:57Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''degay''' 16409 wikitext text/x-wiki {{-so-}} ===Magac=== '''degay''' lnra894tuo16ya8grmqtav018p0jbtx markaas 0 5247 16410 2016-06-25T00:45:11Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''markaas''' 16410 wikitext text/x-wiki {{-so-}} ===Magac=== '''markaas''' qufd8v94epgqsneg5yblrnw1zk44du7 neh 0 5248 16411 2016-06-25T00:45:21Z 191.250.46.133 Bog cusub: {{-so-}} '''neh''' 16411 wikitext text/x-wiki {{-so-}} '''neh''' 4q5vhbsgtpif5ar0g7goginipcmh718 dadkii 0 5249 16412 2016-06-25T00:45:32Z 191.250.46.133 Bog cusub: {{-so-}} '''dadkii''' 16412 wikitext text/x-wiki {{-so-}} '''dadkii''' 68ratj5u05tum89h27jonznv9sf3qmt kenya 0 5250 16413 2016-06-25T00:45:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''kenya''' 16413 wikitext text/x-wiki {{-so-}} ===Sifo=== '''kenya''' azj0bs4ebi3zdxmg7neozdroa9yqlas dalka 0 5251 16414 2016-06-25T00:46:01Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dalka''' 16414 wikitext text/x-wiki {{-so-}} ===Magac=== '''dalka''' jyf6ypar37siuu0hukfdbe64mwn2i6i dhashay 0 5252 16415 2016-06-25T00:46:03Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhashay''' 16415 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhashay''' pznx1hsj9yzsgogplinwq0yit4ag572 jidkii 0 5253 16416 2016-06-25T00:48:15Z 191.250.46.133 Bog cusub: {{-so-}} '''jidkii''' 16416 wikitext text/x-wiki {{-so-}} '''jidkii''' 3g8d4xa1fmk2tjr470zac7i73su3mp2 tareenka 0 5254 16417 2016-06-25T00:48:34Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''tareenka''' 16417 wikitext text/x-wiki {{-so-}} ===Sifo=== '''tareenka''' m8i13ys3q0tuxskq7c0mwabyrw8titn yaalay 0 5255 16418 2016-06-25T00:48:52Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''yaalay''' 16418 wikitext text/x-wiki {{-so-}} ===Magac=== '''yaalay''' r7ys9xke235jx2q7stujmjja5fe775n meesha 0 5256 16419 2016-06-25T00:49:09Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''meesha''' 16419 wikitext text/x-wiki {{-so-}} ===Magac=== '''meesha''' hzfpjcsk4u8fsnouw7j93261f7d6ir7 lagu 0 5257 18966 18077 2017-04-28T17:27:25Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18966 wikitext text/x-wiki {{-so-}} === Magac === '''lagu''' {{-id-}} === Magac === '''lagu''' {{-ms-}} === Magac === '''lagu''' 9qj1sdof28sqa3kya24ceq8mqufnx2o deegaanka 0 5258 16421 2016-06-25T00:50:48Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''deegaanka''' 16421 wikitext text/x-wiki {{-so-}} ===Sifo=== '''deegaanka''' 5eki73pu35haavb5aosgabsbu487vfi fiktoriya 0 5259 16422 2016-06-25T00:50:50Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''fiktoriya''' 16422 wikitext text/x-wiki {{-so-}} ===Magac=== '''fiktoriya''' e13w05h7o8o1oouux1ec3i42q34ccug go'aan 0 5260 16423 2016-06-25T00:51:01Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''go'aan''' 16423 wikitext text/x-wiki {{-so-}} ===Magac=== '''go'aan''' 07fc3ygiguts2htpdetjdk8316u3h8m gaaray 0 5261 16424 2016-06-25T00:51:18Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''gaaray''' 16424 wikitext text/x-wiki {{-so-}} ===Magac=== '''gaaray''' guzi1d8u5jzpgr002qa9hhrlpgnultc dhameeya 0 5262 16425 2016-06-25T00:52:04Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhameeya''' 16425 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhameeya''' tpat08gigly4mg3j7kncvgbmy5zjqq0 Bariga 0 5263 16426 2016-06-25T00:52:06Z 191.250.46.133 Bog cusub: {{-so-}} '''Bariga''' 16426 wikitext text/x-wiki {{-so-}} '''Bariga''' ju2qryparmdov90ojldsgyo5vejizfb magacaabay 0 5264 16427 2016-06-25T00:52:08Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''magacaabay''' 16427 wikitext text/x-wiki {{-so-}} ===Magac=== '''magacaabay''' l8ujd2zkb59q1brlc5ry6xlvthrmxda wadankii 0 5265 16428 2016-06-25T00:55:32Z 191.250.46.133 Bog cusub: {{-so-}} '''wadankii''' 16428 wikitext text/x-wiki {{-so-}} '''wadankii''' pm0d1xhccuwqyranfso1zuul86dcgxm jecleesan 0 5266 16429 2016-06-25T00:55:33Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''jecleesan''' 16429 wikitext text/x-wiki {{-so-}} ===Magac=== '''jecleesan''' inq0swqdk1wky2bkc22oo0ekasteq6p intii 0 5267 16430 2016-06-25T00:55:35Z 191.250.46.133 Bog cusub: {{-so-}} '''intii''' 16430 wikitext text/x-wiki {{-so-}} '''intii''' 3svcawy6tde357lewkbjef4yshxv9bs dhihi 0 5268 16431 2016-06-25T00:55:50Z 191.250.46.133 Bog cusub: {{-so-}} '''dhihi''' 16431 wikitext text/x-wiki {{-so-}} '''dhihi''' dayb6qur79atrs4xfcl9il0290zhbac guuraan 0 5269 16432 2016-06-25T00:55:52Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''guuraan''' 16432 wikitext text/x-wiki {{-so-}} ===Magac=== '''guuraan''' 241lctwspwp0e3lpswaxj879g9p5fsw yurubiyaanka 0 5270 16433 2016-06-25T00:55:54Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''yurubiyaanka''' 16433 wikitext text/x-wiki {{-so-}} ===Sifo=== '''yurubiyaanka''' 7swkuup59bb7m35m834t0qvduqn94fi shacab 0 5271 16434 2016-06-25T00:55:55Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''shacab''' 16434 wikitext text/x-wiki {{-so-}} ===Sifo=== '''shacab''' q94qmll2lsxuftq2txinbko6ih1a6ql maanta 0 5272 31005 16435 2024-09-30T14:03:55Z Girligaanshub 3150 31005 wikitext text/x-wiki {{-so-}} == Magac == '''maanta''' === Tarjumaad === * {{en}}: today k188xnskc7xtkamghbmq10u1e52qlle yaalo 0 5273 16436 2016-06-25T00:56:32Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''yaalo''' 16436 wikitext text/x-wiki {{-so-}} ===Magac=== '''yaalo''' symb2jy4as7beolqk25o6lukima33m6 Simbaabwi 0 5274 16437 2016-06-25T00:56:48Z 191.250.46.133 Bog cusub: {{-so-}} '''Simbaabwi''' 16437 wikitext text/x-wiki {{-so-}} '''Simbaabwi''' bbyjoz9nkd6e5jih0xum7mi4pdgaueg gaar 0 5275 32250 32249 2024-11-04T05:28:03Z Girligaanshub 3150 32250 wikitext text/x-wiki {{-so-}} == Magac == '''gaar''' === Tarjumaad === * {{en}}: unique, distinct, special, peculiar, ===Synonyms=== *[[khaas]], [[gaar]], [[gaari]] 7bcv76ixbjfexm2nbo3udy65d9kkdqr qaatay 0 5276 16439 2016-06-25T00:58:10Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''qaatay''' 16439 wikitext text/x-wiki {{-so-}} ===Magac=== '''qaatay''' d772gabhthner0rgzmlc5022q5sm7l2 Zanzibar 0 5277 18367 17867 2017-04-28T17:23:05Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18367 wikitext text/x-wiki {{-so-}} '''Zanzibar''' 1xg3u4143ovl2sw5br06dynk7dfyt3q Yugandha 0 5278 16441 2016-06-25T00:58:48Z 191.250.46.133 Bog cusub: {{-so-}} '''Yugandha''' 16441 wikitext text/x-wiki {{-so-}} '''Yugandha''' qswdr99nif0u516ut1oq3nzvey98r7g loogu 0 5279 16442 2016-06-25T00:58:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''loogu''' 16442 wikitext text/x-wiki {{-so-}} ===Magac=== '''loogu''' i4e12cb6t9t2a5ygrql5tm0rbfwkevc dhamaaday 0 5280 16443 2016-06-25T00:59:38Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhamaaday''' 16443 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhamaaday''' dyuwx3g6jgaynha2fzqx7ezwyqg78g4 Muran 0 5281 22060 16444 2022-08-31T17:01:53Z Girligaanshub 3150 Bog loo bedeley [[muran]] 22060 wikitext text/x-wiki #redirect [[muran]] o3ysbtpwmpql55vej7msk3ov41vp4t9 socon 0 5282 16445 2016-06-25T01:02:54Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''socon''' 16445 wikitext text/x-wiki {{-so-}} ===Magac=== '''socon''' c5iu3sek94v8holufp8cdobv5esxw2t kala 0 5283 18920 17998 2017-04-28T17:27:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18920 wikitext text/x-wiki {{-so-}} '''kala''' {{-id-}} '''kala''' {{-ms-}} '''kala''' {{-tl-}} '''kala''' cplll5v5dbbiq52yb217a19mavxrrd0 barliin 0 5284 16447 2016-06-25T01:05:30Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''barliin''' 16447 wikitext text/x-wiki {{-so-}} ===Sifo=== '''barliin''' g7xks01z60rahvbmoilmbp4o0voy6t2 shirkii 0 5285 16448 2016-06-25T01:05:34Z 191.250.46.133 Bog cusub: {{-so-}} '''shirkii''' 16448 wikitext text/x-wiki {{-so-}} '''shirkii''' 2j2egpdtlwxpbpqwx73fylij41iq292 ahaa 0 5286 18398 17205 2017-04-28T17:23:22Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18398 wikitext text/x-wiki {{-so-}} '''ahaa''' 6xogx2ykvtbrqzvi3prz6on1qwoclcx dhulalka 0 5287 16450 2016-06-25T01:05:59Z 191.250.46.133 Bog cusub: {{-so-}} ===Sifo=== '''dhulalka''' 16450 wikitext text/x-wiki {{-so-}} ===Sifo=== '''dhulalka''' chcuexecxdfd39e5qci26ikei1soxs5 qeebsan 0 5288 16451 2016-06-25T01:06:28Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''qeebsan''' 16451 wikitext text/x-wiki {{-so-}} ===Magac=== '''qeebsan''' 11g26chiq431wigqugio1hduxuqqbfy shirkaas 0 5289 16452 2016-06-25T01:06:41Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''shirkaas''' 16452 wikitext text/x-wiki {{-so-}} ===Magac=== '''shirkaas''' 9mz73zwijt1dstrt30ql8imwfyfx290 qabsaday 0 5290 16453 2016-06-25T01:08:29Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== ''qabsaday''' 16453 wikitext text/x-wiki {{-so-}} ===Magac=== ''qabsaday''' 49iyd5twtddlew7d1o3etl1y538z040 marka 0 5291 19016 17734 2017-04-28T17:27:46Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19016 wikitext text/x-wiki {{-so-}} === Magac === '''marka''' ik4z4wq7lbmwm1bemx8wv2cyd2uhhh5 eheed 0 5292 16455 2016-06-25T01:08:34Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''eheed''' 16455 wikitext text/x-wiki {{-so-}} ===Magac=== '''eheed''' eo16ie140ukspztjf91wb20drzd4da0 ahyd 0 5293 16456 2016-06-25T01:09:43Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''ahyd''' 16456 wikitext text/x-wiki {{-so-}} ===Magac=== '''ahyd''' klk21j8jyfv1yztrcb9y7uelolqctoz gaarka 0 5294 16457 2016-06-25T01:09:44Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''gaarka''' 16457 wikitext text/x-wiki {{-so-}} ===Magac=== '''gaarka''' 15o4h1trv2zqtdormpjy64nh7ariha1 carabta 0 5295 16458 2016-06-25T01:09:46Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''carabta''' 16458 wikitext text/x-wiki {{-so-}} ===Magac=== '''carabta''' 17ehq3nf59g3zp68crk4vopgcnfwo3x jirtay 0 5296 16459 2016-06-25T01:10:49Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''jirtay''' 16459 wikitext text/x-wiki {{-so-}} ===Magac=== '''jirtay''' 57llsrp1t8bmpn0rqdcs65i3ytfn7jp adoomada 0 5297 16460 2016-06-25T01:10:51Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''adoomada''' 16460 wikitext text/x-wiki {{-so-}} ===Magac=== '''adoomada''' 6mvr71p3htj6j3x67y4mek7lh6r2zxn ganacsan 0 5298 16461 2016-06-25T01:11:02Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''ganacsan''' 16461 wikitext text/x-wiki {{-so-}} ===Magac=== '''ganacsan''' tnwgpcwdh48ctkybw76ehc1o5xszo6z carabtu 0 5299 16462 2016-06-25T01:11:15Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''carabtu''' 16462 wikitext text/x-wiki {{-so-}} ===Magac=== '''carabtu''' rgh11mt084zzv2hkmw8g83q7u9yuofj xoolo 0 5300 26051 26049 2023-11-24T04:32:15Z Girligaanshub 3150 26051 wikitext text/x-wiki {{-so-}} == Magac == '''xoolo''' === Tarjumaad === * {{en}}: livestock, heveau4yw9u0fv8o29m1s4obubh104y cudur 0 5301 16464 2016-06-25T01:13:02Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''cudur''' 16464 wikitext text/x-wiki {{-so-}} ===Magac=== '''cudur''' be7amcpuupikys44jztkc05meodhwbx waxoo 0 5302 16465 2016-06-25T01:13:30Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''waxoo''' 16465 wikitext text/x-wiki {{-so-}} ===Magac=== '''waxoo''' fk6ciup86ztnfwr6ph2a2mwrvx20uu2 dhameeyay 0 5303 16466 2016-06-25T01:13:50Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhameeyay''' 16466 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhameeyay''' j6rx3symlbrbmqzu87uc0ogi7e3m6sk Wadanka 0 5304 16467 2016-06-25T01:14:00Z 191.250.46.133 Bog cusub: {{-so-}} '''Wadanka''' 16467 wikitext text/x-wiki {{-so-}} '''Wadanka''' b29dfeo82gasl3kshhxeax2sawe9ecu dhinaca 0 5305 16468 2016-06-25T01:14:12Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''dhinaca''' 16468 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhinaca''' rve130k838wd24zt048dedfi726w057 meel 0 5306 19025 16639 2017-04-28T17:27:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19025 wikitext text/x-wiki {{-so-}} === Magac === '''meel''' {{-af-}} === Magac === '''meel''' {{-af-}} === Magac === '''meel''' 6qf7slh9jizap51vbnxxjr6bohbri26 wuxuu 0 5307 32744 16470 2024-11-30T18:42:05Z ВМНС 5070 32744 wikitext text/x-wiki {{-so-}} ===Magac=== '''wuxuu''' [[Category:Soomaali ereyada-w]] 1s73ajmaedug5tvewrcxtfv6rriptlh markiisii 0 5308 16471 2016-06-25T01:15:20Z 191.250.46.133 Bog cusub: {{-so-}} '''markiisii''' 16471 wikitext text/x-wiki {{-so-}} '''markiisii''' no9clrzvxev32bcsnfj9ergaybh7it7 xeebaha 0 5309 16472 2016-06-25T01:15:33Z 191.250.46.133 Bog cusub: {{-so-}} ===Magac=== '''xeebaha''' 16472 wikitext text/x-wiki {{-so-}} ===Magac=== '''xeebaha''' 8q3089tieh2ktt7q913prrqncpbommx da'da 0 5310 16473 2016-06-25T18:37:33Z 177.206.135.151 Bog cusub: {{-so-}} '''da'da''' 16473 wikitext text/x-wiki {{-so-}} '''da'da''' 4r25aomk95firbove6qsztayo6qx8te qeexo 0 5311 16474 2016-06-25T18:38:07Z 177.206.135.151 Bog cusub: {{-so-}} '''qeexo''' 16474 wikitext text/x-wiki {{-so-}} '''qeexo''' 5lt3l2o7ezr4ltewn1i3akic5azq3rn da'diisu 0 5312 16475 2016-06-25T18:38:45Z 177.206.135.151 Bog cusub: {{-so-}} '''da'diisu''' 16475 wikitext text/x-wiki {{-so-}} '''da'diisu''' c28m1m2r4vau9qevlam1586npsr6qq6 dhexe 0 5313 16476 2016-06-25T18:39:02Z 177.206.135.151 Bog cusub: {{-so-}} '''dhexe''' 16476 wikitext text/x-wiki {{-so-}} '''dhexe''' 2qxpfb3l6p46har3d9ylvoflfgl1543 ogaato 0 5314 16477 2016-06-25T18:40:00Z 177.206.135.151 Bog cusub: {{-so-}} ===Magac=== '''ogaato''' 16477 wikitext text/x-wiki {{-so-}} ===Magac=== '''ogaato''' jmuggsv1nc1r0ci48g119g84q2ujrqm beautiful 0 5315 18485 16902 2017-04-28T17:24:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18485 wikitext text/x-wiki {{-en-}} === Falka === '''beautiful''' [[qurxoon]] jyzl57fwc4tckmeqi124y15bgunx9m9 space 0 5316 19323 16834 2017-04-28T17:29:56Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19323 wikitext text/x-wiki {{-en-}} === Magac === '''space''' [[bannaan]] dng2bg7po0p1moj8l216zaq7xhn1ams bannaan 0 5317 25036 16480 2023-09-22T14:55:00Z Girligaanshub 3150 25036 wikitext text/x-wiki {{-so-}} == Magac == '''bannaan''' === Tarjumaad === * {{en}}: outside, clearing d8gy3fjqpzh0zuhwp8dpgplxadh63lr jeer 0 5318 30524 25537 2024-09-06T12:30:18Z Girligaanshub 3150 30524 wikitext text/x-wiki {{-so-}} == Magac == '''jeer''' === Tarjumaad === * {{en}}: hippo, hippopotamus * {{en}}: time, moment, htun2ojgmx0tfjeyfkli273qbe99zdn waana 0 5319 16826 2016-07-01T13:54:08Z 191.33.155.251 Bog cusub: {{-so-}} ===Magac=== '''waana''' 16826 wikitext text/x-wiki {{-so-}} ===Magac=== '''waana''' otvzaxmbnh67qij80cx22q83xx4g383 Category:Scribunto modules with errors 14 5320 19935 16884 2017-07-03T13:39:07Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة 19935 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Samoowa ereyada 14 5321 19933 17425 2017-07-03T13:39:05Z JAnDbot 743 بوت: تنظيف وصلات إنترويكي قديمة; Badal qurxin ah 19933 wikitext text/x-wiki [[Category:Ereyada]] h01m2pq26mf84hq82ei9j77tdzponrx talogalay 0 5322 16904 2016-07-10T15:29:58Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''talogalay''' 16904 wikitext text/x-wiki {{-so-}} ===Magac=== '''talogalay''' 0qzixom8psw853yx4n7hyvt7efsfm7d waxeena 0 5323 16905 2016-07-10T15:33:40Z 186.212.20.238 Bog cusub: {{-so-}} ===Sifo=== '''waxeena''' 16905 wikitext text/x-wiki {{-so-}} ===Sifo=== '''waxeena''' 6nwfqdzndnn8hhpluw505yjgs62v2e0 meeshaan 0 5324 16906 2016-07-10T15:34:36Z 186.212.20.238 Bog cusub: {{-so-}} ===Sifo=== '''meeshaan''' 16906 wikitext text/x-wiki {{-so-}} ===Sifo=== '''meeshaan''' gmtt6mhqv8sr9cv43hd8arutah0mg0y sidoo 0 5325 16907 2016-07-10T15:35:28Z 186.212.20.238 Bog cusub: {{-so-}} ===Sifo=== '''sidoo''' 16907 wikitext text/x-wiki {{-so-}} ===Sifo=== '''sidoo''' d4h5z6i8baduatrachjqmi6xnyoxat8 kaliya 0 5326 16908 2016-07-10T15:35:53Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''kaliya''' 16908 wikitext text/x-wiki {{-so-}} ===Magac=== '''kaliya''' e660833jtncr2r9fvnnepjl9kcvsjkw linkiga 0 5327 20236 20232 2019-09-25T20:15:07Z XXBlackburnXx 1892 Wuxuu dib u noqay badalkii oo sameeyay [[Special:Contributions/41.78.73.196|41.78.73.196]] ([[User talk:41.78.73.196|talk]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:186.212.20.238|186.212.20.238]] 16909 wikitext text/x-wiki {{-so-}} ===Magac=== '''linkiga''' 5ywedptiffz0cjqes6h8koxz4lg2iql kale 0 5328 18921 18069 2017-04-28T17:27:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18921 wikitext text/x-wiki {{-so-}} === Magac === '''kale''' {{-en-}} === Magac === '''kale''' gwxeqwhwuzg4qopg9o01so06u4btjr8 ogoshahay 0 5329 16911 2016-07-10T15:38:55Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''ogoshahay''' 16911 wikitext text/x-wiki {{-so-}} ===Magac=== '''ogoshahay''' m4pk5hjkmq5wyqhc1xc312kqcaa2d70 qoraal 0 5330 30952 30948 2024-09-28T10:34:18Z Girligaanshub 3150 30952 wikitext text/x-wiki {{-so-}} ==Magac== '''qoraal''' ===Tarjumaad=== *{{en}}: script, 9nk0adoln0kpn0g92xyi213rontcdz3 magacaada 0 5331 16913 2016-07-10T15:40:26Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''magacaada''' 16913 wikitext text/x-wiki {{-so-}} ===Magac=== '''magacaada''' q9vnng19t7euwuxtuxcx6mctwfvvw2s lala 0 5332 18968 17306 2017-04-28T17:27:26Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18968 wikitext text/x-wiki {{-so-}} === Magac === '''lala''' j2709qgfd2zsazu6s4cla33ddvmnlw9 xuso 0 5333 16915 2016-07-10T15:40:43Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''xuso''' 16915 wikitext text/x-wiki {{-so-}} ===Magac=== '''xuso''' 402xw25a0h51jpl9o7f8yzl6p1rat9g dhanka 0 5334 16916 2016-07-10T15:40:55Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''dhanka''' 16916 wikitext text/x-wiki {{-so-}} ===Magac=== '''dhanka''' 3f80zdi7db6y32zvar0fhrvrboowaeg in 0 5335 18875 17177 2017-04-28T17:26:49Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18875 wikitext text/x-wiki {{-so-}} === Magac === '''in''' {{-en-}} === Falka === '''in''' === Meeleeye === '''in''' === Fal-kaab === '''in''' === Magac === '''in''' === Sifo === '''in''' {{-af-}} === Fal-kaab === '''in''' {{-nl-}} === Fal-kaab === '''in''' === Meeleeye === '''in''' {{-de-}} === Meeleeye === '''in''' {{-ia-}} === Meeleeye === '''in''' {{-ga-}} === Meeleeye === '''in''' {{-it-}} === Meeleeye === '''in''' {{-la-}} === Meeleeye === '''in''' {{-nov-}} === Meeleeye === '''in''' {{-nds-}} === Meeleeye === '''in''' {{-pt-}} === Meeleeye === '''in''' === Sifo === '''in''' {{-ro-}} === Magac === '''in''' {{-rm-}} === Maqaalka === '''in''' {{-sl-}} === Lala === '''in''' {{-sv-}} === Fal-kaab === '''in''' {{-tr-}} === Magac === '''in''' {{-vi-}} === Falka === '''in''' {{-vo-}} === Meeleeye === '''in''' {{-cy-}} === Yaalka === '''in''' {{-fy-}} === Maqaalka === '''in''' slmqmbcx75htr5je19uv1g7o1lcag6r waxayna 0 5336 16918 2016-07-10T15:51:32Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''waxayna''' 16918 wikitext text/x-wiki {{-so-}} ===Magac=== '''waxayna''' emq9p42t3kiy0wcoe0qwna35i7nlklk batoono 0 5337 16919 2016-07-10T15:52:59Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''batoono''' 16919 wikitext text/x-wiki {{-so-}} ===Magac=== '''batoono''' 8pov1er1pxgycaj3csaq5l0ppku08tt koobma 0 5338 16920 2016-07-10T15:53:52Z 186.212.20.238 Bog cusub: {{-so-}} ===Magac=== '''koobma''' 16920 wikitext text/x-wiki {{-so-}} ===Magac=== '''koobma''' 5afomb40927b2hkdh9j3rb4upabus1w nasiibso 0 5339 26847 20446 2024-02-27T04:10:40Z Girligaanshub 3150 26847 wikitext text/x-wiki {{-so-}} == Magac == '''nasiibso''' === Tarjumaad === * {{en}}: randomize, make random svi6qah2vueapr83eps2u4mbg7hub44 itusi 0 5341 17141 2016-08-24T16:36:47Z 177.157.117.97 Bog cusub: {{-so-}} ===falka=== '''itusi''' 17141 wikitext text/x-wiki {{-so-}} ===falka=== '''itusi''' 14ir94jrziwzysksrp6hx15wvcycvn0 nuqul 0 5342 29084 26846 2024-07-29T04:44:04Z Girligaanshub 3150 29084 wikitext text/x-wiki {{-so-}} == Magac == '''nuqul''' === Tarjumaad === * {{en}}: view, version, copy, imitation, layout, draft, sketch l82hcuo51o5lrevz8hdwc6npsa78oov bedelkaan 0 5343 17143 2016-08-24T16:41:27Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''bedelkaan''' 17143 wikitext text/x-wiki {{-so-}} ===Magac=== '''bedelkaan''' hvbyl2anwayn6z7knuh6dsfnf41t0sp qaldantay 0 5344 17144 2016-08-24T16:41:52Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''qaldantay''' 17144 wikitext text/x-wiki {{-so-}} ===Magac=== '''qaldantay''' fwslyfz5zh6z2vnomok09jf768o05jq qabo 0 5345 17145 2016-08-24T16:42:32Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''qabo''' 17145 wikitext text/x-wiki {{-so-}} ===Magac=== '''qabo''' pepcu6svauokzdiqwfrvefow8yztwg1 previous 0 5346 17146 2016-08-24T16:44:32Z 177.157.117.97 Bog cusub: {{-en-}} ===Magac=== '''previous''' 17146 wikitext text/x-wiki {{-en-}} ===Magac=== '''previous''' l6mkl2qyrp7s7dqi9utcq65lkydp96c loos 0 5347 18992 17849 2017-04-28T17:27:36Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18992 wikitext text/x-wiki {{-so-}} === Magac === '''loos''' {{-af-}} === Magac === '''loos''' {{-nl-}} === Magac === '''loos''' sbi6g4t1i6a6mos8fy6os5dmgcbk24c siet 0 5348 17148 2016-08-24T16:53:24Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''siet''' [[farcan]] 17148 wikitext text/x-wiki {{-af-}} ===Magac=== '''siet''' [[farcan]] r51d6sk3yvvzo1ysv3j0i4bkftxylsr farcan 0 5349 28383 17149 2024-06-15T13:29:21Z Girligaanshub 3150 28383 wikitext text/x-wiki {{-so-}} == Magac == '''farcan''' === Tarjumaad === * {{en}}: offspring svwrq5zqx3un5lxt9fktj8xapq0p38a slaat 0 5350 17150 2016-08-24T16:54:30Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''slaat''' [[dukaamada]] 17150 wikitext text/x-wiki {{-af-}} ===Magac=== '''slaat''' [[dukaamada]] fu0efrobp8wa277dz00mdxwp5d24cz9 dukaamada 0 5351 17151 2016-08-24T16:55:01Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''dukaamada''' 17151 wikitext text/x-wiki {{-so-}} ===Magac=== '''dukaamada''' 0ew6603d9u2bis48huqm3in52cnohrr rykdom 0 5352 17152 2016-08-24T16:55:51Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''rykdom''' [[maalka]] 17152 wikitext text/x-wiki {{-af-}} ===Magac=== '''rykdom''' [[maalka]] mqi0ecgaxuizq5zgiukzs72nhs1kauf maalka 0 5353 17153 2016-08-24T16:56:12Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''maalka''' 17153 wikitext text/x-wiki {{-so-}} ===Magac=== '''maalka''' bdohybe6yjpinkqzm3owbpz5uk3h83f wildebees 0 5354 17154 2016-08-24T16:57:23Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''wildebees''' [[gisida]] 17154 wikitext text/x-wiki {{-af-}} ===Magac=== '''wildebees''' [[gisida]] 77a8gonz644g5y3ilvqbhrr8rjxudj4 gisida 0 5355 17155 2016-08-24T16:57:44Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''gisida''' 17155 wikitext text/x-wiki {{-so-}} ===Magac=== '''gisida''' du66kjlk5vb9nluzmcdfashrw2iqce3 waan 0 5356 25762 25722 2023-11-05T22:29:00Z Girligaanshub 3150 25762 wikitext text/x-wiki {{-so-}} == Magac == '''waan''' === Tarjumaad === * {{en}}: birds and bees, confidential facts of life, the talk, private one to one, consultation, heart-to-heart, man-to-man * nurse, feed kpsind7p3h57saw6biy9eupmhhyqe83 dhagar 0 5357 32771 32770 2024-12-01T14:03:45Z ВМНС 5070 32771 wikitext text/x-wiki {{-so-}} == Magac == '''dhagar''' === Tarjumaad === * {{en}}: scheming, manipulate, manipulation, cunning, conspiring, swindling, deceive, plot, plotting ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], [[Category:Soomaali ereyada-dha]] b5fql1dujj5umzaoznyfqf2nrzg0frt nie 0 5358 19067 17184 2017-04-28T17:28:07Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19067 wikitext text/x-wiki {{-af-}} === Falka === '''nie''' [[ma]] {{-nl-}} === Falka === '''nie''' [[ma]] {{-pl-}} === Falka === '''nie''' [[ma]] eqhu4ikns26gubvj6wx8463tin8wlx5 byt 0 5359 18528 17210 2017-04-28T17:24:23Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18528 wikitext text/x-wiki {{-af-}} === Falka === '''byt''' [[qaniini]] i26qo7r6tc8wtwtfgr1rdf96j734a8y qaniini 0 5360 28508 17160 2024-06-16T00:02:21Z Girligaanshub 3150 28508 wikitext text/x-wiki {{-so-}} == Magac == '''qaniini''' === Tarjumaad === * {{en}}: bite j46t9vkni8wyzv526qyl75jxpp5hs07 honde 0 5361 17161 2016-08-24T17:07:08Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''honde''' [[eeyaha]] 17161 wikitext text/x-wiki {{-af-}} ===Magac=== '''honde''' [[eeyaha]] fpy4og6rg5h237m2xzx9k7479phyadt eeyaha 0 5362 17162 2016-08-24T17:07:30Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''eeyaha''' 17162 wikitext text/x-wiki {{-so-}} ===Magac=== '''eeyaha''' dqzff8j18forzwey2hyj5e8j1r42ntj blaffende 0 5363 17163 2016-08-24T17:08:19Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''blaffende''' [[ciyitaanka]] 17163 wikitext text/x-wiki {{-af-}} ===Magac=== '''blaffende''' [[ciyitaanka]] oiqyjr4pqxzfunq7bsspl3ajgbyugqx ciyitaanka 0 5364 17164 2016-08-24T17:08:41Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''ciyitaanka''' 17164 wikitext text/x-wiki {{-so-}} ===Magac=== '''ciyitaanka''' 7z0oo9lktdxnvmzzs7vosu2ffla0b1v danig 0 5365 17165 2016-08-24T17:09:22Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''danig''' si xun u 17165 wikitext text/x-wiki {{-af-}} ===Magac=== '''danig''' si xun u ej4hqqfkj8htipvn4q52f7sqpmbew1z wigskrif 0 5366 19473 17245 2017-04-28T17:31:01Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19473 wikitext text/x-wiki {{-af-}} === Magac === '''wigskrif''' [[cuneiform]] en78swcy0bw49colcprasvrm23bjgdu cuneiform 0 5367 17167 2016-08-24T17:10:41Z 177.157.117.97 Bog cusub: {{-en-}} ===Magac=== '''cuneiform''' 17167 wikitext text/x-wiki {{-en-}} ===Magac=== '''cuneiform''' oaobzlt08qeblfoaild2ot2w0urw80n spykerskrif 0 5368 17168 2016-08-24T17:14:42Z 177.157.117.97 Bog cusub: {{-af-}} ===Magac=== '''spykerskrif''' [[cuneiform]] 17168 wikitext text/x-wiki {{-af-}} ===Magac=== '''spykerskrif''' [[cuneiform]] 8svqreorun2a1eejoer3f9wi2txxp29 nooddruf 0 5369 19080 18156 2017-04-28T17:28:14Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19080 wikitext text/x-wiki {{-af-}} === Magac === '''nooddruf''' [[xaaladaha]] [[cidhiidhiyin]] 0fw0zivijc9z1u4uorid7o8hnuz1785 cidhiidhiyin 0 5370 17171 2016-08-24T17:16:05Z 177.157.117.97 Bog cusub: {{-so-}} ===Magac=== '''cidhiidhiyin''' 17171 wikitext text/x-wiki {{-so-}} ===Magac=== '''cidhiidhiyin''' 88jd8jp96c2h38g4i6ei7z7kkibctyb xaalad 0 5371 30723 30670 2024-09-11T16:05:55Z Girligaanshub 3150 30723 wikitext text/x-wiki {{-so-}} == Magac == '''xaalad''' === Tarjumaad === * {{en}}: circumstance, circumstances, situation, situations, scenario, condition, instance, context, ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], jpm119qma3j2kzzm41mve6b4vjrlmj0 User:G(x)-former 2 5372 17181 2016-08-25T14:55:00Z Céréales Killer 1396 Céréales Killer moved page [[User:G(x)-former]] to [[User:V(g)]]: Automatically moved page while renaming the user "[[Special:CentralAuth/G(x)-former|G(x)-former]]" to "[[Special:CentralAuth/V(g)|V(g)]]" 17181 wikitext text/x-wiki #REDIRECT [[User:V(g)]] fno2i3m6ulvz5jp7oq2blhil19kkdql User talk:G(x)-former 3 5373 17183 2016-08-25T14:55:00Z Céréales Killer 1396 Céréales Killer moved page [[User talk:G(x)-former]] to [[User talk:V(g)]]: Automatically moved page while renaming the user "[[Special:CentralAuth/G(x)-former|G(x)-former]]" to "[[Special:CentralAuth/V(g)|V(g)]]" 17183 wikitext text/x-wiki #REDIRECT [[User talk:V(g)]] 63tkliarkhzzshcmkwd676wzt27jhs0 karate 0 5374 18923 17291 2017-04-28T17:27:08Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18923 wikitext text/x-wiki {{-sq-}} '''karate''' {{-an-}} '''karate''' {{-az-}} '''karate''' {{-eu-}} '''karate''' {{-br-}} '''karate''' {{-ca-}} '''karate''' {{-cs-}} '''karate''' {{-ku-}} '''karate''' {{-da-}} '''karate''' {{-sk-}} '''karate''' {{-sl-}} '''karate''' {{-es-}} '''karate''' {{-et-}} '''karate''' {{-fi-}} '''karate''' {{-fy-}} '''karate''' {{-gl-}} '''karate''' {{-cy-}} '''karate''' {{-ht-}} '''karate''' {{-en-}} '''karate''' {{-fj-}} '''karate''' {{-nl-}} '''karate''' {{-hu-}} '''karate''' {{-id-}} '''karate''' {{-ia-}} '''karate''' {{-is-}} '''karate''' {{-it-}} '''karate''' {{-ms-}} '''karate''' {{-mg-}} '''karate''' {{-no-}} '''karate''' {{-nn-}} '''karate''' {{-oc-}} '''karate''' {{-pl-}} '''karate''' {{-rm-}} '''karate''' {{-rw-}} '''karate''' {{-sh-}} '''karate''' {{-scn-}} '''karate''' {{-sv-}} '''karate''' {{-tl-}} '''karate''' {{-tr-}} '''karate''' {{-vec-}} '''karate''' {{-uz-}} '''karate''' {{-vi-}} '''karate''' {{-wa-}} '''karate''' ss0zblptj1cxexsolkh4xjkd1u5h88z Tuvalu 0 5376 18350 17408 2017-04-28T17:22:57Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18350 wikitext text/x-wiki {{-so-}} '''Tuvalu''' {{-af-}} '''Tuvalu''' {{-sq-}} '''Tuvalu''' {{-an-}} '''Tuvalu''' {{-bar-}} '''Tuvalu''' {{-eu-}} '''Tuvalu''' {{-ca-}} '''Tuvalu''' {{-co-}} '''Tuvalu''' {{-gl-}} '''Tuvalu''' {{-io-}} '''Tuvalu''' {{-da-}} '''Tuvalu''' {{-es-}} '''Tuvalu''' {{-de-}} '''Tuvalu''' {{-tl-}} '''Tuvalu''' {{-tpi-}} '''Tuvalu''' {{-tr-}} '''Tuvalu''' {{-tvl-}} '''Tuvalu''' {{-wo-}} '''Tuvalu''' {{-sh-}} '''Tuvalu''' {{-sk-}} '''Tuvalu''' {{-sl-}} '''Tuvalu''' {{-cs-}} '''Tuvalu''' {{-uz-}} '''Tuvalu''' {{-za-}} '''Tuvalu''' {{-et-}} '''Tuvalu''' {{-fi-}} '''Tuvalu''' {{-fr-}} '''Tuvalu''' {{-nl-}} '''Tuvalu''' {{-hu-}} '''Tuvalu''' {{-id-}} '''Tuvalu''' {{-en-}} '''Tuvalu''' {{-ia-}} '''Tuvalu''' {{-it-}} '''Tuvalu''' {{-la-}} '''Tuvalu''' {{-lv-}} '''Tuvalu''' {{-lt-}} '''Tuvalu''' {{-ms-}} '''Tuvalu''' {{-no-}} '''Tuvalu''' {{-nn-}} '''Tuvalu''' {{-oc-}} '''Tuvalu''' {{-pl-}} '''Tuvalu''' {{-pt-}} '''Tuvalu''' {{-ro-}} '''Tuvalu''' {{-sv-}} '''Tuvalu''' p3veu7lj37f333seoanrr0h4svia9du Halloween 0 5377 18300 17474 2017-04-28T17:22:31Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 18300 wikitext text/x-wiki {{-sq-}} Halloween {{-fr-}} Halloween {{-en-}} Halloween {{-lb-}} Halloween {{-de-}} Halloween {{-sv-}} Halloween gmbfrf8ta8at0oycab1a663rnoylvbl week 0 5378 19470 17498 2017-04-28T17:31:00Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19470 wikitext text/x-wiki {{-af-}} === Magac === '''week''' {{-en-}} === Magac === '''week''' {{-nl-}} === Magac === '''week''' k6c9wmv8cvjwvgi58syryondwger7sa afaaf 0 5379 25852 25850 2023-11-11T18:05:25Z Girligaanshub 3150 25852 wikitext text/x-wiki {{-so-}} == Magac == '''afaaf''' === Tarjumaad === * {{en}}: sharp, edge ghxsk6r9ator6ivdcdngak9i9n65vol link 0 5380 18981 17601 2017-04-28T17:27:32Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 18981 wikitext text/x-wiki {{-en-}} === Magac === '''link''' === Falka === '''link''' {{-da-}} === Magac === '''link''' {{-nl-}} === Magac === '''link''' {{-de-}} === Sifo === '''link''' {{-hu-}} === Magac === '''link''' === Sifo === '''link''' {{-es-}} === Magac === '''link''' {{-it-}} === Magac === '''link''' {{-lt-}} === Magac === '''link''' {{-pl-}} === Magac === '''link''' {{-pt-}} === Magac === '''link''' gauzamozg0xqj2q0y57w9di1ghpi5jw ur 0 5383 19434 17768 2017-04-28T17:30:45Z JAnDbot 743 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; Badal qurxin ah 19434 wikitext text/x-wiki {{-eu-}} === Magac === '''ur''' [[biyo]] c2thl48ea806wvh3iik38c8zq2662y8 User:Morphypnos/common.js 2 5384 17912 2017-02-15T23:58:58Z Litlok 1710 Litlok moved page [[User:Morphypnos/common.js]] to [[User:La fée Didier/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Morphypnos|Morphypnos]]" to "[[Special:CentralAuth/La fée Didier|La fée Didier]]" 17912 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:La_f%C3%A9e_Didier/common.js\u0026action=raw\u0026ctype=text/javascript"); 1w333x5psuy2b9nceg82nnev5waev7f User:Allan Aguilar/common.js 2 5385 17931 2017-02-16T13:44:49Z Savh 517 Savh moved page [[User:Allan Aguilar/common.js]] to [[User:Green Mostaza/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Allan Aguilar|Allan Aguilar]]" to "[[Special:CentralAuth/Green Mostaza|Green Mostaza]]" 17931 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:Green_Mostaza/common.js\u0026action=raw\u0026ctype=text/javascript"); kyotwejjhw4f5r4r2a7lrt0k548e0f9 lohavy 0 5408 19798 2017-05-15T10:57:40Z 200.130.64.1 Bog cusub: {{-mg-}} ===Magac=== '''lohavy''' [[nooc]] 19798 wikitext text/x-wiki {{-mg-}} ===Magac=== '''lohavy''' [[nooc]] 2cbjw438ukt2opg3k4xn3q565cgfkuj Template:-mg- 10 5439 19831 2017-05-16T16:11:15Z 189.6.16.34 Bog cusub: <includeonly>[[Category:Malagasi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Malagasiis</big></big></big> (mg)</div>== <br><noinclude>... 19831 wikitext text/x-wiki <includeonly>[[Category:Malagasi ereyada]]</includeonly>__NOEDITSECTION__ ==<div id="toc" class="toccolours" ><big><big><big> Malagasiis</big></big></big> (mg)</div>== <br><noinclude> <!--[[Category:Language templates]] Please translate "language templates" and remove this warning--> </noinclude><noinclude> [[Category:Wiktionary/translate]] </noinclude> q8m9g4wadfjwsve8hhzfriy0kwxcomb абака 0 5441 19833 2017-05-16T21:49:41Z Dalmo Pereira 1417 Bog cusub: {{-mn-}} ===Magac=== '''абака''' {{-be-}} ===Magac=== '''абака''' {{-bg-}} ===Magac=== '''абака''' {{-ky-}} ===Magac=== '''абака''' {{-ru-}} ===Magac=== '''аб... 19833 wikitext text/x-wiki {{-mn-}} ===Magac=== '''абака''' {{-be-}} ===Magac=== '''абака''' {{-bg-}} ===Magac=== '''абака''' {{-ky-}} ===Magac=== '''абака''' {{-ru-}} ===Magac=== '''абака''' {{-uk-}} ===Magac=== '''абака''' orb3s5hquk9gu05c4ts9tdnit5q4xkv Module:list of languages 828 5443 19838 2017-06-17T14:50:15Z Dalmo Pereira 1417 Bog cusub: local m_languages = mw.loadData("Module:languages/alldata") local m_families = mw.loadData("Module:families/data") local export = {} local filters = {} function export.count(frame)... 19838 Scribunto text/plain local m_languages = mw.loadData("Module:languages/alldata") local m_families = mw.loadData("Module:families/data") local export = {} local filters = {} function export.count(frame) local c = 0 for code, data in pairs(m_languages) do c = c + 1 end return tostring(c) end function export.show(frame) local args = frame.args local filter = filters[args[1]] local ids = args["ids"]; if not ids or ids == "" then ids = false else ids = true end -- Get a list of all language codes local codes = {} for code, data in pairs(m_languages) do if filter and filter(code, data, args) then codes[#codes + 1] = code end end -- Sort the list table.sort(codes) -- Now go over each code, and create table rows for those that are selected local rows = {} for _, code in ipairs(codes) do local data = m_languages[code] local row = "\n|-\n|" .. (ids and " id=\"" .. code .. "\"|" or "") .. "<code>" .. code .. "</code>" .. "\n| [[:Category:" .. data.canonicalName .. (data.canonicalName:find("[Ll]anguage$") and "" or " language") .. "|" .. data.canonicalName .. "]]" .. "\n|" .. (data.family and data.family ~= "qfa-und" and ("[[Wiktionary:List of families#%s|%s]]"):format(data.family, m_families[data.family] and m_families[data.family].canonicalName or ("<code>" .. data.family .. "</code>")) or "") .. "\n|" -- Can't use table.concat here as Module:languages returns a metatable if data.scripts and data.scripts[1] ~= "None" then row = row .. "[[Wiktionary:List of scripts#" .. data.scripts[1] .. "|<code>" .. data.scripts[1] .. "</code>]]" local i = 2 while data.scripts[i] do row = row .. ", [[Wiktionary:List of scripts#" .. data.scripts[i] .. "|<code>" .. data.scripts[i] .. "</code>]]" i = i + 1 end end row = row .. "\n|" if data.otherNames then row = row .. data.otherNames[1] local i = 2 while data.otherNames[i] do row = row .. ", " .. data.otherNames[i] i = i + 1 end end row = row .. "\n|" .. (data.sort_key and "Yes" or "") .. "\n|" .. (data.entry_name and "Yes" or "") rows[#rows + 1] = row end return "{| class=\"wikitable sortable\"\n" .. "! Code\n" .. "! Canonical name\n" .. "! Family\n" .. "! style=\"width: 12em\" | Scripts\n" .. "! Other names\n" .. "! Sort?\n" .. "! Diacr?" .. table.concat(rows) .. "\n|}" end -- Filter functions -- These return true or false depending on whether a given code -- should be included in the table or not. -- They're used to build shorter sublists. filters["two-letter code"] = function (code, data, args) local firstletter = args[2] return code:find("^" .. (firstletter or "[a-z]") .. "[a-z]$") ~= nil end filters["three-letter code"] = function (code, data, args) local firstletter = args[2] return code:find("^" .. (firstletter or "[a-z]") .. "[a-z][a-z]$") ~= nil end filters["exceptional"] = function (code, data, args) return code:find("-") ~= nil end filters["type"] = function (code, data, args) local type = args[2] return data.type == type end filters["subst"] = function (code, data, args) return data.sort_key or data.entry_name end filters["special"] = function (code, data, args) return data.family == "qfa-not" end -- function export.show_etym(frame) local m_etym_data = require('Module:etymology_languages/data') -- this probably HAS to be a require here local codes_list = {} local items = {} for code, data in pairs(m_etym_data) do if not codes_list[data] then codes_list[data] = {} table.insert(items, data) end table.insert(codes_list[data], code) end table.sort(items, function (apple, orange) return apple.canonicalName < orange.canonicalName end) local function make_parent_link(code) if m_languages[code] then return ('[[Wiktionary:List of languages#%s|%s]]'):format(code, m_languages[code].canonicalName) elseif m_families[code] then return ('[[Wiktionary:List of families#%s|%s family]]'):format(code, m_families[code].canonicalName) elseif m_etym_data[code] then return ('[[Wiktionary:List of languages/special#%s|%s]]'):format(code, m_etym_data[code].canonicalName) elseif code then return '<code>' .. code .. '</code>' else return '[missing]' end end local rows = {} for i, data in ipairs(items) do local codes = codes_list[data] table.sort(codes) for i, code in ipairs(codes) do codes[i] = '<code id="' .. code .. '">' .. code .. '</code>' end table.insert(rows, ' \n' .. '| ' .. table.concat(codes, ", ") .. '\n' .. '| [[:Category:Terms derived from ' .. data.canonicalName .. '|' .. data.canonicalName .. ']]\n' .. '| ' .. (data.otherNames and table.concat(data.otherNames, ", ") or "") .. '\n' .. '| ' .. make_parent_link(data.parent) ) end return "{| class=\"wikitable sortable\"\n" .. "! Codes\n" .. "! Canonical name\n" .. "! Other names\n" .. "! Parent\n" .. "|-" .. table.concat(rows, "\n|-") .. "\n|}" end return export rs6uasiuzuwg901qv0quow2npfzaynr Module:etymology languages/data 828 5444 19839 2017-06-17T14:56:41Z Dalmo Pereira 1417 Bog cusub: local m = {} -- Aramaic varieties m["sem-jar"] = { canonicalName = "Jewish Aramaic", parent = "arc", } m["tmr"] = { canonicalName = "Jewish Babylonian Aramaic", parent = "arc",... 19839 Scribunto text/plain local m = {} -- Aramaic varieties m["sem-jar"] = { canonicalName = "Jewish Aramaic", parent = "arc", } m["tmr"] = { canonicalName = "Jewish Babylonian Aramaic", parent = "arc", } m["jpa"] = { canonicalName = "Jewish Palestinian Aramaic", otherNames = {"Galilean Aramaic"}, parent = "arc", } -- German varieties m["de-AT"] = { canonicalName = "Austrian German", parent = "de", } m["Austrian German"] = m["de-AT"] m["AG."] = m["de-AT"] m["de-AT-vie"] = { canonicalName = "Viennese German", parent = "de-AT", } m["Viennese German"] = m["de-AT-vie"] m["VG."] = m["de-AT-vie"] m["ksh"] = { canonicalName = "Kölsch", parent = "gmw-cfr", } m["Kölsch"] = m["ksh"] m["pfl"] = { canonicalName = "Palatine German", otherNames = {"Pfälzisch", "Pälzisch", "Palatinate German"}, parent = "gmw-rfr", } -- Old High German varieties m["lng"] = { canonicalName = "Lombardic", parent = "goh", } m["Lombardic"] = m["lng"] m["goh-lng"] = m["lng"] -- Old English varieties m["ang-mer"] = { canonicalName = "Mercian Old English", parent = "ang", } m["ang-nor"] = { canonicalName = "Northumbrian Old English", parent = "ang", } -- English varieties m["en-GB"] = { canonicalName = "British English", parent = "en", } m["British English"] = m["en-GB"] m["BE."] = m["en-GB"] m["en-US"] = { canonicalName = "American English", parent = "en", } m["American English"] = m["en-US"] m["AE."] = m["en-US"] -- Scots varieties m["sco-osc"] = { canonicalName = "Early Scots", parent = "sco", } m["Early Scots"] = m["sco-osc"] m["Old Scots"] = m["sco-osc"] m["O.Sc."] = m["sco-osc"] m["sco-smi"] = { canonicalName = "Middle Scots", parent = "sco", } m["Middle Scots"] = m["sco-smi"] m["Mid.Sc."] = m["sco-smi"] m["sco-ins"] = { canonicalName = "Insular Scots", parent = "sco", } m["Insular Scots"] = m["sco-ins"] m["Ins.Sc."] = m["sco-ins"] m["sco-uls"] = { canonicalName = "Ulster Scots", parent = "sco", } m["Ulster Scots"] = m["sco-uls"] m["Uls.Sc."] = m["sco-uls"] m["sco-nor"] = { canonicalName = "Northern Scots", parent = "sco", } m["Northern Scots"] = m["sco-nor"] m["Nor.Sc."] = m["sco-nor"] m["sco-sou"] = { canonicalName = "Southern Scots", parent = "sco", } m["Southern Scots"] = m["sco-sou"] m["Borders Scots"] = m["sco-sou"] m["Sou.Sc."] = m["sco-sou"] -- French varieties m["fro-nor"] = { canonicalName = "Old Northern French", otherNames = {"Old Norman", "Old Norman French"}, wikipedia_article = "Old Norman", parent = "fro", } m["Old Northern French"] = m["fro-nor"] m["ONF."] = m["fro-nor"] m["fro-pic"] = { canonicalName = "Old Picard", parent = "fro", } m["xno"] = { canonicalName = "Anglo-Norman", parent = "fro", wikipedia_article = "Anglo-Norman language", } m["fr-CA"] = { canonicalName = "Canadian French", parent = "fr", } m["Canadian French"] = m["fr-CA"] m["CF."] = m["fr-CA"] m["fr-aca"] = { canonicalName = "Acadian French", parent = "fr", } m["Acadian French"] = m["fr-aca"] m["fra-aca"] = m["fr-aca"] m["frc"] = { canonicalName = "Cajun French", otherNames = {"Louisiana French"}, parent = "fr", } -- Norman varieties m["roa-grn"] = { canonicalName = "Guernésiais", parent = "nrf", } m["roa-jer"] = { canonicalName = "Jèrriais", parent = "nrf", } -- Italian varieties m["it-oit"] = { canonicalName = "Old Italian", parent = "it", } m["roa-oit"] = m["it-oit"] -- other Italic lects m["osc-luc"] = { canonicalName = "Lucanian", parent = "osc", } m["osc-sam"] = { canonicalName = "Samnite", parent = "osc", } m["xum-her"] = { canonicalName = "Hernician", parent = "xum", } -- Latin varieties by period m["la-lat"] = { canonicalName = "Late Latin", parent = "la", } m["Late Latin"] = m["la-lat"] m["LL."] = m["la-lat"] m["LL"] = m["la-lat"] m["la-vul"] = { canonicalName = "Vulgar Latin", parent = "la", } m["Vulgar Latin"] = m["la-vul"] m["VL."] = m["la-vul"] m["la-med"] = { canonicalName = "Medieval Latin", parent = "la", } m["Medieval Latin"] = m["la-med"] m["ML."] = m["la-med"] m["ML"] = m["la-med"] m["la-ecc"] = { canonicalName = "Ecclesiastical Latin", otherNames = {"Church Latin"}, parent = "la", } m["Ecclesiastical Latin"] = m["la-ecc"] m["EL."] = m["la-ecc"] m["la-ren"] = { canonicalName = "Renaissance Latin", parent = "la", } m["Renaissance Latin"] = m["la-ren"] m["RL."] = m["la-ren"] m["la-new"] = { canonicalName = "New Latin", otherNames = {"Modern Latin"}, parent = "la", } m["New Latin"] = m["la-new"] m["NL."] = m["la-new"] -- Gaulish m["xcg"] = { canonicalName = "Cisalpine Gaulish", parent = "cel-gau", } m["xtg"] = { canonicalName = "Transalpine Gaulish", parent = "cel-gau", } -- Greek varieties m["qfa-sub-grc"] = { canonicalName = "Pre-Greek", parent = "qfa-sub", wikipedia_article = "Pre-Greek substrate", } m["pregrc"] = m["qfa-sub-grc"] m["grc-koi"] = { canonicalName = "Koine Greek", parent = "grc", } m["Koine"] = m["grc-koi"] m["gkm"] = { canonicalName = "Byzantine Greek", otherNames = {"Medieval Greek"}, parent = "grc", } m["Medieval Greek"] = m["gkm"] m["grc-dor"] = { canonicalName = "Doric Greek", parent = "grc", } m["grc-att"] = { canonicalName = "Attic Greek", parent = "grc", } m["grc-ion"] = { canonicalName = "Ionic Greek", parent = "grc", } m["grc-pam"] = { canonicalName = "Pamphylian Greek", parent = "grc", } m["grc-arp"] = { canonicalName = "Arcadocypriot Greek", parent = "grc", } m["el-arc"] = { canonicalName = "Arcadian Greek", parent = "el", } m["el-cyp"] = { canonicalName = "Cypriotic Greek", parent = "el", } m["el-pap"] = { canonicalName = "Paphian Greek", parent = "el", } m["grc-aeo"] = { canonicalName = "Aeolic Greek", otherNames = {"Lesbic Greek", "Lesbian Greek", "Aeolian Greek"}, parent = "grc", } -- NB related Calabrian Greek has 'full' code 'grk-cal' in Module:languages/datax m["el-grk"] = { canonicalName = "Griko", otherNames = {"Grico"}, parent = "el", } m["loc-ozo"] = { canonicalName = "Ozolian Locrian", parent = "el", } m["loc-opu"] = { canonicalName = "Opuntian Locrian", parent = "el", } m["el-ths"] = { canonicalName = "Thessalian Greek", parent = "el", } m["grc-ela"] = { canonicalName = "Elean Greek", parent = "grc", } m["grc-epc"] = { canonicalName = "Epic Greek", parent = "grc", } m["grc-hmr"] = { canonicalName = "Homeric Greek", parent = "grc", } m["el-crt"] = { canonicalName = "Cretan Greek", parent = "el", } -- Hebrew varieties m["hbo"] = { canonicalName = "Biblical Hebrew", otherNames = {"Classical Hebrew"}, parent = "he", } m["he-IL"] = { canonicalName = "Modern Israeli Hebrew", parent = "he", } m["sem-can-pro"] = { canonicalName = "Proto-Canaanite", parent = "sem-pro", } -- Historical Iranian dialects m["ira-mid"] = { canonicalName = "Middle Iranian", parent = "ira", } m["MIr."] = m["ira-mid"] m["ira-old"] = { canonicalName = "Old Iranian", parent = "ira", } m["OIr."] = m["ira-old"] m["fa-cls"] = { canonicalName = "Classical Persian", parent = "fa", } m["sog-bud"] = { canonicalName = "Buddhist Sogdian", parent = "sog", } m["sog-man"] = { canonicalName = "Manichean Sogdian", parent = "sog", } m["sog-chr"] = { canonicalName = "Christian Sogdian", parent = "sog", } -- Indo-Aryan varieties m["gu-kat"] = { canonicalName = "Kathiyawadi", otherNames = {"Kathiyawadi Gujarati", "Kathiawadi"}, parent = "gu", } m["gu-mid"] = { canonicalName = "Middle Gujarati", parent = "gu", } m["hi-mum"] = { canonicalName = "Bombay Hindi", otherNames = {"Mumbai Hindi", "Bambai Hindi"}, parent = "hi", } m["pa-old"] = { canonicalName = "Old Punjabi", parent = "pa", } m["bn-old"] = { canonicalName = "Old Bengali", parent = "bn", } m["bn-mid"] = { canonicalName = "Middle Bengali", parent = "bn", } m["or-old"] = { canonicalName = "Old Oriya", parent = "or", } m["or-mid"] = { canonicalName = "Middle Oriya", parent = "or", } m["si-med"] = { canonicalName = "Medieval Sinhalese", otherNames = {"Medieval Sinhala"}, parent = "si", } m["kok-mid"] = { canonicalName = "Middle Konkani", otherNames = {"Medieval Konkani"}, parent = "kok", } m["kok-old"] = { canonicalName = "Old Konkani", otherNames = {"Early Konkani"}, parent = "kok", } -- Dravidian varieties m["kn-old"] = { canonicalName = "Old Kannada", parent = "kn", } m["kn-mid"] = { canonicalName = "Middle Kannada", parent = "kn", } m["ta-mid"] = { canonicalName = "Middle Tamil", parent = "ta", } -- Dhivehi varieties m["mlk-dv"] = { canonicalName = "Mulaku Dhivehi", otherNames = {"Mulaku Divehi", "Mulaku Bas"}, parent = "dv", } m["hvd-dv"] = { canonicalName = "Huvadhu Dhivehi", otherNames = {"Huvadhu Divehi", "Huvadhu Bas"}, parent = "dv", } m["add-dv"] = { canonicalName = "Addu Dhivehi", otherNames = {"Addu Divehi", "Addu Bas"}, parent = "dv", } -- Prakrits m["psc-prk"] = { canonicalName = "Paisaci", otherNames = {"Paisaci Prakrit"}, parent = "sa", } m["prk-avt"] = { canonicalName = "Avanti", otherNames = {"Avanti Prakrit"}, parent = "sa", } m["elu-prk"] = { canonicalName = "Helu", otherNames = {"Hela", "Elu Prakrit", "Helu Prakrit", "Hela Prakrit"}, parent = "sa", } m["prc-prk"] = { canonicalName = "Pracya", otherNames = {"Pracya Prakrit"}, parent = "sa", } m["bhl-prk"] = { canonicalName = "Bahliki", otherNames = {"Bahliki Prakrit"}, parent = "sa", } m["dks-prk"] = { canonicalName = "Daksinatya", otherNames = {"Daksinatya Prakrit"}, parent = "sa", } m["skr-prk"] = { canonicalName = "Sakari", otherNames = {"Sakari Prakrit"}, parent = "sa", } m["cnd-prk"] = { canonicalName = "Candali", otherNames = {"Candali Prakrit"}, parent = "sa", } m["sbr-prk"] = { canonicalName = "Sabari", otherNames = {"Sabari Prakrit"}, parent = "sa", } m["abh-prk"] = { canonicalName = "Abhiri", otherNames = {"Abhiri Prakrit"}, parent = "sa", } m["drm-prk"] = { canonicalName = "Dramili", otherNames = {"Dramili Prakrit"}, parent = "sa", } m["odr-prk"] = { canonicalName = "Odri", otherNames = {"Odri Prakrit"}, parent = "sa", } -- Slavic varieties m["zle-oru"] = { canonicalName = "Old Russian", parent = "orv", } m["zle-obe"] = { canonicalName = "Old Belarusian", parent = "orv", } m["zle-ouk"] = { canonicalName = "Old Ukrainian", parent = "orv", } -- Chinese varieties m["wuu-sha"] = { canonicalName = "Shanghainese", parent = "wuu", } m["Sha."] = m["wuu-sha"] m["yue-tai"] = { canonicalName = "Taishanese", parent = "yue", } m["hak-wuh"] = { canonicalName = "Wuhua Chinese", parent = "hak", } m["hsn-old"] = { canonicalName = "Old Xiang", otherNames = {"Lou-Shao"}, parent = "hsn", } m["pinhua"] = { canonicalName = "Pinghua", parent = "yue", } m["nan-hai"] = { canonicalName = "Hainanese", parent = "nan", } m["nan-hok"] = { canonicalName = "Hokkien", parent = "nan", } m["nan-amo"] = { canonicalName = "Amoy", otherNames = {"Xiamenese"}, parent = "nan-hok", } m["nan-phl"] = { canonicalName = "Philippine Hokkien", parent = "nan-hok", } m["nan-teo"] = { canonicalName = "Teochew", parent = "nan", } -- Phillipine varieties m["tl-old"] = { canonicalName = "Old Tagalog", parent = "tl", } m["tl-cls"] = { canonicalName = "Classical Tagalog", parent = "tl", } -- Turkic lects m["trk-cmn"] = { canonicalName = "Common Turkic", parent = "trk-pro", } m["otk-kir"] = { canonicalName = "Old Kirghiz", parent = "otk", } m["klj-arg"] = { canonicalName = "Arghu", parent = "klj", } -- Mongolic lects m["mn-kha"] = { canonicalName = "Khalkha Mongolian", parent = "mn", } m["mn-ord"] = { canonicalName = "Ordos Mongolian", parent = "mn", } m["mn-cha"] = { canonicalName = "Chakhar Mongolian", parent = "mn", } m["mn-khr"] = { canonicalName = "Khorchin Mongolian", parent = "mn", } m["mjg-huz"] = { canonicalName = "Mongghul", otherNames = {"Huzhu Monguor"}, parent = "mjg", } m["mjg-min"] = { canonicalName = "Mangghuer", otherNames = {"Minhe Monguor"}, parent = "mjg", } -- Tungusic lects m["evn-sol"] = { canonicalName = "Solon", parent = "evn", } -- Other lects m["alv-kro"] = { canonicalName = "Kromanti", parent = "crp", } m["bat-pro"] = { canonicalName = "Proto-Baltic", parent = "ine-bsl-pro", } m["es-lun"] = { canonicalName = "Lunfardo", parent = "es", } m["Lunfardo"] = m["es-lun"] m["fiu-pro"] = { canonicalName = "Proto-Finno-Ugric", parent = "urj-pro", } m["gem-sue"] = { canonicalName = "Suevic", otherNames = {"Suebian"}, parent = "gmw", } m["mkh-okm-A"] = { canonicalName = "Angkorian Old Khmer", parent = "mkh-okm", wikipedia_article = "Khmer language#Historical periods", } m["mkh-okm-P"] = { canonicalName = "Pre-Angkorian Old Khmer", parent = "mkh-okm", wikipedia_article = "Khmer language#Historical periods", } m["prv"] = { canonicalName = "Provençal", parent = "oc", wikipedia_article = "Provençal dialect", } m["qfa-pyg"] = { canonicalName = "a substrate language originally spoken by the Pygmies", parent = "qfa-sub", wikipedia_article = "Classification of Pygmy languages#Original Pygmy language(s)", } m["pygmy"] = m["qfa-pyg"] m["und-tdl"] = { canonicalName = "Turduli", parent = "und", wikipedia_article = "Turduli", } m["und-tdt"] = { canonicalName = "Turdetani", parent = "und", wikipedia_article = "Turdetani", } m["urj-fpr-pro"] = { canonicalName = "Proto-Finno-Permic", parent = "urj-pro", } m["woy"] = { canonicalName = "Weyto", parent = "und", } -- Pre-Roman substrates m["qfa-sub-ibe"] = { canonicalName = "a pre-Roman substrate of Iberia", parent = "qfa-sub", wikipedia_article = "Pre-Roman peoples of the Iberian Peninsula", } m["qfa-sub-bal"] = { canonicalName = "a pre-Roman substrate of the Balkans", parent = "qfa-sub", } -- Translingual varieties m["mul-tax"] = { canonicalName = "taxonomic name", parent= "mul", } m["Tax."] = m["mul-tax"] return m 6s5w5smu6iqghysojvyusfzz3n78by1 Template:List of languages/special 10 5445 19840 2017-06-17T14:59:06Z Dalmo Pereira 1417 Bog cusub: {{main|Wiktionary:List of languages|Wiktionary:Languages}} {{shortcut|WT:LOL/S}} This page lists languages by any particular property that they may have. ==Not allowed in main namespa... 19840 wikitext text/x-wiki {{main|Wiktionary:List of languages|Wiktionary:Languages}} {{shortcut|WT:LOL/S}} This page lists languages by any particular property that they may have. ==Not allowed in main namespace== These languages are not permitted in the main namespace, only in the Appendix namespace. ===Reconstructed languages=== {{#invoke:list of languages|show|type|reconstructed}} ===Minor constructed languages=== {{#invoke:list of languages|show|type|appendix-constructed}} ==With sort key or diacritic removal== These languages have the <code>sort_key</code> and/or <code>entry_name</code> value set. These properties are used to generate a sort key or an entry name, by removing diacritics and the like. {{#invoke:list of languages|show|subst}} ==Meta-codes== {{#invoke:list of languages|show|special}} ==Etymology-only languages== {{shortcut|WT:LOL/E}} {{#invoke:list of languages|show_etym}} [[Category:All languages]] 7hr61lhl72klgrpiq414arfm33qzbtv Module:Writing systems 828 5446 19841 2017-06-17T15:31:49Z Dalmo Pereira 1417 Bog cusub: local export = {} local System = {} function System:getCode() return self._code end function System:getCanonicalName() return self._rawData.canonicalName end function System:g... 19841 Scribunto text/plain local export = {} local System = {} function System:getCode() return self._code end function System:getCanonicalName() return self._rawData.canonicalName end function System:getOtherNames() return self._rawData.otherNames or {} end --function System:getAllNames() -- return self._rawData.names --end function System:getType() return "Writing system" end function System:getCategoryName() return "Scripts in " .. self._rawData.canonicalName end function System:getRawData() return self._rawData end function System:toJSON() local ret = { canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName(), code = self._code, otherNames = self:getOtherNames(), type = self:getType(), } return require("Module:JSON").toJSON(ret) end System.__index = System function export.makeObject(code, data) return data and setmetatable({ _rawData = data, _code = code }, System) or nil end function export.getByCode(code) return export.makeObject(code, mw.loadData("Module:Writing systems/data")[code]) end return export 8n3996f7tbfy1zxkmu6rycowraed6ll Module:Writing systems/data 828 5447 19842 2017-06-17T15:32:52Z Dalmo Pereira 1417 Bog cusub: local m = {} m["abjad"] = { canonicalName = "abjad", otherNames = {"consonantary", "consonantal alphabet", "syllabary"}, } m["abugida"] = { canonicalName = "abugida", otherNames... 19842 Scribunto text/plain local m = {} m["abjad"] = { canonicalName = "abjad", otherNames = {"consonantary", "consonantal alphabet", "syllabary"}, } m["abugida"] = { canonicalName = "abugida", otherNames = {"alphasyllabary"}, } m["alphabet"] = { canonicalName = "alphabet", } m["logography"] = { canonicalName = "logography", otherNames = {"ideography"}, } m["pictography"] = { canonicalName = "pictography", } m["syllabary"] = { canonicalName = "syllabary", } return m boknamasp0caju98jooxlexj5x01jsf Module:Unicode data 828 5448 19843 2017-06-17T15:55:19Z Dalmo Pereira 1417 Bog cusub: local export = {} -- http://www.unicode.org/Public/UNIDATA/Jamo.txt local hangul_leads = { [0] = "G", "GG", "N", "D", "DD", "R", "M", "B", "BB", "S", "SS", "", "J", "JJ", "C", "K",... 19843 Scribunto text/plain local export = {} -- http://www.unicode.org/Public/UNIDATA/Jamo.txt local hangul_leads = { [0] = "G", "GG", "N", "D", "DD", "R", "M", "B", "BB", "S", "SS", "", "J", "JJ", "C", "K", "T", "P", "H" } local hangul_vowels = { [0] = "A", "AE", "YA", "YAE", "EO", "E", "YEO", "YE", "O", "WA", "WAE", "OE", "YO", "U", "WEO", "WE", "WI", "YU", "EU", "YI", "I" } local hangul_trails = { [0] = "", "G", "GG", "GS", "N", "NJ", "NH", "D", "L", "LG", "LM", "LB", "LS", "LT", "LP", "LH", "M", "B", "BS", "S", "SS", "NG", "J", "C", "K", "T", "P", "H" } local name_hooks = { { 0x00, 0x1f, "<control-%04X>" }, -- C0 control characters { 0x80, 0x9f, "<control-%04X>" }, -- C1 control characters { 0x3400, 0x4db5, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension A { 0x4e00, 0x9fd5, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph { 0xac00, 0xd7a3, function (codepoint) local m_hangul = require('Module:ko-hangul') local li, vi, ti = m_hangul.syllableIndex2JamoIndices( codepoint - 0xac00 ) return ("HANGUL SYLLABLE %s%s%s"):format( hangul_leads[li], -- I hate one-based indexing hangul_vowels[vi], hangul_trails[ti] -- never mind, I can live with it ) end }, { 0xd800, 0xdb7f, "<surrogate-%04X>" }, -- Non Private Use High Surrogate { 0xdb80, 0xdbff, "<surrogate-%04X>" }, -- Private Use High Surrogate { 0xdc00, 0xdfff, "<surrogate-%04X>" }, -- Low Surrogate { 0xe000, 0xf8ff, "<private-use-%04X>" }, -- Private Use { 0x17000, 0x187ec, "TANGUT IDEOGRAPH-%05X" }, -- Tangut { 0x20000, 0x2a6d6, "CJK UNIFIED IDEOGRAPH-%05X" }, -- CJK Ideograph Extension B { 0x2a700, 0x2b734, "CJK UNIFIED IDEOGRAPH-%05X" }, -- CJK Ideograph Extension C { 0x2a740, 0x2b81d, "CJK UNIFIED IDEOGRAPH-%05X" }, -- CJK Ideograph Extension D { 0x2b820, 0x2cea1, "CJK UNIFIED IDEOGRAPH-%05X" }, -- CJK Ideograph Extension E { 0x2f800, 0x2fa1d, "CJK COMPATIBILITY IDEOGRAPH-%05X" }, -- CJK Compatibility Ideographs Supplement (Supplementary Ideographic Plane) { 0xf0000, 0xffffd, "<private-use-%05X>" }, -- Plane 15 Private Use { 0x100000, 0x10fffd, "<private-use-%06X>" } -- Plane 16 Private Use } local noncharacters = { [ 0xfdd0] = true, [ 0xfdd1] = true, [ 0xfdd2] = true, [ 0xfdd3] = true, [ 0xfdd4] = true, [ 0xfdd5] = true, [ 0xfdd6] = true, [ 0xfdd7] = true, [ 0xfdd8] = true, [ 0xfdd9] = true, [ 0xfdda] = true, [ 0xfddb] = true, [ 0xfddc] = true, [ 0xfddd] = true, [ 0xfdde] = true, [ 0xfddf] = true, [ 0xfde0] = true, [ 0xfde1] = true, [ 0xfde2] = true, [ 0xfde3] = true, [ 0xfde4] = true, [ 0xfde5] = true, [ 0xfde6] = true, [ 0xfde7] = true, [ 0xfde8] = true, [ 0xfde9] = true, [ 0xfdea] = true, [ 0xfdeb] = true, [ 0xfdec] = true, [ 0xfded] = true, [ 0xfdee] = true, [ 0xfdef] = true, [ 0xfffe] = true, [ 0xffff] = true, [ 0x1fffe] = true, [ 0x1ffff] = true, [ 0x2fffe] = true, [ 0x2ffff] = true, [ 0x3fffe] = true, [ 0x3ffff] = true, [ 0x4fffe] = true, [ 0x4ffff] = true, [ 0x5fffe] = true, [ 0x5ffff] = true, [ 0x6fffe] = true, [ 0x6ffff] = true, [ 0x7fffe] = true, [ 0x7ffff] = true, [ 0x8fffe] = true, [ 0x8ffff] = true, [ 0x9fffe] = true, [ 0x9ffff] = true, [ 0xafffe] = true, [ 0xaffff] = true, [ 0xbfffe] = true, [ 0xbffff] = true, [ 0xcfffe] = true, [ 0xcffff] = true, [ 0xdfffe] = true, [ 0xdffff] = true, [ 0xefffe] = true, [ 0xeffff] = true, [ 0xffffe] = true, [ 0xfffff] = true, [0x10fffe] = true, [0x10ffff] = true } local name_range_cache function export.lookup_name(codepoint) if noncharacters[codepoint] then return ("<noncharacter-%.4X>"):format(codepoint) end if name_range_cache then if (codepoint >= name_range_cache[1]) and (codepoint <= name_range_cache[2]) then if type(name_range_cache[3]) == "string" then return name_range_cache[3]:format(codepoint) else return name_range_cache[3](codepoint) end end end for _, item in ipairs(name_hooks) do if (codepoint >= item[1]) and (codepoint <= item[2]) then name_range_cache = item if type(item[3]) == "string" then return item[3]:format(codepoint) else return item[3](codepoint) end elseif codepoint < item[1] then break end end local success, data = pcall(mw.loadData, ('Module:Unicode data/names/%03X'):format( math.floor(codepoint / 0x1000) ) ) return (success and data[codepoint]) or ("<U-%06X>"):format(codepoint) end function export.template_lookup_name(frame) local codepoint = tonumber(frame.args[1] or frame:getParent().args[1]) local name = export.lookup_name(codepoint) return name:gsub("<", "&lt;") end local planes = { [ 0] = "Basic Multilingual Plane"; [ 1] = "Supplementary Multilingual Plane"; [ 2] = "Supplementary Ideographic Plane"; [13] = "Supplementary Special-purpose Plane"; [14] = "Supplement­ary Private Use Area-A"; [15] = "Supplement­ary Private Use Area-B"; } -- http://www.unicode.org/Public/UNIDATA/Blocks.txt local blocks = { ["Basic Latin" ] = { 0x000000, 0x00007f }; ["Latin-1 Supplement" ] = { 0x000080, 0x0000ff }; ["Latin Extended-A" ] = { 0x000100, 0x00017f }; ["Latin Extended-B" ] = { 0x000180, 0x00024f }; ["IPA Extensions" ] = { 0x000250, 0x0002af }; ["Spacing Modifier Letters" ] = { 0x0002b0, 0x0002ff }; ["Combining Diacritical Marks" ] = { 0x000300, 0x00036f }; ["Greek and Coptic" ] = { 0x000370, 0x0003ff }; ["Cyrillic" ] = { 0x000400, 0x0004ff }; ["Cyrillic Supplement" ] = { 0x000500, 0x00052f }; ["Armenian" ] = { 0x000530, 0x00058f }; ["Hebrew" ] = { 0x000590, 0x0005ff }; ["Arabic" ] = { 0x000600, 0x0006ff }; ["Syriac" ] = { 0x000700, 0x00074f }; ["Arabic Supplement" ] = { 0x000750, 0x00077f }; ["Thaana" ] = { 0x000780, 0x0007bf }; ["NKo" ] = { 0x0007c0, 0x0007ff }; ["Samaritan" ] = { 0x000800, 0x00083f }; ["Mandaic" ] = { 0x000840, 0x00085f }; ["Arabic Extended-A" ] = { 0x0008a0, 0x0008ff }; ["Devanagari" ] = { 0x000900, 0x00097f }; ["Bengali" ] = { 0x000980, 0x0009ff }; ["Gurmukhi" ] = { 0x000a00, 0x000a7f }; ["Gujarati" ] = { 0x000a80, 0x000aff }; ["Oriya" ] = { 0x000b00, 0x000b7f }; ["Tamil" ] = { 0x000b80, 0x000bff }; ["Telugu" ] = { 0x000c00, 0x000c7f }; ["Kannada" ] = { 0x000c80, 0x000cff }; ["Malayalam" ] = { 0x000d00, 0x000d7f }; ["Sinhala" ] = { 0x000d80, 0x000dff }; ["សៀម" ] = { 0x000e00, 0x000e7f }; ["Lao" ] = { 0x000e80, 0x000eff }; ["Tibetan" ] = { 0x000f00, 0x000fff }; ["Myanmar" ] = { 0x001000, 0x00109f }; ["Georgian" ] = { 0x0010a0, 0x0010ff }; ["Hangul Jamo" ] = { 0x001100, 0x0011ff }; ["Ethiopic" ] = { 0x001200, 0x00137f }; ["Ethiopic Supplement" ] = { 0x001380, 0x00139f }; ["Cherokee" ] = { 0x0013a0, 0x0013ff }; ["Unified Canadian Aboriginal Syllabics" ] = { 0x001400, 0x00167f }; ["Ogham" ] = { 0x001680, 0x00169f }; ["Runic" ] = { 0x0016a0, 0x0016ff }; ["Tagalog" ] = { 0x001700, 0x00171f }; ["Hanunoo" ] = { 0x001720, 0x00173f }; ["Buhid" ] = { 0x001740, 0x00175f }; ["Tagbanwa" ] = { 0x001760, 0x00177f }; ["ខ្មែរ" ] = { 0x001780, 0x0017ff }; ["Mongolian" ] = { 0x001800, 0x0018af }; ["Unified Canadian Aboriginal Syllabics Extended" ] = { 0x0018b0, 0x0018ff }; ["Limbu" ] = { 0x001900, 0x00194f }; ["Tai Le" ] = { 0x001950, 0x00197f }; ["New Tai Lue" ] = { 0x001980, 0x0019df }; ["Khmer Symbols" ] = { 0x0019e0, 0x0019ff }; ["Buginese" ] = { 0x001a00, 0x001a1f }; ["Tai Tham" ] = { 0x001a20, 0x001aaf }; ["Combining Diacritical Marks Extended" ] = { 0x001ab0, 0x001aff }; ["Balinese" ] = { 0x001b00, 0x001b7f }; ["Sundanese" ] = { 0x001b80, 0x001bbf }; ["Batak" ] = { 0x001bc0, 0x001bff }; ["Lepcha" ] = { 0x001c00, 0x001c4f }; ["Ol Chiki" ] = { 0x001c50, 0x001c7f }; ["Cyrillic Extended-C" ] = { 0x001c80, 0x001c8f }; ["Sundanese Supplement" ] = { 0x001cc0, 0x001ccf }; ["Vedic Extensions" ] = { 0x001cd0, 0x001cff }; ["Phonetic Extensions" ] = { 0x001d00, 0x001d7f }; ["Phonetic Extensions Supplement" ] = { 0x001d80, 0x001dbf }; ["Combining Diacritical Marks Supplement" ] = { 0x001dc0, 0x001dff }; ["Latin Extended Additional" ] = { 0x001e00, 0x001eff }; ["Greek Extended" ] = { 0x001f00, 0x001fff }; ["General Punctuation" ] = { 0x002000, 0x00206f }; ["Superscripts and Subscripts" ] = { 0x002070, 0x00209f }; ["Currency Symbols" ] = { 0x0020a0, 0x0020cf }; ["Combining Diacritical Marks for Symbols" ] = { 0x0020d0, 0x0020ff }; ["Letterlike Symbols" ] = { 0x002100, 0x00214f }; ["Number Forms" ] = { 0x002150, 0x00218f }; ["Arrows" ] = { 0x002190, 0x0021ff }; ["Mathematical Operators" ] = { 0x002200, 0x0022ff }; ["Miscellaneous Technical" ] = { 0x002300, 0x0023ff }; ["Control Pictures" ] = { 0x002400, 0x00243f }; ["Optical Character Recognition" ] = { 0x002440, 0x00245f }; ["Enclosed Alphanumerics" ] = { 0x002460, 0x0024ff }; ["Box Drawing" ] = { 0x002500, 0x00257f }; ["Block Elements" ] = { 0x002580, 0x00259f }; ["Geometric Shapes" ] = { 0x0025a0, 0x0025ff }; ["Miscellaneous Symbols" ] = { 0x002600, 0x0026ff }; ["Dingbats" ] = { 0x002700, 0x0027bf }; ["Miscellaneous Mathematical Symbols-A" ] = { 0x0027c0, 0x0027ef }; ["Supplemental Arrows-A" ] = { 0x0027f0, 0x0027ff }; ["Braille Patterns" ] = { 0x002800, 0x0028ff }; ["Supplemental Arrows-B" ] = { 0x002900, 0x00297f }; ["Miscellaneous Mathematical Symbols-B" ] = { 0x002980, 0x0029ff }; ["Supplemental Mathematical Operators" ] = { 0x002a00, 0x002aff }; ["Miscellaneous Symbols and Arrows" ] = { 0x002b00, 0x002bff }; ["Glagolitic" ] = { 0x002c00, 0x002c5f }; ["Latin Extended-C" ] = { 0x002c60, 0x002c7f }; ["Coptic" ] = { 0x002c80, 0x002cff }; ["Georgian Supplement" ] = { 0x002d00, 0x002d2f }; ["Tifinagh" ] = { 0x002d30, 0x002d7f }; ["Ethiopic Extended" ] = { 0x002d80, 0x002ddf }; ["Cyrillic Extended-A" ] = { 0x002de0, 0x002dff }; ["Supplemental Punctuation" ] = { 0x002e00, 0x002e7f }; ["CJK Radicals Supplement" ] = { 0x002e80, 0x002eff }; ["Kangxi Radicals" ] = { 0x002f00, 0x002fdf }; ["Ideographic Description Characters" ] = { 0x002ff0, 0x002fff }; ["CJK Symbols and Punctuation" ] = { 0x003000, 0x00303f }; ["Hiragana" ] = { 0x003040, 0x00309f }; ["Katakana" ] = { 0x0030a0, 0x0030ff }; ["Bopomofo" ] = { 0x003100, 0x00312f }; ["Hangul Compatibility Jamo" ] = { 0x003130, 0x00318f }; ["Kanbun" ] = { 0x003190, 0x00319f }; ["Bopomofo Extended" ] = { 0x0031a0, 0x0031bf }; ["CJK Strokes" ] = { 0x0031c0, 0x0031ef }; ["Katakana Phonetic Extensions" ] = { 0x0031f0, 0x0031ff }; ["Enclosed CJK Letters and Months" ] = { 0x003200, 0x0032ff }; ["CJK Compatibility" ] = { 0x003300, 0x0033ff }; ["CJK Unified Ideographs Extension A" ] = { 0x003400, 0x004dbf }; ["Yijing Hexagram Symbols" ] = { 0x004dc0, 0x004dff }; ["CJK Unified Ideographs" ] = { 0x004e00, 0x009fff }; ["Yi Syllables" ] = { 0x00a000, 0x00a48f }; ["Yi Radicals" ] = { 0x00a490, 0x00a4cf }; ["Lisu" ] = { 0x00a4d0, 0x00a4ff }; ["Vai" ] = { 0x00a500, 0x00a63f }; ["Cyrillic Extended-B" ] = { 0x00a640, 0x00a69f }; ["Bamum" ] = { 0x00a6a0, 0x00a6ff }; ["Modifier Tone Letters" ] = { 0x00a700, 0x00a71f }; ["Latin Extended-D" ] = { 0x00a720, 0x00a7ff }; ["Syloti Nagri" ] = { 0x00a800, 0x00a82f }; ["Common Indic Number Forms" ] = { 0x00a830, 0x00a83f }; ["Phags-pa" ] = { 0x00a840, 0x00a87f }; ["Saurashtra" ] = { 0x00a880, 0x00a8df }; ["Devanagari Extended" ] = { 0x00a8e0, 0x00a8ff }; ["Kayah Li" ] = { 0x00a900, 0x00a92f }; ["Rejang" ] = { 0x00a930, 0x00a95f }; ["Hangul Jamo Extended-A" ] = { 0x00a960, 0x00a97f }; ["Javanese" ] = { 0x00a980, 0x00a9df }; ["Myanmar Extended-B" ] = { 0x00a9e0, 0x00a9ff }; ["Cham" ] = { 0x00aa00, 0x00aa5f }; ["Myanmar Extended-A" ] = { 0x00aa60, 0x00aa7f }; ["Tai Viet" ] = { 0x00aa80, 0x00aadf }; ["Meetei Mayek Extensions" ] = { 0x00aae0, 0x00aaff }; ["Ethiopic Extended-A" ] = { 0x00ab00, 0x00ab2f }; ["Latin Extended-E" ] = { 0x00ab30, 0x00ab6f }; ["Cherokee Supplement" ] = { 0x00ab70, 0x00abbf }; ["Meetei Mayek" ] = { 0x00abc0, 0x00abff }; ["Hangul Syllables" ] = { 0x00ac00, 0x00d7af }; ["Hangul Jamo Extended-B" ] = { 0x00d7b0, 0x00d7ff }; ["High Surrogates" ] = { 0x00d800, 0x00db7f }; ["High Private Use Surrogates" ] = { 0x00db80, 0x00dbff }; ["Low Surrogates" ] = { 0x00dc00, 0x00dfff }; ["Private Use Area" ] = { 0x00e000, 0x00f8ff }; ["CJK Compatibility Ideographs" ] = { 0x00f900, 0x00faff }; ["Alphabetic Presentation Forms" ] = { 0x00fb00, 0x00fb4f }; ["Arabic Presentation Forms-A" ] = { 0x00fb50, 0x00fdff }; ["Variation Selectors" ] = { 0x00fe00, 0x00fe0f }; ["Vertical Forms" ] = { 0x00fe10, 0x00fe1f }; ["Combining Half Marks" ] = { 0x00fe20, 0x00fe2f }; ["CJK Compatibility Forms" ] = { 0x00fe30, 0x00fe4f }; ["Small Form Variants" ] = { 0x00fe50, 0x00fe6f }; ["Arabic Presentation Forms-B" ] = { 0x00fe70, 0x00feff }; ["Halfwidth and Fullwidth Forms" ] = { 0x00ff00, 0x00ffef }; ["Specials" ] = { 0x00fff0, 0x00ffff }; ["Linear B Syllabary" ] = { 0x010000, 0x01007f }; ["Linear B Ideograms" ] = { 0x010080, 0x0100ff }; ["Aegean Numbers" ] = { 0x010100, 0x01013f }; ["Ancient Greek Numbers" ] = { 0x010140, 0x01018f }; ["Ancient Symbols" ] = { 0x010190, 0x0101cf }; ["Phaistos Disc" ] = { 0x0101d0, 0x0101ff }; ["Lycian" ] = { 0x010280, 0x01029f }; ["Carian" ] = { 0x0102a0, 0x0102df }; ["Coptic Epact Numbers" ] = { 0x0102e0, 0x0102ff }; ["Old Italic" ] = { 0x010300, 0x01032f }; ["Gothic" ] = { 0x010330, 0x01034f }; ["Old Permic" ] = { 0x010350, 0x01037f }; ["Ugaritic" ] = { 0x010380, 0x01039f }; ["Old Persian" ] = { 0x0103a0, 0x0103df }; ["Deseret" ] = { 0x010400, 0x01044f }; ["Shavian" ] = { 0x010450, 0x01047f }; ["Osmanya" ] = { 0x010480, 0x0104af }; ["Osage" ] = { 0x0104b0, 0x0104ff }; ["Elbasan" ] = { 0x010500, 0x01052f }; ["Caucasian Albanian" ] = { 0x010530, 0x01056f }; ["Linear A" ] = { 0x010600, 0x01077f }; ["Cypriot Syllabary" ] = { 0x010800, 0x01083f }; ["Imperial Aramaic" ] = { 0x010840, 0x01085f }; ["Palmyrene" ] = { 0x010860, 0x01087f }; ["Nabataean" ] = { 0x010880, 0x0108af }; ["Hatran" ] = { 0x0108e0, 0x0108ff }; ["Phoenician" ] = { 0x010900, 0x01091f }; ["Lydian" ] = { 0x010920, 0x01093f }; ["Meroitic Hieroglyphs" ] = { 0x010980, 0x01099f }; ["Meroitic Cursive" ] = { 0x0109a0, 0x0109ff }; ["Kharoshthi" ] = { 0x010a00, 0x010a5f }; ["Old South Arabian" ] = { 0x010a60, 0x010a7f }; ["Old North Arabian" ] = { 0x010a80, 0x010a9f }; ["Manichaean" ] = { 0x010ac0, 0x010aff }; ["Avestan" ] = { 0x010b00, 0x010b3f }; ["Inscriptional Parthian" ] = { 0x010b40, 0x010b5f }; ["Inscriptional Pahlavi" ] = { 0x010b60, 0x010b7f }; ["Psalter Pahlavi" ] = { 0x010b80, 0x010baf }; ["Old Turkic" ] = { 0x010c00, 0x010c4f }; ["Old Hungarian" ] = { 0x010c80, 0x010cff }; ["Rumi Numeral Symbols" ] = { 0x010e60, 0x010e7f }; ["Brahmi" ] = { 0x011000, 0x01107f }; ["Kaithi" ] = { 0x011080, 0x0110cf }; ["Sora Sompeng" ] = { 0x0110d0, 0x0110ff }; ["Chakma" ] = { 0x011100, 0x01114f }; ["Mahajani" ] = { 0x011150, 0x01117f }; ["Sharada" ] = { 0x011180, 0x0111df }; ["Sinhala Archaic Numbers" ] = { 0x0111e0, 0x0111ff }; ["Khojki" ] = { 0x011200, 0x01124f }; ["Multani" ] = { 0x011280, 0x0112af }; ["Khudawadi" ] = { 0x0112b0, 0x0112ff }; ["Grantha" ] = { 0x011300, 0x01137f }; ["Newa" ] = { 0x011400, 0x01147f }; ["Tirhuta" ] = { 0x011480, 0x0114df }; ["Siddham" ] = { 0x011580, 0x0115ff }; ["Modi" ] = { 0x011600, 0x01165f }; ["Mongolian Supplement" ] = { 0x011660, 0x01167f }; ["Takri" ] = { 0x011680, 0x0116cf }; ["Ahom" ] = { 0x011700, 0x01173f }; ["Warang Citi" ] = { 0x0118a0, 0x0118ff }; ["Pau Cin Hau" ] = { 0x011ac0, 0x011aff }; ["Bhaiksuki" ] = { 0x011c00, 0x011c6f }; ["Marchen" ] = { 0x011c70, 0x011cbf }; ["Cuneiform" ] = { 0x012000, 0x0123ff }; ["Cuneiform Numbers and Punctuation" ] = { 0x012400, 0x01247f }; ["Early Dynastic Cuneiform" ] = { 0x012480, 0x01254f }; ["Egyptian Hieroglyphs" ] = { 0x013000, 0x01342f }; ["Anatolian Hieroglyphs" ] = { 0x014400, 0x01467f }; ["Bamum Supplement" ] = { 0x016800, 0x016a3f }; ["Mro" ] = { 0x016a40, 0x016a6f }; ["Bassa Vah" ] = { 0x016ad0, 0x016aff }; ["Pahawh Hmong" ] = { 0x016b00, 0x016b8f }; ["Miao" ] = { 0x016f00, 0x016f9f }; ["Ideographic Symbols and Punctuation" ] = { 0x016fe0, 0x016fff }; ["Tangut" ] = { 0x017000, 0x0187ec }; ["Tangut Components" ] = { 0x018800, 0x018aff }; ["Kana Supplement" ] = { 0x01b000, 0x01b0ff }; ["Duployan" ] = { 0x01bc00, 0x01bc9f }; ["Shorthand Format Controls" ] = { 0x01bca0, 0x01bcaf }; ["Byzantine Musical Symbols" ] = { 0x01d000, 0x01d0ff }; ["Musical Symbols" ] = { 0x01d100, 0x01d1ff }; ["Ancient Greek Musical Notation" ] = { 0x01d200, 0x01d24f }; ["Tai Xuan Jing Symbols" ] = { 0x01d300, 0x01d35f }; ["Counting Rod Numerals" ] = { 0x01d360, 0x01d37f }; ["Mathematical Alphanumeric Symbols" ] = { 0x01d400, 0x01d7ff }; ["Sutton SignWriting" ] = { 0x01d800, 0x01daaf }; ["Glagolitic Supplement" ] = { 0x01e000, 0x01e02f }; ["Mende Kikakui" ] = { 0x01e800, 0x01e8df }; ["Adlam" ] = { 0x01e900, 0x01e95f }; ["Arabic Mathematical Alphabetic Symbols" ] = { 0x01ee00, 0x01eeff }; ["Mahjong Tiles" ] = { 0x01f000, 0x01f02f }; ["Domino Tiles" ] = { 0x01f030, 0x01f09f }; ["Playing Cards" ] = { 0x01f0a0, 0x01f0ff }; ["Enclosed Alphanumeric Supplement" ] = { 0x01f100, 0x01f1ff }; ["Enclosed Ideographic Supplement" ] = { 0x01f200, 0x01f2ff }; ["Miscellaneous Symbols and Pictographs" ] = { 0x01f300, 0x01f5ff }; ["Emoticons" ] = { 0x01f600, 0x01f64f }; ["Ornamental Dingbats" ] = { 0x01f650, 0x01f67f }; ["Transport and Map Symbols" ] = { 0x01f680, 0x01f6ff }; ["Alchemical Symbols" ] = { 0x01f700, 0x01f77f }; ["Geometric Shapes Extended" ] = { 0x01f780, 0x01f7ff }; ["Supplemental Arrows-C" ] = { 0x01f800, 0x01f8ff }; ["Supplemental Symbols and Pictographs" ] = { 0x01f900, 0x01f9ff }; ["CJK Unified Ideographs Extension B" ] = { 0x020000, 0x02a6df }; ["CJK Unified Ideographs Extension C" ] = { 0x02a700, 0x02b73f }; ["CJK Unified Ideographs Extension D" ] = { 0x02b740, 0x02b81f }; ["CJK Unified Ideographs Extension E" ] = { 0x02b820, 0x02ceaf }; ["CJK Compatibility Ideographs Supplement" ] = { 0x02f800, 0x02fa1f }; ["Tags" ] = { 0x0e0000, 0x0e007f }; ["Variation Selectors Supplement" ] = { 0x0e0100, 0x0e01ef }; ["Supplementary Private Use Area-A" ] = { 0x0f0000, 0x0fffff }; ["Supplementary Private Use Area-B" ] = { 0x100000, 0x10ffff }; } function export.enum_blocks() local list = {} for name, range in pairs(blocks) do table.insert(list, { name, range[1], range[2] }) end table.sort(list, function (apple, orange) return apple[2] < orange[2] end) return function (list, i) local data = list[i + 1] if not data then return nil end return i + 1, data[1], data[2], data[3] end, list, 0 end function export.lookup_plane(codepoint) local i = math.floor(codepoint / 0x10000) return planes[i] or ("Plane %u"):format(i) end function export.lookup_block(codepoint) for name, range in pairs(blocks) do if (codepoint >= range[1]) and (codepoint <= range[2]) then return name end end end function export.get_block_range(name) local range = blocks[name] if range then return range[1], range[2] end end function export.is_valid_pagename(pagename) local has_nonws = false for cp in mw.ustring.gcodepoint(pagename) do if false or (cp == 0x0023) -- # or (cp == 0x005b) -- [ or (cp == 0x005d) -- ] or (cp == 0x007b) -- { or (cp == 0x007c) -- | or (cp == 0x007d) -- } or (cp == 0x180e) -- MONGOLIAN VOWEL SEPARATOR or ((cp >= 0x2000) and (cp <= 0x200a)) or (cp == 0xfffd) -- REPLACEMENT CHARACTER then return false end local printable, result = export.is_printable(cp) if not printable then return false end if result ~= "space-separator" then has_nonws = true end end return has_nonws end local function manual_unpack(what, from) local result = {} from = from or 1 for i, item in ipairs(what) do if i >= from then table.insert(result, item) end end return unpack(result) end local function memo_lookup(loader, match_func, ...) local dots = { ... } local cache = {} local singles, ranges return function (codepoint) if not singles then singles, ranges = loader() end if singles[codepoint] then return match_func(codepoint, singles[codepoint]) end local lastlast = -1 for _, range in pairs(cache) do if (range[1] <= codepoint) and (codepoint <= range[2]) then return match_func(codepoint, unpack(range, 3)) end end for _, range in pairs(ranges) do if (range[1] <= codepoint) and (codepoint <= range[2]) then table.insert(cache, { manual_unpack(range) }) return match_func(codepoint, manual_unpack(range, 3)) elseif codepoint < range[1] then table.insert(cache, { lastlast + 1, range[1] - 1, unpack(dots) }) return match_func(codepoint, unpack(dots)) else lastlast = range[2] end end return match_func(codepoint) end end export.is_combining = memo_lookup(function () local m_comb = mw.loadData('Module:Unicode data/combining') return m_comb.single, m_comb.ranges end, function (codepoint, cc) return cc and (cc ~= 0) end, 0) local lookup_control = memo_lookup(function () local m_cc = mw.loadData('Module:Unicode data/control') return m_cc.single, m_cc.ranges end, function (codepoint, ccc) return ccc or "assigned" end, "assigned") function export.is_assigned(codepoint) return lookup_control(codepoint) ~= "មិនទាន់ចែង" end function export.is_printable(codepoint) local result = lookup_control(codepoint) return (result == "assigned") or (result == "space-separator"), result end function export.is_whitespace(codepoint) local result = lookup_control(codepoint) return (result == "space-separator"), result end -- to be used in language-neutral context only (e.g. character lists) local script_pats local script_blacklist = { ["Latf"] = true; ["Hans"] = true; ["Hant"] = true; ["Kore"] = true; ["Jpan"] = true; } local script_cache = {} function export.get_script(codepoint) local text = mw.ustring.char(codepoint) for pat, sc in pairs(script_cache) do if mw.ustring.match(text, pat) then return sc end end if not script_pats then local m_scripts = mw.loadData("Module:scripts/data") script_pats = {} for sc, info in pairs(m_scripts) do if info.characters and not script_blacklist[sc] then script_pats[sc] = "[" .. info.characters .. "]" end end end for sc, pat in pairs(script_pats) do if mw.ustring.match(text, pat) then script_cache[pat] = sc return sc end end return "Zyyy" end local unsupported_title = { [0x0020] = "Unsupported titles/Space"; [0x0023] = "Unsupported titles/Number sign"; [0x002e] = "Unsupported titles/Full stop"; [0x003a] = "Unsupported titles/Colon"; [0x003c] = "Unsupported titles/Less than"; [0x003e] = "Unsupported titles/Greater than"; [0x005b] = "Unsupported titles/Left square bracket"; [0x005d] = "Unsupported titles/Right square bracket"; [0x005f] = "Unsupported titles/Low line"; [0x007b] = "Unsupported titles/Left curly bracket"; [0x007c] = "Unsupported titles/Vertical line"; [0x007d] = "Unsupported titles/Right curly bracket"; [0x1680] = "Unsupported titles/Ogham space"; [0xfffd] = "Unsupported titles/Replacement character"; } function export.get_entry_title(codepoint) if unsupported_title[codepoint] then return unsupported_title[codepoint] end if lookup_control(codepoint) ~= "assigned" then return nil end return mw.ustring.char(codepoint) end return export jjgtfu0ibs971goq7rnk0q0hqr2dnbg mid aad u 0 5450 19957 19956 2017-08-09T13:59:48Z 200.130.64.1 19957 wikitext text/x-wiki {{-so-}} '''mid aad u''' 1i11fi1kz9vr16n7vh6nwvowey7ie8j aad u 0 5451 19958 2017-08-09T13:59:50Z 200.130.64.1 Bog cusub: {{-so-}} '''aad u''' 19958 wikitext text/x-wiki {{-so-}} '''aad u''' cuv6ev5edgt42q1s5ug76oyo6cz2j36 aad bay u 0 5452 19959 2017-08-09T14:00:00Z 200.130.64.1 Bog cusub: {{-so-}} '''aad bay u''' 19959 wikitext text/x-wiki {{-so-}} '''aad bay u''' bbi9d76ci0178pkorfakxst0zow5srw promise 0 5453 19960 2017-08-09T14:01:02Z 200.130.64.1 Bog cusub: {{-en-}} ===Magac=== '''promise''' [[balan-qaadid]] 19960 wikitext text/x-wiki {{-en-}} ===Magac=== '''promise''' [[balan-qaadid]] ra37ro232hggxh70j6fy42yozoz43pi laga 0 5454 19961 2017-08-09T14:02:16Z 200.130.64.1 Bog cusub: {{-so-}} ===Falka=== '''laga''' 19961 wikitext text/x-wiki {{-so-}} ===Falka=== '''laga''' 280f07vetn0kusf0y4x05qbop48mbu2 eego 0 5455 19962 2017-08-09T14:02:53Z 200.130.64.1 Bog cusub: {{-so-}} ===Falka=== '''eego''' 19962 wikitext text/x-wiki {{-so-}} ===Falka=== '''eego''' fm80t8sy09asa714vcqoelohx2v3kh5 Template:kk 10 5456 19965 2017-08-09T14:05:23Z 200.130.64.1 Bog cusub: Kazaax 19965 wikitext text/x-wiki Kazaax 775ojrgjhg5k2zeu058hlbtbojjjr9c perhe 0 5457 20176 19966 2019-02-05T17:01:59Z 91.156.27.99 20176 wikitext text/x-wiki {{-fi-}} ===Magac=== '''perhe''' [[qoys]] [[Category: Finnish ereyada]] lljlh229sdjqr64j4ylanc7vl9f5x64 پروار 0 5458 19967 2017-08-09T14:09:22Z 200.130.64.1 Bog cusub: {{-ur-}} ===Magac=== '''پروار''' [[qoys]] 19967 wikitext text/x-wiki {{-ur-}} ===Magac=== '''پروار''' [[qoys]] qv84mgdbmi9qc95nflf9ovinzewv3ey 家族 0 5459 19968 2017-08-09T14:09:51Z 200.130.64.1 Bog cusub: {{-ja-}} ===Magac=== '''家族''' [[qoys]] {{-zh-}} ===Magac=== '''家族''' [[qoys]] 19968 wikitext text/x-wiki {{-ja-}} ===Magac=== '''家族''' [[qoys]] {{-zh-}} ===Magac=== '''家族''' [[qoys]] f455umf7wdiuwj9qvw886112pdc94u2 User:Olow chat app 2 5460 19971 19970 2017-08-19T12:20:51Z Olow chat app 1758 Olowchat The world's fastest messaging app. It is free and secure Fast Olowchat delivers messages faster than Any other application Free Olowchat is free forever. No ads. No subscription fees.... 19971 wikitext text/x-wiki Olowchat bunji7j26mn0b2ru0924mltke1pb95j User:Brubaker610 2 5462 20993 20683 2022-02-16T19:46:56Z Base 857 Base wareejiyay bogga [[User:Vanished user jfyedt7]] ilaa [[User:Brubaker610]] oo aan ka tagin sii toosin: Automatically moved page while renaming the user "[[Special:CentralAuth/Vanished user jfyedt7|Vanished user jfyedt7]]" to "[[Special:CentralAuth/Brubaker610|Brubaker610]]" 19975 wikitext text/x-wiki {{#babel:so-0}} ewyvq79dydhsuz9wl3kul8x1nudt3d1 Wiktionary:Bot policy 4 5463 19981 2017-12-02T15:55:12Z MarcoAurelio 761 redirected to [[Wiktionary:Bots|bot request page]] for [[m:bot policy|standard bot policy]] 19981 wikitext text/x-wiki #REDIRECT [[Wiktionary:Bots]] jz3y02rqjp813r0u4x71dllg4o0rj37 User:분당선M/common.css 2 5464 19984 2017-12-06T23:06:45Z Revi C. 1124 -revi moved page [[User:분당선M/common.css]] to [[User:*Youngjin/common.css]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19984 css text/css /* #REDIRECT */@import url("//so.wiktionary.org/w/index.php?title=User:*Youngjin/common.css&action=raw&ctype=text/css"); e01ebq2qkk2ugc49w34wayrbaowpod6 User talk:분당선M 3 5465 19987 2017-12-06T23:06:45Z Revi C. 1124 -revi moved page [[User talk:분당선M]] to [[User talk:*Youngjin]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19987 wikitext text/x-wiki #REDIRECT [[User talk:*Youngjin]] bg52yvwharqml01xix4hjzbho6wvaiu User:분당선M/common.js 2 5466 19988 2017-12-06T23:06:48Z Revi C. 1124 -revi moved page [[User:분당선M/common.js]] to [[User:*Youngjin/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/분당선M|분당선M]]" to "[[Special:CentralAuth/*Youngjin|*Youngjin]]" 19988 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:*Youngjin/common.js\u0026action=raw\u0026ctype=text/javascript"); k2eohcv92b24n3vsvle2fna251qebcy Module:script utilities/data 828 5467 19989 2018-01-29T13:32:37Z 189.6.16.72 Bog cusub: local data = {} data.translit = { ["term"] = { --[=[ can't be done until Kana transliterations are correctly parsed by [[Module:links]] ["tag"] = "i", ]=] ["classes"] = "mentio... 19989 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"] = {}, } 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 g1lil9giu0smrwxmowrywxm3tf0fgwg Module:wikimedia languages/data 828 5468 19990 2018-01-29T13:43:53Z 189.6.16.72 Bog cusub: local m = {} m["als"] = { wiktionary_code = "gsw", } m["bat-smg"] = { wiktionary_code = "sgs", } m["bs"] = { canonicalName = "Bosnian", wiktionary_code = "sh", } m["bxr"] = {... 19990 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["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 k6t57sma7gk1spqcm3hm3ls1uy818ut User:Miguel2706 2 5469 23188 19992 2023-03-13T15:52:34Z EmausBot 1865 Bot: Hagaajin u rogid labalaaban ee [[User:Renamed user 9thz5duyuxms]] 23188 wikitext text/x-wiki #REDIRECT [[User:Renamed user 9thz5duyuxms]] 2zvnuozw835rjni0fqkzoxsvv1x5jj6 User:Miguel2706/common.js 2 5470 19994 2018-02-08T05:21:40Z Matiia 1404 Matiia moved page [[User:Miguel2706/common.js]] to [[User:KernelFreeze/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Miguel2706|Miguel2706]]" to "[[Special:CentralAuth/KernelFreeze|KernelFreeze]]" 19994 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:KernelFreeze/common.js\u0026action=raw\u0026ctype=text/javascript"); bzts5wl9cgube3sdqoq2jq4ptr4tlca User:Etienfr 2 5471 19996 2018-02-12T12:57:30Z Cyberpower678 1609 Cyberpower678 moved page [[User:Etienfr]] to [[User:Limotecariu]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Etienfr|Etienfr]]" to "[[Special:CentralAuth/Limotecariu|Limotecariu]]" 19996 wikitext text/x-wiki #REDIRECT [[User:Limotecariu]] bt0v2d5ot7m1y2sj5q3pmyfse0m25ca User:Vogone/minerva.js 2 5473 20001 2018-10-08T18:12:50Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Vogone]]) 20001 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Vogone/minerva.js&action=raw&ctype=text/javascript'); e7qk639lldxvphqcoowl3nfc7i3anx7 far 0 5475 28825 28592 2024-07-21T20:30:25Z Girligaanshub 3150 28825 wikitext text/x-wiki =={{so}}== ==Magac== #:{{magac-ooyin}} #:{{magac-o|far}} #:{{magac-a-c}} Waa xubin kamid ah jirka oo ku taalo gacmaha iyo cagaha. ====Tarjumaad==== * {{en}}: finger ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] ===Magac=== '''far''' #[[fogaan]] icb3ku4y54dcg93x4tevfnoork4gumf Template:magac-yaal 10 5476 20058 20050 2018-10-28T17:21:04Z Sakiinlaq 1889 20058 wikitext text/x-wiki {| class="wikitable" |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}e |{{{1}}}aha |{{{1}}}yaal |{{{1}}}ayaasha |- | qaab yeele |{{{1}}}e |{{{1}}}uhu |{{{1}}}ayaal |{{{1}}}ayaashu |} mi3tqu11rpt7kol0donrs83sdysi7zz Template:magac-o 10 5477 20155 20024 2018-10-29T00:37:38Z Sakiinlaq 1889 20155 wikitext text/x-wiki {| class="wikitable" cellpadding="1" style="float: right; border: 1px solid #eee9bf; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" |+nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}} |{{{1}}}ah |{{{1}}}yaal |{{{1}}}ayaasha |- | qaab yeele |{{{1}}}e |{{{1}}}uhu |{{{1}}}ayaal |{{{1}}}ayaashu |} [[Category:Wiktionary/Template]] ifr6m2zexx9ip0cwajfvrqg4i0piwcs User:Sakiinlaq 2 5478 26573 26572 2024-01-13T13:53:10Z Svartava 3274 Reverted edits by [[Special:Contribs/31.208.31.182|31.208.31.182]] ([[User talk:31.208.31.182|talk]]) to last version by Sakiinlaq: edit not by user 20048 wikitext text/x-wiki Waxaan ahay qof xiiseeyaa luqad guud ahaan, naxwaha qaybihiisa kala duwan. Wikitionary waxaan kusoo biiray oktoobar 2018. av3dbma9b1ztgtfriun777nwa6zicjr qare 0 5479 25804 20150 2023-11-07T18:49:22Z Girligaanshub 3150 25804 wikitext text/x-wiki ==soomaali== ===magac=== '''qare''' # Waa mire, frutto oo dhexda ka guduudan lehna biyo mac. {{so-magac-ayaal|qar}} {{-so-}} == Magac == '''qare''' === Tarjumaad === * {{en}}: watermelon [[Category:Erey Magac]] 17e2dhfzsz28hgvpumzw5obrcb1yt4c Template:magac-ayaal 10 5480 20108 20101 2018-10-28T21:17:16Z Sakiinlaq 1889 20108 wikitext text/x-wiki {| class="wikitable mw-collapsible" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}e |{{{1}}}aha |{{{1}}}yaal |{{{1}}}ayaasha |- | qaab yeele |{{{1}}}e |{{{1}}}uhu |{{{1}}}ayaal |{{{1}}}ayaashu |} 00ekffdugjrzhmqmkdnp6z32ibvv4d4 Category:Template 14 5481 20100 20075 2018-10-28T21:05:53Z Sakiinlaq 1889 Masaxay bogga 20100 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Wiktionary/Template 14 5482 20076 2018-10-28T18:42:19Z Sakiinlaq 1889 Created blank page 20076 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Category:Erey Magac 14 5483 20092 20089 2018-10-28T20:42:45Z Sakiinlaq 1889 20092 wikitext text/x-wiki [[Category:Erey]] 6u2m03vkiqrp2v7nfm6eyqawnwq79sw Category:Erey soomaali 14 5484 20090 2018-10-28T20:33:37Z Sakiinlaq 1889 Created blank page 20090 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Template:so-magac-ooyin 10 5485 20149 20109 2018-10-29T00:28:26Z Sakiinlaq 1889 20149 wikitext text/x-wiki {| class="wikitable mw-collapsible" cellpadding="1" style="float: right; border: 1px solid #eee9bf; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}o |{{{1}}}ada |{{{1}}}ooyin |{{{1}}}ooyinka |- | qaab yeele |{{{1}}}o |{{{1}}}adu |{{{1}}}ooyin |{{{1}}}ooyinku |} [[Category:Wiktionary/Template]] o632klemtor0xdxgumyzc35v0ifimus dhalo 0 5486 31533 20111 2024-10-13T03:35:12Z Girligaanshub 3150 31533 wikitext text/x-wiki {{-so-}} == Magac == '''dhalo''' === Tarjumaad === * {{en}}: bottle * af-Somali: weel aan dacal la qabta lahayn kana samaysan dhalo ama quraarad. Waana lagu cabaa. ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] ===nadooc magac=== {{so-magac-ooyin|dhal}} [[Category:Erey Magac]] ldaze3veqsi4o839hwanzlrp6ohzujp Template:so:magac-ayaal 10 5487 20106 20103 2018-10-28T21:10:47Z Sakiinlaq 1889 20106 wikitext text/x-wiki {| class="wikitable mw-collapsible" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}e |{{{1}}}aha |{{{1}}}yaal |{{{1}}}ayaasha |- | qaab yeele |{{{1}}}e |{{{1}}}uhu |{{{1}}}ayaal |{{{1}}}ayaashu |} 00ekffdugjrzhmqmkdnp6z32ibvv4d4 Template:so-magac-ayaal 10 5488 20147 20105 2018-10-29T00:27:51Z Sakiinlaq 1889 20147 wikitext text/x-wiki {| class="wikitable mw-collapsible" cellpadding="1" style="float: right; border: 1px solid #eee9bf; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}e |{{{1}}}aha |{{{1}}}yaal |{{{1}}}ayaasha |- | qaab yeele |{{{1}}}e |{{{1}}}uhu |{{{1}}}ayaal |{{{1}}}ayaashu |} [[Category:Wiktionary/Template]] 35sp69ospkx7iacux0lujn5d3yff7ce Template:so-magac-a-c 10 5489 26574 20221 2024-01-13T13:53:43Z 31.208.31.182 26574 wikitext text/x-wiki {| class="wikitable mw-collapsible" cellpadding="1" style="float: right; border: 1px solid #eee9bf; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" |+ Nadooc magac (''Declension of noun'') |- ! Nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !Cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | Qaabka aasaasiga ah |{{{1}}} |{{{1}}}ka |{{{1}}}a{{{2}}} |{{{1}}}a{{{2}}}{{{3}}}a |- | Habka yeelaha ah |{{{1}}} |{{{1}}}ku |{{{1}}}a{{{2}}} |{{{1}}}a{{{2}}}{{{3}}}u |} [[Category:Wiktionary/Template]] <noinclude> <templatedata> { "params": { "1": {}, "2": {}, "3": {} } } </templatedata> </noinclude> pkpty7f2jtzembwijnlunznr1or4rr1 miis 0 5490 20153 20152 2018-10-29T00:31:37Z Sakiinlaq 1889 20153 wikitext text/x-wiki ==soomaali== ===magac=== '''miis''' # Waa agab guri oo leh afar lugood, waa lagu dul shaqeeya, marna lagu cunteeyaa. ===nadooc magac=== {{so-magac-a-c|miis|s|k}} 194jx8a669tj112r69fnevk9gw2lemg Template:so-magac-o 10 5491 20148 20120 2018-10-29T00:28:11Z Sakiinlaq 1889 20148 wikitext text/x-wiki {| class="wikitable mw-collapsible" cellpadding="1" style="float: right; border: 1px solid #eee9bf; background: #f7f8ff; padding: 5px; font-size: 95%; margin: 0 15px 0 15px;" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}} |{{{1}}}ta |{{{1}}}o |{{{1}}}aha |- | qaab yeele |{{{1}}} |{{{1}}}tu |{{{1}}}o |{{{1}}}ahu |} [[Category:Wiktionary/Template]] <noinclude> <templatedata> { "params": {}, "description": "Ereyada magac ah ee marka wadar laga dhigayo keliya u baahan in lagu daro -o" } </templatedata> </noinclude> go6sw03ek9p7rp0jdz9s2nk1cjd13tz kab 0 5492 20119 20118 2018-10-28T21:59:32Z Sakiinlaq 1889 /* substantiv */ 20119 wikitext text/x-wiki ==soomaali== ===magac=== '''kab''' # shay lagu socdo oo cagaha lagu xirto. ===nadooc magac=== {{so-magac-o|kab}} ==svenska== ===magac=== '''sko''' c2dln1q2lnejix0m5ywquubh14ygjs5 Template:so-magac-oa 10 5493 20129 20127 2018-10-28T23:25:23Z Sakiinlaq 1889 20129 wikitext text/x-wiki {| class="wikitable mw-collapsible" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}}{{{4}}}{{{2}}}{{{4}}}{{{3}}} |{{{1}}}{{{4}}}{{{2}}}{{{4}}}{{{3}}}{{{5}}}a |{{{1}}}{{{4}}}{{{2}}}{{{3}}}o |{{{1}}}{{{4}}}{{{2}}}{{{3}}}aha |- | qaab yeele |{{{1}}}{{{4}}}{{{2}}}{{{4}}}{{{3}}} |{{{1}}}{{{4}}}{{{2}}}{{{4}}}{{{3}}}{{{5}}}u |{{{1}}}{{{4}}}{{{2}}}{{{3}}}o |{{{1}}}{{{4}}}{{{2}}}{{{3}}}aha |} <noinclude> <templatedata> { "params": { "1": { "label": "xarafka 1aad" }, "2": { "label": "xarafka 2aad" }, "3": { "label": "Xarafka 3aad" }, "4": { "label": "shaqalka", "description": "shaqalka u dhexeeya shibbanayaasha", "example": "i ku jirta j-i-l-i-b ama u ku jirta m-u-r-u-q" }, "5": { "label": "qodobka cayima", "description": "Qodobada cayima sida -a,-k,-g, -h-t,-sh.", "example": "Tusaale: muruq-a, wiila-sha", "type": "string" } }, "description": "Erey labo alanle ah, oo shaqal dheeraad ah u dhexeeyo labada shibbane ee dambe ayaa paramitirka ah. Shibbanayaasha(3) mid mid ayaa parameterka loo gelinaya. Kan 4aa waa shaqalka halka kan 5aad uu ka yahay qodobka ka dhiga mid cayiman." } </templatedata> </noinclude> qw5bupt8qxsm90h03enjko43vrhms0j lug 0 5494 20151 20122 2018-10-29T00:29:59Z Sakiinlaq 1889 /* magac */ 20151 wikitext text/x-wiki ==soomaalo== ===magac=== '''lug''' # Xubin jirka noolaha ka mid ah oo lagu socdo. #: ''tusaale'': Dadku waxay leeyihiin labo lugood halka xaywaanka qaarna ay ka leeyihiin afar. {{so-magac-o|lug}} 11j3d1zi3p4dwinvcymoenlk9h2wcc1 muruq 0 5495 20125 2018-10-28T23:04:23Z Sakiinlaq 1889 Bog cusub: ==soomaali== ===magac=== '''muruq''' #(fisiyooloji) nude jirka ku yaal oo awooda in uu togtogmo shaqana qabta. {{so-magac-oa|m|r|q|u|}} 20125 wikitext text/x-wiki ==soomaali== ===magac=== '''muruq''' #(fisiyooloji) nude jirka ku yaal oo awooda in uu togtogmo shaqana qabta. {{so-magac-oa|m|r|q|u|}} iurdhjhv6724seoi4v3ksm879daisoc jilib 0 5496 22956 20128 2022-12-08T09:05:03Z Girligaanshub 3150 22956 wikitext text/x-wiki ==soomaali== ===magac=== '''jilib''' # Xubin jirka ka mid ah. Waa meesha ay lugta ka laabanto oo isku xirta cajarka/bowdaha iyo lugta. #magaalo ku [[taala]] [[wadanka]] [[soomaaliya]] {{so-magac-oa|j|l|b|i|k}} === Tarjumaad === * {{en}}: knee * {{en}}: sept, extended family djzk7llxx0edvxdlp7mt083fut9hcgw Template:so-magac-ob 10 5497 20130 2018-10-28T23:50:00Z Sakiinlaq 1889 Bog cusub: {| class="wikitable mw-collapsible" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''... 20130 wikitext text/x-wiki {| class="wikitable mw-collapsible" |+ nadooc magac (''declension of noun'') |- !nadooc magac !colspan="2" | keli !colspan="2"| wadar |- !kays/cayimanaan |'''''aan cayinnayn''''' |'''''cayiman''''' |'''''aan cayinnayn''''' |'''''cayiman''''' |- | grundform |{{{1}}} |{{{1}}}{{{3}}}a |{{{1}}}{{{2}}}o |{{{1}}}{{{2}}}ada |- | qaab yeele |{{{1}}} |{{{1}}}{{{3}}}u |{{{1}}}{{{2}}}o |{{{1}}}{{{2}}}adu |} 1r49h0qh9s0hbrrniz2mehw6gvq2rtq yaxaas 0 5498 25529 20131 2023-10-23T12:36:53Z Girligaanshub 3150 25529 wikitext text/x-wiki {{-so-}} ==soomaali== ===magac=== '''yaxaas''' # xayawaan biyaha ku nool. {{so-magac-ob|yaxaas|y|k}} === Magac === '''badhyo''' === Tarjumaad === * {{en}}: crocodile 49oxzc1ywohah0b5fabbq8xh14x4ejs saaxiib 0 5499 20133 20132 2018-10-28T23:53:57Z Sakiinlaq 1889 /* =magac */ 20133 wikitext text/x-wiki ==soomaali== ==magac== '''yaxaas''' # xayawaan biyaha ku nool. {{so-magac-ob|saaxiib|b|k}} hkicylpmhj3mnmwsabbg2onv5d2k0xw mindi 0 5500 20135 20134 2018-10-28T23:55:11Z Sakiinlaq 1889 /* =magac */ 20135 wikitext text/x-wiki ==soomaali== ==magac== '''mindi''' # xayawaan biyaha ku nool. {{so-magac-ob|mindi|y|d}} f404caul0r7fj0x502am5kg2f0npqhl derbi 0 5501 20137 20136 2018-10-29T00:03:21Z Sakiinlaq 1889 20137 wikitext text/x-wiki ==soomaali== ==magac== '''derbi''' {{so-magac-ob|derbi|y|g}} ===sammi=== #gidaar 7k84tglod1iiut3kxwx39n6d9iwkid5 televisio 0 5514 20183 20182 2019-02-05T17:10:35Z 91.156.27.99 20183 wikitext text/x-wiki {{-fi-}} ===Magac=== '''televisio''' [[telefishen]] [[Category: Finnish ereyada]] 9n354dddpbr7907ep10ntb2v2x36nkt nainen 0 5515 20201 2019-02-05T17:32:39Z 91.156.27.99 Bog cusub: {{-fi-}} ===Magac=== '''nainen''' [[naag]] [[Category: Finnish ereyada]] 20201 wikitext text/x-wiki {{-fi-}} ===Magac=== '''nainen''' [[naag]] [[Category: Finnish ereyada]] fdjp7u72gx5iozgy1wgx500s2f7c7u5 User:Mentifisto 2 5519 20209 2019-03-02T22:14:00Z Stanglavine 1869 Stanglavine moved page [[User:Mentifisto]] to [[User:Lofty abyss]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Mentifisto|Mentifisto]]" to "[[Special:CentralAuth/Lofty abyss|Lofty abyss]]" 20209 wikitext text/x-wiki #REDIRECT [[User:Lofty abyss]] fowwbjb8p4a0gw5mdpetsvo3mm7zshi User:Abdi Abdule 2 5520 20214 2019-04-13T22:16:04Z Abdi Abdule 1987 Waa erey cay ah oo la addeegsado maalin walba waxayna la micno tahay Qof aan garasho badan lahayn Erayada la micnaha ah Nacas, axmaq, caaq, iwm. 20214 wikitext text/x-wiki Doqon 0z7e41e8utvrt08y9vrslgh4iggjonv User talk:Ameisenigel 3 5523 23012 20244 2023-01-08T04:22:26Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Ameisenigel]]) 23012 wikitext text/x-wiki [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Ameisenigel|m:User talk:Ameisenigel]] 2229pjupj4oxyrzx6wq7rucquxcn3pt User:MelvinaThorpe67 2 5524 20222 2019-06-14T21:36:19Z MelvinaThorpe67 2010 Bog cusub: 43 yеar-old Aircraft Maintenance Engineer (Avionics) Hutton from Thorold, has hobbies аnd interеsts such as playing muѕic, downlߋаd games and tool collecting. Dᥙring the recent... 20222 wikitext text/x-wiki 43 yеar-old Aircraft Maintenance Engineer (Avionics) Hutton from Thorold, has hobbies аnd interеsts such as playing muѕic, downlߋаd games and tool collecting. Dᥙring the recent few months hɑs made a journey to lօcations for еxamplе Belovezhѕkaya Pushcha / Bialowieza Forest. p56j65bz2g1jdiehial46zz3mag1wcb User:Waldir 2 5526 20226 2019-07-01T10:44:33Z 1997kB 1844 1997kB moved page [[User:Waldir]] to [[User:Waldyrious]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Waldir|Waldir]]" to "[[Special:CentralAuth/Waldyrious|Waldyrious]]" 20226 wikitext text/x-wiki #REDIRECT [[User:Waldyrious]] k284q7jldpltzdws49dzonocorbqxe3 User talk:Moncur/04 3 5529 20235 2019-09-10T06:06:39Z 103.131.207.131 Bog cusub: xiaoxi内容 20235 wikitext text/x-wiki xiaoxi内容 f5mlr7qvcx7cvlmhbbwdhbi1c4tg560 User:Ainz Ooal Gown/minerva.js 2 5531 20337 20239 2020-07-11T04:22:43Z 1997kB 1844 1997kB moved page [[User:Masumrezarock100/minerva.js]] to [[User:Ainz Ooal Gown/minerva.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Masumrezarock100|Masumrezarock100]]" to "[[Special:CentralAuth/Ainz Ooal Gown|Ainz Ooal Gown]]" 20239 javascript text/javascript mw.loader.load('//meta.wikipedia.org/w/index.php?title=User:Masumrezarock100/global-minerva.js&action=raw&ctype=text/javascript'); // mobileGlobalJS to91va09kln5vco63egs1h2acqeuc5v User talk:Killarnee 3 5532 20243 2019-11-25T00:16:22Z Killarnee 2083 Bog loo bedeley [[meta:User talk:Killarnee]] 20243 wikitext text/x-wiki #REDIRECT [[meta:User talk:Killarnee]] '''You can also write me here, but then it will probably take some time until I answer.''' 0j3i74n50fw0tbj8k6cj093zp81sx4w User talk:Sewepb 3 5533 20245 2019-12-17T07:42:01Z Itti 2093 Itti moved page [[User talk:Sewepb]] to [[User talk:Ameisenigel]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Sewepb|Sewepb]]" to "[[Special:CentralAuth/Ameisenigel|Ameisenigel]]" 20245 wikitext text/x-wiki #REDIRECT [[User talk:Ameisenigel]] f6232v4vtktebjkkrjaopmzo2dg26nc Reer Daraawiish 0 5534 20633 20246 2021-09-09T10:57:31Z Waaqofjirran 2889 20633 wikitext text/x-wiki {{-so-}} '''Siciid Harti''' ama adeegayaasha Diiriye Guure ee '''Dhulbahante''' bmkenitbuet4gic2ig19v0xkx0mjh84 Dhulbahante 0 5535 32504 32502 2024-11-17T07:02:04Z Girligaanshub 3150 32504 wikitext text/x-wiki {{-so-}} == Magac == '''dhulbahante''' === Tarjumaad === * {{en}}: reer Darawiish clan (since Garad Diiriye Guure era) * {{en}}: [[dhul]] (land) [[ba]] (person's soul represented as a bird-headed figure in Kemet) [[hanti]] (enriched) ki3ygfl43t07qllf34x0t6u7scphazy Siciid Harti 0 5536 20635 20248 2021-09-09T10:58:09Z Waaqofjirran 2889 20635 wikitext text/x-wiki {{-so-}} adeegayaasha Diiriye Guure ee '''Reer Daraawiish''' grhj703ks3lan4l7lrl2ny9rz8nq2qu shirshoore 0 5537 32310 32307 2024-11-08T05:12:14Z Girligaanshub 3150 32310 wikitext text/x-wiki {{-so-}} == Magac == '''shirshoore''' === Tarjumaad === * {{en}}: event organizer, coordinator, promoter, organiser, event planner, hoster * {{en}}: the dual monarchy lineage that united under king Deria Gure (Garad Diiriye Guure) ===Synonyms=== * [[xidhiidhiye]], [[dhexdhexaadiye]], [[shirshoore]] mrfue4ykkn4pypvmfa35k8pj3siznrq Darwiish 0 5538 20558 20366 2021-09-09T10:32:14Z Waaqofjirran 2889 20558 wikitext text/x-wiki {{-so-}} darwiish waa adeegayaasha Diiriye Guure ee dhulbahante ama nin '''Siciid Harti''' ah 4s9mxhyw4v1i9e7727dwzwlpyugvzw0 Darwiishad 0 5539 20632 20251 2021-09-09T10:57:11Z Waaqofjirran 2889 20632 wikitext text/x-wiki {{-so-}} Gabadh ama haween oo adeegayaasha Diiriye Guure ee '''Siciid Harti''' ah 02b1hqq58cyhatjflwifr31wm0cqfdr Darwiishnimo 0 5540 20631 20252 2021-09-09T10:56:47Z Waaqofjirran 2889 20631 wikitext text/x-wiki {{-so-}} Siyaasada adeegayaasha Diiriye Guure ee reer '''Siciid Harti''' dfkmuu9x0rwxwhjpw1tdai8yq2im5ka Reer Darwiish 0 5541 20643 20606 2021-09-09T11:02:48Z Waaqofjirran 2889 20643 wikitext text/x-wiki {{-so-}} reer darwiish Dadka ee dhulbahante ama adeegayaasha Diiriye Guure ee '''Siciid Harti''' ah 94d9prs7ibw9cnda2jwftb26r4o23aj Sool 0 5542 20637 20254 2021-09-09T10:58:43Z Waaqofjirran 2889 20637 wikitext text/x-wiki {{-so-}} Gobolka adeegayaasha Diiriye Guure ee '''Reer Darwiish''' 8nqfa42vc5z3kjb7wd3vm6y6ftzpmz1 cayn 0 5543 30098 27340 2024-08-23T17:54:31Z Girligaanshub 3150 30098 wikitext text/x-wiki {{-so-}} == Magac == '''cayn''' === Tarjumaad === * {{en}}: forest * {{en}}: unique r0v9i48kfz1ajrgupsne7isakfcwsie hazelnut 0 5545 20263 20259 2020-01-05T11:54:18Z 2804:14C:6585:5582:D9BB:E7AF:CF03:8027 20263 wikitext text/x-wiki {{-en-}} ===Magac=== '''hazelnut''' foornada 683lno431bav1bgdi8999ghj9sopre1 school 0 5546 20260 2020-01-01T17:29:05Z 2804:14C:6585:5582:FCB3:962C:FE2:4E8F Bog cusub: {{-en-}} ===Magac=== '''school''' [[iskuul]] {{-nl-}} ===Magac=== '''school''' [[iskuul]], [[dugsi]] 20260 wikitext text/x-wiki {{-en-}} ===Magac=== '''school''' [[iskuul]] {{-nl-}} ===Magac=== '''school''' [[iskuul]], [[dugsi]] 3pnu3zhswiq5gzxjfpc236zg657p1rq biyaano 0 5547 20262 2020-01-01T17:33:00Z 2804:14C:6585:5582:FCB3:962C:FE2:4E8F Bog cusub: {{-so-}} ===Magac=== '''biyaano''' 20262 wikitext text/x-wiki {{-so-}} ===Magac=== '''biyaano''' 8xdjzoy9bbzqljkbyl9zxxe85eh9e50 habboon 0 5548 30245 30237 2024-08-24T16:18:28Z Girligaanshub 3150 30245 wikitext text/x-wiki {{-so-}} == Magac == '''habboon''' === Tarjumaad === * {{en}}: proper, appropriate, convenient, suitable, convenience, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] cvb9438kjuweu1dcerxqny0twqxzbre User:WhitePhosphorus/minerva.js 2 5549 20265 2020-01-05T16:46:09Z Pathoschild 41 global user pages ([[m:Synchbot|requested by WhitePhosphorus]]) 20265 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/global-mobile.js&action=raw&ctype=text/javascript'); jxr0i4uppk1hrtb9t3ml1teg34o7lzp Geshiishe 0 5552 20270 2020-01-16T16:21:55Z Mensurtuhaww 2107 Bog cusub: {{-so-}} '''Geshiishe''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' 20270 wikitext text/x-wiki {{-so-}} '''Geshiishe''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' 2whcvglojdtccfy1dyy3m0nrobpfgow Odala Geshiishe 0 5553 20271 2020-01-16T16:23:19Z Mensurtuhaww 2107 Bog cusub: {{-so-}} '''Odala Geshiishe''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' 20271 wikitext text/x-wiki {{-so-}} '''Odala Geshiishe''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' 1w7s5grdt1cggij7ma6mrs2ptj3my6t Geshiishe Odala 0 5554 20272 2020-01-16T16:31:42Z Mensurtuhaww 2107 Bog cusub: {{-so-}} '''Geshiishe Odala''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' 20272 wikitext text/x-wiki {{-so-}} '''Geshiishe Odala''' waa '''Samakab, Egal, Warfa, Hassan iyo Naleye Siciid Harti''' b8udmmdftwbyo83eaoy2af8xu6zcj0h Xarunta Fadhiweyn 0 5555 20273 2020-01-16T18:08:17Z Waxaanusamaynaynaya 2108 Bog cusub: {{-so-}} '''Xarunta Fadhiweyn waa dawlada Daraawiish''' 20273 wikitext text/x-wiki {{-so-}} '''Xarunta Fadhiweyn waa dawlada Daraawiish''' q3h4obf0ag761no7wt8zjdyc3if7f89 Reer Warfa 0 5556 20274 2020-01-16T18:09:24Z Waxaanusamaynaynaya 2108 Bog cusub: {{-so-}} '''Reer Warfa waa Odala Bahgeri Axmed Garaad''' 20274 wikitext text/x-wiki {{-so-}} '''Reer Warfa waa Odala Bahgeri Axmed Garaad''' lih1sebv7u1of4j5x5z60hd4wq6lxko Reer Warfaa 0 5557 20275 2020-01-16T18:09:43Z Waxaanusamaynaynaya 2108 Bog cusub: {{-so-}} '''Reer Warfa waa Odala Bahgeri Axmed Garaad''' 20275 wikitext text/x-wiki {{-so-}} '''Reer Warfa waa Odala Bahgeri Axmed Garaad''' lih1sebv7u1of4j5x5z60hd4wq6lxko Darawiish 0 5558 20641 20613 2021-09-09T11:02:14Z Waaqofjirran 2889 20641 wikitext text/x-wiki {{-so-}} darawiish waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' ev4hl368ef3shpq70ebc9181l3mrpo6 Daraawiish 0 5559 20659 20277 2021-09-09T15:36:34Z Waaqofjirran 2889 20659 wikitext text/x-wiki {{-so-}} '''waa adeegayaasha Diiriye Guure ee Dhulbahante''' esyrpdm5tvrd6l3k9oue8vz7sj3pq9e Daraawiishnimo 0 5560 20658 20278 2021-09-09T15:36:19Z Waaqofjirran 2889 20658 wikitext text/x-wiki {{-so-}} '''waa adeegayaasha Diiriye Guure ee dhaqan Dhulbahante''' 9q0ybqrajej5by61v01rj6w6myopaey Darawiishnimo 0 5561 20657 20279 2021-09-09T15:36:07Z Waaqofjirran 2889 20657 wikitext text/x-wiki {{-so-}} '''waa adeegayaasha Diiriye Guure ee dhaqan Dhulbahante''' 9q0ybqrajej5by61v01rj6w6myopaey darawiishad 0 5563 28963 20288 2024-07-27T18:04:09Z Girligaanshub 3150 28963 wikitext text/x-wiki {{-so-}} darawiishad waa gabadh adeege u ah Garad Diiriye Guure ama qof oo '''Dhulbahante''' ah 0i41zo5lsowgczo7o3rplrxom5io2mi daraawiishad 0 5564 28960 20289 2024-07-27T18:01:18Z Girligaanshub 3150 28960 wikitext text/x-wiki {{-so-}} # daraawiishad waa gabadh u adeecda iyo u adeegta garad Diiriye Guure 2u88j932i11b956pf8hltcb49gbqgyn nabadyahan 0 5565 20290 2020-03-03T09:52:07Z Hinala adeegso 2126 Bog cusub: {{-so-}} === Magac === '''nabadyahan''' === Tarjumaad === {{kor}} * {{en}}: [[companion]] {{hoos}} 20290 wikitext text/x-wiki {{-so-}} === Magac === '''nabadyahan''' === Tarjumaad === {{kor}} * {{en}}: [[companion]] {{hoos}} 4uc57ilrlhic7ok9cuxq0ii0ye5qzib bok 0 5568 20297 2020-03-06T01:21:22Z Frodlekis 230 Bog cusub: {{-sv-}} === Magac === '''bok''' # [[buug]] 20297 wikitext text/x-wiki {{-sv-}} === Magac === '''bok''' # [[buug]] 1feupinpgajy481xzdqsn5m7r6i52cv darawiishta 0 5569 28961 20298 2024-07-27T18:02:19Z Girligaanshub 3150 28961 wikitext text/x-wiki {{-so-}} Darawiishta waa adeegaha iyo adeecayaasha Diirye Guure ama dadka Dhulbahante k771ojpdw92odi4t831j2ycplycux8r daraawiishta 0 5570 28959 20299 2024-07-27T17:59:33Z Girligaanshub 3150 28959 wikitext text/x-wiki {{-so-}} == Magac == '''daraawiishta''' # waa adeegayaasha garad Diiriye Guure qu16d01rdtjnfohgux4uo9e9gurd57a darawiishtii 0 5571 28962 20300 2024-07-27T18:03:06Z Girligaanshub 3150 28962 wikitext text/x-wiki {{-so-}} Darawiishtii waa adeegaha iyo adeecaha garad Diiriye Guure ama dadka Dhulbahante d59ixsfehp8v5ifa2sq461l1pf77vs9 darawish 0 5572 28964 20301 2024-07-27T18:04:36Z Girligaanshub 3150 28964 wikitext text/x-wiki {{-so-}} Darawish waa qof adeege u ah Garad Diiriye Guure ama qof Dhulbahante cjt6i8oj0uaoukaxo3pxhhxpx405vul darawishnimo 0 5573 28965 20302 2024-07-27T18:05:44Z Girligaanshub 3150 28965 wikitext text/x-wiki {{-so-}} darawishnimo wa ku adeegidda wacdiga Garad Diiriye Guure ama dhaqanka Si'iid Harti bpnt2toyyf8gngmprsz9xtc09phbrdb darawishad 0 5574 28966 20303 2024-07-27T18:06:15Z Girligaanshub 3150 28966 wikitext text/x-wiki {{-so-}} darawishad waa gabadh oo adeege u ah Garad Diiriye Guure ama gabadh Dhulbahante ah nvoevgje94yemxc5z7v6456iwlntem3 User:Leitoxx 2 5577 20309 2020-04-17T05:21:36Z Céréales Killer 1396 Céréales Killer moved page [[User:Leitoxx]] to [[User:Mazbel]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Leitoxx|Leitoxx]]" to "[[Special:CentralAuth/Mazbel|Mazbel]]" 20309 wikitext text/x-wiki #REDIRECT [[User:Mazbel]] kwv1jlcsnajcc0mc6l6o6xfk3wfi4dh User:DeltaQuad 2 5584 20332 2020-06-26T10:25:09Z Sakretsu 2169 Sakretsu moved page [[User:DeltaQuad]] to [[User:AmandaNP]]: Automatically moved page while renaming the user "[[Special:CentralAuth/DeltaQuad|DeltaQuad]]" to "[[Special:CentralAuth/AmandaNP|AmandaNP]]" 20332 wikitext text/x-wiki #REDIRECT [[User:AmandaNP]] aje1p072vbu4ycbg8irudw8wityb1lf User talk:DeltaQuad 3 5585 20334 2020-06-26T10:25:09Z Sakretsu 2169 Sakretsu moved page [[User talk:DeltaQuad]] to [[User talk:AmandaNP]]: Automatically moved page while renaming the user "[[Special:CentralAuth/DeltaQuad|DeltaQuad]]" to "[[Special:CentralAuth/AmandaNP|AmandaNP]]" 20334 wikitext text/x-wiki #REDIRECT [[User talk:AmandaNP]] 7gddn5h58qqx6j3qex3vixzxhpve2g3 User:Masumrezarock100/minerva.js 2 5587 20338 2020-07-11T04:22:43Z 1997kB 1844 1997kB moved page [[User:Masumrezarock100/minerva.js]] to [[User:Ainz Ooal Gown/minerva.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Masumrezarock100|Masumrezarock100]]" to "[[Special:CentralAuth/Ainz Ooal Gown|Ainz Ooal Gown]]" 20338 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:Ainz_Ooal_Gown/minerva.js\u0026action=raw\u0026ctype=text/javascript"); 1199zg8m64f2qadn04f8qquo82iu6uq User:Penarc 2 5589 20348 20347 2020-07-22T15:32:05Z Bridget 2115 trusted user, doesn't seem to be spam 20348 wikitext text/x-wiki [https://worldpediaen.miraheze.org/wiki/User:Penarc1 Worldpedia(en)Penarc1] <gallery>File:Cat 06 10 09 004.jpg</gallery> mlkfjf2dc5cgbxp4l9ehxumfxak0siv reer darawiish 0 5591 20630 20350 2021-09-09T10:55:27Z Waaqofjirran 2889 20630 wikitext text/x-wiki {{-so-}} '''reer darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 4wk4ddrp33rp1b8byvsve9w16etbmfl darawishta 0 5592 20629 20351 2021-09-09T10:55:15Z Waaqofjirran 2889 20629 wikitext text/x-wiki {{-so-}} '''darawishta''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' gmbank1u4wsy9rj748bs5yu1obiki7n daarawish 0 5593 20628 20352 2021-09-09T10:55:02Z Waaqofjirran 2889 20628 wikitext text/x-wiki {{-so-}} '''daarawish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 0zi241s33onaq0m2jd627k2ccz65c6l daarwiish 0 5594 20627 20353 2021-09-09T10:54:48Z Waaqofjirran 2889 20627 wikitext text/x-wiki {{-so-}} '''daarwiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 2najryttq0qg0cpguj8guwd7ikoaika darwish 0 5595 20626 20354 2021-09-09T10:54:35Z Waaqofjirran 2889 20626 wikitext text/x-wiki {{-so-}} '''darwish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' q32i05vn2ii8jfotylussql7was9nyp daraawish 0 5596 20625 20355 2021-09-09T10:54:14Z Waaqofjirran 2889 20625 wikitext text/x-wiki {{-so-}} '''daraawish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' m2g5y1vx2n5tg57ndh9blig9nf9yl1j daarwish 0 5597 20624 20356 2021-09-09T10:52:50Z Waaqofjirran 2889 20624 wikitext text/x-wiki {{-so-}} '''daarwish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 7c0nizjn4oo5qbfcz5wt2ie6jg4nvnm dervish 0 5598 20623 20357 2021-09-09T10:47:12Z Waaqofjirran 2889 20623 wikitext text/x-wiki {{-so-}} '''dervish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' l79kuvpwp9cwomachu1x9cj43lc0rcw darvish 0 5599 20622 20358 2021-09-09T10:46:53Z Waaqofjirran 2889 20622 wikitext text/x-wiki {{-so-}} '''darvish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' p2dtkhk55snk63ra06gmkatggzdsqbq derwish 0 5600 20621 20359 2021-09-09T10:46:36Z Waaqofjirran 2889 20621 wikitext text/x-wiki {{-so-}} '''derwish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 0edffn62x745xplyy3w80kfy6rnnyaw derwiish 0 5601 20620 20360 2021-09-09T10:46:20Z Waaqofjirran 2889 20620 wikitext text/x-wiki {{-so-}} '''derwiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' d5zf7s9meftn2eos0rm42a61t1bmqnr darwiishta 0 5602 20619 20361 2021-09-09T10:46:06Z Waaqofjirran 2889 20619 wikitext text/x-wiki {{-so-}} '''darwiishta''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' kn99mwd7xmxzqxd39d3o9tuj5nlnc3i derwiishta 0 5603 20618 20362 2021-09-09T10:45:52Z Waaqofjirran 2889 20618 wikitext text/x-wiki {{-so-}} '''derwiishta''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' dg9s3hwje1zmonmamhekx39rvlvo7su dervishes 0 5604 20617 20363 2021-09-09T10:45:36Z Waaqofjirran 2889 20617 wikitext text/x-wiki {{-so-}} '''dervishes''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 6sx20fr1o05fvvel2seeutnbhtb9uwr daraawishta 0 5605 20616 20364 2021-09-09T10:45:21Z Waaqofjirran 2889 20616 wikitext text/x-wiki {{-so-}} '''daraawishta''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' bqhll63q0t6oyhu4yo31p0eul4xl04k reer darawish 0 5606 20640 20614 2021-09-09T11:02:00Z Waaqofjirran 2889 20640 wikitext text/x-wiki {{-so-}} reer '''darawish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' hhtaoovc2p6g61jvka9puvk64j87lwq reer daarawish 0 5607 20610 20368 2021-09-09T10:42:57Z Waaqofjirran 2889 20610 wikitext text/x-wiki {{-so-}} reer '''daarawish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' f1rowdwam12wsig8r4pnc67bxgs9fbz beesha darawiish 0 5608 20639 20615 2021-09-09T11:01:44Z Waaqofjirran 2889 20639 wikitext text/x-wiki {{-so-}} '''beesha darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' f3hm1wc8n0qo8kapuhac9l5og8h0q4k beesha daraawiish 0 5609 20642 20608 2021-09-09T11:02:30Z Waaqofjirran 2889 20642 wikitext text/x-wiki {{-so-}} '''beesha daraawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 2rr7hdz30fmut0i2hyaua2rqqs1aiyh beelaha darawiish 0 5610 20644 20605 2021-09-09T11:03:03Z Waaqofjirran 2889 20644 wikitext text/x-wiki {{-so-}} '''beelaha darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 9f67uabnfi53qfb9wwwrgnqgewe39yp beesha darwiish 0 5611 20648 20599 2021-09-09T11:04:01Z Waaqofjirran 2889 20648 wikitext text/x-wiki {{-so-}} '''beesha darwiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' j6rlvbt46hbx3q7sjgbrubpe1xmpyop beesha darwiishta 0 5612 20647 20600 2021-09-09T11:03:46Z Waaqofjirran 2889 20647 wikitext text/x-wiki {{-so-}} '''beesha darwiishta''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 0wbjopoxuhuuwtrxxmegowv12xa6myw qabiilka darawiish 0 5613 20646 20601 2021-09-09T11:03:31Z Waaqofjirran 2889 20646 wikitext text/x-wiki {{-so-}} '''qabiilka darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' q3g3lourklc9zbez3mc353ovv5i109k qabiilka daraawiish 0 5614 20645 20603 2021-09-09T11:03:16Z Waaqofjirran 2889 20645 wikitext text/x-wiki {{-so-}} '''darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' r8k2jk6uud4lt29w4f3tfpvzy3axsrx qabiilka darwiish 0 5615 20649 20594 2021-09-09T11:04:13Z Waaqofjirran 2889 20649 wikitext text/x-wiki {{-so-}} '''qabiilka darwiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' hrnl1vo2vpi5x6yek4dvqxtnaze7fke tolka darawiish 0 5616 20650 20592 2021-09-09T11:04:26Z Waaqofjirran 2889 20650 wikitext text/x-wiki {{-so-}} '''tolka darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' ku05zqagiykbo0y3ovlnm3ku2dwmhfh qolada darawiish 0 5617 20653 20588 2021-09-09T11:05:04Z Waaqofjirran 2889 20653 wikitext text/x-wiki {{-so-}} '''qolada darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' s6k3bsdvr57i6susia34g1jy837obb1 qolada darwiish 0 5618 20652 20589 2021-09-09T11:04:51Z Waaqofjirran 2889 20652 wikitext text/x-wiki {{-so-}} '''qolada darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' s6k3bsdvr57i6susia34g1jy837obb1 reer dervish 0 5619 20651 20591 2021-09-09T11:04:39Z Waaqofjirran 2889 20651 wikitext text/x-wiki {{-so-}} '''reer dervish ''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' c62ux2hk40ays0ym18n32uvl8uwpmeb reer dervishes 0 5620 20654 20584 2021-09-09T11:05:18Z Waaqofjirran 2889 20654 wikitext text/x-wiki {{-so-}} '''reer dervishes''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 9jfdjien8di8fy2kh1xxblkmu5tqv9l nin darawiish 0 5621 20655 20582 2021-09-09T11:05:30Z Waaqofjirran 2889 20655 wikitext text/x-wiki {{-so-}} '''nin darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 095r55rykejx1wec7owjcjzy6zq4ku2 naag darawiish 0 5622 20656 20580 2021-09-09T11:05:43Z Waaqofjirran 2889 20656 wikitext text/x-wiki {{-so-}} '''naag darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 19d2fxwq4gppdqtx1lr6vfhvhogpo6y wiil darawiish 0 5623 20578 20385 2021-09-09T10:38:48Z Waaqofjirran 2889 20578 wikitext text/x-wiki {{-so-}} '''wiil darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' dnks5ez4jbngjpqxf48v28xj1k30hjx gabadh darawiish 0 5624 20577 20386 2021-09-09T10:38:34Z Waaqofjirran 2889 20577 wikitext text/x-wiki {{-so-}} '''gabadh darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 0ofmhbqq5xlqnl0algsdmc1bbne3poh qoys darawiish 0 5625 20576 20387 2021-09-09T10:38:20Z Waaqofjirran 2889 20576 wikitext text/x-wiki {{-so-}} '''qoys darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' tprh9cd4b6aiomiy6lpc6drhhpl6lpt tuulo darawiish 0 5626 20575 20388 2021-09-09T10:38:07Z Waaqofjirran 2889 20575 wikitext text/x-wiki {{-so-}} '''tuulo darawiish''' waa adeegayaasha Diiriye Guure ee tuulo '''Dhulbahante''' ozkjxn8aunbkho2jg1p823uh6amk8qs magaalo darawiish 0 5627 20574 20389 2021-09-09T10:37:53Z Waaqofjirran 2889 20574 wikitext text/x-wiki {{-so-}} '''magaalo darawiish''' waa adeegayaasha Diiriye Guure ee '''magaalo Dhulbahante''' ksrp9eud4lwxip2q0ep7n2wjme14u3h dadka darawiish 0 5628 20573 20390 2021-09-09T10:37:39Z Waaqofjirran 2889 20573 wikitext text/x-wiki {{-so-}} '''dadka darawiish''' waa adeegayaasha Diiriye Guure ee dadka '''Dhulbahante''' 0v42eaeapjbphdvw1twiy52a5uccymp ehel darawiish 0 5629 20572 20391 2021-09-09T10:37:25Z Waaqofjirran 2889 20572 wikitext text/x-wiki {{-so-}} '''ehel darawiish''' waa adeegayaasha Diiriye Guure ee ehel '''Dhulbahante''' a3h8n94jg8vvi0vx1fks9lnnpov7ois dhul darawiish 0 5630 20571 20392 2021-09-09T10:37:10Z Waaqofjirran 2889 20571 wikitext text/x-wiki {{-so-}} '''dhul darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' r95zr3fisrfold4oog6f3nic7q7eayv dhul darwiish 0 5631 20570 20393 2021-09-09T10:36:52Z Waaqofjirran 2889 20570 wikitext text/x-wiki {{-so-}} '''dhul darwiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' m66tiuk00kzwq8znjpijis9yoohfbq5 dhul daraawiish 0 5632 20569 20394 2021-09-09T10:36:39Z Waaqofjirran 2889 20569 wikitext text/x-wiki {{-so-}} '''dhul daraawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' r9iau8rwpr75moplm00jz6b90dfuyac dhaqan darawiish 0 5633 20568 20395 2021-09-09T10:34:53Z Waaqofjirran 2889 20568 wikitext text/x-wiki {{-so-}} '''dhaqan darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 59lgqcn7idgxur70jx807do3w0owlot bulshada darawiish 0 5634 20567 20396 2021-09-09T10:34:33Z Waaqofjirran 2889 20567 wikitext text/x-wiki {{-so-}} '''bulshada darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 3vbco7dbslujostc4ekolpr0q0agv7e qabiilada darwiish 0 5635 20566 20397 2021-09-09T10:34:21Z Waaqofjirran 2889 20566 wikitext text/x-wiki {{-so-}} '''qabiilada darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' dh02p3h48wa165lvku2rsmgxfe9ijtr qabiilada darawiish 0 5636 20565 20398 2021-09-09T10:34:07Z Waaqofjirran 2889 20565 wikitext text/x-wiki {{-so-}} '''qabiilada darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' dh02p3h48wa165lvku2rsmgxfe9ijtr qabiilada daraawiish 0 5637 20564 20399 2021-09-09T10:33:52Z Waaqofjirran 2889 20564 wikitext text/x-wiki {{-so-}} '''qabiilada daraawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 1jhn9ourn55si2e67ta34ltw2ylt591 qabiilka dervish 0 5638 20563 20400 2021-09-09T10:33:38Z Waaqofjirran 2889 20563 wikitext text/x-wiki {{-so-}} '''qabiilka dervish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' k3p2v4frf77vmrygbsuxfqwpp6awnd2 beesha dervish 0 5639 20562 20401 2021-09-09T10:33:25Z Waaqofjirran 2889 20562 wikitext text/x-wiki {{-so-}} '''beesha dervish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' pkb3tpxuzf8cmvts509874m8nn1s57q beelaha dervish 0 5640 20561 20402 2021-09-09T10:33:11Z Waaqofjirran 2889 20561 wikitext text/x-wiki {{-so-}} '''beelaha dervish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' 5uyrd5lq7ligy1bfyn7kuvbo7urbq5z reer darwish 0 5641 20560 20403 2021-09-09T10:32:55Z Waaqofjirran 2889 20560 wikitext text/x-wiki {{-so-}} '''reer darwish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' sri2v2bhh4rdewj6xy1elg2x442u8pm beelihii darawiish 0 5642 20559 20404 2021-09-09T10:32:41Z Waaqofjirran 2889 20559 wikitext text/x-wiki {{-so-}} '''beelihii darawiish''' waa adeegayaasha Diiriye Guure ee '''Dhulbahante''' pxrh587ioqrew360xzz9tbbp8amjv3n Wiktionary talk:Bots 5 5644 24909 23329 2023-09-15T09:30:38Z MediaWiki message delivery 1259 /* Your wiki will be in read-only soon */ new section 24909 wikitext text/x-wiki == Important: maintenance operation on September 1st == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Read this message in another language]] The [[foundation:|Wikimedia Foundation]] will be testing its secondary data centre. 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. They will switch all traffic to the secondary data centre on '''Tuesday, September 1st 2020'''. 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 Tuesday, September 1st. The test will start at [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20200901T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 19:30 IST, 07:00 PDT, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday September 2). *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. *There will be code freezes for the week of September 1st, 2020. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch Datacenter#Schedule for 2020 switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. '''Please share this information with your community.''' </div></div> <span dir=ltr>[[m:User:Trizek (WMF)|User:Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 10:30, 31 Agoosto 2020 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=20410849 --> == Important: maintenance operation on October 27 == {{int:please-translate}} {{int:thank-you}} This is a reminder of [[m:Special:MyLanguage/Tech/Server_switch_2020|a message]] already sent to your wiki. On Tuesday, October 27 2020, all wikis will be in read-only mode for a short period of time. You will not be able to edit for up to an hour on Tuesday, October 27. The test will start at 14:00 UTC (14:00 WET, 15:00 CET, 10:00 EDT, 19:30 IST, 07:00 PDT, 23:00 JST, and in New Zealand at 03:00 NZDT on Wednesday October 28). Background jobs will be slower and some may be dropped. This may have an impact on some bots work. [[m:Special:MyLanguage/Tech/Server_switch_2020|Know more about this operation.]] -- <span dir=ltr>[[m:User:Trizek (WMF)|User:Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 09:25, 26 Oktoobar 2020 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=20578077 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch+2020&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. <!-- They will switch all traffic back to the primary data center on '''Tuesday, October 27 2020'''. --> 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 Tuesday, 29 June 2021. The test will start at [https://zonestamp.toolforge.org/1624975200 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday 30 June). *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. *There will be code freezes for the week of June 28. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch_Datacenter#Schedule_for_2021_switch|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></div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 01:23, 27 Juun 2021 (UTC) <!-- Message sent by User:SGrabarczuk (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=20746915 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><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. They will switch all traffic back to the primary data center on '''Tuesday, 14 September 2021'''. 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 Tuesday, 14 September 2021. The test will start at [https://zonestamp.toolforge.org/1631628049 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday, 15 September). *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. 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></div> [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User:SGrabarczuk (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 01:10, 11 Sebteembar 2021 (UTC) <!-- Message sent by User:SGrabarczuk (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=20746915 --> == Bots need to upgrade to Pywikibot 6.6.1 == <div lang="en" dir="ltr" class="mw-content-ltr"> Dear bot operators, bots running [[mw:Pywikibot|Pywikibot]] must upgrade to [https://doc.wikimedia.org/pywikibot/stable/changelog.html version 6.6.1] otherwise they will break when [[mw:MediaWiki_1.37/Deprecation_of_legacy_API_token_parameters|deprecated API parameters]] are removed. If you have any questions or need help in upgrading, please reach out using one of the [[mw:Special:MyLanguage/Manual:Pywikibot/Communication|Pywikibot communication channels]]. Thanks, [[m:User:Legoktm|Legoktm]] ([[m:User talk:Legoktm|talk]]) 18:03, 22 Sebteembar 2021 (UTC) </div> <!-- Message sent by User:Legoktm@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=22004738 --> == <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:24, 27 Febraayo 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=24337896 --> == <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-04-26|en}}'''. The test will start at '''[https://zonestamp.toolforge.org/{{#time:U|2023-04-26T14:00|en}} {{#time:H:i e|2023-04-26T14: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-04-26|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> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:21, 21 Abriil 2023 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=24903511 --> == <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]] will switch the traffic between its 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-09-20|en}}'''. The test will start at '''[https://zonestamp.toolforge.org/{{#time:U|2023-09-20T14:00|en}} {{#time:H:i e|2023-09-20T14:00}}]'''. Unfortunately, because of some limitations in [[mw:Special:MyLanguage/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-09-20|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> [[User:Trizek (WMF)|Trizek_(WMF)]] ([[m:User talk:Trizek (WMF)|talk]]) 09:30, 15 Sebteembar 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Bots&oldid=25086542 --> lhzdngxznds3jmzghugn4gqpuq8fblm User:Erokhin 2 5679 20454 2020-11-29T09:01:08Z Erokhin 2392 Bog cusub: {{#babel:ru|en-3|la-2}} 20454 wikitext text/x-wiki {{#babel:ru|en-3|la-2}} b6ib6fkatj0zqbarnhcr366lp6izwgu User:Pratyya Ghosh/WSign.js 2 5686 20463 2021-01-05T05:08:39Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Pratyya Ghosh]]) 20463 javascript text/javascript <span style="font-family:Cambria">'''[[User:Pratyya Ghosh|<span style="color:#082567">PratyyaG</span>]] · [[User talk:Pratyya Ghosh|<span style="color:#224C98">Talk</span>]]''' </span> dfkuzrfxb3fokiyj65jf5r4fqfl3qbp User talk:InternetArchiveBot 3 5702 20534 20530 2021-06-16T02:47:45Z Harej 2624 Changed redirect target from [[en:User talk:InternetArchiveBot]] to [[meta:User talk:InternetArchiveBot]] 20534 wikitext text/x-wiki #REDIRECT[[meta:User talk:InternetArchiveBot]] ihe6s1lbzqd8gasxnoewu85gshqim7x User:ZI Jony/minerva.js 2 5703 20531 2021-05-01T18:27:43Z Pathoschild 41 global user pages ([[m:Synchbot|requested by ZI Jony]]) 20531 javascript text/javascript mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:ZI_Jony/mobile-global.js&action=raw&ctype=text/javascript'); 1ud4suvkeq8qtlm36a2g10cfg17vxfa User talk:SHB2000 3 5713 20555 2021-09-05T17:58:54Z Pathoschild 41 global user pages ([[m:Synchbot|requested by SHB2000]]) 20555 wikitext text/x-wiki <div style="border: 1rem #dd0000 ridge; padding: 0.5em;">Hello! Please message me on [[m:User talk:SHB2000|meta.wikimedia.org]] instead. I may not notice messages on this page.</div> ojy2vkqs676esjrcfi79dwyt0tjr5xc User talk:Yahya 3 5714 20556 2021-09-05T19:17:59Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Yahya]]) 20556 wikitext text/x-wiki <div style="font-size:130%;font-family:Roboto,Arial; border-top:5px solid lightblue; border-bottom:5px solid lightblue; padding:5px;margin-top:20px;">Hello! Please message me on [[m:User talk:Yahya|meta.wikimedia.org]] instead. I may not notice messages on this page.</div> c4ypm7wbt5rvjqqxzie5ujk3hmhcrrp User:QuiteUnusual/common.js 2 5726 20678 2021-12-23T10:15:45Z Ternarius 2697 Ternarius moved page [[User:QuiteUnusual/common.js]] to [[User:MarcGarver/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/QuiteUnusual|QuiteUnusual]]" to "[[Special:CentralAuth/MarcGarver|MarcGarver]]" 20678 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:MarcGarver/common.js\u0026action=raw\u0026ctype=text/javascript"); i91jgzekokjapb6r1ns7rzzhr5wlnon User talk:Abuse filter 3 5729 20682 2022-01-04T18:19:29Z MediaWiki message delivery 1259 /* How we will see unregistered users */ new section 20682 wikitext text/x-wiki == How we will see unregistered users == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin=content/> Hi! You get this message because you are an admin on a Wikimedia wiki. When someone edits a Wikimedia wiki without being logged in today, we show their IP address. As you may already know, we will not be able to do this in the future. This is a decision by the Wikimedia Foundation Legal department, because norms and regulations for privacy online have changed. Instead of the IP we will show a masked identity. You as an admin '''will still be able to access the IP'''. There will also be a new user right for those who need to see the full IPs of unregistered users to fight vandalism, harassment and spam without being admins. Patrollers will also see part of the IP even without this user right. We are also working on [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|better tools]] to help. If you have not seen it before, you can [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|read more on Meta]]. If you want to make sure you don’t miss technical changes on the Wikimedia wikis, you can [[m:Global message delivery/Targets/Tech ambassadors|subscribe]] to [[m:Tech/News|the weekly technical newsletter]]. We have [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|two suggested ways]] this identity could work. '''We would appreciate your feedback''' on which way you think would work best for you and your wiki, now and in the future. You can [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|let us know on the talk page]]. You can write in your language. The suggestions were posted in October and we will decide after 17 January. Thank you. /[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/> </div> 18:19, 4 Jannaayo 2022 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(7)&oldid=22532681 --> q64xztupby7u5tob40slvgk47hvvmu8 User:Vit Koz 2 5730 21003 20684 2022-02-21T04:24:38Z EmausBot 1865 Bot: Dib u Sixidda qaldantay waxaa loo wareejiyey Bog kale [[User:Brubaker610]] 21003 wikitext text/x-wiki #REDIRECT [[User:Brubaker610]] bovix30yjct5txav5jifqqhmrg0poya qaranimo 0 5731 26903 26902 2024-03-10T05:35:48Z Girligaanshub 3150 Noqay bedelaadka [[Special:Diff/26902|26902]] ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 26903 wikitext text/x-wiki {{-so-}} == Magac == '''qaranimo''' === Tarjumaad === * {{en}}: [[nationalism]] i8fljmlfqtrl60cdf6jkihwg7vrvcbk dhidar 0 5732 29512 29510 2024-08-05T00:42:01Z Girligaanshub 3150 29512 wikitext text/x-wiki {{-so-}} == Magac == '''dhidar''' === Tarjumaad === * {{en}}: [[striped hyena]] eftmumobdjxq9i25rve9tbuqul1bvnj casabiyah 0 5733 20689 2022-02-13T09:48:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''casabiyah''' === Tarjumaad === * {{en}}: [[camaraderie]], [[social cohesion]], [[social conformity]] 20689 wikitext text/x-wiki {{-so-}} == Magac == '''casabiyah''' === Tarjumaad === * {{en}}: [[camaraderie]], [[social cohesion]], [[social conformity]] 7mpbf4w3ozhd94oxl29ulps3aghtun8 naaqus 0 5734 31729 30792 2024-10-21T03:41:21Z Girligaanshub 3150 31729 wikitext text/x-wiki {{-so-}} == Magac == '''naaqus''' === Tarjumaad === * {{en}}: mitigate, diminish, lessen, reduce, degrade, weaken, downgrade, demote, decline, stagnate, stagnation, recession, recede, shrink, ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] tilur6yo00hpciwkjgwjrxxui8wiq0b kasbay 0 5735 26975 24828 2024-03-22T02:52:16Z Girligaanshub 3150 26975 wikitext text/x-wiki {{-so-}} == Magac == '''kasbay''' === Tarjumaad === * {{en}}: earned, achieved, influenced ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]] duo0h2rcmkon5yd1kb8ni0ysf5bhcig qancinta 0 5736 20692 2022-02-13T09:51:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qancinta''' === Tarjumaad === * {{en}}: [[awe]], [[amazement]], [[astonishment]] 20692 wikitext text/x-wiki {{-so-}} == Magac == '''qancinta''' === Tarjumaad === * {{en}}: [[awe]], [[amazement]], [[astonishment]] 9deiztvukr58r8xy6xzpt5d6sze7lr4 qanci 0 5737 31821 31819 2024-10-25T21:30:15Z Girligaanshub 3150 31821 wikitext text/x-wiki {{-so-}} == Magac == '''qanci''' === Tarjumaad === * {{en}}: [[impress]], galvanize, rouse * {{en}}: satisfy ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]], [[dulqaad]], [[qanci]], [[haqabtir]] 4wihrd8etryuyugqr1ez6fznvm6tnve fallaago 0 5738 31679 31069 2024-10-20T02:00:34Z Girligaanshub 3150 31679 wikitext text/x-wiki {{-so-}} == Magac == '''fallaago''' === Tarjumaad === * {{en}}: [[outlaw]], [[renegade]], [[rebel]] ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] p1kvcbky9xqsgj4t4rwgivui57phpch qalqaal 0 5739 22492 20695 2022-09-27T01:31:03Z Girligaanshub 3150 22492 wikitext text/x-wiki {{-so-}} == Magac == '''qalqaal''' === Tarjumaad === * {{en}}: [[organize]], ama [[arrange]] * {{en}}: military drill akhkkmvob2lvljmcbo8dx4i8ryogl3s nugul 0 5740 31960 25488 2024-10-26T00:10:32Z Girligaanshub 3150 31960 wikitext text/x-wiki {{-so-}} == Magac == '''nugul''' === Tarjumaad === * {{en}}: [[vulnerable]], ama [[susceptible]], ama [[gullible]] ===near Synonyms=== *[[tawarut]], ===Synonyms=== *[[birmagayd]], [[marfuucal qalam]], [[nugul]], fbytdknv7s705dvgw4hhbgdogj5tk6z naf-huriye 0 5741 20697 2022-02-13T09:55:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naf-huriye''' === Tarjumaad === * {{en}}: [[self-sacrificer]] 20697 wikitext text/x-wiki {{-so-}} == Magac == '''naf-huriye''' === Tarjumaad === * {{en}}: [[self-sacrificer]] btvone5wrcsw6l7celm3wvtw477vd8a naf-hurka 0 5742 20698 2022-02-13T09:56:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naf-hurka''' === Tarjumaad === * {{en}}: self-sacrifice, aschimothusia, ama agathusia 20698 wikitext text/x-wiki {{-so-}} == Magac == '''naf-hurka''' === Tarjumaad === * {{en}}: self-sacrifice, aschimothusia, ama agathusia mx7ccu5g3xix3w185o0sa8vuph4wjdu firfircooniye 0 5743 26563 26561 2024-01-12T05:44:51Z Girligaanshub 3150 26563 wikitext text/x-wiki {{-so-}} == Magac == '''firfircooniye''' === Tarjumaad === * {{en}}: [[activist]] ===Synonyms=== *[[firfircooniye]], [[firfircoone]], [[afdhowre]], [[duufsade]] 2u4tjv52rz6ckcqkzkemdi48rbcvvc1 khusay 0 5744 20700 2022-02-13T10:07:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khusay''' === Tarjumaad === * {{en}}: [[concerned]] 20700 wikitext text/x-wiki {{-so-}} == Magac == '''khusay''' === Tarjumaad === * {{en}}: [[concerned]] t4nadwmvy4pmx0oyxbp2nuc2mb2cnu4 khusayso 0 5745 20701 2022-02-13T10:08:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khusayso''' === Tarjumaad === * {{en}}: [[pertinent]], ama [[relevant]] 20701 wikitext text/x-wiki {{-so-}} == Magac == '''khusayso''' === Tarjumaad === * {{en}}: [[pertinent]], ama [[relevant]] habfvwirgjjic37xv1ouhud26qra64w eed-waydaariye 0 5746 20702 2022-02-13T10:10:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eed-waydaariye''' === Tarjumaad === * {{en}}: [[scapegoater]] 20702 wikitext text/x-wiki {{-so-}} == Magac == '''eed-waydaariye''' === Tarjumaad === * {{en}}: [[scapegoater]] 9142mrdb4sm4gi5laoxvj7a8ktxeorj eed-waydaaris 0 5747 20703 2022-02-13T10:10:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eed-waydaaris''' === Tarjumaad === * {{en}}: [[scapegoating]] 20703 wikitext text/x-wiki {{-so-}} == Magac == '''eed-waydaaris''' === Tarjumaad === * {{en}}: [[scapegoating]] fo3d998ybvwon54xhe0uhckypuk6gn8 eed-waydaar 0 5748 20704 2022-02-13T10:11:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eed-waydaar''' === Tarjumaad === * {{en}}: [[scapegoat]] 20704 wikitext text/x-wiki {{-so-}} == Magac == '''eed-waydaar''' === Tarjumaad === * {{en}}: [[scapegoat]] 7ulkbep0ec79yt4a61r2l55cllspbmf weydaarsho 0 5749 30017 20705 2024-08-19T00:36:39Z Girligaanshub 3150 30017 wikitext text/x-wiki {{-so-}} == Magac == '''weydaarsho''' === Tarjumaad === * {{en}}: [[exchange]], [[switch]], [[swap]] ===Synonyms=== *[[waydaarsho]], [[talantaal]], [[weydaarsho]] d91fbb71hywdhjvlc4xilv8mva8uln7 xaasid 0 5750 24749 24584 2023-09-05T09:44:13Z Girligaanshub 3150 24749 wikitext text/x-wiki {{-so-}} == Magac == '''xaasid''' === Tarjumaad === * {{en}}: [[sadist]], ama [[gloater]], ama [[gravedancer]] ===Antonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], *[[wadajir]], [[raxleynta]], [[garabtaag]], [[xannaan]] sg6v4rpjcrhjsoomdsdzcnihn3zygp2 maangad 0 5751 20707 2022-02-13T10:14:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maangad''' === Tarjumaad === * {{en}}: [[imaginary]], 20707 wikitext text/x-wiki {{-so-}} == Magac == '''maangad''' === Tarjumaad === * {{en}}: [[imaginary]], 1quzg7632qnpwfi9wgl3lyhg8g6n9rm toox 0 5752 20708 2022-02-13T10:14:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toox''' === Tarjumaad === * {{en}}: [[range]], ama [[scope]] 20708 wikitext text/x-wiki {{-so-}} == Magac == '''toox''' === Tarjumaad === * {{en}}: [[range]], ama [[scope]] m7zpxc9suvk329fwihcptmpts77id28 qulqul 0 5753 28585 25264 2024-06-29T20:02:17Z Girligaanshub 3150 28585 wikitext text/x-wiki {{-so-}} == Magac == '''qulqul''' === Tarjumaad === * {{en}}: crawling, flowing, flow, 5xtky84o5xlsv39gx9inm3ppocruvht cufjiid 0 5754 20710 2022-02-13T10:16:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cufjiid''' === Tarjumaad === * {{en}}: [[gravity]] 20710 wikitext text/x-wiki {{-so-}} == Magac == '''cufjiid''' === Tarjumaad === * {{en}}: [[gravity]] s3e8qinuw7okwjacbmrd8xaa01891xn iniino 0 5755 29817 23858 2024-08-12T07:27:19Z Girligaanshub 3150 29817 wikitext text/x-wiki {{-so-}} == Magac == '''iniino''' === Tarjumaad === * {{en}}: seed * {{en}}: [[particles]], ama [[molecules]] l8li1r8di0hgbcysqm3p7sl3v2jsc03 fagaagga 0 5756 20719 20712 2022-02-13T11:07:08Z Girligaanshub 3150 /* Magac */ 20719 wikitext text/x-wiki {{-so-}} == Magac == '''fagaagga''' === Tarjumaad === * {{en}}: [[outer space]], universe pdaehjimjj1r7xv0ruikpk7ou1cli4r shamatah 0 5757 20713 2022-02-13T10:19:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shamatah''' ==Synonyms== *xaasidnimo ==Etymology== *Carabi ka yimid: شماتة === Tarjumaad === * {{en}}: [[schadenfreude]], epicaricacy, sadism 20713 wikitext text/x-wiki {{-so-}} == Magac == '''shamatah''' ==Synonyms== *xaasidnimo ==Etymology== *Carabi ka yimid: شماتة === Tarjumaad === * {{en}}: [[schadenfreude]], epicaricacy, sadism rb853jab3c16412lv6peu0dahei7ane cillanaad 0 5758 30700 30694 2024-09-11T03:13:58Z Girligaanshub 3150 30700 wikitext text/x-wiki {{-so-}} == Magac == '''cillanaad''' === Tarjumaad === * {{en}}: [[abstract]], intangible, abstraction, concept, theory, hypothesis ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]], [[filasho]], [[aragtida]] qzg59kqhrs0umyzzw7zbmy5eg0kz4jm ra'yi 0 5759 28174 28173 2024-06-12T19:27:04Z Girligaanshub 3150 28174 wikitext text/x-wiki {{-so-}} == Magac == '''ra'yi''' === Tarjumaad === * {{en}}: opinion ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] knuhoqn6j6wqsroabyh75z9gpewv9yc caadyaal 0 5760 30332 30108 2024-08-28T02:43:45Z Girligaanshub 3150 30332 wikitext text/x-wiki {{-so-}} == Magac == '''caadyaal''' === Tarjumaad === * {{en}}: tangible, concrete touchable thing ===Synonyms=== *[[if]], [[caadyaal]] qfrryz7xuqyln6mrbwpanv0emb7esw3 anshax-darro 0 5761 20717 2022-02-13T11:05:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''anshax-darro''' === Tarjumaad === * {{en}}: immoral, indecent, unethical 20717 wikitext text/x-wiki {{-so-}} == Magac == '''anshax-darro''' === Tarjumaad === * {{en}}: immoral, indecent, unethical brpvskn6671w5styz7tdz1qrnpwesc9 anshax 0 5762 31121 28847 2024-10-04T11:57:28Z Girligaanshub 3150 31121 wikitext text/x-wiki {{-so-}} == Magac == '''anshax''' === Tarjumaad === * {{en}}: ethical, moral, virtuous, decent, discipline, disciplined, ethics, ethic ===Synonyms=== *[[akhyaar]], [[anshax]], [[fariid]] hxpmeapacfly6q6mawxkiit4ne574t9 hoodaar 0 5763 20720 2022-02-13T11:08:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoodaar''' === Tarjumaad === * {{en}}: male role model, male mentor 20720 wikitext text/x-wiki {{-so-}} == Magac == '''hoodaar''' === Tarjumaad === * {{en}}: male role model, male mentor d8cpusohrg6itlvjk98hwbrep3bfeze jafaliil 0 5764 20721 2022-02-13T11:10:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jafaliil''' === Tarjumaad === * {{en}}: unattractive, ugly 20721 wikitext text/x-wiki {{-so-}} == Magac == '''jafaliil''' === Tarjumaad === * {{en}}: unattractive, ugly 0peur7u857uft1esfnsjkdlaqgi1kcs haldoor 0 5765 31634 31214 2024-10-19T14:16:01Z Girligaanshub 3150 31634 wikitext text/x-wiki {{-so-}} == Magac == '''haldoor''' === Tarjumaad === * {{en}}: social notable, anthropological VIP, social dignitary, community representative, social elite, role model ===Synonyms=== *[[laandheere]], [[askarmaroodi]], [[haldoor]], [[baarqab]] 60iecld1y8iadwgmf0ve472xtl4up9o cidlood 0 5766 28560 20723 2024-06-18T16:08:49Z Girligaanshub 3150 28560 wikitext text/x-wiki {{-so-}} == Magac == '''cidlood''' === Tarjumaad === * {{en}}: off-gridder, alone ===Synonyms=== *[[cidlood]], [[gooni-daaq]], [[cidlow]] f0ej50am9gh191gjw0ijbp5brre9qjk caarif 0 5767 20724 2022-02-13T11:12:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caarif''' === Tarjumaad === * {{en}}: expert 20724 wikitext text/x-wiki {{-so-}} == Magac == '''caarif''' === Tarjumaad === * {{en}}: expert nbfjcikyavaih4zm6bff4evdyqcjxlo khabiir 0 5768 31314 31301 2024-10-04T17:53:54Z Girligaanshub 3150 31314 wikitext text/x-wiki {{-so-}} == Magac == '''khabiir''' === Tarjumaad === * {{en}}: expert, role model, ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]] a8gw0riqjtvb8baiy61rzemph7lsv5u ishaartay 0 5769 20726 2022-02-13T11:13:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ishaartay''' === Tarjumaad === * {{en}}: cradle, crib 20726 wikitext text/x-wiki {{-so-}} == Magac == '''ishaartay''' === Tarjumaad === * {{en}}: cradle, crib ggsybkb1g4g7lqocq1cxdsytrpw4yto la-miidaamey 0 5770 20727 2022-02-13T11:14:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''la-miidaamey''' === Tarjumaad === * {{en}}: ejectee, exilee, evictee 20727 wikitext text/x-wiki {{-so-}} == Magac == '''la-miidaamey''' === Tarjumaad === * {{en}}: ejectee, exilee, evictee hczed042w1o0tx7cq5zcqr7w413x7xm miidaamiye 0 5771 20728 2022-02-13T11:15:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miidaamiye''' === Tarjumaad === * {{en}}: evictor, ejector, dislodger, banisher 20728 wikitext text/x-wiki {{-so-}} == Magac == '''miidaamiye''' === Tarjumaad === * {{en}}: evictor, ejector, dislodger, banisher o3dzp20x6ldil14eouyf0jnc30yxjwz mardabo 0 5772 20729 2022-02-13T11:15:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mardabo''' === Tarjumaad === * {{en}}: betrayal 20729 wikitext text/x-wiki {{-so-}} == Magac == '''mardabo''' === Tarjumaad === * {{en}}: betrayal iivtsb0cwborbdd2t6bgkj5i4z3xowv miidaamo 0 5773 30801 20730 2024-09-17T18:57:36Z Girligaanshub 3150 30801 wikitext text/x-wiki {{-so-}} == Magac == '''miidaamo''' === Tarjumaad === * {{en}}: rebuke, fend off, eject, oust, dislodge ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] jc0z3g0nqk9nk3q6jhyo2e2eia188sl miidaaminta 0 5774 30800 20731 2024-09-17T18:57:28Z Girligaanshub 3150 30800 wikitext text/x-wiki {{-so-}} == Magac == '''miidaaminta''' === Tarjumaad === * {{en}}: exile, expulsion ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] 1cn3bwu22bnxgcs78tmwcwfbwtiuze1 darafyada 0 5775 24839 24449 2023-09-11T17:16:24Z Girligaanshub 3150 24839 wikitext text/x-wiki {{-so-}} == Magac == '''darafyada''' === Tarjumaad === * {{en}}: edge, extremity, periphery, peripheries, borderlands ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] ===Near synonyms=== *[[bartamaad]], [[mubaax]], [[xaqaani]] t30as3c004m6dslmnbbdx1npgpxsft9 dembi-hurguf 0 5776 20733 2022-02-13T11:19:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dembi-hurguf''' === Tarjumaad === * {{en}} psychological projection, 20733 wikitext text/x-wiki {{-so-}} == Magac == '''dembi-hurguf''' === Tarjumaad === * {{en}} psychological projection, tf60ncah111rhf7i69dupudse511fwv amarnimo 0 5777 20734 2022-02-13T11:20:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amarnimo''' === Tarjumaad === * {{en}}: rules, regulations 20734 wikitext text/x-wiki {{-so-}} == Magac == '''amarnimo''' === Tarjumaad === * {{en}}: rules, regulations rspiu2quj6z5h4aok174r5cb6mkypjc han-dumin 0 5778 29334 29194 2024-08-01T15:02:10Z Girligaanshub 3150 29334 wikitext text/x-wiki {{-so-}} == Magac == '''hn-dumin''' === Tarjumaad === * {{en}}: devalue, degrade, belittle, disparage ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]], [[yasitaan]], [[yasid]] lc91hov73l4wmf77on637dqh1eaacb4 khushuucsan 0 5779 31952 29004 2024-10-26T00:06:14Z Girligaanshub 3150 31952 wikitext text/x-wiki {{-so-}} == Magac == '''khushuucsan''' === Tarjumaad === * {{en}}: humble, deferential, inhibition ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], rv8pjfze6454yhqwf8rium6bear3jab taddabur 0 5780 31798 24288 2024-10-25T20:56:58Z Girligaanshub 3150 31798 wikitext text/x-wiki {{-so-}} == Magac == '''taddabur''' ==Synonyms== *is-milicsiga (sura 23;68) === Tarjumaad === * {{en}}: introverted, introspective, reticence, introspect, ponder, reflect, consider, taciturnity, stoic, stoicism ===Synonyms=== *[[taddabur]], is-[[milicsiga]], [[zahid]] ggd2twpfqny58d22b1shc2msog1mu39 ikhtiyaarnimo 0 5781 32047 31267 2024-10-27T23:16:37Z Girligaanshub 3150 32047 wikitext text/x-wiki {{-so-}} == Magac == '''ikhtiyaarnimo''' === Tarjumaad === * {{en}}: autonomy, bodily integrity, physical autonomy, self-determination, self-ownership, individual sovereignty, volition, free will, liberty, self-determination, independence, ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] cr57d19xo51p4uzwisam6vvxwu9ygzr guudmar 0 5782 30206 29327 2024-08-24T12:11:22Z Girligaanshub 3150 30206 wikitext text/x-wiki {{-so-}} == Magac == '''guudmar''' === Tarjumaad === * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech * {{en}}: overview ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]], [[dadban]] ===Antonyms=== *[[badheedh]], [[foolka-fool]] oyv4442zyplfnf2ud9a24gfj6qxnglg dhayid 0 5783 29529 25681 2024-08-05T04:56:52Z Girligaanshub 3150 29529 wikitext text/x-wiki {{-so-}} == Magac == '''dhayid''' === Tarjumaad === * {{en}}: healing, caretaking, dressing, bandage, patch, patches ===Cognate=== *[[bog-a-dhayid]] 8dx48xdd4jiedwkuzo6503gb84pey3x firqo-laawe 0 5784 20741 2022-02-13T11:41:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firqo-laawe''' === Tarjumaad === * {{en}}: non-denominational 20741 wikitext text/x-wiki {{-so-}} == Magac == '''firqo-laawe''' === Tarjumaad === * {{en}}: non-denominational keewgo7d25t0dh1009tkwqhxfbat4pl firqo 0 5785 31619 31610 2024-10-19T11:52:22Z Girligaanshub 3150 31619 wikitext text/x-wiki {{-so-}} == Magac == '''firqo''' === Tarjumaad === * {{en}}: sect, faction, assemblage, congregation ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xer]], [[firqo]], [[xerdhaqameed]], [[xer-diimeed]] pvgn8edrkkgr1ls5hr1w323zbyt05d2 guumeys 0 5786 32111 30151 2024-10-28T04:40:12Z Girligaanshub 3150 32111 wikitext text/x-wiki {{-so-}} == Magac == '''guumeeys''' === Tarjumaad === * {{en}}: single woman, single cat lady, spinster, old maid, femcel ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]], [[minxiis]] i0f7r98dqu3lmuk5pkp79qf7arunu4a mudan-laawe 0 5787 20744 2022-02-13T11:45:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mudan-laawe''' === Tarjumaad === * {{en}}: undeserving 20744 wikitext text/x-wiki {{-so-}} == Magac == '''mudan-laawe''' === Tarjumaad === * {{en}}: undeserving 4n6e52oiqp1hr7k7votv9s75oitkd66 waano-baahid 0 5788 20747 20746 2022-02-13T11:46:59Z Girligaanshub 3150 20747 wikitext text/x-wiki {{-so-}} == Magac == '''waano-baahid''' ==Synonyms== *wacdi-baahid, aftahan-baahid, afmaal-baahid === Tarjumaad === * {{en}}: narcissistic needs 1ypmvojqilnqeasa5kqf2vhtfb1dqvf jamaad 0 5789 20748 2022-02-13T11:47:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jamaad''' === Tarjumaad === * {{en}}: cute 20748 wikitext text/x-wiki {{-so-}} == Magac == '''jamaad''' === Tarjumaad === * {{en}}: cute ktvzi2b5lg7ffyj5ks369towleqh2mr iclaan 0 5790 28775 24791 2024-07-17T07:24:31Z Girligaanshub 3150 28775 wikitext text/x-wiki {{-so-}} == Magac == '''iclaan''' === Tarjumaad === * {{en}}: proclamation, declaration ===Synonyms=== *[[is-afgarad]], [[dardaaran]], [[iclaan]], [[awaaji]], 0msoqm721413pt76mqwaz0fbvsmzet5 mowqif 0 5791 20750 2022-02-13T11:57:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''moqwif''' === Tarjumaad === * {{en}}: position 20750 wikitext text/x-wiki {{-so-}} == Magac == '''moqwif''' === Tarjumaad === * {{en}}: position c2qt41thudimp7fh17er3zcka4ww1b3 milmaan 0 5792 28157 27328 2024-06-10T00:58:13Z Girligaanshub 3150 28157 wikitext text/x-wiki {{-so-}} == Magac == '''milmaan''' === Tarjumaad === * {{en}}: amalgamate, coalesce, merge, assimilate, streamline, mix okofx44js7f6mv0ilknbxabhno3i3ev ictiraaf 0 5793 31791 24921 2024-10-25T20:50:40Z Girligaanshub 3150 31791 wikitext text/x-wiki {{-so-}} == Magac == '''ictiraaf''' === Tarjumaad === * {{en}}: recognition ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]] gmvlbusqv7d4knmd68oirno5hgqb3y4 bartameed 0 5794 32823 30634 2024-12-02T11:00:40Z Girligaanshub 3150 32823 wikitext text/x-wiki {{-so-}} == Magac == '''bartamaad''' === Tarjumaad === * {{en}}: neutral, intermediate ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] 9irdhnido5m7rrkeqc32tp953u0axop bartamaadnimo 0 5795 20754 2022-02-13T11:59:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bartamaadnimo''' === Tarjumaad === * {{en}}: neutrality 20754 wikitext text/x-wiki {{-so-}} == Magac == '''bartamaadnimo''' === Tarjumaad === * {{en}}: neutrality g1ijegn89wnyssuwadl5msfz4zcigsk caalaminimo 0 5796 23710 20755 2023-06-05T12:15:43Z Girligaanshub 3150 23710 wikitext text/x-wiki {{-so-}} == Magac == '''caalaminimo''' === Tarjumaad === * {{en}}: internationalism, globalization mofycrdu6w1u19iz41682vdyywrea1m aagga 0 5797 20756 2022-02-13T12:01:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aagga''' === Tarjumaad === * {{en}}: zone 20756 wikitext text/x-wiki {{-so-}} == Magac == '''aagga''' === Tarjumaad === * {{en}}: zone o3ky24iwgn5z1rhkdey2th9b2mb16a3 cimil 0 5798 23610 20757 2023-05-21T21:56:24Z Girligaanshub 3150 23610 wikitext text/x-wiki {{-so-}} == Magac == '''cimil''' === Tarjumaad === * {{en}}: bunker, pillbox pkj93243t594ze5qv81d3o5j6oq7u5w qariib 0 5799 32170 26729 2024-10-31T04:34:52Z Girligaanshub 3150 32170 wikitext text/x-wiki {{-so-}} == Magac == '''maadleh''' === Tarjumaad === * {{en}}: eccentric, awkward, strange, weird, cluster A personality ===Synonyms=== *[[qariib]], [[silloon]], [[ghairul-caadi]] a6lfx86iwj6ck7ztvqypzrgsgiwetke mabda'a 0 5800 30657 20759 2024-09-10T22:23:32Z Girligaanshub 3150 30657 wikitext text/x-wiki {{-so-}} == Magac == '''mabda'a''' === Tarjumaad === * {{en}}: principle ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] emz48vwq4wk9sy1wuf84jvkyreapujv caaqilnimada 0 5801 20760 2022-02-13T12:07:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caaqilnimda''' === Tarjumaad === * {{en}}: chieftainship 20760 wikitext text/x-wiki {{-so-}} == Magac == '''caaqilnimda''' === Tarjumaad === * {{en}}: chieftainship iszot00zzg22q6lfmhjeppdc53az8v4 caaqil 0 5802 20761 2022-02-13T12:07:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caaqil''' === Tarjumaad === * {{en}}: chieftain 20761 wikitext text/x-wiki {{-so-}} == Magac == '''caaqil''' === Tarjumaad === * {{en}}: chieftain 17oqmmcqumqymqsj0b6ba2gu5dg7akr ictiqaad 0 5803 28177 28133 2024-06-12T19:27:39Z Girligaanshub 3150 28177 wikitext text/x-wiki {{-so-}} == Magac == '''ictiqaad''' === Tarjumaad === * {{en}}: belief system ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] 0hv12xiiost2mzjp4ceo9a932hj2htr cagsi 0 5804 30313 28712 2024-08-27T00:00:22Z Girligaanshub 3150 30313 wikitext text/x-wiki {{-so-}} == Magac == '''cagsi''' === Tarjumaad === * {{en}}: reverse ===Synonyms=== *[[cagsi]], [[rogaal-celi]], [[rogaal-celin]], [[lid]] 9zi0iyiwijovp08153go1hxnxzldw34 abaad 0 5805 20764 2022-02-13T12:10:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abaad''' === Tarjumaad === * {{en}}: enduring, persisting 20764 wikitext text/x-wiki {{-so-}} == Magac == '''abaad''' === Tarjumaad === * {{en}}: enduring, persisting bf0miobyxmstu08doqpzc34jisvz3eh jil 0 5806 22934 20765 2022-12-06T20:48:32Z Girligaanshub 3150 22934 wikitext text/x-wiki {{-so-}} == Magac == '''jil''' === Tarjumaad === * {{en}}: imitation * {{en}}: generation d48hbpiu71nawm9gx699i6vv9i1iad0 sandaqad 0 5807 20766 2022-02-13T12:11:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sandaqad''' === Tarjumaad === * {{en}}: shack, shed 20766 wikitext text/x-wiki {{-so-}} == Magac == '''sandaqad''' === Tarjumaad === * {{en}}: shack, shed d2za32xmeezbxc06tete6rvq3ui7sdt farcan-nacayb 0 5808 20767 2022-02-13T12:12:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcan-nacayb''' === Tarjumaad === * {{en}}: infanticider, misopedia, misopedist 20767 wikitext text/x-wiki {{-so-}} == Magac == '''farcan-nacayb''' === Tarjumaad === * {{en}}: infanticider, misopedia, misopedist nvka4sasyvmtfj64dss6p9luv7rx3b0 daandaansi 0 5809 29182 29130 2024-07-30T22:18:18Z Girligaanshub 3150 29182 wikitext text/x-wiki {{-so-}} == Magac == '''daandaansi''' === Tarjumaad === * {{en}}: provoke, provocation ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] 47du33qi63hxj1z1qfrbuw2s150ielh fiigtaal 0 5810 20769 2022-02-13T12:22:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiigtaal''' === Tarjumaad === * {{en}}: wild, feral 20769 wikitext text/x-wiki {{-so-}} == Magac == '''fiigtaal''' === Tarjumaad === * {{en}}: wild, feral lwsni19b7uq0c9d3c7bj0735iy5xh1x durriyad 0 5811 27707 27502 2024-05-23T23:14:22Z Girligaanshub 3150 27707 wikitext text/x-wiki {{-so-}} == Magac == '''durriyad''' === Tarjumaad === * {{en}}: lineage ===Synonyms=== *[[durriyad]], [[dhexliga]], [[nasab]] 5abp3dxcey2ejzip3zia65pzepmcl5w farcan-diid 0 5812 20771 2022-02-13T12:23:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcan-diid''' === Tarjumaad === * {{en}}: anti-natalist 20771 wikitext text/x-wiki {{-so-}} == Magac == '''farcan-diid''' === Tarjumaad === * {{en}}: anti-natalist ghhe9e2h8afxqki0a2lq5hrauehmrs0 farcaniye 0 5813 20772 2022-02-13T12:23:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcaniye''' === Tarjumaad === * {{en}}: natalist 20772 wikitext text/x-wiki {{-so-}} == Magac == '''farcaniye''' === Tarjumaad === * {{en}}: natalist re5unbvnfg3qlrvczzmgbfy7z0esvv7 eexasho 0 5814 20773 2022-02-13T12:24:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eexasho''' === Tarjumaad === * {{en}}: biased, partiality, 20773 wikitext text/x-wiki {{-so-}} == Magac == '''eexasho''' === Tarjumaad === * {{en}}: biased, partiality, dbt8z1qkw6j0a0cdn8eveu5vj84j7oq shaqsiyeynta 0 5815 20774 2022-02-13T12:25:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaqsiyeynta''' === Tarjumaad === * {{en}}: individuation 20774 wikitext text/x-wiki {{-so-}} == Magac == '''shaqsiyeynta''' === Tarjumaad === * {{en}}: individuation o6edtj8uv34i5nffjaym53jeav1cld2 farokutiris 0 5816 20775 2022-02-13T12:25:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farokutiris''' === Tarjumaad === * {{en}}: few, handful 20775 wikitext text/x-wiki {{-so-}} == Magac == '''farokutiris''' === Tarjumaad === * {{en}}: few, handful nvj3tvspc41oxj0ksqpr8gk1vvfv5ww bilic 0 5817 26395 20776 2023-12-17T21:30:51Z Girligaanshub 3150 26395 wikitext text/x-wiki {{-so-}} == Magac == '''bilic''' === Tarjumaad === * {{en}}: aesthetics, pretty, prettiness cy36d8zx26kya0xcyb79r2xfa5a7g2e tawaaf 0 5818 20777 2022-02-13T12:27:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tawaaf''' === Tarjumaad === * {{en}}: circumambulation 20777 wikitext text/x-wiki {{-so-}} == Magac == '''tawaaf''' === Tarjumaad === * {{en}}: circumambulation s9hg9srvz9a1mlxdpxofxtht8h37bar ciriiri 0 5819 20778 2022-02-13T12:27:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ciriiri''' === Tarjumaad === * {{en}}: tight 20778 wikitext text/x-wiki {{-so-}} == Magac == '''ciriiri''' === Tarjumaad === * {{en}}: tight 7hxfz6n34ph6pat8bdvphuqp50c110l muruqeynta 0 5820 20779 2022-02-13T12:28:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muruqeynta''' === Tarjumaad === * {{en}}: bolster, buttress 20779 wikitext text/x-wiki {{-so-}} == Magac == '''muruqeynta''' === Tarjumaad === * {{en}}: bolster, buttress m1lt6ex67yx5nn88sbl3mhj4imn7ifu danyeer-duulaya 0 5821 20780 2022-02-13T12:29:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danyeer duulaya''' === Tarjumaad === * {{en}}: narcissist enabler 20780 wikitext text/x-wiki {{-so-}} == Magac == '''danyeer duulaya''' === Tarjumaad === * {{en}}: narcissist enabler db4957xa0hxntesik42q2qmrfckmtpo ku-dayasho 0 5822 20781 2022-02-13T12:30:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ku-dayasho''' === Tarjumaad === * {{en}}: copycat, parody, emulate, mimicry, impersonate 20781 wikitext text/x-wiki {{-so-}} == Magac == '''ku-dayasho''' === Tarjumaad === * {{en}}: copycat, parody, emulate, mimicry, impersonate 0okhykqk1f7kswwuj22oe5f6a46mo59 buuf 0 5823 20782 2022-02-13T12:30:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buuf''' === Tarjumaad === * {{en}}: navel 20782 wikitext text/x-wiki {{-so-}} == Magac == '''buuf''' === Tarjumaad === * {{en}}: navel 48b08ovkkhvjh39ws1gz88eiyogzit3 buuf-eegidda 0 5824 20783 2022-02-13T12:31:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buuf-eegidda''' === Tarjumaad === * {{en}}: navel-gazing 20783 wikitext text/x-wiki {{-so-}} == Magac == '''buuf-eegidda''' === Tarjumaad === * {{en}}: navel-gazing kqjr9bxa1hn30mp0f8i3sa05b9kss92 siyaaro 0 5825 20784 2022-02-13T12:32:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siyaaro''' === Tarjumaad === * {{en}}: homage feast, pious visitation, memorial ceremony 20784 wikitext text/x-wiki {{-so-}} == Magac == '''siyaaro''' === Tarjumaad === * {{en}}: homage feast, pious visitation, memorial ceremony hxltaqwv9rkllsiv596zog714sqyuer isla-sarreynta 0 5826 20785 2022-02-13T12:33:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isla-sarreynta''' === Tarjumaad === * {{en}}: supremacy, superiority complex 20785 wikitext text/x-wiki {{-so-}} == Magac == '''isla-sarreynta''' === Tarjumaad === * {{en}}: supremacy, superiority complex 9rhqat24ent3x01nxdqw64cs6fcozi4 isla-weynaan 0 5827 28412 28400 2024-06-15T16:49:55Z Girligaanshub 3150 28412 wikitext text/x-wiki {{-so-}} == Magac == '''isla-weynaan''' === Tarjumaad === * {{en}}: megalomania, god-complex, grandiosity, delusion of grandeur, hubris ===Synonyms=== *(sura 8 : 47) [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']], [[istuska]] cjze6angvv4venfmph36dwhep4w79i6 isla-weynaan kooxeed 0 5828 20787 2022-02-13T12:35:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isla-weynaan kooxeed''' === Tarjumaad === * {{en}}: group narcissism, group megalomania 20787 wikitext text/x-wiki {{-so-}} == Magac == '''isla-weynaan kooxeed''' === Tarjumaad === * {{en}}: group narcissism, group megalomania a9ydnht8l98v356vk9bwskk96w3a16b ricaaca 0 5829 28410 20790 2024-06-15T16:49:19Z Girligaanshub 3150 28410 wikitext text/x-wiki {{-so-}} == Magac == '''ricaaca''' ==Etymology== from arabic رياء *8;47 came out of their homes conceitedly, insolently *8;47 kharajoo min diyaarihim bataranw wa ri'aaa'an *8;47 kuwii ka baxay Guryahooda Kibir iyo istuska === Tarjumaad === * {{en}}: arrogance, insolent, ===Synonyms=== *(sura 8 : 47) [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']], [[istuska]] 9v4ifjichllssruejqbd4byevzqy31c isla-yareynta 0 5830 31803 20789 2024-10-25T21:15:27Z Girligaanshub 3150 31803 wikitext text/x-wiki {{-so-}} == Magac == '''isla-yareynta''' === Tarjumaad === * {{en}}: meekness, self-abasement, self-debasing, self-effacing, self-deprecating, ===Synonyms=== *[[isla-yareynta]], [[is-hoos-dhigasho]] dcp5qt3h0igu66naajz8x0ea69n6h9q baanis 0 5831 31809 27772 2024-10-25T21:20:27Z Girligaanshub 3150 31809 wikitext text/x-wiki {{-so-}} == Magac == '''baanis''' === Tarjumaad === * {{en}}: brag, ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]], [[baanis]] dz3crxv7n5h1xsyhjtxfz8vidrfxngk gacankudhiigle 0 5832 32036 20792 2024-10-27T14:27:45Z Girligaanshub 3150 32036 wikitext text/x-wiki {{-so-}} == Magac == '''gacankudhiigle''' === Tarjumaad === * {{en}}: bloodthirsty, killer ===Synonyms=== *[[gacankudhiigle]], [[dilaa]] ghlw9mh1ej038gcuwccar4gafol3omc heshiislaawe 0 5833 20793 2022-02-13T12:54:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heshiislaawe''' === Tarjumaad === * {{en}}: disagree 20793 wikitext text/x-wiki {{-so-}} == Magac == '''heshiislaawe''' === Tarjumaad === * {{en}}: disagree cli0exi4bf3702rx54o3xntcmqaqz2g sharaf-istuska 0 5834 20794 2022-02-13T12:54:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharaf-istuska''' === Tarjumaad === * {{en}}: humblebrag, virtue-signal 20794 wikitext text/x-wiki {{-so-}} == Magac == '''sharaf-istuska''' === Tarjumaad === * {{en}}: humblebrag, virtue-signal j5ubkann7woyzkvqxuuo0w6okyj5imu erey sarbeeb 0 5835 23639 20795 2023-05-23T16:15:50Z Girligaanshub 3150 23639 wikitext text/x-wiki {{-so-}} == Magac == '''erey sarbeed''' === Tarjumaad === * {{en}}: euphemism, innuendo, double entendre ===Synonyms=== *[[duurxul]] 3t535m9al7elj5333jad1teft1bqzzg halhay 0 5836 30714 20796 2024-09-11T03:35:18Z Girligaanshub 3150 30714 wikitext text/x-wiki {{-so-}} == Magac == '''halhay''' === Tarjumaad === * {{en}}: slogan ===Synonyms=== *[[qisad]], [[oraah]], [[halhay]], [[faallo]], [[faallada]] 41l4fcja8hvvqsgbsw3qrzgv1r20cqs oraahyo 0 5837 24140 21264 2023-08-08T15:58:52Z Girligaanshub 3150 24140 wikitext text/x-wiki {{-so-}} == Magac == '''oraahyo''' === Tarjumaad === * {{en}}: quote, saying, expression tw6e9mm1mcs457gqwv2ykyans467ape tibaax 0 5838 20798 2022-02-13T12:57:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tibaax''' === Tarjumaad === * {{en}}: expression 20798 wikitext text/x-wiki {{-so-}} == Magac == '''tibaax''' === Tarjumaad === * {{en}}: expression 48bp1dfr3ik62rk355z02z8itmuwttw nalalgaas 0 5839 20799 2022-02-13T12:57:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nalalgaas''' === Tarjumaad === * {{en}}: gaslight 20799 wikitext text/x-wiki {{-so-}} == Magac == '''nalalgaas''' === Tarjumaad === * {{en}}: gaslight mtccgjpnum3wgt29dvt9z3m92r1dzsr baaxad damiir 0 5840 20800 2022-02-13T12:57:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaxad damiir''' === Tarjumaad === * {{en}}: mental bandwidth 20800 wikitext text/x-wiki {{-so-}} == Magac == '''baaxad damiir''' === Tarjumaad === * {{en}}: mental bandwidth 07owjthxnsowy9iuvk6glycxu7n35j4 xirrib 0 5841 20801 2022-02-13T12:58:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xirrib''' === Tarjumaad === * {{en}}: street-smartness, wisdom, cunningness, slickness 20801 wikitext text/x-wiki {{-so-}} == Magac == '''xirrib''' === Tarjumaad === * {{en}}: street-smartness, wisdom, cunningness, slickness 9mguuja09zxzsfclovk7p3ifdllvkg8 taawi 0 5842 20802 2022-02-13T13:05:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taawi''' === Tarjumaad === * {{en}}: masquerade, posturing 20802 wikitext text/x-wiki {{-so-}} == Magac == '''taawi''' === Tarjumaad === * {{en}}: masquerade, posturing gd478um589fffq0iymxflngwby2x4up abeer 0 5843 20803 2022-02-13T13:06:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abeer''' === Tarjumaad === * {{en}}: virgin she-camel 20803 wikitext text/x-wiki {{-so-}} == Magac == '''abeer''' === Tarjumaad === * {{en}}: virgin she-camel sr0e6f0i2spo3srzcvd3xjbrzxy37n9 loolo 0 5844 20804 2022-02-13T13:07:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loolo''' === Tarjumaad === * {{en}}: love-bomb, badger, bait, goad 20804 wikitext text/x-wiki {{-so-}} == Magac == '''loolo''' === Tarjumaad === * {{en}}: love-bomb, badger, bait, goad j98qhtaafx4jq7ypn930pft544klr95 tuduc 0 5845 29580 25383 2024-08-06T01:53:25Z Girligaanshub 3150 29580 wikitext text/x-wiki {{-so-}} == Magac == '''tuduc''' === Tarjumaad === * {{en}}: phrase, syntax, clause, lineation, break ===Synonyms=== *[[weedh]], [[tix]], [[tuduc]], [[jumlad]] ke0hvh46irj79shonuvro9axci6uce5 weli 0 5846 29091 28047 2024-07-29T17:44:26Z Girligaanshub 3150 29091 wikitext text/x-wiki {{-so-}} == Magac == '''weli''' === Tarjumaad === * {{en}}: saint, guardian, patron, guide ===Synonyms=== *[[warshade]], [[xidhiidhiye]], [[dhexdhexaadiye]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] o10lseajh1pob3xd5w3er9d78xwbufl milicsiga 0 5847 31796 28733 2024-10-25T20:56:25Z Girligaanshub 3150 31796 wikitext text/x-wiki {{-so-}} == Magac == '''is-milicsiga''' === Tarjumaad === * {{en}}: introspection, stoic, introverted, introspective, introspect, ponder, reflect, consider ===Synonyms=== *[[taddabur]], is-[[milicsiga]], [[zahid]] 0af29p12z041dn84po8lkounp4hq6cg aftahan-boob 0 5848 20808 2022-02-13T13:09:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aftahan-boob''' === Tarjumaad === * {{en}}: love-bomb 20808 wikitext text/x-wiki {{-so-}} == Magac == '''aftahan-boob''' === Tarjumaad === * {{en}}: love-bomb 244zqxe0r8kdsch2a71jzigiulmvaep gaadmo 0 5849 31806 24623 2024-10-25T21:16:52Z Girligaanshub 3150 31806 wikitext text/x-wiki {{-so-}} == Magac == '''gaadmo''' === Tarjumaad === * {{en}}: trojan horse, fifth column, ambush, ambushing, amsbusher, decoy, ===Synonyms=== *[[tafwareem]], [[jidgooy]], [[gaadmo]], r3dstl5afpb81f2h3aesbql1kjh48u4 sadaalin-nafsi 0 5850 20810 2022-02-13T13:11:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sadaali-nafsi''' === Tarjumaad === * {{en}}: psychological projection 20810 wikitext text/x-wiki {{-so-}} == Magac == '''sadaali-nafsi''' === Tarjumaad === * {{en}}: psychological projection il4zvw6espfbbig0iya7k7nvle3hmo5 hiirtaanyo 0 5851 28324 24166 2024-06-14T17:12:08Z Girligaanshub 3150 28324 wikitext text/x-wiki {{-so-}} == Magac == '''hiirtaanyo''' === Tarjumaad === * {{en}}: resentment ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], 4oacei296zad568ggxcea2deqseqg0v qiiro-neefsasho 0 5852 20812 2022-02-13T13:12:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiiro-neefsasho''' === Tarjumaad === * {{en}}: narcissist mirroring 20812 wikitext text/x-wiki {{-so-}} == Magac == '''qiiro-neefsasho''' === Tarjumaad === * {{en}}: narcissist mirroring rp7fiiehek78o46weg7wrfbaxtayec0 cawl-dhagax 0 5853 20813 2022-02-13T13:14:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cawl-dhagax''' === Tarjumaad === * {{en}}: grey rock method, being uninteresting 20813 wikitext text/x-wiki {{-so-}} == Magac == '''cawl-dhagax''' === Tarjumaad === * {{en}}: grey rock method, being uninteresting qetmq12rgot1uswk9zwrad6aoch65q3 qalalaase 0 5854 20814 2022-02-13T13:15:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalalaase''' === Tarjumaad === * {{en}}: impediment, complication 20814 wikitext text/x-wiki {{-so-}} == Magac == '''qalalaase''' === Tarjumaad === * {{en}}: impediment, complication jy9ukmu7mfzrj7er809r6owjcbct351 waanwaan 0 5855 28614 20815 2024-06-30T12:53:32Z Girligaanshub 3150 28614 wikitext text/x-wiki {{-so-}} == Magac == '''waanwaan''' === Tarjumaad === * {{en}}: entente, truce 47e3980cmbb3504txcmykoobya2nzwx tashiil 0 5856 20816 2022-02-13T13:26:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tashiil''' === Tarjumaad === * {{en}}: frugal, sparing, austere 20816 wikitext text/x-wiki {{-so-}} == Magac == '''tashiil''' === Tarjumaad === * {{en}}: frugal, sparing, austere jhq7dt5q9iwuwwj2mopj78gauzyj8xu qumman 0 5857 32513 22486 2024-11-18T10:51:14Z Girligaanshub 3150 32513 wikitext text/x-wiki {{-so-}} == Magac == '''qumman''' === Tarjumaad === * {{en}}: admirable, heroine, * {{en}}: perfect ===Synonyms=== *[[toolmoon]], [[idil]], [[dheylan]], [[qumman]] r3qup7qwdttai6ka3te6g3pwbz72u0r qadaadweyn 0 5858 21539 21108 2022-07-06T17:37:10Z Girligaanshub 3150 21539 wikitext text/x-wiki {{-so-}} == Magac == '''qadaadweyn''' === Tarjumaad === * {{en}}: inter-riverine multi-racial person, ebonics, mfulqkswo454af9d6n529vnrpv88q1a hal-dhinac 0 5859 20819 2022-02-13T13:33:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hal-dhinac''' === Tarjumaad === * {{en}}: unilateral 20819 wikitext text/x-wiki {{-so-}} == Magac == '''hal-dhinac''' === Tarjumaad === * {{en}}: unilateral 1sdfwx8j5dlyv5xg5g1quapmhfuft9i udub-dhexaad 0 5860 30311 30303 2024-08-26T22:38:15Z Girligaanshub 3150 30311 wikitext text/x-wiki {{-so-}} == Magac == '''udub-dhexaad''' === Tarjumaad === * {{en}}: central pillar, epicenter, core, hub, nucleus, ground zero, centralized, centralization ===Synonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]], [[udubdhexaad]] hh0u9phxebvcggbrtkhrk1dua9gtggs dullaysan 0 5861 32562 20821 2024-11-22T09:08:33Z Girligaanshub 3150 32562 wikitext text/x-wiki {{-so-}} == Magac == '''dullaysan''' === Tarjumaad === * {{en}}: degraded, infamous, ignoble, scandalous, humiliated ===Synonym=== *[[fadeexo]], [[bayuur]], [[dullaysan]] hvrfvu8qi2wnczbodv4eihgw4e70xyd maangal 0 5862 20822 2022-02-13T13:35:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maangal''' === Tarjumaad === * {{en}}: logic 20822 wikitext text/x-wiki {{-so-}} == Magac == '''maangal''' === Tarjumaad === * {{en}}: logic 2qepr2939iyn6fgmbuyfabo3j56dbsj tawarut 0 5863 29110 24789 2024-07-29T20:00:13Z Girligaanshub 3150 29110 wikitext text/x-wiki {{-so-}} == Magac == '''tawarut''' === Tarjumaad === * {{en}}: enmeshment, surrogate relative spouse, emotional incest, ama psychic incest. ==Etymology== [[Carabi]] ka yimid: تورط (narcissism) *7;12 I am better than him ... me of fire, him of clay ... Get down from here! This is no place for your arrogance, you are degraded *7;12 khalaqtanee min narin khalaqtahu min teen ... *7;12 Hanaa ka Khayr roon ... waxaad iga Abuurtay Dab isagana Dhoobo ... ka Daga Xagan ... Xaq uma lehid inaad isku Dhex Kibriside, waxaad tahay dullaysane (tribalism) *49;13 O mankind, We have created you from a male and a female, and made you into races and tribes, so that you'd get mutually acquainted *49;13 Ya ayyuha naasu, inna khalaqnakum min thakarin wa untha waja'al naakum shu'uuban wa qabaa'ila li ta'aarafu *49;13 Dadow waxaan idinka abuuray lab iyo dhaddig, waxaana idinka yeellay shucuub iyo qabiilooyin si aad isu aqoonsataan (individualism) *6;164 Each soul is responsible for its own actions; no soul will bear the burden of another *6;164 wala taksibu kullu nafsin illa alayha, wala taziru waziratun wizra okhra *6;164 hebel kasta wuxuu kasbado waa uun korkiisa; hebel na, kasbada hebel kale ma qaaddo (introspection / introversion) *23;68 Have they not introspected the Word of God? *23;68 Afalam yaddabbaroo alqawla ? *23;68 Miyeynan is-milicsiga falin dhanka Quraanka? ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] 5ks5qkz2c9rm3kqfjybvseeqzwidsoy badeecad 0 5864 26450 20824 2023-12-26T13:43:21Z Girligaanshub 3150 26450 wikitext text/x-wiki {{-so-}} == Magac == '''badeecad''' === Tarjumaad === * {{en}}: item, commodity, object, thing, artefact ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], to8jdmlbxj5ktm0m2f5ge9ju0xevt6t hanuun 0 5865 28478 28429 2024-06-15T20:16:27Z Girligaanshub 3150 28478 wikitext text/x-wiki {{-so-}} == Magac == '''hanuun''' === Tarjumaad === * {{en}}: guidance, navigation ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] nk3aj4pdbpou2qel9dtwgf3m5b8tm4o camal 0 5866 29982 29981 2024-08-18T13:20:09Z Girligaanshub 3150 29982 wikitext text/x-wiki {{-so-}} == Magac == '''camal''' === Tarjumaad === * {{en}}: undertake, deeds, deed, handle, endeavour, enterprise, venture, undertaking * {{en}}: personality, character * {{en}}: like, likeness, akin 6cd14k9owdtx9brmhi84qyxoi6gp986 kasab 0 5867 20827 2022-02-13T13:42:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kasab''' === Tarjumaad === * {{en}}: onus, achievement, liability, obligation, encumbrance 20827 wikitext text/x-wiki {{-so-}} == Magac == '''kasab''' === Tarjumaad === * {{en}}: onus, achievement, liability, obligation, encumbrance 3whqlypt6mk5pb2b3emn72f349e3ja1 damacsanaan 0 5868 24627 20828 2023-09-03T01:24:05Z Girligaanshub 3150 24627 wikitext text/x-wiki {{-so-}} == Magac == '''damacsanaan''' === Tarjumaad === * {{en}}: mensrea, criminal intent, purpose, greed, desire, craving 28233by52dchvhgprqpghifesb80us4 bililiqo 0 5869 20829 2022-02-13T14:04:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bililiqo''' === Tarjumaad === * {{en}}: plundering, looting 20829 wikitext text/x-wiki {{-so-}} == Magac == '''bililiqo''' === Tarjumaad === * {{en}}: plundering, looting aqb2s4frumgajgsdgtf5tmwdpqo4t1d ricaaciye 0 5870 28406 26479 2024-06-15T16:32:58Z Girligaanshub 3150 28406 wikitext text/x-wiki {{-so-}} == Magac == '''ricaaciye''' === Tarjumaad === * {{en}}: egoist, narcissist ===Synonyms=== *[[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] 99j4lcv7mmyt0by4o1e75ehpkj12180 bukaan 0 5871 26490 20831 2023-12-30T14:55:42Z Girligaanshub 3150 26490 wikitext text/x-wiki {{-so-}} == Magac == '''bukaan''' === Tarjumaad === * {{en}}: morning illness, morning sickness, nausea, oz7mg6xq6tw92yg42792lcrwku95czq aaminaad 0 5872 20832 2022-02-13T14:05:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aaminaad''' === Tarjumaad === * {{en}}: faith 20832 wikitext text/x-wiki {{-so-}} == Magac == '''aaminaad''' === Tarjumaad === * {{en}}: faith lrtzffnaxz3hzdrru7680crb3g9d93p lamaane 0 5873 20833 2022-02-13T14:05:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lamaane''' === Tarjumaad === * {{en}}: spouse 20833 wikitext text/x-wiki {{-so-}} == Magac == '''lamaane''' === Tarjumaad === * {{en}}: spouse 84z9mu1l0kilx6yenp3omxs41zl8a7h lamaane meelgaadh 0 5874 20834 2022-02-13T14:06:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lamaane meelgaadh''' === Tarjumaad === * {{en}}: surrogate spouse 20834 wikitext text/x-wiki {{-so-}} == Magac == '''lamaane meelgaadh''' === Tarjumaad === * {{en}}: surrogate spouse fpkg8v5rjptp3fmobw8513zdf8o5qti dardaaran 0 5875 28774 24792 2024-07-17T07:24:20Z Girligaanshub 3150 28774 wikitext text/x-wiki {{-so-}} == Magac == '''dardaaran''' === Tarjumaad === * {{en}}: testament, will, testimony, manifesto, proclamation, promulgation, pronouncement, edict ===Synonyms=== *[[is-afgarad]], [[dardaaran]], [[iclaan]], [[awaaji]], qu27dtuha9hq770umjh9bi9cqkg5dx9 jabaq 0 5876 20836 2022-02-13T14:08:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jabaq''' ==Synonyms== Tahmeed, tahmeedi === Tarjumaad === * {{en}}: echo, imitate 20836 wikitext text/x-wiki {{-so-}} == Magac == '''jabaq''' ==Synonyms== Tahmeed, tahmeedi === Tarjumaad === * {{en}}: echo, imitate ceca3p5d63kc3x9rrp7becsmmjlcuih istuska 0 5877 28682 28409 2024-07-04T18:10:31Z Girligaanshub 3150 28682 wikitext text/x-wiki {{-so-}} == Magac == '''istuska''' === Tarjumaad === * {{en}}: vanity, show-off, vain ===Synonyms=== *[[ilaaqdoon]], [[istuska]] 4j8pd8sqq0vqlyunume952owligyudc mushahar 0 5878 20838 2022-02-13T14:11:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mushahar''' === Tarjumaad === * {{en}}: salary 20838 wikitext text/x-wiki {{-so-}} == Magac == '''mushahar''' === Tarjumaad === * {{en}}: salary lbq9wg5ggjgzed3nmvkklqkhc6lgd3k hoggaan 0 5879 27058 27056 2024-04-07T07:42:52Z Girligaanshub 3150 27058 wikitext text/x-wiki {{-so-}} == Magac == '''hoggaan''' === Tarjumaad === * {{en}}: authority ktuhc4prxhlvv7zte6mdfoimoro0ufb foox 0 5880 24826 20840 2023-09-10T19:26:16Z Girligaanshub 3150 24826 wikitext text/x-wiki {{-so-}} ===Magac=== '''beeyo''' ===Tarjumaad=== *{{en}}: low quality frankincense resin 2o6ph6bu4nev7opsnzwmprr4h8xvl9h hufan 0 5881 30235 30226 2024-08-24T16:12:40Z Girligaanshub 3150 30235 wikitext text/x-wiki {{-so-}} == Magac == '''hufan''' === Tarjumaad === * {{en}}: efficient, effective, fluent, efficiency, effective, effectiveness, fluency, expedient, expediency, convenient, convenience, ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] nkb3ahy40ix3y8mpu8gn1w7qevyf6tz xaasido 0 5882 20842 2022-02-13T14:13:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaasido''' === Tarjumaad === * {{en}}: schadenfreude, epicaricacy, sadism 20842 wikitext text/x-wiki {{-so-}} == Magac == '''xaasido''' === Tarjumaad === * {{en}}: schadenfreude, epicaricacy, sadism 09glb1ld699t35kp7r8ep43zh3tufdw tookh 0 5883 28408 28401 2024-06-15T16:33:23Z Girligaanshub 3150 28408 wikitext text/x-wiki {{-so-}} == Magac == '''tookh''' === Tarjumaad === * {{en}}: chauvinism, narcissism, arrogance, sanctimonious, brag ===Synonyms=== *[[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] mis3ez1mbv7e23fhfknli93f3ssadm7 mulxid 0 5884 32602 29167 2024-11-25T19:22:47Z Girligaanshub 3150 32602 wikitext text/x-wiki {{-so-}} == Magac == '''mulxid''' === Tarjumaad === * {{en}}: atheist ===Synonyms=== *[[majuusi]], [[mulxid]], [[cawaan]], [[calmaani]], [[qummay]], [[qumayo]] m2tzqkx7gkegqpdafv8gxpvb8eqxmp7 bulaasho 0 5885 20845 2022-02-13T14:15:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bulaasho''' === Tarjumaad === * {{en}}: advanced 20845 wikitext text/x-wiki {{-so-}} == Magac == '''bulaasho''' === Tarjumaad === * {{en}}: advanced ksxcrgoscbz9isrfxrrqri9t7j6ru53 taabagal 0 5886 30233 30224 2024-08-24T16:12:16Z Girligaanshub 3150 30233 wikitext text/x-wiki {{-so-}} == Magac == '''taabagal''' === Tarjumaad === * {{en}}: implement *{{en}}: viable, effective, ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] l3akbqimhs0i5fs9rwqowsbsucbic0n mashxarado 0 5887 31827 24878 2024-10-25T21:36:14Z Girligaanshub 3150 31827 wikitext text/x-wiki {{-so-}} == Magac == '''mashxarado''' === Tarjumaad === * {{en}}: validate, validation, lullaby, love-bomb, flatter, blandish, coax, sweet talk, fawn, pacify ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], e8jhgpu48l1frisww5u4er73np7fh01 koolkooli 0 5888 31792 24844 2024-10-25T20:50:53Z Girligaanshub 3150 31792 wikitext text/x-wiki {{-so-}} == Magac == '''koolkool''' === Tarjumaad === * {{en}}: infantilize, fawning, coddling, flatter, eulogize, smoodge, flatter, pamper, cosset, pander, gratify, ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], b0ybmidrxx358sw48mevjks3b5h82k9 gad iyo iibi 0 5889 20849 2022-02-13T14:17:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gd iyo iibi''' === Tarjumaad === * {{en}}: buy and sell 20849 wikitext text/x-wiki {{-so-}} == Magac == '''gd iyo iibi''' === Tarjumaad === * {{en}}: buy and sell jzha1qyrx9rpn290h2f04jncqwg8lpd himilo 0 5890 22253 20850 2022-09-21T18:30:36Z Girligaanshub 3150 22253 wikitext text/x-wiki {{-so-}} == Magac == '''himilo''' === Tarjumaad === * {{en}}: impulse g37erokmg3b8x1wui0oea7y6g84f3bg muqadas 0 5891 30517 24781 2024-09-05T20:32:09Z Girligaanshub 3150 30517 wikitext text/x-wiki {{-so-}} == Magac == '''muqadas''' === Tarjumaad === * {{en}}: sacred ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]], [[jisir]] o598o10tzbn86dvld4tpg68j3vt1ea3 saamiga 0 5892 29993 29992 2024-08-18T20:28:47Z Girligaanshub 3150 29993 wikitext text/x-wiki {{-so-}} == Magac == '''saami''' === Tarjumaad === * {{en}}: stake, proportion * {{en}}: smooth 44ecucv1dcuetzczgnh6i2z5s24uw4w kafiil 0 5893 32312 29092 2024-11-08T05:12:38Z Girligaanshub 3150 32312 wikitext text/x-wiki {{-so-}} == Magac == '''kafiil''' === Tarjumaad === * {{en}}: sponsor, patron ===Synonyms=== *[[warshade]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] n9hphulllm1iryok5uomppezue8ucqh carshiga 0 5894 20854 2022-02-13T14:31:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carshiga''' === Tarjumaad === * {{en}}: god's throne, god's seat 20854 wikitext text/x-wiki {{-so-}} == Magac == '''carshiga''' === Tarjumaad === * {{en}}: god's throne, god's seat t7mwngwqi2ocfx2mixf7rqan0d0ov5u haystayaal 0 5895 20855 2022-02-13T14:32:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haystayaal''' === Tarjumaad === * {{en}}: captives 20855 wikitext text/x-wiki {{-so-}} == Magac == '''haystayaal''' === Tarjumaad === * {{en}}: captives h7o10ri5wbrztvz36vfwj6exr0dg0n8 ugub 0 5896 32088 31919 2024-10-28T03:46:03Z Girligaanshub 3150 32088 wikitext text/x-wiki {{-so-}} == Magac == '''ugub''' === Tarjumaad === * {{en}}: virgin, plain, untilled, barren, unprecedented ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] 3u0jxvrzifk56u7rde5yq08iylsq47h jiidasho-leh 0 5897 20857 2022-02-13T14:34:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jiidasho-leh''' === Tarjumaad === * {{en}}: charming, 20857 wikitext text/x-wiki {{-so-}} == Magac == '''jiidasho-leh''' === Tarjumaad === * {{en}}: charming, jbi7zav9539fy2cjvjw3bd3t3cf3c2p ujeedo 0 5898 20858 2022-02-13T14:34:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ujeedo''' === Tarjumaad === * {{en}}: intent, purpose, motive 20858 wikitext text/x-wiki {{-so-}} == Magac == '''ujeedo''' === Tarjumaad === * {{en}}: intent, purpose, motive oao6t7adtr4r98y7o51qycmuspt407f edebnimo 0 5899 30659 30654 2024-09-10T22:23:53Z Girligaanshub 3150 30659 wikitext text/x-wiki {{-so-}} == Magac == '''edebnimo''' === Tarjumaad === * {{en}}: politeness, discipline ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] 41pcjlxlnk4nle87z3of39mlrvgmqm4 tognaan 0 5900 20860 2022-02-13T14:37:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tognaan''' === Tarjumaad === * {{en}}: tension, stress 20860 wikitext text/x-wiki {{-so-}} == Magac == '''tognaan''' === Tarjumaad === * {{en}}: tension, stress 2eo7fr63ukzuvhfukihaadlwy59asem daryeel 0 5901 31811 25500 2024-10-25T21:23:19Z Girligaanshub 3150 31811 wikitext text/x-wiki {{-so-}} == Magac == '''daryeel''' === Tarjumaad === * {{en}}: caretaker, custodian, conservator, care, heal, healing * {{en}}: heal, care ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]] r7buzri7zywlxculn14s0019i0vrk0r baadisooc 0 5902 20862 2022-02-13T14:39:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baadisooc''' === Tarjumaad === * {{en}}: buffer zone 20862 wikitext text/x-wiki {{-so-}} == Magac == '''baadisooc''' === Tarjumaad === * {{en}}: buffer zone 3grprbbndhjffgwo1umn2hto05whpn0 dulxaadis 0 5903 32483 29367 2024-11-16T19:45:04Z Girligaanshub 3150 32483 wikitext text/x-wiki {{-so-}} == Magac == '''dulxaadis''' === Tarjumaad === * {{en}}: overview ===Synonyms=== *[[dulxaadis]], [[dulucda]], [[mawduuc]], [[qodob]] d1sqew9o1lr3ddxwi08z1u5j1bqfdom aarsi 0 5904 20864 2022-02-13T14:47:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aarsi''' === Tarjumaad === * {{en}}: revenge 20864 wikitext text/x-wiki {{-so-}} == Magac == '''aarsi''' === Tarjumaad === * {{en}}: revenge 1ewcb0suolmubmjmpdstbu7boft1yos gammaan 0 5905 24153 20865 2023-08-08T22:51:42Z Girligaanshub 3150 24153 wikitext text/x-wiki {{-so-}} == Magac == '''gammaan''' === Tarjumaad === * {{en}}: equidae, equine qaqxugzw7t5i7utc32862xnem88v7rw garawshiiyo 0 5906 25945 20866 2023-11-16T00:32:04Z Girligaanshub 3150 25945 wikitext text/x-wiki {{-so-}} == Magac == '''garawshiiyo''' === Tarjumaad === * {{en}}: recognition brp23m92l296896ehyqb2tpb3svzm0d laabxaadasho 0 5907 29158 24168 2024-07-30T02:34:38Z Girligaanshub 3150 29158 wikitext text/x-wiki {{-so-}} == Magac == '''laabxaadasho''' === Tarjumaad === * {{en}}: overture of peace, remorse, repentance, penitence, regret, contrition, contriteness, atone, pardon, make amends, reparation, reparations, apologize, ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]], [[godobxir]] 9k7csu78u5iwyn0h6yq0eojgpdhww4p samotalis 0 5908 32402 31299 2024-11-12T07:41:40Z Girligaanshub 3150 32402 wikitext text/x-wiki {{-so-}} == Magac == '''samotalis''' === Tarjumaad === * {{en}}: therapy * {{en}}: good samaritan, humanitarian ===Synonyms=== *[[is-kalkaalin]], [[daawaynta xiriirka]], [[samafal]], [[samotalis]] 5l56jgo6a957bgamal0r43g7q6f7e7b qaan 0 5909 24734 20869 2023-09-04T19:40:32Z Girligaanshub 3150 24734 wikitext text/x-wiki {{-so-}} == Magac == '''qaan''' === Tarjumaad === * {{en}}: liability, responsibility, obligation, duty 9pr2myktwgt1ng3phszt2svoyeewxrs qoonsad 0 5910 24172 20870 2023-08-09T03:18:45Z Girligaanshub 3150 24172 wikitext text/x-wiki {{-so-}} == Magac == '''qoonsad''' === Tarjumaad === * {{en}}: skeptical, skeptic, doubt, doubtful, cynic 4ky7xtn1h3q7m3siymw06t7hffmhxm7 samirsiin 0 5911 31823 31820 2024-10-25T21:31:05Z Girligaanshub 3150 31823 wikitext text/x-wiki {{-so-}} == Magac == '''samirsiin''' === Tarjumaad === * {{en}}: placation, appeasement, appease ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]], [[dulqaad]], [[qanci]], [[haqabtir]] 25t5szhuez83l56u5cy5azzcrlg0f3j shirqool 0 5912 25134 20994 2023-09-26T14:26:24Z Girligaanshub 3150 25134 wikitext text/x-wiki {{-so-}} == Magac == '''shirqool''' === Tarjumaad === * {{en}}: entrapment, set up, connivance, conspiracy, plot nftukwbyr2gzch44sppzueme0q1ucgk turxaan 0 5913 28320 20873 2024-06-14T17:06:14Z Girligaanshub 3150 28320 wikitext text/x-wiki {{-so-}} == Magac == '''turxaan''' === Tarjumaad === * {{en}}: polish, grind hh1ei68juckj0vr5xthtlzsa5vvb22a tanaasul 0 5914 30935 29668 2024-09-26T05:10:55Z Girligaanshub 3150 30935 wikitext text/x-wiki {{-so-}} == Magac == '''tanaasul''' === Tarjumaad === * {{en}}: compromise ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]] ===Antonyms=== *[[hagro]] 8vmsq9lvwun6yov9f3mk7b2aj7u90hr gurmad 0 5915 29239 20875 2024-07-31T03:12:41Z Girligaanshub 3150 29239 wikitext text/x-wiki {{-so-}} == Magac == '''gurmad''' === Tarjumaad === * {{en}}: reinforce ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] hghv4unecxaltjjucduokui52pmhh3t godob-reeb 0 5916 29152 23222 2024-07-30T02:32:56Z Girligaanshub 3150 29152 wikitext text/x-wiki {{-so-}} == Magac == '''godob-reeb''' === Tarjumaad === * {{en}}: restitution, forgive * amnesty * women offering ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] knetfmcj77i3nu0wwbedqdjllqrzfdo dulqaad 0 5917 24149 23467 2023-08-08T22:47:31Z Girligaanshub 3150 24149 wikitext text/x-wiki {{-so-}} == Magac == '''dulqaad''' === Tarjumaad === * {{en}}: tolerate, patient, endure, condone, patience, tolerance 9ewtr4nz1vriav38mu15epyi7ecf0a1 aafti 0 5918 24450 24402 2023-08-28T12:01:47Z Girligaanshub 3150 24450 wikitext text/x-wiki {{-so-}} == Magac == '''aafti''' === Tarjumaad === * {{en}}: no man's land ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] e1fya5k8y32rva8i8l5vekibm6padiv jidgooy 0 5919 31805 20879 2024-10-25T21:16:41Z Girligaanshub 3150 31805 wikitext text/x-wiki {{-so-}} == Magac == '''jidgooy''' === Tarjumaad === * {{en}}: ambush ===Synonyms=== *[[tafwareem]], [[jidgooy]], [[gaadmo]], 6n4mkrwaiz0nucn4dvyo4v6r5psghdx xaqirada 0 5920 21191 20880 2022-04-08T05:00:55Z Girligaanshub 3150 21191 wikitext text/x-wiki {{-so-}} == Magac == '''xaqirada''' === Tarjumaad === * {{en}}: disparagement, denigration, 05oy4kxfhrf6ipvwun50unh5gesgu6v rafasho 0 5921 29468 29466 2024-08-04T13:03:28Z Girligaanshub 3150 29468 wikitext text/x-wiki {{-so-}} == Magac == '''rafasho''' === Tarjumaad === * {{en}}: regret, remorse, suffering ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]], [[cabasho]] 68jib2ugjdmhk7tng4lx9dvzyfrn8pi godob 0 5922 20882 2022-02-13T16:01:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''godob''' === Tarjumaad === * {{en}}: guilt 20882 wikitext text/x-wiki {{-so-}} == Magac == '''godob''' === Tarjumaad === * {{en}}: guilt stui6bcbxkkjjysfnxyqa6dnkal7k7m maaweelis 0 5923 20883 2022-02-13T16:03:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maaweelis''' === Tarjumaad === * {{en}}: preoccupied, immersed 20883 wikitext text/x-wiki {{-so-}} == Magac == '''maaweelis''' === Tarjumaad === * {{en}}: preoccupied, immersed 5eg6su0lb0ap52tl2bm6z99k1kty708 fejignaan 0 5924 31982 30343 2024-10-26T17:54:53Z Girligaanshub 3150 31982 wikitext text/x-wiki {{-so-}} == Magac == '''fejignaan''' === Tarjumaad === * {{en}}: cautious, heedful, attentive, vigilant, mindfulness, mindful ===Synonyms=== *[[macluumad]], [[fejignaan]], [[heegan]], [[heeganka]], [[digtooni]], [[ogeysiis]], [[taxadar]], [[waanshee]], ===Antonyms=== *[[hidib]] ceygifry3xkpbs3q90ainf8bqq53b41 isbaaro 0 5925 31028 29208 2024-09-30T22:57:55Z Girligaanshub 3150 31028 wikitext text/x-wiki {{-so-}} == Magac == '''isbaaro''' === Tarjumaad === * {{en}}: road-block, barricade, checkpoint, roadblock ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]] 1h3wmbui71c4azyxg5qxvgzygwipsio waxshi 0 5926 31904 20886 2024-10-25T23:12:46Z Girligaanshub 3150 31904 wikitext text/x-wiki {{-so-}} == Magac == '''waxshi''' === Tarjumaad === * {{en}}: brutal, cruel ===Synonyms=== *[[arxandarro]], [[majixinjixe]], [[waxshi]], [[arxanlaawe]] cikc4i0pi91nc7g70lnenyc1ujey6zy summad 0 5927 29456 20887 2024-08-04T12:22:54Z Girligaanshub 3150 29456 wikitext text/x-wiki {{-so-}} == Magac == '''summad''' === Tarjumaad === * {{en}}: symbol, mark n2l9z5d9i418wout7jfjzliufwmpmt2 tayo 0 5928 20888 2022-02-13T16:08:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tayo''' === Tarjumaad === * {{en}}: quality 20888 wikitext text/x-wiki {{-so-}} == Magac == '''tayo''' === Tarjumaad === * {{en}}: quality gjex2hcp8iia2tubkytvizok14boo8w durdur 0 5929 29201 20889 2024-07-30T23:39:05Z Girligaanshub 3150 29201 wikitext text/x-wiki {{-so-}} == Magac == '''durdur''' === Tarjumaad === * {{en}}: river stream, spring 0dbg0lran18jo9tr0129l5lblpy7vjn warbaahin 0 5930 27079 20890 2024-04-08T02:11:11Z Girligaanshub 3150 27079 wikitext text/x-wiki {{-so-}} == Magac == '''warbaahin''' === Tarjumaad === * {{en}}: media 368zipej7cv4k8uf9fckihzb0nj1hq4 kobcin 0 5931 20891 2022-02-13T16:31:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kobcin''' === Tarjumaad === * {{en}}: inculcate 20891 wikitext text/x-wiki {{-so-}} == Magac == '''kobcin''' === Tarjumaad === * {{en}}: inculcate o76i6vmjv6lk8fh2rkoc03vi6peer2j tacsi 0 5932 20892 2022-02-13T17:00:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacsi''' === Tarjumaad === * {{en}}: condolence 20892 wikitext text/x-wiki {{-so-}} == Magac == '''tacsi''' === Tarjumaad === * {{en}}: condolence cwcbui2f6ifnkrto4ct1qnr48m4anu4 lahaystenimo 0 5933 20893 2022-02-13T17:01:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lahaystenimo''' === Tarjumaad === * {{en}}: subjugation 20893 wikitext text/x-wiki {{-so-}} == Magac == '''lahaystenimo''' === Tarjumaad === * {{en}}: subjugation 4r465tqpracchqz9b64ixat47vnaxyf eexla'aan 0 5934 20894 2022-02-13T17:02:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eex-la'aan''' === Tarjumaad === * {{en}}: impartial 20894 wikitext text/x-wiki {{-so-}} == Magac == '''eex-la'aan''' === Tarjumaad === * {{en}}: impartial jgj8xn4ffksdtihomyxpopeq2807cec masiir 0 5935 27062 23087 2024-04-08T01:17:25Z Girligaanshub 3150 27062 wikitext text/x-wiki {{-so-}} == Magac == '''masiir''' === Tarjumaad === * {{en}}: fate k1dctmwtn05p0p5jne5jrqx75ehstga adeecayaal 0 5936 27747 20896 2024-05-27T12:33:08Z Girligaanshub 3150 27747 wikitext text/x-wiki {{-so-}} == Magac == '''adeecayaal''' === Tarjumaad === * {{en}}: loyalist, loyalists ad18emrhkpm52v0img37du36x4nw03x qooq-la'aan 0 5937 20897 2022-02-13T17:39:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooq-la'aan''' === Tarjumaad === * {{en}}: hypoactive sexual disorder, frigidity, asexual 20897 wikitext text/x-wiki {{-so-}} == Magac == '''qooq-la'aan''' === Tarjumaad === * {{en}}: hypoactive sexual disorder, frigidity, asexual eca6bbbreo004opndd5dtpnxa7ejy2k maseyr 0 5938 27306 20898 2024-05-02T12:48:48Z Girligaanshub 3150 27306 wikitext text/x-wiki {{-so-}} == Magac == '''maseyr''' === Tarjumaad === * {{en}}: jealous, envy psa3gnqqv10us7cmhyyjnlb1t32exjy wadajir 0 5939 24745 20899 2023-09-05T09:40:35Z Girligaanshub 3150 24745 wikitext text/x-wiki {{-so-}} == Magac == '''wadajir''' === Tarjumaad === * {{en}}: harmony, solidarity ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], *[[wadajir]], [[raxleynta]], [[garabtaag]] mm5radirk6d0pc1ec0t4dshg7pla8cz sheeko-jiif 0 5940 27723 20900 2024-05-26T05:55:48Z Girligaanshub 3150 27723 wikitext text/x-wiki {{-so-}} == Magac == '''sheeko-jiif''' === Tarjumaad === * {{en}}: lullaby ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], [[qalbi xabxab]], [[ictiraaf]], [[sheeko-jiif]] gjvuiti2pjbar0452xvafctuvrrumld afweyne 0 5941 20901 2022-02-13T17:52:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afweyne''' === Tarjumaad === * {{en}}: extrovert 20901 wikitext text/x-wiki {{-so-}} == Magac == '''afweyne''' === Tarjumaad === * {{en}}: extrovert as175uvra1yq3znikxdb0iy5f2a74g7 afgaab 0 5942 31769 30585 2024-10-25T20:33:45Z Girligaanshub 3150 31769 wikitext text/x-wiki {{-so-}} == Magac == '''afgaab''' === Tarjumaad === * {{en}}: introverted person, innocent person, humble person, polite person, private person, apolitical person ===Synonyms=== *[[birmagayd]], [[marfuucal qalam]], [[afgaab]], [[nugul]], [[khushuucsan]], [[hayin]], 1zgonc7aqauz4uuaiqfxnuyuqn94riq xujaynta 0 5943 26378 26318 2023-12-17T06:25:23Z Girligaanshub 3150 26378 wikitext text/x-wiki {{-so-}} == Magac == '''xujaynta''' === Tarjumaad === * {{en}}: challenge, dare, summon, one-upmanship, one-up, out-fox, better, outwit, merk, mog, narcissize ===Synonyms=== *[[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]], [[xujay]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] a501mg549iw2fodbkasfvhmrho6xuoq sayid 0 5944 29700 28200 2024-08-08T05:11:00Z Girligaanshub 3150 29700 wikitext text/x-wiki {{-so-}} == Magac == '''sayid''' === Tarjumaad === * {{en}}: master ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[xeer-ilaaliye]], az2dfc41p60dy31m81csa8mpax7yo3t aqdaamnimo 0 5945 20906 2022-02-13T18:28:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqdaamnimo''' === Tarjumaad === * {{en}}: indentured servitude, workfare, indentured labour 20906 wikitext text/x-wiki {{-so-}} == Magac == '''aqdaamnimo''' === Tarjumaad === * {{en}}: indentured servitude, workfare, indentured labour 5xnypu575qym5tbhc2w7tsoj1guyc6g qabatinka 0 5946 25091 20907 2023-09-22T17:40:19Z Girligaanshub 3150 25091 wikitext text/x-wiki {{-so-}} == Magac == '''qabatinka''' === Tarjumaad === * {{en}}: addiction ===Synonyms=== *[[maandoor]], [[mukhadaraat]], [[qabatinka]], [[balwad]] mo6bjesh658vqvaufkpltwb2iqsc7wz qabatinka daroogada 0 5947 20908 2022-02-13T18:31:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabatinka daroogada''' === Tarjumaad === * {{en}}: drug addiction 20908 wikitext text/x-wiki {{-so-}} == Magac == '''qabatinka daroogada''' === Tarjumaad === * {{en}}: drug addiction aumqcs05xhxdkuvmw4uzs3k7da6zku6 cudurdaar 0 5948 29156 20909 2024-07-30T02:33:42Z Girligaanshub 3150 29156 wikitext text/x-wiki {{-so-}} == Magac == '''cudurdaar''' === Tarjumaad === * {{en}}: pardon ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] lf59pr5g063k9ioinqb1k1i97xq798l han-yar 0 5949 20910 2022-02-13T18:37:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''han-yar''' === Tarjumaad === * {{en}}: low self-esteem 20910 wikitext text/x-wiki {{-so-}} == Magac == '''han-yar''' === Tarjumaad === * {{en}}: low self-esteem lyhvrbow0hpijw8ee2hzv2b99xyrium caasinimo 0 5950 20911 2022-02-13T18:38:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caasinimo''' === Tarjumaad === * {{en}}: rebelliousness, rogueness, disobedience 20911 wikitext text/x-wiki {{-so-}} == Magac == '''caasinimo''' === Tarjumaad === * {{en}}: rebelliousness, rogueness, disobedience 8i6i4bxodmkss4tfmfdllwj35sm9fnu xero 0 5951 20912 2022-02-13T18:40:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xero''' === Tarjumaad === * {{en}}: enclosure 20912 wikitext text/x-wiki {{-so-}} == Magac == '''xero''' === Tarjumaad === * {{en}}: enclosure eybphgufdx92qn5kp9zwq2axsze4468 xidhitaan 0 5952 20913 2022-02-13T18:41:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xidhitaan''' === Tarjumaad === * {{en}}: confinement 20913 wikitext text/x-wiki {{-so-}} == Magac == '''xidhitaan''' === Tarjumaad === * {{en}}: confinement edsweehttm1oifeoc8uvj5zr3h554wh iridjooge 0 5953 20914 2022-02-13T18:42:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iridjooge''' === Tarjumaad === * {{en}}: gatekeeper 20914 wikitext text/x-wiki {{-so-}} == Magac == '''iridjooge''' === Tarjumaad === * {{en}}: gatekeeper 2cthh0jlrkldwe7a9l1tusp81w371jn caasiyoobe 0 5954 31682 31071 2024-10-20T02:02:08Z Girligaanshub 3150 31682 wikitext text/x-wiki {{-so-}} == Magac == '''caasiyoobe''' === Tarjumaad === * {{en}}: renegade, rebel, anarchist ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] bmjkndy0swyydxb37s1trhost2dunuf foociidda 0 5955 20916 2022-02-13T18:51:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foocidda''' === Tarjumaad === * {{en}}: elevation 20916 wikitext text/x-wiki {{-so-}} == Magac == '''foocidda''' === Tarjumaad === * {{en}}: elevation e2mafqu5rdqecv7dkheyr14zhmyjfav hami leh 0 5956 31926 20917 2024-10-25T23:29:34Z Girligaanshub 3150 31926 wikitext text/x-wiki {{-so-}} == Magac == '''hami leh''' === Tarjumaad === * {{en}}: ambitious ===Synonyms=== *[[il-adag]], [[daneyste]], [[hami leh]] 07zlem7gttb4gym3c5ssnvbbde8nngw dayactir 0 5957 31606 31286 2024-10-17T10:59:14Z Girligaanshub 3150 31606 wikitext text/x-wiki {{-so-}} == Magac == '''dayactir''' === Tarjumaad === * {{en}}: repair, restore, fortify, rectify, amend, renovate, regenerate, fix, salvage, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]], [[tayeeyo]] jiqh3oqb55bhxp4bfj7zey98w2usz55 qaangaadhnimo 0 5958 20919 2022-02-13T18:55:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaangaadhnimo''' === Tarjumaad === * {{en}}: adultism 20919 wikitext text/x-wiki {{-so-}} == Magac == '''qaangaadhnimo''' === Tarjumaad === * {{en}}: adultism n8mdan7xmtsbzrnev2f8z30p0ymgw7y hanaqaadnimo 0 5959 23887 20920 2023-06-29T20:41:39Z Girligaanshub 3150 23887 wikitext text/x-wiki {{-so-}} == Magac == '''hanaqaadnimo''' === Tarjumaad === * {{en}}: develop, adulting, maturing kaq12igdmwhirk3fsmbmb3kgc9hh3jo dadyownimo 0 5960 29952 20921 2024-08-17T00:38:39Z Girligaanshub 3150 29952 wikitext text/x-wiki {{-so-}} == Magac == '''dadyownimo''' === Tarjumaad === * {{en}}: humanism r7iy12vjcm3glgzhom07l4e27x2jtr0 dhalashonimo 0 5961 20922 2022-02-13T19:19:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhalashonimo''' === Tarjumaad === * {{en}}: nativism 20922 wikitext text/x-wiki {{-so-}} == Magac == '''dhalashonimo''' === Tarjumaad === * {{en}}: nativism jq4wd3qhc4jpvnx59jvlex1uzvbct9u halaab 0 5962 30368 25504 2024-08-30T21:03:47Z Girligaanshub 3150 30368 wikitext text/x-wiki {{-so-}} == Magac == '''halaab''' === Tarjumaad === * {{en}}: languish, decay, deteriorate, dwindle, diminish, decline, deteriorate, falter, regress, devolve, stagnate fall, decline, rot, spoil, lag behind, stagnate, procrastinate, ruin, blemish, disfigure, deterioration, 4m475uamnlswk3xnp2t3l2lsc3t3ebg culaaculnimo 0 5963 20924 2022-02-13T19:25:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''culaaculnimo''' === Tarjumaad === * {{en}}: leeching 20924 wikitext text/x-wiki {{-so-}} == Magac == '''culaaculnimo''' === Tarjumaad === * {{en}}: leeching 47n46czx8cfs1zplo3qinat24y1jeer culaacul 0 5964 20925 2022-02-13T19:25:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''culaacul''' === Tarjumaad === * {{en}}: leech 20925 wikitext text/x-wiki {{-so-}} == Magac == '''culaacul''' === Tarjumaad === * {{en}}: leech t3yrvk2bi0q3hrqdekvpe0mle3cxvw6 qeexitaan 0 5965 20926 2022-02-13T19:25:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qeexitaan''' === Tarjumaad === * {{en}}: definition 20926 wikitext text/x-wiki {{-so-}} == Magac == '''qeexitaan''' === Tarjumaad === * {{en}}: definition ff8lb4mn8zdk1o7232vwp876wsvu2k4 bahdil 0 5966 28692 20927 2024-07-05T22:48:15Z Girligaanshub 3150 28692 wikitext text/x-wiki {{-so-}} == Magac == '''bahdil''' === Tarjumaad === * {{en}}: degradation, defamation, character assassination, defame, denigrate, discredit, disparage, scorn, vilify, abuse, 7fvac2z23f8w3cdlnjhooip0lfzktww xalinta 0 5967 20928 2022-02-13T19:35:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xalinta''' === Tarjumaad === * {{en}}: dispute resolution 20928 wikitext text/x-wiki {{-so-}} == Magac == '''xalinta''' === Tarjumaad === * {{en}}: dispute resolution gd73ulsrts61xosoun8hrpo7a4dduqp xaliyo 0 5968 20929 2022-02-13T19:37:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaliyo''' === Tarjumaad === * {{en}}: arbitration 20929 wikitext text/x-wiki {{-so-}} == Magac == '''xaliyo''' === Tarjumaad === * {{en}}: arbitration 80oul54ezd1h76huvm55qv9prgst1kp hadeynta 0 5969 26210 24830 2023-12-08T00:00:08Z Girligaanshub 3150 26210 wikitext text/x-wiki {{-so-}} == Magac == '''hadeynta''' === Tarjumaad === * {{en}}: salvation ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]], [[takhallus]] n9nyp3p2rengr2hf25w99vx3zmp4tox qadaadic 0 5970 31599 25910 2024-10-17T01:30:53Z Girligaanshub 3150 31599 wikitext text/x-wiki {{-so-}} == Magac == '''qadaadic''' === Tarjumaad === * {{en}}: coin, coins, token, change ===Synonyms=== *[[qadaadic]], [[sanood]] 25co9kithontxjj8zledfueairhyw76 bud-dhig 0 5971 23099 20932 2023-01-31T19:36:04Z Girligaanshub 3150 23099 wikitext text/x-wiki {{-so-}} == Magac == '''bud-dhig''' === Tarjumaad === * {{en}}: focal point, ground zero, nfnn49edo2s7w5cwg94ojyrunx8ccwq garaab 0 5972 22291 20933 2022-09-24T14:15:01Z Girligaanshub 3150 22291 wikitext text/x-wiki {{-so-}} == Magac == '''garaab''' === Tarjumaad === * {{en}}: apologetic, sympathy, empathy, compassion p9aqj4jfvjsx3ihqnbxp9ytc8ye1pwc bayaan 0 5973 26202 23785 2023-12-07T21:52:37Z Girligaanshub 3150 26202 wikitext text/x-wiki {{-so-}} == Magac == '''bayaan''' === Tarjumaad === * {{en}}: clarification, clarified, purified, manifesto, clear n5r0mkq4lzdql3fg5jlx2lrv4vyrher qaashado 0 5974 20935 2022-02-13T20:00:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaashado''' === Tarjumaad === * {{en}}: enhance 20935 wikitext text/x-wiki {{-so-}} == Magac == '''qaashado''' === Tarjumaad === * {{en}}: enhance 4kwh6kerrlr8dfwvtvy64jnpidkh8xa qufnaan 0 5975 20936 2022-02-13T20:00:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qufnaan''' === Tarjumaad === * {{en}}: excavation 20936 wikitext text/x-wiki {{-so-}} == Magac == '''qufnaan''' === Tarjumaad === * {{en}}: excavation glrc5z1bh4hkkogkyq8s3ci4poa0tho qaaraan 0 5976 31033 28770 2024-10-01T20:08:24Z Girligaanshub 3150 31033 wikitext text/x-wiki {{-so-}} == Magac == '''qaaraan''' === Tarjumaad === * {{en}}: family welfare ===Synonyms=== * [[qaaraan]], [[eexasho dadweynaha]], [[maslaxad]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], ldbcscuvm9i7h65ds2y1r7kndmk994s qoondeey 0 5977 32698 29429 2024-11-30T11:43:31Z Girligaanshub 3150 32698 wikitext text/x-wiki {{-so-}} == Magac == '''qoondeey''' === Tarjumaad === * {{en}}: arrange ahead of time, allocate ahead of time, manage ahead of time ===Synonyms=== *[[habayn]], [[habay]], [[turxaan-bixi]], [[qoondeey]], [[taxaabi]], 7uoo27jdk398r1q5ciaubqcympub0q1 agoon 0 5978 20939 2022-02-13T20:19:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''agoon''' === Tarjumaad === * {{en}}: orphan 20939 wikitext text/x-wiki {{-so-}} == Magac == '''agoon''' === Tarjumaad === * {{en}}: orphan 0qds9px1gd0gq92pn3h5mi6g80c1p18 dhool 0 5979 24407 20940 2023-08-28T03:44:35Z Girligaanshub 3150 24407 wikitext text/x-wiki {{-so-}} == Magac == '''dhool''' === Tarjumaad === * {{en}}: lateral incisor tooth, smile 2lhnx7svienmfvrg16qse9n2u69qs2m saamayn 0 5980 20941 2022-02-13T20:20:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saamayn''' === Tarjumaad === * {{en}}: affect 20941 wikitext text/x-wiki {{-so-}} == Magac == '''saamayn''' === Tarjumaad === * {{en}}: affect o6fwgy36oku5eyth6sl2tperfuvs8l3 maalinta halaabta 0 5981 20942 2022-02-13T20:21:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maalinta halaabta''' === Tarjumaad === * {{en}}: expiration date 20942 wikitext text/x-wiki {{-so-}} == Magac == '''maalinta halaabta''' === Tarjumaad === * {{en}}: expiration date rv0j8qq0wd1wieyx70d8nj9f2i1nzxp masuug 0 5982 32835 32834 2024-12-02T12:01:05Z Girligaanshub 3150 32835 wikitext text/x-wiki {{-so-}} == Magac == '''masuug''' === Tarjumaad === * {{en}}: to be greedy, to be a miser * {{en}}: hesitation ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] [[Category:Soomaali ereyada-ma|masuug]] 32qf9cox38xyov1ciwcs68e5abjf63l dhalanteed 0 5983 32214 32162 2024-11-02T00:47:56Z Girligaanshub 3150 32214 wikitext text/x-wiki {{-so-}} == Magac == '''dhalanteed''' === Tarjumaad === * {{en}}: to miss the mark, miss the point, misfire, flounder, fall short of * {{en}}: enfeeble, devitalize, debilitate, sap the strength of, diminish, impair, dilute, fade, * {{en}}: illusionary, illusory, illusion ===Synonyms=== *[[khurafaad]], [[khiyaali]], [[tiro-kuteen]], [[dhalanteed]] nc77fdmij4ouqfwizdh3e8wef91lylo jamasho 0 5984 30611 30607 2024-09-09T13:20:30Z Girligaanshub 3150 30611 wikitext text/x-wiki {{-so-}} == Magac == '''jamasho''' === Tarjumaad === * {{en}}: crave, desire, longing (especially during pregnancy) ===isku isir-raac=== *[[jamo]], [[jan]], [[jante]], [[jamasho]] 5exq3f03fjisjaticqag5gjoued71mn hiigsi 0 5985 27362 25652 2024-05-14T16:32:00Z Girligaanshub 3150 27362 wikitext text/x-wiki {{-so-}} == Magac == '''hiigsi''' === Tarjumaad === * {{en}}: goal, wish, vision, ambition rn943alslvzy2onp6j04vjp8my5pa77 heegan 0 5986 32496 31981 2024-11-16T19:51:30Z Girligaanshub 3150 32496 wikitext text/x-wiki {{-so-}} == Magac == '''heegan''' === Tarjumaad === * {{en}}: alert, ready ===Synonyms=== * [[fejignaan]], [[heegan]], [[heeganka]], [[digtooni]], [[taxadar]], [[waanshee]], ===Antonyms=== *[[hidib]] e0dywmmis6ut7v9dxr2w0aejrb38jiu yool 0 5987 20948 2022-02-13T20:27:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yool''' === Tarjumaad === * {{en}}: ambition, goal, passion 20948 wikitext text/x-wiki {{-so-}} == Magac == '''yool''' === Tarjumaad === * {{en}}: ambition, goal, passion 9q5x2ycnpgpe0px1nxeqk5htdpf8kdt jahwareer 0 5988 28856 28846 2024-07-22T01:09:44Z Girligaanshub 3150 28856 wikitext text/x-wiki {{-so-}} == Magac == '''jahwareer''' === Tarjumaad === * {{en}}: confusion ===Synonyms=== * [[jahwareer]], [[ashqaraar]], [[deelqaaf]] ni31a6yxr75a5sbl9pdjdlusm7jkwkm majaraha 0 5989 29922 25688 2024-08-15T02:31:29Z Girligaanshub 3150 29922 wikitext text/x-wiki {{-so-}} == Magac == '''majaraha''' === Tarjumaad === * {{en}}: heading indicator, reins, direction fvmmwqpovoksya88mf7e0t2ong3vmm8 turraantur 0 5990 20951 2022-02-13T20:32:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''turraantur''' === Tarjumaad === * {{en}}: interference 20951 wikitext text/x-wiki {{-so-}} == Magac == '''turraantur''' === Tarjumaad === * {{en}}: interference 7rsz3uc32zf34ngllpk1n2g22sbncoi kaalmo 0 5991 31767 20952 2024-10-25T20:28:28Z Girligaanshub 3150 31767 wikitext text/x-wiki {{-so-}} == Magac == '''kaalmo''' === Tarjumaad === * {{en}}: kindness ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]] s85f9xrwx16ed0jrg5levs2shnvo31o buurrin 0 5992 20953 2022-02-13T20:33:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buurrin''' === Tarjumaad === * {{en}}: endorse 20953 wikitext text/x-wiki {{-so-}} == Magac == '''buurrin''' === Tarjumaad === * {{en}}: endorse 0t3btkil6nnxxl1grfh32cvtw2mc1a5 wax badsasho 0 5993 20955 20954 2022-02-13T20:46:04Z Girligaanshub 3150 /* Tarjumaad */ 20955 wikitext text/x-wiki {{-so-}} == Magac == '''wax badsasho''' === Tarjumaad === * {{en}}: consumerism, materialism 76kj9sz48orihw2ebtdu5lblpnzd3pc boodh 0 5994 20956 2022-02-13T20:46:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boodh''' === Tarjumaad === * {{en}}: dust 20956 wikitext text/x-wiki {{-so-}} == Magac == '''boodh''' === Tarjumaad === * {{en}}: dust h23090ka2ojnju4imjm10r870vowu5f haawiyah 0 5995 20957 2022-02-13T20:47:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haawiyah''' === Tarjumaad === * {{en}}: bottomless pit 20957 wikitext text/x-wiki {{-so-}} == Magac == '''haawiyah''' === Tarjumaad === * {{en}}: bottomless pit ov0dyhezdtdkr84pq1qah9e8woo4za6 shar 0 5996 20958 2022-02-13T20:47:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shar''' === Tarjumaad === * {{en}}: evil 20958 wikitext text/x-wiki {{-so-}} == Magac == '''shar''' === Tarjumaad === * {{en}}: evil aqjn5uiwem214l3768fxjns6vi4ibg8 daahirnimo 0 5997 20959 2022-02-13T20:48:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahirnimo''' === Tarjumaad === * {{en}}: purity 20959 wikitext text/x-wiki {{-so-}} == Magac == '''daahirnimo''' === Tarjumaad === * {{en}}: purity 9bp5y7aolsb8y3fqr0mvofn3nw0q2sj foodda 0 5998 20960 2022-02-13T20:48:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foodda''' === Tarjumaad === * {{en}}: forehead 20960 wikitext text/x-wiki {{-so-}} == Magac == '''foodda''' === Tarjumaad === * {{en}}: forehead sbr4xez17ccycuvwob35e5zjuwms4to hodontinimo 0 5999 20961 2022-02-13T20:50:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hodontinimo''' === Tarjumaad === * {{en}}: self-sufficiency, self-sustainability 20961 wikitext text/x-wiki {{-so-}} == Magac == '''hodontinimo''' === Tarjumaad === * {{en}}: self-sufficiency, self-sustainability c657ckjp047138a1zhj7cpdnlnb6bi1 coomaade 0 6000 20962 2022-02-13T20:54:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''coomaade''' === Tarjumaad === * {{en}}: vulture 20962 wikitext text/x-wiki {{-so-}} == Magac == '''coomaade''' === Tarjumaad === * {{en}}: vulture r59l9t8tkh71tnkjjdrelsaq0sic9nn bakhticunnimo 0 6001 20963 2022-02-13T20:54:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakhticunnimo''' === Tarjumaad === * {{en}}: scavengerism 20963 wikitext text/x-wiki {{-so-}} == Magac == '''bakhticunnimo''' === Tarjumaad === * {{en}}: scavengerism s8v1yf25xjcocjyd9yxhs5m1cvdnnbh qooqyahan 0 6002 20964 2022-02-13T20:55:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqyahan''' === Tarjumaad === * {{en}}: libidinist, erotomaniac 20964 wikitext text/x-wiki {{-so-}} == Magac == '''qooqyahan''' === Tarjumaad === * {{en}}: libidinist, erotomaniac 0r9uulndtkfzj69n4ztdc1rotabehpl gardarro 0 6003 29185 29141 2024-07-30T22:18:46Z Girligaanshub 3150 29185 wikitext text/x-wiki {{-so-}} == Magac == '''gardarro''' === Tarjumaad === * {{en}}: injustice, oppression, anarchy, anarchism, chaos, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] qy7udvkfhlwf1wnu57oqo9tz5upq9yn igaar 0 6004 30357 28287 2024-08-29T06:34:42Z Girligaanshub 3150 30357 wikitext text/x-wiki {{-so-}} == Magac == '''igaar''' === Tarjumaad === * {{en}}: excellent partner, excellent associate, excellent friend ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] 4dyuio06w1dhdxwm0i0zc0gbut64rb7 aado 0 6005 20967 2022-02-13T20:57:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aado''' === Tarjumaad === * {{en}}: acquintance 20967 wikitext text/x-wiki {{-so-}} == Magac == '''aado''' === Tarjumaad === * {{en}}: acquintance 4kot4qopy7dasrdz992gq5zl7n5cm12 dhibanimo 0 6006 20968 2022-02-13T20:58:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhibanimo''' === Tarjumaad === * {{en}}: victimhood 20968 wikitext text/x-wiki {{-so-}} == Magac == '''dhibanimo''' === Tarjumaad === * {{en}}: victimhood r6udz2o82o8ieqro6ejkjlm7k13svz3 qab 0 6007 28422 24314 2024-06-15T18:09:19Z Girligaanshub 3150 28422 wikitext text/x-wiki {{-so-}} == Magac == '''qab''' === Tarjumaad === * {{en}}: dignity ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], niaehd5vogihhb7ixe0fdw04uzlxg6m lagaroone 0 6008 31759 20970 2024-10-25T19:05:36Z Girligaanshub 3150 31759 wikitext text/x-wiki {{-so-}} == Magac == '''lagaroone''' === Tarjumaad === * {{en}}: intersex, hermaphrodite ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]] b1op1i40k0hlj78ryd2lalkvcf7icem makhnuud 0 6009 31800 31760 2024-10-25T21:12:16Z Girligaanshub 3150 31800 wikitext text/x-wiki {{-so-}} == Magac == '''makhnuud''' === Tarjumaad === * {{en}}: intersex, hermaphrodite ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]], [[isdaldhac]] kx4pnxuqlpr8zjx92vua4wyn66bdxx8 baane 0 6010 31801 31761 2024-10-25T21:12:27Z Girligaanshub 3150 31801 wikitext text/x-wiki {{-so-}} == Magac == '''baane''' === Tarjumaad === * {{en}}: intersex, hermaphrodite * {{en}}: bragger ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]], [[isdaldhac]] gqclroo1lxab22khxa3pkb7gpnxhiug qooqlaawe 0 6011 20973 2022-02-13T21:13:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqlaawe''' === Tarjumaad === * {{en}}: asexual 20973 wikitext text/x-wiki {{-so-}} == Magac == '''qooqlaawe''' === Tarjumaad === * {{en}}: asexual tlseyvd49pag48zyaawna38wmrkvsik gorgortan 0 6012 20974 2022-02-13T21:13:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorgortan''' === Tarjumaad === * {{en}}: haggling 20974 wikitext text/x-wiki {{-so-}} == Magac == '''gorgortan''' === Tarjumaad === * {{en}}: haggling 8mayr8n59j3s1g0a1wklmrmaap9hyqa waantoob 0 6013 23784 23013 2023-06-17T16:54:58Z Girligaanshub 3150 23784 wikitext text/x-wiki {{-so-}} == Magac == '''wantoob''' === Tarjumaad === * {{en}}: desist, refrain, cancel, cancelling, 08x94itvl47qji9uvvi155xotinuc6d maquuniso 0 6014 20976 2022-02-13T21:23:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maquuniso''' === Tarjumaad === * {{en}}: coerce, arm-twist, duress, 20976 wikitext text/x-wiki {{-so-}} == Magac == '''maquuniso''' === Tarjumaad === * {{en}}: coerce, arm-twist, duress, 365pl2v41hoi52fi80qyn4i8ceq3onm karbaash 0 6015 30595 30594 2024-09-08T03:50:50Z Girligaanshub 3150 30595 wikitext text/x-wiki {{-so-}} == Magac == '''karbaash''' === Tarjumaad === * {{en}}: beat, hit, attack ===Synonyms=== *[[garaac]], [[tumo]], [[bukeey]], [[babdhab]], [[karbaash]], sa3g6r1v5mfjvhkb873nxt0h7abnri7 calaacal 0 6016 31089 31085 2024-10-04T07:54:12Z Girligaanshub 3150 31089 wikitext text/x-wiki {{-so-}} == Magac == '''calaacal''' === Tarjumaad === * {{en}}: palm of hand * {{en}}: clawing, grasping * {{en}}: wave down with one's palms, beckon at with one's palm * {{en}}: hand-flapping or stimming (possibly due to autism); by extension to lament, or lamenting ck77sgs7hbm50t0v1ljxprwggt4xd9z daryeel-laawe 0 6017 20979 2022-02-13T21:37:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daryeel-laawe''' === Tarjumaad === * {{en}}: carelessness 20979 wikitext text/x-wiki {{-so-}} == Magac == '''daryeel-laawe''' === Tarjumaad === * {{en}}: carelessness 9f5mewc3qnxeqgmt5v1fmhiccr5vc6q karti 0 6018 26062 26057 2023-11-25T03:04:06Z Girligaanshub 3150 26062 wikitext text/x-wiki {{-so-}} == Magac == '''karti''' === Tarjumaad === * {{en}}: skilled, skill, ability, capability, capable, able, aptitude ===Synonyms=== *[[xirfad]], [[karti]] tq6ib1dj2f9wj216e4veur99ec9rty8 nuqulaynta 0 6019 20981 2022-02-13T21:41:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nuqulaynta''' === Tarjumaad === * {{en}}: mimicry 20981 wikitext text/x-wiki {{-so-}} == Magac == '''nuqulaynta''' === Tarjumaad === * {{en}}: mimicry hlwzjdxhff3e0ng2jllr1e0h19kaprk oomane 0 6020 20982 2022-02-13T22:01:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomane''' === Tarjumaad === * {{en}}: arid, parched, infertile, torridness 20982 wikitext text/x-wiki {{-so-}} == Magac == '''oomane''' === Tarjumaad === * {{en}}: arid, parched, infertile, torridness 1zkclrlxp7rq897fl1mtxooudfjrmv8 oomanaha 0 6021 20983 2022-02-13T22:02:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomanaha''' === Tarjumaad === * {{en}}: arid, parched, infertile, torridness 20983 wikitext text/x-wiki {{-so-}} == Magac == '''oomanaha''' === Tarjumaad === * {{en}}: arid, parched, infertile, torridness 9o27dg42f1zatfjh5qlqhu5kxar8x00 halhays 0 6022 20984 2022-02-13T22:03:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halhays''' === Tarjumaad === * {{en}}: slogan 20984 wikitext text/x-wiki {{-so-}} == Magac == '''halhays''' === Tarjumaad === * {{en}}: slogan 3ab67qv1tgkuc5x9fgxofekgx52vaw2 magacaabidda 0 6023 20985 2022-02-13T22:14:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magacaabidda''' === Tarjumaad === * {{en}}: nominee 20985 wikitext text/x-wiki {{-so-}} == Magac == '''magacaabidda''' === Tarjumaad === * {{en}}: nominee ku3ppixtp5n84a4mib5on7rwtfz8877 muxaadaro 0 6024 20986 2022-02-13T22:14:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muxaadaro''' === Tarjumaad === * {{en}}: lecture 20986 wikitext text/x-wiki {{-so-}} == Magac == '''muxaadaro''' === Tarjumaad === * {{en}}: lecture hlx5yvtjo9nrtx52jyb3qnbkyk8i76t xerada waxbarashada 0 6025 20987 2022-02-13T22:16:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xerada waxbarashada''' === Tarjumaad === * {{en}}: school campus 20987 wikitext text/x-wiki {{-so-}} == Magac == '''xerada waxbarashada''' === Tarjumaad === * {{en}}: school campus 2xd0pp2u2lzwlce4bqojn8w5mmerlpl gob 0 6026 31671 25467 2024-10-19T22:09:00Z Girligaanshub 3150 31671 wikitext text/x-wiki {{-so-}} == Magac == '''gob''' === Tarjumaad === * {{en}}: fig tree * {{en}}: aristocrat * {{en}}: ziziphus mauritiania, indian jujube, indian plum, chinese date, chinee apple, ber, dunk 95bzcov7g4weguynyxry5i7yur8mv4e maacuun 0 6027 32625 30540 2024-11-28T19:47:01Z Girligaanshub 3150 32625 wikitext text/x-wiki {{-so-}} == Magac == '''maacuun''' (arabic) === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] 0wxgvof6k2vrah8mxlrjujnqugbsv84 af-suuq 0 6028 20990 2022-02-16T12:58:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''af-suuq''' === Tarjumaad === * {{en}}: slang, colloquialism, informal language, vernacular language 20990 wikitext text/x-wiki {{-so-}} == Magac == '''af-suuq''' === Tarjumaad === * {{en}}: slang, colloquialism, informal language, vernacular language dpctim3qdez2vspkeqaci0xz5tn7r6n abbaan 0 6029 32313 29087 2024-11-08T05:12:55Z Girligaanshub 3150 32313 wikitext text/x-wiki {{-so-}} == Magac == '''abbaan''' === Tarjumaad === * {{en}}: messenger, custodian, protector, guardian, minder, escort, keeper, patron, defender, guide ===Synonyms=== *[[warshade]],, [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] 9hjx8f6b6cshd69yz471d1raf23b61s weysada 0 6030 20992 2022-02-16T18:56:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weysada''' === Tarjumaad === * {{en}}: ablution, baptism, ritual cleansing, spiritual purification 20992 wikitext text/x-wiki {{-so-}} == Magac == '''weysada''' === Tarjumaad === * {{en}}: ablution, baptism, ritual cleansing, spiritual purification m257rwlefod0gn1atdabptu920crbs2 User:Kwamikagami 2 6031 20995 2022-02-18T10:42:36Z Kwamikagami 3157 Bog cusub: [[File:Extended IPA chart 2005.png|800px]] [[en:User:Kwamikagami]] 20995 wikitext text/x-wiki [[File:Extended IPA chart 2005.png|800px]] [[en:User:Kwamikagami]] 9nzhwp19ie1vevrzeuqt2jpfbfho7il sheegato 0 6032 31703 20996 2024-10-21T00:00:41Z Girligaanshub 3150 31703 wikitext text/x-wiki {{-so-}} == Magac == '''sheegato''' === Tarjumaad === * {{en}}: pretender, charlatan, impostor, wannabe, phoney ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], *[[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] b4nxpwhp8um9obrsevakls65gau3rt2 magan 0 6033 31706 27207 2024-10-21T00:01:21Z Girligaanshub 3150 31706 wikitext text/x-wiki {{-so-}} == Magac == '''magan''' === Tarjumaad === * {{en}}: protectee, underling, subordinate, vegabond, waif, client, refugee ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], *[[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] orst4lfol4i1piukkl3b0creyl3aj1e tolwaa 0 6034 20999 2022-02-20T14:15:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tolwaa''' === Tarjumaad === * {{en}}: clanless, tribeless, mugwump, iconoclast, akrasia, self-abnegation 20999 wikitext text/x-wiki {{-so-}} == Magac == '''tolwaa''' === Tarjumaad === * {{en}}: clanless, tribeless, mugwump, iconoclast, akrasia, self-abnegation 4i9by7d1zjncj9o1iv2nz3qakfd7kwl wadayaal 0 6035 21007 2022-02-24T18:35:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadayaal''' === Tarjumaad === * {{en}}: pioneers 21007 wikitext text/x-wiki {{-so-}} == Magac == '''wadayaal''' === Tarjumaad === * {{en}}: pioneers 6nvb87ealifkaw0mvxix9mwn2t7g700 ahmiyad 0 6036 31601 31405 2024-10-17T08:03:59Z Girligaanshub 3150 31601 wikitext text/x-wiki {{-so-}} == Magac == '''ahmiyad''' === Tarjumaad === * {{en}}: emphasis, significance ===Synonyms=== * [[ahmiyad]], [[badbadin]], [[hortabin]], [[nuuxnuuxi]] osyazug35yde67s24p5gc23tjyllbl1 nuuxnuuxsado 0 6037 24003 21009 2023-07-21T20:02:21Z Girligaanshub 3150 24003 wikitext text/x-wiki {{-so-}} == Magac == '''nuuxnuuxsado''' === Tarjumaad === * {{en}}: emphasized ba6d8mgoc6tnrx06lk4fq1bpre4qdde is dhalasho 0 6038 21010 2022-02-27T21:54:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-dhalasho''' === Tarjumaad === * {{en}}: miscegenation, exogamy 21010 wikitext text/x-wiki {{-so-}} == Magac == '''is-dhalasho''' === Tarjumaad === * {{en}}: miscegenation, exogamy knoy5d5j6ivzym42684asxvprlsydk1 uur-joognimo 0 6039 21011 2022-02-28T13:22:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uur-joognimo''' === Tarjumaad === * {{en}}: codependency 21011 wikitext text/x-wiki {{-so-}} == Magac == '''uur-joognimo''' === Tarjumaad === * {{en}}: codependency nbtm4qhpjkh8e4qldepvrvr7ojqjfzh dalabka 0 6040 21012 2022-03-01T15:57:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalabka''' === Tarjumaad === * {{en}}: proposal 21012 wikitext text/x-wiki {{-so-}} == Magac == '''dalabka''' === Tarjumaad === * {{en}}: proposal sraroqb0t25yve6oqy5umns9hyaqcgj guursasho 0 6041 28154 24563 2024-06-10T00:55:09Z Girligaanshub 3150 28154 wikitext text/x-wiki {{-so-}} == Magac == '''guursasho''' === Tarjumaad === * {{en}}: marriage ; 1. dalabka (proposal) iyo aqbal (acceptance), 2. labo markhaati, 3. meher/sooriyo/dowry (hadiyad siinta) in presence of witnesses ===Fiiri=== *([[heerin]], [[dhabargaraac]], [[sooriyo]], [[masaafo]]) n5wl6343so43fvzbivop4l6zmx4ge66 maandhe 0 6042 28286 27882 2024-06-14T14:46:40Z Girligaanshub 3150 28286 wikitext text/x-wiki {{-so-}} == Magac == '''maandhe''' === Tarjumaad === * {{en}}: sidekick, cheerleader, fan, aficionado, jock ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] 167qxky9stfny2th2t7bzdkxa9j4axy qaangaadhaynta 0 6043 21015 2022-03-09T16:15:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaangaadhaynta''' === Tarjumaad === * {{en}}: adulting, adultizing 21015 wikitext text/x-wiki {{-so-}} == Magac == '''qaangaadhaynta''' === Tarjumaad === * {{en}}: adulting, adultizing 3fw180hm1d87kgrur3sg4ofaipecazn Template:astaamaha meeraha 10 6044 26548 23195 2024-01-08T18:53:58Z Kwamikagami 3157 26548 wikitext text/x-wiki <div align="center"> {| class="toccolours" style="margin: 0 auto;text-align:center;" ! style="background: #ccccff;" | Astaamaha meeraha |- |[[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 astrological 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> a4c0zk0ickdq1ml7l809g9c5kvwgohx 0 6045 27234 27231 2024-04-24T21:58:14Z Kwamikagami 3157 27234 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Sun symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[qorax]]da, [[cadceed]] # ''(alkimi)'' birta meeraha [[dahab]] === Erayada isku dhafan === :[1]: [[L☉|''L''<sub>☉</sub>]], [[M☉|''M''<sub>☉</sub>]], [[R☉|''R''<sub>☉</sub>]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} qwqrrieps1v9en35ek7vjsmo1yra5qw 0 6046 27235 27232 2024-04-24T21:58:26Z Kwamikagami 3157 27235 wikitext text/x-wiki ==Caalami== [[file:Mercury symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Dusaa]] # ''(alkimi)'' birta meeraha [[meerkuri]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 05gi3fo60r0g7iahtl3qk4yu62edur9 0 6047 27233 21435 2024-04-24T21:57:46Z Kwamikagami 3157 27233 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Venus symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Waxaraxir]] # ''(nooloha)'' [[dhedig]] # ''(alkimi)'' birta meeraha [[naxaas]] ([[kober]]) ===Lid ku ah=== :[2]: [[♂]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} a0n9x2lz15egkj0zki1iuwina64oggb 0 6048 27240 21430 2024-04-24T21:59:45Z Kwamikagami 3157 27240 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Mars symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Farraare]] # ''(nooloha)'' [[lab]] # ''(alkimi)'' birta meeraha [[xadiid]] ama [[aayron]] ([[bir]]) ===Lid ku ah=== :[2]: [[♀]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} r29uamnjgnekt4ko6nkun5h87kxxzwz 🜨 0 6049 27236 21434 2024-04-24T21:58:40Z Kwamikagami 3157 27236 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Earth symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # [[aduunka]] # ''(xiddigis, falaga)'' [[dhul|Dhul]], [[dhulka|Dhulka]] # ''(alkimi)'' ''[[verdigris]]'' ([[daxalka]] [[naxaas]]ta) ===La mid ah=== :[1, 2]: [[♁]] === Erayada isku dhafan === :[2]: [[M🜨|''M''<sub>🜨</sub>]], [[R🜨|''R''<sub>🜨</sub>]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 97ihhxwi55ixwj6wnjwdvwtmmo1xwln 0 6050 27237 21433 2024-04-24T21:58:56Z Kwamikagami 3157 27237 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Globus cruciger (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # [[aduunka]] # ''(xiddigis)'' [[dhul|Dhul]], [[dhulka|Dhulka]] # ''(alkimi)'' ''[[antimony]]'' ===La mid ah=== :[1, 2]: [[🜨]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} ilc69wlivnqzebp5gp1758d30osodx0 0 6051 27239 21431 2024-04-24T21:59:30Z Kwamikagami 3157 27239 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Moon decrescent symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[dayaxa]] # ''(alkimi)'' birta meeraha [[lacag]] ([[fiddo]]) ===La mid ah=== * [[☽]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} nd305cazmtvgqbbw31p4tvylttp1tic 0 6052 27238 21432 2024-04-24T21:59:11Z Kwamikagami 3157 27238 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Moon crescent symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[dayaxa]] # ''(alkimi)'' birta meeraha [[lacag]] ([[fiddo]]) ===La mid ah=== * [[☾]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} c2fee6qu1ka3xu98xc693lnnhl1gd6x 0 6053 27247 21401 2024-04-24T22:02:16Z Kwamikagami 3157 27247 wikitext text/x-wiki ==Caalami== [[file:Jupiter symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Cirjeex]], [[Mushtari]] # ''(alkimi)'' birta meeraha [[qasacad]] ([[tin]]) ===Ereyo la'xiraara=== {{astaamaha meeraha}} 7uqsbfv0qmnbiz3td2t2dinujy96rbm 0 6054 27248 21402 2024-04-24T22:02:31Z Kwamikagami 3157 27248 wikitext text/x-wiki ==Caalami== [[file:Saturn symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Raage]], [[Saxal]] # ''(alkimi)'' birta meeraha [[alxan]] (''[[lead]]'') ===Ereyo la'xiraara=== {{astaamaha meeraha}} t5ep4dv2dpxliabvs2fa89odr2i7fa1 0 6055 27249 21429 2024-04-24T22:02:46Z Kwamikagami 3157 27249 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Uranus symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Uraano]] # ''(alkimi)'' [[balatiniyaam]] ===La mid ah=== :[1]: [[♅]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} jgbqjg0792rau4uvtxznxc7a6ymmc0l 0 6056 27251 21424 2024-04-24T22:03:18Z Kwamikagami 3157 27251 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Neptune symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Docay]] ===La mid ah=== * [[⯉]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} isbe5ezr0o5aeaoulawhntkyc2xi39c 0 6057 27250 21428 2024-04-24T22:03:03Z Kwamikagami 3157 27250 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Uranus monogram (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' [[Uraano]] ===La mid ah=== * [[⛢]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} qkt8qncpe22ojjzxhztvwcqfmg2jxkz 0 6058 27241 21341 2024-04-24T21:59:59Z Kwamikagami 3157 27241 wikitext text/x-wiki ==Caalami== [[file:Ceres symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar iyo asteroid (1) [[Siires]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 207eojq19koaixyzshbz3di7v43xujd 0 6059 27253 26549 2024-04-24T22:04:01Z Kwamikagami 3157 27253 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Pluto symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar [[Bluto]] ===La mid ah=== * [[♇]], [[⯕]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 1ku62a2iwzc2yz31ykr6ataweiyjfct 0 6060 27255 21422 2024-04-24T22:04:38Z Kwamikagami 3157 27255 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Pluto monogram (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar [[Bluto]] ===La mid ah=== * [[⯓]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} nq4m3o8a9dx1gjnx04af2cc64t4efhj 🝻 0 6061 27257 21355 2024-04-24T22:05:18Z Kwamikagami 3157 27257 wikitext text/x-wiki ==Caalami== [[file:Haumea symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar [[Hawmiya]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} b4gdnyrneg61razfl9y37vxfl1a1f5x 🝼 0 6062 27259 21353 2024-04-24T22:06:02Z Kwamikagami 3157 27259 wikitext text/x-wiki ==Caalami== [[file:Makemake symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar [[Maakemaake]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 5vpfvgmn37d6khxk9nb42go3d3m8mpk 0 6063 27261 21421 2024-04-24T22:06:36Z Kwamikagami 3157 27261 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Eris symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar [[Eris]] ===La mid ah=== * [[⯱]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 5u3s4uxc0y7ub6q34bx1b5k454779qo 0 6065 27242 21340 2024-04-24T22:00:17Z Kwamikagami 3157 27242 wikitext text/x-wiki ==Caalami== [[file:Pallas symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' asteroid (2) ''[[Pallas]]'' ===Ereyo la'xiraara=== {{astaamaha meeraha}} gjkp9xzc6ksl0gtgrg3s3q1wyr4yk13 0 6066 27243 21339 2024-04-24T22:00:32Z Kwamikagami 3157 27243 wikitext text/x-wiki ==Caalami== [[file:Juno symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' asteroid (3) ''[[Juno]]'' ===Ereyo la'xiraara=== {{astaamaha meeraha}} kb7v066wiknrf1udg5jnvwov6cgd11u 0 6067 27244 21338 2024-04-24T22:00:45Z Kwamikagami 3157 27244 wikitext text/x-wiki ==Caalami== [[file:Vesta symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' asteroid (4) ''[[Vesta]]'' ===Ereyo la'xiraara=== {{astaamaha meeraha}} pmd8m3e3ckoe6te90ye9ywv92caxhrk 0 6068 27245 23196 2024-04-24T22:01:10Z Kwamikagami 3157 27245 wikitext text/x-wiki ==Caalami== [[file:Hygiea symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(falaga)'' asteroid (10) ''[[Hygiea]]'' (Ijeea) ===Ereyo la'xiraara=== {{astaamaha meeraha}} b19d0zq05b568ew1xbtpl1xq88uk574 0 6069 27246 21336 2024-04-24T22:02:01Z Kwamikagami 3157 27246 wikitext text/x-wiki ==Caalami== [[file:Chiron symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(falaga)'' asteroid (2060) ''[[Chiron]]'' (Kiiron) ===Ereyo la'xiraara=== {{astaamaha meeraha}} a1etphhqpfqd0gskxctrckhanm0c6d7 0 6070 27263 21350 2024-04-24T22:07:11Z Kwamikagami 3157 27263 wikitext text/x-wiki ==Caalami== [[file:Sedna symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar ''[[Sedna]]'' ===Ereyo la'xiraara=== {{astaamaha meeraha}} aj9nn6lcbafl6qryn4pzd8wsbhdd3n6 🝽 0 6071 27260 21352 2024-04-24T22:06:21Z Kwamikagami 3157 27260 wikitext text/x-wiki ==Caalami== [[file:Gonggong symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar ''[[Gonggong]]'' ===Ereyo la'xiraara=== {{astaamaha meeraha}} flfkr79h0nt8zxj5h4tnuwtma9aky5d 🝾 0 6072 27258 21354 2024-04-24T22:05:47Z Kwamikagami 3157 27258 wikitext text/x-wiki ==Caalami== [[file:Quaoar symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar ''[[Quaoar]]'' (Kwaaoar) ===Ereyo la'xiraara=== {{astaamaha meeraha}} 6ibsbs2g5j7ht9l82shgih3sd5n6yg8 🝿 0 6073 27256 21356 2024-04-24T22:04:52Z Kwamikagami 3157 27256 wikitext text/x-wiki ==Caalami== [[file:Orcus symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis, falaga)'' duniyar ''[[Orcus]]'' (Ork) ===Ereyo la'xiraara=== {{astaamaha meeraha}} egjowms1zr0unj2hbartge3keaqyqif wabar 0 6074 26250 21068 2023-12-08T10:14:22Z Girligaanshub 3150 26250 wikitext text/x-wiki {{-so-}} == Magac == '''wabar''' === Tarjumaad === * {{en}}: chieftain me1nscfbbcwjburruag358iv65rat2x gungume 0 6075 28197 21069 2024-06-12T19:59:25Z Girligaanshub 3150 28197 wikitext text/x-wiki {{-so-}} == Magac == '''gungume''' === Tarjumaad === * {{en}}: community leader ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]] eaycse92kgs516mrsz2vpkzg2kices5 gargaydho 0 6076 28196 21070 2024-06-12T19:59:18Z Girligaanshub 3150 28196 wikitext text/x-wiki {{-so-}} == Magac == '''gargaydho''' === Tarjumaad === * {{en}}: community leader ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]] k02dfmqvv1lcnrsijaibqs62uk2ihbc guddi 0 6077 29987 28352 2024-08-18T15:26:21Z Girligaanshub 3150 29987 wikitext text/x-wiki {{-so-}} == Magac == '''guddi''' === Tarjumaad === * {{en}}: council of men, committee, ===Synonyms=== *[[shirwac]], [[shire]], [[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], hufnt5wfbrpxjmt56c0gbtmddpkykmr dacal 0 6078 24818 21072 2023-09-08T22:07:53Z Girligaanshub 3150 24818 wikitext text/x-wiki {{-so-}} == Magac == '''dacal''' === Tarjumaad === * {{en}}: horse branding via piercing * {{en}}: side, vertice nojaokx76bktabdj9hzq82s8rm2615h madxaf 0 6079 21081 2022-03-23T20:32:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madxaf''' === Tarjumaad === * {{en}}: museum 21081 wikitext text/x-wiki {{-so-}} == Magac == '''madxaf''' === Tarjumaad === * {{en}}: museum 2d4wd4nhkbo65kfzf6yufobhj67teus jajuub 0 6080 21087 2022-03-25T19:51:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jajuub''' === Tarjumaad === * {{en}}: pressure 21087 wikitext text/x-wiki {{-so-}} == Magac == '''jajuub''' === Tarjumaad === * {{en}}: pressure rr3abivqh7g8jdbmz15jkv1py9nh97r jajuub bulsho 0 6081 21088 2022-03-25T19:51:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jajuub bulsho''' === Tarjumaad === * {{en}}: peer pressure 21088 wikitext text/x-wiki {{-so-}} == Magac == '''jajuub bulsho''' === Tarjumaad === * {{en}}: peer pressure 6v8q3vttfgvn1amrngmj08pfezz1orp garaad 0 6083 23142 23141 2023-02-23T14:10:38Z Girligaanshub 3150 Noqay bedelaadka 23141 ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 23142 wikitext text/x-wiki {{-so-}} == Magac == '''garaad''' === Tarjumaad === * {{en}}: Nugaal-based monarch 6tec5jg3v2asz5rswy8h7dlyenvbval ciid 0 6084 27783 26371 2024-05-28T13:20:20Z Girligaanshub 3150 27783 wikitext text/x-wiki {{-so-}} == Magac == '''ciid''' === Tarjumaad === * {{en}}: sand * {{en}}: holiday ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]] oeztfyyeyk1c9k2ilvdp6ktc3y7cvs3 xarun 0 6085 31733 21105 2024-10-21T05:05:30Z Girligaanshub 3150 31733 wikitext text/x-wiki {{-so-}} == Magac == '''xarun''' === Tarjumaad === * {{en}}: center ===Synonyms=== *[[meherad]], [[fadhiisamo]], [[xarun]], [[fagaare]], 4q3cz338nw84pp9zzzntyozc98dkqyn iclaamo 0 6086 21103 2022-03-26T23:51:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iclaamo''' === Tarjumaad === * {{en}}: proclaim 21103 wikitext text/x-wiki {{-so-}} == Magac == '''iclaamo''' === Tarjumaad === * {{en}}: proclaim o2bmyei9mfl2glh0bejz183gt0mmaav jareer 0 6087 21109 2022-03-28T05:52:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jareer''' ==Synonym== *[[qadaadweyn]] === Tarjumaad === * {{en}}: negro 21109 wikitext text/x-wiki {{-so-}} == Magac == '''jareer''' ==Synonym== *[[qadaadweyn]] === Tarjumaad === * {{en}}: negro eoq43lk0z4p7parbnrc1x6hutthl203 iskaabulo 0 6088 32108 29010 2024-10-28T04:38:41Z Girligaanshub 3150 32108 wikitext text/x-wiki {{-so-}} == Magac == '''iskaabulo''' ===Etymology=== Italian ka yimid: scapolo === Tarjumaad === * {{en}}: solitude, singleton, recluse, bachelor, * {{en}}: self-help, self-sufficiency, self-therapy, self-assistance, self-care ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]] og7fzby4yhugqmcbwwn9zifwigd46ok iskaabulonimo 0 6089 21111 2022-03-29T17:50:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskaabulo''' ==Etymology== Italian ka yimid: scapolo === Tarjumaad === * {{en}}: solitude, singleton, recluse, bachelor, independent, MGTOW 21111 wikitext text/x-wiki {{-so-}} == Magac == '''iskaabulo''' ==Etymology== Italian ka yimid: scapolo === Tarjumaad === * {{en}}: solitude, singleton, recluse, bachelor, independent, MGTOW h4yr6z8n52lo0qixtbcer7hnpzytbib baano 0 6091 29865 27924 2024-08-12T18:13:09Z Girligaanshub 3150 29865 wikitext text/x-wiki {{-so-}} == Magac == '''baano''' === Tarjumaad === * {{en}}: challenge, rant, gloat, glee, brag, outshine, outpace, one-up, outdo, one-upmanship, * {{en}}: cure ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]] 28eqcoxl335gczvozsxew8pyr82edie dunji 0 6092 21117 2022-03-30T02:59:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dunji''' === Tarjumaad === * {{en}}: entire, complete, wholly, fully 21117 wikitext text/x-wiki {{-so-}} == Magac == '''dunji''' === Tarjumaad === * {{en}}: entire, complete, wholly, fully pnrg65gttrbsgry506jzi27848rvyvx toobad-keen 0 6095 29157 21122 2024-07-30T02:33:49Z Girligaanshub 3150 29157 wikitext text/x-wiki {{-so-}} == Magac == '''toobad-keen''' === Tarjumaad === * {{en}}: apologize, seek forgiveness, beg pardon ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] 6rnfswxb16zb3kazm4fodqogs8nclqi murti 0 6096 28366 28365 2024-06-14T19:27:01Z Girligaanshub 3150 28366 wikitext text/x-wiki {{-so-}} == Magac == '''murti''' === Tarjumaad === * {{en}}: wisdom, aphorism, adage * {{en}}: rationality, logic ===Synonyms=== *[[maangal]], [[macquul]], [[caqligal]], [[murtinimo]], [[murti]] 9yj51s0uawzs0980odx7qkg9yt7wq1v duudsi 0 6097 29154 24150 2024-07-30T02:33:12Z Girligaanshub 3150 29154 wikitext text/x-wiki {{-so-}} == Magac == '''duudsi''' === Tarjumaad === * {{en}}: dismiss, forgive, ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] bdh97d1ubsbvtns5ypsbfkcwqj27ujw xoogroonka 0 6098 24007 21130 2023-07-22T00:53:46Z Girligaanshub 3150 24007 wikitext text/x-wiki {{-so-}} == Magac == '''xoogroonka''' === Tarjumaad === * {{en}}: one-upmanship, domination, undermining aadqfsad1kef4y975efrnm2h0izkumh gacal 0 6099 21131 2022-04-03T05:22:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacal''' === Tarjumaad === * {{en}}: sweetheart, beloved 21131 wikitext text/x-wiki {{-so-}} == Magac == '''gacal''' === Tarjumaad === * {{en}}: sweetheart, beloved slfay0hobz28w1qdwm6nwu9q5mtdxx7 badbadin 0 6100 31406 30745 2024-10-07T21:54:19Z Girligaanshub 3150 31406 wikitext text/x-wiki {{-so-}} == Magac == '''badbadin''' === Tarjumaad === * {{en}}: exaggerate, emphasis, emphasize ===Synonyms=== *[[ahmiyad]], [[badbadin]], [[hortabin]], [[nuuxnuuxi]] 28l39y3qdk25gh4nov705xpigq9aq7x khabiirsan 0 6101 21133 2022-04-03T06:02:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khabiirsan''' === Tarjumaad === * {{en}}: mastermindful, pioneering 21133 wikitext text/x-wiki {{-so-}} == Magac == '''khabiirsan''' === Tarjumaad === * {{en}}: mastermindful, pioneering gqjjwgwjx0kpfg9ywkxjjnrwyn8d30z indho-tiris 0 6102 21134 2022-04-03T06:23:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indho-tiris''' === Tarjumaad === * {{en}}: negationism, denialism, erasure 21134 wikitext text/x-wiki {{-so-}} == Magac == '''indho-tiris''' === Tarjumaad === * {{en}}: negationism, denialism, erasure gz2pao0ueih129um8ricriak1vusi9d falanqayn 0 6103 27315 21135 2024-05-07T15:21:22Z Girligaanshub 3150 27315 wikitext text/x-wiki {{-so-}} == Magac == '''falanqeyn''' === Tarjumaad === * {{en}}: analysis, examination ===Synonyms=== *[[kormeero]], [[falanqay]] a8ydrrcx8uicq3vkd608cr6ijagwrhf rasmiyeeyo 0 6104 24918 21136 2023-09-15T19:35:23Z Girligaanshub 3150 24918 wikitext text/x-wiki {{-so-}} == Magac == '''rasmiyeeyo''' === Tarjumaad === * {{en}}: officialize, institutionalize, systemize ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]] 083qywpdbc6uf7t0q0ek56khdg6hqx8 xambaarsan 0 6105 31054 21383 2024-10-02T16:48:22Z Girligaanshub 3150 31054 wikitext text/x-wiki {{-so-}} == Magac == '''xambaarsan''' === Tarjumaad === * {{en}}: bearer, brought, carried, harbinger, 5056dqlrhgrid63ryjrofzppl8q75lg taariikh-laabasho 0 6106 21138 2022-04-03T22:23:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taariikh-laabasho''' === Tarjumaad === * {{en}}: anachronism 21138 wikitext text/x-wiki {{-so-}} == Magac == '''taariikh-laabasho''' === Tarjumaad === * {{en}}: anachronism bg5uhum3r54jgzsm33yjhnk5ytu6wo5 taariikh-laab 0 6107 21139 2022-04-03T22:33:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taariikh-laab''' === Tarjumaad === * {{en}}: anachronize 21139 wikitext text/x-wiki {{-so-}} == Magac == '''taariikh-laab''' === Tarjumaad === * {{en}}: anachronize qj2mdv6lz1ouy4gsvjgglcfe5semiqn taariikh-laabka 0 6108 21140 2022-04-03T23:06:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taariikh-laabka''' === Tarjumaad === * {{en}}: anachronistic 21140 wikitext text/x-wiki {{-so-}} == Magac == '''taariikh-laabka''' === Tarjumaad === * {{en}}: anachronistic m6l5kam2fqulpp9mhit49p79de7yzwv dayuuth 0 6109 31963 25086 2024-10-26T00:22:39Z Girligaanshub 3150 31963 wikitext text/x-wiki {{-so-}} == Magac == '''dayuuth''' === Tarjumaad === * {{en}}: apathetic person, idle person, passive person, appeasing person, appeaser, conciliating person, * {{en}}: people pleaser, cuckold, softie, empath, self-abaser, ===Synonyms=== *[[dayuus]] 2vnc1t11gwsrmixxmzdmclsk9gqgzst dumarnimo 0 6110 21148 2022-04-04T02:04:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dumarnimo''' === Tarjumaad === * {{en}}: feminine 21148 wikitext text/x-wiki {{-so-}} == Magac == '''dumarnimo''' === Tarjumaad === * {{en}}: feminine d3b45uqgtz0brqpkhtrwmv9jujyvzny dumarnimada 0 6111 21149 2022-04-04T02:05:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dumarnimada''' === Tarjumaad === * {{en}}: femininity 21149 wikitext text/x-wiki {{-so-}} == Magac == '''dumarnimada''' === Tarjumaad === * {{en}}: femininity s52ybuhghrctu4ob87fkdd4y15ghcz6 dheddignimo 0 6112 21150 2022-04-04T02:05:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheddignimo''' === Tarjumaad === * {{en}}: feminine 21150 wikitext text/x-wiki {{-so-}} == Magac == '''dheddignimo''' === Tarjumaad === * {{en}}: feminine 9c2p7qep9ojqcyza53cu725i0x6naw4 dheddignimada 0 6113 21151 2022-04-04T02:06:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheddignimada''' === Tarjumaad === * {{en}}: femininity 21151 wikitext text/x-wiki {{-so-}} == Magac == '''dheddignimada''' === Tarjumaad === * {{en}}: femininity i8ujsnxb446dqy4bj0jaiuxj7dk2lfh dumareexasho 0 6114 21152 2022-04-04T02:14:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dumareexasho''' === Tarjumaad === * {{en}}: feminism, female-centrism 21152 wikitext text/x-wiki {{-so-}} == Magac == '''dumareexasho''' === Tarjumaad === * {{en}}: feminism, female-centrism a0i9dj4tjajofu8hzr8l2y5wfizj97o caddaan-eexasho 0 6115 21153 2022-04-04T02:15:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caddaan-eexasho''' === Tarjumaad === * {{en}}: white-centrism, eurocentrism 21153 wikitext text/x-wiki {{-so-}} == Magac == '''caddaan-eexasho''' === Tarjumaad === * {{en}}: white-centrism, eurocentrism qdr965d3e7p8qrv6o8lnj0jxzyfosl8 madow-eexasho 0 6116 21154 2022-04-04T02:16:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madow-eexasho''' === Tarjumaad === * {{en}}: black-centrism, afrocentrism 21154 wikitext text/x-wiki {{-so-}} == Magac == '''madow-eexasho''' === Tarjumaad === * {{en}}: black-centrism, afrocentrism srga8drahy9nf5m4q7gaaetjxtacszx qowmiyad-eexasho 0 6117 21155 2022-04-04T02:17:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qowmiyad-eexasho''' === Tarjumaad === * {{en}}: ethnocentrism 21155 wikitext text/x-wiki {{-so-}} == Magac == '''qowmiyad-eexasho''' === Tarjumaad === * {{en}}: ethnocentrism rgmg0ipfnf5a63crklqzewzl5qubzpq galbeed-eexasho 0 6118 21156 2022-04-04T02:19:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galbeed-eexasho''' === Tarjumaad === * {{en}}: western-centric 21156 wikitext text/x-wiki {{-so-}} == Magac == '''galbeed-eexasho''' === Tarjumaad === * {{en}}: western-centric 44ed13ppe34ezmf9ebmnszlz39bth0y masiixi-eexasho 0 6119 21157 2022-04-04T02:20:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''masiixi-eexasho''' === Tarjumaad === * {{en}}: christian-centric 21157 wikitext text/x-wiki {{-so-}} == Magac == '''masiixi-eexasho''' === Tarjumaad === * {{en}}: christian-centric modb4flhxsq800rbfcbbk291mfavp86 insaan-eexasho 0 6120 21158 2022-04-04T02:23:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''insaan-eexasho''' === Tarjumaad === * {{en}}: humancentric 21158 wikitext text/x-wiki {{-so-}} == Magac == '''insaan-eexasho''' === Tarjumaad === * {{en}}: humancentric 0kg6ev47q43go20qat7ruruhl9u7e0g qaangaadh-eexasho 0 6121 21159 2022-04-04T02:27:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaangaadh-eexasho''' === Tarjumaad === * {{en}}: adultocentric 21159 wikitext text/x-wiki {{-so-}} == Magac == '''qaangaadh-eexasho''' === Tarjumaad === * {{en}}: adultocentric joyfq4gea6og6zxezc3tj6d48hul6pe dheddig-eexasho 0 6122 21160 2022-04-04T02:29:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheddig-eexasho''' === Tarjumaad === * {{en}}: feminism, female-centrism 21160 wikitext text/x-wiki {{-so-}} == Magac == '''dheddig-eexasho''' === Tarjumaad === * {{en}}: feminism, female-centrism a76fp8qnkfmdhf4u0zrdmllirnr30nf qabiil-eexasho 0 6123 21161 2022-04-04T02:29:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabiil-eexasho''' === Tarjumaad === * {{en}}: tribal-centrism 21161 wikitext text/x-wiki {{-so-}} == Magac == '''qabiil-eexasho''' === Tarjumaad === * {{en}}: tribal-centrism p6d0xnhmvby7dztgexl0b9pb3ifp9lc durdurka 0 6124 21162 2022-04-04T04:42:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''durdurka''' === Tarjumaad === * {{en}}: social trend, water stream 21162 wikitext text/x-wiki {{-so-}} == Magac == '''durdurka''' === Tarjumaad === * {{en}}: social trend, water stream fqzlrqdv2wynei5gnvgvpxcm9spq05u taxalluji 0 6125 21163 2022-04-04T05:25:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxalluji''' === Tarjumaad === * {{en}}: devote 21163 wikitext text/x-wiki {{-so-}} == Magac == '''taxalluji''' === Tarjumaad === * {{en}}: devote t4mkfph9sztd8clvuh68xgroi3o8pnp isku taxallujin 0 6126 21164 2022-04-04T05:25:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isku taxallujin''' === Tarjumaad === * {{en}}: self-devotion 21164 wikitext text/x-wiki {{-so-}} == Magac == '''isku taxallujin''' === Tarjumaad === * {{en}}: self-devotion i93nclstlzszgkh5qgdsxbsyhfuurto sumcad 0 6127 31656 31581 2024-10-19T20:43:12Z Girligaanshub 3150 31656 wikitext text/x-wiki {{-so-}} == Magac == '''sumcad''' === Tarjumaad === * {{en}}: reputation ===Synonyms=== *[[maqaam]], [[jagada]], [[mansab]], [[sumcad]], [[cinwaan]] toafjr7lnmjyd56zmtq0njujxcfb6n0 kalkaal 0 6128 29236 21166 2024-07-31T03:12:16Z Girligaanshub 3150 29236 wikitext text/x-wiki {{-so-}} == Magac == '''kalkaal''' === Tarjumaad === * {{en}}: caregiving, help ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] evmjmkmf1k1y8przt6362ouv82q53bz kalkaaliye 0 6129 21167 2022-04-04T06:26:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalkaaliye''' === Tarjumaad === * {{en}}: caregiver 21167 wikitext text/x-wiki {{-so-}} == Magac == '''kalkaaliye''' === Tarjumaad === * {{en}}: caregiver ic8mbno8behsy4fqs2dmn22k8qx67h4 dhali 0 6130 21168 2022-04-04T06:47:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhali''' === Tarjumaad === * {{en}}: birth, succeed 21168 wikitext text/x-wiki {{-so-}} == Magac == '''dhali''' === Tarjumaad === * {{en}}: birth, succeed 3c4vzda4x4pvpafd393edba88ud3o8k damqado 0 6131 21169 2022-04-04T07:39:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damqado''' === Tarjumaad === * {{en}}: empathize 21169 wikitext text/x-wiki {{-so-}} == Magac == '''damqado''' === Tarjumaad === * {{en}}: empathize 9qv8huvv6po6i333msdfem3m8jn5rmg damqada 0 6132 21170 2022-04-04T07:39:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damqada''' === Tarjumaad === * {{en}}: empathy 21170 wikitext text/x-wiki {{-so-}} == Magac == '''damqada''' === Tarjumaad === * {{en}}: empathy nhpaszxr0iqr3eay5eoua4aymmr6pic damqashoolaawe 0 6133 23401 21171 2023-05-07T13:02:50Z Girligaanshub 3150 Girligaanshub moved page [[damqadolaawe]] to [[damqashoolaawe]] 21171 wikitext text/x-wiki {{-so-}} == Magac == '''damqadolaawe''' === Tarjumaad === * {{en}}: empathyless, unempathetic rfwnhd7z7cjj9bc7x355724x286zc84 waayo-aragnimo 0 6134 32291 31309 2024-11-07T17:35:33Z Girligaanshub 3150 32291 wikitext text/x-wiki {{-so-}} == Magac == '''waayo-aragnimo''' === Tarjumaad === * {{en}}: epistemology, experience, insight ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]], cq0xehgxn4kyyw9j22x3gttz20xarma ololeey 0 6135 28652 27687 2024-07-01T12:14:21Z Girligaanshub 3150 28652 wikitext text/x-wiki {{-so-}} == Magac == '''ololeey''' === Tarjumaad === * {{en}}: grunt, espouse, encourage, promote, advocate, endorse, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] ===Synonyms=== *[[boorin]], [[boori]], [[gubaabi]], [[faafi]], [[ololeey]] f6t4eo4xnyh9qv1ogafds621c1y4n1l maamuus 0 6136 28418 25001 2024-06-15T18:08:36Z Girligaanshub 3150 28418 wikitext text/x-wiki {{-so-}} == Magac == '''maamuus''' === Tarjumaad === * {{en}}: dignity, reputation, honour, ego, pride, confidence, self-worth, self-respect, pride, prestige, social status, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], 9spdylca5v352znqhwc47ak1hsvspk6 xamaalo 0 6137 29783 21176 2024-08-12T01:23:35Z Girligaanshub 3150 29783 wikitext text/x-wiki {{-so-}} == Magac == '''xamaalo''' === Tarjumaad === * {{en}}: baggage, bagging, hauling, loading, * {{en}}: to labour 90fjaweig5jez4vb5qhbcvq4tw462s7 jimiimic 0 6138 32428 32427 2024-11-15T00:39:05Z Girligaanshub 3150 32428 wikitext text/x-wiki {{-so-}} == Magac == '''jimiimic''' === Tarjumaad === * {{en}}: affection, fondness, 589gnnvhxv7zwwlrqcbj6aj5s7zyqw6 masuugo 0 6139 32836 32755 2024-12-02T12:01:18Z Girligaanshub 3150 32836 wikitext text/x-wiki {{-so-}} == Magac == '''masuugo''' === Tarjumaad === * {{en}}: hesitation, hesitate * {{en}}: be a miser ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] t2qa324amyv4bly4s5st1tef5u5ao1h habrasho 0 6140 32837 32568 2024-12-02T12:01:28Z Girligaanshub 3150 32837 wikitext text/x-wiki {{-so-}} == Magac == '''habrasho''' === Tarjumaad === * {{en}}: hesitation, personal boundaries, inhibition ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] tij55ysoh9q2bfbcd1bmlk1n2h4wn7g habrado 0 6141 31979 21180 2024-10-26T17:54:02Z Girligaanshub 3150 31979 wikitext text/x-wiki {{-so-}} == Magac == '''habrado''' === Tarjumaad === * {{en}}: hesitate ===Synonyms=== *[[habrado]], [[waabo]] eiu9p8lpjxoh0vtpwwp8f84mxgwvwf6 baraarug 0 6142 30038 29308 2024-08-21T00:03:56Z Girligaanshub 3150 30038 wikitext text/x-wiki {{-so-}} == Magac == '''baraarug''' === Tarjumaad === * {{en}}: awaken, realize, perceive, discover, enlighten, enlightened, * {{en}}: launch, ascend, soar, climb, lift, rise, float ===Synonyms=== *[[baraarug]], [[wacyigeli]], [[wacyigelinta]], [[ogeysii]], [[waano]], ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] g7ky1tfqnqzeo3dpmw7evfakbni7g7d cinwaan 0 6143 21182 2022-04-04T10:42:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cinwaan''' === Tarjumaad === * {{en}}: title, heading 21182 wikitext text/x-wiki {{-so-}} == Magac == '''cinwaan''' === Tarjumaad === * {{en}}: title, heading m6ro32rssb6w55kaf3gp0rtrgs14x06 dhawro 0 6144 27699 27674 2024-05-23T22:31:11Z Girligaanshub 3150 27699 wikitext text/x-wiki {{-so-}} == Magac == '''dhawro''' === Tarjumaad === * {{en}}: conserve, preserve, inspect, scrutinize, scan, check, vet, verify, review, check up, check out, assess, evaluate, determine, delve into, probe, scope ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] b4kyebdauashqmyyr3ysuc8npkbhygo hooyo-tiris 0 6146 31701 30756 2024-10-21T00:00:03Z Girligaanshub 3150 31701 wikitext text/x-wiki {{-so-}} == Magac == '''hooyo-tiris''' === Tarjumaad === * {{en}}: cognation, matrilineal, matriarchal, cognatic kinship, ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], [[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] 8ribcas4acxisegg95z5xvo50sjuyg1 ugaaro 0 6147 32748 32746 2024-11-30T19:55:26Z Girligaanshub 3150 32748 wikitext text/x-wiki {{-so-}} == Magac == '''ugaaro''' === Tarjumaad === * {{en}}: hunt 8611srju6jzss9k3woqirwc3pgd53u7 mahiiggaan 0 6148 21198 21190 2022-04-10T11:16:28Z Girligaanshub 3150 Girligaanshub moved page [[Mahiiggaan]] to [[mahiiggaan]] 21190 wikitext text/x-wiki {{-so-}} == Magac == '''Mahiiggaan''' === Tarjumaad === * {{en}}: blizzard, thunderstorm ltf46whamjji2ovp1elfwp451tejqoj caasi 0 6149 31681 31070 2024-10-20T02:01:55Z Girligaanshub 3150 31681 wikitext text/x-wiki {{-so-}} == Magac == '''caasi''' === Tarjumaad === * {{en}}: rebellious, rogue, disobedient ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] t66iybhm0v27qh4hf25nb7mvjdzneui cirib 0 6150 21812 21193 2022-08-04T09:36:54Z Girligaanshub 3150 21812 wikitext text/x-wiki {{-so-}} == Magac == '''cirib''' === Tarjumaad === * {{en}}: heel go1tfncywsdjp71sxbfcgsjh43xww73 ciribka 0 6151 22806 21194 2022-10-16T04:02:12Z Girligaanshub 3150 22806 wikitext text/x-wiki {{-so-}} == Magac == '''ciribka''' === Tarjumaad === * {{en}}: heel 2qxvfao9repfdhj90ahlfwjogyvw894 eebeyeynta 0 6152 21195 2022-04-09T03:48:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eebeyeynta''' === Tarjumaad === * {{en}}: deification 21195 wikitext text/x-wiki {{-so-}} == Magac == '''eebeyeynta''' === Tarjumaad === * {{en}}: deification tj30c0hr0mduqhi8i77evk4373baa8m is-eebeyeynta 0 6154 21197 2022-04-10T11:15:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-eebeyeynta''' === Tarjumaad === * {{en}}: self-deification 21197 wikitext text/x-wiki {{-so-}} == Magac == '''is-eebeyeynta''' === Tarjumaad === * {{en}}: self-deification 3ely860e2892a1hukcukd0ncjvobwtf Mahiiggaan 0 6155 21199 2022-04-10T11:16:28Z Girligaanshub 3150 Girligaanshub moved page [[Mahiiggaan]] to [[mahiiggaan]] 21199 wikitext text/x-wiki #REDIRECT [[mahiiggaan]] j2jzrbddhqkota8ddpjf6vw9dhprk5e cirib-baan 0 6156 21816 21203 2022-08-04T09:56:58Z Girligaanshub 3150 Bog loo bedeley [[dabaqad-baan]] 21816 wikitext text/x-wiki #redirect [[dabaqad-baan]] bnilpgn2a3qb9mlpi945ggxg03eqsaa tahmeedi 0 6157 21204 2022-04-11T11:06:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tahmeedi''' === Tarjumaad === * {{en}}: echoist, repeater, mimicker, copycatter, emulator 21204 wikitext text/x-wiki {{-so-}} == Magac == '''tahmeedi''' === Tarjumaad === * {{en}}: echoist, repeater, mimicker, copycatter, emulator niqoi9u3ctauwib6sziuee6s3jos5p0 muunad 0 6158 30006 28567 2024-08-18T23:55:50Z Girligaanshub 3150 30006 wikitext text/x-wiki {{-so-}} == Magac == '''muunad''' === Tarjumaad === * {{en}}: specimen, sample * {{en}}: honor, glory * {{en}}: template * {{en}}: color b2eb6cjdyitg9adk21wcrinm9idv84j istiqlaal 0 6159 32046 31268 2024-10-27T23:16:24Z Girligaanshub 3150 32046 wikitext text/x-wiki {{-so-}} == Magac == '''istiqlaal''' === Tarjumaad === * {{en}}: independence ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] sisdqfbxo5fnffo1ghzl94u57padr1e madaxbanaan 0 6160 32049 32048 2024-10-27T23:17:56Z Girligaanshub 3150 32049 wikitext text/x-wiki {{-so-}} == Magac == '''madaxbanaan''' === Tarjumaad === * {{en}}: independence ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] ===Antonyms=== *[[lootaliye]], [[dabadhilif]] 44cwdny4nd7siuwchnih664li6r2std jaale 0 6161 28285 27863 2024-06-14T14:46:15Z Girligaanshub 3150 28285 wikitext text/x-wiki {{-so-}} == Magac == '''jaale''' === Tarjumaad === * {{en}}: comrade * {{en}}: yellow ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] * (yellow) [[qeenid]] 1ci9d2tisq040hhfba7rljxtt1chdlb xog-ogal 0 6162 28102 21210 2024-06-09T17:25:28Z Girligaanshub 3150 28102 wikitext text/x-wiki {{-so-}} == Magac == '''xog-ogal''' === Tarjumaad === * {{en}}: curious ===Synonyms=== *[[danayn]], [[xiis]], [[xog-ogal]], [[xog-ogalka]] fpa66lx3vhbse7oopsl15cqlujd1sl3 xog-ogalka 0 6163 28101 27040 2024-06-09T17:25:20Z Girligaanshub 3150 28101 wikitext text/x-wiki {{-so-}} == Magac == '''xog-ogalka''' === Tarjumaad === * {{en}}: curiosity ===Synonyms=== *[[danayn]], [[xiis]], [[xog-ogal]], [[xog-ogalka]] svrfjxeckx80hsa3m01q971epd24bcv laftigiisa 0 6164 21213 2022-04-16T03:20:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laftigiisa''' === Tarjumaad === * {{en}}: essentially 21213 wikitext text/x-wiki {{-so-}} == Magac == '''laftigiisa''' === Tarjumaad === * {{en}}: essentially p29p6avy5n30jsg9c184a3sbdqdylfg fircoon 0 6165 29708 29680 2024-08-08T11:51:12Z Girligaanshub 3150 29708 wikitext text/x-wiki {{-so-}} == Magac == '''fircoon''' === Tarjumaad === * {{en}}: pharaoh * {{en}}: old dynasty, old generation, everlasting patrilineality ===Etymology=== *[[fir]] + [[coon]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]] ojv9ugufe37m9ft0fkwz43jbmc7oxov dhexlo 0 6166 22935 22914 2022-12-06T23:24:14Z Girligaanshub 3150 22935 wikitext text/x-wiki {{-so-}} == Magac == '''dhexlo''' === Tarjumaad === * {{en}}: embroil, involve, interweave, intertwine, interpose, interpolate, * {{en}}: succeed imybp6q7b1vvrmcg7k52gcmgy1ov3rc awdo 0 6167 32092 30702 2024-10-28T03:47:44Z Girligaanshub 3150 32092 wikitext text/x-wiki {{-so-}} == Magac == '''awdo''' === Tarjumaad === * {{en}}: restrict / appropriate into an [[ood]] (figuritive); block * {{en}}: seal / hem / confine / cage / envelop into an [[ood]] * {{en}}: an [[ood]]-like phenomenon offshore (i.e. island) * {{en}}: offshoring, relocation ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]] oonjuildy8g9dglxlcda0t28zfaqpmv haraadiga 0 6168 26579 21218 2024-01-15T20:27:42Z Girligaanshub 3150 26579 wikitext text/x-wiki {{-so-}} == Magac == '''haraadiga''' === Tarjumaad === * {{en}}: remnants, leftovers, leftover, residue te59hx8qyf65uzbxtjcir74bj7zal7a kutiro-kuteen 0 6169 28648 28643 2024-07-01T11:34:34Z Girligaanshub 3150 28648 wikitext text/x-wiki {{-so-}} == Magac == '''kutiro-kuteen''' === Tarjumaad === * {{en}}: hypothesis, hypothetical, theory, supposition, abstract ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]] 8bg32mz1d4alx8lircgb2hhxi2qtpqo sheegad 0 6170 21230 21225 2022-04-25T22:05:24Z Girligaanshub 3150 21230 wikitext text/x-wiki {{-so-}} == Magac == '''sheegad''' === Tarjumaad === * {{en}}: outcast, adoptee 7sp96obkypodxxsyvsyl55ilnyyszg6 muruqmaal 0 6171 32368 21226 2024-11-11T21:39:30Z Girligaanshub 3150 32368 wikitext text/x-wiki {{-so-}} == Magac == '''muruqmaal''' === Tarjumaad === * {{en}}: labour, blue collar work mf2vbw133vvoa4d7fynnylsquevr7ny muruqmaale 0 6172 32369 29786 2024-11-11T21:39:53Z Girligaanshub 3150 32369 wikitext text/x-wiki {{-so-}} == Magac == '''muruqmaale''' === Tarjumaad === * {{en}}: labourer, blue collar worker ===Synonyms=== *[[camiil]], [[muruqmaale]], [[xamaale]] h50mlrkw4nmt46uqe23vqipbfqcdmud anaaniyada 0 6173 24798 24591 2023-09-08T07:19:33Z Girligaanshub 3150 24798 wikitext text/x-wiki {{-so-}} == Magac == '''anaaniyada''' === Tarjumaad === * {{en}}: narcissism, megelomania, psychopathy, sociopathy ===Synonyms=== *[[dhugmo]], [[soohdinta]], [[riya']], [[tookh]] glcrp2e5yb320825jxycmwqj092iqcr xad-dhaaf 0 6174 28147 28144 2024-06-10T00:41:08Z Girligaanshub 3150 28147 wikitext text/x-wiki {{-so-}} == Magac == '''xad-dhaaf''' === Tarjumaad === * {{en}}: excess, unstable, transgressive, excessive, immoderate, instability, overestimate, overestimation, off-limit, overdose, overload, disproportionate, overwhelming, extravagant, ===Synonyms=== *[[xad-dhaaf]], [[xad-gudub]], [[dhaafsii]] 3kxa9fe3pkdjrm51y0hxrjz97w1vml1 tixgelin 0 6175 21233 2022-04-27T22:58:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tixgelin''' === Tarjumaad === * {{en}}: consideration 21233 wikitext text/x-wiki {{-so-}} == Magac == '''tixgelin''' === Tarjumaad === * {{en}}: consideration 971a8wssl1f534ajag76p5ss2v2f5tr tixgeli 0 6176 28036 27692 2024-06-08T20:32:07Z Girligaanshub 3150 28036 wikitext text/x-wiki {{-so-}} == Magac == '''texgeli''' === Tarjumaad === * {{en}}: consider, note, contemplate, mark, heed ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] 322kv7acwgj06eki9g3c936otc5zrln daneyste 0 6177 31927 31847 2024-10-25T23:29:46Z Girligaanshub 3150 31927 wikitext text/x-wiki {{-so-}} == Magac == '''daneyste''' === Tarjumaad === * {{en}}: resolute person, determined person, purposeful person, calculated person, premeditated person * {{en}}: schemer, planner, plotter, conniver, machiavellian, opportunist, ===Synonyms=== *[[il-adag]], [[daneyste]], [[hami leh]] 8wj0rrz2poxxwmtffxswaccq4j1hcqi 0 6178 27254 27230 2024-04-24T22:04:16Z Kwamikagami 3157 27254 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Charon symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(falaga)'' duniyar [[Bluto]] # ''(xiddigis)'' [[Kharon]], dayaxa Bluto ===La mid ah=== :[1]: [[⯓]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} 8ys3blnfp8b1kdarbesnggkc5nuxev6 0 6179 27262 21427 2024-04-24T22:06:52Z Kwamikagami 3157 27262 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Eris arrow symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(falaga)'' duniyar [[Eris]] ===La mid ah=== * [[⯰]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} iw1p9sn75ryk4b71p9k3al2b9og4hpo 0 6180 27252 21425 2024-04-24T22:03:33Z Kwamikagami 3157 27252 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:Neptune monogram (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis)'' [[Docay]] ===La mid ah=== * [[♆]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} pxnm6oj77ren33ih9r471faxsk21kur sababayn 0 6181 21243 2022-05-01T06:30:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sababayn''' === Tarjumaad === * {{en}}: reasoning 21243 wikitext text/x-wiki {{-so-}} == Magac == '''sababayn''' === Tarjumaad === * {{en}}: reasoning 7py6zxangdj0de5mxi2xy49ehc9yixy xubnaha 0 6182 21244 2022-05-01T06:33:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xubnaha''' === Tarjumaad === * {{en}}: organ, limb, appendage, bodypart 21244 wikitext text/x-wiki {{-so-}} == Magac == '''xubnaha''' === Tarjumaad === * {{en}}: organ, limb, appendage, bodypart 5rzrb9onwp1t2fac94st2xsrcu0kbof beer jilaycsi 0 6183 21245 2022-05-01T07:03:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beer jilaycsi''' === Tarjumaad === * {{en}}: emotionality, sentimentality 21245 wikitext text/x-wiki {{-so-}} == Magac == '''beer jilaycsi''' === Tarjumaad === * {{en}}: emotionality, sentimentality tecyclqtukdxdexjk1zqznpr8vqpe1n caadayso 0 6184 21246 2022-05-01T11:05:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadayso''' === Tarjumaad === * {{en}}: normalize 21246 wikitext text/x-wiki {{-so-}} == Magac == '''caadayso''' === Tarjumaad === * {{en}}: normalize jho4wd8fz64cx2n7s9a75o3qghki49a caadaysashada 0 6185 21247 2022-05-01T11:06:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadaysashada''' === Tarjumaad === * {{en}}: normalization 21247 wikitext text/x-wiki {{-so-}} == Magac == '''caadaysashada''' === Tarjumaad === * {{en}}: normalization 4djgvo0cs85ulqytva2a53z8ps6yu6w toobad 0 6186 21248 2022-05-01T11:07:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toobad''' === Tarjumaad === * {{en}}: forgiveness 21248 wikitext text/x-wiki {{-so-}} == Magac == '''toobad''' === Tarjumaad === * {{en}}: forgiveness o6u9aqmqxliqlpbrbt2zzbiggt31g6s xaasidnimo 0 6187 24748 24582 2023-09-05T09:44:00Z Girligaanshub 3150 24748 wikitext text/x-wiki {{-so-}} == Magac == '''xaasidnimo''' === Tarjumaad === * {{en}}: schadenfreude, epicaricacy, malice, malignance ===Antonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], *[[wadajir]], [[raxleynta]], [[garabtaag]], [[xannaan]] f0ojqoezjcls2qb7c8z5za7bblvndif hiigsiga 0 6188 21250 2022-05-02T12:20:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiigsiga''' === Tarjumaad === * {{en}}: destiny, objective, intent 21250 wikitext text/x-wiki {{-so-}} == Magac == '''hiigsiga''' === Tarjumaad === * {{en}}: destiny, objective, intent pizplraao2tqu41mvqou3knc3ncwxrr budhcad 0 6189 32323 28724 2024-11-08T12:19:52Z Girligaanshub 3150 32323 wikitext text/x-wiki {{-so-}} == Magac == '''budhcad''' === Tarjumaad === * {{en}}: gangster, predator ===Synonyms=== *[[dayday]], [[mooryaan]], [[budhcad]] e3ifusavgplmn0a1glym7pd0qfzc5tj burcad 0 6190 23628 21257 2023-05-22T23:24:32Z Girligaanshub 3150 23628 wikitext text/x-wiki {{-so-}} == Magac == '''burcad''' === Tarjumaad === * {{en}}: cream 43qp7hfnfelsco4csuu7pah0zmw4vq8 oraahyo guud 0 6193 21263 2022-05-08T10:03:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oraahyo''' === Tarjumaad === * {{en}}: platitude, cliche, mantra 21263 wikitext text/x-wiki {{-so-}} == Magac == '''oraahyo''' === Tarjumaad === * {{en}}: platitude, cliche, mantra pb5af0asw60qu8qz85srydcyixnanbd qabitaan 0 6194 21265 2022-05-08T11:11:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabitaan''' === Tarjumaad === * {{en}}: action, act, exploit, doing, 21265 wikitext text/x-wiki {{-so-}} == Magac == '''qabitaan''' === Tarjumaad === * {{en}}: action, act, exploit, doing, kjegbsbz60pw6v6etdlhk1ako77izby tirakoob 0 6195 30036 24132 2024-08-19T19:37:37Z Girligaanshub 3150 30036 wikitext text/x-wiki {{-so-}} == Magac == '''tirakoob''' === Tarjumaad === * {{en}}: statistics, data, figure, stats, statistic l6hrgpthmhuqsqkzscb916bbb3eqdwu awaaji 0 6196 28776 24989 2024-07-17T07:24:39Z Girligaanshub 3150 28776 wikitext text/x-wiki {{-so-}} == Magac == '''awaaji''' === Tarjumaad === * {{en}}: declare, announce ===Synonyms=== *[[is-afgarad]], [[dardaaran]], [[iclaan]], [[awaaji]], 0k7i11or37zrm1ai6qwadi72lg0viyl saabsanaan 0 6197 21269 2022-05-08T11:46:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saabsanaan''' === Tarjumaad === * {{en}}: about, pertaining, apropos, pertinent, germane, 21269 wikitext text/x-wiki {{-so-}} == Magac == '''saabsanaan''' === Tarjumaad === * {{en}}: about, pertaining, apropos, pertinent, germane, 33t6g0gf8r0781297fsuv9jfi2b33yy saabsanaanta 0 6198 21270 2022-05-08T11:46:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saabsanaanta''' === Tarjumaad === * {{en}}: about, pertaining, apropos, pertinent, germane, 21270 wikitext text/x-wiki {{-so-}} == Magac == '''saabsanaanta''' === Tarjumaad === * {{en}}: about, pertaining, apropos, pertinent, germane, 8p4ae6ysfepigr5iqh5yhvvjot0xf89 nuqulka 0 6199 21271 2022-05-08T11:49:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nuqulka''' === Tarjumaad === * {{en}}: version, genre, type, copy, revision, variant, rendering, edition, instalment, style 21271 wikitext text/x-wiki {{-so-}} == Magac == '''nuqulka''' === Tarjumaad === * {{en}}: version, genre, type, copy, revision, variant, rendering, edition, instalment, style 2sf3mv114p004xcv348tj97z96vk50w soo-saareyaal 0 6200 21272 2022-05-08T11:50:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''soo-saareyaal''' === Tarjumaad === * {{en}}: developer 21272 wikitext text/x-wiki {{-so-}} == Magac == '''soo-saareyaal''' === Tarjumaad === * {{en}}: developer 5n3c2znfjrocpxsb3ir45nideuu4qpx xeeldheer 0 6201 31371 31223 2024-10-07T17:11:35Z Girligaanshub 3150 31371 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheer''' === Tarjumaad === * {{en}}: proficient, adept, prominent, acuteness, competent ===Synonyms=== *[[howlyaqaan]], [[howlkar]], [[xeeldheer]] exbd0k0av4g6gco2xl33g1bfemj1lwa xeel-dheer 0 6202 31378 23406 2024-10-07T17:14:46Z Girligaanshub 3150 31378 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheer''' === Tarjumaad === * {{en}}: notable, expert, proficient, adept, prominent, acuteness, significant, distinguished, esteemed, noteworthy, noted, reputable, competent t63xf8j6lfd4leh39vobhfoeb1mr8j6 xariif 0 6203 31716 31200 2024-10-21T02:57:32Z Girligaanshub 3150 31716 wikitext text/x-wiki {{-so-}} == Magac == '''xariif''' === Tarjumaad === * {{en}}: customer ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] 1zfgl8c0fvrh0gmd3fw8c0jbng6m9cj fariid 0 6204 31122 27761 2024-10-04T11:57:54Z Girligaanshub 3150 31122 wikitext text/x-wiki {{-so-}} == Magac == '''fariid''' === Tarjumaad === * {{en}}: terrific, well done, okay, impressive * {{en}}: moral person, good person ===Synonyms=== *[[akhyaar]], [[anshax]], [[fariid]] pomnydeimo6wg1az6dy2tt82r7uxe1t waqti-laabka 0 6205 21278 2022-05-12T17:59:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqti-laabka''' === Tarjumaad === * {{en}}: anachronistic 21278 wikitext text/x-wiki {{-so-}} == Magac == '''waqti-laabka''' === Tarjumaad === * {{en}}: anachronistic qi4boala2ttttmv0uefrmjw8irdu9sg waqti-laab 0 6206 21279 2022-05-12T18:00:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqti-laab''' === Tarjumaad === * {{en}}: anachronize 21279 wikitext text/x-wiki {{-so-}} == Magac == '''waqti-laab''' === Tarjumaad === * {{en}}: anachronize k7q2gwrwllm69voa3b1i4w7s927ntdr waqti-laabasho 0 6207 21280 2022-05-12T18:00:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqti-laabasho''' === Tarjumaad === * {{en}}: anachronism 21280 wikitext text/x-wiki {{-so-}} == Magac == '''waqti-laabasho''' === Tarjumaad === * {{en}}: anachronism a1ch2rsomj2yx5dlvh994c23mwcd8yk abaalgud 0 6208 24138 21322 2023-08-07T19:29:19Z Girligaanshub 3150 24138 wikitext text/x-wiki {{-so-}} == Magac == '''abaalgud''' === Tarjumaad === * {{en}}: reward, present, bonus, compensation hmiymo4mywokcy1z4n7oakdt76qghe7 faallo 0 6209 30770 30769 2024-09-14T04:49:06Z Girligaanshub 3150 30770 wikitext text/x-wiki {{-so-}} == Magac == '''faallo''' === Tarjumaad === * {{en}}: comment, commentary, quote, expression, saying, note, point, points, ===Synonyms=== *[[qisad]], [[oraah]], [[halhay]], [[faallo]], [[faallada]] 56y3stby4axmv60mo1ne2ax82ahiz1v faallooyin 0 6210 30802 21324 2024-09-17T20:24:58Z Girligaanshub 3150 30802 wikitext text/x-wiki {{-so-}} == Magac == '''faallooyin''' === Tarjumaad === * {{en}}: comments, commentaries, quotes, expressions, sayings, notes, points, themes hm3kdpucxxve19chl630zbb2mtrtc9q xambaarsanaan 0 6211 21325 2022-05-13T20:03:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xambaarsanaan''' === Tarjumaad === * {{en}}: related, relevant, pertaining 21325 wikitext text/x-wiki {{-so-}} == Magac == '''xambaarsanaan''' === Tarjumaad === * {{en}}: related, relevant, pertaining ivk0euqby67z39fae0ga16hj4xfnet0 faallooyinka 0 6212 21326 2022-05-13T21:25:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faallooyin''' === Tarjumaad === * {{en}}: notion 21326 wikitext text/x-wiki {{-so-}} == Magac == '''faallooyin''' === Tarjumaad === * {{en}}: notion doz05djk1t2925ydqjelyqxrh3ux48z magangalyo 0 6213 21328 2022-05-17T11:08:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magangalyo''' === Tarjumaad === * {{en}}: political asylum 21328 wikitext text/x-wiki {{-so-}} == Magac == '''magangalyo''' === Tarjumaad === * {{en}}: political asylum k7t50xsbypzqvnwj30thep90ak3yplu musharax 0 6214 28935 27729 2024-07-27T02:21:06Z Girligaanshub 3150 28935 wikitext text/x-wiki {{-so-}} == Magac == '''musharax''' === Tarjumaad === * {{en}}: candidate, nominee ===Synonyms=== *[[magacaabis]], [[musharax]], [[xul]] nsmnps9uvdyl4iwgeg3pjc9l55zyijv xeeldheernimo 0 6215 31375 24908 2024-10-07T17:13:32Z Girligaanshub 3150 31375 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheernimo''' === Tarjumaad === * {{en}}: notability, expertise, important, notable, competence 7ch6fcm12ngji2fi3gewta46xq1y48t sharci magan 0 6216 21369 2022-05-19T15:40:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharci magan''' === Tarjumaad === * {{en}}: Jim Crow laws 21369 wikitext text/x-wiki {{-so-}} == Magac == '''sharci magan''' === Tarjumaad === * {{en}}: Jim Crow laws c3ysjq4cm9mycr6be97cq8wu5cpufht qaanuun magan 0 6217 21370 2022-05-19T15:41:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaanuun magan''' === Tarjumaad === * {{en}}: Jim Crow laws 21370 wikitext text/x-wiki {{-so-}} == Magac == '''qaanuun magan''' === Tarjumaad === * {{en}}: Jim Crow laws 9nx26ja9rzp629hr4yh3ovclxn6r3am maangaar 0 6218 25311 25273 2023-10-14T05:51:11Z Girligaanshub 3150 /* Antonyms */ 25311 wikitext text/x-wiki {{-so-}} == Magac == '''maangaar''' === Tarjumaad === * {{en}}: neurodivergence, personality disorder ===Antonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]] fpdjkmiequcs8iq5fsje8wpi1yqicdd User talk:Girligaanshub 3 6220 22061 22059 2022-08-31T17:02:11Z Girligaanshub 3150 22061 wikitext text/x-wiki =="Comet"== Dear Girligaanshub, Do you know the Somali word for [[:en:comet|comet]]? I want to be sure I don't mistakenly use a word for 'shooting star / falling star'. Best, [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 18:18, 29 May 2022 (UTC) : [[seef-cireed]], regards [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 08:16, 30 May 2022 (UTC) ::Thanks! [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 06:23, 22 Juun 2022 (UTC) qkb9m5v095260axjbgsy9x5qds380zy walxo 0 6221 21377 2022-05-30T08:10:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walxo''' === Tarjumaad === * {{en}}: substance, matter 21377 wikitext text/x-wiki {{-so-}} == Magac == '''walxo''' === Tarjumaad === * {{en}}: substance, matter bri84q5pzzustsxkx4yztrn8cjh7v17 kud 0 6222 21378 2022-05-30T08:10:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kud''' === Tarjumaad === * {{en}}: breed 21378 wikitext text/x-wiki {{-so-}} == Magac == '''kud''' === Tarjumaad === * {{en}}: breed n7xis117l5xszevdblmy01els7ih9wd kudmo 0 6223 21379 2022-05-30T08:11:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kudmo''' === Tarjumaad === * {{en}}: breeding 21379 wikitext text/x-wiki {{-so-}} == Magac == '''kudmo''' === Tarjumaad === * {{en}}: breeding rlup3larut5n86kejz8keei0zg7t4uk seef-cireed 0 6224 23093 21646 2023-01-30T03:20:40Z Kwamikagami 3157 /* Tarjumaad */ 23093 wikitext text/x-wiki {{-so-}} == Magac == '''seef-cireed''' ====La mid ah==== *[[☄]] === Tarjumaad === * {{en}}: [[comet]] 8dp18t370alevc2ms6ctm7awzftj3b3 xanta 0 6225 29733 24718 2024-08-09T00:50:07Z Girligaanshub 3150 29733 wikitext text/x-wiki {{-so-}} == Magac == '''xanta''' === Tarjumaad === * {{en}}: gossip ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]], [[xan]], [[dacaayad]] ===Antonyms=== *[[afgobaadsi]] bqj4pqh2y405woca2w9rq5vczcxjk6v xariir 0 6226 32262 21386 2024-11-04T05:53:01Z Girligaanshub 3150 32262 wikitext text/x-wiki {{-so-}} == Magac == '''xariir''' === Tarjumaad === * {{en}}: silk i4lonlkqq978k8sphnu7mzrv8ou0a9h ammar 0 6227 21387 2022-06-02T20:11:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ammar''' === Tarjumaad === * {{en}}: injunction, decree, mandate, admonition 21387 wikitext text/x-wiki {{-so-}} == Magac == '''ammar''' === Tarjumaad === * {{en}}: injunction, decree, mandate, admonition hvdylguso8ep7qceum35lbvbvr1oe6j gorgortame 0 6228 21388 2022-06-02T21:10:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorgortame''' === Tarjumaad === * {{en}}: bargainer, negotiator, 21388 wikitext text/x-wiki {{-so-}} == Magac == '''gorgortame''' === Tarjumaad === * {{en}}: bargainer, negotiator, 2qy6vbkdlwi8lwiwpf38g2tboil020f gorgortamo 0 6229 21389 2022-06-02T21:11:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorgortamo''' === Tarjumaad === * {{en}}: negotiate, bargain 21389 wikitext text/x-wiki {{-so-}} == Magac == '''gorgortamo''' === Tarjumaad === * {{en}}: negotiate, bargain 1zebg4g99zv6z94uxymwjcn6hvx8pek maangooni 0 6230 21390 2022-06-08T17:37:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maangooni''' === Tarjumaad === * {{en}}: dissociative personality disorder, avoidant personality disorder 21390 wikitext text/x-wiki {{-so-}} == Magac == '''maangooni''' === Tarjumaad === * {{en}}: dissociative personality disorder, avoidant personality disorder 7cf19xpzfy79d70ue5r63b1youqtmvp garoomey 0 6231 26105 26101 2023-11-29T09:10:19Z Girligaanshub 3150 26105 wikitext text/x-wiki {{-so-}} == Magac == '''garoomey''' === Tarjumaad === * {{en}}: jailbait, nymphette, lolita ===Synonyms=== *[[foodley]], [[gashaanti]], [[garoomey]], [[dhuullo]], [[tuurrey]] siszm2wc5nc5fr0wa3lia1q9uh4kl9b gashaanti 0 6232 26106 26100 2023-11-29T09:10:29Z Girligaanshub 3150 26106 wikitext text/x-wiki {{-so-}} == Magac == '''gashaanti''' === Tarjumaad === * {{en}}: jailbait, nymphette, lolita ===Synonyms=== *[[foodley]], [[gashaanti]], [[garoomey]], [[dhuullo]], [[tuurrey]] kkfbcwi8eed2nkf7jdfvrevx55wp3ix sheekoxariir 0 6233 21438 2022-06-18T08:43:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sheeko-xariir''' === Tarjumaad === * {{en}}: folktale 21438 wikitext text/x-wiki {{-so-}} == Magac == '''sheeko-xariir''' === Tarjumaad === * {{en}}: folktale 9xjktknu0lqe7l17trmbllybjeybpb7 awliyo 0 6234 21439 2022-06-18T09:33:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awliyo''' === Tarjumaad === * {{en}}: saint 21439 wikitext text/x-wiki {{-so-}} == Magac == '''awliyo''' === Tarjumaad === * {{en}}: saint 40u6rvlgpaxn73bqqkrvgclp55z3ddv hawlgal 0 6235 24049 21444 2023-07-24T04:09:28Z Girligaanshub 3150 24049 wikitext text/x-wiki {{-so-}} == Magac == '''hawlgal''' === Tarjumaad === * {{en}}: operation, assignment, task d0p7fv4xxqmelu7dyhwc95vzgyjlslp sirdoon 0 6236 31710 21445 2024-10-21T02:12:02Z Girligaanshub 3150 31710 wikitext text/x-wiki {{-so-}} == Magac == '''sirdoon''' === Tarjumaad === * {{en}}: spywork, espionage, reconnaissance, spy ===Synonyms=== *[[basaas]], [[jawaasiis]], [[jaajuus]], [[sirdoon]] 9kqythhrpvrkmpmv75cyfh0iasgnvmw walxaha 0 6237 21446 2022-06-20T14:59:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walxaha''' === Tarjumaad === * {{en}}: tangibility, solid, physicality, concrete 21446 wikitext text/x-wiki {{-so-}} == Magac == '''walxaha''' === Tarjumaad === * {{en}}: tangibility, solid, physicality, concrete t177e8z3xjkva2m0dzddwwl9ie2mp3v walac 0 6238 21447 2022-06-21T13:11:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walac''' === Tarjumaad === * {{en}}: nausea 21447 wikitext text/x-wiki {{-so-}} == Magac == '''walac''' === Tarjumaad === * {{en}}: nausea jt2ejuf6wbcb37eglifgvfo8gv2zay0 marfuucal qalam 0 6239 31961 25491 2024-10-26T00:11:05Z Girligaanshub 3150 31961 wikitext text/x-wiki {{-so-}} == Magac == '''marfucal qalam''' === Tarjumaad === * {{en}}: non-volition (due to hypnosis, somnambulism/sleepwalking, automatism, reflext, convusion, insanity, or infantile age) ===Synonyms=== *[[birmagayd]], [[marfuucal qalam]], [[nugul]], el2naf6s0tf2ta6hyohous3dxrkzssb fagaaraha 0 6240 21449 2022-06-21T21:20:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fagaaraha''' === Tarjumaad === * {{en}}: plaza, arena, square, courtyard 21449 wikitext text/x-wiki {{-so-}} == Magac == '''fagaaraha''' === Tarjumaad === * {{en}}: plaza, arena, square, courtyard quj4qofx8iu0imlchkvh2y4owwgh95k garac 0 6241 21450 2022-06-21T22:05:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garac''' === Tarjumaad === * {{en}}: bastard 21450 wikitext text/x-wiki {{-so-}} == Magac == '''garac''' === Tarjumaad === * {{en}}: bastard 586fhvq88hl0g9lplg3xeq1a4p4rqik wacyigeli 0 6242 29307 24943 2024-08-01T06:56:14Z Girligaanshub 3150 29307 wikitext text/x-wiki {{-so-}} == Magac == '''wacyigeli''' === Tarjumaad === * {{en}}: advocate, enlighten ===Synonyms=== *[[baraarug]], [[wacyigeli]], [[wacyigelinta]], [[ogeysii]], [[waano]], cmbk51krhgeuph2kkxc3fjayxl2fvwv wacyigelinta 0 6243 29309 23061 2024-08-01T06:56:37Z Girligaanshub 3150 29309 wikitext text/x-wiki {{-so-}} == Magac == '''wacyigelinta''' === Tarjumaad === * {{en}}: awareness, enlightenment ===Synonyms=== *[[baraarug]], [[wacyigeli]], [[wacyigelinta]], [[ogeysii]], [[waano]], d9c4il73dpnjfc2yik95y9d1rlvled2 0 6244 27264 23753 2024-04-24T22:07:26Z Kwamikagami 3157 27264 wikitext text/x-wiki __NOTOC__ ==Caalami== [[file:comet symbol (heavy blue).svg|frameless|upright=0.5|right|{{PAGENAME}}]] ===Astaanta=== # ''(xiddigis)'' [[seef-cireed]], [[dibdheer]] ===Ereyo la'xiraara=== {{astaamaha meeraha}} kbn7dv92squphjmf4bqdqjt5hdt5mel golaha 0 6245 21457 2022-06-22T14:16:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''golaha''' === Tarjumaad === * {{en}}: council, cabinet, comittee, board 21457 wikitext text/x-wiki {{-so-}} == Magac == '''golaha''' === Tarjumaad === * {{en}}: council, cabinet, comittee, board sl1n6xelr7rnbt8nl9eon1j1jvn5dil qooq 0 6246 21458 2022-06-22T19:17:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooq''' === Tarjumaad === * {{en}}: libido 21458 wikitext text/x-wiki {{-so-}} == Magac == '''qooq''' === Tarjumaad === * {{en}}: libido b57iwls0zeb2xrkedb43pl8a6y9vj36 falanqay 0 6247 27697 27651 2024-05-23T22:30:49Z Girligaanshub 3150 27697 wikitext text/x-wiki {{-so-}} == Magac == '''falanqay''' === Tarjumaad === * {{en}}: analyze, examine, * {{en}}: shuffle (cards) ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] aqzylot6o355fscdzrbhxgyv6w414zo qooq-xad-dhaaf 0 6248 21460 2022-06-22T20:21:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooq xad-dhaaf''' === Tarjumaad === * {{en}}: hypersexuality 21460 wikitext text/x-wiki {{-so-}} == Magac == '''qooq xad-dhaaf''' === Tarjumaad === * {{en}}: hypersexuality p2brw08rhxlv4p65cd2pardy28a4lz9 qooqnimo 0 6249 21461 2022-06-22T20:21:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqnimo''' === Tarjumaad === * {{en}}: sex drive 21461 wikitext text/x-wiki {{-so-}} == Magac == '''qooqnimo''' === Tarjumaad === * {{en}}: sex drive g4969ox9v6pw3b3sftzp05v6vh7mkv2 farac 0 6250 31021 30982 2024-09-30T19:08:53Z Girligaanshub 3150 31021 wikitext text/x-wiki {{-so-}} == Magac == '''farac''' === Tarjumaad === * {{en}}: descendant, offspring * {{en}}: branch, subsidiary, affiliate, different, difference ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] esuh2ie4cp94z0j36wtwvqzfyx9cyty ubad 0 6251 21463 2022-06-22T20:29:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ubad''' === Tarjumaad === * {{en}}: offspring 21463 wikitext text/x-wiki {{-so-}} == Magac == '''ubad''' === Tarjumaad === * {{en}}: offspring 7y4p452bzl7ya4dujff7crzl5sp23v9 qooqsan 0 6252 21464 2022-06-22T20:36:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqsan''' === Tarjumaad === * {{en}}: sex addicted, hypersexual, paraphilic, erotomanic, 21464 wikitext text/x-wiki {{-so-}} == Magac == '''qooqsan''' === Tarjumaad === * {{en}}: sex addicted, hypersexual, paraphilic, erotomanic, h5g1bp2bke5qpsalgo8rhscjazw15st anyax 0 6253 21467 21466 2022-06-24T18:00:55Z Girligaanshub 3150 Noqay bedelaadka 21466 ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 21467 wikitext text/x-wiki {{-so-}} == Magac == '''anyax''' === Tarjumaad === * {{en}}: locust rqko5bc0020yyto9he7g9s72jvf0p9y garoob 0 6254 21468 2022-06-24T18:01:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoob''' === Tarjumaad === * {{en}}: widow or divorcee 21468 wikitext text/x-wiki {{-so-}} == Magac == '''garoob''' === Tarjumaad === * {{en}}: widow or divorcee etvdzz9hknenbyqmi9dy0ns6xhgl4r0 bahdilan 0 6255 21469 2022-06-24T22:06:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bahdilan''' === Tarjumaad === * {{en}}: oppressed 21469 wikitext text/x-wiki {{-so-}} == Magac == '''bahdilan''' === Tarjumaad === * {{en}}: oppressed n1p5tnswnb2x9u7mkbzpc2go7mmrpoe maro-ku-dheg 0 6256 32173 31942 2024-10-31T18:37:48Z Girligaanshub 3150 32173 wikitext text/x-wiki {{-so-}} == Magac == '''maro-ku-dheg''' === Tarjumaad === * {{en}}: uncompromising, hard-headed, intransigent, adamant, inflexible, obstinate, resolute, stubborn, tenacious ===Synonyms=== *[[maro-ku-dheg]], [[taagan]], [[macangag]], [[caniid]] [[miigan]],, [[afdheer]] 6v0v6d5lnizfudfqxlm2m75wu3hmnri dhedig-af-dhowre 0 6257 31702 30757 2024-10-21T00:00:31Z Girligaanshub 3150 31702 wikitext text/x-wiki {{-so-}} == Magac == '''dhedig dhowre''' === Tarjumaad === * {{en}}: feminist, women's activist ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], *[[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] t5s265dkpjwot2sucmkj3oh0yp0ty0v rag-af-dhowre 0 6258 23056 23054 2023-01-19T20:07:10Z Girligaanshub 3150 23056 wikitext text/x-wiki {{-so-}} == Magac == '''rag dhowre''' === Tarjumaad === * {{en}}: masculinist, manospherian, men's rights activist bg6iqyod3ct7tq68zeobhw31tnn9v3p maro-ku-dhegnimo 0 6259 31924 25589 2024-10-25T23:27:50Z Girligaanshub 3150 31924 wikitext text/x-wiki {{-so-}} == Magac == '''maro-ku-dhegnimo''' === Tarjumaad === * {{en}}: hard headedness, uncompromising attitude, firmness, resolute, resoluteness, unwavering, rigidity, rigid, intransigent, intransigence, stubborn, stubbornness, intractable ===Synonyms=== * [[maro-ku-dheg]], brtgb7fvc7oy620e6yg5m9pxxp4cs05 ganacsade 0 6260 21478 21474 2022-06-25T16:11:01Z Girligaanshub 3150 21478 wikitext text/x-wiki {{-so-}} == Magac == '''ganacsade''' === Tarjumaad === * {{en}}: businessman 184z8367l6q7wdf0b4ojib1zy41eidp twarut 0 6261 21476 2022-06-25T02:24:26Z Girligaanshub 3150 Girligaanshub moved page [[twarut]] to [[tawarut]] 21476 wikitext text/x-wiki #REDIRECT [[tawarut]] 5ets6wmr2s6024nj053ddgqn7t46qqq boqortooyo 0 6262 21477 2022-06-25T16:10:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boqortooyo''' === Tarjumaad === * {{en}}: kingdom 21477 wikitext text/x-wiki {{-so-}} == Magac == '''boqortooyo''' === Tarjumaad === * {{en}}: kingdom rlmobeiue5mhxtdw6mit1idwgnpvg1z boqornimo 0 6263 21479 2022-06-25T16:13:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boqornimo''' === Tarjumaad === * {{en}}: royalty, kinglihood, kingliness, kingship, kinghood, monarchism, 21479 wikitext text/x-wiki {{-so-}} == Magac == '''boqornimo''' === Tarjumaad === * {{en}}: royalty, kinglihood, kingliness, kingship, kinghood, monarchism, g2psg2nga9nqy1nxreaxyomy5khnfx4 meher 0 6264 21480 2022-06-25T16:26:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meher''' === Tarjumaad === * {{en}}: dower, bridewealth, bride token, bride-price, bride-gift 21480 wikitext text/x-wiki {{-so-}} == Magac == '''meher''' === Tarjumaad === * {{en}}: dower, bridewealth, bride token, bride-price, bride-gift 4czat5grh2zihl1jjtqaf5qzh9msda4 muxaafid 0 6265 25146 22167 2023-09-27T19:54:39Z Girligaanshub 3150 25146 wikitext text/x-wiki {{-so-}} == Magac == '''muxaafid''' === Tarjumaad === * {{en}}: conservative party, conservative party member, traditionalist party member ===Synonyms=== *[[gheerah]], [[muxaafid]], [[asalraac]], [[joogdoon]], [[taddabur]], [[zuhd]], [[maro-ilaalin]], [[joogdoon]], [[zahid]], [[waanshee]], ===Antonyms=== *[[dayouth]] d0siraqvb6kp3qin7kuuyc0p19cuni7 dhoobo 0 6266 21482 2022-06-26T04:02:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoobo''' === Tarjumaad === * {{en}}: mud 21482 wikitext text/x-wiki {{-so-}} == Magac == '''dhoobo''' === Tarjumaad === * {{en}}: mud plo9i1gp83bdeytxs34kf80182p2tk5 muxaafidnimo 0 6267 22168 21483 2022-09-18T20:19:19Z Girligaanshub 3150 22168 wikitext text/x-wiki {{-so-}} == Magac == '''muxaafidnimo''' === Tarjumaad === * {{en}}: conservative party, traditionalist party elh4p8awckjr1f7ga4wwt9s74jlk6y2 afdhowre 0 6268 32015 27289 2024-10-27T03:16:36Z Girligaanshub 3150 32015 wikitext text/x-wiki {{-so-}} == Magac == '''af-dhowre''' === Tarjumaad === * {{en}}: upholder, activist * {{en}}: aimless person ===Synonyms=== *[[firfircooniye]], [[firfircoone]], [[afdhowre]], [[ololeeye]] fch8ta1l98rr97ag1z1na0qtzviykzs cilmaani 0 6269 21485 2022-06-26T22:05:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmaani''' === Tarjumaad === * {{en}}: secularist 21485 wikitext text/x-wiki {{-so-}} == Magac == '''cilmaani''' === Tarjumaad === * {{en}}: secularist m21kf0snlepct3uhd2liqtpe1veea36 cilmaanimo 0 6270 21486 2022-06-26T22:08:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmaanimo''' === Tarjumaad === * {{en}}: secularism 21486 wikitext text/x-wiki {{-so-}} == Magac == '''cilmaanimo''' === Tarjumaad === * {{en}}: secularism ka19w5btrxa7uhi5mlih3d1oe85ii5i buuq 0 6271 21487 2022-06-27T04:15:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buuq''' === Tarjumaad === * {{en}}: commotion, chaos, havoc, ruckus 21487 wikitext text/x-wiki {{-so-}} == Magac == '''buuq''' === Tarjumaad === * {{en}}: commotion, chaos, havoc, ruckus 668rrb13mcuufqcg2xsgvfx2383mr82 quran-saar 0 6272 21488 2022-06-27T16:22:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quran-saar''' === Tarjumaad === * {{en}}: quran-incantation, quran-conjuration 21488 wikitext text/x-wiki {{-so-}} == Magac == '''quran-saar''' === Tarjumaad === * {{en}}: quran-incantation, quran-conjuration 3581ctvbazj3wsgblb6du3vjb32lmt6 ruuxaan 0 6273 21489 2022-06-27T16:25:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuxaan''' === Tarjumaad === * {{en}}: spirituality, sixth sense 21489 wikitext text/x-wiki {{-so-}} == Magac == '''ruuxaan''' === Tarjumaad === * {{en}}: spirituality, sixth sense tv14grjzb6fxdp0h6guae23ighoy5qq mingis 0 6274 21490 2022-06-27T16:27:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mingis''' === Tarjumaad === * {{en}}: exorcism 21490 wikitext text/x-wiki {{-so-}} == Magac == '''mingis''' === Tarjumaad === * {{en}}: exorcism oopuqp7lw0tb8ts2p874ick1gagemow taxan 0 6275 26916 26330 2024-03-14T13:14:32Z Girligaanshub 3150 26916 wikitext text/x-wiki {{-so-}} == Magac == '''taxan''' === Tarjumaad === * {{en}}: series, sequence, list * {{en}}: present, now, ===Synonyms=== *[[xaadir]], [[taxan]] k549vjnzg0g46d35nel1sgbyjxifmye dhoocil 0 6276 21492 2022-06-27T23:22:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoocil''' === Tarjumaad === * {{en}}: tomboy, butch 21492 wikitext text/x-wiki {{-so-}} == Magac == '''dhoocil''' === Tarjumaad === * {{en}}: tomboy, butch edhxpvx33j42k7sp48qwmy9preb0ujy guumeeysnimo 0 6277 21494 21493 2022-06-28T13:13:46Z Girligaanshub 3150 21494 wikitext text/x-wiki {{-so-}} == Magac == '''guumeeysnimo''' === Tarjumaad === * {{en}}: inceldom 91pvn3fi15goe6yshz83hi8snasa3up guumeeysadnimo 0 6278 21495 2022-06-28T13:14:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guumeeysadnimo''' === Tarjumaad === * {{en}}: spinsterdom, femceldom 21495 wikitext text/x-wiki {{-so-}} == Magac == '''guumeeysadnimo''' === Tarjumaad === * {{en}}: spinsterdom, femceldom d5j9e12jot30m8pftijuoxilsgrw6ah guumeeysad 0 6279 21496 2022-06-28T13:15:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guumeeys''' === Tarjumaad === * {{en}}: femcel, spinster, cat lady, 21496 wikitext text/x-wiki {{-so-}} == Magac == '''guumeeys''' === Tarjumaad === * {{en}}: femcel, spinster, cat lady, 9keicwt11yz9dmnaiu893kk3we9hg52 hiil 0 6280 29238 22724 2024-07-31T03:12:32Z Girligaanshub 3150 29238 wikitext text/x-wiki {{-so-}} == Magac == '''hiil''' === Tarjumaad === * {{en}}: family social security, aid, assist ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] 2uidamb4lzfbljsiec2n1pjjbob10ky alla-bari 0 6281 21499 2022-06-28T18:32:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alla-bari''' === Tarjumaad === * {{en}}: rain prayer 21499 wikitext text/x-wiki {{-so-}} == Magac == '''alla-bari''' === Tarjumaad === * {{en}}: rain prayer m2mq87klthbftml3zzklvgwueizix82 siyaro 0 6282 21500 2022-06-28T18:38:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siyaro''' === Tarjumaad === * {{en}}: ancestor veneration, Somali ancestor worship, awliyo (saint) worship, 21500 wikitext text/x-wiki {{-so-}} == Magac == '''siyaro''' === Tarjumaad === * {{en}}: ancestor veneration, Somali ancestor worship, awliyo (saint) worship, qdbs1ufqo8e1ll1loynbvfxffnvw9jt hamada 0 6283 21501 2022-06-28T19:03:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hamada''' === Tarjumaad === * {{en}}: appetite 21501 wikitext text/x-wiki {{-so-}} == Magac == '''hamada''' === Tarjumaad === * {{en}}: appetite ibh0miyn8x5lj8qcqpasq4j3nk7a6qj qooqnimada 0 6284 21502 2022-06-28T19:04:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqnimada''' === Tarjumaad === * {{en}}: libido 21502 wikitext text/x-wiki {{-so-}} == Magac == '''qooqnimada''' === Tarjumaad === * {{en}}: libido nkewjtrdcgyvod9abg9tjbfywbx54ty xoorto 0 6285 21503 2022-06-28T19:39:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoorto''' === Tarjumaad === * {{en}}: discard 21503 wikitext text/x-wiki {{-so-}} == Magac == '''xoorto''' === Tarjumaad === * {{en}}: discard o1u9kyifhh1h9g4h2ask9a05g38aizw caadada 0 6286 21504 2022-06-28T19:40:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadada''' === Tarjumaad === * {{en}}: norms 21504 wikitext text/x-wiki {{-so-}} == Magac == '''caadada''' === Tarjumaad === * {{en}}: norms habbfn63x7nkzc8xt61wu3ngzalrnq2 jaalleyaal 0 6288 21506 2022-06-29T21:50:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaalleyaal''' === Tarjumaad === * {{en}}: folks 21506 wikitext text/x-wiki {{-so-}} == Magac == '''jaalleyaal''' === Tarjumaad === * {{en}}: folks nqkdraoi76afgm23iokcqfdirepug6m waqti-kala-duwan 0 6289 21507 2022-06-30T21:29:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqti-kala-duwan''' === Tarjumaad === * {{en}}: anachronous 21507 wikitext text/x-wiki {{-so-}} == Magac == '''waqti-kala-duwan''' === Tarjumaad === * {{en}}: anachronous t1zydjvu048w87z75ttcf8330by2lox qadiyad 0 6290 29562 27317 2024-08-05T18:46:32Z Girligaanshub 3150 29562 wikitext text/x-wiki {{-so-}} == Magac == '''qadiyad''' === Tarjumaad === * {{en}}: objective, purpose, usage 4hxncbglqvzz3wx63o8j83acojb5k57 tixgelinta 0 6291 21509 2022-07-02T00:59:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tixgelinta''' === Tarjumaad === * {{en}}: attention 21509 wikitext text/x-wiki {{-so-}} == Magac == '''tixgelinta''' === Tarjumaad === * {{en}}: attention 1x67aufku3g9y0otwhvfynpbb0xo0m7 murtiyeed 0 6293 21517 2022-07-02T20:38:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtiyeed''' === Tarjumaad === * {{en}}: tidings, account, bulletin, account, info 21517 wikitext text/x-wiki {{-so-}} == Magac == '''murtiyeed''' === Tarjumaad === * {{en}}: tidings, account, bulletin, account, info t7dukvbte3j9wi3ey94oiid9hdswtn0 lamaanaha 0 6294 21518 2022-07-03T21:54:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lamaanaha''' === Tarjumaad === * {{en}}: couple 21518 wikitext text/x-wiki {{-so-}} == Magac == '''lamaanaha''' === Tarjumaad === * {{en}}: couple c9apecysf5uwlqt0wzy1f8g00id6zd6 afgaranwaaga 0 6295 21519 2022-07-03T21:56:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afgaranwaaga''' === Tarjumaad === * {{en}}: misunderstanding, quarrel, squabble, disagreement, disharmony, 21519 wikitext text/x-wiki {{-so-}} == Magac == '''afgaranwaaga''' === Tarjumaad === * {{en}}: misunderstanding, quarrel, squabble, disagreement, disharmony, e7f2v18nvpuz2off24cfbx81a1r30d5 daryeelo 0 6296 31825 25501 2024-10-25T21:34:16Z Girligaanshub 3150 31825 wikitext text/x-wiki {{-so-}} == Magac == '''daryeelo''' === Tarjumaad === * {{en}}: care, take care of, supervise, heal, healing ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]] blnfn5mmvyr85wyfjb6ksd18olfvyu8 shaqsiyadeed 0 6297 21521 2022-07-04T14:21:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaqsiyadeed''' === Tarjumaad === * {{en}}: personal 21521 wikitext text/x-wiki {{-so-}} == Magac == '''shaqsiyadeed''' === Tarjumaad === * {{en}}: personal 1yt5suectn4s06zuuckxemr14aa3kvk rumaysad shaqsiyadeed 0 6298 21522 2022-07-04T14:38:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rumaysad shaqsiyadeed''' === Tarjumaad === * {{en}}: anecdotal, anecdotally 21522 wikitext text/x-wiki {{-so-}} == Magac == '''rumaysad shaqsiyadeed''' === Tarjumaad === * {{en}}: anecdotal, anecdotally toiag9vo6mn7y9n9k0azs0clrtnr2nt hadalnimo 0 6299 21523 2022-07-04T15:08:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadalnimo''' === Tarjumaad === * {{en}}: word salad, schizophasia, conversationalism 21523 wikitext text/x-wiki {{-so-}} == Magac == '''hadalnimo''' === Tarjumaad === * {{en}}: word salad, schizophasia, conversationalism 8eix4884qzjtf2w4tkt6a36gv7b4c0v fataal 0 6300 31545 21524 2024-10-13T04:35:35Z Girligaanshub 3150 31545 wikitext text/x-wiki {{-so-}} == Magac == '''fataal''' === Tarjumaad === * {{en}}: tattle-tale, snitch, * {{en}}: pimp, * {{en}}: privacy violater 53atmmctfvw6wnkhz92bf08ao86p1rr maatada 0 6301 21525 2022-07-04T21:43:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maatada''' === Tarjumaad === * {{en}}: civilians 21525 wikitext text/x-wiki {{-so-}} == Magac == '''maatada''' === Tarjumaad === * {{en}}: civilians 0tl76celpk0qsb0h1alf2khp68nrk6f mashxaraday 0 6302 27724 23869 2024-05-26T06:02:58Z Girligaanshub 3150 27724 wikitext text/x-wiki {{-so-}} == Magac == '''mashxaraday''' === Tarjumaad === * {{en}}: validate, validation, cradle-singing, lullaby, love-bomb, flatter, blandish, coax, sweet talk, fawn, pacify ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], [[qalbi xabxab]], [[ictiraaf]], [[sheeko-jiif]] 35f59swjjdc5xqqbd9sv0fir2zb5rxf maahmaah 0 6303 21527 2022-07-05T02:22:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maahmaah''' === Tarjumaad === * {{en}}: saying, proverb, idiom === Tusaale=== * ''Talo tol la diidaa, tagoog jabay leedahay'' (One's limb is broken when the advice of agnatic kinsmen is rejected) 21527 wikitext text/x-wiki {{-so-}} == Magac == '''maahmaah''' === Tarjumaad === * {{en}}: saying, proverb, idiom === Tusaale=== * ''Talo tol la diidaa, tagoog jabay leedahay'' (One's limb is broken when the advice of agnatic kinsmen is rejected) 53kccmpckx9codzn623pv6bk27krlfw tagoog 0 6304 21528 2022-07-05T02:23:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tagoog''' === Tarjumaad === * {{en}}: limb 21528 wikitext text/x-wiki {{-so-}} == Magac == '''tagoog''' === Tarjumaad === * {{en}}: limb fbsb5f2wxy5n4dq44cr2aqc80a2ehsi inanlayaal 0 6305 31700 30862 2024-10-20T23:59:50Z Girligaanshub 3150 31700 wikitext text/x-wiki {{-so-}} == Magac == '''inanlayaal''' === Tarjumaad === * {{en}}: matrilocality, uxorilocality * {{en}}: man who relies upon his wife's tribe * {{en}}: deadbeat father, * {{en}}: man who relies on his mother's tribe, matriarchy, feminist, gynocracy * {{en}}: mother's boy, mummy's boy, mommy's boy or mama's boy, momma's boy, ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], [[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] 5mivj0xrknmzgibbfg0jb9hh4c6hh1f reer guuraa 0 6306 28949 21530 2024-07-27T15:53:40Z Girligaanshub 3150 28949 wikitext text/x-wiki {{-so-}} == Magac == '''reer guuraa''' === Tarjumaad === * {{en}}: nomadic, nomad lvqtcigzg7zvka1sn9qy19he3ylm27r reer beereed 0 6307 28953 21531 2024-07-27T15:56:20Z Girligaanshub 3150 28953 wikitext text/x-wiki {{-so-}} == Magac == '''reer beereed''' === Tarjumaad === * {{en}}: farmer ===Synonyms=== *[[beeraley]], [[beero falato]], [[reer beereed]], [[reer qodaal]] qcf2xx3bhkx6t961s4hwkwcf3cyi1s3 reer qodaal 0 6308 28954 21532 2024-07-27T15:56:28Z Girligaanshub 3150 28954 wikitext text/x-wiki {{-so-}} == Magac == '''reer qodaal''' === Tarjumaad === * {{en}}: farmer ===Synonyms=== *[[beeraley]], [[beero falato]], [[reer beereed]], [[reer qodaal]] numwcpxyd7k04k592b26n2yhy4huo44 saaqid 0 6309 26352 25742 2023-12-15T06:15:42Z Girligaanshub 3150 26352 wikitext text/x-wiki {{-so-}} == Magac == '''saaqid''' === Tarjumaad === * {{en}}: dropout, school dropout, * {{en}}: sailor ===Synonyms=== *[[saaqid]], [[badmaax]] nh83zcyi1fm1kku6m3xmqbypfw1utsz jawi 0 6310 32070 21536 2024-10-28T03:31:07Z Girligaanshub 3150 32070 wikitext text/x-wiki {{-so-}} == Magac == '''jawi''' === Tarjumaad === * {{en}}: atmosphere * {{en}}: mood, vibe, ambience, aura, ===Synonyms=== *[[jawi]], [[amuureysan]] sgdpjhvs8ddu669hqnvvxxiculny88h daliil shaqsiyadeed 0 6311 21538 2022-07-06T12:54:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daliil shaqsiyadeed''' === Tarjumaad === * {{en}}: anecdotal, anecdotally, 21538 wikitext text/x-wiki {{-so-}} == Magac == '''daliil shaqsiyadeed''' === Tarjumaad === * {{en}}: anecdotal, anecdotally, sj42iyfaleyfek30au6m9s75bi8wwvs xali 0 6312 28452 28333 2024-06-15T19:10:12Z Girligaanshub 3150 28452 wikitext text/x-wiki {{-so-}} == Magac == '''xali''' === Tarjumaad === * {{en}}: solve ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], rkzfc7bbs98j2yjolcg90jwtu8k1i8s xalin 0 6313 28451 28334 2024-06-15T19:10:00Z Girligaanshub 3150 28451 wikitext text/x-wiki {{-so-}} == Magac == '''xalin''' === Tarjumaad === * {{en}}: resolved ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], 1eg36jmhk7h2ookmn98jda1ux28jfa5 cabbir 0 6314 21542 2022-07-07T03:46:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabbir''' === Tarjumaad === * {{en}}: measure 21542 wikitext text/x-wiki {{-so-}} == Magac == '''cabbir''' === Tarjumaad === * {{en}}: measure 7958zdsmz0qunubcdfjdthx8lv6u762 zani 0 6315 21543 2022-07-07T04:07:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''zani''' === Tarjumaad === * {{en}}: fornicator, adulterer 21543 wikitext text/x-wiki {{-so-}} == Magac == '''zani''' === Tarjumaad === * {{en}}: fornicator, adulterer ke8k8b0m0gchh7e8dymbtmmbmynt02c muransan 0 6316 28002 21544 2024-06-08T19:05:50Z Girligaanshub 3150 28002 wikitext text/x-wiki {{-so-}} == Magac == '''muransan''' === Tarjumaad === * {{en}}: controversial ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], rdirofv21kd6smmxy6dh1hc2a5p4yks lama-taabtaan 0 6317 30520 24779 2024-09-05T20:33:26Z Girligaanshub 3150 30520 wikitext text/x-wiki {{-so-}} == Magac == '''lama-taabtaan''' === Tarjumaad === * {{en}}: inviolable, sacrosanct, ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]], [[jisir]] e9hnlke7e4u0j1deb3z4yc8owgpn78o calanwalay 0 6318 21546 2022-07-07T15:41:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calanwalay''' === Tarjumaad === * {{en}}: reign, rule, hold sway, 21546 wikitext text/x-wiki {{-so-}} == Magac == '''calanwalay''' === Tarjumaad === * {{en}}: reign, rule, hold sway, afz85q0byp1mizfvon619fmhtnkmj28 maarmo 0 6319 31444 24911 2024-10-11T02:44:11Z Girligaanshub 3150 31444 wikitext text/x-wiki {{-so-}} == Magac == '''maarmo''' === Tarjumaad === * {{en}}: sideline, dispense, expend, skip, negate, nullify, invalidate, invalidate, invalidation, revoke, abrogate, abrogation, annul, rescind, void, n8ep8sobrcl44dpe6i7up4feywmg7th maarmaan 0 6320 24912 21548 2023-09-15T16:25:31Z Girligaanshub 3150 24912 wikitext text/x-wiki {{-so-}} == Magac == '''maarmaan''' === Tarjumaad === * {{en}}: dispensable, expendable, skippable, disposable, dispense, expend, skip, negate, nullify, invalidate, invalidate, invalidation, revoke, abrogate, abrogation, annul, rescind, void, bq1zu8ecn5s4ql02diol70tckbt83ju han-weyn 0 6321 28067 27787 2024-06-08T22:46:24Z Girligaanshub 3150 28067 wikitext text/x-wiki {{-so-}} == Magac == '''han-weyn''' === Tarjumaad === * {{en}}: confidence * {{en}}: jubilation ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] t3chlwvswh9c01w4pk8144ybxnt8amw nasab 0 6322 29620 27709 2024-08-07T06:32:45Z Girligaanshub 3150 29620 wikitext text/x-wiki {{-so-}} == Magac == '''nasab''' === Tarjumaad === * {{en}}: patrilineal lineage of fidelity and nobility, kinship of fidelity and nobility, noble ===Synonyms=== *[[durriyad]], [[dhexliga]], [[nasab]] 63euxvlwr0sy1t38j72d6asuo2e4eqc rumaysad 0 6323 28178 28132 2024-06-12T19:27:50Z Girligaanshub 3150 28178 wikitext text/x-wiki {{-so-}} == Magac == '''rumaysad''' === Tarjumaad === * {{en}}: belief ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] rfvdjh4zv55vo749a3oip4pv4im9r03 khayraad 0 6324 21554 2022-07-08T07:52:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khayraad''' === Tarjumaad === * {{en}}: resource 21554 wikitext text/x-wiki {{-so-}} == Magac == '''khayraad''' === Tarjumaad === * {{en}}: resource gjjsr8taxop6lp1mupip8pb952t5rx5 naqshadeey 0 6325 22884 21555 2022-11-12T00:22:05Z Girligaanshub 3150 22884 wikitext text/x-wiki {{-so-}} == Magac == '''naqshadeey''' === Tarjumaad === * {{en}}: do the design 1ng6y8fi2m2kaodxul0xadn14j6veec naqshadeeynta 0 6326 27136 21556 2024-04-10T14:20:27Z Girligaanshub 3150 27136 wikitext text/x-wiki {{-so-}} == Magac == '''naqshadeeynta''' === Tarjumaad === * {{en}}: design ===Synonyms=== *[[kaabayaal]], [[dhismo]], [[naqshadeeynta]], [[naqshadeynta]] shewwaigftqwgdcxw8seuz4a5pyox4t naqshadeeye 0 6327 21557 2022-07-08T08:44:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naqshadeeye''' === Tarjumaad === * {{en}}: designer 21557 wikitext text/x-wiki {{-so-}} == Magac == '''naqshadeeye''' === Tarjumaad === * {{en}}: designer h59jls1hbpsaiueiz1tdyv33jlf5m8r yaxyaxsan 0 6328 21558 2022-07-08T12:30:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yaxyaxsan''' === Tarjumaad === * {{en}}: embarrassed 21558 wikitext text/x-wiki {{-so-}} == Magac == '''yaxyaxsan''' === Tarjumaad === * {{en}}: embarrassed 45daukuraql1xbht1yz7tkshq0mzqxx yaxyaxo 0 6329 21559 2022-07-08T12:31:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yaxyaxo''' === Tarjumaad === * {{en}}: embarrass, humiliate 21559 wikitext text/x-wiki {{-so-}} == Magac == '''yaxyaxo''' === Tarjumaad === * {{en}}: embarrass, humiliate i2ty8avmj1mtk90vkh3nvr0fc8osrxe yaxyax 0 6330 26415 26414 2023-12-18T21:04:54Z Girligaanshub 3150 26415 wikitext text/x-wiki {{-so-}} == Magac == '''yaxyax''' === Tarjumaad === * {{en}}: embarrassment, awkward, cringe ===Synonyms=== *[[isquuf]], [[shiix]], [[sirgax]], [[silloon]], [[qariib]], [[yaxyax]] 5k804o7x96j7clgl4iecasopbwb1uuv dhoolacadaynta 0 6331 21561 2022-07-08T12:35:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolacadaynta''' === Tarjumaad === * {{en}}: smiling 21561 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolacadaynta''' === Tarjumaad === * {{en}}: smiling 9dch0zvm6642qgdhajywkn0cyx8iqgv dhoolacaday 0 6332 21563 21562 2022-07-08T12:36:42Z Girligaanshub 3150 21563 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolacaday''' === Tarjumaad === * {{en}}: smile nd8is6rogpkrnd19w7omxtpyz5zhd4y dhoolacadaye 0 6333 21564 2022-07-08T12:40:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolacadaye''' === Tarjumaad === * {{en}}: smiler 21564 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolacadaye''' === Tarjumaad === * {{en}}: smiler cgat4wv4f3dgwdp6mmlw6ial51zs1l9 dhoolacadayahan 0 6334 21565 2022-07-08T12:41:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolacadayahan''' === Tarjumaad === * {{en}}: smiler 21565 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolacadayahan''' === Tarjumaad === * {{en}}: smiler hqw5x2xq4ew2oon65dclfz0ypf0a14a dhoolacadayn 0 6335 21566 2022-07-08T12:45:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolacadayn''' === Tarjumaad === * {{en}}: smile 21566 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolacadayn''' === Tarjumaad === * {{en}}: smile gwhzlc6tqjc0ri6teyv0xaoaqpztndk xiis 0 6336 29533 29532 2024-08-05T06:04:22Z Girligaanshub 3150 29533 wikitext text/x-wiki {{-so-}} == Magac == '''xiis''' === Tarjumaad === * {{en}}: curiosity, fascinating, fascination, interesting, curious ===Synonyms=== *[[danayn]], [[xiis]], [[xog-ogal]], [[xog-ogalka]] la8j0zybotzdfe3kxh7s2mu5n58fyd7 haanka 0 6337 25129 24431 2023-09-26T03:41:26Z Girligaanshub 3150 25129 wikitext text/x-wiki {{-so-}} == Magac == '''haanka''' === Tarjumaad === * {{en}}: vessel, jar * sentiment, ambition 3z71rpj6038pg7yb74uc32y3q7kgcxh abuure 0 6338 21569 2022-07-09T10:18:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abuure''' === Tarjumaad === * {{en}}: creator 21569 wikitext text/x-wiki {{-so-}} == Magac == '''abuure''' === Tarjumaad === * {{en}}: creator 38fmekkorcad56vb1147p9r99j3oz8j khilaaf 0 6339 31647 27426 2024-10-19T17:08:04Z Girligaanshub 3150 31647 wikitext text/x-wiki {{-so-}} == Magac == '''khilaaf''' === Tarjumaad === * {{en}}: controversy, disagreement ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] 08wqt95s06nzh9c32dg0gb4ohg92foc faasiq 0 6340 32062 25105 2024-10-28T00:07:06Z Girligaanshub 3150 32062 wikitext text/x-wiki {{-so-}} == Magac == '''faasiq''' === Tarjumaad === * {{en}}: repeat offender, career criminal, habitual criminal, habitual offender, repeat criminal, impulsive offender, impulsive criminal, accustomed offender, accustomed criminal, outlaw, fugitive, exile, pariah, villain ===Synonyms=== *[[budhcad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] mxa1g9mrj0d95j5bd7xpzdju88gmde8 diwaangeli 0 6341 24802 21572 2023-09-08T07:25:18Z Girligaanshub 3150 24802 wikitext text/x-wiki {{-so-}} == Magac == '''diwaangeli''' === Tarjumaad === * {{en}}: record, register, collection, collect oo5kvf7w8qt7nq5a6xi7ixs59aqe1ko yasitaan 0 6342 29338 21573 2024-08-01T15:03:15Z Girligaanshub 3150 29338 wikitext text/x-wiki {{-so-}} == Magac == '''yasitaan''' === Tarjumaad === * {{en}}: degradation, belittlement ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]], [[yasitaan]], [[yasid]] n913na7u4eso06yzu69ebocmarokd4m habboonada 0 6343 21574 2022-07-10T12:42:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habboonada''' === Tarjumaad === * {{en}}: appropriateness 21574 wikitext text/x-wiki {{-so-}} == Magac == '''habboonada''' === Tarjumaad === * {{en}}: appropriateness 80p32x127twoydcv8s8ytdn4hfem6hh khibrad 0 6344 31310 31306 2024-10-04T17:52:56Z Girligaanshub 3150 31310 wikitext text/x-wiki {{-so-}} == Magac == '''khibrad''' === Tarjumaad === * {{en}}: experience ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]], a2xq0xsw4fsvgsib9vnu9dnw6ktrtyr baaritaan 0 6345 24999 21576 2023-09-21T17:55:17Z Girligaanshub 3150 24999 wikitext text/x-wiki {{-so-}} == Magac == '''baaritaan''' === Tarjumaad === * {{en}}: research, exploration, investigation, analysis 8zrvwr8l0p63ij7r2ko9i1f0x3s83su caashaq 0 6346 28803 21577 2024-07-21T19:28:57Z Girligaanshub 3150 28803 wikitext text/x-wiki {{-so-}} == Magac == '''caashaq''' === Tarjumaad === * {{en}}: lover, love 6cy7qefjt0ipxs0up58tw4ucblzhijb caashaqo 0 6347 30748 21578 2024-09-13T01:08:01Z Girligaanshub 3150 30748 wikitext text/x-wiki {{-so-}} == Magac == '''caashaqo''' === Tarjumaad === * {{en}}: combine, conjoin, union, consolidate, attach, meld, link, bind, affix, adjoin, join, fuse, coalesce, merge, amalgamate, blend, * {{en}}: infatuate lwwxe7gm27doinq6qq19o54ktfj5cda digniin 0 6348 21579 2022-07-10T13:35:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''digniin''' === Tarjumaad === * {{en}}: warning 21579 wikitext text/x-wiki {{-so-}} == Magac == '''digniin''' === Tarjumaad === * {{en}}: warning dgzkdxlvxabvy710sv0q182f99cox5t maamule 0 6349 29699 28199 2024-08-08T05:10:49Z Girligaanshub 3150 29699 wikitext text/x-wiki {{-so-}} == Magac == '''maamule''' === Tarjumaad === * {{en}}: manager, administrator, supervisor ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[xeer-ilaaliye]], q4obogal2tu1z7yjr0ya5n7gdy80rbv aflagaado 0 6350 21581 2022-07-10T13:39:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aflagaado''' === Tarjumaad === * {{en}}: insult 21581 wikitext text/x-wiki {{-so-}} == Magac == '''aflagaado''' === Tarjumaad === * {{en}}: insult okwh96f67ajd243holjuqnurha9mfsv muqadasaadka 0 6351 21582 2022-07-10T13:41:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muqadasaadka''' === Tarjumaad === * {{en}}: holiness, veneration, sacredness 21582 wikitext text/x-wiki {{-so-}} == Magac == '''muqadasaadka''' === Tarjumaad === * {{en}}: holiness, veneration, sacredness 7cizsmkjesmnrmyoq4q88jd2ao9wf12 daruuri 0 6352 32678 32673 2024-11-30T09:00:02Z Girligaanshub 3150 32678 wikitext text/x-wiki {{-so-}} == Magac == '''daruuri''' === Tarjumaad === * {{en}}: necessary, necessity, must, essential, crucial, imperative, vital, mandatory, compulsory, compulsory, critical, ===Synonyms=== *[[daruuri]], [[waajibaad]], [[naahi]], ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ciirsan ]], [[daruuri]], [[ba'an]] 8om6uq0lcjo8ey2rww8oj4jzbctzhxu u-kaadi 0 6353 22550 21584 2022-09-27T23:03:57Z Girligaanshub 3150 Girligaanshub moved page [[ukaadi]] to [[u-kaadi]] 21584 wikitext text/x-wiki {{-so-}} == Magac == '''ukaadi''' === Tarjumaad === * {{en}}: hold on, wait, hang on, just a moment, bear with me, roaq9fxxl8nh61l85f13u1tb5592xxy asluub 0 6354 30658 28886 2024-09-10T22:23:44Z Girligaanshub 3150 30658 wikitext text/x-wiki {{-so-}} == Magac == '''asluub''' === Tarjumaad === * {{en}}: manners, etiquette, propriety, politeness ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] pp3row17fte9b1mmoox2wz6zzneovc7 maamulo 0 6355 28458 28309 2024-06-15T19:11:52Z Girligaanshub 3150 28458 wikitext text/x-wiki {{-so-}} == Magac == '''maamulo''' === Tarjumaad === * {{en}}: rule, manage, regulate ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] f5ckg7q6eecy1941plwuwyygh6tmh52 adeeci 0 6356 24772 24771 2023-09-05T23:26:57Z Girligaanshub 3150 24772 wikitext text/x-wiki {{-so-}} == Magac == '''adeeci''' === Tarjumaad === * {{en}}: loyal, submit 3gkxux41xt19anq4l142xm1h617700q adeeco 0 6357 24773 21588 2023-09-05T23:27:28Z Girligaanshub 3150 24773 wikitext text/x-wiki {{-so-}} == Magac == '''adeeco''' === Tarjumaad === * {{en}}: submit, loyal, loyalty 4b9hbpwko4fykowyxshpludai5fk548 wiilo 0 6358 21591 21590 2022-07-11T03:19:11Z Girligaanshub 3150 /* Tarjumaad */ 21591 wikitext text/x-wiki {{-so-}} == Magac == '''wiilo''' === Tarjumaad === * {{en}}: tomboy ==== Synonyms ==== * nimey fqsyp38rjrxat4qhz6nw5zosjf6rluo toban gu' 0 6359 25292 21592 2023-10-13T17:07:07Z Girligaanshub 3150 25292 wikitext text/x-wiki {{-so-}} == Magac == '''toban gu'yaal''' === Tarjumaad === * {{en}}: decade ===Synonyms=== *[[mudcaw]] 7gch90h48znh7gfukz2s8fxx8r31a12 toban gu'yaal 0 6360 21593 2022-07-11T03:31:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toban gu'yaal''' === Tarjumaad === * {{en}}: decade 21593 wikitext text/x-wiki {{-so-}} == Magac == '''toban gu'yaal''' === Tarjumaad === * {{en}}: decade rbts5io1yqwtdcb1w3viiezcopk3k1u galabso 0 6361 23186 21599 2023-03-12T03:36:45Z Girligaanshub 3150 23186 wikitext text/x-wiki {{-so-}} == Magac == '''galabso''' === Tarjumaad === * {{en}}: perpetrate, commit dm0id2wdt1zjxgmiowbakcpcbt0a2rg kalagoysyada 0 6362 21595 2022-07-11T03:54:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalagoysyada''' === Tarjumaad === * {{en}}: joints 21595 wikitext text/x-wiki {{-so-}} == Magac == '''kalagoysyada''' === Tarjumaad === * {{en}}: joints 3ujrlymwx0gyg9wxuzyvu2vg113dzpk kalagoys 0 6363 26864 26863 2024-02-29T06:52:47Z Girligaanshub 3150 26864 wikitext text/x-wiki {{-so-}} == Magac == '''kalagoys''' === Tarjumaad === * {{en}}: joint, joints ===Synonyms=== *[[hubung]], [[kalagoys]] 8a091c2y14s24sswb5ayurr95rt0c9e fasiro 0 6364 21597 2022-07-11T04:17:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fasiro''' === Tarjumaad === * {{en}}: interpret 21597 wikitext text/x-wiki {{-so-}} == Magac == '''fasiro''' === Tarjumaad === * {{en}}: interpret 2qojkn1ia7sgak4mnvp1gg8l0vcthup guunyo 0 6365 32253 21598 2024-11-04T05:31:02Z Girligaanshub 3150 32253 wikitext text/x-wiki {{-so-}} == Magac == '''guunyo''' === Tarjumaad === * {{en}}: livestock, prosperity, rla41na1sz01m0mjo2eh9zjkpviduqy nabsi 0 6366 21600 2022-07-11T05:06:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabsi''' === Tarjumaad === * {{en}}: karma 21600 wikitext text/x-wiki {{-so-}} == Magac == '''nabsi''' === Tarjumaad === * {{en}}: karma 9vgy4i2e300wux80uvi2k02l653qha2 geeraar 0 6367 28874 21601 2024-07-22T22:39:45Z Girligaanshub 3150 28874 wikitext text/x-wiki {{-so-}} == Magac == '''geeraar''' === Tarjumaad === * {{en}}: ballad, serenade a8ac6pgn0gqpovfufphj3vfxcdm7m6s User talk:Mahamud yasin 3 6368 21603 2022-07-11T15:13:00Z Mahamud yasin 3280 Bog cusub: Waxaan u isdicmaali si hufan si aan wax uga kororsado waxna ugu biiiryo 21603 wikitext text/x-wiki Waxaan u isdicmaali si hufan si aan wax uga kororsado waxna ugu biiiryo n6lcyj0xs3xxxnohps8fq08oxt59x0i tirtir 0 6369 21604 2022-07-11T16:13:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tirtir''' === Tarjumaad === * {{en}}: erase, remove 21604 wikitext text/x-wiki {{-so-}} == Magac == '''tirtir''' === Tarjumaad === * {{en}}: erase, remove kg9x6m8gb919ax5it7dgrrc0enid4t9 hagaaji 0 6370 31603 31284 2024-10-17T10:57:29Z Girligaanshub 3150 31603 wikitext text/x-wiki {{-so-}} == Magac == '''hagaaji''' === Tarjumaad === * {{en}}: fix, adjust, rectify, neaten, renovate ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]], [[tayeeyo]] sncfclrxf56owuyeedy6125hoqudi0t dulucda 0 6371 32481 32304 2024-11-16T19:44:09Z Girligaanshub 3150 32481 wikitext text/x-wiki {{-so-}} == Magac == '''dulucda''' === Tarjumaad === * {{en}}: overall, overview, prevalent theme, the gist of it, meaning, context, background, circumstance, condition, synopsis, outline, caption, situation, setting, scene, ===Synonyms=== *[[dulxaadis]], [[dulucda]], [[mawduuc]], [[qodob]] dutz54kowc7m7vuqsxf12zoz24m43pc qummanka 0 6372 21607 2022-07-12T15:05:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qummanka''' === Tarjumaad === * {{en}}: perfect 21607 wikitext text/x-wiki {{-so-}} == Magac == '''qummanka''' === Tarjumaad === * {{en}}: perfect knfo1ld4urtfdgvx0tjruj442lyegc9 baadisoocda 0 6373 21608 2022-07-12T15:28:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baadisoocda''' === Tarjumaad === * {{en}}: no man's land, 21608 wikitext text/x-wiki {{-so-}} == Magac == '''baadisoocda''' === Tarjumaad === * {{en}}: no man's land, nmovzgd6y6tpkol5pr5hu7y32kpzdrf aagga baadisooc 0 6374 23517 23516 2023-05-19T21:39:03Z Girligaanshub 3150 /* Synonyms */ 23517 wikitext text/x-wiki {{-so-}} == Magac == '''aagga baadisoocda''' === Tarjumaad === * {{en}}: no man's land, demilitarized zone, neutral zone, buffer zone, ===Synonyms=== *[[ilaxir]], [[shirmo]], [[aafti]] fa9rozujym7liduomeydqz4zx3rryqk baadisoocyahan 0 6375 21611 21610 2022-07-12T19:28:53Z Girligaanshub 3150 21611 wikitext text/x-wiki {{-so-}} == Magac == '''baadisoocyahan''' === Tarjumaad === * {{en}}: borderlander, no man's land inhabitant, demilitarized zone inhabitant, neutral zone inhabitant, buffer zone inhabitant 64m1yj4x1g82m0h63o5vd6cezzzrll7 baadisoociye 0 6376 23514 21612 2023-05-19T21:28:17Z Girligaanshub 3150 23514 wikitext text/x-wiki {{-so-}} == Magac == '''baadisoociye''' === Tarjumaad === * {{en}}: borderlander, no man's land inhabitant, demilitarized zone inhabitant, neutral zone inhabitant, buffer zone inhabitant ===Synonyms=== *[[ilaxir]], [[shirmo]] j9liomk4lsjk3n5rb8bicjy2pjgnvm9 hoylaawe 0 6377 21617 21613 2022-07-13T22:27:59Z Girligaanshub 3150 Girligaanshub moved page [[howlaawe]] to [[hoylaawe]] 21613 wikitext text/x-wiki {{-so-}} == Magac == '''hoylaawe''' === Tarjumaad === * {{en}}: homeless, shelterless 7fg6bg11bpofrpd2we6a9rkwjwgpb7g hoy 0 6378 32263 26695 2024-11-04T05:56:00Z Girligaanshub 3150 32263 wikitext text/x-wiki {{-so-}} == Magac == '''hoy''' === Tarjumaad === * {{en}}: abode * {{en}}: shelter, haven, retreat, sanctuary h1esi6t9sczz7lt5nkyo883szx6k5xt howlaawe 0 6379 21618 2022-07-13T22:27:59Z Girligaanshub 3150 Girligaanshub moved page [[howlaawe]] to [[hoylaawe]] 21618 wikitext text/x-wiki #REDIRECT [[hoylaawe]] 35u8jqe0aasx6tlgjf59s8ccpjcyemd aaminaad aakhirada 0 6380 21619 2022-07-13T22:29:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aaminaad aakhirada''' === Tarjumaad === * {{en}}: eschatological beliefs, religion, belief system 21619 wikitext text/x-wiki {{-so-}} == Magac == '''aaminaad aakhirada''' === Tarjumaad === * {{en}}: eschatological beliefs, religion, belief system 2cifo86mc7t0gp2d5zfa3p66ze5sgy3 rumaysad aakhirada 0 6381 21620 2022-07-13T22:30:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rumaysad aakhirada''' === Tarjumaad === * {{en}}: eschatological beliefs, religion, belief system 21620 wikitext text/x-wiki {{-so-}} == Magac == '''rumaysad aakhirada''' === Tarjumaad === * {{en}}: eschatological beliefs, religion, belief system s1ek8fp9lvfpvhsxtd84l4ybbrpbjxs koox-hooseed 0 6382 21621 2022-07-14T05:27:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koox-hooseed''' === Tarjumaad === * {{en}}: sub-group 21621 wikitext text/x-wiki {{-so-}} == Magac == '''koox-hooseed''' === Tarjumaad === * {{en}}: sub-group l1cxjo3htzbd8zriqjjb5rd0bt5m7ws seegmaweydo 0 6383 21622 2022-07-14T05:37:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''seegmaweydo''' === Tarjumaad === * {{en}}: consistent 21622 wikitext text/x-wiki {{-so-}} == Magac == '''seegmaweydo''' === Tarjumaad === * {{en}}: consistent huvjta3x5gvm7xdg4xtp4xwuvo4pgrz aaddanaan 0 6384 21624 21623 2022-07-14T05:39:53Z Girligaanshub 3150 21624 wikitext text/x-wiki {{-so-}} == Magac == '''aaddanaan''' === Tarjumaad === * {{en}}: correspondence, rapport qx8djx4rar4ack8fu85m10p38au0i2r fogaan 0 6385 31402 31389 2024-10-07T20:55:15Z Girligaanshub 3150 31402 wikitext text/x-wiki {{-so-}} == Magac == '''fogaan''' === Tarjumaad === * {{en}}: distance ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] 10pztd4s0dlqkxml9h5mficdw0m2t28 duur 0 6386 29234 23175 2024-07-31T03:01:06Z Girligaanshub 3150 29234 wikitext text/x-wiki {{-so-}} == Magac == '''duur''' === Tarjumaad === * {{en}}: bushes, forest, shrub, bushland tfhsfolejxzui7xdy59050g5yzgatrh duurjooge 0 6387 26842 26472 2024-02-27T03:58:16Z Girligaanshub 3150 26842 wikitext text/x-wiki {{-so-}} == Magac == '''duurjooge''' === Tarjumaad === * {{en}}: wild animal, wildlife, caveman, undomesticated ===Synonyms=== *[[lamagoodle]], [[duurjooge]], [[badow]], [[galaayuub]] 99ipiuceaxebwwj0f6mpwvbwzdt9wim hebel 0 6388 21628 2022-07-15T02:28:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hebel''' === Tarjumaad === * {{en}}: individual, fellow, person, character, chap 21628 wikitext text/x-wiki {{-so-}} == Magac == '''hebel''' === Tarjumaad === * {{en}}: individual, fellow, person, character, chap 291qhb06z0nyxfi2frlu1927imn29v5 mala-awaal 0 6389 30678 28645 2024-09-11T03:05:49Z Girligaanshub 3150 30678 wikitext text/x-wiki {{-so-}} == Magac == '''mala-awaal''' === Tarjumaad === * {{en}}: hypothetical, imagine, imagination, hypothesis, theory ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]], [[filasho]] 36s3jqefvh32tjhsuh5na7qehthh8y5 khaldaan 0 6390 30370 26671 2024-08-30T21:05:39Z Girligaanshub 3150 30370 wikitext text/x-wiki {{-so-}} == Magac == '''khaldaan''' === Tarjumaad === * {{en}}: uncultured, uncouth, coarse, boorish, crook, rogue, scoundrel, rascal, ===Synonyms=== *[[gacanbidixe]], [[khaldaan]], [[khaldame]], btsx7sari1be22y9dkmxdntg450ruvm dhoocilnimo 0 6391 21631 2022-07-15T18:40:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoocilnimo''' === Tarjumaad === * {{en}}: tomboyishness, butchness, hoydenism 21631 wikitext text/x-wiki {{-so-}} == Magac == '''dhoocilnimo''' === Tarjumaad === * {{en}}: tomboyishness, butchness, hoydenism fcv2nfeuga72in800d1cwaoa57lk57j mudane 0 6392 31225 31215 2024-10-04T14:41:39Z Girligaanshub 3150 31225 wikitext text/x-wiki {{-so-}} == Magac == '''mudane''' === Tarjumaad === * {{en}}: honourable, noble, esteemed, deserving ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], 75qozhebi98ondwg6pdccgdj7yh6jla baahida tixgelinta 0 6393 21633 2022-07-16T08:30:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahida tixgelinta''' === Tarjumaad === * {{en}}: narcissistic supply, narcissistic ego booster, narcissistic life energy, narcissistic positive and negative attention, narcissistic positive and negative validation, emotional neediness 21633 wikitext text/x-wiki {{-so-}} == Magac == '''baahida tixgelinta''' === Tarjumaad === * {{en}}: narcissistic supply, narcissistic ego booster, narcissistic life energy, narcissistic positive and negative attention, narcissistic positive and negative validation, emotional neediness 9w01mmhpjvsr6ex1ni6b61wznaalffn baahida tixgelin 0 6394 21634 2022-07-16T08:30:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahida tixgelin''' === Tarjumaad === * {{en}}: narcissistic supply, narcissistic ego booster, narcissistic life energy, narcissistic positive and negative attention, narcissistic positive and negative validation, emotional neediness 21634 wikitext text/x-wiki {{-so-}} == Magac == '''baahida tixgelin''' === Tarjumaad === * {{en}}: narcissistic supply, narcissistic ego booster, narcissistic life energy, narcissistic positive and negative attention, narcissistic positive and negative validation, emotional neediness a4b8u3vr7quommv5bae13q24a4j7en7 garaac 0 6395 30599 21635 2024-09-08T03:51:31Z Girligaanshub 3150 30599 wikitext text/x-wiki {{-so-}} == Magac == '''garaac''' === Tarjumaad === * {{en}}: beat, hit, smack ===Synonyms=== *[[garaac]], [[tumo]], [[bukeey]], [[babdhab]], [[karbaash]], 4jqh2ekr63fogw3p5azqgq0ncq0dq1r wadarta 0 6396 21636 2022-07-17T19:40:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadarta''' === Tarjumaad === * {{en}}: totality 21636 wikitext text/x-wiki {{-so-}} == Magac == '''wadarta''' === Tarjumaad === * {{en}}: totality gtucvaox6teurie782gw0sy1fc456w3 wacyi 0 6397 23062 21637 2023-01-21T00:50:45Z Girligaanshub 3150 23062 wikitext text/x-wiki {{-so-}} == Magac == '''wacyi''' === Tarjumaad === * {{en}}: awareness, aware 8t7rc3kkfgg9l6bx6n4v7yw4qzyctz5 oomanenimo 0 6398 21638 2022-07-18T17:45:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomanenimo''' === Tarjumaad === * {{en}}: dry soil, aridness, parchedness, torridness, soil infertility, soil barrenness, 21638 wikitext text/x-wiki {{-so-}} == Magac == '''oomanenimo''' === Tarjumaad === * {{en}}: dry soil, aridness, parchedness, torridness, soil infertility, soil barrenness, pt0ksgxu478w00mu620ajxkiwjevkjw tiiraanyo 0 6399 32006 32000 2024-10-27T02:47:49Z Girligaanshub 3150 32006 wikitext text/x-wiki {{-so-}} == Magac == '''tiiraanyo''' === Tarjumaad === * {{en}}: bitterness, resentment, sad, sadness ===Synonyms=== *[[hungoobo]], [[tiiraanyo]], [[murugaysan]], [[diilalyo]], [[marooradilaac]], 6tdgmp8nq0p8nuj88xf4umrl937av3j duuleedka 0 6400 21640 2022-07-19T00:36:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duuleedka''' === Tarjumaad === * {{en}}: surroundings 21640 wikitext text/x-wiki {{-so-}} == Magac == '''duuleedka''' === Tarjumaad === * {{en}}: surroundings k5yxqbibvv65iyvl8cr82y1ki3wydcc koolkoolin 0 6401 31826 27722 2024-10-25T21:35:20Z Girligaanshub 3150 31826 wikitext text/x-wiki {{-so-}} == Magac == '''koolkoolin''' === Tarjumaad === * {{en}}: infantilize, fawning, coddling, flatter, eulogize, smoodge, flatter, pamper, cosset, pandering, gratification, lullaby ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], a681bccdw3k3np4dnpdufqbrv457rxn waayo-aragnimada 0 6402 32292 28613 2024-11-07T17:35:45Z Girligaanshub 3150 32292 wikitext text/x-wiki {{-so-}} == Magac == '''waayo-aragnimada''' === Tarjumaad === * {{en}}: epistemology, experience, insight ===Synonyms=== *[[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waayo-aragnimada]] sn8d26t72mwyl4i13ktnr52c23dlws9 marfuucal qalamka 0 6403 21643 2022-07-19T23:57:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marfucal qalamka''' === Tarjumaad === * {{en}}: non-volition (due to hypnosis, somnambulism/sleepwalking, automatism, reflext, convusion, insanity, or infantile age), blameless, non-accountable, non-responsibility, crime-exempt, law-exempt, insanity defense, diminished responsibility, diminished responsibility, Non compos mentis, 21643 wikitext text/x-wiki {{-so-}} == Magac == '''marfucal qalamka''' === Tarjumaad === * {{en}}: non-volition (due to hypnosis, somnambulism/sleepwalking, automatism, reflext, convusion, insanity, or infantile age), blameless, non-accountable, non-responsibility, crime-exempt, law-exempt, insanity defense, diminished responsibility, diminished responsibility, Non compos mentis, jocp1bjrsf8tf69wfo2orbbm3vcxsvs mucjiso 0 6404 21644 2022-07-20T12:23:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mucjiso''' === Tarjumaad === * {{en}}: miracle 21644 wikitext text/x-wiki {{-so-}} == Magac == '''mucjiso''' === Tarjumaad === * {{en}}: miracle nb8p4ddbrwesgc2hnudfovfllzjjpzz murugo 0 6405 21645 2022-07-20T12:23:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murugo''' === Tarjumaad === * {{en}}: sadness 21645 wikitext text/x-wiki {{-so-}} == Magac == '''murugo''' === Tarjumaad === * {{en}}: sadness qh9y20t39ej619y6305olsogjp4y9r9 halis 0 6406 24000 21649 2023-07-21T03:44:19Z Girligaanshub 3150 24000 wikitext text/x-wiki {{-so-}} == Magac == '''halis''' === Tarjumaad === * {{en}}: risk, risky, danger 71yrskjs9q5pc3uuis5d2s23hi75amj faahfaahin 0 6407 21650 2022-07-20T15:30:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faahfaahin''' === Tarjumaad === * {{en}}: details, description 21650 wikitext text/x-wiki {{-so-}} == Magac == '''faahfaahin''' === Tarjumaad === * {{en}}: details, description frqa154hnsjs5wtede2f2pexozw4wtw cambaaro 0 6408 31998 29371 2024-10-27T02:32:10Z Girligaanshub 3150 31998 wikitext text/x-wiki {{-so-}} == Magac == '''cambaareey''' === Tarjumaad === * {{en}}: criticize, accuse, ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[arami]], [[baroor]], [[dhaliil]] 4ggohfi79ynxbfkegf0woqee1vrg43i ijma 0 6409 21652 2022-07-21T20:39:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ijma''' === Tarjumaad === * {{en}}: consensus 21652 wikitext text/x-wiki {{-so-}} == Magac == '''ijma''' === Tarjumaad === * {{en}}: consensus 84g9tpvk237sb1ncl3dmbsbuyp853qs waafaq 0 6410 23360 21653 2023-04-26T02:51:45Z Girligaanshub 3150 23360 wikitext text/x-wiki {{-so-}} == Magac == '''waafaq''' === Tarjumaad === * {{en}}: agree, conform 8ygkuyprmb00ht950dhm2phmtboduqy waafaqsan 0 6411 23361 21654 2023-04-26T02:52:48Z Girligaanshub 3150 23361 wikitext text/x-wiki {{-so-}} == Magac == '''waafaqsan''' === Tarjumaad === * {{en}}: agreed, conform, conforming, i3m9b8ff7xhg4u8damdrdttype258kt waafaqsanaan 0 6412 26787 23362 2024-02-14T05:58:50Z Girligaanshub 3150 26787 wikitext text/x-wiki {{-so-}} == Magac == '''waafaqsanaan''' === Tarjumaad === * {{en}}: agreement, conformity ===Synonyms=== *[[af-garasho]], [[gacansaar]], [[waafaqsanaan]], [[waafaq]], [[qowl]] l3nyair0l8nt1qovo6rqtf5mz6ogsog waxyi 0 6413 21656 2022-07-21T20:51:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waxyi''' === Tarjumaad === * {{en}}: revelation 21656 wikitext text/x-wiki {{-so-}} == Magac == '''waxyi''' === Tarjumaad === * {{en}}: revelation 18ohauavd1r9ut9pb9krpsipzxmox7t fadlan 0 6414 30860 24354 2024-09-22T17:59:43Z Girligaanshub 3150 30860 wikitext text/x-wiki {{-so-}} == Magac == '''fadlan''' === Tarjumaad === * {{en}}: please, kindly, warmly, welcome ===Synonyms=== *[[sagooti]], [[fadlan]], [[martigeli]] kam0ueey9mdkqnh4xuercu0p98mcayk bililiqaysan 0 6415 21660 2022-07-21T22:42:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bililiqaysan''' === Tarjumaad === * {{en}}: plundered, looted 21660 wikitext text/x-wiki {{-so-}} == Magac == '''bililiqaysan''' === Tarjumaad === * {{en}}: plundered, looted 7ueftdn01cii15uf37331t2wr2qpi8b risaal 0 6416 21661 2022-07-21T22:55:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''risaal''' === Tarjumaad === * {{en}}: message 21661 wikitext text/x-wiki {{-so-}} == Magac == '''risaal''' === Tarjumaad === * {{en}}: message 1imh8szgqrrst526m87u6vxvw3w1hb9 risaalo 0 6417 21662 2022-07-21T22:55:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''risaalo''' === Tarjumaad === * {{en}}: messages 21662 wikitext text/x-wiki {{-so-}} == Magac == '''risaalo''' === Tarjumaad === * {{en}}: messages oclgohzzvz719j7ajwxkg6xcba1ll7f idil 0 6418 32511 26738 2024-11-18T10:50:38Z Girligaanshub 3150 32511 wikitext text/x-wiki {{-so-}} == Magac == '''idil''' === Tarjumaad === * {{en}}: perfect ===Synonyms=== *[[toolmoon]], [[idil]], [[dheylan]], [[qumman]] mwwmnrw8t05mgx6vyd4nl58shewzoxc qudbo sireed 0 6419 24565 21664 2023-09-02T13:50:03Z Girligaanshub 3150 24565 wikitext text/x-wiki {{-so-}} == Magac == '''qudbo sireed''' === Tarjumaad === * {{en}}: elopement ===Synonyms=== *[[masaafo]] 09ieojfbmtp5y93sdijomuijbp3wcwk xigsiisan 0 6420 21665 2022-07-22T00:23:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xigsiisan''' === Tarjumaad === * {{en}}: sororal polygamy, fraternal polygamy, sororal polygyny, fraternal polyandry 21665 wikitext text/x-wiki {{-so-}} == Magac == '''xigsiisan''' === Tarjumaad === * {{en}}: sororal polygamy, fraternal polygamy, sororal polygyny, fraternal polyandry ls545je3kup5pvlvqwn5kxb6v5p7rt4 hiigsiisan 0 6421 21666 2022-07-22T00:23:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiigsiisan''' === Tarjumaad === * {{en}}: sororal polygamy, fraternal polygamy, sororal polygyny, fraternal polyandry 21666 wikitext text/x-wiki {{-so-}} == Magac == '''hiigsiisan''' === Tarjumaad === * {{en}}: sororal polygamy, fraternal polygamy, sororal polygyny, fraternal polyandry 4z6frb9qoudkwupvw3dtyp6skx32a0e qooqlaawenimo 0 6422 21667 2022-07-22T00:24:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqlaawenimo''' === Tarjumaad === * {{en}}: asexuality 21667 wikitext text/x-wiki {{-so-}} == Magac == '''qooqlaawenimo''' === Tarjumaad === * {{en}}: asexuality 737e7rndcvary29loof3ux7aniu4xe0 aargud 0 6423 21668 2022-07-22T03:23:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aargud''' === Tarjumaad === * {{en}}: avenge, vengeance, 21668 wikitext text/x-wiki {{-so-}} == Magac == '''aargud''' === Tarjumaad === * {{en}}: avenge, vengeance, 4nud731oa8ilu3qz5tr4zzua0i5wikf dareenlaawe 0 6424 21669 2022-07-22T04:26:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dareenlaawe''' === Tarjumaad === * {{en}}: asexual 21669 wikitext text/x-wiki {{-so-}} == Magac == '''dareenlaawe''' === Tarjumaad === * {{en}}: asexual 92dzq20esthjwjt08bnzbmwait02p59 kacsilaawe 0 6425 21670 2022-07-22T04:27:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kacsilaawe''' === Tarjumaad === * {{en}}: asexual 21670 wikitext text/x-wiki {{-so-}} == Magac == '''kacsilaawe''' === Tarjumaad === * {{en}}: asexual 9jbhci5tg2px8w4b74bbtidmgkth8k4 apina 0 6426 21675 2022-07-22T13:53:49Z 86.114.191.253 Bog cusub: {{-fi-}} === Eray magaceed === '''apina''' [[daayeer]] 21675 wikitext text/x-wiki {{-fi-}} === Eray magaceed === '''apina''' [[daayeer]] d5kbimwwhir99zxgpm0r1tslaxy69ko substantiivi 0 6427 21676 2022-07-22T13:57:55Z 86.114.191.253 Bog cusub: {{-fi-}} === Eray magaceed === '''substantiivi''' [[eray magaceed]] 21676 wikitext text/x-wiki {{-fi-}} === Eray magaceed === '''substantiivi''' [[eray magaceed]] g82s0zrpcmo4aqlyj0k0glhqgawi1jo vitsikäs 0 6428 21677 2022-07-22T14:00:39Z 86.114.191.253 Bog cusub: {{-fi-}} === Sifo === '''vitsikäs''' [[maad leh]] 21677 wikitext text/x-wiki {{-fi-}} === Sifo === '''vitsikäs''' [[maad leh]] aevagw247xatbhdxw4zfbh9aa62624k maan-idil 0 6429 24271 21682 2023-08-16T00:26:13Z Girligaanshub 3150 24271 wikitext text/x-wiki {{-so-}} == Magac == '''maan-idil''' === Tarjumaad === * {{en}}: perfect mind, flow psychology, flow state, zone psychology, zone state, in the zone, wired in state, hyperfocus, ===Synonyms=== *[[maandeeq]] go14ezgcw67t988g3aq47r2u434l72g geenyo 0 6430 21683 2022-07-23T00:17:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geenyo''' === Tarjumaad === * {{en}}: mare, female horse 21683 wikitext text/x-wiki {{-so-}} == Magac == '''geenyo''' === Tarjumaad === * {{en}}: mare, female horse 1qho1swlg3azuepcaxdzj6awaken2qc xirfadle 0 6431 21684 2022-07-23T02:17:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xirfadle''' === Tarjumaad === * {{en}}: professional 21684 wikitext text/x-wiki {{-so-}} == Magac == '''xirfadle''' === Tarjumaad === * {{en}}: professional 4lwfsp4qmo9bbzsvpfk61217jhsx2mk astaan 0 6432 24987 21685 2023-09-21T17:19:25Z Girligaanshub 3150 24987 wikitext text/x-wiki {{-so-}} == Magac == '''astaan''' === Tarjumaad === * {{en}}: punctuation k75d2z0mni38d6woscywn34iy3c7196 astaamaha 0 6433 21686 2022-07-23T07:58:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''astaamaha''' === Tarjumaad === * {{en}}: characteristics, traits, attributes, features, qualities, facets, hallmarks, peculiarities, penchants 21686 wikitext text/x-wiki {{-so-}} == Magac == '''astaamaha''' === Tarjumaad === * {{en}}: characteristics, traits, attributes, features, qualities, facets, hallmarks, peculiarities, penchants sqw2vk96vtlt4qq8us6zotwbgznmb0d ari 0 6434 27789 21687 2024-05-28T16:35:40Z Girligaanshub 3150 27789 wikitext text/x-wiki {{-so-}} == Magac == '''ari''' === Tarjumaad === * {{en}}: goat & sheep (collectively), caprinae, caprini, caprine m7j6ux4vcr0poicfut1wpl9go10a1cs foorneysan 0 6435 21688 2022-07-23T16:54:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foorneysan''' === Tarjumaad === * {{en}}: roasted 21688 wikitext text/x-wiki {{-so-}} == Magac == '''foorneysan''' === Tarjumaad === * {{en}}: roasted ftii8zfeg15i3vlxjecwd5nafc2jjvc barruur 0 6436 21689 2022-07-24T19:46:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barruur''' === Tarjumaad === * {{en}}: fat 21689 wikitext text/x-wiki {{-so-}} == Magac == '''barruur''' === Tarjumaad === * {{en}}: fat 3hgdsnp4ep81vaxipol1go6e59wbmw3 daandaansiga 0 6437 25635 21690 2023-10-31T01:34:15Z Girligaanshub 3150 25635 wikitext text/x-wiki {{-so-}} == Magac == '''daandaansiga''' === Tarjumaad === * {{en}}: provocation ===Synonyms=== *[[cariiqsad]], [[daandaansi]] ccd1qr6praulokl54nsfzzz94hb4rqn quusid 0 6438 21691 2022-07-25T00:41:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quusid''' === Tarjumaad === * {{en}}: dive 21691 wikitext text/x-wiki {{-so-}} == Magac == '''quusid''' === Tarjumaad === * {{en}}: dive 025lacxtfdb633oa8cqapwtz6n2thlm qayal 0 6439 21692 2022-07-25T00:42:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qayal''' === Tarjumaad === * {{en}}: highlight, highlighter 21692 wikitext text/x-wiki {{-so-}} == Magac == '''qayal''' === Tarjumaad === * {{en}}: highlight, highlighter fvdvad2ml4ttnreorvbn5kewimjd8x1 sambabo 0 6440 28553 28551 2024-06-17T20:40:50Z Girligaanshub 3150 28553 wikitext text/x-wiki {{-so-}} == Magac == '''sambabo''' === Tarjumaad === * {{en}}: lungs a3dnwrmisbzfk74rqpoqn3pxelmp7ce shinni 0 6441 32852 21694 2024-12-02T19:13:08Z ВМНС 5070 32852 wikitext text/x-wiki {{-so-}} == Magac == '''shinni''' === Tarjumaad === * {{en}}: bee [[Category:Soomaali ereyada-shi]] qpunl407lkqh2izoadhe1mobb2bew02 timojare 0 6442 29780 21695 2024-08-12T00:43:18Z Girligaanshub 3150 29780 wikitext text/x-wiki {{-so-}} == Magac == '''timojare''' === Tarjumaad === * {{en}}: hairdresser, barber la8mf8bdg1nlf6wfwh97oz6v3paae2y xaraash 0 6443 21696 2022-07-25T00:57:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaraash''' === Tarjumaad === * {{en}}: auction, clearance sale 21696 wikitext text/x-wiki {{-so-}} == Magac == '''xaraash''' === Tarjumaad === * {{en}}: auction, clearance sale idjvyu1dtq0jm7493icvq24tpfzr27x iibiye 0 6444 21697 2022-07-25T00:57:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iibiye''' === Tarjumaad === * {{en}}: salesperson, salesman 21697 wikitext text/x-wiki {{-so-}} == Magac == '''iibiye''' === Tarjumaad === * {{en}}: salesperson, salesman kfc878vhn3ncdhnpjjqeygxwvqz1lt6 badbaadi 0 6445 32372 28075 2024-11-11T22:11:54Z Girligaanshub 3150 32372 wikitext text/x-wiki {{-so-}} == Magac == '''badbaadi''' === Tarjumaad === * {{en}}: save, rescue ===Synonyms=== *[[samata saar]], [[samata bixi]], [[badbaadi]], [[kaydi]], duyks7dlgvxl8wenjhxf8009egfa5xm dheecaan 0 6446 21699 2022-07-25T01:02:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheecaan''' === Tarjumaad === * {{en}}: sap, secretion, 21699 wikitext text/x-wiki {{-so-}} == Magac == '''dheecaan''' === Tarjumaad === * {{en}}: sap, secretion, ov1dw0ntomum5m7z3l3sj1wm9ubo7r7 kajan 0 6447 21700 2022-07-25T01:04:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kajan''' === Tarjumaad === * {{en}}: irony, sarcasm 21700 wikitext text/x-wiki {{-so-}} == Magac == '''kajan''' === Tarjumaad === * {{en}}: irony, sarcasm 3ai1s5wddhsvkguwtw4omglpxxviwbm waxshinimo 0 6448 21701 2022-07-25T01:15:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waxshinimo''' === Tarjumaad === * {{en}}: savagery, inhumanity, barbarism, sadism, wickedness 21701 wikitext text/x-wiki {{-so-}} == Magac == '''waxshinimo''' === Tarjumaad === * {{en}}: savagery, inhumanity, barbarism, sadism, wickedness lob3712l1p0wsikwmvdcul489wt4568 miishaar 0 6449 21702 2022-07-25T01:16:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miishaar''' === Tarjumaad === * {{en}}: saw 21702 wikitext text/x-wiki {{-so-}} == Magac == '''miishaar''' === Tarjumaad === * {{en}}: saw bgdcbcdcx077t4mzbm1l8zd4er4bhw6 fadeexo 0 6450 32560 26024 2024-11-22T09:07:53Z Girligaanshub 3150 32560 wikitext text/x-wiki {{-so-}} == Magac == '''fadeexo''' === Tarjumaad === * {{en}}: scandalize ===Synonyms=== *[[fadeexo]], [[bayuur]], [[dullaysan]] 00u3773jsi5mtao78sulhdigzddk9ko mala-awaalnimo 0 6451 21704 2022-07-25T23:44:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mala-awaalnimo''' === Tarjumaad === * {{en}}: hypotheticalness, abstractness, presumptuousness, presumptiveness, speculation, 21704 wikitext text/x-wiki {{-so-}} == Magac == '''mala-awaalnimo''' === Tarjumaad === * {{en}}: hypotheticalness, abstractness, presumptuousness, presumptiveness, speculation, nwxx48pwom58jm6oal39hm1u5dmqgwb mala-awaalo 0 6452 21705 2022-07-25T23:46:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mala-awaalo''' === Tarjumaad === * {{en}}: hypothesize, speculate, conjecture, imagine, 21705 wikitext text/x-wiki {{-so-}} == Magac == '''mala-awaalo''' === Tarjumaad === * {{en}}: hypothesize, speculate, conjecture, imagine, e9iifgvjx4q5lphly13uc5v8tl7sa06 mala-awaale 0 6453 21706 2022-07-25T23:49:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mala-awaale''' === Tarjumaad === * {{en}}: hypothesist, speculator, theorist, 21706 wikitext text/x-wiki {{-so-}} == Magac == '''mala-awaale''' === Tarjumaad === * {{en}}: hypothesist, speculator, theorist, gmvik7vedqdlqtsx8orh89i5l9z3zy5 ahmiyado 0 6454 31602 21707 2024-10-17T08:04:16Z Girligaanshub 3150 31602 wikitext text/x-wiki {{-so-}} == Magac == '''ahmiyado''' === Tarjumaad === * {{en}}: signify, emphasize f3cnuoax6fqulg5hmgw4ez5niwk5s4z magangal 0 6455 31704 27209 2024-10-21T00:00:57Z Girligaanshub 3150 31704 wikitext text/x-wiki {{-so-}} == Magac == '''magangal''' === Tarjumaad === * {{en}}: hands up surrender, rebuke, seek refuge from, protectorate ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], *[[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] clco0ssiywb1b0i19k36qpxsmnm6y71 weysado 0 6456 21709 2022-07-26T23:46:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weysado''' === Tarjumaad === * {{en}}: wudhu, ghusl, baptize, ablution, ritually cleanse, ritually purify, seek refuge from 21709 wikitext text/x-wiki {{-so-}} == Magac == '''weysado''' === Tarjumaad === * {{en}}: wudhu, ghusl, baptize, ablution, ritually cleanse, ritually purify, seek refuge from pzk9t0inpo5zkiamqixmk4r8a0oa716 cawrada 0 6457 23271 21710 2023-04-14T18:14:14Z Girligaanshub 3150 23271 wikitext text/x-wiki {{-so-}} == Magac == '''cawrada''' === Tarjumaad === * {{en}}: genitalia, private parts 5sdg614beaxeljkkqao2y9mbun3406f manida 0 6458 21711 2022-07-26T23:55:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''manida''' === Tarjumaad === * {{en}}: semen, sperm, vaginal lubrication, grool, girl drool, pussy juice, vaginal fluid 21711 wikitext text/x-wiki {{-so-}} == Magac == '''manida''' === Tarjumaad === * {{en}}: semen, sperm, vaginal lubrication, grool, girl drool, pussy juice, vaginal fluid 61dczhdmog0nusb2fvj6vn7p6dqo9xj shahwada 0 6459 32344 21712 2024-11-09T21:58:28Z Girligaanshub 3150 32344 wikitext text/x-wiki {{-so-}} == Magac == '''manida''' === Tarjumaad === * {{en}}: testosterone * {{en}}: semen, sperm, vaginal lubrication, grool, girl drool, pussy juice, vaginal fluid, female ejaculation o3v61qn1e7qa6um2abp6bids1v2wncy janaabo 0 6460 21713 2022-07-27T00:15:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''janaabo''' === Tarjumaad === * {{en}}: ritual impurity, 21713 wikitext text/x-wiki {{-so-}} == Magac == '''janaabo''' === Tarjumaad === * {{en}}: ritual impurity, pe6qz7tu6mv88e2hjri8kby2lq0osm3 daahir 0 6461 21714 2022-07-27T00:15:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahir''' === Tarjumaad === * {{en}}: pure 21714 wikitext text/x-wiki {{-so-}} == Magac == '''daahir''' === Tarjumaad === * {{en}}: pure c1tn4db9s4xmr4l0fc0b3jjgvkwbura is-daahir 0 6462 21715 2022-07-27T00:17:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-daahir''' === Tarjumaad === * {{en}}: ritually self-cleanse, ritually self-purify, 21715 wikitext text/x-wiki {{-so-}} == Magac == '''is-daahir''' === Tarjumaad === * {{en}}: ritually self-cleanse, ritually self-purify, cyls9iejscazq3fzq51i5o4hfg4161f isdaahirka 0 6463 23499 21716 2023-05-18T21:23:28Z Girligaanshub 3150 23499 wikitext text/x-wiki {{-so-}} == Magac == '''isdaahirka''' === Tarjumaad === * {{en}}: self-cleansing, self-purification, self-sanitization, self-disinfect, [[wudhu]], [[ghusl]], baptize, ablution, ritually cleanse, ritually purify, seek refuge from, purify ogo7dl9nswum5sk1y2uplifg7v0s828 markhaati 0 6464 21717 2022-07-27T23:00:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''markhaati''' === Tarjumaad === * {{en}}: witness 21717 wikitext text/x-wiki {{-so-}} == Magac == '''markhaati''' === Tarjumaad === * {{en}}: witness 39n8jr7vzims267sm8qwn82u33dwx20 ikhtiyaar 0 6465 28183 24260 2024-06-12T19:28:46Z Girligaanshub 3150 28183 wikitext text/x-wiki {{-so-}} == Magac == '''ikhtiyaar''' === Tarjumaad === * {{en}}: autonomy, bodily integrity, physical autonomy, self-determination, self-ownership, individual sovereignty, volition, free will, liberty, self-determination, independence, choice, ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] k4patqvalxeg30zbeeqzlqm2369wipm sacbi 0 6466 21719 2022-07-28T00:47:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sacbi''' === Tarjumaad === * {{en}}: clapping, applause, cheering, acclamation, accolades, acclaim, commendation, ovation, 21719 wikitext text/x-wiki {{-so-}} == Magac == '''sacbi''' === Tarjumaad === * {{en}}: clapping, applause, cheering, acclamation, accolades, acclaim, commendation, ovation, o7vw2s05i8ol969g581dr9g3blmt1fk sacbiga 0 6467 21720 2022-07-28T00:49:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sacbiga''' === Tarjumaad === * {{en}}: clapping, applause, cheering, acclamation, accolades, acclaim, commendation, ovation, express appreciation 21720 wikitext text/x-wiki {{-so-}} == Magac == '''sacbiga''' === Tarjumaad === * {{en}}: clapping, applause, cheering, acclamation, accolades, acclaim, commendation, ovation, express appreciation 4x9n529h7w34dvgpg4q4mfmqh2xq04f daruur 0 6468 21721 2022-07-28T00:50:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daruur''' === Tarjumaad === * {{en}}: cloud 21721 wikitext text/x-wiki {{-so-}} == Magac == '''daruur''' === Tarjumaad === * {{en}}: cloud eufgl8hsngjjhz8hhm1xtmjmvm256mr midab 0 6469 21722 2022-07-28T00:51:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''midab''' === Tarjumaad === * {{en}}: colour 21722 wikitext text/x-wiki {{-so-}} == Magac == '''midab''' === Tarjumaad === * {{en}}: colour fc9i7hdagl5niwmil2y6rn4yhqcifgy caqligal 0 6470 21723 2022-07-28T00:52:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caqligal''' === Tarjumaad === * {{en}}: common sense, logic 21723 wikitext text/x-wiki {{-so-}} == Magac == '''caqligal''' === Tarjumaad === * {{en}}: common sense, logic 3ts04evoat6u3f80k7rc9135n6zzrux barbardhig 0 6471 28820 28599 2024-07-21T20:28:57Z Girligaanshub 3150 28820 wikitext text/x-wiki {{-so-}} == Magac == '''barbardhig''' === Tarjumaad === * {{en}}: compare ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] nxaa9lmn73m8ob6l7gzi6u54lz6ki4k hambalyo 0 6472 28069 27785 2024-06-08T22:48:21Z Girligaanshub 3150 28069 wikitext text/x-wiki {{-so-}} == Magac == '''hambalyo''' === Tarjumaad === * {{en}}: congratulations, congratulate, jubilation, exultation, rejoice, rejoicing, elation, elate, cheer, euphoria, exhilaration, delirium, ecstasy, delight, exuberance, glory, triumph, celebration, revelry, merrymaking, festivity, feasting, crowing, gloating ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] mq066uncksexa36xrh0gnfvry6pgbil dhugmo 0 6473 26121 24799 2023-11-30T23:05:38Z Girligaanshub 3150 26121 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmo''' === Tarjumaad === * {{en}}: attention, focus, zoom, hone in, pinpoint, fixate ===Synonyms=== *[[dhugmo]], [[soohdinta]], [[riya']], [[tookh]] 1x58cbbnwvdkxznu7wvih6304wg0wky dhugmo-raadis 0 6474 23597 21727 2023-05-21T18:01:48Z Girligaanshub 3150 23597 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmo-raadis''' === Tarjumaad === * {{en}}: attention-seeking, histrionic ti7bfnu8x3rt59t0a2rjt8nqf6y6sv6 dhugmo-doon 0 6475 23596 21728 2023-05-21T18:01:37Z Girligaanshub 3150 23596 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmo-doon''' === Tarjumaad === * {{en}}: attention-seeking, histrionic nfnnrvx427uaq2ckhh0b9aebgj9p8jz gole 0 6476 29988 28353 2024-08-18T15:26:32Z Girligaanshub 3150 29988 wikitext text/x-wiki {{-so-}} == Magac == '''gole''' === Tarjumaad === * {{en}}: assembly of men ===Synonyms=== *[[shirwac]], [[shire]], [[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], orhhtux7ivz58is9txk25dc4edj63e1 Goleweyne 0 6477 21730 2022-07-28T01:03:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Gole-weyne''' === Tarjumaad === * {{en}}: big assembly * Darawiish & Dhulbahante faction 21730 wikitext text/x-wiki {{-so-}} == Magac == '''Gole-weyne''' === Tarjumaad === * {{en}}: big assembly * Darawiish & Dhulbahante faction 3i4p41fu53xlz00x4nqmesmhbb5qwsh halis weyn 0 6478 21731 2022-07-28T01:05:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halis weyn''' === Tarjumaad === * {{en}}: big risk, hazardous, perilous 21731 wikitext text/x-wiki {{-so-}} == Magac == '''halis weyn''' === Tarjumaad === * {{en}}: big risk, hazardous, perilous chhx0z43twjyq68kk0tuddzpba8kr2e tusaale 0 6479 21732 2022-07-28T03:11:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tusaale''' === Tarjumaad === * {{en}}: example, role model 21732 wikitext text/x-wiki {{-so-}} == Magac == '''tusaale''' === Tarjumaad === * {{en}}: example, role model b42rhxvkm930f2xr4kjplx9is4r5t3l haldoorka 0 6480 21733 2022-07-28T03:17:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haldoor''' === Tarjumaad === * {{en}}: representative, community representative, role model, trendsetter, mentor, exemplar, torchbearer, 21733 wikitext text/x-wiki {{-so-}} == Magac == '''haldoor''' === Tarjumaad === * {{en}}: representative, community representative, role model, trendsetter, mentor, exemplar, torchbearer, ogri0p9zzwboqcio8ysepy41vmkp58s baari 0 6481 28817 28596 2024-07-21T20:28:21Z Girligaanshub 3150 28817 wikitext text/x-wiki {{-so-}} == Magac == '''baari''' === Tarjumaad === * {{en}}: agoraphobic, agoraphobia * {{en}}: domestic, tame, homely, * {{en}}: compliant to parents, submissive to parents, ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]], [[baari]], [[sokeeye]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] rwkhxq8nif39nb31h939wktx18hpy25 baarinimo 0 6482 21735 2022-07-28T05:45:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baarinimo''' === Tarjumaad === * {{en}}: compliance, submissiveness, acquiescence, docility, unassertiveness, meekness, deference, cooperativeness, agreeableness 21735 wikitext text/x-wiki {{-so-}} == Magac == '''baarinimo''' === Tarjumaad === * {{en}}: compliance, submissiveness, acquiescence, docility, unassertiveness, meekness, deference, cooperativeness, agreeableness 696r4yqwmhnq7o0tbc1cf2popu720wc falanqeeye 0 6483 21736 2022-07-28T05:47:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''falanqeeye''' === Tarjumaad === * {{en}}: analyst 21736 wikitext text/x-wiki {{-so-}} == Magac == '''falanqeeye''' === Tarjumaad === * {{en}}: analyst ppzi6c6fthc8qha8t9tgru2hgjb3sno adeeciye 0 6484 21737 2022-07-28T05:48:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''adeeciye''' === Tarjumaad === * {{en}}: loyalist, adherent, devotee, dependent, 21737 wikitext text/x-wiki {{-so-}} == Magac == '''adeeciye''' === Tarjumaad === * {{en}}: loyalist, adherent, devotee, dependent, q8e59dsoh74l5isx63kd2g6yugmqtzr caadiyey 0 6485 21738 2022-07-28T08:46:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadiyey''' === Tarjumaad === * {{en}}: normalize 21738 wikitext text/x-wiki {{-so-}} == Magac == '''caadiyey''' === Tarjumaad === * {{en}}: normalize 2i1ex0rhl7juuek69rimr995h8fuisq caadiyeynta 0 6486 21739 2022-07-28T08:46:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadiyeynta''' === Tarjumaad === * {{en}}: normalization 21739 wikitext text/x-wiki {{-so-}} == Magac == '''caadiyeynta''' === Tarjumaad === * {{en}}: normalization p7r7grladpiwpuuit1fcw252x7b8wel udub 0 6487 32082 32081 2024-10-28T03:44:49Z Girligaanshub 3150 32082 wikitext text/x-wiki {{-so-}} == Magac == '''udub''' === Tarjumaad === * {{en}}: post ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[udub]], [[curdin]], [[tiir]], [[jirid]] b0dzvv76dfa7z99tt8355it7aippuu7 gurmadnimo 0 6488 21741 2022-07-28T16:07:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurmadnimo''' === Tarjumaad === * {{en}}: reinforcement, help, support, augmentation, aid, assistance, supplementation 21741 wikitext text/x-wiki {{-so-}} == Magac == '''gurmadnimo''' === Tarjumaad === * {{en}}: reinforcement, help, support, augmentation, aid, assistance, supplementation 6awotprox85ktq6ijzpvncl28qi5i53 xooji 0 6489 31280 29534 2024-10-04T16:39:38Z Girligaanshub 3150 31280 wikitext text/x-wiki {{-so-}} == Magac == '''xooji''' === Tarjumaad === * {{en}}: strengthen ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] 6hfqhlvwxnt6tt7r0syiavbz7rx6dq5 xaqiijin 0 6490 21743 2022-07-28T17:16:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaqiijin''' === Tarjumaad === * {{en}}: clarification, confirmation 21743 wikitext text/x-wiki {{-so-}} == Magac == '''xaqiijin''' === Tarjumaad === * {{en}}: clarification, confirmation dxv48aovirpe99bdz4m0z4bcgmuafay xaqiiji 0 6491 29343 21744 2024-08-01T23:34:42Z Girligaanshub 3150 29343 wikitext text/x-wiki {{-so-}} == Magac == '''xaqiiji''' === Tarjumaad === * {{en}}: clarify, confirm, perform, carry out fvihggi4e2h688nw0jjtmxpo0t8byp7 ugaarso 0 6492 21745 2022-07-28T23:18:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ugaarso''' === Tarjumaad === * {{en}}: hunt 21745 wikitext text/x-wiki {{-so-}} == Magac == '''ugaarso''' === Tarjumaad === * {{en}}: hunt s1t03yniar6zlpsfhupq1zfmjlfbz72 ugaarsade 0 6493 21746 2022-07-28T23:19:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ugaarsade''' === Tarjumaad === * {{en}}: hunter 21746 wikitext text/x-wiki {{-so-}} == Magac == '''ugaarsade''' === Tarjumaad === * {{en}}: hunter 38ch9pp7u3zp922etrvokc86a68iq5b dhugmoyahan 0 6494 23598 21747 2023-05-21T18:02:02Z Girligaanshub 3150 23598 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmoyahan''' === Tarjumaad === * {{en}}: attention-seeker, histrionic supply seeker m0xkv0xs710zohzjgpd7cwacil3ozj8 baahida dhugmo 0 6495 23600 21748 2023-05-21T18:03:08Z Girligaanshub 3150 23600 wikitext text/x-wiki {{-so-}} == Magac == '''baahida dhugmo''' === Tarjumaad === * {{en}}: attention supply, histrionic life energy, j3z7ozel23cis3xfah64y5ldumbhwfz dhugmada 0 6496 23599 21749 2023-05-21T18:02:32Z Girligaanshub 3150 23599 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmada''' === Tarjumaad === * {{en}}: attention, histrionic supply, histrionic ego booster, 7yaayvnxob9rnwi55nzxzc1qxat0m3k hadaf 0 6497 21750 2022-07-29T17:29:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadaf''' === Tarjumaad === * {{en}}: objective, goal, aim, aspiration, plan, idea, intent, 21750 wikitext text/x-wiki {{-so-}} == Magac == '''hadaf''' === Tarjumaad === * {{en}}: objective, goal, aim, aspiration, plan, idea, intent, gm8eon76g9peu4eon2a1wxegjh32bbs aqoon is-weydaarsi 0 6498 21751 2022-07-30T00:54:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqoon is-weydaarsi''' === Tarjumaad === * {{en}}: brainstorming, knowledge sharing, wisdom sharing, 21751 wikitext text/x-wiki {{-so-}} == Magac == '''aqoon is-weydaarsi''' === Tarjumaad === * {{en}}: brainstorming, knowledge sharing, wisdom sharing, lkughj4uk0z496io16ck1d1fed8zi7m udug 0 6500 21753 2022-07-30T19:15:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''udug''' === Tarjumaad === * {{en}}: fragrance 21753 wikitext text/x-wiki {{-so-}} == Magac == '''udug''' === Tarjumaad === * {{en}}: fragrance ecii7r7iw1tyqvpphtjow8g1q4ferh0 diinlaawe 0 6501 21754 2022-07-30T19:59:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diinlaawe''' === Tarjumaad === * {{en}}: irreligious, agnostic, 21754 wikitext text/x-wiki {{-so-}} == Magac == '''diinlaawe''' === Tarjumaad === * {{en}}: irreligious, agnostic, 42avhj0bln9byry3uycidbvlcewba5x diinlaawenimo 0 6502 21755 2022-07-30T19:59:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diinlaawenimo''' === Tarjumaad === * {{en}}: irreligiousness, agnosticism, 21755 wikitext text/x-wiki {{-so-}} == Magac == '''diinlaawenimo''' === Tarjumaad === * {{en}}: irreligiousness, agnosticism, ddvvwdjft6itf78mu1omjbz92ye66hj qasri 0 6503 26384 26366 2023-12-17T20:09:31Z Girligaanshub 3150 26384 wikitext text/x-wiki {{-so-}} == Magac == '''qasri''' === Tarjumaad === * {{en}}: palace, castle ===Synonyms=== *[[barin]], [[berrin]], [[qasri]] eaobx8aqmfxr5drnib8i12a53o366im hiili 0 6504 21757 2022-07-30T21:04:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiili''' === Tarjumaad === * {{en}}: uphold, defend, favour, champion, advocate, endorse, champion, recommend, 21757 wikitext text/x-wiki {{-so-}} == Magac == '''hiili''' === Tarjumaad === * {{en}}: uphold, defend, favour, champion, advocate, endorse, champion, recommend, k7yugdvnku4ka1458b7n4x14nccvzyy jiriricoon 0 6505 28742 23589 2024-07-16T20:52:07Z Girligaanshub 3150 28742 wikitext text/x-wiki {{-so-}} == Magac == '''jiriricoon''' === Tarjumaad === * {{en}}: awe, goosebumps, amazement, tingling, tingles, goosebump, butterflies, 1ql2m044o728eax6hpeeh6a11sq21d4 jiririco 0 6506 28743 21759 2024-07-16T20:52:35Z Girligaanshub 3150 28743 wikitext text/x-wiki {{-so-}} == Magac == '''jiririco''' === Tarjumaad === * {{en}}: goosebumps, goosebumps, amazement, tingling, tingles, goosebump, butterflies, 9ey84cmr6emzrfz5qbwoban68egi4kb damqad 0 6507 28807 21760 2024-07-21T19:31:45Z Girligaanshub 3150 28807 wikitext text/x-wiki {{-so-}} == Magac == '''damqad''' === Tarjumaad === * {{en}}: compassion ===Synonyms=== *[[damqad]], [[damqasho]], [[kalgacal]] 8yfednd54imbm6qy3nrnlkmfgc7rys2 duufso 0 6508 32222 21761 2024-11-03T18:39:23Z Girligaanshub 3150 32222 wikitext text/x-wiki {{-so-}} == Magac == '''duufso''' === Tarjumaad === * {{en}}: manipulate 9cjlvmhsa8avv6kb4bxu19a718pgoy1 duufsan 0 6509 21762 2022-08-01T05:30:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duufsan''' === Tarjumaad === * {{en}}: influenced 21762 wikitext text/x-wiki {{-so-}} == Magac == '''duufsan''' === Tarjumaad === * {{en}}: influenced 26fq7ppu8xpyrq272swhe2kp18z5dq9 duufsade 0 6510 32443 32011 2024-11-15T08:55:37Z Girligaanshub 3150 32443 wikitext text/x-wiki {{-so-}} == Magac == '''duufsade''' === Tarjumaad === * {{en}}: exploiter, manipulator, manipulator, ===Synonyms=== *[[dhiigmiire]], [[duufsade]], [[hunguri-doon]] iash731p0rz77iqo8wawl4dnvlol69x duufsada 0 6511 21764 2022-08-01T05:33:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duufsada''' === Tarjumaad === * {{en}}: influencing 21764 wikitext text/x-wiki {{-so-}} == Magac == '''duufsada''' === Tarjumaad === * {{en}}: influencing 6gbkm6p6gr2nl4tzz85g811svdtoa8o la-hayste 0 6512 21765 2022-08-01T06:16:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''la-hayste''' === Tarjumaad === * {{en}}: subjugated 21765 wikitext text/x-wiki {{-so-}} == Magac == '''la-hayste''' === Tarjumaad === * {{en}}: subjugated 89awtyfl7rz2vcgs2duwmodfpwsof93 haaheeyaraac 0 6513 32694 32692 2024-11-30T09:16:10Z Girligaanshub 3150 32694 wikitext text/x-wiki {{-so-}} == Magac == '''haaheeyaraac''' # qof la [[duufsado]] === Tarjumaad === * {{en}}: influencable, influencee, manipulable, impressionable, pliable, receptive, pliable, susceptible, malleable, naive, gullible, persuadable, ===Synonyms=== *[[dhego-nugul]], [[haaheeyaraac]] 9cbxgo4k7oqd6e79kbs1bfn3c9lav0k riyaaq 0 6514 28503 28090 2024-06-15T23:47:40Z Girligaanshub 3150 28503 wikitext text/x-wiki {{-so-}} == Magac == '''riyaaq''' === Tarjumaad === * {{en}}: enthusiasm, impressed, fascinated, fascinated, mesmerized, entranced, ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]] sfgfuleb8qkkxfo8u7j470sc80p9h00 riyaaqsan 0 6515 21768 2022-08-01T06:36:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''riyaaqsan''' === Tarjumaad === * {{en}}: enthusiastic, eager, passionate, hearty, excited 21768 wikitext text/x-wiki {{-so-}} == Magac == '''riyaaqsan''' === Tarjumaad === * {{en}}: enthusiastic, eager, passionate, hearty, excited t0clgskfwy5qigxr2qn9outcmat52rq hufnaan 0 6516 30227 30213 2024-08-24T16:09:49Z Girligaanshub 3150 30227 wikitext text/x-wiki {{-so-}} == Magac == '''hufnaan''' === Tarjumaad === * {{en}}: efficiency, effective, efficient, effectiveness, fluency, expedient, expediency, convenient, convenience, ===Synonyms=== *[[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] 6dz8zy5o26u4ifo1wuic1189i7q4doy is-dhul-dhig 0 6517 24587 21770 2023-09-02T19:43:52Z Girligaanshub 3150 24587 wikitext text/x-wiki {{-so-}} == Magac == '''is-dhul-dhig''' === Tarjumaad === * {{en}}: humble ===Synonyms=== *[[khushuuc]] 3idogagjjgbdz5p6vzg9m3gzjvwgk3u is-dhul-dhignimo 0 6518 31957 29003 2024-10-26T00:07:55Z Girligaanshub 3150 31957 wikitext text/x-wiki {{-so-}} == Magac == '''is-dhul-dhugnimo''' === Tarjumaad === * {{en}}: humility, inhibition ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], bbjgsd9twyr9u989mz6xw7cxgkz19fb feeraha 0 6519 21772 2022-08-01T10:21:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''feeraha''' === Tarjumaad === * {{en}}: ribs 21772 wikitext text/x-wiki {{-so-}} == Magac == '''feeraha''' === Tarjumaad === * {{en}}: ribs datkb5zj4fpzef45svt1j9qzji7gla2 is-dhuldhig 0 6520 24586 21773 2023-09-02T19:43:29Z Girligaanshub 3150 24586 wikitext text/x-wiki {{-so-}} == Magac == '''is-dhuldhig''' === Tarjumaad === * {{en}}: humble ===Synonyms=== *[[khushuuc]] 5t7aonpbkvi7km4kere0nvf6jk4s5op is-dhuldhignimo 0 6521 31958 29005 2024-10-26T00:08:06Z Girligaanshub 3150 31958 wikitext text/x-wiki {{-so-}} == Magac == '''is-dhuldhignimo''' === Tarjumaad === * {{en}}: humility ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], doo2ve5weo2qnhhueg0ze1wpr0l2du6 idilnimo 0 6522 21775 2022-08-01T12:40:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''idilnimo''' === Tarjumaad === * {{en}}: perfection, flawlessness, impeccability, faultlessness, immaculateness, 21775 wikitext text/x-wiki {{-so-}} == Magac == '''idilnimo''' === Tarjumaad === * {{en}}: perfection, flawlessness, impeccability, faultlessness, immaculateness, 9g8cbq9ubj3j5h840dtvvg5a7l0x69a qalab carruureed 0 6523 21776 2022-08-02T01:57:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalab carruureed''' === Tarjumaad === * {{en}}: toy 21776 wikitext text/x-wiki {{-so-}} == Magac == '''qalab carruureed''' === Tarjumaad === * {{en}}: toy b7ev4sdxghxdn682jx3hjk0tpv8r1cy qalab 0 6524 29555 28165 2024-08-05T15:42:59Z Girligaanshub 3150 29555 wikitext text/x-wiki {{-so-}} == Magac == '''qalab''' === Tarjumaad === * {{en}}: thing, tool, gear ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], nofkbm7u402irlh0xs3krrzrxjko8fb qalab guri 0 6525 21778 2022-08-02T01:59:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalab guri''' === Tarjumaad === * {{en}}: household items 21778 wikitext text/x-wiki {{-so-}} == Magac == '''qalab guri''' === Tarjumaad === * {{en}}: household items losqpga6dnvdkqu30q34hah97r3v9gz qalab jikada 0 6526 21779 2022-08-02T02:00:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalab jikada''' === Tarjumaad === * {{en}}: kitchen items 21779 wikitext text/x-wiki {{-so-}} == Magac == '''qalab jikada''' === Tarjumaad === * {{en}}: kitchen items 220ds9s68eux3u2d1gtheqgmu61lhtv qalab xafiis 0 6527 21780 2022-08-02T02:01:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalab xafiis''' === Tarjumaad === * {{en}}: office items 21780 wikitext text/x-wiki {{-so-}} == Magac == '''qalab xafiis''' === Tarjumaad === * {{en}}: office items quo53zn7wh42odds95n2t3jjvnxtw76 qalabada xafiiska 0 6528 21781 2022-08-02T02:02:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalabada xafiiska''' === Tarjumaad === * {{en}}: office items 21781 wikitext text/x-wiki {{-so-}} == Magac == '''qalabada xafiiska''' === Tarjumaad === * {{en}}: office items ju9geh43k0ez5y7qdtubnr4oakmsfkl sanduuq 0 6529 27005 21782 2024-03-27T18:57:06Z Girligaanshub 3150 27005 wikitext text/x-wiki {{-so-}} == Magac == '''sanduuq''' === Tarjumaad === * {{en}}: box, container, jar, dispenser 3ax6apc761ljac4xtgapqykyxgq3xhu khaatiyaan 0 6530 21783 2022-08-02T02:06:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khaatiyaan''' === Tarjumaad === * {{en}}: bored 21783 wikitext text/x-wiki {{-so-}} == Magac == '''khaatiyaan''' === Tarjumaad === * {{en}}: bored flkacc7kewrvo3ig0zod348ej2gzuw9 xubin tagoog 0 6531 21784 2022-08-02T02:33:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xubin tagoog''' === Tarjumaad === * {{en}}: forearm 21784 wikitext text/x-wiki {{-so-}} == Magac == '''xubin tagoog''' === Tarjumaad === * {{en}}: forearm l4x1xzsvam2f7tf7a1t3rvr2bgzwyf7 tagoog sare 0 6532 21785 2022-08-02T02:33:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tagoog sare''' === Tarjumaad === * {{en}}: upper arm, humerus 21785 wikitext text/x-wiki {{-so-}} == Magac == '''tagoog sare''' === Tarjumaad === * {{en}}: upper arm, humerus 368b9fnwpm5083urhz2l1tjmhmwn3sp suurad 0 6533 31183 30972 2024-10-04T13:49:47Z Girligaanshub 3150 31183 wikitext text/x-wiki {{-so-}} == Magac == '''suurad''' === Tarjumaad === * {{en}}: chapter, volume ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] gec8dkumleinl6z960qbn0fu8idtb55 dambiile 0 6534 32328 28722 2024-11-08T12:20:50Z Girligaanshub 3150 32328 wikitext text/x-wiki {{-so-}} == Magac == '''dambiile''' === Tarjumaad === * {{en}}: convict, criminal ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] hto9u0g9chy0sleldxhb8mi18huswub dambiile halis 0 6535 21788 2022-08-02T03:22:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dambiile halis''' === Tarjumaad === * {{en}}: felon 21788 wikitext text/x-wiki {{-so-}} == Magac == '''dambiile halis''' === Tarjumaad === * {{en}}: felon di38v70i2hxxx26jfias0a9zgudp7to asturnaanta 0 6536 27984 27982 2024-06-06T11:40:36Z Girligaanshub 3150 27984 wikitext text/x-wiki {{-so-}} == Magac == '''asturnaanta''' === Tarjumaad === * {{en}}: privacy mzkyo173qw2erj1ez2ztnwm14xvkuc3 astursan 0 6537 21790 2022-08-02T03:26:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''astursan''' === Tarjumaad === * {{en}}: private 21790 wikitext text/x-wiki {{-so-}} == Magac == '''astursan''' === Tarjumaad === * {{en}}: private erjuo91uyaopgk625cmxbvp1eu3c5ua jaho 0 6538 21791 2022-08-02T03:38:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaho''' === Tarjumaad === * {{en}}: direction 21791 wikitext text/x-wiki {{-so-}} == Magac == '''jaho''' === Tarjumaad === * {{en}}: direction lerz7uusbvbrkk0ven5xsj3ea5grv14 daahfur 0 6539 30410 28796 2024-09-01T09:23:50Z Girligaanshub 3150 30410 wikitext text/x-wiki {{-so-}} == Magac == '''daahfur''' === Tarjumaad === * {{en}}: unveil, reveal, disclose, release, flaunt, display, exhibit, open, inaugurate, opening ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[soojeediyo]], [[daahfur]], [[daahfurka]] jzgjgzn1hv6nr6ayij4bhavfmko7889 daahfuro 0 6540 21793 2022-08-02T03:52:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahfuro''' === Tarjumaad === * {{en}}: unveil, reveal, disclose, release, flaunt, display, exhibit, 21793 wikitext text/x-wiki {{-so-}} == Magac == '''daahfuro''' === Tarjumaad === * {{en}}: unveil, reveal, disclose, release, flaunt, display, exhibit, jnd7ce1m16w6ghfdw7l3ek8qkmir2st daahfurka 0 6541 30411 21794 2024-09-01T09:23:57Z Girligaanshub 3150 30411 wikitext text/x-wiki {{-so-}} == Magac == '''daahfurka''' === Tarjumaad === * {{en}}: unveil, reveal, disclose, release, flaunt, display, exhibit, ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[soojeediyo]], [[daahfur]], [[daahfurka]] kzohmaeimwwt32w7h8jf5yeqxbwp1ck qalabada jikada 0 6542 21795 2022-08-02T04:02:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalabada jikada''' === Tarjumaad === * {{en}}: kitchen items 21795 wikitext text/x-wiki {{-so-}} == Magac == '''qalabada jikada''' === Tarjumaad === * {{en}}: kitchen items ewq7k61q3ackdg0awftepcj6bldlfwf qalabada guriga 0 6543 21796 2022-08-02T04:03:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalabada guriga''' === Tarjumaad === * {{en}}: household items 21796 wikitext text/x-wiki {{-so-}} == Magac == '''qalabada guriga''' === Tarjumaad === * {{en}}: household items dr1g4232eodo1aa9ddsu7p1g49er83w qalabada carruurta 0 6544 21797 2022-08-02T04:04:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalabada jikada''' === Tarjumaad === * {{en}}: children's items, toys 21797 wikitext text/x-wiki {{-so-}} == Magac == '''qalabada jikada''' === Tarjumaad === * {{en}}: children's items, toys d73lf2hu0i7z1ipz6w8l1mo2crph0zu ku riyaaqsan 0 6545 21799 2022-08-02T04:27:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ku riyaaqsan''' === Tarjumaad === * {{en}}: enthusiastic, impressed, fascinated, fascinated, mesmerized, entranced, 21799 wikitext text/x-wiki {{-so-}} == Magac == '''ku riyaaqsan''' === Tarjumaad === * {{en}}: enthusiastic, impressed, fascinated, fascinated, mesmerized, entranced, 1c6cdhapayztyshab2zxxc1id9mgjxh xero-gelinta 0 6546 21800 2022-08-02T05:33:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xero-gelinta''' === Tarjumaad === * {{en}}: captivity, subjugation, entrapment, 21800 wikitext text/x-wiki {{-so-}} == Magac == '''xero-gelinta''' === Tarjumaad === * {{en}}: captivity, subjugation, entrapment, pjehxtbeg1jaw95a39yvz3zjwvefc2n bayaannimo 0 6547 23786 23677 2023-06-17T20:36:48Z Girligaanshub 3150 23786 wikitext text/x-wiki {{-so-}} == Magac == '''bayaannimo''' === Tarjumaad === * {{en}}: clarity, clarification 55z7fmqdkh7iiqb042gb6kw3kldwk1j bayaanka 0 6548 24224 23676 2023-08-12T11:08:24Z Girligaanshub 3150 24224 wikitext text/x-wiki {{-so-}} == Magac == '''bayaanka''' === Tarjumaad === * {{en}}: clarity, manifesto, clarification ===Synonyms=== *[[dardaaran]] 4j8tlkw1lk4ei7gq6pvpy69spbxlncx afgaranwaa 0 6549 31044 21804 2024-10-02T04:15:12Z Girligaanshub 3150 31044 wikitext text/x-wiki {{-so-}} == Magac == '''afgaranwaa''' === Tarjumaad === * {{en}}: disagree, disagreement qwpwqggky5mq5ydknyzchgr17ftbz96 muqadasnimo 0 6550 24782 21805 2023-09-06T14:37:13Z Girligaanshub 3150 24782 wikitext text/x-wiki {{-so-}} == Magac == '''muqadasnimo''' === Tarjumaad === * {{en}}: holiness, veneration, sacredness ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]] 7cg2rs65dnx3ki2f1o48z9ofrpcyw9l dhacdo 0 6551 30704 27399 2024-09-11T03:21:08Z Girligaanshub 3150 30704 wikitext text/x-wiki {{-so-}} == Magac == '''dhacdo''' === Tarjumaad === * {{en}}: event, occurrence, incident, circumstance, happening, instance ===Synonyms=== * [[dhacdo]], [[ifafaalo]], [[ifafaale]], 62g2evvgypq8rg3j6q6c7xx751rkkwd suurtagal 0 6552 30231 30222 2024-08-24T16:11:56Z Girligaanshub 3150 30231 wikitext text/x-wiki {{-so-}} == Magac == '''suurtagal''' === Tarjumaad === * {{en}}: possible, viable, probability, potential, probable, likely, likelihood ===Synonyms=== *, [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] sectwntqvy4jqw9w9amp9krrw7atvz6 keyn 0 6553 21808 2022-08-04T08:53:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keyn''' === Tarjumaad === * {{en}}: forest 21808 wikitext text/x-wiki {{-so-}} == Magac == '''keyn''' === Tarjumaad === * {{en}}: forest ktj8yuv3b4ucl06m2icz0xv2mgvuara magaalayn 0 6554 21809 2022-08-04T08:55:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magaalay''' === Tarjumaad === * {{en}}: urbanize 21809 wikitext text/x-wiki {{-so-}} == Magac == '''magaalay''' === Tarjumaad === * {{en}}: urbanize 7cwdw9v8cj8gexptgft2dv3i0k8mkw3 magaalaynta 0 6555 21810 2022-08-04T08:55:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magaalaynta''' === Tarjumaad === * {{en}}: urbanization 21810 wikitext text/x-wiki {{-so-}} == Magac == '''magaalaynta''' === Tarjumaad === * {{en}}: urbanization sw9e15ksoessqm85jotusmicqhemw1z adeec qaran 0 6556 21811 2022-08-04T08:57:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''adeec qaran''' === Tarjumaad === * {{en}}: patriotism 21811 wikitext text/x-wiki {{-so-}} == Magac == '''adeec qaran''' === Tarjumaad === * {{en}}: patriotism dmg469g9nybzj9fpj3p1geyl5vje4ax dabaqad 0 6557 31585 31577 2024-10-16T04:06:15Z Girligaanshub 3150 31585 wikitext text/x-wiki {{-so-}} == Magac == '''dabaqad''' === Tarjumaad === * {{en}}: class ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] h07zylhaxemx15aokgirwwcgf0mkish dabaqadka 0 6558 21814 2022-08-04T09:40:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaqadka''' === Tarjumaad === * {{en}}: social class, social status 21814 wikitext text/x-wiki {{-so-}} == Magac == '''dabaqadka''' === Tarjumaad === * {{en}}: social class, social status 62z5beij9xfwd6x35o9ui0iexvdkgcp dabaqad-baan 0 6559 21815 2022-08-04T09:56:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaqad-baan''' === Tarjumaad === * {{en}}: show off, blow one's own horn 21815 wikitext text/x-wiki {{-so-}} == Magac == '''dabaqad-baan''' === Tarjumaad === * {{en}}: show off, blow one's own horn 4e1q0eh6250yorwt54oxkba9bn3t6v5 weydiimo 0 6560 21817 2022-08-04T10:25:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weydiimo''' === Tarjumaad === * {{en}}: questionnaire 21817 wikitext text/x-wiki {{-so-}} == Magac == '''weydiimo''' === Tarjumaad === * {{en}}: questionnaire nswva0544m78y6mwsy6fj2hkoi0f79g garsoor 0 6561 26466 21818 2023-12-27T17:02:02Z Girligaanshub 3150 26466 wikitext text/x-wiki {{-so-}} == Magac == '''garsoor''' === Tarjumaad === * {{en}}: judge, judiciary icb6v5qbn2ru0b0vyqhe73qzafi9vti sooyaal 0 6562 29630 21819 2024-08-07T12:26:14Z Girligaanshub 3150 29630 wikitext text/x-wiki {{-so-}} == Magac == '''sooyaal''' === Tarjumaad === * {{en}}: history 7opakbsu811nfdawsezoktm66o5e9yc mashaariic 0 6563 27598 27397 2024-05-22T07:54:36Z Girligaanshub 3150 27598 wikitext text/x-wiki {{-so-}} == Magac == '''mashaariic''' === Tarjumaad === * {{en}}: project, task, enterprise, program, scheme, assignment, ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]] f6du742t6twq34s6roor7czvegyucjz mashaariicda 0 6564 27389 27380 2024-05-18T12:33:48Z Girligaanshub 3150 27389 wikitext text/x-wiki {{-so-}} == Magac == '''mashaariicda''' === Tarjumaad === * {{en}}: projects, tasks, enterprises, programs, schemes, assignments, ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]] cjwc5ebrcf3hguabze2m7zj7qo87u6u waxyinimo 0 6565 21822 2022-08-04T11:27:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waxyinimo''' === Tarjumaad === * {{en}}: religious doctrine, divine revelation, 21822 wikitext text/x-wiki {{-so-}} == Magac == '''waxyinimo''' === Tarjumaad === * {{en}}: religious doctrine, divine revelation, ffj5o5tk47nhx15et619vyckwdftnyb marin-habaabin 0 6566 26420 25839 2023-12-22T16:40:54Z Girligaanshub 3150 26420 wikitext text/x-wiki {{-so-}} == Magac == '''marin-habaabin''' === Tarjumaad === * {{en}}: mislead, deceptive, ===Synonyms=== *[[marin-habaabin]], [[taghut]], [[gacanbidix]] nw6h796kk1ul7mlp43048t2ijqdvrwl nasabnimo 0 6567 31227 31217 2024-10-04T14:41:57Z Girligaanshub 3150 31227 wikitext text/x-wiki {{-so-}} == Magac == '''nasab''' === Tarjumaad === * {{en}}: patrilineality of fidelity and nobility * {{en}}: nobility ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], pqfvyhmvu7l56rhlhwv9haklpf99wqd khalkhal 0 6568 31653 31643 2024-10-19T17:11:45Z Girligaanshub 3150 31653 wikitext text/x-wiki {{-so-}} == Magac == '''khalkhal''' === Tarjumaad === * {{en}}: disorder, mayhem, riot, rioting, troubles, chaos, disorder, turmoil, commotion, anarchy, disarray, mayhem, havoc, ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] 3hs9dg2pyxv2xxnhyojpyvzwc6cj0ps tabin 0 6569 26552 21827 2024-01-10T10:33:54Z Girligaanshub 3150 26552 wikitext text/x-wiki {{-so-}} == Magac == '''tabin''' === Tarjumaad === * {{en}}: broadcast, heading hc4uvv57h85ovuqh571l6l91yej0raf nafsi-eexasho 0 6570 21828 2022-08-06T06:54:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nafsi-eexasho''' === Tarjumaad === * {{en}}: self-centered 21828 wikitext text/x-wiki {{-so-}} == Magac == '''nafsi-eexasho''' === Tarjumaad === * {{en}}: self-centered gt3kthkx7bbj9opj1gjpos870xe14ce eexasho-nafta 0 6571 21829 2022-08-06T06:55:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eexasho nafta''' === Tarjumaad === * {{en}}: self-centered 21829 wikitext text/x-wiki {{-so-}} == Magac == '''eexasho nafta''' === Tarjumaad === * {{en}}: self-centered gthneuvy4jkm9hg13i705p5l4cygii4 User talk:MdsShakil/header 3 6572 21830 2022-08-06T17:04:50Z Pathoschild 41 create header for talk page ([[m:Synchbot|requested by MdsShakil]]) 21830 wikitext text/x-wiki <div style="display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 16px 0; border: 1px solid #aaaaaa;"> <div style="padding: 12px;">[[File:Circle-icons-megaphone.svg|75px|link=[[m:User_talk:MdsShakil]]]]</div> <div style="flex: 1; padding: 12px; background-color: #dddddd; color: #555555;"> <div style="font-weight: bold; font-size: 150%; color: red; font-family: 'Comic Sans MS'">Welcome to my talk page!</div> <div style="max-width: 700px">Hey! I am Shakil Hosen. I patrol many projects, and where I don't know the language I only act in cases of serious vandalism. If you think I have done anything wrong, feel free to [[m:User talk:MdsShakil|message me]] on Meta wiki. If you don't like that you can leave me messages here too, but since I do not watch all of my talk pages, your message might not get a timely response. Thanks! [[File:Face-smile.svg|18px|link=[[m:User:MdsShakil]]]]</div> </div> </div> 6ns6eellkw7iqc4yteyjnszfjmo2yio dhalinta 0 6573 21831 2022-08-06T17:59:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhalinta''' === Tarjumaad === * {{en}}: quarter-lifer, young adult, adultolescent, twixter, vicenarian 21831 wikitext text/x-wiki {{-so-}} == Magac == '''dhalinta''' === Tarjumaad === * {{en}}: quarter-lifer, young adult, adultolescent, twixter, vicenarian fgoqlzv9g268krup25r4sgancho2p2s User talk:MdsShakil 3 6574 21832 2022-08-06T18:28:57Z Pathoschild 41 add talk page header ([[m:Synchbot|requested by MdsShakil]]) 21832 wikitext text/x-wiki {{User talk:MdsShakil/header}} tbo8m2n1p4y1shpmyu07h1k0g9pq65d huuno 0 6575 32154 32153 2024-10-29T01:21:10Z Girligaanshub 3150 32154 wikitext text/x-wiki {{-so-}} == Magac == '''huuno''' === Tarjumaad === * {{en}}: family member, relative * {{en}}: youthful person, young man, young woman, youngster, youth ===Synonyms=== *[[huuno]], [[aboowe]], [[abaayo]] 6qk7bv84eao96ya3x1zxgc8pph7vtuc halis deg-deg 0 6576 22009 21834 2022-08-30T15:02:57Z Girligaanshub 3150 Girligaanshub moved page [[deg-deg]] to [[halis deg-deg]] 21834 wikitext text/x-wiki {{-so-}} == Magac == '''deg-deg''' === Tarjumaad === * {{en}}: emergency, urgent, exigency, pressing, imperative 9b179r34dhpkobhufuxi3acty70jukv xaliye 0 6577 21835 2022-08-08T06:10:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaliye''' === Tarjumaad === * {{en}}: slver, resolver, problem-solver, fixer, trouble-shooter, 21835 wikitext text/x-wiki {{-so-}} == Magac == '''xaliye''' === Tarjumaad === * {{en}}: slver, resolver, problem-solver, fixer, trouble-shooter, d94r0yr4hcjlfmqe61mr00ucpsv64uy fitrah 0 6578 29449 28637 2024-08-04T01:08:29Z Girligaanshub 3150 29449 wikitext text/x-wiki {{-so-}} == Magac == '''fitrahda''' === Tarjumaad === * {{en}}: instinct, inclination, intuition, innateness, innatism, anamnesis, psychological nativism, impulse ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]] maw81k1pcvacg5sno3tzmjzith5nh0u maad 0 6579 32030 28203 2024-10-27T14:01:39Z Girligaanshub 3150 32030 wikitext text/x-wiki {{-so-}} == Magac == '''maad''' === Tarjumaad === * {{en}}: academic subject, academic discipline, academic field, * {{en}}: philosophical enlightenment, equilibration, stasis, poise, equipoise, counterbalance, harmony, material, matter, materialism, balance, civilization, * {{en}}: contentment, leisure * {{en}}: justice, truth ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] 8vt8gahgyq09s381p1ysivrg9mxces1 silloon 0 6580 32171 26732 2024-10-31T04:35:06Z Girligaanshub 3150 32171 wikitext text/x-wiki {{-so-}} == Magac == '''silloon''' === Tarjumaad === * {{en}}: eccentric, awkward, strange, weird, cluster A personality * {{en}}: strange, peculiar, odd, weird, bizarre, inexplicable, baffling, perplexing, bewildering, confusing, incomprehensible, unexplainable, unfathomable, arcane, recondite, esoteric, occultic, cryptic, mystical, supernatural ===Synonyms=== *[[qariib]], [[silloon]], [[ghairul-caadi]] 9nv25cq4w5kly4uc1byym2x8i5sgzec maan-bayaan 0 6581 21841 2022-08-09T21:59:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maan-bayaan''' === Tarjumaad === * {{en}}: perspicacity, shrewdness, sapience, peace of mind, clarity of thought, lucidity, cognizance, clear-sightedness, 21841 wikitext text/x-wiki {{-so-}} == Magac == '''maan-bayaan''' === Tarjumaad === * {{en}}: perspicacity, shrewdness, sapience, peace of mind, clarity of thought, lucidity, cognizance, clear-sightedness, 7x143w4i8r9pncenl3optoiuv7blzjg khurafaad 0 6582 32163 27213 2024-10-30T03:49:03Z Girligaanshub 3150 32163 wikitext text/x-wiki {{-so-}} == Magac == '''khurafaad''' === Tarjumaad === * {{en}}: myth, folklore, fable, parable, allegory, fallacy, fairytale, fallacy, fiction, fantasy, superstition, ===Synonyms=== *[[khurafaad]], [[khiyaali]], [[tiro-kuteen]], [[dhalanteed]] pu811dnur6qxynlgtxuc6psolg3p56c dabagal 0 6583 21843 2022-08-10T09:43:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabagal''' === Tarjumaad === * {{en}}: track, pursue, chase, follow, hound, stalk, 21843 wikitext text/x-wiki {{-so-}} == Magac == '''dabagal''' === Tarjumaad === * {{en}}: track, pursue, chase, follow, hound, stalk, kif94aupmhh1q1h3bumrv21xhk6c4ww dabagale 0 6584 23211 21844 2023-03-28T12:36:25Z Girligaanshub 3150 23211 wikitext text/x-wiki {{-so-}} == Magac == '''dabagale''' === Tarjumaad === * {{en}}: ground squirrel * {{en}}: tracker, pursuer, chaser, follower, hounder, stalker, 0lq6cv3ay8jw4m543atvdd4r1gudb62 damqade 0 6585 21845 2022-08-10T11:18:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damqade''' === Tarjumaad === * {{en}}: empath, empathiser, 21845 wikitext text/x-wiki {{-so-}} == Magac == '''damqade''' === Tarjumaad === * {{en}}: empath, empathiser, kh7ihkfoshfe6az88cnik3k2w8bcnj4 badow 0 6586 26843 26800 2024-02-27T03:58:26Z Girligaanshub 3150 26843 wikitext text/x-wiki {{-so-}} == Magac == '''badow''' === Tarjumaad === * {{en}}: uncivilised, unsophisticated, heathen, neanderthal, wild, primitive, uncultured, barbarian, uncouth, knuckle-dragger, barbaric, uncivilized, caveman ===Synonyms=== *[[lamagoodle]], [[duurjooge]], [[badow]], [[galaayuub]] dlum7dclpaz304aw3u20theohfn7c4u suurtagal-ahayn 0 6587 21847 2022-08-12T07:15:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suurtagal-ahayn''' === Tarjumaad === * {{en}}: impossible, 21847 wikitext text/x-wiki {{-so-}} == Magac == '''suurtagal-ahayn''' === Tarjumaad === * {{en}}: impossible, 65hfyd8utoow0kd6yynty5xvj4de06p suurtagal-la'aan 0 6588 21848 2022-08-12T07:16:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suurtagal-la'aan''' === Tarjumaad === * {{en}}: impossible, 21848 wikitext text/x-wiki {{-so-}} == Magac == '''suurtagal-la'aan''' === Tarjumaad === * {{en}}: impossible, g1bb9rxri0b4ndna1lpizwihacjgz4i rajeyn 0 6589 21849 2022-08-12T08:48:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rajeyn''' === Tarjumaad === * {{en}}: hope, 21849 wikitext text/x-wiki {{-so-}} == Magac == '''rajeyn''' === Tarjumaad === * {{en}}: hope, ebmy0k29xh1kbj33x9fprm1dwgrdnyf rajeynta 0 6590 21850 2022-08-12T08:48:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rajeynta''' === Tarjumaad === * {{en}}: hopefullness, 21850 wikitext text/x-wiki {{-so-}} == Magac == '''rajeynta''' === Tarjumaad === * {{en}}: hopefullness, khpa4wzn8uu2ituc52pyckycvplrdzp wacdi 0 6591 27545 21851 2024-05-21T01:24:05Z Girligaanshub 3150 27545 wikitext text/x-wiki {{-so-}} == Magac == '''wacdi''' === Tarjumaad === * {{en}}: preach, ===Synonyms=== *[[wacdi]], [[wacdiga]], [[khudbad]] 4omarto7g586gublp0zy8oag5i8z2qu wacdiga 0 6592 21852 2022-08-12T16:28:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wacdiga''' === Tarjumaad === * {{en}}: sermon, 21852 wikitext text/x-wiki {{-so-}} == Magac == '''wacdiga''' === Tarjumaad === * {{en}}: sermon, 680res96eflf8nqd8btyiawh1qd1afz hadal foori 0 6593 21853 2022-08-13T12:41:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadal foori''' === Tarjumaad === * {{en}}: whistle talk * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech 21853 wikitext text/x-wiki {{-so-}} == Magac == '''hadal foori''' === Tarjumaad === * {{en}}: whistle talk * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech 3av1zpu4nyfgxpjlacp4r69khyt3tnl foori 0 6594 24678 23642 2023-09-03T20:22:41Z Girligaanshub 3150 24678 wikitext text/x-wiki {{-so-}} == Magac == '''foori''' === Tarjumaad === * {{en}}: whistle * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech ===synonyms=== *[[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] h9kfuqnqjsxgthgtp7ejut3x43fziiz fooriga 0 6595 24679 21855 2023-09-03T20:22:57Z Girligaanshub 3150 24679 wikitext text/x-wiki {{-so-}} == Magac == '''fooriga''' === Tarjumaad === * {{en}}: whistle talk * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech, doublespeak, plausible deniability, aesopian language, dog-whistle politics, subliminal messaging, ===synonyms=== *[[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] 3pegac017uyebgq3z6h0cw0gm611ran alaab 0 6596 21856 2022-08-14T04:49:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaab''' === Tarjumaad === * {{en}}: goods, items, piece, product, brand, commodity, merchandise, produce, stock, artefact, unit, stuff, belonging, package, 21856 wikitext text/x-wiki {{-so-}} == Magac == '''alaab''' === Tarjumaad === * {{en}}: goods, items, piece, product, brand, commodity, merchandise, produce, stock, artefact, unit, stuff, belonging, package, 4zu9lkb3aa61er6bv47cv0f47ornpsd alaab-qeybiye 0 6597 21857 2022-08-14T04:49:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaab-qeybiye''' === Tarjumaad === * {{en}}: supplier 21857 wikitext text/x-wiki {{-so-}} == Magac == '''alaab-qeybiye''' === Tarjumaad === * {{en}}: supplier bv2jjtpnocp5cnvst6yzue1j2zmt9ls alaab-qeybiyaha 0 6598 21858 2022-08-14T04:50:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaab-qeybiyaha''' === Tarjumaad === * {{en}}: suppliers 21858 wikitext text/x-wiki {{-so-}} == Magac == '''alaab-qeybiyaha''' === Tarjumaad === * {{en}}: suppliers iouc4fnsiakk65h809o2k8x1n4e2lvx beesha saxiixlaaweyaasha 0 6599 21985 21859 2022-08-28T21:57:10Z Girligaanshub 3150 Girligaanshub moved page [[beesha saxiislaaweyaasha]] to [[beesha saxiixlaaweyaasha]] 21859 wikitext text/x-wiki {{-so-}} == Magac == '''beesha saxiislaaweyaasha''' === Tarjumaad === * {{en}}: non-signatory nation, beesha dhulbahante, beesha darawiish, beesha nugaaleed b31u7jg6ei7va9ubnbcp8dznuwlcokk murugaysan 0 6600 32005 32002 2024-10-27T02:47:38Z Girligaanshub 3150 32005 wikitext text/x-wiki {{-so-}} == Magac == '''murugaysan''' === Tarjumaad === * {{en}}: sad ===Synonyms=== *[[hungoobo]], [[tiiraanyo]], [[murugaysan]], [[diilalyo]], [[marooradilaac]], hvchvenlglk5ojef0e3vqm1vxz89ow3 darteed 0 6601 21861 2022-08-14T07:25:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''darteed''' === Tarjumaad === * {{en}}: therefore, due to, consequently, thus, hence, accordingly, thereupon 21861 wikitext text/x-wiki {{-so-}} == Magac == '''darteed''' === Tarjumaad === * {{en}}: therefore, due to, consequently, thus, hence, accordingly, thereupon 2eppvkerx5o0asjatzr666o8ylrg0c6 karbaashe 0 6602 21862 2022-08-14T08:55:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karbaashe''' === Tarjumaad === * {{en}}: violater 21862 wikitext text/x-wiki {{-so-}} == Magac == '''karbaashe''' === Tarjumaad === * {{en}}: violater s1q6sgieui360iv537gdtwdokowfkzu bikro 0 6603 21863 2022-08-14T09:30:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bikro''' === Tarjumaad === * {{en}}: virgin, 21863 wikitext text/x-wiki {{-so-}} == Magac == '''bikro''' === Tarjumaad === * {{en}}: virgin, avq0upoayf29yclohivb4prlpx367it muuqaalo 0 6604 21864 2022-08-14T11:47:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muqaalo''' === Tarjumaad === * {{en}}: vlog, videoclip, video recording, video tape, videotaping, video excerpt, 21864 wikitext text/x-wiki {{-so-}} == Magac == '''muqaalo''' === Tarjumaad === * {{en}}: vlog, videoclip, video recording, video tape, videotaping, video excerpt, 56h950plou8u6iw40t4p7hwiw3ec5g7 af-garasho 0 6605 26784 26512 2024-02-13T07:55:37Z Girligaanshub 3150 26784 wikitext text/x-wiki {{-so-}} == Magac == '''is-garasho''' === Tarjumaad === * {{en}}: rapport, familiarity, concurrence, agree, agreeing, agreement, concur ===Synonyms=== *[[af-garasho]], [[gacansaar]], [[waafaqsanaan]], [[waafaq]], [[qowl]] ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]], [[qalinley]] knra95eobpm0czthot4yyoulpwnh9cx xero-gelin 0 6606 29117 24783 2024-07-29T20:28:21Z Girligaanshub 3150 29117 wikitext text/x-wiki {{-so-}} == Magac == '''xero-gelin''' === Tarjumaad === * {{en}}: entanglement, entrapment, lure, implicate, embroil, snare, ensnare, manipulation, bait, ===Synonyms=== *[[dhagar]], [[tahbiib]], [[xero-gelin]], f0ayzie7j4nkg61ub40qg1xwunxexr1 shaandhee 0 6607 30401 28029 2024-09-01T03:26:08Z Girligaanshub 3150 30401 wikitext text/x-wiki {{-so-}} == Magac == '''shaandhee''' === Tarjumaad === * {{en}}: filter, screen out, sift, collander, cullender, strain, rinse, drain, sieve, * {{en}}: vet, vetting ===Synonyms=== * [[shaandhee]], [[miir]], [[miiraabo]] lchkvioavjl2gcjugmuitjkcfeglguy shaandho 0 6608 21868 2022-08-17T08:38:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaandhee''' === Tarjumaad === * {{en}}: filter, screener, sifter, collander, cullender, strainer, rinser, drainer, siever, 21868 wikitext text/x-wiki {{-so-}} == Magac == '''shaandhee''' === Tarjumaad === * {{en}}: filter, screener, sifter, collander, cullender, strainer, rinser, drainer, siever, s08qgvdt18mxyylz8ta084m5672x18s diwaan-geli 0 6609 24803 21869 2023-09-08T07:25:29Z Girligaanshub 3150 24803 wikitext text/x-wiki {{-so-}} == Magac == '''diwaan-geli''' === Tarjumaad === * {{en}}: log, record, collect, collection so2eqjomjukdawinahbuhoves15hshz firfircoonimo 0 6610 21870 2022-08-17T08:43:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firfircoonimo''' === Tarjumaad === * {{en}}: activism 21870 wikitext text/x-wiki {{-so-}} == Magac == '''firfircoonimo''' === Tarjumaad === * {{en}}: activism n52bkwumqxyrc4umleeirfsgnu1r7b1 dhoolo 0 6611 21871 2022-08-17T08:45:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolo''' === Tarjumaad === * {{en}}: smile 21871 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolo''' === Tarjumaad === * {{en}}: smile 4bsx7clesytkwco3hv4wyb7esy4bmdz dhoolnimo 0 6612 21872 2022-08-17T08:53:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoolnimo''' === Tarjumaad === * {{en}}: smiling disposition, smirking disposition, laughing disposition, grinning disposition 21872 wikitext text/x-wiki {{-so-}} == Magac == '''dhoolnimo''' === Tarjumaad === * {{en}}: smiling disposition, smirking disposition, laughing disposition, grinning disposition bduviw05lqbuxltr5bvhlogg81m3xkb naxwaha 0 6613 30544 21873 2024-09-07T00:28:39Z Girligaanshub 3150 30544 wikitext text/x-wiki {{-so-}} == Magac == '''naxwaha''' === Tarjumaad === * {{en}}: grammar 2vzukvlkx6x4q09wie2xs74warx25mv sharax 0 6614 27361 21874 2024-05-14T16:30:02Z Girligaanshub 3150 27361 wikitext text/x-wiki {{-so-}} == Magac == '''sharax''' === Tarjumaad === * {{en}}: explain, clarify, elucidate, illuminate, explicate, define, spell out, clear up, sort out, simplify *{{en}}: declare pqzf7b5qk0srl4qfaql6ithgrylaekt afjaro 0 6615 31455 28462 2024-10-12T22:55:44Z Girligaanshub 3150 31455 wikitext text/x-wiki {{-so-}} == Magac == '''afjaro''' === Tarjumaad === * {{en}}: overcome, prevail, conclude, finish, seal, broker, resolve, overcome, prevail, conclude, finish, seal, broker, resolve, commission, confer, conferred, commissioned, accomplish, culminate, culmination, fulfill, execute, overpower, consummate, conclusion, conclusive, final, absolute, decisive, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]], [[doorbidka]] 5onadjwqdqgxrxls9iam1on3calit75 murtinimo 0 6616 21876 2022-08-17T12:13:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtinimo''' === Tarjumaad === * {{en}}: shrewdness, insight, acuity, foresight, far-sightedness, savviness, logic, judiciousness, common sense, perceptiveness, astuteness, sharp=wittedness, wittiness, 21876 wikitext text/x-wiki {{-so-}} == Magac == '''murtinimo''' === Tarjumaad === * {{en}}: shrewdness, insight, acuity, foresight, far-sightedness, savviness, logic, judiciousness, common sense, perceptiveness, astuteness, sharp=wittedness, wittiness, 0xhom51vs8znkw84qjfjv1dxbfvlo7m daliil 0 6617 21877 2022-08-17T13:52:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daliil''' === Tarjumaad === * {{en}}: evidence, proof, argument, reasoning 21877 wikitext text/x-wiki {{-so-}} == Magac == '''daliil''' === Tarjumaad === * {{en}}: evidence, proof, argument, reasoning f433zkjbo6y0z6ancczasziurqyedj0 kalinimada 0 6618 21878 2022-08-17T15:08:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalinimada''' === Tarjumaad === * {{en}}: singleness, loneliness, aloneness, lone, solitary, solitude, 21878 wikitext text/x-wiki {{-so-}} == Magac == '''kalinimada''' === Tarjumaad === * {{en}}: singleness, loneliness, aloneness, lone, solitary, solitude, srbfr5q28vs4je029oordqhs7gb5mij waalida 0 6619 24590 21879 2023-09-02T21:03:45Z Girligaanshub 3150 24590 wikitext text/x-wiki {{-so-}} == Magac == '''waalida''' === Tarjumaad === * {{en}}: mental health disorder, craziness, psychosis, lunacy, derangement, insanity, madness, psychological disorder, oqqpaue3j20uheoogvd96rt62vjaej9 falalka 0 6620 21880 2022-08-19T11:31:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''falalka''' === Tarjumaad === * {{en}}: actions, gestures, expressions, signals, gesticulations, intimation, kinescis, 21880 wikitext text/x-wiki {{-so-}} == Magac == '''falalka''' === Tarjumaad === * {{en}}: actions, gestures, expressions, signals, gesticulations, intimation, kinescis, okrg0closk7wsigqcpqwhzpgd6vx9ow xamilo 0 6621 28074 21881 2024-06-08T23:11:04Z Girligaanshub 3150 28074 wikitext text/x-wiki {{-so-}} == Magac == '''xamilo''' === Tarjumaad === * {{en}}: bear, handle, cope, manage, harness, endure, countenance, confront, address, tolerate, brace, sustain, withstand, ===Synonyms=== *[[xamilo]], [[maamulo]], [[kormeero]], [[faallo guud]], [[wargelin]] 767f9jgkv64w1x6kskniyrua6a31ikx muqaawamo 0 6622 21882 2022-08-19T12:31:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muqawamo''' === Tarjumaad === * {{en}}: resist, 21882 wikitext text/x-wiki {{-so-}} == Magac == '''muqawamo''' === Tarjumaad === * {{en}}: resist, mqlnyburn1hfn7udsx5lkf3y18bn5p6 muqaawamada 0 6623 21883 2022-08-19T12:32:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muqaawamada''' === Tarjumaad === * {{en}}: resistance, 21883 wikitext text/x-wiki {{-so-}} == Magac == '''muqaawamada''' === Tarjumaad === * {{en}}: resistance, i7rmjgvj4p4pd0dkhlwwqtyd3c0oj01 dadbannimo 0 6624 21947 21884 2022-08-23T21:08:03Z Girligaanshub 3150 Girligaanshub moved page [[foorinimo]] to [[dadbannimo]] 21884 wikitext text/x-wiki {{-so-}} == Magac == '''fooriga''' === Tarjumaad === * {{en}}: whistling, euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech, doublespeak, plausible deniability, aesopian language, dog-whistle politics, subliminal messaging, word salad, schizophasia, conversationalism 3mpja4llnqjrp81l1v8lvoxx9a8b4b2 bayaani 0 6625 21885 2022-08-20T18:24:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bayaani''' === Tarjumaad === * {{en}}: clarify, illuminate, shed light on, clear up, cleanse 21885 wikitext text/x-wiki {{-so-}} == Magac == '''bayaani''' === Tarjumaad === * {{en}}: clarify, illuminate, shed light on, clear up, cleanse n107zbjf7ya2s4215svf0vhmghdben5 alwaax 0 6626 21886 2022-08-20T22:51:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alwaax''' === Tarjumaad === * {{en}}: wood, 21886 wikitext text/x-wiki {{-so-}} == Magac == '''alwaax''' === Tarjumaad === * {{en}}: wood, qahjv2aaudq90irba7t1bxum77jc2cw caws 0 6627 28547 21887 2024-06-17T08:38:55Z Girligaanshub 3150 28547 wikitext text/x-wiki {{-so-}} == Magac == '''caws''' === Tarjumaad === * {{en}}: grass, ===Synonyms=== *[[caws]], [[doog]] cnv2o7kjbsw6oufxioi5zpwmk5qzbx5 baadari 0 6628 21888 2022-08-21T09:29:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baadari''' === Tarjumaad === * {{en}}: pope, priest, cardinal, 21888 wikitext text/x-wiki {{-so-}} == Magac == '''baadari''' === Tarjumaad === * {{en}}: pope, priest, cardinal, 00jv8bh56vyjmb4b8fzy6bf0nk8410y guduud 0 6629 25420 25411 2023-10-18T14:38:19Z Girligaanshub 3150 25420 wikitext text/x-wiki {{-so-}} == Magac == '''guduud''' === Tarjumaad === * {{en}}: color red ev20zl883utk83ghs3vtkfm951zwlg0 dhurwaa 0 6630 21890 2022-08-21T09:52:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhurwaa''' === Tarjumaad === * {{en}}: brown hyena, 21890 wikitext text/x-wiki {{-so-}} == Magac == '''dhurwaa''' === Tarjumaad === * {{en}}: brown hyena, e7uhh1k8e44yqqdb2uqolowxjl22lac dibeeyo 0 6631 28584 21891 2024-06-29T12:16:22Z Girligaanshub 3150 28584 wikitext text/x-wiki {{-so-}} == Magac == '''dibeeyo''' === Tarjumaad === * {{en}}: nail, spike, impale, pin, prick, spear, hammer, pound, spike, pummel, whack, pierce, * {{en}}: fuck, copulate, ===Synonyms=== *[[birey]], [[dibeeyo]], [[dhibeey]] ===Synonyms=== *[[dhibeey]], [[dibeeyo]], [[was]] 57l5ed23ev1sz1djq2i70hs5wugujc2 dibaynta 0 6632 21892 2022-08-21T10:24:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibeeyo''' === Tarjumaad === * {{en}}: nailing, spiking, impaling, pinning, pricking, spearing, hammering, pounding, spiking, pummeling, whacking, 21892 wikitext text/x-wiki {{-so-}} == Magac == '''dibeeyo''' === Tarjumaad === * {{en}}: nailing, spiking, impaling, pinning, pricking, spearing, hammering, pounding, spiking, pummeling, whacking, ttzoub2om04ji60fc3v8lnl4ks2j7xc tajwiido 0 6633 21893 2022-08-21T11:45:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tajwiido''' === Tarjumaad === * {{en}}: pronounce 21893 wikitext text/x-wiki {{-so-}} == Magac == '''tajwiido''' === Tarjumaad === * {{en}}: pronounce qj73mjtvwaf6r8bgb1n27h2h2ujmp1p tajwiidka 0 6634 21894 2022-08-21T11:46:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tajwiidka''' === Tarjumaad === * {{en}}: pronunciation, 21894 wikitext text/x-wiki {{-so-}} == Magac == '''tajwiidka''' === Tarjumaad === * {{en}}: pronunciation, qmvgjnafxn64wlw3sqd147msjo919o0 tajwiidi 0 6635 21895 2022-08-21T11:47:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tajwiidi''' === Tarjumaad === * {{en}}: pronouncer 21895 wikitext text/x-wiki {{-so-}} == Magac == '''tajwiidi''' === Tarjumaad === * {{en}}: pronouncer pzy7g3kzizouxofv06lf4o2edrngz9d qariibnimo 0 6636 21896 2022-08-22T07:32:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qariibnimo''' === Tarjumaad === * {{en}}: weirdness, silliness, strangeness, bizarreness, outlandishness, peculiarity, craziness, inappropriateness, erraticness, eccentricness, quirkiness, 21896 wikitext text/x-wiki {{-so-}} == Magac == '''qariibnimo''' === Tarjumaad === * {{en}}: weirdness, silliness, strangeness, bizarreness, outlandishness, peculiarity, craziness, inappropriateness, erraticness, eccentricness, quirkiness, t1i75vq63srha8gc6j1wp3bi4u13n5t garee 0 6637 21897 2022-08-22T08:39:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garee''' === Tarjumaad === * {{en}}: undertake, perpetrate, perform, implement 21897 wikitext text/x-wiki {{-so-}} == Magac == '''garee''' === Tarjumaad === * {{en}}: undertake, perpetrate, perform, implement 42nsypzg73z0p40vq90rv08r8triq8t madaafiic 0 6638 21898 2022-08-22T09:17:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madaafiic''' === Tarjumaad === * {{en}}: bazooka, rocket launcher, RPG, rocket propelled grenade, mortar, cannon 21898 wikitext text/x-wiki {{-so-}} == Magac == '''madaafiic''' === Tarjumaad === * {{en}}: bazooka, rocket launcher, RPG, rocket propelled grenade, mortar, cannon mw7ybsxl3wigrjiw399jc0ed4jzueim is-garasho 0 6639 24017 21900 2023-07-22T12:51:20Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[af-garasho]] 24017 wikitext text/x-wiki #REDIRECT [[af-garasho]] 5ncebnx3nunu5b54fa1m4mjro2dptzf is-xaqiijin 0 6640 21901 2022-08-22T11:12:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-xaqiijin''' === Tarjumaad === * {{en}}: self-actualization, self-realization, self-awareness, self-concept, residual self image, digital self, 21901 wikitext text/x-wiki {{-so-}} == Magac == '''is-xaqiijin''' === Tarjumaad === * {{en}}: self-actualization, self-realization, self-awareness, self-concept, residual self image, digital self, 362n17tzc8ptav5t16kcdbggrwkm53w is-garashada 0 6641 21902 2022-08-22T11:12:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-garashada''' === Tarjumaad === * {{en}}: self-actualization, self-realization, self-awareness, self-concept, residual self image, digital self, 21902 wikitext text/x-wiki {{-so-}} == Magac == '''is-garashada''' === Tarjumaad === * {{en}}: self-actualization, self-realization, self-awareness, self-concept, residual self image, digital self, iz54cwh4hwhrzfwi2sgobvzngetny5i hawlsan 0 6642 21903 2022-08-22T11:31:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hawlsan''' === Tarjumaad === * {{en}}: busy, occupied, engaged, hustling, active, on duty, on assignment, preoccupied, currently absorbed, currently immersed, 21903 wikitext text/x-wiki {{-so-}} == Magac == '''hawlsan''' === Tarjumaad === * {{en}}: busy, occupied, engaged, hustling, active, on duty, on assignment, preoccupied, currently absorbed, currently immersed, 00p2m6265kwyfunh6r4on6g6lvgtebc hagbad 0 6643 21904 2022-08-22T11:57:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagbad''' === Tarjumaad === * {{en}}: family wealth, community wealth, community savings, community micro-finance, community savings rotations, community credit rotations 21904 wikitext text/x-wiki {{-so-}} == Magac == '''hagbad''' === Tarjumaad === * {{en}}: family wealth, community wealth, community savings, community micro-finance, community savings rotations, community credit rotations kc3dl06sh03wmagykodgqx4z1whah44 gawsaha 0 6644 21905 2022-08-22T12:25:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gawsaha''' === Tarjumaad === * {{en}}: molars 21905 wikitext text/x-wiki {{-so-}} == Magac == '''gawsaha''' === Tarjumaad === * {{en}}: molars plyzqlllrvhbsonbwspov3y6gtoxs1t sakow 0 6645 29383 28901 2024-08-02T13:04:10Z Girligaanshub 3150 29383 wikitext text/x-wiki {{-so-}} == Magac == '''sakow''' === Tarjumaad === * {{en}}: illustrator, producer, composer, scribe, librarian, accountant, transcriber, clerk, copyist, scrivener, transcriptionist, copier, stenographer, recorder, illuminator, rapporteur, * {{en}}: brief, report, recording, note, illustration, documentation ===Synonyms=== *[[sakow]], [[khasnaji]], [[qalinley]] ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], ===Synonyms=== *[[xamilo]], [[maamulo]], [[kormeero]], [[faallo guud]], [[wargelin]], [[warmurtiyeed]], [[dulxaadis]], [[dulucda]], [[dhowrista]], [[sakoweyn]] mwfdaxdk6e05b15v9gbz53wzt2ww348 xerta dhalin suuq 0 6646 31161 31159 2024-10-04T13:20:51Z Girligaanshub 3150 31161 wikitext text/x-wiki {{-so-}} == Magac == '''xerta dhalin suuq''' === Tarjumaad === * {{en}}: roadman culture, chav culture, jafaican subculture, wasteman subculture, kidulthood, creole subculture, grime subculture, gang subculture rzg38q01lv8pf87ax36yyd433hxgjab xerta dhalin xaafada 0 6647 31163 31162 2024-10-04T13:21:21Z Girligaanshub 3150 Girligaanshub moved page [[dhalin xaafada]] to [[xerta dhalin xaafada]] 31162 wikitext text/x-wiki {{-so-}} == Magac == '''xerta dhalin xaafada''' === Tarjumaad === * {{en}}: roadman culture, chav culture, jafaican subculture, wasteman subculture, kidulthood, creole subculture, grime subculture, gang subculture 6samh0xksp0dcrsa0hbyckr6iy8c5v7 maro-ku-dhegyahan 0 6648 22123 22119 2022-09-13T01:38:28Z Girligaanshub 3150 22123 wikitext text/x-wiki {{-so-}} == Magac == '''maro-ku-dhegyahan''' === Tarjumaad === * {{en}}: hard headed person, uncompromising person 8gzukmtmu7y64ipx71hef4qtgzjbw2k fejignaan insaan 0 6649 21910 2022-08-22T22:34:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fejignaan insaan''' === Tarjumaad === * {{en}}: cynical 21910 wikitext text/x-wiki {{-so-}} == Magac == '''fejignaan insaan''' === Tarjumaad === * {{en}}: cynical m5npg45yxgqyvbayptjey9nq8od400z fejignaanta insaanka 0 6650 21911 2022-08-22T22:36:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fejignaanta insaanka''' === Tarjumaad === * {{en}}: cynicism 21911 wikitext text/x-wiki {{-so-}} == Magac == '''fejignaanta insaanka''' === Tarjumaad === * {{en}}: cynicism 94zp9dl13hp358zz2wbqiztc0g4nb20 marfuucal qalamiye 0 6651 21912 2022-08-22T22:39:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marfucal qalamiye''' === Tarjumaad === * {{en}}: person blameless for insanity, person unaccountable for insanity, person non-responsible for insanity, person law-exempt for insanity, person non-liable for insanity, 21912 wikitext text/x-wiki {{-so-}} == Magac == '''marfucal qalamiye''' === Tarjumaad === * {{en}}: person blameless for insanity, person unaccountable for insanity, person non-responsible for insanity, person law-exempt for insanity, person non-liable for insanity, pdnbb1jwlyrlsv6jdylal5km1rh15m9 firfircoone 0 6652 32012 26564 2024-10-27T03:15:49Z Girligaanshub 3150 32012 wikitext text/x-wiki {{-so-}} == Magac == '''firfircoone''' === Tarjumaad === * {{en}}: activist, influencer ===Synonyms=== *[[firfircooniye]], [[firfircoone]], [[afdhowre]], 4n0ukc5nysmhy3qekdj0sqa0n4xv7o1 farcane 0 6653 21914 2022-08-23T09:09:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcane''' === Tarjumaad === * {{en}}: natalist, pro-natalist, pro-birther, pro-lifer, procreationist, pro-offspring, pro-childbearing, reproductionist, pro-reproduction 21914 wikitext text/x-wiki {{-so-}} == Magac == '''farcane''' === Tarjumaad === * {{en}}: natalist, pro-natalist, pro-birther, pro-lifer, procreationist, pro-offspring, pro-childbearing, reproductionist, pro-reproduction 1ma1xla2o2nbhjvrpfzctjrb9zjea9p xanuun shaqsiyadeed 0 6654 21915 2022-08-23T09:56:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanuun shaqsiyadeed''' === Tarjumaad === * {{en}}: personality disorder 21915 wikitext text/x-wiki {{-so-}} == Magac == '''xanuun shaqsiyadeed''' === Tarjumaad === * {{en}}: personality disorder ajsmvxgzege0uov9vbteowmdswyfd8m fanka 0 6655 21916 2022-08-23T09:57:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fanka''' === Tarjumaad === * {{en}}: art 21916 wikitext text/x-wiki {{-so-}} == Magac == '''fanka''' === Tarjumaad === * {{en}}: art aamf22efpq7xufbk8odzcect2mp11ws anaaniga 0 6656 21917 2022-08-23T09:58:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''anaaniga''' === Tarjumaad === * {{en}}: narcissistic 21917 wikitext text/x-wiki {{-so-}} == Magac == '''anaaniga''' === Tarjumaad === * {{en}}: narcissistic br4p9ymugdehuv2j0mz80kqtbnxo6ir dhaxlo 0 6657 29258 21918 2024-07-31T06:02:15Z Girligaanshub 3150 29258 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxlo''' === Tarjumaad === * {{en}}: inherit, succeed (throne), become heir * {{en}}: embroil, involve, interweave, intertwine, enact p5egzfzn1hzw44yuwbqfqrtmp7sf7du cawaaqib 0 6658 28370 21919 2024-06-14T19:32:24Z Girligaanshub 3150 28370 wikitext text/x-wiki {{-so-}} == Magac == '''cawaaqib''' === Tarjumaad === * {{en}}: consequence, repercussion, aftermath, fallout, outcome, affect, follow-up, sequel, ===Synonyms=== *[[maraado]], [[cawaaqib]] qvb5i5nl67yjpvk0qxxwvxfj4s23dqk qoomameyn 0 6659 23819 21920 2023-06-22T12:07:48Z Girligaanshub 3150 23819 wikitext text/x-wiki {{-so-}} == Magac == '''qoomameyn''' === Tarjumaad === * {{en}}: regret, remorse 8rmo6epqdwsn7jj8q19xrdctq27q46z fursad 0 6660 26400 21921 2023-12-18T03:59:49Z Girligaanshub 3150 26400 wikitext text/x-wiki {{-so-}} == Magac == '''fursad''' === Tarjumaad === * {{en}}: chance, opportunity, probable, ===Synonyms=== *[[bilkeedo]], [[fursad]] tm0bopkgjc38gtl58titb7gidx695hb mustaqbal 0 6661 29171 21922 2024-07-30T05:46:32Z Girligaanshub 3150 29171 wikitext text/x-wiki {{-so-}} == Magac == '''mustaqbal''' === Tarjumaad === * {{en}}: future ===Synonyms=== *[[qaddar]], [[calaf]], [[mustaqbal]], [[aayatiin]], [[aayo]] e5b2iirqr4k0ex0ti6ndz4l8n08ush9 sifooyin 0 6662 30710 27947 2024-09-11T03:25:03Z Girligaanshub 3150 30710 wikitext text/x-wiki {{-so-}} == Magac == '''sifooyin''' === Tarjumaad === * {{en}}: attributes, qualities, characteristics, traits, properties, features, aspects, facets, elements, trademarks, customs, mannerisms, conduct, ===Synonyms=== *[[jawinimo]], [[sifo]], [[sifooyin]], [[nuxur]], 35i8sj5yi4adamj4darvv011s1z8j3i jawi (dareen) 0 6663 32069 21924 2024-10-28T03:30:20Z Girligaanshub 3150 Bog loo bedeley [[jawi]] 32069 wikitext text/x-wiki #redirect [[jawi]] 2vh1n1u1mcynnyx1o8a7f64i8xvqi5j dabin 0 6664 21925 2022-08-23T11:40:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabin''' === Tarjumaad === * {{en}}: trap 21925 wikitext text/x-wiki {{-so-}} == Magac == '''dabin''' === Tarjumaad === * {{en}}: trap insvpkbsqlhijrjua2r5ypw001bnc8k maandhaaf 0 6665 21926 2022-08-23T11:43:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maandhaaf''' === Tarjumaad === * {{en}}: misunderstanding 21926 wikitext text/x-wiki {{-so-}} == Magac == '''maandhaaf''' === Tarjumaad === * {{en}}: misunderstanding pmhafuvs2njuxhy9l4k59fq65stzp1b maandhaafo 0 6666 21927 2022-08-23T11:44:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maandhaafo''' === Tarjumaad === * {{en}}: misunderstand 21927 wikitext text/x-wiki {{-so-}} == Magac == '''maandhaafo''' === Tarjumaad === * {{en}}: misunderstand myhdehnud0b91ok0tnc3bnseqxoo4c6 cilmibaadhe 0 6667 21928 2022-08-23T11:54:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmibaadhe''' === Tarjumaad === * {{en}}: researcher, investigator, experimenter, 21928 wikitext text/x-wiki {{-so-}} == Magac == '''cilmibaadhe''' === Tarjumaad === * {{en}}: researcher, investigator, experimenter, ll768uwsebfbj8a2i7blmgmcq7qs24o cilmibaadh 0 6668 21929 2022-08-23T11:55:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmibaadh''' === Tarjumaad === * {{en}}: research, investigation, experiment, inquiry, probe, 21929 wikitext text/x-wiki {{-so-}} == Magac == '''cilmibaadh''' === Tarjumaad === * {{en}}: research, investigation, experiment, inquiry, probe, cp6dxsj9nfecc44jay68z32lci18icv caqabado 0 6669 31652 27427 2024-10-19T17:11:28Z Girligaanshub 3150 31652 wikitext text/x-wiki {{-so-}} == Magac == '''caqabado''' === Tarjumaad === * {{en}}: constraint, obstacle, tribulation, challenge ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] s4bpzr6gk8goznmvclgnjail6d4ap30 jaanqaad 0 6670 32243 30040 2024-11-04T03:50:06Z Girligaanshub 3150 32243 wikitext text/x-wiki {{-so-}} == Magac == '''jaanqaad''' === Tarjumaad === * {{en}}: adapt, adjust, acclimatize, conform, adapting, adjusting, conforming, comply, compliance, be conventional, be normal, coincide, match ===Synonyms=== * [[beegan]], [[jaanqaad]], [[kaashi]], [[kaadso]] dxpm60ceaav98eljoe315hnygs9ahbb rabsho 0 6671 31642 27877 2024-10-19T17:05:21Z Girligaanshub 3150 31642 wikitext text/x-wiki {{-so-}} == Magac == '''rabsho''' === Tarjumaad === * {{en}}: mayhem, riot, rioting, troubles, chaos, disorder, turmoil, commotion, anarchy, disarray, mayhem, havoc, ===Synonyms=== *[[rabsho]], [[dirir]], [[rabshad]], [[tacaddi]] jz3c8xb434ipguqu99ed09mfjrkyfct nugulnimo 0 6672 24786 21933 2023-09-06T20:10:39Z Girligaanshub 3150 24786 wikitext text/x-wiki {{-so-}} == Magac == '''nugulnimo''' === Tarjumaad === * {{en}}: unsafe, vulnerable, susceptibility, helplessness, at risk, feebleness, delicateness, ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[xero-gelin]], [[tiirsasho]], [[nugul]], [[nugulnimo]] qmtqtxuvy0e0enlr4c9i2y238nq39xi kuray 0 6673 30568 21934 2024-09-07T22:24:16Z Girligaanshub 3150 30568 wikitext text/x-wiki {{-so-}} == Magac == '''kuray''' === Tarjumaad === * {{en}}: tween, preteen, preadolescent, tweenager, prepubescent, junior higher, tweenybopper, ===Synonyms=== *[[baaluqe]], [[kuray]] snaltaciy4jo92bcbmwgqrudpzyua7w doob 0 6674 32109 30042 2024-10-28T04:38:55Z Girligaanshub 3150 32109 wikitext text/x-wiki {{-so-}} == Magac == '''doob''' === Tarjumaad === * {{en}}: mud, * {{en}}: eligible bachelor, incel, beta male, truecel, undateable man, virgin, undateable, singleton man, single man * wooden basin ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]] 2yvwxysptz6xchct3srt6rgserx4fzx doobnimo 0 6675 21936 2022-08-23T13:52:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''doob''' === Tarjumaad === * {{en}}: muddiness, * {{en}}: eligible bachelor, inceldom, involuntary celibacy, beta male, trueceldom, undateability, lovelessness, sexlessness, 21936 wikitext text/x-wiki {{-so-}} == Magac == '''doob''' === Tarjumaad === * {{en}}: muddiness, * {{en}}: eligible bachelor, inceldom, involuntary celibacy, beta male, trueceldom, undateability, lovelessness, sexlessness, hzs06jd2c6wcyah1nnvmf4lruvewvtt foodley 0 6676 26107 26099 2023-11-29T09:10:42Z Girligaanshub 3150 26107 wikitext text/x-wiki {{-so-}} == Magac == '''foodley''' === Tarjumaad === * {{en}}: forehead-haver, * {{en}}: pretween girl, preteen girl, lassie, little girl, nymphette, lolita, jailbait, ===Synonyms=== *[[foodley]], [[gashaanti]], [[garoomey]], [[dhuullo]], [[tuurrey]] r2yfgqiud47377lw0ywb7c1g7g0zh1m food 0 6677 21938 2022-08-23T14:16:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''food''' === Tarjumaad === * {{en}}: forehead 21938 wikitext text/x-wiki {{-so-}} == Magac == '''food''' === Tarjumaad === * {{en}}: forehead tcntsga47czsrsdtsfz2x2uy2a4m2u6 firfircoonka 0 6678 21939 2022-08-23T14:17:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firfircoonka''' === Tarjumaad === * {{en}}: activity 21939 wikitext text/x-wiki {{-so-}} == Magac == '''firfircoonka''' === Tarjumaad === * {{en}}: activity 9a89qzogljumbu0ullf6mgy8z1bsg0j tuurrey 0 6679 26103 21940 2023-11-29T09:09:57Z Girligaanshub 3150 26103 wikitext text/x-wiki {{-so-}} == Magac == '''tuurrey''' === Tarjumaad === * {{en}}: pixie cut women's hair, * {{en}}: female adolescent, female pubescent, female juvenile, schoolgirl ===Synonyms=== *[[foodley]], [[gashaanti]], [[garoomey]], [[dhuullo]], [[tuurrey]] ow8zyj9lgutzzj4po55gu8fgi9ui8wm agagaarka 0 6680 21941 2022-08-23T17:49:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''agagaarka''' === Tarjumaad === * {{en}}: surroundings, neighbourhood 21941 wikitext text/x-wiki {{-so-}} == Magac == '''agagaarka''' === Tarjumaad === * {{en}}: surroundings, neighbourhood 7d7d55gdp2dul18kyb3r4g2fsmfqhdu marwo 0 6681 25329 21942 2023-10-15T12:34:03Z Girligaanshub 3150 25329 wikitext text/x-wiki {{-so-}} == Magac == '''marwo''' === Tarjumaad === * {{en}}: madam, miss, dame, spouse r5na8fjj43kcl9x4k5tjei0vvbwa9jy waayeelnimo 0 6682 21943 2022-08-23T18:15:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waayeelnimo''' === Tarjumaad === * {{en}}: elderly, ageing, seniority 21943 wikitext text/x-wiki {{-so-}} == Magac == '''waayeelnimo''' === Tarjumaad === * {{en}}: elderly, ageing, seniority 6zq6zl5iad4gxolzj0a057yi6wpilzt dadban 0 6683 30207 29928 2024-08-24T12:11:33Z Girligaanshub 3150 30207 wikitext text/x-wiki {{-so-}} == Magac == '''dadban''' === Tarjumaad === * {{en}}: indirect, passive, covert, surreptitious, underhanded, concealed, confidential, ambiguous, implicit, tacit, inferred, oblique, allusive, backhanded, evasive, inexplicit, cryptic ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]], [[dadban]] ===Antonyms=== *[[badheedh]], [[foolka-fool]] hafk6g2ls0iv22xgp5mqdi9mub571ww hadal dadban 0 6684 23643 21945 2023-05-23T16:17:31Z Girligaanshub 3150 23643 wikitext text/x-wiki {{-so-}} == Magac == '''hadal dadban''' === Tarjumaad === * {{en}}: indirect speech * {{en}}: euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech, doublespeak, plausible deniability, aesopian language, dog-whistle politics, subliminal messaging, ===synonyms=== *[[duurxul]] g1meyy6g4aiwhuwc2kkz2wr25g4lk4r foolka-fool 0 6685 32449 31241 2024-11-15T19:42:18Z Girligaanshub 3150 32449 wikitext text/x-wiki {{-so-}} == Magac == '''foolka-fool''' === Tarjumaad === * {{en}}: eye to eye, face to face, direct, explicit, overt ===Synonyms=== * [[foolka-fool]], [[toos]] ===Antonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]], [[dadban]] hf8vmbz06wb3qdxeon55d8xe73q33lr foorinimo 0 6686 21948 2022-08-23T21:08:03Z Girligaanshub 3150 Girligaanshub moved page [[foorinimo]] to [[dadbannimo]] 21948 wikitext text/x-wiki #REDIRECT [[dadbannimo]] jkrqhmj58gb05g022ncbxdz9ypb95ef is-kalkaalin 0 6687 32405 28970 2024-11-12T07:42:16Z Girligaanshub 3150 32405 wikitext text/x-wiki {{-so-}} == Magac == '''is-kalkaalin''' # [[iskaabulo]] === Tarjumaad === * {{en}}: self-help, self-therapy, self-assistance, self-care ===Synonyms=== *[[is-kalkaalin]], [[daawaynta xiriirka]], [[samafal]], [[samotalis]] mfiox4223c4dpfw895l28563570aoe6 bogaadin 0 6688 21950 2022-08-24T00:11:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bogaadin''' === Tarjumaad === * {{en}}: applause, validation, endorsement, affirmation, social approval, approval, virtue signals, attention seeking, 21950 wikitext text/x-wiki {{-so-}} == Magac == '''bogaadin''' === Tarjumaad === * {{en}}: applause, validation, endorsement, affirmation, social approval, approval, virtue signals, attention seeking, pg8e5iqi5wf57honk2e2wv7p58blyjf anaani 0 6689 28403 26481 2024-06-15T16:32:12Z Girligaanshub 3150 28403 wikitext text/x-wiki {{-so-}} == Magac == '''anaani''' === Tarjumaad === * {{en}}: narcissist ===Synonyms=== *[[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] l370g62ak3na2d9bia2wbffohhqxwsq anaaniyiin 0 6690 21952 2022-08-24T00:17:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''anaaniyiin''' === Tarjumaad === * {{en}}: narcissists 21952 wikitext text/x-wiki {{-so-}} == Magac == '''anaaniyiin''' === Tarjumaad === * {{en}}: narcissists pmnti81ztuvxkbtii9ypbtkmbejd01e nuxur 0 6691 30838 30709 2024-09-21T20:56:05Z Girligaanshub 3150 30838 wikitext text/x-wiki {{-so-}} == Magac == '''nuxur''' === Tarjumaad === * {{en}}: essence, substance, aspect, character, element, ===Synonyms=== *[[jawinimo]], [[sifo]], [[sifooyin]], [[nuxur]], [[dhuux]] ig8jko1r3agonqv3ump0spe658ultm7 walaac 0 6692 26769 25664 2024-02-12T01:14:48Z Girligaanshub 3150 26769 wikitext text/x-wiki {{-so-}} == Magac == '''walaac''' === Tarjumaad === * {{en}}: anxiety ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]] hnte4p0c7gefvyxuokvi3d4ujpd26vc tanaasulnimo 0 6693 21955 2022-08-25T10:15:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tanaasulnimo''' === Tarjumaad === * {{en}}: compromisation, reconciliation, propitiation, conciliation 21955 wikitext text/x-wiki {{-so-}} == Magac == '''tanaasulnimo''' === Tarjumaad === * {{en}}: compromisation, reconciliation, propitiation, conciliation qboplcp9zd8u54bbez2euw60t8u1wnr marfuucul qalamnimo 0 6694 21956 2022-08-25T10:58:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marfuucul qalamnimo''' === Tarjumaad === * {{en}}: non-liability, non-accountability, non-culpability, unaccountability, legal immunity, prosecution immunity, sanity immunity 21956 wikitext text/x-wiki {{-so-}} == Magac == '''marfuucul qalamnimo''' === Tarjumaad === * {{en}}: non-liability, non-accountability, non-culpability, unaccountability, legal immunity, prosecution immunity, sanity immunity e6y7p5ipqfgjzzdvvxjusbsc2iwfbab sifooyinka 0 6695 25227 21957 2023-10-10T16:19:08Z Girligaanshub 3150 Girligaanshub moved page [[sifoonyinka]] to [[sifooyinka]] 21957 wikitext text/x-wiki {{-so-}} == Magac == '''sifooyin''' === Tarjumaad === * {{en}}: attributes, qualities, characteristics, traits, properties, features, aspects, facets, elements, trademarks, customs, mannerisms, conduct, ingredients, things, additive, elements, factors, pieces, constituents, fundamentals, 2pciqjw7w0qb00ve8o4povah2mqp4ph is-kalkaaliye 0 6696 21958 2022-08-25T11:41:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-kalkaaliye''' === Tarjumaad === * {{en}}: self-helper, self-therapist self-assister, self-carer, self-medicator, self-diagnoser, self-treater, self-prescriber 21958 wikitext text/x-wiki {{-so-}} == Magac == '''is-kalkaaliye''' === Tarjumaad === * {{en}}: self-helper, self-therapist self-assister, self-carer, self-medicator, self-diagnoser, self-treater, self-prescriber og5ky1aiygal91vnr9zuc2dxmjfubuk dad ugaarsade 0 6697 21959 2022-08-25T12:16:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dad ugaarsade''' === Tarjumaad === * {{en}}: human eater, human hunter, cannibal 21959 wikitext text/x-wiki {{-so-}} == Magac == '''dad ugaarsade''' === Tarjumaad === * {{en}}: human eater, human hunter, cannibal b1ygx9gq74n0yijdhe3b7pv3uc2yqvc haramcad 0 6698 21960 2022-08-25T12:35:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haramcad''' === Tarjumaad === * {{en}}: Acinonyx jubatus, cheetah 21960 wikitext text/x-wiki {{-so-}} == Magac == '''haramcad''' === Tarjumaad === * {{en}}: Acinonyx jubatus, cheetah 2s0wyhu6ctr17q1qdvtk56k97aquvxu shabeel 0 6699 21961 2022-08-25T12:35:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shabeel''' === Tarjumaad === * {{en}}: leopard 21961 wikitext text/x-wiki {{-so-}} == Magac == '''shabeel''' === Tarjumaad === * {{en}}: leopard sycco1w5obw6tz94j6lnmojvyuyvuie jawinimo 0 6700 30712 27953 2024-09-11T03:25:41Z Girligaanshub 3150 30712 wikitext text/x-wiki {{-so-}} == Magac == '''jawi''' === Tarjumaad === * {{en}}: atmospherism, * {{en}}: atmosphere, mood, vibe, ambience, aura, demeanour, disposition, attitude, conduct, ===Synonyms=== *[[jawinimo]], [[sifo]], [[sifooyin]], [[nuxur]], k5kpokz0sa6wmekrpbxga7m43dhpu62 Somali 0 6701 30367 21965 2024-08-30T08:33:56Z 43.228.126.122 e 30367 wikitext text/x-wiki {{-so-}} == Magac == '''Somali''' === Tarjumaad === * {{en}}: Someone from Somalia * {{en}}: Something related to Somalia f7rkang365s9q7c5przx1yyt79kq7ea hab 0 6702 28119 26118 2024-06-09T19:21:33Z Girligaanshub 3150 28119 wikitext text/x-wiki {{-so-}} == Magac == '''hab''' === Tarjumaad === * {{en}}: way, manner, method, mode, approach, procedure, style, technique, custom, routine, model, norm, etiquette, standard, typicality, convention, tradition, stereotype, archetype, prototype, personification, paradigm, ideal, paragon, exemplar, practise, lifestyle, way of life, ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] 7wtg7whvwg998ykdjh064l02jixt9h1 aabo tawarut 0 6703 21967 2022-08-27T02:26:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aabo tawarut''' === Tarjumaad === * {{en}}: enmeshing father, overprotective father 21967 wikitext text/x-wiki {{-so-}} == Magac == '''aabo tawarut''' === Tarjumaad === * {{en}}: enmeshing father, overprotective father jwiekect0kzwoxu3xmd1x93bu9y9i4j hooyo tawarut 0 6704 21968 2022-08-27T02:27:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hooyo tawarut''' === Tarjumaad === * {{en}}: enmeshing mother, overprotective mother, emotionally incestual mother, psychically incestual mother 21968 wikitext text/x-wiki {{-so-}} == Magac == '''hooyo tawarut''' === Tarjumaad === * {{en}}: enmeshing mother, overprotective mother, emotionally incestual mother, psychically incestual mother 6eily256ffz4xta35dlqha0alcaqlxn walaalo tawarut 0 6705 21969 2022-08-27T02:28:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walaalo tawarut''' === Tarjumaad === * {{en}}: enmeshing sibling, overprotective sibling, emotionally incestual sibling, psychically incestual sibling 21969 wikitext text/x-wiki {{-so-}} == Magac == '''walaalo tawarut''' === Tarjumaad === * {{en}}: enmeshing sibling, overprotective sibling, emotionally incestual sibling, psychically incestual sibling 9zp9y1abrg98jvs7ch6zbkpwss1azrv adeer tawarut 0 6706 21970 2022-08-27T02:30:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hooyo tawarut''' === Tarjumaad === * {{en}}: enmeshing uncle, overprotective uncle, emotionally incestual uncle, psychically incestual uncle 21970 wikitext text/x-wiki {{-so-}} == Magac == '''hooyo tawarut''' === Tarjumaad === * {{en}}: enmeshing uncle, overprotective uncle, emotionally incestual uncle, psychically incestual uncle cuddhkk22lt7d2ch987oq7lwlr8uhr6 eedo tawarut 0 6707 21971 2022-08-27T02:31:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eedo tawarut''' === Tarjumaad === * {{en}}: enmeshing aunt, overprotective aunt, emotionally incestual aunt, psychically incestual aunt 21971 wikitext text/x-wiki {{-so-}} == Magac == '''eedo tawarut''' === Tarjumaad === * {{en}}: enmeshing aunt, overprotective aunt, emotionally incestual aunt, psychically incestual aunt bu8irk4wc09wvvxpn1ynzrq076enyho ayeeyo tawarut 0 6708 21972 2022-08-27T02:32:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ayeeyo tawarut''' === Tarjumaad === * {{en}}: enmeshing grandmother, overprotective grandmother, emotionally incestual grandmother, psychically incestual grandmother 21972 wikitext text/x-wiki {{-so-}} == Magac == '''ayeeyo tawarut''' === Tarjumaad === * {{en}}: enmeshing grandmother, overprotective grandmother, emotionally incestual grandmother, psychically incestual grandmother jc6ygkrntkrm21pbsvr2wmoj0s57x6e awoowo tawarut 0 6709 21973 2022-08-27T02:33:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awoowo tawarut''' === Tarjumaad === * {{en}}: enmeshing grandfather, overprotective grandfather, emotionally incestual grandfather, psychically incestual grandfather 21973 wikitext text/x-wiki {{-so-}} == Magac == '''awoowo tawarut''' === Tarjumaad === * {{en}}: enmeshing grandfather, overprotective grandfather, emotionally incestual grandfather, psychically incestual grandfather rbbcwy0979cnntsqiveo0fr7edx9900 sinaan 0 6710 21974 2022-08-28T10:45:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sinaan''' === Tarjumaad === * {{en}}: equality 21974 wikitext text/x-wiki {{-so-}} == Magac == '''sinaan''' === Tarjumaad === * {{en}}: equality 64suusxozxyq98tvh6va353toy8za6c sarrayn 0 6711 21975 2022-08-28T11:11:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarrayn''' === Tarjumaad === * {{en}}: above, overhead, superior, excel, exceed, surpass, outclass, eclipse, 21975 wikitext text/x-wiki {{-so-}} == Magac == '''sarrayn''' === Tarjumaad === * {{en}}: above, overhead, superior, excel, exceed, surpass, outclass, eclipse, 0yd7eagmy9u54s5cx6cvnwiz7ae2gsn nugul la-duufsade 0 6712 21976 2022-08-28T12:52:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nugul la-duufsade''' === Tarjumaad === * {{en}}: vulnerable influencee 21976 wikitext text/x-wiki {{-so-}} == Magac == '''nugul la-duufsade''' === Tarjumaad === * {{en}}: vulnerable influencee 1ct3960le93czn025p225eamaq3fqx9 duufsade muuhiim 0 6713 21977 2022-08-28T12:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duufsade muhiim''' === Tarjumaad === * {{en}}: important influencer 21977 wikitext text/x-wiki {{-so-}} == Magac == '''duufsade muhiim''' === Tarjumaad === * {{en}}: important influencer a0jgrmvornxpjli4s9cg7m9yo9x4dmm qof marfuucul qalam ah 0 6714 21978 2022-08-28T13:15:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qof marfuucul qalam ah''' === Tarjumaad === * {{en}}: mentally handicapped person 21978 wikitext text/x-wiki {{-so-}} == Magac == '''qof marfuucul qalam ah''' === Tarjumaad === * {{en}}: mentally handicapped person bnj5izqojalnlw9wby9oofuj9c3ynnp qofka marfuucul qalam 0 6715 21979 2022-08-28T13:17:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qofka marfuucul qalam''' === Tarjumaad === * {{en}}: mentally disabled person, mentally impaired person 21979 wikitext text/x-wiki {{-so-}} == Magac == '''qofka marfuucul qalam''' === Tarjumaad === * {{en}}: mentally disabled person, mentally impaired person 1ldfj5gsgdu3acooayuohjhy8dxyvkc nugul marfuucul qalam 0 6716 21980 2022-08-28T13:18:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ngul marfuucul qalam''' === Tarjumaad === * {{en}}: vulnerable handicapped 21980 wikitext text/x-wiki {{-so-}} == Magac == '''ngul marfuucul qalam''' === Tarjumaad === * {{en}}: vulnerable handicapped q2hhr5p1rbpr1mmyowvs1ey7ij6kxfg marfuucul qalam nugul ah 0 6717 21981 2022-08-28T13:26:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marfuucul qalam nugul ah''' === Tarjumaad === * {{en}}: vulnerable mentally disabled person, vulnerable neurodivergent, vulnerable retard, vulnerable mentally disordered, the vulnerable mentally ill, the vulnerable psychiatrically unwell, the vulnerable neuropsychiatrically deranged, 21981 wikitext text/x-wiki {{-so-}} == Magac == '''marfuucul qalam nugul ah''' === Tarjumaad === * {{en}}: vulnerable mentally disabled person, vulnerable neurodivergent, vulnerable retard, vulnerable mentally disordered, the vulnerable mentally ill, the vulnerable psychiatrically unwell, the vulnerable neuropsychiatrically deranged, d7j6zq9ov3kdapmf4d0kqi90lq2ynhl saxiixe 0 6718 21982 2022-08-28T19:06:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxiixe''' === Tarjumaad === * {{en}}: signer, treatymaker, signatory, 21982 wikitext text/x-wiki {{-so-}} == Magac == '''saxiixe''' === Tarjumaad === * {{en}}: signer, treatymaker, signatory, 7jzssujiqta4p1e13rxjal28gcm18g5 saxiixeyaal gumeysi 0 6719 21983 2022-08-28T19:09:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxiixeyaal gumeysi''' === Tarjumaad === * {{en}}: colonial signers, colonial treatymakers, colonial signatories, 21983 wikitext text/x-wiki {{-so-}} == Magac == '''saxiixeyaal gumeysi''' === Tarjumaad === * {{en}}: colonial signers, colonial treatymakers, colonial signatories, c3hrltyntx6lfq8245266errhozxydf saxiixayaasha gumeysi 0 6720 21984 2022-08-28T19:11:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxiixayaasha gumeysi''' === Tarjumaad === * {{en}}: colonial signers, colonial treatymakers, colonial signatories, 21984 wikitext text/x-wiki {{-so-}} == Magac == '''saxiixayaasha gumeysi''' === Tarjumaad === * {{en}}: colonial signers, colonial treatymakers, colonial signatories, 3ddhqiw90yotp65vycvarp7bhm9dewm beesha saxiislaaweyaasha 0 6721 21986 2022-08-28T21:57:10Z Girligaanshub 3150 Girligaanshub moved page [[beesha saxiislaaweyaasha]] to [[beesha saxiixlaaweyaasha]] 21986 wikitext text/x-wiki #REDIRECT [[beesha saxiixlaaweyaasha]] 21988a5m26bhgcqbq1fmqw89eqzs6pm dabaq 0 6722 21987 2022-08-28T21:57:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaq''' === Tarjumaad === * {{en}}: floor level, level, storey 21987 wikitext text/x-wiki {{-so-}} == Magac == '''dabaq''' === Tarjumaad === * {{en}}: floor level, level, storey b5dfs2hccj7hswri5ayd70x50sknoen qeexay 0 6723 21988 2022-08-28T23:09:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qeexay''' === Tarjumaad === * {{en}}: outlined, defined 21988 wikitext text/x-wiki {{-so-}} == Magac == '''qeexay''' === Tarjumaad === * {{en}}: outlined, defined sjo9y2h72up0j0blbszt36kuunb6gu4 bukaanta 0 6724 31436 21989 2024-10-09T22:19:34Z Girligaanshub 3150 31436 wikitext text/x-wiki {{-so-}} == Magac == '''bukaanta''' === Tarjumaad === * {{en}}: hospital patients, 1btvya2xylyvw6uzeng3ca48r6urhfj xubno 0 6725 21990 2022-08-29T00:03:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xubno''' === Tarjumaad === * {{en}}: part, piece, constituent, element, portion, section, 21990 wikitext text/x-wiki {{-so-}} == Magac == '''xubno''' === Tarjumaad === * {{en}}: part, piece, constituent, element, portion, section, ektpngg7bmp2ufmnlc8cpyu1uqt3knl caawinaad 0 6726 26546 26545 2024-01-08T16:48:39Z Girligaanshub 3150 26546 wikitext text/x-wiki {{-so-}} == Magac == '''caawinaad''' === Tarjumaad === * {{en}}: dualization, binary, pair, double * {{en}}: help, support 3xgxxvaukjzwxuwb2ziet8xezx5s2db eexasho dadweynaha 0 6727 31034 28771 2024-10-01T20:08:36Z Girligaanshub 3150 31034 wikitext text/x-wiki {{-so-}} == Magac == '''eexasho dadweynaha''' === Tarjumaad === * {{en}}: public interest, public good, public well-being, general interest, public altruism ===Synonyms=== * [[qaaraan]], [[eexasho dadweynaha]], [[maslaxad]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], li5ajcl2ut3049zxesxqqxe36typ3y9 eexasho nafsiga 0 6728 21993 2022-08-29T18:33:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eexasho nafsiga''' === Tarjumaad === * {{en}}: self interest, self-centeredness, self-serving, egoism, selfishness, 21993 wikitext text/x-wiki {{-so-}} == Magac == '''eexasho nafsiga''' === Tarjumaad === * {{en}}: self interest, self-centeredness, self-serving, egoism, selfishness, nhwgqi0oop7xetm6xjt8wij3skaltkm makhaldame 0 6729 21994 2022-08-29T21:24:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''makhaldame''' === Tarjumaad === * {{en}}: infallible, flawless, faultless, sinless 21994 wikitext text/x-wiki {{-so-}} == Magac == '''makhaldame''' === Tarjumaad === * {{en}}: infallible, flawless, faultless, sinless i16n7vkaqfegz1ooigi0y32rfamvlv0 arxanlaawe 0 6730 31905 21995 2024-10-25T23:12:55Z Girligaanshub 3150 31905 wikitext text/x-wiki {{-so-}} == Magac == '''arxanlaawe''' === Tarjumaad === * {{en}}: cruel, callous, ruthless, brutal, barbarous, sadistic ===Synonyms=== *[[arxandarro]], [[majixinjixe]], [[waxshi]], [[arxanlaawe]] 958osn3n9xk1lh65bbas8ej0kb7v2ma ma-saxiixayaal 0 6731 22835 22828 2022-10-23T23:33:55Z Girligaanshub 3150 22835 wikitext text/x-wiki {{-so-}} == Magac == '''ma-saxiixayaal''' === Tarjumaad === * {{en}}: non-signers, non-colonial signers, non-treatymakers, non-signatories, ===Synonyms=== * [[dhaqaalaha rasmiga diid]] * [[dhaqaalaha tawradka]] ml4d6f4nn5juw6r5o9nvr8y2bvsz9my ma-saxiixe 0 6732 22837 21997 2022-10-23T23:34:48Z Girligaanshub 3150 22837 wikitext text/x-wiki {{-so-}} == Magac == '''ma-saxiixe''' === Tarjumaad === * {{en}}: non-signers, non-colonial signer, non-treatymaker, non-signatory, ===Synonyms=== * [[dhaqaalaha tawradka]] o1i9lo24uky2ezjgfsik33wlez8tha9 malo-awaal 0 6733 21998 2022-08-30T12:17:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malo-awaal''' === Tarjumaad === * {{en}}: speculation, 21998 wikitext text/x-wiki {{-so-}} == Magac == '''malo-awaal''' === Tarjumaad === * {{en}}: speculation, jp5f7o7phr59rk4glq830h15p3i8upv male-awaal 0 6734 27957 27542 2024-06-02T09:27:04Z Girligaanshub 3150 27957 wikitext text/x-wiki {{-so-}} == Magac == '''male-awaal''' === Tarjumaad === * {{en}}: speculation, hypothesis, ===Synonyms=== *[[faallada]], [[faallo]], [[oraah]], [[cillanaad]], [[male-awaal]], [[mala'awaal]], [[mala-awaal]], [[filasho]], [[naf-bidka]], [[janjeer]], [[jawinimo]], [[habsocod]], [[shaaca]], [[shaacinta]], [[sifo]], [[sifooyin]], [[marxaalad]], [[nuxur]], [[shaac-bixida]], [[shaac-kicinta]], [[shaac-bixin]] 6vqjp8hvu8jbxtem4rx8grjpoia1sha dalyaqaan 0 6735 22004 2022-08-30T14:19:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalyaqaan''' === Tarjumaad === * {{en}}: scout 22004 wikitext text/x-wiki {{-so-}} == Magac == '''dalyaqaan''' === Tarjumaad === * {{en}}: scout mqcfrmzn57mpjosk1n57kacnzg4l1q4 dalsan 0 6736 27133 27128 2024-04-10T14:19:24Z Girligaanshub 3150 27133 wikitext text/x-wiki {{-so-}} == Magac == '''dalsan''' === Tarjumaad === * {{en}}: fertile ===Synonyms=== *[[dalsanka]], [[dalsan]], [[kaabayaalaysan]], [[kaabayaal-leh]] kwbnpbe74m26vm4v244wsjhgr5qjabb dhooddi 0 6737 22007 2022-08-30T14:47:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhooddi''' === Tarjumaad === * {{en}}: steppe, tundra 22007 wikitext text/x-wiki {{-so-}} == Magac == '''dhooddi''' === Tarjumaad === * {{en}}: steppe, tundra 33qlrhfeq4shmukybnea2d9sqgunyh9 masiibo oomane 0 6738 28218 28214 2024-06-13T19:40:13Z Girligaanshub 3150 28218 wikitext text/x-wiki {{-so-}} == Magac == '''masiibo oomane''' === Tarjumaad === * {{en}}: drought catastrophe ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] sqb9j1xxfw5uing11mseex3ev55urvl deg-deg 0 6739 22010 2022-08-30T15:02:57Z Girligaanshub 3150 Girligaanshub moved page [[deg-deg]] to [[halis deg-deg]] 22010 wikitext text/x-wiki #REDIRECT [[halis deg-deg]] toedhnipouj8q4f5n9h9cppk0jh8664 oomane halis degdeg 0 6740 22011 2022-08-30T15:03:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomane halis deg-deg''' === Tarjumaad === * {{en}}: emergency drought 22011 wikitext text/x-wiki {{-so-}} == Magac == '''oomane halis deg-deg''' === Tarjumaad === * {{en}}: emergency drought go0u7c8g1j8koofvowzq9s5xnaui2x4 xantaha 0 6741 32599 22013 2024-11-25T10:15:28Z Girligaanshub 3150 32599 wikitext text/x-wiki {{-so-}} == Magac == '''xantaha''' === Tarjumaad === * {{en}}: gossip, rumours, rumour nk1eld2syqq0cwh6xk9bltged29gm3l caado 0 6742 31075 25327 2024-10-03T19:10:51Z Girligaanshub 3150 31075 wikitext text/x-wiki {{-so-}} == Magac == '''caado''' === Tarjumaad === * {{en}}: norm, etiquette, standard, typicality, convention, paradigm, ideal, paragon, exemplar, lifestyle, way of life, mainstream, regular, conventional, ===Synonyms=== *[[aqan]] r2sqm6a3f3i55gxo31g6pdxr5c6xnu2 curi 0 6743 25904 25902 2023-11-13T19:37:33Z Girligaanshub 3150 25904 wikitext text/x-wiki {{-so-}} == Magac == '''curi''' === Tarjumaad === * {{en}}: aroused, brewed, cultivated, fostered, nurtured, promoted, raised, spurred, instigated, kindled, hk29su0nfbo1qami2ik402hp7qq6a06 hadal murti 0 6744 22235 22017 2022-09-21T14:53:43Z Girligaanshub 3150 22235 wikitext text/x-wiki {{-so-}} == Magac == '''hadal murti''' === Tarjumaad === * {{en}}: adage, aphorism, advice, hint, tip, allegory e7aud8u4uxjpya6jock4qzpof4cg6m2 amaan 0 6745 22761 22020 2022-10-01T21:00:00Z Girligaanshub 3150 22761 wikitext text/x-wiki {{-so-}} == Magac == '''amaan''' === Tarjumaad === * {{en}}: praise, security, safety adejpb16ugczg6vquom31ptyoq8nvg4 korontoyaqaan 0 6746 22021 2022-08-31T12:49:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koronto-yaqaan''' === Tarjumaad === * {{en}}: electrician 22021 wikitext text/x-wiki {{-so-}} == Magac == '''koronto-yaqaan''' === Tarjumaad === * {{en}}: electrician alj3t74yq7sm6cxlaufc1my89vc2n7t sharciyaqaan 0 6747 22022 2022-08-31T12:50:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharci-yaqaan''' === Tarjumaad === * {{en}}: lawyer 22022 wikitext text/x-wiki {{-so-}} == Magac == '''sharci-yaqaan''' === Tarjumaad === * {{en}}: lawyer tbnmqrrfvs40zzswnm6l1o4b7w4dgsm dabaalyaqaan 0 6748 22023 2022-08-31T12:50:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaal-yaqaan''' === Tarjumaad === * {{en}}: swimmer 22023 wikitext text/x-wiki {{-so-}} == Magac == '''dabaal-yaqaan''' === Tarjumaad === * {{en}}: swimmer gazupwsym5rk2oq190m1q6l28a74wk1 hadalyaqaan 0 6749 22024 2022-08-31T12:51:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadal-yaqaan''' === Tarjumaad === * {{en}}: orator 22024 wikitext text/x-wiki {{-so-}} == Magac == '''hadal-yaqaan''' === Tarjumaad === * {{en}}: orator nz2adytbsb5t1mcii78bovautofsak9 farsamoyaqaan 0 6750 22025 2022-08-31T13:18:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farsamoyaqaan''' === Tarjumaad === * {{en}}: technician, engineer, craftsman, mechanic, machinist, blacksmith, 22025 wikitext text/x-wiki {{-so-}} == Magac == '''farsamoyaqaan''' === Tarjumaad === * {{en}}: technician, engineer, craftsman, mechanic, machinist, blacksmith, jnwwyjguzlrd1kca08py78cwgjbkwgk afyaqaan 0 6751 28906 24691 2024-07-25T02:52:22Z Girligaanshub 3150 28906 wikitext text/x-wiki {{-so-}} == Magac == '''af-yaqaan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], 2kdubindrj81q88vgomt8joumuc7gmx naxwo-yahan 0 6752 22027 2022-08-31T13:45:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naxwo-yahan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian 22027 wikitext text/x-wiki {{-so-}} == Magac == '''naxwo-yahan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian rfu286rlrpqnhh46p3w36q8qfx25wd6 qaamuusyahan 0 6753 22028 2022-08-31T13:46:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaamuusyahan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian 22028 wikitext text/x-wiki {{-so-}} == Magac == '''qaamuusyahan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian mpw3os5ze8zgoir7e8zckllbraet17w qaamuusyaqaan 0 6754 22029 2022-08-31T13:46:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaamuus-yaqaan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian 22029 wikitext text/x-wiki {{-so-}} == Magac == '''qaamuus-yaqaan''' === Tarjumaad === * {{en}}: lexicographer, linguist, wordsmith, etymologist, glossarist, lexicologist, philologist, phonetician, phonologist, polyglot, definer, dictionarist, dictionary editor, dictionary maker, glossarian, glossographer, glossologist, glottologist, lexicographist, philologer, philologian pczk924jsdf1vog8tc9ily122zikpih caadooyin 0 6755 28120 26117 2024-06-09T19:21:45Z Girligaanshub 3150 28120 wikitext text/x-wiki {{-so-}} == Magac == '''caadooyin''' === Tarjumaad === * {{en}}: norm, etiquette, standard, typicality, convention, tradition, stereotype, archetype, prototype, personification, paradigm, ideal, paragon, exemplar, practise, lifestyle, way of life, ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] fkxu09734idxoidsc6bbdsrqllshx5w caadooyinka 0 6756 22032 2022-08-31T13:52:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadooyinka''' === Tarjumaad === * {{en}}: norm, etiquette, standard, typicality, convention, tradition, stereotype, archetype, prototype, personification, paradigm, ideal, paragon, exemplar, practise, lifestyle, way of life, 22032 wikitext text/x-wiki {{-so-}} == Magac == '''caadooyinka''' === Tarjumaad === * {{en}}: norm, etiquette, standard, typicality, convention, tradition, stereotype, archetype, prototype, personification, paradigm, ideal, paragon, exemplar, practise, lifestyle, way of life, k56jhvtvw2xkiq15327qbskqc1ejdh9 jahada 0 6757 22033 2022-08-31T14:12:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jahada''' === Tarjumaad === * {{en}}: direction, 22033 wikitext text/x-wiki {{-so-}} == Magac == '''jahada''' === Tarjumaad === * {{en}}: direction, 6txl7immibnjkgi6bme7y1ciq4gkaey xasiloon 0 6758 24750 22034 2023-09-05T13:51:38Z Girligaanshub 3150 24750 wikitext text/x-wiki {{-so-}} == Magac == '''xasiloon''' === Tarjumaad === * {{en}}: stability, calmness, quietness, quietude, serenity, even-temperedness, staidness, sedate, temperance, continence, steadiness, security, protection h67e5dwhu94o1wu6xgjwhtm3gt4q95a xasiloon-laawe 0 6759 22035 2022-08-31T15:20:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xasiloonlaawe''' === Tarjumaad === * {{en}}: insecure, risky, 22035 wikitext text/x-wiki {{-so-}} == Magac == '''xasiloonlaawe''' === Tarjumaad === * {{en}}: insecure, risky, kexikgqenhxcfft6lw4v76wy9lkglu8 xikmah 0 6760 32290 32035 2024-11-07T17:35:10Z Girligaanshub 3150 32290 wikitext text/x-wiki {{-so-}} == Magac == '''xikmah''' === Tarjumaad === * {{en}}: good inference, valid inference, valid argumentation, logical reasoning, reasoning, rationality, rationalism, rationalist philosophy, sound judgement, wisdom, philosophy ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] kchtj4vd89oqup68t3h8gj9698ab4mx hikmah 0 6761 32289 22037 2024-11-07T17:34:57Z Girligaanshub 3150 32289 wikitext text/x-wiki {{-so-}} == Magac == '''hikmah''' === Tarjumaad === * {{en}}: good inference, valid inference, valid argumentation, logical reasoning, reasoning, rationality, rationalism, rationalist philosophy, sound judgement, wisdom, philosophy te8vwhcftj6lv59hdq14dvch3t657xp tacaddi 0 6762 29188 29136 2024-07-30T22:20:01Z Girligaanshub 3150 29188 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi''' === Tarjumaad === * {{en}}: abuse, tribulation, tribulations ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] 43nz8bs4bnrgemnho8rusf8lgpc24m9 tacaddi qiiro 0 6763 22039 2022-08-31T16:18:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi qiiro''' === Tarjumaad === * {{en}}: emotional abuse 22039 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi qiiro''' === Tarjumaad === * {{en}}: emotional abuse fpp3zqyaikq57j5u8zwasyuad4564zz tacaddi damiirka 0 6764 22040 2022-08-31T16:20:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi damiirka''' === Tarjumaad === * {{en}}: psychological abuse 22040 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi damiirka''' === Tarjumaad === * {{en}}: psychological abuse 5jmg1nszmhu1zkbe4n0kj3hopyo36e0 tacaddi fikirka 0 6765 22041 2022-08-31T16:22:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi fikirka''' === Tarjumaad === * {{en}}: psychological abuse 22041 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi fikirka''' === Tarjumaad === * {{en}}: psychological abuse g2mpq7ct70rccrsecvjol99cm1ui0nu tacaddi jireed 0 6766 22042 2022-08-31T16:27:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi jireed''' === Tarjumaad === * {{en}}: physical abuse 22042 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi jireed''' === Tarjumaad === * {{en}}: physical abuse a572avhg96o9ggx1980g4mx80m08uiu tacaddi ruuxiga 0 6767 22043 2022-08-31T16:32:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi ruuxiga''' === Tarjumaad === * {{en}}: spiritual abuse 22043 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi ruuxiga''' === Tarjumaad === * {{en}}: spiritual abuse h1osk9g8hh7owaz1crpthamdzhxegut ruuxiga 0 6768 22044 2022-08-31T16:32:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuxiga''' === Tarjumaad === * {{en}}: spiritual 22044 wikitext text/x-wiki {{-so-}} == Magac == '''ruuxiga''' === Tarjumaad === * {{en}}: spiritual 5s1c71plip1h1p4nfddy9pevsthhq6f ruux 0 6769 22045 2022-08-31T16:32:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruux''' === Tarjumaad === * {{en}}: spirit 22045 wikitext text/x-wiki {{-so-}} == Magac == '''ruux''' === Tarjumaad === * {{en}}: spirit su1fxiuhgdapycqq9ha8tvmd3n9r6uo ruuxeed 0 6770 22046 2022-08-31T16:33:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuxeed''' === Tarjumaad === * {{en}}: spiritual 22046 wikitext text/x-wiki {{-so-}} == Magac == '''ruuxeed''' === Tarjumaad === * {{en}}: spiritual qxyr61oxkgoqouw960gu1esc6pgdq9g ruuxiyan 0 6771 22047 2022-08-31T16:34:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuxiyan''' === Tarjumaad === * {{en}}: spiritist, spiritual 22047 wikitext text/x-wiki {{-so-}} == Magac == '''ruuxiyan''' === Tarjumaad === * {{en}}: spiritist, spiritual glwg3ulpvnanfplguwfdudw9ph4zw9v ruuxiyannimada 0 6772 22048 2022-08-31T16:34:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuxiyannimada''' === Tarjumaad === * {{en}}: spiritualism 22048 wikitext text/x-wiki {{-so-}} == Magac == '''ruuxiyannimada''' === Tarjumaad === * {{en}}: spiritualism jio7ol3ta9no9e63hinuwi06e5mks6j caafimaad ruuxeed 0 6773 22049 2022-08-31T16:35:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caafimaad ruuxeed''' === Tarjumaad === * {{en}}: spiritual health 22049 wikitext text/x-wiki {{-so-}} == Magac == '''caafimaad ruuxeed''' === Tarjumaad === * {{en}}: spiritual health slpwrmsmt65x6rxrulxw01n6mwln30q caafimaad jireed 0 6774 22050 2022-08-31T16:36:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caafimaad jireed''' === Tarjumaad === * {{en}}: physical health 22050 wikitext text/x-wiki {{-so-}} == Magac == '''caafimaad jireed''' === Tarjumaad === * {{en}}: physical health 1vu1agqjopq7de841a1urd9mb6k6kxy caafimaad qiireed 0 6775 22051 2022-08-31T16:36:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caafimaad qiireed''' === Tarjumaad === * {{en}}: emotional health 22051 wikitext text/x-wiki {{-so-}} == Magac == '''caafimaad qiireed''' === Tarjumaad === * {{en}}: emotional health b9y0o2mqmezj7z51bxq7tvwmwelbgy5 caafimaad damiireed 0 6776 22052 2022-08-31T16:37:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caafimaad damiireed''' === Tarjumaad === * {{en}}: mental health 22052 wikitext text/x-wiki {{-so-}} == Magac == '''caafimaad damiireed''' === Tarjumaad === * {{en}}: mental health qhz4ps30ko2cj931y1r623tzz9ob3e7 duwanaansho 0 6777 22053 2022-08-31T16:55:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duwanaansho''' === Tarjumaad === * {{en}}: difference 22053 wikitext text/x-wiki {{-so-}} == Magac == '''duwanaansho''' === Tarjumaad === * {{en}}: difference ecpk993jmfl535wqdqp42iab7bfhcyb duwanaanshaha 0 6778 22054 2022-08-31T16:57:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duwanaanshaha''' === Tarjumaad === * {{en}}: distinction, difference, divergence, contrast, dissimilarity, variance, deviation, polarity, gap, disparity, incongruity, non-conformity, 22054 wikitext text/x-wiki {{-so-}} == Magac == '''duwanaanshaha''' === Tarjumaad === * {{en}}: distinction, difference, divergence, contrast, dissimilarity, variance, deviation, polarity, gap, disparity, incongruity, non-conformity, ofokxifg0kpfzyhc3j0pui0b5ccpipd muran 0 6779 30063 22056 2024-08-23T16:12:15Z Girligaanshub 3150 30063 wikitext text/x-wiki {{-so-}} == Magac == '''muran''' === Tarjumaad === * {{en}}: bickering, arguing, quarrelling, dispute 630ig6pqpy8v3a3cpi6znhwphzw2mbn la murmo 0 6780 22057 2022-08-31T17:01:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''la murmo''' === Tarjumaad === * {{en}}: bicker, argue, quarrel 22057 wikitext text/x-wiki {{-so-}} == Magac == '''la murmo''' === Tarjumaad === * {{en}}: bicker, argue, quarrel g32ulqvnvtx0qtb63avlnoicsr0dvz6 xerada 0 6781 22062 2022-09-01T09:38:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xerada''' === Tarjumaad === * {{en}}: enclosure, courtyard, cage 22062 wikitext text/x-wiki {{-so-}} == Magac == '''xerada''' === Tarjumaad === * {{en}}: enclosure, courtyard, cage mq5ne3lxbnnw2ru8irlqzxdtowkm3da gobaabin 0 6782 22063 2022-09-02T00:25:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gobaabin''' === Tarjumaad === * {{en}}: incitement 22063 wikitext text/x-wiki {{-so-}} == Magac == '''gobaabin''' === Tarjumaad === * {{en}}: incitement fpn5oyyit1q4fot1nt1uqferp2lrnlv hunguri 0 6783 32497 31000 2024-11-17T00:04:46Z Girligaanshub 3150 32497 wikitext text/x-wiki {{-so-}} == Magac == '''hunguri''' === Tarjumaad === * {{en}}: throat, trachea * {{en}}: hedonism, hedonist * {{en}}: greed, craving, crave, desperate, desperation, obsess, obsession * {{en}}: food ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]] g7u3gqy58xh6w895byprilqkxly3y56 saabley 0 6784 22065 2022-09-02T00:39:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saabley''' === Tarjumaad === * {{en}}: torso 22065 wikitext text/x-wiki {{-so-}} == Magac == '''saabley''' === Tarjumaad === * {{en}}: torso 1rkka54jczmejdvgadlt2581f7trbgo luqun 0 6785 22066 2022-09-02T00:41:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''luqun''' === Tarjumaad === * {{en}}: neck 22066 wikitext text/x-wiki {{-so-}} == Magac == '''luqun''' === Tarjumaad === * {{en}}: neck 7h24b6qbjh7emarrcpfplyvs2nlfgwt taban 0 6786 24815 22846 2023-09-08T18:23:33Z Girligaanshub 3150 24815 wikitext text/x-wiki {{-so-}} == Magac == '''taban''' === Tarjumaad === * {{en}}: negative gpw33rgzfu11fb1y0vz2v6wnkcahknb tacaddi anaaniyada 0 6787 22068 2022-09-02T01:15:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacaddi anaaniyada''' === Tarjumaad === * {{en}}: megalomanic abuse, narcissistic abuse 22068 wikitext text/x-wiki {{-so-}} == Magac == '''tacaddi anaaniyada''' === Tarjumaad === * {{en}}: megalomanic abuse, narcissistic abuse lwlz0whwz5ln1qu8xn8u00kmtkfefvc tabannimo 0 6789 26554 26553 2024-01-10T10:34:27Z Girligaanshub 3150 26554 wikitext text/x-wiki {{-so-}} == Magac == '''tabannimo''' === Tarjumaad === * {{en}}: evenness, neutrality, impartiality, fairness, individuality * {{en}}: negativity kbxnx9qama26x8bzgd6c3p8kj45avbx isla-gurmadka 0 6790 28969 22071 2024-07-27T18:46:37Z Girligaanshub 3150 28969 wikitext text/x-wiki {{-so-}} == Magac == '''isla-gurmadka''' # [[iskaabulo]] === Tarjumaad === * {{en}}: self-help, self-sufficiency cmwxxui5pbces6voywpfsiyxnhi19dj shaac 0 6791 28226 22072 2024-06-13T20:58:51Z Girligaanshub 3150 28226 wikitext text/x-wiki {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: boat-sail, * {{en}}: tent-coating, * {{en}}: drapery, * {{en}}: social trend, currency t9ghfoqmcvduyxjqg8j5fy8cbbn139p shaaca 0 6792 30691 27950 2024-09-11T03:10:20Z Girligaanshub 3150 30691 wikitext text/x-wiki {{-so-}} == Magac == '''shaaca''' === Tarjumaad === * {{en}}: social trend ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], h27hgylsvf86vvicbcu6v0w2xu1ohnp shaac-kac 0 6793 31461 31147 2024-10-12T23:54:25Z Girligaanshub 3150 31461 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-kac'' === Tarjumaad === * {{en}}: upwards social trend ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 5vim5rwtxyeextvlomdellxpa0tkim5 shaackac 0 6794 22075 2022-09-02T18:08:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaackac''' === Tarjumaad === * {{en}}: upwards social trend 22075 wikitext text/x-wiki {{-so-}} == Magac == '''shaackac''' === Tarjumaad === * {{en}}: upwards social trend lqfwj129idwyh14xyksbp7grioyy9cb shaac-dhac 0 6795 22076 2022-09-02T18:08:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaac-dhac''' === Tarjumaad === * {{en}}: downwards social trend 22076 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-dhac''' === Tarjumaad === * {{en}}: downwards social trend htlj86co01zzkixgba2p21ikw1y4hcc shaacdhac 0 6796 22077 2022-09-02T18:09:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacdhac''' === Tarjumaad === * {{en}}: downwards social trend 22077 wikitext text/x-wiki {{-so-}} == Magac == '''shaacdhac''' === Tarjumaad === * {{en}}: downwards social trend 3wfzyxw2y6gdzh1l4drdd4u2q93z6t0 shaac-naq 0 6797 22078 2022-09-02T18:12:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaac-naq''' === Tarjumaad === * {{en}}: social trend reversal 22078 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-naq''' === Tarjumaad === * {{en}}: social trend reversal 8fzrz6pwohullt7hx3fgkgz4sahqwh0 shaac-la' 0 6798 22079 2022-09-02T18:13:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacla'''' === Tarjumaad === * {{en}}: non-trending, without a social trend 22079 wikitext text/x-wiki {{-so-}} == Magac == '''shaacla'''' === Tarjumaad === * {{en}}: non-trending, without a social trend 83hqbi0ubgoss262eknsav3kx0oue52 shaacey 0 6799 22080 2022-09-02T18:15:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacey''' === Tarjumaad === * {{en}}: make trend 22080 wikitext text/x-wiki {{-so-}} == Magac == '''shaacey''' === Tarjumaad === * {{en}}: make trend qzq87orthbii014yygtjeynhgbn1pn9 shaac-leh 0 6800 22081 2022-09-02T18:15:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaac-leh''' === Tarjumaad === * {{en}}: trendy 22081 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-leh''' === Tarjumaad === * {{en}}: trendy lezl48y61ay9g3x3navroc5e2oymg4r shaacnimo 0 6801 22082 2022-09-02T18:16:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacnimo''' === Tarjumaad === * {{en}}: trendiness 22082 wikitext text/x-wiki {{-so-}} == Magac == '''shaacnimo''' === Tarjumaad === * {{en}}: trendiness rpdms1rxu3026gnzarl99l01uvnd1pl shaacaysan 0 6802 31462 31146 2024-10-12T23:54:37Z Girligaanshub 3150 31462 wikitext text/x-wiki {{-so-}} == Magac == '''shaacaysan''' === Tarjumaad === * {{en}}: trending ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] jkunao128zrvr1ooihx2tmk75e4vgl3 shaaceysan 0 6803 31464 31144 2024-10-12T23:54:58Z Girligaanshub 3150 31464 wikitext text/x-wiki {{-so-}} == Magac == '''shaaceysan''' === Tarjumaad === * {{en}}: socially trending ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] akrv1z1zl5f9fb6lg9c4sxp294hpw9u shaacyahan 0 6804 22085 2022-09-02T18:17:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacyahan''' === Tarjumaad === * {{en}}: social trendsetter 22085 wikitext text/x-wiki {{-so-}} == Magac == '''shaacyahan''' === Tarjumaad === * {{en}}: social trendsetter np2jeqju9p5n29c9tippbfkdbu4gstt shaacley 0 6805 22086 2022-09-02T18:17:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacley''' === Tarjumaad === * {{en}}: social trendsetter 22086 wikitext text/x-wiki {{-so-}} == Magac == '''shaacley''' === Tarjumaad === * {{en}}: social trendsetter dbcknn0dc8yie5jo0su6rwh4y6m2ctd shaacaya 0 6806 31463 31145 2024-10-12T23:54:47Z Girligaanshub 3150 31463 wikitext text/x-wiki {{-so-}} == Magac == '''shaacaya''' === Tarjumaad === * {{en}}: socially trending ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 7micrsyf8bwfabt0iyf2cb5we4ygm2g baraarugo 0 6807 22089 2022-09-02T19:58:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baraarugo''' === Tarjumaad === * {{en}}: awaken, alert 22089 wikitext text/x-wiki {{-so-}} == Magac == '''baraarugo''' === Tarjumaad === * {{en}}: awaken, alert ex63j673w14sm7m6bmqziho8du5l6tq shaaciga 0 6808 23576 23565 2023-05-20T22:48:24Z Girligaanshub 3150 /* Synonyms */ 23576 wikitext text/x-wiki {{-so-}} == Magac == '''shaaciga''' === Tarjumaad === * {{en}}: the social trend, the path, the way ===Synonyms=== * [[dhabaha]], toobiye 18kn4axek5zaxh08v322opo2vu8xow6 cilmi dabeecad dad 0 6810 22092 2022-09-05T07:54:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmi dabeecad dad''' === Tarjumaad === * {{en}}: praxeology, human behavior 22092 wikitext text/x-wiki {{-so-}} == Magac == '''cilmi dabeecad dad''' === Tarjumaad === * {{en}}: praxeology, human behavior qyznauv8c5a7vz5mszuixu4hiq6p40c cilmiga falalka dadka 0 6811 22093 2022-09-05T07:55:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilmiga falalka dadka''' === Tarjumaad === * {{en}}: human behaviour study, praxeology 22093 wikitext text/x-wiki {{-so-}} == Magac == '''cilmiga falalka dadka''' === Tarjumaad === * {{en}}: human behaviour study, praxeology mwfb7r79xo893csxugh1aisb4ln1vco ismilicsi 0 6812 22094 2022-09-05T10:18:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ismilicsi''' === Tarjumaad === * {{en}}: introspection 22094 wikitext text/x-wiki {{-so-}} == Magac == '''ismilicsi''' === Tarjumaad === * {{en}}: introspection sm5dyhqox5o4nhqo0awcnd53rfwgfsm xayn 0 6813 31587 30976 2024-10-16T04:06:55Z Girligaanshub 3150 31587 wikitext text/x-wiki {{-so-}} == Magac == '''xayn''' === Tarjumaad === * {{en}}: group ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] tfn9uycfiwmylk7svedtribuwspg4pa koox 0 6814 31591 30966 2024-10-16T04:08:05Z Girligaanshub 3150 31591 wikitext text/x-wiki {{-so-}} == Magac == '''koox''' === Tarjumaad === * {{en}}: group, collection ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] nct0huhm3wns3mfe6nl6i6t7y5s8a83 majuusi 0 6815 29169 24581 2024-07-30T05:43:11Z Girligaanshub 3150 29169 wikitext text/x-wiki {{-so-}} == Magac == '''majuusi''' === Tarjumaad === * {{en}}: pagan, ancestor worshipper, sun worshipper ===Synonyms=== *[[majuusi]], [[mulxid]], [[cawaan]], [[calmaani]] aa0p3uj6gmx5dap4kj0cnp4ss20b0du majuusinimo 0 6816 22098 2022-09-05T10:31:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majuusinimo''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 22098 wikitext text/x-wiki {{-so-}} == Magac == '''majuusinimo''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 8hc0ipd5yuzepjbsw2s0rg2of2b4m80 majuusinimada 0 6817 22099 2022-09-05T10:31:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majuusinimada''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 22099 wikitext text/x-wiki {{-so-}} == Magac == '''majuusinimada''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 9la47ru4et9jfa4yaum18czw282149e toolmoon 0 6818 32514 26736 2024-11-18T10:51:25Z Girligaanshub 3150 32514 wikitext text/x-wiki {{-so-}} == Magac == '''toolmoon''' === Tarjumaad === * {{en}}: perfect, fact, factual ===Synonyms=== *[[toolmoon]], [[idil]], [[dheylan]], [[qumman]] pudg9n44mtelxdidxn7nvzveuqauw8a toolmoonka 0 6819 23921 22101 2023-07-06T15:25:06Z Girligaanshub 3150 23921 wikitext text/x-wiki {{-so-}} == Magac == '''toolmoonka''' === Tarjumaad === * {{en}}: perfectionism, fact, factual hgidgpxuvhm5h88koafh6sgzmii4ywt toolmoonada 0 6820 23922 22102 2023-07-06T15:25:22Z Girligaanshub 3150 23922 wikitext text/x-wiki {{-so-}} == Magac == '''toolmoonada''' === Tarjumaad === * {{en}}: perfectionism, fact, factual e8z13l5ljcxqbrhm7r2lffimvhhoese toolmooney 0 6821 22103 2022-09-05T10:35:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''talmooney''' === Tarjumaad === * {{en}}: perfected 22103 wikitext text/x-wiki {{-so-}} == Magac == '''talmooney''' === Tarjumaad === * {{en}}: perfected dhrcinntg3vumr2urkas7gisq227bjl toolmoonaaya 0 6822 22104 2022-09-05T10:37:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toolmoonaaya''' === Tarjumaad === * {{en}}: perfecting 22104 wikitext text/x-wiki {{-so-}} == Magac == '''toolmoonaaya''' === Tarjumaad === * {{en}}: perfecting kpdeb2k7qyqo3l87by8cb0xpls7681l majuusiga 0 6823 22105 2022-09-05T11:02:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majuusiga''' === Tarjumaad === * {{en}}: paganistic, ancestor worshipping, sun worshipping 22105 wikitext text/x-wiki {{-so-}} == Magac == '''majuusiga''' === Tarjumaad === * {{en}}: paganistic, ancestor worshipping, sun worshipping pfv189wg3rp3nnm1adl3bm7gjctxzhr caadiyeystay 0 6824 22106 2022-09-07T20:39:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caadiyeystay''' === Tarjumaad === * {{en}}: normalized, 22106 wikitext text/x-wiki {{-so-}} == Magac == '''caadiyeystay''' === Tarjumaad === * {{en}}: normalized, lsuv1ic8xdzeoof2ehze0je9mzhom8o tayada 0 6825 22107 2022-09-08T18:25:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tayada''' === Tarjumaad === * {{en}}: qualitative, 22107 wikitext text/x-wiki {{-so-}} == Magac == '''tayada''' === Tarjumaad === * {{en}}: qualitative, 5t6rja57ywzkpqwuyc53ziauytjr449 waayo-arag 0 6826 31312 31304 2024-10-04T17:53:24Z Girligaanshub 3150 31312 wikitext text/x-wiki {{-so-}} == Magac == '''waayo-arag''' === Tarjumaad === * {{en}}: experience, insight ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]], 0b38znaqyx5lrvhusbp0i4exygbwwok farcanada 0 6827 22109 2022-09-08T22:09:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcanada''' === Tarjumaad === * {{en}}: natalistic, 22109 wikitext text/x-wiki {{-so-}} == Magac == '''farcanada''' === Tarjumaad === * {{en}}: natalistic, qwvdooof4fk6bmfsu3zzhnf1en27p41 farcanka 0 6828 22110 2022-09-08T22:09:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farcanka''' === Tarjumaad === * {{en}}: seed, natalist 22110 wikitext text/x-wiki {{-so-}} == Magac == '''farcanka''' === Tarjumaad === * {{en}}: seed, natalist qnv6kpyhbt56vz4igx7bn77hgb79vmd cabbirka 0 6829 22111 2022-09-09T16:49:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabbirka''' === Tarjumaad === * {{en}}: measurement, size 22111 wikitext text/x-wiki {{-so-}} == Magac == '''cabbirka''' === Tarjumaad === * {{en}}: measurement, size 2ghcgm6psxmbsw9r3zacmy33wzh9q9h shaashada 0 6830 22112 2022-09-09T16:49:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaashada''' === Tarjumaad === * {{en}}: screen, display 22112 wikitext text/x-wiki {{-so-}} == Magac == '''shaashada''' === Tarjumaad === * {{en}}: screen, display h4iu701i8fdf6q1qd1eo3m71n6rzhky muraayadeynta 0 6831 22113 2022-09-09T16:50:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muraayadeynta''' === Tarjumaad === * {{en}}: mirroring, vicarious emotional regulation 22113 wikitext text/x-wiki {{-so-}} == Magac == '''muraayadeynta''' === Tarjumaad === * {{en}}: mirroring, vicarious emotional regulation 78s3tkocddvg4zp5gjohwjdva6lbwlp majuusnimo 0 6832 22114 2022-09-09T16:51:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majuusnimo''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 22114 wikitext text/x-wiki {{-so-}} == Magac == '''majuusnimo''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship oabptpunqqnph2mzprigs7rt10fcnec majuusnimada 0 6833 22115 2022-09-09T16:52:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majuusnimada''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship 22115 wikitext text/x-wiki {{-so-}} == Magac == '''majuusnimada''' === Tarjumaad === * {{en}}: paganism, ancestor worship, sun worship evbtjk6toyong35a5fhmvf27yvq49sj horgal 0 6834 31783 28536 2024-10-25T20:45:13Z Girligaanshub 3150 31783 wikitext text/x-wiki {{-so-}} == Magac == '''horgal''' === Tarjumaad === * {{en}}: turncoat, docile, astroturfer, astroturfing person, shill ([[magan]]), collaborator * {{en}}: sockpuppet, agent, sockpuppetting, sockpuppetting, stooge, shill, astroturfer, plant, turncoat, traitor, astroturfing, fifth column, false flagger, oikophobia, agent, sockpuppet, stooge, shill, astroturfer, plant, turncoat, informant, oikophobe, enabler, codependent * {{en}}: prefix, front ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] 35p60hx714ikejbs26n4b0v5h9umvi6 naq 0 6835 30089 30046 2024-08-23T17:43:07Z Girligaanshub 3150 30089 wikitext text/x-wiki {{-so-}} == Magac == '''naq''' === Tarjumaad === * {{en}}: reverse, * {{en}}: implement, instill, issue, specify, indicate, allude, designate, point out, refer, enforce ===Synonyms=== *[[beero]], [[karaarid]], [[gundhig]], [[naq]], ===Cognate=== *[[naq]], [[aaq]] nbnriwxduwaho5qplerzn1dc1zzze3k sifada 0 6836 22118 2022-09-11T15:23:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sifada''' === Tarjumaad === * {{en}}: attributes, qualities, characteristics, traits, properties, features, aspects, facets, elements, trademarks, customs, mannerisms, conduct, ingredients, things, additive, elements, factors, pieces, constituents, fundamentals, 22118 wikitext text/x-wiki {{-so-}} == Magac == '''sifada''' === Tarjumaad === * {{en}}: attributes, qualities, characteristics, traits, properties, features, aspects, facets, elements, trademarks, customs, mannerisms, conduct, ingredients, things, additive, elements, factors, pieces, constituents, fundamentals, 62ebkdmswac5k3jxxc30cs3mm54ni7m maro ilaaliye 0 6837 22120 2022-09-13T01:36:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maro-ilaaliye''' === Tarjumaad === * {{en}}: conservative, conservatist, traditionalist 22120 wikitext text/x-wiki {{-so-}} == Magac == '''maro-ilaaliye''' === Tarjumaad === * {{en}}: conservative, conservatist, traditionalist pcggp2w2n5pwtt7ffpiylily4cei2zt baal-midignimo 0 6838 32377 32375 2024-11-12T02:50:10Z Girligaanshub 3150 32377 wikitext text/x-wiki {{-so-}} == Magac == '''baal-midignimo''' === Tarjumaad === * {{en}}: orthodoxy, conservatism, traditionalism gfm97katwiv3lqe8b89h492khvflmbl qunyarsocod 0 6839 32828 32818 2024-12-02T11:02:52Z Girligaanshub 3150 32828 wikitext text/x-wiki {{-so-}} == Magac == '''qunyar-socod''' === Tarjumaad === * {{en}}: orthodox, conservative, traditional, conservatism ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] htjm1fmftaye5cjdz8s92yhq818r8dc maro-tuur 0 6840 28763 22126 2024-07-17T06:57:27Z Girligaanshub 3150 Bog loo bedeley [[shuuci]] 28763 wikitext text/x-wiki #redirect [[shuuci]] 1xhokvf8t3fv087v0zazbr0akrxejs2 maro-tuuraha 0 6841 22127 2022-09-13T02:49:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maro-tuuraha''' === Tarjumaad === * {{en}}: liberals, liberalist 22127 wikitext text/x-wiki {{-so-}} == Magac == '''maro-tuuraha''' === Tarjumaad === * {{en}}: liberals, liberalist jgplkxqflg8vh2sdkonmkuinecbffi5 baal-midiga 0 6842 32832 32387 2024-12-02T11:03:59Z Girligaanshub 3150 32832 wikitext text/x-wiki {{-so-}} == Magac == '''baal-midiga''' === Tarjumaad === * {{en}}: orthodoxy, conservatism, traditionalism ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] pvdgi2jl50pqu6trcgkel0nvfmnllsn maro-tuurka 0 6843 22129 2022-09-13T04:08:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maro-tuurka''' === Tarjumaad === * {{en}}: liberalism 22129 wikitext text/x-wiki {{-so-}} == Magac == '''maro-tuurka''' === Tarjumaad === * {{en}}: liberalism obgzmpkgqxc0xzhz0c7u41y70bllc84 baal-midig 0 6844 32383 32381 2024-11-12T02:51:45Z Girligaanshub 3150 32383 wikitext text/x-wiki {{-so-}} == Magac == '''baal-midig''' === Tarjumaad === * {{en}}: orthodoxy, conservative, right-wing ix438jc8qiuso9u9lxm3p2idafzg0um Shiikhyaale 0 6845 22454 22452 2022-09-26T19:04:29Z Girligaanshub 3150 22454 wikitext text/x-wiki {{-so-}} == Magac == '''Shiikhyaale''' === Tarjumaad === * {{en}}: A Darawiish gaashaanbuur subclan composed of Bah Nugal, Farah Garad & Mahamud Garad primarily during the 1890s until 1920s * {{en}}: a place where sheiks are predominant === Arag === * [[Dharbash]] * [[mindiile]] * [[Miinaale]] 82q8h65z1nuk0n33i5elgx0mq7py3h9 Miinaale 0 6846 22457 22455 2022-09-26T19:06:20Z Girligaanshub 3150 Girligaanshub moved page [[Miinaaleh]] to [[Miinaale]] 22137 wikitext text/x-wiki {{-so-}} == Magac == '''Miinanleh''' === Tarjumaad === * {{en}}: A Diiriye Guure era Darawiish gaashaanbuur subclan composed of Farah Garad primarily during the 1890s until 1920s * {{en}}: a group of camels from the Diiriye Guure era * {{en}}: miinaa (clearance) leh (possessor) k9aoi16286pqo98yndafh0j9uc6nk89 Golaweyne 0 6847 22133 2022-09-13T16:09:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Golaweyne''' === Tarjumaad === * {{en}}: A Diiriye Guure era Darawiish gaashaanbuur subclan composed of Galool Oriye, Jama Siyaad, Ararsame, & Bah Nugal * {{en}}: a large council ; gole (council) + weyne (big) 22133 wikitext text/x-wiki {{-so-}} == Magac == '''Golaweyne''' === Tarjumaad === * {{en}}: A Diiriye Guure era Darawiish gaashaanbuur subclan composed of Galool Oriye, Jama Siyaad, Ararsame, & Bah Nugal * {{en}}: a large council ; gole (council) + weyne (big) h1v25gxgr7d9mfo1fruuqxre63kgdcw Dharbash 0 6848 22451 22171 2022-09-26T19:03:53Z Girligaanshub 3150 22451 wikitext text/x-wiki {{-so-}} == Magac == '''Dharbash''' === Tarjumaad === * {{en}}: A Diiriye Guure era Darawiish gaashaanbuur subclan composed of Baharsame & Ararsame * {{en}}: an act of darbee (kicking) === Arag === * [[Shiikhyaale]] * [[mindiile]] * [[Miinaale]] cl2074fq58lgwpg588rci884vx17krt macmiilka 0 6849 31718 31196 2024-10-21T02:58:12Z Girligaanshub 3150 31718 wikitext text/x-wiki {{-so-}} == Magac == '''client''' === Tarjumaad === * {{en}}: patient, client ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] 9ajq08dcodvgugitfvmrlus9or8h1q3 miinaa 0 6850 22136 2022-09-13T16:27:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miinaa''' === Tarjumaad === * {{en}}: clearance 22136 wikitext text/x-wiki {{-so-}} == Magac == '''miinaa''' === Tarjumaad === * {{en}}: clearance i43ys0t9myeldnx2t9472jrl3c8rg2h asalraac 0 6851 30888 28268 2024-09-23T03:41:17Z Girligaanshub 3150 30888 wikitext text/x-wiki {{-so-}} == Magac == '''asalraac''' === Tarjumaad === * {{en}}: conservative, traditionalist, puritan, conservatism, ===Synonyms=== *[[ghayrah]], [[gheerah]], [[muxaafid]], [[asalraac]], [[hanif]], [[joogdoon]], [[taddabur]], [[zuhd]], [[maro-ilaalin]], [[joogdoon]], [[zahid]], [[waanshee]], [[sooyaaldoon]], [[sooyaal-doon]] ===Antonyms=== *[[dayouth]], [[musawat]] f8guxyep7dadb9g2jw97lqhegu1e2kw asal-raac 0 6852 22891 22139 2022-11-18T17:51:51Z Girligaanshub 3150 22891 wikitext text/x-wiki {{-so-}} == Magac == '''asal-raac''' === Tarjumaad === * {{en}}: conservative, traditionalist, puritan tf7wtphcousalvbixzi0rgfo47jfm9i asalraacnimo 0 6853 32833 32388 2024-12-02T11:04:10Z Girligaanshub 3150 32833 wikitext text/x-wiki {{-so-}} == Magac == '''asalraacnimo''' === Tarjumaad === * {{en}}: conservatism ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] hgj49fzdsblbxthmtbfxwbhu0js8bo8 asalraacnimada 0 6854 22141 2022-09-13T18:47:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''asalraacnimada''' === Tarjumaad === * {{en}}: conservativeness 22141 wikitext text/x-wiki {{-so-}} == Magac == '''asalraacnimada''' === Tarjumaad === * {{en}}: conservativeness pvpys38xu8xgkwuk3vzufcipq48nhd4 murtad 0 6855 22142 2022-09-15T13:28:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtad''' === Tarjumaad === * {{en}}: apostate 22142 wikitext text/x-wiki {{-so-}} == Magac == '''murtad''' === Tarjumaad === * {{en}}: apostate rwp712d5afy5r0962af3lc2votsg8d8 murtadnimo 0 6856 22143 2022-09-15T13:28:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadnimo''' === Tarjumaad === * {{en}}: apostasy 22143 wikitext text/x-wiki {{-so-}} == Magac == '''murtadnimo''' === Tarjumaad === * {{en}}: apostasy kocx8fu5juwaymz2sv79ra5rxac3gwj murtadey 0 6857 22144 2022-09-15T13:29:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadey''' === Tarjumaad === * {{en}}: apostasize 22144 wikitext text/x-wiki {{-so-}} == Magac == '''murtadey''' === Tarjumaad === * {{en}}: apostasize 8g6ksfku6uasnparx51nkx3yyhbmjr1 murtaday 0 6858 22145 2022-09-15T13:31:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtaday''' === Tarjumaad === * {{en}}: apostatize 22145 wikitext text/x-wiki {{-so-}} == Magac == '''murtaday''' === Tarjumaad === * {{en}}: apostatize htzeqenfekqz1tllegcy6cu0fxnpn0q murtadeyn 0 6859 22146 2022-09-15T13:32:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadeyn''' === Tarjumaad === * {{en}}: apostatic 22146 wikitext text/x-wiki {{-so-}} == Magac == '''murtadeyn''' === Tarjumaad === * {{en}}: apostatic mbrejar3u0ppau5w0jtqm5ccr6bou59 murtadayn 0 6860 22147 2022-09-15T13:33:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadayn''' === Tarjumaad === * {{en}}: apostatical 22147 wikitext text/x-wiki {{-so-}} == Magac == '''murtadayn''' === Tarjumaad === * {{en}}: apostatical ibpa09o8lfp3hpkoax4eyph7wyn80vq murtadeyo 0 6861 22148 2022-09-15T14:56:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadeyo''' === Tarjumaad === * {{en}}: apostatizing 22148 wikitext text/x-wiki {{-so-}} == Magac == '''murtadeyo''' === Tarjumaad === * {{en}}: apostatizing qq1et27xryfk6geixlx5hqyojpnqrn1 murtadeynta 0 6862 22149 2022-09-15T14:56:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtadeynta''' === Tarjumaad === * {{en}}: apostatization 22149 wikitext text/x-wiki {{-so-}} == Magac == '''murtadeynta''' === Tarjumaad === * {{en}}: apostatization a7v09nx2gbenpo1hbbgfkudh9uxbq5b haldooraha 0 6863 22996 22150 2022-12-31T20:28:02Z Girligaanshub 3150 22996 wikitext text/x-wiki {{-so-}} == Magac == '''haldooraha''' === Tarjumaad === * {{en}}: innovators, elites, leaders, pioneers, trailblazers, trendsetters, groundbreakers, reformers, modernizers, pacesetters, pathfinders, experimenters, neoterics, forerunners, reformists, discoverers, spearheaders, progressivists, gurus, visionaries, progressives, vanguards, avant-gardists, front runners, new brooms, avant-gardes, prime movers, leading lights, go-getters, change agents sk0eqlu97d8f810kjxs1acoyzypty57 dabaaldeg 0 6864 22151 2022-09-16T18:00:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaaldeg''' === Tarjumaad === * {{en}}: celebrate 22151 wikitext text/x-wiki {{-so-}} == Magac == '''dabaaldeg''' === Tarjumaad === * {{en}}: celebrate f7zwek2g35h8zlp5odke8ru0cg53knx siyaasiyahan 0 6865 22152 2022-09-16T18:28:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siyaasiyahan''' === Tarjumaad === * {{en}}: politician 22152 wikitext text/x-wiki {{-so-}} == Magac == '''siyaasiyahan''' === Tarjumaad === * {{en}}: politician kgvi9evcy60ku0b8cwnwhc2vprk7dqk hiddaraac 0 6866 22153 2022-09-17T02:41:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiddaraac''' === Tarjumaad === * {{en}}: hypergamy, vetting, trysting, gatekeeping, homogamy, isogamy 22153 wikitext text/x-wiki {{-so-}} == Magac == '''hiddaraac''' === Tarjumaad === * {{en}}: hypergamy, vetting, trysting, gatekeeping, homogamy, isogamy rf73uca41d2nr9y6di0bs5ksztwmmu3 isirka 0 6867 22154 2022-09-17T02:43:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isirka''' === Tarjumaad === * {{en}}: race, ethnicity 22154 wikitext text/x-wiki {{-so-}} == Magac == '''isirka''' === Tarjumaad === * {{en}}: race, ethnicity orftt1ep3amu1o07ar83l4xrjrvx6tt guurdoon 0 6868 32110 30152 2024-10-28T04:39:34Z Girligaanshub 3150 32110 wikitext text/x-wiki {{-so-}} == Magac == '''guurdoon''' === Tarjumaad === * {{en}}: bachelor, bacheloress, bachelorette, ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]] 8j48d7smd780uupti7eiw1t2896xlqw hiddo-raac 0 6869 24505 24504 2023-09-01T11:06:44Z Girligaanshub 3150 24505 wikitext text/x-wiki {{-so-}} == Magac == '''hiddoraac''' === Tarjumaad === * {{en}}: cultural heritage, hypergamy, genetic / heritage vetting, trysting, gatekeeping, homogamy, isogamy 8xd89n76kfzhlr8qb9whwzfc4cw3yc4 hiddo 0 6870 27159 27158 2024-04-15T05:33:32Z Girligaanshub 3150 27159 wikitext text/x-wiki {{-so-}} == Magac == '''hiddo''' === Tarjumaad === * {{en}}: humanities, * {{en}}: genetics, heritage qiuks5xsutdo0xgmwe35tqm74608fjn hiddaha 0 6871 24190 22158 2023-08-09T18:04:32Z Girligaanshub 3150 24190 wikitext text/x-wiki {{-so-}} == Magac == '''hiddaha''' === Tarjumaad === * {{en}}: genes, heritage 9ngmxewtf5sbxqn7n6xmvzt9v3y4qfo shiini 0 6872 22159 2022-09-17T16:54:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiini''' === Tarjumaad === * {{en}}: bee 22159 wikitext text/x-wiki {{-so-}} == Magac == '''shiini''' === Tarjumaad === * {{en}}: bee m5ivwie92grtdq6lp6vcdxtmz2bsl9o biciidh 0 6873 22160 2022-09-17T16:57:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biciidh''' === Tarjumaad === * {{en}}: oryx 22160 wikitext text/x-wiki {{-so-}} == Magac == '''biciidh''' === Tarjumaad === * {{en}}: oryx j706np1dpfvctfqo70zhv761bnndicu godir 0 6874 22161 2022-09-17T16:58:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''godir''' === Tarjumaad === * {{en}}: kudu 22161 wikitext text/x-wiki {{-so-}} == Magac == '''godir''' === Tarjumaad === * {{en}}: kudu ec09vnv2c4wxwhr51ixsq3nds6wwgmj cawl 0 6875 32574 25708 2024-11-22T17:42:00Z Girligaanshub 3150 32574 wikitext text/x-wiki {{-so-}} == Magac == '''cawl''' === Tarjumaad === * {{en}}: gazelle * en: grey ll9kkz9ewcog7kj600i81n753clywdp galool 0 6876 22163 2022-09-17T17:24:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galool''' === Tarjumaad === * {{en}}: acacia bussei (tree) 22163 wikitext text/x-wiki {{-so-}} == Magac == '''galool''' === Tarjumaad === * {{en}}: acacia bussei (tree) 4m6uxt6b8os07kta7az60ww2j9x0f2r mustaxiil 0 6877 32776 32412 2024-12-01T15:45:28Z Girligaanshub 3150 32776 wikitext text/x-wiki {{-so-}} == Magac == '''mustaxiil''' === Tarjumaad === * {{en}}: impossible, blasphemous, blasphemy, sacrilege, sacrilegious, obnoxious, sacrilege, idolatry, polytheism ===Synonyms=== * [[shirk]], [[xaaraan]], [[mustaxiil]], [[nijaasayn]], [[baatil]] bj1er34t7yd7sxnwehytp57zo6jpxjp saddexaad 0 6878 32847 22165 2024-12-02T18:00:31Z ВМНС 5070 32847 wikitext text/x-wiki {{-so-}} == Magac == '''saddexaad''' === Tarjumaad === * {{en}}: triple [[Category:Soomaali ereyada-sa]] lle6ux9aaun5yxxg2yiso7y0k8lz0ry cilmaanida 0 6879 22169 22166 2022-09-18T21:08:20Z Girligaanshub 3150 22169 wikitext text/x-wiki {{-so-}} == Magac == '''cilmaanida''' === Tarjumaad === * {{en}}: secularism, laicite, French laicite 1o272wpelrh99d6p6q4h50ff7dbjsyy calool-u-shaqeyste 0 6880 32501 31855 2024-11-17T00:07:08Z Girligaanshub 3150 32501 wikitext text/x-wiki {{-so-}} == Magac == '''calool-u-shaqeyste''' === Tarjumaad === * {{en}}: hedonist, unprincipled person * {{en}}: hedonism ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], q21h84pintqrkpouushhcdk4dnpxc3o darbee 0 6881 22525 22177 2022-09-27T17:43:12Z Girligaanshub 3150 22525 wikitext text/x-wiki {{-so-}} == Magac == '''darbee''' === Tarjumaad === * {{en}}: kick repeatedly, anu9m8qihalzvxhsymca3weyorhpcdn asaloow 0 6882 27142 22173 2024-04-10T19:54:04Z Girligaanshub 3150 27142 wikitext text/x-wiki {{-so-}} == Magac == '''asaloow''' === Tarjumaad === * {{en}}: native, indigenous ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]], [[baari]], [[sokeeye]] o7kpu5l25ta1ve7qit43ld40ls168vz dhalad 0 6883 29312 27143 2024-08-01T09:27:28Z Girligaanshub 3150 29312 wikitext text/x-wiki {{-so-}} == Magac == '''dhalad''' === Tarjumaad === * {{en}}: indigenous, native, local ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]], [[baari]], [[sokeeye]] 8b7o26plnuw87md5odlkgooju2b6w4k marwadiisa 0 6884 22175 2022-09-19T16:27:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marwadiisa''' ===Etymology=== From مرأى meaning "mirror" === Tarjumaad === * {{en}}: his spouse 22175 wikitext text/x-wiki {{-so-}} == Magac == '''marwadiisa''' ===Etymology=== From مرأى meaning "mirror" === Tarjumaad === * {{en}}: his spouse 3g8413n1pva2oc9gus5q1h3wy3nzhbe marwadeeda 0 6885 22176 2022-09-19T16:27:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marwadeeda''' ===Etymology=== From مرأى meaning "mirror" === Tarjumaad === * {{en}}: her spouse 22176 wikitext text/x-wiki {{-so-}} == Magac == '''marwadeeda''' ===Etymology=== From مرأى meaning "mirror" === Tarjumaad === * {{en}}: her spouse b8tyehql7535zph3ic1way2c5qstmx7 joogdoon 0 6886 28263 25153 2024-06-14T11:58:35Z Girligaanshub 3150 28263 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoon''' === Tarjumaad === * {{en}}: conservative, status quo ante, puritan, traditionalist ===Synonyms=== *[[ghayrah]], [[gheerah]], [[muxaafid]], [[asalraac]], [[hanif]], [[joogdoon]], [[taddabur]], [[zuhd]], [[maro-ilaalin]], [[joogdoon]], [[zahid]], [[waanshee]], [[sooyaaldoon]], [[sooyaal-doon]] ===Antonyms=== *[[dayouth]], [[musawat]], [[wadareednimo]], [[qaaraan]], [[musawat]], [[eexasho dadweynaha]], [[maslaxad]], [[joogdoon-diid]], [[biidnimo]], ===Text=== * Surah 25 ayah 43: "Have you seen ˹O Prophet˺ the one who has taken their own desires as their god?" * Surah 5 ayah 3: "Today I have perfected your faith for you, completed My favour upon you" * Surah 2 ayah 4: "And those who believe in what was revealed to you, and in what was revealed before you, and are certain of the Hereafter" * Surah 10 ayah 105: "Be steadfast in faith in all uprightness (as a hanif)" * Surah 3 ayah 36: "The Male is Not Like the Female" amj2yn4ky1gvgx6fxbwuxnz4wm8ksnj joogdoonimo 0 6887 22893 22859 2022-11-18T17:53:10Z Girligaanshub 3150 22893 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoonimo''' === Tarjumaad === * {{en}}: conservatism, status quo ante, puritanism, traditionalism ===Synonyms=== * [[hanifnimo]] mfx4obiwuzjun7x15qxhqdfhavzdr8d joogdooney 0 6888 22180 2022-09-20T06:57:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''joogdooney''' === Tarjumaad === * {{en}}: conservatize 22180 wikitext text/x-wiki {{-so-}} == Magac == '''joogdooney''' === Tarjumaad === * {{en}}: conservatize lp7m1qqm82l1weklgamsqglh05yolox joogdooneynta 0 6889 22181 2022-09-20T06:58:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''joogdooneynta''' === Tarjumaad === * {{en}}: conservatization 22181 wikitext text/x-wiki {{-so-}} == Magac == '''joogdooneynta''' === Tarjumaad === * {{en}}: conservatization 8xfvb441ocigqke9ajf04umh6xw3hel joogdoonka 0 6890 32831 32385 2024-12-02T11:03:48Z Girligaanshub 3150 32831 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoonka''' === Tarjumaad === * {{en}}: the conservatism, status quo ante, orthodoxy, traditionalism ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] bzfacyen3prz02dcu30qdjthx1afjm3 joogdoonkii 0 6891 22888 22183 2022-11-18T17:51:17Z Girligaanshub 3150 22888 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoonkii''' === Tarjumaad === * {{en}}: the conservative, the puritan 0hs9q5bief0tqqg86y1mk01ioufo5gl bulsho joogdoon 0 6892 22184 2022-09-20T07:31:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bulsho joogdoon''' === Tarjumaad === * {{en}}: social conservatism 22184 wikitext text/x-wiki {{-so-}} == Magac == '''bulsho joogdoon''' === Tarjumaad === * {{en}}: social conservatism h3mjm5erifa0tky7lcd5texadqtba7g joogdoon bulsho 0 6893 22189 22185 2022-09-20T18:55:03Z Girligaanshub 3150 22189 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoon bulsho''' === Tarjumaad === * {{en}}: social conservatism cydnbvhz6aiuandbgplrwd3xjmvzqgd maro-furan 0 6894 28764 22186 2024-07-17T06:58:10Z Girligaanshub 3150 Bog loo bedeley [[shuuci]] 28764 wikitext text/x-wiki #redirect [[shuuci]] 1xhokvf8t3fv087v0zazbr0akrxejs2 joogdoonaha 0 6895 22187 2022-09-20T08:00:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''joogdoonaha''' === Tarjumaad === * {{en}}: conservatives 22187 wikitext text/x-wiki {{-so-}} == Magac == '''joogdoonaha''' === Tarjumaad === * {{en}}: conservatives jctsomucuvr7x6mns9k9b62so4ax080 dhibic 0 6896 22188 2022-09-20T17:55:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhibic''' === Tarjumaad === * {{en}}: full stop, dot, period mark, period point, suspension mark, 22188 wikitext text/x-wiki {{-so-}} == Magac == '''dhibic''' === Tarjumaad === * {{en}}: full stop, dot, period mark, period point, suspension mark, mhpwq5i8mn08f4ivgr0zuav872528qt harraati 0 6897 22259 22190 2022-09-22T14:47:21Z Girligaanshub 3150 22259 wikitext text/x-wiki {{-so-}} == Magac == '''harraati''' === Tarjumaad === * {{en}}: stomp, trample, scorpion kick, flying dragon kick, deadly kick, bicycle kick hu5g4dbyxprpmqcyxmulloo1pb4z7z9 adhi 0 6898 27788 24984 2024-05-28T16:34:49Z Girligaanshub 3150 27788 wikitext text/x-wiki {{-so-}} == Magac == '''adhi''' === Tarjumaad === * {{en}}: sheep & goat (collectively), caprini, caprini goat & sheep 0m4bvzqrn51eqdsbd6eob0hopi5sfg2 afbuux 0 6899 22192 2022-09-20T19:48:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afbuux''' === Tarjumaad === * {{en}}: bribe 22192 wikitext text/x-wiki {{-so-}} == Magac == '''afbuux''' === Tarjumaad === * {{en}}: bribe cvmdu57w0gb2zym9bn5e2zerui3w5u4 oogso 0 6900 22194 2022-09-20T20:33:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oogso''' === Tarjumaad === * {{en}}: shake 22194 wikitext text/x-wiki {{-so-}} == Magac == '''oogso''' === Tarjumaad === * {{en}}: shake 4f1i29qwr0k61pz3pelb6utsu3457ln ba'da 0 6901 31179 31020 2024-10-04T13:48:41Z Girligaanshub 3150 31179 wikitext text/x-wiki {{-so-}} == Magac == '''ba'da''' === Tarjumaad === * {{en}}: segment, section, piece, portion, fragment, component, department, branch, sector, wing, unit, piece, ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] h2zhzp0aii81i10cvkeg779fjske47n buuni 0 6902 31307 31300 2024-10-04T17:29:58Z Girligaanshub 3150 31307 wikitext text/x-wiki {{-so-}} == Magac == '''buuni''' === Tarjumaad === * {{en}}: religious and social intellectual, relgious / social expert, anthropological scholar, religious / social guru, * {{en}}: brown color ([[bunni]]) * {{en}}: Buuni hunter gatherer tribe ===Synonyms=== * [[buuni]], [[wadaad]] mi3k3q30h4k4yoa9ffhqganeonolfoy buuniga 0 6903 32699 22197 2024-11-30T11:44:27Z Girligaanshub 3150 32699 wikitext text/x-wiki {{-so-}} == Magac == '''buuniga''' === Tarjumaad === * {{en}}: the sage, the scholar, the guru, the pioneer, the scholar, the highfliyer, the frontrunner, the ace, the master, the gigachad, the don, the G, 10z7wgfuzg43ldwd593b3dkchtbbu2d eed 0 6904 28755 28749 2024-07-17T02:49:47Z Girligaanshub 3150 28755 wikitext text/x-wiki {{-so-}} == Magac == '''eed''' === Tarjumaad === * {{en}}: denounce ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]] 54e0j6bqtl416kpkwedpbxsb9j9id22 dooc 0 6905 22199 2022-09-20T22:06:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dooc''' === Tarjumaad === * {{en}}: basic information, inkling, basics, fundamentals, abecedarian, basal, nitty-gritty, 22199 wikitext text/x-wiki {{-so-}} == Magac == '''dooc''' === Tarjumaad === * {{en}}: basic information, inkling, basics, fundamentals, abecedarian, basal, nitty-gritty, o91tom2f1ev017f9bxss1z1u2ab6rqk gaan 0 6906 31208 31059 2024-10-04T14:28:32Z Girligaanshub 3150 31208 wikitext text/x-wiki {{-so-}} == Magac == '''gaan''' === Tarjumaad === * {{en}}: proud, brave, tough, illustrious * not lactating (of camels) * composed ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] r49h5lo2eqc1fv1p8tu58tb3myrzmrl gibil 0 6907 22204 22201 2022-09-21T00:21:50Z Girligaanshub 3150 22204 wikitext text/x-wiki {{-so-}} == Magac == '''gibil''' === Tarjumaad === * {{en}}: skin tone, il80ovd7w2hy3raz45onejorec1sosn geesaas 0 6908 22202 2022-09-20T23:48:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geesaas''' === Tarjumaad === * {{en}}: laments, 22202 wikitext text/x-wiki {{-so-}} == Magac == '''geesaas''' === Tarjumaad === * {{en}}: laments, 07fxqj2yptp06pk6z39he712lwep9jw guduri 0 6909 25509 22203 2023-10-21T11:57:42Z Girligaanshub 3150 25509 wikitext text/x-wiki {{-so-}} == Magac == '''guduri''' === Tarjumaad === * {{en}}: vulture, wild animal 5x4mptzluh8pgzmxqnrh8m5an817coc ganaf 0 6910 22205 2022-09-21T00:52:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganaf''' === Tarjumaad === * {{en}}: disdain, contempt, snobbishness 22205 wikitext text/x-wiki {{-so-}} == Magac == '''ganaf''' === Tarjumaad === * {{en}}: disdain, contempt, snobbishness d57jlxbx3h2tegi432yif7emhoz2fac gabbood 0 6911 22215 22214 2022-09-21T10:59:16Z Girligaanshub 3150 Girligaanshub moved page [[gabbaad]] to [[gabbood]] 22214 wikitext text/x-wiki {{-so-}} == Magac == '''gabbaad''' === Tarjumaad === * {{en}}: fault, error, transgression 8etgfqvczup8eerunjs3hl6eykqob65 qaanso 0 6912 22207 2022-09-21T09:17:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaanso''' === Tarjumaad === * {{en}}: bow, 22207 wikitext text/x-wiki {{-so-}} == Magac == '''qaanso''' === Tarjumaad === * {{en}}: bow, gwzflwrjzqbdwji2a5elwzykroeehb4 gelengal 0 6913 22208 2022-09-21T09:19:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gelengal''' === Tarjumaad === * {{en}}: deserted, 22208 wikitext text/x-wiki {{-so-}} == Magac == '''gelengal''' === Tarjumaad === * {{en}}: deserted, tk8sbgk5d72vu3jr773lx34kk8e0ghh ganafka 0 6914 22209 2022-09-21T09:41:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganaf''' === Tarjumaad === * {{en}}: disdain, contempt, snobbishness, big-headedness, narcissism, conceit, 22209 wikitext text/x-wiki {{-so-}} == Magac == '''ganaf''' === Tarjumaad === * {{en}}: disdain, contempt, snobbishness, big-headedness, narcissism, conceit, 6khojrcp9ldwhg3q048fe60z98r1yec ganafey 0 6915 25053 22210 2023-09-22T15:30:11Z Girligaanshub 3150 25053 wikitext text/x-wiki {{-so-}} == Magac == '''ganafey''' === Tarjumaad === * {{en}}: one-up, out-fox, better, outwit, merk, mog, narcissize ===Synonyms=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] ee7bx7tav4ydprhbqlv203ni1w9hkdc goonji 0 6916 26094 22211 2023-11-28T10:26:32Z Girligaanshub 3150 26094 wikitext text/x-wiki {{-so-}} == Magac == '''goonji''' === Tarjumaad === * {{en}}: property ===Synonyms=== *[[goonji]], [[dhismo]], [[guri mugdi]] p9nisue38yzb54lwif0fbawn2k827jw rifayo 0 6917 23278 22212 2023-04-15T11:45:42Z Girligaanshub 3150 23278 wikitext text/x-wiki {{-so-}} == Magac == '''rifayo''' === Tarjumaad === * {{en}}: plucking 9tvfpbfxueib65gm32id7br7p8wtmoz alifley 0 6918 28673 28021 2024-07-03T23:47:18Z Girligaanshub 3150 28673 wikitext text/x-wiki {{-so-}} == Magac == '''alifley''' === Tarjumaad === * {{en}}: preschooler, kindergartener, beginner, amateur ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]], [[alifley]], [[ardey]], [[jaahil]] 587abyv0tfvqizku6i84el9cf9kpbya gabbaad 0 6919 22216 2022-09-21T10:59:16Z Girligaanshub 3150 Girligaanshub moved page [[gabbaad]] to [[gabbood]] 22216 wikitext text/x-wiki #REDIRECT [[gabbood]] 93b830rr6wh84dr1kgnkhloid5se2ox gembi 0 6920 30096 22217 2024-08-23T17:53:33Z Girligaanshub 3150 30096 wikitext text/x-wiki {{-so-}} == Magac == '''gembi''' === Tarjumaad === * {{en}}: horror * {{en}}: overthrow j8zz7clae4olknuk3rkasy5oh47j3cu nafley 0 6921 22218 2022-09-21T11:17:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nafley''' === Tarjumaad === * {{en}}: organism, animal, creature 22218 wikitext text/x-wiki {{-so-}} == Magac == '''nafley''' === Tarjumaad === * {{en}}: organism, animal, creature iepi4v4179h77yjruf4pktuugchxq5k musuqmaasuq 0 6922 28216 22219 2024-06-13T19:39:54Z Girligaanshub 3150 28216 wikitext text/x-wiki {{-so-}} == Magac == '''musuqmaasuq''' === Tarjumaad === * {{en}}: corruption ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] bf6ta6r5mvl5uz3bzznxnjxrustaipx wahsad 0 6923 28801 22220 2024-07-21T19:13:55Z Girligaanshub 3150 28801 wikitext text/x-wiki {{-so-}} == Magac == '''wahsad''' === Tarjumaad === * {{en}}: indolence, laziness, idleness, dormancy, inertia, slothfulness, ===Synonyms=== *[[wahsi]], [[wahsad]] eq7m50m0mdbbo0j5euvm03f09vngepe niyad 0 6924 22221 2022-09-21T11:54:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyad''' === Tarjumaad === * {{en}}: intent, motive, impetus 22221 wikitext text/x-wiki {{-so-}} == Magac == '''niyad''' === Tarjumaad === * {{en}}: intent, motive, impetus 0u38wagnok6jr4qh9er8bhunnwiy25a tiraab 0 6925 23437 22222 2023-05-10T21:37:24Z Girligaanshub 3150 23437 wikitext text/x-wiki {{-so-}} == Magac == '''tiraab''' === Tarjumaad === * {{en}}: prose, gesture laf5f2nk2960tdkk4jjdcwkogsbj18w goobataal 0 6926 22223 2022-09-21T12:19:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goobataal''' === Tarjumaad === * {{en}}: litter, waste, junk, debris, scraps, heap, clutter, mess 22223 wikitext text/x-wiki {{-so-}} == Magac == '''goobataal''' === Tarjumaad === * {{en}}: litter, waste, junk, debris, scraps, heap, clutter, mess cwt24zea1upa12zn23jd2u13hi3jlws xili-gudbis 0 6927 22224 2022-09-21T12:29:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xili-gudbis''' === Tarjumaad === * {{en}}: anachronism 22224 wikitext text/x-wiki {{-so-}} == Magac == '''xili-gudbis''' === Tarjumaad === * {{en}}: anachronism gviz6b4zkuynvx4t9ygv64jsmp39kin jiq ka sii 0 6928 22225 2022-09-21T12:55:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jiq ka sii''' === Tarjumaad === * {{en}}: slam, smash, boom, whack, trounce, wallop, bang, blow 22225 wikitext text/x-wiki {{-so-}} == Magac == '''jiq ka sii''' === Tarjumaad === * {{en}}: slam, smash, boom, whack, trounce, wallop, bang, blow lukk9folt5lj1tbrwwcpe5ap5l6pwbs bakhticun 0 6929 22226 2022-09-21T13:01:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakhticun''' === Tarjumaad === * {{en}}: scavenger 22226 wikitext text/x-wiki {{-so-}} == Magac == '''bakhticun''' === Tarjumaad === * {{en}}: scavenger n606hmtbu6pl5ujxyky3qafw4cxq4pe xuur 0 6930 31422 30826 2024-10-08T13:36:43Z Girligaanshub 3150 31422 wikitext text/x-wiki {{-so-}} == Magac == '''xuur''' === Tarjumaad === * {{en}}: falcon * {{en}}: heavenly virgin, heavenly maiden * {{en}}: [[Huur]] ===Synonyms=== *[[xuur]], [[Huur]] 1b5g0z57p15o212usev5htbtjm73ejt baalmar 0 6931 22229 2022-09-21T13:54:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baalmar''' === Tarjumaad === * {{en}}: stray, get lost, deviate, sidetrack, deviate, dubious, indirect, devious, crooked, twisted, slanted, skewed, tilted, warped, 22229 wikitext text/x-wiki {{-so-}} == Magac == '''baalmar''' === Tarjumaad === * {{en}}: stray, get lost, deviate, sidetrack, deviate, dubious, indirect, devious, crooked, twisted, slanted, skewed, tilted, warped, 77tmkd0ffuv14yq4inygoug1o5ss0y0 naatijo 0 6932 25621 22230 2023-10-29T22:24:52Z Girligaanshub 3150 Bog loo bedeley [[natiijo]] 25621 wikitext text/x-wiki #redirect [[natiijo]] 1tyg9q11n316aixuuvj52zlz1beiqqu waardi 0 6933 25721 22231 2023-11-02T00:06:25Z Girligaanshub 3150 25721 wikitext text/x-wiki {{-so-}} == Magac == '''waardi''' === Tarjumaad === * {{en}}: watch, guard, bookmark, mark, record, bodyguard oj53jnrvpydr9aq7je9t6pib2c7fpg3 tahantoog 0 6934 22232 2022-09-21T14:50:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tahantoog''' === Tarjumaad === * {{en}}: stray, get lost, deviate, sidetrack, deviate, dubious, indirect, devious, crooked, twisted, slanted, skewed, tilted, warped, wayward, awkwardness 22232 wikitext text/x-wiki {{-so-}} == Magac == '''tahantoog''' === Tarjumaad === * {{en}}: stray, get lost, deviate, sidetrack, deviate, dubious, indirect, devious, crooked, twisted, slanted, skewed, tilted, warped, wayward, awkwardness oqlv1ki2cg6qbijq166672uei0nihdq ta'wiil 0 6935 22236 22234 2022-09-21T14:53:50Z Girligaanshub 3150 22236 wikitext text/x-wiki {{-so-}} == Magac == '''ta'wiil''' === Tarjumaad === * {{en}}: advice, hint, tip, allegory, adage, aphorism loifmwpz2lv5on6re7a2ckcdkqfs7sb durba 0 6936 22252 22243 2022-09-21T18:26:36Z Girligaanshub 3150 22252 wikitext text/x-wiki {{-so-}} == Magac == '''durba''' === Tarjumaad === * {{en}}: drum 4voesmdc5lm8yvrfpbs9n5wctxcgp1o taranka 0 6937 22238 2022-09-21T15:33:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taranka''' === Tarjumaad === * {{en}}: procreation, reproduction, proliferation, propagation, breeding, replication, duplication 22238 wikitext text/x-wiki {{-so-}} == Magac == '''taranka''' === Tarjumaad === * {{en}}: procreation, reproduction, proliferation, propagation, breeding, replication, duplication qj54dwstmi03paexj7ffhh4hi1auimn taranta 0 6938 22239 2022-09-21T15:34:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taranta''' === Tarjumaad === * {{en}}: procreation, reproduction, proliferation, propagation, breeding, replication, duplication 22239 wikitext text/x-wiki {{-so-}} == Magac == '''taranta''' === Tarjumaad === * {{en}}: procreation, reproduction, proliferation, propagation, breeding, replication, duplication 21iqijhqunzy0rnrjguojhsz1f3532q xubnaha taranka 0 6939 22240 2022-09-21T15:34:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xubnaha taranka''' === Tarjumaad === * {{en}}: procreation organs, reproductive organs, 22240 wikitext text/x-wiki {{-so-}} == Magac == '''xubnaha taranka''' === Tarjumaad === * {{en}}: procreation organs, reproductive organs, lylv9cb61w899rsrwmz3dyhddk5e5d7 taah 0 6940 25686 22241 2023-10-31T13:59:25Z Girligaanshub 3150 25686 wikitext text/x-wiki {{-so-}} == Magac == '''taah''' === Tarjumaad === * {{en}}: sigh, groan, moan 20ymfblc1vytnuxx0fz0z8uewbsrqbx telelo 0 6941 22242 2022-09-21T16:33:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''telelo''' === Tarjumaad === * {{en}}: promulgate, herald, stir up, excite, trigger, instigate, incite, generate, annunciate, 22242 wikitext text/x-wiki {{-so-}} == Magac == '''telelo''' === Tarjumaad === * {{en}}: promulgate, herald, stir up, excite, trigger, instigate, incite, generate, annunciate, 478kyq4kpnz1nqjowhui9zkzfzndio0 durbo 0 6942 22251 22244 2022-09-21T18:26:24Z Girligaanshub 3150 22251 wikitext text/x-wiki {{-so-}} == Magac == '''durbo''' === Tarjumaad === * {{en}}: drums 8nnw4asrcr1kwsqvsuoyqlaitpr511g uub 0 6943 23235 22245 2023-03-29T07:16:29Z Girligaanshub 3150 23235 wikitext text/x-wiki {{-so-}} == Magac == '''uub''' === Tarjumaad === * {{en}}: trap, groundhole 7x71s9r5fr9h25l7lpmmf8absso60zj atoor 0 6944 22246 2022-09-21T16:41:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''atoor''' === Tarjumaad === * {{en}}: dik-dik 22246 wikitext text/x-wiki {{-so-}} == Magac == '''atoor''' === Tarjumaad === * {{en}}: dik-dik bbemia2sm402h5zd1mvrbi7a75cwd2u mudo 0 6945 26138 22247 2023-12-01T04:26:08Z Girligaanshub 3150 26138 wikitext text/x-wiki {{-so-}} == Magac == '''mudo''' === Tarjumaad === * {{en}}: prick, perforate, puncture * {{en}}: attack, strike ibh0tln1zoou2jyphfkgcupio3d0tqh galow 0 6946 25477 22248 2023-10-20T17:42:39Z Girligaanshub 3150 25477 wikitext text/x-wiki {{-so-}} == Magac == '''galow''' === Tarjumaad === * {{en}}: buzzard, male bustard lcg23kxomvjqjheja4bssysq6p5edxt geed-jooge 0 6947 29989 28354 2024-08-18T15:26:41Z Girligaanshub 3150 29989 wikitext text/x-wiki {{-so-}} == Magac == '''geed-jooge''' === Tarjumaad === * {{en}}: male tree-sitter, council member, in group, cabal, clique, confidee, ===Synonyms=== *[[shirwac]], [[shire]], [[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], n1o64corq4z3nf7j65nkby49rxu1mnq garanuug 0 6948 26425 22250 2023-12-23T05:55:44Z Girligaanshub 3150 26425 wikitext text/x-wiki {{-so-}} == Magac == '''garanuug''' === Tarjumaad === * {{en}}: gerenuk gazelle ehcg8c68xk6fzywtq8wmuecatk63ycx himilada 0 6949 27734 22254 2024-05-26T15:55:09Z Girligaanshub 3150 27734 wikitext text/x-wiki {{-so-}} == Magac == '''himilada''' === Tarjumaad === * {{en}}: impulsed, impulse s88vfvenira0a4xhvvnjhfpe1uv0ygz himilooyin 0 6950 22255 2022-09-21T18:31:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''himilooyin''' === Tarjumaad === * {{en}}: impulses 22255 wikitext text/x-wiki {{-so-}} == Magac == '''himilooyin''' === Tarjumaad === * {{en}}: impulses svfhhtvjh9jnwet9afsk7pl7idvpnvj hami 0 6951 25263 23580 2023-10-12T15:16:11Z Girligaanshub 3150 25263 wikitext text/x-wiki {{-so-}} == Magac == '''hami''' === Tarjumaad === * {{en}}: impulse, ambition, consideration 0ijqsaexgcukxjygg5xjuth2dayganl gobo'da 0 6952 22257 2022-09-21T20:25:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gobo'da''' === Tarjumaad === * {{en}}: topic 22257 wikitext text/x-wiki {{-so-}} == Magac == '''gobo'da''' === Tarjumaad === * {{en}}: topic 5yetxachb6cy0dcja6kqgcf80pupl4s legdemo 0 6953 32140 32139 2024-10-28T18:48:25Z Girligaanshub 3150 32140 wikitext text/x-wiki {{-so-}} == Magac == '''legdemo''' === Tarjumaad === * {{en}}: wrestle, ===Synonyms=== *[[legdemo]], [[fara-ka-ciyaar]] suoybnm070xx0sekhejz0c1i28rryl5 qaarad 0 6954 22260 2022-09-23T12:44:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaarad''' === Tarjumaad === * {{en}}: continent 22260 wikitext text/x-wiki {{-so-}} == Magac == '''qaarad''' === Tarjumaad === * {{en}}: continent n5fmp7elcq4ptr2fyblp1vc81bwrsv7 qaaradda 0 6955 22261 2022-09-23T12:44:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaaradda''' === Tarjumaad === * {{en}}: continental 22261 wikitext text/x-wiki {{-so-}} == Magac == '''qaaradda''' === Tarjumaad === * {{en}}: continental 6tsn6nw5nukoo3jjtf0f3m05d656l3k qaaradeynta 0 6956 22262 2022-09-23T12:45:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaaradeynta''' === Tarjumaad === * {{en}}: continentalization 22262 wikitext text/x-wiki {{-so-}} == Magac == '''qaaradeynta''' === Tarjumaad === * {{en}}: continentalization 5e53q04xo7jvz9kt822ahwfnen0052m qaaradey 0 6957 22263 2022-09-23T12:45:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaaradey''' === Tarjumaad === * {{en}}: continentalize 22263 wikitext text/x-wiki {{-so-}} == Magac == '''qaaradey''' === Tarjumaad === * {{en}}: continentalize 9hnhp5ditqpou10no2ryax7gk1ab8h6 dhufaan 0 6958 28836 22264 2024-07-21T21:37:44Z Girligaanshub 3150 28836 wikitext text/x-wiki {{-so-}} == Magac == '''dhufaan''' === Tarjumaad === * {{en}}: emasculated camel, castrated camel, * {{en}}: castration, neuter, geld, eunuchism, spay, sterilization, effeminacy, cqpoes99i22fuo2nsj7f97c9fqjzred dhufaano 0 6959 22265 2022-09-23T14:48:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhufaano''' === Tarjumaad === * {{en}}: emasculate, castrate, neuter, geld, eunuchize, spaying, sterilize, effeminize, 22265 wikitext text/x-wiki {{-so-}} == Magac == '''dhufaano''' === Tarjumaad === * {{en}}: emasculate, castrate, neuter, geld, eunuchize, spaying, sterilize, effeminize, hrbxbcj2w49fvzvbs3kz0xmpgzvquu1 gaaxsan 0 6960 22266 2022-09-23T15:43:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaaxsan''' === Tarjumaad === * {{en}}: reserve 22266 wikitext text/x-wiki {{-so-}} == Magac == '''gaaxsan''' === Tarjumaad === * {{en}}: reserve lf8b409hj6h6k3eayqo4m894nkyzhmq gunaan 0 6961 22267 2022-09-23T15:46:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gunaan''' === Tarjumaad === * {{en}}: settled, concluded, 22267 wikitext text/x-wiki {{-so-}} == Magac == '''gunaan''' === Tarjumaad === * {{en}}: settled, concluded, giqz0wuyv4gpxu2hgjat0c83eup5juf gumaad 0 6962 25583 24922 2023-10-26T10:55:19Z Girligaanshub 3150 25583 wikitext text/x-wiki {{-so-}} == Magac == '''gumaad''' === Tarjumaad === * {{en}}: massacre ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]] 12opj035ij3c0dezbbpb3o4bt79ough geydhaale 0 6963 32700 31212 2024-11-30T11:44:50Z Girligaanshub 3150 32700 wikitext text/x-wiki {{-so-}} == Magac == '''geydhaale''' === Tarjumaad === * {{en}}: robust, masculine, macho, manly, laddish, muscular, muscly, strapping, well built, rugged, brawny, gigachad, don, G, alpha male, sage, guru, pioneer, highflier ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] bmukwwamu6v28pxmxqh54wlaztsjnqz geydhaalenimo 0 6964 22270 2022-09-23T17:27:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geydhaalenimo''' === Tarjumaad === * {{en}}: robustness, masculinity, machoness, manliness, laddishness, muscularity, muscliness, well built, ruggedness, brawniness, gigachadness, don, G, alpha male-ness, sage, prodigy, guru, pioneer, highflier 22270 wikitext text/x-wiki {{-so-}} == Magac == '''geydhaalenimo''' === Tarjumaad === * {{en}}: robustness, masculinity, machoness, manliness, laddishness, muscularity, muscliness, well built, ruggedness, brawniness, gigachadness, don, G, alpha male-ness, sage, prodigy, guru, pioneer, highflier rmld90ggttt8xhh3z0xyn8r8c1wjsp0 geesi 0 6965 31211 29615 2024-10-04T14:29:16Z Girligaanshub 3150 31211 wikitext text/x-wiki {{-so-}} == Magac == '''geesi''' === Tarjumaad === * {{en}}: brave ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] pywrhcpixx91zmycr2k0de8q4e2sgop gedefta 0 6966 22274 22272 2022-09-23T17:51:34Z Girligaanshub 3150 22274 wikitext text/x-wiki {{-so-}} == Magac == '''gedefta''' === Tarjumaad === * {{en}}: foreskin, orifice 3h1evq9gfuu6gxgv6u21n9smjw6k8zq buuhood 0 6967 27331 22273 2024-05-10T08:16:54Z Girligaanshub 3150 27331 wikitext text/x-wiki {{-so-}} == Magac == '''buuhood''' === Tarjumaad === * {{en}}: quagmire, oasis mgsxneia2iap9y98kp7yl01l52k8430 go'aha 0 6968 22304 22276 2022-09-25T12:59:02Z Girligaanshub 3150 22304 wikitext text/x-wiki {{-so-}} == Magac == '''go'aha''' === Tarjumaad === * {{en}}: sheets * {{en}}: rejectors 2tf23sedc6wvjp98dylxju110l1cfug go' 0 6969 22277 2022-09-23T20:00:21Z Girligaanshub 3150 Girligaanshub moved page [[go']] to [[go'aha]] 22277 wikitext text/x-wiki #REDIRECT [[go'aha]] tein1t4zp8tmoeey7kr3kysziouvbhp mayt 0 6970 22278 2022-09-23T20:00:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mayt''' === Tarjumaad === * {{en}}: corpse, dead body 22278 wikitext text/x-wiki {{-so-}} == Magac == '''mayt''' === Tarjumaad === * {{en}}: corpse, dead body slgxy0g0qzwc2pbofhzt7zyters44z4 manqax 0 6971 22937 22279 2022-12-07T04:49:08Z Girligaanshub 3150 22937 wikitext text/x-wiki {{-so-}} == Magac == '''manqax''' === Tarjumaad === * {{en}}: entertainment pgsfymsui67fqage0398rxi1el7vxbi manqaxo 0 6972 22280 2022-09-23T20:07:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''manqaxo''' === Tarjumaad === * {{en}}: entertain 22280 wikitext text/x-wiki {{-so-}} == Magac == '''manqaxo''' === Tarjumaad === * {{en}}: entertain e9i0gocrazmpsqs1w7xra5hf1mcrfj2 gafuur 0 6973 24774 24056 2023-09-06T12:46:44Z Girligaanshub 3150 24774 wikitext text/x-wiki {{-so-}} == Magac == '''gafuur''' === Tarjumaad === * {{en}}: beak, bill mandible 1u0rpbc8x5t8reeivhov1io0n6rwx5l abid 0 6974 30044 22282 2024-08-23T01:44:44Z Girligaanshub 3150 30044 wikitext text/x-wiki {{-so-}} == Magac == '''abid''' === Tarjumaad === * {{en}}: ever, any moment, any occasion, every moment, every occasion, all, any, 30ih8ffm26u5d4hdc8hn41tzju2rvot abidnimo 0 6975 32408 31909 2024-11-13T04:21:55Z Girligaanshub 3150 32408 wikitext text/x-wiki {{-so-}} == Magac == '''abidnimo''' === Tarjumaad === * {{en}}: forever, eternal, always, perpetual, everlasting, permanent, perpetuity, infinitely, ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]], [[darandoorri]] 36hp3ii136gnx33wcqwveyor4kwlkj7 gaardi 0 6976 22284 2022-09-24T13:20:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaardi''' === Tarjumaad === * {{en}}: walking military drill, march, lockstep, parading, 22284 wikitext text/x-wiki {{-so-}} == Magac == '''gaardi''' === Tarjumaad === * {{en}}: walking military drill, march, lockstep, parading, 2kdzn5rsq1nfqkhi0yklyxg62jyql1u galaayuub 0 6977 26844 22285 2024-02-27T03:58:34Z Girligaanshub 3150 26844 wikitext text/x-wiki {{-so-}} == Magac == '''galaayuub''' === Tarjumaad === * {{en}}: uncouth, uncivilized, uncultured, unsophisticated, plebeian, philistine, loutish, hooligan, Neanderthal, barbarian, primitive, savage, discourteous, unmannerly, ill-mannered, vulgar, cringe, crass, hillbilly, hick ===Synonyms=== *[[lamagoodle]], [[duurjooge]], [[badow]], [[galaayuub]] 0u0po9u0qyajdnojb4nu64rdr97unoo gucun 0 6978 22286 2022-09-24T13:50:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gucun''' === Tarjumaad === * {{en}}: synthetic thread 22286 wikitext text/x-wiki {{-so-}} == Magac == '''gucun''' === Tarjumaad === * {{en}}: synthetic thread gpfgwlu338hevxb8e99v7a8f3vdn89i gaad 0 6979 25542 22287 2023-10-23T17:22:06Z Girligaanshub 3150 25542 wikitext text/x-wiki {{-so-}} == Magac == '''gaad''' === Tarjumaad === * {{en}}: ambush, reach q9a0jcz09veodorkac38sr9zi74u7cv gaade 0 6980 22298 22288 2022-09-25T11:32:28Z Girligaanshub 3150 22298 wikitext text/x-wiki {{-so-}} == Magac == '''gaade''' === Tarjumaad === * {{en}}: deliverer, reacher, i8hwdatsnx1kvgbfbjg4u931qphxcqw ayaan 0 6981 30818 22289 2024-09-18T15:56:20Z Girligaanshub 3150 30818 wikitext text/x-wiki {{-so-}} == Magac == '''ayaan''' === Tarjumaad === * {{en}}: luck * {{en}}: lucky person * {{en}}: spiritual mediator of the [[barwaaqo]] religion seonk2t4f31a139qwcbht99g0zdj1rd guurti 0 6982 28355 28351 2024-06-14T17:59:27Z Girligaanshub 3150 28355 wikitext text/x-wiki {{-so-}} == Magac == '''guurti''' === Tarjumaad === * {{en}}: council, conference of men ===Synonyms=== *[[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], 6z9j0lwhy2dxbq0v708fht0smadzy1t girligaan 0 6983 22292 2022-09-24T14:37:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''girligaan''' === Tarjumaad === * {{en}}: machine gun, gatlin gun, cannon, maxim gun 22292 wikitext text/x-wiki {{-so-}} == Magac == '''girligaan''' === Tarjumaad === * {{en}}: machine gun, gatlin gun, cannon, maxim gun 49kfic1pfyhwm140ht1jh0tcuwv3vy2 sibraar 0 6984 22293 2022-09-24T15:26:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sibraar''' === Tarjumaad === * {{en}}: bindle 22293 wikitext text/x-wiki {{-so-}} == Magac == '''sibraar''' === Tarjumaad === * {{en}}: bindle ht0f3hoz0hlcscwzv053xlbm8yc9x93 tiir 0 6985 32090 31922 2024-10-28T03:46:27Z Girligaanshub 3150 32090 wikitext text/x-wiki {{-so-}} == Magac == '''tiir''' === Tarjumaad === * {{en}}: pillar, column ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] jvbi605zkk76c301jjh2ef2fhsxbkn0 galabta 0 6986 22295 2022-09-24T15:44:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galabta''' === Tarjumaad === * {{en}}: afternoon 22295 wikitext text/x-wiki {{-so-}} == Magac == '''galabta''' === Tarjumaad === * {{en}}: afternoon lrkgbejjq7fy8ix33cbnjiw962vsi54 timacad 0 6987 30796 30793 2024-09-17T18:56:39Z Girligaanshub 3150 30796 wikitext text/x-wiki {{-so-}} == Magac == '''timacad''' === Tarjumaad === * {{en}}: interloper, intruder, trespasser, infiltrator, outsider, alien, foreigner, stranger, outcast ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] 1hij8lekn14lmk798kfw4heff7gdni3 soohan 0 6988 22297 2022-09-25T10:59:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''soohan''' === Tarjumaad === * {{en}}: braided 22297 wikitext text/x-wiki {{-so-}} == Magac == '''soohan''' === Tarjumaad === * {{en}}: braided biilzku4xf12afz5e2hx23bnpry2vcf eryo 0 6989 22354 22299 2022-09-25T20:14:03Z Girligaanshub 3150 22354 wikitext text/x-wiki {{-so-}} == Magac == '''eryo''' === Tarjumaad === * {{en}}: expel * {{en}}: haul in, collect ap6ee5xordmj0i9ftbztfs7gebm0jio tajweed 0 6990 22300 2022-09-25T12:45:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tajweed''' === Tarjumaad === * {{en}}: morphemes, pronunciation 22300 wikitext text/x-wiki {{-so-}} == Magac == '''tajweed''' === Tarjumaad === * {{en}}: morphemes, pronunciation luqa3bens7w2mrvo6i8qbtrz0wu5dei eryoon 0 6991 22355 22301 2022-09-25T20:15:05Z Girligaanshub 3150 22355 wikitext text/x-wiki {{-so-}} == Magac == '''eryoon''' === Tarjumaad === * {{en}}: expulsion * {{en}}: collect, take 09hpfs9x2calz5iahwu667cgs72j7mo aroor 0 6992 32787 28861 2024-12-01T17:15:20Z ВМНС 5070 32787 wikitext text/x-wiki {{-so-}} == Magac == '''aroor''' === Tarjumaad === * {{en}}: dawn, early morning [[Category:Soomaali ereyada-a]] o2ldfvruv7cobq9qhw6vvz0a3jokyjh taxaab 0 6993 28859 22303 2024-07-22T01:33:51Z Girligaanshub 3150 28859 wikitext text/x-wiki {{-so-}} == Magac == '''taxaab''' === Tarjumaad === * {{en}}: rein, * {{en}}: to lead a horse by the rein, c5fixkdps0zp0doya9obxtp06r3aqwz eegi 0 6994 22305 2022-09-25T13:00:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eegi''' === Tarjumaad === * {{en}}: scout, intelligencer 22305 wikitext text/x-wiki {{-so-}} == Magac == '''eegi''' === Tarjumaad === * {{en}}: scout, intelligencer hk8opszkj9fdxrn4y2c1dv4cmt0rudf uud 0 6995 22306 2022-09-25T13:06:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uud''' === Tarjumaad === * {{en}}: pasture, fodder 22306 wikitext text/x-wiki {{-so-}} == Magac == '''uud''' === Tarjumaad === * {{en}}: pasture, fodder 7s78x97jcagus996ozgce23o0s2yrf1 inkir 0 6996 30718 24250 2024-09-11T03:51:59Z Girligaanshub 3150 30718 wikitext text/x-wiki {{-so-}} == Magac == '''inkir''' === Tarjumaad === * {{en}}: contrive, disparage, defame, denigrate ===Synonyms=== *[[dafiraad]] qi7920ia8q910fsbfy7jyax18dsej9j khidmo 0 6997 22308 2022-09-25T13:33:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khidmo''' === Tarjumaad === * {{en}}: servitude, serfdom, workfare 22308 wikitext text/x-wiki {{-so-}} == Magac == '''khidmo''' === Tarjumaad === * {{en}}: servitude, serfdom, workfare lo7kimfwo9q8sx8r8fsgb8cqmbnyaql arooban 0 6998 22309 2022-09-25T13:36:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''arooban''' === Tarjumaad === * {{en}}: ready, fit for work, punctual, prompt, meticulous, conscientious, diligent 22309 wikitext text/x-wiki {{-so-}} == Magac == '''arooban''' === Tarjumaad === * {{en}}: ready, fit for work, punctual, prompt, meticulous, conscientious, diligent 4xkaqfv1h50fri7azdr22uzuuoincn4 duufsasho 0 6999 31994 30730 2024-10-27T01:28:47Z Girligaanshub 3150 31994 wikitext text/x-wiki {{-so-}} == Magac == '''duufsasho''' === Tarjumaad === * {{en}}: manipulate, exploit ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]] 52qnwlh5yaw7k7y6c53owarxowoxy2c duub u xir 0 7000 22311 2022-09-25T13:39:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duub u xir''' === Tarjumaad === * {{en}}: elevate, promote, pedestalize 22311 wikitext text/x-wiki {{-so-}} == Magac == '''duub u xir''' === Tarjumaad === * {{en}}: elevate, promote, pedestalize pqqxh2i6wqellplqb2xhkqinizru5e5 daabac 0 7001 26710 22312 2024-02-08T16:49:19Z Girligaanshub 3150 26710 wikitext text/x-wiki {{-so-}} == Magac == '''daabac''' === Tarjumaad === * {{en}}: knit crgcdsaf7f9646qxlwsem27iz2oansh liibaan 0 7002 22313 2022-09-25T13:44:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liibaan''' === Tarjumaad === * {{en}}: wellbeing 22313 wikitext text/x-wiki {{-so-}} == Magac == '''liibaan''' === Tarjumaad === * {{en}}: wellbeing 34w8hu5mtqk0amlcjia6iuwoh3nxgt1 wayiig 0 7003 22314 2022-09-25T13:45:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wayiig''' === Tarjumaad === * {{en}}: heed, scrutiny 22314 wikitext text/x-wiki {{-so-}} == Magac == '''wayiig''' === Tarjumaad === * {{en}}: heed, scrutiny rwx4bcnubn89vs4lt1k4knigclfhswf diif 0 7004 22315 2022-09-25T14:06:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diif''' === Tarjumaad === * {{en}}: exhaustion 22315 wikitext text/x-wiki {{-so-}} == Magac == '''diif''' === Tarjumaad === * {{en}}: exhaustion d8z3nbl12n34salicg4y1pwajwv997p walaabi 0 7005 22316 2022-09-25T14:08:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walaabi''' === Tarjumaad === * {{en}}: opponent 22316 wikitext text/x-wiki {{-so-}} == Magac == '''walaabi''' === Tarjumaad === * {{en}}: opponent dcqx407z671c2pycmzj3669sbusrke1 guuguule 0 7006 22317 2022-09-25T14:10:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guuguule''' === Tarjumaad === * {{en}}: cuckoo bird 22317 wikitext text/x-wiki {{-so-}} == Magac == '''guuguule''' === Tarjumaad === * {{en}}: cuckoo bird km5vxgaugl5xhrb5a1lb2rwzex0fjx0 waanshee 0 7007 25257 25178 2023-10-11T18:00:09Z Girligaanshub 3150 25257 wikitext text/x-wiki {{-so-}} == Magac == '''waanshee''' === Tarjumaad === * {{en}}: be cautious, be conservative ===Synonyms=== *[[fejignaan]], [[heegan]], [[heeganka]], [[waanshee]] ===Antonyms=== *[[hidib]] myf51ed57skev5o2e4ao1w6ljvwswtd weydow 0 7008 22319 2022-09-25T14:40:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weydow''' === Tarjumaad === * {{en}}: fragile 22319 wikitext text/x-wiki {{-so-}} == Magac == '''weydow''' === Tarjumaad === * {{en}}: fragile tqnfzsvzfjag2lgx8p4po83l9pfcuob goleyaal 0 7009 22320 2022-09-25T14:43:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goleyaal''' === Tarjumaad === * {{en}}: committees, boards, cabinets, meeting places, courtyards, confluences, assemblies, assemblage, forum 22320 wikitext text/x-wiki {{-so-}} == Magac == '''goleyaal''' === Tarjumaad === * {{en}}: committees, boards, cabinets, meeting places, courtyards, confluences, assemblies, assemblage, forum m6i8dyr9okzrkquil4ezc76zl10fbuw ilgabadhle 0 7010 31758 24343 2024-10-25T19:05:27Z Girligaanshub 3150 31758 wikitext text/x-wiki {{-so-}} == Magac == '''ilgabadhle''' === Tarjumaad === * {{en}}: shy, meek, passive, deferential, submissive, ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]] cz96dbhz7pel1gz1k1yyfn1aic8nad5 saryan 0 7011 22322 2022-09-25T17:45:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saryan''' === Tarjumaad === * {{en}}: male oryx 22322 wikitext text/x-wiki {{-so-}} == Magac == '''saryan''' === Tarjumaad === * {{en}}: male oryx o2yoe5prrg4ngl74onq88xub9b31zyp gooni-daaq 0 7012 32107 31959 2024-10-28T04:38:23Z Girligaanshub 3150 32107 wikitext text/x-wiki {{-so-}} == Magac == '''gooni-daaq''' === Tarjumaad === * {{en}}: loner, solitary, introvert ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]] iuu4ovzb6mokuej2xvtpgka4lyloj56 gubad 0 7013 22324 2022-09-25T17:48:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gubad''' === Tarjumaad === * {{en}}: savanna 22324 wikitext text/x-wiki {{-so-}} == Magac == '''gubad''' === Tarjumaad === * {{en}}: savanna 0be4mljmswoxrlmvl3qncp4miiat3p1 gaag 0 7014 25956 25955 2023-11-16T06:27:45Z Girligaanshub 3150 25956 wikitext text/x-wiki {{-so-}} == Magac == '''gaag''' === Tarjumaad === * {{en}}: organism, few rvnbebaoir02nzljq73jkigspidt28u gaban 0 7015 32254 22326 2024-11-04T05:31:27Z Girligaanshub 3150 32254 wikitext text/x-wiki {{-so-}} == Magac == '''gaban''' === Tarjumaad === * {{en}}: leopard cub, big cat cub * {{en}}: wealth 7hdfnlehb9rxi8dzzabrx4979a6p9m9 gorofaad 0 7016 22327 2022-09-25T18:05:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorofaad''' === Tarjumaad === * {{en}}: expired, perished, used up, became old, discarded 22327 wikitext text/x-wiki {{-so-}} == Magac == '''gorofaad''' === Tarjumaad === * {{en}}: expired, perished, used up, became old, discarded 487vdt1qinknlowyc6i2ap7d2yxqb8p galayax 0 7017 22328 2022-09-25T18:10:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galayax''' === Tarjumaad === * {{en}}: frail, feeble 22328 wikitext text/x-wiki {{-so-}} == Magac == '''galayax''' === Tarjumaad === * {{en}}: frail, feeble 1hsp5v8re3bau9unvqc8fc68auad3k7 qafilan 0 7018 22329 2022-09-25T18:11:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qafilan''' === Tarjumaad === * {{en}}: covert, hidden, secretive 22329 wikitext text/x-wiki {{-so-}} == Magac == '''qafilan''' === Tarjumaad === * {{en}}: covert, hidden, secretive r41cprk5hj1fynoykhszgjmynoj1gpq qalbitaag 0 7019 22330 2022-09-25T18:16:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalbitaag''' === Tarjumaad === * {{en}}: fantasy, pipe dream, daydream 22330 wikitext text/x-wiki {{-so-}} == Magac == '''qalbitaag''' === Tarjumaad === * {{en}}: fantasy, pipe dream, daydream soowrvjkm86ll50jde6vd5oijplx5tz quuso 0 7020 32455 31990 2024-11-15T20:27:13Z Girligaanshub 3150 32455 wikitext text/x-wiki {{-so-}} == Magac == '''quuso''' === Tarjumaad === * {{en}}: to lose hope, to become pessimistic, to be apathetic, unmotivated, exhausted, sluggish, sloth, * {{en}}: concede, give up, to surrender, relinquish, capitulate, submit, forfeit * {{en}}: to have despair, * {{en}}: to be desperate ===Synonyms=== * [[quus]], [[quuso]] c5o1pzdyluhm8qn3jv8l6jraw90o7so qaayo 0 7021 22332 2022-09-25T18:23:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaayo''' === Tarjumaad === * {{en}}: honor, prestige, nobility, dignity, reputation 22332 wikitext text/x-wiki {{-so-}} == Magac == '''qaayo''' === Tarjumaad === * {{en}}: honor, prestige, nobility, dignity, reputation dt0ju1z8c2n3bx5r01p9tv7hyz1xo11 qallaal 0 7022 22333 2022-09-25T18:25:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qallaal''' === Tarjumaad === * {{en}}: stagnant water pond 22333 wikitext text/x-wiki {{-so-}} == Magac == '''qallaal''' === Tarjumaad === * {{en}}: stagnant water pond 982q9blblccviqx09xnu01msw09ffj4 bidhaan 0 7023 24047 22334 2023-07-24T04:05:31Z Girligaanshub 3150 24047 wikitext text/x-wiki {{-so-}} == Magac == '''bidhaan''' === Tarjumaad === * {{en}}: mirage, appear, appearance oqqqnmut311xa6kj455k1gv43qfkfii yuurur 0 7024 22335 2022-09-25T18:32:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yuurur''' === Tarjumaad === * {{en}}: presence 22335 wikitext text/x-wiki {{-so-}} == Magac == '''yuurur''' === Tarjumaad === * {{en}}: presence a4a2s1vsycz3in1hs0a1o69iwmk4xmw qoob 0 7025 22336 2022-09-25T18:33:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoob''' === Tarjumaad === * {{en}}: hoof 22336 wikitext text/x-wiki {{-so-}} == Magac == '''qoob''' === Tarjumaad === * {{en}}: hoof 7zup5p0pcgwv2eggwlj1m779xw2i9s8 qabiir 0 7026 22337 2022-09-25T18:34:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabiir''' === Tarjumaad === * {{en}}: stiff 22337 wikitext text/x-wiki {{-so-}} == Magac == '''qabiir''' === Tarjumaad === * {{en}}: stiff s30cziqgj1v5t6jm95k5o7onuglinmd qolof 0 7027 25951 24534 2023-11-16T06:16:04Z Girligaanshub 3150 25951 wikitext text/x-wiki {{-so-}} == Magac == '''qolof''' === Tarjumaad === * {{en}}: plastron, hard skin, carapace, dandruff, shell, dry leaf, dry leaves, crust 3cbab1nhe1j6nfpxucpu4ejxpf21uit qac 0 7028 22339 2022-09-25T18:54:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qac''' === Tarjumaad === * {{en}}: glance 22339 wikitext text/x-wiki {{-so-}} == Magac == '''qac''' === Tarjumaad === * {{en}}: glance bin0o7r7duqfyjhqaenq6x1gc2lqzob qarrari 0 7029 22340 2022-09-25T18:56:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qarrari''' === Tarjumaad === * {{en}}: rip up, shred, 22340 wikitext text/x-wiki {{-so-}} == Magac == '''qarrari''' === Tarjumaad === * {{en}}: rip up, shred, rv00ujiivvmp81eik0lub4m9xvw4nhk qulub 0 7030 27604 25663 2024-05-22T10:34:19Z Girligaanshub 3150 27604 wikitext text/x-wiki {{-so-}} == Magac == '''qulub''' === Tarjumaad === * {{en}}: anxiety, echoism, micromania, narcissistic abuse syndrome ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]] lfptk88ogd2q3ittio4qi6qvbj8cr1a qaraw 0 7031 22342 2022-09-25T19:15:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaraw''' === Tarjumaad === * {{en}}: somniloquy 22342 wikitext text/x-wiki {{-so-}} == Magac == '''qaraw''' === Tarjumaad === * {{en}}: somniloquy g95luim6zsafzu87fvdbmvlo2p7wvgd qiil 0 7032 22685 22343 2022-09-29T19:33:51Z Girligaanshub 3150 22685 wikitext text/x-wiki {{-so-}} == Magac == '''qiil''' === Tarjumaad === * {{en}}: solution, proof ei31zr4ztqy2dp19f7nqgnw2t16tcxe tafwareem 0 7033 31793 22344 2024-10-25T20:53:00Z Girligaanshub 3150 31793 wikitext text/x-wiki {{-so-}} == Magac == '''tafwareem''' === Tarjumaad === * {{en}}: ambush ===Synonyms=== *[[tafwareem]], [[jidgooy]], [[gaadmo]], c3jqm4m3gwya6moclg4nhveeg42vuh5 aynshaad 0 7034 22345 2022-09-25T19:21:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aynshaad''' === Tarjumaad === * {{en}}: war song 22345 wikitext text/x-wiki {{-so-}} == Magac == '''aynshaad''' === Tarjumaad === * {{en}}: war song ddqur572vaupx2y97mvmvxkl99qzk09 carraabo 0 7035 22346 2022-09-25T19:23:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carraabo''' === Tarjumaad === * {{en}}: nocturnal 22346 wikitext text/x-wiki {{-so-}} == Magac == '''carraabo''' === Tarjumaad === * {{en}}: nocturnal 0ei4dmpuvi52pdr57r2wihc47ul0kkg turug 0 7036 22347 2022-09-25T19:23:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''turug''' === Tarjumaad === * {{en}}: hillock 22347 wikitext text/x-wiki {{-so-}} == Magac == '''turug''' === Tarjumaad === * {{en}}: hillock b265owpd6r9gfe36g5ywvc0uqj1kwd6 tabar 0 7037 22348 2022-09-25T19:24:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabar''' === Tarjumaad === * {{en}}: strength 22348 wikitext text/x-wiki {{-so-}} == Magac == '''tabar''' === Tarjumaad === * {{en}}: strength fbpfl9f0o7136oyqi82moeehaeb3vn6 tu'i 0 7038 22349 2022-09-25T19:27:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tu'i''' === Tarjumaad === * {{en}}: lay-by, rest stop, rest area, service stop, service plaza 22349 wikitext text/x-wiki {{-so-}} == Magac == '''tu'i''' === Tarjumaad === * {{en}}: lay-by, rest stop, rest area, service stop, service plaza pejhkb0bamj0btt3dg7sz34inji7axn taxaash 0 7039 22350 2022-09-25T19:30:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxaash''' === Tarjumaad === * {{en}}: arid plain 22350 wikitext text/x-wiki {{-so-}} == Magac == '''taxaash''' === Tarjumaad === * {{en}}: arid plain kytb4fj4diu0swp6ufnky56fvyafqn4 rin 0 7040 22351 2022-09-25T19:58:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rin''' === Tarjumaad === * {{en}}: conceive 22351 wikitext text/x-wiki {{-so-}} == Magac == '''rin''' === Tarjumaad === * {{en}}: conceive j6fqrk1ep2fm931liqxc913i606j1uk taani 0 7041 22352 2022-09-25T19:59:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taani''' === Tarjumaad === * {{en}}: breeding stud mammal 22352 wikitext text/x-wiki {{-so-}} == Magac == '''taani''' === Tarjumaad === * {{en}}: breeding stud mammal c6uq45pelvpmh3r5f7gjq5zh695a3wa qooqay 0 7042 22353 2022-09-25T20:00:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qooqay''' === Tarjumaad === * {{en}}: in heat, sexually excited, sexually frustrated, sexually agitated 22353 wikitext text/x-wiki {{-so-}} == Magac == '''qooqay''' === Tarjumaad === * {{en}}: in heat, sexually excited, sexually frustrated, sexually agitated cb7pp2z9pow4dmabsg9ww7ohq4aqrp2 tebi 0 7043 30987 28375 2024-09-29T16:49:20Z Girligaanshub 3150 30987 wikitext text/x-wiki {{-so-}} == Magac == '''tebi''' === Tarjumaad === * {{en}}: target, head, direct inform, impart, convey, reveal, transmit, disseminate, remit, funnel, pass, pass on ===Synonyms=== *[[faro]], [[tebi]], [[shiishbar]], [[murdiso]], [[beeg]], [[beegso]], cihz4wuibbfgxr7dt6u8zprcbtq59ad taab 0 7044 22357 2022-09-25T21:59:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taab''' === Tarjumaad === * {{en}}: adrenaline 22357 wikitext text/x-wiki {{-so-}} == Magac == '''taab''' === Tarjumaad === * {{en}}: adrenaline rn6hoquiefl611w42gxu90cj0su83ti taltallaab 0 7045 22358 2022-09-25T22:18:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taltallaab''' === Tarjumaad === * {{en}}: tiptoe 22358 wikitext text/x-wiki {{-so-}} == Magac == '''taltallaab''' === Tarjumaad === * {{en}}: tiptoe n6cgzxc30wbw7vrn70egdh16gi62yjb tafantoof 0 7046 22359 2022-09-25T22:19:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tafantoof''' === Tarjumaad === * {{en}}: deprivation 22359 wikitext text/x-wiki {{-so-}} == Magac == '''tafantoof''' === Tarjumaad === * {{en}}: deprivation 0dw8c5nkewbzh3ttnrbb5llu6q4sky3 xafiiltan 0 7047 22360 2022-09-25T22:25:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xafiiltan''' === Tarjumaad === * {{en}}: cognizant 22360 wikitext text/x-wiki {{-so-}} == Magac == '''xafiiltan''' === Tarjumaad === * {{en}}: cognizant 7rpyrmijll4j3octyo5ksf13r1ms54u xaalayso 0 7048 22361 2022-09-25T22:28:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaalayso''' === Tarjumaad === * {{en}}: prioritize 22361 wikitext text/x-wiki {{-so-}} == Magac == '''xaalayso''' === Tarjumaad === * {{en}}: prioritize po5a4c1r0eylfxnpwcb0kf9l3mwhlk7 xankaab 0 7049 22362 2022-09-25T22:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xankaab''' === Tarjumaad === * {{en}}: stockpile 22362 wikitext text/x-wiki {{-so-}} == Magac == '''xankaab''' === Tarjumaad === * {{en}}: stockpile g0sat6fck08zwuay39bchmphmopp05z iib 0 7050 31342 25741 2024-10-05T15:33:28Z Girligaanshub 3150 31342 wikitext text/x-wiki {{-so-}} == Magac == '''iib''' === Tarjumaad === * {{en}}: sell, sale * {{en}}: heart's desire, dear, precious, ===Synonyms=== *[[iib]], [[bayac]] 1xsymq2n3dnoqug52pd26dfodkek90t xarrago 0 7051 31469 31459 2024-10-12T23:55:54Z Girligaanshub 3150 31469 wikitext text/x-wiki {{-so-}} == Magac == '''xarrago''' === Tarjumaad === * {{en}}: fashion, grace, honorable, honour, honor, honourable, ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 16avu1anqbsvxifrgbqlv38wk78jkyf xoodi 0 7052 22365 2022-09-25T23:09:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoodi''' === Tarjumaad === * {{en}}: caress, massage, 22365 wikitext text/x-wiki {{-so-}} == Magac == '''xoodi''' === Tarjumaad === * {{en}}: caress, massage, l8wk82azm44n7wg20qxv4yzgo0fiw6g xagafso 0 7053 22366 2022-09-25T23:15:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xagafso''' === Tarjumaad === * {{en}}: wageslave 22366 wikitext text/x-wiki {{-so-}} == Magac == '''xagafso''' === Tarjumaad === * {{en}}: wageslave bitocff8oki90crutzaie1feugvzm8g xaasaami 0 7054 31260 22367 2024-10-04T16:01:36Z Girligaanshub 3150 31260 wikitext text/x-wiki {{-so-}} == Magac == '''xaasaami''' === Tarjumaad === * {{en}}: subsidize ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] 3jekkw7vamjg5b492g3tcy0p69kt70g karaahiyo 0 7055 32661 32659 2024-11-30T08:17:29Z Girligaanshub 3150 32661 wikitext text/x-wiki {{-so-}} == Magac == '''karaahiyo''' === Tarjumaad === * {{en}}: inappropriate, improper, unfitting, unsuitable * {{en}}: makruh (makruux, sinful) 5j95td6htdwbbnfdyegxoox8x3p1xeh kararrah 0 7056 22369 2022-09-25T23:31:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kararrah''' === Tarjumaad === * {{en}}: waffling 22369 wikitext text/x-wiki {{-so-}} == Magac == '''kararrah''' === Tarjumaad === * {{en}}: waffling kloc9b5gp4dciphwspasct15xwi1lqw kushlayn 0 7057 22370 2022-09-26T00:00:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kushlayn''' === Tarjumaad === * {{en}}: jogging 22370 wikitext text/x-wiki {{-so-}} == Magac == '''kushlayn''' === Tarjumaad === * {{en}}: jogging jfjwwh3fppgp4yd6yfgdl4tjp6dou75 kalawso 0 7058 22371 2022-09-26T00:03:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalawso''' === Tarjumaad === * {{en}}: consumerism, materialism 22371 wikitext text/x-wiki {{-so-}} == Magac == '''kalawso''' === Tarjumaad === * {{en}}: consumerism, materialism 3no6ldwzglfgmqp8s5lt4an3m8onn1d deys 0 7059 22372 2022-09-26T00:04:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deys''' === Tarjumaad === * {{en}}: preserve 22372 wikitext text/x-wiki {{-so-}} == Magac == '''deys''' === Tarjumaad === * {{en}}: preserve bq8162qfew2dou5u36pju4gk5s5zcza kiil 0 7060 22374 2022-09-26T00:17:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kiil''' === Tarjumaad === * {{en}}: pamper 22374 wikitext text/x-wiki {{-so-}} == Magac == '''kiil''' === Tarjumaad === * {{en}}: pamper a0tmyue2lflrc3712vax51gkcxlag0s ganafnimo 0 7061 22375 2022-09-26T00:39:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganafnimo''' === Tarjumaad === * {{en}}: arrogance, haughtiness, conceit, snobbishness, hubris, narcissism 22375 wikitext text/x-wiki {{-so-}} == Magac == '''ganafnimo''' === Tarjumaad === * {{en}}: arrogance, haughtiness, conceit, snobbishness, hubris, narcissism nfym8urt3z59cowwl0vbixe2a03yqqy weysaaw 0 7062 22376 2022-09-26T01:10:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weysaaq''' === Tarjumaad === * {{en}}: fistfight 22376 wikitext text/x-wiki {{-so-}} == Magac == '''weysaaq''' === Tarjumaad === * {{en}}: fistfight cim9wosg7vuc43a7wt7nsj42hg71gqs naxariis 0 7063 22385 22384 2022-09-26T09:41:41Z EnsiklopediaXylon 3278 22385 wikitext text/x-wiki ==Soomaali== ===Cilmiga asalka ereyada=== #{{uncountable}} Tayada naxariista. Markaad naxariis leedahay waxaad samaysaa waxyaalo badan oo '''naxariis''' leh. #{{uncountable}} Waxyaabo wanaagsan oo dadku sameeyaan. Markaad dadka caawiso waxaad muujinaysaa '''naxariis'''. 2gh07dutjqa3mdjp6om7obw9n9h2pwx Template:uncountable 10 7064 22382 22378 2022-09-26T09:35:52Z EnsiklopediaXylon 3278 22382 wikitext text/x-wiki {{context|aan la tirin karin}}<includeonly>[[Category:Uncountable nouns]]</includeonly><noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> mgz6uwt7wxcnidwnu21nr4y5kb1ar3p Template:context 10 7065 22379 2022-09-26T09:29:50Z EnsiklopediaXylon 3278 Bog cusub: <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... 22379 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 Template:documentation 10 7066 22380 2022-09-26T09:30:18Z EnsiklopediaXylon 3278 Bog cusub: <!-- These are the literal class definitions in common.css: /* For template documentation */ .template-documentation { clear: both; margin: 1em 0 0 0; border: 1px solid #aaa; background-color: #ecfcf4; padding: 0.8em; } -->{{#invoke:Documentation|main|_content={{ {{#invoke:Documentation|contentTitle}}}}}}<noinclude> <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> 22380 wikitext text/x-wiki <!-- These are the literal class definitions in common.css: /* For template documentation */ .template-documentation { clear: both; margin: 1em 0 0 0; border: 1px solid #aaa; background-color: #ecfcf4; padding: 0.8em; } -->{{#invoke:Documentation|main|_content={{ {{#invoke:Documentation|contentTitle}}}}}}<noinclude> <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> 002p0dwj87x409ohr8s716kmhg9s28c Module:Documentation 828 7067 22381 2022-09-26T09:34:33Z EnsiklopediaXylon 3278 Bog cusub: -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made availa... 22381 Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- 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 local ret = ugsub(msg, '$([1-9][0-9]*)', getMessageVal) return ret end p.message = message local function makeWikilink(page, display) if display then return mw.ustring.format('[[%s|%s]]', page, display) else return mw.ustring.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 mw.ustring.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 return '<small style="font-style: normal;">(' .. table.concat(ret, ' &#124; ') .. ')</small>' 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 ---------------------------------------------------------------------------- -- Main function ---------------------------------------------------------------------------- p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user -- -- Messages: -- 'main-div-id' --> 'template-documentation' -- 'main-div-classes' --> 'template-documentation iezoomfix' --]] local env = p.getEnvironment(args) local root = mw.html.create() local docTitle = env.docTitle -- Prevent the start box from appearing if documentation page does not exist if docTitle.exists then root :wikitext(p.sandboxNotice(args, env)) -- This div tag is from {{documentation/start box}}, but moving it here -- so that we don't have to worry about unclosed tags. :tag('div') :attr('id', message('main-div-id')) :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') :css('clear', 'both') -- So right or left floating items don't stick out of the doc box. :newline() :done() :done() end root :wikitext(p._endBox(args, env)) :wikitext(p.addTrackingCategories(env)) return 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. -- env.printTitle - the print version of the template, located at the /Print subpage. -- -- Data includes: -- 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.printTitle() --[[ -- Title object for the /Print subpage. -- Messages: -- 'print-subpage' --> 'Print' --]] return env.templateTitle:subPageTitle(message('print-subpage')) 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.fullUrl( 'Special:ComparePages', {page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- 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' --> '[[Image: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' --]=] 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 = '' local frame = mw.getCurrentFrame() local isPreviewing = frame:preprocess('{{REVISIONID}}') == '' -- True if the page is being previewed. local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if isPreviewing or not compareUrl then text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) else local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) 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.namespace == mw.site.namespaces.Module.id 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. text = text .. makeCategoryLink(message('sandbox-category')) omargs.text = text local ret = '<div style="clear: both;"></div>' ret = ret .. messageBox.main('ombox', omargs) return ret 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 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' -- 'file-docpage-preload' --> 'Template:Documentation/preload-filespace' -- '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 local data = {} data.title = title data.docTitle = docTitle -- View, display, edit, and purge links if /doc exists. data.viewLinkDisplay = message('view-link-display') data.editLinkDisplay = message('edit-link-display') data.historyLinkDisplay = message('history-link-display') data.purgeLinkDisplay = message('purge-link-display') -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 6 then -- File namespace preload = message('file-docpage-preload') elseif subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end data.preload = preload data.createLinkDisplay = message('create-link-display') return data end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local function escapeBrackets(s) -- Escapes square brackets with HTML entities. s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities. s = s:gsub('%]', '&#93;') return s end local ret local docTitle = data.docTitle local title = data.title if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay) local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay) local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay) ret = '[%s] [%s] [%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink) else local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) ret = '[%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, createLink) 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=Documentation icon]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'start-box-linkclasses' --> 'mw-editsection-like plainlinks' -- 'start-box-link-id' --> 'doc_editlinks' -- '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 elseif subjectSpace == 10 or subjectSpace == 828 then -- We are in the template or module namespaces. data.headingFontWeight = 'bold' data.headingFontSize = '125%' else data.headingFontSize = '150%' end -- Data for the [view][edit][history][purge] or [create] links. if links then data.linksClass = message('start-box-linkclasses') data.linksId = message('start-box-link-id') 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 :css('padding-bottom', '3px') :css('border-bottom', '1px solid #aaa') :css('margin-bottom', '1ex') :newline() :tag('span') :cssText(data.headingStyleText) :css('font-weight', data.headingFontWeight) :css('font-size', data.headingFontSize) :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 -- -- Messages: -- 'fmbox-id' --> 'documentation-meta-data' -- 'fmbox-style' --> 'background-color: #ecfcf4' -- 'fmbox-textstyle' --> 'font-style: italic' -- -- The HTML is generated by the {{fmbox}} template, courtesy of [[Module:Message box]]. --]=] -- 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 arguments for {{fmbox}}. local fmargs = {} fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data' fmargs.image = 'none' fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4' fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;' -- Assemble the fmbox text field. 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 '') text = text .. '<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 fmargs.text = text return messageBox.main('fmbox', fmargs) 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 [[Wikipedia: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 local subjectSpace = env.subjectSpace local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then else pagetype = message('default-pagetype') end if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editUrl = docTitle:fullUrl{action = 'edit'} local editDisplay = message('edit-link-display') local editLink = makeUrlLink(editUrl, editDisplay) local historyUrl = docTitle:fullUrl{action = 'history'} local historyDisplay = message('history-link-display') local historyLink = makeUrlLink(historyUrl, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) local pagetype = message('module-pagetype-name') ret = message('create-doc-blurb', {createLink, pagetype}) .. '<br />' elseif env.subjectSpace == 10 then local createUrl = docTitle:fullUrl{action = 'edit', preload = message('template-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) local pagetype = message('template-pagetype') ret = message('create-doc-blurb', {createLink, pagetype}) .. '<br />' else local createUrl = docTitle:fullUrl{action = 'edit', preload = message('docpage-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) local pagetype = message('default-pagetype') ret = message('create-doc-blurb', {createLink, pagetype}) .. '<br />' end return ret 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' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- '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 sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeUrlLink(sandboxEditUrl, 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:fullUrl{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 mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary} 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:fullUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:fullUrl{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 local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 3rebhbhrt307fl82whn7gvenraqm886 قلم 0 7068 22390 22386 2022-09-26T09:58:28Z EnsiklopediaXylon 3278 /* Fal */ 22390 wikitext text/x-wiki ==Carabi== ===Cilmiga asalka ereyada 1=== Ka ق - ل - م ====Fal==== #la gooyo, la gooyay, la jaray, la jaray, la jaray, la jarjaray, la jaray in la jaro, dib loo jaro, la jaro. # in la [[maro]] [[xariif]], ku [[jilic]] # ilaa [[xoorta]], dhogorta dhogorta leh ;Isku-xidhka {{ar-conj|I|a|i|passive=y|vn=قَلْم}} ===Cilmiga asalka ereyada 2=== '''Macnaha''': in la gooyo ===Cilmiga asalka ereyada 3=== #qalin #qalin (قلم رصاص) ===Afaf kale=== *[[w:so:Ingiriisi|Ingiriisi]]: [[pen]] *[[w:so:Soomaaliga|Soomaaliga]]: [[qalin]] cxyhcgijkaf4uuda79rolieb4yr1b6l Module:ar-verb 828 7069 22387 2022-09-26T09:54:39Z EnsiklopediaXylon 3278 Bog cusub: --[[ Author: User:Benwing, from early version by User:Atitarev, User:ZxxZxxZ Todo: 1. Finish unimplemented conjugation types. Only IX-final-weak left (extremely rare, possibly only one verb اِعْمَايَ (according to Haywood and Nahmad p. 244, who are very specific about the irregular occurrence of alif + yā instead of expected اِعْمَيَّ with doubled yā). Not in Hans Wehr. 2. Implement irregular verbs as special cases and recognize them, e.g. -- la... 22387 Scribunto text/plain --[[ Author: User:Benwing, from early version by User:Atitarev, User:ZxxZxxZ Todo: 1. Finish unimplemented conjugation types. Only IX-final-weak left (extremely rare, possibly only one verb اِعْمَايَ (according to Haywood and Nahmad p. 244, who are very specific about the irregular occurrence of alif + yā instead of expected اِعْمَيَّ with doubled yā). Not in Hans Wehr. 2. Implement irregular verbs as special cases and recognize them, e.g. -- laysa "to not be"; only exists in the past tense, no non-past, no imperative, no participles, no passive, no verbal noun. Irregular alternation las-/lays-. -- istaḥā yastaḥī "be ashamed of" -- this is complex according to Hans Wehr because there are two verbs, regular istaḥyā yastaḥyī "to spare (someone)'s life" and irregular istaḥyā yastaḥyī "to be ashamed to face (someone)", which is irregular because it has the alternate irregular form istaḥā yastaḥī which only applies to this meaning. Currently we follow Haywood and Nahmad in saying that both varieties can be spelled istaḥyā/istaḥā/istaḥḥā, but we should instead use a variant= param similar to حَيَّ to distinguish the two possibilities, and maybe not include istaḥḥā. -- ʿayya/ʿayiya yaʿayyu/yaʿyā "to not find the right way, be incapable of, stammer, falter, fall ill". This appears to be a mixture of a geminate and final-weak verb. Unclear what the whole paradigm looks like. Do the consonant-ending parts in the past follow the final-weak paradigm? Is it the same in the non-past? Or can you conjugate the non-past fully as either geminate or final-weak? -- اِنْمَحَى inmaḥā or يمَّحَى immaḥā "to be effaced, obliterated; to disappear, vanish" has irregular assimilation of inm- to imm- as an alternative. inmalasa "to become smooth; to glide; to slip away; to escape" also has immalasa as an alternative. The only other form VII verbs in Hans Wehr beginning with -m- are inmalaḵa "to be pulled out, torn out, wrenched" and inmāʿa "to be melted, to melt, to dissolve", which are not listed with imm- alternatives, but might have them; if so, we should handle this generally. 3. Implement individual override parameters for each pardigm part. See Module:fro-verb for an example of how to do this generally. Note that {{temp|ar-conj-I}} and other of the older templates already had such individual override params. Irregular verbs already implemented: -- [ḥayya/ḥayiya yaḥyā "live" -- behaves like a normal final-weak verb (e.g. past first singular ḥayītu) except in the past-tense parts with vowel-initial endings (all the third person except for the third feminine plural). The normal singular and dual endings have -yiya- in them, which compresses to -yya-, with the normal endings the less preferred ones. In masculine third plural, expected ḥayū is replaced by ḥayyū by analogy to the -yy- parts, and the regular form is not given as an alternant in John Mace. Barron's 201 verbs appears to have the regular ḥayū as the part, however. Note also that final -yā appears with tall alif. This appears to be a spelling convention of Arabic, also applying in ḥayyā (form II, "to keep (someone) alive") and 'aḥyā (form IV, "to animate, revive, give birth to, give new life to").] -- implemented -- [ittaxadha yattaxidhu "take"] -- implemented -- [sa'ala yas'alu "ask" with alternative jussive/imperative yasal/sal] -- implemented -- [ra'ā yarā "see"] -- implemented -- ['arā yurī "show"] -- implemented -- ['akala ya'kulu "eat" with imperative kul] -- implemented -- ['axadha ya'xudhu "take" with imperative xudh] -- implemented -- ['amara ya'muru "order" with imperative mur] -- implemented --]] local m_headword = require("Module:headword") local m_utilities = require("Module:utilities") local m_links = require("Module:links") local ar_translit = require("Module:ar-translit") local ar_utilities = require("Module:ar-utilities") local ar_nominals = require("Module:ar-nominals") local lang = require("Module:languages").getByCode("ar") local curtitle = mw.title.getCurrentTitle().fullText local yesno = require("Module:yesno") local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.match local rsplit = mw.text.split local usub = mw.ustring.sub local ulen = mw.ustring.len local u = mw.ustring.char -- don't display i3rab in nominal forms (verbal nouns, participles) local no_nominal_i3rab = true local export = {} -- Within this module, conjugations are the functions that do the actual -- conjugating by creating the parts of a basic verb. -- They are defined further down. local conjugations = {} -- hamza variants local HAMZA = u(0x0621) -- hamza on the line (stand-alone hamza) = ء local HAMZA_ON_ALIF = u(0x0623) local HAMZA_ON_W = u(0x0624) local HAMZA_UNDER_ALIF = u(0x0625) local HAMZA_ON_Y = u(0x0626) local HAMZA_ANY = "[" .. HAMZA .. HAMZA_ON_ALIF .. HAMZA_UNDER_ALIF .. HAMZA_ON_W .. HAMZA_ON_Y .. "]" local HAMZA_PH = u(0xFFF0) -- hamza placeholder -- diacritics local A = u(0x064E) -- fatḥa local AN = u(0x064B) -- fatḥatān (fatḥa tanwīn) local U = u(0x064F) -- ḍamma local UN = u(0x064C) -- ḍammatān (ḍamma tanwīn) local I = u(0x0650) -- kasra local IN = u(0x064D) -- kasratān (kasra tanwīn) local SK = u(0x0652) -- sukūn = no vowel local SH = u(0x0651) -- šadda = gemination of consonants local DAGGER_ALIF = u(0x0670) local DIACRITIC_ANY_BUT_SH = "[" .. A .. I .. U .. AN .. IN .. UN .. SK .. DAGGER_ALIF .. "]" -- Pattern matching short vowels local AIU = "[" .. A .. I .. U .. "]" -- Pattern matching short vowels or sukūn local AIUSK = "[" .. A .. I .. U .. SK .. "]" -- Pattern matching any diacritics that may be on a consonant local DIACRITIC = SH .. "?" .. DIACRITIC_ANY_BUT_SH -- Suppressed UN; we don't show -un i3rab any more, but this can be changed to show it local UNS = no_nominal_i3rab and "" or UN local dia = {a = A, i = I, u = U} -- various letters and signs local ALIF = u(0x0627) -- ʾalif = ا local AMAQ = u(0x0649) -- ʾalif maqṣūra = ى local AMAD = u(0x0622) -- ʾalif madda = آ local TAM = u(0x0629) -- tāʾ marbūṭa = ة local T = u(0x062A) -- tāʾ = ت local HYPHEN = u(0x0640) local N = u(0x0646) -- nūn = ن local W = u(0x0648) -- wāw = و local Y = u(0x064A) -- yā = ي local S = "س" local M = "م" local LRM = u(0x200e) -- left-to-right mark -- common combinations local AH = A .. TAM local AT = A .. T local AA = A .. ALIF local AAMAQ = A .. AMAQ local AAH = AA .. TAM local AAT = AA .. T local II = I .. Y local IY = II local UU = U .. W local AY = A .. Y local AW = A .. W local AYSK = AY .. SK local AWSK = AW .. SK local NA = N .. A local NI = N .. I local AAN = AA .. N local AANI = AA .. NI local AYNI = AYSK .. NI local AWNA = AWSK .. NA local AYNA = AYSK .. NA local AYAAT = AY .. AAT local UNU = "[" .. UN .. U .. "]" local MA = M .. A local MU = M .. U -------------------- -- Utility functions -------------------- -- "if not empty" -- convert empty strings to nil; also strip quotes around -- strings, to allow embedded spaces to be included local function ine(x) if x == nil then return nil elseif rfind(x, '^".*"$') then local ret = rmatch(x, '^"(.*)"$') return ret elseif rfind(x, "^'.*'$") then local ret = rmatch(x, "^'(.*)'$") return ret elseif x == "" then return nil else return x end end -- true if array contains item local function contains(tab, item) for _, value in pairs(tab) do if value == item then return true end end return false end -- append array to array local function append_array(tab, items) for _, item in ipairs(items) do table.insert(tab, item) end end -- append to array if element not already present local function insert_if_not(tab, item) if not contains(tab, item) then table.insert(tab, item) end end -- version of rsubn() that discards all but the first return value function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end local function links(text, face, id) if text == "" or text == "?" or text == "&mdash;" or text == "—" then --mdash return text else return m_links.full_link({lang = lang, term = text, tr = "-", id = id}, face) end end local function tag_text(text, tag, class) return m_links.full_link({lang = lang, alt = text, tr = "-"}) end function track(page) require("Module:debug").track("ar-verb/" .. page) return true end function reorder_shadda(word) -- shadda+short-vowel (including tanwīn vowels, i.e. -an -in -un) gets -- replaced with short-vowel+shadda during NFC normalisation, which -- MediaWiki does for all Unicode strings; however, it makes various -- processes inconvenient, so undo it. word = rsub(word, "(" .. DIACRITIC_ANY_BUT_SH .. ")" .. SH, SH .. "%1") return word end -- synthesize a frame so that exported functions meant to be called from -- templates can be called from the debug console. function debug_frame(parargs, args) return {args = args, getParent = function() return {args = parargs} end} end --------------------------------------- -- Properties of different verbal forms --------------------------------------- -- no longer supported --local numeric_to_roman_form = { -- ["1"] = "I", ["2"] = "II", ["3"] = "III", ["4"] = "IV", ["5"] = "V", -- ["6"] = "VI", ["7"] = "VII", ["8"] = "VIII", ["9"] = "IX", ["10"] = "X", -- ["11"] = "XI", ["12"] = "XII", ["13"] = "XIII", ["14"] = "XIV", ["15"] = "XV", -- ["1q"] = "Iq", ["2q"] = "IIq", ["3q"] = "IIIq", ["4q"] = "IVq" --} -- ---- convert numeric form to roman-numeral form --local function canonicalize_form(form) -- return numeric_to_roman_form[form] or form --end local allowed_forms = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "Iq", "IIq", "IIIq", "IVq"} local function form_supports_final_weak(form) return form ~= "XI" and form ~= "XV" and form ~= "IVq" end local function form_supports_geminate(form) return form == "I" or form == "III" or form == "IV" or form == "VI" or form == "VII" or form == "VIII" or form == "X" end local function form_supports_hollow(form) return form == "I" or form == "IV" or form == "VII" or form == "VIII" or form == "X" end local function form_probably_impersonal_passive(form) return form == "VI" end local function form_probably_no_passive(form, weakness, past_vowel, nonpast_vowel) return form == "I" and weakness ~= "hollow" and contains(past_vowel, "u") or form == "VII" or form == "IX" or form == "XI" or form == "XII" or form == "XIII" or form == "XIV" or form == "XV" or form == "IIq" or form == "IIIq" or form == "IVq" end local function form_is_quadriliteral(form) return form == "Iq" or form == "IIq" or form == "IIIq" or form == "IVq" end -- Active forms II, III, IV, Iq use non-past prefixes in -u- instead of -a-. function prefix_vowel_from_form(form) if form == "II" or form == "III" or form == "IV" or form == "Iq" then return "u" else return "a" end end -- true if the active non-past takes a-vowelling rather than i-vowelling -- in its last syllable function form_nonpast_a_vowel(form) return form == "V" or form == "VI" or form == "XV" or form == "IIq" end --------------------------------------------------- -- Radicals associated with various irregular verbs --------------------------------------------------- -- Form-I verb أخذ or form-VIII verb اتخذ local function axadh_radicals(rad1, rad2, rad3) return rad1 == HAMZA and rad2 == "خ" and rad3 == "ذ" end -- Form-I verb whose imperative has a reduced form: أكل and أخذ and أمر local function reduced_imperative_verb(rad1, rad2, rad3) return axadh_radicals(rad1, rad2, rad3) or rad1 == HAMZA and ( rad2 == "ك" and rad3 == "ل" or rad2 == "م" and rad3 == "ر") end -- Form-I verb رأى and form-IV verb أرى local function raa_radicals(rad1, rad2, rad3) return rad1 == "ر" and rad2 == HAMZA and rad3 == Y end -- Form-I verb سأل local function saal_radicals(rad1, rad2, rad3) return rad1 == "س" and rad2 == HAMZA and rad3 == "ل" end -- Form-I verb حيّ or حيي and form-X verb استحيا or استحى local function hayy_radicals(rad1, rad2, rad3) return rad1 == "ح" and rad2 == Y and rad3 == Y end ----------------------- -- sets of past endings ----------------------- -- the 13 endings of the sound/hollow/geminate past tense local past_endings = { -- singular SK .. "تُ", SK .. "تَ", SK .. "تِ", A, A .. "تْ", --dual SK .. "تُمَا", AA, A .. "تَا", -- plural SK .. "نَا", SK .. "تُمْ", -- two Arabic diacritics don't work together in Wikimedia --SK .. "تُنَّ", SK .. "تُن" .. SH .. A, UU .. ALIF, SK .. "نَ" } -- make endings for final-weak past in -aytu or -awtu. AYAW is AY or AW -- as appropriate. Note that AA and AW are global variables. local function make_past_endings_ay_aw(ayaw, third_sg_masc) return { -- singular ayaw .. SK .. "تُ", ayaw .. SK .. "تَ", ayaw .. SK .. "تِ", third_sg_masc, A .. "تْ", --dual ayaw .. SK .. "تُمَا", ayaw .. AA, A .. "تَا", -- plural ayaw .. SK .. "نَا", ayaw .. SK .. "تُمْ", -- two Arabic diacritics don't work together in Wikimedia --ayaw .. SK .. "تُنَّ", ayaw .. SK .. "تُن" .. SH .. A, AW .. SK .. ALIF, ayaw .. SK .. "نَ" } end -- past final-weak -aytu endings local past_endings_ay = make_past_endings_ay_aw(AY, AAMAQ) -- past final-weak -awtu endings local past_endings_aw = make_past_endings_ay_aw(AW, AA) -- Make endings for final-weak past in -ītu or -ūtu. IIUU is ī or ū as -- appropriate. Note that AA and UU are global variables. local function make_past_endings_ii_uu(iiuu) return { -- singular iiuu .. "تُ", iiuu .. "تَ", iiuu .. "تِ", iiuu .. A, iiuu .. A .. "تْ", --dual iiuu .. "تُمَا", iiuu .. AA, iiuu .. A .. "تَا", -- plural iiuu .. "نَا", iiuu .. "تُمْ", -- two Arabic diacritics don't work together in Wikimedia --iiuu .. "تُنَّ", iiuu .. "تُن" .. SH .. A, UU .. ALIF, iiuu .. "نَ" } end -- past final-weak -ītu endings local past_endings_ii = make_past_endings_ii_uu(II) -- past final-weak -ūtu endings local past_endings_uu = make_past_endings_ii_uu(UU) ---------------------------------------- -- sets of non-past prefixes and endings ---------------------------------------- -- prefixes for non-past forms in -a- local nonpast_prefixes_a = { -- singular HAMZA .. A, "تَ", "تَ", "يَ", "تَ", --dual "تَ", "يَ", "تَ", -- plural "نَ", "تَ", "تَ", "يَ", "يَ" } -- prefixes for non-past forms in -u- (passive; active forms II, III, IV, Iq) local nonpast_prefixes_u = { -- singular HAMZA .. U, "تُ", "تُ", "يُ", "تُ", --dual "تُ", "يُ", "تُ", -- plural "نُ", "تُ", "تُ", "يُ", "يُ" } -- There are only five distinct endings in all non-past verbs. Make any set of -- non-past endings given these five distinct endings. local function make_nonpast_endings(null, fem, dual, pl, fempl) return { -- singular null, null, fem, null, null, -- dual dual, dual, dual, -- plural null, pl, fempl, pl, fempl } end -- endings for non-past indicative local indic_endings = make_nonpast_endings( U, II .. NA, AANI, UU .. NA, SK .. NA ) -- make the endings for non-past subjunctive/jussive, given the vowel diacritic -- used in "null" endings (1s/2sm/3sm/3sf/1p) local function make_subj_juss_endings(dia_null) return make_nonpast_endings( dia_null, II, AA, UU .. ALIF, SK .. NA ) end -- endings for non-past subjunctive local subj_endings = make_subj_juss_endings(A) -- endings for non-past jussive local juss_endings = make_subj_juss_endings(SK) -- endings for alternative geminate non-past jussive in -a; same as subjunctive local juss_endings_alt_a = subj_endings -- endings for alternative geminate non-past jussive in -i local juss_endings_alt_i = make_subj_juss_endings(I) -- endings for final-weak non-past indicative in -ā. Note that AY, AW and -- AAMAQ are global variables. local indic_endings_aa = make_nonpast_endings( AAMAQ, AYSK .. NA, AY .. AANI, AWSK .. NA, AYSK .. NA ) -- make endings for final-weak non-past indicative in -ī or -ū; IIUU is -- ī or ū as appropriate. Note that II and UU are global variables. local function make_indic_endings_ii_uu(iiuu) return make_nonpast_endings( iiuu, II .. NA, iiuu .. AANI, UU .. NA, iiuu .. NA ) end -- endings for final-weak non-past indicative in -ī local indic_endings_ii = make_indic_endings_ii_uu(II) -- endings for final-weak non-past indicative in -ū local indic_endings_uu = make_indic_endings_ii_uu(UU) -- endings for final-weak non-past subjunctive in -ā. Note that AY, AW, ALIF, -- AAMAQ are global variables. local subj_endings_aa = make_nonpast_endings( AAMAQ, AYSK, AY .. AA, AWSK .. ALIF, AYSK .. NA ) -- make endings for final-weak non-past subjunctive in -ī or -ū. IIUU is -- ī or ū as appropriate. Note that AA, II, UU, ALIF are global variables. local function make_subj_endings_ii_uu(iiuu) return make_nonpast_endings( iiuu .. A, II, iiuu .. AA, UU .. ALIF, iiuu .. NA ) end -- endings for final-weak non-past subjunctive in -ī local subj_endings_ii = make_subj_endings_ii_uu(II) -- endings for final-weak non-past subjunctive in -ū local subj_endings_uu = make_subj_endings_ii_uu(UU) -- endings for final-weak non-past jussive in -ā local juss_endings_aa = make_nonpast_endings( A, AYSK, AY .. AA, AWSK .. ALIF, AYSK .. NA ) -- Make endings for final-weak non-past jussive in -ī or -ū. IU is short i or u, -- IIUU is long ī or ū as appropriate. Note that AA, II, UU, ALIF are global -- variables. local function make_juss_endings_ii_uu(iu, iiuu) return make_nonpast_endings( iu, II, iiuu .. AA, UU .. ALIF, iiuu .. NA ) end -- endings for final-weak non-past jussive in -ī local juss_endings_ii = make_juss_endings_ii_uu(I, II) -- endings for final-weak non-past jussive in -ū local juss_endings_uu = make_juss_endings_ii_uu(U, UU) ----------------------------- -- sets of imperative endings ----------------------------- -- extract the second person jussive endings to get corresponding imperative -- endings local function imperative_endings_from_jussive(endings) return {endings[2], endings[3], endings[6], endings[10], endings[11]} end -- normal imperative endings local impr_endings = imperative_endings_from_jussive(juss_endings) -- alternative geminate imperative endings in -a local impr_endings_alt_a = imperative_endings_from_jussive(juss_endings_alt_a) -- alternative geminate imperative endings in -i local impr_endings_alt_i = imperative_endings_from_jussive(juss_endings_alt_i) -- final-weak imperative endings in -ā local impr_endings_aa = imperative_endings_from_jussive(juss_endings_aa) -- final-weak imperative endings in -ī local impr_endings_ii = imperative_endings_from_jussive(juss_endings_ii) -- final-weak imperative endings in -ū local impr_endings_uu = imperative_endings_from_jussive(juss_endings_uu) ----------------------------- -- Main conjugation functions ----------------------------- function get_args(args) local origargs = args local args = {} -- Convert empty arguments to nil, and "" or '' arguments to empty for k, v in pairs(origargs) do args[k] = ine(v) end return origargs, args end function get_frame_args(frame) return get_args(frame:getParent().args) end -- Implement {{ar-conj}}. function export.show(frame) local origargs, args = get_frame_args(frame) local data, form, weakness, past_vowel, nonpast_vowel = conjugate(args, 1) -- if the value is "yes" or variants, the verb is intransitive; -- if the value is "no" or variants, the verb is transitive. -- If not specified, default is intransitive if passive == false or -- passive == "impers", else transitive. local intrans = args["intrans"] if not intrans then intrans = data.passive == false or data.passive == "impers" or data.passive == "only-impers" else intrans = yesno(intrans, "unknown") if intrans == "unknown" then error("Unrecognized value '" .. args["intrans"] .. "' to argument intrans=; use 'yes'/'y'/'true'/'1' or 'no'/'n'/'false'/'0'") end end if intrans then table.insert(data.categories, "Arabic intransitive verbs") else table.insert(data.categories, "Arabic transitive verbs") end -- initialize title, with weakness indicated by conjugation -- (FIXME should it be by form?) local title = "form-" .. form .. " " .. weakness if data.passive == "only" or data.passive == "only-impers" then title = title .. " passive" end if data.irregular then table.insert(data.categories, "Arabic irregular verbs") title = title .. " irregular" end return make_table(data, title, form, intrans) .. m_utilities.format_categories(data.categories, lang) end -- Version of main entry point meant for calling from the debug console. -- An example call might be as follows: -- -- =p.show2({'I', 'a', 'u', 'ك', 'ت', 'ب'}) -- -- This is equivalent to the following template call: -- -- {{ar-conj|I|a|u|ك|ت|ب}} -- -- Note that the radicals were actually typed in with ك first, followed by ت -- and then ب, but they appear in opposite order due to right-to-left -- display issues. It's necessary to specify the radicals in the call, -- unlike in a template call where they are inferred from the page name, -- because there is (currently) no way to control the page name used in -- the radical-inference code, where it will appear as 'Module:ar-verb'. function export.show2(parargs, args) return export.show(debug_frame(parargs, args)) end -- Implement {{ar-verb}}. -- TODO: Move this into [[Module:ar-headword]] function export.headword(frame) local origargs, args = get_frame_args(frame) local data, form, weakness, past_vowel, nonpast_vowel = conjugate(args, 1) local use_params = form == "I" or args["useparam"] local arabic_3sm_perf, latin_3sm_perf local arabic_3sm_imperf, latin_3sm_imperf if data.passive == "only" or data.passive == "only-impers" then arabic_3sm_perf, latin_3sm_perf = get_spans(data.forms["3sm-ps-perf"]) arabic_3sm_imperf, latin_3sm_imperf = get_spans(data.forms["3sm-ps-impf"]) else arabic_3sm_perf, latin_3sm_perf = get_spans(data.forms["3sm-perf"]) arabic_3sm_imperf, latin_3sm_imperf = get_spans(data.forms["3sm-impf"]) end title = mw.title.getCurrentTitle() NAMESPACE = title.nsText PAGENAME = ( NAMESPACE == "Appendix" and title.subpageText ) or title.text -- set to PAGENAME if left empty local head, tr if use_params and form ~= "I" then table.insert(data.headword_categories, "Arabic augmented verbs with parameter override") end if use_params and args["head"] then head = {args["head"], args["head2"], args["head3"]} tr = {args["tr"], args["tr2"], args["tr3"]} if form == "I" then table.insert(data.headword_categories, "Arabic form-I verbs with headword perfect determined through param, not past vowel") end elseif use_params and args["tr"] then head = PAGENAME tr = args["tr"] if form == "I" then table.insert(data.headword_categories, "Arabic form-I verbs with headword perfect determined through param, not past vowel") end elseif form == "I" and #past_vowel == 0 then head = PAGENAME table.insert(data.headword_categories, "Arabic form-I verbs with missing past vowel in headword") else -- Massive hack to get the order correct. It gets reversed for some -- reason, possibly due to being surrounded by lang=ar or -- class=Arabic headword, so reverse the order before concatenating. headrev = {} for _, ar in ipairs(arabic_3sm_perf) do table.insert(headrev, 1, ar) end head = table.concat(headrev, " <small style=\"color: #888\">or</small> ") tr = table.concat(latin_3sm_perf, " <small style=\"color: #888\">or</small> ") end local form_text = ' <span class="gender">[[Appendix:Arabic verbs#Form ' .. form .. '|<abbr title="Verb form ' .. form .. '">' .. form .. '</abbr>]]</span>' local impf_arabic, impf_tr if use_params and args["impf"] then impf_arabic = args["impfhead"] or args["impf"] impf_tr = args["impftr"] or ar_translit.tr(impf_arabic, nil, nil, nil) impf_arabic = {impf_arabic} if form == "I" then table.insert(data.headword_categories, "Arabic form-I verbs with headword imperfect determined through param, not non-past vowel") end elseif form == "I" and #nonpast_vowel == 0 then impf_arabic = {} table.insert(data.headword_categories, "Arabic form-I verbs with missing non-past vowel in headword") else impf_arabic = arabic_3sm_imperf impf_tr = table.concat(latin_3sm_imperf, " <small style=\"color: #888\">or</small> ") end -- convert Arabic terms to bolded links for i, entry in ipairs(impf_arabic) do impf_arabic[i] = links(entry, "bold") end -- create non-past text by concatenating Arabic spans and adding -- transliteration, but only if we can do it non-ambiguously (either we're -- not form I or the non-past vowel was specified) local impf_text = "" if #impf_arabic > 0 then impf_text = ', <i>non-past</i> ' .. table.concat(impf_arabic, " <small style=\"color: #888\">or</small> ") if impf_tr then impf_text = impf_text .. LRM .. " (" .. impf_tr .. ")" end end return m_headword.full_headword({lang = lang, pos_category = "verbs", categories = {}, heads = head, translits = tr, sort_key = args["sort"]}) .. form_text .. impf_text .. m_utilities.format_categories(data.headword_categories, lang) end -- Version of headword entry point meant for calling from the debug console. -- See export.show2(). function export.headword2(parargs, args) return export.headword(debug_frame(parargs, args)) end -- Implementation of export.past3sm() and export.past3sm_all(). function past3sm(frameargs, doall) local origargs, args = get_args(frameargs) local data, form, weakness, past_vowel, nonpast_vowel = conjugate(args, 1) local arabic_3sm_perf, latin_3sm_perf if data.passive == "only" or data.passive == "only-impers" then arabic_3sm_perf, latin_3sm_perf = get_spans(data.forms["3sm-ps-perf"]) else arabic_3sm_perf, latin_3sm_perf = get_spans(data.forms["3sm-perf"]) end if doall then return table.concat(arabic_3sm_perf, ",") else return arabic_3sm_perf[1] end end -- Implement {{ar-past3sm}}. -- -- Generate the 3rd singular masculine past tense (the dictionary form), given -- the form, radicals and (for form I) past/non-past vowels (the non-past -- vowel is ignored, but specified for compatibility with export.headword() -- and export.show()). Form, radicals, past/non-past vowel arguments are the -- same as for export.show(). Note that the form returned may be active or -- passive depending on the passive= param (some values specify that the -- verb is a passive-only verb). If there are multiple alternatives, -- return only the first one. function export.past3sm(frame) return past3sm(frame:getParent().args, false) end -- Version of past3sm entry point meant for calling from the debug console. -- See export.show2(). function export.past3sm2(parargs, args) return export.past3sm(debug_frame(parargs, args)) end -- Implement {{ar-past3sm-all}}. -- -- Same as export.past3sm() but return all possible values, separated by -- a comma. Multiple values largely come from alternative hamza seats. function export.past3sm_all(frame) return past3sm(frame:getParent().args, true) end -- Version of past3sm_all entry point meant for calling from the debug console. -- See export.show2(). function export.past3sm_all2(parargs, args) return export.past3sm_all(debug_frame(parargs, args)) end -- Implementation of export.verb_part() and export.verb_part_all(). function verb_part(frameargs, doall) local origargs, args = get_args(frameargs) local part = args[1] local data, form, weakness, past_vowel, nonpast_vowel = conjugate(args, 2) local arabic, latin = get_spans(data.forms[part]) if doall then return table.concat(arabic, ",") else return arabic[1] end end -- Implement {{ar-verb-part}}. -- -- TODO: Move this into [[Module:ar-headword]] -- Generate an arbitrary part of the verbal paradigm. If there are multiple -- possible alternatives, return only the first one. function export.verb_part(frame) return verb_part(frame:getParent().args, false) end -- Version of verb_part entry point meant for calling from the debug console. -- See export.show2(). function export.verb_part2(parargs, args) return export.verb_part(debug_frame(parargs, args)) end -- Implement {{ar-verb-part-all}}. -- -- TODO: Move this into [[Module:ar-headword]] -- Generate an arbitrary part of the verbal paradigm. If there are multiple -- possible alternatives, return all, separated by commas. function export.verb_part_all(frame) return verb_part(frame:getParent().args, true) end -- Version of verb_part_all entry point meant for calling from the debug -- console. See export.show2(). function export.verb_part_all2(parargs, args) return export.verb_part_all(debug_frame(parargs, args)) end -- Return a property of the conjugation other than a verb part. function verb_prop(frameargs) local origargs, args = get_args(frameargs) local prop = args[1] local data, form, weakness, past_vowel, nonpast_vowel = conjugate(args, 2) if prop == "form" then return form elseif prop == "weakness" then return weakness elseif prop == "form-weakness" then return form .. "-" .. weakness elseif prop == "past-vowel" then return table.concat(past_vowel, ",") elseif prop == "nonpast-vowel" then return table.concat(nonpast_vowel, ",") elseif prop == "rad1" then return data.rad1 or "" elseif prop == "rad2" then return data.rad2 or "" elseif prop == "rad3" then return data.rad3 or "" elseif prop == "rad4" then return data.rad4 or "" elseif prop == "unreg-rad1" then return data.unreg_rad1 or "" elseif prop == "unreg-rad2" then return data.unreg_rad2 or "" elseif prop == "unreg-rad3" then return data.unreg_rad3 or "" elseif prop == "unreg-rad4" then return data.unreg_rad4 or "" elseif prop == "radicals" then return table.concat({data.rad1, data.rad2, data.rad3, data.rad4}, ",") elseif prop == "unreg-radicals" then return table.concat({data.unreg_rad1, data.unreg_rad2, data.unreg_rad3, data.unreg_rad4}, ",") elseif prop == "passive" then return data.passive == true and "yes" or not data.passive and "no" or data.passive elseif prop == "passive-uncertain" then return data.passive_uncertain and "yes" or "no" elseif prop == "vn-uncertain" then return data.vn_uncertain and "yes" or "no" elseif prop == "irregular" then return data.irregular and "yes" or "no" --elseif prop == "intrans" then -- return data.intrans else error("Unrecognized property '" .. prop .. "'") end end -- Return a property of the conjugation other than a verb part. function export.verb_prop(frame) return verb_prop(frame:getParent().args) end -- Version of verb_prop entry point meant for calling from the debug console. -- See export.show2(). function export.verb_prop2(parargs, args) return export.verb_prop(debug_frame(parargs, args)) end function export.verb_forms(frame) local origargs, args = get_frame_args(frame) local i = 1 local past_vowel_re = "^[aui,]*$" local combined_root = nil if not args[i] or rfind(args[i], past_vowel_re) then combined_root = mw.title.getCurrentTitle().text if not rfind(combined_root, " ") then error("When inferring roots from page title, need spaces in page title: " .. combined_root) end elseif rfind(args[i], " ") then combined_root = args[i] i = i + 1 else local separate_roots = {} while args[i] and not rfind(args[i], past_vowel_re) do table.insert(separate_roots, args[i]) i = i + 1 end combined_root = table.concat(separate_roots, " ") end local past_vowel = args[i] i = i + 1 if past_vowel and not rfind(past_vowel, past_vowel_re) then error("Unrecognized past vowel, should be 'a', 'i', 'u', 'a,u', etc. or empty: " .. past_vowel) end if not past_vowel then past_vowel = "" end local split_root = rsplit(combined_root, " ") -- Map from verb forms (I, II, etc.) to a table of verb properties, -- which has entries e.g. for "verb" (either true to autogenerate the verb -- head, or an explicitly specified verb head using e.g. argument "I-head"), -- and for "verb-gloss" (which comes from e.g. the argument "I" or "I-gloss"), -- and for "vn" and "vn-gloss", "ap" and "ap-gloss", "pp" and "pp-gloss". local verb_properties = {} for _, form in ipairs(allowed_forms) do local formpropslist = {} local derivs = {{"verb", ""}, {"vn", "-vn"}, {"ap", "-ap"}, {"pp", "-pp"}} local index = 1 while true do local formprops = {} local prefix = index == 1 and form or form .. index if prefix == "I" then formprops["pv"] = past_vowel end if args[prefix .. "-pv"] then formprops["pv"] = args[prefix .. "-pv"] end for _, deriv in ipairs(derivs) do local prop = deriv[1] local extn = deriv[2] if args[prefix .. extn] == "+" then formprops[prop] = true elseif args[prefix .. extn] == "-" then formprops[prop] = false elseif args[prefix .. extn] then formprops[prop] = true formprops[prop .. "-gloss"] = args[prefix .. extn] end if args[prefix .. extn .. "-head"] then if formprops[prop] == nil then formprops[prop] = true end formprops[prop] = args[prefix .. extn .. "-head"] end if args[prefix .. extn .. "-gloss"] then if formprops[prop] == nil then formprops[prop] = true end formprops[prop .. "-gloss"] = args[prefix .. extn .. "-gloss"] end end if formprops["verb"] then -- If a verb form specified, also turn on vn (unless form I, with -- unpredictable vn) and ap, and maybe pp, according to form, -- weakness and past vowel. But don't turn these on if there's -- an explicit on/off specification for them (e.g. I-pp=-). if form ~= "I" and formprops["vn"] == nil then formprops["vn"] = true end if formprops["ap"] == nil then formprops["ap"] = true end local weakness = weakness_from_radicals(form, split_root[1], split_root[2], split_root[3], split_root[4]) if formprops["pp"] == nil and not form_probably_no_passive(form, weakness, rsplit(formprops["pv"] or "", ","), {}) then formprops["pp"] = true end table.insert(formpropslist, formprops) index = index + 1 else break end end table.insert(verb_properties, {form, formpropslist}) end -- Go through and create the verb form derivations as necessary, when -- they haven't been explicitly given for _, vplist in ipairs(verb_properties) do local form = vplist[1] for _, props in ipairs(vplist[2]) do local args = {} function append_form_and_root() table.insert(args, form) if form == "I" then table.insert(args, props["pv"]) -- past vowel table.insert(args, "") end append_array(args, split_root) end if props["verb"] == true then args = {} append_form_and_root() props["verb"] = past3sm(args, true) end for _, deriv in ipairs({"vn", "ap", "pp"}) do if props[deriv] == true then args = {deriv} append_form_and_root() props[deriv] = verb_part(args, true) end end end end -- Go through and output the result local formtextarr = {} for _, vplist in ipairs(verb_properties) do local form = vplist[1] for _, props in ipairs(vplist[2]) do local textarr = {} if props["verb"] then local text = "* '''[[Appendix:Arabic verbs#Form " .. form .. "|Form " .. form .. "]]''': " local linktext = {} local splitheads = rsplit(props["verb"], "[,،]") for _, head in ipairs(splitheads) do table.insert(linktext, m_links.full_link({lang = lang, term = head, gloss = ine(props["verb-gloss"])})) end text = text .. table.concat(linktext, ", ") table.insert(textarr, text) for _, derivengl in ipairs({{"vn", "Verbal noun"}, {"ap", "Active participle"}, {"pp", "Passive participle"}}) do local deriv = derivengl[1] local engl = derivengl[2] if props[deriv] then local text = "** " .. engl .. ": " local linktext = {} local splitheads = rsplit(props[deriv], "[,،]") for _, head in ipairs(splitheads) do table.insert(linktext, m_links.full_link({lang = lang, term = head, gloss = ine(props[deriv .. "-gloss"])})) end text = text .. table.concat(linktext, ", ") table.insert(textarr, text) end end table.insert(formtextarr, table.concat(textarr, "\n")) end end end return table.concat(formtextarr, "\n") end -- Version of verb_forms entry point meant for calling from the debug console. -- See export.show2(). function export.verb_forms2(parargs, args) return export.verb_forms(debug_frame(parargs, args)) end -- Guts of conjugation functions. Shared between {{temp|ar-conj}} and -- {{temp|ar-verb}}, among others. ARGS is the frame parent arguments, -- as returned by get_frame_args() (i.e. with arguments passed through ine()). -- ARGIND is the numbered argument holding the verb form (either 1 or 2); -- if form is I, the next two arguments are the past and non-past vowels; -- afterwards are the (optional) radicals. Return five values: -- DATA, FORM, WEAKNESS, PAST_VOWEL, NONPAST_VOWEL. The last two are -- arrays of vowels (each one 'a', 'i' or 'u'), since there may be more -- than one, or none in the case of non-form-I verbs. function conjugate(args, argind) local data = {forms = {}, categories = {}, headword_categories = {}} title = mw.title.getCurrentTitle() NAMESPACE = title.nsText PAGENAME = ( NAMESPACE == "Appendix" and title.subpageText ) or title.text local conj_type = args[argind] or error("Form (conjugation type) has not been specified. " .. "Please pass a value to parameter " .. argind .. " in the template invocation.") -- derive form and weakness from conj type local form, weakness if rfind(conj_type, "%-") then local form_weakness = rsplit(conj_type, "%-") form = form_weakness[1] table.remove(form_weakness, 1) weakness = table.concat(form_weakness, "-") else form = conj_type weakness = nil end -- convert numeric forms to Roman numerals -- no longer supported -- form = canonicalize_form(form) -- check for quadriliteral form (Iq, IIq, IIIq, IVq) local quadlit = rmatch(form, "q$") -- get radicals and past/non-past vowel local rad1, rad2, rad3, rad4, past_vowel, nonpast_vowel if form == "I" then past_vowel = args[argind + 1] nonpast_vowel = args[argind + 2] local function splitvowel(vowelspec) if vowelspec == nil then vowelspec = {} else vowelspec = rsplit(vowelspec, ",") end return vowelspec end -- allow multiple past or non-past vowels separated by commas, e.g. -- in farada/faruda yafrudu "to be single" past_vowel = splitvowel(past_vowel) nonpast_vowel = splitvowel(nonpast_vowel) rad1 = args[argind + 3] or args["I"] rad2 = args[argind + 4] or args["II"] rad3 = args[argind + 5] or args["III"] else rad1 = args[argind + 1] or args["I"] rad2 = args[argind + 2] or args["II"] rad3 = args[argind + 3] or args["III"] if quadlit then rad4 = args[argind + 4] or args["IV"] end end -- Default any unspecified radicals to radicals determined from the -- headword. The return radicals may have Latin letters in them (w, t, y) -- to indicate ambiguous radicals that should be converted to the -- corresponding Arabic letters. -- -- Only call infer_radicals() if at least one radical unspecified, -- because infer_radicals() will throw an error if the headword is -- malformed for the form, and we don't want that to happen (e.g. we might -- be called from a test page). if not rad1 or not rad2 or not rad3 or quadlit and not rad4 then local wkness, r1, r2, r3, r4 = export.infer_radicals(PAGENAME, form) -- Use the inferred weakness if we don't override any of the inferred -- radicals with something else, i.e. for each user-specified radical, -- either it's nil (was not specified) or same as inferred radical. -- That way we will correctly set the weakness to sound in cases like -- layisa "to be valiant", 'aḥwaja "to need", istahwana "to consider easy", -- izdawaja "to be in pairs", etc. local use_wkness = (not rad1 or rad1 == r1) and (not rad2 or rad2 == r2) and (not rad3 or rad3 == r3) and (not rad4 or rad4 == r4) rad1 = rad1 or r1 rad2 = rad2 or r2 rad3 = rad3 or r3 rad4 = rad4 or r4 -- For most ambiguous radicals, the choice of radical doesn't matter -- because it doesn't affect the conjugation one way or another. -- For form I hollow verbs, however, it definitely does. In fact, the -- choice of radical is critical even beyond the past and non-past -- vowels because it affects the form of the passive participle. -- So, check for this, try to guess if necessary from non-past vowel, -- else signal an error, requiring that the radical be specified -- explicitly. This will happen when the non-past vowel isn't specified -- and also when it's "a", from which the radical cannot be inferred. -- Do this check here rather than in infer_radicals() so that we don't -- get an error if the appropriate radical is given but not others. if form == "I" and (rad2 == "w" or rad2 == "y") then if contains(nonpast_vowel, "i") then rad2 = Y elseif contains(nonpast_vowel, "u") then rad2 = W else error("Unable to guess middle radical of hollow form I verb; " .. "need to specify radical explicitly") end end -- If weakness unspecified, then maybe default to weakness determined -- from headword. We do this specifically when some radicals are -- unspecified and all specified radicals are the same as the -- corresponding inferred radicals, i.e. the specified radicals (if any) -- don't provide any new information. When this isn't the case, and -- the specified radicals override the inferred radicals with something -- else, the inferred weakness may be wrong, so we figure out -- the weakness below by ourselves, based on the combination of any -- user-specified and inferred radicals. -- -- The reason for using the inferred weakness when possible is that -- it may be more accurate than the weakness we derive below, in -- particular with verbs like layisa "to be courageous", -- `awira "to be one-eyed", 'aḥwaja "to need", istajwaba "to interrogate", -- izdawaja "to be in pairs", with a weak vowel in a sound conjugation. -- The weakness derived below from the radicals would be hollow but the -- weakness inferred in infer_radicals() is (correctly) sound. if use_wkness then weakness = weakness or wkness end end -- Store unregularized radicals for later use in creating categories data.unreg_rad1 = rad1 data.unreg_rad2 = rad2 data.unreg_rad3 = rad3 data.unreg_rad4 = rad4 -- Convert the Latin radicals indicating ambiguity into the corresponding -- Arabic radicals. local function regularize_inferred_radical(rad) if rad == "t" then return T elseif rad == "w" then return W elseif rad == "y" then return Y else return rad end end rad1 = regularize_inferred_radical(rad1) rad2 = regularize_inferred_radical(rad2) rad3 = regularize_inferred_radical(rad3) rad4 = regularize_inferred_radical(rad4) data.rad1 = rad1 data.rad2 = rad2 data.rad3 = rad3 data.rad4 = rad4 -- Old code, default radicals to ف-ع-ل or variants. --if not quadlit then -- -- default radicals to ف-ع-ل (or ف-ل-ل for geminate, or with the -- -- appropriate radical replaced by wāw for assimilated/hollow/final-weak) -- rad1 = rad1 or -- (weakness == "assimilated" or weakness == "assimilated+final-weak") and W or "ف" -- rad2 = rad2 or weakness == "hollow" and W or -- weakness == "geminate" and "ل" or "ع" -- rad3 = rad3 or (weakness == "final-weak" or weakness == "assimilated+final-weak") and W or -- weakness == "geminate" and rad2 or "ل" --else -- -- default to ف-ع-ل-ق (or ف-ع-ل-و for final-weak) -- rad1 = rad1 or "ف" -- rad2 = rad2 or "ع" -- rad3 = rad3 or "ل" -- rad4 = rad4 or weakness == "final-weak" and W or "ق" --end if weakness == nil then weakness = weakness_from_radicals(form, rad1, rad2, rad3, rad4) end -- Error if radicals are wrong given the weakness. More likely to happen -- if the weakness is explicitly given rather than inferred. Will also -- happen if certain incorrect letters are included as radicals e.g. -- hamza on top of various letters, alif maqṣūra, tā' marbūṭa. check_radicals(form, weakness, rad1, rad2, rad3, rad4) -- check to see if an argument ends in a ?. If so, strip the ? and return -- true. Otherwise, return false. local function check_for_uncertainty(arg) if args[arg] and rfind(args[arg], "%?$") then args[arg] = rsub(args[arg], "%?$", "") if args[arg] == "" then args[arg] = nil end return true else return false end end -- allow a ? at the end of vn= and passive=; if so, putting the page into -- special categories indicating the need to check the property in -- question, and remove the ?. Also put into category for vn= if empty -- and form is I. if check_for_uncertainty("vn") or form == "I" and not args["vn"] then table.insert(data.categories, "Arabic verbs needing verbal noun checked") data.vn_uncertain = true end if check_for_uncertainty("passive") then table.insert(data.categories, "Arabic verbs needing passive checked") data.passive_uncertain = true end -- parse value of passive. -- -- if the value is "impers", the verb has only impersonal passive; -- if the value is "only", the verb has only a passive, no active; -- if the value is "only-impers", the verb has only an impersonal passive; -- if the value is "yes" or variants, verb has a passive; -- if the value is "no" or variants, the verb has no passive. -- If not specified, default is yes, but no for forms VII, IX, -- XII - XV and IIq - IVq, and "impers" for form VI. local passive = args["passive"] if passive == "impers" or passive == "only" or passive == "only-impers" then elseif not passive then passive = form_probably_impersonal_passive(form) and "impers" or not form_probably_no_passive(form, weakness, past_vowel, nonpast_vowel) and true or false else passive = yesno(passive, "unknown") if passive == "unknown" then error("Unrecognized value '" .. args["passive"] .. "' to argument passive=; use 'impers', 'only', 'only-impers', " .. "'yes'/'y'/'true'/'1' or 'no'/'n'/'false'/'0'") end end data.passive = passive data.noimp = yesno(args["noimp"], false) if data.noimp then table.insert(data.categories, "Arabic verbs lacking imperative forms") end -- Initialize categories related to form and weakness. initialize_categories(data, form, weakness, rad1, rad2, rad3, rad4) -- Reconstruct conjugation type from form and (possibly inferred) weakness. conj_type = form .. "-" .. weakness -- Check that the conjugation type is recognized. if not conjugations[conj_type] then error("Unknown conjugation type '" .. conj_type .. "'") end -- Actually conjugate the verb. The signature of the conjugation function -- is different for form-I verbs, non-form-I triliteral verbs, and -- quadriliteral verbs. -- -- The way the conjugation functions work is they always add entries to the -- appropriate parts of the paradigm (each of which is an array), rather -- than setting the values. This makes it possible to call more than one -- conjugation function and essentially get a paradigm of the "either -- A or B" kind. Doing this may insert duplicate entries into a particular -- paradigm part, but this is not a problem because we remove duplicate -- entries (in get_spans()) before generating the actual table. if quadlit then conjugations[conj_type](data, args, rad1, rad2, rad3, rad4) elseif form ~= "I" then conjugations[conj_type](data, args, rad1, rad2, rad3) else -- For Form-I verbs, we also pass in the past and non-past vowels. -- There may be more than one of each in case of alternative possible -- conjugations. In such cases, we loop over the sets of vowels, -- calling the appropriate conjugation function for each combination -- of past and non-past vowel. -- If the past or non-past vowel is unspecified, its value will be -- an empty array. In such a case, we still want to iterate once, -- passing in nil. Ideally, we'd convert empty arrays into one-element -- arrays holding the value nil, but Lua doesn't let you put the -- value nil into an array. To work around this we convert each array -- to an array of one-element arrays and fetch the first item of the -- inner array when we encounter it. Corresponding to nil will -- be an empty array, and fetching its first item will indeed -- return nil. local function convert_to_nested_array(array) if #array == 0 then return {{}} else local retval = {} for _, el in ipairs(array) do table.insert(retval, {el}) end return retval end end local pv_nested = convert_to_nested_array(past_vowel) local npv_nested = convert_to_nested_array(nonpast_vowel) for i, pv in ipairs(pv_nested) do for j, npv in ipairs(npv_nested) do -- items were made into 1-element arrays so undo this conjugations[conj_type](data, args, rad1, rad2, rad3, pv[1], npv[1]) end end end return data, form, weakness, past_vowel, nonpast_vowel end -- Determine weakness from radicals function weakness_from_radicals(form, rad1, rad2, rad3, rad4) local weakness = nil local quadlit = rmatch(form, "q$") -- If weakness unspecified, derive from radicals. if not quadlit then if is_waw_ya(rad3) and rad1 == W and form == "I" then weakness = "assimilated+final-weak" elseif is_waw_ya(rad3) and form_supports_final_weak(form) then weakness = "final-weak" elseif rad2 == rad3 and form_supports_geminate(form) then weakness = "geminate" elseif is_waw_ya(rad2) and form_supports_hollow(form) then weakness = "hollow" elseif rad1 == W and form == "I" then weakness = "assimilated" else weakness = "sound" end else if is_waw_ya(rad4) then weakness = "final-weak" else weakness = "sound" end end return weakness end -- Infer radicals from headword and form. Throw an error if headword is -- malformed. Returned radicals may contain Latin letters "t", "w" or "y" -- indicating ambiguous radicals guessed to be tāʾ, wāw or yāʾ respectively. function export.infer_radicals(headword, form) local letters = {} -- sub out alif-madda for easier processing headword = rsub(headword, AMAD, HAMZA .. ALIF) local len = ulen(headword) -- extract the headword letters into an array for i = 1, len do table.insert(letters, usub(headword, i, i)) end -- check that the letter at the given index is the given string, or -- is one of the members of the given array local function check(index, must) local letter = letters[index] if type(must) == "string" then if letter == nil then error("Letter " .. index .. " is nil", 2) end if letter ~= must then error("For form " .. form .. ", letter " .. index .. " must be " .. must .. ", not " .. letter, 2) end elseif not contains(must, letter) then error("For form " .. form .. ", radical " .. index .. " must be one of " .. table.concat(must, " ") .. ", not " .. letter, 2) end end -- Check that length of headword is within [min, max] local function check_len(min, max) if len < min then error("Not enough letters in headword " .. headword .. " for form " .. form .. ", expected at least " .. min) elseif len > max then error("Too many letters in headword " .. headword .. " for form " .. form .. ", expected at most " .. max) end end local quadlit = rmatch(form, "q$") -- find first radical, start of second/third radicals, check for -- required letters local radstart, rad1, rad2, rad3, rad4 local weakness if form == "I" or form == "II" then rad1 = letters[1] radstart = 2 elseif form == "III" then rad1 = letters[1] check(2, {ALIF, WAW}) -- WAW occurs in passive-only verbs radstart = 3 elseif form == "IV" then -- this would be alif-madda but we replaced it with hamza-alif above. if letters[1] == HAMZA and letters[2] == ALIF then rad1 = HAMZA else check(1, HAMZA_ON_ALIF) rad1 = letters[2] end radstart = 3 elseif form == "V" then check(1, T) rad1 = letters[2] radstart = 3 elseif form == "VI" then check(1, T) if letters[2] == AMAD then rad1 = HAMZA radstart = 3 else rad1 = letters[2] check(3, {ALIF, WAW}) -- WAW occurs in passive-only verbs radstart = 4 end elseif form == "VII" then check(1, ALIF) check(2, N) rad1 = letters[3] radstart = 4 elseif form == "VIII" then check(1, ALIF) rad1 = letters[2] if rad1 == T or rad1 == "د" or rad1 == "ث" or rad1 == "ذ" or rad1 == "ط" or rad1 == "ظ" then radstart = 3 elseif rad1 == "ز" then check(3, "د") radstart = 4 elseif rad1 == "ص" or rad1 == "ض" then check(3, "ط") radstart = 4 else check(3, T) radstart = 4 end if rad1 == T then -- radical is ambiguous, might be ت or و or ي but doesn't affect -- conjugation rad1 = "t" end elseif form == "IX" then check(1, ALIF) rad1 = letters[2] radstart = 3 elseif form == "X" then check(1, ALIF) check(2, S) check(3, T) rad1 = letters[4] radstart = 5 elseif form == "Iq" then rad1 = letters[1] rad2 = letters[2] radstart = 3 elseif form == "IIq" then check(1, T) rad1 = letters[2] rad2 = letters[3] radstart = 4 elseif form == "IIIq" then check(1, ALIF) rad1 = letters[2] rad2 = letters[3] check(4, N) radstart = 5 elseif form == "IVq" then check(1, ALIF) rad1 = letters[2] rad2 = letters[3] radstart = 4 elseif form == "XI" then check_len(5, 5) check(1, ALIF) rad1 = letters[2] rad2 = letters[3] check(4, ALIF) rad3 = letters[5] weakness = "sound" elseif form == "XII" then check(1, ALIF) rad1 = letters[2] if letters[3] ~= letters[5] then error("For form XII, letters 3 and 5 of headword " .. headword .. " should be the same") end check(4, W) radstart = 5 elseif form == "XIII" then check_len(5, 5) check(1, ALIF) rad1 = letters[2] rad2 = letters[3] check(4, W) rad3 = letters[5] if rad3 == AMAQ then weakness = "final-weak" else weakness = "sound" end elseif form == "XIV" then check_len(6, 6) check(1, ALIF) rad1 = letters[2] rad2 = letters[3] check(4, N) rad3 = letters[5] if letters[6] == AMAQ then check_waw_ya(rad3) weakness = "final-weak" else if letters[5] ~= letters[6] then error("For form XIV, letters 5 and 6 of headword " .. headword .. " should be the same") end weakness = "sound" end elseif form == "XV" then check_len(6, 6) check(1, ALIF) rad1 = letters[2] rad2 = letters[3] check(4, N) rad3 = letters[5] if rad3 == Y then check(6, ALIF) else check(6, AMAQ) end weakness = "sound" else error("Don't recognize form " .. form) end -- Process the last two radicals. RADSTART is the index of the -- first of the two. If it's nil then all radicals have already been -- processed above, and we don't do anything. if radstart ~= nil then -- there must be one or two letters left check_len(radstart, radstart + 1) if len == radstart then -- if one letter left, then it's a geminate verb if form_supports_geminate(form) then weakness = "geminate" rad2 = letters[len] rad3 = letters[len] else -- oops, geminate verbs not allowed in this form; signal -- an error check_len(radstart + 1, radstart + 1) end elseif quadlit then -- process last two radicals of a quadriliteral form rad3 = letters[radstart] rad4 = letters[radstart + 1] if rad4 == AMAQ or rad4 == ALIF and rad3 == Y or rad4 == Y then -- rad4 can be Y in passive-only verbs if form_supports_final_weak(form) then weakness = "final-weak" -- ambiguous radical; randomly pick wāw as radical (but avoid -- two wāws in a row); it could be wāw or yāʾ, but doesn't -- affect the conjugation rad4 = rad3 == W and "y" or "w" else error("For headword " .. headword .. ", last radical is " .. rad4 .. " but form " .. form .. " doesn't support final-weak verbs") end else weakness = "sound" end else -- process last two radicals of a triliteral form rad2 = letters[radstart] rad3 = letters[radstart + 1] if form == "I" and (is_waw_ya(rad3) or rad3 == ALIF or rad3 == AMAQ) then -- check for final-weak form I verb. It can end in tall alif -- (rad3 = wāw) or alif maqṣūra (rad3 = yāʾ) or a wāw or yāʾ -- (with a past vowel of i or u, e.g. nasiya/yansā "forget" -- or with a passive-only verb). if rad1 == W then weakness = "assimilated+final-weak" else weakness = "final-weak" end if rad3 == ALIF then rad3 = W elseif rad3 == AMAQ then rad3 = Y else -- ambiguous radical; randomly pick wāw as radical (but -- avoid two wāws); it could be wāw or yāʾ, but doesn't -- affect the conjugation rad3 = (rad1 == W or rad2 == W) and "y" or "w" -- ambiguous end elseif rad3 == AMAQ or rad2 == Y and rad3 == ALIF or rad3 == Y then -- rad3 == Y happens in passive-only verbs if form_supports_final_weak(form) then weakness = "final-weak" else error("For headword " .. headword .. ", last radical is " .. rad3 .. " but form " .. form .. " doesn't support final-weak verbs") end -- ambiguous radical; randomly pick wāw as radical (but avoid -- two wāws); it could be wāw or yāʾ, but doesn't affect the -- conjugation rad3 = (rad1 == W or rad2 == W) and "y" or "w" elseif rad2 == ALIF then if form_supports_hollow(form) then weakness = "hollow" -- ambiguous radical; could be wāw or yāʾ; if form I, -- it's critical to get this right, and the caller checks -- for this situation, attempts to infer radical from -- non-past vowel, and if that fails, signals an error rad2 = "w" else error("For headword " .. headword .. ", second radical is alif but form " .. form .. " doesn't support hollow verbs") end elseif form == "I" and rad1 == W then weakness = "assimilated" elseif rad2 == rad3 and (form == "III" or form == "VI") then weakness = "geminate" else weakness = "sound" end end end -- convert radicals to canonical form (handle various hamza varieties and -- check for misplaced alif or alif maqṣūra; legitimate cases of these -- letters are handled above) local function convert(rad, index) if rad == HAMZA_ON_ALIF or rad == HAMZA_UNDER_ALIF or rad == HAMZA_ON_W or rad == HAMZA_ON_Y then return HAMZA elseif rad == AMAQ then error("For form " .. form .. ", headword " .. headword .. ", radical " .. index .. " must not be alif maqṣūra") elseif rad == ALIF then error("For form " .. form .. ", headword " .. headword .. ", radical " .. index .. " must not be alif") else return rad end end rad1 = convert(rad1, 1) rad2 = convert(rad2, 2) rad3 = convert(rad3, 3) rad4 = convert(rad4, 4) return weakness, rad1, rad2, rad3, rad4 end -- given form, weakness and radicals, check to make sure the radicals present -- are allowable for the weakness. Hamzas on alif/wāw/yāʾ seats are never -- allowed (should always appear as hamza-on-the-line), and various weaknesses -- have various strictures on allowable consonants. function check_radicals(form, weakness, rad1, rad2, rad3, rad4) local function hamza_check(index, rad) if rad == HAMZA_ON_ALIF or rad == HAMZA_UNDER_ALIF or rad == HAMZA_ON_W or rad == HAMZA_ON_Y then error("Radical " .. index .. " is " .. rad .. " but should be ء (hamza on the line)") end end local function check_waw_ya(index, rad) if rad ~= W and rad ~= Y then error("Radical " .. index .. " is " .. rad .. " but should be و or ي") end end local function check_not_waw_ya(index, rad) if rad == W or rad == Y then error("In a sound verb, radical " .. index .. " should not be و or ي") end end hamza_check(rad1) hamza_check(rad2) hamza_check(rad3) hamza_check(rad4) if weakness == "assimilated" or weakness == "assimilated+final-weak" then if rad1 ~= W then error("Radical 1 is " .. rad1 .. " but should be و") end -- don't check that non-assimilated form I verbs don't have wāw as their -- first radical because some form-I verbs exist where a first-radical wāw -- behaves as sound, e.g. wajuha yawjuhu "to be distinguished". end if weakness == "final-weak" or weakness == "assimilated+final-weak" then if rad4 then check_waw_ya(4, rad4) else check_waw_ya(3, rad3) end elseif form_supports_final_weak(form) then -- non-final-weak verbs cannot have weak final radical if there's a corresponding -- final-weak verb category. I think this is safe. We may have problems with -- ḥayya/ḥayiya yaḥyā if we treat it as a geminate verb. if rad4 then check_not_waw_ya(4, rad4) else check_not_waw_ya(3, rad3) end end if weakness == "hollow" then check_waw_ya(2, rad2) -- don't check that non-hollow verbs in forms that support hollow verbs -- don't have wāw or yāʾ as their second radical because some verbs exist -- where a middle-radical wāw/yāʾ behaves as sound, e.g. form-VIII izdawaja -- "to be in pairs". end if weakness == "geminate" then if rad4 then error("Internal error. No geminate quadrilaterals, should not be seen.") end if rad2 ~= rad3 then error("Weakness is geminate; radical 3 is " .. rad3 .. " but should be same as radical 2 " .. rad2 .. ".") end elseif form_supports_geminate(form) then -- non-geminate verbs cannot have second and third radical same if there's -- a corresponding geminate verb category. I think this is safe. We -- don't fuss over double wāw or double yāʾ because this could legitimately -- be a final-weak verb with middle wāw/yāʾ, treated as sound. if rad4 then error("Internal error. No quadrilaterals should support geminate verbs.") end if rad2 == rad3 and not is_waw_ya(rad2) then error("Weakness is '" .. weakness .. "'; radical 2 and 3 are same at " .. rad2 .. " but should not be; consider making weakness 'geminate'") end end end function initialize_categories(data, form, weakness, rad1, rad2, rad3, rad4) -- We have to distinguish weakness by form and weakness by conjugation. -- Weakness by form merely indicates the presence of weak letters in -- certain positions in the radicals. Weakness by conjugation is related -- to how the verbs are conjugated. For example, form-II verbs that are -- "hollow by form" (middle radical is wāw or yāʾ) are conjugated as sound -- verbs. Another example: form-I verbs with initial wāw are "assimilated -- by form" and most are assimilated by conjugation as well, but a few -- are sound by conjugation, e.g. wajuha yawjuhu "to be distinguished" -- (rather than wajuha yajuhu); similarly for some hollow-by-form verbs -- in various forms, e.g. form VIII izdawaja yazdawiju "to be in pairs" -- (rather than izdāja yazdāju). When most references say just plain -- "hollow" or "assimilated" or whatever verbs, they mean by form, so -- we name the categories appropriately, where e.g. "Arabic hollow verbs" -- means by form, "Arabic hollow verbs by conjugation" means by -- conjugation. table.insert(data.categories, "Arabic form-" .. form .. " verbs") table.insert(data.headword_categories, "Arabic form-" .. form .. " verbs") table.insert(data.categories, "Arabic " .. weakness .. " verbs by conjugation") table.insert(data.headword_categories, "Arabic " .. weakness .. " verbs by conjugation") if form_is_quadriliteral(form) then table.insert(data.categories, "Arabic verbs with quadriliteral roots") table.insert(data.headword_categories, "Arabic verbs with quadriliteral roots") end local formweak = {} if is_waw_ya(rad1) then table.insert(formweak, "assimilated") end if is_waw_ya(rad2) and rad4 == nil then table.insert(formweak, "hollow") end if is_waw_ya(rad4) or rad4 == nil and is_waw_ya(rad3) then table.insert(formweak, "final-weak") end if rad4 == nil and rad2 == rad3 then table.insert(formweak, "geminate") end if rad1 == HAMZA or rad2 == HAMZA or rad3 == HAMZA or rad4 == HAMZA then table.insert(formweak, "hamzated") end if #formweak == 0 then table.insert(formweak, "sound") end for _, fw in ipairs(formweak) do table.insert(data.categories, "Arabic " .. fw .. " form-" .. form .. " verbs") table.insert(data.categories, "Arabic " .. fw .. " verbs") table.insert(data.headword_categories, "Arabic " .. fw .. " form-" .. form .. " verbs") table.insert(data.headword_categories, "Arabic " .. fw .. " verbs") end local function radical_is_ambiguous(rad) return rad == "t" or rad == "w" or rad == "y" end local function radical_is_weak(rad) return rad == W or rad == Y or rad == HAMZA end local ur1, ur2, ur3, ur4 = data.unreg_rad1, data.unreg_rad2, data.unreg_rad3, data.unreg_rad4 -- Create headword categories based on the radicals. Do the following before -- converting the Latin radicals into Arabic ones so we distinguish -- between ambiguous and non-ambiguous radicals. if radical_is_ambiguous(ur1) or radical_is_ambiguous(ur2) or radical_is_ambiguous(ur3) or radical_is_ambiguous(ur4) then table.insert(data.headword_categories, "Arabic verbs with ambiguous radicals") end if radical_is_weak(ur1) then table.insert(data.headword_categories, "Arabic form-" .. form .. " verbs with " .. ur1 .. " as first radical") end if radical_is_weak(ur2) then table.insert(data.headword_categories, "Arabic form-" .. form .. " verbs with " .. ur2 .. " as second radical") end if radical_is_weak(ur3) then table.insert(data.headword_categories, "Arabic form-" .. form .. " verbs with " .. ur3 .. " as third radical") end if radical_is_weak(ur4) then table.insert(data.headword_categories, "Arabic form-" .. form .. " verbs with " .. ur4 .. " as fourth radical") end if data.passive == "only" then table.insert(data.categories, "Arabic passive verbs") table.insert(data.categories, "Arabic verbs with full passive") elseif data.passive == "only-impers" then table.insert(data.categories, "Arabic passive verbs") table.insert(data.categories, "Arabic verbs with impersonal passive") elseif data.passive == "impers" then table.insert(data.categories, "Arabic verbs with impersonal passive") elseif data.passive then table.insert(data.categories, "Arabic verbs with full passive") else table.insert(data.categories, "Arabic verbs lacking passive forms") end end ------------------------------------------------------- -- Conjugation functions for specific conjugation types ------------------------------------------------------- -- Check that the past or non-past vowel is a, i, or u. VOWEL is the vowel to -- check and VTYPE indicates whether it's past or non-past and is used in -- the error message. function check_aiu(vtype, vowel) if vowel ~= "a" and vowel ~= "i" and vowel ~= "u" then error(vtype .. " vowel '" .. vowel .. "' should be a, i, or u") end end -- Is radical wāw (و) or yāʾ (ي)? function is_waw_ya(rad) return rad == W or rad == Y end -- Check that radical is wāw (و) or yāʾ (ي), error if not function check_waw_ya(rad) if not is_waw_ya(rad) then error("Expecting weak radical: '" .. rad .. "' should be " .. W .. " or " .. Y) end end -- Is radical guttural? This favors a non-past vowel of "a" function is_guttural(rad) return rad == HAMZA or rad == "ه" or rad == "ع" or rad == "ح" end -- Derive default non-past vowel from past vowel. Most common possibilities are -- a/u, a/i, a/a if rad2 or rad3 are guttural, i/a, u/u. We choose a/u over a/i. function nonpast_from_past_vowel(past_vowel, rad2, rad3) return past_vowel == "i" and "a" or past_vowel == "u" and "u" or (is_guttural(rad2) or is_guttural(rad3)) and "a" or "u" end -- determine the imperative vowel based on non-past vowel function imper_vowel_from_nonpast(nonpast_vowel) if nonpast_vowel == "a" or nonpast_vowel == "i" then return "i" elseif nonpast_vowel == "u" then return "u" else error("Non-past vowel '" .. nonpast_vowel .. "' isn't a, i, or u, should have been caught earlier") end end -- Convert short vowel to equivalent long vowel (a -> alif, u -> wāw, i -> yāʾ). function short_to_long_vowel(vowel) if vowel == A then return ALIF elseif vowel == I then return Y elseif vowel == U then return W else error("Vowel '" .. vowel .. "' isn't a, i, or u, should have been caught earlier") end end -- Implement form-I sound or assimilated verb. ASSIMILATED is true for -- assimilated verbs. local function make_form_i_sound_assimilated_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, assimilated) -- need to provide two vowels - past and non-past past_vowel = past_vowel or "a" nonpast_vowel = nonpast_vowel or nonpast_from_past_vowel(past_vowel, rad2, rad3) check_aiu("past", past_vowel) check_aiu("non-past", nonpast_vowel) -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied insert_verbal_noun(data, args, {}) -- past and non-past stems, active and passive local past_stem = rad1 .. A .. rad2 .. dia[past_vowel] .. rad3 local nonpast_stem = assimilated and rad2 .. dia[nonpast_vowel] .. rad3 or rad1 .. SK .. rad2 .. dia[nonpast_vowel] .. rad3 local ps_past_stem = rad1 .. U .. rad2 .. I .. rad3 local ps_nonpast_stem = rad1 .. SK .. rad2 .. A .. rad3 -- determine the imperative vowel based on non-past vowel local imper_vowel = imper_vowel_from_nonpast(nonpast_vowel) -- imperative stem -- check for irregular verb with reduced imperative (أَخَذَ or أَكَلَ or أَمَرَ) local reducedimp = reduced_imperative_verb(rad1, rad2, rad3) if reducedimp then data.irregular = true end local imper_stem_suffix = rad2 .. dia[nonpast_vowel] .. rad3 local imper_stem_base = (assimilated or reducedimp) and "" or ALIF .. dia[imper_vowel] .. (rad1 == HAMZA and short_to_long_vowel(dia[imper_vowel]) or rad1 .. SK) local imper_stem = imper_stem_base .. imper_stem_suffix -- make parts make_sound_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, "a") -- Check for irregular verb سَأَلَ with alternative jussive and imperative. -- Calling this after make_sound_verb() adds additional entries to the -- paradigm parts. if saal_radicals(rad1, rad2, rad3) then data.irregular = true nonpast_1stem_conj(data, "juss", "a", "سَل") nonpast_1stem_conj(data, "ps-juss", "u", "سَل") make_1stem_imperative(data, "سَل") end -- active participle insert_part(data, "ap", rad1 .. AA .. rad2 .. I .. rad3 .. UNS) -- passive participle insert_part(data, "pp", MA .. rad1 .. SK .. rad2 .. U .. "و" .. rad3 .. UNS) end conjugations["I-sound"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) make_form_i_sound_assimilated_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, false) end conjugations["I-assimilated"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) make_form_i_sound_assimilated_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, "assimilated") end local function make_form_i_hayy_verb(data, args) -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied insert_verbal_noun(data, args, {}) data.irregular = true -- past and non-past stems, active and passive, and imperative stem local past_c_stem = "حَيِي" local past_v_stem_long = past_c_stem local past_v_stem_short = "حَيّ" local ps_past_c_stem = "حُيِي" local ps_past_v_stem_long = ps_past_c_stem local ps_past_v_stem_short = "حُيّ" local nonpast_stem = "حْي" local ps_nonpast_stem = nonpast_stem local imper_stem = "اِ" .. nonpast_stem -- make parts past_2stem_conj(data, "perf", "-", past_c_stem) past_2stem_conj(data, "ps-perf", "-", ps_past_c_stem) local variant = args["variant"] if variant == "short" or variant == "both" then past_2stem_conj(data, "perf", past_v_stem_short, "-") past_2stem_conj(data, "ps-perf", ps_past_v_stem_short, "-") end function inflect_long_variant(tense, long_stem, short_stem) inflect_tense_1(data, tense, "", {long_stem, long_stem, long_stem, long_stem, short_stem}, {past_endings[4], past_endings[5], past_endings[7], past_endings[8], past_endings[12]}, {"3sm", "3sf", "3dm", "3df", "3pm"}) end if variant == "long" or variant == "both" then inflect_long_variant("perf", past_v_stem_long, past_v_stem_short) inflect_long_variant("ps-perf", ps_past_v_stem_long, ps_past_v_stem_short) end nonpast_1stem_conj(data, "impf", "a", nonpast_stem, indic_endings_aa) nonpast_1stem_conj(data, "subj", "a", nonpast_stem, subj_endings_aa) nonpast_1stem_conj(data, "juss", "a", nonpast_stem, juss_endings_aa) nonpast_1stem_conj(data, "ps-impf", "u", ps_nonpast_stem, indic_endings_aa) nonpast_1stem_conj(data, "ps-subj", "u", ps_nonpast_stem, subj_endings_aa) nonpast_1stem_conj(data, "ps-juss", "u", ps_nonpast_stem, juss_endings_aa) inflect_tense_impr(data, imper_stem, impr_endings_aa) -- active participle apparently does not exist for this verb insert_part(data, "ap", {}) -- passive participle apparently does not exist for this verb insert_part(data, "pp", {}) end -- Implement form-I final-weak assimilated+final-weak verb. ASSIMILATED is true -- for assimilated verbs. local function make_form_i_final_weak_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, assimilated) -- حَيَّ or حَيِيَ is weird enough that we handle it as a separate function if hayy_radicals(rad1, rad2, rad3) then make_form_i_hayy_verb(data, args) return end -- need to provide two vowels - past and non-past local past_vowel = past_vowel or "a" local nonpast_vowel = nonpast_vowel or past_vowel == "i" and "a" or past_vowel == "u" and "u" or rad3 == Y and "i" or "u" check_aiu("past", past_vowel) check_aiu("non-past", nonpast_vowel) -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied insert_verbal_noun(data, args, {}) -- past and non-past stems, active and passive, and imperative stem local past_stem = rad1 .. A .. rad2 local ps_past_stem = rad1 .. U .. rad2 local nonpast_stem, ps_nonpast_stem, imper_stem if raa_radicals(rad1, rad2, rad3) then data.irregular = true nonpast_stem = rad1 ps_nonpast_stem = rad1 imper_stem = rad1 else ps_nonpast_stem = rad1 .. SK .. rad2 if assimilated then nonpast_stem = rad2 imper_stem = rad2 else nonpast_stem = ps_nonpast_stem -- determine the imperative vowel based on non-past vowel local imper_vowel = imper_vowel_from_nonpast(nonpast_vowel) imper_stem = ALIF .. dia[imper_vowel] .. (rad1 == HAMZA and short_to_long_vowel(dia[imper_vowel]) or rad1 .. SK) .. rad2 end end -- make parts local past_suffs = rad3 == Y and past_vowel == "a" and past_endings_ay or rad3 == W and past_vowel == "a" and past_endings_aw or past_vowel == "i" and past_endings_ii or past_endings_uu local indic_suffs, subj_suffs, juss_suffs, impr_suffs if nonpast_vowel == "a" then indic_suffs = indic_endings_aa subj_suffs = subj_endings_aa juss_suffs = juss_endings_aa impr_suffs = impr_endings_aa elseif nonpast_vowel == "i" then indic_suffs = indic_endings_ii subj_suffs = subj_endings_ii juss_suffs = juss_endings_ii impr_suffs = impr_endings_ii else assert(nonpast_vowel == "u") indic_suffs = indic_endings_uu subj_suffs = subj_endings_uu juss_suffs = juss_endings_uu impr_suffs = impr_endings_uu end make_final_weak_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, past_suffs, indic_suffs, subj_suffs, juss_suffs, impr_suffs, "a") -- active participle insert_part(data, "ap", rad1 .. AA .. rad2 .. IN) -- passive participle insert_part(data, "pp", MA .. rad1 .. SK .. rad2 .. (rad3 == Y and II or UU) .. SH .. UNS) end conjugations["I-final-weak"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) make_form_i_final_weak_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, false) end conjugations["I-assimilated+final-weak"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) make_form_i_final_weak_verb(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel, "assimilated") end conjugations["I-hollow"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) -- need to specify up to two vowels, past and non-past -- default past vowel to short equivalent of middle radical local past_vowel = past_vowel or rad2 == Y and "i" or "u" -- default non-past vowel to past vowel, unless it's "a", in which case -- we default to short equivalent of middle radical local nonpast_vowel = nonpast_vowel or past_vowel ~= "a" and past_vowel or rad2 == Y and "i" or "u" check_aiu("past", past_vowel) check_aiu("non-past", nonpast_vowel) -- Formerly we signaled an error when past_vowel is "a" but that seems -- too harsh. We can interpret a past vowel of "a" as meaning to use the -- non-past vowel in forms requiring a short vowel. If the non-past vowel -- is "a" then the past vowel can only be "i" (e.g. in nāma yanāmu with -- first singular past of nimtu). if past_vowel == "a" then -- error("For form I hollow, past vowel cannot be 'a'") past_vowel = nonpast_vowel == "a" and "i" or nonpast_vowel end local lengthened_nonpast = nonpast_vowel == "u" and UU or nonpast_vowel == "i" and II or AA -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied insert_verbal_noun(data, args, {}) -- active past stems - vowel (v) and consonant (c) local past_v_stem = rad1 .. AA .. rad3 local past_c_stem = rad1 .. dia[past_vowel] .. rad3 -- active non-past stems - vowel (v) and consonant (c) local nonpast_v_stem = rad1 .. lengthened_nonpast .. rad3 local nonpast_c_stem = rad1 .. dia[nonpast_vowel] .. rad3 -- passive past stems - vowel (v) and consonant (c) -- 'ufīla, 'ufiltu local ps_past_v_stem = rad1 .. II .. rad3 local ps_past_c_stem = rad1 .. I .. rad3 -- passive non-past stems - vowel (v) and consonant (c) -- yufāla/yufalna -- stem is built differently but conjugation is identical to sound verbs local ps_nonpast_v_stem = rad1 .. AA .. rad3 local ps_nonpast_c_stem = rad1 .. A .. rad3 -- imperative stem local imper_v_stem = nonpast_v_stem local imper_c_stem = nonpast_c_stem -- make parts make_hollow_geminate_verb(data, past_v_stem, past_c_stem, ps_past_v_stem, ps_past_c_stem, nonpast_v_stem, nonpast_c_stem, ps_nonpast_v_stem, ps_nonpast_c_stem, imper_v_stem, imper_c_stem, "a", false) -- active participle insert_part(data, "ap", rad3 == HAMZA and rad1 .. AA .. HAMZA .. IN or rad1 .. AA .. HAMZA .. I .. rad3 .. UNS) -- passive participle insert_part(data, "pp", MA .. rad1 .. (rad2 == Y and II or UU) .. rad3 .. UNS) end conjugations["I-geminate"] = function(data, args, rad1, rad2, rad3, past_vowel, nonpast_vowel) -- need to specify two vowels, past and non-past local past_vowel = past_vowel or "a" local nonpast_vowel = nonpast_vowel or nonpast_from_past_vowel(past_vowel, rad2, rad3) -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied insert_verbal_noun(data, args, {}) -- active past stems - vowel (v) and consonant (c) local past_v_stem = rad1 .. A .. rad2 .. SH local past_c_stem = rad1 .. A .. rad2 .. dia[past_vowel] .. rad2 -- active non-past stems - vowel (v) and consonant (c) local nonpast_v_stem = rad1 .. dia[nonpast_vowel] .. rad2 .. SH local nonpast_c_stem = rad1 .. SK .. rad2 .. dia[nonpast_vowel] .. rad2 -- passive past stems - vowel (v) and consonant (c) -- dulla/dulilta local ps_past_v_stem = rad1 .. U .. rad2 .. SH local ps_past_c_stem = rad1 .. U .. rad2 .. I .. rad2 -- passive non-past stems - vowel (v) and consonant (c) --yudallu/yudlalna -- stem is built differently but conjugation is identical to sound verbs local ps_nonpast_v_stem = rad1 .. A .. rad2 .. SH local ps_nonpast_c_stem = rad1 .. SK .. rad2 .. A .. rad2 -- determine the imperative vowel based on non-past vowel local imper_vowel = imper_vowel_from_nonpast(nonpast_vowel) -- imperative stem local imper_v_stem = rad1 .. dia[nonpast_vowel] .. rad2 .. SH local imper_c_stem = ALIF .. dia[imper_vowel] .. (rad1 == HAMZA and short_to_long_vowel(dia[imper_vowel]) or rad1 .. SK) .. rad2 .. dia[nonpast_vowel] .. rad2 -- make parts make_hollow_geminate_verb(data, past_v_stem, past_c_stem, ps_past_v_stem, ps_past_c_stem, nonpast_v_stem, nonpast_c_stem, ps_nonpast_v_stem, ps_nonpast_c_stem, imper_v_stem, imper_c_stem, "a", "geminate") -- active participle insert_part(data, "ap", rad1 .. AA .. rad2 .. SH .. UNS) -- passive participle insert_part(data, "pp", MA .. rad1 .. SK .. rad2 .. U .. "و" .. rad2 .. UNS) end -- Make form II or V sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil, and FORM distinguishes II from V. function make_form_ii_v_sound_final_weak_verb(data, args, rad1, rad2, rad3, form) local final_weak = rad3 == nil local vn = form == "V" and "تَ" .. rad1 .. A .. rad2 .. SH .. (final_weak and IN or U .. rad3 .. UNS) or "تَ" .. rad1 .. SK .. rad2 .. I .. "ي" .. (final_weak and AH or rad3) .. UNS local ta_pref = form == "V" and "تَ" or "" local tu_pref = form == "V" and "تُ" or "" -- various stem bases local past_stem_base = ta_pref .. rad1 .. A .. rad2 .. SH local nonpast_stem_base = past_stem_base local ps_past_stem_base = tu_pref .. rad1 .. U .. rad2 .. SH -- make parts make_augmented_sound_final_weak_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) end conjugations["II-sound"] = function(data, args, rad1, rad2, rad3) make_form_ii_v_sound_final_weak_verb(data, args, rad1, rad2, rad3, "II") end conjugations["II-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_ii_v_sound_final_weak_verb(data, args, rad1, rad2, nil, "II") end -- Make form III or VI sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil, and FORM distinguishes III from VI. function make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, rad3, form) local final_weak = rad3 == nil local vn = form == "VI" and "تَ" .. rad1 .. AA .. rad2 .. (final_weak and IN or U .. rad3 .. UNS) or {MU .. rad1 .. AA .. rad2 .. (final_weak and AAH or A .. rad3 .. AH) .. UNS, rad1 .. I .. rad2 .. AA .. (final_weak and HAMZA or rad3) .. UNS} local ta_pref = form == "VI" and "تَ" or "" local tu_pref = form == "VI" and "تُ" or "" -- various stem bases local past_stem_base = ta_pref .. rad1 .. AA .. rad2 local nonpast_stem_base = past_stem_base local ps_past_stem_base = tu_pref .. rad1 .. UU .. rad2 -- make parts make_augmented_sound_final_weak_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) end conjugations["III-sound"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, rad3, "III") end conjugations["III-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, nil, "III") end -- Make form III or VI geminate verb. FORM distinguishes III from VI. function make_form_iii_vi_geminate_verb(data, args, rad1, rad2, form) -- alternative verbal noun فِعَالٌ will be inserted when we add sound parts below local vn = form == "VI" and {"تَ" .. rad1 .. AA .. rad2 .. SH .. UNS} or {MU .. rad1 .. AA .. rad2 .. SH .. AH .. UNS} local ta_pref = form == "VI" and "تَ" or "" local tu_pref = form == "VI" and "تُ" or "" -- various stem bases local past_stem_base = ta_pref .. rad1 .. AA local nonpast_stem_base = past_stem_base local ps_past_stem_base = tu_pref .. rad1 .. UU -- make parts make_augmented_geminate_verb(data, args, rad2, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) -- Also add alternative sound (non-compressed) parts. This will lead to -- some duplicate entries, but they are removed in get_spans(). make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, rad2, form) end conjugations["III-geminate"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_geminate_verb(data, args, rad1, rad2, "III") end -- Make form IV sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_iv_sound_final_weak_verb(data, args, rad1, rad2, rad3) local final_weak = rad3 == nil -- core of stem base, minus stem prefixes local stem_core -- check for irregular verb أَرَى if raa_radicals(rad1, rad2, final_weak and Y or rad3) then data.irregular = true stem_core = rad1 else stem_core = rad1 .. SK .. rad2 end -- verbal noun local vn = HAMZA .. I .. stem_core .. AA .. (final_weak and HAMZA or rad3) .. UNS -- various stem bases local past_stem_base = HAMZA .. A .. stem_core local nonpast_stem_base = stem_core local ps_past_stem_base = HAMZA .. U .. stem_core -- make parts make_augmented_sound_final_weak_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "IV") end conjugations["IV-sound"] = function(data, args, rad1, rad2, rad3) make_form_iv_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["IV-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_iv_sound_final_weak_verb(data, args, rad1, rad2, nil) end conjugations["IV-hollow"] = function(data, args, rad1, rad2, rad3) -- verbal noun local vn = HAMZA .. I .. rad1 .. AA .. rad3 .. AH .. UNS -- various stem bases local past_stem_base = HAMZA .. A .. rad1 local nonpast_stem_base = rad1 local ps_past_stem_base = HAMZA .. U .. rad1 -- make parts make_augmented_hollow_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "IV") end conjugations["IV-geminate"] = function(data, args, rad1, rad2, rad3) local vn = HAMZA .. I .. rad1 .. SK .. rad2 .. AA .. rad2 .. UNS -- various stem bases local past_stem_base = HAMZA .. A .. rad1 local nonpast_stem_base = rad1 local ps_past_stem_base = HAMZA .. U .. rad1 -- make parts make_augmented_geminate_verb(data, args, rad2, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "IV") end conjugations["V-sound"] = function(data, args, rad1, rad2, rad3) make_form_ii_v_sound_final_weak_verb(data, args, rad1, rad2, rad3, "V") end conjugations["V-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_ii_v_sound_final_weak_verb(data, args, rad1, rad2, nil, "V") end conjugations["VI-sound"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, rad3, "VI") end conjugations["VI-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_sound_final_weak_verb(data, args, rad1, rad2, nil, "VI") end conjugations["VI-geminate"] = function(data, args, rad1, rad2, rad3) make_form_iii_vi_geminate_verb(data, args, rad1, rad2, "VI") end -- Make a verbal noun of the general form that applies to forms VII and above. -- RAD12 is the first consonant cluster (after initial اِ) and RAD34 is the -- second consonant cluster. RAD5 is the final consonant, or nil for final-weak -- verbs. function high_form_verbal_noun(rad12, rad34, rad5) return "اِ" .. rad12 .. I .. rad34 .. AA .. (rad5 == nil and HAMZA or rad5) .. UNS end -- Populate a sound or final-weak verb for any of the various high-numbered -- augmented forms (form VII and up) that have up to 5 consonants in two -- clusters in the stem and the same pattern of vowels between. -- Some of these consonants in certain verb parts are w's, which leads to apparent -- anomalies in certain stems of these parts, but these anomalies are handled -- automatically in postprocessing, where we resolve sequences of iwC -> īC, -- uwC -> ūC, w + sukūn + w -> w + shadda. -- -- RAD12 is the first consonant cluster (after initial اِ) and RAD34 is the -- second consonant cluster. RAD5 is the final consonant, or nil for final-weak -- verbs. function make_high_form_sound_final_weak_verb(data, args, rad12, rad34, rad5, form) local final_weak = rad5 == nil local vn = high_form_verbal_noun(rad12, rad34, rad5) -- various stem bases local nonpast_stem_base = rad12 .. A .. rad34 local past_stem_base = "اِ" .. nonpast_stem_base local ps_past_stem_base = "اُ" .. rad12 .. U .. rad34 -- make parts make_augmented_sound_final_weak_verb(data, args, rad5, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) end -- Make form VII sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_vii_sound_final_weak_verb(data, args, rad1, rad2, rad3) make_high_form_sound_final_weak_verb(data, args, "نْ" .. rad1, rad2, rad3, "VII") end conjugations["VII-sound"] = function(data, args, rad1, rad2, rad3) make_form_vii_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["VII-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_vii_sound_final_weak_verb(data, args, rad1, rad2, nil) end conjugations["VII-hollow"] = function(data, args, rad1, rad2, rad3) local nrad1 = "نْ" .. rad1 local vn = high_form_verbal_noun(nrad1, Y, rad3) -- various stem bases local nonpast_stem_base = nrad1 local past_stem_base = "اِ" ..nonpast_stem_base local ps_past_stem_base = "اُ" .. nrad1 -- make parts make_augmented_hollow_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "VII") end conjugations["VII-geminate"] = function(data, args, rad1, rad2, rad3) local nrad1 = "نْ" .. rad1 local vn = high_form_verbal_noun(nrad1, rad2, rad2) -- various stem bases local nonpast_stem_base = nrad1 .. A local past_stem_base = "اِ" .. nonpast_stem_base local ps_past_stem_base = "اُ" .. nrad1 .. U -- make parts make_augmented_geminate_verb(data, args, rad2, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "VII") end -- Join the infixed tā' (ت) to the first radical in form VIII verbs. This may -- cause assimilation of the tā' to the radical or in some cases the radical to -- the tā'. function join_ta(rad) if rad == W or rad == Y or rad == "ت" then return "تّ" elseif rad == "د" then return "دّ" elseif rad == "ث" then return "ثّ" elseif rad == "ذ" then return "ذّ" elseif rad == "ز" then return "زْد" elseif rad == "ص" then return "صْط" elseif rad == "ض" then return "ضْط" elseif rad == "ط" then return "طّ" elseif rad == "ظ" then return "ظّ" else return rad .. SK .. "ت" end end -- Return Form VIII verbal noun. RAD3 is nil for final-weak verbs. If RAD1 is -- hamza, there are two alternatives. function form_viii_verbal_noun(rad1, rad2, rad3) local vn = high_form_verbal_noun(join_ta(rad1), rad2, rad3) if rad1 == HAMZA then return {vn, high_form_verbal_noun(Y .. T, rad2, rad3)} else return {vn} end end -- Make form VIII sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_viii_sound_final_weak_verb(data, args, rad1, rad2, rad3) -- check for irregular verb اِتَّخَذَ if axadh_radicals(rad1, rad2, rad3) then data.irregular = true rad1 = T end make_high_form_sound_final_weak_verb(data, args, join_ta(rad1), rad2, rad3, "VIII") -- Add alternative parts if verb is first-hamza. Any duplicates are -- removed in get_spans(). if rad1 == HAMZA then local vn = form_viii_verbal_noun(rad1, rad2, rad3) local past_stem_base2 = "اِيتَ" .. rad2 local nonpast_stem_base2 = join_ta(rad1) .. A .. rad2 local ps_past_stem_base2 = "اُوتُ" .. rad2 make_augmented_sound_final_weak_verb(data, args, rad3, past_stem_base2, nonpast_stem_base2, ps_past_stem_base2, vn, "VIII") end end conjugations["VIII-sound"] = function(data, args, rad1, rad2, rad3) make_form_viii_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["VIII-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_viii_sound_final_weak_verb(data, args, rad1, rad2, nil) end conjugations["VIII-hollow"] = function(data, args, rad1, rad2, rad3) local vn = form_viii_verbal_noun(rad1, Y, rad3) -- various stem bases local nonpast_stem_base = join_ta(rad1) local past_stem_base = "اِ" .. nonpast_stem_base local ps_past_stem_base = "اُ" .. nonpast_stem_base -- make parts make_augmented_hollow_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "VIII") -- Add alternative parts if verb is first-hamza. Any duplicates are -- removed in get_spans(). if rad1 == HAMZA then local past_stem_base2 = "اِيت" local nonpast_stem_base2 = nonpast_stem_base local ps_past_stem_base2 = "اُوت" make_augmented_hollow_verb(data, args, rad3, past_stem_base2, nonpast_stem_base2, ps_past_stem_base2, vn, "VIII") end end conjugations["VIII-geminate"] = function(data, args, rad1, rad2, rad3) local vn = form_viii_verbal_noun(rad1, rad2, rad2) -- various stem bases local nonpast_stem_base = join_ta(rad1) .. A local past_stem_base = "اِ" .. nonpast_stem_base local ps_past_stem_base = "اُ" .. join_ta(rad1) .. U -- make parts make_augmented_geminate_verb(data, args, rad2, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "VIII") -- Add alternative parts if verb is first-hamza. Any duplicates are -- removed in get_spans(). if rad1 == HAMZA then local past_stem_base2 = "اِيتَ" local nonpast_stem_base2 = nonpast_stem_base local ps_past_stem_base2 = "اُوتُ" make_augmented_geminate_verb(data, args, rad2, past_stem_base2, nonpast_stem_base2, ps_past_stem_base2, vn, "VIII") end end conjugations["IX-sound"] = function(data, args, rad1, rad2, rad3) local ipref = "اِ" local vn = ipref .. rad1 .. SK .. rad2 .. I .. rad3 .. AA .. rad3 .. UNS -- various stem bases local nonpast_stem_base = rad1 .. SK .. rad2 .. A local past_stem_base = ipref .. nonpast_stem_base local ps_past_stem_base = "اُ" .. rad1 .. SK .. rad2 .. U -- make parts make_augmented_geminate_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "IX") end conjugations["IX-final-weak"] = function(data, args, rad1, rad2, rad3) error("FIXME: Not yet implemented") end -- Populate a sound or final-weak verb for any of the various high-numbered -- augmented forms that have 5 consonants in the stem and the same pattern of -- vowels. Some of these consonants in certain verb parts are w's, which leads to -- apparent anomalies in certain stems of these parts, but these anomalies -- are handled automatically in postprocessing, where we resolve sequences of -- iwC -> īC, uwC -> ūC, w + sukūn + w -> w + shadda. function make_high5_form_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4, rad5, form) make_high_form_sound_final_weak_verb(data, args, rad1 .. SK .. rad2, rad3 .. SK .. rad4, rad5, form) end -- Make form X sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_x_sound_final_weak_verb(data, args, rad1, rad2, rad3) make_high5_form_sound_final_weak_verb(data, args, S, T, rad1, rad2, rad3, "X") -- check for irregular verb اِسْتَحْيَا (also اِسْتَحَى) if hayy_radicals(rad1, rad2, rad3 or Y) then data.irregular = true -- Add alternative entries to the verbal paradigms. Any duplicates are -- removed in get_spans(). make_high_form_sound_final_weak_verb(data, args, S .. SK .. T, rad1, rad3, "X") end end conjugations["X-sound"] = function(data, args, rad1, rad2, rad3) make_form_x_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["X-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_x_sound_final_weak_verb(data, args, rad1, rad2, nil) end conjugations["X-hollow"] = function(data, args, rad1, rad2, rad3) local vn = "اِسْتِ" .. rad1 .. AA .. rad3 .. AH .. UNS -- various stem bases local past_stem_base = "اِسْتَ" .. rad1 local nonpast_stem_base = "سْتَ" .. rad1 local ps_past_stem_base = "اُسْتُ" .. rad1 -- make parts make_augmented_hollow_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "X") end conjugations["X-geminate"] = function(data, args, rad1, rad2, rad3) local vn = "اِسْتِ" .. rad1 .. SK .. rad2 .. AA .. rad2 .. UNS -- various stem bases local past_stem_base = "اِسْتَ" .. rad1 local nonpast_stem_base = "سْتَ" .. rad1 local ps_past_stem_base = "اُسْتُ" .. rad1 -- make parts make_augmented_geminate_verb(data, args, rad2, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "X") end conjugations["XI-sound"] = function(data, args, rad1, rad2, rad3) local ipref = "اِ" local vn = ipref .. rad1 .. SK .. rad2 .. II .. rad3 .. AA .. rad3 .. UNS -- various stem bases local nonpast_stem_base = rad1 .. SK .. rad2 .. AA local past_stem_base = ipref .. nonpast_stem_base local ps_past_stem_base = "اُ" .. rad1 .. SK .. rad2 .. UU -- make parts make_augmented_geminate_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "XI") end -- probably no form XI final-weak, since already geminate in form; would behave as XI-sound -- Make form XII sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_xii_sound_final_weak_verb(data, args, rad1, rad2, rad3) make_high5_form_sound_final_weak_verb(data, args, rad1, rad2, W, rad2, rad3, "XII") end conjugations["XII-sound"] = function(data, args, rad1, rad2, rad3) make_form_xii_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["XII-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_xii_sound_final_weak_verb(data, args, rad1, rad2, nil) end -- Make form XIII sound or final-weak verb. Final-weak verbs are identified -- by RAD3 = nil. function make_form_xiii_sound_final_weak_verb(data, args, rad1, rad2, rad3) make_high5_form_sound_final_weak_verb(data, args, rad1, rad2, W, W, rad3, "XIII") end conjugations["XIII-sound"] = function(data, args, rad1, rad2, rad3) make_form_xiii_sound_final_weak_verb(data, args, rad1, rad2, rad3) end conjugations["XIII-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_xiii_sound_final_weak_verb(data, args, rad1, rad2, nil) end -- Make a form XIV or XV sound or final-weak verb. Last radical appears twice -- (if`anlala / yaf`anlilu) so if it were w or y you'd get if`anwā / yaf`anwī -- or if`anyā / yaf`anyī, i.e. we need the identity of the radical, so the -- normal trick of passing nil as rad3 into these types of functions won't work. -- Instead we pass the full radical as well as a flag indicating whether the -- verb is final-weak. The last radical need not be w or y; in fact this is -- exactly what form XV is about. function make_form_xiv_xv_sound_final_weak_verb(data, args, rad1, rad2, rad3, final_weak, form) local lastrad = not final_weak and rad3 or nil make_high5_form_sound_final_weak_verb(data, args, rad1, rad2, N, rad3, lastrad, form) end conjugations["XIV-sound"] = function(data, args, rad1, rad2, rad3) make_form_xiv_xv_sound_final_weak_verb(data, args, rad1, rad2, rad3, false, "XIV") end conjugations["XIV-final-weak"] = function(data, args, rad1, rad2, rad3) make_form_xiv_xv_sound_final_weak_verb(data, args, rad1, rad2, rad3, true, "XIV") end conjugations["XV-sound"] = function(data, args, rad1, rad2, rad3) make_form_xiv_xv_sound_final_weak_verb(data, args, rad1, rad2, rad3, true, "XV") end -- probably no form XV final-weak, since already final-weak in form; would behave as XV-sound -- Make form Iq or IIq sound or final-weak verb. Final-weak verbs are identified -- by RAD4 = nil. FORM distinguishes Iq from IIq. function make_form_iq_iiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4, form) local final_weak = rad4 == nil local vn = form == "IIq" and "تَ" .. rad1 .. A .. rad2 .. SK .. rad3 .. (final_weak and IN or U .. rad4 .. UNS) or rad1 .. A .. rad2 .. SK .. rad3 .. (final_weak and AAH or A .. rad4 .. AH) .. UNS local ta_pref = form == "IIq" and "تَ" or "" local tu_pref = form == "IIq" and "تُ" or "" -- various stem bases local past_stem_base = ta_pref .. rad1 .. A .. rad2 .. SK .. rad3 local nonpast_stem_base = past_stem_base local ps_past_stem_base = tu_pref .. rad1 .. U .. rad2 .. SK .. rad3 -- make parts make_augmented_sound_final_weak_verb(data, args, rad4, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) end conjugations["Iq-sound"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iq_iiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4, "Iq") end conjugations["Iq-final-weak"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iq_iiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, nil, "Iq") end conjugations["IIq-sound"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iq_iiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4, "IIq") end conjugations["IIq-final-weak"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iq_iiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, nil, "IIq") end -- Make form IIIq sound or final-weak verb. Final-weak verbs are identified -- by RAD4 = nil. function make_form_iiiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4) make_high5_form_sound_final_weak_verb(data, args, rad1, rad2, N, rad3, rad4, "IIIq") end conjugations["IIIq-sound"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iiiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, rad4) end conjugations["IIIq-final-weak"] = function(data, args, rad1, rad2, rad3, rad4) make_form_iiiq_sound_final_weak_verb(data, args, rad1, rad2, rad3, nil) end conjugations["IVq-sound"] = function(data, args, rad1, rad2, rad3, rad4) local ipref = "اِ" local vn = ipref .. rad1 .. SK .. rad2 .. I .. rad3 .. SK .. rad4 .. AA .. rad4 .. UNS -- various stem bases local past_stem_base = ipref .. rad1 .. SK .. rad2 .. A .. rad3 local nonpast_stem_base = rad1 .. SK .. rad2 .. A .. rad3 local ps_past_stem_base = "اُ" .. rad1 .. SK .. rad2 .. U .. rad3 -- make parts make_augmented_geminate_verb(data, args, rad4, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, "IVq") end -- probably no form IVq final-weak, since already geminate in form; would behave as IVq-sound ------------------------------------ -- Basic functions to inflect tenses ------------------------------------ -- Implementation of inflect_tense(). See that function. Also used directly -- to add the imperative, which has only five parts. function inflect_tense_1(data, tense, prefixes, stems, endings, pnums) if prefixes == nil then error("For tense '" .. tense .. "', prefixes = nil") end if stems == nil then error("For tense '" .. tense .. "', stems = nil") end if endings == nil then error("For tense '" .. tense .. "', endings = nil") end if type(prefixes) == "table" and #pnums ~= #prefixes then error("For tense '" .. tense .. "', found " .. #prefixes .. " prefixes but expected " .. #pnums) end if type(stems) == "table" and #pnums ~= #stems then error("For tense '" .. tense .. "', found " .. #stems .. " stems but expected " .. #pnums) end if #pnums ~= #endings then error("For tense '" .. tense .. "', found " .. #endings .. " endings but expected " .. #pnums) end -- First, initialize any nil entries to sequences. for i, pnum in ipairs(pnums) do if data.forms[pnum .. "-" .. tense] == nil then data.forms[pnum .. "-" .. tense] = {} end end -- Now add entries for i = 1, #pnums do -- Extract endings for this person-number combo local ends = endings[i] if type(ends) == "string" then ends = {ends} end -- Extract prefix for this person-number combo local prefix = prefixes if type(prefix) == "table" then prefix = prefix[i] end -- Extract stem for this person-number combo local stem = stems if type(stem) == "table" then stem = stem[i] end -- Add entries for stem + endings for j, ending in ipairs(ends) do -- allow some inflections to be skipped; useful for generating -- partly irregular inflections if prefix ~= "-" and stem ~= "-" then local part = prefix .. stem .. ending if ine(part) and part ~= "-" -- and (not data.impers or pnums[i] == "3sg") then table.insert(data.forms[pnums[i] .. "-" .. tense], part) end end end end end -- Add to DATA the inflections for the tense indicated by TENSE (the suffix -- in the forms names, e.g. 'perf'), formed by combining the PREFIXES -- (either a single string or a sequence of 13 strings), STEMS -- (either a single string or a sequence of 13 strings) with the -- ENDINGS (a sequence of 13 values, each of which is either a string -- or a sequence of one or more possible endings). If existing -- inflections already exist, they will be added to, not overridden. -- If any value of PREFIXES or STEMS is the string "-", then the corresponding -- inflection will be skipped. function inflect_tense(data, tense, prefixes, stems, endings) local pnums = {"1s", "2sm", "2sf", "3sm", "3sf", "2d", "3dm", "3df", "1p", "2pm", "2pf", "3pm", "3pf"} inflect_tense_1(data, tense, prefixes, stems, endings, pnums) end -- Like inflect_tense() but for the imperative, which has only five parts -- instead of 13. function inflect_tense_impr(data, stems, endings) local pnums = {"2sm", "2sf", "2d", "2pm", "2pf"} if data.noimp then endings = {{}, {}, {}, {}, {}} end inflect_tense_1(data, "impr", "", stems, endings, pnums) end -- Add VALUE (a string or array) to the end of any entries in DATA.forms[NAME], -- initializing it to an empty array if needed. function insert_part(data, name, value) if data.forms[name] == nil then data.forms[name] = {} end if type(value) == "table" then data.forms[name] = value else table.insert(data.forms[name], value) end end -- Insert verbal noun VN into DATA.forms["vn"], but allow it to be overridden by -- ARGS["vn"]. function insert_verbal_noun(data, args, vn) local vns = args["vn"] and rsplit(args["vn"], "[,،]") or vn if type(vns) ~= "table" then vns = {vns} end vns.ids = {} for i = 1, #vns do local id = args["vn-id" .. i] if id then vns.ids[i] = id end end -------------------- Begin verbal-noun i3rab tracking code --------------- -- Examples of what you can find by looking at what links to the given -- pages: -- -- Template:tracking/ar-verb/vn/i3rab/un (pages with verbal nouns with -un -- i3rab, whether explicitly specified, i.e. using vn=, or auto-generated, -- as is normal for augmented forms) -- Template:tracking/ar-verb/explicit-vn/i3rab/u (pages with explicitly -- specified verbal nouns with -u i3rab) -- Template:tracking/ar-verb/explicit-vn/i3rab/an-tall (pages with -- explicitly specified verbal nouns with tall-alif -an i3rab) -- Template:tracking/ar-verb/auto-vn/i3rab (pages with auto-generated verbal -- nouns with any sort of i3rab) -- Template:tracking/ar-verb/vn/no-i3rab (pages with verbal nouns without -- i3rab) -- Template:tracking/ar-verb/vn/would-be-decl/di (pages with verbal nouns -- that would be detected as diptote without explicit i3rab) function vntrack(pagesuff) track("vn/" .. pagesuff) if args["vn"] then track("explicit-vn/" .. pagesuff) else track("auto-vn/" .. pagesuff) end end function track_i3rab(entry, arabic, tr) if rfind(entry, arabic .. "$") then vntrack("i3rab") vntrack("i3rab/" .. tr) end end for _, entry in ipairs(vns) do -- Need to do this else we will have problems with VN's whose stem ends -- in shadda. entry = reorder_shadda(entry) track_i3rab(entry, UN, "un") track_i3rab(entry, U, "u") track_i3rab(entry, IN, "in") track_i3rab(entry, I, "i") track_i3rab(entry, AN .. "[" .. ALIF .. AMAQ .. "]", "an") track_i3rab(entry, AN .. ALIF, "an-tall") track_i3rab(entry, A, "a") track_i3rab(entry, SK, "sk") if not rfind(entry, "[" .. A .. I .. U .. AN .. IN .. UN .. DAGGER_ALIF .. "]$") and not rfind(entry, AN .. "[" .. ALIF .. AMAQ .. "]") then vntrack("no-i3rab") end entry = rsub(entry, UNU .. "?$", "") -- Figure out what the decltype would be without any explicit -un -- or -u added, to see whether there are any nouns that would be -- detected as diptotes, e.g. of the فَعْلَان pattern. local decltype = ar_nominals.detect_type(entry, false, "sg", "noun") vntrack("would-be-decl/" .. decltype) end -------------------- End verbal-noun i3rab tracking code --------------- if no_nominal_i3rab then vns_no_i3rab = {} for _, entry in ipairs(vns) do entry = reorder_shadda(entry) entry = rsub(entry, UNU .. "?$", "") table.insert(vns_no_i3rab, entry) end if vns.ids then vns_no_i3rab.ids = vns.ids end insert_part(data, "vn", vns_no_i3rab) else insert_part(data, "vn", vns) end end -------------------------------------- -- functions to inflect the past tense -------------------------------------- --generate past verbs using specified vowel and consonant stems; works for --sound, assimilated, hollow, and geminate verbs, active and passive function past_2stem_conj(data, tense, v_stem, c_stem) inflect_tense(data, tense, "", { -- singular c_stem, c_stem, c_stem, v_stem, v_stem, --dual c_stem, v_stem, v_stem, -- plural c_stem, c_stem, c_stem, v_stem, c_stem }, past_endings) end --generate past verbs using single specified stem; works for sound and --assimilated verbs, active and passive function past_1stem_conj(data, tense, stem) past_2stem_conj(data, tense, stem, stem) end --------------------------------------- -- functions to inflect non-past tenses --------------------------------------- -- Generate non-past conjugation, with two stems, for vowel-initial and -- consonant-initial endings, respectively. Useful for active and passive; -- for all forms; for all weaknesses (sound, assimilated, hollow, final-weak -- and geminate) and for all types of non-past (indicative, subjunctive, -- jussive) except for the imperative. (There is a separate function below -- for geminate jussives because they have three alternants.) Both stems may -- be the same, e.g. for sound verbs. -- -- PREFIXES will generally be either "a" (= 'nonpast_prefixes_a', for active -- forms I and V - X) or "u" (= 'nonpast_prefixes_u', for active forms II - IV -- and Iq and all passive forms). Otherwise, it should be either a single string -- (often "") or an array (table) of 13 items. ENDINGS should similarly be an -- array of 13 items. If ENDINGS is nil or omitted, infer the endings from -- the tense. If JUSSIVE is true, or ENDINGS is nil and TENSE indicatives -- jussive, use the jussive pattern of vowel/consonant stems (different from the -- normal ones). function nonpast_2stem_conj(data, tense, prefixes, v_stem, c_stem, endings, jussive) if prefixes == "a" then prefixes = nonpast_prefixes_a elseif prefixes == "u" then prefixes = nonpast_prefixes_u end if endings == nil then if tense == "impf" or tense == "ps-impf" then endings = indic_endings elseif tense == "subj" or tense == "ps-subj" then endings = subj_endings elseif tense == "juss" or tense == "ps-juss" then jussive = true endings = juss_endings else error("Unrecognized tense '" .. tense .."'") end end if not jussive then inflect_tense(data, tense, prefixes, { -- singular v_stem, v_stem, v_stem, v_stem, v_stem, --dual v_stem, v_stem, v_stem, -- plural v_stem, v_stem, c_stem, v_stem, c_stem }, endings) else inflect_tense(data, tense, prefixes, { -- singular -- 'adlul, tadlul, tadullī, yadlul, tadlul c_stem, c_stem, v_stem, c_stem, c_stem, --dual -- tadullā, yadullā, tadullā v_stem, v_stem, v_stem, -- plural -- nadlul, tadullū, tadlulna, yadullū, yadlulna c_stem, v_stem, c_stem, v_stem, c_stem }, endings) end end -- Generate non-past conjugation with one stem (no distinct stems for -- vowel-initial and consonant-initial endings). See nonpast_2stem_conj(). function nonpast_1stem_conj(data, tense, prefixes, stem, endings, jussive) nonpast_2stem_conj(data, tense, prefixes, stem, stem, endings, jussive) end -- Generate active/passive jussive geminative. There are three alternants, two -- with terminations -a and -i and one in a null termination with a distinct -- pattern of vowel/consonant stem usage. See nonpast_2stem_conj() for a -- description of the arguments. function jussive_gem_conj(data, tense, prefixes, v_stem, c_stem) -- alternative in -a nonpast_2stem_conj(data, tense, prefixes, v_stem, c_stem, juss_endings_alt_a) -- alternative in -i nonpast_2stem_conj(data, tense, prefixes, v_stem, c_stem, juss_endings_alt_i) -- alternative in -null; requires different combination of v_stem and -- c_stem since the null endings require the c_stem (e.g. "tadlul" here) -- whereas the corresponding endings above in -a or -i require the v_stem -- (e.g. "tadulla, tadulli" above) nonpast_2stem_conj(data, tense, prefixes, v_stem, c_stem, juss_endings, "jussive") end -------------------------------------- -- functions to inflect the imperative -------------------------------------- -- generate imperative parts for sound or assimilated verbs function make_1stem_imperative(data, stem) inflect_tense_impr(data, stem, impr_endings) end -- generate imperative parts for two-stem verbs (hollow or geminate) function make_2stem_imperative(data, v_stem, c_stem) inflect_tense_impr(data, {c_stem, v_stem, v_stem, v_stem, c_stem}, impr_endings) end -- generate imperative parts for geminate verbs form I (also IV, VII, VIII, X) function make_gem_imperative(data, v_stem, c_stem) inflect_tense_impr(data, {v_stem, v_stem, v_stem, v_stem, c_stem}, impr_endings_alt_a) inflect_tense_impr(data, {v_stem, v_stem, v_stem, v_stem, c_stem}, impr_endings_alt_i) make_2stem_imperative(data, v_stem, c_stem) end ------------------------------------ -- functions to inflect entire verbs ------------------------------------ -- generate finite parts of a sound verb (also works for assimilated verbs) -- from five stems (past and non-past, active and passive, plus imperative) -- plus the prefix vowel in the active non-past ("a" or "u") function make_sound_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, prefix_vowel) past_1stem_conj(data, "perf", past_stem) past_1stem_conj(data, "ps-perf", ps_past_stem) nonpast_1stem_conj(data, "impf", prefix_vowel, nonpast_stem) nonpast_1stem_conj(data, "subj", prefix_vowel, nonpast_stem) nonpast_1stem_conj(data, "juss", prefix_vowel, nonpast_stem) nonpast_1stem_conj(data, "ps-impf", "u", ps_nonpast_stem) nonpast_1stem_conj(data, "ps-subj", "u", ps_nonpast_stem) nonpast_1stem_conj(data, "ps-juss", "u", ps_nonpast_stem) make_1stem_imperative(data, imper_stem) end -- generate finite parts of a final-weak verb from five stems (past and -- non-past, active and passive, plus imperative), five sets of -- suffixes (past, non-past indicative/subjunctive/jussive, imperative) -- and the prefix vowel in the active non-past ("a" or "u") function make_final_weak_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, past_suffs, indic_suffs, subj_suffs, juss_suffs, impr_suffs, prefix_vowel) inflect_tense(data, "perf", "", past_stem, past_suffs) inflect_tense(data, "ps-perf", "", ps_past_stem, past_endings_ii) nonpast_1stem_conj(data, "impf", prefix_vowel, nonpast_stem, indic_suffs) nonpast_1stem_conj(data, "subj", prefix_vowel, nonpast_stem, subj_suffs) nonpast_1stem_conj(data, "juss", prefix_vowel, nonpast_stem, juss_suffs) nonpast_1stem_conj(data, "ps-impf", "u", ps_nonpast_stem, indic_endings_aa) nonpast_1stem_conj(data, "ps-subj", "u", ps_nonpast_stem, subj_endings_aa) nonpast_1stem_conj(data, "ps-juss", "u", ps_nonpast_stem, juss_endings_aa) inflect_tense_impr(data, imper_stem, impr_suffs) end -- generate finite parts of an augmented (form II+) final-weak verb from five -- stems (past and non-past, active and passive, plus imperative) plus the -- prefix vowel in the active non-past ("a" or "u") and a flag indicating if -- behave like a form V/VI verb in taking non-past endings in -ā instead of -ī function make_augmented_final_weak_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, prefix_vowel, form56) make_final_weak_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, past_endings_ay, form56 and indic_endings_aa or indic_endings_ii, form56 and subj_endings_aa or subj_endings_ii, form56 and juss_endings_aa or juss_endings_ii, form56 and impr_endings_aa or impr_endings_ii, prefix_vowel) end -- generate finite parts of an augmented (form II+) sound or final-weak verb, -- given the following: -- -- DATA, ARGS = arguments from conjugation function -- RAD3 = last radical; should be nil for final-weak verb -- PAST_STEM_BASE = active past stem minus last syllable (= -al or -ā) -- NONPAST_STEM_BASE = non-past stem minus last syllable (= -al/-il or -ā/-ī) -- PS_PAST_STEM_BASE = passive past stem minus last syllable (= -il or -ī) -- FORM -- form of verb (II to XV, Iq - IVq) -- VN = verbal noun function make_augmented_sound_final_weak_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) insert_verbal_noun(data, args, vn) local final_weak = rad3 == nil local prefix_vowel = prefix_vowel_from_form(form) local form56 = form_nonpast_a_vowel(form) local a_base_suffix = final_weak and "" or A .. rad3 local i_base_suffix = final_weak and "" or I .. rad3 -- past and non-past stems, active and passive local past_stem = past_stem_base .. a_base_suffix -- In forms 5 and 6, non-past has /a/ as last stem vowel in the non-past -- in both active and passive, but /i/ in the active participle and /a/ -- in the passive participle. Elsewhere, consistent /i/ in active non-past -- and participle, consistent /a/ in passive non-past and participle. -- Hence, forms 5 and 6 differ only in the non-past active (but not -- active participle), so we have to split the finite non-past stem and -- active participle stem. local nonpast_stem = nonpast_stem_base .. (form56 and a_base_suffix or i_base_suffix) local ap_stem = nonpast_stem_base .. i_base_suffix local ps_past_stem = ps_past_stem_base .. i_base_suffix local ps_nonpast_stem = nonpast_stem_base .. a_base_suffix -- imperative stem local imper_stem = past_stem_base .. (form56 and a_base_suffix or i_base_suffix) -- make parts if final_weak then make_augmented_final_weak_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, prefix_vowel, form56) else make_sound_verb(data, past_stem, ps_past_stem, nonpast_stem, ps_nonpast_stem, imper_stem, prefix_vowel) end -- active and passive participle if final_weak then insert_part(data, "ap", MU .. ap_stem .. IN) insert_part(data, "pp", MU .. ps_nonpast_stem .. AN .. AMAQ) else insert_part(data, "ap", MU .. ap_stem .. UNS) insert_part(data, "pp", MU .. ps_nonpast_stem .. UNS) end end -- generate finite parts of a hollow or geminate verb from ten stems (vowel and -- consonant stems for each of past and non-past, active and passive, plus -- imperative) plus the prefix vowel in the active non-past ("a" or "u"), plus -- a flag indicating if we are a geminate verb function make_hollow_geminate_verb(data, past_v_stem, past_c_stem, ps_past_v_stem, ps_past_c_stem, nonpast_v_stem, nonpast_c_stem, ps_nonpast_v_stem, ps_nonpast_c_stem, imper_v_stem, imper_c_stem, prefix_vowel, geminate) past_2stem_conj(data, "perf", past_v_stem, past_c_stem) past_2stem_conj(data, "ps-perf", ps_past_v_stem, ps_past_c_stem) nonpast_2stem_conj(data, "impf", prefix_vowel, nonpast_v_stem, nonpast_c_stem) nonpast_2stem_conj(data, "subj", prefix_vowel, nonpast_v_stem, nonpast_c_stem) nonpast_2stem_conj(data, "ps-impf", "u", ps_nonpast_v_stem, ps_nonpast_c_stem) nonpast_2stem_conj(data, "ps-subj", "u", ps_nonpast_v_stem, ps_nonpast_c_stem) if geminate then jussive_gem_conj(data, "juss", prefix_vowel, nonpast_v_stem, nonpast_c_stem) jussive_gem_conj(data, "ps-juss", "u", ps_nonpast_v_stem, ps_nonpast_c_stem) make_gem_imperative(data, imper_v_stem, imper_c_stem) else nonpast_2stem_conj(data, "juss", prefix_vowel, nonpast_v_stem, nonpast_c_stem) nonpast_2stem_conj(data, "ps-juss", "u", ps_nonpast_v_stem, ps_nonpast_c_stem) make_2stem_imperative(data, imper_v_stem, imper_c_stem) end end -- generate finite parts of an augmented (form II+) hollow verb, -- given the following: -- -- DATA, ARGS = arguments from conjugation function -- RAD3 = last radical (after the hollowness) -- PAST_STEM_BASE = invariable part of active past stem -- NONPAST_STEM_BASE = invariable part of non-past stem -- PS_PAST_STEM_BASE = invariable part of passive past stem -- VN = verbal noun -- FORM = the verb form ("IV", "VII", "VIII", "X") function make_augmented_hollow_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) insert_verbal_noun(data, args, vn) local form410 = form == "IV" or form == "X" local prefix_vowel = prefix_vowel_from_form(form) local a_base_suffix_v, a_base_suffix_c local i_base_suffix_v, i_base_suffix_c a_base_suffix_v = AA .. rad3 -- 'af-āl-a, inf-āl-a a_base_suffix_c = A .. rad3 -- 'af-al-tu, inf-al-tu i_base_suffix_v = II .. rad3 -- 'uf-īl-a, unf-īl-a i_base_suffix_c = I .. rad3 -- 'uf-il-tu, unf-il-tu -- past and non-past stems, active and passive, for vowel-initial and -- consonant-initial endings local past_v_stem = past_stem_base .. a_base_suffix_v local past_c_stem = past_stem_base .. a_base_suffix_c -- yu-f-īl-u, ya-staf-īl-u but yanf-āl-u, yaft-āl-u local nonpast_v_stem = nonpast_stem_base .. (form410 and i_base_suffix_v or a_base_suffix_v) local nonpast_c_stem = nonpast_stem_base .. (form410 and i_base_suffix_c or a_base_suffix_c) local ps_past_v_stem = ps_past_stem_base .. i_base_suffix_v local ps_past_c_stem = ps_past_stem_base .. i_base_suffix_c local ps_nonpast_v_stem = nonpast_stem_base .. a_base_suffix_v local ps_nonpast_c_stem = nonpast_stem_base .. a_base_suffix_c -- imperative stem local imper_v_stem = past_stem_base .. (form410 and i_base_suffix_v or a_base_suffix_v) local imper_c_stem = past_stem_base .. (form410 and i_base_suffix_c or a_base_suffix_c) -- make parts make_hollow_geminate_verb(data, past_v_stem, past_c_stem, ps_past_v_stem, ps_past_c_stem, nonpast_v_stem, nonpast_c_stem, ps_nonpast_v_stem, ps_nonpast_c_stem, imper_v_stem, imper_c_stem, prefix_vowel, false) -- active participle insert_part(data, "ap", MU .. nonpast_v_stem .. UNS) -- passive participle insert_part(data, "pp", MU .. ps_nonpast_v_stem .. UNS) end -- generate finite parts of an augmented (form II+) geminate verb, -- given the following: -- -- DATA, ARGS = arguments from conjugation function -- RAD3 = last radical (the one that gets geminated) -- PAST_STEM_BASE = invariable part of active past stem; this and the stem -- bases below will end with a consonant for forms IV, X, IVq, and a -- short vowel for the others -- NONPAST_STEM_BASE = invariable part of non-past stem -- PS_PAST_STEM_BASE = invariable part of passive past stem -- VN = verbal noun -- FORM = the verb form ("III", "IV", "VI", "VII", "VIII", "IX", "X", "IVq") function make_augmented_geminate_verb(data, args, rad3, past_stem_base, nonpast_stem_base, ps_past_stem_base, vn, form) insert_verbal_noun(data, args, vn) local prefix_vowel = prefix_vowel_from_form(form) local a_base_suffix_v, a_base_suffix_c local i_base_suffix_v, i_base_suffix_c if form == "IV" or form == "X" or form == "IVq" then a_base_suffix_v = A .. rad3 .. SH -- 'af-all a_base_suffix_c = SK .. rad3 .. A .. rad3 -- 'af-lal i_base_suffix_v = I .. rad3 .. SH -- yuf-ill i_base_suffix_c = SK .. rad3 .. I .. rad3 -- yuf-lil else a_base_suffix_v = rad3 .. SH -- fā-ll, infa-ll a_base_suffix_c = rad3 .. A .. rad3 -- fā-lal, infa-lal i_base_suffix_v = rad3 .. SH -- yufā-ll, yanfa-ll i_base_suffix_c = rad3 .. I .. rad3 -- yufā-lil, yanfa-lil end -- past and non-past stems, active and passive, for vowel-initial and -- consonant-initial endings local past_v_stem = past_stem_base .. a_base_suffix_v local past_c_stem = past_stem_base .. a_base_suffix_c local nonpast_v_stem = nonpast_stem_base .. (form_nonpast_a_vowel(form) and a_base_suffix_v or i_base_suffix_v) local nonpast_c_stem = nonpast_stem_base .. (form_nonpast_a_vowel(form) and a_base_suffix_c or i_base_suffix_c) -- form III and VI passive past do not have contracted parts, only -- uncontracted parts, which are added separately by those functions local ps_past_v_stem = (form == "III" or form == "VI") and "-" or ps_past_stem_base .. i_base_suffix_v local ps_past_c_stem = ps_past_stem_base .. i_base_suffix_c local ps_nonpast_v_stem = nonpast_stem_base .. a_base_suffix_v local ps_nonpast_c_stem = nonpast_stem_base .. a_base_suffix_c -- imperative stem local imper_v_stem = past_stem_base .. (form_nonpast_a_vowel(form) and a_base_suffix_v or i_base_suffix_v) local imper_c_stem = past_stem_base .. (form_nonpast_a_vowel(form) and a_base_suffix_c or i_base_suffix_c) -- make parts make_hollow_geminate_verb(data, past_v_stem, past_c_stem, ps_past_v_stem, ps_past_c_stem, nonpast_v_stem, nonpast_c_stem, ps_nonpast_v_stem, ps_nonpast_c_stem, imper_v_stem, imper_c_stem, prefix_vowel, "geminate") -- active participle insert_part(data, "ap", MU .. nonpast_v_stem .. UNS) -- passive participle insert_part(data, "pp", MU .. ps_nonpast_v_stem .. UNS) end ---------------------------------------- -- functions to create inflection tables ---------------------------------------- -- array of substitutions; each element is a 2-entry array FROM, TO; do it -- this way so the concatenations only get evaluated once local postprocess_subs = { -- reorder short-vowel + shadda -> shadda + short-vowel for easier processing {"(" .. AIU .. ")" .. SH, SH .. "%1"}, ----------same letter separated by sukūn should instead use shadda--------- ------------happens e.g. in kun-nā "we were".----------------- {"(.)" .. SK .. "%1", "%1" .. SH}, ---------------------------- assimilated verbs ---------------------------- -- iw, iy -> ī (assimilated verbs) {I .. W .. SK, II}, {I .. Y .. SK, II}, -- uw, uy -> ū (assimilated verbs) {U .. W .. SK, UU}, {U .. Y .. SK, UU}, -------------- final -yā uses tall alif not alif maqṣūra ------------------ {"(" .. Y .. SH .. "?" .. A .. ")" .. AMAQ, "%1" .. ALIF}, ----------------------- handle hamza assimilation ------------------------- -- initial hamza + short-vowel + hamza + sukūn -> hamza + long vowel {HAMZA .. A .. HAMZA .. SK, HAMZA .. A .. ALIF}, {HAMZA .. I .. HAMZA .. SK, HAMZA .. I .. Y}, {HAMZA .. U .. HAMZA .. SK, HAMZA .. U .. W} } -- Post-process verb parts to eliminate phonological anomalies. Many of the changes, -- particularly the tricky ones, involve converting hamza to have the proper -- seat. The rules for this are complicated and are documented on the -- [[w:Hamza]] Wikipedia page. In some cases there are alternatives allowed, -- and we handle them below by returning multiple possibilities. function postprocess_term(term) -- if term is regular hyphen/dash, ndash or mdash, return mdash if term == "-" or term == "–" or term == "—" then return {"—"} -- mdash elseif term == "?" then return {"?"} end -- do the main post-processing, based on the pattern substitutions in -- postprocess_subs for _, sub in ipairs(postprocess_subs) do term = rsub(term, sub[1], sub[2]) end if not rfind(term, HAMZA) then return {term} end term = rsub(term, HAMZA, HAMZA_PH) return ar_utilities.process_hamza(term) end -- For each paradigm part, postprocess the entries, remove duplicates and -- return the set of Arabic and transliterated Latin entries as two return -- values. function get_spans(part) if type(part) == "string" then part = {part} end local part_nondup = {} -- for each entry, postprocess it, which may potentially return -- multiple entries; insert each into an array, checking and -- omitting duplicates for _, entry in ipairs(part) do for _, e in ipairs(postprocess_term(entry)) do insert_if_not(part_nondup, e) end end -- convert each individual entry into Arabic and Latin span local arabic_spans = {} local latin_spans = {} for _, entry in ipairs(part_nondup) do table.insert(arabic_spans, entry) if entry ~= "—" and entry ~= "?" then -- multiple Arabic entries may map to the same Latin entry -- (happens particularly with variant ways of spelling hamza) insert_if_not(latin_spans, ar_translit.tr(entry, nil, nil, nil)) end end return arabic_spans, latin_spans end -- Make the conjugation table. Called from export.show(). function make_table(data, title, form, intrans) local forms = data.forms local arabic_spans_3sm_perf, _ if data.passive == "only" or data.passive == "only-impers" then arabic_spans_3sm_perf, _ = get_spans(forms["3sm-ps-perf"]) else arabic_spans_3sm_perf, _ = get_spans(forms["3sm-perf"]) end -- convert Arabic terms to spans for i, entry in ipairs(arabic_spans_3sm_perf) do arabic_spans_3sm_perf[i] = "<b lang=\"ar\" class=\"Arab\">" .. entry .. "</b>" end -- concatenate spans local part_3sm_perf = '<div style="display: inline-block">' .. table.concat(arabic_spans_3sm_perf, " <small style=\"color: #888\">or</small> ") .. "</div>" -- compute # of verbal nouns before we collapse them local num_vns = type(forms["vn"]) == "table" and #forms["vn"] or 1 -- also extract list of verbal nouns and preceding text "verbal noun" or -- "verbal nouns", for the conjugation table title local vn_spans, _ = get_spans(forms["vn"]) -- convert verbal nouns to spans for i, entry in ipairs(vn_spans) do vn_spans[i] = '<span lang="ar" class="Arab" style="font-weight: normal">' .. entry .. '</span>' end local vn_list = #vn_spans == 0 and "?" or table.concat(vn_spans, " <small style=\"color: #888\">or</small> ") local vn_prefix = #vn_spans > 1 and "verbal nouns" or "verbal noun" local vn_text = vn_prefix .. " " .. vn_list -- construct conjugation table title local title = 'Conjugation of ' .. part_3sm_perf .. (form == "I" and " (" .. title .. ", " .. vn_text .. ")" or " (" .. title .. ")") -- Format and add transliterations to all parts for key, part in pairs(forms) do -- check for empty array, size-one array holding a dash or ? if #part > 0 then local arabic_spans, latin_spans = get_spans(part) -- convert Arabic terms to links for i, entry in ipairs(arabic_spans) do local id if part.ids then id = part.ids[i] end arabic_spans[i] = links(entry, nil, id) end for i, translit in ipairs(latin_spans) do latin_spans[i] = require("Module:script utilities").tag_translit(translit, lang, "default") end -- concatenate spans forms[key] = '<div style="display: inline-block">' .. table.concat(arabic_spans, " <small style=\"color: #888\">or</small> ") .. "</div>" .. "<br/>" .. "<span style=\"color: #888\">" .. table.concat(latin_spans, " <small>or</small> ") .. "</span>" -- if no verbal nouns, it's normally because they're unknown or -- unspecified rather than non-existent. For an actually non-existent -- verbal noun, put a hyphen or mdash explicitly as the value of the -- paradigm part, and it will be handled appropriately (no attempt to -- transliterate). elseif key == "vn" then forms[key] = "?" else forms[key] = "—" end end local text = [=[<div class="NavFrame ar-conj"> <div class="NavHead" style="height:2.5em">]=] .. title .. [=[</div> <div class="NavContent"> {| class="inflection-table" |- ! colspan="6" class="nonfinite-header" | verbal noun]=] .. (num_vns > 1 and "s" or "") .. "<br />" .. tag_text(num_vns > 1 and "الْمَصَادِر" or "الْمَصْدَر") .. [=[ | colspan="7" | {{{vn}}} ]=] if data.passive ~= "only" and data.passive ~= "only-impers" then text = text .. [=[ |- ! colspan="6" class="nonfinite-header" | active participle<br />{{{اِسْم الْفَاعِل}}} | colspan="7" | {{{ap}}} ]=] end if data.passive then text = text .. [=[ |- ! colspan="6" class="nonfinite-header" | passive participle<br />{{{اِسْم الْمَفْعُول}}} | colspan="7" | {{{pp}}} ]=] end if data.passive ~= "only" and data.passive ~= "only-impers" then text = text .. [=[ |- ! colspan="12" class="voice-header" | active voice<br />{{{الْفِعْل الْمَعْلُوم}}} |- ! colspan="2" class="empty-header" | ! colspan="3" class="number-header" | singular<br />{{{الْمُفْرَد}}} ! rowspan="12" class="divider" | ! colspan="2" class="number-header" | dual<br />{{{الْمُثَنَّى}}} ! rowspan="12" class="divider" | ! colspan="3" class="number-header" | plural<br />{{{الْجَمْع}}} |- ! colspan="2" class="empty-header" | ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} |- ! rowspan="2" class="tam-header" | past (perfect) indicative<br />{{{الْمَاضِي}}} ! class="gender-header" | m | rowspan="2" | {{{1s-perf}}} | {{{2sm-perf}}} | {{{3sm-perf}}} | rowspan="2" | {{{2d-perf}}} | {{{3dm-perf}}} | rowspan="2" | {{{1p-perf}}} | {{{2pm-perf}}} | {{{3pm-perf}}} |- ! class="gender-header" | f | {{{2sf-perf}}} | {{{3sf-perf}}} | {{{3df-perf}}} | {{{2pf-perf}}} | {{{3pf-perf}}} |- ! rowspan="2" class="tam-header" | non-past (imperfect) indicative<br />{{{الْمُضَارِع الْمَرْفُوع}}} ! class="gender-header" | m | rowspan="2" | {{{1s-impf}}} | {{{2sm-impf}}} | {{{3sm-impf}}} | rowspan="2" | {{{2d-impf}}} | {{{3dm-impf}}} | rowspan="2" | {{{1p-impf}}} | {{{2pm-impf}}} | {{{3pm-impf}}} |- ! class="gender-header" | f | {{{2sf-impf}}} | {{{3sf-impf}}} | {{{3df-impf}}} | {{{2pf-impf}}} | {{{3pf-impf}}} |- ! rowspan="2" class="tam-header" | subjunctive<br />{{{الْمُضَارِع الْمَنْصُوب}}} ! class="gender-header" | m | rowspan="2" | {{{1s-subj}}} | {{{2sm-subj}}} | {{{3sm-subj}}} | rowspan="2" | {{{2d-subj}}} | {{{3dm-subj}}} | rowspan="2" | {{{1p-subj}}} | {{{2pm-subj}}} | {{{3pm-subj}}} |- ! class="gender-header" | f | {{{2sf-subj}}} | {{{3sf-subj}}} | {{{3df-subj}}} | {{{2pf-subj}}} | {{{3pf-subj}}} |- ! rowspan="2" class="tam-header" | jussive<br />{{{الْمُضَارِع الْمَجْزُوم}}} ! class="gender-header" | m | rowspan="2" | {{{1s-juss}}} | {{{2sm-juss}}} | {{{3sm-juss}}} | rowspan="2" | {{{2d-juss}}} | {{{3dm-juss}}} | rowspan="2" | {{{1p-juss}}} | {{{2pm-juss}}} | {{{3pm-juss}}} |- ! class="gender-header" | f | {{{2sf-juss}}} | {{{3sf-juss}}} | {{{3df-juss}}} | {{{2pf-juss}}} | {{{3pf-juss}}} |- ! rowspan="2" class="tam-header" | imperative<br />{{{الْأَمْر}}} ! class="gender-header" | m | rowspan="2" | | {{{2sm-impr}}} | rowspan="2" | | rowspan="2" | {{{2d-impr}}} | rowspan="2" | | rowspan="2" | | {{{2pm-impr}}} | rowspan="2" | |- ! class="gender-header" | f | {{{2sf-impr}}} | {{{2pf-impr}}} ]=] end if data.passive == "impers" or data.passive == "only-impers" then text = text .. [=[ |- ! colspan="12" class="voice-header" | passive voice<br />{{{الْفِعْل الْمَجْهُول}}} |- | colspan="2" class="empty-header" | ! colspan="3" class="number-header" | singular<br />{{{الْمُفْرَد}}} | rowspan="10" class="divider" | ! colspan="2" class="number-header" | dual<br />{{{الْمُثَنَّى}}} | rowspan="10" class="divider" | ! colspan="3" class="number-header" | plural<br />{{{الْجَمْع}}} |- | colspan="2" class="empty-header" | ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} |- ! rowspan="2" class="tam-header" | past (perfect) indicative<br />{{{الْمَاضِي}}} ! class="gender-header" | m | rowspan="2" | &mdash; | &mdash; | {{{3sm-ps-perf}}} | rowspan="2" | &mdash; | &mdash; | rowspan="2" | &mdash; | &mdash; | &mdash; |- ! class="gender-header" | f | &mdash; | &mdash; | &mdash; | &mdash; | &mdash; |- ! rowspan="2" class="tam-header" | non-past (imperfect) indicative<br />{{{الْمُضَارِع الْمَرْفُوع}}} ! class="gender-header" | m | rowspan="2" | &mdash; | &mdash; | {{{3sm-ps-impf}}} | rowspan="2" | &mdash; | &mdash; | rowspan="2" | &mdash; | &mdash; | &mdash; |- ! class="gender-header" | f | &mdash; | &mdash; | &mdash; | &mdash; | &mdash; |- ! rowspan="2" class="tam-header" | subjunctive<br />{{{الْمُضَارِع الْمَنْصُوب}}} ! class="gender-header" | m | rowspan="2" | &mdash; | &mdash; | {{{3sm-ps-subj}}} | rowspan="2" | &mdash; | &mdash; | rowspan="2" | &mdash; | &mdash; | &mdash; |- ! class="gender-header" | f | &mdash; | &mdash; | &mdash; | &mdash; | &mdash; |- ! rowspan="2" class="tam-header" | jussive<br />{{{الْمُضَارِع الْمَجْزُوم}}} ! class="gender-header" | m | rowspan="2" | &mdash; | &mdash; | {{{3sm-ps-juss}}} | rowspan="2" | &mdash; | &mdash; | rowspan="2" | &mdash; | &mdash; | &mdash; |- ! class="gender-header" | f | &mdash; | &mdash; | &mdash; | &mdash; | &mdash; ]=] elseif data.passive then text = text .. [=[ |- ! colspan="12" class="voice-header" | passive voice<br />{{{الْفِعْل الْمَجْهُول}}} |- | colspan="2" class="empty-header" | ! colspan="3" class="number-header" | singular<br />{{{الْمُفْرَد}}} | rowspan="10" class="divider" | ! colspan="2" class="number-header" | dual<br />{{{الْمُثَنَّى}}} | rowspan="10" class="divider" | ! colspan="3" class="number-header" | plural<br />{{{الْجَمْع}}} |- | colspan="2" class="empty-header" | ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} ! class="person-header" | 1<sup>st</sup> person<br />{{{الْمُتَكَلِّم}}} ! class="person-header" | 2<sup>nd</sup> person<br />{{{الْمُخَاطَب}}} ! class="person-header" | 3<sup>rd</sup> person<br />{{{الْغَائِب}}} |- ! rowspan="2" class="tam-header" | past (perfect) indicative<br />{{{الْمَاضِي}}} ! class="gender-header" | m | rowspan="2" | {{{1s-ps-perf}}} | {{{2sm-ps-perf}}} | {{{3sm-ps-perf}}} | rowspan="2" | {{{2d-ps-perf}}} | {{{3dm-ps-perf}}} | rowspan="2" | {{{1p-ps-perf}}} | {{{2pm-ps-perf}}} | {{{3pm-ps-perf}}} |- ! class="gender-header" | f | {{{2sf-ps-perf}}} | {{{3sf-ps-perf}}} | {{{3df-ps-perf}}} | {{{2pf-ps-perf}}} | {{{3pf-ps-perf}}} |- ! rowspan="2" class="tam-header" | non-past (imperfect) indicative<br />{{{الْمُضَارِع الْمَرْفُوع}}} ! class="gender-header" | m | rowspan="2" | {{{1s-ps-impf}}} | {{{2sm-ps-impf}}} | {{{3sm-ps-impf}}} | rowspan="2" | {{{2d-ps-impf}}} | {{{3dm-ps-impf}}} | rowspan="2" | {{{1p-ps-impf}}} | {{{2pm-ps-impf}}} | {{{3pm-ps-impf}}} |- ! class="gender-header" | f | {{{2sf-ps-impf}}} | {{{3sf-ps-impf}}} | {{{3df-ps-impf}}} | {{{2pf-ps-impf}}} | {{{3pf-ps-impf}}} |- ! rowspan="2" class="tam-header" | subjunctive<br />{{{الْمُضَارِع الْمَنْصُوب}}} ! class="gender-header" | m | rowspan="2" | {{{1s-ps-subj}}} | {{{2sm-ps-subj}}} | {{{3sm-ps-subj}}} | rowspan="2" | {{{2d-ps-subj}}} | {{{3dm-ps-subj}}} | rowspan="2" | {{{1p-ps-subj}}} | {{{2pm-ps-subj}}} | {{{3pm-ps-subj}}} |- ! class="gender-header" | f | {{{2sf-ps-subj}}} | {{{3sf-ps-subj}}} | {{{3df-ps-subj}}} | {{{2pf-ps-subj}}} | {{{3pf-ps-subj}}} |- ! rowspan="2" class="tam-header" | jussive<br />{{{الْمُضَارِع الْمَجْزُوم}}} ! class="gender-header" | m | rowspan="2" | {{{1s-ps-juss}}} | {{{2sm-ps-juss}}} | {{{3sm-ps-juss}}} | rowspan="2" | {{{2d-ps-juss}}} | {{{3dm-ps-juss}}} | rowspan="2" | {{{1p-ps-juss}}} | {{{2pm-ps-juss}}} | {{{3pm-ps-juss}}} |- ! class="gender-header" | f | {{{2sf-ps-juss}}} | {{{3sf-ps-juss}}} | {{{3df-ps-juss}}} | {{{2pf-ps-juss}}} | {{{3pf-ps-juss}}} ]=] end text = text .. [=[ |} </div> </div>]=] -- Function used as replace arg of call to rsub(). Replace the -- specified param with its (HTML) value. The param references appear -- as {{{PARAM}}} in the wikicode. Also call tag_text on Arabic text -- appearing as {{{ARABIC-TEXT}}}. local function repl(param) if rfind(param, "^[A-Za-z0-9_-]+$") then return data.forms[param] else return tag_text(param) end end return rsub(text, "{{{([^{}]+)}}}", repl) .. mw.getCurrentFrame():extensionTag{ name = "templatestyles", args = { src = "Template:ar-conj/style.css" } } end return export -- For Vim, so we get 4-space tabs -- vim: set ts=4 sw=4 noet: 14ftqn6mreck21v37j7aifesnz2a67h Template:ar-verb 10 7071 22388 2022-09-26T09:55:24Z EnsiklopediaXylon 3278 Bog cusub: <includeonly>{{#invoke:ar-verb|headword}}</includeonly><noinclude>{{documentation}}</noinclude> 22388 wikitext text/x-wiki <includeonly>{{#invoke:ar-verb|headword}}</includeonly><noinclude>{{documentation}}</noinclude> pycuteewublqidw8c22tyn1td585dpu Module:Arguments 828 7072 22389 2022-09-26T09:57:05Z EnsiklopediaXylon 3278 Bog cusub: -- 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 va... 22389 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 Template:ar-conj 10 7073 22391 2022-09-26T09:59:05Z EnsiklopediaXylon 3278 Bog cusub: <includeonly>{{#invoke:ar-verb|show}}</includeonly><noinclude>{{documentation}}</noinclude> 22391 wikitext text/x-wiki <includeonly>{{#invoke:ar-verb|show}}</includeonly><noinclude>{{documentation}}</noinclude> pq627y7nmt1gv5htc303cdsbznlz2j2 Module:ar-translit 828 7074 22392 2022-09-26T10:03:25Z EnsiklopediaXylon 3278 Bog cusub: -- Authors: Benwing, ZxxZxxZ, Atitarev local export = {} local U = mw.ustring.char local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.match local rsplit = mw.text.split local gcodepoint = mw.ustring.gcodepoint -- assigned below local has_diacritics -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end local zwnj = U(0x200c) -- zero-widt... 22392 Scribunto text/plain -- Authors: Benwing, ZxxZxxZ, Atitarev local export = {} local U = mw.ustring.char local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.match local rsplit = mw.text.split local gcodepoint = mw.ustring.gcodepoint -- assigned below local has_diacritics -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end local zwnj = U(0x200c) -- zero-width non-joiner local alif_madda = U(0x622) local alif_hamza_below = U(0x625) local alif = U(0x627) local taa_marbuuTa = U(0x629) local laam = U(0x644) local waaw = U(0x648) local alif_maqSuura = U(0x649) local yaa = U(0x64A) local fatHataan = U(0x64B) local Dammataan = U(0x64C) local kasrataan = U(0x64D) local fatHa = U(0x64E) local Damma = U(0x64F) local kasra = U(0x650) local shadda = U(0x651) local sukuun = U(0x652) local dagger_alif = U(0x670) local alif_waSl = U(0x671) --local zwj = U(0x200d) -- zero-width joiner local lrm = U(0x200e) -- left-to-right mark local rlm = U(0x200f) -- right-to-left mark local tt = { -- consonants ["ب"]="b", ["ت"]="t", ["ث"]="ṯ", ["ج"]="j", ["ح"]="ḥ", ["خ"]="ḵ", ["د"]="d", ["ذ"]="ḏ", ["ر"]="r", ["ز"]="z", ["س"]="s", ["ش"]="š", ["ص"]="ṣ", ["ض"]="ḍ", ["ط"]="ṭ", ["ظ"]="ẓ", ["ع"]="ʿ", ["غ"]="ḡ", ["ف"]="f", ["ق"]="q", ["ك"]="k", ["ڪ"]="k", ["ل"]="l", ["م"]="m", ["ن"]="n", ["ه"]="h", -- tāʾ marbūṭa (special) - always after a fátḥa (a), silent at the end of -- an utterance, "t" in ʾiḍāfa or with pronounced tanwīn. We catch -- most instances of tāʾ marbūṭa before we get to this stage. [taa_marbuuTa]="t", -- tāʾ marbūṭa = ة -- control characters [zwnj]="-", -- ZWNJ (zero-width non-joiner) -- [zwj]="", -- ZWJ (zero-width joiner) -- rare letters ["پ"]="p", ["چ"]="č", ["ڤ"]="v", ["ڥ"]="v", ["گ"]="g", ["ڨ"]="g", ["ڧ"]="q", ["ڢ"]="f", ["ں"]="n", ["ڭ"]="g", -- semivowels or long vowels, alif, hamza, special letters ["ا"]="ā", -- ʾalif -- hamzated letters ["أ"]="ʾ", -- hamza over alif [alif_hamza_below]="ʾ", -- hamza under alif ["ؤ"]="ʾ", -- hamza over wāw ["ئ"]="ʾ", -- hamza over yā ["ء"]="ʾ", -- hamza on the line -- long vowels [waaw]="w", --"ū" after ḍamma (u) and not before diacritic [yaa]="y", --"ī" after kasra (i) and not before diacritic [alif_maqSuura]="ā", -- ʾalif maqṣūra [alif_madda]="ʾā", -- ʾalif madda [alif_waSl]= "", -- hamzatu l-waṣl [dagger_alif] = "ā", -- ʾalif xanjariyya = dagger ʾalif (Koranic diacritic) -- short vowels, šádda and sukūn [fatHataan]="an", -- fatḥatan [Dammataan]="un", -- ḍammatan [kasrataan]="in", -- kasratan [fatHa]="a", -- fatḥa [Damma]="u", -- ḍamma [kasra]="i", -- kasra -- šadda - doubled consonant [sukuun]="", --sukūn - no vowel -- ligatures ["ﻻ"]="lā", ["ﷲ"]="llāh", -- taṭwīl ["ـ"]="", -- taṭwīl, no sound -- numerals ["١"]="1", ["٢"]="2", ["٣"]="3", ["٤"]="4", ["٥"]="5", ["٦"]="6", ["٧"]="7", ["٨"]="8", ["٩"]="9", ["٠"]="0", -- punctuation (leave on separate lines) ["؟"]="?", -- question mark ["«"]='“', -- quotation mark ["»"]='”', -- quotation mark ["٫"]=".", -- decimal point ["٬"]=",", -- thousands separator ["٪"]="%", -- percent sign ["،"]=",", -- comma ["؛"]=";" -- semicolon } local sun_letters = "تثدذرزسشصضطظلن" -- For use in implementing sun-letter assimilation of ال (al-) local ttsun1 = {} local ttsun2 = {} local ttsun3 = {} for cp in gcodepoint(sun_letters) do local ch = U(cp) ttsun1[ch] = tt[ch] ttsun2["l-" .. ch] = tt[ch] .. "-" .. ch table.insert(ttsun3, tt[ch]) end -- For use in implementing elision of al- local sun_letters_tr = table.concat(ttsun3, "") local consonants_needing_vowels = "بتثجحخدذرزسشصضطظعغفقكڪلمنهپچڤگڨڧڢںڭأإؤئءةﷲ" -- consonants on the right side; includes alif madda local rconsonants = consonants_needing_vowels .. "ويآ" -- consonants on the left side; does not include alif madda local lconsonants = consonants_needing_vowels .. "وي" -- Arabic semicolon, comma, question mark; taṭwīl; period, exclamation point, -- single quote for bold/italic, double quotes for quoted material local punctuation = "؟،؛" .. "ـ" .. ".!'" .. '"' local space_like = "%s'" .. '"' local space_like_class = "[" .. space_like .. "]" local numbers = "١٢٣٤٥٦٧٨٩٠" local before_diacritic_checking_subs = { ------------ transformations prior to checking for diacritics -------------- -- convert llh for allāh into ll+shadda+dagger-alif+h {"لله", "للّٰه"}, -- shadda+short-vowel (including tanwīn vowels, i.e. -an -in -un) gets -- replaced with short-vowel+shadda during NFC normalisation, which -- MediaWiki does for all Unicode strings; however, it makes the -- transliteration process inconvenient, so undo it. {"([" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. dagger_alif .. "])" .. shadda, shadda .. "%1"}, -- ignore alif jamīla (otiose alif in 3pl verb forms) -- #1: handle ḍamma + wāw + alif (final -ū) {Damma .. waaw .. alif, Damma .. waaw}, -- #2: handle wāw + sukūn + alif (final -w in -aw in defective verbs) -- this must go before the generation of w, which removes the waw here. {waaw .. sukuun .. alif, waaw .. sukuun}, -- ignore final alif or alif maqṣūra following fatḥatan (e.g. in accusative -- singular or words like عَصًا "stick" or هُدًى "guidance"; this is called -- tanwin nasb) {fatHataan .. "[" .. alif .. alif_maqSuura .. "]", fatHataan}, -- same but with the fatḥatan placed over the alif or alif maqṣūra -- instead of over the previous letter (considered a misspelling but -- common) {"[" .. alif .. alif_maqSuura .. "]" .. fatHataan, fatHataan}, -- tāʾ marbūṭa should always be preceded by fatḥa, alif, alif madda or -- dagger alif; infer fatḥa if not {"([^" .. fatHa .. alif .. alif_madda .. dagger_alif .. "])" .. taa_marbuuTa, "%1" .. fatHa .. taa_marbuuTa}, -- similarly for alif between consonants, possibly marked with shadda -- (does not apply to initial alif, which is silent when not marked with -- hamza, or final alif, which might be pronounced as -an) {"([" .. lconsonants .. "]" .. shadda .. "?)" .. alif .. "([" .. rconsonants .. "])", "%1" .. fatHa .. alif .. "%2"}, -- infer fatḥa in case of non-fatḥa + alif/alif-maqṣūra + dagger alif {"([^" .. fatHa .. "])([" .. alif .. alif_maqSuura .. "]" .. dagger_alif .. ")", "%1" .. fatHa .. "%2"}, -- infer kasra in case of hamza-under-alif not + kasra {alif_hamza_below .. "([^" .. kasra .. kasrataan .. "])", alif_hamza_below .. kasra .. "%1"}, -- ignore dagger alif placed over regular alif or alif maqṣūra {"([" .. alif .. alif_maqSuura .. "])" .. dagger_alif, "%1"}, ----------- rest of these concern definite article alif-lām ---------- -- in kasra/ḍamma + alif + lam, make alif into hamzatu l-waṣl, so we -- handle cases like بِالتَّوْفِيق (bi-t-tawfīq) correctly {"([" .. Damma .. kasra .. "])" .. alif .. laam, "%1" .. alif_waSl .. laam}, -- al + consonant + shadda (only recognize word-initially if regular alif): remove shadda {"^(" .. alif .. fatHa .. "?" .. laam .. "[" .. lconsonants .. "])" .. shadda, "%1"}, {"(" .. space_like_class .. alif .. fatHa .. "?" .. laam .. "[" .. lconsonants .. "])" .. shadda, "%1"}, {"(" .. alif_waSl .. fatHa .. "?" .. laam .. "[" .. lconsonants .. "])" .. shadda, "%1"}, -- handle l- hamzatu l-waṣl or word-initial al- {"^" .. alif .. fatHa .. "?" .. laam, "al-"}, {"(" .. space_like_class .. ")" .. alif .. fatHa .. "?" .. laam, "%1al-"}, -- next one for bi-t-tawfīq {"([" .. Damma .. kasra .. "])" .. alif_waSl .. fatHa .. "?" .. laam, "%1-l-"}, -- next one for remaining hamzatu l-waṣl (at beginning of word) {alif_waSl .. fatHa .. "?" .. laam, "l-"}, -- special casing if the l in al- has a shadda on it (as in الَّذِي "that"), -- so we don't mistakenly double the dash {"l%-" .. shadda, "ll"}, -- implement assimilation of sun letters {"l%-[" .. sun_letters .. "]", ttsun2}, } -- Transliterate the word(s) in TEXT. LANG (the language) and SC (the script) -- are ignored. OMIT_I3RAAB means leave out final short vowels (ʾiʿrāb). -- GRAY_I3RAAB means render transliterate short vowels (ʾiʿrāb) in gray. -- FORCE_TRANSLIT causes even non-vocalized text to be transliterated -- (normally the function checks for non-vocalized text and returns nil, -- since such text is ambiguous in transliteration). function export.tr(text, lang, sc, omit_i3raab, gray_i3raab, force_translit) -- make it possible to call this function from a template if type(text) == "table" then local function f(x) return (x ~= "") and x or nil end text, lang, sc, omit_i3raab, force_translit = f(text.args[1]), f(text.args[2]), f(text.args[3]), f(text.args[4]), f(text.args[5]) end for _, sub in ipairs(before_diacritic_checking_subs) do text = rsub(text, sub[1], sub[2]) end if not force_translit and not has_diacritics(text) then require("Module:debug").track("ar-translit/lacking diacritics") return nil end ------------ transformations after checking for diacritics -------------- -- Replace plain alif with hamzatu l-waṣl when followed by fatḥa/ḍamma/kasra. -- Must go after handling of initial al-, which distinguishes alif-fatḥa -- from alif w/hamzatu l-waṣl. Must go before generation of ū and ī, which -- eliminate the ḍamma/kasra. text = rsub(text, alif .. "([" .. fatHa .. Damma .. kasra .. "])", alif_waSl .. "%1") -- ḍamma + waw not followed by a diacritic is ū, otherwise w text = rsub(text, Damma .. waaw .. "([^" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. shadda .. sukuun .. dagger_alif .. "])", "ū%1") text = rsub(text, Damma .. waaw .. "$", "ū") -- kasra + yaa not followed by a diacritic (or ū from prev step) is ī, otherwise y text = rsub(text, kasra .. yaa .. "([^" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. shadda .. sukuun .. dagger_alif .. "ū])", "ī%1") text = rsub(text, kasra .. yaa .. "$", "ī") -- convert shadda to double letter. text = rsub(text, "(.)" .. shadda, "%1%1") if not omit_i3raab and gray_i3raab then -- show ʾiʿrāb grayed in transliteration -- decide whether to gray out the t in ﺓ. If word begins with al- or l-, yes. -- Otherwise, no if word ends in a/i/u, yes if ends in an/in/un. text = rsub(text, "^(a?l%-[^%s]+)" .. taa_marbuuTa .. "([" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. "])", '%1<span style="color: #888888">t</span>%2') text = rsub(text, "(" .. space_like_class .. "a?l%-[^%s]+)" .. taa_marbuuTa .. "([" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. "])", '%1<span style="color: #888888">t</span>%2') text = rsub(text, taa_marbuuTa .. "([" .. fatHa .. Damma .. kasra .. "])", "t%1") text = rsub(text, taa_marbuuTa .. "([" .. fatHataan .. Dammataan .. kasrataan .. "])", '<span style="color: #888888">t</span>%1') text = rsub(text, ".", { [fatHataan] = '<span style="color: #888888">an</span>', [kasrataan] = '<span style="color: #888888">in</span>', [Dammataan] = '<span style="color: #888888">un</span>' }) text = rsub(text, "([" .. fatHa .. Damma .. kasra .. "])(" .. space_like_class .. ")", function(vowel, space) vowel_repl = { [fatHa] = '<span style="color: #888888">a</span> ', [kasra] = '<span style="color: #888888">i</span> ', [Damma] = '<span style="color: #888888">u</span> ' } return vowel_repl[vowel] .. space end ) text = rsub(text, "[" .. fatHa .. Damma .. kasra .. "]$", { [fatHa] = '<span style="color: #888888">a</span>', [kasra] = '<span style="color: #888888">i</span>', [Damma] = '<span style="color: #888888">u</span>' }) text = rsub(text, '</span><span style="color: #888888">', "") elseif omit_i3raab then -- omit ʾiʿrāb in transliteration text = rsub(text, "[" .. fatHataan .. Dammataan .. kasrataan .. "]", "") text = rsub(text, "[" .. fatHa .. Damma .. kasra .. "](" .. space_like_class .. ")", "%1") text = rsub(text, "[" .. fatHa .. Damma .. kasra .. "]$", "") end -- tāʾ marbūṭa should not be rendered by -t if word-final even when -- ʾiʿrāb (desinential inflection) is shown; instead, use (t) before -- whitespace, nothing when final; but render final -ﺍﺓ and -ﺁﺓ as -āh, -- consistent with Wehr's dictionary -- Left-to-right or right-to-left mark at end of text will prevent tāʾ marbūṭa -- from being transliterated correctly. text = string.gsub(text, lrm, "") text = string.gsub(text, rlm, "") text = rsub(text, "([" .. alif .. alif_madda .. "])" .. taa_marbuuTa .. "$", "%1h") -- Ignore final tāʾ marbūṭa (it appears as "a" due to the preceding -- short vowel). Need to do this after graying or omitting word-final -- ʾiʿrāb. text = rsub(text, taa_marbuuTa .. "$", "") text = rsub(text, taa_marbuuTa .. "(%p)", "%1") if not omit_i3raab then -- show ʾiʿrāb in transliteration text = rsub(text, taa_marbuuTa .. "(" .. space_like_class .. ")", "(t)%1") else -- When omitting ʾiʿrāb, show all non-absolutely-final instances of -- tāʾ marbūṭa as (t), with trailing ʾiʿrāb omitted. text = rsub(text, taa_marbuuTa, "(t)") end -- tatwīl should be rendered as - at beginning or end of word. It will -- be rendered as nothing in the middle of a word (FIXME, do we want -- this?) text = rsub(text, "^ـ", "-") text = rsub(text, "(" .. space_like_class .. ")ـ", "%1-") text = rsub(text, "ـ$", "-") text = rsub(text, "ـ(" .. space_like_class .. ")", "-%1") -- Now convert remaining Arabic chars according to table. text = rsub(text, ".", tt) text = rsub(text, "aā", "ā") -- Implement elision of al- after a final vowel. We do this -- conservatively, only handling elision of the definite article rather -- than elision in other cases of hamzat al-waṣl (e.g. form-I imperatives -- or form-VII and above verbal nouns) partly because elision in -- these cases isn't so common in MSA and partly to avoid excessive -- elision in case of words written with initial bare alif instead of -- properly with hamzated alif. Possibly we should reconsider. -- At the very least we currently don't handle elision of الَّذِي (allaḏi) -- correctly because we special-case it to appear without the hyphen; -- perhaps we should reconsider that. text = rsub(text, "([aiuāīū]'* +'*)a([" .. sun_letters_tr .. "]%-)", "%1%2") if gray_i3raab then text = rsub(text, "([aiuāīū]'*</span>'* +'*)a([" .. sun_letters_tr .. "]%-)", "%1%2") end -- Special-case the transliteration of allāh, without the hyphen text = rsub(text, "^(a?)l%-lāh", "%1llāh") text = rsub(text, "(" .. space_like_class .. "a?)l%-lāh", "%1llāh") return text end local has_diacritics_subs = { -- FIXME! What about lam-alif ligature? -- remove punctuation and shadda -- must go before removing final consonants {"[" .. punctuation .. shadda .. "]", ""}, -- Remove consonants at end of word or utterance, so that we're OK with -- words lacking iʿrāb (must go before removing other consonants). -- If you want to catch places without iʿrāb, comment out the next two lines. {"[" .. lconsonants .. "]$", ""}, {"[" .. lconsonants .. "](" .. space_like_class .. ")", "%1"}, -- remove consonants (or alif) when followed by diacritics -- must go after removing shadda -- do not remove the diacritics yet because we need them to handle -- long-vowel sequences of diacritic + pseudo-consonant {"[" .. lconsonants .. alif .. "]([" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. sukuun .. dagger_alif .. "])", "%1"}, -- the following two must go after removing consonants w/diacritics because -- we only want to treat vocalic wāw/yā' in them (we want to have removed -- wāw/yā' followed by a diacritic) -- remove ḍamma + wāw {Damma .. waaw, ""}, -- remove kasra + yā' {kasra .. yaa, ""}, -- remove fatḥa/fatḥatan + alif/alif-maqṣūra {"[" .. fatHataan .. fatHa .. "][" .. alif .. alif_maqSuura .. "]", ""}, -- remove diacritics {"[" .. fatHataan .. Dammataan .. kasrataan .. fatHa .. Damma .. kasra .. sukuun .. dagger_alif .. "]", ""}, -- remove numbers, hamzatu l-waṣl, alif madda {"[" .. numbers .. "ٱ" .. "آ" .. "]", ""}, -- remove non-Arabic characters {"[^" .. U(0x0600) .. "-" .. U(0x06FF) .. U(0x0750) .. "-" .. U(0x077F) .. U(0x08A0) .. "-" .. U(0x08FF) .. U(0xFB50) .. "-" .. U(0xFDFF) .. U(0xFE70) .. "-" .. U(0xFEFF) .. "]", ""} } -- declared as local above function has_diacritics(text) local count text, count = rsubn(text, "[" .. lrm .. rlm .. "]", "") if count > 0 then require("Module:debug").track("ar-translit/lrm or rlm") end for _, sub in ipairs(has_diacritics_subs) do text = rsub(text, unpack(sub)) end return #text == 0 end -- Return true if transliteration TR is an irregular transliteration of -- ARABIC. Return false if ARABIC can't be transliterated. For purposes of -- establishing regularity, hyphens are ignored and word-final tāʾ marbūṭa -- can be transliterated as "(t)", "" or "t". function export.irregular_translit(arabic, tr) if not arabic or arabic == "" or not tr or tr == "" then return false end local regtr = export.tr(arabic) if not regtr or regtr == tr then return false end local arwords = rsplit(arabic, " ") local regwords = rsplit(regtr, " ") local words = rsplit(tr, " ") if #regwords ~= #words or #regwords ~= #arwords then return true end for i=1,#regwords do local regword = regwords[i] local word = words[i] local arword = arwords[i] -- Resolve final (t) in auto-translit to t, h or nothing if rfind(regword, "%(t%)$") then regword = rfind(word, "āh$") and rsub(regword, "%(t%)$", "h") or rfind(word, "t$") and rsub(regword, "%(t%)$", "t") or rsub(regword, "%(t%)$", "") end -- Resolve clitics + short a + alif-lām, which may get auto-transliterated -- to contain long ā, to short a if the manual translit has it; note -- that currently in cases with assimilated l, the auto-translit will -- fail, so we won't ever get here and don't have to worry about -- auto-translit l against manual-translit assimilated char. local clitic_chars = "^[وفكل]" -- separate line to avoid L2R display weirdness if rfind(arword, clitic_chars .. fatHa .. "?[" .. alif .. alif_waSl .. "]" .. laam) and rfind(word, "^[wfkl]a%-") then regword = rsub(regword, "^([wfkl])ā", "%1a") end -- Ignore hyphens when comparing if rsub(regword, "%-", "") ~= rsub(word, "%-", "") then return true end end return false end return export -- For Vim, so we get 4-space tabs -- vim: set ts=4 sw=4 noet: j69fhdy3mp3kmkqyxn0xpcthyjqhug9 Module:ar-utilities 828 7075 22393 2022-09-26T10:05:09Z EnsiklopediaXylon 3278 Bog cusub: local m_links = require("Module:links") local m_utilities = require("Module:utilities") local ar_translit = require("Module:ar-translit") local m_headword = require("Module:headword") local export = {} local lang = require("Module:languages").getByCode("ar") local sc = require("Module:scripts").getByCode("Arab") local rfind = mw.ustring.find local rmatch = mw.ustring.match local rsubn = mw.ustring.gsub local rsplit = mw.text.split local u = mw.ustring.char local consonants =... 22393 Scribunto text/plain local m_links = require("Module:links") local m_utilities = require("Module:utilities") local ar_translit = require("Module:ar-translit") local m_headword = require("Module:headword") local export = {} local lang = require("Module:languages").getByCode("ar") local sc = require("Module:scripts").getByCode("Arab") local rfind = mw.ustring.find local rmatch = mw.ustring.match local rsubn = mw.ustring.gsub local rsplit = mw.text.split local u = mw.ustring.char local consonants = "[بتثجحخدذرزسشصضطظعغقفلكمنهويء]" local function ine(x) -- If Not Empty if x == "" then return nil else return x end end -- version of rsubn() that discards all but the first return value function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- synthesize a frame so that exported functions meant to be called from -- templates can be called from the debug console. function debug_frame(parargs, args) return {args = args, getParent = function() return {args = parargs} end} end function export.catfix() return m_utilities.catfix(lang, sc) end --------------------------- hamza processing ------------------------------ -- hamza variants local HAMZA = u(0x0621) -- hamza on the line (stand-alone hamza) = ء local HAMZA_ON_ALIF = u(0x0623) local HAMZA_ON_WAW = u(0x0624) local HAMZA_UNDER_ALIF = u(0x0625) local HAMZA_ON_YA = u(0x0626) local HAMZA_ANY = "[" .. HAMZA .. HAMZA_ON_ALIF .. HAMZA_UNDER_ALIF .. HAMZA_ON_WAW .. HAMZA_ON_YA .. "]" local HAMZA_PH = u(0xFFF0) -- hamza placeholder -- diacritics local A = u(0x064E) -- fatḥa local AN = u(0x064B) -- fatḥatān (fatḥa tanwīn) local U = u(0x064F) -- ḍamma local UN = u(0x064C) -- ḍammatān (ḍamma tanwīn) local I = u(0x0650) -- kasra local IN = u(0x064D) -- kasratān (kasra tanwīn) local SK = u(0x0652) -- sukūn = no vowel local SH = u(0x0651) -- šadda = gemination of consonants local DAGGER_ALIF = u(0x0670) local DIACRITIC_ANY_BUT_SH = "[" .. A .. I .. U .. AN .. IN .. UN .. SK .. DAGGER_ALIF .. "]" -- Pattern matching short vowels local AIU = "[" .. A .. I .. U .. "]" -- Pattern matching any diacritics that may be on a consonant local DIACRITIC = SH .. "?" .. DIACRITIC_ANY_BUT_SH -- various letters and signs local ALIF = u(0x0627) -- ʾalif = ا local AMAQ = u(0x0649) -- ʾalif maqṣūra = ى local AMAD = u(0x0622) -- ʾalif madda = آ local WAW = u(0x0648) -- wāw = و local YA = u(0x064A) -- yā = ي function reorder_shadda(text) -- shadda+short-vowel (including tanwīn vowels, i.e. -an -in -un) gets -- replaced with short-vowel+shadda during NFC normalisation, which -- MediaWiki does for all Unicode strings; however, it makes the -- detection process inconvenient, so undo it. (For example, the code in -- remove_in would fail to detect the -in in مُتَرَبٍّ because the shadda -- would come after the -in.) text = rsub(text, "(" .. DIACRITIC_ANY_BUT_SH .. ")" .. SH, SH .. "%1") return text end local hamza_subs = { --------------------------- handle initial hamza -------------------------- -- put initial hamza on a seat according to following vowel. {"^" .. HAMZA_PH .. "([" .. I .. YA .. "])", HAMZA_UNDER_ALIF .. "%1"}, {" " .. HAMZA_PH .. "([" .. I .. YA .. "])", " " .. HAMZA_UNDER_ALIF .. "%1"}, {"^" .. HAMZA_PH, HAMZA_ON_ALIF}, -- if no vowel, assume a {" " .. HAMZA_PH, " " .. HAMZA_ON_ALIF}, -- if no vowel, assume a ----------------------------- handle final hamza -------------------------- -- "final" hamza may be followed by a short vowel or tanwīn sequence -- use a previous short vowel to get the seat {"(" .. AIU .. ")(" .. HAMZA_PH .. ")(" .. DIACRITIC .. "?)$", function(v, ham, diacrit) ham = v == I and HAMZA_ON_YA or v == U and HAMZA_ON_WAW or HAMZA_ON_ALIF return v .. ham .. diacrit end }, {"(" .. AIU .. ")(" .. HAMZA_PH .. ")(" .. DIACRITIC .. "? )", function(v, ham, diacrit) ham = v == I and HAMZA_ON_YA or v == U and HAMZA_ON_WAW or HAMZA_ON_ALIF return v .. ham .. diacrit end }, -- else hamza is on the line {HAMZA_PH .. "(" .. DIACRITIC .. "?)$", HAMZA .. "%1"}, ---------------------------- handle medial hamza -------------------------- -- if long vowel or diphthong precedes, we need to ignore it. {"([" .. AMAD .. ALIF .. WAW .. YA .. "]" .. SK .. "?)(" .. HAMZA_PH .. ")(" .. SH .. "?)([^ ])", function(prec, ham, shad, v2) ham = (v2 == I or v2 == YA) and HAMZA_ON_YA or (v2 == U or v2 == WAW) and HAMZA_ON_WAW or rfind(prec, YA) and HAMZA_ON_YA or HAMZA return prec .. ham ..shad .. v2 end }, -- otherwise, seat of medial hamza relates to vowels on one or both sides. {"([^ ])(" .. HAMZA_PH .. ")(" .. SH .. "?)(" .. AN .. "?[^ ])", function(v1, ham, shad, v2) ham = (v1 == I or v2 == I or v2 == YA) and HAMZA_ON_YA or (v1 == U or v2 == U or v2 == WAW) and HAMZA_ON_WAW or -- special exception for the accusative ending, in words like -- جُزْءًا (juzʾan). By the rules of Thackston pp. 281-282 a -- hamza-on-alif should appear, but that would result in -- two alifs in a row, which is generally forbidden. -- According to Haywood/Nahmad pp. 114-115, after sukūn before -- the accusative ending (including when a pronominal suffix -- follows) hamza is written on yāʾ if the previous letter -- is connecting, else on the line. The only examples they -- give involve preceding non-connecting z (جُزْءًا juzʾan and -- (جُزْءَهُ juzʾahu) and preceding diphthongs, with the only -- connecting letter being yāʾ, where we have hamza-on-yāʾ -- anyway by the preceding regexp. Haywood/Nahmad's rule seems -- too complicated, and since it conflicts with Thackston, -- we only implement the case where otherwise two alifs would -- appear with the indefinite accusative ending. v2 == AN .. ALIF and HAMZA or HAMZA_ON_ALIF return v1 .. ham .. shad .. v2 end }, --------------------------- handle alif madda ----------------------------- {HAMZA_ON_ALIF .. A .. "?" .. ALIF, AMAD}, ----------------------- catch any remaining hamzas ------------------------ {HAMZA_PH, HAMZA} } function export.process_hamza(term) -- convert HAMZA_PH into appropriate hamza seat for _, sub in ipairs(hamza_subs) do term = rsub(term, sub[1], sub[2]) end -- sequence of hamza-on-wāw + wāw is problematic and leads to a preferred -- alternative with some other type of hamza, as well as the original -- sequence; sequence of wāw + hamza-on-wāw + wāw is especially problematic -- and leads to two different alternatives with the original sequence not -- one of them if rfind(term, WAW .. "ؤُو") then return {rsub(term, WAW .. "ؤُو", WAW .. "ئُو"), rsub(term, WAW .. "ؤُو", WAW .. "ءُو")} elseif rfind(term, YA .. "ؤُو") then return {rsub(term, YA .. "ؤُو", YA .. "ئُو"), term} elseif rfind(term, ALIF .. "ؤُو") then -- Here John Mace "Arabic Verbs" is inconsistent. In past-tense parts, -- the preferred alternative has hamza on the line, whereas in -- non-past parts the preferred alternative has hamza-on-yāʾ even -- though the sequence of vowels is identical. It's too complicated to -- propagate information about tense through to here so pick one. return {rsub(term, ALIF .. "ؤُو", ALIF .. "ئُو"), term} elseif rfind(term, A .. "ؤُو") then return {rsub(term, A .. "ؤُو", A .. HAMZA_ON_ALIF .. U .. WAW), term} -- no alternative spelling in sequence of U + hamza-on-wāw + U + wāw; -- sequence of I + hamza-on-wāw + U + wāw does not occur (has -- hamza-on-yāʾ instead) else return {term} end end ----------------------------------- misc junk --------------------------------- local LRM = u(0x200E) -- left-to-right mark local function link(term, tr, gloss, face, alt) if word == "" or word == "&mdash;" then return word else return m_links.full_link( { term = term, alt = alt, lang = lang, tr = tr, sc = sc, gloss = gloss }, face ) end end local function format_genders(lang, sc, genders) if genders and #genders > 0 then local gen = require("Module:gender and number") return "&nbsp;" .. gen.format_list(genders, lang) else return "" end end local ordinal = { "first", "second", "third", "fourth", "fifth" } local function hamzaError(rootTable, output) for i, letter in pairs(rootTable) do if not rfind(letter, consonants) then if rfind(letter, "[أإؤئ]") then table.insert(output, '<span class="previewonly" style="font-size: small;">[Seated hamzas, such as "' .. letter .. '", are not allowed in the names of roots. Use bare hamza, "&rlm;<span lang="ar">ء</span>&lrm;".]</span>') require("Module:debug").track("ar-root/hamza-error") -- [[Special:WhatLinksHere/Template:tracking/ar-root/hamza-error]] else error(letter .. ", the " .. ordinal[i] .. " letter in the category name, is not a consonant.") end end end end local function validateRoot(rootTable, joined_root) if type(rootTable) ~= "table" then error("rootTable is not a table", 2) end for i, letter in ipairs(rootTable) do if mw.ustring.len(letter) > 1 then error('"' .. letter .. '", the ' .. ordinal[i] .. ' letter in the root "' .. joined_root .. '" should be a single letter.') end end end function export.ar_root(frame) local output = {} local categories = {} local title = mw.title.getCurrentTitle() local fulltitle = title.fullText local pagename = title.text local namespace = title.nsText local params = { [1] = {}, [2] = {}, [3] = {}, [4] = {}, ["nocat"] = { type = "boolean", default = false }, ["plain"] = { type = "boolean", default = false }, ["t"] = {}, ["gloss"] = { alias_of = "t" }, ["face"] = { default = "term" }, ["notext"] = { type = "boolean", default = false }, ["nolink"] = { type = "boolean", default = false }, } local args = require("Module:parameters").process(frame:getParent().args, params) local rootLetters = {} if not args[1] and namespace == "Template" then rootLetters = { "ك", "ت", "ب" } elseif args[1] and args[2] then rootLetters = { args[1], args[2], args[3], args[4] } elseif args[1] then rootLetters = rsplit(args[1], " ") else rootLetters = rsplit(fulltitle, " ") end hamzaError(rootLetters, output) local joined_root = table.concat(rootLetters, " ") validateRoot(rootLetters, joined_root) local joined_tr = ar_translit.tr(table.concat(rootLetters, "-"), lang, sc, nil, nil, "force") or "-" if fulltitle == joined_root then table.insert(output, m_headword.full_headword({lang = lang, sc = sc, pos_category = "roots", categories = {}, heads = { joined_root }, translits = { joined_tr }}) ) table.insert(categories, "[[Category:Arabic roots|" .. (ine(args["sort"]) or joined_root) .. "]]") if args[1] then require("Module:debug").track("ar-root") -- [[Special:WhatLinksHere/Template:tracking/ar-root]] end else if sc:countCharacters(pagename) < mw.ustring.len(pagename) - 2 then require("Module:debug").track("ar-root/title-not-ar") -- [[Special:WhatLinksHere/Template:tracking/ar-root/title-not-ar]] if not args["nocat"] then require("Module:debug").track("ar-root/title-not-ar/cat") -- [[Special:WhatLinksHere/Template:tracking/ar-root/title-not-ar/cat]] end end local link_text if args["nolink"] then link_text = link(nil, joined_tr, ine(args["gloss"]), args["face"], joined_root) else link_text = link(joined_root, joined_tr, ine(args["gloss"]), args["face"] ) end table.insert(output, link_text) table.insert(categories, m_utilities.format_categories( { "Arabic terms belonging to the root " .. joined_root }, lang) ) end if args["plain"] then return joined_root elseif args["nocat"] then return table.concat(output) elseif args["notext"] then return table.concat(categories) else return table.concat(output) .. table.concat(categories) end end function export.ar_rootbox(frame) local output = {} local categories = {} local title = mw.title.getCurrentTitle() local fulltitle = title.fullText local pagename = title.text local namespace = title.nsText local params = { [1] = {}, ["nocat"] = {type = "boolean"}, ["plain"] = {type = "boolean"}, ["t"] = {}, ["gloss"] = {alias_of = "t"}, ["notext"] = {type = "boolean"}, ["nolink"] = {type = "boolean"}, ["sort"] = {}, ["face"] = {} } local args = require("Module:parameters").process(frame:getParent().args, params) local rootLetters = {} if not args[1] and namespace == "Template" then rootLetters = { "ك", "ت", "ب" } elseif args[1] and args[2] then rootLetters = { args[1], args[2], args[3], args[4] } elseif args[1] then rootLetters = rsplit(args[1], " ") else rootLetters = rsplit(fulltitle, " ") end hamzaError(rootLetters, output) local joined_root = table.concat(rootLetters, " ") validateRoot(rootLetters, joined_root) local joined_tr = ar_translit.tr(table.concat(rootLetters, "-"), lang, sc, nil, nil, "force") or "-" if fulltitle == joined_root then table.insert(output, m_headword.full_headword( { lang = lang, sc = sc, pos_category = "roots", categories = {}, heads = {joined_root} })) table.insert(categories, "[[Category:Arabic roots|" .. (args["sort"] or joined_root) .. "]]") if args["nocat"] then return table.concat(output) else return table.concat(output) .. table.concat(categories) end else local link_text if args["nolink"] then link_text = link(nil, joined_tr, args["gloss"], args["face"], joined_root) else link_text = link(joined_root, joined_tr, args["gloss"], args["face"]) end table.insert(output, link_text) table.insert(categories, m_utilities.format_categories( {"Arabic terms belonging to the root " .. joined_root}, lang)) if args["nocat"] then return table.concat(output) elseif args["plain"] then return table.concat(output) else return "<table class=\"wikitable\" style=\"float: right; clear: right; text-align: center;\"><tr><th>[[w:Semitic root|Root]]</th></tr><tr><td>" .. link_text .. "</td></tr></table>" .. table.concat(categories) end end end function export.ar_root2(parargs, args) return export.ar_root(debug_frame(parargs, args)) end -- Used in {{ar-adj-in}} so that we can specify a full lemma rather than -- requiring the user to truncate the -in ending. FIXME: Move ar-adj-in -- into Lua. function export.remove_in(frame) local lemma = frame.args[1] or error("Lemma required.") return rsub(reorder_shadda(lemma), IN .. "$", "") end -- Used in {{ar-adj-an}} so that we can specify a full lemma rather than -- requiring the user to truncate the -an ending. FIXME: Move ar-adj-an -- into Lua. function export.remove_an(frame) local lemma = frame.args[1] or error("Lemma required.") return rsub(reorder_shadda(lemma), AN .. AMAQ .. "$", "") end -- Compare two words and find the alternation pattern (vowel changes, prefixes, suffixes etc.) -- Still a WIP, doesn't work correctly yet. function export.find_pattern(word1, word2) return nil end function export.etymology(frame) local text, categories = {}, {} local linkText local frame_params = { [1] = { required = true }, } local frame_args = require("Module:parameters").process(frame.args, frame_params) local anchor = frame_args[1] local data = { ["color adjective"] = { anchor = "Color or defect adjectives", text = "color adjective", categories = { "color/defect adjectives" }, }, ["defect adjective"] = { anchor = "Color or defect adjectives", text = "defect adjective", categories = { "color/defect adjectives" }, }, } local params = { [1] = {}, ["nocat"] = { type = boolean, default = false }, ["lc"] = { type = boolean, default = false }, ["nocap"] = { alias_of = "lc" }, ["notext"] = { type = boolean, default = false}, } local args = require("Module:parameters").process(frame:getParent().args, params) if anchor and data[anchor] then local data = data[anchor] anchor = data.anchor or error('The data table does not include an anchor for "' .. anchor .. '".') linkText = data.text or error('The data table does not include link text for "' .. anchor .. '".') if not args.lc then linkText = rsubn(linkText, "^%a", function(a) return mw.ustring.upper(a) end) end if not args.notext then table.insert(text, "[[Appendix:Arabic nominals#" .. anchor .. "|" .. linkText .. "]]") end if not args.nocat then table.insert(categories, m_utilities.format_categories(data.categories, lang) ) end else error('The anchor "' .. tostring(anchor) .. '" is not found in the list of anchors.') end return table.concat(text) .. table.concat(categories) end return export qwvqzl4u329xpeyo431ikw7ynpabtdw Module:ar-nominals 828 7076 22394 2022-09-26T10:06:11Z EnsiklopediaXylon 3278 Bog cusub: -- Author: Benwing, based on early version by CodeCat. --[[ FIXME: Nouns/adjectives to create to exemplify complex declensions: -- riḍan (رِضًا or رِضًى) --]] local m_utilities = require("Module:utilities") local m_links = require("Module:links") local ar_utilities = require("Module:ar-utilities") local lang = require("Module:languages").getByCode("ar") local u = mw.ustring.char local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.m... 22394 Scribunto text/plain -- Author: Benwing, based on early version by CodeCat. --[[ FIXME: Nouns/adjectives to create to exemplify complex declensions: -- riḍan (رِضًا or رِضًى) --]] local m_utilities = require("Module:utilities") local m_links = require("Module:links") local ar_utilities = require("Module:ar-utilities") local lang = require("Module:languages").getByCode("ar") local u = mw.ustring.char local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.match local rsplit = mw.text.split -- This is used in place of a transliteration when no manual -- translit is specified and we're unable to automatically generate -- one (typically because some vowel diacritics are missing). local BOGUS_CHAR = u(0xFFFD) -- hamza variants local HAMZA = u(0x0621) -- hamza on the line (stand-alone hamza) = ء local HAMZA_ON_ALIF = u(0x0623) local HAMZA_ON_W = u(0x0624) local HAMZA_UNDER_ALIF = u(0x0625) local HAMZA_ON_Y = u(0x0626) local HAMZA_ANY = "[" .. HAMZA .. HAMZA_ON_ALIF .. HAMZA_UNDER_ALIF .. HAMZA_ON_W .. HAMZA_ON_Y .. "]" local HAMZA_PH = u(0xFFF0) -- hamza placeholder -- various letters local ALIF = u(0x0627) -- ʾalif = ا local AMAQ = u(0x0649) -- ʾalif maqṣūra = ى local AMAD = u(0x0622) -- ʾalif madda = آ local TAM = u(0x0629) -- tāʾ marbūṭa = ة local T = u(0x062A) -- tāʾ = ت local HYPHEN = u(0x0640) local N = u(0x0646) -- nūn = ن local W = u(0x0648) -- wāw = و local Y = u(0x064A) -- yā = ي -- diacritics local A = u(0x064E) -- fatḥa local AN = u(0x064B) -- fatḥatān (fatḥa tanwīn) local U = u(0x064F) -- ḍamma local UN = u(0x064C) -- ḍammatān (ḍamma tanwīn) local I = u(0x0650) -- kasra local IN = u(0x064D) -- kasratān (kasra tanwīn) local SK = u(0x0652) -- sukūn = no vowel local SH = u(0x0651) -- šadda = gemination of consonants local DAGGER_ALIF = u(0x0670) local DIACRITIC_ANY_BUT_SH = "[" .. A .. I .. U .. AN .. IN .. UN .. SK .. DAGGER_ALIF .. "]" -- common combinations local NA = N .. A local NI = N .. I local AH = A .. TAM local AT = A .. T local AA = A .. ALIF local AAMAQ = A .. AMAQ local AAH = AA .. TAM local AAT = AA .. T local II = I .. Y local IIN = II .. N local IINA = II .. NA local IY = II local UU = U .. W local UUN = UU .. N local UUNA = UU .. NA local AY = A .. Y local AW = A .. W local AYSK = AY .. SK local AWSK = AW .. SK local AAN = AA .. N local AANI = AA .. NI local AYN = AYSK .. N local AYNI = AYSK .. NI local AWN = AWSK .. N local AWNA = AWSK .. NA local AYNA = AYSK .. NA local AYAAT = AY .. AAT local UNU = "[" .. UN .. U .. "]" -- optional diacritics/letters local AOPT = A .. "?" local AOPTA = A .. "?" .. ALIF local IOPT = I .. "?" local UOPT = U .. "?" local UNOPT = UN .. "?" local UNUOPT = UNU .. "?" local SKOPT = SK .. "?" -- lists of consonants -- exclude tāʾ marbūṭa because we don't want it treated as a consonant -- in patterns like أَفْعَل local consonants_needing_vowels_no_tam = "بتثجحخدذرزسشصضطظعغفقكلمنهپچڤگڨڧأإؤئء" -- consonants on the right side; includes alif madda local rconsonants_no_tam = consonants_needing_vowels_no_tam .. "ويآ" -- consonants on the left side; does not include alif madda local lconsonants_no_tam = consonants_needing_vowels_no_tam .. "وي" local CONS = "[" .. lconsonants_no_tam .. "]" local CONSPAR = "([" .. lconsonants_no_tam .. "])" local LRM = u(0x200E) --left-to-right mark -- First syllable or so of elative/color-defect adjective local ELCD_START = "^" .. HAMZA_ON_ALIF .. AOPT .. CONSPAR local export = {} -------------------- -- Utility functions -------------------- function ine(x) -- If Not Empty if x == nil then return nil elseif rfind(x, '^".*"$') then local ret = rmatch(x, '^"(.*)"$') return ret elseif rfind(x, "^'.*'$") then local ret = rmatch(x, "^'(.*)'$") return ret elseif x == "" then return nil else return x end end -- Compare two items, recursively comparing arrays. -- FIXME, doesn't work for tables that aren't arrays. function equals(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 equals(value, y[key]) then return false end end return true end return x == y end -- true if array contains item function contains(tab, item) for _, value in pairs(tab) do if equals(value, item) then return true end end return false end -- append to array if element not already present function insert_if_not(tab, item) if not contains(tab, item) then table.insert(tab, item) end end -- version of rsubn() that discards all but the first return value function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- version of rsub() that asserts that a match occurred function assert_rsub(term, foo, bar) local retval, numsub = rsubn(term, foo, bar) assert(numsub > 0) return retval end function make_link(arabic) --return m_links.full_link(nil, arabic, lang, nil, "term", nil, {tr = "-"}, false) return m_links.full_link({lang = lang, alt = arabic}, "term") end function track(page) require("Module:debug").track("ar-nominals/" .. page) return true end ------------------------------------- -- Functions for building inflections ------------------------------------- -- Functions that do the actual inflecting by creating the forms of a basic term. local inflections = {} local max_mods = 9 -- maximum number of modifiers local mod_list = {"mod"} -- list of "mod", "mod2", "mod3", ... for i=2,max_mods do table.insert(mod_list, "mod" .. i) end -- Create and return the 'data' structure that will hold all of the -- generated declensional forms, as well as other ancillary information -- such as the possible numbers, genders and cases the the actual numbers -- and states to store (in 'data.numbers' and 'data.states' respectively). function init_data() -- FORMS contains a table of forms for each inflectional category, -- e.g. "nom_sg_ind" for nouns or "nom_m_sg_ind" for adjectives. The value -- of an entry is an array of alternatives (e.g. different plurals), where -- each alternative is either a string of the form "ARABIC" or -- "ARABIC/TRANSLIT", or an array of such strings (this is used for -- alternative spellings involving different hamza seats, -- e.g. مُبْتَدَؤُون or مُبْتَدَأُون). Alternative hamza spellings are separated -- in display by an "inner separator" (/), while alternatives on -- the level of different plurals are separated by an "outer separator" (;). return {forms = {}, title = nil, categories = {}, allgenders = {"m", "f"}, allstates = {"ind", "def", "con"}, allnumbers = {"sg", "du", "pl"}, states = {}, -- initialized later numbers = {}, -- initialized later engnumbers = {sg="singular", du="dual", pl="plural", coll="collective", sing="singulative", pauc="paucal"}, engnumberscap = {sg="Singular", du="Dual", pl="Plural", coll="Collective", sing="Singulative", pauc="Paucal (3-10)"}, allcases = {"nom", "acc", "gen", "inf"}, allcases_with_lemma = {"nom", "acc", "gen", "inf", "lemma"}, -- index into endings array indicating correct ending for given -- combination of state and case statecases = { ind = {nom = 1, acc = 2, gen = 3, inf = 10, lemma = 13}, def = {nom = 4, acc = 5, gen = 6, inf = 11, lemma = 14}, -- used for a definite adjective modifying a construct-state noun defcon = {nom = 4, acc = 5, gen = 6, inf = 11, lemma = 14}, con = {nom = 7, acc = 8, gen = 9, inf = 12, lemma = 15}, }, } end -- Initialize and return ARGS, ORIGARGS and DATA (see init_data()). -- ARGS is a table of user-supplied arguments, massaged from the original -- arguments by converting empty-string arguments to nil and appending -- translit arguments to their base arguments with a separating slash. -- ORIGARGS is the original table of arguments. function init(origargs) -- Massage arguments by converting empty arguments to nil, and -- "" or '' arguments to empty. local args = {} for k, v in pairs(origargs) do args[k] = ine(v) end -- Further massage arguments by appending translit arguments to the -- corresponding base arguments, with a slash separator, as is expected -- in the rest of the code. -- -- FIXME: We should consider separating translit and base arguments by the -- separators ; , | (used in overrides; see handle_lemma_and_overrides()) -- and matching up individual parts, to allow separate translit arguments -- to be specified for overrides. But maybe not; the point of allowing -- separate translit arguments is for compatibility with headword -- templates such as "ar-noun" and "ar-adj", and those templates don't -- handle override arguments. local function dotr(arg, argtr) if not args[arg] then error("Argument '" .. argtr .."' specified but not corresponding base argument '" .. arg .. "'") end args[arg] = args[arg] .. "/" .. args[argtr] end -- By convention, corresponding to arg 1 is tr; corresponding to -- head2, head3, ... is tr2, tr3, ...; corresponding to -- modhead2, modhead3, ... is modtr2, modtr3, ...; corresponding to -- modNhead2, modNhead3, ... is modNtr2, modNtr3, ..; corresponding to -- all other arguments FOO, FOO2, ... is FOOtr, FOO2tr, ... for k, v in pairs(args) do if k == "tr" then dotr(1, "tr") elseif rfind(k, "tr[0-9]+$") then dotr(assert_rsub(k, "tr([0-9]+)$", "head%1"), k) elseif rfind(k, "tr$") then dotr(assert_rsub(k, "tr$", ""), k) end end -- Construct data. local data = init_data() return args, origargs, data end -- Parse the user-specified state spec and other related arguments. The -- user can specify, using idafaN=, how modifiers are related to previous -- words. The user can also manually specify which states are to appear; -- whether to omit the definite article in the definite state; and -- how/whether to restrict modifiers to a particular state, case or number. -- Normally the modN_* parameters and basestate= do not need to be set -- directly; instead, use idafaN=. It may be necessary to explicitly -- specify state= in the presence of proper nouns or definite-only -- adjectival expressions. NOTE: At the time this function is called, -- data.numbers has not yet been initialized. function parse_state_etc_spec(data, args) local function check(arg, dataval, allvalues) if args[arg] then if not contains(allvalues, args[arg]) then error("For " .. arg .. "=, value '" .. args[arg] .. "' should be one of " .. table.concat(allvalues, ", ")) end data[dataval] = args[arg] end end local function check_boolean(arg, dataval) check(arg, dataval, {"yes", "no"}) if data[dataval] == "yes" then data[dataval] = true elseif data[dataval] == "no" then data[dataval] = false end end -- Make sure no holes in mod values for i=1,(#mod_list)-1 do if args[mod_list[i+1]] and not args[mod_list[i]] then error("Hole in modifier arguments -- " .. mod_list[i+1] .. " present but not " .. mod_list[i]) end end -- FIXME! Remove this once we're sure there are no instances of mod2 -- that haven't been converted to modhead2. if args["mod2"] then track("mod2") end -- Set default value; may be overridden e.g. by arg["state"] or -- by idafaN=. data.states = data.allstates -- List of pairs of idafaN/modN parameters local idafa_mod_list = {{"idafa", "mod"}} for i=2,max_mods do table.insert(idafa_mod_list, {"idafa" .. i, "mod" .. i}) end -- True if the value of an |idafa= param is a valid adjectival modifier -- value. local function valid_adjectival_idafaval(idafaval) return idafaval == "adj" or idafaval == "adj-base" or idafaval == "adj-mod" or rfind(idafaval, "^adj%-mod[0-9]+$") end -- Extract the referent (base or modifier) of an adjectival |idafa= param. -- Assumes the value is valid. local function adjectival_idafaval_referent(idafaval) if idafaval == "adj" then return "base" end return assert_rsub(idafaval, "^adj%-", "") end -- Convert a base/mod spec to an index: 0=base, 1=mod, 2=mod2, etc. local function basemod_to_index(basemod) if basemod == "base" then return 0 end if basemod == "mod" then return 1 end return tonumber(assert_rsub(basemod, "^mod", "")) end -- Recognize idafa spec and handle it. -- We do the following: -- (1) Check that if idafaN= is given, then modN= is also given. -- (2) Check that adjectival modifiers aren't followed by idafa modifiers. -- (3) Check that adjectival modifiers are modifying the base or an -- ʾidāfa modifier, not another adjectival modifier. -- (4) Support idafa values "adj-base", "adj-mod", "adj-mod2", "adj" -- (="adj-base") etc. and check that we're referring to an earlier -- word. -- (5) For ʾidāfa modifiers, set basestate=con, set modN_case=gen, -- set modN_idafa=true, and set modN_number to the number specified -- in the parameter value (e.g. 'sg' or 'def-pl'); and if the -- parameter value specifies a state (e.g. 'def' or 'ind-du'), -- set modN_state= to this value, and if this is the last ʾidāfa -- modifier, also set state= to this value; if this is not the last -- ʾidāfa modifier, set modN_state=con and disallow a state to be -- specified in the parameter value. -- (6) For adjectival modifiers of the base, do nothing. -- (7) For adjectival modifiers of ʾidāfa modifiers, set modN_case=gen; -- set modN_idafa=false; and set modN_number=, modN_numgen= and -- modN_state= to match the values of the idafa modifier. -- error checking and find last ʾidāfa modifier local last_is_idafa = true local last_idafa_mod = "base" for _, idafa_mod in ipairs(idafa_mod_list) do local idafaparam = idafa_mod[1] local mod = idafa_mod[2] local idafaval = args[idafaparam] if idafaval then local paramval = idafaparam .. "=" .. idafaval if not args[mod] then error("'" .. idafaparam .. "' parameter without corresponding '" .. mod .. "' parameter") end if not valid_adjectival_idafaval(idafaval) then -- We're a construct (ʾidāfa) modifier if not last_is_idafa then error("ʾidāfa modifier " .. paramval .. " follows adjectival modifier") end last_idafa_mod = mod else last_is_idafa = false local adjref = adjectival_idafaval_referent(idafaval) if adjref ~= "base" then if basemod_to_index(adjref) >= basemod_to_index(mod) then error(paramval .. " can only refer to an earlier element") end local idafaref = assert_rsub(adjref, "^mod", "idafa") if not args[idafaref] then error(paramval .. " cannot refer to a missing modifier") elseif valid_adjectival_idafaval(args[idafaref]) then error(paramval .. " cannot refer to an adjectival modifier") end end end end end -- Now go through and set all the modN_ data values appropriately. for _, idafa_mod in ipairs(idafa_mod_list) do local idafaparam = idafa_mod[1] local mod = idafa_mod[2] local idafaval = args[idafaparam] if idafaval then local paramval = idafaparam .. "=" .. idafaval local bad_idafa = true if idafaval == "yes" then idafaval = "sg" end if idafaval == "ind-def" or contains(data.allstates, idafaval) then idafaval = idafaval .. "-sg" end if not idafaval then bad_idafa = false elseif valid_adjectival_idafaval(idafaval) then local adjref = adjectival_idafaval_referent(idafaval) if adjref ~= "base" then data[mod .. "_case"] = "gen" data[mod .. "_state"] = data[adjref .. "_state"] -- if agreement is with ind-def, make it def if data[mod .. "_state"] == "ind-def" then data[mod .. "_state"] = "def" end data[mod .. "_number"] = data[adjref .. "_number"] data[mod .. "_numgen"] = data[adjref .. "_numgen"] data[mod .. "_idafa"] = false end bad_idafa = false elseif contains(data.allnumbers, idafaval) then data.basestate = "con" data[mod .. "_case"] = "gen" data[mod .. "_number"] = idafaval data[mod .. "_idafa"] = true if mod ~= last_idafa_mod then data[mod .. "_state"] = "con" end bad_idafa = false elseif rfind(idafaval, "%-") then local state_num = rsplit(idafaval, "%-") -- Support ind-def as a possible value. We set modstate to -- ind-def, which will signal definite agreement with adjectival -- modifiers; then later on we change the value to ind. if #state_num == 3 and state_num[1] == "ind" and state_num[2] == "def" then state_num[1] = "ind-def" state_num[2] = state_num[3] table.remove(state_num) end if #state_num == 2 then local state = state_num[1] local num = state_num[2] if (state == "ind-def" or contains(data.allstates, state)) and contains(data.allnumbers, num) then if mod == last_idafa_mod then if state == "ind-def" then data.states = {"def"} else data.states = {state} end else error(paramval .. " cannot specify a state because it is not the last ʾidāfa modifier") end data.basestate = "con" data[mod .. "_case"] = "gen" data[mod .. "_state"] = state data[mod .. "_number"] = num data[mod .. "_idafa"] = true bad_idafa = false end end end if bad_idafa then error(paramval .. " should be one of yes, def, sg, def-sg, adj, adj-base, adj-mod, adj-mod2 or similar") end end end if args["state"] == "ind-def" then data.states = {"def"} data.basestate = "ind" elseif args["state"] then data.states = rsplit(args["state"], ",") for _, state in ipairs(data.states) do if not contains(data.allstates, state) then error("For state=, value '" .. state .. "' should be one of " .. table.concat(data.allstates, ", ")) end end end -- Now process explicit settings, so that they can override the -- settings based on idafaN=. check("basestate", "basestate", data.allstates) check_boolean("noirreg", "noirreg") check_boolean("omitarticle", "omitarticle") data.prefix = args.prefix for _, mod in ipairs(mod_list) do check(mod .. "state", mod .. "_state", data.allstates) check(mod .. "case", mod .. "_case", data.allcases) check(mod .. "number", mod .. "_number", data.allnumgens) check(mod .. "numgen", mod .. "_numgen", data.allnumgens) check_boolean(mod .. "idafa", mod .. "_idafa") check_boolean(mod .. "omitarticle", mod .. "_omitarticle") data[mod .. "_prefix"] = args[mod .. "prefix"] end -- Make sure modN_numgen is initialized, to modN_number if necessary. -- This simplifies logic in certain places, e.g. call_inflections(). -- Also convert ind-def to ind. for _, mod in ipairs(mod_list) do data[mod .. "_numgen"] = data[mod .. "_numgen"] or data[mod .. "_number"] if data[mod .. "_state"] == "ind-def" then data[mod.. "_state"] = "ind" end end end -- Parse the user-specified number spec. The user can manually specify which -- numbers are to appear. Return true if |number= was specified. function parse_number_spec(data, args) if args["number"] then data.numbers = rsplit(args["number"], ",") for _, num in ipairs(data.numbers) do if not contains(data.allnumbers, num) then error("For number=, value '" .. num .. "' should be one of " .. table.concat(data.allnumbers, ", ")) end end return true else data.numbers = data.allnumbers return false end end -- Determine which numbers will appear using the logic for nouns. -- See comment just below. function determine_noun_numbers(data, args, pls) -- Can manually specify which numbers are to appear, and exactly those -- numbers will appear. Otherwise, if any plurals given, duals and plurals -- appear; else, only singular (on the assumption that the word is a proper -- noun or abstract noun that exists only in the singular); however, -- singular won't appear if "-" given for singular, and similarly for dual. if not parse_number_spec(data, args) then data.numbers = {} local sgarg1 = args[1] local duarg1 = args["d"] if sgarg1 ~= "-" then table.insert(data.numbers, "sg") end if #pls["base"] > 0 then -- Dual appears if either: explicit dual stem (not -) is given, or -- default dual is used and explicit singular stem (not -) is given. if (duarg1 and duarg1 ~= "-") or (not duarg1 and sgarg1 ~= "-") then table.insert(data.numbers, "du") end table.insert(data.numbers, "pl") elseif duarg1 and duarg1 ~= "-" then -- If explicit dual but no plural given, include it. Useful for -- dual tantum words. table.insert(data.numbers, "du") end end end -- For stem STEM, convert to stem-and-type format and insert stem and type -- into RESULTS, checking to make sure it's not already there. SGS is the -- list of singular items to base derived forms off of (masculine or feminine -- as appropriate), an array of length-two arrays of {COMBINED_STEM, TYPE} as -- returned by stem_and_type(); ISFEM is true if this is feminine gender; -- NUM is "sg", "du" or "pl". POS is the part of speech, generally "noun" or -- "adjective". function insert_stems(stem, results, sgs, isfem, num, pos) if stem == "-" then return end for _, sg in ipairs(sgs) do local combined_stem, ty = export.stem_and_type(stem, sg[1], sg[2], isfem, num, pos) insert_if_not(results, {combined_stem, ty}) end end -- Handle manually specified overrides of individual forms. Separate -- outer-level alternants with ; or , or the Arabic equivalents; separate -- inner-level alternants with | (we can't use / because it's already in -- use separating Arabic from translit). -- -- Also determine lemma and allow it to be overridden. -- Also allow POS (part of speech) to be overridden. function handle_lemma_and_overrides(data, args) local function handle_override(arg) if args[arg] then local ovval = {} local alts1 = rsplit(args[arg], "[;,؛،]") for _, alt1 in ipairs(alts1) do local alts2 = rsplit(alt1, "|") table.insert(ovval, alts2) end data.forms[arg] = ovval end end local function do_overrides(mod) for _, numgen in ipairs(data.allnumgens) do for _, state in ipairs(data.allstates) do for _, case in ipairs(data.allcases) do local arg = mod .. case .. "_" .. numgen .. "_" .. state handle_override(arg) if args[arg] and not data.noirreg then insert_cat(data, mod, numgen, "Arabic NOUNs with irregular SINGULAR", "SINGULAR of irregular NOUN") end end end end end do_overrides("") for _, mod in ipairs(mod_list) do do_overrides(mod .. "_") end local function get_lemma(mod) for _, numgen in ipairs(data.numgens()) do for _, state in ipairs(data.states) do local arg = mod .. "lemma_" .. numgen .. "_" .. state if data.forms[arg] and #data.forms[arg] > 0 then return data.forms[arg] end end end return nil end data.forms["lemma"] = get_lemma("") for _, mod in ipairs(mod_list) do data.forms[mod .. "_lemma"] = get_lemma(mod .. "_") end handle_override("lemma") for _, mod in ipairs(mod_list) do handle_override(mod .. "_lemma") end end -- Return the part of speech based on the part of speech contained in -- data.pos and MOD (either "", "mod_", "mod2_", etc., same as in -- do_gender_number_1()). If we're a modifier, don't use data.pos but -- instead choose based on whether modifier is adjectival or nominal -- (ʾiḍāfa). function get_pos(data, mod) local ismod = mod ~= "" if not ismod then return data.pos elseif data[mod .. "idafa"] then return "noun" else return "adjective" end end -- Find the stems associated with a particular gender/number combination. -- ARGS is the set of all arguments. ARGPREFS is an array of argument prefixes -- (e.g. "f" for the actual arguments "f", "f2", ..., for the feminine -- singular; we allow more than one to handle "cpl"). SGS is a -- "stem-type list" (see do_gender_number()), and is the list of stems to -- base derived forms off of (masculine or feminine as appropriate), an array -- of length-two arrays of {COMBINED_STEM, TYPE} as returned by -- stem_and_type(). DEFAULT, ISFEM and NUM are as in do_gender_number(). -- MOD is either "", "mod_", "mod2_", etc. depending if we're working on a -- base or modifier argument (in the latter case, basically if the argument -- begins with "mod"). function do_gender_number_1(data, args, argprefs, sgs, default, isfem, num, mod) local results = {} local function handle_stem(stem) insert_stems(stem, results, sgs, isfem, num, get_pos(data, mod)) end -- If no arguments specified, use the default instead. need_default = true for _, argpref in ipairs(argprefs) do if args[argpref] then need_default = false break end end if need_default then if not default then return results end handle_stem(default) return results end -- For explicitly specified arguments, make sure there's at least one -- stem to generate off of; otherwise specifying e.g. 'sing=- pauc=فُلَان' -- won't override paucal. if #sgs == 0 then sgs = {{"", ""}} end for _, argpref in ipairs(argprefs) do if args[argpref] then handle_stem(args[argpref]) end local i = 2 while args[argpref .. i] do handle_stem(args[argpref .. i]) i = i + 1 end end return results end -- For a given gender/number combination, parse and return the full set -- of stems for both base and modifier. The return value is a -- "stem specification", i.e. table with a "base" key for the base, a -- "mod" key for the first modifier (see below), a "mod2" key for the -- second modifier, etc. listing all stems for both the base and modifier(s). -- The value of each key is a "stem-type list", i.e. an array of stem-type -- pairs, where each element is a size-two array of {COMBINED_STEM, STEM_TYPE}. -- COMBINED_STEM is a stem with attached transliteration in the form -- STEM/TRANSLIT (where the transliteration is either manually specified in -- the stem argument, e.g. 'pl=لُورْدَات/lordāt', or auto-transliterated from -- the Arabic, with BOGUS_CHAR substituting for the transliteration if -- auto-translit fails). STEM_TYPE is the declension of the stem, either -- manually specified, e.g. 'بَبَّغَاء:di' for manually-specified diptote, or -- auto-detected (see stem_and_type() and detect_type()). -- -- DATA and ARGS are as in init(). ARGPREFS is an array of the prefixes for -- the argument(s) specifying the stem (and optional translit and declension -- type). For a given ARGPREF, we check ARGPREF, ARGPREF2, ARGPREF3, ... in -- turn for the base, and modARGPREF, modARGPREF2, modARGPREF3, ... in turn -- for the first modifier, and mod2ARGPREF, mod2ARGPREF2, mod2ARGPREF3, ... -- for the second modifier, etc. SGS is a stem specification (see above), -- giving the stems that are used to base derived forms off of (e.g. if a stem -- type "smp" appears in place of a stem, the sound masculine plural of the -- stems in SGS will be derived). DEFAULT is a single stem (i.e. a string) that -- is used when no stems were explicitly given by the user (typically either -- "f", "m", "d" or "p"), or nil for no default. ISFEM is true if we're -- accumulating stems for a feminine number/gender category, and NUM is the -- number (expected to be "sg", "du" or "pl") of the number/gender category -- we're accumulating stems for. -- -- About bases and modifiers: Note that e.g. in the noun phrase يَوْم الاِثْنَيْن -- the head noun يَوْم is the base and the noun الاِثْنَيْن is the modifier. -- In a noun phrase like البَحْر الأَبْيَض المُتَوَسِّط, there are two modifiers. -- Note that modifiers come in two varieties, adjectival modifiers and -- construct (ʾidāfa) modifiers. The first above noun phrase is an example -- of a noun phrase with a construct modifier, where the base is fixed in -- the construct state and the modifier is fixed in number and case -- (which is always genitive) and possibly in state. The second above noun -- phrase is an example of a noun phrase with two adjectival modifiers. -- A construct modifier is generally a noun, whereas an adjectival modifier -- is an adjective that usually agrees in state, number and case with the -- base noun. (Note that in the case of multiple modifiers, it is possible -- for e.g. the second modifier to be an adjectival modifier that agrees -- with the first, construct, modifier, in which case its case will be fixed -- to genitive, its number will be fixed to the same number as the first -- modifier and its state will vary or not depending on whether the first -- modifier's state varies. It is not possible in general to distinguish -- adjectival and construct modifiers by looking at the values of -- modN_state, modN_case or modN_number, since e.g. a third modifier could -- have all of them specified and be either kind. Thus we have modN_idafa, -- which is true for a construct modifier, false otherwise.) function do_gender_number(data, args, argprefs, sgs, default, isfem, num) local results = do_gender_number_1(data, args, argprefs, sgs["base"], default, isfem, num, "") basemodtable = {base=results} for _, mod in ipairs(mod_list) do local modn_argprefs = {} for _, argpref in ipairs(argprefs) do table.insert(modn_argprefs, mod .. argpref) end local modn_results = do_gender_number_1(data, args, modn_argprefs, sgs[mod] or {}, default, isfem, num, mod .. "_") basemodtable[mod] = modn_results end return basemodtable end -- Generate inflections for the given combined stem and type, for MOD -- (either "" if we're working on the base or "mod_", "mod2_", etc. if we're -- working on a modifier) and NUMGEN (number or number-gender combination, -- of the sort that forms part of the keys in DATA.FORMS). function call_inflection(combined_stem, ty, data, mod, numgen) if ty == "-" then return end if not inflections[ty] then error("Unknown inflection type '" .. ty .. "'") end local ar, tr = split_arabic_tr(combined_stem) inflections[ty](ar, tr, data, mod, numgen) end -- Generate inflections for the stems of a given number/gender combination -- and for either the base or the modifier. STEMTYPES is a stem-type list -- (see do_gender_number()), listing all the stems and corresponding -- declension types. MOD is either "", "mod_", "mod2_", etc. depending on -- whether we're working on the base or a modifier. NUMGEN is the number or -- number-gender combination we're working on, of the sort that forms part -- of the keys in DATA.FORMS, e.g. "sg" or "m_sg". function call_inflections(stemtypes, data, mod, numgen) local mod_with_modnumgen = mod ~= "" and data[mod .. "numgen"] -- If modN_numgen= is given, do nothing if NUMGEN isn't the same if mod_with_modnumgen and data[mod .. "numgen"] ~= numgen then return end -- always call inflection() if mod_with_modnumgen since it may affect -- other numbers (cf. يَوْم الاِثْنَيْن) if mod_with_modnumgen or contains(data.numbers, rsub(numgen, "^.*_", "")) then for _, stemtype in ipairs(stemtypes) do call_inflection(stemtype[1], stemtype[2], data, mod, numgen) end end end -- Generate the entire set of inflections for a noun or adjective. -- Also handle any manually-specified part of speech and any manual -- inflection overrides. The value of INFLECTIONS is an array of stem -- specifications, one per number, where each element is a size-two -- array of a stem specification (containing the set of stems and -- corresponding declension types for the base and any modifiers; -- see do_gender_number()) and a NUMGEN string, i.e. a string identifying -- the number or number/gender in question (e.g. "sg", "du", "pl", -- "m_sg", "f_pl", etc.). function do_inflections_and_overrides(data, args, inflections) -- do this before generating inflections so POS change is reflected in -- categories if args["pos"] then data.pos = args["pos"] end for _, inflection in ipairs(inflections) do call_inflections(inflection[1]["base"] or {}, data, "", inflection[2]) for _, mod in ipairs(mod_list) do call_inflections(inflection[1][mod] or {}, data, mod .. "_", inflection[2]) end end handle_lemma_and_overrides(data, args) end -- Helper function for get_heads(). Parses the stems for either the -- base or the modifier (see do_gender_number()). ARG1 is the argument -- for the first stem and ARGN is the prefix of the arguments for the -- remaining stems. For example, for the singular base, ARG1=1 and -- ARGN="head"; for the first singular modifier, ARG1="mod" and -- ARGN="modhead"; for the plural base, ARG1=ARGN="pl". The arguments -- other than the first are numbered 2, 3, ..., which is appended to -- ARGN. MOD is either "", "mod_", "mod2_", etc. depending if we're -- working on a base or modifier argument. The returned value is an -- array of stems, where each element is a size-two array of -- {COMBINED_STEM, STEM_TYPE}. See do_gender_number(). function get_heads_1(data, args, arg1, argn, mod) if not args[arg1] then return {} end local heads if args[arg1] == "-" then heads = {{"", "-"}} else heads = {} insert_stems(args[arg1], heads, {{args[arg1], ""}}, false, "sg", get_pos(data, mod)) end local i = 2 while args[argn .. i] do local arg = args[argn .. i] insert_stems(arg, heads, {{arg, ""}}, false, "sg", get_pos(data, mod)) i = i + 1 end return heads end -- Very similar to do_gender_number(), and returns the same type of -- structure, but works specifically for the stems of the head (the -- most basic gender/number combiation, e.g. singular for nouns, -- masculine singular for adjectives and gendered nouns, collective -- for collective nouns, etc.), including both base and modifier. -- See do_gender_number(). Note that the actual return value is -- two items, the first of which is the same type of structure -- returned by do_gender_number() and the second of which is a boolean -- indicating whether we were called from within a template documentation -- page (in which case no user-specified arguments exist and we -- substitute sample ones). The reason for this boolean is to indicate -- whether sample arguments need to be substituted for other numbers -- as well. function get_heads(data, args, headtype) if not args[1] and mw.title.getCurrentTitle().nsText == "Template" then return {base={{"{{{1}}}", "tri"}}}, true end if not args[1] then error("Parameter 1 (" .. headtype .. " stem) may not be empty.") end local base = get_heads_1(data, args, 1, "head", "") basemodtable = {base=base} for _, mod in ipairs(mod_list) do local modn = get_heads_1(data, args, mod, mod .. "head", mod .. "_") basemodtable[mod] = modn end return basemodtable, false end -- The main entry point for noun tables. function export.show_noun(frame) local args, origargs, data = init(frame:getParent().args) data.pos = "noun" data.numgens = function() return data.numbers end data.allnumgens = data.allnumbers local sgs, is_template = get_heads(data, args, "singular") local pls = is_template and {base={{"{{{pl}}}", "tri"}}} or do_gender_number(data, args, {"pl", "cpl"}, sgs, nil, false, "pl") -- always do dual so cases like يَوْم الاِثْنَيْن work -- a singular with -- a dual modifier, where data.number refers only the singular -- but we need to go ahead and compute the dual so it parses the -- "modd" modifier dual argument. When the modifier dual argument -- is parsed, it will store the resulting dual declension for اِثْنَيْن -- in the modifier slot for all numbers, including specifically -- the singular. local dus = do_gender_number(data, args, {"d"}, sgs, "d", false, "du") parse_state_etc_spec(data, args) determine_noun_numbers(data, args, pls) do_inflections_and_overrides(data, args, {{sgs, "sg"}, {dus, "du"}, {pls, "pl"}}) -- Make the table return make_noun_table(data) end function any_feminine(data, stem_spec) for basemod, stemtypelist in pairs(stem_spec) do -- Only check modifiers if modN_numgen= not given. If not given, the -- modifier needs to be declined for all numgens; else only for the -- given numgen, which should be explicitly specified. if not (basemod ~= "base" and data[basemod .. "_numgen"]) then for _, stemtype in ipairs(stemtypelist) do if rfind(stemtype[1], TAM .. UNUOPT .. "/") then return true end end end end return false end function all_feminine(data, stem_spec) for basemod, stemtypelist in pairs(stem_spec) do -- Only check modifiers if modN_numgen= not given. If not given, the -- modifier needs to be declined for all numgens; else only for the -- given numgen, which should be explicitly specified. if not (basemod ~= "base" and data[basemod .. "_numgen"]) then for _, stemtype in ipairs(stemtypelist) do if not rfind(stemtype[1], TAM .. UNUOPT .. "/") then return false end end end end return true end -- The main entry point for collective noun tables. function export.show_coll_noun(frame) local args, origargs, data = init(frame:getParent().args) data.pos = "noun" data.allnumbers = {"coll", "sing", "du", "pauc", "pl"} data.engnumberscap["pl"] = "Plural of variety" data.numgens = function() return data.numbers end data.allnumgens = data.allnumbers local colls, is_template = get_heads(data, args, "collective") local pls = is_template and {base={{"{{{pl}}}", "tri"}}} or do_gender_number(data, args, {"pl", "cpl"}, colls, nil, false, "pl") parse_state_etc_spec(data, args) -- If collective noun is already feminine in form, don't try to -- form a feminine singulative local collfem = any_feminine(data, colls) local sings = do_gender_number(data, args, {"sing"}, colls, not already_feminine and "f" or nil, true, "sg") local singfem = all_feminine(data, sings) local dus = do_gender_number(data, args, {"d"}, sings, "d", singfem, "du") local paucs = do_gender_number(data, args, {"pauc"}, sings, "paucp", singfem, "pl") -- Can manually specify which numbers are to appear, and exactly those -- numbers will appear. Otherwise, if any plurals given, plurals appear, -- and if singulative given, dual and paucal appear. if not parse_number_spec(data, args) then data.numbers = {} if args[1] ~= "-" then table.insert(data.numbers, "coll") end if #sings["base"] > 0 then table.insert(data.numbers, "sing") end if #dus["base"] > 0 then table.insert(data.numbers, "du") end if #paucs["base"] > 0 then table.insert(data.numbers, "pauc") end if #pls["base"] > 0 then table.insert(data.numbers, "pl") end end -- Generate the collective, singulative, dual, paucal and plural forms do_inflections_and_overrides(data, args, {{colls, "coll"}, {sings, "sing"}, {dus, "du"}, {paucs, "pauc"}, {pls, "pl"}}) -- Make the table return make_noun_table(data) end -- The main entry point for singulative noun tables. function export.show_sing_noun(frame) local args, origargs, data = init(frame:getParent().args) data.pos = "noun" data.allnumbers = {"sing", "coll", "du", "pauc", "pl"} data.engnumberscap["pl"] = "Plural of variety" data.numgens = function() return data.numbers end data.allnumgens = data.allnumbers parse_state_etc_spec(data, args) local sings, is_template = get_heads(data, args, "singulative") -- If all singulative nouns feminine in form, form a masculine collective local singfem = all_feminine(data, sings) local colls = do_gender_number(data, args, {"coll"}, sings, singfem and "m" or nil, false, "sg") local dus = do_gender_number(data, args, {"d"}, sings, "d", singfem, "du") local paucs = do_gender_number(data, args, {"pauc"}, sings, "paucp", singfem, "pl") local pls = is_template and {base={{"{{{pl}}}", "tri"}}} or do_gender_number(data, args, {"pl", "cpl"}, colls, nil, false, "pl") -- Can manually specify which numbers are to appear, and exactly those -- numbers will appear. Otherwise, if any plurals given, plurals appear; -- if singulative given or derivable, it and dual and paucal will appear. if not parse_number_spec(data, args) then data.numbers = {} if args[1] ~= "-" then table.insert(data.numbers, "sing") end if #colls["base"] > 0 then table.insert(data.numbers, "coll") end if #dus["base"] > 0 then table.insert(data.numbers, "du") end if #paucs["base"] > 0 then table.insert(data.numbers, "pauc") end if #pls["base"] > 0 then table.insert(data.numbers, "pl") end end -- Generate the singulative, collective, dual, paucal and plural forms do_inflections_and_overrides(data, args, {{sings, "sing"}, {colls, "coll"}, {dus, "du"}, {paucs, "pauc"}, {pls, "pl"}}) -- Make the table return make_noun_table(data) end -- The implementation of the main entry point for adjective and -- gendered noun tables. function show_gendered(frame, isadj, pos) local args, origargs, data = init(frame:getParent().args) data.pos = pos data.numgens = function() local numgens = {} for _, gender in ipairs(data.allgenders) do for _, number in ipairs(data.numbers) do table.insert(numgens, gender .. "_" .. number) end end return numgens end data.allnumgens = {} for _, gender in ipairs(data.allgenders) do for _, number in ipairs(data.allnumbers) do table.insert(data.allnumgens, gender .. "_" .. number) end end parse_state_etc_spec(data, args) local msgs = get_heads(data, args, 'masculine singular') -- Always do all of these so cases like يَوْم الاِثْنَيْن work. -- See comment in show_noun(). local fsgs = do_gender_number(data, args, {"f"}, msgs, "f", true, "sg") local mdus = do_gender_number(data, args, {"d"}, msgs, "d", false, "du") local fdus = do_gender_number(data, args, {"fd"}, fsgs, "d", true, "du") local mpls = do_gender_number(data, args, {"pl", "cpl"}, msgs, isadj and "p" or nil, false, "pl") local fpls = do_gender_number(data, args, {"fpl", "cpl"}, fsgs, "fp", true, "pl") if isadj then parse_number_spec(data, args) else determine_noun_numbers(data, args, mpls) end -- Generate the singular, dual and plural forms do_inflections_and_overrides(data, args, {{msgs, "m_sg"}, {fsgs, "f_sg"}, {mdus, "m_du"}, {fdus, "f_du"}, {mpls, "m_pl"}, {fpls, "f_pl"}}) -- Make the table if isadj then return make_adj_table(data) else return make_gendered_noun_table(data) end end -- The main entry point for gendered noun tables. function export.show_gendered_noun(frame) return show_gendered(frame, false, "noun") end -- The main entry point for numeral tables. Same as using show_gendered_noun() -- with pos=numeral. function export.show_numeral(frame) return show_gendered(frame, false, "numeral") end -- The main entry point for adjective tables. function export.show_adj(frame) return show_gendered(frame, true, "adjective") end -- Inflection functions function do_translit(term) return lang:transliterate(term) or track("cant-translit") and BOGUS_CHAR end function split_arabic_tr(term) if term == "" then return "", "" elseif not rfind(term, "/") then return term, do_translit(term) else splitvals = rsplit(term, "/") if #splitvals ~= 2 then error("Must have at most one slash in a combined Arabic/translit expr: '" .. term .. "'") end return splitvals[1], splitvals[2] end end function reorder_shadda(word) -- shadda+short-vowel (including tanwīn vowels, i.e. -an -in -un) gets -- replaced with short-vowel+shadda during NFC normalisation, which -- MediaWiki does for all Unicode strings; however, it makes the -- detection process inconvenient, so undo it. word = rsub(word, "(" .. DIACRITIC_ANY_BUT_SH .. ")" .. SH, SH .. "%1") return word end -- Combine PREFIX, AR/TR, and ENDING in that order. PREFIX and ENDING -- can be of the form ARABIC/TRANSLIT. The Arabic and translit parts are -- separated out and grouped together, resulting in a string of the -- form ARABIC/TRANSLIT (TRANSLIT will always be present, computed -- automatically if not present in the source). The return value is actually a -- list of ARABIC/TRANSLIT strings because hamza resolution is applied to -- ARABIC, which may produce multiple outcomes (all of which will have the -- same TRANSLIT). function combine_with_ending(prefix, ar, tr, ending) local prefixar, prefixtr = split_arabic_tr(prefix) local endingar, endingtr = split_arabic_tr(ending) -- When calling hamza_seat(), leave out prefixes, which we expect to be -- clitics like وَ. (In case the prefix is a separate word, it won't matter -- whether we include it in the text passed to hamza_seat().) allar = hamza_seat(ar .. endingar) -- Convert ...īān to ...iyān in case of stems ending in -ī or -ū -- (e.g. kubrī "bridge"). if rfind(endingtr, "^[aeiouāēīōū]") then if rfind(tr, "ī$") then tr = rsub(tr, "ī$", "iy") elseif rfind(tr, "ū$") then tr = rsub(tr, "ū$", "uw") end end tr = prefixtr .. tr .. endingtr allartr = {} for _, arval in ipairs(allar) do table.insert(allartr, prefixar .. arval .. "/" .. tr) end return allartr end -- Combine PREFIX, STEM/TR and ENDING in that order and insert into the -- list of items in DATA[KEY], initializing it if empty and making sure -- not to insert duplicates. ENDING can be a list of endings, will be -- distributed over the remaining parts. PREFIX and/or ENDING can be -- of the form ARABIC/TRANSLIT (the stem is already split into Arabic STEM -- and Latin TR). Note that what's inserted into DATA[KEY] is actually a -- list of ARABIC/TRANSLIT strings; if more than one is present in the list, -- they represent hamza variants, i.e. different ways of writing a hamza -- sound, such as مُبْتَدَؤُون vs. مُبْتَدَأُون (see init_data()). function add_inflection(data, key, prefix, stem, tr, ending) if data.forms[key] == nil then data.forms[key] = {} end if type(ending) ~= "table" then ending = {ending} end for _, endingval in ipairs(ending) do insert_if_not(data.forms[key], combine_with_ending(prefix, stem, tr, endingval)) end end -- Form inflections from combination of STEM, with transliteration TR, -- and ENDINGS (and definite article where necessary, plus any specified -- prefixes) and store in DATA, for the number or gender/number -- determined by MOD ("", "mod_", "mod2_", etc.; see call_inflection()) and -- NUMGEN ("sg", "du", "pl", or "m_sg", "f_pl", etc. for adjectives). ENDINGS -- is an array of 15 values, each of which is a string or array of -- alternatives. The order of ENDINGS is indefinite nom, acc, gen; definite -- nom, acc, gen; construct-state nom, acc, gen; informal indefinite, definite, -- construct; lemma indefinite, definite, construct. (Normally the lemma is -- based off of the indefinite, but if the inflection has been restricted to -- particular states, it comes from one of those states, in the order -- indefinite, definite, construct.) See also add_inflection() for more info -- on exactly what is inserted into DATA. function add_inflections(stem, tr, data, mod, numgen, endings) stem = canon_hamza(stem) assert(#endings == 15) local ismod = mod ~= "" -- If working on modifier and modN_numgen= is given, it better agree with -- NUMGEN; the case where it doesn't agree should have been caught in -- call_inflections(). if ismod and data[mod .. "numgen"] then assert(data[mod .. "numgen"] == numgen) end -- Return a list of combined of ar/tr forms, with the ending tacked on. -- There may be more than one form because of alternative hamza seats that -- may be supplied, e.g. مُبْتَدَؤُون or مُبْتَدَأُون (mubtadaʾūn "(grammatical) subjects"). local defstem, deftr if stem == "?" or data[mod .. "omitarticle"] then defstem = stem deftr = tr else -- apply sun-letter assimilation and hamzat al-wasl elision defstem = rsub("الْ" .. stem, "^الْ([سشصتثطدذضزژظنرل])", "ال%1ّ") defstem = rsub(defstem, "^الْ([اٱ])([ًٌٍَُِ])", "ال%2%1") deftr = rsub("al-" .. tr, "^al%-([sšṣtṯṭdḏḍzžẓnrḷ])", "a%1-%1") end -- For a given MOD spec, is the previous word (base or modifier) a noun? -- We assume the base is always a noun in this case, and otherwise -- look at the value of modN_idafa. local function prev_mod_is_noun(mod) if mod == "mod_" then return true end if mod == "mod2_" then return data["mod_idafa"] end modnum = assert_rsub(mod, "^mod([0-9]+)_$", "%1") modnum = modnum - 1 return data["mod" .. modnum .. "_idafa"] end local numgens = ismod and data[mod .. "numgen"] and data.numgens() or {numgen} -- "defcon" means definite adjective modifying construct state noun. We -- add a ... before the adjective (and after the construct-state noun) to -- indicate that a nominal modifier would go between noun and adjective. local stems = {ind = stem, def = defstem, con = stem, defcon = "... " .. defstem} local trs = {ind = tr, def = deftr, con = tr, defcon = "... " .. deftr} for _, ng in ipairs(numgens) do for _, state in ipairs(data.allstates) do for _, case in ipairs(data.allcases_with_lemma) do -- We are generating the inflections for STATE, but sometimes -- we want to use the inflected form of a different state, e.g. -- if modN_state= or basestate= is set to some particular state. -- If we're dealing with an adjectival modifier, then in -- place of "con" we use "defcon" if immediately after a noun -- (see comment above), else "def". local thestate = ismod and data[mod .. "state"] or ismod and not data[mod .. "idafa"] and state == "con" and (prev_mod_is_noun(mod) and "defcon" or "def") or not ismod and data.basestate or state local is_lemmainf = case == "lemma" or case == "inf" -- Don't substitute value of modcase for lemma/informal "cases" local thecase = is_lemmainf and case or ismod and data[mod .. "case"] or case add_inflection(data, mod .. case .. "_" .. ng .. "_" .. state, data[mod .. "prefix"] or "", stems[thestate], trs[thestate], endings[data.statecases[thestate][thecase]]) end end end end -- Insert into a category and a type variable (e.g. m_sg_type) for the -- declension type of a particular declension (e.g. masculine singular for -- adjectives). MOD and NUMGEN are as in call_inflection(). CATVALUE is the -- category and ENGVALUE is the English description of the declension type. -- In these values, NOUN is replaced with either "noun" or "adjective", -- SINGULAR is replaced with the English equivalent of the number in NUMGEN -- (e.g. "singular", "dual" or "plural") while BROKSING is the same but uses -- "broken plural" in place of "plural" and "broken paucal" in place of -- "paucal". function insert_cat(data, mod, numgen, catvalue, engvalue) local singpl = data.engnumbers[rsub(numgen, "^.*_", "")] assert(singpl ~= nil) local broksingpl = rsub(singpl, "plural", "broken plural") broksingpl = rsub(broksingpl, "paucal", "broken paucal") if rfind(broksingpl, "broken plural") and (rfind(catvalue, "BROKSING") or rfind(engvalue, "BROKSING")) then table.insert(data.categories, "Arabic " .. data.pos .. "s with broken plural") end if rfind(catvalue, "irregular") or rfind(engvalue, "irregular") then table.insert(data.categories, "Arabic irregular " .. data.pos .. "s") end catvalue = rsub(catvalue, "NOUN", data.pos) catvalue = rsub(catvalue, "SINGULAR", singpl) catvalue = rsub(catvalue, "BROKSING", broksingpl) engvalue = rsub(engvalue, "NOUN", data.pos) engvalue = rsub(engvalue, "SINGULAR", singpl) engvalue = rsub(engvalue, "BROKSING", broksingpl) if mod == "" and catvalue ~= "" then insert_if_not(data.categories, catvalue) end if engvalue ~= "" then local key = mod .. numgen .. "_type" if data.forms[key] == nil then data.forms[key] = {} end insert_if_not(data.forms[key], engvalue) end if contains(data.states, "def") and not contains(data.states, "ind") then insert_if_not(data.categories, "Arabic definite " .. data.pos .. "s") end end -- Return true if we're handling modifier inflections and the modifier's -- case is limited to an oblique case (gen or acc; typically genitive, -- in an ʾidāfa construction). This is used when returning lemma -- inflections -- the modifier part of the lemma should agree in case -- with modifier's case if it's restricted in case. function mod_oblique(mod, data) return mod ~= "" and data[mod .. "case"] and ( data[mod .. "case"] == "acc" or data[mod .. "case"] == "gen") end -- Similar to mod_oblique but specifically when the modifier case is -- limited to the accusative (which is rare or nonexistent in practice). function mod_acc(mod, data) return mod ~= "" and data[mod .. "case"] and data[mod .. "case"] == "acc" end -- Handle triptote and diptote inflections function triptote_diptote(stem, tr, data, mod, numgen, is_dip, lc) -- Remove any case ending if rfind(stem, "[" .. UN .. U .. "]$") then stem = rsub(stem, "[" .. UN .. U .. "]$", "") tr = rsub(tr, "un?$", "") end -- special-case for صلوة pronounced ṣalāh; check translit local is_aah = rfind(stem, TAM .. "$") and rfind(tr, "āh$") if rfind(stem, TAM .. "$") then if rfind(tr, "h$") then tr = rsub(tr, "h$", "t") elseif not rfind(tr, "t$") then tr = tr .. "t" end end add_inflections(stem, tr, data, mod, numgen, {is_dip and U or UN, is_dip and A or AN .. ((rfind(stem, "[" .. HAMZA_ON_ALIF .. TAM .. "]$") or rfind(stem, "[" .. AMAD .. ALIF .. "]" .. HAMZA .. "$") ) and "" or ALIF), is_dip and A or IN, U, A, I, lc and UU or U, lc and AA or A, lc and II or I, {}, {}, {}, -- omit informal inflections {}, {}, {}, -- omit lemma inflections }) -- add category and informal and lemma inflections local tote = lc and "long construct" or is_dip and "diptote" or "triptote" local singpl_tote = "BROKSING " .. tote local cat_prefix = "Arabic NOUNs with " .. tote .. " BROKSING" -- since we're checking translit for -āh we probably don't need to -- check stem too if is_aah or rfind(stem, "[" .. AMAD .. ALIF .. "]" .. TAM .. "$") then add_inflections(stem, rsub(tr, "t$", ""), data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, "/t", "/t", "/t", -- informal pron. is -āt "/h", "/h", "/t", -- lemma uses -āh }) insert_cat(data, mod, numgen, cat_prefix .. " in -āh", singpl_tote .. " in " .. make_link(HYPHEN .. AAH)) elseif rfind(stem, TAM .. "$") then add_inflections(stem, rsub(tr, "t$", ""), data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, "", "", "/t", "", "", "/t", }) insert_cat(data, mod, numgen, cat_prefix .. " in -a", singpl_tote .. " in " .. make_link(HYPHEN .. AH)) elseif lc then add_inflections(stem, tr, data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, "", "", UU, "", "", UU, }) insert_cat(data, mod, numgen, cat_prefix, singpl_tote) else -- also special-case the nisba ending, which has an informal -- pronunciation. if rfind(stem, IY .. SH .. "$") then local infstem = rsub(stem, SH .. "$", "") local inftr = rsub(tr, "iyy$", "ī") -- add informal and lemma inflections separately add_inflections(infstem, inftr, data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, "", "", "", {}, {}, {}, }) add_inflections(stem, tr, data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, "", "", "", }) else add_inflections(stem, tr, data, mod, numgen, {{}, {}, {}, {}, {}, {}, {}, {}, {}, "", "", "", "", "", "", }) end insert_cat(data, mod, numgen, "Arabic NOUNs with basic " .. tote .. " BROKSING", "basic " .. singpl_tote) end end -- Regular triptote inflections["tri"] = function(stem, tr, data, mod, numgen) triptote_diptote(stem, tr, data, mod, numgen, false) end -- Regular diptote inflections["di"] = function(stem, tr, data, mod, numgen) triptote_diptote(stem, tr, data, mod, numgen, true) end -- Elative and color/defect adjective: usually same as diptote, -- might be invariable function elative_color_defect(stem, tr, data, mod, numgen) if rfind(stem, "[" .. ALIF .. AMAQ .. "]$") then invariable(stem, tr, data, mod, numgen) else triptote_diptote(stem, tr, data, mod, numgen, true) end end -- Elative: usually same as diptote, might be invariable inflections["el"] = function(stem, tr, data, mod, numgen) elative_color_defect(stem, tr, data, mod, numgen) end -- Color/defect adjective: Same as elative inflections["cd"] = function(stem, tr, data, mod, numgen) elative_color_defect(stem, tr, data, mod, numgen) end -- Triptote with lengthened ending in the construct state inflections["lc"] = function(stem, tr, data, mod, numgen) triptote_diptote(stem, tr, data, mod, numgen, false, true) end function in_defective(stem, tr, data, mod, numgen, tri) if not rfind(stem, IN .. "$") then error("'in' declension stem should end in -in: '" .. stem .. "'") end stem = rsub(stem, IN .. "$", "") tr = rsub(tr, "in$", "") local acc_ind_ending = tri and IY .. AN .. ALIF or IY .. A add_inflections(stem, tr, data, mod, numgen, {IN, acc_ind_ending, IN, II, IY .. A, II, II, IY .. A, II, II, II, II, -- FIXME: What should happen with the lemma when modifier case -- is limited to the accusative and modifier state is e.g. definite? -- Should the lemma end in -iya or -ī? In practice this will rarely -- if ever happen. mod_acc(mod, data) and acc_ind_ending or IN, II, II, }) local tote = tri and "triptote" or "diptote" insert_cat(data, mod, numgen, "Arabic NOUNs with " .. tote .. " BROKSING in -in", "BROKSING " .. tote .. " in " .. make_link(HYPHEN .. IN)) end function detect_in_type(stem, ispl) if ispl and rfind(stem, "^" .. CONS .. AOPT .. CONS .. AOPTA .. CONS .. IN .. "$") then -- layālin return "diin" else -- other -in words return "triin" end end -- Defective in -in inflections["in"] = function(stem, tr, data, mod, numgen) in_defective(stem, tr, data, mod, numgen, detect_in_type(stem, rfind(numgen, "pl")) == "triin") end -- Defective in -in, force "triptote" variant inflections["triin"] = function(stem, tr, data, mod, numgen) in_defective(stem, tr, data, mod, numgen, true) end -- Defective in -in, force "diptote" variant inflections["diin"] = function(stem, tr, data, mod, numgen) in_defective(stem, tr, data, mod, numgen, false) end -- Defective in -an (comes in two variants, depending on spelling with tall alif or alif maqṣūra) inflections["an"] = function(stem, tr, data, mod, numgen) local tall_alif if rfind(stem, AN .. ALIF .. "$") then tall_alif = true stem = rsub(stem, AN .. ALIF .. "$", "") elseif rfind(stem, AN .. AMAQ .. "$") then tall_alif = false stem = rsub(stem, AN .. AMAQ .. "$", "") else error("Invalid stem for 'an' declension type: " .. stem) end tr = rsub(tr, "an$", "") if tall_alif then add_inflections(stem, tr, data, mod, numgen, {AN .. ALIF, AN .. ALIF, AN .. ALIF, AA, AA, AA, AA, AA, AA, AA, AA, AA, AN .. ALIF, AA, AA, }) else add_inflections(stem, tr, data, mod, numgen, {AN .. AMAQ, AN .. AMAQ, AN .. AMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AAMAQ, AN .. AMAQ, AAMAQ, AAMAQ, }) end -- FIXME: Should we distinguish between tall alif and alif maqṣūra? insert_cat(data, mod, numgen, "Arabic NOUNs with BROKSING in -an", "BROKSING in " .. make_link(HYPHEN .. AN .. (tall_alif and ALIF or AMAQ))) end function invariable(stem, tr, data, mod, numgen) add_inflections(stem, tr, data, mod, numgen, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", }) insert_cat(data, mod, numgen, "Arabic NOUNs with invariable BROKSING", "BROKSING invariable") end -- Invariable in -ā (non-loanword type) inflections["inv"] = function(stem, tr, data, mod, numgen) invariable(stem, tr, data, mod, numgen) end -- Invariable in -ā (loanword type, behaving in the dual as if ending in -a, I think!) inflections["lwinv"] = function(stem, tr, data, mod, numgen) invariable(stem, tr, data, mod, numgen) end -- Duals inflections["d"] = function(stem, tr, data, mod, numgen) if rfind(stem, ALIF .. NI .. "?$") then stem = rsub(stem, AOPTA .. NI .. "?$", "") elseif rfind(stem, AMAD .. NI .. "?$") then stem = rsub(stem, AMAD .. NI .. "?$", HAMZA_PH) else error("Dual stem should end in -ān(i): '" .. stem .. "'") end tr = rsub(tr, "āni?$", "") local mo = mod_oblique(mod, data) add_inflections(stem, tr, data, mod, numgen, {AANI, AYNI, AYNI, AANI, AYNI, AYNI, AA, AYSK, AYSK, AYN, AYN, AYSK, mo and AYN or AAN, mo and AYN or AAN, mo and AYSK or AA, }) insert_cat(data, mod, numgen, "", "dual in " .. make_link(HYPHEN .. AANI)) end -- Sound masculine plural inflections["smp"] = function(stem, tr, data, mod, numgen) if not rfind(stem, UUNA .. "?$") then error("Sound masculine plural stem should end in -ūn(a): '" .. stem .. "'") end stem = rsub(stem, UUNA .. "?$", "") tr = rsub(tr, "ūna?$", "") local mo = mod_oblique(mod, data) add_inflections(stem, tr, data, mod, numgen, {UUNA, IINA, IINA, UUNA, IINA, IINA, UU, II, II, IIN, IIN, II, mo and IIN or UUN, mo and IIN or UUN, mo and II or UU, }) -- use SINGULAR because conceivably this might be used with the paucal -- instead of plural insert_cat(data, mod, numgen, "Arabic NOUNs with sound masculine SINGULAR", "sound masculine SINGULAR") end -- Sound feminine plural inflections["sfp"] = function(stem, tr, data, mod, numgen) if not rfind(stem, "[" .. ALIF .. AMAD .. "]" .. T .. UN .. "?$") then error("Sound feminine plural stem should end in -āt(un): '" .. stem .. "'") end stem = rsub(stem, UN .. "$", "") tr = rsub(tr, "un$", "") add_inflections(stem, tr, data, mod, numgen, {UN, IN, IN, U, I, I, U, I, I, "", "", "", "", "", "", }) -- use SINGULAR because this might be used with the paucal -- instead of plural insert_cat(data, mod, numgen, "Arabic NOUNs with sound feminine SINGULAR", "sound feminine SINGULAR") end -- Plural of defective in -an inflections["awnp"] = function(stem, tr, data, mod, numgen) if not rfind(stem, AWNA .. "?$") then error("'awnp' plural stem should end in -awn(a): '" .. stem .. "'") end stem = rsub(stem, AWNA .. "?$", "") tr = rsub(tr, "awna?$", "") local mo = mod_oblique(mod, data) add_inflections(stem, tr, data, mod, numgen, {AWNA, AYNA, AYNA, AWNA, AYNA, AYNA, AWSK, AYSK, AYSK, AYN, AYN, AYSK, mo and AYN or AWN, mo and AYN or AWN, mo and AYSK or AWSK, }) -- use SINGULAR because conceivably this might be used with the paucal -- instead of plural insert_cat(data, mod, numgen, "Arabic NOUNs with sound SINGULAR in -awna", "sound SINGULAR in " .. make_link(HYPHEN .. AWNA)) end -- Unknown inflections["?"] = function(stem, tr, data, mod, numgen) add_inflections("?", "?", data, mod, numgen, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", }) insert_cat(data, mod, numgen, "Arabic NOUNs with unknown SINGULAR", "SINGULAR unknown") end -- Detect declension of noun or adjective stem or lemma. We allow triptotes, -- diptotes and sound plurals to either come with ʾiʿrāb or not. We detect -- some cases where vowels are missing, when it seems fairly unambiguous to -- do so. ISFEM is true if we are dealing with a feminine stem (not -- currently used and needs to be rethought). NUM is "sg", "du", or "pl", -- depending on the number of the stem. -- -- POS is the part of speech, generally "noun" or "adjective". Used to -- distinguish nouns and adjectives of the فَعْلَان type. There are nouns of -- this type and they generally are triptotes, e.g. قَطْرَان "tar" -- and شَيْطَان "devil". An additional complication is that the user can set -- the POS to something else, like "numeral". We don't use this POS for -- modifiers, where we determine whether they are noun-like or adjective-like -- according to whether mod_idafa= is true. -- -- Some unexpectedly diptote nouns/adjectives: -- -- jiʿrān in ʾabū jiʿrān "dung beetle" -- distributive numbers: ṯunāʾ "two at a time", ṯulāṯ/maṯlaṯ "three at a time", -- rubāʿ "four at a time" (not a regular diptote pattern, cf. triptote -- junāḥ "misdemeanor, sin", nujār "origin, root", nuḥām "flamingo") -- jahannam (f.) "hell" -- many names: jilliq/jillaq "Damascus", judda/jidda "Jedda", jibrīl (and -- variants) "Gabriel", makka "Mecca", etc. -- jibriyāʾ "pride" -- kibriyāʾ "glory, pride" -- babbaḡāʾ "parrot" -- ʿayāyāʾ "incapable, tired" -- suwaidāʾ "black bile, melancholy" -- Note also: ʾajhar "day-blind" (color-defect) and ʾajhar "louder" (elative) function export.detect_type(stem, isfem, num, pos) local function dotrack(word) track(word) track(word .. "/" .. pos) return true end -- Not strictly necessary because the caller (stem_and_type) already -- reorders, but won't hurt, and may be necessary if this function is -- called from an external caller. stem = reorder_shadda(stem) local origstem = stem -- So that we don't get tripped up by alif madda, we replace alif madda -- with the sequence hamza + fatḥa + alif before the regexps below. stem = rsub(stem, AMAD, HAMZA .. AA) if num == "du" then if rfind(stem, ALIF .. NI .. "?$") then return "d" else error("Malformed stem for dual, should end in the nominative dual ending -ān(i): '" .. origstem .. "'") end end if rfind(stem, IN .. "$") then -- -in words return detect_in_type(stem, num == "pl") elseif rfind(stem, AN .. "[" .. ALIF .. AMAQ .. "]$") then return "an" elseif rfind(stem, AN .. "$") then error("Malformed stem, fatḥatan should be over second-to-last letter: " .. origstem) elseif num == "pl" and rfind(stem, AW .. SKOPT .. N .. AOPT .. "$") then return "awnp" elseif num == "pl" and rfind(stem, ALIF .. T .. UNOPT .. "$") and -- Avoid getting tripped up by plurals like ʾawqāt "times", -- ʾaḥwāt "fishes", ʾabyāt "verses", ʾazyāt "oils", ʾaṣwāt "voices", -- ʾamwāt "dead (pl.)". not rfind(stem, HAMZA_ON_ALIF .. A .. CONS .. SK .. CONS .. AAT .. UNOPT .. "$") then return "sfp" elseif num == "pl" and rfind(stem, W .. N .. AOPT .. "$") and -- Avoid getting tripped up by plurals like ʿuyūn "eyes", -- qurūn "horns" (note we check for U between first two consonants -- so we correctly ignore cases like sinūn "hours" (from sana), -- riʾūn "lungs" (from riʾa) and banūn "sons" (from ibn). not rfind(stem, "^" .. CONS .. U .. CONS .. UUN .. AOPT .. "$") then return "smp" elseif rfind(stem, UN .. "$") then -- explicitly specified triptotes (we catch sound feminine plurals above) return "tri" elseif rfind(stem, U .. "$") then -- explicitly specified diptotes return "di" elseif -- num == "pl" and ( -- various diptote plural patterns; these are diptote even in the singular (e.g. yanāyir "January", falāfil "falafel", tuʾabāʾ "yawn, fatigue" -- currently we sometimes end up with such plural patterns in the "singular" in a singular -- ʾidāfa construction with plural modifier. (FIXME: These should be fixed to the correct number.) rfind(stem, "^" .. CONS .. AOPT .. CONS .. AOPTA .. CONS .. IOPT .. Y .. "?" .. CONS .. "$") and dotrack("fawaakih") or -- fawākih, daqāʾiq, makātib, mafātīḥ rfind(stem, "^" .. CONS .. AOPT .. CONS .. AOPTA .. CONS .. SH .. "$") and not rfind(stem, "^" .. T) and dotrack("mawaadd") or -- mawādd, maqāmm, ḍawāll; exclude t- so we don't catch form-VI verbal nouns like taḍādd (HACK!!!) rfind(stem, "^" .. CONS .. U .. CONS .. AOPT .. CONS .. AOPTA .. HAMZA .. "$") and dotrack("wuzaraa") or -- wuzarāʾ "ministers", juhalāʾ "ignorant (pl.)" rfind(stem, ELCD_START .. SKOPT .. CONS .. IOPT .. CONS .. AOPTA .. HAMZA .. "$") and dotrack("asdiqaa") or -- ʾaṣdiqāʾ rfind(stem, ELCD_START .. IOPT .. CONS .. SH .. AOPTA .. HAMZA .. "$") and dotrack("aqillaa") -- ʾaqillāʾ, ʾajillāʾ "important (pl.)", ʾaḥibbāʾ "lovers" ) then return "di" elseif num == "sg" and ( -- diptote singular patterns (nouns/adjectives) rfind(stem, "^" .. CONS .. A .. CONS .. SK .. CONS .. AOPTA .. HAMZA .. "$") and dotrack("qamraa") or -- qamrāʾ "moon-white, moonlight"; baydāʾ "desert"; ṣaḥrāʾ "desert-like, desert"; tayhāʾ "trackless, desolate region"; not pl. to avoid catching e.g. ʾabnāʾ "sons", ʾaḥmāʾ "fathers-in-law", ʾamlāʾ "steppes, deserts" (pl. of malan), ʾanbāʾ "reports" (pl. of nabaʾ) rfind(stem, ELCD_START .. SK .. CONS .. A .. CONS .. "$") and dotrack("abyad") or -- ʾabyaḍ "white", ʾakbar "greater"; FIXME nouns like ʾaʿzab "bachelor", ʾaḥmad "Ahmed" but not ʾarnab "rabbit", ʾanjar "anchor", ʾabjad "abjad", ʾarbaʿ "four", ʾandar "threshing floor" (cf. diptote ʾandar "rarer") rfind(stem, ELCD_START .. A .. CONS .. SH .. "$") and dotrack("alaff") or -- ʾalaff "plump", ʾaḥabb "more desirable" -- do the following on the origstem so we can check specifically for alif madda rfind(origstem, "^" .. AMAD .. CONS .. A .. CONS .. "$") and dotrack("aalam") -- ʾālam "more painful", ʾāḵar "other" ) then return "di" elseif num == "sg" and pos == "adjective" and ( -- diptote singular patterns (adjectives) rfind(stem, "^" .. CONS .. A .. CONS .. SK .. CONS .. AOPTA .. N .. "$") and dotrack("kaslaan") or -- kaslān "lazy", ʿaṭšān "thirsty", jawʿān "hungry", ḡaḍbān "angry", tayhān "wandering, perplexed"; but not nouns like qaṭrān "tar", šayṭān "devil", mawtān "plague", maydān "square" -- rfind(stem, "^" .. CONS .. A .. CONS .. SH .. AOPTA .. N .. "$") and dotrack("laffaa") -- excluded because of too many false positives e.g. ḵawwān "disloyal", not to mention nouns like jannān "gardener"; only diptote example I can find is ʿayyān "incapable, weary" (diptote per Lane but not Wehr) rfind(stem, "^" .. CONS .. A .. CONS .. SH .. AOPTA .. HAMZA .. "$") and dotrack("laffaa") -- laffāʾ "plump (fem.)"; but not nouns like jarrāʾ "runner", ḥaddāʾ "camel driver", lawwāʾ "wryneck" ) then return "di" elseif rfind(stem, AMAQ .. "$") then -- kaslā, ḏikrā (spelled with alif maqṣūra) return "inv" elseif rfind(stem, "[" .. ALIF .. SK .. "]" .. Y .. AOPTA .. "$") then -- dunyā, hadāyā (spelled with tall alif after yāʾ) return "inv" elseif rfind(stem, ALIF .. "$") then -- kāmērā, lībiyā (spelled with tall alif; we catch dunyā and hadāyā above) return "lwinv" elseif rfind(stem, II .. "$") then -- cases like كُوبْرِي kubrī "bridge" and صَوَانِي ṣawānī pl. of ṣīniyya; modern words that would probably end with -in dotrack("ii") return "inv" elseif rfind(stem, UU .. "$") then -- FIXME: Does this occur? Check the tracking dotrack("uu") return "inv" else return "tri" end end -- Replace hamza (of any sort) at the end of a word, possibly followed by -- a nominative case ending or -in or -an, with HAMZA_PH, and replace alif -- madda at the end of a word with HAMZA_PH plus fatḥa + alif. To undo these -- changes, use hamza_seat(). function canon_hamza(word) word = rsub(word, AMAD .. "$", HAMZA_PH .. AA) word = rsub(word, HAMZA_ANY .. "([" .. UN .. U .. IN .. "]?)$", HAMZA_PH .. "%1") word = rsub(word, HAMZA_ANY .. "(" .. AN .. "[" .. ALIF .. AMAQ .. "])$", HAMZA_PH .. "%1") return word end -- Supply the appropriate hamza seat(s) for a placeholder hamza. function hamza_seat(word) if rfind(word, HAMZA_PH) then -- optimization to avoid many regexp substs return ar_utilities.process_hamza(word) end return {word} end --[[ -- Supply the appropriate hamza seat for a placeholder hamza in a combined -- Arabic/translation expression. function split_and_hamza_seat(word) if rfind(word, HAMZA_PH) then -- optimization to avoid many regexp substs local ar, tr = split_arabic_tr(word) -- FIXME: Do something with all values returned ar = ar_utilities.process_hamza(ar)[1] return ar .. "/" .. tr end return word end --]] -- Return stem and type of an argument given the singular stem and whether -- this is a plural argument. WORD may be of the form ARABIC, ARABIC/TR, -- ARABIC:TYPE, ARABIC/TR:TYPE, or TYPE, for Arabic stem ARABIC with -- transliteration TR and of type (i.e. declension) TYPE. If the type -- is omitted, it is auto-detected using detect_type(). If the transliteration -- is omitted, it is auto-transliterated from the Arabic. If only the type -- is present, it is a sound plural type ("sf", "sm" or "awn"), -- in which case the stem and translit are generated from the singular by -- regular rules. SG may be of the form ARABIC/TR or ARABIC. ISFEM is true -- if WORD is a feminine stem. NUM is either "sg", "du" or "pl" according to -- the number of the stem. The return value will be in the ARABIC/TR format. -- -- POS is the part of speech, generally "noun" or "adjective". Used to -- distinguish nouns and adjectives of the فَعْلَان type. There are nouns of -- this type and they generally are triptotes, e.g. قَطْرَان "tar" -- and شَيْطَان "devil". An additional complication is that the user can set -- the POS to something else, like "numeral". We don't use this POS for -- modifiers, where we determine whether they are noun-like or adjective-like -- according to whether mod_idafa= is true. function export.stem_and_type(word, sg, sgtype, isfem, num, pos) local rettype = nil if rfind(word, ":") then local split = rsplit(word, ":") if #split > 2 then error("More than one colon found in argument: '" .. word .. "'") end word, rettype = split[1], split[2] end local ar, tr = split_arabic_tr(word) -- Need to reorder shaddas here so that shadda at the end of a stem -- followed by ʾiʿrāb or a plural ending or whatever can get processed -- correctly. This processing happens in various places so make sure -- we return the reordered Arabic in all circumstances. ar = reorder_shadda(ar) local artr = ar .. "/" .. tr -- Now return split-out ARABIC/TR and TYPE, with shaddas reordered in -- the Arabic. if rettype then return artr, rettype end -- Likewise, do shadda reordering for the singular. local sgar, sgtr = split_arabic_tr(sg) sgar = reorder_shadda(sgar) -- Apply a substitution to the singular Arabic and translit. If a -- substitution could be made, return the combined ARABIC/TR with -- substitutions made; else, return nil. The Arabic has ARFROM -- replaced with ARTO, while the translit has TRFROM replaced with -- TRTO, and if that doesn't match, replace TRFROM2 with TRTO2. local function sub(arfrom, arto, trfrom, trto, trfrom2, trto2, trfrom3, trto3) if rfind(sgar, arfrom) then local arret = rsub(sgar, arfrom, arto) local trret = sgtr if rfind(sgtr, trfrom) then trret = rsub(sgtr, trfrom, trto) elseif trfrom2 and rfind(sgtr, trfrom2) then trret = rsub(sgtr, trfrom2, trto2) elseif trfrom3 and rfind(sgtr, trfrom3) then trret = rsub(sgtr, trfrom3, trto3) elseif not rfind(sgtr, BOGUS_CHAR) then error("Transliteration '" .. sgtr .."' does not have same ending as Arabic '" .. sgar .. "'") end return arret .. "/" .. trret else return nil end end if (num ~= "sg" or not isfem) and (word == "elf" or word == "cdf" or word == "intf" or word == "rf" or word == "f") then error("Inference of form for inflection type '" .. word .. "' only allowed in singular feminine") end if num ~= "du" and word == "d" then error("Inference of form for inflection type '" .. word .. "' only allowed in dual") end if num ~= "pl" and (word == "sfp" or word == "smp" or word == "awnp" or word == "cdp" or word == "sp" or word == "fp" or word == "p") then error("Inference of form for inflection type '" .. word .. "' only allowed in plural") end local function is_intensive_adj(ar) return rfind(ar, "^" .. CONS .. A .. CONS .. SK .. CONS .. AOPTA .. N .. UOPT .. "$") or rfind(ar, "^" .. CONS .. A .. CONS .. SK .. AMAD .. N .. UOPT .. "$") or rfind(ar, "^" .. CONS .. A .. CONS .. SH .. AOPTA .. N .. UOPT .. "$") end local function is_feminine_cd_adj(ar) return pos == "adjective" and (rfind(ar, "^" .. CONS .. A .. CONS .. SK .. CONS .. AOPTA .. HAMZA .. UOPT .. "$") or -- ʾḥamrāʾ/ʿamyāʾ/bayḍāʾ rfind(ar, "^" .. CONS .. A .. CONS .. SH .. AOPTA .. HAMZA .. UOPT .. "$") -- laffāʾ ) end local function is_elcd_adj(ar) return rfind(ar, ELCD_START .. SK .. CONS .. A .. CONS .. UOPT .. "$") or -- ʾabyaḍ "white", ʾakbar "greater" rfind(ar, ELCD_START .. A .. CONS .. SH .. UOPT .. "$") or -- ʾalaff "plump", ʾaqall "fewer" rfind(ar, ELCD_START .. SK .. CONS .. AAMAQ .. "$") or -- ʾaʿmā "blind", ʾadnā "lower" rfind(ar, "^" .. AMAD .. CONS .. A .. CONS .. UOPT .. "$") -- ʾālam "more painful", ʾāḵar "other" end if word == "?" or (rfind(word, "^[a-z][a-z]*$") and sgtype == "?") then --if 'word' is a type, actual value inferred from sg; if sgtype is ?, --propagate it to all derived types return "", "?" end if word == "intf" then if not is_intensive_adj(sgar) then error("Singular stem not in CACCān form: " .. sgar) end local ret = ( sub(AMAD .. N .. UOPT .. "$", AMAD, "nu?$", "") or -- ends in -ʾān sub(AOPTA .. N .. UOPT .. "$", AMAQ, "nu?$", "") -- ends in -ān ) return ret, "inv" end if word == "elf" then local ret = ( sub(ELCD_START .. SK .. "[" .. Y .. W .. "]" .. A .. CONSPAR .. UOPT .. "$", "%1" .. UU .. "%2" .. AMAQ, "ʾa(.)[yw]a(.)u?", "%1ū%2ā") or -- ʾajyad sub(ELCD_START .. SK .. CONSPAR .. A .. CONSPAR .. UOPT .. "$", "%1" .. U .. "%2" .. SK .. "%3" .. AMAQ, "ʾa(.)(.)a(.)u?", "%1u%2%3ā") or -- ʾakbar sub(ELCD_START .. A .. CONSPAR .. SH .. UOPT .. "$", "%1" .. U .. "%2" .. SH .. AMAQ, "ʾa(.)a(.)%2u?", "%1u%2%2ā") or -- ʾaqall sub(ELCD_START .. SK .. CONSPAR .. AAMAQ .. "$", "%1" .. U .. "%2" .. SK .. Y .. ALIF, "ʾa(.)(.)ā", "%1u%2yā") or -- ʾadnā sub("^" .. AMAD .. CONSPAR .. A .. CONSPAR .. UOPT .. "$", HAMZA_ON_ALIF .. U .. "%1" .. SK .. "%2" .. AMAQ, "ʾā(.)a(.)u?", "ʾu%1%2ā") -- ʾālam "more painful", ʾāḵar "other" ) if not ret then error("Singular stem not an elative adjective: " .. sgar) end return ret, "inv" end if word == "cdf" then local ret = ( sub(ELCD_START .. SK .. CONSPAR .. A .. CONSPAR .. UOPT .. "$", "%1" .. A .. "%2" .. SK .. "%3" .. AA .. HAMZA, "ʾa(.)(.)a(.)u?", "%1a%2%3āʾ") or -- ʾaḥmar sub(ELCD_START .. A .. CONSPAR .. SH .. UOPT .. "$", "%1" .. A .. "%2" .. SH .. AA .. HAMZA, "ʾa(.)a(.)%2u?", "%1a%2%2āʾ") or -- ʾalaff sub(ELCD_START .. SK .. CONSPAR .. AAMAQ .. "$", "%1" .. A .. "%2" .. SK .. Y .. AA .. HAMZA, "ʾa(.)(.)ā", "%1a%2yāʾ") -- ʾaʿmā ) if not ret then error("Singular stem not a color/defect adjective: " .. sgar) end return ret, "cd" -- so plural will be correct end -- Regular feminine -- add ة, possibly with stem modifications if word == "rf" then sgar = canon_hamza(sgar) if rfind(sgar, TAM .. UNUOPT .. "$") then --Don't do this or we have problems when forming singulative from --collective with a construct modifier that's feminine --error("Singular stem is already feminine: " .. sgar) return sgar .. "/" .. sgtr, "tri" end local ret = ( sub(AN .. "[" .. ALIF .. AMAQ .. "]$", AAH, "an$", "āh") or -- ends in -an sub(IN .. "$", IY .. AH, "in$", "iya") or -- ends in -in sub(AOPT .. "[" .. ALIF .. AMAQ .. "]$", AAH, "ā$", "āh") or -- ends in alif or alif maqṣūra -- We separate the ʾiʿrāb and no-ʾiʿrāb cases even though we can -- do a single Arabic regexp to cover both because we want to -- remove u(n) from the translit only when ʾiʿrāb is present to -- lessen the risk of removing -un in the actual stem. We also -- allow for cases where the ʾiʿrāb is present in Arabic but not -- in translit. sub(UNU .. "$", AH, "un?$", "a", "$", "a") or -- anything else + -u(n) sub("$", AH, "$", "a") -- anything else ) return ret, "tri" end if word == "f" then if sgtype == "cd" then return export.stem_and_type("cdf", sg, sgtype, true, "sg", pos) elseif sgtype == "el" then return export.stem_and_type("elf", sg, sgtype, true, "sg", pos) elseif sgtype =="di" and is_intensive_adj(sgar) then return export.stem_and_type("intf", sg, sgtype, true, "sg", pos) elseif sgtype == "di" and is_elcd_adj(sgar) then -- If form is elative or color-defect, we don't know which of -- the two it is, and each has a special feminine which isn't -- the regular "just add ة", so shunt to unknown. This will -- ensure that ?'s appear in place of the inflection -- also -- for dual and plural. return export.stem_and_type("?", sg, sgtype, true, "sg", pos) else return export.stem_and_type("rf", sg, sgtype, true, "sg", pos) end end if word == "rm" then sgar = canon_hamza(sgar) --Don't do this or we have problems when forming collective from --singulative with a construct modifier that's not feminine, --e.g. شَجَرَة التُفَّاح --if not rfind(sgar, TAM .. UNUOPT .. "$") then -- error("Singular stem is not feminine: " .. sgar) --end local ret = ( sub(AAH .. UNUOPT .. "$", AN .. AMAQ, "ātun?$", "an", "ā[ht]$", "an") or -- in -āh sub(IY .. AH .. UNUOPT .. "$", IN, "iyatun?$", "in", "iya$", "in") or -- ends in -iya sub(AOPT .. TAM .. UNUOPT .. "$", "", "atun?$", "", "a$", "") or --ends in -a sub("$", "", "$", "") -- do nothing ) return ret, "tri" end if word == "m" then -- FIXME: handle cd (color-defect) -- FIXME: handle el (elative) -- FIXME: handle int (intensive) return export.stem_and_type("rm", sg, sgtype, false, "sg", pos) end -- The plural used for feminine adjectives. If the singular type is -- color/defect or it looks like a feminine color/defect adjective, -- use color/defect plural. Otherwise shunt to sound feminine plural. if word == "fp" then if sgtype == "cd" or is_feminine_cd_adj(sgar) then return export.stem_and_type("cdp", sg, sgtype, true, "pl", pos) else return export.stem_and_type("sfp", sg, sgtype, true, "pl", pos) end end if word == "sp" then if sgtype == "cd" then return export.stem_and_type("cdp", sg, sgtype, isfem, "pl", pos) elseif isfem then return export.stem_and_type("sfp", sg, sgtype, true, "pl", pos) elseif sgtype == "an" then return export.stem_and_type("awnp", sg, sgtype, false, "pl", pos) else return export.stem_and_type("smp", sg, sgtype, false, "pl", pos) end end -- Conservative plural, as used for masculine plural adjectives. -- If singular type is color-defect, shunt to color-defect plural; else -- shunt to unknown, so ? appears in place of the inflections. if word == "p" then if sgtype == "cd" then return export.stem_and_type("cdp", sg, sgtype, isfem, "pl", pos) else return export.stem_and_type("?", sg, sgtype, isfem, "pl", pos) end end -- Special plural used for paucal plurals of singulatives. If ends in -ة -- (most common), use strong feminine plural; if ends with -iyy (next -- most common), use strong masculine plural; ends default to "p" -- (conservative plural). if word == "paucp" then if rfind(sgar, TAM .. UNUOPT .. "$") then return export.stem_and_type("sfp", sg, sgtype, true, "pl", pos) elseif rfind(sgar, IY .. SH .. UNUOPT .. "$") then return export.stem_and_type("smp", sg, sgtype, false, "pl", pos) else return export.stem_and_type("p", sg, sgtype, isfem, "pl", pos) end end if word == "d" then sgar = canon_hamza(sgar) local ret = ( sub(AN .. "[" .. ALIF .. AMAQ .. "]$", AY .. AAN, "an$", "ayān") or -- ends in -an sub(IN .. "$", IY .. AAN, "in$", "iyān") or -- ends in -in sgtype == "lwinv" and sub(AOPTA .. "$", AT .. AAN, "[āa]$", "atān") or -- lwinv, ends in alif; allow translit with short -a sub(AOPT .. "[" .. ALIF .. AMAQ .. "]$", AY .. AAN, "ā$", "ayān") or -- ends in alif or alif maqṣūra -- We separate the ʾiʿrāb and no-ʾiʿrāb cases even though we can -- do a single Arabic regexp to cover both because we want to -- remove u(n) from the translit only when ʾiʿrāb is present to -- lessen the risk of removing -un in the actual stem. We also -- allow for cases where the ʾiʿrāb is present in Arabic but not -- in translit. -- -- NOTE: Collapsing the "h$" and "$" cases into "h?$" doesn't work -- in the case of words ending in -āh, which end up having the -- translit end in -tāntān. sub(TAM .. UNU .. "$", T .. AAN, "[ht]un?$", "tān", "h$", "tān", "$", "tān") or -- ends in tāʾ marbuṭa + -u(n) sub(TAM .. "$", T .. AAN, "h$", "tān", "$", "tān") or -- ends in tāʾ marbuṭa -- Same here as above sub(UNU .. "$", AAN, "un?$", "ān", "$", "ān") or -- anything else + -u(n) sub("$", AAN, "$", "ān") -- anything else ) return ret, "d" end -- Strong feminine plural in -āt, possibly with stem modifications if word == "sfp" then sgar = canon_hamza(sgar) sgar = rsub(sgar, AMAD .. "(" .. TAM .. UNUOPT .. ")$", HAMZA_PH .. AA .. "%1") sgar = rsub(sgar, HAMZA_ANY .. "(" .. AOPT .. TAM .. UNUOPT .. ")$", HAMZA_PH .. "%1") local ret = ( sub(AOPTA .. TAM .. UNUOPT .. "$", AYAAT, "ā[ht]$", "ayāt", "ātun?$", "ayāt") or -- ends in -āh sub(AOPT .. TAM .. UNUOPT .. "$", AAT, "a$", "āt", "atun?$", "āt") or -- ends in -a sub(AN .. "[" .. ALIF .. AMAQ .. "]$", AYAAT, "an$", "ayāt") or -- ends in -an sub(IN .. "$", IY .. AAT, "in$", "iyāt") or -- ends in -in sgtype == "inv" and ( sub(AOPT .. "[" .. ALIF .. AMAQ .. "]$", AYAAT, "ā$", "ayāt") -- ends in alif or alif maqṣūra ) or sgtype == "lwinv" and ( sub(AOPTA .. "$", AAT, "[āa]$", "āt") -- loanword ending in tall alif; allow translit with short -a ) or -- We separate the ʾiʿrāb and no-ʾiʿrāb cases even though we can -- do a single Arabic regexp to cover both because we want to -- remove u(n) from the translit only when ʾiʿrāb is present to -- lessen the risk of removing -un in the actual stem. We also -- allow for cases where the ʾiʿrāb is present in Arabic but not -- in translit. sub(UNU .. "$", AAT, "un?$", "āt", "$", "āt") or -- anything else + -u(n) sub("$", AAT, "$", "āt") -- anything else ) return ret, "sfp" end if word == "smp" then sgar = canon_hamza(sgar) local ret = ( sub(IN .. "$", UUN, "in$", "ūn") or -- ends in -in -- See comments above for why we have two cases, one for UNU and -- one for non-UNU sub(UNU .. "$", UUN, "un?$", "ūn", "$", "ūn") or -- anything else + -u(n) sub("$", UUN, "$", "ūn") -- anything else ) return ret, "smp" end -- Color/defect plural; singular must be masculine or feminine -- color/defect adjective if word == "cdp" then local ret = ( sub(ELCD_START .. SK .. W .. A .. CONSPAR .. UOPT .. "$", "%1" .. UU .. "%2", "ʾa(.)wa(.)u?", "%1ū%2") or -- ʾaswad sub(ELCD_START .. SK .. Y .. A .. CONSPAR .. UOPT .. "$", "%1" .. II .. "%2", "ʾa(.)ya(.)u?", "%1ī%2") or -- ʾabyaḍ sub(ELCD_START .. SK .. CONSPAR .. A .. CONSPAR .. UOPT .. "$", "%1" .. U .. "%2" .. SK .. "%3", "ʾa(.)(.)a(.)u?", "%1u%2%3") or -- ʾaḥmar sub(ELCD_START .. A .. CONSPAR .. SH .. UOPT .. "$", "%1" .. U .. "%2" .. SH, "ʾa(.)a(.)%2u?", "%1u%2%2") or -- ʾalaff sub(ELCD_START .. SK .. CONSPAR .. AAMAQ .. "$", "%1" .. U .. "%2" .. Y, "ʾa(.)(.)ā", "%1u%2y") or -- ʾaʿmā sub("^" .. CONSPAR .. A .. W .. SKOPT .. CONSPAR .. AA .. HAMZA .. UOPT .. "$", "%1" .. UU .. "%2", "(.)aw(.)āʾu?", "%1ū%2") or -- sawdāʾ sub("^" .. CONSPAR .. A .. Y .. SKOPT .. CONSPAR .. AA .. HAMZA .. UOPT .. "$", "%1" .. II .. "%2", "(.)ay(.)āʾu?", "%1ī%2") or -- bayḍāʾ sub("^" .. CONSPAR .. A .. CONSPAR .. SK .. CONSPAR .. AA .. HAMZA .. UOPT .. "$", "%1" .. U .. "%2" .. SK .. "%3", "(.)a(.)(.)āʾu?", "%1u%2%3") or -- ʾḥamrāʾ/ʿamyāʾ sub("^" .. CONSPAR .. A .. CONSPAR .. SH .. AA .. HAMZA .. UOPT .. "$", "%1" .. U .. "%2" .. SH, "(.)a(.)%2āʾu?", "%1u%2%2") -- laffāʾ ) if not ret then error("For 'cdp', singular must be masculine or feminine color/defect adjective: " .. sgar) end return ret, "tri" end if word == "awnp" then local ret = ( sub(AN .. "[" .. ALIF .. AMAQ .. "]$", AWSK .. N, "an$", "awn") -- ends in -an ) if not ret then error("For 'awnp', singular must end in -an: " .. sgar) end return ret, "awnp" end return artr, export.detect_type(ar, isfem, num, pos) end -- local outersep = " <small style=\"color: #888\">or</small> " -- need LRM here so multiple Arabic plurals end up agreeing in order with -- the transliteration local outersep = LRM .. "; " local innersep = LRM .. "/" -- Subfunction of show_form(), used to implement recursively generating -- all combinations of elements from FORM and from each of the items in -- LIST_OF_MODS, both of which are either arrays of strings or arrays of -- arrays of strings, where the strings are in the form ARABIC/TRANSLIT, -- as described in show_form(). TRAILING_ARTRMODS is an array of ARTRMOD -- items, each of which is a two-element array of ARMOD (Arabic) and TRMOD -- (transliteration), accumulating all of the suffixes generated so far -- in the recursion process. Each time we recur we take the last MOD item -- off of LIST_OF_MODS, separate each element in MOD into its Arabic and -- Latin parts and to each Arabic/Latin pair we add all elements in -- TRAILING_ARTRMODS, passing the newly generated list of ARTRMOD items -- down the next recursion level with the shorter LIST_OF_MODS. We end up -- returning a string to insert into the Wiki-markup table. function show_form_1(form, list_of_mods, trailing_artrmods, use_parens) if #list_of_mods == 0 then local arabicvals = {} local latinvals = {} local parenvals = {} -- Accumulate separately the Arabic and transliteration into -- ARABICVALS and LATINVALS, then concatenate each down below. -- However, if USE_PARENS, we put each transliteration directly -- after the corresponding Arabic, in parens, and put the results -- in PARENVALS, which get concatenated below. (This is used in the -- title of the declension table.) for _, artrmod in ipairs(trailing_artrmods) do assert(#artrmod == 2) local armod = artrmod[1] local trmod = artrmod[2] for _, subform in ipairs(form) do local ar_span, tr_span local ar_subspan, tr_subspan local ar_subspans = {} local tr_subspans = {} if type(subform) ~= "table" then subform = {subform} end for _, subsubform in ipairs(subform) do local arabic, translit = split_arabic_tr(subsubform) if arabic == "-" then ar_subspan = "&mdash;" tr_subspan = "&mdash;" else tr_subspan = (rfind(translit, BOGUS_CHAR) or rfind(trmod, BOGUS_CHAR)) and "?" or require("Module:script utilities").tag_translit(translit .. trmod, lang, "default", 'style="color: #888;"') -- implement elision of al- after vowel tr_subspan = rsub(tr_subspan, "([aeiouāēīōū][ %-])a([sšṣtṯṭdḏḍzžẓnrḷl]%-)", "%1%2") tr_subspan = rsub(tr_subspan, "([aeiouāēīōū][ %-])a(llāh)", "%1%2") ar_subspan = m_links.full_link({lang = lang, term = arabic .. armod, tr = "-"}) end insert_if_not(ar_subspans, ar_subspan) insert_if_not(tr_subspans, tr_subspan) end ar_span = table.concat(ar_subspans, innersep) tr_span = table.concat(tr_subspans, innersep) if use_parens then table.insert(parenvals, ar_span .. " (" .. tr_span .. ")") else table.insert(arabicvals, ar_span) table.insert(latinvals, tr_span) end end end if use_parens then return table.concat(parenvals, outersep) else local arabic_span = table.concat(arabicvals, outersep) local latin_span = table.concat(latinvals, outersep) return arabic_span .. "<br />" .. latin_span end else local last_mods = table.remove(list_of_mods) local artrmods = {} for _, mod in ipairs(last_mods) do if type(mod) ~= "table" then mod = {mod} end for _, submod in ipairs(mod) do local armod, trmod = split_arabic_tr(submod) -- If the value is -, we need to create a blank entry -- rather than skipping it; if we have no entries at any -- level, then there will be no overall entries at all -- because the inside of the loop at the next level will -- never be executed. if armod == "-" then armod = "" trmod = "" end if armod ~= "" then armod = ' ' .. armod end if trmod ~= "" then trmod = ' ' .. trmod end for _, trailing_artrmod in ipairs(trailing_artrmods) do local trailing_armod = trailing_artrmod[1] local trailing_trmod = trailing_artrmod[2] armod = armod .. trailing_armod trmod = trmod .. trailing_trmod artrmod = {armod, trmod} table.insert(artrmods, artrmod) end end end return show_form_1(form, list_of_mods, artrmods, use_parens) end end -- Generate a string to substitute into a particular form in a Wiki-markup -- table. FORM is the set of inflected forms corresponding to the base, -- either an array of strings (referring e.g. to different possible plurals) -- or an array of arrays of strings (the first level referring e.g. to -- different possible plurals and the inner level referring typically to -- hamza-spelling variants). LIST_OF_MODS is an array of MODS elements, one -- per modifier. Each MODS element is the set of inflected forms corresponding -- to the modifier and is of the same form as FORM, i.e. an array of strings -- or an array of arrays of strings. Each string is typically of the form -- "ARABIC/TRANSLIT", i.e. an Arabic string and a Latin string separated -- by a slash. We loop over all possible combinations of elements from -- each array; this requires recursion. function show_form(form, list_of_mods, use_parens) if not form then return "&mdash;" elseif type(form) ~= "table" then error("a non-table value was given in the list of inflected forms.") end if #form == 0 then return "&mdash;" end -- We need to start the recursion with the third parameter containing -- one blank element rather than no elements, otherwise no elements -- will be propagated to the next recursion level. return show_form_1(form, list_of_mods, {{"", ""}}, use_parens) end -- Create a Wiki-markup table using the values in DATA and the template in -- WIKICODE. function make_table(data, wikicode) -- Function used as replace arg of call to rsub(). Replace the -- specified param with its (HTML) value. The param references appear -- as {{{PARAM}}} in the wikicode. local function repl(param) if param == "pos" then return data.pos elseif param == "info" then return data.title and " (" .. data.title .. ")" or "" elseif rfind(param, "type$") then return table.concat(data.forms[param] or {"&mdash;"}, outersep) else local list_of_mods = {} for _, mod in ipairs(mod_list) do local mods = data.forms[mod .. "_" .. param] if not mods or #mods == 0 then -- We need one blank element rather than no element, -- otherwise no elements will be propagated from one -- recursion level to the next. mods = {""} end table.insert(list_of_mods, mods) end return show_form(data.forms[param], list_of_mods, param == "lemma") end end -- For states not in the list of those to be displayed, clear out the -- corresponding inflections so they appear as a dash. for _, state in ipairs(data.allstates) do if not contains(data.states, state) then for _, numgen in ipairs(data.numgens()) do for _, case in ipairs(data.allcases) do data.forms[case .. "_" .. numgen .. "_" .. state] = {} end end end end return rsub(wikicode, "{{{([a-z_]+)}}}", repl) .. m_utilities.format_categories(data.categories, lang) end -- Generate part of the noun table for a given number spec NUM (e.g. sg) function generate_noun_num(num) return [=[! style="background: #CDCDCD;" | Indefinite ! style="background: #CDCDCD;" | Definite ! style="background: #CDCDCD;" | Construct |- ! style="background: #EFEFEF;" | Informal | {{{inf_]=] .. num .. [=[_ind}}} | {{{inf_]=] .. num .. [=[_def}}} | {{{inf_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Nominative | {{{nom_]=] .. num .. [=[_ind}}} | {{{nom_]=] .. num .. [=[_def}}} | {{{nom_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Accusative | {{{acc_]=] .. num .. [=[_ind}}} | {{{acc_]=] .. num .. [=[_def}}} | {{{acc_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Genitive | {{{gen_]=] .. num .. [=[_ind}}} | {{{gen_]=] .. num .. [=[_def}}} | {{{gen_]=] .. num .. [=[_con}}} ]=] end -- Make the noun table function make_noun_table(data) local wikicode = [=[<div class="NavFrame"> <div class="NavHead">Declension of {{{pos}}} {{{lemma}}}</div> <div class="NavContent"> {| class="inflection-table" style="border-width: 1px; border-collapse: collapse; background:#F9F9F9; text-align:center; width:100%;" ]=] for _, num in ipairs(data.numbers) do if num == "du" then wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" | Dual ]=] .. generate_noun_num("du") else wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=2 | ]=] .. data.engnumberscap[num] .. "\n" .. [=[ ! style="background: #CDCDCD;" colspan=3 | {{{]=] .. num .. [=[_type}}} |- ]=] .. generate_noun_num(num) end end wikicode = wikicode .. [=[|} </div> </div>]=] return make_table(data, wikicode) end -- Generate part of the gendered-noun table for a given numgen spec -- NUM (e.g. m_sg) function generate_gendered_noun_num(num) return [=[|- ! style="background: #CDCDCD;" | Indefinite ! style="background: #CDCDCD;" | Definite ! style="background: #CDCDCD;" | Construct ! style="background: #CDCDCD;" | Indefinite ! style="background: #CDCDCD;" | Definite ! style="background: #CDCDCD;" | Construct |- ! style="background: #EFEFEF;" | Informal | {{{inf_m_]=] .. num .. [=[_ind}}} | {{{inf_m_]=] .. num .. [=[_def}}} | {{{inf_m_]=] .. num .. [=[_con}}} | {{{inf_f_]=] .. num .. [=[_ind}}} | {{{inf_f_]=] .. num .. [=[_def}}} | {{{inf_f_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Nominative | {{{nom_m_]=] .. num .. [=[_ind}}} | {{{nom_m_]=] .. num .. [=[_def}}} | {{{nom_m_]=] .. num .. [=[_con}}} | {{{nom_f_]=] .. num .. [=[_ind}}} | {{{nom_f_]=] .. num .. [=[_def}}} | {{{nom_f_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Accusative | {{{acc_m_]=] .. num .. [=[_ind}}} | {{{acc_m_]=] .. num .. [=[_def}}} | {{{acc_m_]=] .. num .. [=[_con}}} | {{{acc_f_]=] .. num .. [=[_ind}}} | {{{acc_f_]=] .. num .. [=[_def}}} | {{{acc_f_]=] .. num .. [=[_con}}} |- ! style="background: #EFEFEF;" | Genitive | {{{gen_m_]=] .. num .. [=[_ind}}} | {{{gen_m_]=] .. num .. [=[_def}}} | {{{gen_m_]=] .. num .. [=[_con}}} | {{{gen_f_]=] .. num .. [=[_ind}}} | {{{gen_f_]=] .. num .. [=[_def}}} | {{{gen_f_]=] .. num .. [=[_con}}} ]=] end -- Make the gendered noun table function make_gendered_noun_table(data) local wikicode = [=[<div class="NavFrame"> <div class="NavHead">Declension of {{{pos}}} {{{lemma}}}</div> <div class="NavContent"> {| class="inflection-table" style="border-width: 1px; border-collapse: collapse; background:#F9F9F9; text-align:center; width:100%;" ]=] for _, num in ipairs(data.numbers) do if num == "du" then wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=2 | Dual ! style="background: #CDCDCD;" colspan=3 | Masculine ! style="background: #CDCDCD;" colspan=3 | Feminine ]=] .. generate_gendered_noun_num("du") else wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=3 | ]=] .. data.engnumberscap[num] .. "\n" .. [=[ ! style="background: #CDCDCD;" colspan=3 | Masculine ! style="background: #CDCDCD;" colspan=3 | Feminine |- ! style="background: #CDCDCD;" colspan=3 | {{{m_]=] .. num .. [=[_type}}} ! style="background: #CDCDCD;" colspan=3 | {{{f_]=] .. num .. [=[_type}}} ]=] .. generate_gendered_noun_num(num) end end wikicode = wikicode .. [=[|} </div> </div>]=] return make_table(data, wikicode) end -- Generate part of the adjective table for a given numgen spec NUM (e.g. m_sg) function generate_adj_num(num) return [=[|- ! style="background: #CDCDCD;" | Indefinite ! style="background: #CDCDCD;" | Definite ! style="background: #CDCDCD;" | Indefinite ! style="background: #CDCDCD;" | Definite |- ! style="background: #EFEFEF;" | Informal | {{{inf_m_]=] .. num .. [=[_ind}}} | {{{inf_m_]=] .. num .. [=[_def}}} | {{{inf_f_]=] .. num .. [=[_ind}}} | {{{inf_f_]=] .. num .. [=[_def}}} |- ! style="background: #EFEFEF;" | Nominative | {{{nom_m_]=] .. num .. [=[_ind}}} | {{{nom_m_]=] .. num .. [=[_def}}} | {{{nom_f_]=] .. num .. [=[_ind}}} | {{{nom_f_]=] .. num .. [=[_def}}} |- ! style="background: #EFEFEF;" | Accusative | {{{acc_m_]=] .. num .. [=[_ind}}} | {{{acc_m_]=] .. num .. [=[_def}}} | {{{acc_f_]=] .. num .. [=[_ind}}} | {{{acc_f_]=] .. num .. [=[_def}}} |- ! style="background: #EFEFEF;" | Genitive | {{{gen_m_]=] .. num .. [=[_ind}}} | {{{gen_m_]=] .. num .. [=[_def}}} | {{{gen_f_]=] .. num .. [=[_ind}}} | {{{gen_f_]=] .. num .. [=[_def}}} ]=] end -- Make the adjective table function make_adj_table(data) local wikicode = [=[<div class="NavFrame"> <div class="NavHead">Declension of {{{pos}}} {{{lemma}}}</div> <div class="NavContent"> {| class="inflection-table" style="border-width: 1px; border-collapse: collapse; background:#F9F9F9; text-align:center; width:100%;" ]=] if contains(data.numbers, "sg") then wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=3 | Singular ! style="background: #CDCDCD;" colspan=2 | Masculine ! style="background: #CDCDCD;" colspan=2 | Feminine |- ! style="background: #CDCDCD;" colspan=2 | {{{m_sg_type}}} ! style="background: #CDCDCD;" colspan=2 | {{{f_sg_type}}} ]=] .. generate_adj_num("sg") end if contains(data.numbers, "du") then wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=2 | Dual ! style="background: #CDCDCD;" colspan=2 | Masculine ! style="background: #CDCDCD;" colspan=2 | Feminine ]=] .. generate_adj_num("du") end if contains(data.numbers, "pl") then wikicode = wikicode .. [=[|- ! style="background: #CDCDCD;" rowspan=3 | Plural ! style="background: #CDCDCD;" colspan=2 | Masculine ! style="background: #CDCDCD;" colspan=2 | Feminine |- ! style="background: #CDCDCD;" colspan=2 | {{{m_pl_type}}} ! style="background: #CDCDCD;" colspan=2 | {{{f_pl_type}}} ]=] .. generate_adj_num("pl") end wikicode = wikicode .. [=[|} </div> </div>]=] return make_table(data, wikicode) end return export -- For Vim, so we get 4-space tabs -- vim: set ts=4 sw=4 noet: m36gr33snj5eyk0siudfgiifby6djiy Module:yesno 828 7077 22395 2022-09-26T10:07:33Z EnsiklopediaXylon 3278 Bog cusub: -- 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) ==... 22395 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 Module:links/data 828 7078 22399 2022-09-26T10:10:34Z EnsiklopediaXylon 3278 Bog cusub: 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", "n... 22399 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", ["S:t Michel"] = "S:t Michel", ["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 7zsizb8zglitbtewtcqk13alr4hasb9 waraftan 0 7079 22400 2022-09-26T14:19:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waraftan''' === Tarjumaad === * {{en}}: restlessness, 22400 wikitext text/x-wiki {{-so-}} == Magac == '''waraftan''' === Tarjumaad === * {{en}}: restlessness, dcbg2woyb7vk8he83idxx2qucant80u weheshi 0 7080 30103 28289 2024-08-23T18:48:55Z Girligaanshub 3150 30103 wikitext text/x-wiki {{-so-}} == Magac == '''weheshi''' === Tarjumaad === *{{en}}: accompany * {{en}}: companion, ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] bwimgnt82hmr2a3w3hrsabcejdy0gf1 waano 0 7081 29311 22402 2024-08-01T06:56:56Z Girligaanshub 3150 29311 wikitext text/x-wiki {{-so-}} == Magac == '''waano''' === Tarjumaad === * {{en}}: advice, ===Synonyms=== *[[baraarug]], [[wacyigeli]], [[wacyigelinta]], [[ogeysii]], [[waano]], 7jmex0y7xon0kygo28souacg50gr7dc wadani 0 7082 22403 2022-09-26T14:21:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadani''' === Tarjumaad === * {{en}}: patriot, honorable person 22403 wikitext text/x-wiki {{-so-}} == Magac == '''wadani''' === Tarjumaad === * {{en}}: patriot, honorable person 07r4mq9chxpaoy8v2uffwmc4iw1nkm1 wadar 0 7083 25323 22404 2023-10-15T12:06:29Z Girligaanshub 3150 25323 wikitext text/x-wiki {{-so-}} == Magac == '''wadar''' === Tarjumaad === * {{en}}: totality, plurality, plural m1dyz1dym37gsmgxnt80rsqciaxb0p4 qarqar 0 7084 27330 24411 2024-05-10T08:13:24Z Girligaanshub 3150 27330 wikitext text/x-wiki {{-so-}} == Magac == '''qaqar''' === Tarjumaad === * {{en}}: trapezius * agitation, convulsion * {{en}}: mountain range sscz3zr2xje9yg532kn61ozrbwad2lg wabaxso 0 7085 22406 2022-09-26T14:47:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wabaxso''' === Tarjumaad === * {{en}}: satiate, 22406 wikitext text/x-wiki {{-so-}} == Magac == '''wabaxso''' === Tarjumaad === * {{en}}: satiate, m9wooyyb80h4jnax48l9mdg18t1tm35 dhallin 0 7086 22407 2022-09-26T14:48:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhallin''' === Tarjumaad === * {{en}}: youth, 22407 wikitext text/x-wiki {{-so-}} == Magac == '''dhallin''' === Tarjumaad === * {{en}}: youth, cslowqdh97yr0nfmwklmemtt2fq5ybo waabo 0 7087 31978 28616 2024-10-26T17:53:42Z Girligaanshub 3150 31978 wikitext text/x-wiki {{-so-}} == Magac == '''waabo''' === Tarjumaad === * {{en}}: hesitate ===Synonyms=== *[[habrado]], [[waabo]] t4irc4iq7kps8q8uwrq86xbad1cily2 bishaaro 0 7088 32281 26405 2024-11-06T05:10:40Z Girligaanshub 3150 32281 wikitext text/x-wiki {{-so-}} == Magac == '''bishaaro''' === Tarjumaad === * {{en}}: bless box3is0i5q84p3h9ddl2wxcy90nqjjw falaad 0 7089 22410 2022-09-26T15:08:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''falaad''' === Tarjumaad === * {{en}}: character, 22410 wikitext text/x-wiki {{-so-}} == Magac == '''falaad''' === Tarjumaad === * {{en}}: character, 9vkgou8yu0shupu4764pfhgjb9j1zg6 faseed 0 7090 22411 2022-09-26T15:09:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faseed''' === Tarjumaad === * {{en}}: candidness, frankness, sincerity 22411 wikitext text/x-wiki {{-so-}} == Magac == '''faseed''' === Tarjumaad === * {{en}}: candidness, frankness, sincerity hhh5jbzdw99qteenx58ngu6cw0dovhz feedhhadal 0 7091 22412 2022-09-26T15:12:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''feedh-hadal''' === Tarjumaad === * {{en}}: argument, squaring up, posturing, 22412 wikitext text/x-wiki {{-so-}} == Magac == '''feedh-hadal''' === Tarjumaad === * {{en}}: argument, squaring up, posturing, jzuuu8wudxablxwbonu9gzr50mzytpe fidmo 0 7092 22413 2022-09-26T15:12:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fidmo''' === Tarjumaad === * {{en}}: malice, 22413 wikitext text/x-wiki {{-so-}} == Magac == '''fidmo''' === Tarjumaad === * {{en}}: malice, km1eeq9fy6vhttgv1tmpgej2gbswvdp foore 0 7093 22414 2022-09-26T15:13:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foore''' === Tarjumaad === * {{en}}: breeze, 22414 wikitext text/x-wiki {{-so-}} == Magac == '''foore''' === Tarjumaad === * {{en}}: breeze, lb3ssky70g0o4t6phfrj6himh5t2cwv fakayoon 0 7094 22415 2022-09-26T15:13:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fakayoon''' === Tarjumaad === * {{en}}: watchful 22415 wikitext text/x-wiki {{-so-}} == Magac == '''fakayoon''' === Tarjumaad === * {{en}}: watchful 3j3n9hppmu1tavxjpj8eu2xgjvrkorc magacuyaal 0 7095 22416 2022-09-26T15:40:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magacuyaal''' === Tarjumaad === * {{en}}: pronoun, 22416 wikitext text/x-wiki {{-so-}} == Magac == '''magacuyaal''' === Tarjumaad === * {{en}}: pronoun, a2wjoodtbejpwok85waa5ctj58bnp40 isla (magacuyaal) 0 7096 22417 2022-09-26T15:41:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isla''' === Tarjumaad === * {{en}}: self, 22417 wikitext text/x-wiki {{-so-}} == Magac == '''isla''' === Tarjumaad === * {{en}}: self, jjrec8budbxxujs2zgiz0ta0kyjbrq5 bid 0 7097 22419 2022-09-26T16:16:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bid''' === Tarjumaad === * {{en}}: conviction, 22419 wikitext text/x-wiki {{-so-}} == Magac == '''bid''' === Tarjumaad === * {{en}}: conviction, 4z3s2hjs4bwyq22r08sc2919h3z2k4y foon 0 7098 22420 2022-09-26T16:30:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foon''' === Tarjumaad === * {{en}}: glut, gluttony, 22420 wikitext text/x-wiki {{-so-}} == Magac == '''foon''' === Tarjumaad === * {{en}}: glut, gluttony, tp6eqghiojv67vqgiwu7o4dbgq9mp9h fil 0 7099 22735 22421 2022-10-01T15:36:34Z Girligaanshub 3150 22735 wikitext text/x-wiki {{-so-}} == Magac == '''fil''' === Tarjumaad === * {{en}}: expect, assume, believe mvkygigxdysr4xk9nwuqr54q88dqt0w faqri 0 7100 22422 2022-09-26T16:33:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faqri''' === Tarjumaad === * {{en}}: poor, 22422 wikitext text/x-wiki {{-so-}} == Magac == '''faqri''' === Tarjumaad === * {{en}}: poor, ssvhtdyrdvmrklrh0brriuzdue9681i faqiir 0 7101 31778 31777 2024-10-25T20:40:34Z Girligaanshub 3150 Girligaanshub moved page [[faqir]] to [[faqiir]] 31777 wikitext text/x-wiki {{-so-}} == Magac == '''faqir''' === Tarjumaad === * {{en}}: poor, ===Synonyms=== *[[miskeen]], [[faqiir]] hhua2hylypdjrjjfl4jpxvydzblsuc5 farqi 0 7102 22424 2022-09-26T16:35:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farqi''' === Tarjumaad === * {{en}}: difference, 22424 wikitext text/x-wiki {{-so-}} == Magac == '''farqi''' === Tarjumaad === * {{en}}: difference, lbu80q2875as4bsq8rbcvo689ovgtl8 tiigsasho 0 7103 24517 22425 2023-09-01T20:29:42Z Girligaanshub 3150 24517 wikitext text/x-wiki {{-so-}} == Magac == '''tiigsasho''' === Tarjumaad === * {{en}}: stretched, rpyxzuzs0wulr9s6l5ozce5w3tf2oi2 oomi 0 7104 22426 2022-09-26T17:53:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomi''' === Tarjumaad === * {{en}}: antagonize, 22426 wikitext text/x-wiki {{-so-}} == Magac == '''oomi''' === Tarjumaad === * {{en}}: antagonize, 3ztbidj4cfgssdwtz9gpaey0gstkmlo dhumuc 0 7105 24926 24437 2023-09-15T20:32:06Z Girligaanshub 3150 24926 wikitext text/x-wiki {{-so-}} == Magac == '''dhumuc''' === Tarjumaad === * {{en}}: girth, thickness 3nhk5730ngwg43949jxtxeyc6qstalp xaabi 0 7106 22428 2022-09-26T17:55:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaabi''' === Tarjumaad === * {{en}}: detach, 22428 wikitext text/x-wiki {{-so-}} == Magac == '''xaabi''' === Tarjumaad === * {{en}}: detach, tsasqhqfw1zdplmjkx9o5vfdqd8bt39 dabasid 0 7107 22429 2022-09-26T17:57:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabasid''' === Tarjumaad === * {{en}}: back up, 22429 wikitext text/x-wiki {{-so-}} == Magac == '''dabasid''' === Tarjumaad === * {{en}}: back up, 40jbkpx8vfep0o2ojn0lpf9or9170hc taraar 0 7108 22430 2022-09-26T17:58:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taraar''' === Tarjumaad === * {{en}}: whiplash, 22430 wikitext text/x-wiki {{-so-}} == Magac == '''taraar''' === Tarjumaad === * {{en}}: whiplash, hdmug00xc92e1clgjnblvkv5ip1hh49 tafaq 0 7109 22431 2022-09-26T18:00:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tafaq''' === Tarjumaad === * {{en}}: borehole, 22431 wikitext text/x-wiki {{-so-}} == Magac == '''tafaq''' === Tarjumaad === * {{en}}: borehole, hguw605pp12ossnfkx0u2bmqhqq0y7a tamuux 0 7110 22432 2022-09-26T18:00:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tamuux''' === Tarjumaad === * {{en}}: quicksand, 22432 wikitext text/x-wiki {{-so-}} == Magac == '''tamuux''' === Tarjumaad === * {{en}}: quicksand, n4pnyfmrqx7uxl3sv6b414j3vosu44r ganuun 0 7111 22433 2022-09-26T18:01:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganuun''' === Tarjumaad === * {{en}}: hull, 22433 wikitext text/x-wiki {{-so-}} == Magac == '''ganuun''' === Tarjumaad === * {{en}}: hull, qkh821sj4j1pnwrjp4bkz96dw5kcsxw barax 0 7112 22434 2022-09-26T18:08:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barax''' === Tarjumaad === * {{en}}: milk skimming, skimmed milk, skimmed, skimming 22434 wikitext text/x-wiki {{-so-}} == Magac == '''barax''' === Tarjumaad === * {{en}}: milk skimming, skimmed milk, skimmed, skimming clik99au3407a894gcu1l9rqk6gh2el barxad 0 7113 25060 22435 2023-09-22T16:14:20Z Girligaanshub 3150 25060 wikitext text/x-wiki {{-so-}} == Magac == '''barxad''' === Tarjumaad === * {{en}}: terrace, empty field t6kgjiodt5ae4f4quiqib2aozht2x4p ustaad 0 7114 30894 22436 2024-09-23T04:09:55Z Girligaanshub 3150 30894 wikitext text/x-wiki {{-so-}} == Magac == '''ustaad''' === Tarjumaad === * {{en}}: mentor, ===Synonyms=== *[[bare]], [[macalin]], [[ustaad]] d5tqm3gqjta7iun3cxkeelkobihu6je beyd 0 7115 22437 2022-09-26T18:21:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beyd''' === Tarjumaad === * {{en}}: headquarters, 22437 wikitext text/x-wiki {{-so-}} == Magac == '''beyd''' === Tarjumaad === * {{en}}: headquarters, 7e3ig3o0m8uwir1flow62mfk8ndzlju boggan 0 7116 22438 2022-09-26T18:22:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boggan''' === Tarjumaad === * {{en}}: honorable, respectable 22438 wikitext text/x-wiki {{-so-}} == Magac == '''boggan''' === Tarjumaad === * {{en}}: honorable, respectable s52v0g25332ri7wqpz1htq1iz9dx4c8 boggane 0 7117 22439 2022-09-26T18:22:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boggane''' === Tarjumaad === * {{en}}: honorable, respectable 22439 wikitext text/x-wiki {{-so-}} == Magac == '''boggane''' === Tarjumaad === * {{en}}: honorable, respectable ca3tx2vsmn4msusctq7ja6ft2e1jpyh cusko 0 7118 29112 29108 2024-07-29T20:00:40Z Girligaanshub 3150 29112 wikitext text/x-wiki {{-so-}} == Magac == '''cusko''' === Tarjumaad === * {{en}}: incline * {{en}}: rely, depend, reliance, dependence, ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] ===Antonyms=== *[[xilqaamid]], [[xilqaan]] d4sz6djltfwnxl5vx9ofm81if1a64os shinshin 0 7119 22441 2022-09-26T18:29:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shinshin''' === Tarjumaad === * {{en}}: cargo, 22441 wikitext text/x-wiki {{-so-}} == Magac == '''shinshin''' === Tarjumaad === * {{en}}: cargo, ih9l0bredhlk16wigudgldrz3bte8qz shaamareer 0 7120 22442 2022-09-26T18:40:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaamareer''' === Tarjumaad === * {{en}}: astonishment, 22442 wikitext text/x-wiki {{-so-}} == Magac == '''shaamareer''' === Tarjumaad === * {{en}}: astonishment, m78zmfd0rq44w3g7c1mzbhvc818it9e shabbah 0 7121 24531 24530 2023-09-01T21:19:14Z Girligaanshub 3150 Girligaanshub moved page [[shaabbah]] to [[shabbah]] 24530 wikitext text/x-wiki {{-so-}} == Magac == '''shabbah''' === Tarjumaad === * {{en}}: resemblance, rnrut1ja003fir4g9ej38b1ufxqkxqj gaaddan 0 7122 22444 2022-09-26T18:55:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaaddan''' === Tarjumaad === * {{en}}: rear-guard, 22444 wikitext text/x-wiki {{-so-}} == Magac == '''gaaddan''' === Tarjumaad === * {{en}}: rear-guard, 7u3h77xboisu4uqarnmw1wc0gzo68ij shawlee 0 7123 22445 2022-09-26T18:56:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shawlee''' === Tarjumaad === * {{en}}: murmur, 22445 wikitext text/x-wiki {{-so-}} == Magac == '''shawlee''' === Tarjumaad === * {{en}}: murmur, kwticzan0wpj7tzi3yjt8zq7pczhtx3 shiil 0 7124 24663 22446 2023-09-03T18:04:17Z Girligaanshub 3150 24663 wikitext text/x-wiki {{-so-}} == Magac == '''shiil''' === Tarjumaad === * {{en}}: burn, fry 1rch06kuko3sbdhr6i891aji69ceajk sheemo 0 7125 22447 2022-09-26T18:58:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sheemo''' === Tarjumaad === * {{en}}: threaten, 22447 wikitext text/x-wiki {{-so-}} == Magac == '''sheemo''' === Tarjumaad === * {{en}}: threaten, flyy7yp95dza8vriqmbapwyaqqfbpyw fac 0 7126 24091 22936 2023-07-28T05:12:42Z Girligaanshub 3150 24091 wikitext text/x-wiki {{-so-}} == Magac == '''fac''' === Tarjumaad === * {{en}}: generation, heirloom, inheritance, birthright, primogeniture, age group, age cohort, hvicc03l4ygmicrw7y1m9l33nfilnhs teed 0 7127 22906 22449 2022-11-24T20:23:03Z Girligaanshub 3150 22906 wikitext text/x-wiki {{-so-}} == Magac == '''teed''' === Tarjumaad === * {{en}}: encircle, order dc9fgc3x7cvsbiv7sp5pwduisk0wos1 mindiile 0 7128 22450 2022-09-26T19:03:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mindiile''' === Tarjumaad === * {{en}}: butcher * {{en}}: knife holder * {{en}}: Darawiish group 22450 wikitext text/x-wiki {{-so-}} == Magac == '''mindiile''' === Tarjumaad === * {{en}}: butcher * {{en}}: knife holder * {{en}}: Darawiish group e3mzrcuztcteglgtqrq9mjk28m766no shiikhyaale 0 7129 22453 2022-09-26T19:04:12Z Girligaanshub 3150 Girligaanshub moved page [[shiikhyaale]] to [[Shiikhyaale]] 22453 wikitext text/x-wiki #REDIRECT [[Shiikhyaale]] 1osrs5hxzo5abzu4le0up1f9e3fblcb Miinanleh 0 7130 22697 22456 2022-09-30T07:35:59Z EmausBot 1865 Bot: Hagaajin u rogid labalaaban ee [[Miinaale]] 22697 wikitext text/x-wiki #REDIRECT [[Miinaale]] bbmbjleosgery4jjrcnzrpy967upf5o Miinaaleh 0 7131 22458 2022-09-26T19:06:20Z Girligaanshub 3150 Girligaanshub moved page [[Miinaaleh]] to [[Miinaale]] 22458 wikitext text/x-wiki #REDIRECT [[Miinaale]] bbmbjleosgery4jjrcnzrpy967upf5o shafgoos 0 7132 31851 28231 2024-10-25T22:16:57Z Girligaanshub 3150 31851 wikitext text/x-wiki {{-so-}} == Magac == '''shafgoos''' === Tarjumaad === * {{en}}: jump the line, jump the queue, skip ahead, leapfrog, overtake, bypass, ===Synonyms=== *[[dafdaf]], [[faragelin]], [[shafgooso]], [[shafgoos]] 5xwi7qlihaaw9qs79rlolojmr8tmpph shafgooso 0 7133 31850 28230 2024-10-25T22:16:00Z Girligaanshub 3150 31850 wikitext text/x-wiki {{-so-}} == Magac == '''shafgooso''' === Tarjumaad === * {{en}}: jump the line, jump the queue, skip ahead, leapfrog, overtake, bypass, ===Synonyms=== *[[dafdaf]], [[faragelin]], [[shafgooso]], [[shafgoos]] 272g2civ48n81xjx7ty8c5jejuyelyg shaabac 0 7134 22461 2022-09-26T19:18:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaabac''' === Tarjumaad === * {{en}}: content 22461 wikitext text/x-wiki {{-so-}} == Magac == '''shaabac''' === Tarjumaad === * {{en}}: content 9u10etealdd7a8epvsij3q38n1s7lqk faago 0 7135 22462 2022-09-26T19:19:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faago''' === Tarjumaad === * {{en}}: retreat 22462 wikitext text/x-wiki {{-so-}} == Magac == '''faago''' === Tarjumaad === * {{en}}: retreat 4qsk1fzcjwxui06ow3nun2mjw7d5wxq ficil 0 7136 22463 2022-09-26T19:19:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ficil''' === Tarjumaad === * {{en}}: action 22463 wikitext text/x-wiki {{-so-}} == Magac == '''ficil''' === Tarjumaad === * {{en}}: action 8mxjzpp8lqs0jjhdx1fno1ghv25712x laas 0 7137 22464 2022-09-26T19:23:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laas''' === Tarjumaad === * {{en}}: shallow well 22464 wikitext text/x-wiki {{-so-}} == Magac == '''laas''' === Tarjumaad === * {{en}}: shallow well pn9fx69s5ocsr93noetv8vf6gambhko fiiqso 0 7138 22465 2022-09-26T19:23:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiiqso''' === Tarjumaad === * {{en}}: sip 22465 wikitext text/x-wiki {{-so-}} == Magac == '''fiiqso''' === Tarjumaad === * {{en}}: sip mrp0f49m2g2wjjjmo3r4d0ilibtsd1u fuud 0 7139 27003 22466 2024-03-27T16:50:00Z Girligaanshub 3150 27003 wikitext text/x-wiki {{-so-}} == Magac == '''fuud''' === Tarjumaad === * {{en}}: soup, stock, broth, bouillon ===Synonyms=== *[[maraq]], [[fuud]] mauaadc7zlh3ktiwhq98es6j3p7vtpw ferenji 0 7140 30803 22467 2024-09-17T23:33:02Z Girligaanshub 3150 30803 wikitext text/x-wiki {{-so-}} == Magac == '''ferenji''' === Tarjumaad === * {{en}}: European, whitewash, whitewashed hsu0ps120s3hrbe8o6cc8w5wvbgvd2o marmaroor 0 7141 22468 2022-09-26T20:34:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marmaroor''' === Tarjumaad === * {{en}}: misunderstanding 22468 wikitext text/x-wiki {{-so-}} == Magac == '''marmaroor''' === Tarjumaad === * {{en}}: misunderstanding hvj9x66amqketfko2l0k7l1b0fo8s3t kabti 0 7142 22469 2022-09-26T22:28:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabti''' === Tarjumaad === * {{en}}: slow run 22469 wikitext text/x-wiki {{-so-}} == Magac == '''kabti''' === Tarjumaad === * {{en}}: slow run ky23qulyhpbdul4csqhhijwk30tdyon katib 0 7143 22470 2022-09-26T22:31:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''katib''' === Tarjumaad === * {{en}}: headhunting, recruiting, career coaching 22470 wikitext text/x-wiki {{-so-}} == Magac == '''katib''' === Tarjumaad === * {{en}}: headhunting, recruiting, career coaching nhe7ze6h8w1kwo4jag9li1c8jb0h48l kulan 0 7144 31083 30708 2024-10-04T07:22:11Z Girligaanshub 3150 31083 wikitext text/x-wiki {{-so-}} == Magac == '''kulan''' === Tarjumaad === * {{en}}: meeting ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] izv0m8ur864nhr6vkmuymri3zdd7zlc kayse 0 7145 22472 2022-09-26T22:33:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kayse''' === Tarjumaad === * {{en}}: prosperity 22472 wikitext text/x-wiki {{-so-}} == Magac == '''kayse''' === Tarjumaad === * {{en}}: prosperity omwdljrht20i14c3xothw56ng1ndcff qarraac 0 7146 31865 31862 2024-10-25T22:33:47Z Girligaanshub 3150 31865 wikitext text/x-wiki {{-so-}} == Magac == '''qarraac''' === Tarjumaad === * {{en}}: greed ====Synonyms==== *[[muudal]], [[dhabcaal]], [[qarraac]], [[bakhiil]] 9qmvphnj6tshxh893gacp5kj2z2j97n irmaan 0 7147 22474 2022-09-26T22:40:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''irmaan''' === Tarjumaad === * {{en}}: lactation 22474 wikitext text/x-wiki {{-so-}} == Magac == '''irmaan''' === Tarjumaad === * {{en}}: lactation qztl06bd9lr5hjdyns4k4xn8mqcarbn kulcad 0 7148 22475 2022-09-27T00:23:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kulcad''' === Tarjumaad === * {{en}}: deliberate 22475 wikitext text/x-wiki {{-so-}} == Magac == '''kulcad''' === Tarjumaad === * {{en}}: deliberate nlqlihmq6fpkkotf0s1lguzhrufp33d karkab 0 7149 22476 2022-09-27T00:24:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karkab''' === Tarjumaad === * {{en}}: impatience 22476 wikitext text/x-wiki {{-so-}} == Magac == '''karkab''' === Tarjumaad === * {{en}}: impatience orwvh5ennxmdywk3hrxmsz3kbckglu1 shebeg 0 7150 22477 2022-09-27T00:28:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shebeg''' === Tarjumaad === * {{en}}: net 22477 wikitext text/x-wiki {{-so-}} == Magac == '''shebeg''' === Tarjumaad === * {{en}}: net 7117ymtdbvplrid3ki09xwrvbhnxgoq koore 0 7151 22478 2022-09-27T00:29:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koore''' === Tarjumaad === * {{en}}: saddle 22478 wikitext text/x-wiki {{-so-}} == Magac == '''koore''' === Tarjumaad === * {{en}}: saddle g5j5ssrp9o4h6gz3m9vfl10ujccft73 qaraar 0 7152 22479 2022-09-27T00:30:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaraar''' === Tarjumaad === * {{en}}: bitter 22479 wikitext text/x-wiki {{-so-}} == Magac == '''qaraar''' === Tarjumaad === * {{en}}: bitter pmyka0hcc3jf6o46cx57wxvlbwq9s4b ammuur 0 7153 22480 2022-09-27T00:33:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ammuur''' === Tarjumaad === * {{en}}: matter 22480 wikitext text/x-wiki {{-so-}} == Magac == '''ammuur''' === Tarjumaad === * {{en}}: matter amealywcow7pyq681d04akzquir4c73 baallacad 0 7154 22481 2022-09-27T00:39:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baallacad''' === Tarjumaad === * {{en}}: javelin 22481 wikitext text/x-wiki {{-so-}} == Magac == '''baallacad''' === Tarjumaad === * {{en}}: javelin gh7ztwfbel4poi52i2mkxw2gsarlz4k qabaal 0 7155 22482 2022-09-27T00:40:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabaal''' === Tarjumaad === * {{en}}: trough 22482 wikitext text/x-wiki {{-so-}} == Magac == '''qabaal''' === Tarjumaad === * {{en}}: trough m65onlohxt51zarkqpb6di1816gwc5k karrays 0 7156 22483 2022-09-27T00:41:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karrays''' === Tarjumaad === * {{en}}: collar bone 22483 wikitext text/x-wiki {{-so-}} == Magac == '''karrays''' === Tarjumaad === * {{en}}: collar bone 7fjtc2oap4cyihr7elpl87ci0plfv6x shib 0 7157 22484 2022-09-27T00:42:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shib''' === Tarjumaad === * {{en}}: silence 22484 wikitext text/x-wiki {{-so-}} == Magac == '''shib''' === Tarjumaad === * {{en}}: silence qqj9d4n88om2vdod3lxcu578mpw8iky gaashays 0 7158 22485 2022-09-27T00:44:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaashays''' === Tarjumaad === * {{en}}: decoration 22485 wikitext text/x-wiki {{-so-}} == Magac == '''gaashays''' === Tarjumaad === * {{en}}: decoration jn12wrs44f4x0acn8u116jz88lionr3 qalanjo 0 7159 32346 22487 2024-11-10T11:13:26Z Girligaanshub 3150 32346 wikitext text/x-wiki {{-so-}} == Magac == '''qalanjo''' === Tarjumaad === * {{en}}: beauty, cute t6e2f7hlct39fg10sxicnawb9gg2dkl cammuud 0 7160 22488 2022-09-27T01:19:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''camuud''' === Tarjumaad === * {{en}}: bunch 22488 wikitext text/x-wiki {{-so-}} == Magac == '''camuud''' === Tarjumaad === * {{en}}: bunch gn43s5o0i1o1xggry1a6q04qky5409a qun 0 7161 22489 2022-09-27T01:19:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qun''' === Tarjumaad === * {{en}}: proper, correct 22489 wikitext text/x-wiki {{-so-}} == Magac == '''qun''' === Tarjumaad === * {{en}}: proper, correct r45is9wv6kf5lsr7u46ftrt7uzhiwl3 qaarwaax 0 7162 22490 2022-09-27T01:27:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaarwaax''' === Tarjumaad === * {{en}}: meat steak, meat chop 22490 wikitext text/x-wiki {{-so-}} == Magac == '''qaarwaax''' === Tarjumaad === * {{en}}: meat steak, meat chop ebo1c0qyopj5niov560z8u775w9504k geedee 0 7163 22491 2022-09-27T01:29:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geedee''' === Tarjumaad === * {{en}}: seasoning 22491 wikitext text/x-wiki {{-so-}} == Magac == '''geedee''' === Tarjumaad === * {{en}}: seasoning mpt3nx7y0ddix7vqppeij1j0bhma1k9 qoor 0 7164 28363 22493 2024-06-14T18:43:04Z Girligaanshub 3150 28363 wikitext text/x-wiki {{-so-}} == Magac == '''qoor''' === Tarjumaad === * {{en}}: backwater, backwoods, isolated * {{en}}: neck 4mrqup8880z34nj3h395qpfxrz7zu1n qaati 0 7165 22494 2022-09-27T01:46:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaati''' === Tarjumaad === * {{en}}: fed up, jaded, weary, frustrated, irked, ireful, irate, 22494 wikitext text/x-wiki {{-so-}} == Magac == '''qaati''' === Tarjumaad === * {{en}}: fed up, jaded, weary, frustrated, irked, ireful, irate, pump9a2ccterm0pphuaznv2qzwupzxv daalib 0 7166 22495 2022-09-27T01:47:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daalib''' === Tarjumaad === * {{en}}: ambition 22495 wikitext text/x-wiki {{-so-}} == Magac == '''daalib''' === Tarjumaad === * {{en}}: ambition qpeg4mfk4194errx0b6otd5eis6ic3s waar 0 7167 31907 30779 2024-10-25T23:18:48Z Girligaanshub 3150 31907 wikitext text/x-wiki {{-so-}} == Magac == '''waar''' === Tarjumaad === * {{en}}: forever, everlasting, eternal, enduring, lasting ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]] t0vn8k1zrmjac3gztpwngdiii6vqzrf sarwaamo 0 7168 22497 2022-09-27T01:51:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarwaamo''' === Tarjumaad === * {{en}}: twig 22497 wikitext text/x-wiki {{-so-}} == Magac == '''sarwaamo''' === Tarjumaad === * {{en}}: twig 4o32rs5s6wv48onzdta11e1bpp2l8ec xiin 0 7169 25250 22498 2023-10-11T08:54:17Z Girligaanshub 3150 25250 wikitext text/x-wiki {{-so-}} == Magac == '''xiin''' === Tarjumaad === * {{en}}: buzz, speedy, rushed, rush i5zp4vfbv6o1subpquedf834txrg9uh suuxsan 0 7170 22499 2022-09-27T01:55:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suuxsan''' === Tarjumaad === * {{en}}: unconscious 22499 wikitext text/x-wiki {{-so-}} == Magac == '''suuxsan''' === Tarjumaad === * {{en}}: unconscious 5z539m643x6ig9i5g5bpswzsfv0wx6x seed 0 7171 30356 30047 2024-08-28T17:34:06Z Girligaanshub 3150 30356 wikitext text/x-wiki {{-so-}} == Magac == '''seed''' === Tarjumaad === * {{en}}: tendon * {{en}}: lion's tail, predator's tail * {{en}}: tail * {{en}}: present * {{en}}: Nubian, Sudanese ===Synonyms=== *[[seed-bado]], [[seed]] 1yf16i53as5u6ivxpias72yifdbrqrw saa'il 0 7172 22501 2022-09-27T02:11:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saa'il''' === Tarjumaad === * {{en}}: scrounging, freeloading 22501 wikitext text/x-wiki {{-so-}} == Magac == '''saa'il''' === Tarjumaad === * {{en}}: scrounging, freeloading 3mo93wkcey7w3o5y86j93r4o59knhzd saaq 0 7173 31639 22502 2024-10-19T14:38:34Z Girligaanshub 3150 31639 wikitext text/x-wiki {{-so-}} == Magac == '''saaq''' === Tarjumaad === * {{en}}: pittance, nickel * {{en}}: to depart into, to expand into br9p9oie6qffm20fqe5u1o9kooynqy8 sebaan 0 7174 22503 2022-09-27T02:43:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sebaan''' === Tarjumaad === * {{en}}: era, chronology 22503 wikitext text/x-wiki {{-so-}} == Magac == '''sebaan''' === Tarjumaad === * {{en}}: era, chronology ph3i07n2bmrj2w3fit55vya9tqtygs4 dhowro 0 7175 29893 28032 2024-08-13T19:29:26Z Girligaanshub 3150 29893 wikitext text/x-wiki {{-so-}} == magac == '''dhowro''' === Tarjumaad === * {{en}}: conserve, preserve, inspect, scrutinize, scan, check, vet, verify, review, check up, check out, assess, evaluate, determine, delve into, probe, scope * {{en}}: await, behold, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] 0damsrzrzwwy2fbitzpe5nmvepuxepc baflee 0 7176 22506 2022-09-27T05:36:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baflee''' === Tarjumaad === * {{en}}: thud 22506 wikitext text/x-wiki {{-so-}} == Magac == '''baflee''' === Tarjumaad === * {{en}}: thud sdvp6qmg1y62vx0nr7x5qik81re6aol anafo 0 7177 22507 2022-09-27T05:38:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''anafo''' === Tarjumaad === * {{en}}: narcissism, megalomania 22507 wikitext text/x-wiki {{-so-}} == Magac == '''anafo''' === Tarjumaad === * {{en}}: narcissism, megalomania kpeucyzpsfr1f5iem3egmgq2ggolt5e dawaawo 0 7178 22508 2022-09-27T05:41:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dawaawo''' === Tarjumaad === * {{en}}: reconciliation, pact 22508 wikitext text/x-wiki {{-so-}} == Magac == '''dawaawo''' === Tarjumaad === * {{en}}: reconciliation, pact 9bjg8hisf36lue2zvcqhtmwmid8xrsd riyaha 0 7179 22509 2022-09-27T15:11:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''riyaha''' === Tarjumaad === * {{en}}: goats 22509 wikitext text/x-wiki {{-so-}} == Magac == '''riyaha''' === Tarjumaad === * {{en}}: goats mz4i3i19f3truh3qmewqztgg83pwbgs guduudane 0 7180 29520 23420 2024-08-05T02:42:03Z Girligaanshub 3150 29520 wikitext text/x-wiki {{-so-}} == Magac == '''gududeni''' === Tarjumaad === * {{en}}: lynx cat, caracal aj3k932hvp2uiymf8er6jri3kcyenqf shuqshuq 0 7181 29558 22511 2024-08-05T18:03:26Z Girligaanshub 3150 29558 wikitext text/x-wiki {{-so-}} == Magac == '''shuqshuq''' === Tarjumaad === * {{en}}: mongoose, meerkat 5bvqeqxhjckknhlu1o5y1snsmy0o22r xoor 0 7182 30378 27570 2024-08-30T21:17:27Z Girligaanshub 3150 30378 wikitext text/x-wiki {{-so-}} == Magac == '''xoor''' === Tarjumaad === * {{en}}: honey badger, badger * {{en}}: throw * {{en}}: foam * {{en}}: fresh milk hedemxrecr4wlb0r0x1plsj83obfjy3 bakayle 0 7183 22513 2022-09-27T15:14:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakayle''' === Tarjumaad === * {{en}}: hare 22513 wikitext text/x-wiki {{-so-}} == Magac == '''bakayle''' === Tarjumaad === * {{en}}: hare 012s3clj6wjnd772i0p0rpu6brur1jq goodir 0 7184 22514 2022-09-27T15:17:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goodir''' === Tarjumaad === * {{en}}: kudu 22514 wikitext text/x-wiki {{-so-}} == Magac == '''goodir''' === Tarjumaad === * {{en}}: kudu axkj7m7m8q0f9o36plgd7r98nhc7s41 duqsi 0 7185 22515 2022-09-27T15:21:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duqsi''' === Tarjumaad === * {{en}}: housefly 22515 wikitext text/x-wiki {{-so-}} == Magac == '''duqsi''' === Tarjumaad === * {{en}}: housefly 9npyn77bzcad77iqaew2ge8aks27cxf mangasseh 0 7186 22516 2022-09-27T15:21:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mangasseh''' === Tarjumaad === * {{en}}: crab 22516 wikitext text/x-wiki {{-so-}} == Magac == '''mangasseh''' === Tarjumaad === * {{en}}: crab 2700ft9puy21sxhj65w03o8dh8zedqo dawaco 0 7187 22517 2022-09-27T15:26:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dawaco''' === Tarjumaad === * {{en}}: jackal 22517 wikitext text/x-wiki {{-so-}} == Magac == '''dawaco''' === Tarjumaad === * {{en}}: jackal 2m1t12qr3rtnidch1dibuyhun8ol8dg fiidmeer 0 7188 22518 2022-09-27T15:52:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiidmeer''' === Tarjumaad === * {{en}}: bat, chiroptera 22518 wikitext text/x-wiki {{-so-}} == Magac == '''fiidmeer''' === Tarjumaad === * {{en}}: bat, chiroptera 3jewxtqs89n9xuikttjle3u8sp3df1r wiyil 0 7189 22519 2022-09-27T15:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wiyil''' === Tarjumaad === * {{en}}: rhino 22519 wikitext text/x-wiki {{-so-}} == Magac == '''wiyil''' === Tarjumaad === * {{en}}: rhino k7gzk1179x93g7xy8nj21qwt8uuhxcy wiyisha 0 7190 22520 2022-09-27T15:55:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wiyisha''' === Tarjumaad === * {{en}}: rhinoceros, 22520 wikitext text/x-wiki {{-so-}} == Magac == '''wiyisha''' === Tarjumaad === * {{en}}: rhinoceros, k4d8w6i2ykgsjj9a2h5nw0u87fnclzx rahyo 0 7191 22521 2022-09-27T17:08:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rahyo''' === Tarjumaad === * {{en}}: frogs 22521 wikitext text/x-wiki {{-so-}} == Magac == '''rahyo''' === Tarjumaad === * {{en}}: frogs lnn56mbmvgtom852x2fbuwyjz8hi57y fuqo 0 7192 22522 2022-09-27T17:10:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fuqo''' === Tarjumaad === * {{en}}: sandgrouse 22522 wikitext text/x-wiki {{-so-}} == Magac == '''fuqo''' === Tarjumaad === * {{en}}: sandgrouse 8jv4m0awzzc5amv02fipq7keejdeh3c deleb 0 7193 22523 2022-09-27T17:38:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deleb''' === Tarjumaad === * {{en}}: camelid family 22523 wikitext text/x-wiki {{-so-}} == Magac == '''deleb''' === Tarjumaad === * {{en}}: camelid family 2bopxkvl29srek8de4kgzul1kyo9xiv daaddahee 0 7194 22524 2022-09-27T17:39:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daaddahee''' === Tarjumaad === * {{en}}: shepherd 22524 wikitext text/x-wiki {{-so-}} == Magac == '''daaddahee''' === Tarjumaad === * {{en}}: shepherd kkbk6ub0o7fnl3e0xitcu5l0kvviicm rid 0 7195 22526 2022-09-27T18:24:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rid''' === Tarjumaad === * {{en}}: discharge 22526 wikitext text/x-wiki {{-so-}} == Magac == '''rid''' === Tarjumaad === * {{en}}: discharge ffl1e6l9wmro3uab2c3z8ebpgczg99k haaneed 0 7196 22527 2022-09-27T18:28:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haaneed''' === Tarjumaad === * {{en}}: left lateral, lateral 22527 wikitext text/x-wiki {{-so-}} == Magac == '''haaneed''' === Tarjumaad === * {{en}}: left lateral, lateral 626h9bsnrj67pt4g8hopy3crswd669l diilalyo 0 7197 32003 22528 2024-10-27T02:47:15Z Girligaanshub 3150 32003 wikitext text/x-wiki {{-so-}} == Magac == '''diilalyo''' === Tarjumaad === * {{en}}: sadness ===Synonyms=== *[[hungoobo]], [[tiiraanyo]], [[murugaysan]], [[diilalyo]], [[marooradilaac]], n58mnckb3d3ze5vkpo7oli0zok3x9c4 durduran 0 7198 22529 2022-09-27T18:59:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''durduran''' === Tarjumaad === * {{en}}: stampede 22529 wikitext text/x-wiki {{-so-}} == Magac == '''durduran''' === Tarjumaad === * {{en}}: stampede h80fyo0zkv1z6ml6uaja44nck90hevz kaalin 0 7199 31584 29281 2024-10-16T04:06:00Z Girligaanshub 3150 31584 wikitext text/x-wiki {{-so-}} == Magac == '''kaalin''' === Tarjumaad === * {{en}}: number, slot, place, position, opening, vacancy, ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] rhaat63l3j7zelq6b2qidx8kvixx6ue isdaldhac 0 7200 31802 22531 2024-10-25T21:12:40Z Girligaanshub 3150 31802 wikitext text/x-wiki {{-so-}} == Magac == '''isdaldhac''' === Tarjumaad === * {{en}}: emasculation, effeminate ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]], [[isdaldhac]] o850obd04o42ljhujaw9r55csx1tsgw meermeer 0 7201 22532 2022-09-27T19:03:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meermeer''' === Tarjumaad === * {{en}}: shake 22532 wikitext text/x-wiki {{-so-}} == Magac == '''meermeer''' === Tarjumaad === * {{en}}: shake fovjvakf2hq84ty7hmevhadr4i3u97h higaad 0 7202 22533 2022-09-27T19:05:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''higaad''' === Tarjumaad === * {{en}}: pronunciation 22533 wikitext text/x-wiki {{-so-}} == Magac == '''higaad''' === Tarjumaad === * {{en}}: pronunciation 6ondlytd0z8x5kvbvy94yzj51dxx9bo finiin 0 7203 22534 2022-09-27T19:07:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''finiin''' === Tarjumaad === * {{en}}: spark 22534 wikitext text/x-wiki {{-so-}} == Magac == '''finiin''' === Tarjumaad === * {{en}}: spark gndsgu3f9ga2pqrskrh4uie3983mjhq suuban 0 7204 22535 2022-09-27T19:09:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suuban''' === Tarjumaad === * {{en}}: proper, appropriate 22535 wikitext text/x-wiki {{-so-}} == Magac == '''suuban''' === Tarjumaad === * {{en}}: proper, appropriate 3pyibzrjiljo2jpol9iak4udn2nd5u2 iskudir 0 7205 22536 2022-09-27T19:10:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskudir''' === Tarjumaad === * {{en}}: instigate 22536 wikitext text/x-wiki {{-so-}} == Magac == '''iskudir''' === Tarjumaad === * {{en}}: instigate 3odmr036vg3tqac85valrt4gtbfv4va hulaaq 0 7206 22537 2022-09-27T19:11:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hulaaq''' === Tarjumaad === * {{en}}: kindle 22537 wikitext text/x-wiki {{-so-}} == Magac == '''hulaaq''' === Tarjumaad === * {{en}}: kindle gx0mtflt7sakprasunhfthhkd89ppij geedjoog 0 7207 22702 22538 2022-09-30T15:24:26Z Girligaanshub 3150 22702 wikitext text/x-wiki {{-so-}} == Magac == '''geedjoog''' === Tarjumaad === * {{en}}: acquaintance, informed, redpilled, tree-sit, council, confidant, in group, cabal, clique, confide lgprneog3wrj5qdee09gnubu9x69bja duurxul 0 7208 30204 29328 2024-08-24T12:10:50Z Girligaanshub 3150 30204 wikitext text/x-wiki {{-so-}} == Magac == '''duurxul''' === Tarjumaad === * {{en}}: indirect speech, implying, euphemism, innuendo, double entendre, metaphor, sub-communication, indirect speech, allegorical, figurative speech, doublespeak, plausible deniability, aesopian language, dog-whistle politics, subliminal messaging, insinuation, implied, imply, implication ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]], [[dadban]] ===Antonyms=== *[[badheedh]], [[foolka-fool]] f3ej3361j8wbsw13wjc99na2k58elvj laqwi 0 7209 22540 2022-09-27T21:57:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laqwi''' === Tarjumaad === * {{en}}: heterodox 22540 wikitext text/x-wiki {{-so-}} == Magac == '''laqwi''' === Tarjumaad === * {{en}}: heterodox j3qyxcpqm3j6cd54zkvhlbsq9v4py4c laqwinimo 0 7210 22541 2022-09-27T21:58:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laqwinimo''' === Tarjumaad === * {{en}}: heterodoxy 22541 wikitext text/x-wiki {{-so-}} == Magac == '''laqwinimo''' === Tarjumaad === * {{en}}: heterodoxy f2qt93qh0ckeqkor7nbxx8ct38zivtu uusmiir 0 7211 22542 2022-09-27T22:44:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uusmiir''' === Tarjumaad === * {{en}}: survival hydration, camel liquid filtration 22542 wikitext text/x-wiki {{-so-}} == Magac == '''uusmiir''' === Tarjumaad === * {{en}}: survival hydration, camel liquid filtration ep2tb2iap565haortej7y8pktis08dw baayacan 0 7212 25004 22543 2023-09-22T13:38:45Z Girligaanshub 3150 25004 wikitext text/x-wiki {{-so-}} == Magac == '''baayacan''' === Tarjumaad === * {{en}}: bargain 4i18q2vc2zofz3vcu5c6qhs2at58vcq bantar 0 7213 26935 22544 2024-03-14T21:50:45Z Girligaanshub 3150 26935 wikitext text/x-wiki {{-so-}} == Magac == '''bantar''' === Tarjumaad === * {{en}}: thin meat ey9blpb6bgl5qcewp1pokmh7xt6ljvo sheeggan 0 7214 22545 2022-09-27T22:48:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sheeggan''' === Tarjumaad === * {{en}}: well-known 22545 wikitext text/x-wiki {{-so-}} == Magac == '''sheeggan''' === Tarjumaad === * {{en}}: well-known 1k3rzefyxx2kniymrcltqf6391sy4ac beytimaal 0 7215 22546 2022-09-27T22:48:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beytimaal''' === Tarjumaad === * {{en}}: negligent 22546 wikitext text/x-wiki {{-so-}} == Magac == '''beytimaal''' === Tarjumaad === * {{en}}: negligent hpdlpd0ujdjdrfgxmxydl5tjrshc88o taambuug 0 7216 22548 2022-09-27T23:02:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taambuug''' === Tarjumaad === * {{en}}: tent 22548 wikitext text/x-wiki {{-so-}} == Magac == '''taambuug''' === Tarjumaad === * {{en}}: tent 7tvb2m38321snyxc2oiwjpqb7xu4ehd cammir 0 7217 22549 2022-09-27T23:03:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cammir''' === Tarjumaad === * {{en}}: enrich 22549 wikitext text/x-wiki {{-so-}} == Magac == '''cammir''' === Tarjumaad === * {{en}}: enrich 1c01rggnnc41w3jckh7zel8016pgjae ukaadi 0 7218 22551 2022-09-27T23:03:57Z Girligaanshub 3150 Girligaanshub moved page [[ukaadi]] to [[u-kaadi]] 22551 wikitext text/x-wiki #REDIRECT [[u-kaadi]] 5joq17gyiwxrzcsmh7qw3dh5z321nit maaggan 0 7219 22552 2022-09-27T23:04:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maaggan''' === Tarjumaad === * {{en}}: plan 22552 wikitext text/x-wiki {{-so-}} == Magac == '''maaggan''' === Tarjumaad === * {{en}}: plan 5ef1bocfqxk3cmbo5fxz6mrdhh9bzko telel 0 7220 22553 2022-09-27T23:06:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''telel''' === Tarjumaad === * {{en}}: indecisive, iffy, ambivelant, 22553 wikitext text/x-wiki {{-so-}} == Magac == '''telel''' === Tarjumaad === * {{en}}: indecisive, iffy, ambivelant, ah4sfssedt35b0buzk7scfeydfeivxo tuush 0 7221 31781 31749 2024-10-25T20:42:34Z Girligaanshub 3150 31781 wikitext text/x-wiki {{-so-}} == Magac == '''tuush''' === Tarjumaad === * {{en}}: fool, * {{en}}: disabled, ===Synonyms=== *[[curyaan]], [[tuush]], [[naafo]] rof9cqiib2scwd43qx3po8rgyq560d2 turub 0 7222 22555 2022-09-27T23:27:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''turub''' === Tarjumaad === * {{en}}: game of chance, tabletop game 22555 wikitext text/x-wiki {{-so-}} == Magac == '''turub''' === Tarjumaad === * {{en}}: game of chance, tabletop game fi7glmrlobcp72rsorxtgc2f0ajef3c tabaxsey 0 7223 22556 2022-09-27T23:32:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabaxsey''' === Tarjumaad === * {{en}}: elegance, grace 22556 wikitext text/x-wiki {{-so-}} == Magac == '''tabaxsey''' === Tarjumaad === * {{en}}: elegance, grace nt3h52fab36wuyfv2mpfo7g2gw8jit1 dhiil 0 7224 31426 26583 2024-10-08T14:53:03Z Girligaanshub 3150 31426 wikitext text/x-wiki {{-so-}} == Magac == '''dhiil''' === Tarjumaad === * {{en}}: pot, cone ===Synonyms=== *[[dhiil]], [[haruub]] 3qx5jz2wg95o9l4f6n58xdyhln04g3v ruur 0 7225 22558 2022-09-28T00:29:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruur''' === Tarjumaad === * {{en}}: radiant 22558 wikitext text/x-wiki {{-so-}} == Magac == '''ruur''' === Tarjumaad === * {{en}}: radiant 3ne0tc0uime0ryxffddo3oyrwcg5sm0 anfac 0 7226 31073 22559 2024-10-03T15:41:25Z Girligaanshub 3150 31073 wikitext text/x-wiki {{-so-}} == Magac == '''anfac''' === Tarjumaad === * {{en}}: ([[manfac]]) benefit, utility, utilitarian, pragmatic, pragmatism, utilitarianism, e5lmpe39eiaxdiq8h1ay33qhr2e3anc abaar 0 7227 28219 28208 2024-06-13T19:40:24Z Girligaanshub 3150 28219 wikitext text/x-wiki {{-so-}} == Magac == '''abaar''' === Tarjumaad === * {{en}}: drought ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] rnt7530wtbfeqstgduxt0l2l4chmhgk haad 0 7228 29827 29760 2024-08-12T14:56:31Z Girligaanshub 3150 29827 wikitext text/x-wiki {{-so-}} == Magac == '''haad''' === Tarjumaad === * {{en}}: aviation, aviate, fly * {{en}}: bird of prey 9byzbv1i7fbpvefwt7tabcbsf6j4yzi candaadh 0 7229 22562 2022-09-28T00:54:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''candaadh''' === Tarjumaad === * {{en}}: slouching, disorderly 22562 wikitext text/x-wiki {{-so-}} == Magac == '''candaadh''' === Tarjumaad === * {{en}}: slouching, disorderly m2l92tsyf1jq3y98hcmcsjai2oc36ei saancad 0 7230 32330 29247 2024-11-08T19:02:22Z Girligaanshub 3150 32330 wikitext text/x-wiki {{-so-}} == Magac == '''saancad''' === Tarjumaad === * {{en}}: white hide * {{en}}: white colonialist * {{en}}: lark bird tnpt9owedlkotzfsns4wfomdx3bmlwf gacmee 0 7231 23557 23556 2023-05-20T15:54:48Z Girligaanshub 3150 23557 wikitext text/x-wiki {{-so-}} == Magac == '''gacmee''' === Tarjumaad === * {{en}}: interfere, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, intervene, gatecrasher, manhandle, manhandling, kibitzer, push, haul, shove, jostle, handle i1tqa84ybm8119y7xhigbensmp8i3fb gacmeynta 0 7232 22565 2022-09-28T01:06:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacmeynta''' === Tarjumaad === * {{en}}: interfere, snooping, noseying, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, pryer, stickybeak, gatecrasher, interloper, peeping tom, persona non grata, encroacher, backseat driver, kibitzer, meddler, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody 22565 wikitext text/x-wiki {{-so-}} == Magac == '''gacmeynta''' === Tarjumaad === * {{en}}: interfere, snooping, noseying, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, pryer, stickybeak, gatecrasher, interloper, peeping tom, persona non grata, encroacher, backseat driver, kibitzer, meddler, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody i3plxuusoz9tqvkmbt6ad32s0jmcr71 ardaa 0 7233 22566 2022-09-28T01:08:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ardaa''' === Tarjumaad === * {{en}}: shelter 22566 wikitext text/x-wiki {{-so-}} == Magac == '''ardaa''' === Tarjumaad === * {{en}}: shelter ew3wtpm6zvcz81jma29iuodr4qa31zd faalaa 0 7234 22567 2022-09-28T01:09:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faalaa''' === Tarjumaad === * {{en}}: meat stew 22567 wikitext text/x-wiki {{-so-}} == Magac == '''faalaa''' === Tarjumaad === * {{en}}: meat stew pkdng5eg9ie75hmnr4wdq1jhiu9huam isquuf 0 7235 26413 26410 2023-12-18T21:04:19Z Girligaanshub 3150 26413 wikitext text/x-wiki {{-so-}} == Magac == '''isquuf''' === Tarjumaad === * {{en}}: awkward ===Synonyms=== *[[isquuf]], [[shiix]], [[sirgax]], [[silloon]], [[qariib]], [[yaxyax]] b2av9t2i5ih0dgpuyzffowzgs1y1o6v isquufnimo 0 7236 22569 2022-09-28T01:11:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isquufnimo''' === Tarjumaad === * {{en}}: awkwardness 22569 wikitext text/x-wiki {{-so-}} == Magac == '''isquufnimo''' === Tarjumaad === * {{en}}: awkwardness 6oo4aonwex4m1rk61n9yfq75nx80aor googaale 0 7237 22570 2022-09-28T01:13:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''googaale''' === Tarjumaad === * {{en}}: riddle, quiz 22570 wikitext text/x-wiki {{-so-}} == Magac == '''googaale''' === Tarjumaad === * {{en}}: riddle, quiz 9sq5qwyij8484weyzj5ymoj3mxsu953 siyaakhad 0 7238 22571 2022-09-28T01:28:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siyaakhad''' === Tarjumaad === * {{en}}: necklace 22571 wikitext text/x-wiki {{-so-}} == Magac == '''siyaakhad''' === Tarjumaad === * {{en}}: necklace j0hfuru3t5hfc438dcqo3m34cvg5cyc silsilad 0 7239 22572 2022-09-28T01:28:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''silsilad''' === Tarjumaad === * {{en}}: chain 22572 wikitext text/x-wiki {{-so-}} == Magac == '''silsilad''' === Tarjumaad === * {{en}}: chain 1sdyrl5891kpggnmisilp5el8i8aa1i gooraamo 0 7240 31788 22573 2024-10-25T20:49:35Z Girligaanshub 3150 31788 wikitext text/x-wiki {{-so-}} == Magac == '''gooraamo''' === Tarjumaad === * {{en}}: fawn over, adulate, flatter, praise, ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], oq2a4rz5xlynob5nlespf6phtey36fy surxire 0 7241 22574 2022-09-28T01:36:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''surxire''' === Tarjumaad === * {{en}}: deceitful person, hustler, conman, scammer, trickster, fraud 22574 wikitext text/x-wiki {{-so-}} == Magac == '''surxire''' === Tarjumaad === * {{en}}: deceitful person, hustler, conman, scammer, trickster, fraud arfcjbf7u0ptj5sz5a8zo2ymmcx8azm qoofal 0 7242 22575 2022-09-28T01:37:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoofal''' === Tarjumaad === * {{en}}: shackles 22575 wikitext text/x-wiki {{-so-}} == Magac == '''qoofal''' === Tarjumaad === * {{en}}: shackles h5mb1hd328tkrcs7qxgadvjqvrs6j8i gudcur 0 7243 32788 25732 2024-12-01T17:27:13Z ВМНС 5070 32788 wikitext text/x-wiki {{-so-}} == Magac == '''gudcur''' === Tarjumaad === * {{en}}: pitch dark, darkness [[Category:Soomaali ereyada-gu]] 2dg51jqlcxuhnqc0p79onavlxqbwtdi guurka ak laac 0 7244 22577 2022-09-28T01:40:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guurka ak laac''' === Tarjumaad === * {{en}}: love at first sight, marriage at first sight 22577 wikitext text/x-wiki {{-so-}} == Magac == '''guurka ak laac''' === Tarjumaad === * {{en}}: love at first sight, marriage at first sight 5ygryu36hw1kvumlwkletzww7b2q9qv gurgur 0 7245 22578 2022-09-28T01:43:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurgur''' === Tarjumaad === * {{en}}: home furnishings 22578 wikitext text/x-wiki {{-so-}} == Magac == '''gurgur''' === Tarjumaad === * {{en}}: home furnishings 2j01882hso7kyin7oj7acdz9tze1621 gunuf-gaanuf 0 7246 22579 2022-09-28T22:57:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gunuf-gaanuf''' === Tarjumaad === * {{en}}: low-born, peasant, proletariat, underclass, lowborn, 22579 wikitext text/x-wiki {{-so-}} == Magac == '''gunuf-gaanuf''' === Tarjumaad === * {{en}}: low-born, peasant, proletariat, underclass, lowborn, oli08l8v9i3tpek6g27wi5xjcjdljf0 gaarrax 0 7247 22580 2022-09-28T23:04:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaarrax''' === Tarjumaad === * {{en}}: incompetent, helpless 22580 wikitext text/x-wiki {{-so-}} == Magac == '''gaarrax''' === Tarjumaad === * {{en}}: incompetent, helpless 9yba8t8mw6ufgglcdca6w9fnpxov7lb aqdaan 0 7248 22581 2022-09-28T23:05:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqdaan''' === Tarjumaad === * {{en}}: servant 22581 wikitext text/x-wiki {{-so-}} == Magac == '''aqdaan''' === Tarjumaad === * {{en}}: servant jaavw5e8nozwtt79fsjdsr4e6c73b42 ululuf 0 7249 22582 2022-09-28T23:06:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ululuf''' === Tarjumaad === * {{en}}: assemble, arrange 22582 wikitext text/x-wiki {{-so-}} == Magac == '''ululuf''' === Tarjumaad === * {{en}}: assemble, arrange 94l0g3prmirrzo2j9k79imy1eld8ure dillaal 0 7250 22584 2022-09-28T23:10:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dillaal''' === Tarjumaad === * {{en}}: intermediary, mediator, intercessor, middleman, 22584 wikitext text/x-wiki {{-so-}} == Magac == '''dillaal''' === Tarjumaad === * {{en}}: intermediary, mediator, intercessor, middleman, qpg63whz606wd4xuteaxn9pqmioagjs aloogso 0 7251 22585 2022-09-28T23:18:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aloogso''' === Tarjumaad === * {{en}}: gaslight 22585 wikitext text/x-wiki {{-so-}} == Magac == '''aloogso''' === Tarjumaad === * {{en}}: gaslight pc817vbjws8ub8wans6l4d9s4htg4xm amankaag 0 7252 22586 2022-09-28T23:18:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amankaag''' === Tarjumaad === * {{en}}: amazement, astonishment 22586 wikitext text/x-wiki {{-so-}} == Magac == '''amankaag''' === Tarjumaad === * {{en}}: amazement, astonishment 5mxox36ixx960vjkxqoor55s6d48jza cadhax 0 7253 26161 25893 2023-12-02T19:28:07Z Girligaanshub 3150 Girligaanshub moved page [[yadhax]] to [[cadhax]] 25893 wikitext text/x-wiki {{-so-}} == Magac == '''yadhax''' === Tarjumaad === * {{en}}: spinal cord, spine, backbone 4i1r60bn82c7vvnsg90adoyfxmx1lrb tuuji 0 7254 23289 22588 2023-04-15T12:04:22Z Girligaanshub 3150 23289 wikitext text/x-wiki {{-so-}} == Magac == '''tuuji''' === Tarjumaad === * {{en}}: press, rub, squeeze 70qjoi256yg72kbix3nscjpe46wu8u3 ilaaq 0 7255 26659 22589 2024-02-01T16:25:36Z Girligaanshub 3150 26659 wikitext text/x-wiki {{-so-}} == Magac == '''ilaaq''' === Tarjumaad === * {{en}}: attention bvoemb6r5w903kyd5djtabpflq5oy6v alluub 0 7256 22590 2022-09-28T23:28:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alluub''' === Tarjumaad === * {{en}}: coerce 22590 wikitext text/x-wiki {{-so-}} == Magac == '''alluub''' === Tarjumaad === * {{en}}: coerce r2ae8tjz809p8a5825398ux2ivte3r5 boqon 0 7257 24046 24045 2023-07-24T04:03:41Z Girligaanshub 3150 24046 wikitext text/x-wiki {{-so-}} == Magac == '''boqon''' === Tarjumaad === * {{en}}: ankle k6l4rr8rfxe37da5v3w11rwr1b4mxpl jeedaal 0 7258 22592 2022-09-28T23:31:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jeedaal''' === Tarjumaad === * {{en}}: whip 22592 wikitext text/x-wiki {{-so-}} == Magac == '''jeedaal''' === Tarjumaad === * {{en}}: whip idfpqrt1g7jq9y6nnmiar0khqy5ieat baruur 0 7259 30804 22593 2024-09-18T09:47:04Z Girligaanshub 3150 30804 wikitext text/x-wiki {{-so-}} == Magac == '''baruur''' === Tarjumaad === * {{en}}: lard, marbling, caul, h1wdxbb0oresom2jv6bqxxa7cmjeaxw beybeyso 0 7260 22594 2022-09-29T00:29:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beybeyso''' === Tarjumaad === * {{en}}: scapegoat 22594 wikitext text/x-wiki {{-so-}} == Magac == '''beybeyso''' === Tarjumaad === * {{en}}: scapegoat dm51f08442wrdht9nmphb77e1b8x53z badraan 0 7261 29574 29573 2024-08-06T01:05:44Z Girligaanshub 3150 29574 wikitext text/x-wiki {{-so-}} == Magac == '''badraan''' === Tarjumaad === * {{en}}: bossy, arrogant, narcissist, megalomaniac, NPD ===Synonyms=== *[[hortabiye]], [[olol leh]], [[barar]] [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] q4ovo6jm9n4nlezozk6f6hrr1g5n2yh miidaami 0 7262 22596 2022-09-29T00:32:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miidaami''' === Tarjumaad === * {{en}}: expunge, discard, dispose 22596 wikitext text/x-wiki {{-so-}} == Magac == '''miidaami''' === Tarjumaad === * {{en}}: expunge, discard, dispose ivb8hrx34fq5g9o286jpcuidyvu3w0p taftaaf 0 7263 22597 2022-09-29T00:36:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taftaaf''' === Tarjumaad === * {{en}}: euthanize 22597 wikitext text/x-wiki {{-so-}} == Magac == '''taftaaf''' === Tarjumaad === * {{en}}: euthanize qc1tu3o32nmlg6zpskgi6a4wayy9cxa tuumi 0 7264 22598 2022-09-29T00:41:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuumi''' === Tarjumaad === * {{en}}: amass, collect 22598 wikitext text/x-wiki {{-so-}} == Magac == '''tuumi''' === Tarjumaad === * {{en}}: amass, collect ltei12luw1dom0rhp1h8za102k9nszy oof 0 7265 32080 22599 2024-10-28T03:44:06Z Girligaanshub 3150 32080 wikitext text/x-wiki {{-so-}} == Magac == '''oof''' === Tarjumaad === * {{en}}: proximal, dorsal * {{en}}: rib jpumwefoo4ica485ak3env90gbzfaro toobin 0 7266 22600 2022-09-29T00:46:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toobin''' === Tarjumaad === * {{en}}: cupping therapy, vacuum cupping, 22600 wikitext text/x-wiki {{-so-}} == Magac == '''toobin''' === Tarjumaad === * {{en}}: cupping therapy, vacuum cupping, 53qg3om6kindvqjjyf2w767x7h7twod turaal 0 7267 31768 22601 2024-10-25T20:28:35Z Girligaanshub 3150 31768 wikitext text/x-wiki {{-so-}} == Magac == '''turaal''' === Tarjumaad === * {{en}}: kindness ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]] opv2zf652rqoi3qvq7qc98isfvcuetl sed 0 7268 22602 2022-09-29T00:56:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sed''' === Tarjumaad === * {{en}}: custody, holding, share 22602 wikitext text/x-wiki {{-so-}} == Magac == '''sed''' === Tarjumaad === * {{en}}: custody, holding, share rwli94npf6596pz8bcs8havb9zw6uby istuxumbaar 0 7269 28405 26480 2024-06-15T16:32:43Z Girligaanshub 3150 28405 wikitext text/x-wiki {{-so-}} == Magac == '''istuxumbaar''' === Tarjumaad === * {{en}}: bossy, arrogant, narcissist, megalomaniac, NPD ===Synonyms=== *[[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] qtess1ns1poiyhj0fymr7lvxsm6u1qg baxnaan 0 7270 22604 2022-09-29T00:59:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baxnaan''' === Tarjumaad === * {{en}}: pending, prospective, 22604 wikitext text/x-wiki {{-so-}} == Magac == '''baxnaan''' === Tarjumaad === * {{en}}: pending, prospective, b3c82g2ue3xognixdh7f02ev1j64217 tafriid 0 7271 22605 2022-09-29T01:00:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tafriid''' === Tarjumaad === * {{en}}: incite 22605 wikitext text/x-wiki {{-so-}} == Magac == '''tafriid''' === Tarjumaad === * {{en}}: incite io5upq1d97o74ata2nvb7sluc89x925 ciir 0 7272 25964 25325 2023-11-16T22:21:28Z Girligaanshub 3150 25964 wikitext text/x-wiki {{-so-}} == Magac == '''ciir''' === Tarjumaad === * {{en}}: yoghurt, milkshake * shave n7ot8sbxmqff5xthle0nk6ndsst157r bardooddan 0 7273 25049 25048 2023-09-22T15:18:50Z Girligaanshub 3150 25049 wikitext text/x-wiki {{-so-}} == Magac == '''bardooddan''' === Tarjumaad === * {{en}}: athletics, game, sport, o3cxglvoms4qi9rq74ui25g0i0ichbf baarax 0 7274 25507 22608 2023-10-21T11:53:29Z Girligaanshub 3150 25507 wikitext text/x-wiki {{-so-}} == Magac == '''baarax''' === Tarjumaad === * {{en}}: content, open space, clearance, leeway, tp9plvmak115y1qnceh4645jxw4cy98 naal 0 7275 27359 22609 2024-05-13T16:53:05Z Girligaanshub 3150 27359 wikitext text/x-wiki {{-so-}} == Magac == '''naal''' === Tarjumaad === * {{en}}: settled, lodged, residing, * {{en}}: collective pronoun of [[yaal]] qwcdyvf244voy2m1b1nza8drjf0hq1o xiir 0 7276 30019 22610 2024-08-19T00:40:41Z Girligaanshub 3150 30019 wikitext text/x-wiki {{-so-}} == Magac == '''xiir''' === Tarjumaad === * {{en}}: shave, slash qnnx571o5355xlzva3xgtrd1tuhfhvu maarre 0 7277 22611 2022-09-29T01:55:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maarre''' === Tarjumaad === * {{en}}: single shot rifle 22611 wikitext text/x-wiki {{-so-}} == Magac == '''maarre''' === Tarjumaad === * {{en}}: single shot rifle etbfbzymtf4xhx8cbiq2s4j369446sb hirib 0 7278 22612 2022-09-29T01:57:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirib''' === Tarjumaad === * {{en}}: bewitched, haunted 22612 wikitext text/x-wiki {{-so-}} == Magac == '''hirib''' === Tarjumaad === * {{en}}: bewitched, haunted pcvfxyums211fugso2gd6qzdqqbunxx taakee 0 7279 22613 2022-09-29T02:00:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taakee''' === Tarjumaad === * {{en}}: compute, enumerate, calibrate 22613 wikitext text/x-wiki {{-so-}} == Magac == '''taakee''' === Tarjumaad === * {{en}}: compute, enumerate, calibrate lztoiwhxj0ii5kl2rgqoocejswzz7nm hibasho 0 7280 28325 24165 2024-06-14T17:12:18Z Girligaanshub 3150 28325 wikitext text/x-wiki {{-so-}} == Magac == '''hibasho''' === Tarjumaad === * {{en}}: resentment ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], g6bsvct3wjcyop6mclfuqirv7mvq317 hanqaar 0 7281 31868 22615 2024-10-25T22:36:13Z Girligaanshub 3150 31868 wikitext text/x-wiki {{-so-}} == Magac == '''hanqaar''' === Tarjumaad === * {{en}}: temptation, luring, entice, allure ===Synonyms=== *[[jirrabaad]], [[hanqaar]] s1dvr1a2csv9g56ns68exopvcpdaqwk hambaabulo 0 7282 22616 2022-09-29T02:06:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hambaabulo''' === Tarjumaad === * {{en}}: shack, shed 22616 wikitext text/x-wiki {{-so-}} == Magac == '''hambaabulo''' === Tarjumaad === * {{en}}: shack, shed 6afb3oidffqij447meu3stcq1ckb9ej buurrow 0 7283 22617 2022-09-29T02:42:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buurrow''' === Tarjumaad === * {{en}}: robust 22617 wikitext text/x-wiki {{-so-}} == Magac == '''buurrow''' === Tarjumaad === * {{en}}: robust tu7wamrrqbcducdvtzberhiw0ek8nox boohin 0 7284 22618 2022-09-29T02:43:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boohin''' === Tarjumaad === * {{en}}: sorrow 22618 wikitext text/x-wiki {{-so-}} == Magac == '''boohin''' === Tarjumaad === * {{en}}: sorrow l5cft63d5j0gsrgslty6e2wtjn1po00 dayri 0 7285 22619 2022-09-29T02:43:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dayri''' === Tarjumaad === * {{en}}: disown 22619 wikitext text/x-wiki {{-so-}} == Magac == '''dayri''' === Tarjumaad === * {{en}}: disown si9cnys4c94qget5ijarwgioe90g05r baaxad 0 7286 31401 31387 2024-10-07T20:55:01Z Girligaanshub 3150 31401 wikitext text/x-wiki {{-so-}} == Magac == '''baaxad''' === Tarjumaad === * {{en}}: scope, area ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] thnv9dwzo1at9qjl5xewvr6y8kz5q7g baabso 0 7287 22621 2022-09-29T02:55:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baabso''' === Tarjumaad === * {{en}}: courtship 22621 wikitext text/x-wiki {{-so-}} == Magac == '''baabso''' === Tarjumaad === * {{en}}: courtship ai30r7pi4im6021amxsvl7bo9pg704v bud 0 7288 22622 2022-09-29T02:56:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bud''' === Tarjumaad === * {{en}}: tomb, grave 22622 wikitext text/x-wiki {{-so-}} == Magac == '''bud''' === Tarjumaad === * {{en}}: tomb, grave ntt5vs0m7f3snvazy709e1tne5h4osr gooji 0 7289 30142 30139 2024-08-23T22:59:25Z Girligaanshub 3150 30142 wikitext text/x-wiki {{-so-}} == Magac == '''gooji''' === Tarjumaad === * {{en}}: raise ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]], [[hinji]] pizw4ig0w8xt3ri55f39b26ln82dfvk bukaan-side 0 7290 26489 22624 2023-12-30T14:55:17Z Girligaanshub 3150 26489 wikitext text/x-wiki {{-so-}} == Magac == '''bukaan-side''' === Tarjumaad === * {{en}}: morning sickness haver, nausea haver fb5e4l9q6vgmcgnimoiz7vxgu3bvqag bukaansan 0 7291 26488 22625 2023-12-30T14:54:31Z Girligaanshub 3150 26488 wikitext text/x-wiki {{-so-}} == Magac == '''bukaansan''' === Tarjumaad === * {{en}}: morning sickness, nausea 03rcb9v7s2gduyzo6rs5sxs96j61l0k bawhaar 0 7292 22626 2022-09-29T03:03:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bawhaar''' === Tarjumaad === * {{en}}: bustling, vibrant 22626 wikitext text/x-wiki {{-so-}} == Magac == '''bawhaar''' === Tarjumaad === * {{en}}: bustling, vibrant qbytalbrldxfuwmfu162qmv886met3m seben 0 7293 25753 22627 2023-11-05T20:57:25Z Girligaanshub 3150 25753 wikitext text/x-wiki {{-so-}} == Magac == '''seben''' === Tarjumaad === * {{en}}: bandage go468ldq7e18dj97jo8n5h6jakeh2pa oon 0 7294 22628 2022-09-29T05:38:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oon''' === Tarjumaad === * {{en}}: thirst 22628 wikitext text/x-wiki {{-so-}} == Magac == '''oon''' === Tarjumaad === * {{en}}: thirst 9773h82yffd1oyotqa161q5kaywr3kl maaweel 0 7295 26750 22629 2024-02-11T02:32:55Z Girligaanshub 3150 26750 wikitext text/x-wiki {{-so-}} == Magac == '''maaweel''' === Tarjumaad === * {{en}}: undergo, indulge, engage, undertake, partake, ===Synonyms=== *[[maaweel]], [[mashquul]] mqe2m7k5jtesb8mk078mistp8jk8l99 gablee 0 7296 26521 22630 2024-01-06T06:47:49Z Girligaanshub 3150 26521 wikitext text/x-wiki {{-so-}} == Magac == '''gablee''' === Tarjumaad === * {{en}}: dance * {{en}}: indebt, incur debt 8n56qxo5yt5zemeail68kdljj4p801n gableyn 0 7297 26522 22631 2024-01-06T06:48:38Z Girligaanshub 3150 26522 wikitext text/x-wiki {{-so-}} == Magac == '''gableyn''' === Tarjumaad === * {{en}}: dance * {{en}}: indebt, put in debt ktd3xuq380qxyydhihxllzplru5eppo gabraar 0 7298 22632 2022-09-29T06:33:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabraar''' === Tarjumaad === * {{en}}: transgression 22632 wikitext text/x-wiki {{-so-}} == Magac == '''gabraar''' === Tarjumaad === * {{en}}: transgression 63z2tor7p2fhz3v8swplu6z83outpvk dibagale 0 7299 22633 2022-09-29T08:29:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibagale''' === Tarjumaad === * {{en}}: squirel 22633 wikitext text/x-wiki {{-so-}} == Magac == '''dibagale''' === Tarjumaad === * {{en}}: squirel 1ai0g20t7r4qd5bfrxta7vjbdfd3rdj hagaf 0 7300 22634 2022-09-29T08:30:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagaf''' === Tarjumaad === * {{en}}: midget 22634 wikitext text/x-wiki {{-so-}} == Magac == '''hagaf''' === Tarjumaad === * {{en}}: midget g2nymawnpy2ccgyl8on38sqrcryaaa0 hawraar 0 7301 28181 22635 2024-06-12T19:28:21Z Girligaanshub 3150 28181 wikitext text/x-wiki {{-so-}} == Magac == '''hawraar''' === Tarjumaad === * {{en}}: opinion ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] nre598ryylmqys81f99n4g6m1i4iice hagaaf 0 7302 22636 2022-09-29T08:44:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagaaf''' === Tarjumaad === * {{en}}: resolution 22636 wikitext text/x-wiki {{-so-}} == Magac == '''hagaaf''' === Tarjumaad === * {{en}}: resolution 5o9vizm9rmps22ytccrilh0suue9tlq hundo 0 7303 22637 2022-09-29T08:44:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hundo''' === Tarjumaad === * {{en}}: cooperation 22637 wikitext text/x-wiki {{-so-}} == Magac == '''hundo''' === Tarjumaad === * {{en}}: cooperation s5qlkvmkri9a59ljsbmwhcuj4x2khm5 qoton 0 7304 22638 2022-09-29T08:46:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoton''' === Tarjumaad === * {{en}}: stuck 22638 wikitext text/x-wiki {{-so-}} == Magac == '''qoton''' === Tarjumaad === * {{en}}: stuck 07cdd5zr03dtwd8ghdyafsmtfeyt1m0 haruub 0 7305 31532 26584 2024-10-13T03:30:47Z Girligaanshub 3150 31532 wikitext text/x-wiki {{-so-}} == Magac == '''haruub''' === Tarjumaad === * {{en}}: lid * {{en}}: pot, mug, vessel ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] 6v6g48kbl0n35juuhfei4s55ttma4h6 garnaq 0 7306 28461 28312 2024-06-15T19:12:23Z Girligaanshub 3150 28461 wikitext text/x-wiki {{-so-}} == Magac == '''garnaq''' === Tarjumaad === * {{en}}: verdict, convict, conviction, indict, indictment, sentence, prosecute, prosecution, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[qisaas]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] 2aro22186i5fztvguvi7v25uek5e8t3 laaluush 0 7307 27210 22642 2024-04-22T19:29:17Z Danesrmithpl8 4840 27210 wikitext text/x-wiki {{-so-}} == Magac == '''laaluush''' === Tarjumaad === * {{en}}: bribe, bribery 5yb3gth3gva5f31qu5ir5fu65upf6lf carmal 0 7308 22644 2022-09-29T11:21:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carmal''' === Tarjumaad === * {{en}}: widow 22644 wikitext text/x-wiki {{-so-}} == Magac == '''carmal''' === Tarjumaad === * {{en}}: widow kvhiesis1j7prfvgoxntn7e8noeuxb4 gaagur 0 7309 22645 2022-09-29T11:26:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaagur''' === Tarjumaad === * {{en}}: youthful vigor 22645 wikitext text/x-wiki {{-so-}} == Magac == '''gaagur''' === Tarjumaad === * {{en}}: youthful vigor 5e7ty3bvtjfb9ti5h0hyswbskduwxxa dhammey 0 7310 22646 2022-09-29T11:29:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhammey''' === Tarjumaad === * {{en}}: unblemished 22646 wikitext text/x-wiki {{-so-}} == Magac == '''dhammey''' === Tarjumaad === * {{en}}: unblemished kz2jcq4demul36i06t86hektyopfjcq dheeg 0 7311 31228 31218 2024-10-04T14:42:06Z Girligaanshub 3150 31228 wikitext text/x-wiki {{-so-}} == Magac == '''dheeg''' === Tarjumaad === * {{en}}: noble ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], libo7abf8h2bandg3fbf2m0htizklcr dhagamso 0 7312 22651 2022-09-29T11:36:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhagamso''' === Tarjumaad === * {{en}}: idleness, laziness 22651 wikitext text/x-wiki {{-so-}} == Magac == '''dhagamso''' === Tarjumaad === * {{en}}: idleness, laziness kudlbho9hrbdjzam6h1f65joe34bt6b maag 0 7313 29508 29337 2024-08-04T23:44:56Z Girligaanshub 3150 29508 wikitext text/x-wiki {{-so-}} == Magac == '''maag''' === Tarjumaad === * {{en}}: earth * wooing a girl, courting a girl * bother, bothering, disturb, annoy, irritate, irritation, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]], [[yasitaan]], [[yasid]] o7dlg2haw5t6wd8vli2vx9ce5mq5104 dhuullo 0 7314 26104 26102 2023-11-29T09:10:07Z Girligaanshub 3150 26104 wikitext text/x-wiki {{-so-}} == Magac == '''dhuullo''' === Tarjumaad === * {{en}}: land * pubescent girl, adolescent girl ===Synonyms=== *[[foodley]], [[gashaanti]], [[garoomey]], [[dhuullo]], [[tuurrey]] bbplsqu131sm45e6rhgi9quken6lt2w laaq 0 7315 22654 2022-09-29T12:29:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laaq''' === Tarjumaad === * {{en}}: defile, pollute 22654 wikitext text/x-wiki {{-so-}} == Magac == '''laaq''' === Tarjumaad === * {{en}}: defile, pollute rmoi43wzykptw8o5lh9lzakvyksvgbh dhiso 0 7316 22655 2022-09-29T12:30:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiso''' === Tarjumaad === * {{en}}: build * start a family, get married 22655 wikitext text/x-wiki {{-so-}} == Magac == '''dhiso''' === Tarjumaad === * {{en}}: build * start a family, get married lzvb7so78mjhcnnr83y2qxyrsdhvjsv dhabab 0 7317 22656 2022-09-29T12:31:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabab''' === Tarjumaad === * {{en}}: bury 22656 wikitext text/x-wiki {{-so-}} == Magac == '''dhabab''' === Tarjumaad === * {{en}}: bury 0crsvpp98g49f3rjvlo156gg92tvl1k dhiin 0 7318 23542 22657 2023-05-20T04:29:30Z Girligaanshub 3150 23542 wikitext text/x-wiki {{-so-}} == Magac == '''dhiin''' === Tarjumaad === * {{en}}: juice fyl4hqcnvdc0w4ryq08cvfgjp7gf244 dhilaal 0 7319 22658 2022-09-29T12:35:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhilaal''' === Tarjumaad === * {{en}}: griddle, meat platter 22658 wikitext text/x-wiki {{-so-}} == Magac == '''dhilaal''' === Tarjumaad === * {{en}}: griddle, meat platter fqm014uvtt4hoocewp28jta6drpk8nv dadduuc 0 7320 30143 30134 2024-08-23T22:59:36Z Girligaanshub 3150 30143 wikitext text/x-wiki {{-so-}} == Magac == '''dadduuc''' === Tarjumaad === * {{en}}: lift ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]], [[hinji]] doby7ipjf155dgvs9gsvk0iyyfisjpg deeb 0 7321 22660 2022-09-29T12:46:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deeb''' === Tarjumaad === * {{en}}: hair conditioner, moisturizer 22660 wikitext text/x-wiki {{-so-}} == Magac == '''deeb''' === Tarjumaad === * {{en}}: hair conditioner, moisturizer 2b8n4x2rft8405t6ubdv0xvgyfs2ktp daaq 0 7322 22661 2022-09-29T15:57:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daaq''' === Tarjumaad === * {{en}}: graze, pasture * well-being, secure, fulfillment, 22661 wikitext text/x-wiki {{-so-}} == Magac == '''daaq''' === Tarjumaad === * {{en}}: graze, pasture * well-being, secure, fulfillment, bf8xgfyjvw4gxhybbws2rxi3tqkxltl gubaab 0 7323 22662 2022-09-29T16:11:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gubaab''' === Tarjumaad === * {{en}}: inducement, kindling 22662 wikitext text/x-wiki {{-so-}} == Magac == '''gubaab''' === Tarjumaad === * {{en}}: inducement, kindling dldndcvoavghd8y9wh2taahtjooptwe gubaabi 0 7324 28382 26375 2024-06-15T12:57:30Z Girligaanshub 3150 28382 wikitext text/x-wiki {{-so-}} == Magac == '''gubaabi''' === Tarjumaad === * {{en}}: foment, kindle, incite ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]] ===Antonyms=== *[[afgobaadsi]] ni396e2xbrwx4upzm7utbmu2w4lez76 fuf 0 7325 22664 2022-09-29T16:13:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fuf''' === Tarjumaad === * {{en}}: revive 22664 wikitext text/x-wiki {{-so-}} == Magac == '''fuf''' === Tarjumaad === * {{en}}: revive rkumgqapksha0w805dxf6dqrg5jyien gadaalbax 0 7326 22665 2022-09-29T16:14:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gadaalbax''' === Tarjumaad === * {{en}}: reborn, regrow 22665 wikitext text/x-wiki {{-so-}} == Magac == '''gadaalbax''' === Tarjumaad === * {{en}}: reborn, regrow fooqi0mf4uxvb7s0hl9u28c4ix8d44c raadgur 0 7327 22666 2022-09-29T16:18:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raadgur''' === Tarjumaad === * {{en}}: spoor trace, footprint track 22666 wikitext text/x-wiki {{-so-}} == Magac == '''raadgur''' === Tarjumaad === * {{en}}: spoor trace, footprint track 4pnuf7eqdbzf0ycuwunqmzkmuv9eire guntin 0 7328 22667 2022-09-29T16:42:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guntin''' === Tarjumaad === * {{en}}: genus 22667 wikitext text/x-wiki {{-so-}} == Magac == '''guntin''' === Tarjumaad === * {{en}}: genus glmhhnvyn7oo9xiepy8vur295c36tjk gaas 0 7329 32186 22668 2024-10-31T23:01:52Z Girligaanshub 3150 32186 wikitext text/x-wiki {{-so-}} == Magac == '''gaas''' === Tarjumaad === * {{en}}: batallion, regiment ===Synonyms=== *[[gaas]], [[guuto]], [[jabhad]] a1v0dck7gyck2v2zpltpjewyxalcxln gahayr 0 7330 22669 2022-09-29T16:44:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gahayr''' === Tarjumaad === * {{en}}: unripe 22669 wikitext text/x-wiki {{-so-}} == Magac == '''gahayr''' === Tarjumaad === * {{en}}: unripe m86p468q153b20jrxrbl7jc08yvob4i jibaax 0 7331 22670 2022-09-29T16:45:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jibaax''' === Tarjumaad === * {{en}}: rustle 22670 wikitext text/x-wiki {{-so-}} == Magac == '''jibaax''' === Tarjumaad === * {{en}}: rustle 9osd60vchha1sxb255utr042wpaplee xaab 0 7332 29910 22772 2024-08-14T06:03:01Z Girligaanshub 3150 29910 wikitext text/x-wiki {{-so-}} == Magac == '''xaab''' === Tarjumaad === * {{en}}: collect, gather * {{en}}: grass, shrub * {{en}}: wood, firewood jycvpc7j40gdpy9lgo805fc2jxml021 waafow 0 7333 22672 2022-09-29T16:54:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waafow''' === Tarjumaad === * {{en}}: invalid 22672 wikitext text/x-wiki {{-so-}} == Magac == '''waafow''' === Tarjumaad === * {{en}}: invalid 4cdhh6h5phlj9m2a1gmvaj3vrw60l3j garangar 0 7334 22673 2022-09-29T16:56:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garangar''' === Tarjumaad === * {{en}}: roll 22673 wikitext text/x-wiki {{-so-}} == Magac == '''garangar''' === Tarjumaad === * {{en}}: roll avet0lze8pmiwt8eem0899vkym6obtt golongol 0 7335 22674 2022-09-29T17:01:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''golongol''' === Tarjumaad === * {{en}}: emaciated 22674 wikitext text/x-wiki {{-so-}} == Magac == '''golongol''' === Tarjumaad === * {{en}}: emaciated l1r2cdrp13fjks4xq174wzghxsipi4j garoorow 0 7336 22675 2022-09-29T17:02:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoorow''' === Tarjumaad === * {{en}}: shelf-stable, non-perishable 22675 wikitext text/x-wiki {{-so-}} == Magac == '''garoorow''' === Tarjumaad === * {{en}}: shelf-stable, non-perishable e4nqfcahjmw20powjsw4bfkitu8entq ruji 0 7337 22676 2022-09-29T17:07:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruji''' === Tarjumaad === * {{en}}: uproot 22676 wikitext text/x-wiki {{-so-}} == Magac == '''ruji''' === Tarjumaad === * {{en}}: uproot t4afx0v0ns4h3mwvi4v34nvmgkwpf7e dadaal 0 7338 32529 32458 2024-11-18T13:08:55Z Girligaanshub 3150 32529 wikitext text/x-wiki {{-so-}} == Magac == '''dadaal''' === Tarjumaad === * {{en}}: strive ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]], [[dardargalo]] * *[[boori]] t0okjtz9zbv0r6je4v32dayd2mcm76g duleed 0 7339 22678 2022-09-29T17:15:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duleed''' === Tarjumaad === * {{en}}: precinct, terrace 22678 wikitext text/x-wiki {{-so-}} == Magac == '''duleed''' === Tarjumaad === * {{en}}: precinct, terrace fdyg34llxnzpdjbusim7gt4gzfvj216 saylaami 0 7340 22679 2022-09-29T17:20:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saylaami''' === Tarjumaad === * {{en}}: swing, sway 22679 wikitext text/x-wiki {{-so-}} == Magac == '''saylaami''' === Tarjumaad === * {{en}}: swing, sway pcompe5gbcd6kqbuxoor96meybr2a5a tallaab 0 7341 25530 22680 2023-10-23T12:38:06Z Girligaanshub 3150 25530 wikitext text/x-wiki {{-so-}} == Magac == '''tallaab''' === Tarjumaad === * {{en}}: step, cross 0ggva4cdpmzwpw9fuivqicyahzf9a3i xilojanno 0 7342 22681 2022-09-29T17:25:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xilojanno''' === Tarjumaad === * {{en}}: conservative spouse 22681 wikitext text/x-wiki {{-so-}} == Magac == '''xilojanno''' === Tarjumaad === * {{en}}: conservative spouse 7xpndjf1xxnyqk2gcf4o122t6abn4lm daar 0 7343 22682 2022-09-29T17:35:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daar''' === Tarjumaad === * {{en}}: rampart, curtain wall, 22682 wikitext text/x-wiki {{-so-}} == Magac == '''daar''' === Tarjumaad === * {{en}}: rampart, curtain wall, 7vrz8pc4f39yov0um1f03dllj67r26v dharaar 0 7344 23082 22683 2023-01-28T17:30:16Z Girligaanshub 3150 23082 wikitext text/x-wiki {{-so-}} == Magac == '''dharaar''' === Tarjumaad === * {{en}}: sunlight, daytime, day, sunray, cik2x4qe8pii7vxi4scy3qua7x705i4 meelmar 0 7345 22684 2022-09-29T18:45:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meelmar''' === Tarjumaad === * {{en}}: utilize 22684 wikitext text/x-wiki {{-so-}} == Magac == '''meelmar''' === Tarjumaad === * {{en}}: utilize thzhmypvrg3ma9w1zzb1k35wsa4twf1 ummaamad 0 7346 22686 2022-09-29T19:34:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ummaamad''' === Tarjumaad === * {{en}}: found 22686 wikitext text/x-wiki {{-so-}} == Magac == '''ummaamad''' === Tarjumaad === * {{en}}: found 5wfsb7nds3pssyqfs40k8r6k6d707zh ma-hure 0 7347 22687 2022-09-29T19:35:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ma-hure''' === Tarjumaad === * {{en}}: indispensable, 22687 wikitext text/x-wiki {{-so-}} == Magac == '''ma-hure''' === Tarjumaad === * {{en}}: indispensable, 9gqgase8rl5c23dv0hoyyoua0f8unr3 misig 0 7348 22688 2022-09-29T19:36:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''misig''' === Tarjumaad === * {{en}}: hip 22688 wikitext text/x-wiki {{-so-}} == Magac == '''misig''' === Tarjumaad === * {{en}}: hip efsnno1sg3fi42mt55enl0pe5acyncd naahinimo 0 7349 25270 25269 2023-10-12T16:44:38Z Girligaanshub 3150 Girligaanshub moved page [[nahinimo]] to [[naahinimo]] 25269 wikitext text/x-wiki {{-so-}} == Magac == '''nahinimo''' === Tarjumaad === * {{en}}: minimalism, austerity, basic, simple b5s2al8oqpstu8na6uhd424bruua7zq murux 0 7350 22690 2022-09-29T19:39:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murux''' === Tarjumaad === * {{en}}: peelable 22690 wikitext text/x-wiki {{-so-}} == Magac == '''murux''' === Tarjumaad === * {{en}}: peelable qs5ian8iydsi9xvxp9aw3ptmnd4x745 malaanmal 0 7351 22691 2022-09-29T20:11:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malaanmal''' === Tarjumaad === * {{en}}: tomboy, unfeminine, unwomanly, hoyden, ladette, 22691 wikitext text/x-wiki {{-so-}} == Magac == '''malaanmal''' === Tarjumaad === * {{en}}: tomboy, unfeminine, unwomanly, hoyden, ladette, cfm6lbbquhwrk1jxlisujklu7b7t3jc malaanmalan 0 7352 22692 2022-09-29T20:12:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malaanmalan''' === Tarjumaad === * {{en}}: tomboyish, unfeminine, unwomanly, hoyden, ladette 22692 wikitext text/x-wiki {{-so-}} == Magac == '''malaanmalan''' === Tarjumaad === * {{en}}: tomboyish, unfeminine, unwomanly, hoyden, ladette dbgkourv4c08p9k2nryzchk9o7rv0zm malaanmalnimo 0 7353 22693 2022-09-29T20:12:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malaanmalnimo''' === Tarjumaad === * {{en}}: tomboyism, unfemininity, unwomanliness, hoyden, ladette 22693 wikitext text/x-wiki {{-so-}} == Magac == '''malaanmalnimo''' === Tarjumaad === * {{en}}: tomboyism, unfemininity, unwomanliness, hoyden, ladette hkfpbsbjiv08shhnyu22enocdq8fwyr acalad 0 7354 22694 2022-09-29T20:13:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''acalad''' === Tarjumaad === * {{en}}: tomboy, unfeminine, unwomanly, hoyden, ladette 22694 wikitext text/x-wiki {{-so-}} == Magac == '''acalad''' === Tarjumaad === * {{en}}: tomboy, unfeminine, unwomanly, hoyden, ladette 2riuwm0pa6dsc22ud05412mf918eb74 astee 0 7355 22695 2022-09-29T20:15:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''stee''' === Tarjumaad === * {{en}}: brand, demonstrate, signal 22695 wikitext text/x-wiki {{-so-}} == Magac == '''stee''' === Tarjumaad === * {{en}}: brand, demonstrate, signal 955f9pz1tfw6cbzq37t07jjet4gtyg3 aqbal 0 7356 22696 2022-09-29T20:16:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqbal''' === Tarjumaad === * {{en}}: accept 22696 wikitext text/x-wiki {{-so-}} == Magac == '''aqbal''' === Tarjumaad === * {{en}}: accept rrlftynz64onfe4mago3dxlak95u8be falcelin 0 7357 32042 29861 2024-10-27T19:48:28Z Girligaanshub 3150 32042 wikitext text/x-wiki {{-so-}} == Magac == '''falcelin''' === Tarjumaad === * {{en}}: reaction ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] 2efn860zsews6j0p2y2o7gtm5ds0eos falcelinta 0 7358 29862 27934 2024-08-12T18:12:06Z Girligaanshub 3150 29862 wikitext text/x-wiki {{-so-}} == Magac == '''falcelinta''' === Tarjumaad === * {{en}}: reaction, consequence, repercussion, ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] eamvyt68b4qgd843h4240gu4bd8qs85 arami 0 7359 29372 22703 2024-08-02T09:26:58Z Girligaanshub 3150 29372 wikitext text/x-wiki {{-so-}} == Magac == '''arami''' === Tarjumaad === * {{en}}: lamentation ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[arami]], [[baroor]], [[dhaliil]] c2fte6nnyetx49ukps4ou7xdkcdn9ir uurjiif 0 7360 29078 22704 2024-07-29T03:42:15Z Girligaanshub 3150 29078 wikitext text/x-wiki {{-so-}} == Magac == '''uurjiif''' === Tarjumaad === * {{en}}: fetus, embryo, foetus 6j9yg3d4gf3lyzwdk5jdep1xuoyi3cs qalabqaad 0 7361 23237 22705 2023-03-29T07:50:45Z Girligaanshub 3150 23237 wikitext text/x-wiki {{-so-}} == Magac == '''qalabqaad''' === Tarjumaad === * {{en}}: prepare, preparation, 1u8jnj21if2j7npfa8negi855o2q0nk ogeysii 0 7362 29310 22706 2024-08-01T06:56:48Z Girligaanshub 3150 29310 wikitext text/x-wiki {{-so-}} == Magac == '''ogeysii''' === Tarjumaad === * {{en}}: inform ===Synonyms=== *[[baraarug]], [[wacyigeli]], [[wacyigelinta]], [[ogeysii]], [[waano]], a98sgrcydr79u8dwrmx1gg7ondg11ej uubato 0 7363 24541 22707 2023-09-01T21:35:26Z Girligaanshub 3150 24541 wikitext text/x-wiki {{-so-}} == Magac == '''uubato''' === Tarjumaad === * {{en}}: whistleblow, jackal k5dbhbnwvddixlzridzws7hoozsdgwr heense 0 7364 30160 22708 2024-08-24T01:29:27Z Girligaanshub 3150 30160 wikitext text/x-wiki {{-so-}} == Magac == '''heense''' === Tarjumaad === * {{en}}: saddle / bridle e36els8u1so9dlpswkd541zgooe5x9h dan-dambaysi 0 7365 22709 2022-10-01T12:08:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dan-dambaysi''' === Tarjumaad === * {{en}}: procrastination 22709 wikitext text/x-wiki {{-so-}} == Magac == '''dan-dambaysi''' === Tarjumaad === * {{en}}: procrastination n8xe4xaekc77s8gnatcbcj51nz7nryd dawaaro 0 7366 22710 2022-10-01T12:09:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dawaaro''' === Tarjumaad === * {{en}}: roundabout, traffic circle 22710 wikitext text/x-wiki {{-so-}} == Magac == '''dawaaro''' === Tarjumaad === * {{en}}: roundabout, traffic circle lsw6eiovitg9xrdlvuce7d0xj2buyh0 daacufley 0 7367 22711 2022-10-01T12:22:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daacufley''' === Tarjumaad === * {{en}}: hairy, furry 22711 wikitext text/x-wiki {{-so-}} == Magac == '''daacufley''' === Tarjumaad === * {{en}}: hairy, furry f7h5yxba9k3lx4o4ax024kp2rurfcpp deexda 0 7368 22712 2022-10-01T12:49:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deexda''' === Tarjumaad === * {{en}}: wasteland, sandbank 22712 wikitext text/x-wiki {{-so-}} == Magac == '''deexda''' === Tarjumaad === * {{en}}: wasteland, sandbank laz06i3a0y6jgi6rr5wl5cju4p4883t daaqsan 0 7369 22713 2022-10-01T12:50:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daaqsan''' === Tarjumaad === * {{en}}: content, fulfilled 22713 wikitext text/x-wiki {{-so-}} == Magac == '''daaqsan''' === Tarjumaad === * {{en}}: content, fulfilled 0x7l6gemompk0rxr8go7o5t6nrk1z33 sanac 0 7370 26445 26444 2023-12-26T13:42:25Z Girligaanshub 3150 26445 wikitext text/x-wiki {{-so-}} == Magac == '''sanac''' === Tarjumaad === * {{en}}: item, equipment, goods ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], hooz1a7ipeq5se9ewllirievo3se0a0 saadi 0 7371 25619 24500 2023-10-29T03:21:39Z Girligaanshub 3150 25619 wikitext text/x-wiki {{-so-}} == Magac == '''saadi''' === Tarjumaad === * {{en}}: forecast, prediction, projection, prognosis, foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] g36wkj1df3tbvs6hqi5899rdnmjr9pf sareedo 0 7372 22716 2022-10-01T13:16:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sareedo''' === Tarjumaad === * {{en}}: fulfilled 22716 wikitext text/x-wiki {{-so-}} == Magac == '''sareedo''' === Tarjumaad === * {{en}}: fulfilled 2po1jpfrqxstx39md4ocpawqex0s5nl shaqo-daaq 0 7373 22717 2022-10-01T13:17:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaqo-daaq''' === Tarjumaad === * {{en}}: working 22717 wikitext text/x-wiki {{-so-}} == Magac == '''shaqo-daaq''' === Tarjumaad === * {{en}}: working 1866apl0mzdspmchdytvwrzny8d9un9 bulsho-daaq 0 7374 28055 28053 2024-06-08T22:43:15Z Girligaanshub 3150 28055 wikitext text/x-wiki {{-so-}} == Magac == '''bulsho-daaq''' === Tarjumaad === * {{en}}: socialize ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] hpsj8tib92b8rlq1six8un3n38x00c2 ladnaan 0 7375 22719 2022-10-01T13:18:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ladnaan''' === Tarjumaad === * {{en}}: health, healthy 22719 wikitext text/x-wiki {{-so-}} == Magac == '''ladnaan''' === Tarjumaad === * {{en}}: health, healthy t57aafnyk9564nxjpem4wmylr0wp4ns caalam-daaq 0 7376 22720 2022-10-01T14:41:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caalam-daaq''' === Tarjumaad === * {{en}}: globalist, public relations person, PR person 22720 wikitext text/x-wiki {{-so-}} == Magac == '''caalam-daaq''' === Tarjumaad === * {{en}}: globalist, public relations person, PR person seyavnq50gfau5bw9273vop3p7x5xjz caalam-daaqaha 0 7377 22721 2022-10-01T14:42:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caalam-daaqaha''' === Tarjumaad === * {{en}}: globalism, public relations, PR 22721 wikitext text/x-wiki {{-so-}} == Magac == '''caalam-daaqaha''' === Tarjumaad === * {{en}}: globalism, public relations, PR aolydufyjahxv9ssz55m0mlm54i044x saxal 0 7378 29461 22722 2024-08-04T13:00:29Z Girligaanshub 3150 29461 wikitext text/x-wiki {{-so-}} == Magac == '''saxal''' === Tarjumaad === * {{en}}: suffering ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]] 4f2h6l1ozj7f0jasrkuhh8gm9o6mk8e sayax 0 7379 22723 2022-10-01T14:45:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sayax''' === Tarjumaad === * {{en}}: rant, yell 22723 wikitext text/x-wiki {{-so-}} == Magac == '''sayax''' === Tarjumaad === * {{en}}: rant, yell alcd6xyaom6iqiqqk8wt7sbdo0kuopr saamax 0 7380 29153 29151 2024-07-30T02:33:05Z Girligaanshub 3150 29153 wikitext text/x-wiki {{-so-}} == Magac == '''saamax''' === Tarjumaad === * {{en}}: pardon, forgive ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] 5uscrt9jrzgan5jzmehmulj0guh6qzm luud 0 7381 22726 2022-10-01T14:57:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''luud''' === Tarjumaad === * {{en}}: trudge, lumber, slog, stumble 22726 wikitext text/x-wiki {{-so-}} == Magac == '''luud''' === Tarjumaad === * {{en}}: trudge, lumber, slog, stumble f89i2ehyluqm516prn4jl5hk3099wpn boji 0 7382 22727 2022-10-01T14:58:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boji''' === Tarjumaad === * {{en}}: suspend, halt 22727 wikitext text/x-wiki {{-so-}} == Magac == '''boji''' === Tarjumaad === * {{en}}: suspend, halt t2elnk9h95v0cz94xluozxujb8k3t55 beeg 0 7383 30989 25726 2024-09-29T16:49:43Z Girligaanshub 3150 30989 wikitext text/x-wiki {{-so-}} == Magac == '''beeg''' === Tarjumaad === * {{en}}: coincide, intertwine, interlink, target ===Synonyms=== *[[faro]], [[tebi]], [[shiishbar]], [[murdiso]], [[beeg]], [[beegso]], 865isnqp4h72s2u5qylu60f8rfgb21s ba'naan 0 7384 22729 2022-10-01T15:30:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ba'naan''' === Tarjumaad === * {{en}}: narcissism, megalomania 22729 wikitext text/x-wiki {{-so-}} == Magac == '''ba'naan''' === Tarjumaad === * {{en}}: narcissism, megalomania omft6l27wgwmg95yop3334q63lhlvat damqasho-laawe 0 7385 22730 2022-10-01T15:32:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damqasho-laawe''' === Tarjumaad === * {{en}}: empathyless, unempathetic 22730 wikitext text/x-wiki {{-so-}} == Magac == '''damqasho-laawe''' === Tarjumaad === * {{en}}: empathyless, unempathetic 5tpqwys777tgs49unums0wrs8y6vd5z damqasho-la'aan 0 7386 22731 2022-10-01T15:32:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damqasho-la'aan''' === Tarjumaad === * {{en}}: unempathetic, non-compassionate 22731 wikitext text/x-wiki {{-so-}} == Magac == '''damqasho-la'aan''' === Tarjumaad === * {{en}}: unempathetic, non-compassionate svwir4cw6hrut7ismozqo1l6bm30lqy baqdhoos 0 7387 22732 2022-10-01T15:33:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baqdhoos''' === Tarjumaad === * {{en}}: doubt 22732 wikitext text/x-wiki {{-so-}} == Magac == '''baqdhoos''' === Tarjumaad === * {{en}}: doubt 0qbgwexis9vtt13eq5x4hsghthwkn4a baar 0 7388 31629 31628 2024-10-19T14:13:09Z Girligaanshub 3150 31629 wikitext text/x-wiki {{-so-}} == Magac == '''baar''' === Tarjumaad === * {{en}}: hair remaining on a camel's hump (due to not carrying loads) * {{en}}: type of tree with bushy top * {{en}}: uppermost foliage of a bushy tree or of bushy hair * {{en}}: uppermost crown of a tree or of bushy hair * {{en}}: feminine Somali personal name * {{en}}: borrowing of English word bar, used for pubs / restauants ay8qqp9tjmhqc1228i0mpmd9lhna1oq rar 0 7389 22734 2022-10-01T15:35:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rar''' === Tarjumaad === * {{en}}: bifurcate 22734 wikitext text/x-wiki {{-so-}} == Magac == '''rar''' === Tarjumaad === * {{en}}: bifurcate ocpa8p7645fyexmx5vbrp8irbrrpo6r buur 0 7390 26468 22780 2023-12-27T17:07:14Z Girligaanshub 3150 26468 wikitext text/x-wiki {{-so-}} == Magac == '''buur''' === Tarjumaad === * {{en}}: mountain * {{en}}: penile glans, penis * {{en}}: piece of earth, gravel, mud 1p9iqbx74n4jnw5toxtv8x4gz8zman4 sayro 0 7391 22738 22737 2022-10-01T15:54:46Z Girligaanshub 3150 Girligaanshub moved page [[sayr]] to [[sayro]] 22737 wikitext text/x-wiki {{-so-}} == Magac == '''sayr''', '''sayro''' === Tarjumaad === * {{en}}: sprinkle, distribute, scatter, pepper, shower, spray 4qp2izktfp9029wqk7py6pvcor2c0bc sayr 0 7392 22739 2022-10-01T15:54:46Z Girligaanshub 3150 Girligaanshub moved page [[sayr]] to [[sayro]] 22739 wikitext text/x-wiki #REDIRECT [[sayro]] o4kyphpqae18yf1epkpit0m8aveiru8 bili 0 7393 22740 2022-10-01T15:56:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bili''' === Tarjumaad === * {{en}}: honor 22740 wikitext text/x-wiki {{-so-}} == Magac == '''bili''' === Tarjumaad === * {{en}}: honor 4nqi7ew7vkfwxp91ythn36osw8vidvy baylihi 0 7394 22741 2022-10-01T15:58:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baylihi''' === Tarjumaad === * {{en}}: neglect 22741 wikitext text/x-wiki {{-so-}} == Magac == '''baylihi''' === Tarjumaad === * {{en}}: neglect c9et7lh4s1cv0086kbw8ikwplo1oogv belel 0 7395 22742 2022-10-01T15:59:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''belel''' === Tarjumaad === * {{en}}: crackle 22742 wikitext text/x-wiki {{-so-}} == Magac == '''belel''' === Tarjumaad === * {{en}}: crackle ts6luusboql3dh4zf420qcknfjf61pr baal 0 7396 32354 26598 2024-11-10T13:02:37Z Girligaanshub 3150 32354 wikitext text/x-wiki {{-so-}} == Magac == '''baal''' === Tarjumaad === * {{en}}: wing, feather * {{en}}: part, section * {{en}}: page * {{en}}: fin of fish ===Synonyms=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] 2hew7vpltet46pt81fd2yr3oeyb4fq0 biid 0 7397 26391 23553 2023-12-17T20:39:47Z Girligaanshub 3150 26391 wikitext text/x-wiki {{-so-}} == Magac == '''biid''' === Tarjumaad === * {{en}}: bit, morsel, little * {{en}}: hipster, hippy, progressive, liberal, counter-culture, xenophile, allophile ===Synonyms=== *[[musawat]] suk8p50n9jwnzr515xpqogtrbjyfq3s isbahar-daadis 0 7398 22745 2022-10-01T16:14:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isbahar-daadis''' === Tarjumaad === * {{en}}: disorganized, disordered 22745 wikitext text/x-wiki {{-so-}} == Magac == '''isbahar-daadis''' === Tarjumaad === * {{en}}: disorganized, disordered ixouidaua10pu7dbqxo97l7wubrtbdv miire 0 7399 27357 22746 2024-05-13T04:53:41Z Girligaanshub 3150 27357 wikitext text/x-wiki {{-so-}} == Magac == '''miire''' === Tarjumaad === * {{en}}: something filtered, something sifted * {{en}}: original hrgxb42o0b3elu81znu2ozo2msa9yy0 miiran 0 7400 22747 2022-10-01T16:17:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miiran''' === Tarjumaad === * {{en}}: sifted, filtered, sieved, 22747 wikitext text/x-wiki {{-so-}} == Magac == '''miiran''' === Tarjumaad === * {{en}}: sifted, filtered, sieved, sl3ie0ncphvbvbns3fnq1qflbekji4s balaayo 0 7401 30271 30116 2024-08-26T05:10:48Z Girligaanshub 3150 30271 wikitext text/x-wiki {{-so-}} == Magac == '''balaayo''' === Tarjumaad === * {{en}}: evil omen, woe, ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]], [[inkaar]], [[balaayo]], [[habaar]] 0ofkrkldma27nduc0rv27s3au0s9w2u loogso 0 7402 22749 2022-10-01T19:56:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loogso''' === Tarjumaad === * {{en}}: butcher, flesh 22749 wikitext text/x-wiki {{-so-}} == Magac == '''loogso''' === Tarjumaad === * {{en}}: butcher, flesh khvzxs50i8olvc6d2145qgjjktvzoh8 yabaq 0 7403 22750 2022-10-01T19:58:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yabaq''' === Tarjumaad === * {{en}}: reverbarate 22750 wikitext text/x-wiki {{-so-}} == Magac == '''yabaq''' === Tarjumaad === * {{en}}: reverbarate it1nnqyn15bx1vfwo997rkpo6q7a07g geedqod 0 7404 22751 2022-10-01T20:02:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geedqod''' === Tarjumaad === * {{en}}: plant transpiration 22751 wikitext text/x-wiki {{-so-}} == Magac == '''geedqod''' === Tarjumaad === * {{en}}: plant transpiration qlrikd8zbbrce3fuqa1yaa0bzwolnib istiil 0 7405 32530 32459 2024-11-18T13:09:06Z Girligaanshub 3150 32530 wikitext text/x-wiki {{-so-}} == Magac == '''istiil''' === Tarjumaad === * {{en}}: drudge, toil, strive ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]], [[dardargalo]] * *[[boori]] rwdci6ygnrjvpgev6zhitxjmswkgcqi tiicis 0 7406 22753 2022-10-01T20:25:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiicis''' === Tarjumaad === * {{en}}: crawl, creep, slither 22753 wikitext text/x-wiki {{-so-}} == Magac == '''tiicis''' === Tarjumaad === * {{en}}: crawl, creep, slither toqdgpvl0ugbkomq0h0h306sh7wg0r9 taawin 0 7407 22754 2022-10-01T20:33:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taawin''' === Tarjumaad === * {{en}}: plan 22754 wikitext text/x-wiki {{-so-}} == Magac == '''taawin''' === Tarjumaad === * {{en}}: plan qchhwu0ok1tciqbdotmmbk96akrqfaq tarrari 0 7408 22755 2022-10-01T20:34:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarrari''' === Tarjumaad === * {{en}}: commend 22755 wikitext text/x-wiki {{-so-}} == Magac == '''tarrari''' === Tarjumaad === * {{en}}: commend t5n71axby99g9wyqosbhw91wnmb2gjl tewali 0 7409 22756 2022-10-01T20:35:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tewali''' === Tarjumaad === * {{en}}: liberate 22756 wikitext text/x-wiki {{-so-}} == Magac == '''tewali''' === Tarjumaad === * {{en}}: liberate iwwzcicmj4d6j2n9qhf9x9h970cux9e tawaawac 0 7410 22757 2022-10-01T20:39:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tawaawac''' === Tarjumaad === * {{en}}: nepotism 22757 wikitext text/x-wiki {{-so-}} == Magac == '''tawaawac''' === Tarjumaad === * {{en}}: nepotism e05vvr78j7gbssy2fwvqskret4p7d0l naaxso 0 7411 22758 2022-10-01T20:40:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naaxso''' === Tarjumaad === * {{en}}: fatten 22758 wikitext text/x-wiki {{-so-}} == Magac == '''naaxso''' === Tarjumaad === * {{en}}: fatten f8vnhoebxrqwdt6iyfxe2eft4x0c2fq gacalnimo 0 7412 22759 2022-10-01T20:49:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacalnimo''' === Tarjumaad === * {{en}}: love 22759 wikitext text/x-wiki {{-so-}} == Magac == '''gacalnimo''' === Tarjumaad === * {{en}}: love leiui3leo6zxobcmqpmlbiwejrrb3mn amni 0 7413 22760 2022-10-01T20:59:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amni''' === Tarjumaad === * {{en}}: security, safety 22760 wikitext text/x-wiki {{-so-}} == Magac == '''amni''' === Tarjumaad === * {{en}}: security, safety 03va69gcg9e4gwnz6p5o3f1dfrd705b gallad 0 7414 22762 2022-10-01T21:01:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gallad''' === Tarjumaad === * {{en}}: consign, entrust, transfer, 22762 wikitext text/x-wiki {{-so-}} == Magac == '''gallad''' === Tarjumaad === * {{en}}: consign, entrust, transfer, 4kc91e8f8230qa6h8ung3rtyg2xqykw xur 0 7415 22763 2022-10-01T21:02:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xur''' === Tarjumaad === * {{en}}: grains 22763 wikitext text/x-wiki {{-so-}} == Magac == '''xur''' === Tarjumaad === * {{en}}: grains lxu1z2wkipq5rmqj4dqesx22eqfoqyr xeegey 0 7416 22764 2022-10-01T21:03:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xeegey''' === Tarjumaad === * {{en}}: transfer, present, allocate, allot 22764 wikitext text/x-wiki {{-so-}} == Magac == '''xeegey''' === Tarjumaad === * {{en}}: transfer, present, allocate, allot q13xcahum2yuags1zyk86k80zq0mjtn xiiran 0 7417 22767 2022-10-01T21:16:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiiran''' === Tarjumaad === * {{en}}: shaved, bare, mowed 22767 wikitext text/x-wiki {{-so-}} == Magac == '''xiiran''' === Tarjumaad === * {{en}}: shaved, bare, mowed aqgdcr4xco36ezfq1a5qxfmhxr2u2ra xunnaaf 0 7418 22768 2022-10-02T00:44:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xunnaaf''' === Tarjumaad === * {{en}}: circumventive, evasive 22768 wikitext text/x-wiki {{-so-}} == Magac == '''xunnaaf''' === Tarjumaad === * {{en}}: circumventive, evasive 0adn6han5eecjoe8e8bj9nm1euipj2t xeel 0 7419 28542 22769 2024-06-17T08:31:53Z Girligaanshub 3150 28542 wikitext text/x-wiki {{-so-}} == Magac == '''xeel''' === Tarjumaad === * {{en}}: trick, skilled, adept k9zg5e0f0c8m4w4z4iy4ntnrkj335rr xaraar 0 7420 28273 22770 2024-06-14T13:39:23Z Girligaanshub 3150 28273 wikitext text/x-wiki {{-so-}} == Magac == '''xaraar''' === Tarjumaad === * {{en}}: cranky, hotheaded, heat dnfomuroitbkpeh9b7xyoz3trdg1ni5 feeno 0 7421 22771 2022-10-02T00:47:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''feeno''' === Tarjumaad === * {{en}}: chomp, gnaw 22771 wikitext text/x-wiki {{-so-}} == Magac == '''feeno''' === Tarjumaad === * {{en}}: chomp, gnaw e6qgz5vay68awhektm1jlgsoypyrfsl haleel 0 7422 22774 2022-10-02T01:00:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haleel''' === Tarjumaad === * {{en}}: reach 22774 wikitext text/x-wiki {{-so-}} == Magac == '''haleel''' === Tarjumaad === * {{en}}: reach ki2tssaxpvn81ebge8ntco53di4vdi3 xutubi 0 7423 28482 22775 2024-06-15T20:17:03Z Girligaanshub 3150 28482 wikitext text/x-wiki {{-so-}} == Magac == '''xutubi''' === Tarjumaad === * {{en}}: guide ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] 4sxv5hmmkambrdt3oazc4bf9ykzyjkg isxamaarsii 0 7424 28056 22776 2024-06-08T22:43:25Z Girligaanshub 3150 28056 wikitext text/x-wiki {{-so-}} == Magac == '''isxamaarsii''' === Tarjumaad === * {{en}}: mingle, socialize, interact ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 9xgp5lib3qjc4bwhlxbwesfx9wvw05r qoolan 0 7425 22777 2022-10-02T04:29:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoolan''' === Tarjumaad === * {{en}}: bowline, knot 22777 wikitext text/x-wiki {{-so-}} == Magac == '''qoolan''' === Tarjumaad === * {{en}}: bowline, knot otlbe2qsfx5bsazd9bjx4p5f7lzg3kt barbaaro 0 7426 29484 29480 2024-08-04T19:32:22Z Girligaanshub 3150 29484 wikitext text/x-wiki {{-so-}} == Magac == '''barbaar''' === Tarjumaad === * {{en}}: raise, rear, blossoming, evolving, developing, fledgling, tame, blossom, rearing, raising ===Synonyms=== *[[barbaaro]], [[tarbiyeeyo]], [[kobci]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] ixs5kg9ujkhimw7jrqa97t5f853972e ley 0 7427 22782 2022-10-04T06:28:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ley''' === Tarjumaad === * {{en}}: haver, doer 22782 wikitext text/x-wiki {{-so-}} == Magac == '''ley''' === Tarjumaad === * {{en}}: haver, doer bsa3z2i4gcvygkxsldme2q5d58gvyxs diiwaan 0 7428 32705 24801 2024-11-30T12:29:34Z Girligaanshub 3150 32705 wikitext text/x-wiki {{-so-}} == Magac == '''diiwaan''' === Tarjumaad === * {{en}}: record, log, collection, compilation, encyclopedia, directory, jxsbwh9kdcfpecdxn1miy9on4wlcpg4 diiwaanada 0 7429 22784 2022-10-06T20:21:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diiwaanada''' === Tarjumaad === * {{en}}: records, logs 22784 wikitext text/x-wiki {{-so-}} == Magac == '''diiwaanada''' === Tarjumaad === * {{en}}: records, logs gw1fh38uox3ou0aw1rj0xva09cykb65 xanib 0 7430 29207 27890 2024-07-30T23:43:21Z Girligaanshub 3150 29207 wikitext text/x-wiki {{-so-}} == Magac == '''xanib''' === Tarjumaad === * {{en}}: block, obstruct, close, shut ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]] 4ku3dpy05pvalwoxlpqonmlt33nablk xanibka 0 7431 22786 2022-10-06T20:23:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanibka''' === Tarjumaad === * {{en}}: blocking, obstruction, closing, shutting 22786 wikitext text/x-wiki {{-so-}} == Magac == '''xanibka''' === Tarjumaad === * {{en}}: blocking, obstruction, closing, shutting 91ouy49w5s2jpy5od1mu5v105gaxyi5 daabici 0 7432 32370 28076 2024-11-11T22:11:33Z Girligaanshub 3150 32370 wikitext text/x-wiki {{-so-}} == Magac == '''daabici''' === Tarjumaad === * {{en}}: print, publish, 7g9ldox4ao0o6jn7q1ydkpvwtlyjtj1 duqsan 0 7433 22788 2022-10-06T20:27:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duqsan''' === Tarjumaad === * {{en}}: old 22788 wikitext text/x-wiki {{-so-}} == Magac == '''duqsan''' === Tarjumaad === * {{en}}: old n5crbrseex6mi2suahoxg62mhf8zh1f darsasho 0 7434 22789 2022-10-06T20:29:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''darsasho''' === Tarjumaad === * {{en}}: additions, contributions, input, participation 22789 wikitext text/x-wiki {{-so-}} == Magac == '''darsasho''' === Tarjumaad === * {{en}}: additions, contributions, input, participation bw43qd4cmycfn364j180dgmkktaqpso tooyasho 0 7435 22790 2022-10-15T23:08:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tooyasho''' === Tarjumaad === * {{en}}: vetting, vet 22790 wikitext text/x-wiki {{-so-}} == Magac == '''tooyasho''' === Tarjumaad === * {{en}}: vetting, vet em2yb2cct4wfkc6k8uz16aje288rtn5 tahan 0 7436 32612 24709 2024-11-26T21:28:04Z Girligaanshub 3150 32612 wikitext text/x-wiki {{-so-}} == Magac == '''tahan''' === Tarjumaad === * {{en}}: generous * {{en}}: utmost, greatest, very, maximum, acute, paramount, ultra, extra, ===Synonyms=== *[[cuwaaf]], [[tahan]], [[asxaan]] 9z1ohzhsjaanftt78issboq5ofej2gv haatif 0 7437 22792 2022-10-16T00:12:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haatif''' === Tarjumaad === * {{en}}: hallucination, ghost, illusion, phantom, mirage, 22792 wikitext text/x-wiki {{-so-}} == Magac == '''haatif''' === Tarjumaad === * {{en}}: hallucination, ghost, illusion, phantom, mirage, n0ax741dwn20ckttzn79bhoxsbd1hx3 tasayn 0 7438 22793 2022-10-16T00:14:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tasayn''' === Tarjumaad === * {{en}}: devaluation, belittlement, 22793 wikitext text/x-wiki {{-so-}} == Magac == '''tasayn''' === Tarjumaad === * {{en}}: devaluation, belittlement, l3alggl1sxiyki7yr34h8y3zivl9x3j tebis 0 7439 22794 2022-10-16T00:23:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tebis''' === Tarjumaad === * {{en}}: infertile, miscarriage, impregnable 22794 wikitext text/x-wiki {{-so-}} == Magac == '''tebis''' === Tarjumaad === * {{en}}: infertile, miscarriage, impregnable g8crcodvbud6zndun5ot4lfpysbmvvd tabqas 0 7440 22795 2022-10-16T00:26:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabqas''' === Tarjumaad === * {{en}}: foreclosure, foreclosed, liquidated, bankrupt, insolvent, 22795 wikitext text/x-wiki {{-so-}} == Magac == '''tabqas''' === Tarjumaad === * {{en}}: foreclosure, foreclosed, liquidated, bankrupt, insolvent, djof0eldbz6yc0z5uk5husugh5pxhvu tawrad 0 7441 26429 22796 2023-12-23T10:38:07Z Girligaanshub 3150 26429 wikitext text/x-wiki {{-so-}} == Magac == '''tawrad''' === Tarjumaad === * {{en}}: revolution, uprising, coup, overthrow, junta, coup, d'etat, mutiny, revolt, ===Synonyms=== *[[afgenbi]], [[tawrad]], [[inqilaab]] 9yriqgv8vzdes10wqqdxy6rh1xv601o tarraq 0 7442 22797 2022-10-16T01:47:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarraq''' === Tarjumaad === * {{en}}: matches, matchsticks, 22797 wikitext text/x-wiki {{-so-}} == Magac == '''tarraq''' === Tarjumaad === * {{en}}: matches, matchsticks, 76srx60l118unxgrma3m692kek4a08l hummaag 0 7443 22798 2022-10-16T01:50:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hummaag''' === Tarjumaad === * {{en}}: blurry, ambiguous, 22798 wikitext text/x-wiki {{-so-}} == Magac == '''hummaag''' === Tarjumaad === * {{en}}: blurry, ambiguous, tup4ld6zcz0sssdigfnrf48g6zrwig0 tarwadhid 0 7444 22815 22799 2022-10-16T15:11:51Z Girligaanshub 3150 22815 wikitext text/x-wiki {{-so-}} == Magac == '''tarwadhid''' === Tarjumaad === * {{en}}: incapacitation, inability, debilitation, powerless, ineffective, futile 5t8i3y6ucxt66ft1il7eztu3xzqd88w tabboon 0 7445 22800 2022-10-16T02:03:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabboon''' === Tarjumaad === * {{en}}: great, excellent, awesome, splendid, lovely, marvellous, wonderful, superb, terrific, tremendous, fantastic, brilliant, 22800 wikitext text/x-wiki {{-so-}} == Magac == '''tabboon''' === Tarjumaad === * {{en}}: great, excellent, awesome, splendid, lovely, marvellous, wonderful, superb, terrific, tremendous, fantastic, brilliant, rrd7tgcgz7i5mwfmttbij5br9um05yw tooman 0 7446 22801 2022-10-16T02:30:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tooman''' === Tarjumaad === * {{en}}: incomplete, partial, fragmentary, rudimentary, 22801 wikitext text/x-wiki {{-so-}} == Magac == '''tooman''' === Tarjumaad === * {{en}}: incomplete, partial, fragmentary, rudimentary, 0cmexvvdubv91rpwfd2e5mcxsr4z60m tahbiib 0 7447 31856 31843 2024-10-25T22:29:09Z Girligaanshub 3150 31856 wikitext text/x-wiki {{-so-}} == Magac == '''tahbiib''' === Tarjumaad === * {{en}}: nurse with medication or food, physician * {{en}}: coercion, arm-twist, duress, bossiness, compulsion, coerce, manipulate ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], 2ixgul3bhyl1hdj477j4uvovkam2895 tarxeel 0 7448 22803 2022-10-16T03:54:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarxeel''' === Tarjumaad === * {{en}}: artistry, craftsmanship, handiwork, style, creativeness, flair, 22803 wikitext text/x-wiki {{-so-}} == Magac == '''tarxeel''' === Tarjumaad === * {{en}}: artistry, craftsmanship, handiwork, style, creativeness, flair, l4z1xjm27z8o4zxfwoxkome34kx14im guhaan 0 7449 22804 2022-10-16T03:57:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guhaan''' === Tarjumaad === * {{en}}: prophet, soothsayer, fortune teller, forecaster, diviner, oracle, seer 22804 wikitext text/x-wiki {{-so-}} == Magac == '''guhaan''' === Tarjumaad === * {{en}}: prophet, soothsayer, fortune teller, forecaster, diviner, oracle, seer ba32yet65r624qs8nj7xfu2t3haxivm taal 0 7450 28136 28135 2024-06-09T19:39:35Z Girligaanshub 3150 28136 wikitext text/x-wiki {{-so-}} == Magac == '''taal''' === Tarjumaad === * {{en}}: creed, canon, code, statute, ordinance, ancient law ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] lg8al5hxznojetnq985ry2y9ir5ilk2 taw 0 7451 22807 2022-10-16T04:03:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taw''' === Tarjumaad === * {{en}}: sprint 22807 wikitext text/x-wiki {{-so-}} == Magac == '''taw''' === Tarjumaad === * {{en}}: sprint pm5k4bxr3g6e9xtf807meo394k8rfyh tooxle 0 7452 22808 2022-10-16T04:44:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tooxle''' === Tarjumaad === * {{en}}: wide, broad, girthy 22808 wikitext text/x-wiki {{-so-}} == Magac == '''tooxle''' === Tarjumaad === * {{en}}: wide, broad, girthy 9ch2e3gkahl2zz9cn6k3a4uby9jjo9h nusqaan 0 7453 22809 2022-10-16T04:52:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nusqaan''' === Tarjumaad === * {{en}}: deficit, shortcoming, flaw, achilles heel, chink, vulnerability, 22809 wikitext text/x-wiki {{-so-}} == Magac == '''nusqaan''' === Tarjumaad === * {{en}}: deficit, shortcoming, flaw, achilles heel, chink, vulnerability, fp4ljwiiawh4yq1d5jf3jfswno9qtcj tootiro 0 7454 22810 2022-10-16T05:06:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tootiro''' === Tarjumaad === * {{en}}: jinx, accursed, damned, doomed 22810 wikitext text/x-wiki {{-so-}} == Magac == '''tootiro''' === Tarjumaad === * {{en}}: jinx, accursed, damned, doomed c9uc7h4u5gl4atfk70nx65vxb5pr23m farshaxaha 0 7455 27265 25936 2024-04-24T22:15:40Z Girligaanshub 3150 27265 wikitext text/x-wiki {{-so-}} == Magac == '''farshax''' === Tarjumaad === * {{en}}: artists 0jh4z554y0z8bd835k38qmdqytrzzlm farshaxnimo 0 7456 22812 2022-10-16T05:19:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farshaxnimo''' === Tarjumaad === * {{en}}: artistry 22812 wikitext text/x-wiki {{-so-}} == Magac == '''farshaxnimo''' === Tarjumaad === * {{en}}: artistry 3z9sociij06wil5cuacylt5ekalqqtg tagxeel 0 7457 22813 2022-10-16T05:22:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tagxeel''' === Tarjumaad === * {{en}}: performance, portrayal, gig 22813 wikitext text/x-wiki {{-so-}} == Magac == '''tagxeel''' === Tarjumaad === * {{en}}: performance, portrayal, gig 244i9kn3po99s0euuye5gbfean8cjmi tacliiq 0 7458 22814 2022-10-16T14:59:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacliiq''' === Tarjumaad === * {{en}}: reply, response, rebuttal, refutal, retort, answer, reaction 22814 wikitext text/x-wiki {{-so-}} == Magac == '''tacliiq''' === Tarjumaad === * {{en}}: reply, response, rebuttal, refutal, retort, answer, reaction iqo8b9brhcd4c260r416zdsw790k9o6 tafantac 0 7459 22816 2022-10-16T15:19:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tafantac''' === Tarjumaad === * {{en}}: provocation, incitement 22816 wikitext text/x-wiki {{-so-}} == Magac == '''tafantac''' === Tarjumaad === * {{en}}: provocation, incitement 3hk3k8nva50gfxeni61rghqpqhpmk25 tanaadin 0 7460 26994 22817 2024-03-25T09:40:25Z Girligaanshub 3150 26994 wikitext text/x-wiki {{-so-}} == Magac == '''tanaadin''' === Tarjumaad === * {{en}}: elation, euphoria, bliss, utopia ===Synonyms=== *[[tanaadin]], [[coodtabin]], [[degganaan]] 6vq0vp65s2deo40nm4occ4u74hl4w3q lamagoodle 0 7461 30320 29966 2024-08-27T01:49:49Z Girligaanshub 3150 30320 wikitext text/x-wiki {{-so-}} == Magac == '''lamagoodle''' === Tarjumaad === * {{en}}: primitive, barbarian, uncivilized, feral, neanderthal * {{en}}: a wearer of two (lama / laba) pieces of cloth (god-leh / good-le) * {{en}}: northern Somali ===Synonyms=== *[[lamagoodle]], [[duurjooge]], [[badow]], [[galaayuub]] ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] daptpoafzknszbluznjfk7gytm7bvlj dabdemis 0 7462 22819 2022-10-20T20:30:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabdemis''' === Tarjumaad === * {{en}}: extinguish, fire extinguish 22819 wikitext text/x-wiki {{-so-}} == Magac == '''dabdemis''' === Tarjumaad === * {{en}}: extinguish, fire extinguish plx3cy8kgj9h7hjfzyjfe6i2hvipeqh dabdemiska 0 7463 22820 2022-10-20T20:30:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabdemiska''' === Tarjumaad === * {{en}}: extinguisher, fire extinguisher 22820 wikitext text/x-wiki {{-so-}} == Magac == '''dabdemiska''' === Tarjumaad === * {{en}}: extinguisher, fire extinguisher 2cgk2blsz78vislmk3a9azbugwajqwy qumayo 0 7464 32604 26812 2024-11-25T19:23:17Z Girligaanshub 3150 32604 wikitext text/x-wiki {{-so-}} == Magac == '''qumayo''' === Tarjumaad === * {{en}}: witch, hag, female voodooist, female hexer, bad luck woman, pagan ===Synonyms=== *[[majuusi]], [[mulxid]], [[cawaan]], [[calmaani]], [[qummay]], [[qumayo]] 75bjw90w8bfetu5ms6lqczffoyu2ogx siju 0 7465 28576 22823 2024-06-23T17:08:08Z Girligaanshub 3150 28576 wikitext text/x-wiki {{-so-}} == Magac == '''siju''' === Tarjumaad === * {{en}}: mixed race Somali and Swahili, mixed-race Somali Kenyan ===Synonyms=== *[[siju]], [[muwalad]] fur4r5vfx6amn495ax6vhqi4w1f21pt af-Jinni 0 7466 22824 2022-10-22T18:15:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''af-jinni''' === Tarjumaad === * {{en}}: obfuscation, cant language, circumlocution, argot, cryptolect, pseudo-language, 22824 wikitext text/x-wiki {{-so-}} == Magac == '''af-jinni''' === Tarjumaad === * {{en}}: obfuscation, cant language, circumlocution, argot, cryptolect, pseudo-language, kcw8z92zqliask4b30gdtcp7ai9zw3i nuxurka 0 7467 23572 22826 2023-05-20T22:41:18Z Girligaanshub 3150 23572 wikitext text/x-wiki {{-so-}} == Magac == '''nuxurka''' === Tarjumaad === * {{en}}: essence, nuances, implication, vitality, content, lifeblood, crux, texture, abstractions, the abstract, substance, aspect, character, element, itlx1lm05tgskp34qgzbhb1bsn3pwa6 dhaqaalaha rasmiga diid 0 7468 22827 2022-10-23T16:30:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqaalaha rasmiga diid''' === Tarjumaad === * {{en}}: agorism, galting, economic non-signatories, economic rebellion, economic subversion, 22827 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqaalaha rasmiga diid''' === Tarjumaad === * {{en}}: agorism, galting, economic non-signatories, economic rebellion, economic subversion, p328pmygmhiwujjwfzpbww0gpj2wd3j masaxiixayaasha 0 7469 22836 22829 2022-10-23T23:34:13Z Girligaanshub 3150 22836 wikitext text/x-wiki {{-so-}} == Magac == '''masaxiixayaasha''' === Tarjumaad === * {{en}}: non-signers, non-colonial signer, non-treatymaker, non-signatory, ===Synonyms=== * [[dhaqaalaha rasmiga diid]] * [[dhaqaalaha tawradka]] d0mccbnriq8kwmjwp9qlascieruy3lv tookho 0 7470 22831 2022-10-23T16:56:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tookho''' === Tarjumaad === * {{en}}: brag 22831 wikitext text/x-wiki {{-so-}} == Magac == '''tookho''' === Tarjumaad === * {{en}}: brag 1kikwt6u7c0ijqb0hgyfskziuxrnkzh jeegaan 0 7471 22832 2022-10-23T22:31:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jeegaan''' === Tarjumaad === * {{en}}: rainbow colors, multi-colored 22832 wikitext text/x-wiki {{-so-}} == Magac == '''jeegaan''' === Tarjumaad === * {{en}}: rainbow colors, multi-colored ijlhsmhpamwmjyhqzudgaixuty206o1 qaanso roobaad 0 7472 22833 2022-10-23T22:33:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaanso roobaad''' === Tarjumaad === * {{en}}: atmospheric rainbow, meteorological rainbow 22833 wikitext text/x-wiki {{-so-}} == Magac == '''qaanso roobaad''' === Tarjumaad === * {{en}}: atmospheric rainbow, meteorological rainbow dzqv8pwghhb8oud0uahwqf3wgcg5z24 dhaqaalaha tawradka 0 7473 22834 2022-10-23T23:33:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqaalaha tawradka''' === Tarjumaad === * {{en}}: agorism, galting, economic non-signatories, economic rebellion, economic subversion, 22834 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqaalaha tawradka''' === Tarjumaad === * {{en}}: agorism, galting, economic non-signatories, economic rebellion, economic subversion, 46o7vd4wx9oeerdqxa5lk7xv4qu2pwz caqiida 0 7474 28176 28130 2024-06-12T19:27:28Z Girligaanshub 3150 28176 wikitext text/x-wiki {{-so-}} == Magac == '''caqiida''' === Tarjumaad === * {{en}}: profession, creed, dogma, canons, doctrines, tenets, catechism, rules ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] gqtif2bnrry6200d7noaslru96vroyl shaaciyo 0 7475 22839 2022-10-27T18:37:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: to be spreading, to be orienting, to be trending, to be progressing, to be swinging, to be leaning, 22839 wikitext text/x-wiki {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: to be spreading, to be orienting, to be trending, to be progressing, to be swinging, to be leaning, bytj6jd5x6mjpnkdzeeh4m8rd99thua waajibaad 0 7476 29443 27229 2024-08-04T00:16:51Z Girligaanshub 3150 29443 wikitext text/x-wiki {{-so-}} == Magac == '''waajibaad''' === Tarjumaad === * {{en}}: duty, obligation, necessity, necessary, must, imperative ===Synonyms=== *[[daruuri]], [[waajibaad]], [[naahi]], s25uggzdv39ihf8tvqbnfbwj438iat3 ku-meel-gaadh 0 7477 30412 27225 2024-09-01T10:38:46Z Girligaanshub 3150 30412 wikitext text/x-wiki {{-so-}} == Magac == '''ku-meel-gaadh''' === Tarjumaad === * {{en}}: transitional, provisional ===Synonyms=== *[[ku-meel-gaadh]], [[ku sime]], [[ku-xigeen]] smlxy9i69zv1jihpvrml6io7kzitwre halaabo 0 7478 30069 25503 2024-08-23T16:35:01Z Girligaanshub 3150 30069 wikitext text/x-wiki {{-so-}} == Magac == '''halaabo''' === Tarjumaad === * {{en}}: languish, decay, deteriorate, dwindle, diminish, decline, deteriorate, falter, regress, devolve, stagnate fall, decline, rot, spoil, lag behind, stagnate, procrastinate, ruin, blemish, disfigure, miss ===Synonyms=== *[[siig]], [[lumo]], [[halaabo]] 9jhattgsmlfbqk33lbegcvxx51bu56c waardiyo 0 7479 25720 22843 2023-11-01T23:58:56Z Girligaanshub 3150 25720 wikitext text/x-wiki {{-so-}} == Magac == '''waardiyo''' === Tarjumaad === * {{en}}: personal guard, bodyguard police, patrol, supervise, 3asi166hvueqp6ol8jrfmbcowk8p5hc gooni-isu-taag 0 7480 32050 31265 2024-10-27T23:18:09Z Girligaanshub 3150 32050 wikitext text/x-wiki {{-so-}} == Magac == '''gooni-isu-taag''' === Tarjumaad === * {{en}}: independence, independent ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] ===Antonyms=== *[[lootaliye]], [[dabadhilif]] lw0fgxprxsihht0qlbl4tv4kwif7r7p filashada 0 7481 22847 2022-10-28T15:07:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''filashada''' === Tarjumaad === * {{en}}: expectation, assumption, speculation, presupposition, inference, 22847 wikitext text/x-wiki {{-so-}} == Magac == '''filashada''' === Tarjumaad === * {{en}}: expectation, assumption, speculation, presupposition, inference, 7x1gllp7vd7xktmy6z97y1yll09w4p2 xanto 0 7482 29730 24717 2024-08-09T00:49:27Z Girligaanshub 3150 29730 wikitext text/x-wiki {{-so-}} == Magac == '''xanto''' === Tarjumaad === * {{en}}: gossip, backbite, slander, defame, scandalmonger, backbiting, ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]], [[xan]], [[dacaayad]] ===Antonyms=== *[[afgobaadsi]] 8uyxe8umdh8mlzsjq4u43uleq5c61pc raag 0 7483 22849 2022-10-28T21:04:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raag''' === Tarjumaad === * {{en}}: delay, postpone, procrastinate, lag, 22849 wikitext text/x-wiki {{-so-}} == Magac == '''raag''' === Tarjumaad === * {{en}}: delay, postpone, procrastinate, lag, ssykilgmx4ogdf89al6lc4iihwgvp41 guulwade 0 7484 32183 31971 2024-10-31T21:41:21Z Girligaanshub 3150 32183 wikitext text/x-wiki {{-so-}} == Magac == '''guulwade''' === Tarjumaad === * {{en}}: winner, winners, victor * {{en}}: pioneer, trailblazer, innovator, groundbreaker, spearhead, instigator, vanguard, trendsetter, ===Synonyms=== *[[guuleyste]], [[guulwade]], [[reysane]] ===Synonyms=== *[[horseed]], [[hormuud]], [[halabuure]], [[guulwade]], [[ifbixiye]] k63qsju01tui75wqcl8dr4nvj8xgqaw taako 0 7485 31400 31388 2024-10-07T20:54:50Z Girligaanshub 3150 31400 wikitext text/x-wiki {{-so-}} == Magac == '''taako''' === Tarjumaad === * {{en}}: span, length, reach, distance ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] d43cchmeg970pszjhhq2ny7knzjrpcq wiiqo 0 7486 31728 31720 2024-10-21T03:41:06Z Girligaanshub 3150 31728 wikitext text/x-wiki {{-so-}} == Magac == '''wiiqo''' === Tarjumaad === * {{en}}: degrade, diminish, downgrade, lessen, reduce, weaken, demote, lower, put down, break down ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] d8lqfxsa4ucez0li6jw84i87d9pur7i eedda 0 7487 22854 2022-11-03T22:55:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eedda''' === Tarjumaad === * {{en}}: blame, denunciation 22854 wikitext text/x-wiki {{-so-}} == Magac == '''eedda''' === Tarjumaad === * {{en}}: blame, denunciation fewuu8dd2gstpmli2uep0na25gvjz4f eedaynta 0 7488 28779 28756 2024-07-17T17:40:52Z Girligaanshub 3150 28779 wikitext text/x-wiki {{-so-}} == Magac == '''eedaynta''' === Tarjumaad === * {{en}}: blame, denunciation, indictment ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[dhaliil]] 6x2032dpxp0qfwildm8m2e5m30dofpg xaya 0 7489 31953 31949 2024-10-26T00:06:24Z Girligaanshub 3150 31953 wikitext text/x-wiki {{-so-}} == Magac == '''xaya''' === Tarjumaad === * {{en}}: modesty, humility, chasteness, reticence, timidity, shyness, inhibition ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], sy003xg465oks5kfjxnq7o2o9tddm1z xawaash 0 7490 22857 2022-11-04T13:56:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawaash''' === Tarjumaad === * {{en}}: seasoning, spices 22857 wikitext text/x-wiki {{-so-}} == Magac == '''xawaash''' === Tarjumaad === * {{en}}: seasoning, spices 6z97jeh2zvm7ol9x0q2lzvxx78ef02k hanifnimo 0 7491 32386 22894 2024-11-12T02:55:50Z Girligaanshub 3150 32386 wikitext text/x-wiki {{-so-}} == Magac == '''hanifnimo''' === Tarjumaad === * {{en}}: religious conservatism, religious status quo ante, religious traditionalism, religious puritanism * {{en}}: conservative, monotheistic ascetic ===Synonyms=== *[[joogdoonimo]], [[joogdoonka]] nwobf5fjk5rsxginqph358x58xn57mg hanif 0 7492 28267 24267 2024-06-14T11:59:39Z Girligaanshub 3150 28267 wikitext text/x-wiki {{-so-}} == Magac == '''hanif''' === Tarjumaad === * {{en}}: conservative, status quo ante, orthodox, traditionalist, puritan * {{en}}: conservative, monotheistic ascetic ===Synonyms=== * [[sooyaaldoon]], [[taddabur]], [[zuhd]] 0m92ep3rg9l3as91giiaczg5lp9ncr6 hagoogan 0 7493 31947 22865 2024-10-26T00:03:42Z Girligaanshub 3150 31947 wikitext text/x-wiki {{-so-}} == Magac == '''hagoogan''' === Tarjumaad === * {{en}}: masked, veiled ===Synonyms=== *[[hagoogo]], [[hagoogan]], [[afqarshe]] si3mrcs6uxwr9rihoxroju3biogf2wb mashquul 0 7494 26752 26751 2024-02-11T02:34:01Z Girligaanshub 3150 26752 wikitext text/x-wiki {{-so-}} == Magac == '''mashquul''' === Tarjumaad === * {{en}}: indulged, obsessed, engross, immerse, engrossed, immersed, obsess, indulge, obsession ===Synonyms=== *[[maaweel]], [[mashquul]] 6fhroe8ke82elthws84mn6mseyi4prs horseed 0 7495 31156 29486 2024-10-04T13:06:34Z Girligaanshub 3150 31156 wikitext text/x-wiki {{-so-}} == Magac == '''horseed''' === Tarjumaad === * {{en}}: catalyst, pioneering, facilitate, develop, spearhead, pioneer ===Synonyms=== *[[horseed]], [[hormuud]], [[halabuure]], [[ifbixiye]], [[guulwade]] 3do5g0bo7336t9xwj2pof83oqxnyghl toos 0 7496 32450 31238 2024-11-15T19:42:29Z Girligaanshub 3150 32450 wikitext text/x-wiki {{-so-}} == Magac == '''toos''' === Tarjumaad === * {{en}}: wake, awake * {{en}}: direct, upfront, front * {{en}}: ahead, straight ahead ===Synonyms=== * [[foolka-fool]], [[toos]] czkle5jzxvpm4vtn0up242kjtic1npa shaqal 0 7497 22871 2022-11-07T20:17:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaqal''' === Tarjumaad === * {{en}}: vowel 22871 wikitext text/x-wiki {{-so-}} == Magac == '''shaqal''' === Tarjumaad === * {{en}}: vowel r3zhmwvevwl4i0i7gb6p8fw9qvzdsqf shibane 0 7498 22872 2022-11-07T20:17:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shibane''' === Tarjumaad === * {{en}}: consonant 22872 wikitext text/x-wiki {{-so-}} == Magac == '''shibane''' === Tarjumaad === * {{en}}: consonant 4k0y5riy0vs2d60yqi55abaza7331bm xanibo 0 7499 22873 2022-11-08T02:08:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanibo''' === Tarjumaad === * {{en}}: block, obstruct, close, shut, deplatform, deprive 22873 wikitext text/x-wiki {{-so-}} == Magac == '''xanibo''' === Tarjumaad === * {{en}}: block, obstruct, close, shut, deplatform, deprive m4w1ux8q2dtqtq9hebpphmlpflps17i gaf 0 7500 32269 22874 2024-11-04T06:12:05Z Girligaanshub 3150 32269 wikitext text/x-wiki {{-so-}} == Magac == '''gaf''' === Tarjumaad === * {{en}}: stray etaiy1m77etf25cwak39jim0a2q3f68 injir 0 7501 22875 2022-11-09T02:51:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''injir''' === Tarjumaad === * {{en}}: lice, louse 22875 wikitext text/x-wiki {{-so-}} == Magac == '''injir''' === Tarjumaad === * {{en}}: lice, louse f1iw40b8rcmr1cezo7y1ijlf70a8cdp سئو سایت - آپسئو 0 7502 22876 2022-11-10T08:34:24Z 200.10.41.133 Bog cusub: <br> بتازگی قاصد به‌جهت سئو مجامعت کردن ایستگاه ها همه‌گیر شده است بهی کنیه خرید درآیگاه گوگل و ویزیت به‌جانب آستانه. گوگل دربرابر یادگیری بهتر شبیه داده های جستجو از نمونه های BERT بهره‌وری می کند. امر کرد. قطعا می دانید که سئو سایت فقط به‌علت آستانه های بابا کارآمد نی... 22876 wikitext text/x-wiki <br> بتازگی قاصد به‌جهت سئو مجامعت کردن ایستگاه ها همه‌گیر شده است بهی کنیه خرید درآیگاه گوگل و ویزیت به‌جانب آستانه. گوگل دربرابر یادگیری بهتر شبیه داده های جستجو از نمونه های BERT بهره‌وری می کند. امر کرد. قطعا می دانید که سئو سایت فقط به‌علت آستانه های بابا کارآمد نیست چراکه بسیاری از آستانه های بانفوذ کنونی مثل‌ها بیتوته، سیمرغ، نیوسئو، نشاط آوران و برترین ها از سر آغاز توسط سئو پیشرفت کرده اند. خرید بکلینک همراه چونی و عبرت‌گرفته چقدر ویژگی هایی دارد ؟ دریغا بیش از 90 درصد بک لینک هایی که امروزه خرید و فروش می شوند، درب سکوی پرتاب موشک های فیک و ساختگی شکیبایی داده می شوند. در حقیقت همین وجهه و راستگویی ما چین به امروز رضایت بیش از 95 درصد خریداران بک لینک را برایمان با پابه‌پا داشته است. تا انجا که اگر رقیبتان درب واژه ای از حسن بهره‌گیری کرده و سربلند شده است! مروارید اغلب رویدادهای زندگی و با انگارش نیستی برگشت متلون های هریک ، چنانچه انتظار پیشه وری میوه ای جدید و بهتر را داریم ، ناچار نیک فراگرفتن عزم هایی نوآورانه به‌وسیله بازدهی بیشتری هستیم ؛ کما اینکه اگر دره همان راه علی‌الدوام رفتار کنیم ، به سمت همان مراد علی‌الدوام نیز می رسیم .<br><br>خرید بک لینک<br> در نهایت اینکه این کالبد (مرکز مجازی در اینترنت) به قصد جای اینکه مع یک تشنج کم و طمانینه خوب سرانجام آغاز گوگل برسد ، بایسته این است دست ایام‌حیض ای طرفه‌العین را از نزد ممتد (کارداران سئو خارج از درگاه) و باند ای نیز از دودمان در دم را هل دهند (عوامل ساختاری درون سایتی نافذ رخسار سئو) تا این گشتگاه ثقیل را هنگام قشنگ ها نورد کرده و به قصد مرکز دلخواه ما برسد . با نگرش به این اصل ، نیاز است که تارنما های مذکور حرف زایش محتوایی پرمایه ، بلوغ به مقصد دنبالک های برون‌مرزی ، نسق و سازمان دادن به منظور آشکارا و قالب جایگاه خود قسم به متحد دیگر کارهایی که به سوی ترقی [http://buy-backlinks.rozblog.com/ سئو] سایت پشتیبانی می کند ، مدخل فضایی منزه جای درگاه بالاسری خود را دلتنگ و بدین ترتیب مع بکار بردن سئو کلاه سفیدپوست دره بستری اخلاقی و مردمی سوگند به بلند پایه بازده‌ها برسد . چقدر بسا وب سایت های قدرتمندی که ضرباتی خورده اند و دیگر نتوانسته اند برای زبردستی پیش پیش خود و پیشتازی مدخل رنکینگ گوگل روشن گردند.<br><br><br> یک نهج انگاری میانبر: خرید درآیگاه گوگل! ایستگاه هایی که یک اسکریپ مغفل روی متعلق ها کارگذاشتن شده و نه بازدیدکننده و نه نشانه ویژه‌ای دارند. اکیدا سفارش کردن می کنیم که اگر خواست خرید بک لینک و گزارش را دارید، هر آینه از جایگاه هایی خریداری کنید که آشنایی حسن دره زمینه سئو و بهینه سازی داشته و توضیحات مال ها راستین خیس است. درون گزاره شما مدخل پرونده word دیدار داده شده و کمینه فراگیر 300 لغت باشد. پاره‌ای شرکتهای ارائهدهنده خدمت‌ها seo ادعای ابلاغ اشل وبسایت شما را تو صفحات مقدمه را دارند این بیان خود نشانه از نابودن دانش مشبع پشه جانب seo میباشد زیرا رتبهبندی وبسایتها فقط توسط موتورهای جستجو خاتمه میگیرد و نمیتوان صریح در مورد تراز وبسایت بازگویی دیدگاه نمود. برای نمونه رخشاره زیر، یک سایت نشان دادن و خرید بک لینک رایگان را تمغا می دهد. مفتخریم ابراز داریم که ما در اندوه سون بک لینک تاکنون تا انجا که گزارش یک مناسبت پنالتی را نداشته و دره همین وب سایت برترین جستارها سئو را به شیوه رایگان وعده داده ایم.<br><br><br> این نشانه ها بی‌همتا و بی‌همتا به قصد یک حجت سرگفتار شد ، ابهت شروع پرقدرت یک کارایی ! ما اعتقاد داریم هنگامیکه می انرژی از خطسیر صواب و ریشه‌ای فعالیت‌ها سئو و بهینه سازی سایت را اعمال معدلت و یک برآمد دورو دراز زمان را گرفت دلیلی متعدد تمرکز سیما تزویر های زود معبر سئو کلاه بدیمن بود ندارد. همچنین قماش واکافت کلیدی که تعیین می کنید قسم به مبلغ بی‌اندازه زیادی داخل روند سئو و بهینه سازی تارنما شما هناینده است. بعد با شما پیشنهاد می کنیم که به هیچ روی به سمت دنبال خرید بک لینک کثرت و بی چگونگی نباشید. بدبختانه این کارها اخیرا مدخل تو سئوکاران مشبع فراگیر گشته ولی اثرگذاری طرفه‌العین هرگز به منظور استانش نرسیده است. از سویی دیگر ، بکارگیری وبمستری علی‌الدوام همچون یک کارمند باقی نیز خزینه های فراوانی سوگند به ناب به‌سوی گردآور های خرد سر بخشش خواهد داشت که شاید به‌جانب آنان موجه‌سازی تراز داری نداشته باشد ، به همین دلیل است که تأکید متخصصین قضا خوب ظاهر سپاری این بود اساسی و لگدکوب کردن حسن بهی تبانی افراد کار ای سر این مقر می باشد . به یکروند این جایگاه ها لذا از دیرزمانی از پرده یک برای صفحات 8 و 9 سقوط می کند. سر این تصویر ، دویدن کنید نوکر به منظور پیشرفت صفحات نمایان کنید ، ای تتبع ترافیکی هر رویه را بررسی کنید واحد ببینید مبلغ ترافیک آنها چه اندازه است، اگر جزئی بود به مقصد بی‌غل‌وغشی آنها را راندن کنید.<br> 7b6n2hnjbtd0fabd24ro13hztr6tk4a is-haysasho 0 7503 22877 2022-11-10T23:05:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-haysasho''' === Tarjumaad === * {{en}}: public controversy, personal controversy, commotion, altercation, bickering, feud, dispute, castigation, quarrel, squabble, contention, 22877 wikitext text/x-wiki {{-so-}} == Magac == '''is-haysasho''' === Tarjumaad === * {{en}}: public controversy, personal controversy, commotion, altercation, bickering, feud, dispute, castigation, quarrel, squabble, contention, o0gasqt7hnau7c7aeuaddubuy4pe9g7 afgaaban 0 7504 31956 30586 2024-10-26T00:07:00Z Girligaanshub 3150 31956 wikitext text/x-wiki {{-so-}} == Magac == '''afgaaban''' === Tarjumaad === * {{en}}: introvert, introverted, innocent, humble, humility, polite, private, confidential, apolitical ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], 0sz8fecgyk52obyfzeq5pjzfn75rbn7 majaajiliste 0 7506 22880 2022-11-11T13:31:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majaajiliste''' === Tarjumaad === * {{en}}: comedian 22880 wikitext text/x-wiki {{-so-}} == Magac == '''majaajiliste''' === Tarjumaad === * {{en}}: comedian kwray4vcrcn6mkq362y23xg609zulcm isutaag 0 7507 22882 2022-11-11T21:24:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isutaag''' === Tarjumaad === * {{en}}: determine, rely, stance, align, formulate, pose, posture, 22882 wikitext text/x-wiki {{-so-}} == Magac == '''isutaag''' === Tarjumaad === * {{en}}: determine, rely, stance, align, formulate, pose, posture, 94lwbvt3wp2l9ay317iic3yakcnydrc isutaagnimo 0 7508 22883 2022-11-11T21:25:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isutaagnimo''' === Tarjumaad === * {{en}}: determination, reliance, stance, alignment, formulation, posture, 22883 wikitext text/x-wiki {{-so-}} == Magac == '''isutaagnimo''' === Tarjumaad === * {{en}}: determination, reliance, stance, alignment, formulation, posture, 7720yo2zp4yk0q0cawcphkl69sas4nt naqshada 0 7509 22885 2022-11-12T00:22:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naqshada''' === Tarjumaad === * {{en}}: the design 22885 wikitext text/x-wiki {{-so-}} == Magac == '''naqshada''' === Tarjumaad === * {{en}}: the design k3j743mjdw1v8dfxh50wrh5ohvian68 afti 0 7510 30437 28182 2024-09-02T11:42:30Z Girligaanshub 3150 30437 wikitext text/x-wiki {{-so-}} == Magac == '''afti''' === Tarjumaad === * {{en}}: motion, proposition ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] 0ysdl7es7c4vbyoh6nli70b0l3up84f hirgeli 0 7511 24372 23016 2023-08-26T14:15:35Z Girligaanshub 3150 24372 wikitext text/x-wiki {{-so-}} == Magac == '''hirgeli''' === Tarjumaad === * {{en}}: implement, actualize, realize, effectuate, materialize ===Synonyms=== *[[rumoobo]] 9y66u98cyz84sogu3qvukkk2htye7nf hirgelinta 0 7512 23015 22897 2023-01-08T16:18:30Z Girligaanshub 3150 23015 wikitext text/x-wiki {{-so-}} == Magac == '''hirgelinta''' === Tarjumaad === * {{en}}: implementation, actualization q4a5426gw1pi2yq0l4v5lojw5i2hhsx hirgeliye 0 7513 23014 22898 2023-01-08T16:18:09Z Girligaanshub 3150 23014 wikitext text/x-wiki {{-so-}} == Magac == '''hirgeliye''' === Tarjumaad === * {{en}}: implementer, actualizer 94c87qs28h8zob42f7w229q7hboo0jd garoobnimo 0 7514 22899 2022-11-24T18:41:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoobnimo''' === Tarjumaad === * {{en}}: widowhood 22899 wikitext text/x-wiki {{-so-}} == Magac == '''garoobnimo''' === Tarjumaad === * {{en}}: widowhood spco6jzlrnbs6044hczg0ybda6dbwyq xiftin 0 7515 22900 2022-11-24T19:08:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiftin''' === Tarjumaad === * {{en}}: memorization, memorialization 22900 wikitext text/x-wiki {{-so-}} == Magac == '''xiftin''' === Tarjumaad === * {{en}}: memorization, memorialization aj7giyi8lx4izkjp02dbjgvl8q9pu4r nasakh 0 7516 22901 2022-11-24T19:19:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nasakh''' === Tarjumaad === * {{en}}: abrogation 22901 wikitext text/x-wiki {{-so-}} == Magac == '''nasakh''' === Tarjumaad === * {{en}}: abrogation fzviqi2wpmjyrdo86hnti89kmg645tr nasakho 0 7517 22902 2022-11-24T19:19:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nasakho''' === Tarjumaad === * {{en}}: abrogate 22902 wikitext text/x-wiki {{-so-}} == Magac == '''nasakho''' === Tarjumaad === * {{en}}: abrogate 4bebe8zowcj7q0ka80v9x3csp7dk5iy nasteho 0 7518 24833 24829 2023-09-11T13:56:18Z Girligaanshub 3150 24833 wikitext text/x-wiki {{-so-}} == Magac == '''nasteho''' === Tarjumaad === * {{en}}: guidance, salvation ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]] clqya3a8gcabu1ycw0vd0mj41fsjf0a qabanqaabi 0 7519 28456 28307 2024-06-15T19:11:31Z Girligaanshub 3150 28456 wikitext text/x-wiki {{-so-}} == Magac == '''qabanqaabi''' === Tarjumaad === * {{en}}: plan, standard, format, template, layout, framework, parameter, prepare, preparatory, preparation, arrange, organize, standardize ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] j6divrwffv6t4vfxbmugr9m3ke0hflb natiijo 0 7520 22905 2022-11-24T20:22:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''natiijo''' === Tarjumaad === * {{en}}: outcome 22905 wikitext text/x-wiki {{-so-}} == Magac == '''natiijo''' === Tarjumaad === * {{en}}: outcome dq4v2pfkspgi2zv5tkym8p50a73cshu kisi 0 7521 27353 22907 2024-05-11T19:50:44Z Girligaanshub 3150 27353 wikitext text/x-wiki {{-so-}} == Magac == '''kisi''' === Tarjumaad === * {{en}}: odd ===Antonyms=== *[[dhaban]] 7rm1tcj4vu1ylydnkwmml1cr9kz5eg2 musawat 0 7522 31505 31041 2024-10-13T01:50:46Z Girligaanshub 3150 31505 wikitext text/x-wiki {{-so-}} == Magac == '''musawaat''' === Tarjumaad === * {{en}}: leftism, equality, latitudinarian, social communism, ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], ==Etymology== *المساواة jmmqd6ss22yqtig342hya3fni8np2a8 gacan sufla 0 7523 22910 2022-11-28T13:19:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacan sufla''' === Tarjumaad === * {{en}}: lower hand, begging hand, vagrant, scrounger, pauper, hobo, moocher, panhandler 22910 wikitext text/x-wiki {{-so-}} == Magac == '''gacan sufla''' === Tarjumaad === * {{en}}: lower hand, begging hand, vagrant, scrounger, pauper, hobo, moocher, panhandler ka0zp5vmjkn2muv64cxta8mvtn1ce8c tuur 0 7524 30377 22911 2024-08-30T21:15:07Z Girligaanshub 3150 30377 wikitext text/x-wiki {{-so-}} == Magac == '''tuur''' === Tarjumaad === * {{en}}: hunchback, kyphosis, hunch, arch, curve, bend, * {{en}}: throw, * {{en}}: hair gvqqkwgdmck3pfxpbxgedy29z4mnnkw qardhaas 0 7525 22915 22912 2022-12-04T23:36:53Z Girligaanshub 3150 22915 wikitext text/x-wiki {{-so-}} == Magac == '''qardhaas''' === Tarjumaad === * {{en}}: amulet, royal amulet, cultural necklace, 5qmjynnw0e8pyh4e3b7txfhvltmtzqw taxliil 0 7526 22913 2022-12-04T20:25:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxliil''' === Tarjumaad === * {{en}}: holy water, baptize, aspergillum use, zamzam sprinkling 22913 wikitext text/x-wiki {{-so-}} == Magac == '''taxliil''' === Tarjumaad === * {{en}}: holy water, baptize, aspergillum use, zamzam sprinkling o648nbdod914l62hk5cbkk26xtpdozw suurtagalnimo 0 7527 22917 2022-12-05T05:57:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suurtagalnimo''' === Tarjumaad === * {{en}}: viability, 22917 wikitext text/x-wiki {{-so-}} == Magac == '''suurtagalnimo''' === Tarjumaad === * {{en}}: viability, mz0uuvl7j2ohztb6z4ezxfft38zptzh doox 0 7528 25554 25553 2023-10-23T18:47:21Z Girligaanshub 3150 25554 wikitext text/x-wiki {{-so-}} == Magac == '''doox''' === Tarjumaad === * {{en}}: valley, * {{en}}: disembowel * {{en}}: cleft, slit, fissure, split, crevice, cranny 4ujjb3z22g2defzmox2ya12exoh2w98 xirsi 0 7529 22919 2022-12-05T16:23:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xirsi''' === Tarjumaad === * {{en}}: necklace, 22919 wikitext text/x-wiki {{-so-}} == Magac == '''xirsi''' === Tarjumaad === * {{en}}: necklace, 5yznzoakh5uoagsjyz2tps3coy2vyep bur 0 7530 22920 2022-12-05T21:27:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bur''' === Tarjumaad === * {{en}}: flour 22920 wikitext text/x-wiki {{-so-}} == Magac == '''bur''' === Tarjumaad === * {{en}}: flour 2kmu0hsepuhe66596bvkx2zblw30y3s masago 0 7531 26829 22921 2024-02-21T08:39:49Z Girligaanshub 3150 26829 wikitext text/x-wiki {{-so-}} == Magac == '''masago''' === Tarjumaad === * {{en}}: sorghum ===Synonyms=== *[[hadhuudh]], [[haruur]], [[masago]] qtcfupahpni9g3cf9x97wacpmqv1x2x qamiir 0 7532 22922 2022-12-05T21:31:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qamiir''' === Tarjumaad === * {{en}}: dry yeast 22922 wikitext text/x-wiki {{-so-}} == Magac == '''qamiir''' === Tarjumaad === * {{en}}: dry yeast dtc7rhxywpjz7i1gw18o2v8rgncf9rc qandac 0 7533 25709 22923 2023-11-01T16:30:46Z Girligaanshub 3150 25709 wikitext text/x-wiki {{-so-}} == Magac == '''qandac''' === Tarjumaad === * {{en}}: warmish, room temperature, warm bfyzffsa2m13ddjuld68webd5jql5qs cusbo 0 7534 22924 2022-12-05T21:43:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cusbo''' === Tarjumaad === * {{en}}: salt 22924 wikitext text/x-wiki {{-so-}} == Magac == '''cusbo''' === Tarjumaad === * {{en}}: salt mx0b9w4ku2xegi55rpwh2liwzd11rzo dayouthnimo 0 7535 25140 24465 2023-09-27T19:38:07Z Girligaanshub 3150 25140 wikitext text/x-wiki {{-so-}} == Magac == '''dayouthnimo''' === Tarjumaad === * {{en}}: liberalism, apatheticness, indifferent, idleness, passiveness, appeasing, conciliatory, ===Synonyms=== *[[gabasho]], [[isdigasho]], [[horgalnimo]], [[qoolley]], [[dayouth]], [[dayouthnimo]], [[dhiiranlaawe]], [[waxmatare]], [[beer-jilicsan]], [[ilgabadhle]], [[miskeen]], [[dayuus]] dww6nhhlriy13ccjm9zbdcslxq3ahaw kuma 0 7536 22926 2022-12-06T19:09:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuma''' === Tarjumaad === * {{en}}: who, which 22926 wikitext text/x-wiki {{-so-}} == Magac == '''kuma''' === Tarjumaad === * {{en}}: who, which 2197p67u7rnp8vpxq3eld5izeui5p6h sharci 0 7537 22927 2022-12-06T19:27:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharci''' === Tarjumaad === * {{en}}: legitimate 22927 wikitext text/x-wiki {{-so-}} == Magac == '''sharci''' === Tarjumaad === * {{en}}: legitimate my9d8oclf1bzmo6ccidcthjllq2imh0 sharcinimo 0 7538 22928 2022-12-06T19:27:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharcinimo''' === Tarjumaad === * {{en}}: legitimacy 22928 wikitext text/x-wiki {{-so-}} == Magac == '''sharcinimo''' === Tarjumaad === * {{en}}: legitimacy rfod73co2k4pmnsl9ji9byi6z9n80w1 sharci-raadin 0 7539 22932 22930 2022-12-06T19:30:32Z Girligaanshub 3150 22932 wikitext text/x-wiki {{-so-}} == Magac == '''sharci-raadin''' === Tarjumaad === * {{en}}: virtue-signal, humblebrag rl6nduqbxrthehxow13i22y6xw3k0uv sharci-raadis 0 7540 22931 2022-12-06T19:30:23Z Girligaanshub 3150 Girligaanshub moved page [[sharci-raadis]] to [[sharci-raadin]] 22931 wikitext text/x-wiki #REDIRECT [[sharci-raadin]] chy8ksvts38zv6qlnlbjyczb8wnixl5 raadraac 0 7541 22933 2022-12-06T20:47:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raadraac''' === Tarjumaad === * {{en}}: research, analyze, analysis, experiment, inquire, investigate, probe, scrutinize, 22933 wikitext text/x-wiki {{-so-}} == Magac == '''raadraac''' === Tarjumaad === * {{en}}: research, analyze, analysis, experiment, inquire, investigate, probe, scrutinize, qxvh3p3sa6jiwkj19miqsud6224b1mq majaajillo 0 7542 29273 27115 2024-07-31T07:46:28Z Girligaanshub 3150 29273 wikitext text/x-wiki {{-so-}} == Magac == '''majaajillo''' === Tarjumaad === * {{en}}: entertainment, recreation, leisure ===Synonyms=== *[[majaajilo]], [[tamashlayn]], [[saleel]], [[maadlow]], [[hiwaayad]] 4o22ikitxsshd3q3wrci2fitjvf3l6t siyaadi 0 7543 29841 28800 2024-08-12T17:19:33Z Girligaanshub 3150 29841 wikitext text/x-wiki {{-so-}} == Magac == '''siyaadi''' === Tarjumaad === * {{en}}: bless, sanctify, bestow, sacrament ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]], [[siyaadi]], [[wacays]], [[barako]] 8uopf4o26k6j1dyp0k4m6jupgifz5bf garaadtooyada 0 7544 22940 2022-12-08T01:09:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garaadtooyada''' === Tarjumaad === * {{en}}: kingdom, sultan 22940 wikitext text/x-wiki {{-so-}} == Magac == '''garaadtooyada''' === Tarjumaad === * {{en}}: kingdom, sultan jlccm31nxbsv9c8bw6mp9a919nd08y0 laxmi 0 7545 22941 2022-12-08T02:25:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laxmi''' === Tarjumaad === * {{en}}: flesh and blood, blood brother, consanguineal, consanguineous, affinal, DNA kindship, 22941 wikitext text/x-wiki {{-so-}} == Magac == '''laxmi''' === Tarjumaad === * {{en}}: flesh and blood, blood brother, consanguineal, consanguineous, affinal, DNA kindship, 6w5llfvjeakvfl08g1iicfz67qfe6um qoys laxmi 0 7546 22942 2022-12-08T02:26:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoys laxmi''' === Tarjumaad === * {{en}}: nuclear family, immediate relatives, first-degree relatives, 22942 wikitext text/x-wiki {{-so-}} == Magac == '''qoys laxmi''' === Tarjumaad === * {{en}}: nuclear family, immediate relatives, first-degree relatives, fp5n2cwhed88wkbbpxw3dluzcnaumdn garaadtooyo 0 7547 22943 2022-12-08T02:35:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garaadtooyo''' === Tarjumaad === * {{en}}: kingdom, sultanate, 22943 wikitext text/x-wiki {{-so-}} == Magac == '''garaadtooyo''' === Tarjumaad === * {{en}}: kingdom, sultanate, pska0n2tfaaq9g27hdyql2w7y28z16q dhexlada 0 7548 22945 22944 2022-12-08T02:54:59Z Girligaanshub 3150 22945 wikitext text/x-wiki {{-so-}} == Magac == '''dhexlada''' === Tarjumaad === * {{en}}: succession, r4y4ccyzq75g5yly8b1sdqsanjtneeq dhexlooyinka 0 7549 22946 2022-12-08T02:55:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhexlooyinka''' === Tarjumaad === * {{en}}: succession, 22946 wikitext text/x-wiki {{-so-}} == Magac == '''dhexlooyinka''' === Tarjumaad === * {{en}}: succession, irhol2mmwrmz15laz82r3g3gg5uquou dhif 0 7550 30203 22947 2024-08-24T11:33:10Z Girligaanshub 3150 30203 wikitext text/x-wiki {{-so-}} == Magac == '''dhif''' === Tarjumaad === * {{en}}: rare, ===Synonyms=== *[[dhif]], [[gabaabsi]] sdo2rbnjltjiklgheddr6ss9lpu1zow nadir 0 7551 32021 31613 2024-10-27T06:02:27Z Girligaanshub 3150 32021 wikitext text/x-wiki {{-so-}} == Magac == '''nadir''' === Tarjumaad === * {{en}}: rare, scarce, uncommon, atypical, unusual, isolated tl6u72k1gxox8dhfby8skd9qcsjhrsp xubinta taranka 0 7552 22949 2022-12-08T03:55:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xubinta taranka''' === Tarjumaad === * {{en}}: genitalia, 22949 wikitext text/x-wiki {{-so-}} == Magac == '''xubinta taranka''' === Tarjumaad === * {{en}}: genitalia, mxcxdubslzir4ln5rzqhymupzbu2vld qalliin 0 7553 22950 2022-12-08T03:57:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalliin''' === Tarjumaad === * {{en}}: surgery, 22950 wikitext text/x-wiki {{-so-}} == Magac == '''qalliin''' === Tarjumaad === * {{en}}: surgery, ie72w2y9kdr288rc67yr0ydb9hwb6yf dumaal 0 7554 22952 22951 2022-12-08T04:31:08Z Girligaanshub 3150 22952 wikitext text/x-wiki {{-so-}} == Magac == '''dumaal''' === Tarjumaad === * {{en}}: marriage, conception qb7hjehm02ffdkkfmgxwlw4xpioyrsu ka sokow 0 7555 30364 22953 2024-08-29T16:55:22Z Girligaanshub 3150 30364 wikitext text/x-wiki {{-so-}} == Magac == '''ka sokow''' === Tarjumaad === * {{en}}: disregard, ignore ===Synonyms=== *[[ka sakow]], [[indhotir]], [[ka sokow]] nuas7y61q5mcfull4eo2qdfehbrfrpv hareeraha 0 7556 22954 2022-12-08T08:58:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hareeraha''' === Tarjumaad === * {{en}}: surroundings, 22954 wikitext text/x-wiki {{-so-}} == Magac == '''hareeraha''' === Tarjumaad === * {{en}}: surroundings, e1mxnfozpn6egjjnowucgz2jdvmr206 hareeraysan 0 7557 22955 2022-12-08T08:59:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hareeraysan''' === Tarjumaad === * {{en}}: surrounded, 22955 wikitext text/x-wiki {{-so-}} == Magac == '''hareeraysan''' === Tarjumaad === * {{en}}: surrounded, qftgozg3x6cfanvrlc3unfvgh8ebhu7 baxsad 0 7558 23614 23607 2023-05-21T22:14:50Z Girligaanshub 3150 23614 wikitext text/x-wiki {{-so-}} == Magac == '''baxsad''' === Tarjumaad === * {{en}}: deserter, defector, mutineer, absconder, truant, delinquint, escapee, escaper, ===Synonyms=== *[[fakad]] hoj7ziezzuuhqmz99t6d06nvymct564 maqaam 0 7559 31583 29457 2024-10-16T04:05:38Z Girligaanshub 3150 31583 wikitext text/x-wiki {{-so-}} == Magac == '''maqaam''' === Tarjumaad === * {{en}}: status, reputation, rank, position ===Synonyms=== *[[maqaam]], [[jagada]], [[mansab]], [[sumcad]] ssfnmqsy72404cosh95knzoq9civmrs beer 0 7560 29212 25432 2024-07-30T23:46:27Z Girligaanshub 3150 29212 wikitext text/x-wiki {{-so-}} == Magac == '''beer''' === Tarjumaad === * {{en}}: intentional garden, farm, intentional park * {{en}}: liver * {{en}}: orchard * {{en}}: burgundy color, mahogany ===Synonyms=== *[[beer]], [[boordoo]] ee4o22ssmvoxusqm6bki0kztp3w0129 qad-dhexle 0 7561 22960 2022-12-10T09:24:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qad-dhexle''' === Tarjumaad === * {{en}}: midfielder 22960 wikitext text/x-wiki {{-so-}} == Magac == '''qad-dhexle''' === Tarjumaad === * {{en}}: midfielder 5bbu9qz5bi2ktre0pfquyo9cx922sqf dhaxle 0 7562 23471 23469 2023-05-14T17:24:36Z Girligaanshub 3150 23471 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxle''' === Tarjumaad === * {{en}}: successor e7d6897fdjua0dy73i885xonm2ar522 goolhaye 0 7563 22962 2022-12-10T09:25:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goolhaye''' === Tarjumaad === * {{en}}: goalkeeper 22962 wikitext text/x-wiki {{-so-}} == Magac == '''goolhaye''' === Tarjumaad === * {{en}}: goalkeeper ihxpmo6bxy3l546lq7gar3rx03dsrjq weeraryahan 0 7564 22963 2022-12-10T09:35:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weeraryahan''' === Tarjumaad === * {{en}}: attacker, forward, striker, target man, target player, 22963 wikitext text/x-wiki {{-so-}} == Magac == '''weeraryahan''' === Tarjumaad === * {{en}}: attacker, forward, striker, target man, target player, n5hh95lb1daelkfg29ur0wlqxhmp8p0 saluug 0 7566 22966 2022-12-12T04:52:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saluug''' === Tarjumaad === * {{en}}: petty, spiteful, belittling 22966 wikitext text/x-wiki {{-so-}} == Magac == '''saluug''' === Tarjumaad === * {{en}}: petty, spiteful, belittling f8ryrctwiso216md7653p6oqj8azd0k qalin 0 7567 25363 22967 2023-10-17T00:20:47Z Girligaanshub 3150 25363 wikitext text/x-wiki {{-so-}} == Magac == '''qalin''' === Tarjumaad === * {{en}}: pen, * {{en}}: silver, graphite 4bg9cvjk7jaoddx55rur2tcphkgxv3v maar 0 7568 22968 2022-12-12T04:54:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maar''' === Tarjumaad === * {{en}}: bronze 22968 wikitext text/x-wiki {{-so-}} == Magac == '''maar''' === Tarjumaad === * {{en}}: bronze hiovjpc9wg4j3gu3sgla82kxj6qg658 birdhi 0 7569 22969 2022-12-12T04:54:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''birdhi''' === Tarjumaad === * {{en}}: platinum 22969 wikitext text/x-wiki {{-so-}} == Magac == '''birdhi''' === Tarjumaad === * {{en}}: platinum b89w2hvq482wyp7duytq6tb55nyeswq gumuc 0 7570 22970 2022-12-12T04:55:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gumuc''' === Tarjumaad === * {{en}}: ammo, ammunition 22970 wikitext text/x-wiki {{-so-}} == Magac == '''gumuc''' === Tarjumaad === * {{en}}: ammo, ammunition ay07j8k24b9d3x90oef8m9j7kpz8ddj birlab 0 7571 22971 2022-12-12T04:55:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''birlab''' === Tarjumaad === * {{en}}: magnet 22971 wikitext text/x-wiki {{-so-}} == Magac == '''birlab''' === Tarjumaad === * {{en}}: magnet e9iucyip0dolc42z61giha4bczvgjv3 birakab 0 7572 22972 2022-12-12T04:56:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''birakab''' === Tarjumaad === * {{en}}: alloy 22972 wikitext text/x-wiki {{-so-}} == Magac == '''birakab''' === Tarjumaad === * {{en}}: alloy s7n1s0zbwm9rw277789d396p1lg3vsz qarash 0 7573 22973 2022-12-12T04:56:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qarash''' === Tarjumaad === * {{en}}: alluminium 22973 wikitext text/x-wiki {{-so-}} == Magac == '''qarash''' === Tarjumaad === * {{en}}: alluminium 9yyi3w1a4tk5sblt7zeiakzz1r4ic06 dahabcad 0 7574 22974 2022-12-12T04:57:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dahabcad''' === Tarjumaad === * {{en}}: silver 22974 wikitext text/x-wiki {{-so-}} == Magac == '''dahabcad''' === Tarjumaad === * {{en}}: silver qk0iqp708dmnzzkyzo8x9mddnpjmgwn danab 0 7575 22975 2022-12-12T04:58:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danab''' === Tarjumaad === * {{en}}: lightning strike, lightning bolt 22975 wikitext text/x-wiki {{-so-}} == Magac == '''danab''' === Tarjumaad === * {{en}}: lightning strike, lightning bolt hlsm0qjbiqi9dnpb1y30bx0buqsbv2l hillaac 0 7576 27479 22976 2024-05-20T01:38:13Z Girligaanshub 3150 27479 wikitext text/x-wiki {{-so-}} == Magac == '''hillaac''' === Tarjumaad === * {{en}}: lightning, thunder bolt, thunder clap nkkbs83fbyyk6ranz9j1trbri32ofyj onkod 0 7577 22977 2022-12-12T04:59:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''onkod''' === Tarjumaad === * {{en}}: thunder 22977 wikitext text/x-wiki {{-so-}} == Magac == '''onkod''' === Tarjumaad === * {{en}}: thunder 3o40t98ikeytmybuzb7491gcuts0tof labo-weji-leh 0 7578 22979 2022-12-17T04:10:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''labo-weji-leh''' === Tarjumaad === * {{en}}: hypocrite, two-faced, double-dealer 22979 wikitext text/x-wiki {{-so-}} == Magac == '''labo-weji-leh''' === Tarjumaad === * {{en}}: hypocrite, two-faced, double-dealer sm0gndjzzlaf26qfp29atk7utsjoroh khaasatan 0 7579 22980 2022-12-20T06:25:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khaasatan''' === Tarjumaad === * {{en}}: especially 22980 wikitext text/x-wiki {{-so-}} == Magac == '''khaasatan''' === Tarjumaad === * {{en}}: especially fpr4ecls2n52o77h1ks6i0pvr8qd3k1 buste 0 7580 22981 2022-12-20T13:13:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buste''' === Tarjumaad === * {{en}}: duvet 22981 wikitext text/x-wiki {{-so-}} == Magac == '''buste''' === Tarjumaad === * {{en}}: duvet 52fa38mcpziu122rdvf37ncwdw0d4u0 tuhun 0 7581 22982 2022-12-22T07:18:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuhun''' === Tarjumaad === * {{en}}: suspicion, intuition, conjecture, doubt, speculation, 22982 wikitext text/x-wiki {{-so-}} == Magac == '''tuhun''' === Tarjumaad === * {{en}}: suspicion, intuition, conjecture, doubt, speculation, dwyybbb1u0iq1u8yjj87rmhk1qldjex tuhunka 0 7582 22983 2022-12-22T07:19:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuhunka''' === Tarjumaad === * {{en}}: suspicion, doubt, misgiving, intuition, conjecture, 22983 wikitext text/x-wiki {{-so-}} == Magac == '''tuhunka''' === Tarjumaad === * {{en}}: suspicion, doubt, misgiving, intuition, conjecture, l5eo4bpjjdbl9sj8au0jyq0s4c3jfz3 dudid 0 7583 22984 2022-12-22T12:00:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dudid''' === Tarjumaad === * {{en}}: hysteria 22984 wikitext text/x-wiki {{-so-}} == Magac == '''dudid''' === Tarjumaad === * {{en}}: hysteria 6vlv2noqg86aw2ni19z3t2im652871t il-jeex 0 7584 23653 23045 2023-05-23T17:57:33Z Girligaanshub 3150 23653 wikitext text/x-wiki {{-so-}} == Magac == '''il-jeex''' === Tarjumaad === * {{en}}: [[damaaci]] (entitled), ====Synonyms==== *[[hunguriga]] h0svl7s1lmt4h8h5gfxfsa6sboi73tm lahaysteyaal 0 7585 22986 2022-12-22T13:29:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lahaysteyaal''' === Tarjumaad === * {{en}}: hostages, the subjugated, the ensnared, captives, 22986 wikitext text/x-wiki {{-so-}} == Magac == '''lahaysteyaal''' === Tarjumaad === * {{en}}: hostages, the subjugated, the ensnared, captives, fqjoww0v6cu21p0jz8wbwpuz8y3w9tx caynaan 0 7586 30550 23738 2024-09-07T15:43:45Z Girligaanshub 3150 30550 wikitext text/x-wiki {{-so-}} == Magac == '''caynaan''' === Tarjumaad === * {{en}}: rein, snaffle rein, horse muzzle tack, mecate, horse muzzle strap, ===Synonyms=== *[[leel]], [[keen]] hkpr4dmzq78tc2a4ro1fww2cejo8xq2 quus 0 7587 32454 31989 2024-11-15T20:27:03Z Girligaanshub 3150 32454 wikitext text/x-wiki {{-so-}} == Magac == '''quus''' === Tarjumaad === * {{en}}: loss of hope, pessimist, pessimism, pessimistic, apathy, unmotivated, exhausted, sluggish, sloth, * {{en}}: despair * {{en}}: despertion, desperate * {{en}}: dive, submerge, sink ===Synonyms=== *, [[quus]], [[quuso]] 4txb39yxhawyaey6fo7i2nwvcxzfctn il-jeexan 0 7588 22989 2022-12-26T11:27:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''il-jeexan''' === Tarjumaad === * {{en}}: needy 22989 wikitext text/x-wiki {{-so-}} == Magac == '''il-jeexan''' === Tarjumaad === * {{en}}: needy r8xeh5if8mi2pq39hflv81vyupgtx07 il-jeexnimo 0 7589 23655 23044 2023-05-23T18:06:52Z Girligaanshub 3150 23655 wikitext text/x-wiki {{-so-}} == Magac == '''il-jeexnimo''' === Tarjumaad === * {{en}}: [[damaacinimo]] (neediness, entitled) ====Synonyms==== *[[damaacinimo]] 5zuyxaeocz9nvbq22jrgaxj6g5k2xxc gubaabiye 0 7590 24715 24706 2023-09-04T00:09:28Z Girligaanshub 3150 24715 wikitext text/x-wiki {{-so-}} == Magac == '''gubaabiye''' === Tarjumaad === * {{en}}: fomenter, inciter ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]] ===Antonyms=== *[[afgobaadsi]] ss62kyzj1pevynwldmy515vjhbl7zhk la-gubaabaha 0 7591 22992 2022-12-31T13:59:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''la-gubaabaha''' === Tarjumaad === * {{en}}: influencees, the influenced 22992 wikitext text/x-wiki {{-so-}} == Magac == '''la-gubaabaha''' === Tarjumaad === * {{en}}: influencees, the influenced bauja5re5ervbpwpbdevb4kbs3oe7dd wajahan 0 7592 22993 2022-12-31T14:07:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wajahan''' === Tarjumaad === * {{en}}: aiming, directing, targeting, facing 22993 wikitext text/x-wiki {{-so-}} == Magac == '''wajahan''' === Tarjumaad === * {{en}}: aiming, directing, targeting, facing i66xllferrv3grdpav3gvauii4hoco0 boorin 0 7593 26376 22994 2023-12-17T05:44:57Z Girligaanshub 3150 26376 wikitext text/x-wiki {{-so-}} == Magac == '''boorin''' === Tarjumaad === * {{en}}: urge ===Synonyms=== *[[boorin]], [[boori]], [[gubaabi]], [[faafi]] ihbbpjivdklgp3szaoyiy9gvhivu2sm candhowadag 0 7594 26594 25626 2024-01-23T10:08:26Z Girligaanshub 3150 26594 wikitext text/x-wiki {{-so-}} == Magac == '''candhowadag''' === Tarjumaad === * {{en}}: milk siblings, social kinship, caste myn64hj9snyc19q8lyrtuaf6cpibw74 jiil 0 7595 22998 2023-01-01T13:40:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jiil''' === Tarjumaad === * {{en}}: generation 22998 wikitext text/x-wiki {{-so-}} == Magac == '''jiil''' === Tarjumaad === * {{en}}: generation ov4pwsjafyo1tbxxix72qqvcvijr5ky maalgeli 0 7596 31258 27185 2024-10-04T16:01:17Z Girligaanshub 3150 31258 wikitext text/x-wiki {{-so-}} == Magac == '''maalgeli''' === Tarjumaad === * {{en}}: fund, finance, sponsor, bankroll, subsidize, ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] 2vi683pi3e8aymept3zdlq84xj6a5df maalgeliyey 0 7597 23719 23000 2023-06-05T12:24:37Z Girligaanshub 3150 23719 wikitext text/x-wiki {{-so-}} == Magac == '''maalgeliyey''' === Tarjumaad === * {{en}}: funded, invested 6n2cn9lq7unxyfllwvhifmttnsncf9c maalgelida 0 7598 23720 23001 2023-06-05T12:24:52Z Girligaanshub 3150 23720 wikitext text/x-wiki {{-so-}} == Magac == '''maalgelida''' === Tarjumaad === * {{en}}: funding, investment qxj19ksf8fqcvvall71u0szieoiqzdt User:James500 2 7599 23003 23002 2023-01-03T04:46:44Z James500 3404 Add interwiki link 23003 wikitext text/x-wiki {{#babel:en|so-0}} [[en:User:James500]] 7aezj5c3rmea77nce6ht4v8e83j9rie haraad 0 7600 23004 2023-01-03T13:54:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haraad''' === Tarjumaad === * {{en}}: thirst 23004 wikitext text/x-wiki {{-so-}} == Magac == '''haraad''' === Tarjumaad === * {{en}}: thirst aonqjhx7hm8t0u3r3mm7rvt90w7ayh7 tahmeed 0 7601 23005 2023-01-04T21:04:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tahmeedi''' === Tarjumaad === * {{en}}: echo, repeat, mimick, copycat, emulate, imitate, copy, mimic 23005 wikitext text/x-wiki {{-so-}} == Magac == '''tahmeedi''' === Tarjumaad === * {{en}}: echo, repeat, mimick, copycat, emulate, imitate, copy, mimic oltq47id9gab6epfk1zvjbveidy8rp0 maxaabiis 0 7602 23006 2023-01-05T08:33:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maxaabiis''' === Tarjumaad === * {{en}}: inmate, prisoner 23006 wikitext text/x-wiki {{-so-}} == Magac == '''maxaabiis''' === Tarjumaad === * {{en}}: inmate, prisoner em7bkhengb6h1fg3pgj7sf106vultzb ilbax 0 7603 28975 25847 2024-07-27T19:53:45Z Girligaanshub 3150 28975 wikitext text/x-wiki {{-so-}} == Magac == '''ilbax''' === Tarjumaad === * {{en}}: civilized, ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[xadaarad]], 55rzhisvhjbxbf79ih72ep0ozgdtidg ilbaxnimo 0 7604 28976 25846 2024-07-27T19:54:03Z Girligaanshub 3150 28976 wikitext text/x-wiki {{-so-}} == Magac == '''ilbaxnimo''' === Tarjumaad === * {{en}}: civility, cizilization ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[xadaarad]], aeiftojwn9nty7onl35j5b0ki15npoh saanad 0 7605 23009 2023-01-06T08:54:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saanad''' === Tarjumaad === * {{en}}: supply, stockpile, armory 23009 wikitext text/x-wiki {{-so-}} == Magac == '''saanad''' === Tarjumaad === * {{en}}: supply, stockpile, armory cpmx5dvlmik5jn2m1aqmpifwmi98pkg lama-filaan 0 7606 23010 2023-01-06T13:13:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lama-filaan''' === Tarjumaad === * {{en}}: unexpected, unforeseen, unpredictable, abrupt 23010 wikitext text/x-wiki {{-so-}} == Magac == '''lama-filaan''' === Tarjumaad === * {{en}}: unexpected, unforeseen, unpredictable, abrupt 0izhudctgmqrauefmmgvnazo1qmm08d mudnaan 0 7607 31887 28242 2024-10-25T22:59:08Z Girligaanshub 3150 31887 wikitext text/x-wiki {{-so-}} == Magac == '''mudnaan''' === Tarjumaad === * {{en}}: deserve, deserving, privilege ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] i4xxnuwzjej75q1wklb7dp5mkxhq92k dhiidhiiyo 0 7608 29853 27925 2024-08-12T18:09:08Z Girligaanshub 3150 29853 wikitext text/x-wiki {{-so-}} == Magac == '''dhiidhiiyo''' === Tarjumaad === * {{en}}: disagreeable, reject, rebuke, rebuff, repulse, rebuff, repudiate, spurn, retaliate, confront, reprimand, counteract, rejection ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] psvvqt01pyswlpboy08fg4jqbk9se6u safan 0 7609 23019 23018 2023-01-08T20:00:27Z Girligaanshub 3150 23019 wikitext text/x-wiki {{-so-}} == Magac == '''safan''' === Tarjumaad === * {{en}}: linked, in accord, concurrence, axvjob8su5xkecvp022i2wklqq9i848 xeelad 0 7610 30760 27855 2024-09-13T21:06:04Z Girligaanshub 3150 30760 wikitext text/x-wiki {{-so-}} == Magac == '''xeelad''' === Tarjumaad === * {{en}}: strategy, plan ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] qsznf9ivq6jhtda34c09ghb42vnowu3 gaashaandhig 0 7611 23021 2023-01-09T08:55:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaashaandhig''' === Tarjumaad === * {{en}}: secure, defend, safeguard, shield, guard 23021 wikitext text/x-wiki {{-so-}} == Magac == '''gaashaandhig''' === Tarjumaad === * {{en}}: secure, defend, safeguard, shield, guard 0959yyn7udnz7erz68stowb95scxxfi farsamada 0 7612 23022 2023-01-10T15:02:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farsamada''' === Tarjumaad === * {{en}}: technology 23022 wikitext text/x-wiki {{-so-}} == Magac == '''farsamada''' === Tarjumaad === * {{en}}: technology kjisnofi0cu2m30hi89tyg6xqx46oxi farsamo 0 7613 28826 28604 2024-07-21T20:31:33Z Girligaanshub 3150 28826 wikitext text/x-wiki {{-so-}} == Magac == '''farsamo''' === Tarjumaad === * {{en}}: technological, technology ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] iv9d6059wwoeb8lwwz4k82712rsmpec fardooley 0 7614 23024 2023-01-10T17:07:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fardooley''' === Tarjumaad === * {{en}}: equestrian, horseman, cavalryman, horsemen, cavalrymen 23024 wikitext text/x-wiki {{-so-}} == Magac == '''fardooley''' === Tarjumaad === * {{en}}: equestrian, horseman, cavalryman, horsemen, cavalrymen 3crnhwhqey4bxw49mvq5ixddhelno4s dabley 0 7615 23025 2023-01-12T14:00:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabley''' === Tarjumaad === * {{en}}: gunman, 23025 wikitext text/x-wiki {{-so-}} == Magac == '''dabley''' === Tarjumaad === * {{en}}: gunman, 1cyf3z898y7ln9t1szf8t0w4ppiob3m dacaayad 0 7616 29732 29728 2024-08-09T00:49:53Z Girligaanshub 3150 29732 wikitext text/x-wiki {{-so-}} == Magac == '''dacaayad''' === Tarjumaad === * {{en}}: backbite, backbiting * {{en}}: propaganda, biased information ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]], [[xan]], [[dacaayad]] 8dfo9m2d96o451rine23dprt4ya3w0s matalo 0 7617 23035 23034 2023-01-14T21:33:13Z Girligaanshub 3150 23035 wikitext text/x-wiki {{-so-}} == Magac == '''matalo''' === Tarjumaad === * {{en}}: represent, typify, characterize, portray, denote, designate, epitomize, personify, embody sed796dt5ib28j0q8cmdrjykcfdzec6 turxaamo 0 7618 23037 2023-01-14T21:33:58Z Girligaanshub 3150 Girligaanshub moved page [[turxaamo]] to [[maamulo]] 23037 wikitext text/x-wiki #REDIRECT [[maamulo]] a0dkhpysj6rg61cwzeinlzb1r8509j0 hay'ad 0 7619 32195 27711 2024-10-31T23:56:01Z Girligaanshub 3150 32195 wikitext text/x-wiki {{-so-}} == Magac == '''hay'ad''' === Tarjumaad === * {{en}}: institution, establishment, foundation, association, organization, non-profit, agency ===Synonyms=== *[[machad]], [[hay'ad]] 3qovb0frn7uqqat1huufupe7seq512j turxaan-bixi 0 7620 31290 31276 2024-10-04T16:42:59Z Girligaanshub 3150 31290 wikitext text/x-wiki {{-so-}} == Magac == '''turxaan-bixi''' === Tarjumaad === * {{en}}: trouble-shoot (social issue), refine (social issue), elaborate, hone, polish, revise (social issue), tweak, regulate (social issue), organize ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[turxaan-bixi]], [[weer-xidh]], [[weer-xidhasho]], [[tabkac]], [[tabkaco]] c9ec529gs1yx7ightx74wwes322e70c goob-jooge 0 7621 23041 2023-01-16T03:47:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goob-jooge''' === Tarjumaad === * {{en}}: bystander, onlooker 23041 wikitext text/x-wiki {{-so-}} == Magac == '''goob-jooge''' === Tarjumaad === * {{en}}: bystander, onlooker tnhe4amshfxga1oi23y8pi5wsxfh4hk hunguriga 0 7622 32498 31943 2024-11-17T00:05:26Z Girligaanshub 3150 32498 wikitext text/x-wiki {{-so-}} == Magac == '''hunguriga''' === Tarjumaad === * {{en}}: hedonism, hedonist * {{en}}: manipulation * {{en}}: greed, busybody, meddler, interfere, entitlement, entitled, needy, neediness ====Synonyms==== *[[hunguri]] izyoe98su1hvcr8vo6ws1p012j41wfp aftahan 0 7623 23046 2023-01-16T19:45:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aftahan''' === Tarjumaad === * {{en}}: eloquent, articulate, well-spoken, 23046 wikitext text/x-wiki {{-so-}} == Magac == '''aftahan''' === Tarjumaad === * {{en}}: eloquent, articulate, well-spoken, covt4wavdph7i9xl9ytl3nsxlhlssdn aftahannimo 0 7624 32610 28170 2024-11-26T21:17:11Z Girligaanshub 3150 32610 wikitext text/x-wiki {{-so-}} == Magac == '''aftahannimo''' === Tarjumaad === * {{en}}: eloquence, articulateness, well-spokenness, charisma ===Synonyms=== *[[aftahanka]], [[aftahannimo]] hucbf3l75mnds0twqml90h3fo6lh57k xasaasi 0 7625 24660 23049 2023-09-03T18:01:59Z Girligaanshub 3150 24660 wikitext text/x-wiki {{-so-}} == Magac == '''xasaasi''' === Tarjumaad === * {{en}}: sensitive, allergic, nnp0qgdi77nsdloy9xb28us67mj71nb halbeeg 0 7626 29544 26359 2024-08-05T08:20:25Z Girligaanshub 3150 29544 wikitext text/x-wiki {{-so-}} == Magac == '''halbeeg''' === Tarjumaad === * {{en}}: unit, standard, benchmark, standard, paradigm, paragon, standardization, standardize ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] k5cu07nw9w7cdkzpl5vu378djjvtbu2 dhowre 0 7627 23052 2023-01-19T20:06:24Z Girligaanshub 3150 Girligaanshub moved page [[dhowre]] to [[afdhowre]] 23052 wikitext text/x-wiki #REDIRECT [[afdhowre]] bpxiqsxw5wnppnde63i3hkzr6wo6ryo rag-dhowre 0 7628 23055 2023-01-19T20:06:55Z Girligaanshub 3150 Girligaanshub moved page [[rag-dhowre]] to [[rag-af-dhowre]] 23055 wikitext text/x-wiki #REDIRECT [[rag-af-dhowre]] pv68gkpoifyud5su8uhzx7p66ryubgz dhedig-dhowre 0 7629 23058 2023-01-19T20:07:23Z Girligaanshub 3150 Girligaanshub moved page [[dhedig-dhowre]] to [[dhedig-af-dhowre]] 23058 wikitext text/x-wiki #REDIRECT [[dhedig-af-dhowre]] pqpfkacxaqyebnpmxmzzqknazmymgc4 xaashi 0 7630 32351 23060 2024-11-10T13:01:50Z Girligaanshub 3150 32351 wikitext text/x-wiki {{-so-}} == Magac == '''xaashi''' === Tarjumaad === * {{en}}: sheet, leaf, page ===Synonyms=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] t6pwryozaapww63bv3fiki0p7yj4zgv afdhowrenimo 0 7631 23063 2023-01-21T00:51:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afdhowrenimo''' === Tarjumaad === * {{en}}: advocacy 23063 wikitext text/x-wiki {{-so-}} == Magac == '''afdhowrenimo''' === Tarjumaad === * {{en}}: advocacy asunwg52esijxpdj1pu4b8c0if20zny dhir 0 7632 23064 2023-01-21T17:14:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhir''' === Tarjumaad === * {{en}}: plant 23064 wikitext text/x-wiki {{-so-}} == Magac == '''dhir''' === Tarjumaad === * {{en}}: plant 4ckvn2mjhmobymgeyxmy5bvbp4n3gv6 tiro-kuteen 0 7633 27215 23065 2024-04-22T21:10:51Z Danesrmithpl8 4840 27215 wikitext text/x-wiki {{-so-}} == Magac == '''tiro-kuteen''' === Tarjumaad === * {{en}}: hearsay ===Synonyms=== *[[khurafaad]], [[khiyaali]], [[tiro-kuteen]] 9h32ri3qkgqrpdvv9rmpvjjaipddquu aayo-ka-talinta 0 7634 32054 31269 2024-10-27T23:19:09Z Girligaanshub 3150 32054 wikitext text/x-wiki {{-so-}} == Magac == '''aayo-ka-talinta''' === Tarjumaad === * {{en}}: self-determination, volition, initiative ===Synonyms=== *[[aayakatalinta]] 42cuicqmyo3f05ivs30wnsmegitspi5 aayo-ka-tashiga 0 7635 32055 31270 2024-10-27T23:19:28Z Girligaanshub 3150 32055 wikitext text/x-wiki {{-so-}} == Magac == '''aayo-ka-tashiga''' === Tarjumaad === * {{en}}: self-determination, volition, initiative ===Synonyms=== *[[aayakatalinta]], bxysvuxnbty8gmh7kzvrnqod8p6v596 ciirsan 0 7636 32677 32674 2024-11-30T08:59:49Z Girligaanshub 3150 32677 wikitext text/x-wiki {{-so-}} == Magac == '''ciirsan''' === Tarjumaad === * {{en}}: serious situation * {{en}}: staggering, in distress, unsteady, in trouble ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ ciirsan]], [[daruuri]], [[ba'an]] 63yhs953dz4gkn3t9s0sds4k3udit97 qalafsan 0 7637 31913 29439 2024-10-25T23:21:48Z Girligaanshub 3150 31913 wikitext text/x-wiki {{-so-}} == Magac == '''qalafsan''' === Tarjumaad === * {{en}}: rigid, rough, tough, harsh, crisp, malevolent, coarse, fierce, stern, cranky, stiff ===Synonyms=== *[[casayr]], [[qalafsan]] 3vdtdbnwv76uhynohgzwh55g9dzyjzm jamaahiirta 0 7638 23193 23071 2023-03-21T21:10:38Z Girligaanshub 3150 23193 wikitext text/x-wiki {{-so-}} == Magac == '''jamaahiirta''' === Tarjumaad === * {{en}}: populist masses, populist crowds, populist congregation 2cpkrvp66h1iyus8m0tfbebg4qjlk93 deyr 0 7639 32229 32227 2024-11-04T00:24:08Z Girligaanshub 3150 32229 wikitext text/x-wiki {{-so-}} == Magac == '''deyr''' === Tarjumaad === * {{en}}: courtyard, terrace, lawn, gap, crevice, crack, * {{en}}: October to December (autumn season) ===Synonyms=== *[[dayrta]], [[deyr]] ibfnb7793k1yf9vfy52pngc843lt7pz horudhac 0 7640 23073 2023-01-27T12:52:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''horudhac''' === Tarjumaad === * {{en}}: precedent, 23073 wikitext text/x-wiki {{-so-}} == Magac == '''horudhac''' === Tarjumaad === * {{en}}: precedent, 5hmrrldu1fguwza8460dnd06ao507z5 horudhacnimo 0 7641 23074 2023-01-27T12:54:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''horudhacnimo''' === Tarjumaad === * {{en}}: precedent, standard, criterion, paradigm, 23074 wikitext text/x-wiki {{-so-}} == Magac == '''horudhacnimo''' === Tarjumaad === * {{en}}: precedent, standard, criterion, paradigm, l57s9lc0yq37lfgjqibxcjbrv6j6y62 xasarado 0 7642 27425 27195 2024-05-18T19:16:49Z Girligaanshub 3150 27425 wikitext text/x-wiki {{-so-}} == Magac == '''xasarado''' === Tarjumaad === * {{en}}: crisis, tribulations, calamity, predicament, commotion, quandary, cataclysm, ===Synonyms=== *[[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[jahwareer]], [[khilaaf]] it7sy8444x0q431pzjvuya7ohlef0ct dhiiran 0 7643 31410 31340 2024-10-07T21:56:44Z Girligaanshub 3150 31410 wikitext text/x-wiki {{-so-}} == Magac == '''dhiiran''' === Tarjumaad === * {{en}}: serious, truculent, proactive, passionate, brazen, bold, audacious, reckless, assertive, daring, contentious, hostile, confrontational, bellicose, combative, belligerent, antagonism, antagonistic, ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[dhiiranimo]], [[goodi]], [[ba'an]] mhcohs2ceyedzp2xq759dcqkqee8ttb dhiirane 0 7644 23083 2023-01-28T18:37:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiirane''' === Tarjumaad === * {{en}}: daring person, brave person, brazen person, bold person, audacious person, reckless person, 23083 wikitext text/x-wiki {{-so-}} == Magac == '''dhiirane''' === Tarjumaad === * {{en}}: daring person, brave person, brazen person, bold person, audacious person, reckless person, 5ijmpixv1zmr1wqxikis0c273gazbzv dhuunta 0 7645 23085 2023-01-28T21:53:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuunta''' === Tarjumaad === * {{en}}: throat, 23085 wikitext text/x-wiki {{-so-}} == Magac == '''dhuunta''' === Tarjumaad === * {{en}}: throat, hc2k5s0i2uwnmyf2edm51x79gmwj1sz dhuuman 0 7646 23086 2023-01-28T22:26:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuuman''' === Tarjumaad === * {{en}}: hidden, 23086 wikitext text/x-wiki {{-so-}} == Magac == '''dhuuman''' === Tarjumaad === * {{en}}: hidden, 0slubl8tuft44mzbhvgzg36swkm1q9r dhiiranimo 0 7647 31412 31243 2024-10-07T21:57:09Z Girligaanshub 3150 31412 wikitext text/x-wiki {{-so-}} == Magac == '''dhiiranimo''' === Tarjumaad === * {{en}}: proactivism, reactivism, dynamism, assertiveness, daring, brave ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[dhiiranimo]], [[goodi]], [[ba'an]] 45sexdis8isufxe9txwkx6k6nkl29ah dhuunta (astur) 0 7648 23098 2023-01-30T22:06:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuunta''' === Tarjumaad === * {{en}}: concealed, hidden, disguised, 23098 wikitext text/x-wiki {{-so-}} == Magac == '''dhuunta''' === Tarjumaad === * {{en}}: concealed, hidden, disguised, o6fbgjgk1izqswpk6xpy2gtva1w8sts dhoolatus 0 7649 23100 2023-02-01T21:09:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuuman''' === Tarjumaad === * {{en}}: march, parade 23100 wikitext text/x-wiki {{-so-}} == Magac == '''dhuuman''' === Tarjumaad === * {{en}}: march, parade eeqq30r8qjzza26lzdig09igwzl1glw isbahaysi 0 7650 27054 25449 2024-04-07T07:08:21Z Girligaanshub 3150 27054 wikitext text/x-wiki {{-so-}} == Magac == '''isbahaysi''' === Tarjumaad === * {{en}}: alliance, solidarity ===Synonyms=== *[[gaashaanbuursi]], [[isbahaysi]] 19ptsuzz84ruyb1597ului5866qniln dumareey 0 7651 23102 2023-02-03T09:53:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dumareey''' === Tarjumaad === * {{en}}: feminize 23102 wikitext text/x-wiki {{-so-}} == Magac == '''dumareey''' === Tarjumaad === * {{en}}: feminize irnqa494lfh11tta9snyll5k25uwc8u dumareynta 0 7652 23103 2023-02-03T09:54:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dumareynta''' === Tarjumaad === * {{en}}: feminization 23103 wikitext text/x-wiki {{-so-}} == Magac == '''dumareynta''' === Tarjumaad === * {{en}}: feminization hbvzirgwi36ibh0lrtyypugoh90brdz caqabad 0 7653 31650 31649 2024-10-19T17:09:15Z Girligaanshub 3150 31650 wikitext text/x-wiki {{-so-}} == Magac == '''caqabad''' === Tarjumaad === * {{en}}: constraint, challenge, obstacle, tribulation ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] izy1vm797y5qu6a2otf0nm3ezbsfyd2 gacmo-laab 0 7654 23108 2023-02-08T18:27:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacmo-laab''' === Tarjumaad === * {{en}}: apathy, indifference, passivity, passiveness, 23108 wikitext text/x-wiki {{-so-}} == Magac == '''gacmo-laab''' === Tarjumaad === * {{en}}: apathy, indifference, passivity, passiveness, bh8hmggsjrm13r4d3ekw9l05lbcc4wg isir leynta 0 7655 23109 2023-02-10T17:25:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isir-leynta''' === Tarjumaad === * {{en}}: ethnic cleansing 23109 wikitext text/x-wiki {{-so-}} == Magac == '''isir-leynta''' === Tarjumaad === * {{en}}: ethnic cleansing pgl0u7fepl5s5z56l6ejq6057873lwl basaas 0 7656 31707 24892 2024-10-21T02:11:21Z Girligaanshub 3150 31707 wikitext text/x-wiki {{-so-}} == Magac == '''basaas''' === Tarjumaad === * {{en}}: spy ===Synonyms=== *[[basaas]], [[jawaasiis]], [[jaajuus]], [[sirdoon]] 0vcl2mk0uo1cw1sainyzpg8k8yspwo3 xabad joojin 0 7657 23111 2023-02-11T07:41:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xabad joojin''' === Tarjumaad === * {{en}}: ceasefire 23111 wikitext text/x-wiki {{-so-}} == Magac == '''xabad joojin''' === Tarjumaad === * {{en}}: ceasefire lz521gmdyfabnts6vk24gw31xdhx3xl maxbuus 0 7658 23112 2023-02-15T11:23:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maxbuus''' === Tarjumaad === * {{en}}: prisoner 23112 wikitext text/x-wiki {{-so-}} == Magac == '''maxbuus''' === Tarjumaad === * {{en}}: prisoner 6xrrt03695vnf1pac20mhib5qqc37jr xaqdaro 0 7659 23113 2023-02-16T12:54:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaqdaro''' === Tarjumaad === * {{en}}: unjust, injustice 23113 wikitext text/x-wiki {{-so-}} == Magac == '''xaqdaro''' === Tarjumaad === * {{en}}: unjust, injustice 6yws2ihjd3neprxtrfqj4ry1h4lgkxq cadaawad 0 7660 23114 2023-02-16T15:23:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cadaawad''' === Tarjumaad === * {{en}}: enmity, animosity 23114 wikitext text/x-wiki {{-so-}} == Magac == '''cadaawad''' === Tarjumaad === * {{en}}: enmity, animosity efm67y5dhjshy6u91rn1z7jxnl20h5p laftarka 0 7663 24200 23118 2023-08-09T21:11:23Z Girligaanshub 3150 24200 wikitext text/x-wiki {{-so-}} == Magac == '''laftarka''' === Tarjumaad === * {{en}}: self, oneself ===Synonyms=== *[[aayo]], [[laftiga]] 65aik1g6hk6291vme7nukw0nqqo5hbn gar 0 7664 30380 26418 2024-08-30T22:46:35Z Girligaanshub 3150 30380 wikitext text/x-wiki {{-so-}} == Magac == '''gar''' === Tarjumaad === * {{en}}: verdict, adjudication, judgement, arbitration, resolution, ruling, decree, * {{en}}: justice * {{en}}: goatee, beard * {{en}}: rule, rulership * {{en}}: shortened [[garooc]] cvcl4ogr4lzfjvipljxqi3l68gyhg21 qalinjabin 0 7665 31893 31882 2024-10-25T23:00:53Z Girligaanshub 3150 31893 wikitext text/x-wiki {{-so-}} == Magac == '''qalinjabin''' === Tarjumaad === * {{en}}: graduation, graduate, qualify, qualified ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] lrzw2ghr1nu1v7dtkvzhjgmo9ybcxrc faquuq 0 7666 23121 2023-02-21T09:23:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faquuq''' === Tarjumaad === * {{en}}: prejudice 23121 wikitext text/x-wiki {{-so-}} == Magac == '''faquuq''' === Tarjumaad === * {{en}}: prejudice kp4v02yeq7jyn6hi4uzpm4f3i2jdb7b kadalloob 0 7667 23122 2023-02-21T09:40:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kadalloob''' === Tarjumaad === * {{en}}: crouch 23122 wikitext text/x-wiki {{-so-}} == Magac == '''kadalloob''' === Tarjumaad === * {{en}}: crouch b0im24iiqs71mgbvz91uu8msupyof7k gefsan 0 7668 23123 2023-02-21T09:42:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gfsan''' === Tarjumaad === * {{en}}: wrong 23123 wikitext text/x-wiki {{-so-}} == Magac == '''gfsan''' === Tarjumaad === * {{en}}: wrong chwazk3lgxcgm3y9hbw2nv59jc0x1cl walax 0 7669 23124 2023-02-21T09:43:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walax''' === Tarjumaad === * {{en}}: thing 23124 wikitext text/x-wiki {{-so-}} == Magac == '''walax''' === Tarjumaad === * {{en}}: thing ocpbkc20syrsjuvnj40ilyej4hja23w saabaan 0 7670 23125 2023-02-21T09:53:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saabaan''' === Tarjumaad === * {{en}}: furniture 23125 wikitext text/x-wiki {{-so-}} == Magac == '''saabaan''' === Tarjumaad === * {{en}}: furniture hc7t9or25x5fkd99418m60z08pjxvgi teelteel 0 7671 27320 27182 2024-05-08T09:27:34Z Girligaanshub 3150 27320 wikitext text/x-wiki {{-so-}} == Magac == '''teelteel''' === Tarjumaad === * {{en}}: sporadic, intermittent, occasional, infrequent, irregular, scattered, isolated, random, erratic, seldom ===Synonyms=== *[[taxanaysan]], [[teelteel]], [[marxaalad]] m53nj0gf1dyan1ara42fgv2es3eytmd laancigaleed 0 7672 23128 2023-02-21T09:58:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laancigaleed''' === Tarjumaad === * {{en}}: catapult 23128 wikitext text/x-wiki {{-so-}} == Magac == '''laancigaleed''' === Tarjumaad === * {{en}}: catapult mbbgl4sg4b1byquntjtrclxsdp66chc hareed 0 7673 23129 2023-02-21T09:59:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hareed''' === Tarjumaad === * {{en}}: sideburns 23129 wikitext text/x-wiki {{-so-}} == Magac == '''hareed''' === Tarjumaad === * {{en}}: sideburns su5nje2t4lend5ydhwnkbfsbxrll7tz taawilo 0 7674 24499 23130 2023-09-01T10:44:30Z Girligaanshub 3150 24499 wikitext text/x-wiki {{-so-}} == Magac == '''taawilo''' === Tarjumaad === * {{en}}: forecast, prediction, projection, prognosis, predict, expect, expectation, fortunetelling, astrology, soothsaying, crystal-gaze, oracle working, crystal ball, prophecy, prophesize, foretell, foretelling, ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 4qm2sladur9eyu78hw4yffpx65r4ugr hungoobid 0 7675 23692 23131 2023-05-31T14:13:37Z Girligaanshub 3150 23692 wikitext text/x-wiki {{-so-}} == Magac == '''hungoobid''' === Tarjumaad === * {{en}}: disappointment q5p8svv2bx6gafef0a3qgf28mgnh5h8 toogahayn 0 7676 23133 2023-02-21T12:27:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toogahayn''' === Tarjumaad === * {{en}}: informed 23133 wikitext text/x-wiki {{-so-}} == Magac == '''toogahayn''' === Tarjumaad === * {{en}}: informed s92gjf1f89z70qf7i0owgvnzkt3mtp0 lis 0 7677 23134 2023-02-21T12:31:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lis''' === Tarjumaad === * {{en}}: hand-milk, 23134 wikitext text/x-wiki {{-so-}} == Magac == '''lis''' === Tarjumaad === * {{en}}: hand-milk, k4ga80v7vwbc0k4hytc9x667ena22us teeri 0 7678 23135 2023-02-21T12:36:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''teeri''' === Tarjumaad === * {{en}}: javelin, assegai 23135 wikitext text/x-wiki {{-so-}} == Magac == '''teeri''' === Tarjumaad === * {{en}}: javelin, assegai gxxz60juj1po65u2pe9f8bflse64s6g tunbul 0 7679 23136 2023-02-21T12:43:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tunbul''' === Tarjumaad === * {{en}}: enclave 23136 wikitext text/x-wiki {{-so-}} == Magac == '''tunbul''' === Tarjumaad === * {{en}}: enclave 8mrc2fiqz1p6z0brh2dokieod0nlrx8 tunbuur 0 7680 23137 2023-02-21T12:46:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tunbuur''' === Tarjumaad === * {{en}}: bruise, 23137 wikitext text/x-wiki {{-so-}} == Magac == '''tunbuur''' === Tarjumaad === * {{en}}: bruise, 4n9xwt2toe71lq9hlyx7xqqtxhcm8ez baahsan 0 7681 31404 30743 2024-10-07T20:55:57Z Girligaanshub 3150 31404 wikitext text/x-wiki {{-so-}} == Magac == '''baahsan''' === Tarjumaad === * {{en}}: widespread, predominantly, broadly, widely construed, generally, extensively, broad, predominant, energetic, active ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] g97gppjhu306dk6phyu0a5efsv0vwrb tacluus 0 7682 23139 2023-02-21T12:48:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacluus''' === Tarjumaad === * {{en}}: epidemic, pandemic 23139 wikitext text/x-wiki {{-so-}} == Magac == '''tacluus''' === Tarjumaad === * {{en}}: epidemic, pandemic md4c3v4vbxhhvwl4qwar2tw2xp3vpdp sagaaro 0 7683 29927 29925 2024-08-15T15:51:50Z Girligaanshub 3150 29927 wikitext text/x-wiki {{-so-}} == Magac == '''sagaaro''' === Tarjumaad === * {{en}}: dik-dik 24w176vz8uk6yak0my6d7yqt9036cgb daawac 0 7684 27167 23144 2024-04-16T07:05:07Z Girligaanshub 3150 27167 wikitext text/x-wiki {{-so-}} == Magac == '''daawac''' === Tarjumaad === * {{en}}: injury adrn66fys6nkb0cf165lwvzfm236qpr hir 0 7685 23147 2023-02-25T08:58:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hir''' === Tarjumaad === * {{en}}: wave, sea-wave, surf, current, tide, billow, sea ripple 23147 wikitext text/x-wiki {{-so-}} == Magac == '''hir''' === Tarjumaad === * {{en}}: wave, sea-wave, surf, current, tide, billow, sea ripple 1sh8e4sqmcbr7hugf1aamsgkrx4ju8j wadareed 0 7686 23148 2023-02-26T07:25:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadareed''' === Tarjumaad === * {{en}}: collective, mass 23148 wikitext text/x-wiki {{-so-}} == Magac == '''wadareed''' === Tarjumaad === * {{en}}: collective, mass qdokj90crsdofly0r51mt0cum9gunsb asaag 0 7687 32516 30107 2024-11-18T10:52:07Z Girligaanshub 3150 32516 wikitext text/x-wiki {{-so-}} == Magac == '''asaag''' === Tarjumaad === * {{en}}: peer, coequal, match, social equivalent, equal, contemporary, fellow, equivalent generation * {{en}}: level, ===Synonyms=== *[[asaag]], [[fidsan]], [[balac]] egye4mk9oggzhism956qpjxk8hfngia qaacid 0 7688 32083 29318 2024-10-28T03:45:01Z Girligaanshub 3150 32083 wikitext text/x-wiki {{-so-}} == Magac == '''qaacid''' === Tarjumaad === * {{en}}: system, process, * {{en}}: base, source ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]] rsx4l5jptpek4xf0puzxegjkutz3z61 aasaasi 0 7691 23157 2023-03-03T12:47:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aasaasi''' === Tarjumaad === * {{en}}: basic, foundational 23157 wikitext text/x-wiki {{-so-}} == Magac == '''aasaasi''' === Tarjumaad === * {{en}}: basic, foundational hk34hdxght3b7qbj65rkna2lld2xi3h mukhadaraat 0 7696 25090 23164 2023-09-22T17:40:03Z Girligaanshub 3150 25090 wikitext text/x-wiki {{-so-}} == Magac == '''mukhadaraat''' === Tarjumaad === * {{en}}: recreational drugs ===Synonyms=== *[[maandoor]], [[mukhadaraat]], [[qabatinka]], [[balwad]] 91n3bmnfb1lkvjtkxrc89dyed1h249k shaqaaqo 0 7697 31648 31644 2024-10-19T17:08:18Z Girligaanshub 3150 31648 wikitext text/x-wiki {{-so-}} == Magac == '''shaqaaqo''' === Tarjumaad === * {{en}}: disturbance, agitation, disorder, controversy ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] il14219p2xplhkudjhc199cq1mzk5tj xurmad 0 7699 23167 2023-03-07T02:35:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xurmad''' === Tarjumaad === * {{en}}: honour, 23167 wikitext text/x-wiki {{-so-}} == Magac == '''xurmad''' === Tarjumaad === * {{en}}: honour, gu34qhpp9pzzp1xs245pn2md4nvmuog xurmadle 0 7700 31226 31189 2024-10-04T14:41:48Z Girligaanshub 3150 31226 wikitext text/x-wiki {{-so-}} == Magac == '''xurmadle''' === Tarjumaad === * {{en}}: honorable, dignified, noble, ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], 2uffb1281gsgqh01i7y0cb94rgzyeth SSC 0 7701 23169 2023-03-07T03:23:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''SSC''' === Tarjumaad === * {{en}}: Sool, Sanaag & Cayn; Maakhir & Darawiishland 23169 wikitext text/x-wiki {{-so-}} == Magac == '''SSC''' === Tarjumaad === * {{en}}: Sool, Sanaag & Cayn; Maakhir & Darawiishland 3xmh291kb5c9o2m5aet8313gyoxuyw5 dabargooyn 0 7702 23170 2023-03-07T15:32:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabargooyn''' === Tarjumaad === * {{en}}: extermination, massacre, holocaust 23170 wikitext text/x-wiki {{-so-}} == Magac == '''dabargooyn''' === Tarjumaad === * {{en}}: extermination, massacre, holocaust 6uavn8b9uqm713u1yrmfx86vl82kfiv huwan 0 7703 24291 23171 2023-08-18T03:00:54Z Girligaanshub 3150 24291 wikitext text/x-wiki {{-so-}} == Magac == '''huwan''' === Tarjumaad === * {{en}}: conglomeration, assortment, coalition * {{en}}: cover, shroud 57lkxgkynpts78m7it5026252yzecqx nijaas 0 7704 23172 2023-03-08T11:34:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nijaas''' === Tarjumaad === * {{en}}: ritually impure, racially impure, tribally impure 23172 wikitext text/x-wiki {{-so-}} == Magac == '''nijaas''' === Tarjumaad === * {{en}}: ritually impure, racially impure, tribally impure iwox90q256l7k6gcn2buig7332v7nm9 janabah 0 7705 23177 23173 2023-03-10T04:58:00Z Girligaanshub 3150 23177 wikitext text/x-wiki {{-so-}} == Magac == '''janabah''' === Tarjumaad === * {{en}}: ritually impure, racially impure, tribally impure * {{en}}: grool, vaginal secretion, vaginal lubrication, vaginal gushing 4r5kutmjqrs2953lv8jni7i9zs7ydzo manhaj 0 7706 30858 23726 2024-09-22T17:44:38Z Girligaanshub 3150 30858 wikitext text/x-wiki {{-so-}} == Magac == '''manhaj''' === Tarjumaad === * {{en}}: curriculum, syllabus, theme, module, programme ===Synonyms=== *[[tarbiyad]], [[barbaarinta]], [[manhaj]] n9ga0gxod0ed5rvfnh6n0luuoyahc2g dhufeys 0 7707 23176 2023-03-10T03:42:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhufeys''' === Tarjumaad === * {{en}}: trench 23176 wikitext text/x-wiki {{-so-}} == Magac == '''dhufeys''' === Tarjumaad === * {{en}}: trench 8ne0zd47dovzegipdta8grmeczxjge4 magarato 0 7708 23178 2023-03-10T19:34:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magarato''' === Tarjumaad === * {{en}}: clueless, ignorant, illiterate 23178 wikitext text/x-wiki {{-so-}} == Magac == '''magarato''' === Tarjumaad === * {{en}}: clueless, ignorant, illiterate aqe4c20fq2hoj7pmmrcrnu2iprrurf8 gablan 0 7709 23979 23179 2023-07-18T21:35:16Z Girligaanshub 3150 23979 wikitext text/x-wiki {{-so-}} == Magac == '''gablan''' === Tarjumaad === * {{en}}: infertile, childfree, nulliparous, Antinatalism, antinatalist, anti-natalism, anti-natalist pzolix5a1mtap5wmpcs68ond2kfo276 User:KernelFreeze 2 7710 23183 2023-03-11T10:36:39Z Taketa 1434 Taketa moved page [[User:KernelFreeze]] to [[User:Renamed user 9thz5duyuxms]]: Automatically moved page while renaming the user "[[Special:CentralAuth/KernelFreeze|KernelFreeze]]" to "[[Special:CentralAuth/Renamed user 9thz5duyuxms|Renamed user 9thz5duyuxms]]" 23183 wikitext text/x-wiki #REDIRECT [[User:Renamed user 9thz5duyuxms]] 2zvnuozw835rjni0fqkzoxsvv1x5jj6 User:KernelFreeze/common.js 2 7711 23182 2023-03-11T10:36:39Z Taketa 1434 Taketa moved page [[User:KernelFreeze/common.js]] to [[User:Renamed user 9thz5duyuxms/common.js]]: Automatically moved page while renaming the user "[[Special:CentralAuth/KernelFreeze|KernelFreeze]]" to "[[Special:CentralAuth/Renamed user 9thz5duyuxms|Renamed user 9thz5duyuxms]]" 23182 javascript text/javascript /* #REDIRECT */mw.loader.load("//so.wiktionary.org/w/index.php?title=User:Renamed_user_9thz5duyuxms/common.js\u0026action=raw\u0026ctype=text/javascript"); 9g2cf79sxgh9ldgzq6x5ulmukbbu86v maamus 0 7714 23189 2023-03-13T16:13:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maamus''' === Tarjumaad === * {{en}}: oversee, administer, superintend, carry out 23189 wikitext text/x-wiki {{-so-}} == Magac == '''maamus''' === Tarjumaad === * {{en}}: oversee, administer, superintend, carry out ddgr8q7xnr08529kzs57n2sacsxxjl2 fidmeey 0 7715 25872 25870 2023-11-12T05:31:39Z Girligaanshub 3150 25872 wikitext text/x-wiki {{-so-}} == Magac == '''fidmeey''' === Tarjumaad === * {{en}}: lay out, declared, brought forth, * Ingiriis: attached, adhered, latched, hitched, linked, affixed, tacked, appended 5zp3oqc1pwwyud2x4hwv3etk7yhow6h baroor 0 7716 29686 29373 2024-08-07T17:57:42Z Girligaanshub 3150 29686 wikitext text/x-wiki {{-so-}} == Magac == '''baroor''' === Tarjumaad === * {{en}}: lamentation, lament, trauma, traumatized, sorrow, grief, grieving, sadness, disenchanted, disgruntled, dissatisfied, distressed, down, downcast, downhearted, hopeless, unhappy, unsatisfied, upset * striped coat, spotted coat, marked coat, mixed colors, multi color ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[arami]], [[baroor]], [[dhaliil]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[baroor]], [[baroordiiq]] kemuefcb195uvwk1br18vsf6918c62w lamataabtaan 0 7717 30519 24780 2024-09-05T20:33:15Z Girligaanshub 3150 30519 wikitext text/x-wiki {{-so-}} == Magac == '''lamataabtaan''' === Tarjumaad === * {{en}}: inviolable, sacrosanct, sacred, holy, ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]], [[jisir]] lhley9kczle6520nyr7x1p8k5i3wrlw jamahiir 0 7718 25998 25997 2023-11-19T15:42:50Z Girligaanshub 3150 25998 wikitext text/x-wiki {{-so-}} == Magac == '''jamahiir''' === Tarjumaad === * {{en}}: populist, populist republican, crowds, crowd * {{en}}: community ===Synonyms=== *[[jaahur]], [[jamahiir]], [[jaamac]] m39z7laq2b0nkb56ufiy0gsq0vezm94 xaqiiq 0 7720 31735 23198 2024-10-21T06:24:11Z Girligaanshub 3150 31735 wikitext text/x-wiki {{-so-}} == Magac == '''xaqiiq''' === Tarjumaad === * {{en}}: fact, correct, accurate, right, precise o6pk7gl7y8mmslp429dpxh4o4xcylqh kala-sooc 0 7722 23879 23200 2023-06-28T01:51:36Z Girligaanshub 3150 23879 wikitext text/x-wiki {{-so-}} == Magac == '''kala-sooc''' === Tarjumaad === * {{en}}: differentiate, socially stratify jjqsumcp556ww599m0pqcqx0d66d8e7 dashiike 0 7723 23201 2023-03-24T19:08:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dashiike''' === Tarjumaad === * {{en}}: autocannon, machine cannon, heavy machine gun 23201 wikitext text/x-wiki {{-so-}} == Magac == '''dashiike''' === Tarjumaad === * {{en}}: autocannon, machine cannon, heavy machine gun dt6xawlqbiipfpaxwq667kbdwzngozf xarago 0 7724 23202 2023-03-24T23:22:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xarago''' === Tarjumaad === * {{en}}: painstaking, meticulous, scrupulous, integrity, elegant, graceful, refined, sensible, 23202 wikitext text/x-wiki {{-so-}} == Magac == '''xarago''' === Tarjumaad === * {{en}}: painstaking, meticulous, scrupulous, integrity, elegant, graceful, refined, sensible, ljnev8qeyokmsadh4wp7t4yf009cjfh xaragaysan 0 7725 23203 2023-03-24T23:24:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaragaysan''' === Tarjumaad === * {{en}}: painstakingly, meticulously, scrupulously, integrity, elegant, graceful, refined, sensible, virtuous, 23203 wikitext text/x-wiki {{-so-}} == Magac == '''xaragaysan''' === Tarjumaad === * {{en}}: painstakingly, meticulously, scrupulously, integrity, elegant, graceful, refined, sensible, virtuous, r6o6eij0jxa8cxb7gzu2mrzykma0e9v duur-joog 0 7729 23208 2023-03-28T12:28:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duurjoog''' === Tarjumaad === * {{en}}: undomesticated, wild 23208 wikitext text/x-wiki {{-so-}} == Magac == '''duurjoog''' === Tarjumaad === * {{en}}: undomesticated, wild js28yxvp5k0zmf2n5sycsnx42bak9zz gumburi 0 7730 23212 23209 2023-03-28T12:54:33Z Girligaanshub 3150 23212 wikitext text/x-wiki {{-so-}} == Magac == '''gumburi''' === Tarjumaad === * {{en}}: African wild ass, african wild donkey aygfex7izg050so7wd17bs3yjxoqpb9 anaqob 0 7731 29522 23210 2024-08-05T02:46:55Z Girligaanshub 3150 Bog loo bedeley [[caanoqub]] 29522 wikitext text/x-wiki #redirect [[caanoqub]] 5x1jbuw6vt8d3tgss66o5h6090ivurk goroyo 0 7732 23213 2023-03-28T13:06:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goroyo''' === Tarjumaad === * {{en}}: ostrich 23213 wikitext text/x-wiki {{-so-}} == Magac == '''goroyo''' === Tarjumaad === * {{en}}: ostrich e9w83s7i8gnw599r2qvmlsgp0uep1n2 rah 0 7733 23214 2023-03-28T13:08:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rah''' === Tarjumaad === * {{en}}: frog 23214 wikitext text/x-wiki {{-so-}} == Magac == '''rah''' === Tarjumaad === * {{en}}: frog m91sgbk3n4oxz71852x9ctmamfqful7 quraanjo 0 7734 23215 2023-03-28T13:09:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quraanjo''' === Tarjumaad === * {{en}}: ant 23215 wikitext text/x-wiki {{-so-}} == Magac == '''quraanjo''' === Tarjumaad === * {{en}}: ant 8vg09om4lh9a3rcavubssz02ud5kxs9 hal-abuur 0 7735 28256 28249 2024-06-14T11:55:21Z Girligaanshub 3150 28256 wikitext text/x-wiki {{-so-}} == Magac == '''hal-abuur''' === Tarjumaad === * {{en}}: innovate, creative, innovation, innovative, invent ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] nnlkn8hy6s0w1zy94fy52hal42oxafl sarbeeb 0 7737 30205 29326 2024-08-24T12:11:08Z Girligaanshub 3150 30205 wikitext text/x-wiki {{-so-}} == Magac == '''sarbeeb''' === Tarjumaad === * {{en}}: metaphor, euphemism, innuendo, double entendre ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]], [[dadban]] ===Antonyms=== *[[badheedh]], [[foolka-fool]] plceqfko1vttv2btnpz8yj3c1kcapp1 xudunta meeraha 0 7738 23219 2023-03-28T13:35:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xudunta meeraha''' === Tarjumaad === * {{en}}: planetary core 23219 wikitext text/x-wiki {{-so-}} == Magac == '''xudunta meeraha''' === Tarjumaad === * {{en}}: planetary core ay9exo3zp7scj0lss2wez8bo563fc61 qaan wadareed 0 7739 23223 2023-03-28T13:44:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaan wadareed''' === Tarjumaad === * {{en}}: collective responsibility 23223 wikitext text/x-wiki {{-so-}} == Magac == '''qaan wadareed''' === Tarjumaad === * {{en}}: collective responsibility r398wdwddkh2q6v93acud584kc1b869 fasaraad 0 7740 23224 2023-03-28T13:58:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fasaraad''' === Tarjumaad === * {{en}}: interpretation 23224 wikitext text/x-wiki {{-so-}} == Magac == '''fasaraad''' === Tarjumaad === * {{en}}: interpretation emcp6fc6px76wwen5t7yecmdd10oakf fasirka 0 7741 23225 2023-03-28T13:58:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fasirka''' === Tarjumaad === * {{en}}: interpretation 23225 wikitext text/x-wiki {{-so-}} == Magac == '''fasirka''' === Tarjumaad === * {{en}}: interpretation 87f1mzgq7n38n3crbsun5o1gp0sgjrl takoor da'da 0 7742 23226 2023-03-28T14:00:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''takoor da'da''' === Tarjumaad === * {{en}}: ageism 23226 wikitext text/x-wiki {{-so-}} == Magac == '''takoor da'da''' === Tarjumaad === * {{en}}: ageism sdhjiv4kn0rh7xaiiog0hrtdo2nlvzw takoor jinsi 0 7743 23227 2023-03-28T14:00:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''takoor jinsi''' === Tarjumaad === * {{en}}: sexism 23227 wikitext text/x-wiki {{-so-}} == Magac == '''takoor jinsi''' === Tarjumaad === * {{en}}: sexism 73timbbh2hkm0p6urco0ua333u9hpo1 masiibo 0 7744 28222 28204 2024-06-13T19:40:53Z Girligaanshub 3150 28222 wikitext text/x-wiki {{-so-}} == Magac == '''masiibo''' === Tarjumaad === * {{en}}: disaster, catastrophe ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] qzojoyoji6pfbtucamwzcyoly25na5r halaag 0 7745 29723 28220 2024-08-09T00:45:20Z Girligaanshub 3150 29723 wikitext text/x-wiki {{-so-}} == Magac == '''halaag''' === Tarjumaad === * {{en}}: natural disaster * {{en}}: apocalyptic, cataclysmic, hyperbolic, apocalypse, cataclysm, hyperbole ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] i18y0fz55ga7mvwh4w9lwsu0zusn5ll galroobaad 0 7746 23230 2023-03-28T14:12:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galroobaad''' === Tarjumaad === * {{en}}: reservoir 23230 wikitext text/x-wiki {{-so-}} == Magac == '''galroobaad''' === Tarjumaad === * {{en}}: reservoir qsmlpo6r5jynyhico438ubnnfvk7ngl siraad 0 7747 23231 2023-03-28T15:46:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siraad''' === Tarjumaad === * {{en}}: lantern, beacon, flare * term of endearment 23231 wikitext text/x-wiki {{-so-}} == Magac == '''siraad''' === Tarjumaad === * {{en}}: lantern, beacon, flare * term of endearment 3bez5xqmag7k5ctalue4xg4g0iqjwhr cawaarso 0 7749 23233 2023-03-29T07:15:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cawaarso''' === Tarjumaad === * {{en}}: sap, tree sap 23233 wikitext text/x-wiki {{-so-}} == Magac == '''cawaarso''' === Tarjumaad === * {{en}}: sap, tree sap 03pcura85vtkhzwmalw4swg3ah3s71a dhacaan 0 7750 23234 2023-03-29T07:15:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhacaan''' === Tarjumaad === * {{en}}: liquid 23234 wikitext text/x-wiki {{-so-}} == Magac == '''dhacaan''' === Tarjumaad === * {{en}}: liquid gou1q3qp5aa9u5m387rveanzynyd1id wadareednimo 0 7751 31500 31038 2024-10-13T01:49:43Z Girligaanshub 3150 31500 wikitext text/x-wiki {{-so-}} == Magac == '''wadareednimo''' === Tarjumaad === * {{en}}: collectivism, communism, socialism, totalitarianism, bolshevism, leninism, marxism, leftism, welfarism, ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], lzzii6bk5n93f2xa7maz7cdtkarhjjo daandaan 0 7752 23238 2023-03-29T07:52:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daandaan''' === Tarjumaad === * {{en}}: rock, boulder 23238 wikitext text/x-wiki {{-so-}} == Magac == '''daandaan''' === Tarjumaad === * {{en}}: rock, boulder agez5z2li819pg5a0rbnbcf80qx93wz siraadeey 0 7753 23239 2023-03-30T01:10:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siraadeey''' === Tarjumaad === * {{en}}: baby, dear, dearest, honey, 23239 wikitext text/x-wiki {{-so-}} == Magac == '''siraadeey''' === Tarjumaad === * {{en}}: baby, dear, dearest, honey, m5rh2lsj38la38n0r6lgaf7qeg467ox boqran 0 7755 31230 31220 2024-10-04T14:42:24Z Girligaanshub 3150 31230 wikitext text/x-wiki {{-so-}} == Magac == '''boqran''' === Tarjumaad === * {{en}}: esteemed, kingly, regal, royal, magnificent, monarchic, noble, monarchical, ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], e6lz90kmgdlkxzc8gbbi7c0lsg4rjf5 macluumad 0 7759 32492 31983 2024-11-16T19:50:17Z Girligaanshub 3150 32492 wikitext text/x-wiki {{-so-}} == Magac == '''macluumad''' === Tarjumaad === * {{en}}: info, information, knowledge ===Synonyms=== *[[macluumad]], [[wargelin]], [[warmurtiyeed]], [[ogeysiis]], 6l3lwz3c1jhdh91zm3ebrhsw66ua5tf uureey 0 7760 23247 23246 2023-04-05T20:13:11Z Girligaanshub 3150 23247 wikitext text/x-wiki {{-so-}} == Magac == '''uureey''' === Tarjumaad === * {{en}}: impregnate, inseminate e5zzthbg80aqd6jj3w82ecz1eu0y230 uur 0 7761 31052 23248 2024-10-02T16:36:05Z Girligaanshub 3150 31052 wikitext text/x-wiki {{-so-}} == Magac == '''uur''' === Tarjumaad === * {{en}}: uterus, 3t7fxoiihbh41lvzqymxg8xxhg8phqk guux 0 7763 26140 25233 2023-12-01T04:29:24Z Girligaanshub 3150 26140 wikitext text/x-wiki {{-so-}} == Magac == '''guux''' === Tarjumaad === * {{en}}: grunt ===Synonyms=== *[[takbir]], [[himhimo]], [[guux]] qyr8safhpgpadgg04vysnworz7xwozg firfircoon 0 7764 32435 31934 2024-11-15T07:14:59Z Girligaanshub 3150 32435 wikitext text/x-wiki {{-so-}} == Magac == '''firfircoon''' === Tarjumaad === * {{en}}: proactive, activity, active, dynamic, expressive, energetic, bold, audacious, ===Synonyms=== *[[firfircoon]], [[tamar]], [[mintid]], [[doorbidka]], [[la-loodin]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] gteh68f7w59llh77z68xu0a4ranj79z dalbasho 0 7765 23254 2023-04-07T14:33:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalbasho''' === Tarjumaad === * {{en}}: proposal, order, request, apply, 23254 wikitext text/x-wiki {{-so-}} == Magac == '''dalbasho''' === Tarjumaad === * {{en}}: proposal, order, request, apply, 2xe7lfh4f4eia9u0xvmi8nrwqvdhv4c suqaar 0 7766 24350 23255 2023-08-23T13:05:21Z Girligaanshub 3150 24350 wikitext text/x-wiki {{-so-}} == Magac == '''suqaar''' === Tarjumaad === * hypnotism, hypnotic femme fatale, hypnotic vamp, hypnotic seducer, * {{en}}: meat stew, hmc7m0dcuqq8njjx9kc50qmyytv4e8i canaasiirta 0 7767 32185 27535 2024-10-31T22:59:22Z Girligaanshub 3150 32185 wikitext text/x-wiki {{-so-}} == Magac == '''canaasiirta''' === Tarjumaad === * {{en}}: faction, factions, properties, features, aspects, facets, elements, ===Synonym=== *[[canaasiirta]], [[jabhad]] jkfmowoyw76y2aayqmumbmi5za0pzq9 canaasiir 0 7768 31176 27534 2024-10-04T13:47:42Z Girligaanshub 3150 31176 wikitext text/x-wiki {{-so-}} == Magac == '''canaasiir''' === Tarjumaad === * {{en}}: faction, facets, elements, customs, ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] l55olmozhifmbafetb1liely1577uft eedaysane 0 7769 23258 2023-04-09T20:33:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eedaysane''' === Tarjumaad === * {{en}}: culprit, accused, implicated, litigant, suspect, plaintiff, appellant, defendant 23258 wikitext text/x-wiki {{-so-}} == Magac == '''eedaysane''' === Tarjumaad === * {{en}}: culprit, accused, implicated, litigant, suspect, plaintiff, appellant, defendant fe608jixo3rl4sso0c8g3c27v1rzsyj qaniimo 0 7770 24768 24118 2023-09-05T20:22:58Z Girligaanshub 3150 24768 wikitext text/x-wiki {{-so-}} == Magac == '''qaniimo''' === Tarjumaad === * {{en}}: loot, pillage, plunder, profit, prize, booty, treasure, hustle, swindle, capitalize, capitalistic endeavour, lay claim, adduce, sequester, arrogate ===Synonyms=== *[[hanteey]] 0735qgrh21xrdu7gqfxjas3p2j55acv curudka 0 7771 23260 2023-04-10T02:09:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''curudka''' === Tarjumaad === * {{en}}: Primogeniture, first born child, firstborn son, primogenitureship, primogenitary, primogenital, 23260 wikitext text/x-wiki {{-so-}} == Magac == '''curudka''' === Tarjumaad === * {{en}}: Primogeniture, first born child, firstborn son, primogenitureship, primogenitary, primogenital, afni3a7f785fidkbl52neu0o7tgd7x5 buundo 0 7772 23261 2023-04-10T04:29:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buundo''' === Tarjumaad === * {{en}}: bridge 23261 wikitext text/x-wiki {{-so-}} == Magac == '''buundo''' === Tarjumaad === * {{en}}: bridge nyom3aq9zi94uj7vqloyjq5qzjcu85f kabalyeeri 0 7773 23262 2023-04-11T07:11:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabalyeeri''' === Tarjumaad === * {{en}}: servant, waiter, barista, bartender, butler, attendant, 23262 wikitext text/x-wiki {{-so-}} == Magac == '''kabalyeeri''' === Tarjumaad === * {{en}}: servant, waiter, barista, bartender, butler, attendant, 9j2tupf3vw4byhgsxy8vpatdg3n4omi calmaanida 0 7774 23263 2023-04-11T08:36:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calmaanida''' === Tarjumaad === * {{en}}: secularism 23263 wikitext text/x-wiki {{-so-}} == Magac == '''calmaanida''' === Tarjumaad === * {{en}}: secularism c93wc3xxz4w5krwfk8cbgh8hlr8622i calmaani 0 7775 31502 29170 2024-10-13T01:50:09Z Girligaanshub 3150 31502 wikitext text/x-wiki {{-so-}} == Magac == '''calmaani''' === Tarjumaad === * {{en}}: secular, liberal ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] 8qflj9g6elfbnofr6n8m2izsxjgn3rw gun 0 7776 23265 2023-04-11T12:41:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gun''' === Tarjumaad === * {{en}}: lowly, debased, degraded, proletarian, riffraff, untouchable, dishonor, ignoble, abject, sordid 23265 wikitext text/x-wiki {{-so-}} == Magac == '''gun''' === Tarjumaad === * {{en}}: lowly, debased, degraded, proletarian, riffraff, untouchable, dishonor, ignoble, abject, sordid ncmq7prthmazz9r1vfet9x176x7bawg horgalnimo 0 7777 31782 28537 2024-10-25T20:44:56Z Girligaanshub 3150 31782 wikitext text/x-wiki {{-so-}} == Magac == '''horgalnimo''' === Tarjumaad === * {{en}}: turncoat, docile * {{en}}: sockpuppet, agent, sockpuppetting, sockpuppetting, stooge, shill, astroturfer, plant, turncoat, traitor, astroturfing, fifth column, false flagger, oikophobia, agent, sockpuppet, stooge, shill, astroturfer, plant, informant, oikophobe, enabler, codependent ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] h95psf2398vqzuyqnxos7v66et81rhw dhiidhinta 0 7778 30946 29854 2024-09-27T04:48:47Z Girligaanshub 3150 30946 wikitext text/x-wiki {{-so-}} == Magac == '''dhiidhiinta''' === Tarjumaad === * {{en}}: retaliation, rejection, rebuke, rebuff, repulse, rebuff, repudiation, spurn, reprimand, repel, confrontation, counteract, reject, ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] l6zh24ihlj992zefmlux6l2m34wpp6x cawro 0 7779 23272 2023-04-14T18:14:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cawro''' === Tarjumaad === * {{en}}: genitalia, private parts 23272 wikitext text/x-wiki {{-so-}} == Magac == '''cawro''' === Tarjumaad === * {{en}}: genitalia, private parts ex3rlp25vy6lk24ldkg3udz8ww5dvwf hinraag 0 7780 23273 2023-04-15T11:25:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hinraag''' === Tarjumaad === * {{en}}: panting, huffing, puffing, wheeze, heave, 23273 wikitext text/x-wiki {{-so-}} == Magac == '''hinraag''' === Tarjumaad === * {{en}}: panting, huffing, puffing, wheeze, heave, dfmax7f386onv9a5ctfqz1caffzitbi deldel 0 7781 23274 2023-04-15T11:34:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deldel''' === Tarjumaad === * {{en}}: hang, 23274 wikitext text/x-wiki {{-so-}} == Magac == '''deldel''' === Tarjumaad === * {{en}}: hang, nvawwxffmm9z6a6fyqhobhbigf8bmis kalluunley 0 7782 23275 2023-04-15T11:39:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalluunley''' === Tarjumaad === * {{en}}: fisher, 23275 wikitext text/x-wiki {{-so-}} == Magac == '''kalluunley''' === Tarjumaad === * {{en}}: fisher, n6oza7dgtut8ktonw2kbcvc9kym3c1m giigsan 0 7783 29441 29440 2024-08-03T23:57:53Z Girligaanshub 3150 29441 wikitext text/x-wiki {{-so-}} == Magac == '''giigsan''' === Tarjumaad === * {{en}}: tense, flexed, taut, tension, tight, strained, strain, stiff, skintight, ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]], [[qalafsan]] 73ntopeuaqnc93rejwwst219mwutt3z rif 0 7784 23279 2023-04-15T11:46:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rif''' === Tarjumaad === * {{en}}: pluck, 23279 wikitext text/x-wiki {{-so-}} == Magac == '''rif''' === Tarjumaad === * {{en}}: pluck, 0vfurvju3bmpo7ue72psxce6jrezrkl qanjiiri 0 7785 30471 23280 2024-09-04T01:55:10Z Girligaanshub 3150 30471 wikitext text/x-wiki {{-so-}} == Magac == '''qanjiiri''' === Tarjumaad === * {{en}}: pinch, sting iw0xdoimo7arbff26xp1p77ldtd0gnx jiis 0 7786 25418 23281 2023-10-18T13:57:17Z Girligaanshub 3150 25418 wikitext text/x-wiki {{-so-}} == Magac == '''jiis''' === Tarjumaad === * {{en}}: cripple, paralyzed ===Synonyms=== *[[langarre]] hi0jzwm0dsnik2ilzbigc3fpjm50pdx langadh 0 7787 23282 2023-04-15T11:49:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''langadh''' === Tarjumaad === * {{en}}: lame, 23282 wikitext text/x-wiki {{-so-}} == Magac == '''langadh''' === Tarjumaad === * {{en}}: lame, i5sthuo2b35kq1s8uih2adxf4tm2i0h langadhe 0 7788 23283 2023-04-15T11:50:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''langadhe''' === Tarjumaad === * {{en}}: lame person, 23283 wikitext text/x-wiki {{-so-}} == Magac == '''langadhe''' === Tarjumaad === * {{en}}: lame person, 02gnh0eaxkfx3zb1fd1gw42cm7yxqzl canaan 0 7789 23284 2023-04-15T11:51:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''canaan''' === Tarjumaad === * {{en}}: rebuke, rebuff, repulse, rebuff, repudiation, spurn, retaliation, reprimand, repel, 23284 wikitext text/x-wiki {{-so-}} == Magac == '''canaan''' === Tarjumaad === * {{en}}: rebuke, rebuff, repulse, rebuff, repudiation, spurn, retaliation, reprimand, repel, jofc9f86bj2zwytrdz1w5v6lsjl0q35 dheri 0 7790 23287 23286 2023-04-15T11:53:59Z Girligaanshub 3150 23287 wikitext text/x-wiki {{-so-}} == Magac == '''dheri''' === Tarjumaad === * {{en}}: pot, clay-pot, clay i2ni5wxt2z8or3rukqi9zdpgwnah3fm sabbayn 0 7791 23290 2023-04-15T13:53:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sabbayn''' === Tarjumaad === * {{en}}: float, floating 23290 wikitext text/x-wiki {{-so-}} == Magac == '''sabbayn''' === Tarjumaad === * {{en}}: float, floating 2l2a9k2p9ui97hezggjy3dek5ixbtcb yeelsii 0 7792 23291 2023-04-15T13:59:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yeelsii''' === Tarjumaad === * {{en}}: persuade 23291 wikitext text/x-wiki {{-so-}} == Magac == '''yeelsii''' === Tarjumaad === * {{en}}: persuade rxcb575qb4oc3mck4ffvahyqvyw02rg gabbaldhac 0 7793 23292 2023-04-15T14:41:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabbaldhac''' === Tarjumaad === * {{en}}: twilight 23292 wikitext text/x-wiki {{-so-}} == Magac == '''gabbaldhac''' === Tarjumaad === * {{en}}: twilight ea3kxcsmreo34ohib548nbviu55vqkh daraf 0 7794 23293 2023-04-15T18:09:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daraf''' === Tarjumaad === * {{en}}: edge, periphery 23293 wikitext text/x-wiki {{-so-}} == Magac == '''daraf''' === Tarjumaad === * {{en}}: edge, periphery 8rb313xy6sty2ilbwmy7vxpv6on1lcq barar 0 7795 29570 23294 2024-08-06T00:59:52Z Girligaanshub 3150 29570 wikitext text/x-wiki {{-so-}} == Magac == '''barar''' === Tarjumaad === * {{en}}: swell * {{en}}: swag sr6g6vjnb3scyfoptkhc9nhyswkuq9a baji 0 7796 25046 25016 2023-09-22T15:04:44Z Girligaanshub 3150 25046 wikitext text/x-wiki {{-so-}} == Magac == '''baji''' === Tarjumaad === * {{en}}: startle, surprise, perturb, unsettle, scare ===Synonyms=== *[[anfariir]], [[baji]], [[bardad]] jnmefme5kqq1inqro3ptttaqdwhj8z0 simbiriirix 0 7797 23296 2023-04-15T19:04:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''simbiriirix''' === Tarjumaad === * {{en}}: slide, sliding 23296 wikitext text/x-wiki {{-so-}} == Magac == '''simbiriirix''' === Tarjumaad === * {{en}}: slide, sliding kv359ouok1caqxtm68i9sz1vtwcf894 aroosad 0 7798 23297 2023-04-15T19:28:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aroosad''' === Tarjumaad === * {{en}}: bride 23297 wikitext text/x-wiki {{-so-}} == Magac == '''aroosad''' === Tarjumaad === * {{en}}: bride tb6lcc2rvgreqlo9mhdetbyzhojdth8 yarad 0 7799 23298 2023-04-15T19:35:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yarad''' === Tarjumaad === * {{en}}: bride-price, brideprice, dowry, dower 23298 wikitext text/x-wiki {{-so-}} == Magac == '''yarad''' === Tarjumaad === * {{en}}: bride-price, brideprice, dowry, dower lw00b6jhc7cchagk78pinazkv6tzff9 jiilaal 0 7800 32230 30192 2024-11-04T00:24:58Z Girligaanshub 3150 32230 wikitext text/x-wiki {{-so-}} == Magac == '''jiilaal''' === Tarjumaad === * {{en}}: dry season between December and March; winter sh1ad4p6wig0jnf7cq0hpohkc1pnd9w dhil 0 7801 23300 2023-04-15T19:52:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhil''' === Tarjumaad === * {{en}}: peel 23300 wikitext text/x-wiki {{-so-}} == Magac == '''dhil''' === Tarjumaad === * {{en}}: peel 01nhgbvv78a4v03onmg2vxz0mtz1rk4 tallaali 0 7802 29260 23301 2024-07-31T06:03:42Z Girligaanshub 3150 29260 wikitext text/x-wiki {{-so-}} == Magac == '''tallaali''' === Tarjumaad === * {{en}}: vaccinate, cure 1bux0q6ibf623j5vj4ne8k9r7qmh8bd daban 0 7803 23302 2023-04-15T20:22:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daban''' === Tarjumaad === * {{en}}: trapped 23302 wikitext text/x-wiki {{-so-}} == Magac == '''daban''' === Tarjumaad === * {{en}}: trapped ctojsrjyojoxi3y5tipdcorfdk02zz2 danbas 0 7804 23303 2023-04-15T20:25:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danbas''' === Tarjumaad === * {{en}}: ashes, dust, residue powder 23303 wikitext text/x-wiki {{-so-}} == Magac == '''danbas''' === Tarjumaad === * {{en}}: ashes, dust, residue powder nwdjfc8j6hyzacyp2ts58bl7kskscft khamiir 0 7805 23304 2023-04-15T20:26:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khamiir''' === Tarjumaad === * {{en}}: yeast 23304 wikitext text/x-wiki {{-so-}} == Magac == '''khamiir''' === Tarjumaad === * {{en}}: yeast rloeapt8wxgnsmddsno2ucsbbtt03yd cajiin 0 7806 23306 23305 2023-04-15T20:38:17Z Girligaanshub 3150 23306 wikitext text/x-wiki {{-so-}} == Magac == '''cajiin''' === Tarjumaad === * {{en}}: dough, pastry, knead dsgruwi7kz38o4ym4br0gnv5pgm6dmn milmi 0 7807 23307 2023-04-15T20:40:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''milmi''' === Tarjumaad === * {{en}}: dissolve, dissolved 23307 wikitext text/x-wiki {{-so-}} == Magac == '''milmi''' === Tarjumaad === * {{en}}: dissolve, dissolved 9xiwcg30j36974hup46fsc9tbvlbtcu xoon 0 7808 23308 2023-04-15T20:41:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoon''' === Tarjumaad === * {{en}}: wasp 23308 wikitext text/x-wiki {{-so-}} == Magac == '''xoon''' === Tarjumaad === * {{en}}: wasp 3y6492d3iiv7rohxltnvjwrx0x66yfl nirgadhoob 0 7809 23309 2023-04-15T20:50:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nirgadhoob''' === Tarjumaad === * {{en}}: hornet 23309 wikitext text/x-wiki {{-so-}} == Magac == '''nirgadhoob''' === Tarjumaad === * {{en}}: hornet lbsb17yctqhmvpc5hj6mxp5nlyzitda fool-maroodi 0 7810 23310 2023-04-15T20:50:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fool-maroodi''' === Tarjumaad === * {{en}}: ivory 23310 wikitext text/x-wiki {{-so-}} == Magac == '''fool-maroodi''' === Tarjumaad === * {{en}}: ivory 911y60z8m03m2lpsh0biz6916mo3f4q xaqaani 0 7811 32821 30636 2024-12-02T11:00:19Z Girligaanshub 3150 32821 wikitext text/x-wiki {{-so-}} == Magac == '''xaqaani''' === Tarjumaad === * {{en}}: impartial, neutral, unbiased, ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] m0x892gm42kpziefti8jaa2jtbippno carbuun 0 7812 23312 2023-04-15T20:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carbuun''' === Tarjumaad === * {{en}}: deposit 23312 wikitext text/x-wiki {{-so-}} == Magac == '''carbuun''' === Tarjumaad === * {{en}}: deposit 9urm3bfym2anhp0vak7mgl3128egk2a afaysan 0 7813 23313 2023-04-15T21:07:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afaysan''' === Tarjumaad === * {{en}}: sharp 23313 wikitext text/x-wiki {{-so-}} == Magac == '''afaysan''' === Tarjumaad === * {{en}}: sharp fn077oy9dzfcf081jwswi8949r1qscj shabaag 0 7814 23314 2023-04-15T21:20:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shabaag''' === Tarjumaad === * {{en}}: net, fish-net, fishnet 23314 wikitext text/x-wiki {{-so-}} == Magac == '''shabaag''' === Tarjumaad === * {{en}}: net, fish-net, fishnet 6izzsrxqv8yr2f4onhrhgat028mgtcu ruuga 0 7815 23315 2023-04-15T23:48:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruuga''' === Tarjumaad === * {{en}}: kneecap 23315 wikitext text/x-wiki {{-so-}} == Magac == '''ruuga''' === Tarjumaad === * {{en}}: kneecap gcy5sj5mwkpyardtc91cj1b9qdupsj8 bajin 0 7816 23316 2023-04-16T05:14:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baji''' === Tarjumaad === * {{en}}: startle, alarm, perturb, unsettled, anxiety, agitation, apprehension, consternation, unease, suspense, nervous, nervousness 23316 wikitext text/x-wiki {{-so-}} == Magac == '''baji''' === Tarjumaad === * {{en}}: startle, alarm, perturb, unsettled, anxiety, agitation, apprehension, consternation, unease, suspense, nervous, nervousness bnhcecsuz8pgw2jjsc48zng6oy4xp2i curud 0 7818 23320 2023-04-16T21:20:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''curuda''' === Tarjumaad === * {{en}}: eldest, oldest, primogeniture, first born child, firstborn son, primogenitureship, primogenitary, primogenital, 23320 wikitext text/x-wiki {{-so-}} == Magac == '''curuda''' === Tarjumaad === * {{en}}: eldest, oldest, primogeniture, first born child, firstborn son, primogenitureship, primogenitary, primogenital, oounhvxusmlv5bvcxn8r0zcc0k1r7ec maro-ku-dhegaysan 0 7819 23322 2023-04-16T22:45:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maro-ku-dheg''' === Tarjumaad === * {{en}}: uncompromising, hard-headed, intransigent, adamant, inflexible, obstinate, resolute, stubborn, tenacious, unyielding, unbending, inflexible, 23322 wikitext text/x-wiki {{-so-}} == Magac == '''maro-ku-dheg''' === Tarjumaad === * {{en}}: uncompromising, hard-headed, intransigent, adamant, inflexible, obstinate, resolute, stubborn, tenacious, unyielding, unbending, inflexible, 12aigcd92uyv3ecuq8saledf8b8f33r hirgasho 0 7822 23326 2023-04-20T06:06:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirgelasho''' === Tarjumaad === * {{en}}: implemented, actualized 23326 wikitext text/x-wiki {{-so-}} == Magac == '''hirgelasho''' === Tarjumaad === * {{en}}: implemented, actualized gutsb6vkbqpl463u21o1dfg7vp1n6nl halabuurnimo 0 7825 23331 2023-04-21T14:34:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halabuurnimo''' === Tarjumaad === * {{en}}: innovation 23331 wikitext text/x-wiki {{-so-}} == Magac == '''halabuurnimo''' === Tarjumaad === * {{en}}: innovation an5dahh057568gkn70c86892f4in9y9 halabuurnimada 0 7826 23381 23332 2023-05-05T21:42:50Z Girligaanshub 3150 23381 wikitext text/x-wiki {{-so-}} == Magac == '''halabuurnimada''' === Tarjumaad === * {{en}}: innovativeness, creativity sre077enz552k7p01n3rv390ayvjoma Template:bo 10 7827 23340 2023-04-23T03:17:45Z Apisite 3737 Bog cusub: Tibetan 23340 wikitext text/x-wiki Tibetan ga9p23rfduiewb2zzkzcemmvx068dk9 Template:sw 10 7828 23342 2023-04-23T03:24:10Z Apisite 3737 Bog cusub: Sawaaxili 23342 wikitext text/x-wiki Sawaaxili 2jia1ptnjn2zwdqy6g8ujb6qbc62rc4 Template:aa 10 7829 23345 2023-04-23T03:30:03Z Apisite 3737 Bog cusub: Cafari 23345 wikitext text/x-wiki Cafari nnzmjpehu293pll6vr9wk3h77rir6oa Template:rhg 10 7831 23353 2023-04-23T08:01:56Z Apisite 3737 Added a provisional term 23353 wikitext text/x-wiki Rohingya 4pc1j7npc5u8h8k14abxwh1la0vmbx1 qalasad 0 7832 23358 2023-04-24T01:01:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalasad''' === Tarjumaad === * {{en}}: alpha female, gigastacy, heroine, wonderwoman, superwoman, 23358 wikitext text/x-wiki {{-so-}} == Magac == '''qalasad''' === Tarjumaad === * {{en}}: alpha female, gigastacy, heroine, wonderwoman, superwoman, aikrjnrkps02qrgxkawb42ae8jio7re qalas 0 7833 31206 31204 2024-10-04T14:28:06Z Girligaanshub 3150 31206 wikitext text/x-wiki {{-so-}} == Magac == '''qalas''' === Tarjumaad === * {{en}}: robust, masculine, macho, manly, laddish, rugged, brawny, gigachad, don, G, alpha male, brave, hero ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] i85z8jw4xx9gqvejvqgxp12hiha2ihe dayouth 0 7834 31477 26677 2024-10-13T00:14:41Z Girligaanshub 3150 31477 wikitext text/x-wiki {{-so-}} == Magac == '''dayouth''' === Tarjumaad === * {{en}}: cuck, cuckold, apathetic person, indifferent, idle person, passive person, appeasing person, appeaser, conciliating person, complacent, complacency, apathy, defeatist, meek, Impostor Syndrome, inferiority complex, micromaniac, micromania, echoist, docile, agreeable, deferential, ===Antonyms=== *[[ghayrah-qabe]] ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], rjim7r87vezp5d9jph520uvfdgv9y18 xirfad 0 7840 26063 23385 2023-11-25T03:04:19Z Girligaanshub 3150 26063 wikitext text/x-wiki {{-so-}} == Magac == '''xirfad''' === Tarjumaad === * {{en}}: profession, skill, career ===Synonyms=== *[[xirfad]], [[karti]] inzj9f0o38c2f8v745s724x7hqoa4vc garyaqaan 0 7841 23386 2023-05-07T12:05:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garyaaan''' === Tarjumaad === * {{en}}: lawyer 23386 wikitext text/x-wiki {{-so-}} == Magac == '''garyaaan''' === Tarjumaad === * {{en}}: lawyer 817ub16g7ru7zigpvifao3abio1hdhy caleemasaar 0 7842 23387 2023-05-07T12:09:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caleemasaar''' === Tarjumaad === * {{en}}: inaugurate, inauguration, crown, crowning, coronation 23387 wikitext text/x-wiki {{-so-}} == Magac == '''caleemasaar''' === Tarjumaad === * {{en}}: inaugurate, inauguration, crown, crowning, coronation 5nlc4pjqz9s4jna6adzwij1qzpyg2t3 hoonbaro 0 7843 23388 2023-05-07T12:10:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoonbaro''' === Tarjumaad === * {{en}}: dolphin 23388 wikitext text/x-wiki {{-so-}} == Magac == '''hoonbaro''' === Tarjumaad === * {{en}}: dolphin q1jiw656mql6z3xtx3oifzc89ios0ml hirar 0 7844 23390 23389 2023-05-07T12:25:51Z Girligaanshub 3150 23390 wikitext text/x-wiki {{-so-}} == Magac == '''hirar''' === Tarjumaad === * {{en}}: waves, sea-waves, surfs, currents, tides, billows, sea ripples pv1x4z44uhzwz05m3c58kol9cskfpnk dhawdhawle 0 7845 23391 2023-05-07T12:33:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhawdhawle''' === Tarjumaad === * {{en}}: woodpecker, 23391 wikitext text/x-wiki {{-so-}} == Magac == '''dhawdhawle''' === Tarjumaad === * {{en}}: woodpecker, frkdjcnmzwp3cx859od0uwcjapy1ap8 daltabyo 0 7846 32687 23392 2024-11-30T09:04:58Z Girligaanshub 3150 32687 wikitext text/x-wiki {{-so-}} == Magac == '''daltabyo''' === Tarjumaad === * {{en}}: homesick, lonely, nostalgia ===Synonyms=== *[[waaheen]], [[arkijiredoon]], [[hilloow]], [[daltabyo]] l16edlsf5i7cet20u4hwcmetuubewd5 badeeco 0 7847 26449 23393 2023-12-26T13:43:12Z Girligaanshub 3150 26449 wikitext text/x-wiki {{-so-}} == Magac == '''badeeco''' === Tarjumaad === * {{en}}: item, commodity, object, thing, artefact, merchandise, product ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], ayksbsxvzytcxwmk6uvcmc4etucj1nx cagajugle 0 7848 28716 24924 2024-07-14T09:24:06Z Girligaanshub 3150 28716 wikitext text/x-wiki {{-so-}} == Magac == '''cagajugle''' === Tarjumaad === * {{en}}: bully ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[budhcad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] 31tmpl6j8jrcnzn6rtnl0e5ino8j5v3 cagajugleyn 0 7849 29507 29180 2024-08-04T23:44:23Z Girligaanshub 3150 29507 wikitext text/x-wiki {{-so-}} == Magac == '''cagajugleyn''' === Tarjumaad === * {{en}}: bullying, harassment, irritation ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] 2cljpvz28mgbh012k99gsgls2jzh9d4 hanfaafyuro 0 7850 30189 23396 2024-08-24T03:22:37Z Girligaanshub 3150 30189 wikitext text/x-wiki {{-so-}} == Magac == '''hanfaafyuto''' === Tarjumaad === * {{en}}: appetizer ===Synonyms=== *[[iidaan]], [[cuwaaf]], [[hanfaafyuro]] ifyx7jsenuoakwdniav9mcoe7f0os4u tahriibe 0 7851 23397 2023-05-07T12:56:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tahriibe''' === Tarjumaad === * {{en}}: migrant 23397 wikitext text/x-wiki {{-so-}} == Magac == '''tahriibe''' === Tarjumaad === * {{en}}: migrant tmj360yozzemcj5g84en41azepd8zul dayrta 0 7852 32228 30193 2024-11-04T00:23:50Z Girligaanshub 3150 32228 wikitext text/x-wiki {{-so-}} == Magac == '''dayrta''' === Tarjumaad === * {{en}}: autumn season ===Synonyms=== *[[dayrta]], [[deyr]] r129jloxxgrfvwscnxfu272hgv30oq6 toban gu'yo 0 7853 23399 2023-05-07T12:58:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toban gu'yo''' === Tarjumaad === * {{en}}: decades 23399 wikitext text/x-wiki {{-so-}} == Magac == '''toban gu'yo''' === Tarjumaad === * {{en}}: decades nwdozb034e7fqmg7qmktd84e7k4ktxh damqadolaawe 0 7854 23402 2023-05-07T13:02:50Z Girligaanshub 3150 Girligaanshub moved page [[damqadolaawe]] to [[damqashoolaawe]] 23402 wikitext text/x-wiki #REDIRECT [[damqashoolaawe]] lw3dbzp1ubv6tkpzfbydcw4583xsxs6 xagaaga 0 7855 23409 2023-05-07T13:23:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xagaaga''' === Tarjumaad === * {{en}}: summer 23409 wikitext text/x-wiki {{-so-}} == Magac == '''xagaaga''' === Tarjumaad === * {{en}}: summer af7u8orvib8m4llvg58f0bhdowrjmdj sanan 0 7856 23410 2023-05-07T13:23:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanan''' === Tarjumaad === * {{en}}: superstition, superstitious 23410 wikitext text/x-wiki {{-so-}} == Magac == '''sanan''' === Tarjumaad === * {{en}}: superstition, superstitious d53ktdeofxd0l30rkepjvdu5wnu2srw sanam 0 7857 23411 2023-05-07T13:23:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanam''' === Tarjumaad === * {{en}}: idol 23411 wikitext text/x-wiki {{-so-}} == Magac == '''sanam''' === Tarjumaad === * {{en}}: idol q3vwrwwl33zothm6ft8flodg9sb564h saamile 0 7858 23413 2023-05-07T13:25:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saamile''' === Tarjumaad === * {{en}}: shareholder 23413 wikitext text/x-wiki {{-so-}} == Magac == '''saamile''' === Tarjumaad === * {{en}}: shareholder ifz0wchj1g0knagdufhl556arwwoek3 maandoor 0 7859 25089 23414 2023-09-22T17:39:47Z Girligaanshub 3150 25089 wikitext text/x-wiki {{-so-}} == Magac == '''maandoor''' === Tarjumaad === * {{en}}: drugs, Recreational drug, recreational drugs, Soft drugs, Hard drugs, Street drugs, Party drug, Recreational substance, Hard narcotics, narcotic ===Synonyms=== *[[maandoor]], [[mukhadaraat]], [[qabatinka]], [[balwad]] i6k1fexze9e45au9l1pyp6jx97rfrno maandoorsan 0 7860 23415 2023-05-07T13:34:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maandoorsan''' === Tarjumaad === * {{en}}: intoxicated, stoned, high, ripped, tipsy, wasted, baked, bombed, buzzed, doped, drugged, drunk, inebriated, plastered, sloshed, smashed, totaled, tripping, boozed up, 23415 wikitext text/x-wiki {{-so-}} == Magac == '''maandoorsan''' === Tarjumaad === * {{en}}: intoxicated, stoned, high, ripped, tipsy, wasted, baked, bombed, buzzed, doped, drugged, drunk, inebriated, plastered, sloshed, smashed, totaled, tripping, boozed up, l4xiio3ymndsulz9dbh4nvhdempx336 meero 0 7861 23416 2023-05-07T13:37:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meero''' === Tarjumaad === * {{en}}: planet 23416 wikitext text/x-wiki {{-so-}} == Magac == '''meero''' === Tarjumaad === * {{en}}: planet 4q86eutegjhedeplvq82ewp7hq6x8ei dahsoon 0 7862 30196 29340 2024-08-24T03:52:34Z Girligaanshub 3150 30196 wikitext text/x-wiki {{-so-}} == Magac == '''dahsoon''' === Tarjumaad === * {{en}}: uncovered, latent, obscure, obscure, esoteric, vague, cryptic, ambiguous, subtle * {{en}}: mysterious, puzzling, unknown, nuance, nuanced, stange ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] n9r1val4ru558cn1nvt2ojw32hc5rfe eexaysi 0 7863 26697 23419 2024-02-07T01:51:25Z Girligaanshub 3150 26697 wikitext text/x-wiki {{-so-}} == Magac == '''eexaysi''' === Tarjumaad === * {{en}}: biased, partiality, favouritism, partisanship, bias, 5c3t93as73ua56ddt630bgtpgrq904h gududeni 0 7864 23421 2023-05-07T15:24:11Z Girligaanshub 3150 Girligaanshub moved page [[gududeni]] to [[guduudane]] 23421 wikitext text/x-wiki #REDIRECT [[guduudane]] trmalqru9xu4bc5dv32y4zg0j7rn4gz calakud 0 7865 23422 2023-05-07T15:26:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calakud''' === Tarjumaad === * {{en}}: klipspringer, 23422 wikitext text/x-wiki {{-so-}} == Magac == '''calakud''' === Tarjumaad === * {{en}}: klipspringer, tsbe8ukyxu1xxdzryv4o01atkup91v6 darmaan 0 7866 30165 26043 2024-08-24T02:46:37Z Girligaanshub 3150 30165 wikitext text/x-wiki {{-so-}} == Magac == '''darmaan''' === Tarjumaad === * {{en}}: pony * {{en}}: baby foal * {{en}}: person possessed by demon 74dmb635cxlw63lrb80438pgtukenls tabkac 0 7867 28448 28337 2024-06-15T19:09:30Z Girligaanshub 3150 28448 wikitext text/x-wiki {{-so-}} == Magac == '''tabkac''' === Tarjumaad === * {{en}}: solution, problem solving, troubleshoot, fine-tune, rectify, resolve, ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[takbaco]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], izb3lpgltpxf3on74i3ad6wz520bhjs qalinduurre 0 7868 23426 2023-05-07T15:40:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalinduurre''' === Tarjumaad === * {{en}}: sorcerer, witch, magician, wizard 23426 wikitext text/x-wiki {{-so-}} == Magac == '''qalinduurre''' === Tarjumaad === * {{en}}: sorcerer, witch, magician, wizard e38az2gc9y3vekdlcbwj7injkqiunnl bardooddame 0 7869 23427 2023-05-07T15:41:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bardooddame''' === Tarjumaad === * {{en}}: athlete, 23427 wikitext text/x-wiki {{-so-}} == Magac == '''bardooddame''' === Tarjumaad === * {{en}}: athlete, 0qw5sl7vn9mf7m6cjdgeodcv0q5s00b dhibaaji 0 7870 23428 2023-05-07T15:43:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhibaaji''' === Tarjumaad === * {{en}}: menstruation, 23428 wikitext text/x-wiki {{-so-}} == Magac == '''dhibaaji''' === Tarjumaad === * {{en}}: menstruation, qpzfri040e4qxcmnw5jh8ynjfx9e5eq abeesaxambaar 0 7871 30155 23429 2024-08-24T01:12:48Z Girligaanshub 3150 30155 wikitext text/x-wiki {{-so-}} == Magac == '''abeesaxambaar''' === Tarjumaad === * {{en}}: crawling toddler, crawling infant anny6jmimno0oj9hzrqnha2ncg4segu dhugmar 0 7872 23430 2023-05-07T15:52:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhugmar''' === Tarjumaad === * {{en}}: immune, immunity, 23430 wikitext text/x-wiki {{-so-}} == Magac == '''dhugmar''' === Tarjumaad === * {{en}}: immune, immunity, 0xwivweqfxjg395l6rmp4y8li9zvpue xayl 0 7873 23433 2023-05-07T18:37:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xayl''' === Tarjumaad === * {{en}}: menstruation, 23433 wikitext text/x-wiki {{-so-}} == Magac == '''xayl''' === Tarjumaad === * {{en}}: menstruation, dd843nmukm7bszl3x1wxhgzap2kqxhz qaalib 0 7876 23436 2023-05-10T20:46:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaalib''' === Tarjumaad === * {{en}}: prevalent, predominant, paramount, in general 23436 wikitext text/x-wiki {{-so-}} == Magac == '''qaalib''' === Tarjumaad === * {{en}}: prevalent, predominant, paramount, in general 59cirbjpvnpa795bhx6o09cuh567ieo beeraley 0 7881 28951 26745 2024-07-27T15:55:53Z Girligaanshub 3150 28951 wikitext text/x-wiki {{-so-}} == Magac == '''beeraley''' === Tarjumaad === * {{en}}: farmer, sedentary worker, sedentary lifestyle ===Synonyms=== *[[beeraley]], [[beero falato]], [[reer beereed]], [[reer qodaal]] lkrvyv1d4zm1rscsblypr6txe0qn5t0 ubuc 0 7882 32087 31918 2024-10-28T03:45:53Z Girligaanshub 3150 32087 wikitext text/x-wiki {{-so-}} == Magac == '''ubuc''' === Tarjumaad === * {{en}}: origin, birth, conception, source, root, background, ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] fcgykv9fu0yl2n483zgbww90nwtgq56 sharaf 0 7883 28421 24315 2024-06-15T18:09:08Z Girligaanshub 3150 28421 wikitext text/x-wiki {{-so-}} == Magac == '''sharaf''' === Tarjumaad === * {{en}}: honor, integrity, dignity, pride, proud ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], bs2iyb1kw1k0pzsl1gwgleaqamgc74i milmaanta 0 7884 23670 23669 2023-05-26T15:45:22Z Girligaanshub 3150 23670 wikitext text/x-wiki {{-so-}} == Magac == '''milmaanta''' === Tarjumaad === * {{en}}: amalgamation, coalescing, merging, assimilation, integration, syncretism ===Synonyms=== * [[bay'ah]], [[tahmeedi]], [[tahmeed]] ph9s7tuimpvpq4yl3yaf1gurubhv79p milmeynta 0 7885 23672 23459 2023-05-26T15:45:54Z Girligaanshub 3150 23672 wikitext text/x-wiki {{-so-}} == Magac == '''milmeynta''' === Tarjumaad === * {{en}}: amalgamation, coalescing, merging, assimilation, integration, syncretization ipnc0t0194vkapixe4i5qnqr4bcrdwb milmaynta 0 7886 23460 23453 2023-05-13T20:29:46Z Girligaanshub 3150 23460 wikitext text/x-wiki {{-so-}} == Magac == '''milmaynta''' === Tarjumaad === * {{en}}: amalgamation, coalescing, merging, assimilation, integration mwnk9yvwotyjtahqy7kc069x7jcyk28 laandheere 0 7887 31632 31213 2024-10-19T14:15:25Z Girligaanshub 3150 31632 wikitext text/x-wiki {{-so-}} == Magac == '''laandheere''' === Tarjumaad === * {{en}}: a prominent dynasty; synonym of [[barbar]] * {{en}}: dominant tribe member, strong tribe member, * {{en}}: dominance, predominance, domination, supremacy, superiority * {{en}}: companion, buddy, comrade, confidant, pal, mate, positive * {{en}}: notable, important ===Synonyms=== *[[laandheere]], [[askarmaroodi]], [[haldoor]], [[baarqab]] 32ccfmpxxho6dd1p0ii7507dbmk7wfq milmo 0 7888 27329 23671 2024-05-09T17:13:04Z Girligaanshub 3150 27329 wikitext text/x-wiki {{-so-}} == Magac == '''milmo''' === Tarjumaad === * {{en}}: amalgamate, coalesce, merge, assimilate, integrate, syncretize, streamline 7lhbgdfnh40fjrla9885ajjqw83fnyr xoghaye 0 7889 28896 23461 2024-07-25T02:36:07Z Girligaanshub 3150 28896 wikitext text/x-wiki {{-so-}} == Magac == '''xoghaye''' === Tarjumaad === * {{en}}: secretary ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[gudoomiye]], [[xoghaye]] i76f79nvlzgyr6pbnyjiwy9cp965w9a ka-hor 0 7890 23464 2023-05-14T10:19:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ka-hor''' === Tarjumaad === * {{en}}: [[before]], ago, earlier, previous, 23464 wikitext text/x-wiki {{-so-}} == Magac == '''ka-hor''' === Tarjumaad === * {{en}}: [[before]], ago, earlier, previous, oz6x5wkpunskj05dpqkzwr5gwum6oh1 dulqaadka 0 7891 23466 2023-05-14T12:59:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dulqaadka''' === Tarjumaad === * {{en}}: toleration, patience, enduring, endure, condone, 23466 wikitext text/x-wiki {{-so-}} == Magac == '''dulqaadka''' === Tarjumaad === * {{en}}: toleration, patience, enduring, endure, condone, 5ym9p6zh7w70dokjqzqwkjms3sju1lu dhexle 0 7892 23470 2023-05-14T17:24:16Z Girligaanshub 3150 Girligaanshub moved page [[dhexle]] to [[dhaxle]] 23470 wikitext text/x-wiki #REDIRECT [[dhaxle]] 3amhales4woylemvgngsnyyg9jey7h6 dhaxlaha 0 7893 23472 2023-05-14T17:25:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaxlaha''' === Tarjumaad === * {{en}}: successorship 23472 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxlaha''' === Tarjumaad === * {{en}}: successorship pqmip1km2w3gipv0wqfvwrdlv77441a reerlaawe 0 7894 32112 30150 2024-10-28T04:40:26Z Girligaanshub 3150 32112 wikitext text/x-wiki {{-so-}} == Magac == '''reerlaawe''' === Tarjumaad === * {{en}}: single, singleton, bachelor, layless, lonelyheart, dysphoric singlehood, loveshy, dateless, cat lady, bachelorette ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]], [[minxiis]] 06q83t7hwjnfoui271jix8i2fm28vy8 shuruud 0 7895 29061 28142 2024-07-29T02:42:52Z Girligaanshub 3150 29061 wikitext text/x-wiki {{-so-}} == Magac == '''shuruud''' === Tarjumaad === * {{en}}: condition, circumstances, circumstance, requirements, demand, specifications, specification, term, terms, requisite, prerequisite, stipulation, stipulations, precondition, require, requirement ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] 5wd2k6v7s2szfrz6pevft4qep3d5zte dhanaan 0 7896 23475 2023-05-15T00:16:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhanaan''' === Tarjumaad === * {{en}}: sour 23475 wikitext text/x-wiki {{-so-}} == Magac == '''dhanaan''' === Tarjumaad === * {{en}}: sour 7h1mmi3tod6gzktjh076n3s4cyqal19 qadhaadh 0 7897 30013 23476 2024-08-19T00:03:13Z Girligaanshub 3150 30013 wikitext text/x-wiki {{-so-}} == Magac == '''qadhaadh''' === Tarjumaad === * {{en}}: bitter ===Synonyms=== *[[qaraar]], [[qadhaadh]], [[mur]] 3rjbbhpb7m5biig6o5xs2agyeuw1wsq calaf 0 7898 29173 24851 2024-07-30T05:46:54Z Girligaanshub 3150 29173 wikitext text/x-wiki {{-so-}} == Magac == '''calaf''' === Tarjumaad === * {{en}}: destiny, predestination, fate, preordained, preordainment, predestined, predetermined, predetermination, predestined, ===Synonyms=== *[[qaddar]], [[calaf]], [[mustaqbal]], [[aayatiin]], [[aayo]] 0plon2kpkwzebdzum84wovifiu7bi6i bay'ah 0 7899 23478 2023-05-15T22:35:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bay'ah''' === Tarjumaad === * {{en}}: allegiance ===Synonyms=== * [[milmaanta]] 23478 wikitext text/x-wiki {{-so-}} == Magac == '''bay'ah''' === Tarjumaad === * {{en}}: allegiance ===Synonyms=== * [[milmaanta]] dnid35zvyu7ls3ubrwuy3m1d26012wl joogdoon-diid 0 7900 31504 31040 2024-10-13T01:50:32Z Girligaanshub 3150 31504 wikitext text/x-wiki {{-so-}} == Magac == '''[[joogdoon]]-diid''' === Tarjumaad === * {{en}}: anti-conservatism ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] sawg86jbsgyn6obpz7gi9668e2gaa3i horusocod 0 7901 23551 23483 2023-05-20T10:56:31Z Girligaanshub 3150 23551 wikitext text/x-wiki {{-so-}} == Magac == '''horusocod''' === Tarjumaad === * {{en}}: constructiveness * progressive, liberal, progression ===Synonyms=== * [[musawat]], [[joogdoon-diid]] g5l2edlu6q5tskekqg4rzgcue7s6j3k ciribtir 0 7902 32550 23485 2024-11-19T00:31:24Z Girligaanshub 3150 32550 wikitext text/x-wiki {{-so-}} == Magac == '''ciribtir''' === Tarjumaad === * {{en}}: eliminate, destroy, annihilate, terminate, eradicate ===Synonyms=== *[[dam-dheh]], [[ciribtir]], [[madho]] nhkoqheed9tac9gky9o9ft1ag38waum marooradilaac 0 7903 32004 23487 2024-10-27T02:47:25Z Girligaanshub 3150 32004 wikitext text/x-wiki {{-so-}} == Magac == '''marooradilaac''' === Tarjumaad === * {{en}}: trauma, traumatized, sorrow, grief, grieving, sadness, disenchanted, disgruntled, dissatisfied, distressed, down, downcast, downhearted, hopeless, unhappy, unsatisfied, upset ===Synonyms=== *[[hungoobo]], [[tiiraanyo]], [[murugaysan]], [[diilalyo]], [[marooradilaac]], m0rv71h5wx0ffufpuumyrrrrlm201iy badhasaab 0 7904 24916 23489 2023-09-15T18:57:11Z Girligaanshub 3150 24916 wikitext text/x-wiki {{-so-}} == Magac == '''badhasaab''' === Tarjumaad === * {{en}}: official, administrator ===Synonyms=== *[[wafdi]], [[badhasaab]] 3ffkz4prxluqu1lwbe8f1aangm30ju3 mashxarad 0 7905 31824 28364 2024-10-25T21:32:31Z Girligaanshub 3150 31824 wikitext text/x-wiki {{-so-}} == Magac == '''mashxarad''' === Tarjumaad === * {{en}}: jubilee, validate, validation, lullaby, love-bomb, flatter, blandish, coaxing, sweet talk, fawning, pacifying ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], nc3xsn2iqo6vcbm2885hawfdyxk17hc dhibane 0 7906 24125 23495 2023-08-04T12:26:08Z Girligaanshub 3150 24125 wikitext text/x-wiki {{-so-}} == Magac == '''dhibane''' === Tarjumaad === * {{en}}: victim ===Synonyms=== *[[dulmane]] qiivm0bo41ia9310aiv2ujd3j3s4k71 xeeldheersan 0 7907 31377 31376 2024-10-07T17:14:15Z Girligaanshub 3150 31377 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheersan''' === Tarjumaad === * {{en}}: important, notable, competent fughy2vfsdfijaw5bb0mtwdh4lo0d35 qaniimeynta 0 7908 23606 23498 2023-05-21T21:40:50Z Girligaanshub 3150 23606 wikitext text/x-wiki {{-so-}} == Magac == '''qaniimeynta''' === Tarjumaad === * {{en}}: hustling, swindling, manipulating, manhandling, capitalism 95u22iifsoqc6tui510pjebad4ajlzh laba-aabbur 0 7909 23500 2023-05-19T12:32:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laba-aabbur''' === Tarjumaad === * {{en}}: pincer attack 23500 wikitext text/x-wiki {{-so-}} == Magac == '''laba-aabbur''' === Tarjumaad === * {{en}}: pincer attack duq70sdv1qv2w576sxglrbiuojhi8se xood 0 7910 23501 2023-05-19T12:33:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xood''' === Tarjumaad === * {{en}}: curve, bend, bow, arch, loop 23501 wikitext text/x-wiki {{-so-}} == Magac == '''xood''' === Tarjumaad === * {{en}}: curve, bend, bow, arch, loop gvgqdnztcupb1wkorcru4fxikswxpgx golxo 0 7911 23502 2023-05-19T12:34:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''golxo''' === Tarjumaad === * {{en}}: concave 23502 wikitext text/x-wiki {{-so-}} == Magac == '''golxo''' === Tarjumaad === * {{en}}: concave 1iq1f3r39l4dd6kb3qj45yw1fyifhq5 alaal 0 7912 23684 23503 2023-05-31T13:31:13Z Girligaanshub 3150 23684 wikitext text/x-wiki {{-so-}} == Magac == '''alaal''' === Tarjumaad === * {{en}}: extrovert, extroversion mtq1w5h0ozub0oenfaqjfhhv13jg7kf alaalnimo 0 7913 23504 2023-05-19T12:34:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaalnimo''' === Tarjumaad === * {{en}}: extroversion 23504 wikitext text/x-wiki {{-so-}} == Magac == '''alaalnimo''' === Tarjumaad === * {{en}}: extroversion ltcetr4es9jkuzluzci1im0ytk3bpqu alaalabbaq 0 7914 23505 2023-05-19T12:43:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaalabbaq''' === Tarjumaad === * {{en}}: phobia 23505 wikitext text/x-wiki {{-so-}} == Magac == '''alaalabbaq''' === Tarjumaad === * {{en}}: phobia 5hxj32v5sdgexu4yx0hogv3bknnqhfm alaalabbaqe 0 7915 23506 2023-05-19T12:44:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaalabbaqe''' === Tarjumaad === * {{en}}: phobiac 23506 wikitext text/x-wiki {{-so-}} == Magac == '''alaalabbaqe''' === Tarjumaad === * {{en}}: phobiac 1mrmk6e7kcho79gahfcl5h45o2r1k4g askarmaroodi 0 7916 31633 31191 2024-10-19T14:15:51Z Girligaanshub 3150 31633 wikitext text/x-wiki {{-so-}} == Magac == '''askarmaroodi''' === Tarjumaad === * {{en}}: moonlighter, moonlighting worker, floater, factotum, moonlighting, moonlight * {{en}}: temporary worker, temporary employment, temporary employee, temporary labour ===Synonyms=== *[[laandheere]], [[askarmaroodi]], [[haldoor]], [[baarqab]] b9smug5kw9oof9bny7ajew032mzyvbe aynab 0 7917 23508 2023-05-19T12:46:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aynab''' === Tarjumaad === * {{en}}: massacre, 23508 wikitext text/x-wiki {{-so-}} == Magac == '''aynab''' === Tarjumaad === * {{en}}: massacre, fdctu3rtzzyiyvnexm0m8vbb2jfvjxj labamidigle 0 7918 23509 2023-05-19T12:46:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''labamidigle''' === Tarjumaad === * {{en}}: ambidextrous 23509 wikitext text/x-wiki {{-so-}} == Magac == '''labamidigle''' === Tarjumaad === * {{en}}: ambidextrous b3qktryod48k3idq22xtsk3fcxqj65u shirmo 0 7919 24838 23554 2023-09-11T17:15:43Z Girligaanshub 3150 24838 wikitext text/x-wiki {{-so-}} == Magac == '''shirmo''' === Tarjumaad === * {{en}}: no trespassing, no encroachment, unauthorized entry, no-go zone * {{en}}: borderlander, borderlands, no man's land inhabitant, demilitarized zone, neutral zone, buffer zone ===Synonyms=== *[[ilaxir]], [[aagga baadisooc]], [[aafti]], [[xanib]] ===Near synonyms=== *[[bartamaad]], [[mubaax]], [[xaqaani]] erojpzvbws82och5yhpk2l0iq8ynbql sah 0 7920 23511 2023-05-19T12:52:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sah''' === Tarjumaad === * {{en}}: situation 23511 wikitext text/x-wiki {{-so-}} == Magac == '''sah''' === Tarjumaad === * {{en}}: situation gk3z6u21zth1iub3qs9ns8x1lgcbh7r ilaxir 0 7921 24837 24836 2023-09-11T17:15:33Z Girligaanshub 3150 24837 wikitext text/x-wiki {{-so-}} == Magac == '''ilaxir''' === Tarjumaad === * {{en}}: divider, screen, separator, partitioner * {{en}}: borderlander, borderlands, no man's land inhabitant, demilitarized zone, neutral zone, buffer zone ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] ===Near synonyms=== *[[bartamaad]], [[mubaax]], [[xaqaani]] q1d7ye016o225vek19qhcxklrncs506 basar 0 7922 23522 2023-05-19T21:47:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''basar''' === Tarjumaad === * {{en}}: character, 23522 wikitext text/x-wiki {{-so-}} == Magac == '''basar''' === Tarjumaad === * {{en}}: character, g4qh7vx8q6fmvoo7wfbfjxf8h2pj46s beergoys 0 7923 23523 2023-05-19T21:48:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beergoys''' === Tarjumaad === * {{en}}: harvest, 23523 wikitext text/x-wiki {{-so-}} == Magac == '''beergoys''' === Tarjumaad === * {{en}}: harvest, 2874o2ickvnh4qcddshf0jy5fiztosy biciriir 0 7924 32727 23524 2024-11-30T17:35:55Z Girligaanshub 3150 32727 wikitext text/x-wiki {{-so-}} == Magac == '''biciriir''' === Tarjumaad === * {{en}}: squint, squinting ===Synonyms=== *[[biciriir]], [[fayiigsi]] 4hgeyv3f8xv3xq27etilbpxztxsbo8v biime 0 7925 26392 23525 2023-12-17T20:40:40Z Girligaanshub 3150 26392 wikitext text/x-wiki {{-so-}} == Magac == '''biime''' === Tarjumaad === * {{en}}: challenge * {{en}}: daredevil, stuntman, exhibitionist, 5i6dawabf246jkxh4hoik8etqgpj2w9 cagasaar 0 7926 23526 2023-05-19T21:55:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cagasaar''' === Tarjumaad === * {{en}}: foothold, 23526 wikitext text/x-wiki {{-so-}} == Magac == '''cagasaar''' === Tarjumaad === * {{en}}: foothold, n7b1ma725aguqjyjstfzzuszz19fzca calannaqsi 0 7927 23527 2023-05-19T22:13:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calannaqsi''' === Tarjumaad === * {{en}}: regurgitation, vomit, puke 23527 wikitext text/x-wiki {{-so-}} == Magac == '''calannaqsi''' === Tarjumaad === * {{en}}: regurgitation, vomit, puke kefr7i6tdib6r0xufrvptjhqujnzg7a callaal 0 7928 23528 2023-05-19T22:13:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''callaal''' === Tarjumaad === * {{en}}: bait, 23528 wikitext text/x-wiki {{-so-}} == Magac == '''callaal''' === Tarjumaad === * {{en}}: bait, kqpfkc3ud1t8ukfe9z49z33gz8knjxv carcar 0 7929 23529 2023-05-19T22:14:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carcar''' === Tarjumaad === * {{en}}: potential, 23529 wikitext text/x-wiki {{-so-}} == Magac == '''carcar''' === Tarjumaad === * {{en}}: potential, hjngfgx94jypssm2e4d86adqb96c1ku cirbadhiibsi 0 7930 23531 2023-05-19T22:15:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cirbadhiibsi''' === Tarjumaad === * {{en}}: tiptoe, tiptoeing 23531 wikitext text/x-wiki {{-so-}} == Magac == '''cirbadhiibsi''' === Tarjumaad === * {{en}}: tiptoe, tiptoeing ggz142tlnbmt3objey3p9w8ians47tv cirbaxeen 0 7931 23532 2023-05-19T22:16:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cirbaxeen''' === Tarjumaad === * {{en}}: astronaut, 23532 wikitext text/x-wiki {{-so-}} == Magac == '''cirbaxeen''' === Tarjumaad === * {{en}}: astronaut, dsc3eo05l4kukus5mbliaygvayv857z cirfiidad 0 7932 23533 2023-05-19T22:16:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cirfiidad''' === Tarjumaad === * {{en}}: cablecar, cable-car, 23533 wikitext text/x-wiki {{-so-}} == Magac == '''cirfiidad''' === Tarjumaad === * {{en}}: cablecar, cable-car, nfh9toizxd9indjdddlll9ktqvqqozv cubcub 0 7933 23534 2023-05-19T22:16:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cubcub''' === Tarjumaad === * {{en}}: scarecrow, 23534 wikitext text/x-wiki {{-so-}} == Magac == '''cubcub''' === Tarjumaad === * {{en}}: scarecrow, 9hcj8f2uh3xn4a59fsga6wk7hgu7jdk loodsanaan 0 7934 23535 2023-05-19T22:17:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loodsanaan''' === Tarjumaad === * {{en}}: elasticity, 23535 wikitext text/x-wiki {{-so-}} == Magac == '''loodsanaan''' === Tarjumaad === * {{en}}: elasticity, 0kt14yem155o61f38nqb6cpsp9x6qm3 dabandeeb 0 7935 23536 2023-05-19T22:20:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabandeeb''' === Tarjumaad === * {{en}}: wandering, aimless 23536 wikitext text/x-wiki {{-so-}} == Magac == '''dabandeeb''' === Tarjumaad === * {{en}}: wandering, aimless mi7k7hncejxev9ukf2n56851jryt5tc dafdafle 0 7936 23558 23537 2023-05-20T15:56:02Z Girligaanshub 3150 23558 wikitext text/x-wiki {{-so-}} == Magac == '''daf-dafle''' === Tarjumaad === * {{en}}: inquisitive person, networker, curious person, prying person, interloper, peeping tom, persona non grata, encroacher, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody, snooping, noseying, pryer, stickybeak, pmbx87n3n8n1liwbaoba90fd6x1a9mp dagaag 0 7937 32752 32751 2024-11-30T20:09:51Z ВМНС 5070 32752 wikitext text/x-wiki {{-so-}} == Magac == '''dagaag''' === Tarjumaad === * {{en}}: economic migrant, [[Category:Soomaali ereyada-da]] efzuwdpajfxph86cyn38vxk8zdcd4sp dalandal 0 7938 23539 2023-05-19T23:07:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalandal''' === Tarjumaad === * {{en}}: toddler, 23539 wikitext text/x-wiki {{-so-}} == Magac == '''dalandal''' === Tarjumaad === * {{en}}: toddler, s33tc5x5xvn2iasmjqfez889cfu6ktu dheeh 0 7939 23540 2023-05-20T04:27:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheeh''' === Tarjumaad === * {{en}}: plaster, 23540 wikitext text/x-wiki {{-so-}} == Magac == '''dheeh''' === Tarjumaad === * {{en}}: plaster, s0oj8s7e0f0axd63lasm0a7h332scgr dhexroor 0 7940 23856 23541 2023-06-22T17:38:51Z Girligaanshub 3150 23856 wikitext text/x-wiki {{-so-}} == Magac == '''dhexroor''' === Tarjumaad === * {{en}}: seam, diameter 64jlhj24u30l8hjehz3x0a513bub6nn kaawo 0 7941 23543 2023-05-20T04:30:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaawo''' === Tarjumaad === * {{en}}: quarry, 23543 wikitext text/x-wiki {{-so-}} == Magac == '''kaawo''' === Tarjumaad === * {{en}}: quarry, ckt9mqro1ng5c3wtedjafmvlfanlhri dhohondhoh 0 7942 23544 2023-05-20T04:51:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhohondhoh''' === Tarjumaad === * {{en}}: emaciated, bony, skeletal, 23544 wikitext text/x-wiki {{-so-}} == Magac == '''dhohondhoh''' === Tarjumaad === * {{en}}: emaciated, bony, skeletal, 6ua3yeygau3m1ugidj1pa4b7ivli9v2 dhowaandhalad 0 7943 28259 27012 2024-06-14T11:56:00Z Girligaanshub 3150 28259 wikitext text/x-wiki {{-so-}} == Magac == '''dhowaandhalad''' === Tarjumaad === * {{en}}: innovative, creative ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] hqhprguey0tv93k576rlak6k540ut0h dhubdhub 0 7944 23546 2023-05-20T04:54:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhubdhub''' === Tarjumaad === * {{en}}: mountain pass, 23546 wikitext text/x-wiki {{-so-}} == Magac == '''dhubdhub''' === Tarjumaad === * {{en}}: mountain pass, cg0qpg57un7mtxrfpuyg62q15kd6yq8 biidnimo 0 7945 31503 31039 2024-10-13T01:50:21Z Girligaanshub 3150 31503 wikitext text/x-wiki {{-so-}} == Magac == '''biidnimo''' === Tarjumaad === * {{en}}: hipsterism, progressivism, liberalism, counter-culture, xenophilia, allophilia ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] 2uj1nhaxye86xnrswl7ysjf0amexxfb dafdaf 0 7946 31849 23559 2024-10-25T22:15:16Z Girligaanshub 3150 31849 wikitext text/x-wiki {{-so-}} == Magac == '''dafdaf''' === Tarjumaad === * {{en}}: network, curious, prying, interlope, peeping tom, encroach, snoop, noseying, inquiring, inquire, probe, scrutinize, meddle, ===Synonyms=== *[[dafdaf]], [[faragelin]], [[shafgooso]], [[shafgoos]] 2m1ttnp8y1i1qwa0zwkn4zf7qkia5tv barbaarinta 0 7947 30857 23560 2024-09-22T17:44:28Z Girligaanshub 3150 30857 wikitext text/x-wiki {{-so-}} == Magac == '''barbaarinta''' === Tarjumaad === * {{en}}: raise, child-raising, child-rearing, child care, child-rear, nurture, nurturing, ===Synonyms=== *[[tarbiyad]], [[barbaarinta]], [[manhaj]] im2gvkc8i2tviutdqvo2mbe4h0zptn7 hortabin 0 7948 32598 31407 2024-11-25T08:31:54Z Girligaanshub 3150 32598 wikitext text/x-wiki {{-so-}} == Magac == '''hortabin''' === Tarjumaad === * {{en}}: spearhead, develop, promote * {{en}}: priority, prioritization, emphasis, intense * {{en}}: constructive, constructiveness, progressive, progressiveness, ===Synonyms=== *[[ahmiyad]], [[badbadin]], [[hortabin]], [[nuuxnuuxi]] d3yl3yrhr583ghvr12dhceygzusjpba hiraal 0 7949 28644 23564 2024-07-01T11:33:23Z Girligaanshub 3150 28644 wikitext text/x-wiki {{-so-}} == Magac == '''hiraal''' === Tarjumaad === * {{en}}: vision, theory, perception ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]] 7hso5rklgapody72y1n8pjiify9kgh4 dhabaha 0 7950 23575 23567 2023-05-20T22:48:13Z Girligaanshub 3150 /* Synonyms */ 23575 wikitext text/x-wiki {{-so-}} == Magac == '''dhabaha''' === Tarjumaad === * {{en}}: trajectory ===Synonyms=== *[[shaaciga]], toobiye 9bjpfdn0apcnri0zkjfkpw1jyzlrpdk habraac 0 7951 28123 24937 2024-06-09T19:22:28Z Girligaanshub 3150 28123 wikitext text/x-wiki {{-so-}} == Magac == '''habraac''' === Tarjumaad === * {{en}}: procedure ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] hucwdp6v5ssf0onzdg9lnp3qiucho0h hanqaltaag 0 7952 23574 2023-05-20T22:44:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanqaltaag''' === Tarjumaad === * {{en}}: anticipation 23574 wikitext text/x-wiki {{-so-}} == Magac == '''hanqaltaag''' === Tarjumaad === * {{en}}: anticipation s2i1sw08z7ebduanqn5itcz27rnih57 hindise 0 7953 28258 27011 2024-06-14T11:55:48Z Girligaanshub 3150 28258 wikitext text/x-wiki {{-so-}} == Magac == '''hindise''' === Tarjumaad === * {{en}}: innovative, creative, initiative ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] abis71e1yad9te48v86n0fd91gumq9x gobannimo 0 7954 32051 31264 2024-10-27T23:18:21Z Girligaanshub 3150 32051 wikitext text/x-wiki {{-so-}} == Magac == '''gobbanimo''' === Tarjumaad === * {{en}}: sovereignty, freedom, liberty, independence ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] ===Antonyms=== *[[lootaliye]], [[dabadhilif]] 02qf0cjgr847ie0iyu3fljfznd9od3h is-hoos-dhigasho 0 7955 31804 24871 2024-10-25T21:15:47Z Girligaanshub 3150 31804 wikitext text/x-wiki {{-so-}} == Magac == '''isdigasho''' === Tarjumaad === * {{en}}: self-abasement, self-debase, self-deprecating, self-deprecatory, self-effacing ===Synonyms=== *[[isla-yareynta]], [[is-hoos-dhigasho]] lz166oevec0p5rvdylyo1h4i3tqg226 dibaaxin 0 7956 23584 2023-05-20T22:55:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibaaxin''' === Tarjumaad === * {{en}}: twitch 23584 wikitext text/x-wiki {{-so-}} == Magac == '''dibaaxin''' === Tarjumaad === * {{en}}: twitch nzk9zfg6g04qm10c8ionvjofgw5lc8m xatxatayn 0 7957 23585 2023-05-20T22:56:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xatxatayn''' === Tarjumaad === * {{en}}: tickle 23585 wikitext text/x-wiki {{-so-}} == Magac == '''xatxatayn''' === Tarjumaad === * {{en}}: tickle ezvuepgesmpqtumh11oluuzogy4qoy4 kabuubyaysan 0 7958 23586 2023-05-20T22:57:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabuubyaysan''' === Tarjumaad === * {{en}}: numb 23586 wikitext text/x-wiki {{-so-}} == Magac == '''kabuubyaysan''' === Tarjumaad === * {{en}}: numb ifuyafsoxydszpbcrtopxafs3ofvrac qarqaryo 0 7959 23587 2023-05-20T22:57:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qarqaryo''' === Tarjumaad === * {{en}}: shiver ===Synonyms=== *[[jarays]] 23587 wikitext text/x-wiki {{-so-}} == Magac == '''qarqaryo''' === Tarjumaad === * {{en}}: shiver ===Synonyms=== *[[jarays]] f1jk6r5afx6p58urxjtwb0sr93wf6xp jarays 0 7960 23588 2023-05-20T22:58:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jarays''' === Tarjumaad === * {{en}}: shiver 23588 wikitext text/x-wiki {{-so-}} == Magac == '''jarays''' === Tarjumaad === * {{en}}: shiver okenus72ljcvfdkvom94zjoa5h6hiav beer-jilicsan 0 7961 31776 24334 2024-10-25T20:38:36Z Girligaanshub 3150 31776 wikitext text/x-wiki {{-so-}} == Magac == '''beer-jilicsan''' === Tarjumaad === * {{en}}: empathetic, emotional, apathy, passive, complacency, appeasing, self-abasement, self-debase, self-deprecating, self-deprecatory, self-effacing ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]], [[beer-jilicsan]] iyjfhj4ysomrvoit7qsaslcvngn8hsm maangaarsan 0 7962 23594 2023-05-21T13:03:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maangaarsan''' === Tarjumaad === * {{en}}: neurodivergent 23594 wikitext text/x-wiki {{-so-}} == Magac == '''maangaarsan''' === Tarjumaad === * {{en}}: neurodivergent b0eeifssg9ok9nzrs84h3jhqsurux6y adeege 0 7963 23668 23623 2023-05-25T16:34:04Z Girligaanshub 3150 23668 wikitext text/x-wiki {{-so-}} == Magac == '''adeege''' === Tarjumaad === * {{en}}: affiliate, worker, associate, participant, participator, contributor, member, partaker, competitor, link lv01okysur0pcelhonrfmhnv7fsi9cx bandow 0 7964 23604 2023-05-21T21:19:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bandow''' === Tarjumaad === * {{en}}: curfew 23604 wikitext text/x-wiki {{-so-}} == Magac == '''bandow''' === Tarjumaad === * {{en}}: curfew gtn85bpa7m4bdl53cqjv7j43ztbekvm birmad 0 7965 26005 23608 2023-11-21T22:29:42Z Girligaanshub 3150 26005 wikitext text/x-wiki {{-so-}} == Magac == '''birmad''' === Tarjumaad === * {{en}}: reinforcement, squad 9u2r9fip4r8aeu7smokmzn7uvnr5shp carbis 0 7966 23609 2023-05-21T21:53:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carbis''' === Tarjumaad === * {{en}}: barracks, bootcamp, boot camp, bivouac 23609 wikitext text/x-wiki {{-so-}} == Magac == '''carbis''' === Tarjumaad === * {{en}}: barracks, bootcamp, boot camp, bivouac 9khcu8z19z6njd6gq8zn2g4xnap85zk dallacaad 0 7967 23611 2023-05-21T22:03:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dallacaad''' === Tarjumaad === * {{en}}: rank promotion 23611 wikitext text/x-wiki {{-so-}} == Magac == '''dallacaad''' === Tarjumaad === * {{en}}: rank promotion efld32341ydbo9u3rmmakud0or2ez6c dammaad 0 7968 23612 2023-05-21T22:07:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dammaad''' === Tarjumaad === * {{en}}: disoriented, disorientation, delirium, 23612 wikitext text/x-wiki {{-so-}} == Magac == '''dammaad''' === Tarjumaad === * {{en}}: disoriented, disorientation, delirium, 6jhvce0ycu126xm2ieasl1lsf0np5t8 darandoorri 0 7969 32573 32410 2024-11-22T09:22:53Z Girligaanshub 3150 32573 wikitext text/x-wiki {{-so-}} == Magac == '''darandoorri''' === Tarjumaad === * {{en}}: automatic * {{en}}: continuous, sustained, sustain, continue ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]], [[darandoorri]] 9aqn7pgpbamr8nmg3aoyzp2ythg6kh1 gantaal 0 7970 23615 2023-05-21T22:25:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gantaal''' === Tarjumaad === * {{en}}: missile 23615 wikitext text/x-wiki {{-so-}} == Magac == '''gantaal''' === Tarjumaad === * {{en}}: missile 82j3v6iin4793nkrrun1fxnevkky0ky guluf 0 7971 23616 2023-05-21T22:27:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guluf''' === Tarjumaad === * {{en}}: reserve 23616 wikitext text/x-wiki {{-so-}} == Magac == '''guluf''' === Tarjumaad === * {{en}}: reserve qva8an86xc04gww6uf7zi94e3jq8xe6 sahan 0 7972 28793 23617 2024-07-20T03:53:28Z Girligaanshub 3150 28793 wikitext text/x-wiki {{-so-}} == Magac == '''sahan''' === Tarjumaad === * {{en}}: scout, reconnaissance, survey, dae88a51nmvr8crjzth31ofs066sa0g unug 0 7973 23618 2023-05-21T22:37:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''unug''' === Tarjumaad === * {{en}}: squad, crew 23618 wikitext text/x-wiki {{-so-}} == Magac == '''unug''' === Tarjumaad === * {{en}}: squad, crew rgjzbb52d09wmaiwemg9qznzmr5idt8 casuum 0 7974 31833 31828 2024-10-25T21:39:55Z Girligaanshub 3150 31833 wikitext text/x-wiki {{-so-}} == Magac == '''casuum''' === Tarjumaad === * {{en}}: invite, invitation ===Synonyms=== *[[dux]], [[nafaqeey]], [[casuum]], [[martiqaad]], [[quudi]] pbvpp8yg6edbcm5jzj04yfsrlefr1q0 cillad 0 7975 29937 29930 2024-08-15T20:43:37Z Girligaanshub 3150 29937 wikitext text/x-wiki {{-so-}} == Magac == '''cillad''' === Tarjumaad === * {{en}}: condition, situation, * {{en}}: abstract, putative, tentative, * {{en}}: deficiency, defect, disorder, impaired, faulty, dysphoria, dysphoric, personality disorder ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], [[cillad]] 72ff73iem37e7uk3t1a43i7396kkwg6 soohdinta 0 7976 25643 23624 2023-10-31T01:48:51Z Girligaanshub 3150 25643 wikitext text/x-wiki {{-so-}} == Magac == '''soohdinta''' === Tarjumaad === * {{en}}: borders, borderline, frontier, barrier, boundary * {{en}}: BPD, borderline personality disorder, emotionally unstable personality disorder, Emotional intensity disorder, hysteria, hysteric personality, emotional dysregulation, ===Synonyms=== *[[eraleyda]], [[soohdinta]] 2c6pbkziku9954mcjoziohavl1rtbrd haan 0 7977 26145 26054 2023-12-01T04:52:37Z Girligaanshub 3150 26145 wikitext text/x-wiki {{-so-}} == Magac == '''haan''' === Tarjumaad === * {{en}}: vessel, jar, box, container 35zjgkfjblrmahi99fc6atr6z3q573l lul 0 7978 27935 23627 2024-06-01T09:13:35Z Girligaanshub 3150 27935 wikitext text/x-wiki {{-so-}} == Magac == '''lul''' === Tarjumaad === * {{en}}: shake, wave ===Synonyms=== *[[lul]], [[lulo]] o8ry1mgbcb0armgbvoklmnqqpsisvjm qadarin 0 7979 28425 28414 2024-06-15T18:09:52Z Girligaanshub 3150 28425 wikitext text/x-wiki {{-so-}} == Magac == '''qadarin''' === Tarjumaad === * {{en}}: appreciation, respect, admiration, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], 2djpeld1okbmhygi5vo2x3fkqn9e1b7 tix 0 7980 26185 25385 2023-12-05T23:55:25Z Girligaanshub 3150 26185 wikitext text/x-wiki {{-so-}} == Magac == '''tix''' === Tarjumaad === * {{en}}: verse, rhyme, stanza, aphorism ===Synonyms=== *[[weedh]], [[tix]], [[tuduc]] l8m4ao3ljhtpj5jfjvbm0hpk89u2mtc maanso 0 7981 23632 2023-05-23T15:48:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maanso''' === Tarjumaad === * {{en}}: poetry 23632 wikitext text/x-wiki {{-so-}} == Magac == '''maanso''' === Tarjumaad === * {{en}}: poetry 65talj8pbbeouan5vnigg6isruegghf halkudheg 0 7982 23634 2023-05-23T16:11:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halkudheg''' === Tarjumaad === * {{en}}: motto, catch word, mantra, catchword, watchword 23634 wikitext text/x-wiki {{-so-}} == Magac == '''halkudheg''' === Tarjumaad === * {{en}}: motto, catch word, mantra, catchword, watchword cyd7e7xm6p11qtbdtiw4mdj5yuwtri2 habdhac 0 7983 32207 23635 2024-11-01T18:15:06Z Girligaanshub 3150 32207 wikitext text/x-wiki {{-so-}} == Magac == '''habdhac''' === Tarjumaad === * {{en}}: rhythm, beat ===Synonyms=== *[[habdhac]], [[uugaamo]] h4pzu4agz83sls4nxdkhrz4eexc3vo3 laxan 0 7984 23636 2023-05-23T16:13:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laxan''' === Tarjumaad === * {{en}}: melody 23636 wikitext text/x-wiki {{-so-}} == Magac == '''laxan''' === Tarjumaad === * {{en}}: melody ptye7tdx6jvdzu4uz64kpfd0843cxpd baroordiiq 0 7985 29687 29636 2024-08-07T17:57:54Z Girligaanshub 3150 29687 wikitext text/x-wiki {{-so-}} == Magac == '''baroordiiq''' === Tarjumaad === * {{en}}: grief, mourn, grieving, mourning, bereavement, ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[baroor]], [[baroordiiq]] a7yhacvda6u9a8kkkgdalvvw7kcotdl damaaci 0 7986 32259 31886 2024-11-04T05:48:10Z Girligaanshub 3150 32259 wikitext text/x-wiki {{-so-}} == Magac == '''damaaci''' === Tarjumaad === * {{en}}: entitled, needy, demand, demanding ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] fu203cgj0k1mg7f0xfhjz1vork82qim damaacinimo 0 7987 31892 31881 2024-10-25T23:00:27Z Girligaanshub 3150 31892 wikitext text/x-wiki {{-so-}} == Magac == '''damaacinimo''' === Tarjumaad === * {{en}}: entitlement, neediness ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] tt7kotupwzz15tcyjz6njait5rj6vlg taar 0 7988 23656 2023-05-23T20:27:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taar''' === Tarjumaad === * {{en}}: date 23656 wikitext text/x-wiki {{-so-}} == Magac == '''taar''' === Tarjumaad === * {{en}}: date tom24afhnld4nmuydehshuf7z9vxmna af-ku-xoogleh 0 7989 23657 2023-05-23T21:10:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''af-ku-xoogle''' === Tarjumaad === * {{en}}: sciolist, charlatan, blowhard, bloviator, gasbag, rambler, blatherskate, blatherskite, blatherer, chatterbox, rambler, waffler, babbler, whiffler 23657 wikitext text/x-wiki {{-so-}} == Magac == '''af-ku-xoogle''' === Tarjumaad === * {{en}}: sciolist, charlatan, blowhard, bloviator, gasbag, rambler, blatherskate, blatherskite, blatherer, chatterbox, rambler, waffler, babbler, whiffler gwirtngallt9uqsteiek0f9sog0om2v qabweyn 0 7990 23659 2023-05-24T00:28:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabweyn''' === Tarjumaad === * {{en}}: proud, haughty, bossy, egotistic 23659 wikitext text/x-wiki {{-so-}} == Magac == '''qabweyn''' === Tarjumaad === * {{en}}: proud, haughty, bossy, egotistic joad22sqnck4mblet1prcytgvykvijm xul 0 7991 28936 28933 2024-07-27T02:21:30Z Girligaanshub 3150 28936 wikitext text/x-wiki {{-so-}} == Magac == '''xul''' === Tarjumaad === * {{en}}: selectee, nominee * {{en}}: choice ===Synonyms=== *[[magacaabis]], [[musharax]], [[xul]] cyv8r00tisly5dym56y5pdk0ufi9pd1 dhabarjab 0 7993 23663 2023-05-24T12:16:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabarjab''' === Tarjumaad === * {{en}}: liability, obstacle, hindrance, impediment, Achilles heel, 23663 wikitext text/x-wiki {{-so-}} == Magac == '''dhabarjab''' === Tarjumaad === * {{en}}: liability, obstacle, hindrance, impediment, Achilles heel, lafc7qefc7em3ezg46lww0wvfezl5pu maquuni 0 7994 23691 23665 2023-05-31T14:04:47Z Girligaanshub 3150 23691 wikitext text/x-wiki {{-so-}} == Magac == '''maquuni''' === Tarjumaad === * {{en}}: coerce, arm-twist, duress, force, oblige, compel, pressure, intimidate, subjugate 9hc03jr7wntlb490h37sdpkzu0p0oyn adeeg 0 7995 28035 27704 2024-06-08T20:31:55Z Girligaanshub 3150 28035 wikitext text/x-wiki {{-so-}} == Magac == '''adeeg''' === Tarjumaad === * {{en}}: utilize, link, serve, apply, use, engage, relate, connect ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] 5rsjqc2k2yo4z8p240zd42ux68lp1ky aargada 0 7997 23682 2023-05-30T21:51:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aargada''' === Tarjumaad === * {{en}}: landmark, monument, spectacle, 23682 wikitext text/x-wiki {{-so-}} == Magac == '''aargada''' === Tarjumaad === * {{en}}: landmark, monument, spectacle, kqq7t1w4jyzaosgvvapk5iv9ezduosr aargo 0 7998 32508 32507 2024-11-18T10:44:08Z Girligaanshub 3150 32508 wikitext text/x-wiki {{-so-}} == Magac == '''aargo''' === Tarjumaad === * {{en}}: landmark, monument, spectacle, ===Synonyms=== *[[taalo]], [[xaram]], [[aargo]] rzyevetrm5njq0k8l8sb6ztzoyjj76b oofin 0 7999 23685 2023-05-31T13:51:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oofin''' === Tarjumaad === * {{en}}: fulfillment 23685 wikitext text/x-wiki {{-so-}} == Magac == '''oofin''' === Tarjumaad === * {{en}}: fulfillment mqguzpldez0nsvjeed6jmx9qcdqin95 uurqaadis 0 8000 23686 2023-05-31T13:52:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uurqaadis''' === Tarjumaad === * {{en}}: conception, fertilisation, germination, impregnation 23686 wikitext text/x-wiki {{-so-}} == Magac == '''uurqaadis''' === Tarjumaad === * {{en}}: conception, fertilisation, germination, impregnation nymm2qvlerhflv7yh3u583frnr1ruhg nabar-qabasho 0 8001 23687 2023-05-31T13:53:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabar-qabasho''' === Tarjumaad === * {{en}}: contraction 23687 wikitext text/x-wiki {{-so-}} == Magac == '''nabar-qabasho''' === Tarjumaad === * {{en}}: contraction 3eeou0905gzyld7csost3urbt5yc2i6 sid 0 8002 23688 2023-05-31T14:03:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sid''' === Tarjumaad === * {{en}}: gestation 23688 wikitext text/x-wiki {{-so-}} == Magac == '''sid''' === Tarjumaad === * {{en}}: gestation 4v2uapu1w40dxhspaa8aw9jl4gor849 maandheer 0 8003 23689 2023-05-31T14:03:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maandheer''' === Tarjumaad === * {{en}}: placenta 23689 wikitext text/x-wiki {{-so-}} == Magac == '''maandheer''' === Tarjumaad === * {{en}}: placenta fagd6aamqgrl2hpefz0ayzom4b994gf yasid 0 8004 29339 25614 2024-08-01T15:03:25Z Girligaanshub 3150 29339 wikitext text/x-wiki {{-so-}} == Magac == '''yasid''' === Tarjumaad === * {{en}}: belittlement ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]], [[yasitaan]], [[yasid]] iuum5bao37v9saf3rtkzy4fgrfij566 ciil 0 8005 23693 2023-05-31T14:14:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ciil''' === Tarjumaad === * {{en}}: grudge 23693 wikitext text/x-wiki {{-so-}} == Magac == '''ciil''' === Tarjumaad === * {{en}}: grudge geyw0l8hcee8ggi02gl5d1tfz4nyu60 cuqdad 0 8006 29745 23694 2024-08-10T06:15:16Z Girligaanshub 3150 29745 wikitext text/x-wiki {{-so-}} == Magac == '''cuqdad''' === Tarjumaad === * {{en}}: resentment, prejudice d983rjdhif8828xxt9rrofmz5cacla3 dibindaab 0 8007 23695 2023-05-31T14:15:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibindaab''' === Tarjumaad === * {{en}}: treason, treachery 23695 wikitext text/x-wiki {{-so-}} == Magac == '''dibindaab''' === Tarjumaad === * {{en}}: treason, treachery 0xa79jgmv3t3bj2oz22br73vofrma7p ansixin 0 8008 31836 24919 2024-10-25T21:42:16Z Girligaanshub 3150 31836 wikitext text/x-wiki {{-so-}} == Magac == '''ansixin''' === Tarjumaad === * {{en}}: ratify, ratification ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]] 8kbul4x5b6s7h4ga8qgoxrsu2ulu8bg qalin-ku-duugid 0 8009 23697 2023-05-31T14:18:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalin-ku-duugid''' === Tarjumaad === * {{en}}: endorsement 23697 wikitext text/x-wiki {{-so-}} == Magac == '''qalin-ku-duugid''' === Tarjumaad === * {{en}}: endorsement gnu7nnu5ojsf5cl7nyvtoyop2mg75fq hamaansi 0 8010 23698 2023-06-02T19:24:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hamaansi''' === Tarjumaad === * {{en}}: yawn, yawning, 23698 wikitext text/x-wiki {{-so-}} == Magac == '''hamaansi''' === Tarjumaad === * {{en}}: yawn, yawning, e1i8vlp45105qoehn1xlcyhrzile1gz iljibis 0 8011 23699 2023-06-02T19:24:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iljibis''' === Tarjumaad === * {{en}}: wink, winking 23699 wikitext text/x-wiki {{-so-}} == Magac == '''iljibis''' === Tarjumaad === * {{en}}: wink, winking mt3kjzgpytust782toc2rkx36odak8w indha nibiqsi 0 8012 23700 2023-06-02T19:25:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indha nibiqsi''' === Tarjumaad === * {{en}}: blink 23700 wikitext text/x-wiki {{-so-}} == Magac == '''indha nibiqsi''' === Tarjumaad === * {{en}}: blink qw2fp8zf5hpw6laytxk03ket33kdmus dhayactir 0 8014 23703 2023-06-05T11:24:37Z Girligaanshub 3150 Girligaanshub moved page [[dhayactir]] to [[dayactir]] 23703 wikitext text/x-wiki #REDIRECT [[dayactir]] c3bvewwbufjrf3a586fpd2nz2ars3pl dayac 0 8015 23704 2023-06-05T11:25:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dayac''' === Tarjumaad === * {{en}}: neglect 23704 wikitext text/x-wiki {{-so-}} == Magac == '''dayac''' === Tarjumaad === * {{en}}: neglect ow833lr6wkyw2z11caga2jp5arim9g8 qoonday 0 8016 23707 23706 2023-06-05T11:48:21Z Girligaanshub 3150 23707 wikitext text/x-wiki {{-so-}} == Magac == '''qoonday''' === Tarjumaad === * {{en}}: allocate, allocation, earmark, arrang 8flza17s8hfd91pjq3em1tb06o2l0jk raasamaal 0 8017 23736 23708 2023-06-10T21:27:45Z Girligaanshub 3150 23736 wikitext text/x-wiki {{-so-}} == Magac == '''raasamaal''' === Tarjumaad === * {{en}}: capital, capitalist pt5szathuky769x9ujnn1bxyxn453h3 raasamaalnimo 0 8018 23730 23709 2023-06-08T23:42:09Z Girligaanshub 3150 23730 wikitext text/x-wiki {{-so-}} == Magac == '''raasamaalnimo''' === Tarjumaad === * {{en}}: capitalism, capitalist gfr2dk1ajh6nosr9tr3w4t596396e09 qiimaha sarrifka 0 8019 23711 2023-06-05T12:16:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiimaha sarrifka''' === Tarjumaad === * {{en}}: exchange rate 23711 wikitext text/x-wiki {{-so-}} == Magac == '''qiimaha sarrifka''' === Tarjumaad === * {{en}}: exchange rate 0s28o67bpoyru4bzv6ti12l4mmhj33d deyn 0 8020 23714 23713 2023-06-05T12:22:20Z Girligaanshub 3150 23714 wikitext text/x-wiki {{-so-}} == Magac == '''deyn''' === Tarjumaad === * {{en}}: debt rpt6ochou9aadlkalnkxr4lp2or2dzr amaah 0 8021 32016 23715 2024-10-27T04:09:07Z Girligaanshub 3150 32016 wikitext text/x-wiki {{-so-}} == Magac == '''amaah''' === Tarjumaad === * {{en}}: loan, borrowed, borrowing fz9auy4bg5fzicuaiz5gio16dv1fd3z gaaryeelid 0 8022 23716 2023-06-05T12:23:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaaryeelid''' === Tarjumaad === * {{en}}: privatization 23716 wikitext text/x-wiki {{-so-}} == Magac == '''gaaryeelid''' === Tarjumaad === * {{en}}: privatization le989lupgcpa7x7qtoqtrm71x84zyoa gaaryeel 0 8023 23717 2023-06-05T12:23:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaaryeel''' === Tarjumaad === * {{en}}: privatize 23717 wikitext text/x-wiki {{-so-}} == Magac == '''gaaryeel''' === Tarjumaad === * {{en}}: privatize nporp6fli9xhnzbobr8jjbnj3lwfd31 maalgashi 0 8024 27019 26763 2024-03-27T21:15:31Z Girligaanshub 3150 27019 wikitext text/x-wiki {{-so-}} == Magac == '''maalgashi''' === Tarjumaad === * {{en}}: investment, income, revenue ===Synonyms=== *[[maalgashi]], [[dakhli]] 8u9840h7ox8dbd2jaf5sb048agmdw3x dakhli 0 8025 26764 24110 2024-02-11T09:55:07Z Girligaanshub 3150 26764 wikitext text/x-wiki {{-so-}} == Magac == '''dakhli''' === Tarjumaad === * {{en}}: revenue, income, ===Synonyms=== *[[maalgashi]], [[dakhli]] g2uxiil5s8rhp3div9aizz31yp3n0pe dhuul 0 8026 23733 23731 2023-06-08T23:51:13Z Girligaanshub 3150 23733 wikitext text/x-wiki {{-so-}} == Magac == '''dhuul''' === Tarjumaad === * {{en}}: land * adolescent girl, pubescent * owner (from Arabic ( ذو ال ) 7kd86gv1odb9blp2zxm3m9wzhff9qtd Deshiishe 0 8028 30771 23735 2024-09-15T17:04:15Z Girligaanshub 3150 30771 wikitext text/x-wiki {{-so-}} == Magac == '''Deshiishe''' ===Etymology=== From Tashiil (austere / stoicism) leh (haver) === Tarjumaad === * {{en}}: tashiil leh ===Synonyms=== *[[geshiishe]] eqrb0o35skdyq76kjz5v88z1a8w9qwm leel 0 8029 30552 23739 2024-09-07T15:44:41Z Girligaanshub 3150 30552 wikitext text/x-wiki {{-so-}} == Magac == '''leel''' === Tarjumaad === * {{en}}: horse rein, horse strap, snaffle rein, rein, snaffle rein, horse muzzle tack, mecate, horse muzzle strap, ===Synonyms=== *[[caynaan]], [[leel]], [[keen]] 136utuyyqspol53c4xtnuioh1zrky9j dibdheeryo 0 8030 23756 23743 2023-06-13T01:00:39Z Kwamikagami 3157 23756 wikitext text/x-wiki {{-so-}} == Magac == '''dibdheeryo''' ([[dibdheer]]) === Tarjumaad === * {{en}}: comets 9yqgowvwfkmt8b58jilw2emhurv4ymy User talk:Kwamikagami 3 8031 27607 27563 2024-05-22T10:36:00Z Girligaanshub 3150 27607 wikitext text/x-wiki == Comet == A more common translation of comet into Somali would be [[dibdheeryo]] (plural), [[dibdheer]] (singular) [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 14:06, 12 Juun 2023 (UTC) : Here is a link for other translations of astronomical terms [http://beeshadireed.blogspot.com/2018_09_07_archive.html] [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 14:16, 12 Juun 2023 (UTC) ::Thanks! [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 18:56, 12 Juun 2023 (UTC) ::I'll update English wiktionary as well. [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 01:01, 13 Juun 2023 (UTC) == Hot word == Dear Kwamikagami, The word "[[horgal]]" with the sense / definition "astroturfer" has been a hot word in Somali social media and elsewhere over the past 2 years. Since I'm not familiar with En Wiktionary layout, could you add that definition to English wiktionary? Best, [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 06:02, 23 Diseembar 2023 (UTC) :Sure. Done. It's now connected to the article here. I assumed it's grammatically masculine. [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 20:03, 23 Diseembar 2023 (UTC) :: Thanks. Yeah, I'm about positive it is grammatically masculine. [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 01:30, 24 Diseembar 2023 (UTC) ==Prefix== Hi Kwamikagami. Would you have any idea if there is a special prefix generating page on thise Somali Wiktionary akin to https://en.wiktionary.org/wiki/Special:PrefixIndex?prefix=read&namespace=0 ? [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 01:14, 21 Mey 2024 (UTC) :Yes, it's here: [[Special:PrefixIndex]]. :If you look at the top of this page, there's "Tools" menu. Open it and scroll down and you'll see "Special pages". That's where you'll find things like this. [[User:Kwamikagami|Kwamikagami]] ([[User talk:Kwamikagami|wadahadal]]) 02:18, 21 Mey 2024 (UTC) :: Thanks. [[User:Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|wadahadal]]) 10:35, 22 Mey 2024 (UTC) ilzt09kfdd2s7lf7a4jw0jr2s3x99b3 dibdheer 0 8032 23755 23754 2023-06-13T01:00:07Z Kwamikagami 3157 /* Magac */ 23755 wikitext text/x-wiki {{-so-}} == Magac == '''dibdheer''', [[dibdheeryo]] ====La mid ah==== *[[☄]] === Tarjumaad === * {{en}}: [[comet]] b31c2aee253v1j1qmuoihleirk88eot diilimo caanood 0 8033 23747 2023-06-12T14:46:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diilimo caanood''' === Tarjumaad === * {{en}}: galaxy 23747 wikitext text/x-wiki {{-so-}} == Magac == '''diilimo caanood''' === Tarjumaad === * {{en}}: galaxy 8n0pjafkt44041a9hcwsoj7ffcfcjvq diilimo caanoodyo 0 8034 23748 2023-06-12T14:47:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diilimo caanoodyo''' === Tarjumaad === * {{en}}: galaxies 23748 wikitext text/x-wiki {{-so-}} == Magac == '''diilimo caanoodyo''' === Tarjumaad === * {{en}}: galaxies atym5afuc2qb04thbhw2mr3cwmw49a0 dhadhaab 0 8035 23749 2023-06-12T14:48:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhadhaab''' === Tarjumaad === * {{en}}: asteroid 23749 wikitext text/x-wiki {{-so-}} == Magac == '''dhadhaab''' === Tarjumaad === * {{en}}: asteroid ody8sdv2npn8l86aq1e679jmi85bcat dhadhaabyo 0 8036 23750 2023-06-12T14:48:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhadhaabyo''' === Tarjumaad === * {{en}}: asteroids 23750 wikitext text/x-wiki {{-so-}} == Magac == '''dhadhaabyo''' === Tarjumaad === * {{en}}: asteroids 6p6mj93da2tub8nch75dpq9vpa9unsh 用户 0 8040 23761 2023-06-13T03:46:34Z Apisite 3737 Apisite moved page [[用户]] to [[用戶]] 23761 wikitext text/x-wiki #REDIRECT [[用戶]] gls3zfcx67qbn9gjmg0v68nn12vso11 zuhd 0 8041 28266 28265 2024-06-14T11:59:15Z Girligaanshub 3150 28266 wikitext text/x-wiki {{-so-}} == Magac == '''zuhd''' === Tarjumaad === * {{en}}: stoicism, stoic, conservatism, utilitarianism, humble ===Synonyms=== *[[sooyaaldoon]], [[taddabur]], [[maandeeq]] 5rz06mxh9lnir0terjyx19ya2zahdpg zahid 0 8042 31797 23775 2024-10-25T20:56:37Z Girligaanshub 3150 31797 wikitext text/x-wiki {{-so-}} == Magac == '''zahid''' === Tarjumaad === * {{en}}: stoicism, stoic, conservative, utilitarian, minimalist, minimalism, humble ===Synonyms=== *[[taddabur]], is-[[milicsiga]], [[zahid]] fbm4sz5e15djzh3wxpy8075ls2k3559 User talk:181.209.99.34 3 8043 23773 2023-06-14T17:33:45Z 181.209.99.34 Mereka yang tidak telah menjadi 23773 wikitext text/x-wiki Kau tak boleh jadi 5v2b5ux9znegj927d39xg2ahj45sc0r gaandari 0 8044 23778 23777 2023-06-15T16:45:50Z Girligaanshub 3150 23778 wikitext text/x-wiki {{-so-}} == Magac == '''gaandari''' === Tarjumaad === * {{en}}: artillery observer, artillery spotter, forward observer, fire support specialist, fire support officer, gunner k04fhcaykwbv94jvy1yyae8roo4ef56 xulafo 0 8045 23779 2023-06-15T22:14:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xulafo''' === Tarjumaad === * {{en}}: ally 23779 wikitext text/x-wiki {{-so-}} == Magac == '''xulafo''' === Tarjumaad === * {{en}}: ally lt90lmqq2h77j9vkt0wat630z8nm4f7 xulafada 0 8046 23781 23780 2023-06-15T22:15:56Z Girligaanshub 3150 23781 wikitext text/x-wiki {{-so-}} == Magac == '''xulafada''' === Tarjumaad === * {{en}}: allies tb2gunxeh36pt7ftwul07h0z1um6w8e xulafadeed 0 8047 23782 2023-06-15T22:16:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xulafadeed''' === Tarjumaad === * {{en}}: allied 23782 wikitext text/x-wiki {{-so-}} == Magac == '''xulafadeed''' === Tarjumaad === * {{en}}: allied o4sy50yf6uv0p3ren4onyhhjeatc4m6 faaxisha 0 8048 24820 23787 2023-09-10T09:28:26Z Girligaanshub 3150 24820 wikitext text/x-wiki {{-so-}} == Magac == '''faaxisha''' === Tarjumaad === * {{en}}: degeneracy, indecency, lewdness, promiscuity, licentiousness bei1w65sfkz0bggqoyjmbx8mgtkf1tn sữa 0 8049 23789 2023-06-19T07:15:45Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''sữa''' [[caano]] 23789 wikitext text/x-wiki {{-vi-}} === Magac === '''sữa''' [[caano]] p49xuk5ek2v8nvjgndte1whwq9nmjk2 chó 0 8050 23790 2023-06-19T07:16:59Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''chó''' [[eey]] 23790 wikitext text/x-wiki {{-vi-}} === Magac === '''chó''' [[eey]] 4alatb7wrhyg0luazjanom4webgnd9h mèo 0 8051 23791 2023-06-19T07:17:28Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''mèo''' [[bisad]] 23791 wikitext text/x-wiki {{-vi-}} === Magac === '''mèo''' [[bisad]] bp821ca8g59sgnoly8boy4fvqby4a2m 0 8052 23792 2023-06-19T07:18:19Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''gà''' [[digaag]] 23792 wikitext text/x-wiki {{-vi-}} === Magac === '''gà''' [[digaag]] rr6fkdcdkrwnaf1l93ejsxulwt0w690 lợn 0 8053 23793 2023-06-19T07:19:23Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''lợn''' [[doofaarka]] 23793 wikitext text/x-wiki {{-vi-}} === Magac === '''lợn''' [[doofaarka]] a319nr8ey2xil6wq42ii3ii0i5qoofu vịt 0 8054 23794 2023-06-19T07:21:02Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''vịt''' [[shinbiraha]] 23794 wikitext text/x-wiki {{-vi-}} === Magac === '''vịt''' [[shinbiraha]] gpyyao9oa61sne3063y535f89qvuj8m khỉ 0 8055 23795 2023-06-19T07:22:35Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''khỉ''' [[daanyeer]] 23795 wikitext text/x-wiki {{-vi-}} === Magac === '''khỉ''' [[daanyeer]] czf8aw69bsubhjh1beqb111wjpcd33y voi 0 8056 23796 2023-06-19T07:23:05Z WhoAlone 3317 Bog cusub: {{-vi-}} === Magac === '''voi''' [[maroodi]] 23796 wikitext text/x-wiki {{-vi-}} === Magac === '''voi''' [[maroodi]] o57iu9a3dnsyxfcfumha7pbpr9mz8fn iska dhig 0 8057 23797 2023-06-19T20:08:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iska dhig''' === Tarjumaad === * {{en}}: pretend, larp, larping 23797 wikitext text/x-wiki {{-so-}} == Magac == '''iska dhig''' === Tarjumaad === * {{en}}: pretend, larp, larping o9725hvvr42sf1ozfq32ps1ag9qvvzd shiishbarta 0 8059 23799 2023-06-19T21:02:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiishbarta''' === Tarjumaad === * {{en}}: target practise, weapon aiming 23799 wikitext text/x-wiki {{-so-}} == Magac == '''shiishbarta''' === Tarjumaad === * {{en}}: target practise, weapon aiming lpk5ftuhpnz98yadqh8uuf2brf6ni4d shiishbaranaya 0 8060 23800 2023-06-19T21:03:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiishbaranaya''' === Tarjumaad === * {{en}}: target practise, weapon aiming 23800 wikitext text/x-wiki {{-so-}} == Magac == '''shiishbaranaya''' === Tarjumaad === * {{en}}: target practise, weapon aiming 5aa86py36z99wo0lcu62ota38wd0vrt darxumo 0 8067 23815 2023-06-22T11:54:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == magac == '''darxumo''' === Tarjumaad === * {{en}}: hardship, 23815 wikitext text/x-wiki {{-so-}} == magac == '''darxumo''' === Tarjumaad === * {{en}}: hardship, srtc380l8sfh5673jfq8duxg7kjfjih silic 0 8068 23816 2023-06-22T11:54:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == magac == '''silic''' === Tarjumaad === * {{en}}: misery, 23816 wikitext text/x-wiki {{-so-}} == magac == '''silic''' === Tarjumaad === * {{en}}: misery, cdbp2wwfmgv9lwk38fo6c19h5v60jjk anfariir 0 8069 23822 23817 2023-06-22T12:09:47Z Girligaanshub 3150 23822 wikitext text/x-wiki {{-so-}} == Magac == '''anfariir''' === Tarjumaad === * {{en}}: startle, alarm, perturb, unsettled, anxiety, agitation, apprehension, consternation, unease, suspense, nervous, nervousness, panic, anxious 8knbbyl3ihhk5avn6094kem86febohw qarracan 0 8070 31394 23818 2024-10-07T20:50:56Z Girligaanshub 3150 31394 wikitext text/x-wiki {{-so-}} == Magac == '''qarracan''' === Tarjumaad === * {{en}}: shock ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] 1d5mdbpn658k4h7le6g77y2qatnaldl qoomamo 0 8071 23820 2023-06-22T12:08:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoomamo''' === Tarjumaad === * {{en}}: regret, remorse 23820 wikitext text/x-wiki {{-so-}} == Magac == '''qoomamo''' === Tarjumaad === * {{en}}: regret, remorse 3ytpnkpy86vouwrb0iw3qvx53e4sbb5 amakaag 0 8072 31397 30423 2024-10-07T20:51:50Z Girligaanshub 3150 31397 wikitext text/x-wiki {{-so-}} == Magac == '''amakaag''' === Tarjumaad === * {{en}}: astonished, amazed, shock ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] o1s2q5q9v7zhyvl3pd39wr9dfjk1u8j hoog 0 8073 23823 2023-06-22T12:10:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoog''' === Tarjumaad === * {{en}}: destruction, tragedy 23823 wikitext text/x-wiki {{-so-}} == Magac == '''hoog''' === Tarjumaad === * {{en}}: destruction, tragedy 3r4bztud4nggi45mgbhd9rcfu1pjwtf iswaafajin 0 8074 23824 2023-06-22T12:25:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iswaafajin''' === Tarjumaad === * {{en}}: harmonization, harmony, tranquility, calm, serenity, 23824 wikitext text/x-wiki {{-so-}} == Magac == '''iswaafajin''' === Tarjumaad === * {{en}}: harmonization, harmony, tranquility, calm, serenity, 0c40x4idkch3de2ulobpt7qgrt7008c kalafogaansho 0 8075 23825 2023-06-22T12:26:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalafogaansho''' === Tarjumaad === * {{en}}: polarization, 23825 wikitext text/x-wiki {{-so-}} == Magac == '''kalafogaansho''' === Tarjumaad === * {{en}}: polarization, iqe6aut2bfuf2n7fbjwoj2jeoc2mki0 soosaare 0 8076 23826 2023-06-22T12:27:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''soosaare''' === Tarjumaad === * {{en}}: producer, 23826 wikitext text/x-wiki {{-so-}} == Magac == '''soosaare''' === Tarjumaad === * {{en}}: producer, 3gbgt8bmci66ruahpmnenuhbgf328ib tifaftire 0 8077 28907 28899 2024-07-25T02:52:32Z Girligaanshub 3150 28907 wikitext text/x-wiki {{-so-}} == Magac == '''tifafire''' === Tarjumaad === * {{en}}: editor, commentator, columnist, proofreader ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], 0nhpmiaqmacr1qyrac4t7u16q23orq6 taya-dhowr 0 8078 23828 2023-06-22T12:36:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taya-dhowr''' === Tarjumaad === * {{en}}: quality assurance 23828 wikitext text/x-wiki {{-so-}} == Magac == '''taya-dhowr''' === Tarjumaad === * {{en}}: quality assurance pehqy6h11637x0nwuhf1ok81k2itp2t isku-joog qorraxda 0 8079 23829 2023-06-22T13:19:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isku-joog qorraxda''' === Tarjumaad === * {{en}}: solar system 23829 wikitext text/x-wiki {{-so-}} == Magac == '''isku-joog qorraxda''' === Tarjumaad === * {{en}}: solar system e2ozs52laccfoio23aki1987zqhs5cv meere 0 8080 29720 23830 2024-08-08T16:05:48Z Girligaanshub 3150 29720 wikitext text/x-wiki {{-so-}} == Magac == '''meere''' === Tarjumaad === * {{en}}: planet, * {{en}}: wanderer skxph2lgtzogvf9ugjcgk8ufpfde07k malluug 0 8081 23831 2023-06-22T13:21:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malluug''' === Tarjumaad === * {{en}}: planet, 23831 wikitext text/x-wiki {{-so-}} == Magac == '''malluug''' === Tarjumaad === * {{en}}: planet, 2ca5n0bs08ycbwe6t776nyc65kwijmo meere cillin 0 8082 23832 2023-06-22T13:25:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meere cillin''' === Tarjumaad === * {{en}}: dwarf plant 23832 wikitext text/x-wiki {{-so-}} == Magac == '''meere cillin''' === Tarjumaad === * {{en}}: dwarf plant q6gdh790x71nj8hcij38mrt9a50gvmr shiidmadoobe 0 8083 23833 2023-06-22T13:26:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiidmadoobe''' === Tarjumaad === * {{en}}: meteorite 23833 wikitext text/x-wiki {{-so-}} == Magac == '''shiidmadoobe''' === Tarjumaad === * {{en}}: meteorite 6l7qlzubi4tje5jyvfs6lozsmzw0a01 xawliga 0 8084 23834 2023-06-22T13:46:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawliga''' === Tarjumaad === * {{en}}: speed 23834 wikitext text/x-wiki {{-so-}} == Magac == '''xawliga''' === Tarjumaad === * {{en}}: speed qbwtc81uzucx39mbwxn857fe130c4sw koonka 0 8085 23836 23835 2023-06-22T13:47:27Z Girligaanshub 3150 23836 wikitext text/x-wiki {{-so-}} == Magac == '''koonka''' === Tarjumaad === * {{en}}: universe, cosmos 4pk0p4aov6mh8k0h6tsc6jyh0gzorjq shucaac 0 8086 25133 24057 2023-09-26T14:26:06Z Girligaanshub 3150 25133 wikitext text/x-wiki {{-so-}} == Magac == '''shucaac''' === Tarjumaad === * {{en}}: light spectrum, ray of light, light beam, sun ray, sun radiation jhkbewl70vvuhbgij346aeiptvu9ljm sahminta 0 8087 28942 23838 2024-07-27T14:29:50Z Girligaanshub 3150 28942 wikitext text/x-wiki {{-so-}} == Magac == '''sahminta''' === Tarjumaad === * {{en}}: exploration, ===Synonyms=== *[[sahminta]], [[sahamin]], [[sahaminta]] ixojrv683pnfopu2mnijwbfjfodetuw dayaxgacmeed 0 8088 23839 2023-06-22T16:10:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dayaxgacmeed''' === Tarjumaad === * {{en}}: satellite, 23839 wikitext text/x-wiki {{-so-}} == Magac == '''dayaxgacmeed''' === Tarjumaad === * {{en}}: satellite, fwxhr0h5nzz0o07zbp7zn3g5px6fl32 badmaax 0 8089 30183 25743 2024-08-24T03:18:14Z Girligaanshub 3150 30183 wikitext text/x-wiki {{-so-}} == Magac == '''badmaax''' === Tarjumaad === * {{en}}: sailor, seaman, seafarer, seafaring man, mariner, boatman, yachtsman ===Synonyms=== *[[saaqid]], [[badmaax]], [[dhartol]] 53hm4bs14zuyrgf406hvb3x91cda8yu cir-maax 0 8090 23844 23841 2023-06-22T16:17:38Z Girligaanshub 3150 23844 wikitext text/x-wiki {{-so-}} == Magac == '''cir-maax''' === Tarjumaad === * {{en}}: astronaut, cosmonaut, pilot eipodh30mi6hoxsh1eqwxm8uxh15tir cirmaax 0 8091 23843 23842 2023-06-22T16:17:25Z Girligaanshub 3150 23843 wikitext text/x-wiki {{-so-}} == Magac == '''cirmaax''' === Tarjumaad === * {{en}}: astronaut, cosmonaut, pilot ikj3cgq63cecgmaquhpcj2jkai0u8k6 rugo 0 8092 28152 26660 2024-06-10T00:43:22Z Girligaanshub 3150 28152 wikitext text/x-wiki {{-so-}} == Magac == '''rugo''' === Tarjumaad === * {{en}}: turn, switch * {{en}}: observatory, overlook, watchtower, lighthouse ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], 0xp7polneemu0k5h4lw3sgr0e9o5n3n doorbin 0 8093 23846 2023-06-22T17:04:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''doorbin''' === Tarjumaad === * {{en}}: telescope 23846 wikitext text/x-wiki {{-so-}} == Magac == '''doorbin''' === Tarjumaad === * {{en}}: telescope icbcuf0h7vjyobb0l3q5flyd9qc3x06 ugxan 0 8094 23847 2023-06-22T17:06:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ugxan''' === Tarjumaad === * {{en}}: spherical 23847 wikitext text/x-wiki {{-so-}} == Magac == '''ugxan''' === Tarjumaad === * {{en}}: spherical 9dhefr6631h4ydgdlz4e2glez8s79rq udub-wareeg 0 8095 23848 2023-06-22T17:08:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''udub-wareeg''' === Tarjumaad === * {{en}}: rotate 23848 wikitext text/x-wiki {{-so-}} == Magac == '''udub-wareeg''' === Tarjumaad === * {{en}}: rotate 26tzwv0xthacux5n0zxe4zx4je3dk0a qudbi 0 8096 23849 2023-06-22T17:09:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qudbi''' === Tarjumaad === * {{en}}: pole, post, rod 23849 wikitext text/x-wiki {{-so-}} == Magac == '''qudbi''' === Tarjumaad === * {{en}}: pole, post, rod o5lsv68vacqbbt1i4bkqsbk8i2sc81m qudbiga waqooyi 0 8097 23850 2023-06-22T17:10:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qudbiga waqooyi''' === Tarjumaad === * {{en}}: north pole 23850 wikitext text/x-wiki {{-so-}} == Magac == '''qudbiga waqooyi''' === Tarjumaad === * {{en}}: north pole tpyzn30od55lgsoz71ys4dpvaqyr9eo qudbiga koonfur 0 8098 23851 2023-06-22T17:10:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qudbiga koonfur''' === Tarjumaad === * {{en}}: south pole 23851 wikitext text/x-wiki {{-so-}} == Magac == '''qudbiga koonfur''' === Tarjumaad === * {{en}}: south pole djozdlcvh575sf44o6k68yqfx513nbf bar 0 8099 28822 28601 2024-07-21T20:29:19Z Girligaanshub 3150 28822 wikitext text/x-wiki {{-so-}} == Magac == '''bar''' === Tarjumaad === * {{en}}: teach * {{en}}: place, spot ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] e3h7i3btyid8ykyxhltkvxajz581bna dhulbaraha 0 8100 23853 2023-06-22T17:12:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhulbaraha''' === Tarjumaad === * {{en}}: equator 23853 wikitext text/x-wiki {{-so-}} == Magac == '''dhulbaraha''' === Tarjumaad === * {{en}}: equator kre8pqbe7734p2xwnv9ftl2rzdqv7se bu' 0 8101 23854 2023-06-22T17:17:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bu''' === Tarjumaad === * {{en}}: core 23854 wikitext text/x-wiki {{-so-}} == Magac == '''bu''' === Tarjumaad === * {{en}}: core 8m668l1jv0zo2htvc8cd993pwtf3mn8 hab-xisaab 0 8102 23857 2023-06-22T17:41:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habxisaab''' === Tarjumaad === * {{en}}: formula, equation, code, preparation, method 23857 wikitext text/x-wiki {{-so-}} == Magac == '''habxisaab''' === Tarjumaad === * {{en}}: formula, equation, code, preparation, method 4s11x42g2sm10fz5zef40xn50daf3i6 mareegta 0 8103 23859 2023-06-22T17:43:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mareegta''' === Tarjumaad === * {{en}}: circuit 23859 wikitext text/x-wiki {{-so-}} == Magac == '''mareegta''' === Tarjumaad === * {{en}}: circuit 2kn7phbr3qf7h131q8dycd2tner79hw xowli 0 8104 23860 2023-06-22T17:53:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xowli''' === Tarjumaad === * {{en}}: accelerate, acceleration, 23860 wikitext text/x-wiki {{-so-}} == Magac == '''xowli''' === Tarjumaad === * {{en}}: accelerate, acceleration, h7izijhfso6g1o8w5fuaezx581xqlj6 cutub 0 8105 31589 30974 2024-10-16T04:07:20Z Girligaanshub 3150 31589 wikitext text/x-wiki {{-so-}} == Magac == '''cutub''' === Tarjumaad === * {{en}}: chapter, segment, content, unit ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] cpuhjr8e1h6m75evg7v6sznpfz2m44v karaar 0 8106 23862 2023-06-22T18:06:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karaar''' === Tarjumaad === * {{en}}: accelerate, acceleration 23862 wikitext text/x-wiki {{-so-}} == Magac == '''karaar''' === Tarjumaad === * {{en}}: accelerate, acceleration qvn6x7klf49ri7uzssgob6wgajp9h5h keynaan 0 8107 23863 2023-06-22T18:06:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keynaan''' === Tarjumaad === * {{en}}: velocity 23863 wikitext text/x-wiki {{-so-}} == Magac == '''keynaan''' === Tarjumaad === * {{en}}: velocity lf3ylgyanguputbp4nndk6fyagwszhy xawaare 0 8108 23864 2023-06-22T18:07:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawaare''' === Tarjumaad === * {{en}}: speed 23864 wikitext text/x-wiki {{-so-}} == Magac == '''xawaare''' === Tarjumaad === * {{en}}: speed q9zbh23a6xdrxxdnt7hn1ghz1kzx84w hago 0 8109 23875 23874 2023-06-27T15:02:01Z Girligaanshub 3150 Noqay bedelaadka [[Special:Diff/23874|23874]] ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 23875 wikitext text/x-wiki {{-so-}} == Magac == '''hago''' === Tarjumaad === * {{en}}: direct d1ipndnmuywkhpfc4r7aslepwze7ep4 halabuur 0 8110 31152 31150 2024-10-04T13:05:47Z Girligaanshub 3150 31152 wikitext text/x-wiki {{-so-}} == Magac == '''halabuur''' === Tarjumaad === * {{en}}: innovate, enterprise, create, pioneer m8xp7lfr91kqgei73tizj2o6ma4slry karaamo 0 8111 28420 24312 2024-06-15T18:08:58Z Girligaanshub 3150 28420 wikitext text/x-wiki {{-so-}} == Magac == '''karaamo''' === Tarjumaad === * {{en}}: dignity, honour, ego, pride, confidence, self-worth, self-respect, pride, prestige, social status, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], chtwutkzs7l7352b7kvhxgb9fug9tc2 nawaaxiga 0 8112 23877 2023-06-27T15:03:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nawaaxiga''' === Tarjumaad === * {{en}}: surroundings, hinterlands 23877 wikitext text/x-wiki {{-so-}} == Magac == '''nawaaxiga''' === Tarjumaad === * {{en}}: surroundings, hinterlands th1sjrinrosb030dmcfvqmu4er79qy2 kala-soocid 0 8113 26184 23880 2023-12-05T23:25:09Z Girligaanshub 3150 26184 wikitext text/x-wiki {{-so-}} == Magac == '''kala soocid''' === Tarjumaad === * {{en}}: differentiation, social stratification * {{en}}: prejudice rngcn41busxn14la60mybg1lg5zo3ph dhulhante 0 8114 23882 2023-06-28T19:12:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhulhante''' === Tarjumaad === * {{en}}: capitalism, 23882 wikitext text/x-wiki {{-so-}} == Magac == '''dhulhante''' === Tarjumaad === * {{en}}: capitalism, bz8xyei471qumjzegns88llg6cya5mf doraad 0 8115 31003 25159 2024-09-30T14:02:50Z Girligaanshub 3150 31003 wikitext text/x-wiki {{-so-}} == Magac == '''doraad''' === Tarjumaad === * {{en}}: day before yesterday, two days ago, couple days ago, nudiustertian, ereyesterday, penultimate bpgj5yl18z42q0lygz5hk6a6y4va6pf dulmane 0 8116 24126 23888 2023-08-04T12:26:27Z Girligaanshub 3150 24126 wikitext text/x-wiki {{-so-}} ==Magac== '''dulmane''' ===Tarjumaad=== *{{en}}: victim, black sheep, scapegoat ===Synonyms=== *[[dhibane]] shcm7sv3bj85pe2uusws6u64pz94but kaftan 0 8117 28058 27060 2024-06-08T22:44:00Z Girligaanshub 3150 28058 wikitext text/x-wiki {{-so-}} == Magac == '''kaftan''' === Tarjumaad === * {{en}}: , joke, ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] mfybly3rad83mr5yvrnwpo79bjtxsmi gabasho 0 8118 31837 31756 2024-10-25T21:43:59Z Girligaanshub 3150 31837 wikitext text/x-wiki {{-so-}} == Magac == '''gabasho''' === Tarjumaad === * {{en}}: evading, shirking, slacking, neglecting, dodging, pacifism, passive, passivity, passiveness, turn a blind eye, ===Synonyms=== *[[dhuumo]], [[dhuun]], [[gabasho]], b6wdfjwxtj6h9l25win7qr0nrufv3ts dhaanto 0 8119 31324 23904 2024-10-04T19:16:12Z Girligaanshub 3150 31324 wikitext text/x-wiki {{-so-}} == Magac == '''dhaanto''' === Tarjumaad === * {{en}}: kablalax hirwo (dance) 9jfcranmpyqsfr2ggprilmth1z8f7qq tafaraaruq 0 8120 24928 24925 2023-09-15T20:34:51Z Girligaanshub 3150 24928 wikitext text/x-wiki {{-so-}} == Magac == '''tafaraaruq''' === Tarjumaad === * {{en}}: disunity, disagreement, dissent, dissension, discord, division, disharmony, acrimony, disaccord, discordance, division, iffy, tentative, undecided, unsettled, unsure, unreliable, unresolved, flexible, infirm, infirmity, flaccidity, flaccid, fluid, fluidity, malleable, malleability, dynamism, dynamic, ===Antonyms=== *[[maro-ku-dheg]], [[jirid]], [[daa'im]] ===Synonyms=== *[[tafaraaruq]], [[laan]], [[debecsan]] 62h1bkvrg8ozrkkpirpz5m46ngosuiy ansixi 0 8121 29065 23915 2024-07-29T03:13:31Z Girligaanshub 3150 29065 wikitext text/x-wiki {{-so-}} == Magac == '''ansixi''' === Tarjumaad === * {{en}}: ratify, ratification, validation, approved, approve, popular, accept, accepted, favour, favor, favoured, legitimate, legitimize, sanction 50rzp0zi46syp5h6kxabxrwecw7dhks ansaxi 0 8122 31149 31148 2024-10-04T13:00:00Z Girligaanshub 3150 31149 wikitext text/x-wiki {{-so-}} == Magac == '''ansaxi''' === Tarjumaad === * {{en}}: ratify, ratification, validation, approved, approve, accept, accepted, favour, favor, favoured, legitimate, legitimize, popularize, normalize s28n48gtznfzxyud76o3oz2smoy0tw0 ansaxin 0 8123 23917 2023-07-05T12:48:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ansaxin''' === Tarjumaad === * {{en}}: ratify, ratification, validation, approved, approve, popular, accept, accepted, favour, favor, favoured, legitimate, legitimize, 23917 wikitext text/x-wiki {{-so-}} == Magac == '''ansaxin''' === Tarjumaad === * {{en}}: ratify, ratification, validation, approved, approve, popular, accept, accepted, favour, favor, favoured, legitimate, legitimize, 0k1ctjsb9qxdg0donn1icuekq7r0r7f fiqi 0 8124 23926 2023-07-08T06:03:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiqi''' === Tarjumaad === * {{en}}: sheik, imam 23926 wikitext text/x-wiki {{-so-}} == Magac == '''fiqi''' === Tarjumaad === * {{en}}: sheik, imam 5h4vg0po4hhtngokyb26p0c2hleqald shaaci 0 8125 28862 26071 2024-07-22T03:43:17Z Girligaanshub 3150 28862 wikitext text/x-wiki {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: trend, orient, announce, promote, encourage, advance, advocate k44hvlj56js74ntn4oas4zt3aqtica1 beer-jilcis 0 8126 23930 2023-07-10T02:05:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beer-jilcis''' === Tarjumaad === * {{en}}: empathetic, emotional, apathy, passive, complacency, appeasing, self-abasement, self-debase, self-deprecating, self-deprecatory, self-effacing 23930 wikitext text/x-wiki {{-so-}} == Magac == '''beer-jilcis''' === Tarjumaad === * {{en}}: empathetic, emotional, apathy, passive, complacency, appeasing, self-abasement, self-debase, self-deprecating, self-deprecatory, self-effacing oigr3ctr1jajbcjr09hw1vv902e3tl4 munaasib 0 8127 30244 30238 2024-08-24T16:18:19Z Girligaanshub 3150 30244 wikitext text/x-wiki {{-so-}} == Magac == '''munaasib''' === Tarjumaad === * {{en}}: proper, appropriate, convenient, suitable, convenience, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] fcfr0gdklttvh9x0palhkadj3osaw8g qoolley 0 8128 32447 31763 2024-11-15T10:22:45Z Girligaanshub 3150 32447 wikitext text/x-wiki {{-so-}} == Magac == '''qoolley''' === Tarjumaad === * {{en}}: dove, pigeon, * {{en}}, pacifist, passive, appeaser, ===Synonyms=== *[[coodtabin]], [[qoolley]], [[nabaddoon]] ml3kikm5ex9a1paurzhbcushyj2qsbf xamaasad 0 8129 28506 28491 2024-06-15T23:48:08Z Girligaanshub 3150 28506 wikitext text/x-wiki {{-so-}} == Magac == '''xamaasad''' === Tarjumaad === * {{en}}: entusiasm, passionate, excited, enthusiastic, animated, ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]] r8xe9w12ufvf5jpp8kdnxvgpag3622v tafaraaruqnimo 0 8130 23938 2023-07-13T23:32:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tafaraaruq''' === Tarjumaad === * {{en}}: indecisiveness, unsure, hesitance, tentative, doubtfulness, doubtful, wavering, disunity, disagreement, dissent, dissension, discord, division, disharmony, acrimony, disaccord, discordance, 23938 wikitext text/x-wiki {{-so-}} == Magac == '''tafaraaruq''' === Tarjumaad === * {{en}}: indecisiveness, unsure, hesitance, tentative, doubtfulness, doubtful, wavering, disunity, disagreement, dissent, dissension, discord, division, disharmony, acrimony, disaccord, discordance, emmhnh41ojpg7qxrhkz8ksgfj0oxocp mashruuc 0 8131 31078 27597 2024-10-04T07:20:51Z Girligaanshub 3150 31078 wikitext text/x-wiki {{-so-}} == Magac == '''mashruuc''' === Tarjumaad === * {{en}}: project, enterprise, plan, program, scheme, proposal, strategy, venture ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] k6k4y9mi40wg6y9rdgv0ixnp4q01d00 oraah 0 8132 30713 27959 2024-09-11T03:35:09Z Girligaanshub 3150 30713 wikitext text/x-wiki {{-so-}} == Magac == '''oraah''' === Tarjumaad === * {{en}}: quote, expression, saying, note, comment, commentary ===Synonyms=== *[[qisad]], [[oraah]], [[halhay]], [[faallo]], [[faallada]] 6sbydlw6rg7nofp04bd06yb6td8kldq tusaha 0 8133 23941 2023-07-14T23:35:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tusaha''' === Tarjumaad === * {{en}}: directory 23941 wikitext text/x-wiki {{-so-}} == Magac == '''tusaha''' === Tarjumaad === * {{en}}: directory 45bp4h7mtlqttlu7v1tg9n9nujhuid4 ururin 0 8134 23942 2023-07-14T23:36:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ururin''' === Tarjumaad === * {{en}}: collection 23942 wikitext text/x-wiki {{-so-}} == Magac == '''ururin''' === Tarjumaad === * {{en}}: collection 6pwbka0zkt3f7mnighvc3o06b2h173i qanacsan 0 8135 28509 28505 2024-06-16T00:05:30Z Girligaanshub 3150 28509 wikitext text/x-wiki {{-so-}} == Magac == '''qanacsan''' === Tarjumaad === * {{en}}: satisfactory, satisfied, appreciate, appreciated ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]], [[qanacsanaan]] 2mnkieqf5ifomdp0jpgm332pzl8hxr6 laftiga 0 8136 24198 24196 2023-08-09T21:10:48Z Girligaanshub 3150 24198 wikitext text/x-wiki {{-so-}} == Magac == '''laftiga''' === Tarjumaad === * {{en}}: self ===Synonyms=== *[[aayo]], [[laftarka]] rm5mii4ihfnabf4bwje5llartsvfeot hal bacaad lagu lisay 0 8137 32129 29199 2024-10-28T06:21:40Z Girligaanshub 3150 32129 wikitext text/x-wiki {{-so-}} == Magac == '''hal bacaad lagu lisay''' === Tarjumaad === * {{en}}: aimless, fruitless, pointless, waste of time, unconstructive, superfluous, useless, worthless, unproductive, ===Synonyms=== *[[dib-u-dhac]], [[hal bacaad lagu lisay]] ===Synonyms=== *[[hal bacaad lagu lisay]], [[dhantaalo]], [[dhantaalidda]] cx2dih350wo7kgxg4fh9kxulkr86jwu malaaq 0 8138 23964 2023-07-16T03:43:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malaaq''' === Tarjumaad === * {{en}}: monarch 23964 wikitext text/x-wiki {{-so-}} == Magac == '''malaaq''' === Tarjumaad === * {{en}}: monarch aqqayuy47vn3a9nj3mpya09u43k8nks dhuun 0 8139 31754 30469 2024-10-25T19:02:29Z Girligaanshub 3150 31754 wikitext text/x-wiki {{-so-}} == Magac == '''dhuun''' === Tarjumaad === * {{en}}: duct * {{en}}: pipe, hose * {{en}}: hide, conceal, camouflage, save face, preserve one's honor, preserve one's dignity, augment prestige, avoid dishonor, damage control, * {{en}}: throat ([[dhuunta]]) ===Synonyms=== *[[dhuumo]], [[dhuun]], [[gabasho]], k5lumezg1a1rk4gq4shqmr5gi7ap803 farxalka 0 8140 23969 2023-07-18T02:36:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farxalka''' === Tarjumaad === * {{en}}: sink, basin, faucet, dishwasher, 23969 wikitext text/x-wiki {{-so-}} == Magac == '''farxalka''' === Tarjumaad === * {{en}}: sink, basin, faucet, dishwasher, grzk6qxcqcnij944n9kjwshgqu3uy26 bullaacad 0 8141 23980 23970 2023-07-18T21:36:04Z Girligaanshub 3150 /* Tarjumaad */ 23980 wikitext text/x-wiki {{-so-}} == Magac == '''bullaacad''' === Tarjumaad === * {{en}}: drainage, sewerage, bilge, effluent, effluvium, waste, and drain water. ===Synonyms=== *[[fayadhowr]] fijlh9oadzzb4326slmyod7c66dvt7i fayadhowr 0 8142 25827 23981 2023-11-09T05:14:29Z Girligaanshub 3150 25827 wikitext text/x-wiki {{-so-}} == Magac == '''fayadhowr''' === Tarjumaad === * {{en}}: sanitation, sewage, cleanliness, hygiene, asepsis, disinfection, sterilise, sterilisation, hygienics, disinfect, sterilize, sanitize ===Synonyms=== *[[bullaacad]] e3odzcubqst6udjvjsl2ow59rjo8jfp qasabad 0 8143 23973 2023-07-18T02:42:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qasabad''' === Tarjumaad === * {{en}}: faucet, tap, hydrant, spout 23973 wikitext text/x-wiki {{-so-}} == Magac == '''qasabad''' === Tarjumaad === * {{en}}: faucet, tap, hydrant, spout oinlskilrw7lg7c3symtmoqhgpdv9m3 xareed 0 8144 26648 23974 2024-01-31T03:33:29Z Girligaanshub 3150 26648 wikitext text/x-wiki {{-so-}} == Magac == '''xareed''' === Tarjumaad === * {{en}}: petrichor, organic fsv6p3b5fgxgk1bxonxtktf5a621jql saxansaxo 0 8145 23975 2023-07-18T19:17:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxansaxo''' === Tarjumaad === * {{en}}: petrichor, tranquility, chrysalism 23975 wikitext text/x-wiki {{-so-}} == Magac == '''saxansaxo''' === Tarjumaad === * {{en}}: petrichor, tranquility, chrysalism 4y6wk4ao9kxeb4wne308toc5840ztgp shirk 0 8146 32774 32415 2024-12-01T15:45:07Z Girligaanshub 3150 32774 wikitext text/x-wiki {{-so-}} == Magac == '''shirk''' === Tarjumaad === * {{en}}: impossible, blasphemous, blasphemy, sacrilege, sacrilegious, obnoxious, sacrilege, idolatry, polytheism ===Synonyms=== * [[shirk]], [[xaaraan]], [[mustaxiil]], [[nijaasayn]], [[baatil]] ru0jajmeud695uza9e386afd9glsuo4 dhaqancelis 0 8147 23982 2023-07-19T04:02:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqancelis''' === Tarjumaad === * {{en}}: rehab, rehabilitation 23982 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqancelis''' === Tarjumaad === * {{en}}: rehab, rehabilitation 13i50fnxypkf2u2mrnt9qtkbkujkic9 dhaqanceli 0 8148 31292 28444 2024-10-04T16:46:25Z Girligaanshub 3150 31292 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqanceli''' === Tarjumaad === * {{en}}: rehabilitate, ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] 61cmjpbzouqkisvavu6gqzpa9xudfvx boog 0 8149 23984 2023-07-19T10:59:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boog''' === Tarjumaad === * {{en}}: wound, ulcer, blister, laceration 23984 wikitext text/x-wiki {{-so-}} == Magac == '''boog''' === Tarjumaad === * {{en}}: wound, ulcer, blister, laceration s7105hsczk05g4rnn1pxdjzlkbrhz29 dufcad 0 8150 31592 30967 2024-10-16T04:08:16Z Girligaanshub 3150 31592 wikitext text/x-wiki {{-so-}} == Magac == '''dufcad''' === Tarjumaad === * {{en}}: batch, array, assortment, collection, ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] n1lckztjfknphp2hf01cexkfs9waj27 gardaran 0 8151 23987 2023-07-19T23:39:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gardaran''' === Tarjumaad === * {{en}}: injustice, unjust 23987 wikitext text/x-wiki {{-so-}} == Magac == '''gardaran''' === Tarjumaad === * {{en}}: injustice, unjust 7ue2vq69ede6p33ndx8fmenaq2zqm2b bulsho 0 8152 23988 2023-07-20T07:18:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bulsho''' === Tarjumaad === * {{en}}: society 23988 wikitext text/x-wiki {{-so-}} == Magac == '''bulsho''' === Tarjumaad === * {{en}}: society emlyzun6hvdmu0g3of099n9xud4byyi wada-garasho 0 8153 23990 2023-07-20T21:31:06Z Girligaanshub 3150 Girligaanshub moved page [[wada-garasho]] to [[af-garasho]] 23990 wikitext text/x-wiki #REDIRECT [[af-garasho]] 5ncebnx3nunu5b54fa1m4mjro2dptzf af-garad 0 8154 23991 2023-07-20T21:32:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''af-garad''' === Tarjumaad === * {{en}}: rapport, 23991 wikitext text/x-wiki {{-so-}} == Magac == '''af-garad''' === Tarjumaad === * {{en}}: rapport, 8xvx0uin7dczv5yi55lmmmfngths26i feker 0 8155 28180 23997 2024-06-12T19:28:12Z Girligaanshub 3150 28180 wikitext text/x-wiki {{-so-}} == Magac == '''feker''' === Tarjumaad === * {{en}}: thought, think ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] f3dfyqpj0s8oj56qg0gsf93sd6ryglt caadifad 0 8156 28012 27838 2024-06-08T19:50:21Z Girligaanshub 3150 28012 wikitext text/x-wiki {{-so-}} == Magac == '''caadifad''' === Tarjumaad === * {{en}}: animosity, negative sentiment, bitterness, ill will j2l4k8bmz8i4u0g7j0m35b39rom1bd0 badbadi 0 8157 24002 2023-07-21T04:52:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badbadi''' === Tarjumaad === * {{en}}: exaggerate, emphasize 24002 wikitext text/x-wiki {{-so-}} == Magac == '''badbadi''' === Tarjumaad === * {{en}}: exaggerate, emphasize ovwjrp3dbm38qd1t9mcm5d4fgghdbhu nuuxnuuxi 0 8158 31408 30747 2024-10-07T21:55:00Z Girligaanshub 3150 31408 wikitext text/x-wiki {{-so-}} == Magac == '''nuuxnuuxi''' === Tarjumaad === * {{en}}: emphasize, emphasis, prioritize, priority ===Synonyms=== * [[ahmiyad]], [[badbadin]], [[hortabin]], [[nuuxnuuxi]] rthiso4i6u5tqh13eha2c1876e67yxl hubnaan 0 8159 24005 2023-07-22T00:51:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hubnaan''' === Tarjumaad === * {{en}}: surety, certainty 24005 wikitext text/x-wiki {{-so-}} == Magac == '''hubnaan''' === Tarjumaad === * {{en}}: surety, certainty rygkjlnduwn31ley1ftgwucbt3uyivg hubi 0 8160 24006 2023-07-22T00:51:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hubi''' === Tarjumaad === * {{en}}: ensure 24006 wikitext text/x-wiki {{-so-}} == Magac == '''hubi''' === Tarjumaad === * {{en}}: ensure mlejia1cb90fxemnmxcx1lbuqiali41 xoogroon 0 8161 31808 29867 2024-10-25T21:20:04Z Girligaanshub 3150 31808 wikitext text/x-wiki {{-so-}} == Magac == '''xoogroon''' === Tarjumaad === * {{en}}: dominate, one-up, on-upmanship ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]], [[baanis]] 80yqhapa7rszpxf5mg124755udfjh6a dhiiranlaawe 0 8162 31478 24875 2024-10-13T00:15:00Z Girligaanshub 3150 31478 wikitext text/x-wiki {{-so-}} == Magac == '''dhiiranlaawe''' === Tarjumaad === * {{en}}: unassertiveness, unassertive, idle, ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], iaxgvbnvqivwc354w62cgaj3bpd29rb tawfiiq 0 8163 24013 2023-07-22T02:30:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tawfiiq''' === Tarjumaad === * {{en}}: fortune, success 24013 wikitext text/x-wiki {{-so-}} == Magac == '''tawfiiq''' === Tarjumaad === * {{en}}: fortune, success n68rs15mmt3rtywqn0479gjl6a2rsns kobci 0 8164 30135 29482 2024-08-23T22:25:47Z Girligaanshub 3150 30135 wikitext text/x-wiki {{-so-}} == Magac == '''kobci''' === Tarjumaad === * {{en}}: inculcate, upgrade, enhance, improve, enhance, raise, elevate, advance, boost ===Synonyms=== *[[barbaaro]], [[tarbiyeeyo]], [[kobci]] ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]] ect1xtlel9hrnz02b9tsi4yp8jw6k04 xoogroonaanta 0 8165 24015 2023-07-22T09:44:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogroonaanta''' === Tarjumaad === * {{en}}: domination 24015 wikitext text/x-wiki {{-so-}} == Magac == '''xoogroonaanta''' === Tarjumaad === * {{en}}: domination b2t6xur2d14rpa7qnoa4j07ag6ewb7c firfircoonaha 0 8166 24016 2023-07-22T11:59:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firfircoonaha''' === Tarjumaad === * {{en}}: activists 24016 wikitext text/x-wiki {{-so-}} == Magac == '''firfircoonaha''' === Tarjumaad === * {{en}}: activists bi878edxtkefgn1b7kxjezbyg14xdk3 jaangooy 0 8167 29381 28453 2024-08-02T12:53:51Z Girligaanshub 3150 29381 wikitext text/x-wiki {{-so-}} == Magac == '''jaangooy''' === Tarjumaad === * {{en}}: measure, plan, standardize, format, template, parameter, parameters ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] juuiitkatz3gb5rfgsb87akwubqk0x8 jaangoyn 0 8168 29547 27851 2024-08-05T08:21:11Z Girligaanshub 3150 29547 wikitext text/x-wiki {{-so-}} == Magac == '''jaangoyn''' === Tarjumaad === * {{en}}: measurement, plan, standard, format, template, parameter ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] hmoshepyd4uc2b9i07vo4d3uhjhxek2 kormeer 0 8169 28071 27198 2024-06-08T23:10:25Z Girligaanshub 3150 28071 wikitext text/x-wiki {{-so-}} == Magac == '''kormeer''' === Tarjumaad === * {{en}}: overview, oversight, oversee, supervision, surveillance, supervise, vet, vetting, censor, censorship ===Synonyms=== *[[xamilo]], [[maamulo]], [[kormeero]], [[faallo guud]], [[wargelin]] ol9bw138qiyl8kvyx55v6py66tv41xp danjire 0 8170 25636 24023 2023-10-31T01:35:49Z Girligaanshub 3150 25636 wikitext text/x-wiki {{-so-}} == Magac == '''danjire''' === Tarjumaad === * {{en}}: ambassador, diplomat, consul ===Synonyms=== *[[ergo]], [[danjire]] oebi4dk99up8f9ivohvijc1rp6veuhr xisaab socota 0 8171 29471 29470 2024-08-04T15:03:32Z Girligaanshub 3150 29471 wikitext text/x-wiki {{-so-}} == Magac == '''xisaab socota''' === Tarjumaad === * {{en}}: current account ===Synonyms=== *[[xisaab socota]], [[koonto socota]], [[koonto shakhsi]] dxtqlmtto3zqdefcuro3a3uop1421rt saadaasha 0 8172 25618 24498 2023-10-29T03:21:24Z Girligaanshub 3150 25618 wikitext text/x-wiki {{-so-}} == Magac == '''saadaasha''' === Tarjumaad === * {{en}}: forecast, prediction, projection, prognosis, foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] gn18fdt57ktaxlxe5pzks73vyhgsa2a bulsho-yaqaan 0 8173 31297 28359 2024-10-04T16:48:56Z Girligaanshub 3150 31297 wikitext text/x-wiki {{-so-}} == Magac == '''bulsho-yaqaan''' === Tarjumaad === * {{en}}: anthropologist ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] m8m9j6abxd83xksq67d7a7mj8c92glg agaasime 0 8174 28195 28190 2024-06-12T19:59:10Z Girligaanshub 3150 28195 wikitext text/x-wiki {{-so-}} == Magac == '''agaasime''' === Tarjumaad === * {{en}}: director, manager ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]] cxpdz8vjd1c95ax19wgtu1nqeix39yi aqoondirsad 0 8175 32033 31015 2024-10-27T14:02:34Z Girligaanshub 3150 32033 wikitext text/x-wiki {{-so-}} == Magac == '''aqoondirsad''' === Tarjumaad === * {{en}}: brainstorm, brainstorming, enlightenment, exposition, thought shower, spitballing, problem-solving, ideation, ponder, ruminate, rumination, contemplate, ideation, enlighten * {{en}}: perfect mind, flow psychology, flow state, zone psychology, zone state, in the zone, wired in state, hyperfocus, * {{en}}: consult, consultation ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] ii4herahasi971u4bsq92la8fm8ox9v jaan 0 8176 24033 2023-07-24T02:16:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaan''' === Tarjumaad === * {{en}}: slipper 24033 wikitext text/x-wiki {{-so-}} == Magac == '''jaan''' === Tarjumaad === * {{en}}: slipper 8jfgvtfcidpzmm3t8lvt6gx4ysxzdd0 hanad 0 8177 24034 2023-07-24T03:30:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanad''' === Tarjumaad === * {{en}}: talent, talented 24034 wikitext text/x-wiki {{-so-}} == Magac == '''hanad''' === Tarjumaad === * {{en}}: talent, talented 9aiczfdm1ufrx5qi5qduejhmtn6jlxh bidaa'i 0 8178 27138 25471 2024-04-10T19:53:24Z Girligaanshub 3150 27138 wikitext text/x-wiki {{-so-}} == Magac == '''bidaa'i''' === Tarjumaad === * {{en}}: native, aboriginal, indigenous, domestic ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]], [[baari]], [[sokeeye]] 1rt9fb3977db6p8al0g38byf3cazzmr shil 0 8179 24036 2023-07-24T03:32:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shil''' === Tarjumaad === * {{en}}: accident, incident 24036 wikitext text/x-wiki {{-so-}} == Magac == '''shil''' === Tarjumaad === * {{en}}: accident, incident iji5vruzjg1d46fm0l3ue53rge5qvi1 tilmaame 0 8180 24037 2023-07-24T03:34:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tilmaame''' === Tarjumaad === * {{en}}: adjective 24037 wikitext text/x-wiki {{-so-}} == Magac == '''tilmaame''' === Tarjumaad === * {{en}}: adjective sleyubbnahameiio2psgojjkthn0bd0 qardajeex 0 8181 24038 2023-07-24T03:35:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qardajeex''' === Tarjumaad === * {{en}}: adventure 24038 wikitext text/x-wiki {{-so-}} == Magac == '''qardajeex''' === Tarjumaad === * {{en}}: adventure 2e8k8xprhg4z4r27gkk9akgag5lq528 jimicsi 0 8182 29940 24039 2024-08-16T17:36:25Z Girligaanshub 3150 29940 wikitext text/x-wiki {{-so-}} == Magac == '''jimicsi''' === Tarjumaad === * {{en}}: aerobics, cardio, calisthenics, yoga, gymnastics, fitness, workout, gym, mquvjj8oxc36a1t4yt2dd52f3rz76kk gegida 0 8183 24041 2023-07-24T04:00:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gegida''' === Tarjumaad === * {{en}}: airfield, airstrip, airport 24041 wikitext text/x-wiki {{-so-}} == Magac == '''gegida''' === Tarjumaad === * {{en}}: airfield, airstrip, airport 2efib3p32m3ogu45f1z0zbgfe56zj5o dabaalato 0 8184 24042 2023-07-24T04:01:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaalato''' === Tarjumaad === * {{en}}: amphibean 24042 wikitext text/x-wiki {{-so-}} == Magac == '''dabaalato''' === Tarjumaad === * {{en}}: amphibean 0l2o4par9bs7fg9jgf8bx6g0hjydpo5 falanqaynta 0 8185 24043 2023-07-24T04:02:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''falanqaynta''' === Tarjumaad === * {{en}}: analysis, examination 24043 wikitext text/x-wiki {{-so-}} == Magac == '''falanqaynta''' === Tarjumaad === * {{en}}: analysis, examination ff5pslipe9hqs7dwpg642oq344kb1wq xagal 0 8186 24044 2023-07-24T04:02:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xagal''' === Tarjumaad === * {{en}}: angle 24044 wikitext text/x-wiki {{-so-}} == Magac == '''xagal''' === Tarjumaad === * {{en}}: angle ia0ji2jkrc2eo4qhpp6aytd7vyr1t4v qabanqaab 0 8187 27847 27828 2024-05-30T17:09:08Z Girligaanshub 3150 27847 wikitext text/x-wiki {{-so-}} == Magac == '''qabanqaab''' === Tarjumaad === * {{en}}: plan, standard, format, template, layout, framework, parameter, prepare, preparatory, preparation, arrange, organize, strategy ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] cqhzid4hvi41g9ygou4yu306h6stetz qore 0 8188 28903 24050 2024-07-25T02:51:58Z Girligaanshub 3150 28903 wikitext text/x-wiki {{-so-}} == Magac == '''qore''' === Tarjumaad === * {{en}}: author, writer, ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], dtet6uby4bpgczf0tnuj3hoqakk4chq faas 0 8189 24051 2023-07-24T04:12:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faas''' === Tarjumaad === * {{en}}: axe 24051 wikitext text/x-wiki {{-so-}} == Magac == '''faas''' === Tarjumaad === * {{en}}: axe epf9ks0nowpyfk12z24i7q4p9153wkp dheellitir 0 8190 27083 25274 2024-04-08T02:18:03Z Girligaanshub 3150 27083 wikitext text/x-wiki {{-so-}} == Magac == '''dheelitir''' === Tarjumaad === * {{en}}: balance, balanced ===Synonyms=== *[[maadleh]], [[maandeeq]], [[dheellitir]], [[miisaan]] dg37anhfgb41z154xsykptxyfjr51na buufin 0 8191 24053 2023-07-24T04:15:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buufin''' === Tarjumaad === * {{en}}: balloon 24053 wikitext text/x-wiki {{-so-}} == Magac == '''buufin''' === Tarjumaad === * {{en}}: balloon h9o5cv0iapw6n9sklm2vfoe60p64oat qoqob 0 8192 24054 2023-07-24T04:24:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaqab''' === Tarjumaad === * {{en}}: barrier 24054 wikitext text/x-wiki {{-so-}} == Magac == '''qaqab''' === Tarjumaad === * {{en}}: barrier turcsgjff1ypgphmpa1twg476z21qbs maddiibad 0 8193 24055 2023-07-24T04:27:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maddiibad''' === Tarjumaad === * {{en}}: gully, gorge, delta, basin, sink, dome, hollow, trough 24055 wikitext text/x-wiki {{-so-}} == Magac == '''maddiibad''' === Tarjumaad === * {{en}}: gully, gorge, delta, basin, sink, dome, hollow, trough 7xrr1gpezobwswer0pz3g5jdjv7lr1s loox 0 8194 24058 2023-07-24T04:34:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loox''' === Tarjumaad === * {{en}}: wooden plank, board, beam, timber, stave 24058 wikitext text/x-wiki {{-so-}} == Magac == '''loox''' === Tarjumaad === * {{en}}: wooden plank, board, beam, timber, stave 08rn0advruyh12wulxzp9ba63o77y9c dhabaqtirnaan 0 8195 24059 2023-07-24T04:46:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabaqtirnaan''' === Tarjumaad === * {{en}}: rhythm 24059 wikitext text/x-wiki {{-so-}} == Magac == '''dhabaqtirnaan''' === Tarjumaad === * {{en}}: rhythm q4hzn9d4qtufn2rudaj2dacgz9ytm0u barbarad 0 8196 28819 28672 2024-07-21T20:28:45Z Girligaanshub 3150 28819 wikitext text/x-wiki {{-so-}} == Magac == '''barbarad''' === Tarjumaad === * {{en}}: preschooler, kindergartener, beginner, amateur ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]], [[alifley]], [[ardey]], [[jaahil]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] b0dfl8aatjt8u46tp8fzd1srw9n36n7 gambar 0 8197 29773 24062 2024-08-12T00:32:01Z Girligaanshub 3150 29773 wikitext text/x-wiki {{-so-}} == Magac == '''gambar''' === Tarjumaad === * {{en}}: bench, stool b2ra6356nk87iz0n81i1afx0v5x15qr facayso 0 8198 26513 24063 2024-01-03T09:53:47Z Girligaanshub 3150 26513 wikitext text/x-wiki {{-so-}} == Magac == '''facayso''' === Tarjumaad === * {{en}}: rapport, familiarity, belong, belonging ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]], [[qalinley]] ia5vb31ibgk5uy0u7izcqlniossl4i1 buluug 0 8199 26235 26022 2023-12-08T04:31:03Z Girligaanshub 3150 26235 wikitext text/x-wiki {{-so-}} == Magac == '''buluug''' === Tarjumaad === * {{en}}: blue ([[cirdhow]]) lzk6c8s6p9m5meqeu11pe087h9ak1az baaquli 0 8200 31521 24070 2024-10-13T03:07:11Z Girligaanshub 3150 31521 wikitext text/x-wiki {{-so-}} == Magac == '''baaquli''' === Tarjumaad === * {{en}}: bowl, pot ===Synonyms=== *[[xeero]], [[baaquli]], [[jaambad]] mi2dctdj8yzntom12937m5d8hgycsv0 gardarroole 0 8201 28723 28715 2024-07-14T09:35:40Z Girligaanshub 3150 28723 wikitext text/x-wiki {{-so-}} == Magac == '''gardarroole''' === Tarjumaad === * {{en}}: bully, narcissist, culprit, predator ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[budhcad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] 3g6e90kdeo4ha1oxrk9suzr91etnkfg maqaam bulsho 0 8202 24072 2023-07-25T05:50:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maqaam bulsho''' === Tarjumaad === * {{en}}: social status 24072 wikitext text/x-wiki {{-so-}} == Magac == '''maqaam bulsho''' === Tarjumaad === * {{en}}: social status 02p6u2uuvrf8ne8rrt317o14v3fhpnb gardarrane 0 8203 32325 28719 2024-11-08T12:20:22Z Girligaanshub 3150 32325 wikitext text/x-wiki {{-so-}} == Magac == '''gardarrane''' === Tarjumaad === * {{en}}: criminal, culprit, miscreant, offender, fugitive, felon, wrongdoer, malefactor, delinquent. ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] nijzxn5f00uht8g5137xp4sgr0s89lg cidhif 0 8204 24074 2023-07-25T09:02:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cidhif''' === Tarjumaad === * {{en}}: edge 24074 wikitext text/x-wiki {{-so-}} == Magac == '''cidhif''' === Tarjumaad === * {{en}}: edge m8bh6gisl3bh504w00vqah9qxj7wtsm maktab 0 8205 31177 31023 2024-10-04T13:48:02Z Girligaanshub 3150 31177 wikitext text/x-wiki {{-so-}} == Magac == '''maktab''' === Tarjumaad === * {{en}}: department ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] ps4fezuz447zmeeq3l6so4mu97jeddw maaliyad 0 8206 24076 2023-07-25T15:39:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maaliyad''' === Tarjumaad === * {{en}}: finance 24076 wikitext text/x-wiki {{-so-}} == Magac == '''maaliyad''' === Tarjumaad === * {{en}}: finance s8prfmbfpyfco7bkgyiknh4c90dj1s9 maaliyada 0 8207 24077 2023-07-25T15:40:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maaliyada''' === Tarjumaad === * {{en}}: finance 24077 wikitext text/x-wiki {{-so-}} == Magac == '''maaliyada''' === Tarjumaad === * {{en}}: finance la51avnazl9z5ifaed5a9afidhn76r6 Faafreeb 0 8208 24080 2023-07-25T18:11:59Z Girligaanshub 3150 Girligaanshub moved page [[Faafreeb]] to [[faafreeb]] 24080 wikitext text/x-wiki #REDIRECT [[faafreeb]] dmhvmm4g5wvbxnrwcrppk2gwh6dng74 isdigasho 0 8209 24102 24086 2023-07-28T15:59:56Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[is-hoos-dhigasho]] 24102 wikitext text/x-wiki #REDIRECT [[is-hoos-dhigasho]] 4ihbcyb2vis0lsnh9xif0gnqzjd4d8k is-hoos-digasho 0 8210 24088 2023-07-27T16:07:54Z Girligaanshub 3150 Girligaanshub moved page [[is-hoos-digasho]] to [[is-hoos-dhigasho]] 24088 wikitext text/x-wiki #REDIRECT [[is-hoos-dhigasho]] 4ihbcyb2vis0lsnh9xif0gnqzjd4d8k baacsado 0 8211 29997 29995 2024-08-18T23:15:36Z Girligaanshub 3150 29997 wikitext text/x-wiki {{-so-}} == Magac == '''baacso''' === Tarjumaad === * {{en}}: evacuate, chase, clear, expel, displace, dismiss, boot, discharge, remove, discard, neutralize, eliminate, rid, ptozkn1ag5905030f4f0ioeete25qoo taalo 0 8212 32510 24090 2024-11-18T10:44:32Z Girligaanshub 3150 32510 wikitext text/x-wiki {{-so-}} == Magac == '''taalo''' === Tarjumaad === * {{en}}: landmark, monument, spectacle, statue, sculpture ===Synonyms=== *[[taalo]], [[xaram]], [[aargo]] izdt00tm7fqowljkd3x05dxhifsyhvc baashe 0 8213 24092 2023-07-28T05:21:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit king 24092 wikitext text/x-wiki {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit king 8nvkad7x0rmm0wxsdvzdvvs2ob27quz raani 0 8214 24093 2023-07-28T05:21:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raani''' === Tarjumaad === * {{en}}: card suit queen 24093 wikitext text/x-wiki {{-so-}} == Magac == '''raani''' === Tarjumaad === * {{en}}: card suit queen 4yjm8i4fbvsgeno77v28exj87wjeak5 qulaan 0 8215 24094 2023-07-28T05:22:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qulaan''' === Tarjumaad === * {{en}}: card suit jack 24094 wikitext text/x-wiki {{-so-}} == Magac == '''qulaan''' === Tarjumaad === * {{en}}: card suit jack 7avv3yim8msozd7w5f7btrr1frpjtv8 yeeke 0 8216 24095 2023-07-28T05:22:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yeeke''' === Tarjumaad === * {{en}}: card suit ace 24095 wikitext text/x-wiki {{-so-}} == Magac == '''yeeke''' === Tarjumaad === * {{en}}: card suit ace 5l4lplepyiomk0rdo51zxhtlus87o30 hadhiin 0 8217 24096 2023-07-28T05:23:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadhiin''' === Tarjumaad === * {{en}}: card suit heart 24096 wikitext text/x-wiki {{-so-}} == Magac == '''hadhiin''' === Tarjumaad === * {{en}}: card suit heart tii0xn98lqs706cqeejib8mzub03yxi karaawil 0 8218 24097 2023-07-28T05:23:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit club 24097 wikitext text/x-wiki {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit club 8c2bhky16k81dkn5fuf9fov43cfkwa9 isbig 0 8219 24098 2023-07-28T05:24:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isbig''' === Tarjumaad === * {{en}}: card suit spade 24098 wikitext text/x-wiki {{-so-}} == Magac == '''isbig''' === Tarjumaad === * {{en}}: card suit spade 3ntxw6wwzzio7c6grm4za0j0lvk0ob6 dheeman 0 8220 24099 2023-07-28T05:24:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit diamond, diamond 24099 wikitext text/x-wiki {{-so-}} == Magac == '''baashe''' === Tarjumaad === * {{en}}: card suit diamond, diamond k9ykkjxdbslal22efiqmq3tn1ur9y6p fulin 0 8221 24100 2023-07-28T09:30:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fulin''' === Tarjumaad === * {{en}}: executive 24100 wikitext text/x-wiki {{-so-}} == Magac == '''fulin''' === Tarjumaad === * {{en}}: executive hybkkmyhueb68ynf8ujk9reg273aphw harad 0 8222 24103 2023-07-28T17:26:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''harad''' === Tarjumaad === * {{en}}: lake 24103 wikitext text/x-wiki {{-so-}} == Magac == '''harad''' === Tarjumaad === * {{en}}: lake h4k3862lgnqnszro1v8j6laccrerheo maxmiyad 0 8223 31705 27208 2024-10-21T00:01:08Z Girligaanshub 3150 31705 wikitext text/x-wiki {{-so-}} == Magac == '''maxmiyad''' === Tarjumaad === * {{en}}: protectorate ===Synonyms=== *[[hooyo-tiris]], [[inanlayaal]], [[dhedig-af-dhowre]], *[[sheegato]], [[magangal]], [[maxmiyad]], [[magan]] k3gun5js1brdu79zl9mpqdnsjqjt1dg taakuley 0 8224 31282 30337 2024-10-04T16:40:14Z Girligaanshub 3150 31282 wikitext text/x-wiki {{-so-}} == Magac == '''taakuley''' === Tarjumaad === * {{en}}: strengthen, bolster, reinforce, buttress, prop, sustain, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] evrppl6fhk8ipl4wyt7g26ts2qhddze xisaab soxota 0 8225 24112 2023-07-31T09:46:55Z Girligaanshub 3150 Girligaanshub moved page [[xisaab soxota]] to [[xisaab socota]] 24112 wikitext text/x-wiki #REDIRECT [[xisaab socota]] bs2mcq6tavfmzkaur30rsu6qdidbkzc dhulbaha 0 8226 24116 24114 2023-07-31T16:22:05Z Girligaanshub 3150 24116 wikitext text/x-wiki {{-so-}} == Magac == '''dhulbaha''' === Tarjumaad === * {{en}}: hinterland, inshore, frontier, backwoods, countryside, landscape, terrain, geomorphology, lithosphere 6r5b7pwgf11970fles67yzdylqauseo dhulba 0 8227 24115 2023-07-31T12:27:47Z Girligaanshub 3150 Girligaanshub moved page [[dhulba]] to [[dhulbaha]] 24115 wikitext text/x-wiki #REDIRECT [[dhulbaha]] 3h9vv1n6mzws14c7ltyeegzkuc44q4t dhulbaho 0 8228 24117 2023-07-31T16:22:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhulbaho''' === Tarjumaad === * {{en}}: hinterland, inshore, frontier, backwoods, countryside, landscape, terrain, geomorphology, lithosphere 24117 wikitext text/x-wiki {{-so-}} == Magac == '''dhulbaho''' === Tarjumaad === * {{en}}: hinterland, inshore, frontier, backwoods, countryside, landscape, terrain, geomorphology, lithosphere if4b4lx5ap1zqcdhppdsiftgk8b60ro hanteey 0 8229 24119 2023-07-31T16:26:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanteey''' === Tarjumaad === * {{en}}: yield, surplus, profit, prize, booty, treasure, hustle, swindle, capitalize, capitalistic endeavour, lay claim, adduce, sequester, arrogate ===Synonyms=== *[[qaniimo]] 24119 wikitext text/x-wiki {{-so-}} == Magac == '''hanteey''' === Tarjumaad === * {{en}}: yield, surplus, profit, prize, booty, treasure, hustle, swindle, capitalize, capitalistic endeavour, lay claim, adduce, sequester, arrogate ===Synonyms=== *[[qaniimo]] 5z54qf6vg3yhzzrz8gwm28gp95aa0um hanteynta 0 8230 24120 2023-07-31T16:28:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanteynta''' === Tarjumaad === * {{en}}: capitalism 24120 wikitext text/x-wiki {{-so-}} == Magac == '''hanteynta''' === Tarjumaad === * {{en}}: capitalism ext9u3yiy6yh0wdvvz3flqbhfowxfmf fadhiisamo 0 8232 31732 24128 2024-10-21T05:05:21Z Girligaanshub 3150 31732 wikitext text/x-wiki {{-so-}} == Magac == '''fadhiisamo''' === Tarjumaad === * {{en}}: setting, position, fighting nest, pit, rifle pit, trench, sangar, foxhole, tobruk, ===Synonyms=== *[[meherad]], [[fadhiisamo]], [[xarun]], [[fagaare]], i4gdgw3p7j204t1jq3bkxci4pevove9 akhlaaq 0 8233 30661 28882 2024-09-10T22:24:11Z Girligaanshub 3150 30661 wikitext text/x-wiki {{-so-}} == Magac == '''akhlaaq''' === Tarjumaad === * {{en}}: manners, etiquette, propriety, virtue, morality ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] 7ne3tswr5t2jw3yg77w7zcrv7n9ucfr kabso 0 8234 24131 2023-08-06T11:12:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabso''' === Tarjumaad === * {{en}}: recover, overcome 24131 wikitext text/x-wiki {{-so-}} == Magac == '''kabso''' === Tarjumaad === * {{en}}: recover, overcome d6wv6set8yrvqc7oiywgreh2abcetbl midhaheed 0 8235 24135 2023-08-06T19:00:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''midhaheed''' === Tarjumaad === * {{en}}: fulfilment, fruition, realization, actualization, materialization, achievement, attainment, accomplishment, conclusion 24135 wikitext text/x-wiki {{-so-}} == Magac == '''midhaheed''' === Tarjumaad === * {{en}}: fulfilment, fruition, realization, actualization, materialization, achievement, attainment, accomplishment, conclusion d26wci74h01xukgs2hnra9oeth4hr64 axdiga 0 8236 28139 28126 2024-06-09T19:41:10Z Girligaanshub 3150 28139 wikitext text/x-wiki {{-so-}} == Magac == '''axdiga''' === Tarjumaad === * {{en}}: promise, dedication, contract, accord, pact, protocol, pledge, treaty, homage, fealty, oath of allegiance, charter, policy, covenant, code, principles, warrant, ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] a02qisicgq7sjx2ba0gythpgwo0aoz7 birmagayd 0 8237 31962 31339 2024-10-26T00:11:28Z Girligaanshub 3150 31962 wikitext text/x-wiki {{-so-}} == Magac == '''birmagayd''' === Tarjumaad === * {{en}}: innocent, women, religious scholars, children, the disabled, elderly * {{en}}: immune * {{en}}: immune from the sword / blade / metal ===Synonyms=== *[[birmagayd]], [[marfuucal qalam]], [[nugul]], cckp16ukbbi98qm43zz8jzzonvgkod2 dayday 0 8238 32321 32320 2024-11-08T12:19:20Z Girligaanshub 3150 32321 wikitext text/x-wiki {{-so-}} == Magac == '''dayday''' === Tarjumaad === * {{en}}: gang member * {{en}}: extorter ===Synonyms=== *[[dayday]], [[mooryaan]], [[budhcad]] kx0efecdolgoqrofjxr8y56i9m9zome damaanad 0 8239 24146 2023-08-08T22:32:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''damaanad''' === Tarjumaad === * {{en}}: warranty, guarantee, assurance, promise, pledge, certification 24146 wikitext text/x-wiki {{-so-}} == Magac == '''damaanad''' === Tarjumaad === * {{en}}: warranty, guarantee, assurance, promise, pledge, certification e3ehyw0q71r4mml74v8j4othonfn67h debecsan 0 8240 24147 2023-08-08T22:33:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''debecsan''' === Tarjumaad === * {{en}}: flexible, flexibility 24147 wikitext text/x-wiki {{-so-}} == Magac == '''debecsan''' === Tarjumaad === * {{en}}: flexible, flexibility bvrciq1l8e53j85fzgq73wb5yob4pkm dhaymo 0 8241 24148 2023-08-08T22:41:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaymo''' === Tarjumaad === * {{en}}: ointment, lotion cream 24148 wikitext text/x-wiki {{-so-}} == Magac == '''dhaymo''' === Tarjumaad === * {{en}}: ointment, lotion cream kz95eg4e2yp5920wei63a9cu37b16ky fadhi 0 8242 24151 2023-08-08T22:49:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fadhi''' === Tarjumaad === * {{en}}: session, 24151 wikitext text/x-wiki {{-so-}} == Magac == '''fadhi''' === Tarjumaad === * {{en}}: session, hvpefneocdscb81552ckzdb4k686vg1 faq 0 8243 24152 2023-08-08T22:50:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faq''' === Tarjumaad === * {{en}}: private discussion, confidential, classified 24152 wikitext text/x-wiki {{-so-}} == Magac == '''faq''' === Tarjumaad === * {{en}}: private discussion, confidential, classified aqi45sxkw7vxo43mwin0w559jg4ukld gadood 0 8244 24160 2023-08-08T23:15:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gadood''' === Tarjumaad === * {{en}}: strike, mutiny, revolt, 24160 wikitext text/x-wiki {{-so-}} == Magac == '''gadood''' === Tarjumaad === * {{en}}: strike, mutiny, revolt, azln8daratmulths7j1h1hh8z2acqiv gunaanad 0 8245 32205 24161 2024-11-01T18:13:52Z Girligaanshub 3150 32205 wikitext text/x-wiki {{-so-}} == Magac == '''gunaanad''' === Tarjumaad === * {{en}}: conclusion, outro 3nhz7x18uo9e3iu97gkhlm5ly5nhpxf hayin 0 8246 31951 31950 2024-10-26T00:06:03Z Girligaanshub 3150 31951 wikitext text/x-wiki {{-so-}} == Magac == '''hayin''' === Tarjumaad === * {{en}}: humble ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], bdmfmyvpxi5ybota6y1n47swmobd0sj is-mariwaa 0 8247 24167 2023-08-08T23:58:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-mariwaa''' === Tarjumaad === * {{en}}: deadlock, impasse, stalemate, gridlock, standstill 24167 wikitext text/x-wiki {{-so-}} == Magac == '''is-mariwaa''' === Tarjumaad === * {{en}}: deadlock, impasse, stalemate, gridlock, standstill 7eu88lgv4dcn0o3b0affrsl2czmngk8 godobxir 0 8248 29159 24169 2024-07-30T02:34:45Z Girligaanshub 3150 29159 wikitext text/x-wiki {{-so-}} == Magac == '''godobxir''' === Tarjumaad === * {{en}}: reparation, reparations, apologize, restitution, recompense, penance, redress, indemnity, rebate, quittance, ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]], [[godobxir]] 1niuvl12508tdpj7yw5uf7s91q1awde madaxfurasho 0 8249 24170 2023-08-09T00:18:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madaxfurasho''' === Tarjumaad === * {{en}}: ransom, extortion 24170 wikitext text/x-wiki {{-so-}} == Magac == '''madaxfurasho''' === Tarjumaad === * {{en}}: ransom, extortion c49b7p8x43hsscefns05yq83xemlaqj mooraduug 0 8250 24182 24171 2023-08-09T13:56:03Z Girligaanshub 3150 24182 wikitext text/x-wiki {{-so-}} == Magac == '''mooraduug''' === Tarjumaad === * {{en}}: deprive, dispossess, deprivation 5d8opkp976ocxafphlwt0ht87rekncm sooryo 0 8251 24173 2023-08-09T03:21:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sooryo''' === Tarjumaad === * {{en}}: guest food 24173 wikitext text/x-wiki {{-so-}} == Magac == '''sooryo''' === Tarjumaad === * {{en}}: guest food 1olnincsds02bdjlmos7q1wjjdjojt2 uurkutaalo 0 8252 27603 25661 2024-05-22T10:34:07Z Girligaanshub 3150 27603 wikitext text/x-wiki {{-so-}} == Magac == '''uurkutaalo''' === Tarjumaad === * {{en}}: tension, anxiety ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]] ofqmpxdi6pdryb2yal1hezpeq7ewrsk xeerbeegti 0 8253 28746 24176 2024-07-17T02:00:13Z Girligaanshub 3150 28746 wikitext text/x-wiki {{-so-}} == Magac == '''xeerbeegti''' === Tarjumaad === * {{en}}: jury, juror peu5mkgshdsilte15mwg8gnab9kx7n8 xulasho 0 8254 26120 24184 2023-11-30T23:03:13Z Girligaanshub 3150 26120 wikitext text/x-wiki {{-so-}} == Magac == '''xul''' === Tarjumaad === * {{en}}: select, selection, featured, flagship, ideal, paragon; exemplar, perfect example ; display , exhibit , centerpiece ; attraction , masterpiece, centerpiece, frontrunner, showpiece, 7cmrmqkvcue9hd5z8edevy3a72aluk9 caasikaay 0 8255 24178 2023-08-09T03:32:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caasikaay''' === Tarjumaad === * {{en}}: concealment · covert · den · hermitage · hideaway, shelter, sanctuary 24178 wikitext text/x-wiki {{-so-}} == Magac == '''caasikaay''' === Tarjumaad === * {{en}}: concealment · covert · den · hermitage · hideaway, shelter, sanctuary 2vtic22o3wcivrrf618yw682kb3mp4v xalay-dhalay 0 8256 29155 24185 2024-07-30T02:33:34Z Girligaanshub 3150 29155 wikitext text/x-wiki {{-so-}} == Magac == '''xalay dhalay''' === Tarjumaad === * {{en}}: fresh start, clean hands, clean slate, clean sweep, clear conscience, new beginning, and square one, exonerate, accept apology, bear no malice, end a quarrel, forgive, forget ===Synonyms=== *[[godob-reeb]], [[saamax]], [[duudsi]], [[xalay-dhalay]], [[cudurdaar]], [[toobad-keen]], [[laabxaadasho]] 8t2jmzaxvi598l9r0xtp504u3alhyxt shahaado 0 8257 31890 31878 2024-10-25T22:59:55Z Girligaanshub 3150 31890 wikitext text/x-wiki {{-so-}} == Magac == '''shahaado''' === Tarjumaad === * {{en}}: certificate, badge, identity, identification, label ; stamp · seal ; insignia · crest ; brand · tag ; design · motif, documentation, paper ID, identity card, * {{en}}: testify, oath * {{en}}: stamp of approval ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] rcvbwrqtp1fairvnxvj1c61w67ti4dh dheel 0 8258 24193 24188 2023-08-09T18:17:55Z Girligaanshub 3150 24193 wikitext text/x-wiki {{-so-}} == Magac == '''dheel''' === Tarjumaad === * {{en}}: play, compete, maneuver, handle, shift, shuffle, dance 6uku489zioysfceyh8e9pg2mmodxzuv aayo 0 8259 29175 26743 2024-07-30T05:47:18Z Girligaanshub 3150 29175 wikitext text/x-wiki {{-so-}} == Magac == '''aayo''' === Tarjumaad === * {{en}}: daily cycle, daily routine * {{en}}: future ===Synonyms=== *[[qaddar]], [[calaf]], [[mustaqbal]], [[aayatiin]], [[aayo]] lr0kuz72cruu0tigp6tdo5jq87oftjz dheesha 0 8260 24194 2023-08-09T18:18:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheesha''' === Tarjumaad === * {{en}}: play, compete, maneuver, handle, shift, shuffle, 24194 wikitext text/x-wiki {{-so-}} == Magac == '''dheesha''' === Tarjumaad === * {{en}}: play, compete, maneuver, handle, shift, shuffle, e95qt4gddcvly5rg2um9mo3fr2zm3us asteey 0 8261 24195 2023-08-09T20:40:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''asteey''' === Tarjumaad === * {{en}}: symbolize, preserve 24195 wikitext text/x-wiki {{-so-}} == Magac == '''asteey''' === Tarjumaad === * {{en}}: symbolize, preserve oyl94bu3qka82a121pigwod2fcsyz5f soosaarida 0 8262 28255 26604 2024-06-14T11:54:54Z Girligaanshub 3150 28255 wikitext text/x-wiki {{-so-}} == Magac == '''soosaarida''' === Tarjumaad === * {{en}}: production ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] d8fig2xyb5cikqybh0kgp9s1vadbs7g yaayo 0 8263 24203 2023-08-09T23:11:13Z Girligaanshub 3150 Girligaanshub moved page [[yaayo]] to [[yaanyo]] 24203 wikitext text/x-wiki #REDIRECT [[yaanyo]] hbfgfgltguf0ruzx21jzea53g40w24z boqoshaa 0 8264 24205 2023-08-09T23:12:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boqoshaa''' === Tarjumaad === * {{en}}: mushroom 24205 wikitext text/x-wiki {{-so-}} == Magac == '''boqoshaa''' === Tarjumaad === * {{en}}: mushroom 1a3f9gql3rhsxxqh1i70mzft81ngdht digir 0 8265 26735 24206 2024-02-09T06:05:14Z Girligaanshub 3150 26735 wikitext text/x-wiki {{-so-}} == Magac == '''digir''' === Tarjumaad === * {{en}}: bean, pea, peas kklybbg1qgo1hgbkb9k4lnfc1ua52o4 fidin 0 8266 24207 2023-08-09T23:16:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fidin''' === Tarjumaad === * {{en}}: attach, adhere, latch, hitch, link, affix, tack, append 24207 wikitext text/x-wiki {{-so-}} == Magac == '''fidin''' === Tarjumaad === * {{en}}: attach, adhere, latch, hitch, link, affix, tack, append lkvlx920uz8u17wimyrxl2pdmjyfjmi majaajile 0 8267 24209 2023-08-10T01:20:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majaajile''' === Tarjumaad === * {{en}}: comedian, 24209 wikitext text/x-wiki {{-so-}} == Magac == '''majaajile''' === Tarjumaad === * {{en}}: comedian, rr2qng627gitkvbvpwxxxn7djc6qyet majaajilo 0 8268 24210 2023-08-10T01:20:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majaajilo''' === Tarjumaad === * {{en}}: comedy, 24210 wikitext text/x-wiki {{-so-}} == Magac == '''majaajilo''' === Tarjumaad === * {{en}}: comedy, q01772xto3653wupqjo0v7qveni66ja taxane 0 8269 31180 31019 2024-10-04T13:48:55Z Girligaanshub 3150 31180 wikitext text/x-wiki {{-so-}} == Magac == '''taxane''' === Tarjumaad === * {{en}}: programme, series, sequence, progression, succession, successive, soap opera, soap drama, tv programme ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] ncqv89ggbki8zllbsrzjo0jujcfn2aj musalsal 0 8270 31181 30978 2024-10-04T13:49:12Z Girligaanshub 3150 31181 wikitext text/x-wiki {{-so-}} == Magac == '''musalsal''' === Tarjumaad === * {{en}}: programme, series, sequence, progression, succession, soap opera, soap drama, tv programme ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] d7p8k8yyezs2s11fkrct2uq8u3fsnhb saxaafada 0 8271 28905 24214 2024-07-25T02:52:14Z Girligaanshub 3150 28905 wikitext text/x-wiki {{-so-}} == Magac == '''saxaafada''' === Tarjumaad === * {{en}}: press, media, journalism, print media, newspaper, reporting, columnist, ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], svl2a5to4mlkn0ya6k07cdrfqh2mafi wacdaro 0 8273 32248 28693 2024-11-04T05:25:35Z Girligaanshub 3150 32248 wikitext text/x-wiki {{-so-}} == Magac == '''wacdaro''' === Tarjumaad === * {{en}}: spectacular, great, impressive, impressed, exceptional, momentous, tremendous ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]] lp9mraw7wagt2hkeiyw22fbnlsilv3h fidno 0 8274 28223 28211 2024-06-13T19:41:03Z Girligaanshub 3150 28223 wikitext text/x-wiki {{-so-}} == Magac == '''fidno''' === Tarjumaad === * {{en}}: tribulation, trial; sedition, civil strife, adversity, affliction, calamity, catastrophe, ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] f3tx8truwr4miikl1mob53zjogn9tsw suul 0 8275 24218 2023-08-11T06:04:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suul''' === Tarjumaad === * {{en}}: thumb 24218 wikitext text/x-wiki {{-so-}} == Magac == '''suul''' === Tarjumaad === * {{en}}: thumb 12rux9s8hja3r22l424rchnzl4beb3q murdiso 0 8276 30988 24222 2024-09-29T16:49:35Z Girligaanshub 3150 30988 wikitext text/x-wiki {{-so-}} == Magac == '''murdiso''' === Tarjumaad === * {{en}}: point, pointing, aim, direct, index finger, forefinger ===Synonyms=== *[[faro]], [[tebi]], [[shiishbar]], [[murdiso]], [[beeg]], [[beegso]], 5u0e8zshlh9dva3s0o9nujsp5n0erxx faraanti 0 8277 24220 2023-08-11T06:08:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faraanti''' === Tarjumaad === * {{en}}: ring, ring finger, 24220 wikitext text/x-wiki {{-so-}} == Magac == '''faraanti''' === Tarjumaad === * {{en}}: ring, ring finger, fvalob141vq6qjgutyg7zhmmtiwo7r8 faryar 0 8278 24221 2023-08-11T06:10:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faryar''' === Tarjumaad === * {{en}}: pink finger, pinky, little finger 24221 wikitext text/x-wiki {{-so-}} == Magac == '''faryar''' === Tarjumaad === * {{en}}: pink finger, pinky, little finger qitt0r6k9qe24w4gbbmrjwgam1327wa aadanaha 0 8279 29085 24223 2024-07-29T04:56:16Z Girligaanshub 3150 29085 wikitext text/x-wiki {{-so-}} == Magac == '''aadanaha''' === Tarjumaad === * {{en}}: humans, people, mankind, persons, humans, person t23c6918fh9avuamc390y2ii5xmk6b7 naaloon 0 8280 28062 27779 2024-06-08T22:45:14Z Girligaanshub 3150 28062 wikitext text/x-wiki {{-so-}} == Magac == '''naaloon''' === Tarjumaad === * {{en}}: basking, lounging, savour, relax, ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] h272kurasntecsxumngixnbzegeiula edbin 0 8281 24227 2023-08-12T13:16:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''edbin''' === Tarjumaad === * {{en}}: discipline 24227 wikitext text/x-wiki {{-so-}} == Magac == '''edbin''' === Tarjumaad === * {{en}}: discipline 0cbweztct7hbo53pu9zodm6jtj5paq6 dafiraad 0 8283 29857 27929 2024-08-12T18:11:04Z Girligaanshub 3150 29857 wikitext text/x-wiki {{-so-}} == Magac == '''dafirro''' === Tarjumaad === * {{en}}: contrive, beguile, naysay, deny, disclaim, refuse ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] agcq7775x0jnvkzyre68v62rj9iocc1 halgan 0 8284 32057 24239 2024-10-27T23:31:39Z Girligaanshub 3150 32057 wikitext text/x-wiki {{-so-}} == Magac == '''halgan''' === Tarjumaad === * {{en}}: struggle, strive, ===Synonyms=== *[[geylan]], [[halgan]] a8f02f9gq1gnca3j21c724posqznajr halgame 0 8285 26696 24240 2024-02-06T18:32:31Z Girligaanshub 3150 26696 wikitext text/x-wiki {{-so-}} == Magac == '''halgame''' === Tarjumaad === * {{en}}: struggler, striver, veteran 6iv9m6mi29az104qsmhtae6vrs7agfe cambaareey 0 8286 24242 2023-08-14T21:59:40Z Girligaanshub 3150 Girligaanshub moved page [[cambaareey]] to [[cambaaro]] 24242 wikitext text/x-wiki #REDIRECT [[cambaaro]] agyzg0l4xkukgu8s34djpetgqmc2sav dastuur 0 8287 28140 25190 2024-06-09T19:41:30Z Girligaanshub 3150 28140 wikitext text/x-wiki {{-so-}} == Magac == '''dastuur''' === Tarjumaad === * {{en}}: constitution, legislation, ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] 09ayne3syw4thnv9pg5einggitgbp3i macquul 0 8288 24245 2023-08-14T22:03:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''macquul''' === Tarjumaad === * {{en}}: logic, 24245 wikitext text/x-wiki {{-so-}} == Magac == '''macquul''' === Tarjumaad === * {{en}}: logic, scd831cho1tf472de69t1dg060vjrwl mawduuc 0 8289 32484 24246 2024-11-16T19:45:14Z Girligaanshub 3150 32484 wikitext text/x-wiki {{-so-}} == Magac == '''mawduuc''' === Tarjumaad === * {{en}}: topic, ===Synonyms=== *[[dulxaadis]], [[dulucda]], [[mawduuc]], [[qodob]] odmsqblowy4j9kna8s7av74e479ifnk curyaan 0 8290 31748 31364 2024-10-25T18:55:28Z Girligaanshub 3150 31748 wikitext text/x-wiki {{-so-}} == Magac == '''curyaan''' === Tarjumaad === * {{en}}: disabled, handicap, disrupt ===Synonyms=== *[[curyaan]], [[tuush]], [[naafo]] jl3n0m9m79uo670v3xascblxsa207uu boolal 0 8291 24248 2023-08-15T01:01:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boolal''' === Tarjumaad === * {{en}}: screws, 24248 wikitext text/x-wiki {{-so-}} == Magac == '''boolal''' === Tarjumaad === * {{en}}: screws, p5hjal6ioy9n7u0gajcamq8b9yasb08 dafirro 0 8292 32608 29856 2024-11-26T11:16:32Z Girligaanshub 3150 32608 wikitext text/x-wiki {{-so-}} == Magac == '''dafirro''' === Tarjumaad === * {{en}}: reject, oppose, deny, contradict, repudiate, declare untrue, dissent from, disagree with, contest, discredit, refute, rebut, invalidate, negate, nullify, disaffirm, retaliate, rebuke, rebuff, repulse, ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] fynqd57wa90fhs8z19dgy7lwgecbmod misbaar 0 8293 24254 2023-08-15T01:15:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''misbaar''' === Tarjumaad === * {{en}}: screw, 24254 wikitext text/x-wiki {{-so-}} == Magac == '''misbaar''' === Tarjumaad === * {{en}}: screw, 3wk14jfn9voaa2tk08zbloyqfywb5fr riya' 0 8294 32159 29575 2024-10-29T22:17:57Z Girligaanshub 3150 32159 wikitext text/x-wiki {{-so-}} == Magac == '''riyaac''' === Tarjumaad === * {{en}}: alternate spelling of [[ricaaca]], ===Synonyms=== *[[hortabiye]], [[olol leh]], [[barar]] [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] qihy18chttois31qu82rjmalm4m84k1 moxog 0 8295 24264 2023-08-15T22:36:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''moxog''' === Tarjumaad === * {{en}}: Dasheen Root, Taro Root, cassava 24264 wikitext text/x-wiki {{-so-}} == Magac == '''moxog''' === Tarjumaad === * {{en}}: Dasheen Root, Taro Root, cassava 8z9g0vf3p8rd6moamtsin9j96sis0oq maandeeq 0 8296 29916 29375 2024-08-14T20:03:19Z Girligaanshub 3150 29916 wikitext text/x-wiki {{-so-}} == Magac == '''maandeeq''' === Tarjumaad === * {{en}}: serenity, tranquility, calm, calmness, serene, * {{en}}: utilitarian, utilitaianism, hedonism, content, contentment, epicurian, liberty * {{en}}: emancipation, maturing coming-of-age and autonomy via she-camel ownership and she-camel nomadic pastoralism * {{en}}: eco-centrism, off-grid lifestyle, offgrid, offgridder lifestyle, clandestine lifestyle, primitivism, agrarianism, agrarian, * {{en}}: she-camel ===Near Synonyms=== *[[joogdoon]], [[taddabur]], [[zuhd]], ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]] bee26lenbq6gemfay4tb0dc7ywmvzrp xannaan 0 8297 31762 31753 2024-10-25T20:27:14Z Girligaanshub 3150 31762 wikitext text/x-wiki {{-so-}} == Magac == '''xannaan''' === Tarjumaad === * {{en}}: kind, compassionate, humane, gentle, friendly, ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]] 0q0w5n3xwcjmzbt6wo3jz625slb1s31 xannaaneynta 0 8298 24274 2023-08-16T00:59:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xannaaneynta''' === Tarjumaad === * {{en}}: kindness, compassion, humane, gentle, friendliness, 24274 wikitext text/x-wiki {{-so-}} == Magac == '''xannaaneynta''' === Tarjumaad === * {{en}}: kindness, compassion, humane, gentle, friendliness, mzjl74o8wudf42tepjhm63kduxz7ts3 magangooye 0 8299 24275 2023-08-16T01:14:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magangooye''' === Tarjumaad === * {{en}}: anti-immigrant, anti-immigration, aporophobia, nativism, immigration restrictionism, immigration restrictionist, seclusion policy, isolationist policy 24275 wikitext text/x-wiki {{-so-}} == Magac == '''magangooye''' === Tarjumaad === * {{en}}: anti-immigrant, anti-immigration, aporophobia, nativism, immigration restrictionism, immigration restrictionist, seclusion policy, isolationist policy 93zpasmnpslap5xtfrk4rt5nmh47m9d kala-dambayn 0 8300 24276 2023-08-16T01:48:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaladambayn''' === Tarjumaad === * {{en}}: momentum, 24276 wikitext text/x-wiki {{-so-}} == Magac == '''kaladambayn''' === Tarjumaad === * {{en}}: momentum, qq8lljb0o1ubjagt3lgggv33b961xau halayn 0 8301 29113 29107 2024-07-29T20:00:55Z Girligaanshub 3150 29113 wikitext text/x-wiki {{-so-}} == Magac == '''halayn''' === Tarjumaad === * {{en}}: reliable, reliability, defer, deference, rely, trust ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] ===Antonyms=== *[[xilqaamid]], [[xilqaan]] nbg2vfmcd96vkg1bavdslar3by65xod meersan 0 8302 24278 2023-08-17T02:12:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meersan''' === Tarjumaad === * {{en}}: encircled, enclosed 24278 wikitext text/x-wiki {{-so-}} == Magac == '''meersan''' === Tarjumaad === * {{en}}: encircled, enclosed feux6udo0y02p8f3jrby91q1q4n6q4o meerso 0 8303 24279 2023-08-17T02:13:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meerso''' === Tarjumaad === * {{en}}: encircle, enclose, surround, 24279 wikitext text/x-wiki {{-so-}} == Magac == '''meerso''' === Tarjumaad === * {{en}}: encircle, enclose, surround, k2jnavan8027jnb845f91nor5hvcnp6 hadeyn 0 8305 26209 24832 2023-12-07T23:59:49Z Girligaanshub 3150 26209 wikitext text/x-wiki {{-so-}} == Magac == '''hadeyn''' === Tarjumaad === * {{en}}: salvation, salvationism, salvational, salvage, salvatory, salvationary ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]], [[takhallus]] n3jm2gp9ujta8imrvey2g9s7zww95mr is-milicsiga 0 8306 24286 2023-08-17T22:27:02Z Girligaanshub 3150 Girligaanshub moved page [[is-milicsiga]] to [[milicsiga]] 24286 wikitext text/x-wiki #REDIRECT [[milicsiga]] 60cp3cyymzs892ibvihlcy6ycm0wd5i ciil-qabe 0 8307 24762 24289 2023-09-05T19:28:22Z Girligaanshub 3150 24762 wikitext text/x-wiki {{-so-}} == Magac == '''ciil-qabe''' === Tarjumaad === * {{en}}: vindictive, grudge-bearer, bitter, strict, severe, stringent, harsh, drastic, tough, fierce, uncompromising, unsparing, inflexible, authoritarian ddi8j0ngjdlmma5m5v5150fol4n2sak khiyaali 0 8308 32164 27214 2024-10-30T03:49:16Z Girligaanshub 3150 32164 wikitext text/x-wiki {{-so-}} == Magac == '''khiyaali''' === Tarjumaad === * {{en}}: myth, folklore, fable, parable, allegory, fallacy, fairytale, fallacy, fiction, fantasy, superstition, ===Synonyms=== *[[khurafaad]], [[khiyaali]], [[tiro-kuteen]], [[dhalanteed]] 2usgxkndhaisv5meg0h0u3zn70movdf dawaarle 0 8309 24293 2023-08-18T20:10:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dawaarle''' === Tarjumaad === * {{en}}: tailor 24293 wikitext text/x-wiki {{-so-}} == Magac == '''dawaarle''' === Tarjumaad === * {{en}}: tailor 0wq0zkrzem9h7poy1hwe13m9ox1to39 gaari-maax 0 8310 24294 2023-08-18T20:11:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaari-maax''' === Tarjumaad === * {{en}}: driver 24294 wikitext text/x-wiki {{-so-}} == Magac == '''gaari-maax''' === Tarjumaad === * {{en}}: driver j7jirehqx5mc8pli8ojw3yql7bleovm baabuur-maax 0 8311 24295 2023-08-18T20:12:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baabuur-maax''' === Tarjumaad === * {{en}}: driver 24295 wikitext text/x-wiki {{-so-}} == Magac == '''baabuur-maax''' === Tarjumaad === * {{en}}: driver 41dey6xcsvun90wmhgsyuob0i5oy3ip laangaab 0 8312 31473 31472 2024-10-13T00:13:37Z Girligaanshub 3150 31473 wikitext text/x-wiki {{-so-}} == Magac == '''laangaab''' === Tarjumaad === * {{en}}: small lineage, small clan * {{en}}: disgraceful, contemptible, dishonorable, disreputable, lowly * {{en}}: ineffective, ineffectual, idle, ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], ngghgf2aa3boqujh7ohpucpus9lz4mj hawa 0 8313 31871 28015 2024-10-25T22:40:03Z Girligaanshub 3150 31871 wikitext text/x-wiki {{-so-}} == Magac == '''hunguri''' === Tarjumaad === * {{en}}: hedonism, sentiment, sentimentality, impulse, emotion, emotional, entitled, entitlement, desire-indulgence, pleasure-indulgence, ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], 2i118ogbd1s6ma7t7y93kmzxh33fl6d ahlul-hawa 0 8314 31870 28233 2024-10-25T22:37:13Z Girligaanshub 3150 31870 wikitext text/x-wiki {{-so-}} == Magac == '''ahlul-hawa''' === Tarjumaad === * {{en}}: hedonist, sensualist, libertine, sybarite, debaucher, sentiment-seeker, sentimentality, impulse, emotion, emotional, entitled, entitlement, desire-indulgence, pleasure-indulgence, ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], e4zu15j9iqj59zfxi26993w58r8b0sh han 0 8315 28419 24313 2024-06-15T18:08:48Z Girligaanshub 3150 28419 wikitext text/x-wiki {{-so-}} == Magac == '''han''' === Tarjumaad === * {{en}}: self-esteem ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], lnfqovmlj27knml95mp2ql3l1s2qik8 dastuuriga 0 8316 28141 28138 2024-06-09T19:42:00Z Girligaanshub 3150 28141 wikitext text/x-wiki {{-so-}} == Magac == '''dastuuriga''' === Tarjumaad === * {{en}}: constitutional, constitution ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] dczwemg94cvg2bw3hrgksx68t9tb0k5 makruux 0 8317 32660 24324 2024-11-30T08:17:00Z Girligaanshub 3150 Bog loo bedeley [[karaahiyo]] 32660 wikitext text/x-wiki #redirect [[karaahiyo]] 4ceh605ew00d12ygvcakes1xbymq6nb mubaax 0 8318 32822 30635 2024-12-02T11:00:30Z Girligaanshub 3150 32822 wikitext text/x-wiki {{-so-}} == Magac == '''mubaax''' === Tarjumaad === * {{en}}: neutral ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] ===Near synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] aoena9u3l7fn83z0613hkaux5ljutpm kalkaale 0 8319 24325 2023-08-21T11:15:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalkaale''' === Tarjumaad === * {{en}}: caregiver, enabler, helper 24325 wikitext text/x-wiki {{-so-}} == Magac == '''kalkaale''' === Tarjumaad === * {{en}}: caregiver, enabler, helper 742meai5chzgwhx0xl23cxm6p2ckt3e waxmatare 0 8320 32157 31475 2024-10-29T04:04:35Z Girligaanshub 3150 32157 wikitext text/x-wiki {{-so-}} == Magac == '''waxmatare''' === Tarjumaad === * {{en}}: unassertiveness, unassertive, idle, lethargic ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], 2acfjauqxmtfx1e91ftcl2v0jirlarp waxmatarenimo 0 8321 24347 24345 2023-08-21T23:47:58Z Girligaanshub 3150 24347 wikitext text/x-wiki {{-so-}} == Magac == '''waxmatarenimo''' === Tarjumaad === * {{en}}: liberal, apathetic person, idle person, passive person, appeasing person, appeaser, conciliating person, complacent, complacency, apathy, defeatist, meek, Impostor Syndrome, inferiority complex, micromaniac, micromania, echoist, docile, agreeable, deferential, yielding, compliant, submissive, unassertive, feminine ===Synonyms=== *[[gabasho]], [[isdigasho]], [[horgalnimo]], [[qoolley]], [[dayouth]], [[dayouthnimo]], [[dhiiranlaawe]], [[waxmatare]], [[beer-jilicsan]], [[ilgabadhle]], [[waxmatarenimo]] 6qcaizsv63t8n5qgg9urrrfe35ekcdx dooq 0 8322 27848 24348 2024-05-30T17:09:17Z Girligaanshub 3150 27848 wikitext text/x-wiki {{-so-}} == Magac == '''dooq''' === Tarjumaad === * {{en}}: setting, adjustment, acclimatization, arrangement, adaptation, ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] ffb5dpvm7hl5emu8r33kn4xh12d81fj bacaad 0 8323 24349 2023-08-22T14:13:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacaad''' === Tarjumaad === * {{en}}: sand, sandbox, dune, beach, desert 24349 wikitext text/x-wiki {{-so-}} == Magac == '''bacaad''' === Tarjumaad === * {{en}}: sand, sandbox, dune, beach, desert j3x7etghp4q4fp0820ppx0iqis9tvuo isku-day 0 8324 24353 2023-08-24T09:03:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isku day''' === Tarjumaad === * {{en}}: try, attempt 24353 wikitext text/x-wiki {{-so-}} == Magac == '''isku day''' === Tarjumaad === * {{en}}: try, attempt k73kgovfwwwbmax3nvxersngtnjk3vm madaxduub 0 8325 24361 24359 2023-08-24T16:41:25Z Girligaanshub 3150 24361 wikitext text/x-wiki {{-so-}} == Magac == '''madaxduub''' === Tarjumaad === * {{en}}: assassinator, assassination, kidnap, kidnapper, * {{en}}: turban, head scarf, headgear, head gear, keffiyeh ===Synonyms=== *[[cimaamad]] m4k7s56p29m8a3v1np5ko9mbmsalslg cimaamad 0 8326 24360 2023-08-24T16:40:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madaxduub''' === Tarjumaad === * {{en}}: turban, head scarf, headgear, head gear, keffiyeh ===Synonyms=== *[[madaxduub]] 24360 wikitext text/x-wiki {{-so-}} == Magac == '''madaxduub''' === Tarjumaad === * {{en}}: turban, head scarf, headgear, head gear, keffiyeh ===Synonyms=== *[[madaxduub]] iozfjlish77sojcy3b3m0o8hgve3ypp midha-dhal 0 8327 28253 26603 2024-06-14T11:53:57Z Girligaanshub 3150 28253 wikitext text/x-wiki {{-so-}} == Magac == '''midha-dhal''' === Tarjumaad === * {{en}}: reap fruit, crop, garner, gather, harvest, pick fruit, fecundate, fecundation, cultivate, cultivation, bloom, produce, production ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] bki6iy5itgloamdyymjoohymcts85t8 dabaaldegnimo 0 8328 24364 2023-08-25T12:58:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaaldegnimo''' === Tarjumaad === * {{en}}: celebratory, celebration, celebrative, celebrate 24364 wikitext text/x-wiki {{-so-}} == Magac == '''dabaaldegnimo''' === Tarjumaad === * {{en}}: celebratory, celebration, celebrative, celebrate i0jlxzstsxepgfmzeq5mz8e6fj0mw7h habey 0 8329 32363 31285 2024-11-10T21:57:24Z Girligaanshub 3150 32363 wikitext text/x-wiki {{-so-}} == Magac == '''habey''' === Tarjumaad === * {{en}}: improve, fix, adjust, alter, revise, refine, tweak, arrange, shuffle, adjust, orient, * {{en}}: structure, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] dty02aw3atylm1fanfexikwqa3jqqmq gacan-ku-dhiigle 0 8330 24368 2023-08-26T08:24:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacan-ku-dhiigle''' === Tarjumaad === * {{en}}: bloodthirsty, genocider, mass murderer, war criminal, ethnic cleanser 24368 wikitext text/x-wiki {{-so-}} == Magac == '''gacan-ku-dhiigle''' === Tarjumaad === * {{en}}: bloodthirsty, genocider, mass murderer, war criminal, ethnic cleanser jzrl0ths4r8u77cxbth1cnj3owuuh1l mubaaxnimo 0 8331 24369 2023-08-26T08:49:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mubaaxnimo''' === Tarjumaad === * {{en}}: neutrality 24369 wikitext text/x-wiki {{-so-}} == Magac == '''mubaaxnimo''' === Tarjumaad === * {{en}}: neutrality h5ph8zay6ksglxs942eihnl5s796k6s xayeysiin 0 8332 24496 24370 2023-09-01T10:37:55Z Girligaanshub 3150 Girligaanshub moved page [[xayasiin]] to [[xayeysiin]] 24370 wikitext text/x-wiki {{-so-}} == Magac == '''xayasiin''' === Tarjumaad === * {{en}}: advert, advertisement, advertize, advertise nn13stla95l9sjfp2ewil7d85emks04 xayeysiinta 0 8333 24494 24371 2023-09-01T10:37:46Z Girligaanshub 3150 Girligaanshub moved page [[xayasiinta]] to [[xayeysiinta]] 24371 wikitext text/x-wiki {{-so-}} == Magac == '''xayasiinta''' === Tarjumaad === * {{en}}: advert, advertisement, advertize, advertise byquskic2xxkkvrvtfp3ka70vug84ho rumoobo 0 8334 30228 30221 2024-08-24T16:11:25Z Girligaanshub 3150 30228 wikitext text/x-wiki {{-so-}} == Magac == '''rumoobo''' === Tarjumaad === * {{en}}: implement, actualize, realize, effectuate, materialize ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] 2dnng6w6l7z95ejo0f8b94j8legwqwj mujrim 0 8335 32326 28720 2024-11-08T12:20:31Z Girligaanshub 3150 32326 wikitext text/x-wiki {{-so-}} == Magac == '''mujrim''' === Tarjumaad === * {{en}}: convict, criminal ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] lghbefy0d0ejmdftrrafdpzrjrtka35 dembiile 0 8336 32327 28721 2024-11-08T12:20:40Z Girligaanshub 3150 32327 wikitext text/x-wiki {{-so-}} == Magac == '''dembiile''' === Tarjumaad === * {{en}}: convict, criminal ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] 1va53s63pkft76ma5vlpq5i3b71o0qe firxad 0 8337 24378 2023-08-27T01:53:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firxad''' === Tarjumaad === * {{en}}: escapee, defect defector, defectee 24378 wikitext text/x-wiki {{-so-}} == Magac == '''firxad''' === Tarjumaad === * {{en}}: escapee, defect defector, defectee h14m4p3aoyk1gn1xv7ks8somlsdgdlq baatil 0 8338 32778 24994 2024-12-01T15:45:48Z Girligaanshub 3150 32778 wikitext text/x-wiki {{-so-}} == Magac == '''baatil''' === Tarjumaad === * {{en}}: falsehood, evil, wicked, wickedness, cover-up, deceit, deception, dishonesty, distortion, fabrication, fakery, fallacy, falsity, misstatement, perjury, prevarication, sham, tall tale, untruth, erroneousness, error, falseness, fraud, untruthfulness, untruism ===Synonyms=== * [[shirk]], [[xaaraan]], [[mustaxiil]], [[nijaasayn]], [[baatil]] h87xeysg317fm179enm675dpnv33xo0 firdhi 0 8339 24380 2023-08-27T11:18:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firdhi''' === Tarjumaad === * {{en}}: scatter, distribute, discard, disseminate, 24380 wikitext text/x-wiki {{-so-}} == Magac == '''firdhi''' === Tarjumaad === * {{en}}: scatter, distribute, discard, disseminate, 93q8pe5c7wu8wzzw0fvbaajzdjmtm4s firdhiye 0 8340 24381 2023-08-27T13:41:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firdhiye''' === Tarjumaad === * {{en}}: scatterer, distributer, discarder, disseminator, 24381 wikitext text/x-wiki {{-so-}} == Magac == '''firdhiye''' === Tarjumaad === * {{en}}: scatterer, distributer, discarder, disseminator, bfvmjfgkeihr19wg6sq2fd5cp0wgqsl aaboyeel 0 8341 24383 24382 2023-08-27T13:42:08Z Girligaanshub 3150 24383 wikitext text/x-wiki {{-so-}} == Magac == '''aaboyeel''' === Tarjumaad === * {{en}}: differentiate, distinguish 5quo4hurz3hh5xr3y9c2l4wyobqr5yz dukaamayso 0 8342 24384 2023-08-27T13:43:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dukaamayso''' === Tarjumaad === * {{en}}: shop, shopping, purchase, purchasing, commerce, commercing, 24384 wikitext text/x-wiki {{-so-}} == Magac == '''dukaamayso''' === Tarjumaad === * {{en}}: shop, shopping, purchase, purchasing, commerce, commercing, 0y2orozsd0655105k59h15ka2yxs977 alaalabey 0 8343 24385 2023-08-27T16:21:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alaalabey''' === Tarjumaad === * {{en}}: toy, plaything ===Synonyms=== *[[lucbad]] 24385 wikitext text/x-wiki {{-so-}} == Magac == '''alaalabey''' === Tarjumaad === * {{en}}: toy, plaything ===Synonyms=== *[[lucbad]] 7xg10iegmscypq43yibatjyavxy90p7 lucbad 0 8344 24386 2023-08-27T16:21:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lucbad''' === Tarjumaad === * {{en}}: toy, plaything ===Synonyms=== *[[alaalabey]] 24386 wikitext text/x-wiki {{-so-}} == Magac == '''lucbad''' === Tarjumaad === * {{en}}: toy, plaything ===Synonyms=== *[[alaalabey]] sqbfqdmf8u0yvy9ldpqt32jaan7nsx1 gawrac 0 8345 24387 2023-08-27T16:22:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gawrac''' === Tarjumaad === * {{en}}: behead ===Synonyms=== 24387 wikitext text/x-wiki {{-so-}} == Magac == '''gawrac''' === Tarjumaad === * {{en}}: behead ===Synonyms=== 7visw77bvkbp68j8fblz21hk3wsgdus qar 0 8346 24388 2023-08-27T16:24:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qar''' === Tarjumaad === * {{en}}: cliff 24388 wikitext text/x-wiki {{-so-}} == Magac == '''qar''' === Tarjumaad === * {{en}}: cliff 6i6rycmvcovd5fm01kugk2l3wglvek3 antaro 0 8347 24451 24403 2023-08-28T12:01:59Z Girligaanshub 3150 24451 wikitext text/x-wiki {{-so-}} == Magac == '''antaro''' === Tarjumaad === * {{en}}: limit, border, ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] hnp6vimztf8ey856d2tjv6gwts18dop falaax 0 8348 24831 24392 2023-09-11T13:55:32Z Girligaanshub 3150 24831 wikitext text/x-wiki {{-so-}} == Magac == '''falaax''' === Tarjumaad === * {{en}}: salvation ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]] 25frbpir2oe9nt7crnofa9bz7pqtd3d seere 0 8349 32364 24452 2024-11-10T23:49:54Z Girligaanshub 3150 32364 wikitext text/x-wiki {{-so-}} == Magac == '''seere''' === Tarjumaad === * {{en}}: common land, common park, marsh nkdecguodxt4dkpvbw5mdkv7pc4ky2s serji 0 8350 24453 24404 2023-08-28T12:02:27Z Girligaanshub 3150 24453 wikitext text/x-wiki {{-so-}} == Magac == '''serji''' === Tarjumaad === * {{en}}: limit, protrusion, projection, protuberance, bulge, tumescence, ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[ilaxir]], [[aafti]], [[xanib]], [[darafyada]] 7tojc2tsxjpa0y10adx53j8kfqa3u21 geftin 0 8351 24405 24399 2023-08-27T20:24:02Z Girligaanshub 3150 24405 wikitext text/x-wiki {{-so-}} == Magac == '''geftin''' === Tarjumaad === * {{en}}: edge, corner, side ===Synonyms=== *[[aagga baadisooc]], [[shirmo]], [[aafti]], [[antaro]], [[seere]], [[serji]], [[geftin]], [[cirif]], [[ilaxir]], [[aafti]], [[xanib]] hv1d749yyvmql6sh3snu1krs60vymai cirif 0 8352 24400 2023-08-27T20:07:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cirif''' === Tarjumaad === * {{en}}: edge, corner, side, 24400 wikitext text/x-wiki {{-so-}} == Magac == '''cirif''' === Tarjumaad === * {{en}}: edge, corner, side, byw4x5zid3t26wk168qkwclcy03wvc4 cirid 0 8353 26133 26131 2023-12-01T03:18:53Z Girligaanshub 3150 26133 wikitext text/x-wiki {{-so-}} == Magac == '''jariid''' === Tarjumaad === * {{en}}: jaw, gum mlrig6ghdlsw6rt9174imbpbtlg80eu dhaban 0 8354 32772 29504 2024-12-01T14:32:39Z ВМНС 5070 32772 wikitext text/x-wiki {{-so-}} == Magac == '''dhaban''' === Tarjumaad === * {{en}}: cheek * {{en}}: even, even number ===Synonyms=== *[[barbar]], [[berber]], [[dhaban]], [[dhabannimo]] ===Antonyms=== *[[kisi]] [[Category:Soomaali ereyada-dha]] dqa6ywlda9t4qqu5hco15n7zfkldttc hunguri booc 0 8355 24410 2023-08-28T03:49:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hunguri booc''' === Tarjumaad === * {{en}}: adam's apple 24410 wikitext text/x-wiki {{-so-}} == Magac == '''hunguri booc''' === Tarjumaad === * {{en}}: adam's apple f5hgugktgabgww2tx0pm16j0kzowcx2 sabar 0 8356 24412 2023-08-28T03:53:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sabar''' === Tarjumaad === * {{en}}: waist 24412 wikitext text/x-wiki {{-so-}} == Magac == '''sabar''' === Tarjumaad === * {{en}}: waist l48fep5du92l1owje7bd023z2l6vs8e misko 0 8357 24413 2023-08-28T03:54:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''misko''' === Tarjumaad === * {{en}}: hips, hipbone 24413 wikitext text/x-wiki {{-so-}} == Magac == '''misko''' === Tarjumaad === * {{en}}: hips, hipbone a0arse83yqo2jxt1jqimf1wz173mv1d gardaad 0 8358 24429 24414 2023-08-28T04:35:39Z Girligaanshub 3150 24429 wikitext text/x-wiki {{-so-}} == Magac == '''gardaad''' === Tarjumaad === * {{en}}: pectoralis major, chest or85xuw3xp30wh7u7mh3mnwfi6fgrpo xusul 0 8359 24415 2023-08-28T04:00:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xusul''' === Tarjumaad === * {{en}}: elbow 24415 wikitext text/x-wiki {{-so-}} == Magac == '''xusul''' === Tarjumaad === * {{en}}: elbow l402clica4gxnbjv5y3znn8vlgqzlrm xiidme 0 8360 24416 2023-08-28T04:02:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiidme''' === Tarjumaad === * {{en}}: intestine 24416 wikitext text/x-wiki {{-so-}} == Magac == '''xiidme''' === Tarjumaad === * {{en}}: intestine s3e7o06606yskf5a4ziwz2wq01b74mc oogo 0 8361 24417 2023-08-28T04:17:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oogo''' === Tarjumaad === * {{en}}: body 24417 wikitext text/x-wiki {{-so-}} == Magac == '''oogo''' === Tarjumaad === * {{en}}: body f44t0i3qobojbul7xizmb17lvzgu61c daqiiq 0 8362 26857 24418 2024-02-28T05:47:22Z Girligaanshub 3150 26857 wikitext text/x-wiki {{-so-}} == Magac == '''daqiiq''' === Tarjumaad === * {{en}}: powder, flour 5udu6ta41xv76rxi5hd5r4tblt8q804 buul shimbir 0 8363 29378 24419 2024-08-02T12:45:37Z Girligaanshub 3150 29378 wikitext text/x-wiki {{-so-}} == Magac == '''buul shimbir''' === Tarjumaad === * {{en}}: bird's nest abn4sjyq3412nhlibqa2mvbf6lni0mg fallaar 0 8364 24420 2023-08-28T04:20:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fallaar''' === Tarjumaad === * {{en}}: arrow 24420 wikitext text/x-wiki {{-so-}} == Magac == '''fallaar''' === Tarjumaad === * {{en}}: arrow 9p7cyonjn893sqdxk9w95wtmifbp7c3 cayayaan 0 8365 24421 2023-08-28T04:21:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cayayaan''' === Tarjumaad === * {{en}}: insect 24421 wikitext text/x-wiki {{-so-}} == Magac == '''cayayaan''' === Tarjumaad === * {{en}}: insect k8adh53dtg3ahrn5asn50bjao9k0yjr shamaag 0 8366 24422 2023-08-28T04:23:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shamaag''' === Tarjumaad === * {{en}}: net 24422 wikitext text/x-wiki {{-so-}} == Magac == '''shamaag''' === Tarjumaad === * {{en}}: net pnsg3lsx3d1pp5wwaoifrkugic9ht2n lax 0 8367 27791 24423 2024-05-28T16:44:47Z Girligaanshub 3150 27791 wikitext text/x-wiki {{-so-}} == Magac == '''lax''' === Tarjumaad === * {{en}}: female sheep, ewe 2w3eeniquw598bf1bhg9l7rfcmmkljt wan 0 8368 26046 24424 2023-11-24T04:23:23Z Girligaanshub 3150 26046 wikitext text/x-wiki {{-so-}} == Magac == '''wan''' === Tarjumaad === * {{en}}: male sheep / ram al0yz5sztvusv0q87n196jwa0fttkrg baraar 0 8369 29844 24425 2024-08-12T17:48:43Z Girligaanshub 3150 29844 wikitext text/x-wiki {{-so-}} == Magac == '''baraar''' === Tarjumaad === * {{en}}: sheep weaning below 2 years old; lamb rkh0gcjizj4cm8any3xxwso8v927vim baqal 0 8370 24426 2023-08-28T04:29:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baqal''' === Tarjumaad === * {{en}}: mule 24426 wikitext text/x-wiki {{-so-}} == Magac == '''baqal''' === Tarjumaad === * {{en}}: mule sudz0f3mpir040t58bbsduc5r3muko5 dhogor 0 8371 24427 2023-08-28T04:31:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhogor''' === Tarjumaad === * {{en}}: wool 24427 wikitext text/x-wiki {{-so-}} == Magac == '''dhogor''' === Tarjumaad === * {{en}}: wool al0arld8ph48ul6vkynhncwkznq6v12 jawaan 0 8372 24428 2023-08-28T04:32:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jawaan''' === Tarjumaad === * {{en}}: sack 24428 wikitext text/x-wiki {{-so-}} == Magac == '''jawaan''' === Tarjumaad === * {{en}}: sack jzht7kemh4mf4rinpk5kt53o9xlzu5x saqaf 0 8373 27439 24433 2024-05-19T15:28:57Z Girligaanshub 3150 27439 wikitext text/x-wiki {{-so-}} == Magac == '''saqaf''' === Tarjumaad === * {{en}}: roof, ceiling nky2b9d69ol2wzcsjfklsjo1pnru7nc dariishad 0 8374 24434 2023-08-28T04:40:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dariishad''' === Tarjumaad === * {{en}}: window 24434 wikitext text/x-wiki {{-so-}} == Magac == '''dariishad''' === Tarjumaad === * {{en}}: window sz1upy0hfp2vayeo8p4vic7gi02vbaf tib 0 8375 24436 2023-08-28T04:45:46Z Girligaanshub 3150 Girligaanshub moved page [[tib]] to [[dhumuc]] 24436 wikitext text/x-wiki #REDIRECT [[dhumuc]] oe1egzyolrxp9tvj880eej3ua69e32e miro 0 8376 24438 2023-08-28T04:49:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miro''' === Tarjumaad === * {{en}}: fruit 24438 wikitext text/x-wiki {{-so-}} == Magac == '''miro''' === Tarjumaad === * {{en}}: fruit j5vynpe57sojfgkljvremn8eb2glc20 bakad 0 8377 24439 2023-08-28T05:01:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakad''' === Tarjumaad === * {{en}}: steppe 24439 wikitext text/x-wiki {{-so-}} == Magac == '''bakad''' === Tarjumaad === * {{en}}: steppe 0duvnfmazpkpt755e9al0qj1lxmbgka dambas 0 8378 24440 2023-08-28T05:16:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dambas''' === Tarjumaad === * {{en}}: ash 24440 wikitext text/x-wiki {{-so-}} == Magac == '''dambas''' === Tarjumaad === * {{en}}: ash q69y7xxke20nmdzxyr5x6iw72i8cjfo dhado 0 8379 24441 2023-08-28T05:17:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhado''' === Tarjumaad === * {{en}}: fog 24441 wikitext text/x-wiki {{-so-}} == Magac == '''dhado''' === Tarjumaad === * {{en}}: fog 9qoaxldazytdzangtpol5q6ez3h9jvy har 0 8380 27310 24442 2024-05-06T20:39:35Z Girligaanshub 3150 27310 wikitext text/x-wiki {{-so-}} == Magac == '''har''' === Tarjumaad === * {{en}}: shadow * {{en}}: abandon, forsake, desert, isolate nhtmpv7orwm2mexqtw09071jq36r9nz fiid 0 8381 32784 27349 2024-12-01T17:11:29Z ВМНС 5070 32784 wikitext text/x-wiki {{-so-}} == Magac == '''fiid''' === Tarjumaad === * {{en}}: blue hour, after dusk, after sunset, evening [[Category:Soomaali ereyada-fi]] 80i4ogtev3enfnmdczsf11lkcbvm75f cid 0 8382 26139 24445 2023-12-01T04:28:41Z Girligaanshub 3150 26139 wikitext text/x-wiki {{-so-}} == Magac == '''cid''' === Tarjumaad === * {{en}}: someone d4dbg23eoxaub3a7tloatzteik2i9xv calyo 0 8383 24446 2023-08-28T05:33:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calyo''' === Tarjumaad === * {{en}}: spit 24446 wikitext text/x-wiki {{-so-}} == Magac == '''calyo''' === Tarjumaad === * {{en}}: spit 52t945l9ayd3f9ikmxmixutzzfxlzgb muquuf 0 8384 24447 2023-08-28T05:43:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muquuf''' === Tarjumaad === * {{en}}: sank, sink 24447 wikitext text/x-wiki {{-so-}} == Magac == '''muquuf''' === Tarjumaad === * {{en}}: sank, sink t2vipjtm5u3gcpoymgihtyirv3k6j56 hogey 0 8385 24448 2023-08-28T05:45:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hogey''' === Tarjumaad === * {{en}}: roast 24448 wikitext text/x-wiki {{-so-}} == Magac == '''hogey''' === Tarjumaad === * {{en}}: roast rzmsyj9hhmcq7qsnu1hwfff29wvec59 miskeen 0 8386 31780 24461 2024-10-25T20:40:47Z Girligaanshub 3150 31780 wikitext text/x-wiki {{-so-}} == Magac == '''miskeen''' === Tarjumaad === * {{en}}: doormat, weakling, wuss, softie, softy, pushover, pussy, sycophant, bootlicker, * {{en}}: poor, ===Synonyms=== *[[miskeen]], [[faqiir]] mji4sq6s0g7oifzzypocyifzhzghr98 dayuus 0 8387 31476 25338 2024-10-13T00:14:18Z Girligaanshub 3150 31476 wikitext text/x-wiki {{-so-}} == Magac == '''dayouth''' === Tarjumaad === * {{en}}: cuck, cuckold, apathetic person, indifferent, idle person, passive person, appeasing person, appeaser, conciliating person, complacent, complacency, apathy, defeatist, meek, Impostor Syndrome, inferiority complex, micromaniac, micromania, echoist, docile, agreeable, deferential, ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], b3f3a6f0eimog2vu08wvmwvbm3p5goy hub-dhigis 0 8388 24469 2023-08-29T18:35:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hub-dhigis''' === Tarjumaad === * {{en}}: disarm, disarmed, demobilized, demobilize, demobilization, 24469 wikitext text/x-wiki {{-so-}} == Magac == '''hub-dhigis''' === Tarjumaad === * {{en}}: disarm, disarmed, demobilized, demobilize, demobilization, kktk9t2xbvi3l7dpx9yjqj2rbqd1lqz aqidah 0 8389 28175 28134 2024-06-12T19:27:17Z Girligaanshub 3150 28175 wikitext text/x-wiki {{-so-}} == Magac == '''aqidah''' === Tarjumaad === * {{en}}: creed, principles, belief, doctrine, confession ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] r92eqvybz2x8tfkoz2gd5v99we6d180 hagoog 0 8390 24473 2023-08-30T18:38:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagoog''' === Tarjumaad === * {{en}}: envelop, enfold, cover, enwrap, cloak, shroud, blanket, enshroud, overlay, overshadow, 24473 wikitext text/x-wiki {{-so-}} == Magac == '''hagoog''' === Tarjumaad === * {{en}}: envelop, enfold, cover, enwrap, cloak, shroud, blanket, enshroud, overlay, overshadow, obxusenlcbn8iwmp9vwhcndcdsbfjun fasaxnimo 0 8392 24476 2023-09-01T08:53:11Z Girligaanshub 3150 Bog cusub: {{-so-}} === Magac === '''fasax''' === Tarjumaad === * {{en}}: [[holiday]], liberation, release, 24476 wikitext text/x-wiki {{-so-}} === Magac === '''fasax''' === Tarjumaad === * {{en}}: [[holiday]], liberation, release, 3fp1a7gws4o96676w331mnbvdv4n22v ogeysiis 0 8393 32489 32488 2024-11-16T19:49:42Z Girligaanshub 3150 32489 wikitext text/x-wiki {{-so-}} == Magac == '''ogeysiis''' === Tarjumaad === * {{en}}: information, notice, notification, memo, announcement, reminder, alert, attention ===Synonyms=== *[[macluumad]], [[wargelin]], [[warmurtiyeed]], [[ogeysiis]], 9cue8tjbo9j6j7m3gqvqjrs400rda0z waxbarid 0 8394 24480 2023-09-01T10:08:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waxbarid''' === Tarjumaad === * {{en}}: tutorial, seminar, guide, ===Synonyms=== * [[daadihin]] 24480 wikitext text/x-wiki {{-so-}} == Magac == '''waxbarid''' === Tarjumaad === * {{en}}: tutorial, seminar, guide, ===Synonyms=== * [[daadihin]] mzdzfgvx9w3e2v2i09m6qdtws0yjx99 daadihin 0 8395 24481 2023-09-01T10:09:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daadihin''' === Tarjumaad === * {{en}}: tutorial, seminar, guide, ===Synonyms=== * [[waxbarid]] 24481 wikitext text/x-wiki {{-so-}} == Magac == '''daadihin''' === Tarjumaad === * {{en}}: tutorial, seminar, guide, ===Synonyms=== * [[waxbarid]] ruab4cb877nqq0hwn2atthfpc6kkoxk bacaadka 0 8396 24482 2023-09-01T10:13:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacaadka''' === Tarjumaad === * {{en}}: sandbox, testing environment, experimenting place, 24482 wikitext text/x-wiki {{-so-}} == Magac == '''bacaadka''' === Tarjumaad === * {{en}}: sandbox, testing environment, experimenting place, nrdrs7zqd4v1bx583cm0t34eh8viuru daa'im 0 8397 32409 31910 2024-11-13T04:22:06Z Girligaanshub 3150 32409 wikitext text/x-wiki {{-so-}} == Magac == '''daa'im''' === Tarjumaad === * {{en}}: permanent, indefinite, constant, static, ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]], [[darandoorri]] crzrpap2w8tiszyvuyq21pqfqfjtmbq shay 0 8398 26448 24487 2023-12-26T13:43:02Z Girligaanshub 3150 26448 wikitext text/x-wiki {{-so-}} == Magac == '''shay''' === Tarjumaad === * {{en}}: item, thing, unit, constituent, piece ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], f68i2vt0apw1r4rjwde3wlwe83rweqg dabiici 0 8399 28634 24488 2024-06-30T17:05:18Z Girligaanshub 3150 28634 wikitext text/x-wiki {{-so-}} == Magac == '''dabiici''' === Tarjumaad === * {{en}}: natural kw3ixqy97ztk0osx2eicuaa9e3nht4l dabiicikaro 0 8400 24489 2023-09-01T10:27:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabiicikaro''' === Tarjumaad === * {{en}}: printable 24489 wikitext text/x-wiki {{-so-}} == Magac == '''dabiicikaro''' === Tarjumaad === * {{en}}: printable khod4diito3qhbynu2uveax4dmv273x wasikaro 0 8401 24491 24490 2023-09-01T10:33:38Z Girligaanshub 3150 24491 wikitext text/x-wiki {{-so-}} == Magac == '''wasikaro''' === Tarjumaad === * {{en}}: fuckable, bangable, attractive, fertile 2jjzuldpzolsxchyq97x7c0ri2wz4gn dhoofi 0 8402 30554 24492 2024-09-07T21:56:57Z Girligaanshub 3150 30554 wikitext text/x-wiki {{-so-}} == Magac == '''dhoofi''' === Tarjumaad === * {{en}}: export, exportation ===Synonyms=== *[[dhoofi]], [[dibadgayn]], [[siigal]] f1ju3krkv3cdxtz4siwnq6wf8qoxbzd xayasiinta 0 8403 24495 2023-09-01T10:37:46Z Girligaanshub 3150 Girligaanshub moved page [[xayasiinta]] to [[xayeysiinta]] 24495 wikitext text/x-wiki #REDIRECT [[xayeysiinta]] iq143an9l4d4zbu76tnpoeefzqc9sl4 xayasiin 0 8404 24497 2023-09-01T10:37:55Z Girligaanshub 3150 Girligaanshub moved page [[xayasiin]] to [[xayeysiin]] 24497 wikitext text/x-wiki #REDIRECT [[xayeysiin]] 6sax3sb3hc5fwddkk14j4ml5irm8obj baaraandeg 0 8405 24501 2023-09-01T10:45:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaraandeg''' === Tarjumaad === * {{en}}: forecast, prediction, projection, prognosis, predict, expect, expectation, fortunetelling, astrology, soothsaying, crystal-gaze, oracle working, crystal ball, prophecy, prophesize, foretell, foretelling, ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 24501 wikitext text/x-wiki {{-so-}} == Magac == '''baaraandeg''' === Tarjumaad === * {{en}}: forecast, prediction, projection, prognosis, predict, expect, expectation, fortunetelling, astrology, soothsaying, crystal-gaze, oracle working, crystal ball, prophecy, prophesize, foretell, foretelling, ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] c6lz3e4k08dadltul2d63a5rxdcj3ns xaruuri 0 8406 24507 2023-09-01T20:01:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaruuri''' === Tarjumaad === * {{en}}: violent, violence 24507 wikitext text/x-wiki {{-so-}} == Magac == '''xaruuri''' === Tarjumaad === * {{en}}: violent, violence 4am67cm826xw6k9u8a1rol4q8bnrcfv kelinimo 0 8407 24508 2023-09-01T20:03:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kelinimo''' === Tarjumaad === * {{en}}: solitude, reclusive, reclusiveness, solitary 24508 wikitext text/x-wiki {{-so-}} == Magac == '''kelinimo''' === Tarjumaad === * {{en}}: solitude, reclusive, reclusiveness, solitary b3cyzd5a4mszou2v9botl2jxd1mpl3i kadis 0 8408 26888 24509 2024-03-07T23:32:12Z Girligaanshub 3150 26888 wikitext text/x-wiki {{-so-}} == Magac == '''kadis''' === Tarjumaad === * {{en}}: sudden, surprise s37nw22o0zp6j3a3a1o32eag3gh11li qandhuuf 0 8409 24510 2023-09-01T20:07:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qandhuuf''' === Tarjumaad === * {{en}}: paralysis, paralyzed, paralyze, 24510 wikitext text/x-wiki {{-so-}} == Magac == '''qandhuuf''' === Tarjumaad === * {{en}}: paralysis, paralyzed, paralyze, el0o9fehkha8xw4rnfxsycsrdxa55vn ciqaab 0 8410 28938 24511 2024-07-27T13:35:45Z Girligaanshub 3150 28938 wikitext text/x-wiki {{-so-}} == Magac == '''ciqaab''' === Tarjumaad === * {{en}}: punish, ===Synonyms=== *[[ciqaab]], [[cadaab]] rj3umqlaqlu9vs4ypu2h64y9yvw3ru5 xaajood 0 8411 32224 24512 2024-11-03T21:45:58Z Girligaanshub 3150 32224 wikitext text/x-wiki {{-so-}} == Magac == '''xaajood''' === Tarjumaad === * {{en}}: negotiation * {{en}}: consultation k526vyuc30fao8nl0dv026snf359ko3 sagooti 0 8412 29872 28854 2024-08-12T21:02:10Z Girligaanshub 3150 29872 wikitext text/x-wiki {{-so-}} == Magac == '''sagooti''' === Tarjumaad === * {{en}}: escort, welcome * {{en}}: bid farewell, say goodbye o1dxhwl28dghygsbxzue3r48uryugx1 duug 0 8413 24514 2023-09-01T20:14:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duug''' === Tarjumaad === * {{en}}: massage, 24514 wikitext text/x-wiki {{-so-}} == Magac == '''duug''' === Tarjumaad === * {{en}}: massage, ja4dt46dtfly91wkn2r4am4g4943avg shiish 0 8414 24804 24515 2023-09-08T08:58:40Z Girligaanshub 3150 24804 wikitext text/x-wiki {{-so-}} == Magac == '''shiish''' === Tarjumaad === * {{en}}: target, aim, crosshair, crosshairs, graticule, reticle, reticule, scope, soqcajl6ocyuh1dhm7awvqudl1fq2l3 tiigso 0 8415 24518 2023-09-01T20:30:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiigso''' === Tarjumaad === * {{en}}: stretch, 24518 wikitext text/x-wiki {{-so-}} == Magac == '''tiigso''' === Tarjumaad === * {{en}}: stretch, 8nlt5mxfzpg2796eqrcprqxwcu1h625 afo 0 8416 28167 24519 2024-06-12T19:04:18Z Girligaanshub 3150 28167 wikitext text/x-wiki {{-so-}} == Magac == '''afo''' === Tarjumaad === * {{en}}: wife, lady * {{en}}: sharpened end, tip, prong, spike, apex 3m8b7ofbjw4lmr3o4qr2fvfjgjrvapt afee 0 8417 24520 2023-09-01T20:45:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afee''' === Tarjumaad === * {{en}}: sharpen, grind, hone, 24520 wikitext text/x-wiki {{-so-}} == Magac == '''afee''' === Tarjumaad === * {{en}}: sharpen, grind, hone, awfz7672k317j8vvcqpipndgp69793v marooji 0 8418 24521 2023-09-01T20:47:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marooji''' === Tarjumaad === * {{en}}: squeeze, twist 24521 wikitext text/x-wiki {{-so-}} == Magac == '''marooji''' === Tarjumaad === * {{en}}: squeeze, twist 3cpdjtsm4v53fmqi4keq9xlmypganko tiirsan 0 8419 31774 31771 2024-10-25T20:37:09Z Girligaanshub 3150 31774 wikitext text/x-wiki {{-so-}} == Magac == '''tiirsan''' === Tarjumaad === * {{en}}: depend, dependent, co-dependent * {{en}}: leaning, standing ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], (qof) [[tiirsan]] 735cshc45q3tvp5bibdm1zz06k6o1ja daroor 0 8420 24529 2023-09-01T20:57:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daroor''' === Tarjumaad === * {{en}}: leak, leaking 24529 wikitext text/x-wiki {{-so-}} == Magac == '''daroor''' === Tarjumaad === * {{en}}: leak, leaking oefdeeahz7tch32k7sdpdts8hcox3hd shaabbah 0 8421 24532 2023-09-01T21:19:14Z Girligaanshub 3150 Girligaanshub moved page [[shaabbah]] to [[shabbah]] 24532 wikitext text/x-wiki #REDIRECT [[shabbah]] j3ilxh1eh38h35tfgy3cgl71f8it8wn haghag 0 8422 24533 2023-09-01T21:20:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haghag''' === Tarjumaad === * {{en}}: stammer 24533 wikitext text/x-wiki {{-so-}} == Magac == '''haghag''' === Tarjumaad === * {{en}}: stammer hm4oqzvajqdadnlqq1ytk5gtefjyv1p cagaf 0 8423 24535 2023-09-01T21:21:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cagaf''' === Tarjumaad === * {{en}}: camel hoof 24535 wikitext text/x-wiki {{-so-}} == Magac == '''cagaf''' === Tarjumaad === * {{en}}: camel hoof tauviv24qcmeme71lrsdw70ojfb153e shucub 0 8424 32268 24536 2024-11-04T06:11:02Z Girligaanshub 3150 32268 wikitext text/x-wiki {{-so-}} == Magac == '''shucub''' === Tarjumaad === * {{en}}: lion's mane * {{en}}: decorative thread, threads, strand, ribbon, fiber, string, yarn get319i9qjup4w20xr44342yrpcwo0r bawdo 0 8425 25205 24537 2023-10-10T08:14:36Z Girligaanshub 3150 25205 wikitext text/x-wiki {{-so-}} == Magac == '''bawdo''' === Tarjumaad === * {{en}}: thigh, thighs i4umtgfuv9eu5a9vzgq4rg1uh11olyb sarac 0 8426 26926 24538 2024-03-14T21:40:11Z Girligaanshub 3150 26926 wikitext text/x-wiki {{-so-}} == Magac == '''sarac''' === Tarjumaad === * {{en}}: groin, crotch ===Synonyms=== *[[gumaar]], [[sarac]] 9vetmbn3lxk3x62jv5mgjrjh17p12l1 balambaalis 0 8427 25020 24539 2023-09-22T14:18:11Z Girligaanshub 3150 25020 wikitext text/x-wiki {{-so-}} == Magac == '''balambaalis''' === Tarjumaad === * {{en}}: butterfly searoufa1az013spqe4tea2lq5o7h37 booloboolo 0 8428 25161 24540 2023-09-29T11:45:51Z Girligaanshub 3150 Girligaanshub moved page [[hooloboolo]] to [[booloboolo]] 24540 wikitext text/x-wiki {{-so-}} == Magac == '''hooloboolo''' === Tarjumaad === * {{en}}: duck puw68oqn0fz5w6j70zq380wnec74vr1 qodax 0 8429 24542 2023-09-01T21:37:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qodax''' === Tarjumaad === * {{en}}: thorn 24542 wikitext text/x-wiki {{-so-}} == Magac == '''qodax''' === Tarjumaad === * {{en}}: thorn 1s809u5oi2hr5bpfbnk8xhw1vw0vgyr mirir 0 8430 24543 2023-09-01T21:40:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mirir''' === Tarjumaad === * {{en}}: rust 24543 wikitext text/x-wiki {{-so-}} == Magac == '''mirir''' === Tarjumaad === * {{en}}: rust b7ucj6t4vshcbm1cxj8p1bb2lv848w9 jawharrad 0 8431 24560 24544 2023-09-02T11:59:29Z Girligaanshub 3150 24560 wikitext text/x-wiki {{-so-}} == Magac == '''jawharrad''' === Tarjumaad === * {{en}}: jewellery, jewels, gems, ornaments, adornment, 9dbjqlcardgnx5t3u8uttzw1j5h0bch mungaaf 0 8432 24545 2023-09-01T21:44:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mungaaf''' === Tarjumaad === * {{en}}: chisel 24545 wikitext text/x-wiki {{-so-}} == Magac == '''mungaaf''' === Tarjumaad === * {{en}}: chisel 90d7lrloro7uxpnos1twa2kgjrbz3w9 quful 0 8433 24546 2023-09-01T21:53:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quful''' === Tarjumaad === * {{en}}: lock 24546 wikitext text/x-wiki {{-so-}} == Magac == '''quful''' === Tarjumaad === * {{en}}: lock 8q6u915r8ihpujwt3nzinhkhn9g1dkq barmiil 0 8434 24547 2023-09-01T21:55:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barmiil''' === Tarjumaad === * {{en}}: barrell 24547 wikitext text/x-wiki {{-so-}} == Magac == '''barmiil''' === Tarjumaad === * {{en}}: barrell tctajrcvb94qj6g8x3bmrzo7y4si9pl dardaaro 0 8435 31517 24548 2024-10-13T02:56:59Z Girligaanshub 3150 31517 wikitext text/x-wiki {{-so-}} == Magac == '''dardaaro''' === Tarjumaad === * {{en}}: fireplace, bonfire, campfire, fire pit, chimney. furnace. stove. blaze. ===Synonyms=== *[[uuni]], [[dardaaro]], [[burkijo]] 66v1xjjrypv4f775di735zv7fn9yiks xayr 0 8436 32817 32805 2024-12-02T10:31:30Z Girligaanshub 3150 32817 wikitext text/x-wiki {{-so-}} == Magac == '''xayr''' === Tarjumaad === * {{en}}: wax * {{en}}: subculture ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xayr]], [[firqo]], [[xayrdhaqameed]], [[xayr-diimeed]], [[xayr-gaar]] 3rjw3wkv4nspig0d9a4ctla3qmz0m8a goome 0 8437 24550 2023-09-01T22:08:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goome''' === Tarjumaad === * {{en}}: rubber 24550 wikitext text/x-wiki {{-so-}} == Magac == '''goome''' === Tarjumaad === * {{en}}: rubber pypwslw5i0civzpiknoqdqu7wwvzjl9 bulukeeti 0 8438 24551 2023-09-01T22:09:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bulukeeti''' === Tarjumaad === * {{en}}: brick 24551 wikitext text/x-wiki {{-so-}} == Magac == '''bulukeeti''' === Tarjumaad === * {{en}}: brick mmzxrqv62fl8aj6lnu6esl4hf7ti9cr shamiito 0 8439 24552 2023-09-01T22:17:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shamiito''' === Tarjumaad === * {{en}}: cement 24552 wikitext text/x-wiki {{-so-}} == Magac == '''shamiito''' === Tarjumaad === * {{en}}: cement im06u5xi5akpu0yqibkjo0fahjxwmp4 faraq 0 8440 24553 2023-09-01T22:18:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faraq''' === Tarjumaad === * {{en}}: embroidery 24553 wikitext text/x-wiki {{-so-}} == Magac == '''faraq''' === Tarjumaad === * {{en}}: embroidery b5rfv6k3jwabrlh8u7y1vvpg8wjmkcb qaddar 0 8441 29172 24850 2024-07-30T05:46:42Z Girligaanshub 3150 29172 wikitext text/x-wiki {{-so-}} == Magac == '''qaddar''' === Tarjumaad === * {{en}}: destiny, predestination, fate, preordained, preordainment, predestined, predetermined, predetermination, predestined, ===Synonyms=== *[[qaddar]], [[calaf]], [[mustaqbal]], [[aayatiin]], [[aayo]] 7s03kmi93kow0iw0olyi81ew5ta1qcp duuduub 0 8442 24559 2023-09-01T22:31:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duuduub''' === Tarjumaad === * {{en}}: wrinkle, crease, fold 24559 wikitext text/x-wiki {{-so-}} == Magac == '''duuduub''' === Tarjumaad === * {{en}}: wrinkle, crease, fold 530u8im7ffis3h04rj7x4coc18fs6an tiirsanaanta 0 8443 29109 24788 2024-07-29T19:59:58Z Girligaanshub 3150 29109 wikitext text/x-wiki {{-so-}} == Magac == '''tiirsanaanta''' === Tarjumaad === * {{en}}: dependency, co-dependency, helpless, helplessness ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] bytu6u0yhri7f8bqy5x165j9gdmtgim User:Girligaanshub 2 8444 32714 32631 2024-11-30T16:11:32Z Girligaanshub 3150 32714 wikitext text/x-wiki *[[luuqad milmaan]] (superstratum, adstratum, creole, substratum, macaronic language, sprachbund) *[[guursasho]] *[[tawarut]] *[[shirmo]] ==Tixraac== *https://www.somalispot.com/threads/somali-astrological-scientific-and-mathematical-terms-their-1987-dictionaries.19827/ *https://iftiinlearns.com/2024/06/24/essential-somali-resources-all-the-youtube-channels-you-can-use-to-learn-somali/ *https://ismailpages.wordpress.com/wp-content/uploads/2015/01/somali-physics-dictionary-_ismail.pdf *https://ismailpages.wordpress.com/wp-content/uploads/2015/01/somali-mathematics-dictionary-ismail.pdf *https://ismailpages.wordpress.com/wp-content/uploads/2015/01/somali-chemistry-dictionary-ismail.pdf *https://ismailpages.wordpress.com/wp-content/uploads/2015/01/somali-biology-dictionary-1987_ismail.pdf *https://ismailpages.wordpress.com/wp-content/uploads/2015/01/somali-geography-dictionary-ismail.pdf *https://www.reddit.com/r/LearnSomali/comments/iuf4cq/some_updates_to_ubuya492s_somali_archive/ *https://pdfcoffee.com/-afmaal-somali-english-dictionary-pdf-free.html *https://romatrepress.uniroma3.it/wp-content/uploads/2019/05/qaam-cama.pdf *http://ipa-reader.xyz/ ==Caafimaad== *https://medlineplus.gov/languages/somali.html *https://www.health.state.mn.us/communities/translation/somali.html *https://vafamilysped.org/Document/zxbIhX_YCJNP0qvIYsAjT5fsVMpMxXFN/008321_English-SomaliSpecialEducationGlossary.pdf ==Shuruudo== *https://www.mncourts.gov/mncourtsgov/media/assets/documents/0/public/Interpreter_Program/Somali_Glossary.pdf ==Khaas== *https://so.wiktionary.org/wiki/Special:PrefixIndex?prefix=af&namespace=0 *https://so.wiktionary.org/wiki/Special:SpecialPages 2oa8v08jcpo8typoikzrmlyzoa84cx9 sooriyo 0 8445 26434 24564 2023-12-23T13:48:01Z Girligaanshub 3150 Bog loo bedeley [[sooryo]] 26434 wikitext text/x-wiki #redirect [[sooryo]] c3vc8y17ittd4msu18h250d4rk8l0zb masaafo 0 8446 31403 31390 2024-10-07T20:55:34Z Girligaanshub 3150 31403 wikitext text/x-wiki {{-so-}} == Magac == '''masaafo''' === Tarjumaad === * {{en}}: distance, * {{en}}: elopement / long-distance ===La wadaaga=== *[[qudbo sireed]] ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] ed6v9vk2fe3eyhvjz5x6cw3t43r23gh dhabargaraac 0 8447 24567 2023-09-02T14:01:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabargaraac''' === Tarjumaad === * {{en}}: bridenap, bridenapping, bride kidnapping, bride abduction, wife capture, bride capture, bride capturing, 24567 wikitext text/x-wiki {{-so-}} == Magac == '''dhabargaraac''' === Tarjumaad === * {{en}}: bridenap, bridenapping, bride kidnapping, bride abduction, wife capture, bride capture, bride capturing, erpabsbgbca34twmj306wa6h84ujmfx heerin 0 8448 24572 24571 2023-09-02T16:23:42Z Girligaanshub 3150 24572 wikitext text/x-wiki {{-so-}} == Magac == '''heerin''' === Tarjumaad === * {{en}}: marriage soliciting, marriage solicitation, marriage canvassing, marriage flyposting, marriage advertising, spinster solicitation, public lordosis, presenting lordosis behaviour 05a3aoqf89tgvdesxwvbbw7culn84lj cawaan 0 8449 32601 29168 2024-11-25T19:22:22Z Girligaanshub 3150 32601 wikitext text/x-wiki {{-so-}} == Magac == '''cawaan''' === Tarjumaad === * {{en}}: pagan, atheist, heathen, heretic, gentile ===Synonyms=== *[[majuusi]], [[mulxid]], [[cawaan]], [[calmaani]], [[qummay]], [[qumayo]] bm737xgpe7eui1vgdd6fzo7gf461vp8 raxleynta 0 8450 24746 24588 2023-09-05T09:41:01Z Girligaanshub 3150 24746 wikitext text/x-wiki {{-so-}} == Magac == '''raxleynta''' === Tarjumaad === * {{en}}: confelicity, compersion, compassion, mudita, good will, vicarious happiness, vicarious joy, solidarity ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], *[[wadajir]], [[raxleynta]], [[garabtaag]], [[xannaan]] ===Antonyms=== *[[xaasidnimo]] r4k5vfdmduuwttbtuum668yj8cpqtsb khushuuc 0 8451 31955 30253 2024-10-26T00:06:51Z Girligaanshub 3150 31955 wikitext text/x-wiki {{-so-}} == Magac == '''khushuuc''' === Tarjumaad === * {{en}}: humility, inhibition ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], h0s12wc71bblpootul5yy77a6yyoyzx malee 0 8452 24592 2023-09-02T21:17:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malee''' === Tarjumaad === * {{en}}: imagine, imagination, fantasize, fantasy, visualize, visualization, envision, 24592 wikitext text/x-wiki {{-so-}} == Magac == '''malee''' === Tarjumaad === * {{en}}: imagine, imagination, fantasize, fantasy, visualize, visualization, envision, 94gh1hewx8ecftd71p4z0bp84w2y9li maleyn 0 8453 24593 2023-09-02T21:17:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maleyn''' === Tarjumaad === * {{en}}: imagine, imagination, fantasize, fantasy, visualize, visualization, envision, 24593 wikitext text/x-wiki {{-so-}} == Magac == '''maleyn''' === Tarjumaad === * {{en}}: imagine, imagination, fantasize, fantasy, visualize, visualization, envision, ppn7d5e4ky355tyr2ie55j69y5qcdm8 dhaqmasho 0 8454 24594 2023-09-02T21:41:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqmasho''' === Tarjumaad === * {{en}}: treat, treatment, 24594 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqmasho''' === Tarjumaad === * {{en}}: treat, treatment, gkukyuaiy4z6skrn434a3yt0833d63d quudi 0 8455 31835 31830 2024-10-25T21:40:19Z Girligaanshub 3150 31835 wikitext text/x-wiki {{-so-}} == Magac == '''quudi''' === Tarjumaad === * {{en}}: feed, enable, boost, augment, fuel, energize, nourish ===Synonyms=== *[[dux]], [[nafaqeey]], [[casuum]], [[martiqaad]], [[quudi]] 3alymdd3x5uk53begv0w8wkc74przpf dhiiranaan 0 8456 31411 31245 2024-10-07T21:56:58Z Girligaanshub 3150 31411 wikitext text/x-wiki {{-so-}} == Magac == '''dhiiranaan''' === Tarjumaad === * {{en}}: assertiveness, decisiveness, forcefulness, ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[dhiiranimo]], [[goodi]], [[ba'an]] rsahyjfjmsqzg28e4o53ixxskobsu7e koolkool 0 8457 26877 24604 2024-03-02T13:30:56Z Girligaanshub 3150 Removed redirect to [[koolkooli]] 26877 wikitext text/x-wiki {{-so-}} == Magac == '''koolkool''' === Tarjumaad === * {{en}}: consolation krygf4iogh7x27jysejggrz0egub5eo marxabeey 0 8458 31790 30859 2024-10-25T20:49:58Z Girligaanshub 3150 31790 wikitext text/x-wiki {{-so-}} == Magac == '''marxabeey''' === Tarjumaad === * {{en}}: love, adore, admire, cherish, adulate, canonize, exalt, glorify, idolize, venerate, care ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], aezpqubg5wb5irortfv70hw3vlh7s1h madax-salaax 0 8459 31789 24887 2024-10-25T20:49:47Z Girligaanshub 3150 31789 wikitext text/x-wiki {{-so-}} == Magac == '''madax-salaax''' === Tarjumaad === * {{en}}: comfort, nurture, pat, soothe, console, cheer, assuage, reassure, commiserate, solace, succor, ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], fy1c5rvo4v3k6syabygx38omlxs7ehr gogosha 0 8460 24648 2023-09-03T02:47:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gogosha''' === Tarjumaad === * {{en}}: sheets, linen, coating 24648 wikitext text/x-wiki {{-so-}} == Magac == '''gogosha''' === Tarjumaad === * {{en}}: sheets, linen, coating qplm0gxuj5b2fyygd8f96memomsjjmd qanaac 0 8461 24649 2023-09-03T02:48:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qanaac''' === Tarjumaad === * {{en}}: climax, orgasm 24649 wikitext text/x-wiki {{-so-}} == Magac == '''qanaac''' === Tarjumaad === * {{en}}: climax, orgasm jd2m44kc71vhga32qpcc3krffdgwnlm asxaan 0 8462 24708 24658 2023-09-03T23:11:59Z Girligaanshub 3150 24708 wikitext text/x-wiki {{-so-}} == Magac == '''asxaan''' === Tarjumaad === * {{en}}: favour ===Synonyms=== *[[cuwaaf]], [[tahan]], [[asxaan]] 0efuw24w8sb1wh007hyrpzy6k392q42 cuwaaf 0 8463 30190 24710 2024-08-24T03:23:00Z Girligaanshub 3150 30190 wikitext text/x-wiki {{-so-}} == Magac == '''cuwaaf''' === Tarjumaad === * {{en}}: snack, snacks, refreshment, goodies, nibble, appetizer, appetizers, appetiser, morsel, ===Synonyms=== *[[iidaan]], [[cuwaaf]], [[hanfaafyuro]] 7usku2zo7wg3f0ezljtlesuxt5gkfnc dubo 0 8464 24661 2023-09-03T18:03:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dubo''' === Tarjumaad === * {{en}}: bake, roast, 24661 wikitext text/x-wiki {{-so-}} == Magac == '''dubo''' === Tarjumaad === * {{en}}: bake, roast, nn2w9jexw6ldv6yk67apoyt6v0u5bzz qamiiri 0 8465 25334 24662 2023-10-15T17:46:05Z Girligaanshub 3150 25334 wikitext text/x-wiki {{-so-}} == Magac == '''qamiiri''' === Tarjumaad === * {{en}}: boil, fermentation, ferment aevgs1vdpoojaujclnzqozdj7xkuxx3 xajiin 0 8466 24664 2023-09-03T18:06:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xajiin''' === Tarjumaad === * {{en}}: itch, rash 24664 wikitext text/x-wiki {{-so-}} == Magac == '''xajiin''' === Tarjumaad === * {{en}}: itch, rash oe7t63cae44yuv7hvhtpyswk7ibs4jl laqanyo 0 8467 24665 2023-09-03T18:06:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laqanyo''' === Tarjumaad === * {{en}}: nausea 24665 wikitext text/x-wiki {{-so-}} == Magac == '''laqanyo''' === Tarjumaad === * {{en}}: nausea sr0bgyhtg2q8j13rzhj1wf4dxrpwmtr hambo 0 8468 25345 24666 2023-10-15T18:11:52Z Girligaanshub 3150 25345 wikitext text/x-wiki {{-so-}} == Magac == '''hambo''' === Tarjumaad === * {{en}}: leftovers, leftover 4p91tgf6ddaw1j3xd9m73kyemd6i3z3 qiijiyay 0 8469 24667 2023-09-03T18:08:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiijiyay''' === Tarjumaad === * {{en}}: smoked 24667 wikitext text/x-wiki {{-so-}} == Magac == '''qiijiyay''' === Tarjumaad === * {{en}}: smoked ezjfocdh5f3zrazx22bpmneenn8qwtt liinmacaan 0 8470 24668 2023-09-03T18:10:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liinmacaan''' === Tarjumaad === * {{en}}: orange 24668 wikitext text/x-wiki {{-so-}} == Magac == '''liinmacaan''' === Tarjumaad === * {{en}}: orange r8uhbc67g7bjusutmjom4x8nq1lnzdz cambe babay 0 8471 24669 2023-09-03T18:11:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cambe babay''' === Tarjumaad === * {{en}}: papaya 24669 wikitext text/x-wiki {{-so-}} == Magac == '''cambe babay''' === Tarjumaad === * {{en}}: papaya kde328nmankczu8nws4fcp38324giwn cambe laf 0 8472 24670 2023-09-03T18:11:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cambe laf''' === Tarjumaad === * {{en}}: mango 24670 wikitext text/x-wiki {{-so-}} == Magac == '''cambe laf''' === Tarjumaad === * {{en}}: mango gdd9kpfkgjc327y3hwwftt1wadrjpak cambuulo 0 8473 24671 2023-09-03T18:14:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cambuulo''' === Tarjumaad === * {{en}}: edible legume with sesame seed oil 24671 wikitext text/x-wiki {{-so-}} == Magac == '''cambuulo''' === Tarjumaad === * {{en}}: edible legume with sesame seed oil d0zi116chlxvuet3s5x384r8zaowz2y hadhuudh 0 8474 26831 24672 2024-02-21T08:40:27Z Girligaanshub 3150 26831 wikitext text/x-wiki {{-so-}} == Magac == '''hadhuudh''' === Tarjumaad === * {{en}}: sorghum ===Synonyms=== *[[hadhuudh]], [[haruur]], [[masago]] knxf8w5383te0bsq4yrqawngz4bm6xf heed 0 8475 24673 2023-09-03T18:27:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heed''' === Tarjumaad === * {{en}}: barley 24673 wikitext text/x-wiki {{-so-}} == Magac == '''heed''' === Tarjumaad === * {{en}}: barley l2usnlr6ixeywd2k89kynocn86azktx kumbis 0 8476 24674 2023-09-03T18:27:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kumbis''' === Tarjumaad === * {{en}}: smoked meat 24674 wikitext text/x-wiki {{-so-}} == Magac == '''kumbis''' === Tarjumaad === * {{en}}: smoked meat 5adztor3stgk2x3rlx1yug72uusixb6 afgarooc 0 8477 29325 24968 2024-08-01T10:37:53Z Girligaanshub 3150 29325 wikitext text/x-wiki {{-so-}} == Magac == '''af-garooc''' === Tarjumaad === * {{en}}: unarticulate, inarticulate, incomprehensible, waffler, waffling, rambler, rambling, babble, babbler, unintelligible, aphasia, dyslexic, dyslexia, paraphasia, paralexia, paragraphia, circumlocution, tergiversate, prevaricate, subtle, vague ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] lly1hlwsly0uzc5lzdxyoyezjwe0dii afgamuur 0 8478 24688 2023-09-03T20:58:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afgamuur''' === Tarjumaad === * {{en}}: blunt 24688 wikitext text/x-wiki {{-so-}} == Magac == '''afgamuur''' === Tarjumaad === * {{en}}: blunt jmxlu3a0mum2epvhmym11y3z5eejv1o naxwoyaqaan 0 8479 24690 2023-09-03T21:02:53Z Girligaanshub 3150 Girligaanshub moved page [[naxwoyaqaan]] to [[afyaqaan]] 24690 wikitext text/x-wiki #REDIRECT [[afyaqaan]] k94466l9fcpsup3631ilaidyoxj1i36 afuufan 0 8480 24692 2023-09-03T21:04:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afuufan''' === Tarjumaad === * {{en}}: blown up, inflated 24692 wikitext text/x-wiki {{-so-}} == Magac == '''afuufan''' === Tarjumaad === * {{en}}: blown up, inflated lcd41amlq56annrksqvjeusxtzy2qi2 aftir 0 8481 24693 2023-09-03T21:04:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aftir''' === Tarjumaad === * {{en}}: napkin 24693 wikitext text/x-wiki {{-so-}} == Magac == '''aftir''' === Tarjumaad === * {{en}}: napkin b2el7khbhh5ngy1btta89jf8mnfluok afgenbi 0 8482 26430 24698 2023-12-23T10:38:17Z Girligaanshub 3150 26430 wikitext text/x-wiki {{-so-}} == Magac == '''afgembi''' === Tarjumaad === * {{en}}: revolution, uprising, coup, overthrow, junta, coup, d'etat, mutiny, revolt, ===Synonyms=== *[[afgenbi]], [[tawrad]], [[inqilaab]] orxdmftadcutcrnevp63accja0l32zo afgembi 0 8483 24699 2023-09-03T21:18:15Z Girligaanshub 3150 Girligaanshub moved page [[afgembi]] to [[afgenbi]] 24699 wikitext text/x-wiki #REDIRECT [[afgenbi]] cc9jhz4rc4bgnq2vkz6ddgbob3bdrqr afmiishaar 0 8484 24713 24707 2023-09-03T23:53:34Z Girligaanshub 3150 24713 wikitext text/x-wiki {{-so-}} == Magac == '''afmiishaar''' === Tarjumaad === * {{en}}: provocateur, agent provocateur, kindler · demagogue ; rabble-rouser · troublemaker ; stirrer, firebrand, demagogue, agitator, instigator, provoker, propagandist, fomentor, incite, inciter, inflamer, gossipmonger, gossiper, ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]] ===Antonyms=== *[[afgobaadsi]] i1xa5lpwzc4n3qupgkzvlj9kg3ydt1l afdheere 0 8485 24711 2023-09-03T23:51:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afdheere''' === Tarjumaad === * {{en}}: interfere, snooping, snooper, noseying, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, pryer, stickybeak, gatecrasher, interloper, peeping tom, persona non grata, encroacher, backseat driver, kibitzer, meddler, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody, snooping, noseying, pryer, stickybeak, 24711 wikitext text/x-wiki {{-so-}} == Magac == '''afdheere''' === Tarjumaad === * {{en}}: interfere, snooping, snooper, noseying, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, pryer, stickybeak, gatecrasher, interloper, peeping tom, persona non grata, encroacher, backseat driver, kibitzer, meddler, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody, snooping, noseying, pryer, stickybeak, jtlxh4ymvik6kxrxrllmukfznudl40j afdheer 0 8486 32216 30507 2024-11-02T12:40:21Z Girligaanshub 3150 32216 wikitext text/x-wiki {{-so-}} == Magac == '''afdheer''' === Tarjumaad === * {{en}}: assertive, pushy, bold, insist, insistent, decisive, radical, extreme, boastful * {{en}}: interferer, snooper, noseying, interfering, interrupting, intruding, interposer, invader, intervener, intervenist, interventionist, pryer, stickybeak, gatecrasher, interloper, peeping tom, persona non grata, encroacher, backseat driver, kibitzer, meddler, nosy parker, marplot, gossipmonger, yenta, buttinsky, busybody, snooping, noseying, pryer, stickybeak, ===Synonyms=== *[[maro-ku-dheg]], [[taagan]], [[macangag]], [[caniid]], [[miigan]], [[afdheer]] 4dbtl9g10xh7ane63m4vsovkfud9gbf afgobaadsi 0 8487 31787 29292 2024-10-25T20:49:26Z Girligaanshub 3150 31787 wikitext text/x-wiki {{-so-}} == Magac == '''afgobaadsi''' === Tarjumaad === * {{en}}: validate, compliment, complimenting, validation, lullaby, love-bomb, flatter, blandish, coaxing, sweet talk, fawning, pacifying, platitude ===Synonyms=== *[[mashxarado]], [[koolkoolin]], [[koolkooli]], [[marxabeey]], [[madax-salaax]], [[afgobaadsi]], [[gooraamo]], cvr9g0vx7l9ky5bt4win7aw45gt6ynh afgobaadso 0 8488 24720 2023-09-04T00:11:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afgobaadso''' === Tarjumaad === * {{en}}: validate, validation, lullaby, love-bomb, flatter, blandish, coaxing, sweet talk, fawning, pacifying ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]] 24720 wikitext text/x-wiki {{-so-}} == Magac == '''afgobaadso''' === Tarjumaad === * {{en}}: validate, validation, lullaby, love-bomb, flatter, blandish, coaxing, sweet talk, fawning, pacifying ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]] i7bl8b2cr7nhejq4t44cegv83cgrps8 kumeelgaadh 0 8489 32605 24731 2024-11-25T21:26:09Z Girligaanshub 3150 32605 wikitext text/x-wiki {{-so-}} == Magac == '''kumeelgaadh''' === Tarjumaad === * {{en}}: transitional, provisional, transitionary, temporary 0s7eeiatgo0k9fwqsgqivz2whoyrrli garabtaag 0 8490 24747 24733 2023-09-05T09:43:36Z Girligaanshub 3150 24747 wikitext text/x-wiki {{-so-}} == Magac == '''garabtaag''' === Tarjumaad === * {{en}}: harmony, support, teamwork, unanimity, unification, accord, alliance, comradeship, confederation, federation, fellowship, oneness, sameness, uniformity, ===Synonyms=== *[[mashxarado]], [[ansixin]], [[quudi]], [[koolkoolin]], [[koolkooli]], [[mashxarad]], [[marxabeey]], [[qanci]], [[baanis]], [[daryeelo]], [[madax-salaax]], [[afgobaadsi]], *[[wadajir]], [[raxleynta]], [[garabtaag]], [[xannaan]] i1nnyz9l3v4wuokhr2lvcv5jg8f5fhw naaloodka 0 8491 28068 27780 2024-06-08T22:47:53Z Girligaanshub 3150 28068 wikitext text/x-wiki {{-so-}} == Magac == '''naalood''' === Tarjumaad === * {{en}}: basking, lounging, savour, relax, socialize, joke, entertain, mingle, fraternize, amuse, cozy, coziness, social, sociable, conviviality, convivial, jovial, cordial, cordiality, jolly, jolliness, camaraderie, solidarity ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 5jxlwrmuqwsgmijdrshf9h85ka0jgsk naalood 0 8492 24742 2023-09-05T09:10:24Z Girligaanshub 3150 Girligaanshub moved page [[naalood]] to [[naaloodka]] 24742 wikitext text/x-wiki #REDIRECT [[naaloodka]] k9ahlwtp6odt57e6te0k5wgfgo7e4r4 daaim 0 8493 24753 2023-09-05T14:57:30Z Girligaanshub 3150 Girligaanshub moved page [[daaim]] to [[daa'im]] 24753 wikitext text/x-wiki #REDIRECT [[daa'im]] p4ie5utgobvlo0y4jhu36ftz06mwe24 naafo 0 8494 31750 24755 2024-10-25T18:55:57Z Girligaanshub 3150 31750 wikitext text/x-wiki {{-so-}} == Magac == '''naafo''' === Tarjumaad === * {{en}}: disabled, impaired, disability ===Synonyms=== *[[curyaan]], [[tuush]], [[naafo]] 5wub9l9k1obf1wruw7rpdy4m6pbekgo naafeey 0 8495 24756 2023-09-05T15:01:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naafeey''' === Tarjumaad === * {{en}}: disable, impair, immobilize, disarm, disarmed, 24756 wikitext text/x-wiki {{-so-}} == Magac == '''naafeey''' === Tarjumaad === * {{en}}: disable, impair, immobilize, disarm, disarmed, j8slihvjc89x5gqg62c00lqz7h377ad naafeyn 0 8496 24759 2023-09-05T16:14:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naafeyn''' === Tarjumaad === * {{en}}: disablement, impairment, demobilization, disarmament, disarmed, demilitarization, disqualification, freeze, pacification, subjugation, crippling, neutralizing, neutralize, neutralization, paralyzing, paralyze, 24759 wikitext text/x-wiki {{-so-}} == Magac == '''naafeyn''' === Tarjumaad === * {{en}}: disablement, impairment, demobilization, disarmament, disarmed, demilitarization, disqualification, freeze, pacification, subjugation, crippling, neutralizing, neutralize, neutralization, paralyzing, paralyze, h22f54dye4ucc968qujlvpfjq6fumtc qalbi xabxab 0 8497 31765 24890 2024-10-25T20:27:58Z Girligaanshub 3150 31765 wikitext text/x-wiki {{-so-}} == Magac == '''qalbi xabxab''' === Tarjumaad === * {{en}}: toadyism, adulation, blandishment, fawning, flattery, and laudation, sycophancy, meekness, poodle, sentimentality, sentimental ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]] rd4r0lda5meeb1p1jujuzelkf3x2mbk ciilqabe 0 8498 28327 27222 2024-06-14T17:16:43Z Girligaanshub 3150 28327 wikitext text/x-wiki {{-so-}} == Magac == '''ciil-qabe''' === Tarjumaad === * {{en}}: vindictive, grudge-bearer, bitter, strict, severe, stringent, harsh, drastic, tough, fierce, uncompromising, unsparing, inflexible, authoritarian ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], 3r5px9hvye9romcderi4ozb3rwdlald tudho 0 8499 24769 2023-09-05T20:43:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tudho''' === Tarjumaad === * {{en}}: spare 24769 wikitext text/x-wiki {{-so-}} == Magac == '''tudho''' === Tarjumaad === * {{en}}: spare d08y4a0t4gqimordlsstq0387ql25s2 afjarid 0 8500 27375 24960 2024-05-16T00:35:09Z Girligaanshub 3150 27375 wikitext text/x-wiki {{-so-}} == Magac == '''afjarid''' === Tarjumaad === * {{en}}: overcome, prevail, conclude, finish, seal, broker, resolve, commission, confer, conferred, commissioned, accomplish, culminate, culmination, fulfill, execute, overpower, consummate, conclusion, conclusive, final, absolute, decisive, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabayn]], [[gabagabaynta]] ae8d249jswpj38nft40by5nuv4budub tiirsasho 0 8501 29111 24785 2024-07-29T20:00:26Z Girligaanshub 3150 29111 wikitext text/x-wiki {{-so-}} == Magac == '''tiirsasho''' === Tarjumaad === * {{en}}: entanglement, enmeshment, dependent, dependency, codependent, codependency, ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] as87qipy2q363ojdfa013mxf00tnyrt isbeddel 0 8502 24790 2023-09-06T21:37:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isbeddel''' === Tarjumaad === * {{en}}: change 24790 wikitext text/x-wiki {{-so-}} == Magac == '''isbeddel''' === Tarjumaad === * {{en}}: change h282ucr5dtcbicrlhx715cv5wkhediy shabaq 0 8503 24793 2023-09-06T22:30:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shabaq''' === Tarjumaad === * {{en}}: net, fish-net, fishnet 24793 wikitext text/x-wiki {{-so-}} == Magac == '''shabaq''' === Tarjumaad === * {{en}}: net, fish-net, fishnet fnfagtxdovztympzfz61erbiy2xemnm caweys 0 8504 32192 26195 2024-10-31T23:48:21Z Girligaanshub 3150 32192 wikitext text/x-wiki {{-so-}} == Magac == '''caweys''' === Tarjumaad === * {{en}}: night club, youth center, youth centre, youth club, nightclub ===Synonyms=== *[[caweys]], [[naadi]] datafdw6dmmcbsxk0hhvar93humc4sq saacid 0 8505 29243 24795 2024-07-31T03:13:16Z Girligaanshub 3150 29243 wikitext text/x-wiki {{-so-}} == Magac == '''saacid''' === Tarjumaad === * {{en}}: help ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] 5ox93lgn0odpi6leaf8i9wmwatho5x6 ceshado 0 8506 31234 31062 2024-10-04T14:46:46Z Girligaanshub 3150 31234 wikitext text/x-wiki {{-so-}} == Magac == '''ceshado''' === Tarjumaad === * {{en}}: rein in, constrain, restrain, acquire, gain, obtain, appropriate, claim, stake claim, ===Synonyms=== *[[ceshado]], [[xambaaro]], [[ceshonimada]] 242js2zhp6z9s4etp4qc6ms8ycjew6k arxandarro 0 8507 31902 31897 2024-10-25T23:12:22Z Girligaanshub 3150 31902 wikitext text/x-wiki {{-so-}} == Magac == '''arxandaro''' === Tarjumaad === * {{en}}: cruel, callous, ruthless, brutal, barbarous, sadistic ===Synonyms=== *[[arxandarro]], [[majixinjixe]], [[waxshi]], [[arxanlaawe]] s9r8mk5t6mcvws7cu3rb1dujmo3if77 arxan 0 8508 31766 24807 2024-10-25T20:28:18Z Girligaanshub 3150 31766 wikitext text/x-wiki {{-so-}} == Magac == '''arxan''' === Tarjumaad === * {{en}}: kind, kindness, mercy, clemency, compassion, empathy ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]] lbfjjgxg32hd1r9y9bbjhnqaylfeaeb lib 0 8509 24808 2023-09-08T14:50:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lib''' === Tarjumaad === * {{en}}: win, victory 24808 wikitext text/x-wiki {{-so-}} == Magac == '''lib''' === Tarjumaad === * {{en}}: win, victory b8bynnkg2g6ttl4fkma41juja9wmq5b dadweynaha 0 8510 24809 2023-09-08T14:55:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dadweynaha''' === Tarjumaad === * {{en}}: public, communal, community 24809 wikitext text/x-wiki {{-so-}} == Magac == '''dadweynaha''' === Tarjumaad === * {{en}}: public, communal, community jxzzpj3l5kgrwuv9z9nyikudwr4i8o4 marokudheg 0 8511 31925 25588 2024-10-25T23:28:07Z Girligaanshub 3150 31925 wikitext text/x-wiki {{-so-}} == Magac == '''marokudheg''' === Tarjumaad === * {{en}}: hard headedness, disagreeable, disagreeableness, disagreeability, uncompromising attitude, firmness, resolute, resoluteness, unwavering, rigidity, rigid, intransigent, intransigence, stubborn, stubbornness, intractable, inflexible, unbending, unyielding, unshakeable, unwavering, unpersuadable, unmalleable, unaccommodating, uncooperative, obstinate, obdurate, iron-willed, hard-line, diehard, unrelenting, inexorable, inveterate ===Synonyms=== * [[maro-ku-dheg]], 54wvl57lo8h9pv8clydqrherw0ach6v biyo-xireen 0 8512 24811 2023-09-08T16:03:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biyo-xireen''' === Tarjumaad === * {{en}}: dam, barrage, water barrier, water wall, embankment levee 24811 wikitext text/x-wiki {{-so-}} == Magac == '''biyo-xireen''' === Tarjumaad === * {{en}}: dam, barrage, water barrier, water wall, embankment levee t67vthaf0or3sm3xcj0nbny2cduyj6i shaafi 0 8513 31814 24817 2024-10-25T21:24:42Z Girligaanshub 3150 31814 wikitext text/x-wiki {{-so-}} == Magac == '''shaafi''' === Tarjumaad === * {{en}}: heal, healing ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]], [[shaafi]] r8cfbzay0wwdzdv3bsme699tf0au2gn kabasho 0 8514 26984 24819 2024-03-25T09:24:22Z Girligaanshub 3150 26984 wikitext text/x-wiki {{-so-}} == Magac == '''kabasho''' === Tarjumaad === * {{en}}: sip * {{en}}: recovery fg7nz1ggvpgn86vefwm5s9462nbtsgn janjeed 0 8515 28633 24821 2024-06-30T17:02:37Z Girligaanshub 3150 Bog loo bedeley [[janjeer]] 28633 wikitext text/x-wiki #redirect [[janjeer]] qpg3agb5rhi6pejhl42t7l5i7wzq9qy taxadir 0 8516 24822 2023-09-10T18:54:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxadir''' === Tarjumaad === * {{en}}: care, tend, foster, protect, guard, mind, 24822 wikitext text/x-wiki {{-so-}} == Magac == '''taxadir''' === Tarjumaad === * {{en}}: care, tend, foster, protect, guard, mind, sodl65hh2lq0nifrbahk43g9olisps4 beeyo 0 8517 24825 2023-09-10T19:25:44Z Girligaanshub 3150 Bog cusub: {{-so-}} ===Magac=== '''beeyo''' ===Tarjumaad=== *{{en}}: high quality frankincense resin 24825 wikitext text/x-wiki {{-so-}} ===Magac=== '''beeyo''' ===Tarjumaad=== *{{en}}: high quality frankincense resin 4uj2hsvbkc6aa50taxpdnmfwmll38rf nasteexo 0 8518 24834 2023-09-11T13:56:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nasteexo''' === Tarjumaad === * {{en}}: guidance, salvation ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]] 24834 wikitext text/x-wiki {{-so-}} == Magac == '''nasteexo''' === Tarjumaad === * {{en}}: guidance, salvation ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]] rb5zsecfiqxri27n4lxw66bn1yn5gwa maslaxad 0 8519 31035 28772 2024-10-01T20:08:49Z Girligaanshub 3150 31035 wikitext text/x-wiki {{-so-}} == Magac == '''maslaxad''' === Tarjumaad === * {{en}}: public interest, collectivism, communism, welfare, hospitality, philanthropy, philanthropic, bountiful, benevolence, generous, altruism, placation, appeasement, ===Synonyms=== * [[qaaraan]], [[eexasho dadweynaha]], [[maslaxad]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], dccpgusy5as3ub2nqte1ygo2ypp2hc9 lootaliye 0 8520 31480 24865 2024-10-13T00:18:36Z Girligaanshub 3150 31480 wikitext text/x-wiki {{-so-}} == Magac == '''lootaliye''' === Tarjumaad === * {{en}}: depend, dependent, co-dependent ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], l2ppzmkktmwl0qu6r8kgjsprwbsmyr5 daaqsin 0 8521 24867 2023-09-13T14:02:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daaqsin''' === Tarjumaad === * {{en}}: lodge, cottage, tavern, abode, pasture land, grazing land, farm land, agricultural land, 24867 wikitext text/x-wiki {{-so-}} == Magac == '''daaqsin''' === Tarjumaad === * {{en}}: lodge, cottage, tavern, abode, pasture land, grazing land, farm land, agricultural land, 829co15aurd21gtxp9hz3b4wno4tcbu canshuur 0 8522 24868 2023-09-13T15:36:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''canshuur''' === Tarjumaad === * {{en}}: taxation 24868 wikitext text/x-wiki {{-so-}} == Magac == '''canshuur''' === Tarjumaad === * {{en}}: taxation cu6mweh5c29mppha0zwc1qipjdotxxc kacsan 0 8523 24869 2023-09-13T19:02:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kacsan''' === Tarjumaad === * {{en}}: agitated, hysteric, thrilled, inflamed, perturbed, disconcerted, psyched 24869 wikitext text/x-wiki {{-so-}} == Magac == '''kacsan''' === Tarjumaad === * {{en}}: agitated, hysteric, thrilled, inflamed, perturbed, disconcerted, psyched k41609h8scylz5ghfbkc5vr1x9f2b8t jawaasiis 0 8524 31708 24891 2024-10-21T02:11:34Z Girligaanshub 3150 31708 wikitext text/x-wiki {{-so-}} == Magac == '''jawaasiis''' === Tarjumaad === * {{en}}: spy, ===Synonyms=== *[[basaas]], [[jawaasiis]], [[jaajuus]], [[sirdoon]] kow6wyob8ifahx3w9tjzutat7iqna0f jaajuus 0 8525 31709 24893 2024-10-21T02:11:46Z Girligaanshub 3150 31709 wikitext text/x-wiki {{-so-}} == Magac == '''Jaajuus''' === Tarjumaad === * {{en}}: spy, ===Synonyms=== *[[basaas]], [[jawaasiis]], [[jaajuus]], [[sirdoon]] 7i99s4bxxparyi9g1c8i6moqgbnnkbm caqabadeeyo 0 8526 27921 27196 2024-06-01T08:38:13Z Girligaanshub 3150 27921 wikitext text/x-wiki {{-so-}} == Magac == '''caqabadeeyo''' === Tarjumaad === * {{en}}: constraint, obstacle, tribulation, challenge ===Synonyms=== *[[loolamo]], [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[xoogsheego]], [[baano]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] 421z0mfm4nth1drtqfkd5qnpsjh27ah sugmo 0 8527 24933 24897 2023-09-15T20:40:34Z Girligaanshub 3150 24933 wikitext text/x-wiki {{-so-}} == Magac == '''sugmo''' === Tarjumaad === * {{en}}: endure, enduring, lasting, durable, constant, stable, impervious, sturdy ===Synonyms=== *[[maro-ku-dheg]], [[jirid]], [[daa'im]], [[sugmo]] ===Antonyms=== *[[tafaraaruq]], [[laan]], [[debecsan]] ecuttmyzube9dryaunrojj6sim3svii khaa'in 0 8528 31683 31065 2024-10-20T02:02:30Z Girligaanshub 3150 31683 wikitext text/x-wiki {{-so-}} == Magac == '''khaa'in''' === Tarjumaad === * {{en}}: unfaithful, treacherous, perfidious, deceitful, fraudulent, a traitor, a treacherous man, a deceiver, treachery, ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] d5gmch9s37uofkxz29pfe5c2zejxzfz guddoon 0 8529 32635 27678 2024-11-29T18:39:31Z Girligaanshub 3150 32635 wikitext text/x-wiki {{-so-}} == Magac == '''guddoon''' === Tarjumaad === * {{en}}: accept * {{en}}: deliver, verdict, execute, executive, decision, conclusion, judgement, adjudication, ruling, resolution, decree, prognosis, sentence, settlement ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]] nkj7mnn1ddfffdik32tlweavbam24rt milgo 0 8530 24904 2023-09-14T22:08:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''milgo''' === Tarjumaad === * {{en}}: reverence, acclaim, homage, deference, regard, veneration, venerate, revere, 24904 wikitext text/x-wiki {{-so-}} == Magac == '''milgo''' === Tarjumaad === * {{en}}: reverence, acclaim, homage, deference, regard, veneration, venerate, revere, f2fxgbc7utvwxw04m1kczy4d7i2y6rh hirgelin 0 8531 30229 30220 2024-08-24T16:11:36Z Girligaanshub 3150 30229 wikitext text/x-wiki {{-so-}} == Magac == '''hirgelin''' === Tarjumaad === * {{en}}: actualize, actualization, realize, realization, existence, realism, authenticity, palpable, concrete, concreteness, implement, implementation ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] ooz7qdg1btfq5rjh67l4ebx380be1pm wafdi 0 8532 26269 24915 2023-12-10T19:54:28Z Girligaanshub 3150 26269 wikitext text/x-wiki {{-so-}} == Magac == '''wafdi''' === Tarjumaad === * {{en}}: official, officials, delegation ===Synonyms=== *[[wafdi]], [[badhasaab]] 4h3c52afaejw5k0361dyt9srfr2ekqa rasmi 0 8533 26510 24917 2024-01-03T09:53:10Z Girligaanshub 3150 26510 wikitext text/x-wiki {{-so-}} == Magac == '''rasmi''' === Tarjumaad === * {{en}}: official, institutional, systemic, formal, certified, approved, validated, endorsed ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]], [[qalinley]] c1w5k9sdewvoetx83h1hyyz8qzixugc laan 0 8534 31178 31022 2024-10-04T13:48:18Z Girligaanshub 3150 31178 wikitext text/x-wiki {{-so-}} == Magac == '''laan''' === Tarjumaad === * {{en}}: tree branch, tree ramus, flexible ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] gca1r3lez8omrca7t05hjoapcuzefyx jirid 0 8535 32091 31923 2024-10-28T03:46:36Z Girligaanshub 3150 32091 wikitext text/x-wiki {{-so-}} == Magac == '''jirid''' === Tarjumaad === * {{en}}: tree stump, tree stem, tree bole, hardy, sturdy * {{en}}: stump, tree trunk ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] ===Antonyms=== *[[tafaraaruq]], [[laan]], [[debecsan]] f8wd78ttn4ug93cnwaz8kcjc6z5vm2l akhyaar 0 8536 31123 24935 2024-10-04T11:58:06Z Girligaanshub 3150 31123 wikitext text/x-wiki {{-so-}} == Magac == '''akhyaar''' === Tarjumaad === * {{en}}: ethical, moral, virtuous, decent, discipline, disciplined ===Synonyms=== *[[akhyaar]], [[anshax]], [[fariid]] ap5bfq0tdzpuec8d2ptxpbt4js5o74a hanaan 0 8537 28124 24936 2024-06-09T19:22:40Z Girligaanshub 3150 28124 wikitext text/x-wiki {{-so-}} == Magac == '''hanaan''' === Tarjumaad === * {{en}}: process, method, technique, procedure, ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] 0h7su8nnoe66rsawc68rosau8t279m7 sokeeye 0 8538 32422 27140 2024-11-14T08:47:29Z Girligaanshub 3150 32422 wikitext text/x-wiki {{-so-}} == Magac == '''sokeeye''' === Tarjumaad === * {{en}}: near, nearby, related, ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]], [[baari]], [[sokeeye]] 57txjndg75wkn2kk2frp5mbnr590clu xayaac 0 8539 31954 31944 2024-10-26T00:06:33Z Girligaanshub 3150 31954 wikitext text/x-wiki {{-so-}} == Magac == '''xayaac''' === Tarjumaad === * {{en}}: introvert, modest, modesty, chaste, chastity, shy, shyness, introverted, innocent, humble, humility, polite, private, confidential ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]], [[afgaaban]], 498x7vhqo1u6ik7nrm4tpon7ofcjl2j mustaxab 0 8540 24952 2023-09-17T03:15:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mustaxab''' === Tarjumaad === * {{en}}: recommend, favored, favoured, recommended, 24952 wikitext text/x-wiki {{-so-}} == Magac == '''mustaxab''' === Tarjumaad === * {{en}}: recommend, favored, favoured, recommended, 9yz8u7j0rbi8v8czfco7ra4pyq7hsf2 magaabi 0 8541 24953 2023-09-18T13:33:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magaabi''' === Tarjumaad === * {{en}}: gulp, mouthful, gobble, guzzle 24953 wikitext text/x-wiki {{-so-}} == Magac == '''magaabi''' === Tarjumaad === * {{en}}: gulp, mouthful, gobble, guzzle nygx7e889nz0wn4x96lfe904lwfbpf3 durbaan 0 8542 24954 2023-09-18T22:06:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''durbaan''' === Tarjumaad === * {{en}}: drums, drum 24954 wikitext text/x-wiki {{-so-}} == Magac == '''durbaan''' === Tarjumaad === * {{en}}: drums, drum rdljiqw3q7a4mo5gsq2pd0zjbsrz8sx xayndaabto 0 8543 24965 2023-09-20T18:48:48Z Girligaanshub 3150 Girligaanshub moved page [[xayndaabto]] to [[xayndaab]] 24965 wikitext text/x-wiki #REDIRECT [[xayndaab]] 6s29ii5tm1ell8eri7ppcrj2vdqkuia afeef 0 8544 24967 2023-09-21T16:41:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afeef''' === Tarjumaad === * {{en}}: excuse 24967 wikitext text/x-wiki {{-so-}} == Magac == '''afeef''' === Tarjumaad === * {{en}}: excuse eflzgroszdcv76920fecn3lm2jp5tfc af-garooc 0 8545 24969 2023-09-21T16:42:16Z Girligaanshub 3150 Girligaanshub moved page [[af-garooc]] to [[afgarooc]] 24969 wikitext text/x-wiki #REDIRECT [[afgarooc]] n76xhj865wzmdxk3h63mxqux21uut9b afjuxuunsi 0 8546 26954 24971 2024-03-19T06:30:29Z Girligaanshub 3150 26954 wikitext text/x-wiki {{-so-}} == Magac == '''afjuxuunsi''' === Tarjumaad === * {{en}}: interrupt, interruption qdhlkmw8ykfvydx22kdnshtsekyg3le afmeer 0 8547 28162 24972 2024-06-12T18:51:41Z Girligaanshub 3150 28162 wikitext text/x-wiki {{-so-}} == Magac == '''afmeer''' === Tarjumaad === * {{en}}: bypass, circumvent, outflank, flank, rim, brim, edge ss001076ouwy1sfta6bs1bi5xtxthtj afnaq 0 8548 24973 2023-09-21T16:45:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afnaq''' === Tarjumaad === * {{en}}: interpret 24973 wikitext text/x-wiki {{-so-}} == Magac == '''afnaq''' === Tarjumaad === * {{en}}: interpret nosv9jkp6m0vm4m8g0jz5sran5mbai4 ag 0 8549 30955 24974 2024-09-28T10:35:40Z Girligaanshub 3150 30955 wikitext text/x-wiki {{-so-}} == Magac == '''ag''' === Tarjumaad === * {{en}}: near, vicinity dgj3gfw4awool1bkv9h1h1glt91zkh4 agaag 0 8550 28189 24975 2024-06-12T19:49:19Z Girligaanshub 3150 28189 wikitext text/x-wiki {{-so-}} == Magac == '''agaag''' === Tarjumaad === * {{en}}: proximity, nearby i00c524y01yjrngmibgaavofhi21iov agab 0 8551 28193 26451 2024-06-12T19:53:51Z Girligaanshub 3150 28193 wikitext text/x-wiki {{-so-}} == Magac == '''agab''' === Tarjumaad === * {{en}}: material, equipment, goods, things ===Synonyms=== *[[agab]], [[badeecad]], [[badeeco]], [[shay]], [[sanac]], [[qalab]], gfe7vaq466aqei4b4b4t1kba1v41laz alxanka 0 8552 24978 2023-09-21T16:52:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alxanka''' === Tarjumaad === * {{en}}: welding, 24978 wikitext text/x-wiki {{-so-}} == Magac == '''alxanka''' === Tarjumaad === * {{en}}: welding, 4kazvoapk4bmd5lzolcpz6t5qufjwmw ambabbax 0 8553 24979 2023-09-21T16:54:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ambabbax''' === Tarjumaad === * {{en}}: departure 24979 wikitext text/x-wiki {{-so-}} == Magac == '''ambabbax''' === Tarjumaad === * {{en}}: departure jr5h96y1gl1564nn4u4x8mcxhictvz5 amley 0 8554 24980 2023-09-21T16:55:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amley''' === Tarjumaad === * {{en}}: dagger 24980 wikitext text/x-wiki {{-so-}} == Magac == '''amley''' === Tarjumaad === * {{en}}: dagger 3jq1pr2kjro2im0lgdktd78ldz0sgbd anbasho 0 8555 24981 2023-09-21T16:56:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''anbasho''' === Tarjumaad === * {{en}}: stray, lost 24981 wikitext text/x-wiki {{-so-}} == Magac == '''anbasho''' === Tarjumaad === * {{en}}: stray, lost rqxteo3o71ji3uxsj1k25pjim5dkyau aqoonni 0 8556 24982 2023-09-21T16:57:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqoonni''' === Tarjumaad === * {{en}}: acquaintance, 24982 wikitext text/x-wiki {{-so-}} == Magac == '''aqoonni''' === Tarjumaad === * {{en}}: acquaintance, 7s3kxea67ef8j36zopt4rqv25x5eiy0 aqoonyahan 0 8557 31313 31303 2024-10-04T17:53:38Z Girligaanshub 3150 31313 wikitext text/x-wiki {{-so-}} == Magac == '''aqoonyahan''' === Tarjumaad === * {{en}}: scholar ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]], 9bpjta210221segremouzpj4z52tzo6 armaajo 0 8558 29672 29012 2024-08-07T17:24:10Z Girligaanshub 3150 29672 wikitext text/x-wiki {{-so-}} == Magac == '''armaajo''' ==Etymology== Italian ka yimid: Armadio === Tarjumaad === * {{en}}: cupboard, wardrobe ===Synonyms=== *[[kolay]], [[armaajo]] 7zr0n1n02877odfre4w6kajp6orptub asbaab 0 8559 24986 2023-09-21T17:18:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''asbaab''' === Tarjumaad === * {{en}}: reason, reasoning 24986 wikitext text/x-wiki {{-so-}} == Magac == '''asbaab''' === Tarjumaad === * {{en}}: reason, reasoning 1gwt5gbfflkgbtke32oe4c2pm7txmqb aw 0 8560 30466 25482 2024-09-03T21:25:12Z Girligaanshub 3150 30466 wikitext text/x-wiki {{-so-}} == Magac == '''aw''' === Tarjumaad === * {{en}}: titular father * {{en}}: confidee mnj29a6vf8xrh7x7awvk7uvgrvgmsl9 awaal 0 8561 24991 24990 2023-09-21T17:33:29Z Girligaanshub 3150 24991 wikitext text/x-wiki {{-so-}} == Magac == '''awaal''' === Tarjumaad === * {{en}}: guess, expect, expectation, forecast, prediction, projection, prognosis, predict, expect, expectation, fortunetelling, astrology, soothsaying, crystal-gaze, oracle working, crystal ball, prophecy, prophesize, foretell, foretelling, on7zmyz72jxuvf4rapyjvih7kvsuban baad 0 8562 26035 25436 2023-11-24T03:39:20Z Girligaanshub 3150 26035 wikitext text/x-wiki {{-so-}} == Magac == '''baad''' === Tarjumaad === * {{en}}: pasture, pastures, food * {{en}}: bread o6ds4aqnhykc892l2oo35047udp0o4m baaq 0 8563 25696 24998 2023-10-31T18:55:12Z Girligaanshub 3150 25696 wikitext text/x-wiki {{-so-}} == Magac == '''baaq''' === Tarjumaad === * {{en}}: salutation, exalt, greet, accost, tribute, accolade, acclaim, salutation, 1ea5121uu2tebm3cspjbuktntlrpluq baatul 0 8564 25003 25002 2023-09-22T13:38:10Z Girligaanshub 3150 25003 wikitext text/x-wiki {{-so-}} == Magac == '''baatul''' === Tarjumaad === * {{en}}: extravegance, wasteful, profligate, oql9m3ndnl4wewh1t5fnbymhh0xin0m babac 0 8565 25005 2023-09-22T13:39:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''babac''' === Tarjumaad === * {{en}}: diagonal, slope 25005 wikitext text/x-wiki {{-so-}} == Magac == '''babac''' === Tarjumaad === * {{en}}: diagonal, slope n11yuwk5m8k4iurjntobknzk07v9vri bacrin 0 8566 25006 2023-09-22T13:40:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacrin''' === Tarjumaad === * {{en}}: fertile, 25006 wikitext text/x-wiki {{-so-}} == Magac == '''bacrin''' === Tarjumaad === * {{en}}: fertile, gz60lvp8zy444176kc09nd7kdd2d6n3 badar 0 8567 25007 2023-09-22T13:40:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badar''' === Tarjumaad === * {{en}}: grain, 25007 wikitext text/x-wiki {{-so-}} == Magac == '''badar''' === Tarjumaad === * {{en}}: grain, 7nnk1lm3s7ovst4ibj2rs17kyuji8gl badasho 0 8568 25008 2023-09-22T13:41:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badasho''' === Tarjumaad === * {{en}}: intense, intensify, intensification 25008 wikitext text/x-wiki {{-so-}} == Magac == '''badasho''' === Tarjumaad === * {{en}}: intense, intensify, intensification 2h9w7uuzuxnrxzqlkl0v2sj5tp1imrg badheedh 0 8569 32679 32675 2024-11-30T09:00:15Z Girligaanshub 3150 32679 wikitext text/x-wiki {{-so-}} == Magac == '''badheedh''' === Tarjumaad === * {{en}}: frank, direct, blunt, straightforward, candid, audacity, deliberate, on purpose, explicit, unambiguous, serious ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ciirsan ]], [[daruuri]], [[ba'an]] ===Antonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] t1xbo0audwhwlgkxpi22dh1je1pm3ng badnaan 0 8570 25010 2023-09-22T13:43:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badnaan''' === Tarjumaad === * {{en}}: multiplication, 25010 wikitext text/x-wiki {{-so-}} == Magac == '''badnaan''' === Tarjumaad === * {{en}}: multiplication, 6saihc81vk9qzap1vqg6k0gbluwpcea bad-weyn 0 8571 25012 2023-09-22T14:11:32Z Girligaanshub 3150 Girligaanshub moved page [[bad-weyn]] to [[badweyn]] 25012 wikitext text/x-wiki #REDIRECT [[badweyn]] 1xo94yexf30dud4ulfl3p4xt9zil13w badyaro 0 8572 25028 25013 2023-09-22T14:33:29Z Girligaanshub 3150 25028 wikitext text/x-wiki {{-so-}} == Magac == '''badyaro''' === Tarjumaad === * {{en}}: lake, lagoon, ===Synonyms=== *[[balli]] qlyuetawi2krtrzxw88kwigz3oti7q6 badxir 0 8573 25014 2023-09-22T14:12:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badxir''' === Tarjumaad === * {{en}}: dam, 25014 wikitext text/x-wiki {{-so-}} == Magac == '''badxir''' === Tarjumaad === * {{en}}: dam, aru7wwpyck72x41fjr97ict2hyaydzy bahal 0 8574 25034 25015 2023-09-22T14:54:10Z Girligaanshub 3150 25034 wikitext text/x-wiki {{-so-}} == Magac == '''bahal''' === Tarjumaad === * {{en}}: wild animal, wildlife, beast ===Synonyms=== *[[banjoog]], [[bahal]] 838aezm0pfhf6al86aeig5iz7hndtcy bakhaar 0 8575 26853 26114 2024-02-27T04:23:30Z Girligaanshub 3150 26853 wikitext text/x-wiki {{-so-}} == Magac == '''bakhaar''' === Tarjumaad === * {{en}}: store room, storage, warehouse, repository 1akrlhdukplglzuhnlu0osib2lp7cw6 bakhti 0 8576 25018 2023-09-22T14:15:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakhti''' === Tarjumaad === * {{en}}: corpse 25018 wikitext text/x-wiki {{-so-}} == Magac == '''bakhti''' === Tarjumaad === * {{en}}: corpse rlifb277wrep04a43fhsvuobg88ewfb bakool 0 8577 25019 2023-09-22T14:17:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakool''' === Tarjumaad === * {{en}}: red earth, red soil, 25019 wikitext text/x-wiki {{-so-}} == Magac == '''bakool''' === Tarjumaad === * {{en}}: red earth, red soil, tnt14i3855dq2pts2vu7bdl0hl07t1f balaadhi 0 8578 25021 2023-09-22T14:30:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''balaadhi''' === Tarjumaad === * {{en}}: broaden, widen, breadth 25021 wikitext text/x-wiki {{-so-}} == Magac == '''balaadhi''' === Tarjumaad === * {{en}}: broaden, widen, breadth dcf9hgh3ut5w8zk9hj07qq0n2r173hr ballamay 0 8579 25023 2023-09-22T14:30:46Z Girligaanshub 3150 Girligaanshub moved page [[ballamay]] to [[ballan]] 25023 wikitext text/x-wiki #REDIRECT [[ballan]] 1wh6y7b7stdnhwtyq59jn7zrcunzt14 ballangal 0 8580 25025 2023-09-22T14:31:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ballangal''' === Tarjumaad === * {{en}}: commitment 25025 wikitext text/x-wiki {{-so-}} == Magac == '''ballangal''' === Tarjumaad === * {{en}}: commitment merv890fh5265sl0c1ab0q7x2a2vkv4 ballaq 0 8581 25026 2023-09-22T14:32:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ballaq''' === Tarjumaad === * {{en}}: gaping, wide open, 25026 wikitext text/x-wiki {{-so-}} == Magac == '''ballaq''' === Tarjumaad === * {{en}}: gaping, wide open, smpz19qtjeu6uiqa74miv14kvbvrpf8 balli 0 8582 25027 2023-09-22T14:33:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''balli''' === Tarjumaad === * {{en}}: pond 25027 wikitext text/x-wiki {{-so-}} == Magac == '''balli''' === Tarjumaad === * {{en}}: pond gl147g3ug4h1fyorifo2m45cgi8ma77 balqan 0 8583 25029 2023-09-22T14:33:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''balqan''' === Tarjumaad === * {{en}}: saliva 25029 wikitext text/x-wiki {{-so-}} == Magac == '''balqan''' === Tarjumaad === * {{en}}: saliva 2gg1hcv8j51wnxmlbwtvwicluy96i9i balqo 0 8584 25030 2023-09-22T14:34:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''balqo''' === Tarjumaad === * {{en}}: spill 25030 wikitext text/x-wiki {{-so-}} == Magac == '''balqo''' === Tarjumaad === * {{en}}: spill 5nm83wtxwxnq6n1ldykoo2ti0cp4cji banbiiro 0 8585 25031 2023-09-22T14:34:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''banbiiro''' === Tarjumaad === * {{en}}: rubber 25031 wikitext text/x-wiki {{-so-}} == Magac == '''banbiiro''' === Tarjumaad === * {{en}}: rubber og4raqnlw8ywxg47fn57qxfjp5l3mk3 bandhaw 0 8586 25032 2023-09-22T14:40:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bandhaw''' === Tarjumaad === * {{en}}: display, exhibit, expose, demonstration, presentation 25032 wikitext text/x-wiki {{-so-}} == Magac == '''bandhaw''' === Tarjumaad === * {{en}}: display, exhibit, expose, demonstration, presentation t8mc5iz83treqrlbm2suw0rx98he3rz bandiirad 0 8587 25033 2023-09-22T14:53:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bandiirad''' === Tarjumaad === * {{en}}: flag, banner, seal, emblem, ensign, coat of arms 25033 wikitext text/x-wiki {{-so-}} == Magac == '''bandiirad''' === Tarjumaad === * {{en}}: flag, banner, seal, emblem, ensign, coat of arms 2m20opdm88ljh89w0rgm3bpxsoghpkv banjoog 0 8588 25035 2023-09-22T14:54:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''banjoog''' === Tarjumaad === * {{en}}: wild animal, wildlife, beast ===Synonyms=== *[[banjoog]], [[bahal]] 25035 wikitext text/x-wiki {{-so-}} == Magac == '''banjoog''' === Tarjumaad === * {{en}}: wild animal, wildlife, beast ===Synonyms=== *[[banjoog]], [[bahal]] 3z71bgb6u58dhq50e1q1kwxg5vxdgdw bashbash 0 8589 28054 27776 2024-06-08T22:43:06Z Girligaanshub 3150 28054 wikitext text/x-wiki {{-so-}} == Magac == '''bashbash''' === Tarjumaad === * {{en}}: prosperity, rejoice, rejoicing, celebration ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 6t02mjdmpvtpbowm55yzmc4ypmyujtq barad 0 8590 25038 2023-09-22T14:58:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barad''' === Tarjumaad === * {{en}}: pupil, apprentice, trainee 25038 wikitext text/x-wiki {{-so-}} == Magac == '''barad''' === Tarjumaad === * {{en}}: pupil, apprentice, trainee pir7l7qw14gook2r0xbdtietbmtj2ys baradho 0 8591 25039 2023-09-22T14:58:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baradho''' === Tarjumaad === * {{en}}: potato 25039 wikitext text/x-wiki {{-so-}} == Magac == '''baradho''' === Tarjumaad === * {{en}}: potato 10rhtvvgal44vbnqk96n80kwsdyf6e5 barambaro 0 8592 25040 2023-09-22T14:59:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barambaro''' === Tarjumaad === * {{en}}: cockroach 25040 wikitext text/x-wiki {{-so-}} == Magac == '''barambaro''' === Tarjumaad === * {{en}}: cockroach lxi0yjkqihwvt31zilp4xbqd47ibjqy barbaar 0 8593 28816 28594 2024-07-21T20:27:55Z Girligaanshub 3150 28816 wikitext text/x-wiki {{-so-}} == Magac == '''barbaar''' === Tarjumaad === * {{en}}: young responsible man, young responsible person ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] lkbcw5oyn3j1c7v8y1f8o53zwt1g2m0 bardad 0 8594 25047 2023-09-22T15:04:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bardad''' === Tarjumaad === * {{en}}: startle, surprise, perturb, unsettle, scare ===Synonyms=== *[[anfariir]], [[baji]], [[bardad]] 25047 wikitext text/x-wiki {{-so-}} == Magac == '''bardad''' === Tarjumaad === * {{en}}: startle, surprise, perturb, unsettle, scare ===Synonyms=== *[[anfariir]], [[baji]], [[bardad]] fky5bp1dmo4yt7nb2xeklstzw02v8fn barkhad 0 8595 25056 2023-09-22T16:05:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barkhad''' === Tarjumaad === * {{en}}: useful ===Synonyms=== *[[agab]], [[barkhad]] 25056 wikitext text/x-wiki {{-so-}} == Magac == '''barkhad''' === Tarjumaad === * {{en}}: useful ===Synonyms=== *[[agab]], [[barkhad]] 6pdkrso0wroex8al0pyu6gyw4552inp barood 0 8596 25058 25057 2023-09-22T16:12:25Z Girligaanshub 3150 25058 wikitext text/x-wiki {{-so-}} == Magac == '''barood''' === Tarjumaad === * {{en}}: lethally ill, mortal, critically ill, lzl023eicwac7drjr8y4wr9saqj1gh2 bartan 0 8597 32824 30864 2024-12-02T11:00:50Z Girligaanshub 3150 32824 wikitext text/x-wiki {{-so-}} == Magac == '''bartan''' === Tarjumaad === * {{en}}: headquarters, main home, main house * {{en}}: center ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] 4ijwt94zlazodfhcymmgkax3u4qy0wf calaali 0 8598 25061 2023-09-22T16:15:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calaali''' === Tarjumaad === * {{en}}: chew ===Synonyms=== *[[calaali]], [[baryaqaad]] 25061 wikitext text/x-wiki {{-so-}} == Magac == '''calaali''' === Tarjumaad === * {{en}}: chew ===Synonyms=== *[[calaali]], [[baryaqaad]] mnlxnwu109l3nf0dkdtzv0xe0ql91ht baryaqaad 0 8599 25062 2023-09-22T16:15:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baryaqaad''' === Tarjumaad === * {{en}}: chew ===Synonyms=== *[[calaali]], [[baryaqaad]] 25062 wikitext text/x-wiki {{-so-}} == Magac == '''baryaqaad''' === Tarjumaad === * {{en}}: chew ===Synonyms=== *[[calaali]], [[baryaqaad]] mjdw6r4lyv1bvx11vh063rmpba3ux0h baqas 0 8600 25064 2023-09-22T16:38:29Z Girligaanshub 3150 Girligaanshub moved page [[baqas]] to [[bashbash]] 25064 wikitext text/x-wiki #REDIRECT [[bashbash]] tm5qxih56ky5w8231c3haabsa6li8zd baso 0 8601 25066 2023-09-22T16:39:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baso''' === Tarjumaad === * {{en}}: crown, halo 25066 wikitext text/x-wiki {{-so-}} == Magac == '''baso''' === Tarjumaad === * {{en}}: crown, halo e99hqti6fx9n46cdjsvt3hrfn50y1nf batikhoob 0 8602 25067 2023-09-22T16:40:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''batikhoob''' === Tarjumaad === * {{en}}: ripe, ripen 25067 wikitext text/x-wiki {{-so-}} == Magac == '''batikhoob''' === Tarjumaad === * {{en}}: ripe, ripen 4erios58ibau03cxpk3js7e7rnkacxe baxsanaan 0 8603 32247 25068 2024-11-04T05:23:50Z Girligaanshub 3150 32247 wikitext text/x-wiki {{-so-}} == Magac == '''baxsanaan''' === Tarjumaad === * {{en}}: external cxs282mfmkhl84pfugsh70ipy5s3jqi baydh 0 8604 25069 2023-09-22T16:42:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baydh''' === Tarjumaad === * {{en}}: turn 25069 wikitext text/x-wiki {{-so-}} == Magac == '''baydh''' === Tarjumaad === * {{en}}: turn pfydho81c63tr5um0jdzapsc0ngst3x bayr 0 8605 25070 2023-09-22T16:50:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bayr''' === Tarjumaad === * {{en}}: impatient, impatience 25070 wikitext text/x-wiki {{-so-}} == Magac == '''bayr''' === Tarjumaad === * {{en}}: impatient, impatience 2zuu2iu22a1hh7p2ugw9jxg4wfo1vqr bayuur 0 8606 32561 25072 2024-11-22T09:08:07Z Girligaanshub 3150 32561 wikitext text/x-wiki {{-so-}} == Magac == '''bayuur''' === Tarjumaad === * {{en}}: scandal ===Synonyms=== *[[fadeexo]], [[bayuur]], [[dullaysan]] 719856z0efz7rxm0ig17e6xrj86ri8z beddelaad 0 8607 25073 2023-09-22T16:52:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beddelaad''' === Tarjumaad === * {{en}}: change, exchange 25073 wikitext text/x-wiki {{-so-}} == Magac == '''beddelaad''' === Tarjumaad === * {{en}}: change, exchange 4ih42iate6vovycp9z8t8eklrusu4kp bedli 0 8608 25074 2023-09-22T16:53:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bedli''' === Tarjumaad === * {{en}}: substitute 25074 wikitext text/x-wiki {{-so-}} == Magac == '''bedli''' === Tarjumaad === * {{en}}: substitute bpi08e3u1wel5ky0p734x8h6lscf71s beec 0 8609 25075 2023-09-22T16:54:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beec''' === Tarjumaad === * {{en}}: sale 25075 wikitext text/x-wiki {{-so-}} == Magac == '''beec''' === Tarjumaad === * {{en}}: sale dklmnj0qu1w7l4ymjst6x8jkw31mlyj beegan 0 8610 32246 28947 2024-11-04T03:51:20Z Girligaanshub 3150 32246 wikitext text/x-wiki {{-so-}} == Magac == '''beegan''' === Tarjumaad === * {{en}}: coincided, correspond, corresponded, correlate, fit, compatible, parallel, intertwine, interlink, coincide ===Synonyms=== * [[beegan]], [[jaanqaad]], [[kaashi]], [[kaadso]] h6gt5vdmyoy5qo36e9q0w6v6oonfgwu beekhaan 0 8611 25078 2023-09-22T16:57:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beekhaan''' === Tarjumaad === * {{en}}: thrive, thriving 25078 wikitext text/x-wiki {{-so-}} == Magac == '''beekhaan''' === Tarjumaad === * {{en}}: thrive, thriving l1fwogq1mt6aj99hymsc6rje2mqhyoo beey 0 8612 26386 26381 2023-12-17T20:11:09Z Girligaanshub 3150 26386 wikitext text/x-wiki {{-so-}} == Magac == '''beey''' === Tarjumaad === * {{en}}: gray, grey ===Synonyms=== *[[dameeri]], [[beey]], [[sibidhi]] nhnkduwtmk9ntmuykq588685s8pvl4q belaayo 0 8613 28221 28210 2024-06-13T19:40:42Z Girligaanshub 3150 28221 wikitext text/x-wiki {{-so-}} == Magac == '''belaayo''' === Tarjumaad === * {{en}}: affliction, calamity, catastrophe, ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] 0vt1ez51fxrvz74yq47wj2o8umyo4er belbel 0 8614 25084 2023-09-22T17:01:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''belbel''' === Tarjumaad === * {{en}}: flame, blaze 25084 wikitext text/x-wiki {{-so-}} == Magac == '''belbel''' === Tarjumaad === * {{en}}: flame, blaze h5qdf3m2d66xf00781kd817v5rnltyp bender 0 8615 25085 2023-09-22T17:02:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bender''' === Tarjumaad === * {{en}}: port 25085 wikitext text/x-wiki {{-so-}} == Magac == '''bender''' === Tarjumaad === * {{en}}: port sg367ar70azc115z5cmczy41597rg2x berrin 0 8616 26385 26382 2023-12-17T20:09:46Z Girligaanshub 3150 26385 wikitext text/x-wiki {{-so-}} == Magac == '''berrin''' === Tarjumaad === * {{en}}: ruin, archeological site, archeological remains, debris, relics, historical site, excavation site * {{en}}: old house, old home ===Synonyms=== *[[barin]], [[berrin]], [[qasri]] qezo8gbli20q2w1u7r1m5w53c009abw balwad 0 8617 29047 27034 2024-07-28T18:38:51Z Girligaanshub 3150 29047 wikitext text/x-wiki {{-so-}} == Magac == '''balwad''' === Tarjumaad === * {{en}}: addiction, habit, dependency, obsessed, obsession ===Synonyms=== *[[maandoor]], [[mukhadaraat]], [[qabatinka]], [[balwad]] h6kldyl26m8gquykz45kpil5lg7sauj maandooriye 0 8619 32324 28718 2024-11-08T12:20:05Z Girligaanshub 3150 32324 wikitext text/x-wiki {{-so-}} == Magac == '''maandooriye''' === Tarjumaad === * {{en}}: drug cartel member, drug gang member, mob member, drug trafficker, drug dealer, dope pusher, dope peddler, drug lord, drug baron, narcotrafficker, gangster, hoodlum, thug, outlaw, mobster, crook, mafia ===Synonyms=== *[[gardarroole]], [[cagajugle]], [[gumaad]], [[maandooriye]], [[faasiq]], [[gardarrane]], [[mujrim]], [[dembiile]], [[dambiile]] 9v1w2rq2yuc57vbx78h8phh194iadf7 kormeero 0 8620 28031 27698 2024-06-08T20:31:01Z Girligaanshub 3150 28031 wikitext text/x-wiki {{-so-}} == Magac == '''kormeero''' === Tarjumaad === * {{en}}: supervise, oversee ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] cl7hvi9fpxrppui2zzkvzgjbxpx236h guumees 0 8621 25116 2023-09-24T13:07:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guumees''' === Tarjumaad === * {{en}}: owl 25116 wikitext text/x-wiki {{-so-}} == Magac == '''guumees''' === Tarjumaad === * {{en}}: owl oy6kl9k4zsuzj5zs0hzroxpdu30k1w2 qadiimi 0 8623 25119 2023-09-25T16:02:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qadiimi''' === Tarjumaad === * {{en}}: ancient 25119 wikitext text/x-wiki {{-so-}} == Magac == '''qadiimi''' === Tarjumaad === * {{en}}: ancient 70h1rgcs43ensfpq5mcq1dq18a1hwom xurmeeyo 0 8624 28423 25120 2024-06-15T18:09:29Z Girligaanshub 3150 28423 wikitext text/x-wiki {{-so-}} == Magac == '''xurmeeyo''' === Tarjumaad === * {{en}}: respect, honor, honour ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], mw2mr3dq2mn9camlcp72k6iknh03bng qawaaniinta 0 8625 32178 28137 2024-10-31T20:41:21Z Girligaanshub 3150 32178 wikitext text/x-wiki {{-so-}} == Magac == '''qawaaniinta''' === Tarjumaad === * {{en}}: norms, rules, principles, statute, regulation, regulations * {{en}}: off course, exactly, ===Synonyms=== *[[qawaaniinta]], [[axdiga]], [[taal]], [[dastuur]], [[dastuuriga]], [[shuruud]] 6bzlfaf5hiu6039eae79b8q7nk4xznc haybsad 0 8626 25125 2023-09-25T21:09:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haybsad''' === Tarjumaad === * {{en}}: inquire, inquiry, probe, inquisition, scrutiny, scrutinize, review, interrogate, interrogation, 25125 wikitext text/x-wiki {{-so-}} == Magac == '''haybsad''' === Tarjumaad === * {{en}}: inquire, inquiry, probe, inquisition, scrutiny, scrutinize, review, interrogate, interrogation, t9ovnztq6ywr88ysvh5va8d138o151o haybsado 0 8627 27690 27644 2024-05-23T22:29:32Z Girligaanshub 3150 27690 wikitext text/x-wiki {{-so-}} == Magac == '''haybsado''' === Tarjumaad === * {{en}}: inquire, inquiry, probe, inquisition, scrutiny, scrutinize, review, interrogate, interrogation, query, inquest, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] 7mvgu4a5nx0ex64rwixeiwruwuh4m65 warfaafinta 0 8628 25132 2023-09-26T14:18:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warfaafinta''' === Tarjumaad === * {{en}}: information 25132 wikitext text/x-wiki {{-so-}} == Magac == '''warfaafinta''' === Tarjumaad === * {{en}}: information ibxqppj5vh6gnyeftmo6xqa4tovpf0b sicir 0 8629 25135 2023-09-26T14:26:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sicir''' === Tarjumaad === * {{en}}: exchange rate 25135 wikitext text/x-wiki {{-so-}} == Magac == '''sicir''' === Tarjumaad === * {{en}}: exchange rate kwju606ymns11wyy1bq0mzppke0luq8 silig 0 8630 25136 2023-09-26T14:27:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''silig''' === Tarjumaad === * {{en}}: wire 25136 wikitext text/x-wiki {{-so-}} == Magac == '''silig''' === Tarjumaad === * {{en}}: wire 65frryzfuirq9nppyraz17xkz8vp1mi sibir 0 8631 25137 2023-09-26T14:28:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sibir''' === Tarjumaad === * {{en}}: cement brick 25137 wikitext text/x-wiki {{-so-}} == Magac == '''sibir''' === Tarjumaad === * {{en}}: cement brick l9nl3974py2bjq4xu6sytlmduq45gu4 ghayrah 0 8632 28269 25154 2024-06-14T12:00:22Z Girligaanshub 3150 28269 wikitext text/x-wiki {{-so-}} == Magac == '''ghayrah''' === Tarjumaad === * {{en}}: protective jealousy, zeal, othello, jealousy, possessive, chauvinism, partisan, partisanship, apologism, apologist, conservatism, conserver, preserver, ===Synonyms=== *[[ghayrah]], [[gheerah]], [[muxaafid]], [[asalraac]], [[hanif]], [[joogdoon]], [[taddabur]], [[zuhd]], [[maro-ilaalin]], [[joogdoon]], [[zahid]], [[waanshee]], [[sooyaaldoon]], [[sooyaal-doon]] ===Antonyms=== *[[dayouth]], [[musawat]], [[wadareednimo]], [[qaaraan]], [[musawat]], [[eexasho dadweynaha]], [[maslaxad]], [[joogdoon-diid]], [[biidnimo]], jbt07njhmhmplt8vdnn4a0byb022nai gheerah 0 8633 25149 25145 2023-09-27T19:57:02Z Girligaanshub 3150 25149 wikitext text/x-wiki {{-so-}} == Magac == '''ghayrah''' === Tarjumaad === * {{en}}: protective jealousy, zeal, othello, jealousy, possessive, chauvinism, partisan, partisanship, apologism, apologist, conservatism, conserver, preserver, ===Synonyms=== *[[ghayrah]], [[gheerah]], [[hanif]] [[muxaafid]], [[asalraac]], [[joogdoon]], [[taddabur]], [[zuhd]], [[maro-ilaalin]], [[joogdoon]], [[zahid]], [[waanshee]], ===Antonyms=== *[[dayouth]], [[musawat]] ftrkr7hc0hc595ndbimmb35skthhbxd guumeeys 0 8634 25156 2023-09-28T16:05:25Z Girligaanshub 3150 Girligaanshub moved page [[guumeeys]] to [[guumeys]] 25156 wikitext text/x-wiki #REDIRECT [[guumeys]] hrvou833ug6p86nyour6fdsndanmr1b dhulyaal 0 8635 25158 2023-09-28T21:10:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhulyaal''' === Tarjumaad === * {{en}}: paralysis, paralysed, paralyzed 25158 wikitext text/x-wiki {{-so-}} == Magac == '''dhulyaal''' === Tarjumaad === * {{en}}: paralysis, paralysed, paralyzed 0di5y978qj2wh9si281ujofyrnn7svv cadeeyboolo 0 8636 25160 2023-09-29T11:45:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cadeeyboolo''' === Tarjumaad === * {{en}}: swan 25160 wikitext text/x-wiki {{-so-}} == Magac == '''cadeeyboolo''' === Tarjumaad === * {{en}}: swan 321r0p8n73rr6532hdxm94hhg2xwsch hooloboolo 0 8637 25162 2023-09-29T11:45:51Z Girligaanshub 3150 Girligaanshub moved page [[hooloboolo]] to [[booloboolo]] 25162 wikitext text/x-wiki #REDIRECT [[booloboolo]] ejokn7b1n8zq3kxhohgojhhnh4pdwm1 xantalaay 0 8638 30029 30028 2024-08-19T06:36:26Z Girligaanshub 3150 Noqay bedelaadka [[Special:Diff/30028|30028]] ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 30029 wikitext text/x-wiki {{-so-}} == Magac == '''xantalaay''' === Tarjumaad === * {{en}}: stork hwg7mz0ndx0td9b0qqy5akp0869x5ol Cadeeyboolo Kanada 0 8639 25166 25164 2023-09-29T12:14:13Z Girligaanshub 3150 25166 wikitext text/x-wiki {{-so-}} == Magac == '''Cadeeyboolo Kanada''' === Tarjumaad === * {{en}}: Canada goose, Canada geese aecuknvwvu1l7kpliax8nlybypnnn3r jeeraabe 0 8640 29881 29879 2024-08-13T03:28:49Z Girligaanshub 3150 29881 wikitext text/x-wiki {{-so-}} == Magac == '''jeeraabe''' === Tarjumaad === * {{en}}: goose, waterfowl, anatidae, geese pue3ip44r8i3qrp9ar41q3jkh468ydw cantalyaa 0 8641 25168 2023-09-29T12:26:09Z Girligaanshub 3150 Girligaanshub moved page [[cantalyaa]] to [[xantalaay]] 25168 wikitext text/x-wiki #REDIRECT [[xantalaay]] bjts5pq1g6c53ogcvkgmjx5lu6ov2v3 calooley 0 8642 25170 2023-09-29T12:41:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calooley''' === Tarjumaad === * {{en}}: intestine, intestines 25170 wikitext text/x-wiki {{-so-}} == Magac == '''calooley''' === Tarjumaad === * {{en}}: intestine, intestines 0bje4bu7kw4k1k1gdw3vkpep4063x9f kaydi 0 8644 32371 28077 2024-11-11T22:11:45Z Girligaanshub 3150 32371 wikitext text/x-wiki {{-so-}} == Magac == '''kaydi''' === Tarjumaad === * {{en}}: save, store, storage, storing, preserve, ===Synonyms=== *[[samata saar]], [[samata bixi]], [[badbaadi]], [[kaydi]], irqxmbiflqpmswi8bzj525rtsv7tkhf kaydinta 0 8645 25173 2023-09-29T16:40:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaydinta''' === Tarjumaad === * {{en}}: save, store, storage, storing, preserve, 25173 wikitext text/x-wiki {{-so-}} == Magac == '''kaydinta''' === Tarjumaad === * {{en}}: save, store, storage, storing, preserve, c50xbb0zzno4buprldbkvm9j6wjr2ym fashil 0 8647 29722 25175 2024-08-09T00:44:44Z Girligaanshub 3150 29722 wikitext text/x-wiki {{-so-}} == Magac == '''fashil''' === Tarjumaad === * {{en}}: undermine, * {{en}}: drop, lose, collapse, dump, relinquish, tumble, plunge, 04qoj1giermxdxi7cnl4q44y6kgwxr1 heeganka 0 8648 32495 31980 2024-11-16T19:51:14Z Girligaanshub 3150 32495 wikitext text/x-wiki {{-so-}} == Magac == '''heeganka''' === Tarjumaad === * {{en}}: alertness, readiness, vigilance, attentive, attentiveness, wary, wariness, heed, heedful, heedfulness, caution, cautious, cautiousness, hypervigilance, ===Synonyms=== * [[fejignaan]], [[heegan]], [[heeganka]], [[digtooni]], [[taxadar]], [[tifaftiran]], [[waanshee]], ===Antonyms=== *[[hidib]] 580t0ffo54xc8wvws14t3ez3aebgszz wehel 0 8649 25182 2023-10-02T01:30:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wehel''' === Tarjumaad === * {{en}}: dear, associate, friend, companion ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]] 25182 wikitext text/x-wiki {{-so-}} == Magac == '''wehel''' === Tarjumaad === * {{en}}: dear, associate, friend, companion ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]] oci68l91xv6kypea9giyipm8tk8xznr dalsanka 0 8650 27129 25186 2024-04-10T14:16:29Z Girligaanshub 3150 27129 wikitext text/x-wiki {{-so-}} == Magac == '''dalsanka''' === Tarjumaad === * {{en}}: fertile, lush, high-yield, prolific, fruitful, constructive, potent, conceivable, reproductive, productive ===Synonyms=== *[[dalsanka]], [[dalsan]], [[kaabayaalaysan]] mmo4d9k5rge3qp6qrnbn6hu6kj04dmi qariibe 0 8651 25187 2023-10-03T18:22:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qariibe''' === Tarjumaad === * {{en}}: stranger, alien, 25187 wikitext text/x-wiki {{-so-}} == Magac == '''qariibe''' === Tarjumaad === * {{en}}: stranger, alien, gnmt4swn8o8akdl0iku872dyfv59szx xalaal 0 8652 25188 2023-10-03T20:20:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xalaal''' === Tarjumaad === * {{en}}: correct, correctly, appropriate, appropriately, fair, fairly, suitable, suitably, proper, properly, befitting, apt, 25188 wikitext text/x-wiki {{-so-}} == Magac == '''xalaal''' === Tarjumaad === * {{en}}: correct, correctly, appropriate, appropriately, fair, fairly, suitable, suitably, proper, properly, befitting, apt, 8i1fkwyr9q53xycijwp6elja3faxhim looma-ooyaan 0 8653 30270 25193 2024-08-26T00:40:38Z Girligaanshub 3150 30270 wikitext text/x-wiki {{-so-}} == Magac == '''looma-ooyaan''' === Tarjumaad === * {{en}}: forsaken, forgotten, desolate, neglected, maroon, marooned, m6l2h3v8tbziubw90jslm5gdewsfrfy yaanyuur 0 8654 25194 2023-10-06T18:20:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yaanyuur''' === Tarjumaad === * {{en}}: kitten 25194 wikitext text/x-wiki {{-so-}} == Magac == '''yaanyuur''' === Tarjumaad === * {{en}}: kitten ni3ddabmj68at679s47t88e5h4my9qj zina 0 8655 25195 2023-10-06T21:52:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''zina''' === Tarjumaad === * {{en}}: adultery 25195 wikitext text/x-wiki {{-so-}} == Magac == '''zina''' === Tarjumaad === * {{en}}: adultery e7frp0qvcgpib7zyriboh71gef8iub4 buunbuuni 0 8656 25196 2023-10-07T11:07:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buunbuuni''' === Tarjumaad === * {{en}}: exaggerate, amplify, heighten, inflate, magnify, boost, embellish, expand, intensify, 25196 wikitext text/x-wiki {{-so-}} == Magac == '''buunbuuni''' === Tarjumaad === * {{en}}: exaggerate, amplify, heighten, inflate, magnify, boost, embellish, expand, intensify, njlb44s5teou3e81fixqmc20v3zhbgt hobey 0 8657 30086 28065 2024-08-23T17:37:36Z Girligaanshub 3150 30086 wikitext text/x-wiki {{-so-}} == Magac == '''hobey''' === Tarjumaad === * {{en}}: feast, party, festival, picnic, carnival, barbecue, holiday, celebration, celebrate, banquet, ceremony, * {{en}}: arouse positively, ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] sazrcglzngbjzs2pdofx45wui60b0ip kub 0 8658 25206 2023-10-10T08:15:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kub''' === Tarjumaad === * {{en}}: calf, leg calf 25206 wikitext text/x-wiki {{-so-}} == Magac == '''kub''' === Tarjumaad === * {{en}}: calf, leg calf epc1upnkn25vu6oy4f07al5elo3zsbx dhudhun 0 8659 25208 25207 2023-10-10T08:16:17Z Girligaanshub 3150 25208 wikitext text/x-wiki {{-so-}} == Magac == '''dhudhun''' === Tarjumaad === * {{en}}: forearm, ulna, antibrachium, 7nv9zx8et4e16mj9q834vua6uio02b7 suxul 0 8660 25209 2023-10-10T08:17:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suxul''' === Tarjumaad === * {{en}}: elbow 25209 wikitext text/x-wiki {{-so-}} == Magac == '''suxul''' === Tarjumaad === * {{en}}: elbow brmf4mazwn0p7j78zosohicdii732d3 cudud 0 8661 25834 25210 2023-11-09T19:08:40Z Girligaanshub 3150 25834 wikitext text/x-wiki {{-so-}} == Magac == '''cudud''' === Tarjumaad === * {{en}}: tricep, triceps * {{en}}: arm 3znrv3twa3yslewy8kcaecj20cfalpm suniyo 0 8662 31440 25211 2024-10-10T15:12:34Z Girligaanshub 3150 31440 wikitext text/x-wiki {{-so-}} == Magac == '''suniyo''' === Tarjumaad === * {{en}}: eyebrow, eye-brows, eye-brow c7sq7ojxj99q1hkplq6xzv54a05ps7w curcur 0 8663 26865 25213 2024-02-29T06:53:15Z Girligaanshub 3150 26865 wikitext text/x-wiki {{-so-}} == Magac == '''curcur''' === Tarjumaad === * {{en}}: wrist, forearm gbumqz7735pu11pt239xxf4fgiqih4n cukur 0 8664 25214 2023-10-10T08:23:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cukur''' === Tarjumaad === * {{en}}: wrist 25214 wikitext text/x-wiki {{-so-}} == Magac == '''cukur''' === Tarjumaad === * {{en}}: wrist n9w5krgmk8s19hhkrzvk5v4mpllwrfu qasnid 0 8665 25215 2023-10-10T08:35:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qasnid''' === Tarjumaad === * {{en}}: disorder, turmoil 25215 wikitext text/x-wiki {{-so-}} == Magac == '''qasnid''' === Tarjumaad === * {{en}}: disorder, turmoil csz1cjeszeup588o687f4j56twjbklm hangaranleh 0 8666 25217 2023-10-10T13:02:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hangaranleh''' === Tarjumaad === * {{en}}: scorpion 25217 wikitext text/x-wiki {{-so-}} == Magac == '''hangaranleh''' === Tarjumaad === * {{en}}: scorpion 7lrr28g95vagprmzv5fucvcpgjqos3r keenadiid 0 8667 25218 2023-10-10T15:13:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keenadiid''' === Tarjumaad === * {{en}}: contumacious, insubordinate, obstinate, stubborn, disobedient, 25218 wikitext text/x-wiki {{-so-}} == Magac == '''keenadiid''' === Tarjumaad === * {{en}}: contumacious, insubordinate, obstinate, stubborn, disobedient, nzzw5yvi8k9nw0cgwo250i1q7ufyo25 huruud 0 8668 25219 2023-10-10T15:24:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''huruud''' === Tarjumaad === * {{en}}: turmeric 25219 wikitext text/x-wiki {{-so-}} == Magac == '''huruud''' === Tarjumaad === * {{en}}: turmeric 54ijrwipvi9k570ze46vfvl7xn7pqcg qeenid 0 8669 25222 25220 2023-10-10T15:38:10Z Girligaanshub 3150 25222 wikitext text/x-wiki {{-so-}} == Magac == '''qeenid''' === Tarjumaad === * {{en}}: yolk, egg yolk, eggyolk * {{en}}: yellow ===Synonyms=== *[[jaale]] apr1nsqlhmynwtcz8bdf53h6ktppj3r qeenida 0 8670 25223 2023-10-10T15:41:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qeenida''' === Tarjumaad === * {{en}}: yellowish 25223 wikitext text/x-wiki {{-so-}} == Magac == '''qeenida''' === Tarjumaad === * {{en}}: yellowish fudyem6cg6ppcvnhyq36hap0v6aaq29 qeenidnimo 0 8671 25224 2023-10-10T15:41:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qeenidnimo''' === Tarjumaad === * {{en}}: yellowness 25224 wikitext text/x-wiki {{-so-}} == Magac == '''qeenidnimo''' === Tarjumaad === * {{en}}: yellowness sou5wdmz54sfd6hpzatw0phj4q4y4ey qeenideey 0 8672 25225 2023-10-10T15:43:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qeenideey''' === Tarjumaad === * {{en}}: yellowize 25225 wikitext text/x-wiki {{-so-}} == Magac == '''qeenideey''' === Tarjumaad === * {{en}}: yellowize e7l8wrunodqn0mnpugi6qhup94sy28q nafaqo 0 8673 31283 29045 2024-10-04T16:40:33Z Girligaanshub 3150 31283 wikitext text/x-wiki {{-so-}} == Magac == '''nafaqo''' === Tarjumaad === * {{en}}: nutrition, nutritious, nourish, soothe, soothing ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] 5177y8o1i1a397jn3cuednoz4vhxsix sifoonyinka 0 8674 25228 2023-10-10T16:19:08Z Girligaanshub 3150 Girligaanshub moved page [[sifoonyinka]] to [[sifooyinka]] 25228 wikitext text/x-wiki #REDIRECT [[sifooyinka]] itg3jjddmbofk3o7cqqij07pjo95nj2 cirtuw 0 8675 25768 25766 2023-11-06T02:10:00Z Girligaanshub 3150 25768 wikitext text/x-wiki {{-so-}} == Magac == '''cirtuw''' === Tarjumaad === * {{en}}: blue lydxxvb9bnwjk90qfeog3562wwt1uhk khimkhim 0 8676 25526 25230 2023-10-23T12:07:56Z Girligaanshub 3150 25526 wikitext text/x-wiki {{-so-}} == Magac == '''khimkhim''' === Tarjumaad === * {{en}}: char, charred, scorch, scorched, burn, burnt, burned, roast, roasted, parch, parched, * {{en}}: to season and sear into blackness jq8jkcr00czz0l9ux3i49jjdllt6zpn himhimo 0 8677 25235 25232 2023-10-11T01:59:29Z Girligaanshub 3150 25235 wikitext text/x-wiki {{-so-}} == Magac == '''himhimo''' === Tarjumaad === * {{en}}: thunderclap, rumble, strong motto, roar, roaring, battle cry, war cry, rallying call, banzai ===Synonyms=== *[[takbir]], [[himhimo]], [[guux]] 0x36h2x5ft6ahu0n04l01ejwqf85jx5 takbir 0 8678 25234 2023-10-11T01:58:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''takbir''' === Tarjumaad === * {{en}}: proclamation of God's greatness, declaration of faith ===Synonyms=== *[[takbir]], [[himhimo]], [[guux]] 25234 wikitext text/x-wiki {{-so-}} == Magac == '''takbir''' === Tarjumaad === * {{en}}: proclamation of God's greatness, declaration of faith ===Synonyms=== *[[takbir]], [[himhimo]], [[guux]] nk83nrahn3wkh56gfrmhdxwtajl2zrs xiniin 0 8679 25236 2023-10-11T02:03:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiniin''' === Tarjumaad === * {{en}}: testicle 25236 wikitext text/x-wiki {{-so-}} == Magac == '''xiniin''' === Tarjumaad === * {{en}}: testicle phcd7ttyyr7akk5wd2prpb91mm02g7u xiniineey 0 8680 25237 2023-10-11T02:08:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiniineey''' === Tarjumaad === * {{en}}: till, plough, cultivate, farm, fertilize, harvest, plow, 25237 wikitext text/x-wiki {{-so-}} == Magac == '''xiniineey''' === Tarjumaad === * {{en}}: till, plough, cultivate, farm, fertilize, harvest, plow, haqt4ncdbukrdnp70nrcfwmwgbl0s8r qaska hore 0 8681 25239 2023-10-11T03:04:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaska hore''' === Tarjumaad === * {{en}}: collar bone 25239 wikitext text/x-wiki {{-so-}} == Magac == '''qaska hore''' === Tarjumaad === * {{en}}: collar bone i2q2brztlch1omjzwzk2r072kcvn9yu qaska dambe 0 8682 25240 2023-10-11T03:05:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaska dambe''' === Tarjumaad === * {{en}}: scapula, scapulae, scapulas, shoulder blade 25240 wikitext text/x-wiki {{-so-}} == Magac == '''qaska dambe''' === Tarjumaad === * {{en}}: scapula, scapulae, scapulas, shoulder blade dcvnysx7pbfral8mmlc91ppsuturq62 ir 0 8683 25331 25241 2023-10-15T14:46:58Z Girligaanshub 3150 25331 wikitext text/x-wiki {{-so-}} == Magac == '''ir''' === Tarjumaad === * {{en}}: eye pupil, eye iris 12lszx62b4ilwglc6ezgrkzq9v0efc4 hacwaar 0 8684 25376 25374 2023-10-17T03:17:46Z Girligaanshub 3150 25376 wikitext text/x-wiki {{-so-}} == Magac == '''hacwaar''' === Tarjumaad === * {{en}}: expired, perished, out of date knzva47u4zbd81g0j0mkbspvhzpu2t1 shaabuug 0 8685 25243 2023-10-11T04:16:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaabuug''' === Tarjumaad === * {{en}}: whip 25243 wikitext text/x-wiki {{-so-}} == Magac == '''shaabuug''' === Tarjumaad === * {{en}}: whip 4uo1l1tb3zcjwumbf97cxp6u3t0bpoa shaabuugside 0 8686 25244 2023-10-11T04:17:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaabuugside''' === Tarjumaad === * {{en}}: whipper, whip-holder, punisher 25244 wikitext text/x-wiki {{-so-}} == Magac == '''shaabuugside''' === Tarjumaad === * {{en}}: whipper, whip-holder, punisher n3g9efc9sg5b6nyccp6vrnp6hgc2g02 tebinta 0 8687 28377 25245 2024-06-14T21:20:46Z Girligaanshub 3150 28377 wikitext text/x-wiki {{-so-}} == Magac == '''tebinta''' === Tarjumaad === * {{en}}: targeting, heading 1o8ulxt3ezloiy02j3ir8qtvdfsjhff coodtabin 0 8688 32445 31552 2024-11-15T10:21:48Z Girligaanshub 3150 32445 wikitext text/x-wiki {{-so-}} == Magac == '''coodtabin''' ===Etyomology=== * [[cood]] > cootib > Hotep === Tarjumaad === * {{en}}: shepherding a flock, * {{en}}: pacifism, Gandhism, utopia, ===Synonyms=== *[[coodtabin]], [[qoolley]], [[nabaddoon]] ===Antonyms=== *[[fejignaan]], [[heegan]], [[heeganka]], [[waanshee]], [[waabo]] ===Cognate=== *[[coodtabin]], [[hootip]], [[hooto]] eyl3ladvhtt6snfgt6vi39zgjh5pv5v buun 0 8689 25247 2023-10-11T07:14:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buun''' === Tarjumaad === * {{en}}: fragrance tree 25247 wikitext text/x-wiki {{-so-}} == Magac == '''buun''' === Tarjumaad === * {{en}}: fragrance tree ifutuuxzmhue2k1huo1d0l89qdub3ud coon 0 8690 25248 2023-10-11T08:06:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''coon''' === Tarjumaad === * {{en}}: eternal, immortal, ageless 25248 wikitext text/x-wiki {{-so-}} == Magac == '''coon''' === Tarjumaad === * {{en}}: eternal, immortal, ageless jhspnx04sqcbvq2oqjrqe3kfgqhjtvl xayd 0 8691 26243 25249 2023-12-08T08:36:07Z Girligaanshub 3150 26243 wikitext text/x-wiki {{-so-}} == Magac == '''xayd''' === Tarjumaad === * {{en}}: peeled, disrobed, peel, unveil, display, disclose, bare, expose, uncover, cbncrsz0xhafcwobq41gxlkjeisoupw kuus 0 8692 25251 2023-10-11T08:56:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kus''' === Tarjumaad === * {{en}}: bow, prostrate, 25251 wikitext text/x-wiki {{-so-}} == Magac == '''kus''' === Tarjumaad === * {{en}}: bow, prostrate, 93m8ghxooz4jgixst18mschp0iv4iy9 muriyo 0 8693 25252 2023-10-11T08:58:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muriyo''' === Tarjumaad === * {{en}}: love 25252 wikitext text/x-wiki {{-so-}} == Magac == '''muriyo''' === Tarjumaad === * {{en}}: love j2b86yhdwcp4g9116nz5erpvplx6pis buunka 0 8694 25260 25259 2023-10-11T18:56:07Z Girligaanshub 3150 25260 wikitext text/x-wiki {{-so-}} == Magac == '''buunka''' === Tarjumaad === * {{en}}: trumpet, horn, clarion, cornet, hooter, siren, qkckhm51km0ndlk7fuhkpaxbbloyt78 caleen 0 8695 25261 2023-10-12T14:05:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caleen''' === Tarjumaad === * {{en}}: leaf, leaves ===Coodinate terms=== *[[wab]], [[jirid]], [[caleen]] 25261 wikitext text/x-wiki {{-so-}} == Magac == '''caleen''' === Tarjumaad === * {{en}}: leaf, leaves ===Coodinate terms=== *[[wab]], [[jirid]], [[caleen]] iycjoteh13i2kwzdtmkqayzg3kgvaj4 wab 0 8696 28620 28615 2024-06-30T13:01:01Z Girligaanshub 3150 28620 wikitext text/x-wiki {{-so-}} == Magac == '''wab''' === Tarjumaad === * {{en}}: divide * {{en}}: root, tree root, stem, stalk, * {{en}}: small hut * {{en}}: heart ===Coodinate terms=== *[[wab]], [[jirid]], [[caleen]] l4cj29un1kzvmn6444nkpnh2kmoirjo maarsasho 0 8697 25303 25266 2023-10-14T01:35:05Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[naahinimo]] 25303 wikitext text/x-wiki #REDIRECT [[naahinimo]] qcadbskq7id8az2de534ybbr0efgv7o naahi 0 8698 29444 25268 2024-08-04T00:16:59Z Girligaanshub 3150 29444 wikitext text/x-wiki {{-so-}} == Magac == '''naahi''' === Tarjumaad === * {{en}}: minimal, essential, foundation, foundational, fundamental, elemental, crucial, integral, basic, grassroots, rudimentary, ===Synonyms=== *[[daruuri]], [[waajibaad]], [[naahi]], jkvgcpqghgkvks8umyfoyq1bx7j6way nahinimo 0 8699 25271 2023-10-12T16:44:38Z Girligaanshub 3150 Girligaanshub moved page [[nahinimo]] to [[naahinimo]] 25271 wikitext text/x-wiki #REDIRECT [[naahinimo]] qcadbskq7id8az2de534ybbr0efgv7o sarag 0 8700 25277 2023-10-12T18:16:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarag''' === Tarjumaad === * {{en}}: square, rectangle, cube, 25277 wikitext text/x-wiki {{-so-}} == Magac == '''sarag''' === Tarjumaad === * {{en}}: square, rectangle, cube, baktphjdpr44p5oxsdnhnhxdri2s7gj hujifin 0 8701 25281 2023-10-12T19:08:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hujifin''' === Tarjumaad === * {{en}}: anonymity, nameless, anonymous, 25281 wikitext text/x-wiki {{-so-}} == Magac == '''hujifin''' === Tarjumaad === * {{en}}: anonymity, nameless, anonymous, ov5fuqndpt9gbimgck37n25y6380894 dhalaal 0 8702 25409 25282 2023-10-18T12:55:27Z Girligaanshub 3150 25409 wikitext text/x-wiki {{-so-}} == Magac == '''dhalaal''' === Tarjumaad === * {{en}}: shine, bright, illuminate, radiant, gleam, beam, glare ===Synonyms=== *[[dhalaal]], [[widhwidh]] eil7x3gvutclpqwmyi07a3pgh05ivr2 sakaw 0 8703 25788 25786 2023-11-06T22:35:58Z Girligaanshub 3150 Bog loo bedeley [[sakow]] 25788 wikitext text/x-wiki #redirect [[sakow]] j0wv9xb7gc7qiam7a48f2fe8467zhuk tiidyo 0 8704 25284 2023-10-13T00:42:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiidyo''' === Tarjumaad === * {{en}}: punctuation 25284 wikitext text/x-wiki {{-so-}} == Magac == '''tiidyo''' === Tarjumaad === * {{en}}: punctuation q4d24wyb2z182qkdezt59oezrt4386i tiid 0 8705 25285 2023-10-13T00:42:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiid''' === Tarjumaad === * {{en}}: punctuation mark 25285 wikitext text/x-wiki {{-so-}} == Magac == '''tiid''' === Tarjumaad === * {{en}}: punctuation mark oqtofb5jdmvj7b7x0k8frboc6h35yej khad 0 8706 25308 25306 2023-10-14T02:23:52Z Girligaanshub 3150 25308 wikitext text/x-wiki {{-so-}} == Magac == '''khad''' === Tarjumaad === * {{en}}: line 5h37qvyq76ctq5ik6i8ncxqw5vpuycp qode 0 8707 25287 2023-10-13T13:30:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qode''' === Tarjumaad === * {{en}}: builder, architect 25287 wikitext text/x-wiki {{-so-}} == Magac == '''qode''' === Tarjumaad === * {{en}}: builder, architect poy4r8tnl8p46wlbf5gg4f0rgpk2d7s warar 0 8708 25304 25290 2023-10-14T01:39:08Z Girligaanshub 3150 Girligaanshub moved page [[werer]] to [[warar]] 25290 wikitext text/x-wiki {{-so-}} == Magac == '''werer''' === Tarjumaad === * {{en}}: trolley, cart, skates, carriage, longboard, skateboard, wheelbarrow, ski, sled, 7avl26g789uj3beeedrua5b0z7i2hsa widhwidh 0 8709 25408 25301 2023-10-18T12:55:17Z Girligaanshub 3150 25408 wikitext text/x-wiki {{-so-}} == Magac == '''widhwidh''' === Tarjumaad === * {{en}}: dazzle, dazzling, glister, sparkle, darting, flitting, fluttering, flicking, scurrying, zipping, flickering ===Synonyms=== *[[dhalaal]], [[widhwidh]] mu9rkrnjk06pto7n1hisivfbx9kyc0m mudcaw 0 8710 25293 2023-10-13T17:07:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mudcaw''' === Tarjumaad === * {{en}}: decade ===Synonyms=== *[[mudcaw]], [[toban gu']] 25293 wikitext text/x-wiki {{-so-}} == Magac == '''mudcaw''' === Tarjumaad === * {{en}}: decade ===Synonyms=== *[[mudcaw]], [[toban gu']] st53dmukqzrchcd6j5q1k7n5sp2i30c khamtaw 0 8711 25294 2023-10-13T17:30:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khamtaw''' === Tarjumaad === * {{en}}: triangle 25294 wikitext text/x-wiki {{-so-}} == Magac == '''khamtaw''' === Tarjumaad === * {{en}}: triangle pdg3r6r0w5bfe5u24blcc07604b2cos iftaw 0 8712 25295 2023-10-13T17:31:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iftaw''' === Tarjumaad === * {{en}}: square 25295 wikitext text/x-wiki {{-so-}} == Magac == '''iftaw''' === Tarjumaad === * {{en}}: square 7rbynifgwqiw8ryzw0y07laulgpv8a7 tiiyaw 0 8713 25296 2023-10-13T18:37:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiiyaw''' === Tarjumaad === * {{en}}: pentagon 25296 wikitext text/x-wiki {{-so-}} == Magac == '''tiiyaw''' === Tarjumaad === * {{en}}: pentagon 2papsjcabg641lwgfkf9twzqav0qkag sarsaw 0 8714 25297 2023-10-13T18:42:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarsaw''' === Tarjumaad === * {{en}}: hexagon 25297 wikitext text/x-wiki {{-so-}} == Magac == '''sarsaw''' === Tarjumaad === * {{en}}: hexagon hjauqhi5cxyajbffat0ops1204eacen safkhaw 0 8715 25298 2023-10-13T18:44:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''safkhaw''' === Tarjumaad === * {{en}}: heptagon 25298 wikitext text/x-wiki {{-so-}} == Magac == '''safkhaw''' === Tarjumaad === * {{en}}: heptagon 9sc3p7u3wsjjjrpdhvzjix1uwg6cibr khamanaw 0 8716 25299 2023-10-13T18:45:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khamanaw''' === Tarjumaad === * {{en}}: octagon 25299 wikitext text/x-wiki {{-so-}} == Magac == '''khamanaw''' === Tarjumaad === * {{en}}: octagon n7zu2ezjoursnzzg8qo6ju7dqwc38s4 pisijaw 0 8717 25300 2023-10-13T18:47:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''pisijaw''' === Tarjumaad === * {{en}}: nonagon 25300 wikitext text/x-wiki {{-so-}} == Magac == '''pisijaw''' === Tarjumaad === * {{en}}: nonagon 698nsowqzbp92yuir5u5foxm8gr5xj5 juqa 0 8718 25302 2023-10-14T00:43:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''juqa''' === Tarjumaad === * {{en}}: vegan, vegetarian, herbivore 25302 wikitext text/x-wiki {{-so-}} == Magac == '''juqa''' === Tarjumaad === * {{en}}: vegan, vegetarian, herbivore gajvklnzjm7gzgrlqe5req31076q913 werer 0 8719 25305 2023-10-14T01:39:09Z Girligaanshub 3150 Girligaanshub moved page [[werer]] to [[warar]] 25305 wikitext text/x-wiki #REDIRECT [[warar]] nd5cmfo16lptz1bphwnz4jiojg3xmek khet 0 8720 25307 2023-10-14T02:23:38Z Girligaanshub 3150 Girligaanshub moved page [[khet]] to [[khad]] 25307 wikitext text/x-wiki #REDIRECT [[khad]] 8g1rs7sw5bbnn1mplsk9rv911lwfklx saanac 0 8721 25309 2023-10-14T05:30:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saanac''' === Tarjumaad === * {{en}}: craftsman, doctor, physician 25309 wikitext text/x-wiki {{-so-}} == Magac == '''saanac''' === Tarjumaad === * {{en}}: craftsman, doctor, physician gze8h2byufoi8m6yp8zej3ofb1vrs2m sanbaw 0 8722 26657 25312 2024-02-01T11:19:50Z Girligaanshub 3150 26657 wikitext text/x-wiki {{-so-}} == Magac == '''sanbaw''' === Tarjumaad === * {{en}}: neurotypical ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]] 21wj225v0h0l71s9czhkujlk8wbbrnu émeraude 0 8723 25825 25316 2023-11-08T17:16:18Z Balamax 554 25825 wikitext text/x-wiki {{-fr-}} === Magac === '''émeraude''' {{f}} (Jamac: [[émeraudes]]) === Dhawaaqida === * {{audio|LL-Q150 (fra)-0x010C-émeraude.wav|audio|lang=fr}} # [[sumurud]] few9ug1b9nvbca0kcb5k50wsfy0fjl5 yeho 0 8724 25318 2023-10-14T12:18:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yeho''' === Tarjumaad === * {{en}}: million 25318 wikitext text/x-wiki {{-so-}} == Magac == '''yeho''' === Tarjumaad === * {{en}}: million n26eo9tk5geblayxwlmjnnbs1rqwerd shafad 0 8725 26533 26531 2024-01-06T23:33:16Z Girligaanshub 3150 26533 wikitext text/x-wiki {{-so-}} == Magac == '''shafad''' === Tarjumaad === * {{en}}: book, mzv82yrgfdrxpay1b32u670r8a4nrrk aqan 0 8726 26362 26361 2023-12-16T05:18:02Z Girligaanshub 3150 26362 wikitext text/x-wiki {{-so-}} == Magac == '''aqan''' === Tarjumaad === * {{en}}: starving, hungry, craving * {{en}}: straight, parallel, * {{en}}: correct 7mv6zj4cpbp1wsv5oefy00lwtp9ggps marweey 0 8727 25770 25330 2023-11-06T03:51:04Z Girligaanshub 3150 25770 wikitext text/x-wiki {{-so-}} == Magac == '''marweey''' === Tarjumaad === * {{en}}: fall for, go head over heels, lose one's head over, adore, be smitten, desire, enamour, infatuate, infatuated, love 9p5xb6be5oq1nbacvbi2fzb5g45jqh1 leef 0 8728 25332 2023-10-15T15:24:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''leef''' === Tarjumaad === * {{en}}: lick 25332 wikitext text/x-wiki {{-so-}} == Magac == '''leef''' === Tarjumaad === * {{en}}: lick 6f2u3gjn4uvv145zqd93w7oewfucc6f leefleef 0 8729 31786 25333 2024-10-25T20:49:08Z Girligaanshub 3150 31786 wikitext text/x-wiki {{-so-}} == Magac == '''leefleef''' === Tarjumaad === * {{en}}: kowtow, kowtowing ===Synonyms=== * [[dabadhilifeyo]], [[dabadhilifo]], [[leefleef]] 5a6feoy9hda2v46cewh1w2q6ifwerf3 qiiji 0 8730 25335 2023-10-15T17:53:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiiji''' === Tarjumaad === * {{en}}: smoke food, grill food 25335 wikitext text/x-wiki {{-so-}} == Magac == '''qiiji''' === Tarjumaad === * {{en}}: smoke food, grill food 3ge7owfzir4o2iuuu40a0ywrc2oynz5 kumbi 0 8731 25336 2023-10-15T17:55:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kumbi''' === Tarjumaad === * {{en}}: grill meat, smoke meat 25336 wikitext text/x-wiki {{-so-}} == Magac == '''kumbi''' === Tarjumaad === * {{en}}: grill meat, smoke meat dif3rr39v85b7cxlkoksjr8dbbgih76 dabadhilif 0 8732 31773 31772 2024-10-25T20:36:57Z Girligaanshub 3150 31773 wikitext text/x-wiki {{-so-}} == Magac == '''dabadhilif''' === Tarjumaad === * {{en}}: lackey, stooge, servant, slave, puppet * {{en}}: codepedent ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], (qof) [[tiirsan]] 9xmv9bekp17ongwyjz1mtgf9912eqcf rumaan 0 8733 25342 2023-10-15T18:06:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rumaan''' === Tarjumaad === * {{en}}: pomegrenate, 25342 wikitext text/x-wiki {{-so-}} == Magac == '''rumaan''' === Tarjumaad === * {{en}}: pomegrenate, 9unvm1i3u8v8c93k9taxuwwmesj4yp7 galley 0 8734 27016 25343 2024-03-27T20:37:51Z Girligaanshub 3150 27016 wikitext text/x-wiki {{-so-}} == Magac == '''galley''' === Tarjumaad === * {{en}}: maize, corn 7qgpg9p832v8vn8tlhgnai3urxsw5gw liin-dhanaan 0 8735 25344 2023-10-15T18:09:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liin-dhanaan''' === Tarjumaad === * {{en}}: lemon 25344 wikitext text/x-wiki {{-so-}} == Magac == '''liin-dhanaan''' === Tarjumaad === * {{en}}: lemon qb0ehkc41fa1pcukb4l8nlej1m4d6li hoobaan 0 8736 25346 2023-10-15T18:12:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoobaan''' === Tarjumaad === * {{en}}: fruit, fruits 25346 wikitext text/x-wiki {{-so-}} == Magac == '''hoobaan''' === Tarjumaad === * {{en}}: fruit, fruits 5ybdgcpuqsy0rr08oa2es31mryej2t9 muufo 0 8737 32044 25347 2024-10-27T22:10:45Z Girligaanshub 3150 32044 wikitext text/x-wiki {{-so-}} == Magac == '''muufo''' === Tarjumaad === * {{en}}: pancake bread, pizza pancake, flatbread cm4e7a8duzemn9clsccfz2k1mruvhts cabitaan 0 8738 25348 2023-10-15T18:14:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabitaan''' === Tarjumaad === * {{en}}: juice 25348 wikitext text/x-wiki {{-so-}} == Magac == '''cabitaan''' === Tarjumaad === * {{en}}: juice sgb9u0u45vs978760fl2t87vw095stw isbarmuto 0 8739 25349 2023-10-15T18:21:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isbarmuto''' === Tarjumaad === * {{en}}: smoothie 25349 wikitext text/x-wiki {{-so-}} == Magac == '''isbarmuto''' === Tarjumaad === * {{en}}: smoothie 82nj3fk8wsmpxz7vpd9alsaz12symqu macdanta 0 8740 25525 25350 2023-10-23T11:59:27Z Girligaanshub 3150 25525 wikitext text/x-wiki {{-so-}} == Magac == '''macdanta''' === Tarjumaad === * {{en}}: minerals, minarel akw51zcbu09hvo4sq25wifvsmiz9z1g koosh 0 8741 25360 25353 2023-10-16T14:11:22Z Girligaanshub 3150 25360 wikitext text/x-wiki {{-so-}} == Magac == '''koosh''' === Tarjumaad === * {{en}}: socialize, entertain, mingle, fraternize, amuse, cozy, banter, sociability, coziness, social, sociable, conviviality, convivial, jovial, cordial, cordiality, jolly, jolliness i45sh06abchj05pssxbsm42bir1aruh hidib 0 8742 26576 26275 2024-01-13T17:47:40Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[coodtabin]] 26576 wikitext text/x-wiki #REDIRECT [[coodtabin]] qtzzbvtltj50b7tpyoeevlkcm1w8j4u tumaal 0 8743 26686 25359 2024-02-05T07:20:01Z Girligaanshub 3150 26686 wikitext text/x-wiki {{-so-}} == Magac == '''tumaal''' === Tarjumaad === * {{en}}: blacksmith, bladesmith, goldsmith, carver, sculptor, smith 28rdztnqlfcyymndjlcox0h8xrxdb1k milkiile 0 8744 31597 29701 2024-10-16T04:20:12Z Girligaanshub 3150 31597 wikitext text/x-wiki {{-so-}} == Magac == '''milkiile''' === Tarjumaad === * {{en}}: owner, landlord ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[xeer-ilaaliye]], qsmld08zwp4emb6ie06bfrma2s22iqm ganawley 0 8745 26685 26684 2024-02-05T07:19:49Z Girligaanshub 3150 26685 wikitext text/x-wiki {{-so-}} == Magac == '''ganawley''' === Tarjumaad === * {{en}}: crafter, weaver, calligrapher, artist, maker, illustrator, photographer, engineer, ceramicist, ceramist, maker, crafts person, folk potter, or clay worker, plasterer, sculptor, smith, designer, ===Synonyms=== *[[tumaal]], [[ganawley]] hvkhb8795fvqnltiyivdel6i4p0ebqr cadays 0 8746 25364 2023-10-17T00:21:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cadays''' === Tarjumaad === * {{en}}: cream 25364 wikitext text/x-wiki {{-so-}} == Magac == '''cadays''' === Tarjumaad === * {{en}}: cream 5bu5ilm5luyhlvptflrvzhw653jabaj maari 0 8747 25424 25365 2023-10-18T18:17:43Z Girligaanshub 3150 25424 wikitext text/x-wiki {{-so-}} == Magac == '''maari''' === Tarjumaad === * {{en}}: dark, dark color ===Synonyms=== *[[rasiin]], [[maari]] m58dbutfdcfns7pjujfyjzfp0crvyoh soosali 0 8748 25406 25366 2023-10-18T10:46:27Z Girligaanshub 3150 25406 wikitext text/x-wiki {{-so-}} == Magac == '''soosali''' === Tarjumaad === * {{en}}: purple q3c5gh4h093y2aiyqpvg9djrv7yl4iy sanqo 0 8749 25368 2023-10-17T01:24:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanqo''' === Tarjumaad === * {{en}}: wink 25368 wikitext text/x-wiki {{-so-}} == Magac == '''sanqo''' === Tarjumaad === * {{en}}: wink fdr4nix40es7k1jqeeoz2cp5mawbktt cillaan 0 8750 25369 2023-10-17T01:30:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cillaan''' === Tarjumaad === * {{en}}: orange 25369 wikitext text/x-wiki {{-so-}} == Magac == '''cillaan''' === Tarjumaad === * {{en}}: orange 32oij5k5bpdsvqeq2kxhsipkyo3pgxg xamar 0 8751 26348 25370 2023-12-14T22:47:01Z Girligaanshub 3150 26348 wikitext text/x-wiki {{-so-}} == Magac == '''xamar''' === Tarjumaad === * {{en}}: Chestnut color, castaneous color, maroon el9590gsukts8ch5y601n57bn6bau03 caynab 0 8752 25372 2023-10-17T02:16:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caynab''' === Tarjumaad === * {{en}}: ebony, taupe, black horse 25372 wikitext text/x-wiki {{-so-}} == Magac == '''caynab''' === Tarjumaad === * {{en}}: ebony, taupe, black horse sv6jn8idogbu4hzq1pjr3bkk8wsp6sw bullaale 0 8753 25402 25373 2023-10-18T10:16:41Z Girligaanshub 3150 25402 wikitext text/x-wiki {{-so-}} == Magac == '''bullaale''' === Tarjumaad === * {{en}}: mustard, ochre nc4ctx3mpqls5vk4tk5j988xsa00tnn sekiyay 0 8754 25375 2023-10-17T03:15:51Z Girligaanshub 3150 Girligaanshub moved page [[sekiyay]] to [[hacwaar]] 25375 wikitext text/x-wiki #REDIRECT [[hacwaar]] dvlcpmptjtu73fdq4ip0c7e4z82sz56 oorso 0 8755 30173 30169 2024-08-24T02:58:23Z Girligaanshub 3150 30173 wikitext text/x-wiki {{-so-}} == Magac == '''oorso''' === Tarjumaad === * {{en}}: bear ===la xidhiidha=== *[[oorso]], [[buti]], [[madaxkuti]] 24isrc2cojpsno6i7x9blrj4a0ard5b madaxkuti 0 8756 30172 30171 2024-08-24T02:58:00Z Girligaanshub 3150 30172 wikitext text/x-wiki {{-so-}} == Magac == '''madaxkuti''' === Tarjumaad === * {{en}}: civet, african civet feline, bear ===Synonyms=== *[[oorso]], [[buti]], [[madaxkuti]] ioj3u5stf1x7k3n56n012uk5sj83qbg weedh 0 8757 30842 30840 2024-09-22T00:57:15Z Girligaanshub 3150 30842 wikitext text/x-wiki {{-so-}} == Magac == '''weedh''' ===Etymology=== *Wedjat === Tarjumaad === * {{en}}: line, phrase * {{en}}: whole, complete, ===Synonyms=== *[[weedh]], [[tix]], [[tuduc]], [[jumlad]] 9t4pvesqui5g181lvvj32xfv75p3p9c ilbaxaysi 0 8758 28974 25901 2024-07-27T19:53:29Z Girligaanshub 3150 28974 wikitext text/x-wiki {{-so-}} == Magac == '''ilbaxaysi''' === Tarjumaad === * {{en}}: civilization ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[xadaarad]], [[maad]], [[maadka]] ihppm4cz89cgxzvumqah4h32a4jr3zf cadrad 0 8759 25391 2023-10-17T22:19:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cadrad''' === Tarjumaad === * {{en}}: virgin girl, unmarried girl 25391 wikitext text/x-wiki {{-so-}} == Magac == '''cadrad''' === Tarjumaad === * {{en}}: virgin girl, unmarried girl jqw5ohl5evyfluqi6gaecdgdy8eunyt cilladbixinta 0 8760 25392 2023-10-17T22:57:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cilladbixinta''' === Tarjumaad === * {{en}}: phonetics, phonology 25392 wikitext text/x-wiki {{-so-}} == Magac == '''cilladbixinta''' === Tarjumaad === * {{en}}: phonetics, phonology d68dxjdtu8pjkr93hxz3b5je7uruhdw isirgaraadaynta 0 8761 25395 25393 2023-10-17T22:59:47Z Girligaanshub 3150 25395 wikitext text/x-wiki {{-so-}} == Magac == '''isirgaraadaynta''' === Tarjumaad === * {{en}}: morphology, syntax lfpenyvpl4p092pfad4i032a28y9kay xilligaraadaynta 0 8762 25394 2023-10-17T22:58:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xilligaraadaynta''' === Tarjumaad === * {{en}}: tense, sense, 25394 wikitext text/x-wiki {{-so-}} == Magac == '''xilligaraadaynta''' === Tarjumaad === * {{en}}: tense, sense, o5ixfecdq20ztirawt65d2ry3hwduow bood 0 8763 25431 25404 2023-10-18T20:20:36Z Girligaanshub 3150 25431 wikitext text/x-wiki {{-so-}} == Magac == '''bood''' === Tarjumaad === * {{en}}: jump * {{en}}: beige, beige horse, blonde ===Synonyms=== *[[bood]], [[danbari]] 85zs9qz1d0xctrt5wqx9lmcjs864ied ashkir 0 8764 25400 25399 2023-10-18T10:09:12Z Girligaanshub 3150 25400 wikitext text/x-wiki {{-so-}} == Magac == '''ashkir''' === Tarjumaad === * {{en}}: terracotta color, russet color, burnt sienna color * terracotta horse btm99kyl936izxljm63q3jo4wrq57ri qaaje 0 8765 25401 2023-10-18T10:11:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaaje''' === Tarjumaad === * {{en}}: pale * white horse 25401 wikitext text/x-wiki {{-so-}} == Magac == '''qaaje''' === Tarjumaad === * {{en}}: pale * white horse dlsrseb0m59nrt0il0bp0hl2d3rjooh casuus 0 8766 25405 2023-10-18T10:46:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''casuus''' === Tarjumaad === * {{en}}: violet, violet color 25405 wikitext text/x-wiki {{-so-}} == Magac == '''casuus''' === Tarjumaad === * {{en}}: violet, violet color 21n40x06cq9k9ndpy4bhml4j53f7nbo saxis 0 8767 25412 2023-10-18T13:19:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxis''' === Tarjumaad === * {{en}} correction 25412 wikitext text/x-wiki {{-so-}} == Magac == '''saxis''' === Tarjumaad === * {{en}} correction 8j26sb5xo19l3zdnrrmguh1of3hr0sm saxo 0 8768 25413 2023-10-18T13:19:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxo''' === Tarjumaad === * {{en}} correct 25413 wikitext text/x-wiki {{-so-}} == Magac == '''saxo''' === Tarjumaad === * {{en}} correct jbxahy4t0ud8x3lr7ubud4w0mn5dufh heetip 0 8769 26575 26274 2024-01-13T17:47:30Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[coodtabin]] 26575 wikitext text/x-wiki #REDIRECT [[coodtabin]] qtzzbvtltj50b7tpyoeevlkcm1w8j4u beecmushtar 0 8770 25416 2023-10-18T13:55:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beecmushtar''' === Tarjumaad === * {{en}} merchant 25416 wikitext text/x-wiki {{-so-}} == Magac == '''beecmushtar''' === Tarjumaad === * {{en}} merchant a2uloq8qr9vpxnqz65jwmqlggfa5fmw langarre 0 8771 25417 2023-10-18T13:56:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''langarre''' === Tarjumaad === * {{en}}: cripple, paralyzed ===Synonyms=== *[[jiis]] 25417 wikitext text/x-wiki {{-so-}} == Magac == '''langarre''' === Tarjumaad === * {{en}}: cripple, paralyzed ===Synonyms=== *[[jiis]] gykbjfexpb5ngy0zeyyk7vtjhi1byb1 dhutiiye 0 8772 25419 2023-10-18T13:58:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhutiiye''' === Tarjumaad === * {{en}}: cripple, 25419 wikitext text/x-wiki {{-so-}} == Magac == '''dhutiiye''' === Tarjumaad === * {{en}}: cripple, 0sjwmk0bob5rkrehbavkv2n5e5ymy51 casaan 0 8773 25450 25421 2023-10-19T03:23:04Z Girligaanshub 3150 25450 wikitext text/x-wiki {{-so-}} == Magac == '''casaan''' === Tarjumaad === * {{en}}: color scarlet, color vermillion, color crimson h7fichbc6xwbqlq2hty295m2h0fc87u hadh 0 8774 25559 25422 2023-10-24T13:57:54Z Girligaanshub 3150 25559 wikitext text/x-wiki {{-so-}} == Magac == '''hadh''' === Tarjumaad === * {{en}}: shade, shadow if64hz69c3bst6dhfckiwoki6242owy fulaan 0 8775 25423 2023-10-18T17:05:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fulaan''' === Tarjumaad === * {{en}}: whatever 25423 wikitext text/x-wiki {{-so-}} == Magac == '''fulaan''' === Tarjumaad === * {{en}}: whatever k643y3c5c5x8jppiu6q7q7dn5kgws4n rasiin 0 8776 25425 2023-10-18T18:18:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rasiin''' === Tarjumaad === * {{en}}: dark, dark color ===Synonyms=== *[[rasiin]], [[maari]] 25425 wikitext text/x-wiki {{-so-}} == Magac == '''rasiin''' === Tarjumaad === * {{en}}: dark, dark color ===Synonyms=== *[[rasiin]], [[maari]] pvjzoovphfbo18ju53l902ayvyssej7 zaytuuni 0 8777 25427 25426 2023-10-18T20:13:20Z Girligaanshub 3150 25427 wikitext text/x-wiki {{-so-}} == Magac == '''zaytuuni''' 64uisznj8yi2vie8uq7y886k7dx5cpy badhxan 0 8778 32827 30641 2024-12-02T11:01:21Z Girligaanshub 3150 32827 wikitext text/x-wiki {{-so-}} == Magac == '''badhxan''' === Tarjumaad === * {{en}}: medium, intermediate, average, median, middle, neutral, normie ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] 0djwlon1x6xhbgjomhrgko6q77rd87x danbari 0 8779 25430 2023-10-18T20:20:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danbari''' === Tarjumaad === * {{en}}: wheat color, beige, blonde, ===Synonyms=== *[[bood]], [[danbari]] 25430 wikitext text/x-wiki {{-so-}} == Magac == '''danbari''' === Tarjumaad === * {{en}}: wheat color, beige, blonde, ===Synonyms=== *[[bood]], [[danbari]] 99es301oz8ig77qh7x6tnpze39iivau boordoo 0 8780 25433 2023-10-18T20:42:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boordoo''' === Tarjumaad === * {{en}}: burgundy color, mahogany ===Synonyms=== *[[beer]], [[boordoo]] 25433 wikitext text/x-wiki {{-so-}} == Magac == '''boordoo''' === Tarjumaad === * {{en}}: burgundy color, mahogany ===Synonyms=== *[[beer]], [[boordoo]] 2fuxpoahrk58grvjexzc2afxv6lcg9m canab 0 8781 25434 2023-10-18T20:52:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''canab''' === Tarjumaad === * {{en}}: grape, grapes 25434 wikitext text/x-wiki {{-so-}} == Magac == '''canab''' === Tarjumaad === * {{en}}: grape, grapes dxismp2nht5ao60mbdia23c4qupwmoa fuqa 0 8782 31322 25435 2024-10-04T19:10:36Z Girligaanshub 3150 31322 wikitext text/x-wiki {{-so-}} == Magac == '''fuqa''' === Tarjumaad === * {{en}}: nozzle, muzzle, diffusor, flange, orifice, valve, sprinkler, injector ===Synonyms=== *[[fuqa]], [[caarad]] l8zykrgl6i9dvx2xlxdjg02gbydehx7 dam-dheh 0 8783 32548 32547 2024-11-19T00:30:35Z Girligaanshub 3150 32548 wikitext text/x-wiki {{-so-}} == Magac == '''dam-dheh''' === Tarjumaad === * {{en}}: massacre, destroy, eliminate, annihilate, exterminate, devastate, eradicate, neutralize, decimate, extinguish, demolish, ===Synonyms=== *[[dam-dheh]], [[ciribtir]], [[madho]] hlqmma7fg9tg3chl9gagff75h3oxaj1 baarran 0 8784 31433 25439 2024-10-09T13:59:50Z Girligaanshub 3150 31433 wikitext text/x-wiki {{-so-}} == Magac == '''baarran''' === Tarjumaad === * {{en}}: language, speech ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]], [[Barni]], [[baarran]] ai3zidxu2mmhz4vce5armlzhe38zv93 tiftif 0 8785 29217 25440 2024-07-30T23:54:52Z Girligaanshub 3150 29217 wikitext text/x-wiki {{-so-}} == Magac == '''tiftif''' === Tarjumaad === * {{en}}: spray, drop, drops p2midtfwfxmcl5yfh9qumz2vqx2u7v4 haro ama war biyo ku jiran 0 8786 25442 2023-10-18T22:51:17Z Girligaanshub 3150 Girligaanshub moved page [[haro ama war biyo ku jiran]] to [[haro]] 25442 wikitext text/x-wiki #REDIRECT [[haro]] rmg7vvdz3tl84hyei59eztvic3qsfmw raad 0 8787 26109 25444 2023-11-30T17:36:03Z Girligaanshub 3150 26109 wikitext text/x-wiki {{-so-}} == Magac == '''raad''' === Tarjumaad === * {{en}}: sole of feet * {{en}}: footprint, foot-print * {{en}}: footstep 1pqa1fv6cn9bhs4csky6yv1lrzo7pv1 aryee 0 8788 28283 27861 2024-06-14T14:45:46Z Girligaanshub 3150 28283 wikitext text/x-wiki {{-so-}} == Magac == '''aryee''' === Tarjumaad === * {{en}}: male friend ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] b7tz2dkdlb0ya2uiom0oe057k4ve7qx mahad 0 8789 25899 25849 2023-11-13T01:15:42Z Girligaanshub 3150 25899 wikitext text/x-wiki {{-so-}} == Magac == '''mahad''' === Tarjumaad === * {{en}}: thanks 4cojdelhszud2kftboz11fbj0hg1uwq cawar 0 8790 30830 30829 2024-09-19T02:35:16Z Girligaanshub 3150 30830 wikitext text/x-wiki {{-so-}} == Magac == '''cawar''' === Tarjumaad === * {{en}}: excruciating pain, agonizing, anguish * {{en}}: blemish, acne, freckle, freckles, pigment eopycz7rnu2lpvo6z4lm07bsm45mcos xaraab 0 8791 28059 25455 2024-06-08T22:44:19Z Girligaanshub 3150 28059 wikitext text/x-wiki {{-so-}} == Magac == '''xaraab''' === Tarjumaad === * {{en}}: , joke, jester ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] hxhjzowedh98lay47t8ahu41flvbx2k foorjo 0 8792 28060 25454 2024-06-08T22:44:37Z Girligaanshub 3150 28060 wikitext text/x-wiki {{-so-}} == Magac == '''foorjo''' === Tarjumaad === * {{en}}: deride, jeer, scorn, taunt, taunting, roast, disparagement, sneer, ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 4k9cg4rdx43bo6znu30xpj31ki62ne0 xukumad 0 8793 25456 2023-10-19T12:41:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xukumad''' === Tarjumaad === * {{en}}: administration, municipality 25456 wikitext text/x-wiki {{-so-}} == Magac == '''xukumad''' === Tarjumaad === * {{en}}: administration, municipality dq60mutcb7b04rpg4rl710txxltdcrg cayuun 0 8794 25458 2023-10-20T15:07:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cayuun''' === Tarjumaad === * {{en}}: short-legged camel species from Guban coast 25458 wikitext text/x-wiki {{-so-}} == Magac == '''cayuun''' === Tarjumaad === * {{en}}: short-legged camel species from Guban coast exarfdal5m8sw5wxb2vs7hvv6fejg9i jidh-jidh 0 8795 25459 2023-10-20T15:31:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jidh-jidh''' === Tarjumaad === * {{en}}: strafe, shell, blitz, machine gun, barrage, volley, burtst, cannonade, barrage, 25459 wikitext text/x-wiki {{-so-}} == Magac == '''jidh-jidh''' === Tarjumaad === * {{en}}: strafe, shell, blitz, machine gun, barrage, volley, burtst, cannonade, barrage, mtygzuahtyqdl4kbf05wwm8ghbuu9nj qanboosh 0 8797 25462 2023-10-20T15:48:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qanboosh''' === Tarjumaad === * {{en}}: poisonous fruit 25462 wikitext text/x-wiki {{-so-}} == Magac == '''qanboosh''' === Tarjumaad === * {{en}}: poisonous fruit pxh7g54we53bqcezalc2ichq29yex7h xagaa 0 8798 32226 25463 2024-11-04T00:19:54Z Girligaanshub 3150 32226 wikitext text/x-wiki {{-so-}} == Magac == '''xagaa''' === Tarjumaad === * {{en}}: summer; June to September season swslcjdnp3ib6203k9uxjapi2k876wt karan 0 8799 25464 2023-10-20T15:53:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karan''' === Tarjumaad === * {{en}}: rain between summer and fall 25464 wikitext text/x-wiki {{-so-}} == Magac == '''karan''' === Tarjumaad === * {{en}}: rain between summer and fall tstlq179day14ol46anir36i4fnr4ee daaf 0 8800 25468 2023-10-20T16:49:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daaf''' === Tarjumaad === * {{en}}: living room, decorated room 25468 wikitext text/x-wiki {{-so-}} == Magac == '''daaf''' === Tarjumaad === * {{en}}: living room, decorated room 038nhzrn8857jnv2wy4kp37rxodqtk6 tiig 0 8801 25469 2023-10-20T16:55:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiig''' === Tarjumaad === * {{en}}: far away place 25469 wikitext text/x-wiki {{-so-}} == Magac == '''tiig''' === Tarjumaad === * {{en}}: far away place 672wqv50f04h30cao85ubetrov2vudp dharkayn 0 8802 25470 2023-10-20T17:12:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dharkayn''' === Tarjumaad === * {{en}}: euphorbia tree 25470 wikitext text/x-wiki {{-so-}} == Magac == '''dharkayn''' === Tarjumaad === * {{en}}: euphorbia tree omhftxus2lbcpkslyxsk4rbbxm3zhsl nayti 0 8803 25472 2023-10-20T17:21:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nayti''' === Tarjumaad === * {{en}}: native, aboriginal, indigenous, domestic ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]] 25472 wikitext text/x-wiki {{-so-}} == Magac == '''nayti''' === Tarjumaad === * {{en}}: native, aboriginal, indigenous, domestic ===Synonyms=== *[[bidaa'i]], [[asaloow]], [[dhalad]], [[nayti]] bqfvxt43oz7diliqh131qk5nj3uj6qa gadhley 0 8804 25474 2023-10-20T17:35:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gadhley''' === Tarjumaad === * {{en}}: bearded one, whiskered, unshaved, unshaven, beardy 25474 wikitext text/x-wiki {{-so-}} == Magac == '''gadhley''' === Tarjumaad === * {{en}}: bearded one, whiskered, unshaved, unshaven, beardy 6biejrsonccjdd4kplbw35ba1zxdsw9 waa 0 8805 30478 30477 2024-09-04T06:30:24Z Girligaanshub 3150 Noqay bedelaadka [[Special:Diff/30477|30477]] ee sameeyay [[Special:Contributions/Girligaanshub|Girligaanshub]] ([[User talk:Girligaanshub|hadal]]) 30478 wikitext text/x-wiki {{-so-}} == Magac == '''waa''' === Tarjumaad === * {{en}}: dawn * {{en}} time * {{en}}: without, isolate, foregoing, foregone, * {{en}}: without, isolated * {{en}}: is, it is, its, * {{en}}: (assist word / affix) mzq1q56rpl96uory4yjuxqfeatjakjv garabyoweyne 0 8806 25476 2023-10-20T17:40:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garabyoweyne''' === Tarjumaad === * {{en}}: broad-shouldered, henched, hench, muscular, strong, buff, brawny, robust, sturdy, swole 25476 wikitext text/x-wiki {{-so-}} == Magac == '''garabyoweyne''' === Tarjumaad === * {{en}}: broad-shouldered, henched, hench, muscular, strong, buff, brawny, robust, sturdy, swole ados7nrd72sl0ktnjs0zu8ho3kse57n guri mugdi 0 8807 25478 2023-10-20T17:51:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guri mugdi''' === Tarjumaad === * {{en}}: derelict building, abandoned building 25478 wikitext text/x-wiki {{-so-}} == Magac == '''guri mugdi''' === Tarjumaad === * {{en}}: derelict building, abandoned building 31e8vkq3yxm869iq4srlacil9ebe8aq gogol 0 8808 25479 2023-10-20T17:52:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gogol''' === Tarjumaad === * {{en}}: mat 25479 wikitext text/x-wiki {{-so-}} == Magac == '''gogol''' === Tarjumaad === * {{en}}: mat psvrj5hrcx3rl49nhfx6z8z2ei1s76z ciyo 0 8809 27177 25480 2024-04-18T10:42:22Z Girligaanshub 3150 27177 wikitext text/x-wiki {{-so-}} == Magac == '''ciyo''' === Tarjumaad === * {{en}}: chirp, tweet, squawk, quack, shriek; hoot;crow; screech; coo; cluck; caw; whistle * {{en}}: immediate, instant, abrupt, sudden, swift, swiftly, immediately, gkt7hh3sswjx0vg0kba2cg4tqfrxtqr eeday 0 8810 25481 2023-10-20T18:20:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eeday''' === Tarjumaad === * {{en}}: blame 25481 wikitext text/x-wiki {{-so-}} == Magac == '''eeday''' === Tarjumaad === * {{en}}: blame lzp5mwb8c7vhsdkpl80r41uwe00dri5 hamille 0 8811 25483 2023-10-20T18:23:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hamille''' === Tarjumaad === * {{en}}: unchanging, static 25483 wikitext text/x-wiki {{-so-}} == Magac == '''hamille''' === Tarjumaad === * {{en}}: unchanging, static mo2yyn4f4nrqv0jbqpfdxfd0g2mizft maadheedh 0 8812 31661 25492 2024-10-19T21:33:28Z Girligaanshub 3150 31661 wikitext text/x-wiki {{-so-}} == Magac == '''maadeedh''' === Tarjumaad === * {{en}}: Boraginaceae plant shrub * {{en}}: Cordia dichotoma, fragrant manjack, clammy cherry, glue berry tree, indian cherry, fcdf7efq5z5cfcumedr9ixm5nqxivw1 jiriq 0 8813 25493 2023-10-20T19:13:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jiriq''' === Tarjumaad === * {{en}}: chirp, tweet, squawk, quack, shriek; hoot; crow; screech; coo; cluck; caw; whistle 25493 wikitext text/x-wiki {{-so-}} == Magac == '''jiriq''' === Tarjumaad === * {{en}}: chirp, tweet, squawk, quack, shriek; hoot; crow; screech; coo; cluck; caw; whistle 98juqktldykexs6l2meofnu8jrlg5vo maqsin 0 8814 25494 2023-10-20T19:26:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maqsin''' === Tarjumaad === * {{en}}: barn 25494 wikitext text/x-wiki {{-so-}} == Magac == '''maqsin''' === Tarjumaad === * {{en}}: barn gfzeojj0m68tdj3op3n4wej6d7xlgbd sarrifle 0 8815 25495 2023-10-20T19:42:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarrifle''' === Tarjumaad === * {{en}}: currency exchanger, 25495 wikitext text/x-wiki {{-so-}} == Magac == '''sarrifle''' === Tarjumaad === * {{en}}: currency exchanger, ts6lqg1zoeyrtjlgz86g3u5jun1y5gy dhayo 0 8816 29528 25496 2024-08-05T04:55:56Z Girligaanshub 3150 29528 wikitext text/x-wiki {{-so-}} == Magac == '''dhayo''' === Tarjumaad === * {{en}}: rub, grease, * {{en}}: heal 97lgt978vpij44do7rpcd3omajmxgkb calal 0 8817 25497 2023-10-20T20:11:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calal''' === Tarjumaad === * {{en}}: rag 25497 wikitext text/x-wiki {{-so-}} == Magac == '''calal''' === Tarjumaad === * {{en}}: rag 69xgnry30by9290nj4j7qvltl4dira3 gudin 0 8818 25499 2023-10-20T21:14:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gudin''' === Tarjumaad === * {{en}}: axe, hatchet, tomahawk, saw, 25499 wikitext text/x-wiki {{-so-}} == Magac == '''gudin''' === Tarjumaad === * {{en}}: axe, hatchet, tomahawk, saw, j8xrjob9gzx13nxk81cr1liu36dfidw waaqicyada 0 8819 32287 32285 2024-11-07T05:17:23Z Girligaanshub 3150 32287 wikitext text/x-wiki {{-so-}} == Magac == '''waaqicyada''' === Tarjumaad === * {{en}}: reality, actuality, real, realness, substantiality, substantial, exist, existing, fact, certain, certainty, genuine, reliable, 5jt6lzsky91ey7bud6w1zqyctape6lp goray 0 8820 25508 2023-10-21T11:55:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goray''' === Tarjumaad === * {{en}}: bouquet 25508 wikitext text/x-wiki {{-so-}} == Magac == '''goray''' === Tarjumaad === * {{en}}: bouquet pxhbthjc988t5degmdem31nloqctnrj buti 0 8821 30174 30170 2024-08-24T02:58:37Z Girligaanshub 3150 30174 wikitext text/x-wiki {{-so-}} == Magac == '''buti''' === Tarjumaad === * {{en}}: bear, monster ===la xidhiidha=== *[[oorso]], [[buti]], [[madaxkuti]] ourpu2p7w48i7ad2tu7d7o7xtguzn57 jaahur 0 8822 25999 25512 2023-11-19T15:43:12Z Girligaanshub 3150 25999 wikitext text/x-wiki {{-so-}} == Magac == '''jaahur''' === Tarjumaad === * {{en}}: populist, populist republican, crowds, crowd * {{en}}: community ===Synonyms=== *[[jaahur]], [[jamahiir]], [[jaamac]] g57cv4eo74v7n13pvdrzq9yyarcufz4 jeedale 0 8823 25513 2023-10-21T19:46:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jeedale''' === Tarjumaad === * {{en}}: telescope, binoculars 25513 wikitext text/x-wiki {{-so-}} == Magac == '''jeedale''' === Tarjumaad === * {{en}}: telescope, binoculars gvnthfuqpyzyygzl6j06colrftnt5at quduus 0 8824 25515 2023-10-22T13:38:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quduus''' === Tarjumaad === * {{en}}: hallowed, holy 25515 wikitext text/x-wiki {{-so-}} == Magac == '''quduus''' === Tarjumaad === * {{en}}: hallowed, holy 674cubomi3tzdfvlw5rr3fkgpdpu3ic jirrabaad 0 8825 31869 28013 2024-10-25T22:36:23Z Girligaanshub 3150 31869 wikitext text/x-wiki {{-so-}} == Magac == '''jirrabaad''' === Tarjumaad === * {{en}}: temptation, impulse, entitled, entitlement, tempt, tempted, urge ===Synonyms=== *[[jirrabaad]], [[hanqaar]] pwttzzh3w1djza2pgbxnscojaisxxf5 qoonsaar 0 8826 25522 2023-10-22T16:03:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoonsaar''' === Tarjumaad === * {{en}}: bowing person, 25522 wikitext text/x-wiki {{-so-}} == Magac == '''qoonsaar''' === Tarjumaad === * {{en}}: bowing person, 6z89054txnmxyy90syie4y0b51zeo2a badhyo 0 8827 25524 2023-10-23T11:27:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badhyo''' === Tarjumaad === * {{en}}: tail 25524 wikitext text/x-wiki {{-so-}} == Magac == '''badhyo''' === Tarjumaad === * {{en}}: tail m0os63gvqhm4id0jz6jkcvoz8bkp7kv apshay 0 8828 25551 25550 2023-10-23T18:29:56Z Girligaanshub 3150 25551 wikitext text/x-wiki {{-so-}} == Magac == '''apshay''' === Tarjumaad === * {{en}}: alderflies, dobsonflies, fishflies, alderfly, dobsonfly, fishfly si3a1nco9r411ww81bs66fvbxfdxvoc bullaalo 0 8829 25528 2023-10-23T12:35:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bullaalo''' === Tarjumaad === * {{en}}: spider web, cobweb, 25528 wikitext text/x-wiki {{-so-}} == Magac == '''bullaalo''' === Tarjumaad === * {{en}}: spider web, cobweb, p5006nfvb2807cbs2kajfc8v284r6zb dillaac 0 8830 25531 2023-10-23T12:55:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dillaac''' === Tarjumaad === * {{en}}: crack 25531 wikitext text/x-wiki {{-so-}} == Magac == '''dillaac''' === Tarjumaad === * {{en}}: crack rlmn3xqft3q3cne9mdx6isafi21kgt1 hololiye 0 8831 25532 2023-10-23T12:56:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hololiye''' === Tarjumaad === * {{en}}: cradle 25532 wikitext text/x-wiki {{-so-}} == Magac == '''hololiye''' === Tarjumaad === * {{en}}: cradle nvb72cukhf81ixuhyuvtsmpmn7yi79x galoof 0 8832 25533 2023-10-23T12:57:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galoof''' === Tarjumaad === * {{en}}: impotent 25533 wikitext text/x-wiki {{-so-}} == Magac == '''galoof''' === Tarjumaad === * {{en}}: impotent o6jw5ayd68zp1edm6a2prl2lx0jtzvd godgod 0 8833 25534 2023-10-23T13:51:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''godgod''' === Tarjumaad === * {{en}}: wrinkle 25534 wikitext text/x-wiki {{-so-}} == Magac == '''godgod''' === Tarjumaad === * {{en}}: wrinkle 303yv6bx056memxjlbr92loxx42c3ni hal 0 8834 25535 2023-10-23T15:44:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hal''' === Tarjumaad === * {{en}}: femal camel 25535 wikitext text/x-wiki {{-so-}} == Magac == '''hal''' === Tarjumaad === * {{en}}: femal camel 1xhij2m3gx3ufhg4pmhfk6wtc04tltb xanaanada 0 8835 31775 31764 2024-10-25T20:38:10Z Girligaanshub 3150 31775 wikitext text/x-wiki {{-so-}} == Magac == '''xanaanada''' === Tarjumaad === * {{en}}: kindness ===Synonyms=== *[[xannaan]], [[qoolley]], [[xanaanada]], [[qalbi xabxab]], [[arxan]], [[kaalmo]], [[turaal]], [[beer-jilicsan]] 5ytv2xwc6c6j1fkj8br49t4qtmxfz1m faanto 0 8836 25538 2023-10-23T16:42:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faanto''' === Tarjumaad === * {{en}}: horse dung, cow dung 25538 wikitext text/x-wiki {{-so-}} == Magac == '''faanto''' === Tarjumaad === * {{en}}: horse dung, cow dung 8xcrfshbgeyozij7tczxbfhzjv7jcwx bashim 0 8837 25539 2023-10-23T16:48:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bashim''' === Tarjumaad === * {{en}}: tiger, big cat, panther, panthera, 25539 wikitext text/x-wiki {{-so-}} == Magac == '''bashim''' === Tarjumaad === * {{en}}: tiger, big cat, panther, panthera, 15i1xue367kih1it2029gabvs6j5ssy kabsar 0 8838 25540 2023-10-23T17:00:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabsar''' === Tarjumaad === * {{en}}: parsley 25540 wikitext text/x-wiki {{-so-}} == Magac == '''kabsar''' === Tarjumaad === * {{en}}: parsley 5owgg0xqpjncynu8qxg8zbtqkwnrqpf tabadiin 0 8839 25541 2023-10-23T17:20:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabadiin''' === Tarjumaad === * {{en}}: tuna 25541 wikitext text/x-wiki {{-so-}} == Magac == '''tabadiin''' === Tarjumaad === * {{en}}: tuna ttu7ji1t5l1i3i5gq5xbt1mt1b6vdnf yey 0 8840 25543 2023-10-23T17:23:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yey''' === Tarjumaad === * {{en}}: wolf 25543 wikitext text/x-wiki {{-so-}} == Magac == '''yey''' === Tarjumaad === * {{en}}: wolf 3y74rg28c3xhnf8sl85k7k82xdx341o nibiri 0 8841 25544 2023-10-23T17:32:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nibiri''' === Tarjumaad === * {{en}}: whale 25544 wikitext text/x-wiki {{-so-}} == Magac == '''nibiri''' === Tarjumaad === * {{en}}: whale qr4ij3qrz92fmh7rx7o2vv8elbnhbwx nirig 0 8842 25545 2023-10-23T17:33:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nirig''' === Tarjumaad === * {{en}}: young female camel 25545 wikitext text/x-wiki {{-so-}} == Magac == '''nirig''' === Tarjumaad === * {{en}}: young female camel d1v88tiaqffq3z0pyq0m56vrboh21dx kurbac 0 8843 25546 2023-10-23T17:34:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kurbac''' === Tarjumaad === * {{en}}: young male camel 25546 wikitext text/x-wiki {{-so-}} == Magac == '''kurbac''' === Tarjumaad === * {{en}}: young male camel ncjyx7ieyewp2uj3hfb9e190ucv6k5w dhiqle 0 8844 25547 2023-10-23T18:17:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiqle''' === Tarjumaad === * {{en}}: bed bug, midge 25547 wikitext text/x-wiki {{-so-}} == Magac == '''dhiqle''' === Tarjumaad === * {{en}}: bed bug, midge quf32sc1qhi5hr04sgtt98d17ynr0o0 aboor 0 8845 29518 25548 2024-08-05T02:27:05Z Girligaanshub 3150 29518 wikitext text/x-wiki {{-so-}} == Magac == '''aboor''' === Tarjumaad === * {{en}}: termite * {{en}}: moth insect o0hqgurdij3ig1c3i55umtptd8zu2zq dafuufi 0 8846 26626 25549 2024-01-26T22:44:54Z Girligaanshub 3150 26626 wikitext text/x-wiki {{-so-}} == Magac == '''dafuufi''' === Tarjumaad === * {{en}}: bombardier beetle, stink bug mpi6id08vcry6wlisfx528nt2alctda falaar 0 8847 25552 2023-10-23T18:46:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''falaar''' === Tarjumaad === * {{en}}: arrow, dart 25552 wikitext text/x-wiki {{-so-}} == Magac == '''falaar''' === Tarjumaad === * {{en}}: arrow, dart avsb93tylzshoifcohb968s5svwu9vo gaadiye 0 8848 25555 2023-10-23T20:08:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaadiye''' === Tarjumaad === * {{en}}: ambusher, lurer, ensnarer, entrapper, waylayer, pouncer, surpriser, 25555 wikitext text/x-wiki {{-so-}} == Magac == '''gaadiye''' === Tarjumaad === * {{en}}: ambusher, lurer, ensnarer, entrapper, waylayer, pouncer, surpriser, jf4glrvmammmbpw2mvyoye36mn4m6aj hordhac 0 8849 25556 2023-10-23T20:45:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hordhac''' === Tarjumaad === * {{en}}: preview, precursor, forerunner, forerunning, harbinger, predecessor, preceding, preliminary, prelude, preamble, 25556 wikitext text/x-wiki {{-so-}} == Magac == '''hordhac''' === Tarjumaad === * {{en}}: preview, precursor, forerunner, forerunning, harbinger, predecessor, preceding, preliminary, prelude, preamble, 2y63hx8mdf6xqtzxgmipv98ff0l5lu0 damaashaad 0 8850 28064 27782 2024-06-08T22:45:44Z Girligaanshub 3150 28064 wikitext text/x-wiki {{-so-}} == Magac == '''damaashaad''' === Tarjumaad === * {{en}}: festive, festival, carnival, feast, party, partying, celebration, celebrate, ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 4ntthw1ykxlx60ftua5i8pb77246ls0 bakoorad 0 8851 25558 2023-10-24T13:24:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakoorad''' === Tarjumaad === * {{en}}: walking stick 25558 wikitext text/x-wiki {{-so-}} == Magac == '''bakoorad''' === Tarjumaad === * {{en}}: walking stick t6oh1nlqn53m9apz3umjxg3597pm2f9 khepesh 0 8852 25560 2023-10-24T13:59:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khepesh''' ===Etymology=== Egyptian === Tarjumaad === * {{en}}: sword, knife 25560 wikitext text/x-wiki {{-so-}} == Magac == '''khepesh''' ===Etymology=== Egyptian === Tarjumaad === * {{en}}: sword, knife szjbtwwy0dgqasufic8x53o9goosyoz meshu 0 8853 25561 2023-10-24T13:59:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meshu''' ===Etymology=== Egyptian === Tarjumaad === * {{en}}: sword, knife 25561 wikitext text/x-wiki {{-so-}} == Magac == '''meshu''' ===Etymology=== Egyptian === Tarjumaad === * {{en}}: sword, knife f31mswofl3390ukl5bjbr0k1hy5g0cm afeeyada 0 8854 25791 25568 2023-11-06T23:12:07Z Girligaanshub 3150 25791 wikitext text/x-wiki {{-so-}} == Magac == '''afeeyada''' === Tarjumaad === * {{en}}: tip or point of a knife ===Synonyms=== *[[afeeyada]], [[dahnad]] 2esifrv5i2u7ebu3vjhfva5pkpdu1w9 suge 0 8855 30374 25570 2024-08-30T21:12:03Z Girligaanshub 3150 30374 wikitext text/x-wiki {{-so-}} == Magac == '''suge''' === Tarjumaad === * {{en}}: queuer, waiting person, person on standby, shortlister * {{en}}: checker j6qrukb6xtbi4d149159a9l5o6ibrx8 qaybgale 0 8856 25571 2023-10-25T19:12:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaybgale''' === Tarjumaad === * {{en}}: participant 25571 wikitext text/x-wiki {{-so-}} == Magac == '''qaybgale''' === Tarjumaad === * {{en}}: participant 4myatgotmigz5ds68803pnzm1quecrx keeb 0 8857 25572 2023-10-25T23:32:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keeb''' === Tarjumaad === * {{en}}: trigger, lever 25572 wikitext text/x-wiki {{-so-}} == Magac == '''keeb''' === Tarjumaad === * {{en}}: trigger, lever 2v982ns1jb8vtivizch1pmmjyh82pcu tabcid 0 8858 31281 29436 2024-10-04T16:40:02Z Girligaanshub 3150 31281 wikitext text/x-wiki {{-so-}} == Magac == '''tabcid''' === Tarjumaad === * {{en}}: foster, enrich, cultivate, nurture, strengthen, promote ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] 2imypfnjugx8kr6nug2u9ixo4n3ahks hodmin 0 8859 25576 25575 2023-10-26T10:31:09Z Girligaanshub 3150 25576 wikitext text/x-wiki {{-so-}} == Magac == '''hodmin''' === Tarjumaad === * {{en}}: enrichment, enrich 6k9zz6y04pj0l1jtwq4s0q7acvv3nbf ababin 0 8860 31810 25578 2024-10-25T21:22:47Z Girligaanshub 3150 31810 wikitext text/x-wiki {{-so-}} == Magac == '''ababin''' === Tarjumaad === * {{en}}: care, nurture ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]] ctzhb7yvbdc9qfujjyxer3dyjhjfsdo karaarid 0 8861 29413 25579 2024-08-03T17:00:18Z Girligaanshub 3150 29413 wikitext text/x-wiki {{-so-}} == Magac == '''karaarid''' === Tarjumaad === * {{en}}: instill, inculcate, inculcation, implant, ingrain, ===Synonyms=== *[[beero]], [[karaarid]], [[gundhig]], [[naq]], htlfw9x7nmpfhww6xcr5xuf3yn3s8id aayakatalinta 0 8862 32045 31272 2024-10-27T23:16:02Z Girligaanshub 3150 32045 wikitext text/x-wiki {{-so-}} == Magac == '''aayakatalinta''' === Tarjumaad === * {{en}}: self-determination, volition, initiative ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] 3fqqnwfyzuvuekyr49evf4q2pg0cpmq idingeli 0 8863 30387 25581 2024-08-31T16:12:52Z Girligaanshub 3150 30387 wikitext text/x-wiki {{-so-}} == Magac == '''idingeli''' === Tarjumaad === * {{en}}: make graceful * {{en}}: exorcise, exorcism, guxnkq607zhhvrbpeh7f03r2httt7x2 ilameereyso 0 8864 25582 2023-10-26T10:54:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''idingeli''' === Tarjumaad === * {{en}}: circumlocution, time wasting, procrastination, procrastinate 25582 wikitext text/x-wiki {{-so-}} == Magac == '''idingeli''' === Tarjumaad === * {{en}}: circumlocution, time wasting, procrastination, procrastinate rjiglbf13v2sqchlubuojzrsr5i0kng gurrac 0 8865 25584 2023-10-26T10:56:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurrac''' === Tarjumaad === * {{en}}: atrocity 25584 wikitext text/x-wiki {{-so-}} == Magac == '''gurrac''' === Tarjumaad === * {{en}}: atrocity 74zzmivwo9992q1x9z4wr53bvvy554i la-loodin 0 8866 32434 31931 2024-11-15T07:14:37Z Girligaanshub 3150 32434 wikitext text/x-wiki {{-so-}} == Magac == '''la-loodin''' === Tarjumaad === * {{en}}: relentless ===Synonyms=== *[[firfircoon]], [[tamar]], [[mintid]], [[doorbidka]], [[la-loodin]] 9m6sg9zbgo7flbxhbewaq588rzj9egk taagan 0 8867 31964 31929 2024-10-26T00:26:42Z Girligaanshub 3150 31964 wikitext text/x-wiki {{-so-}} == Magac == '''ku-taagan''' === Tarjumaad === * {{en}}:(ku taagan) resolute * {{en}}: standing, * {{en}}: representing * {{en}}: monolith, obelisk, sculpture, monument 2lcynapg7ymb9l4s9z1385omwede68a mintid 0 8868 32433 31930 2024-11-15T07:14:19Z Girligaanshub 3150 32433 wikitext text/x-wiki {{-so-}} == Magac == '''mintid''' === Tarjumaad === * {{en}}: indefatigable, untiring, unweary, unwearying, unshakeable, tenacious, tireless, unremitting, relentless, persistent, ===Synonyms=== *[[firfircoon]], [[tamar]], [[mintid]], [[doorbidka]], [[la-loodin]] 7pxzo9z3atd6ro2za9v9jojywe1rbff macangag 0 8869 32175 32174 2024-10-31T18:38:40Z Girligaanshub 3150 32175 wikitext text/x-wiki {{-so-}} == Magac == '''macangag''' === Tarjumaad === * {{en}}: obstinate, stubborn, intransigent, implacable, uncompromising, hardheaded, obstinate, bold, reckless, bully, bullying, reckless ===Synonyms=== *[[maro-ku-dheg]], [[taagan]], [[macangag]], [[caniid]], [[miigan]], [[afdheer]] j2fayyad46cf787879un7tmulr3g00k majixinjixe 0 8870 31903 31896 2024-10-25T23:12:39Z Girligaanshub 3150 31903 wikitext text/x-wiki {{-so-}} == Magac == '''majixinjixe''' === Tarjumaad === * {{en}}: ruthless ===Synonyms=== *[[arxandarro]], [[majixinjixe]], [[waxshi]], [[arxanlaawe]] 9ultbaodzl7ezl1z1h1j0dc9g5wlsoi il-adag 0 8871 31928 25602 2024-10-25T23:29:55Z Girligaanshub 3150 31928 wikitext text/x-wiki {{-so-}} == Magac == '''il-adag''' === Tarjumaad === * {{en}}: audacious ===Synonyms=== *[[il-adag]], [[daneyste]], [[hami leh]] an9x7dlbiql094m5ip3o1o74hoo7akd majeeste 0 8872 25606 2023-10-26T11:46:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majeeste''' === Tarjumaad === * {{en}}: ruthless 25606 wikitext text/x-wiki {{-so-}} == Magac == '''majeeste''' === Tarjumaad === * {{en}}: ruthless fc04qt2vle4fgmoa46drq4029xcg4ht dhayalsi 0 8873 31726 30790 2024-10-21T03:40:34Z Girligaanshub 3150 31726 wikitext text/x-wiki {{-so-}} == Magac == '''dhayalsi''' === Tarjumaad === * {{en}}: belittle, belittlement, understate, understatement, ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] i51hm8i2pcih2lomey3ay9bexz1q36t quursasho 0 8874 31727 30791 2024-10-21T03:40:47Z Girligaanshub 3150 31727 wikitext text/x-wiki {{-so-}} == Magac == '''dhayalsi''' === Tarjumaad === * {{en}}: belittle, belittlement, devalue, degrade, belittle, disparage ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] 3kqaawhlolydwo7mnp0cfqd5gzetfjf arar 0 8875 26136 25856 2023-12-01T03:31:07Z Girligaanshub 3150 26136 wikitext text/x-wiki {{-so-}} == Magac == '''arar''' === Tarjumaad === * {{en}}: preface, * en: panel, * en: square, rectangle, dashboard, board, mural ===Synonyms=== *[[bileed]], [[arar]] dnv7qndlqzvdp1gtzgi1duc2399yiem irrid 0 8876 25611 2023-10-26T22:40:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''irrid''' === Tarjumaad === * {{en}}: door, 25611 wikitext text/x-wiki {{-so-}} == Magac == '''irrid''' === Tarjumaad === * {{en}}: door, esgow1vrkt757nn7fups5vfbrp934mk sac 0 8877 29899 25612 2024-08-14T01:28:58Z Girligaanshub 3150 29899 wikitext text/x-wiki {{-so-}} == Magac == '''sac''' === Tarjumaad === * {{en}}: cow, * {{en}}: meat j04ufkcpkmtuzt3s602pl3ei95js0zt caato 0 8878 25613 2023-10-26T22:59:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caato''' === Tarjumaad === * {{en}}: thin, 25613 wikitext text/x-wiki {{-so-}} == Magac == '''caato''' === Tarjumaad === * {{en}}: thin, 0u1hi8rmyqxatoukcetuf7wfjhnhu7z shanlo 0 8879 25615 2023-10-26T23:58:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shanlo''' === Tarjumaad === * {{en}}: comb 25615 wikitext text/x-wiki {{-so-}} == Magac == '''shanlo''' === Tarjumaad === * {{en}}: comb 6bqzt2qeggzv3ukcye20n25xh53ibq3 maayo 0 8880 25616 2023-10-27T00:22:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maayo''' === Tarjumaad === * {{en}}: water 25616 wikitext text/x-wiki {{-so-}} == Magac == '''maayo''' === Tarjumaad === * {{en}}: water q7eat9zjh5i1s5rts8wm3juo2wozfzq cashir 0 8881 26721 26530 2024-02-08T18:13:30Z Girligaanshub 3150 26721 wikitext text/x-wiki {{-so-}} == Magac == '''cashir''' === Tarjumaad === * {{en}}: lesson, reckoning, realisation, epiphany, enlightenment, insight, discovery * {{en}}: lizard s83mv8shr1ja6ntrsx1x34t6wjfcl1a biito 0 8882 25623 25622 2023-10-30T19:54:29Z Girligaanshub 3150 25623 wikitext text/x-wiki {{-so-}} == Magac == '''biito''' === Tarjumaad === * {{en}}: fibula, tibia d82mupihbpmp9t2c8ilq4l1y63b2st8 koyto 0 8883 30798 30187 2024-09-17T18:57:04Z Girligaanshub 3150 30798 wikitext text/x-wiki {{-so-}} == Magac == '''koyto''' === Tarjumaad === * {{en}}: foreigners, immigrants ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] 4whf7s84mam142rtnsoo2mul0qc8ey3 bugux 0 8884 25625 2023-10-31T00:47:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bugux''' === Tarjumaad === * {{en}}: sunrise 25625 wikitext text/x-wiki {{-so-}} == Magac == '''bugux''' === Tarjumaad === * {{en}}: sunrise jk698tmwuskjwcz7vtp1t5nv2ror0cp candho 0 8885 25627 2023-10-31T00:50:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''candho''' === Tarjumaad === * {{en}}: udder, adipose tissue, blubber, cellulite, 25627 wikitext text/x-wiki {{-so-}} == Magac == '''candho''' === Tarjumaad === * {{en}}: udder, adipose tissue, blubber, cellulite, ll857qjne2s7tqmqqun30nblemetmh8 bogdoox 0 8886 25628 2023-10-31T00:51:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bogdoox''' === Tarjumaad === * {{en}}: c section birth 25628 wikitext text/x-wiki {{-so-}} == Magac == '''bogdoox''' === Tarjumaad === * {{en}}: c section birth eazd6v95mvv9nsjro9d2zszzr8y13ci hagid 0 8887 25630 2023-10-31T00:58:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagid''' === Tarjumaad === * {{en}}: guide 25630 wikitext text/x-wiki {{-so-}} == Magac == '''hagid''' === Tarjumaad === * {{en}}: guide 505n6mlq6shch3gb8cu8awczmt16z54 togan 0 8888 25631 2023-10-31T01:26:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''togan''' === Tarjumaad === * {{en}}: positive 25631 wikitext text/x-wiki {{-so-}} == Magac == '''togan''' === Tarjumaad === * {{en}}: positive 2ee74218k70jyrjyy6sszr9fzp2eoq3 arbe 0 8889 31207 31172 2024-10-04T14:28:19Z Girligaanshub 3150 31207 wikitext text/x-wiki {{-so-}} == Magac == '''arbe''' === Tarjumaad === * {{en}}: male elephant, elephant in musth * {{en}}: musth * {{en}}: hero ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] sdgoa7n109l290jt2eci3tdn4gzftkf cariiqsad 0 8890 29183 29131 2024-07-30T22:18:29Z Girligaanshub 3150 29183 wikitext text/x-wiki {{-so-}} == Magac == '''cariiqsad''' === Tarjumaad === * {{en}}: provoke, provocation ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] iyh6ozrnnubssel0t80r5u59mllo75y ergo 0 8891 25637 2023-10-31T01:36:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ergo''' === Tarjumaad === * {{en}}: ambassador, diplomat, consul ===Synonyms=== *[[ergo]], [[danjire]] 25637 wikitext text/x-wiki {{-so-}} == Magac == '''ergo''' === Tarjumaad === * {{en}}: ambassador, diplomat, consul ===Synonyms=== *[[ergo]], [[danjire]] fe45wtsrsnmwajecue26coknoe2nl0c jexeer 0 8892 25638 2023-10-31T01:40:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jexeer''' === Tarjumaad === * {{en}}: neoteny, pedomorphism, neanimorphic, agerasia, permayouth, peter pan syndrome, kidult, Puer aeternus 25638 wikitext text/x-wiki {{-so-}} == Magac == '''jexeer''' === Tarjumaad === * {{en}}: neoteny, pedomorphism, neanimorphic, agerasia, permayouth, peter pan syndrome, kidult, Puer aeternus l71rbd4fewyux1o6armnmfya2fqfmyf safmar 0 8893 25639 2023-10-31T01:41:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''safmar''' === Tarjumaad === * {{en}}: epidemic, 25639 wikitext text/x-wiki {{-so-}} == Magac == '''safmar''' === Tarjumaad === * {{en}}: epidemic, mb03k8duuqowpisfuco245hhjwxyih4 eedbax 0 8894 25640 2023-10-31T01:42:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eedbax''' === Tarjumaad === * {{en}}: settlement, 25640 wikitext text/x-wiki {{-so-}} == Magac == '''eedbax''' === Tarjumaad === * {{en}}: settlement, 17uschrd0k176t3l0izqupbj3c6w359 eraleyda 0 8895 27606 25662 2024-05-22T10:34:49Z Girligaanshub 3150 27606 wikitext text/x-wiki {{-so-}} == Magac == '''eraley''' === Tarjumaad === * {{en}}: hysteria, anxiety ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]] jy6zwgww2w413ce42ksgboo0mwexu7n eraley 0 8896 25645 2023-10-31T01:49:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eraley''' === Tarjumaad === * {{en}}: anxious person, hysterical person 25645 wikitext text/x-wiki {{-so-}} == Magac == '''eraley''' === Tarjumaad === * {{en}}: anxious person, hysterical person k0qu0z07xn7aaltdv8pi1gadasktmcf digasho 0 8897 25646 2023-10-31T12:52:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''digasho''' === Tarjumaad === * {{en}}: gloating, gloat 25646 wikitext text/x-wiki {{-so-}} == Magac == '''digasho''' === Tarjumaad === * {{en}}: gloating, gloat 0o1rc6ipni435i6tmhozjv3yhvdarsp jeesjees 0 8898 25647 2023-10-31T12:52:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jeesjees''' === Tarjumaad === * {{en}}: mockery, mock 25647 wikitext text/x-wiki {{-so-}} == Magac == '''jeesjees''' === Tarjumaad === * {{en}}: mockery, mock i09uujlqm0gci3ryugozn6jozcqvvof haybsooc 0 8899 25648 2023-10-31T12:53:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haybsooc''' === Tarjumaad === * {{en}}: prejudice, discrimination 25648 wikitext text/x-wiki {{-so-}} == Magac == '''haybsooc''' === Tarjumaad === * {{en}}: prejudice, discrimination 9xzzi51bmrbrb5kzp4omvpc78ajwdji takoor 0 8900 32236 32235 2024-11-04T02:58:01Z Girligaanshub 3150 32236 wikitext text/x-wiki {{-so-}} == Magac == '''takoor''' === Tarjumaad === * {{en}}: prejudice, discrimination, racism ===Synonyms=== *[[silcin]], [[haybsooc]], [[takoor]], [[dulmi]] 30kz6mdysve2hje08jf7waayliunthi suuro 0 8901 28411 28399 2024-06-15T16:49:30Z Girligaanshub 3150 28411 wikitext text/x-wiki {{-so-}} == Magac == '''suuro''' === Tarjumaad === * {{en}}: hubris, arrogance, megalomania ===Synonyms=== *(sura 8 : 47) [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']], [[istuska]] sjeo20owc99vrduwyyymkhoxftf03wj saab 0 8902 27735 25986 2024-05-27T01:22:51Z Girligaanshub 3150 27735 wikitext text/x-wiki {{-so-}} == Magac == '''saab''' === Tarjumaad === * {{en}}: framework * {{en}}: basket, receptacle, container, holder, vessel, box, case, wickerwork box, hamper, creel, pannier, punnet, trug * {{en}}: wise brn0zoxd5f8cc603mi1b620my31uelm tab 0 8903 26551 26550 2024-01-10T10:33:37Z Girligaanshub 3150 26551 wikitext text/x-wiki {{-so-}} == Magac == '''tab''' === Tarjumaad === * {{en}}: heading, strategy ksu3p3xws9vyxlm9gemeurprpwzog7u bartilmaameed 0 8904 25655 2023-10-31T13:04:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bartilmaameed''' === Tarjumaad === * {{en}}: milestone 25655 wikitext text/x-wiki {{-so-}} == Magac == '''bartilmaameed''' === Tarjumaad === * {{en}}: milestone lojlk0oqntehstc7s8h04tf2j3liau6 bareero 0 8905 32418 32416 2024-11-14T06:28:20Z Girligaanshub 3150 32418 wikitext text/x-wiki {{-so-}} == Magac == '''bareero''' === Tarjumaad === * {{en}}: be intentional (something bad), double down * {{en}}: be comitted, take initiative, make deliberate, be assertive, on purpose, be frank, be direct, be blunt, be straightforward, be candid, have audacity ===Synonyms=== ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] fbzyq6xbv0n8rr2g2f1b8lkxwhs9qea hambur 0 8906 25658 2023-10-31T13:27:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hambur''' === Tarjumaad === * {{en}}: blister 25658 wikitext text/x-wiki {{-so-}} == Magac == '''hambur''' === Tarjumaad === * {{en}}: blister lgvjek7o9vl3uy5gx9ssoco6a9t2h2r walbahaar 0 8907 25665 2023-10-31T13:31:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walbahaar''' === Tarjumaad === * {{en}}: stress 25665 wikitext text/x-wiki {{-so-}} == Magac == '''walbahaar''' === Tarjumaad === * {{en}}: stress t62cjc3fcu44eehu4jwn6rm9g8a8iah dhiigkar 0 8908 32596 32150 2024-11-25T02:16:55Z Girligaanshub 3150 32596 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigkar''' === Tarjumaad === * {{en}}: blood pressure * {{en}}: hypertension, thrilling, thriller, drama, * {{en}}: tension, suspense ===Synonyms=== *[[argagax]], [[dhiigkar]] ggzsjd9lxjyd21n3iesuivnb5bqeyhf faalig 0 8909 25667 2023-10-31T13:33:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faalig''' === Tarjumaad === * {{en}}: stroke 25667 wikitext text/x-wiki {{-so-}} == Magac == '''faalig''' === Tarjumaad === * {{en}}: stroke 37x094r9eg7ardnt4qs9ukbxi6it3bn cagaarshow 0 8910 25668 2023-10-31T13:34:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cagaarshow''' === Tarjumaad === * {{en}}: jaundice 25668 wikitext text/x-wiki {{-so-}} == Magac == '''cagaarshow''' === Tarjumaad === * {{en}}: jaundice iowmin4nvwibx82dodcvb8d9hi37m1f qandho 0 8911 25669 2023-10-31T13:34:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qandho''' === Tarjumaad === * {{en}}: fever 25669 wikitext text/x-wiki {{-so-}} == Magac == '''qandho''' === Tarjumaad === * {{en}}: fever b75i02u4f444s6yypmwlmwh6okncgsy juudaan 0 8912 25670 2023-10-31T13:35:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''juudaan''' === Tarjumaad === * {{en}}: leprosy 25670 wikitext text/x-wiki {{-so-}} == Magac == '''juudaan''' === Tarjumaad === * {{en}}: leprosy 8dbmy5i9g97pz19tz9wxu74phoxq9rm bacool 0 8913 25671 2023-10-31T13:36:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacool''' === Tarjumaad === * {{en}}: blister 25671 wikitext text/x-wiki {{-so-}} == Magac == '''bacool''' === Tarjumaad === * {{en}}: blister jzgrmtvvemc3czsy43sy1iokaean31l oofwareen 0 8914 25672 2023-10-31T13:38:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oofwareen''' === Tarjumaad === * {{en}}: pneumonia 25672 wikitext text/x-wiki {{-so-}} == Magac == '''oofwareen''' === Tarjumaad === * {{en}}: pneumonia 60aovuugj5d5nmgex3q0mantwq7tgak jadeeco 0 8915 25673 2023-10-31T13:48:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jadeeco''' === Tarjumaad === * {{en}}: measles 25673 wikitext text/x-wiki {{-so-}} == Magac == '''jadeeco''' === Tarjumaad === * {{en}}: measles 9ysjpguc1fscjodhalg4bztjgwcom35 xiiqdheer 0 8916 25674 2023-10-31T13:49:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiiqdheer''' === Tarjumaad === * {{en}}: whooping cough 25674 wikitext text/x-wiki {{-so-}} == Magac == '''xiiqdheer''' === Tarjumaad === * {{en}}: whooping cough 73nnkc0ox85tysr4b2ieic0sd5ehnak waraabow 0 8917 25675 2023-10-31T13:49:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walaraabow''' === Tarjumaad === * {{en}}: syphilis 25675 wikitext text/x-wiki {{-so-}} == Magac == '''walaraabow''' === Tarjumaad === * {{en}}: syphilis n1u2i21wyfs8l3efgg1s0zva2agu74d goonjab 0 8918 25676 2023-10-31T13:50:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goonjab''' === Tarjumaad === * {{en}}: migraine 25676 wikitext text/x-wiki {{-so-}} == Magac == '''goonjab''' === Tarjumaad === * {{en}}: migraine abfu413ninh8bdv700c4cnp6hkprhdi jabto 0 8919 25677 2023-10-31T13:50:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jabto''' === Tarjumaad === * {{en}}: gonnorrhoea 25677 wikitext text/x-wiki {{-so-}} == Magac == '''jabto''' === Tarjumaad === * {{en}}: gonnorrhoea gykigwts13jqp34nztu9pr56as6niur labamiirre 0 8920 25678 2023-10-31T13:51:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''labamiirre''' === Tarjumaad === * {{en}}: bipolar 25678 wikitext text/x-wiki {{-so-}} == Magac == '''labamiirre''' === Tarjumaad === * {{en}}: bipolar 5sbqbqk4i1b5ey8jhalhu6olhpnbwye murgacasho 0 8921 25679 2023-10-31T13:52:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murgacasho''' === Tarjumaad === * {{en}}: sprain 25679 wikitext text/x-wiki {{-so-}} == Magac == '''murgacasho''' === Tarjumaad === * {{en}}: sprain j6xdz5l962iy0kw9wocdhsp77gitfyi garqaadis 0 8922 25682 2023-10-31T13:56:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garqaadis''' === Tarjumaad === * {{en}}: arbitration 25682 wikitext text/x-wiki {{-so-}} == Magac == '''garqaadis''' === Tarjumaad === * {{en}}: arbitration ehsb3184e4zyxvv61tph4aatw67gcm0 maragfur 0 8923 25683 2023-10-31T13:56:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maragfur''' === Tarjumaad === * {{en}}: testimony 25683 wikitext text/x-wiki {{-so-}} == Magac == '''maragfur''' === Tarjumaad === * {{en}}: testimony qd827pixazjzjanud4eoxhqzii1j8p3 taahid 0 8924 25685 2023-10-31T13:58:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''walaac''' === Tarjumaad === * {{en}}: groan 25685 wikitext text/x-wiki {{-so-}} == Magac == '''walaac''' === Tarjumaad === * {{en}}: groan 49gkefpnlj4nn5ore12ewz6lf68yq5n gunuunuc 0 8925 25687 2023-10-31T13:59:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gunuunuc''' === Tarjumaad === * {{en}}: murmur 25687 wikitext text/x-wiki {{-so-}} == Magac == '''gunuunuc''' === Tarjumaad === * {{en}}: murmur fxohszlal4gjx4f7ubc4g7gqwnh3gvt mareeye 0 8926 28198 25689 2024-06-12T19:59:35Z Girligaanshub 3150 28198 wikitext text/x-wiki {{-so-}} == Magac == '''mareeye''' === Tarjumaad === * {{en}}: manager ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]] k4u6xugub4hjiqoud2a1izafaeitbav qabanqaabiye 0 8927 25690 2023-10-31T14:46:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabanqaabiye''' === Tarjumaad === * {{en}}: organiser 25690 wikitext text/x-wiki {{-so-}} == Magac == '''qabanqaabiye''' === Tarjumaad === * {{en}}: organiser i1ynkhlgtkxw1btxecvoubs0w5m95zr isudduwe 0 8928 25691 2023-10-31T14:46:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isudduwe''' === Tarjumaad === * {{en}}: coordinator 25691 wikitext text/x-wiki {{-so-}} == Magac == '''isudduwe''' === Tarjumaad === * {{en}}: coordinator n40dt3p78bgsenpp7gltvx8gmqs5oje gunno 0 8929 25692 2023-10-31T14:49:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gunno''' === Tarjumaad === * {{en}}: allowance 25692 wikitext text/x-wiki {{-so-}} == Magac == '''gunno''' === Tarjumaad === * {{en}}: allowance 9vgnl0zwv4l0nhybs7h1zy59m5j0u76 korsocod 0 8930 25693 2023-10-31T14:49:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''korsocod''' === Tarjumaad === * {{en}}: bonus 25693 wikitext text/x-wiki {{-so-}} == Magac == '''korsocod''' === Tarjumaad === * {{en}}: bonus o7sittdybns5uugjnhi6gvfk5adq3wt qiyaan qaran 0 8931 25694 2023-10-31T14:50:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiyaan qaran''' === Tarjumaad === * {{en}}: treason to nation 25694 wikitext text/x-wiki {{-so-}} == Magac == '''qiyaan qaran''' === Tarjumaad === * {{en}}: treason to nation rf0j9vvriddcxfii2no52kuuta0okdp hamud 0 8932 25697 2023-10-31T21:47:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hamud''' === Tarjumaad === * {{en}}: dust 25697 wikitext text/x-wiki {{-so-}} == Magac == '''hamud''' === Tarjumaad === * {{en}}: dust 666qwsoz8hxbbk43kv0wo66k19p4pqv dixiri 0 8933 25698 2023-11-01T14:21:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dixiri''' === Tarjumaad === * {{en}}: worm 25698 wikitext text/x-wiki {{-so-}} == Magac == '''dixiri''' === Tarjumaad === * {{en}}: worm 40mlmqvawxjqo7dwqy233eikfskmor1 gooryaan 0 8934 29804 25699 2024-08-12T04:33:44Z Girligaanshub 3150 29804 wikitext text/x-wiki {{-so-}} == Magac == '''gooryaan''' === Tarjumaad === * {{en}}: parasitic worm, Ascariasis, f3psvh2rxj5rxd3btojef4km2od3haj kayn 0 8935 25700 2023-11-01T14:22:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kayn''' === Tarjumaad === * {{en}}: forest 25700 wikitext text/x-wiki {{-so-}} == Magac == '''kayn''' === Tarjumaad === * {{en}}: forest s41vv82kwmasodsw3a2isr5ua2ydifs toorey 0 8936 25701 2023-11-01T14:38:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toorey''' === Tarjumaad === * {{en}}: stab 25701 wikitext text/x-wiki {{-so-}} == Magac == '''toorey''' === Tarjumaad === * {{en}}: stab iu7z5hn75q5oror6rnbvj6n83emsc6n yamays 0 8937 25702 2023-11-01T14:52:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yamays''' === Tarjumaad === * {{en}}: lake 25702 wikitext text/x-wiki {{-so-}} == Magac == '''yamays''' === Tarjumaad === * {{en}}: lake lopd0wcb4s6ai7oi3zg0oh5728pyj3o hogol 0 8938 30938 25703 2024-09-26T05:13:01Z Girligaanshub 3150 30938 wikitext text/x-wiki {{-so-}} == Magac == '''hogol''' === Tarjumaad === * {{en}}: rain cloud, grey raincloud, 7g7ugye4rjq1odmj7y9n5auug5jtn2l ciiryaamo 0 8939 25704 2023-11-01T15:15:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ciiryaamo''' === Tarjumaad === * {{en}}: fog 25704 wikitext text/x-wiki {{-so-}} == Magac == '''ciiryaamo''' === Tarjumaad === * {{en}}: fog danh7onusoei5hrn3w2numxzxvk0t6n uunsi 0 8940 32076 32074 2024-10-28T03:40:13Z Girligaanshub 3150 32076 wikitext text/x-wiki {{-so-}} == Magac == '''uun''' === Tarjumaad === * {{en}}: smoke, incense td3i8eesnj48emi67jw0l3ervp04ef5 qaac 0 8941 25706 2023-11-01T16:17:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaac''' === Tarjumaad === * {{en}}: smoke 25706 wikitext text/x-wiki {{-so-}} == Magac == '''qaac''' === Tarjumaad === * {{en}}: smoke 0wb5ift1qvqihmrzzczctq34ofwsm0r oog 0 8942 28556 25707 2024-06-18T09:37:57Z Girligaanshub 3150 28556 wikitext text/x-wiki {{-so-}} == Magac == '''oog''' === Tarjumaad === * {{en}}: fire * {{en}}: morning twilight 6r863fl9o7vfizluazgoaz3xrl2t6of qurun 0 8943 25710 2023-11-01T16:34:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qurun''' === Tarjumaad === * {{en}}: rotten 25710 wikitext text/x-wiki {{-so-}} == Magac == '''qurun''' === Tarjumaad === * {{en}}: rotten hid2yu0unyx2qz53ugvymqrvo8j8pi4 afle 0 8944 25773 25711 2023-11-06T04:59:06Z Girligaanshub 3150 25773 wikitext text/x-wiki {{-so-}} == Magac == '''afle''' === Tarjumaad === * {{en}}: sharp ===Synonyms=== *[[dahnadaysan]], [[afle]] q4u6aoh6p856yvaf2qp16y2d6lgsyag dabac 0 8945 25712 2023-11-01T16:36:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabac''' === Tarjumaad === * {{en}}: smooth 25712 wikitext text/x-wiki {{-so-}} == Magac == '''dabac''' === Tarjumaad === * {{en}}: smooth dn3cuwcz3hokc99sok3rq9g3zgpd6l3 engag 0 8946 25713 2023-11-01T16:41:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''engag''' === Tarjumaad === * {{en}}: dry 25713 wikitext text/x-wiki {{-so-}} == Magac == '''engag''' === Tarjumaad === * {{en}}: dry nt11b47zcf8d7m90z74mx2i6hdiyvct mideed 0 8947 25729 25727 2023-11-02T16:58:31Z Girligaanshub 3150 25729 wikitext text/x-wiki {{-so-}} == Magac == '''mideed''' === Tarjumaad === * {{en}}: likewise 6e6cybilaloq3wnlhu6laliihtc6qr1 midka 0 8948 25728 2023-11-02T16:58:18Z Girligaanshub 3150 Girligaanshub moved page [[midka]] to [[mideed]] 25728 wikitext text/x-wiki #REDIRECT [[mideed]] 4aqe19vps2gx031hmr1dk7mk9mjughr liic 0 8949 25730 2023-11-02T22:34:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liic''' === Tarjumaad === * {{en}}: weaken, degrade 25730 wikitext text/x-wiki {{-so-}} == Magac == '''liic''' === Tarjumaad === * {{en}}: weaken, degrade tnl9wgnir4mty1avyb7s3w981i0qy8x mandheer 0 8950 25731 2023-11-04T01:17:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mandheer''' === Tarjumaad === * {{en}}: placenta 25731 wikitext text/x-wiki {{-so-}} == Magac == '''mandheer''' === Tarjumaad === * {{en}}: placenta pjabt66v0e6kehuux9hqy9fypac8y28 camiis 0 8951 25733 2023-11-05T13:18:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''camiis''' === Tarjumaad === * {{en}}: mace, club 25733 wikitext text/x-wiki {{-so-}} == Magac == '''camiis''' === Tarjumaad === * {{en}}: mace, club j87t7ps9olirfmsmf8fi9rih475wnel feedh 0 8952 25736 25735 2023-11-05T15:25:45Z Girligaanshub 3150 Removed redirect to [[garfeedh]] 25736 wikitext text/x-wiki {{-so-}} ===Magac=== '''feedh''' ===Tarjumaad=== *{{en}}: fist, box, punch 9kz718t4sar9k8y8rajhmr88a45fu0u yaw 0 8953 25740 25739 2023-11-05T16:02:57Z Girligaanshub 3150 25740 wikitext text/x-wiki {{-so-}} ===Magac=== '''yaw''' ===Tarjumaad=== *{{en}}: heir * {{en}}: armband * {{en}}: possessor dp1nncizfgaxkpku4f9aj46tsu8ywj9 garooc 0 8954 25744 2023-11-05T17:03:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garooc''' === Tarjumaad === * {{en}}: introvert, introverted, innocent, humble, humility, polite, private, confidential, silent ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]] 25744 wikitext text/x-wiki {{-so-}} == Magac == '''garooc''' === Tarjumaad === * {{en}}: introvert, introverted, innocent, humble, humility, polite, private, confidential, silent ===Synonyms=== *[[khushuucsan]], [[hayin]], [[xaya]], [[xayaac]], [[is-dhul-dhignimo]], [[is-dhuldhignimo]], [[khushuuc]] j8b6yqfv5wasv4d1u583053dbckiite warshad 0 8955 28791 26820 2024-07-20T01:40:58Z Girligaanshub 3150 28791 wikitext text/x-wiki {{-so-}} == Magac == '''warshad''' === Tarjumaad === * {{en}}: factory, industry * {{en}}: guardian, overseer, watchman ===Synonyms=== *[[ganacsi]], [[warshad]], [[shirkad]] 1qu4qpxhpp0il6tsdb1dc4i1lh8mzcd saac 0 8956 25746 2023-11-05T18:25:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saac''' === Tarjumaad === * {{en}}: wisdom, wise man 25746 wikitext text/x-wiki {{-so-}} == Magac == '''saac''' === Tarjumaad === * {{en}}: wisdom, wise man 848tx60m6n72y1mv34iv15j11aywtyi was 0 8957 28583 25748 2024-06-29T12:16:08Z Girligaanshub 3150 28583 wikitext text/x-wiki {{-so-}} == Magac == '''was''' === Tarjumaad === * {{en}}: sex, copulate, copulation, sexual intercourse, inseminate, insemination, consummate, * {{en}}: dominate ===Synonyms=== *[[dhibeey]], [[dibeeyo]], [[was]] n089g2xdijao0agfzkze4k457fs3eaq bilan 0 8958 25749 2023-11-05T18:56:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bilan''' === Tarjumaad === * {{en}}: bright, shining 25749 wikitext text/x-wiki {{-so-}} == Magac == '''bilan''' === Tarjumaad === * {{en}}: bright, shining gwp193to8u5e4h1pnnorq48wb0eefgx inkaar 0 8959 28572 28570 2024-06-21T04:39:39Z Girligaanshub 3150 28572 wikitext text/x-wiki {{-so-}} == Magac == '''inkaar''' === Tarjumaad === * {{en}}: curse ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]], [[inkaar]], [[balaayo]], [[habaar]] h27kl049cpfstdvsulkp4037phn2fug inkaha 0 8960 25751 2023-11-05T19:40:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''inkaha''' === Tarjumaad === * {{en}}: life 25751 wikitext text/x-wiki {{-so-}} == Magac == '''inkaha''' === Tarjumaad === * {{en}}: life 2hizwmgbujjc3vprk2tjxsbkwevft3z aar 0 8961 27980 26567 2024-06-05T10:31:15Z Girligaanshub 3150 27980 wikitext text/x-wiki {{-so-}} == Magac == '''aar''' === Tarjumaad === * {{en}}: male lion * {{en}}: revenge * {{en}}: paradise cut9ofgityfiubml2iqzbo1mr8oryqg qaad 0 8962 25754 2023-11-05T21:27:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaad''' === Tarjumaad === * {{en}}: contagious * {{en}}: take 25754 wikitext text/x-wiki {{-so-}} == Magac == '''qaad''' === Tarjumaad === * {{en}}: contagious * {{en}}: take 1ojwi1yxbf88wrpvj0tnmg9diorcwdz taagan (ku) 0 8963 25759 2023-11-05T21:59:30Z Girligaanshub 3150 Girligaanshub moved page [[taagan (ku)]] to [[taagan]] 25759 wikitext text/x-wiki #REDIRECT [[taagan]] br3u3orjabpz5dc56n1ju7xv5ffceks dahnad 0 8964 25790 25765 2023-11-06T23:11:58Z Girligaanshub 3150 25790 wikitext text/x-wiki {{-so-}} == Magac == '''dahnad''' === Tarjumaad === * {{en}}: tip, point, peak, apex, pinnacle, climax, summit, vertex, limit ===Synonyms=== *[[afeeyada]], [[dahnad]] 1qy70wvlxuclv17zanrpsptwr6j9fl3 cirtuu 0 8965 25767 2023-11-06T02:09:49Z Girligaanshub 3150 Girligaanshub moved page [[cirtuu]] to [[cirtuw]] 25767 wikitext text/x-wiki #REDIRECT [[cirtuw]] 4jr0prowgf8hw3mgqqcpim9yd0i34k8 wabno 0 8966 25769 2023-11-06T03:42:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wabno''' === Tarjumaad === * {{en}}: damage, trauma 25769 wikitext text/x-wiki {{-so-}} == Magac == '''wabno''' === Tarjumaad === * {{en}}: damage, trauma 6b2bxbygr3vhi3pmx7blvdjh7pw1q2e Djibouti 0 8967 32212 25771 2024-11-02T00:10:17Z Girligaanshub 3150 32212 wikitext text/x-wiki {{-so-}} == Magac == '''Djibouti''' ===Etymology=== *Thoth -> Djehuty === Tarjumaad === * {{en}}: country Djibouti 7y0mdpdv91njb9on8n84ts7hir7wrs8 rayid 0 8968 25772 2023-11-06T04:53:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rayid''' === Tarjumaad === * {{en}}: commoner, bourgeois, bourgeoisie, citizen, civilian, peasant, proletarian, plebian, 25772 wikitext text/x-wiki {{-so-}} == Magac == '''rayid''' === Tarjumaad === * {{en}}: commoner, bourgeois, bourgeoisie, citizen, civilian, peasant, proletarian, plebian, o6ptk899fgqk8hr4nymchnlvw559el4 dahnadaysan 0 8969 25774 2023-11-06T04:59:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dahnadaysan''' === Tarjumaad === * {{en}}: sharp ===Synonyms=== *[[dahnadaysan]], [[afle]] 25774 wikitext text/x-wiki {{-so-}} == Magac == '''dahnadaysan''' === Tarjumaad === * {{en}}: sharp ===Synonyms=== *[[dahnadaysan]], [[afle]] 69mud20wdly65vwsdnr6ngt0fmd5v4v shiime 0 8970 25777 2023-11-06T05:11:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiime''' === Tarjumaad === * {{en}}: singer, 25777 wikitext text/x-wiki {{-so-}} == Magac == '''shiime''' === Tarjumaad === * {{en}}: singer, 7mn7oyxcldbb0px83mf3o1g375b94ta masraxe 0 8971 25778 2023-11-06T06:03:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''masraxe''' === Tarjumaad === * {{en}}: entertainer, artist 25778 wikitext text/x-wiki {{-so-}} == Magac == '''masraxe''' === Tarjumaad === * {{en}}: entertainer, artist debgr3jihige6fp3mwjs4c3dh4fa9l3 caag 0 8972 25779 2023-11-06T16:49:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caag''' === Tarjumaad === * {{en}}: plastic, rubber 25779 wikitext text/x-wiki {{-so-}} == Magac == '''caag''' === Tarjumaad === * {{en}}: plastic, rubber 1ldviu44yd045j7s5y49knuf6fhsq0h akho 0 8973 25780 2023-11-06T16:50:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''akho''' === Tarjumaad === * {{en}}: ghost, spirit 25780 wikitext text/x-wiki {{-so-}} == Magac == '''akho''' === Tarjumaad === * {{en}}: ghost, spirit edyomwkdbi1159vau8v9deatoizdnqc hiimo 0 8974 25781 2023-11-06T17:20:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiimo''' === Tarjumaad === * {{en}}: incarnate, incarnation 25781 wikitext text/x-wiki {{-so-}} == Magac == '''hiimo''' === Tarjumaad === * {{en}}: incarnate, incarnation svu6jixzhvnctm52q0f8j5y15w9f8zr waabqaad 0 8975 25782 2023-11-06T18:22:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waabqaad''' === Tarjumaad === * {{en}}: messenger, postman 25782 wikitext text/x-wiki {{-so-}} == Magac == '''waabqaad''' === Tarjumaad === * {{en}}: messenger, postman 8yjnqx2bnyax42x0rjr578w9jd8ozep warshade 0 8976 32311 29088 2024-11-08T05:12:27Z Girligaanshub 3150 32311 wikitext text/x-wiki {{-so-}} == Magac == '''warshade''' === Tarjumaad === * {{en}}: factory worker, industrialist * {{en}}: guardian, overseer, watchman, superintendent, ===Synonyms=== *[[warshade]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] gx9dtuza6wvxr4spagibooa5d1ca68x marin 0 8977 28489 26116 2024-06-15T23:38:02Z Girligaanshub 3150 28489 wikitext text/x-wiki {{-so-}} == Magac == '''marin''' === Tarjumaad === * {{en}}: road, street * {{en}}: pathway, access, ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]], [[marin]], [[gelitaan]] 3d373zm6on585day6biw0gvhoi4beq1 zakaw 0 8978 25803 25787 2023-11-07T16:52:27Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[sakow]] 25803 wikitext text/x-wiki #REDIRECT [[sakow]] dirm8f09o5iuko3plg60w8a0ijmqjpz sakoweey 0 8979 25796 25794 2023-11-07T08:17:25Z Girligaanshub 3150 25796 wikitext text/x-wiki {{-so-}} == Magac == '''sakoweey''' === Tarjumaad === * {{en}}: illustrate, note, take notes, produce, compose, record, transcribe, copy, edit, recorder, illuminate, report, write, mention, remark 61zgbg7awlrsvvlj64dgs2i6ewg6mpw mag 0 8980 25797 2023-11-07T10:55:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mag''' === Tarjumaad === * {{en}}: dignity, honor, worth, * {{en}}: reparation, reparations, apologize, restitution, recompense, penance, redress, indemnity, rebate, quittance, compensation ===Synonyms=== *[[godobxir]], [[mag]] 25797 wikitext text/x-wiki {{-so-}} == Magac == '''mag''' === Tarjumaad === * {{en}}: dignity, honor, worth, * {{en}}: reparation, reparations, apologize, restitution, recompense, penance, redress, indemnity, rebate, quittance, compensation ===Synonyms=== *[[godobxir]], [[mag]] qm579bhyimrxst5q5i65ijbfzdg0b1y sheebsan 0 8981 25798 2023-11-07T11:37:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sheebsan''' === Tarjumaad === * {{en}}: luxury, luxurious 25798 wikitext text/x-wiki {{-so-}} == Magac == '''sheebsan''' === Tarjumaad === * {{en}}: luxury, luxurious q6brrtthd7z6uc599b23d8u9xebutc6 gumud 0 8982 32086 31917 2024-10-28T03:45:42Z Girligaanshub 3150 32086 wikitext text/x-wiki {{-so-}} == Magac == '''gumud''' === Tarjumaad === * {{en}}: stub, stump, root, snag, ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] qwgyxcdq6jlbmi7nmnwuatghk0r1cka xaraf 0 8983 25802 2023-11-07T14:47:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaraf''' === Tarjumaad === * {{en}}: letter 25802 wikitext text/x-wiki {{-so-}} == Magac == '''xaraf''' === Tarjumaad === * {{en}}: letter gvy4rzctf5vj0pgxd2rf3ll38rj2252 heebis 0 8984 25807 25805 2023-11-07T19:16:33Z Girligaanshub 3150 25807 wikitext text/x-wiki {{-so-}} == Magac == '''heebis''' === Tarjumaad === * {{en}}: towel, cloth, napkin, textile, 30imihp58nurinrwhtpxnteduy1tes2 fiilo 0 8985 25806 2023-11-07T19:15:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiilo''' === Tarjumaad === * {{en}}: fiber, fibers 25806 wikitext text/x-wiki {{-so-}} == Magac == '''fiilo''' === Tarjumaad === * {{en}}: fiber, fibers 6l5e6m1gmmm5t5ymn7vpqc9tw33er3g ilaha 0 8986 25808 2023-11-07T19:58:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilaha''' === Tarjumaad === * {{en}}: source 25808 wikitext text/x-wiki {{-so-}} == Magac == '''ilaha''' === Tarjumaad === * {{en}}: source 8az03ey3yeohphz6xzrp1jyb4i37wp9 aanaysi 0 8987 25812 2023-11-08T00:38:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aanaysi''' === Tarjumaad === * {{en}}: censure 25812 wikitext text/x-wiki {{-so-}} == Magac == '''aanaysi''' === Tarjumaad === * {{en}}: censure hnb343wbsifz9s85lelt09ueasm860f khaati 0 8988 25813 2023-11-08T00:40:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khaati''' === Tarjumaad === * {{en}}: bore, bored, boredom 25813 wikitext text/x-wiki {{-so-}} == Magac == '''khaati''' === Tarjumaad === * {{en}}: bore, bored, boredom ftcjj4s3sx3ura0m8095a1ybi9saaz1 naasacelis 0 8989 25814 2023-11-08T00:42:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naasacelis''' === Tarjumaad === * {{en}}: bra, brassiere 25814 wikitext text/x-wiki {{-so-}} == Magac == '''naasacelis''' === Tarjumaad === * {{en}}: bra, brassiere m7g70nma6px2uk5u9finoqzcteym066 cantoob 0 8990 31590 30968 2024-10-16T04:07:40Z Girligaanshub 3150 31590 wikitext text/x-wiki {{-so-}} == Magac == '''cantoob''' === Tarjumaad === * {{en}}: bunch, bouquet, wreath, cluster, clump, knot, group, assemblage, collection ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] qxe8uarkhd5nnwns1cwy4kpy5o5r8bw reeshad 0 8991 25819 25817 2023-11-08T05:21:49Z Girligaanshub 3150 25819 wikitext text/x-wiki {{-so-}} == Magac == '''reeshad''' === Tarjumaad === * {{en}}: happy, joy pwckwx9wn03cxugm56tkubskxgfsbn1 raashad 0 8992 25818 2023-11-08T05:21:23Z Girligaanshub 3150 Girligaanshub moved page [[raashad]] to [[reeshad]] 25818 wikitext text/x-wiki #REDIRECT [[reeshad]] aayueu8umo3ecge0e5b68uvn0mxk6o1 qareen 0 8993 25820 2023-11-08T09:53:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qareen''' === Tarjumaad === * {{en}}: lawyer 25820 wikitext text/x-wiki {{-so-}} == Magac == '''qareen''' === Tarjumaad === * {{en}}: lawyer 3o5sjquv18synis3oz3km03iwx5ilqj baayacmushtar 0 8994 31254 27186 2024-10-04T15:58:39Z Girligaanshub 3150 31254 wikitext text/x-wiki {{-so-}} == Magac == '''baayacmushtar''' === Tarjumaad === * {{en}}: merchant, vendor, trader, ===Synonyms=== *[[maalgeli]], [[baayacmushtar]] gtzaerbd3nztnjvrwkllgpwa4ro8jfg dukaanley 0 8995 25822 2023-11-08T09:58:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dukaanley''' === Tarjumaad === * {{en}}: shopkeeper, clerk, retailer, retail worker, cashier 25822 wikitext text/x-wiki {{-so-}} == Magac == '''dukaanley''' === Tarjumaad === * {{en}}: shopkeeper, clerk, retailer, retail worker, cashier e78pxmkof0642f9vlcbdm5x7a8uuyah shalad 0 8996 25823 2023-11-08T13:08:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shalad''' === Tarjumaad === * {{en}}: chant 25823 wikitext text/x-wiki {{-so-}} == Magac == '''shalad''' === Tarjumaad === * {{en}}: chant bl6qhyb87ufgx1yfqa67zhkthasu0c7 dabocad 0 8997 25824 2023-11-08T13:35:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabocad''' === Tarjumaad === * {{en}}: hartebeest 25824 wikitext text/x-wiki {{-so-}} == Magac == '''dabocad''' === Tarjumaad === * {{en}}: hartebeest tskeqtmaxhhbuz140mmekrwpd2rfa74 naqshadaha 0 8998 25826 2023-11-08T19:23:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naqshadaha''' === Tarjumaad === * {{en}}: design 25826 wikitext text/x-wiki {{-so-}} == Magac == '''naqshadaha''' === Tarjumaad === * {{en}}: design b10wvfft1eok4fp7yf70ze99i27d60m neef 0 8999 25828 2023-11-09T05:54:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''neef''' === Tarjumaad === * {{en}}: quadruped, quadrupeds, four legged animal / animals 25828 wikitext text/x-wiki {{-so-}} == Magac == '''neef''' === Tarjumaad === * {{en}}: quadruped, quadrupeds, four legged animal / animals efyeya7y34qdu6vez0k2zuwb87cr99n duqe 0 9000 25829 2023-11-09T05:58:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duqe''' === Tarjumaad === * {{en}}: old, vintage * {{en}}: mayor 25829 wikitext text/x-wiki {{-so-}} == Magac == '''duqe''' === Tarjumaad === * {{en}}: old, vintage * {{en}}: mayor 3ri0fc1t4yosw4f6y1tt3gbm7e69fi0 niyu 0 9001 25830 2023-11-09T06:21:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyu''' === Tarjumaad === * {{en}}: flightless bird 25830 wikitext text/x-wiki {{-so-}} == Magac == '''niyu''' === Tarjumaad === * {{en}}: flightless bird rl72tdcvifufce7w4q43grth7w71cgw tahriib 0 9002 25831 2023-11-09T18:13:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tahriib''' === Tarjumaad === * {{en}}: migrate, migration 25831 wikitext text/x-wiki {{-so-}} == Magac == '''tahriib''' === Tarjumaad === * {{en}}: migrate, migration cxny2a1q6xy2vmspb15hs40ka2q1va6 foorar 0 9003 25833 25832 2023-11-09T19:03:36Z Girligaanshub 3150 25833 wikitext text/x-wiki {{-so-}} == Magac == '''foorar''' === Tarjumaad === * {{en}}: bend, bow, stoop, incline, inclining, inclination kpndyj2etv3bvh5eavo8np7kd8hkr0m diin-badeed 0 9004 25835 2023-11-10T02:08:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diin-badeed''' === Tarjumaad === * {{en}}: turtle 25835 wikitext text/x-wiki {{-so-}} == Magac == '''diin-badeed''' === Tarjumaad === * {{en}}: turtle q1qr9fnm9a8jfd6r23g8xfavvdtk300 diin-dhuleed 0 9005 25836 2023-11-10T02:14:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diin-dhuleed''' === Tarjumaad === * {{en}}: tortoise 25836 wikitext text/x-wiki {{-so-}} == Magac == '''diin-dhuleed''' === Tarjumaad === * {{en}}: tortoise h4o4cvm2t4utdte7f5evhv7jh4h1uwv daalacato 0 9006 25837 2023-11-10T02:33:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daalacato''' === Tarjumaad === * {{en}}: browse, search 25837 wikitext text/x-wiki {{-so-}} == Magac == '''daalacato''' === Tarjumaad === * {{en}}: browse, search 7zd8twiqgclecu12u2bzq032mpxq1m1 taghut 0 9007 26421 25838 2023-12-22T16:41:07Z Girligaanshub 3150 26421 wikitext text/x-wiki {{-so-}} == Magac == '''taghut''' === Tarjumaad === * {{en}}: tyranny, betray. deceive, defraud, delude, dupe, hoodwink, misguide, misinform, misrepresent, entangle, hoax, misdirect ===Synonyms=== *[[marin-habaabin]], [[taghut]], [[gacanbidix]] rr5fmmqi10rkb4pbd6r3c77pd5gufvn biyo-mareen 0 9008 25840 2023-11-10T15:22:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biyo-mareen''' === Tarjumaad === * {{en}}: plumbing, sewage system, drainage system, water pipe system 25840 wikitext text/x-wiki {{-so-}} == Magac == '''biyo-mareen''' === Tarjumaad === * {{en}}: plumbing, sewage system, drainage system, water pipe system ncv4mochuh40oltox1l98r3i2gj66f2 shiishyahan 0 9009 25841 2023-11-11T11:12:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiishyahan''' === Tarjumaad === * {{en}}: sniper 25841 wikitext text/x-wiki {{-so-}} == Magac == '''shiishyahan''' === Tarjumaad === * {{en}}: sniper c2yyvu3qgqq45jayv4da18kuli94jou afaf 0 9010 25851 2023-11-11T18:04:43Z Girligaanshub 3150 Girligaanshub moved page [[afaf]] to [[afaaf]] 25851 wikitext text/x-wiki #REDIRECT [[afaaf]] b5hk2556cpghevgb23l8dlstw7x09p3 umusho qalliinka 0 9011 25877 25875 2023-11-12T14:40:45Z Girligaanshub 3150 25877 wikitext text/x-wiki {{-so-}} == Magac == '''umusho qalliinka''' === Tarjumaad === * {{en}}: Caesarean section n5st0nmhkmf0r2lmbh0yi7265tq90fx dabaabaad 0 9012 25854 2023-11-11T22:57:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaabaad''' === Tarjumaad === * {{en}}: tank, 25854 wikitext text/x-wiki {{-so-}} == Magac == '''dabaabaad''' === Tarjumaad === * {{en}}: tank, hzn56x5ov1tlj9lkdapexc7cam3b0gh gal-dacwadeed 0 9013 25855 2023-11-11T23:32:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gal-dacwadeed''' === Tarjumaad === * {{en}}: case file 25855 wikitext text/x-wiki {{-so-}} == Magac == '''gal-dacwadeed''' === Tarjumaad === * {{en}}: case file jljo9k0ho1sqlheg3yjcdc59pyhpx15 bileed 0 9014 31531 25857 2024-10-13T03:26:47Z Girligaanshub 3150 31531 wikitext text/x-wiki {{-so-}} == Magac == '''bileed''' === Tarjumaad === * {{en}}: plate ===Synonyms=== *[[bileed]], [[arar]] o8eut48t5yc3n2lu1zrbc4b1yfpufwj takhallus 0 9015 26211 25858 2023-12-08T00:00:29Z Girligaanshub 3150 26211 wikitext text/x-wiki {{-so-}} == Magac == '''takhallus''' === Tarjumaad === * {{en}}: liberate, security ===Synonyms=== *[[nasteexo]], [[nasteho]], [[hadeyn]], [[hadeynta]], [[falaax]], [[takhallus]] 4cow8umikwxz3nmyz13hdgggdkfa5yy idaacad 0 9016 25859 2023-11-12T00:43:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''idaacad''' === Tarjumaad === * {{en}}: radio station, 25859 wikitext text/x-wiki {{-so-}} == Magac == '''idaacad''' === Tarjumaad === * {{en}}: radio station, d57hp79107ruuynz67rozlyf4i2gdvu dafir 0 9017 29855 27927 2024-08-12T18:10:25Z Girligaanshub 3150 29855 wikitext text/x-wiki {{-so-}} == Magac == '''dafir''' === Tarjumaad === * {{en}}: deny, contradict, repudiate, declare untrue, dissent from, disagree with, contest, retract, disprove, debunk, discredit, refute, rebut, invalidate, negate, nullify, disaffirm, ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] kv6s4z11yjbxhhv02y7i0rbu798mud0 isgaadhsiin 0 9018 25869 2023-11-12T01:28:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isgaadhsiin''' === Tarjumaad === * {{en}}: communicate, communication, transmit, transmission, circulate, circulation, convey, conveyance, connect, connections, connection, link, route, contact, correspond, correspondence, 25869 wikitext text/x-wiki {{-so-}} == Magac == '''isgaadhsiin''' === Tarjumaad === * {{en}}: communicate, communication, transmit, transmission, circulate, circulation, convey, conveyance, connect, connections, connection, link, route, contact, correspond, correspondence, 4iehm8g2nmpqzdtmma2encsthq4pflm fidi 0 9019 29905 27093 2024-08-14T05:01:05Z Girligaanshub 3150 29905 wikitext text/x-wiki {{-so-}} == Magac == '''fidi''' === Tarjumaad === * {{en}}: lay out, implement, bring forth, stretch * Ingiriis: attach, adhere, latch, hitch, link, affix, tack, append ieyk3jujse0ao3gbpa4yruobqzn8arl urur 0 9020 29023 25873 2024-07-28T15:39:06Z Girligaanshub 3150 29023 wikitext text/x-wiki {{-so-}} == Magac == '''urur''' === Tarjumaad === * {{en}}: collection, collect, organization qn38lu030jxmpz1j7ibv7zk6xaie0sr ururiye 0 9021 25874 2023-11-12T07:25:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ururiye''' === Tarjumaad === * {{en}}: collector 25874 wikitext text/x-wiki {{-so-}} == Magac == '''ururiye''' === Tarjumaad === * {{en}}: collector 48ipglbg9fdhmzczi3b46vxfmqarady umushaha qalliinka 0 9022 25876 2023-11-12T14:40:34Z Girligaanshub 3150 Girligaanshub moved page [[umushaha qalliinka]] to [[umusho qalliinka]] 25876 wikitext text/x-wiki #REDIRECT [[umusho qalliinka]] 8r10w9molp32c24xr54mmepyh8khobq cadaadi 0 9023 30416 25878 2024-09-01T12:27:25Z Girligaanshub 3150 30416 wikitext text/x-wiki {{-so-}} == Magac == '''cadaadi''' === Tarjumaad === * {{en}}: normalize * {{en}}: compression, compressed, compress 85y0939760km4atm4g64701vle9et9t dalxiis 0 9024 25879 2023-11-12T15:26:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalxiis''' === Tarjumaad === * {{en}}: tourism, tourist 25879 wikitext text/x-wiki {{-so-}} == Magac == '''dalxiis''' === Tarjumaad === * {{en}}: tourism, tourist h4lom9kt9b2lqzlivbyuyvttz3fm8n7 daadad 0 9025 25884 2023-11-12T16:15:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daadad''' === Tarjumaad === * {{en}}: flooding, 25884 wikitext text/x-wiki {{-so-}} == Magac == '''daadad''' === Tarjumaad === * {{en}}: flooding, 2m16h756kfen04lrpkwbmwsvc4mpufe yididiil 0 9026 25885 2023-11-12T16:56:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yididiil''' === Tarjumaad === * {{en}}: optimism, hope, hopeful, optimistic, positive, positivity, 25885 wikitext text/x-wiki {{-so-}} == Magac == '''yididiil''' === Tarjumaad === * {{en}}: optimism, hope, hopeful, optimistic, positive, positivity, 0wcx2kmtoi6ur0gqmyzgk2swfjhxbh8 arax 0 9027 26174 25907 2023-12-04T18:19:09Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[cadhax]] 26174 wikitext text/x-wiki #REDIRECT [[cadhax]] qvz38y5dqy77ryof9yj214dbntnnwzb adhax 0 9028 26173 25906 2023-12-04T18:18:59Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[cadhax]] 26173 wikitext text/x-wiki #REDIRECT [[cadhax]] qvz38y5dqy77ryof9yj214dbntnnwzb iyadhax 0 9029 26175 25892 2023-12-04T18:19:19Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[cadhax]] 26175 wikitext text/x-wiki #REDIRECT [[cadhax]] qvz38y5dqy77ryof9yj214dbntnnwzb awr 0 9030 25894 2023-11-12T22:21:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awr''' === Tarjumaad === * {{en}}: male camel 25894 wikitext text/x-wiki {{-so-}} == Magac == '''awr''' === Tarjumaad === * {{en}}: male camel o4cxxsb4f9i134jtmu742f8pxao6hre maadleh 0 9031 25896 2023-11-13T00:45:23Z Girligaanshub 3150 Girligaanshub moved page [[maadleh]] to [[maad]] 25896 wikitext text/x-wiki #REDIRECT [[maad]] 788uptnecc25fpd8kslhgyc8c9vmtfr maadka 0 9032 25960 25900 2023-11-16T07:23:27Z Girligaanshub 3150 25960 wikitext text/x-wiki {{-so-}} == Magac == '''maadka''' === Tarjumaad === * {{en}}: civility, civilization, balance, order, harmony, truth, law, solidarity, cohesion, morality, justice, equilibration, stasis, poise, equipoise, counterbalance, ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[maandeeq]], [[dheellitir]], [[xadaarad]] tvuzo415q5mvkyntincctlluaig89tc curiyay 0 9033 25905 25903 2023-11-13T19:37:48Z Girligaanshub 3150 Removed redirect to [[curi]] 25905 wikitext text/x-wiki {{-so-}} == Magac == '''curiyay''' === Tarjumaad === * {{en}}: aroused, brewed, cultivated, fostered, nurtured, promoted, raised, spurred, instigated, kindled, pq91g1szxwzov6qqpesn1z9e1bu7wby dhaliil 0 9034 29374 28781 2024-08-02T09:27:31Z Girligaanshub 3150 29374 wikitext text/x-wiki {{-so-}} == Magac == '''dhaliil''' === Tarjumaad === * {{en}}: criticism ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[arami]], [[baroor]], [[dhaliil]] lt3ssfx6b6mkcpn0cdikgoidu7mdoc1 dhaleecayn 0 9035 25909 2023-11-13T21:31:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaleecayn''' === Tarjumaad === * {{en}}: criticism 25909 wikitext text/x-wiki {{-so-}} == Magac == '''dhaleecayn''' === Tarjumaad === * {{en}}: criticism e7raycj86n8ietewxilrn1008ulmg34 ood 0 9036 27304 25990 2024-04-28T15:18:29Z Girligaanshub 3150 27304 wikitext text/x-wiki {{-so-}} == Magac == '''ood''' === Tarjumaad === * {{en}}: tumbelweed fence, tumbleweed, tumbleweeds, * {{en}}: fenced land, fence kkkogjsksbc3lujm3rvh283ijm5d39n hangool 0 9037 25912 2023-11-13T23:09:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hangool''' === Tarjumaad === * {{en}}: Scepter, staff, wand, mace, rod 25912 wikitext text/x-wiki {{-so-}} == Magac == '''hangool''' === Tarjumaad === * {{en}}: Scepter, staff, wand, mace, rod kp9046ndtwjlihjxcmf1udd9c8kxyhl gundhig 0 9038 32149 32084 2024-10-29T00:44:21Z Girligaanshub 3150 32149 wikitext text/x-wiki {{-so-}} == Magac == '''gundhig''' === Tarjumaad === * {{en}}: implant, plant, set, fix, lodge, insert, place, sink, hammer, ram, secure, embed * {{en}}: root, base, basic ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] 9oan17fbgohpmd7v2oxgqa97e2w4uwc camiil 0 9039 29785 25917 2024-08-12T01:24:31Z Girligaanshub 3150 29785 wikitext text/x-wiki {{-so-}} == Magac == '''camiil''' === Tarjumaad === * {{en}}: worker, labourer, flunkey, sycophant, kowtower, bootlicker, uncle tom ===Synonyms=== *[[camiil]], [[muruqmaale]], [[xamaale]] 5um57boh1hgkwdo82ykl8705drrh7ms hadeeyo 0 9040 25918 2023-11-14T02:02:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadeyo''' === Tarjumaad === * {{en}}: salvage, save 25918 wikitext text/x-wiki {{-so-}} == Magac == '''hadeyo''' === Tarjumaad === * {{en}}: salvage, save c9emt9x96l4zldeqgdcreewearu38ya ceshonimada 0 9041 31232 31231 2024-10-04T14:46:21Z Girligaanshub 3150 31232 wikitext text/x-wiki {{-so-}} == Magac == '''ceshonimada''' === Tarjumaad === * {{en}}: acquirement, assertiveness ===Synonyms=== *[[ceshado]], [[xambaaro]], [[ceshonimada]] 37zdmf4ycvh2hi9wpa9ywizk9ufmzc4 cunaqabateyn 0 9042 31362 29206 2024-10-06T17:26:38Z Girligaanshub 3150 31362 wikitext text/x-wiki {{-so-}} == Magac == '''cunaqabateyn''' === Tarjumaad === * {{en}}: boycott, embargo, restriction, restrictions, prohibition, ban, veto, interdict, ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] oeeb43yqi3yqgogwq45am4wgnzb9xj8 tamashlayn 0 9043 29274 25924 2024-07-31T07:46:36Z Girligaanshub 3150 29274 wikitext text/x-wiki {{-so-}} == Magac == '''tamashlayn''' === Tarjumaad === * {{en}}: leisure, relax ===Synonyms=== *[[majaajilo]], [[tamashlayn]], [[saleel]], [[maadlow]], [[hiwaayad]] 573j713iksubovjmavgf9i8mfkpharu hilmaam 0 9044 25925 2023-11-15T20:37:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hilmaam''' === Tarjumaad === * {{en}}: forget, neglect 25925 wikitext text/x-wiki {{-so-}} == Magac == '''hilmaam''' === Tarjumaad === * {{en}}: forget, neglect d40q85ure2qpodn0k6o5qviz1uur637 bay'ada 0 9045 25944 25943 2023-11-16T00:00:40Z Girligaanshub 3150 25944 wikitext text/x-wiki {{-so-}} == Magac == '''bay'ada''' === Tarjumaad === * {{en}}: environment, environmentalism, foliage, herbs, vegetation, flora, botanicals, algae, botany o9kxqfnokfg1gkhg1jvb5gj0vm60w60 bay'ad 0 9046 25928 2023-11-15T20:47:55Z Girligaanshub 3150 Girligaanshub moved page [[bay'ad]] to [[bay'ada]] 25928 wikitext text/x-wiki #REDIRECT [[bay'ada]] k1xgr25l88m80wk29gjqysc2izllme1 dhowrista 0 9047 32485 29369 2024-11-16T19:45:53Z Girligaanshub 3150 32485 wikitext text/x-wiki {{-so-}} == Magac == '''dhawrista''' === Tarjumaad === * {{en}}: conservation, inspection, scrutinization, scrutinizing, scrutiny, scan, check, vetting, verification, review, assessment, evaluation, determination, ===Synonyms=== *[[xamilo]], [[maamulo]], [[kormeero]], [[faallo guud]], [[wargelin]], [[warmurtiyeed]], [[dhowrista]], ezjni5sfk8w5ql2djb4j5fi7817iw2u ma'bud 0 9048 25933 2023-11-15T20:58:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ma'bud''' === Tarjumaad === * {{en}}: mihrab, minbar, altar, sanctuary, ambulatory, chalice, tabernacle, pulpit, choir, 25933 wikitext text/x-wiki {{-so-}} == Magac == '''ma'bud''' === Tarjumaad === * {{en}}: mihrab, minbar, altar, sanctuary, ambulatory, chalice, tabernacle, pulpit, choir, qf0oy4tak4iyu7bhpcyvge334sutbkd farshax 0 9049 25935 2023-11-15T22:20:17Z Girligaanshub 3150 Girligaanshub moved page [[farshax]] to [[farshaxaha]] 25935 wikitext text/x-wiki #REDIRECT [[farshaxaha]] rkxx74a8nxnkym23w7t9tjfb6gcvvfc farshaxan 0 9050 25937 2023-11-15T22:21:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farshaxan''' === Tarjumaad === * {{en}}: artist 25937 wikitext text/x-wiki {{-so-}} == Magac == '''farshaxan''' === Tarjumaad === * {{en}}: artist dolexmmfjszh0xl79ke68kh94qgd8dn hibid 0 9051 25938 2023-11-15T22:22:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hibid''' === Tarjumaad === * {{en}}: gift 25938 wikitext text/x-wiki {{-so-}} == Magac == '''hibid''' === Tarjumaad === * {{en}}: gift aawybvtkvtba25fwwyobsrgtbxjlpsr hadal-hayn 0 9052 31467 31141 2024-10-12T23:55:31Z Girligaanshub 3150 31467 wikitext text/x-wiki {{-so-}} == Magac == '''hadal-hayn''' === Tarjumaad === * {{en}}: viral, trending, popular, sensation, cause a stir, cause a buzz, causes buzzing, famous ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 6dvun43bhcfr6wyvx4nkj8hznog60q1 caan 0 9053 31466 31142 2024-10-12T23:55:21Z Girligaanshub 3150 31466 wikitext text/x-wiki {{-so-}} == Magac == '''caan''' === Tarjumaad === * {{en}}: tower, pillar, skyscraper, spire * {{en}}: viral, trending, popular, sensation, cause a stir, cause a buzz, causes buzzing, famous ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] hdfijo8omvk2r9e5fbzufjdz8fdx9i6 gano 0 9054 25946 2023-11-16T05:47:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gano''' === Tarjumaad === * {{en}}: shoot 25946 wikitext text/x-wiki {{-so-}} == Magac == '''gano''' === Tarjumaad === * {{en}}: shoot tdg9jpomlfora27a3cfbb0vzodba8tr ganay 0 9055 25947 2023-11-16T05:48:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganay''' === Tarjumaad === * {{en}}: shot 25947 wikitext text/x-wiki {{-so-}} == Magac == '''ganay''' === Tarjumaad === * {{en}}: shot 4gwcpjvhtp74abemvd0vk11cdohesp2 maral 0 9056 25948 2023-11-16T05:51:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maral''' === Tarjumaad === * {{en}}: disease 25948 wikitext text/x-wiki {{-so-}} == Magac == '''maral''' === Tarjumaad === * {{en}}: disease 2anvh2e5o9wj6h5uploakd90q67drtm galado 0 9057 29241 25949 2024-07-31T03:12:59Z Girligaanshub 3150 29241 wikitext text/x-wiki {{-so-}} == Magac == '''galado''' === Tarjumaad === * {{en}}: support ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] ko1s40s3t9obr9p5jkx1bqan24n4xix qowl 0 9058 25950 2023-11-16T06:13:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qowl''' === Tarjumaad === * {{en}}: agreement 25950 wikitext text/x-wiki {{-so-}} == Magac == '''qowl''' === Tarjumaad === * {{en}}: agreement 771efzke201wabv5595tl0izy4wtx4y hubsiinyo 0 9059 25952 2023-11-16T06:18:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hubsiinyo''' === Tarjumaad === * {{en}}: confirmation 25952 wikitext text/x-wiki {{-so-}} == Magac == '''hubsiinyo''' === Tarjumaad === * {{en}}: confirmation ighxsdd57zzlx8k6kzzphwokckxyp05 gaatamo 0 9060 28217 28205 2024-06-13T19:40:03Z Girligaanshub 3150 28217 wikitext text/x-wiki {{-so-}} == Magac == '''gaatamo''' === Tarjumaad === * {{en}}: short drought, short-term drought ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] 2b2vw6jo7i3yf4sj7846k4zxajkmosk gaag-ma-reebto 0 9061 28206 27422 2024-06-13T08:39:29Z Girligaanshub 3150 28206 wikitext text/x-wiki {{-so-}} == Magac == '''gaag-ma-reebto''' === Tarjumaad === * {{en}}: environmental disaster, epic drought, long-lasting drought ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]] pgl0mscgq96yqg7ukzd320p3unz5xwr ayaanta 0 9062 25957 2023-11-16T06:41:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ayaanta''' === Tarjumaad === * {{en}}: that time, the daytime 25957 wikitext text/x-wiki {{-so-}} == Magac == '''ayaanta''' === Tarjumaad === * {{en}}: that time, the daytime 9vxhbuukor62btlkd1n03b6j9v0i0i6 xadaaro 0 9063 25959 2023-11-16T07:22:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xadaaro''' === Tarjumaad === * {{en}}: civilise, civilize, 25959 wikitext text/x-wiki {{-so-}} == Magac == '''xadaaro''' === Tarjumaad === * {{en}}: civilise, civilize, 312aqg1ybw8poev6yiujbglnl94uwht xadaarad 0 9064 28973 25966 2024-07-27T19:53:09Z Girligaanshub 3150 28973 wikitext text/x-wiki {{-so-}} == Magac == '''xadaarad''' === Tarjumaad === * {{en}}: civility, civilization, ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[xadaarad]], 3ggy1eiprns21moqq7ntgeaumhmdtca sharo 0 9065 25963 25962 2023-11-16T22:20:00Z Girligaanshub 3150 25963 wikitext text/x-wiki {{-so-}} == Magac == '''sharo''' === Tarjumaad === * {{en}}: prevent, obstruct 7utotym8lwwysd2ovudyfabbjfqq0qa sokeeyenimo 0 9066 32419 26723 2024-11-14T07:11:17Z Girligaanshub 3150 32419 wikitext text/x-wiki {{-so-}} == Magac == '''sokeeyenimo''' === Tarjumaad === * {{en}}: near, nearby, nearness, related ===Synonyms=== *[[ilbaxnimo]], [[ilbax]], [[ilbaxaysi]], [[maandeeq]], [[dheellitir]], [[xadaarad]], [[sokeeyenimo]] 1dtahxgybbk7bjkxjvqlxqkxhpg9nz8 hanti 0 9067 25968 2023-11-16T23:02:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanti''' === Tarjumaad === * {{en}}: wealth, rich, wealthy, prosperity, affluence ===Synonym=== *[[sheebsan]] 25968 wikitext text/x-wiki {{-so-}} == Magac == '''hanti''' === Tarjumaad === * {{en}}: wealth, rich, wealthy, prosperity, affluence ===Synonym=== *[[sheebsan]] 7suryv2sr5gw0ei8lb4cj64a1voowge wadaniga 0 9068 25970 2023-11-16T23:11:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadaniga''' === Tarjumaad === * {{en}}: nation 25970 wikitext text/x-wiki {{-so-}} == Magac == '''wadaniga''' === Tarjumaad === * {{en}}: nation 0eiobfaug0vx9jxnj9fjd2zpkh1fasz wadaniyad 0 9069 25971 2023-11-16T23:11:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadaniyad''' === Tarjumaad === * {{en}}: nationalist 25971 wikitext text/x-wiki {{-so-}} == Magac == '''wadaniyad''' === Tarjumaad === * {{en}}: nationalist sdjichytl6evmher7k06qya25hvfazj deelqaaf 0 9070 28858 25972 2024-07-22T01:10:03Z Girligaanshub 3150 28858 wikitext text/x-wiki {{-so-}} == Magac == '''deelqaaf''' === Tarjumaad === * {{en}}: gibberish, confusion, nonsense, disoriented, disorientation, ===Synonyms=== * [[jahwareer]], [[ashqaraar]], [[deelqaaf]] jyl61fgl5n4pd08s57rh89ys8wy45f8 targal 0 9071 25973 2023-11-17T21:03:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''targal''' === Tarjumaad === * {{en}}: trousers, pants 25973 wikitext text/x-wiki {{-so-}} == Magac == '''targal''' === Tarjumaad === * {{en}}: trousers, pants i9f3yh8klx1jmwrmi1hj7ibbbii1jug xaalad degdeg 0 9072 25974 2023-11-17T21:04:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaalad degdeg''' === Tarjumaad === * {{en}}: state of emergency 25974 wikitext text/x-wiki {{-so-}} == Magac == '''xaalad degdeg''' === Tarjumaad === * {{en}}: state of emergency rpel00ytjfancp3eudeovo5txuyjd7r isgoow 0 9073 25975 2023-11-17T21:08:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isgoow''' === Tarjumaad === * {{en}}: good smell, aromal, aromatic, ambrosial, fragrant, 25975 wikitext text/x-wiki {{-so-}} == Magac == '''isgoow''' === Tarjumaad === * {{en}}: good smell, aromal, aromatic, ambrosial, fragrant, n728il4q51yeoawm38q9lg1k9n6hxvk hagar 0 9074 32026 32023 2024-10-27T06:56:38Z Girligaanshub 3150 32026 wikitext text/x-wiki {{-so-}} == Magac == '''hagar''' === Tarjumaad === * {{en}}: patient, patience, doubt, indecisive, iffy, timid ===Synonyms=== p677zwll0msjf8atwnwu81b9qnypw22 kaabad 0 9075 25977 2023-11-17T22:25:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaabad''' === Tarjumaad === * {{en}}: stair, step, 25977 wikitext text/x-wiki {{-so-}} == Magac == '''kaabad''' === Tarjumaad === * {{en}}: stair, step, i0btvh19laual30k6t1wjjas5f6tjmb tuugo 0 9076 25978 2023-11-17T22:35:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuugo''' === Tarjumaad === * {{en}}: beg 25978 wikitext text/x-wiki {{-so-}} == Magac == '''tuugo''' === Tarjumaad === * {{en}}: beg e6q3lxs3ys7osfv9fe5v0g335pbflt6 samata saar 0 9077 32374 28079 2024-11-11T22:12:14Z Girligaanshub 3150 32374 wikitext text/x-wiki {{-so-}} == Magac == '''samata saar''' === Tarjumaad === * {{en}}: save, rescue ===Synonyms=== *[[samata saar]], [[samata bixi]], [[badbaadi]], [[kaydi]], 8ewem5haei77dm89n5hkyhs4isrqgqb samata bixi 0 9078 32373 28078 2024-11-11T22:12:03Z Girligaanshub 3150 32373 wikitext text/x-wiki {{-so-}} == Magac == '''samata bixi''' === Tarjumaad === * {{en}}: save, rescue ===Synonyms=== *[[samata saar]], [[samata bixi]], [[badbaadi]], [[kaydi]], ok11x58mwcl5kd77bv6e5fgd99jhehx waswaas 0 9079 26770 25982 2024-02-12T01:15:30Z Girligaanshub 3150 26770 wikitext text/x-wiki {{-so-}} == Magac == '''waswaas''' === Tarjumaad === * {{en}}: impulse, impulsiveness, impulsivity, compulsive, compulsivity, compulsiveness bw7kju2pa14vfk40mj9wz2hnesyyqo7 subag 0 9080 25983 2023-11-17T23:57:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''subag''' === Tarjumaad === * {{en}}: butter 25983 wikitext text/x-wiki {{-so-}} == Magac == '''subag''' === Tarjumaad === * {{en}}: butter spqxfedndtt4k8bj0bgvzo38qb7s81l xeedho 0 9081 29638 29637 2024-08-07T13:42:39Z Girligaanshub 3150 29638 wikitext text/x-wiki {{-so-}} == Magac == '''xeedho''' === Tarjumaad === * {{en}}: basin, big bowl, big dish, dishware, plate * {{en}}: double bowl artefact symbolizing a bride * {{en}}: something bound * {{en}}: bind 2pwbputvn657nzmf0rptykrgi59twdh joogag 0 9082 25985 2023-11-18T00:05:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''joogag''' === Tarjumaad === * {{en}}: container, jug, jar 25985 wikitext text/x-wiki {{-so-}} == Magac == '''joogag''' === Tarjumaad === * {{en}}: container, jug, jar kyit3d2abaslhluilb2njssibalv5nk dhilo 0 9083 25987 2023-11-18T00:16:54Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Etymology / raadraac== [[dhiil]] (cup / pot) == Magac == '''dhilo''' === Tarjumaad === * {{en}}: prostitute 25987 wikitext text/x-wiki {{-so-}} ==Etymology / raadraac== [[dhiil]] (cup / pot) == Magac == '''dhilo''' === Tarjumaad === * {{en}}: prostitute 5i2qbxwh3iqrq9oesp42q0ckhf179es fandaal 0 9084 26951 25988 2024-03-19T06:11:39Z Girligaanshub 3150 26951 wikitext text/x-wiki {{-so-}} == Magac == '''fandaal''' === Tarjumaad === * {{en}}: ladle, dipper, scoop, scooper * {{en}}: beak, snout iu44uby8caxtp9kvydlkgav4qnsqbft kal 0 9085 29235 27335 2024-07-31T03:08:45Z Girligaanshub 3150 29235 wikitext text/x-wiki {{-so-}} == Magac == '''kal''' === Tarjumaad === * {{en}}: pond, marsh * {{en}}: heart symbol, soul symbol, mmncctwvb7gw5syg18b3qgmcwj2zgau oodi 0 9086 25991 2023-11-18T14:23:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oodi''' === Tarjumaad === * {{en}}: fence off, encase, encircle, encompass 25991 wikitext text/x-wiki {{-so-}} == Magac == '''oodi''' === Tarjumaad === * {{en}}: fence off, encase, encircle, encompass t8530t7nazfrvsn4v5u3aldublhzbxj suulo 0 9087 25992 2023-11-18T16:05:46Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Etymology== [[suul]] (thumb) == Magac == '''suulo''' === Tarjumaad === * {{en}}: grip, press thumb, press, click 25992 wikitext text/x-wiki {{-so-}} ==Etymology== [[suul]] (thumb) == Magac == '''suulo''' === Tarjumaad === * {{en}}: grip, press thumb, press, click t331ue6kv8uq91czf88vo5jh6j9vz0p col 0 9088 31498 31496 2024-10-13T01:44:11Z Girligaanshub 3150 31498 wikitext text/x-wiki {{-so-}} == Magac == '''col''' === Tarjumaad === * {{en}}: rival, opponent, adversary, challenger, contender, foe, antagonist, nemesis * {{en}}: enemy, battalion, ===Synonyms=== *[[cadow]], [[col]] qpbguid3botn7fgjq2xencas4qw1ww4 ŝarko 0 9089 25994 2023-11-18T21:42:16Z Balamax 554 Bog cusub: {{-eo-}} === Magac === '''ŝarko''' {{f}} (Jamac: [[ŝarkoj]]) === Dhawaaqida === * {{audio|LL-Q143 (epo)-Robin van der Vliet-ŝarko.wav|audio|lang=eor}} # [[libaaxbadeed]], [[libaax badeed]] 25994 wikitext text/x-wiki {{-eo-}} === Magac === '''ŝarko''' {{f}} (Jamac: [[ŝarkoj]]) === Dhawaaqida === * {{audio|LL-Q143 (epo)-Robin van der Vliet-ŝarko.wav|audio|lang=eor}} # [[libaaxbadeed]], [[libaax badeed]] srkegjtray9umk104pvufhb2mh75kvz jaamac 0 9090 32355 26599 2024-11-10T13:04:02Z Girligaanshub 3150 32355 wikitext text/x-wiki {{-so-}} == Magac == '''jaamac''' === Tarjumaad === * {{en}}: page * {{en}}: Friday, Friday-related * {{en}}: mankind, community, Sunni community, * {{en}}: comprehensive, all-inclusive, communal ===Synonyms (community)=== *[[jaahur]], [[jamahiir]], [[jaamac]] ===Synonyms (page)=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] 2qw4vj2nx0zsm7lmw8cra1w7w5frq8m indhotir 0 9091 30365 30362 2024-08-29T16:55:33Z Girligaanshub 3150 30365 wikitext text/x-wiki {{-so-}} == Magac == '''indhotir''' === Tarjumaad === * {{en}}: ignore, disregard, dismiss * {{en}}: mislead, delude, misguide, overlook, neglect, ===Synonyms=== *[[ka sakow]], [[indhotir]], [[ka sokow]] c2u9537d01ebxzjveaznbegfx8latq2 mucaarad 0 9092 26002 2023-11-19T21:19:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mucaarad''' === Tarjumaad === * {{en}}: opponent, opposition 26002 wikitext text/x-wiki {{-so-}} == Magac == '''mucaarad''' === Tarjumaad === * {{en}}: opponent, opposition jr3y9mujkuq396wfyeb2dg6t97upbrk casayr 0 9093 31914 26003 2024-10-25T23:22:04Z Girligaanshub 3150 31914 wikitext text/x-wiki {{-so-}} == Magac == '''casayr''' === Tarjumaad === * {{en}}: difficult, hard, troublesome, severe, strenuous, complicated, stubborn, precipitous, arduous, tough, rough, tenacious ===Synonyms=== *[[qalafsan]], [[casayr]] 3dkxp99eva6v7apfzfx7p7i4l8gvwhx horin 0 9094 26006 2023-11-21T22:43:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''horin''' === Tarjumaad === * {{en}}: platoon 26006 wikitext text/x-wiki {{-so-}} == Magac == '''horin''' === Tarjumaad === * {{en}}: platoon 5kqnd237eb2ji1iyhxcar4ntydjbfh0 goosan 0 9095 26007 2023-11-21T22:44:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goosan''' === Tarjumaad === * {{en}}: military company 26007 wikitext text/x-wiki {{-so-}} == Magac == '''goosan''' === Tarjumaad === * {{en}}: military company j96tafmnpcrqtdcpqi9jrobxfwx7wng faaliga 0 9096 26008 2023-11-22T03:18:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faaliga''' === Tarjumaad === * {{en}}: stroke 26008 wikitext text/x-wiki {{-so-}} == Magac == '''faaliga''' === Tarjumaad === * {{en}}: stroke d5xzf0jundw9it8alnpq8md21desqit qaadacaad 0 9097 31369 26009 2024-10-06T17:28:14Z Girligaanshub 3150 31369 wikitext text/x-wiki {{-so-}} == Magac == '''qaadacaad''' === Tarjumaad === * {{en}}: boycott ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] fxscdpheot0rfdy68n8l6758kuegi94 laftumid 0 9098 31367 26010 2024-10-06T17:27:55Z Girligaanshub 3150 31367 wikitext text/x-wiki {{-so-}} == Magac == '''laftumid''' === Tarjumaad === * {{en}}: boycott ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] dli9kngs3nlundzzzf3bhr6onguxg4n laftumi 0 9099 26011 2023-11-22T10:02:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laftumi''' === Tarjumaad === * {{en}}: boycotting 26011 wikitext text/x-wiki {{-so-}} == Magac == '''laftumi''' === Tarjumaad === * {{en}}: boycotting 56g1x98wa9497glb44ngylwsvqxlm7s dhabartumid 0 9100 31366 26012 2024-10-06T17:27:46Z Girligaanshub 3150 31366 wikitext text/x-wiki {{-so-}} == Magac == '''dhabartumid''' === Tarjumaad === * {{en}}: boycott ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] n3psijdvn7y7nnnkz1sxh33f0ea4ihj dhabartumi 0 9101 26013 2023-11-22T10:03:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabartumi''' === Tarjumaad === * {{en}}: boycotting 26013 wikitext text/x-wiki {{-so-}} == Magac == '''dhabartumi''' === Tarjumaad === * {{en}}: boycotting orl5z1dbntvby5vxv40mc107fc88jqu shalaayo 0 9102 26015 2023-11-22T14:52:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shalaayo''' === Tarjumaad === * {{en}}: regret 26015 wikitext text/x-wiki {{-so-}} == Magac == '''shalaayo''' === Tarjumaad === * {{en}}: regret 96afbwyds8eqj97vopcx3v0st43ak85 toori 0 9103 26016 2023-11-22T15:22:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''toori''' === Tarjumaad === * {{en}}: dagger, knife, sword, blade, saber 26016 wikitext text/x-wiki {{-so-}} == Magac == '''toori''' === Tarjumaad === * {{en}}: dagger, knife, sword, blade, saber c4o7jd6sxu6d37mws40momg01cac8hj golxob 0 9104 26017 2023-11-22T15:23:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''golxob''' === Tarjumaad === * {{en}}: dagger, knife, sword, blade, saber 26017 wikitext text/x-wiki {{-so-}} == Magac == '''golxob''' === Tarjumaad === * {{en}}: dagger, knife, sword, blade, saber q04chitk8mex2wt7232zoekqk3dgf6r darartay 0 9105 26018 2023-11-22T17:44:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''darartay''' === Tarjumaad === * {{en}}: high yield milk, high dairy production, high lactating, holstein, fresh milk, freshest milk 26018 wikitext text/x-wiki {{-so-}} == Magac == '''darartay''' === Tarjumaad === * {{en}}: high yield milk, high dairy production, high lactating, holstein, fresh milk, freshest milk nhm0syzdd5ls3w0xgvohbwlaef3j6d9 reem 0 9106 26019 2023-11-22T18:01:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''reem''' === Tarjumaad === * {{en}}: welcoming she-camel bellow, welcoming cattle bellow 26019 wikitext text/x-wiki {{-so-}} == Magac == '''reem''' === Tarjumaad === * {{en}}: welcoming she-camel bellow, welcoming cattle bellow p69lfp4ws22j6ff5ful5l92m53gkfnk qiro 0 9107 26020 2023-11-23T06:19:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiro''' === Tarjumaad === * {{en}}: recognize 26020 wikitext text/x-wiki {{-so-}} == Magac == '''qiro''' === Tarjumaad === * {{en}}: recognize ho15leer5nfghsa29wzd0v6qnlpk692 cirdhow 0 9108 26021 2023-11-23T17:51:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cirdhow''' === Tarjumaad === * {{en}}: blue 26021 wikitext text/x-wiki {{-so-}} == Magac == '''cirdhow''' === Tarjumaad === * {{en}}: blue cp8ilk3v6w5rekyvf1znoogts7hnmak birey 0 9109 28581 26023 2024-06-29T12:13:49Z Girligaanshub 3150 28581 wikitext text/x-wiki {{-so-}} == Magac == '''birey''' === Tarjumaad === * {{en}}: nail, pound, hammer, spike, ===Synonyms=== *[[birey]], [[dibeeyo]], [[dhibeey]] 809rvouus4fzybwouswcfta7ia61kms fadeexad 0 9110 28757 26025 2024-07-17T04:07:15Z Girligaanshub 3150 28757 wikitext text/x-wiki {{-so-}} == Magac == '''fadeexad''' === Tarjumaad === * {{en}}: scandal, shame, humiliation, misconduct, immoral, dishonor, disgrace, ===Synonyms=== *[[fadeexo]], [[bayuur]] 2bzcb9oehx3jqhh60h995ia4cwthjfr dhuumo 0 9111 31755 26030 2024-10-25T19:02:41Z Girligaanshub 3150 31755 wikitext text/x-wiki {{-so-}} == Magac == '''dhuumo''' === Tarjumaad === * {{en}}: hide, conceal, camouflage, save face, preserve one's honor, preserve one's dignity, augment prestige, avoid dishonor, damage control, ===Synonyms=== *[[dhuumo]], [[dhuun]], [[gabasho]], k72rl2pzuz5t9w9cta7ucnt04au0j5d saadaasheed 0 9112 26027 2023-11-23T21:07:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saadaasheed''' === Tarjumaad === * {{en}}: her forecast, her prediction, her projection, her prognosis, her foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 26027 wikitext text/x-wiki {{-so-}} == Magac == '''saadaasheed''' === Tarjumaad === * {{en}}: her forecast, her prediction, her projection, her prognosis, her foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 83vebryb0fsoxhjdk4dlzs1uhkl0bfx saadaashiis 0 9113 26028 2023-11-23T21:07:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saadaashiis''' === Tarjumaad === * {{en}}: his forecast, his prediction, his projection, his prognosis, his foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 26028 wikitext text/x-wiki {{-so-}} == Magac == '''saadaashiis''' === Tarjumaad === * {{en}}: his forecast, his prediction, his projection, his prognosis, his foresight ===Synonyms=== *[[baaraandeg]], [[taawilo]], [[saadaasha]], [[saadi]] 6jo1wupuj0i1dwlx5upgx73ulnn2hs3 doorbid 0 9114 30397 29333 2024-08-31T21:56:00Z Girligaanshub 3150 30397 wikitext text/x-wiki {{-so-}} == Magac == '''doorbid''' === Tarjumaad === * {{en}}: prefer, preference, decide aswn1w4rydzjcrkee6otm7afquvp1wc soor 0 9115 26435 26033 2023-12-23T13:48:37Z Girligaanshub 3150 26435 wikitext text/x-wiki {{-so-}} == Magac == '''soor''' === Tarjumaad === * {{en}}: wheat, * {{en}}: porridge, grit, fufu 4mqta1ihye161e9kx5l2ndtxhrugdb4 sareen 0 9116 26034 2023-11-24T03:36:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sareen''' === Tarjumaad === * {{en}}: wheat, 26034 wikitext text/x-wiki {{-so-}} == Magac == '''sareen''' === Tarjumaad === * {{en}}: wheat, mxb8m41alkj32fsf3wrxt8ux4gc5iaw shura 0 9117 26036 2023-11-24T03:40:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shura''' === Tarjumaad === * {{en}}: porridge, 26036 wikitext text/x-wiki {{-so-}} == Magac == '''shura''' === Tarjumaad === * {{en}}: porridge, 57yccmlpxwzrwybnkj1lwmeooo9xjgu mooye 0 9118 26037 2023-11-24T03:42:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mooye''' === Tarjumaad === * {{en}}: grain mill, 26037 wikitext text/x-wiki {{-so-}} == Magac == '''mooye''' === Tarjumaad === * {{en}}: grain mill, 7ymrs8re0kdhczei8c71ncf1ib228d1 lo' 0 9119 26038 2023-11-24T03:48:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lo'da''' === Tarjumaad === * {{en}}: cattle, 26038 wikitext text/x-wiki {{-so-}} == Magac == '''lo'da''' === Tarjumaad === * {{en}}: cattle, p4gedekdjkktfbygvt7mkqdt6y4fnj2 duurjoog 0 9120 26471 26040 2023-12-27T17:10:11Z Girligaanshub 3150 26471 wikitext text/x-wiki {{-so-}} == Magac == '''duurjoog''' === Tarjumaad === * {{en}}: undomesticated wild animal, wildlife, wild animal nxovnjnfcgj35vovb4e3yeov4js6wsn dibi 0 9121 28566 26041 2024-06-19T00:42:11Z Girligaanshub 3150 28566 wikitext text/x-wiki {{-so-}} == Magac == '''dibi''' === Tarjumaad === * {{en}}: ox, castrated cattle, bull 53al6kk29thah29prc1aujie8ybnnp1 xardho 0 9122 26042 2023-11-24T03:59:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xardho''' === Tarjumaad === * {{en}}: carve, * {{en}}: castrate 26042 wikitext text/x-wiki {{-so-}} == Magac == '''xardho''' === Tarjumaad === * {{en}}: carve, * {{en}}: castrate 94vqf8g3gplvkfcwf008k9374bwmgbu sange 0 9123 26044 2023-11-24T04:20:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sange''' === Tarjumaad === * {{en}}: stallion, 26044 wikitext text/x-wiki {{-so-}} == Magac == '''sange''' === Tarjumaad === * {{en}}: stallion, npehmxyfmt70pfi4fwx356zeoscn9q4 waxar 0 9124 26045 2023-11-24T04:22:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waxar''' === Tarjumaad === * {{en}}: young goat, 26045 wikitext text/x-wiki {{-so-}} == Magac == '''waxar''' === Tarjumaad === * {{en}}: young goat, r857q0yyu73nmljiyny5az3w57qttfr qaalin 0 9125 26047 2023-11-24T04:25:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaalin''' === Tarjumaad === * {{en}}: young cow, calf, 26047 wikitext text/x-wiki {{-so-}} == Magac == '''qaalin''' === Tarjumaad === * {{en}}: young cow, calf, 9rhppv4v9ruxktlvj7lmc0mviowta2h xoolaha 0 9126 26050 2023-11-24T04:29:00Z Girligaanshub 3150 Girligaanshub moved page [[xoolaha]] to [[xoolo]] 26050 wikitext text/x-wiki #REDIRECT [[xoolo]] 81f6rdgcmb084ksk0aux1rahlddihfk hawd 0 9127 29778 26052 2024-08-12T00:38:44Z Girligaanshub 3150 29778 wikitext text/x-wiki {{-so-}} == Magac == '''hawd''' === Tarjumaad === * {{en}}: plain * {{en}}: herd r0s626uildgvyg1392jwgyqoabj4wy4 samay 0 9128 26053 2023-11-24T04:43:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''samay''' === Tarjumaad === * {{en}}: handle, grip, shank, shaft, knob, haft 26053 wikitext text/x-wiki {{-so-}} == Magac == '''samay''' === Tarjumaad === * {{en}}: handle, grip, shank, shaft, knob, haft ma50da3lae2p2bgnkfzbj1hupyzonv6 bacrimi 0 9129 26055 2023-11-24T20:16:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacrimi''' === Tarjumaad === * {{en}}: fertilize 26055 wikitext text/x-wiki {{-so-}} == Magac == '''bacrimi''' === Tarjumaad === * {{en}}: fertilize 2a4f45yulciviz1swpr7rvz8obv8ztp rux 0 9130 26056 2023-11-25T00:48:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rux''' === Tarjumaad === * {{en}}: flutter, shake, twitch, flicker, wag, vibrate 26056 wikitext text/x-wiki {{-so-}} == Magac == '''rux''' === Tarjumaad === * {{en}}: flutter, shake, twitch, flicker, wag, vibrate ricphvl0a93w8d3gsys80xyok8ko63u howlyaqaan 0 9131 31221 26059 2024-10-04T14:38:39Z Girligaanshub 3150 31221 wikitext text/x-wiki {{-so-}} == Magac == '''howlyaqaan''' === Tarjumaad === * {{en}}: competent, competence, ===Synonyms=== *[[howlyaqaan]], [[howlkar]], [[xeeldheer]] ivoy0xpalu2vvhwmug14blpd0qk46wz howlkar 0 9132 31222 26060 2024-10-04T14:38:52Z Girligaanshub 3150 31222 wikitext text/x-wiki {{-so-}} == Magac == '''howlkar''' === Tarjumaad === * {{en}}: competent, competence, ===Synonyms=== *[[howlyaqaan]], [[howlkar]], [[xeeldheer]] 6gtu54xroo7objhhtrmrpbawjn2rkgd hibo 0 9133 30027 30026 2024-08-19T06:07:14Z Girligaanshub 3150 30027 wikitext text/x-wiki {{-so-}} == Magac == '''hibo''' === Tarjumaad === * {{en}}: gift, talent f5ekxm84qi1efepsdmz1b89e9gwzxju mihnad 0 9134 26066 26065 2023-11-25T03:27:27Z Girligaanshub 3150 26066 wikitext text/x-wiki {{-so-}} == Magac == '''mihnad''' === Tarjumaad === * {{en}}: profession, career, occupation ===Synonyms=== *[[mihnad]], [[xirfad]], [[meherad]] b7d7qfi4em122659bf28siys269y445 meherad 0 9135 31731 31730 2024-10-21T05:05:04Z Girligaanshub 3150 31731 wikitext text/x-wiki {{-so-}} == Magac == '''meherad''' === Tarjumaad === * {{en}}: venue, complex, locale, scene, setting, center, centre, platform, site, * {{en}}: profession, career, occupation ===Synonyms=== *[[mihnad]], [[xirfad]], [[meherad]] ===Synonyms=== *[[meherad]], [[fadhiisamo]], [[xarun]], [[fagaare]], hmd1idzrst0q5jnwghlgtfm7tb3piyz cabbursan 0 9136 26068 2023-11-25T03:29:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabbursan''' === Tarjumaad === * {{en}}: congested, congestion 26068 wikitext text/x-wiki {{-so-}} == Magac == '''cabbursan''' === Tarjumaad === * {{en}}: congested, congestion e54ukm47puffedj5cmnmmrc783zb7wm margasho 0 9137 26069 2023-11-25T03:30:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''margasho''' === Tarjumaad === * {{en}}: choke, choking 26069 wikitext text/x-wiki {{-so-}} == Magac == '''margasho''' === Tarjumaad === * {{en}}: choke, choking l8am5x8gn9hs2ptgs9iqwpp5cw5w2jd libaaxbadeed 0 9138 26070 2023-11-25T03:33:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''libaaxbadeed''' === Tarjumaad === * {{en}}: shark 26070 wikitext text/x-wiki {{-so-}} == Magac == '''libaaxbadeed''' === Tarjumaad === * {{en}}: shark lrb629rftgygybhv7cbjkn8abbavsxn shaacinta 0 9139 30692 27949 2024-09-11T03:10:33Z Girligaanshub 3150 30692 wikitext text/x-wiki {{-so-}} == Magac == '''shaacinta''' === Tarjumaad === * {{en}}: trend, orientation, announcement ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], cpdu05up0h99unbgb2nld7vbghsg9g8 caasiyoobo 0 9140 26073 2023-11-26T03:39:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caasiyoobo''' === Tarjumaad === * {{en}}: rebel, 26073 wikitext text/x-wiki {{-so-}} == Magac == '''caasiyoobo''' === Tarjumaad === * {{en}}: rebel, 1hur5z8usgc8a7yw9c83jkfz9aj5xyc carwo 0 9142 27601 27398 2024-05-22T07:55:07Z Girligaanshub 3150 27601 wikitext text/x-wiki {{-so-}} == Magac == '''carwo''' === Tarjumaad === * {{en}}: event, exhibition, fair, display, gathering, expo, convention, exhibit ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]] lzjxadfydp95opzmy71tdqqyi9l1xwf shir 0 9143 31076 28356 2024-10-04T07:20:20Z Girligaanshub 3150 31076 wikitext text/x-wiki {{-so-}} == Magac == '''shir''' === Tarjumaad === * {{en}}: meeting, gathering, congregation, event, exhibition, fair, display, gathering, expo, convention, exhibit ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] 5n1c7ikuoyn1tvkccthee6u82w3y7de munaasabad 0 9144 31077 27599 2024-10-04T07:20:32Z Girligaanshub 3150 31077 wikitext text/x-wiki {{-so-}} == Magac == '''shir''' ===Etymology=== *[[munaasib]] === Tarjumaad === * {{en}}: meeting, conference, gathering, assembly, council, congregation, event, exhibition, fair, display, gathering, expo, convention, exhibit ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] bbb3v8uj55359fkzo0r8p1me6cc7agg birmade 0 9145 26089 2023-11-26T23:51:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''birmade''' === Tarjumaad === * {{en}}: metallic, icy, iron, leaden, ory, stannic, geologic, tinny, metallurgical, 26089 wikitext text/x-wiki {{-so-}} == Magac == '''birmade''' === Tarjumaad === * {{en}}: metallic, icy, iron, leaden, ory, stannic, geologic, tinny, metallurgical, s5ohin9wm6yojpvw93w1tm00fne10bj dhismo 0 9146 26095 2023-11-28T10:27:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhismo''' === Tarjumaad === * {{en}}: property, building, construction ===Synonyms=== *[[goonji]], [[dhismo]], [[guri mugdi]] 26095 wikitext text/x-wiki {{-so-}} == Magac == '''dhismo''' === Tarjumaad === * {{en}}: property, building, construction ===Synonyms=== *[[goonji]], [[dhismo]], [[guri mugdi]] 417p7hkx7p2fsoetz76ypng2nte3qg0 khasnaji 0 9147 26097 2023-11-28T10:51:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khasnaji''' === Tarjumaad === * {{en}}: cashier, accountant, teller, clerk, treasurer, auditor, bookkeeper, * {{en}}: illustrator, producer, composer, scribe, librarian, accountant, transcriber, clerk, copyist, scrivener, transcriptionist, copier, stenographer, recorder, illuminator, rapporteur, ===Synonyms=== *[[sakow]], [[khasnaji]] 26097 wikitext text/x-wiki {{-so-}} == Magac == '''khasnaji''' === Tarjumaad === * {{en}}: cashier, accountant, teller, clerk, treasurer, auditor, bookkeeper, * {{en}}: illustrator, producer, composer, scribe, librarian, accountant, transcriber, clerk, copyist, scrivener, transcriptionist, copier, stenographer, recorder, illuminator, rapporteur, ===Synonyms=== *[[sakow]], [[khasnaji]] fpe0qnlt5ltf1fiszjo85wde9or6hu7 xariiqo 0 9148 29058 26098 2024-07-28T20:01:28Z Girligaanshub 3150 29058 wikitext text/x-wiki {{-so-}} == Magac == '''xariiqo''' === Tarjumaad === * {{en}}: underpin, thread, handle, underline, underscore, kyx5r8gd9ibqtguvl4dg1duzdm7mw4z sab 0 9149 26108 2023-11-30T17:32:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sab''' === Tarjumaad === * {{en}}: meal, 26108 wikitext text/x-wiki {{-so-}} == Magac == '''sab''' === Tarjumaad === * {{en}}: meal, ni35mz2q1dx9qltc165of1hu6jyy2b8 raxan 0 9150 31588 30975 2024-10-16T04:07:07Z Girligaanshub 3150 31588 wikitext text/x-wiki {{-so-}} == Magac == '''raxan''' === Tarjumaad === * {{en}}: group of men, cabal ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] quybgs320lox6j4b1d7ok9c961hklcv qaw 0 9151 32515 30464 2024-11-18T10:51:52Z Girligaanshub 3150 32515 wikitext text/x-wiki {{-so-}} == Magac == '''qaw''' === Tarjumaad === * {{en}}: cliff * {{en}}: height, tallness, vertical, khyg3rj1iw2udpogjsla9wuoupbo4cl bislaad 0 9152 26112 2023-11-30T18:51:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bislaad''' === Tarjumaad === * {{en}}: ripe, cooked 26112 wikitext text/x-wiki {{-so-}} == Magac == '''bislaad''' === Tarjumaad === * {{en}}: ripe, cooked exprn5qm4y0rnz7tvm6irkvvejwzw50 bisley 0 9153 26113 2023-11-30T18:53:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bisley''' === Tarjumaad === * {{en}}: ripen, cook, make tender, mature, mellow, marinate, marinade 26113 wikitext text/x-wiki {{-so-}} == Magac == '''bisley''' === Tarjumaad === * {{en}}: ripen, cook, make tender, mature, mellow, marinate, marinade hfc6migiwi6yzw1ndjqefdqduwlm3jc hamham 0 9154 26141 26115 2023-12-01T04:30:01Z Girligaanshub 3150 26141 wikitext text/x-wiki {{-so-}} == Magac == '''hamham''' === Tarjumaad === * {{en}}: roar, roaring, growl, growling, pur, purring dghiarl6u3j7rztnlz5o6n1k20mh2ci dhugo 0 9155 26122 2023-11-30T23:07:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhugo''' === Tarjumaad === * {{en}}: attention, focus, zoom, hone in, pinpoint, fixate 26122 wikitext text/x-wiki {{-so-}} == Magac == '''dhugo''' === Tarjumaad === * {{en}}: attention, focus, zoom, hone in, pinpoint, fixate cv06k128os1pssx7ndvcevo0qyyvxfx derder 0 9156 26123 2023-11-30T23:10:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''derder''' === Tarjumaad === * {{en}}: crush 26123 wikitext text/x-wiki {{-so-}} == Magac == '''derder''' === Tarjumaad === * {{en}}: crush 0rj20gs22g45175m6rbnq2izqkna4w0 dacar 0 9157 30523 30007 2024-09-06T08:17:42Z Girligaanshub 3150 30523 wikitext text/x-wiki {{-so-}} == Magac == '''dacar''' === Tarjumaad === * {{en}}: sour * {{en}}: aloe vera * {{en}}: resent, resentful, resentment, vindictive, grudge-bearer, bitter, bitterness ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], r3aw64wiq9o8e4d2gcrcetapyt8t2va cood 0 9158 26126 2023-12-01T01:51:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cood''' === Tarjumaad === * {{en}}: herd, flock 26126 wikitext text/x-wiki {{-so-}} == Magac == '''cood''' === Tarjumaad === * {{en}}: herd, flock ltedqlbh1434o5hwlbxqdpm1lv6j1vg maadle 0 9159 26134 26130 2023-12-01T03:28:24Z Girligaanshub 3150 26134 wikitext text/x-wiki {{-so-}} == Magac == '''maadle''' === Tarjumaad === * {{en}}: civilized person, enlightened person, philosopher, visionary 6fv58ta0ntif9czn0qnuugs99otqsyi jariid 0 9160 26132 2023-12-01T03:18:39Z Girligaanshub 3150 Girligaanshub moved page [[jariid]] to [[cirid]] 26132 wikitext text/x-wiki #REDIRECT [[cirid]] j9lzplz2ylj69rcxw0ysjaadlp8mxmw irit 0 9161 26137 2023-12-01T03:31:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''irit''' === Tarjumaad === * {{en}}: gate 26137 wikitext text/x-wiki {{-so-}} == Magac == '''irit''' === Tarjumaad === * {{en}}: gate 92ylyq9ml2bwgmd3jemyrv4iqikejlg han-weyno 0 9162 28066 27786 2024-06-08T22:46:11Z Girligaanshub 3150 28066 wikitext text/x-wiki {{-so-}} == Magac == '''han-weyno''' === Tarjumaad === * {{en}}: congratulations, congratulate, jubilation, exultation, rejoice, rejoicing, elation, elate, cheer, euphoria, exhilaration, delirium, ecstasy, delight, exuberance, glory, triumph, celebration, revelry, merrymaking, festivity, feasting, crowing, gloating ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 9tfnybwl65ayzr1rtpjqr91gid888s9 aw-dhuleed 0 9163 26147 2023-12-01T07:46:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aw-dhuleed''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, 26147 wikitext text/x-wiki {{-so-}} == Magac == '''aw-dhuleed''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, e2rqi1yc72710nrdqfyoarzfxwd9go7 aw-yar 0 9164 26148 2023-12-01T07:46:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aw-yar''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, 26148 wikitext text/x-wiki {{-so-}} == Magac == '''aw-yar''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, 8fxzv34lad8fkd6b3jltvtpzxac8ecc aw-weyn 0 9165 26149 2023-12-01T07:47:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aw-weyn''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, 26149 wikitext text/x-wiki {{-so-}} == Magac == '''aw-weyn''' === Tarjumaad === * {{en}}: peninsula, cape, isthmus, headland, promontory, 8a7cdg8y66lap99falv480xjtdl4k9o aw-badeed 0 9166 26150 2023-12-01T07:47:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aw-badeed''' === Tarjumaad === * {{en}}: island 26150 wikitext text/x-wiki {{-so-}} == Magac == '''aw-badeed''' === Tarjumaad === * {{en}}: island owpvtzbhjrwbda6aaypcatx6gjvbdfo adab 0 9167 26152 2023-12-01T08:03:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''adab''' === Tarjumaad === * {{en}}: farm, farmland 26152 wikitext text/x-wiki {{-so-}} == Magac == '''adab''' === Tarjumaad === * {{en}}: farm, farmland p0i85mes2b7hsr91hpgd1ca33ao5dee dareer 0 9168 29670 26155 2024-08-07T17:19:45Z Girligaanshub 3150 29670 wikitext text/x-wiki {{-so-}} == Magac == '''dareer''' === Tarjumaad === * {{en}}: drool * {{en}}: liquid l9i64jw5gyxtdzrcjzlk1n43xf4unyf deriswanaag 0 9169 26329 26156 2023-12-13T07:47:41Z Girligaanshub 3150 26329 wikitext text/x-wiki {{-so-}} == Magac == '''deriswanaag''' === Tarjumaad === * {{en}}: neighbourly, cordial, cordiality, amiable, amiability, genial, geniality, friendly, friendliness, jg89t2dfxim91upf6kv3ci67yexzas1 khasaaro 0 9170 32130 26157 2024-10-28T06:58:45Z Girligaanshub 3150 32130 wikitext text/x-wiki {{-so-}} == Magac == '''khasaaro''' === Tarjumaad === * {{en}}: blunder, loss, casualty * {{en}}: wasteful, unconstructive, unconstructiveness, fruitless, unproductive, pointless, waste ===Synonyms=== *[[hal bacaad lagu lisay]], [[dhantaalo]], [[dhantaalidda]], [[khasaaro]], m9drtwmoa4ho91fk9efhs1ctz5eir0i funad 0 9171 26950 26159 2024-03-19T06:11:32Z Girligaanshub 3150 Bog loo bedeley [[fandaal]] 26950 wikitext text/x-wiki #redirect [[fandaal]] 618d0cn1mhl25xx1h0e838bsj4rzap6 yadhax 0 9172 26162 2023-12-02T19:28:07Z Girligaanshub 3150 Girligaanshub moved page [[yadhax]] to [[cadhax]] 26162 wikitext text/x-wiki #REDIRECT [[cadhax]] qvz38y5dqy77ryof9yj214dbntnnwzb weyd 0 9173 26164 2023-12-03T07:48:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weyd''' === Tarjumaad === * {{en}}: weary, fatigue 26164 wikitext text/x-wiki {{-so-}} == Magac == '''weyd''' === Tarjumaad === * {{en}}: weary, fatigue nyz9pt3bh91xpmc0rw4nrj9ktrn3slj sabo 0 9174 26165 2023-12-03T08:16:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sabo''' === Tarjumaad === * {{en}}: porch, 26165 wikitext text/x-wiki {{-so-}} == Magac == '''sabo''' === Tarjumaad === * {{en}}: porch, oouvbzirco9s8zh230fjx1p1jdzol0t barin 0 9175 26383 26367 2023-12-17T20:09:19Z Girligaanshub 3150 26383 wikitext text/x-wiki {{-so-}} == Magac == '''barin''' === Tarjumaad === * {{en}}: palace, castle, mansion, villa * {{en}}: old house, old home ===Synonyms=== *[[barin]], [[berrin]], [[qasri]] es6qat4ywv3coyg3b5oo68q2wuvqbig heenis 0 9177 26168 2023-12-03T21:27:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heenis''' === Tarjumaad === * {{en}}: abbreviation, 26168 wikitext text/x-wiki {{-so-}} == Magac == '''heenis''' === Tarjumaad === * {{en}}: abbreviation, ii4m8zmmb2bh39vxeqtzlkgkip9efzr gure 0 9178 26169 2023-12-03T22:15:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gure''' === Tarjumaad === * {{en}}: collector, 26169 wikitext text/x-wiki {{-so-}} == Magac == '''gure''' === Tarjumaad === * {{en}}: collector, ixeq0d40reahijhb4pkrxl4hiwk903a gur 0 9179 26170 2023-12-03T22:26:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gur''' === Tarjumaad === * {{en}}: collect, pick up 26170 wikitext text/x-wiki {{-so-}} == Magac == '''gur''' === Tarjumaad === * {{en}}: collect, pick up 3qb6lve5zli0vu68mhh5z09n14lbv5v mawriid 0 9180 26172 2023-12-04T03:37:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mawriid''' === Tarjumaad === * {{en}}: unwell, sick 26172 wikitext text/x-wiki {{-so-}} == Magac == '''mawriid''' === Tarjumaad === * {{en}}: unwell, sick 5q7qgwxug7qaki721ttaw4ffyieo0hy marqaan 0 9181 26186 2023-12-06T01:13:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marqaan''' === Tarjumaad === * {{en}}: bliss, euphoria, trance 26186 wikitext text/x-wiki {{-so-}} == Magac == '''marqaan''' === Tarjumaad === * {{en}}: bliss, euphoria, trance 857w4ij0atu8av7b4k6jm5y2s5nkqpp labeeb 0 9182 31799 31757 2024-10-25T21:12:05Z Girligaanshub 3150 31799 wikitext text/x-wiki {{-so-}} == Magac == '''labeeb''' === Tarjumaad === * {{en}}: intersex, hermaphrodite, androgynous, unisex, genderless, epicene, monogendered, shehe, * {{en}}: genderqueer, transvestite, nonbinary, non-binary, gender nonconforming, gender non-conforming, transgender, genderfluid, pangender, ambigender ===Synonyms=== *[[labeeb]], [[ilgabadhle]], [[lagaroone]], [[makhnuud]], [[baane]], [[isdaldhac]] pejvcflvkj9s3b0q0cosw3dzqz45q34 dhafoor 0 9183 29891 29225 2024-08-13T18:13:36Z Girligaanshub 3150 29891 wikitext text/x-wiki {{-so-}} == Magac == '''dhafoor''' === Tarjumaad === * {{en}}: temple anatomy, side of the head * {{en}}: neurocranial * {{en}}: facial symmetry 5jcokdwlzg6x5rycco4whjkfiiew4l8 buufis 0 9184 32319 26189 2024-11-08T11:59:37Z Girligaanshub 3150 32319 wikitext text/x-wiki {{-so-}} == Magac == '''buufis''' === Tarjumaad === * {{en}}: paranoia, paranoid, PTSD sxfgmhgth6qzgmxh0kp9o3j2aubr37s labeebey 0 9185 26193 26192 2023-12-06T09:26:06Z Girligaanshub 3150 26193 wikitext text/x-wiki {{-so-}} == Magac == '''labeebey''' === Tarjumaad === * {{en}}: emasculate, effeminate, effeminatize, feminize, masculize, masculinize, effeminize, * {{en}}: crossdress, transgenderize, cross-dress, unisexualize, androgynize, 5x5lw03h0ldbydubvdjelxhuvnvmxi9 labeebeynta 0 9186 26191 2023-12-06T06:08:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''labeebeynta''' === Tarjumaad === * {{en}}: emasculation, effemination, effeminatization, feminization, masculization, masculinization, effeminization, 26191 wikitext text/x-wiki {{-so-}} == Magac == '''labeebeynta''' === Tarjumaad === * {{en}}: emasculation, effemination, effeminatization, feminization, masculization, masculinization, effeminization, 5n26u0jnjmj3cqm8v7chgcp0me68x4o bayaami 0 9187 26201 2023-12-07T21:52:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bayaami''' === Tarjumaad === * {{en}}: clarify, purify, illuminate, shed light on, clear up, cleanse 26201 wikitext text/x-wiki {{-so-}} == Magac == '''bayaami''' === Tarjumaad === * {{en}}: clarify, purify, illuminate, shed light on, clear up, cleanse ius1yc7awl4atzj4877lb5gv578ee9o qatan 0 9188 26208 26203 2023-12-07T23:09:05Z Girligaanshub 3150 26208 wikitext text/x-wiki {{-so-}} == Magac == '''qatan''' === Tarjumaad === * {{en}}: left out, omitted, neglect, neglected, underindulge, underindulged ===Synonyms=== *[[qatan]], [[qatanaan]], [[masuug]], [[masuugo]] kn14h8b7amqwkt084ruehke49wvihyn qatanaan 0 9189 26204 2023-12-07T23:07:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qatanaan''' === Tarjumaad === * {{en}}: left out, omitted, neglect, neglected, underindulge, underindulged 26204 wikitext text/x-wiki {{-so-}} == Magac == '''qatanaan''' === Tarjumaad === * {{en}}: left out, omitted, neglect, neglected, underindulge, underindulged ku3lx7gtmb9g5eh5znh8anmevsrh79l caabin 0 9190 29859 27931 2024-08-12T18:11:33Z Girligaanshub 3150 29859 wikitext text/x-wiki {{-so-}} == Magac == '''caabin''' === Tarjumaad === * {{en}}: resist ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] 2z0kyl24wca8rja9kf45mkfd4srv8ym caabinta 0 9191 29860 27932 2024-08-12T18:11:44Z Girligaanshub 3150 29860 wikitext text/x-wiki {{-so-}} == Magac == '''caabinta''' === Tarjumaad === * {{en}}: resistance ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] ===Ku dhow=== *[[legdemo]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[xoogroon]], [[ganafey]] oykwce7nlf24npcicfmai8q01zi8p3j caabi 0 9192 29858 27930 2024-08-12T18:11:21Z Girligaanshub 3150 29858 wikitext text/x-wiki {{-so-}} == Magac == '''caabi''' === Tarjumaad === * {{en}}: resist ===Synonyms=== * [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] gih27uzpvq642dfyiaan08na9vxq9i8 tanziilaat 0 9193 26218 2023-12-08T00:35:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tanzilaat''' === Tarjumaad === * {{en}}: gift 26218 wikitext text/x-wiki {{-so-}} == Magac == '''tanzilaat''' === Tarjumaad === * {{en}}: gift 1q7all6lwb6e93qd7tood40tsjp5nxw goodi 0 9194 31413 31242 2024-10-07T21:57:20Z Girligaanshub 3150 31413 wikitext text/x-wiki {{-so-}} == Magac == '''goodi''' === Tarjumaad === * {{en}}: assert, assertive, assertion ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[dhiiranimo]], [[goodi]], [[ba'an]] oqqe98o9axadchv92h1n2zw0xkuu1lm goodinimo 0 9195 26229 2023-12-08T02:13:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goodinomo''' === Tarjumaad === * {{en}}: assertiveness 26229 wikitext text/x-wiki {{-so-}} == Magac == '''goodinomo''' === Tarjumaad === * {{en}}: assertiveness 25oi2u22u2bwp0gf9w4m2dk9y6csdpe hagoogo 0 9196 31948 26237 2024-10-26T00:03:51Z Girligaanshub 3150 31948 wikitext text/x-wiki {{-so-}} == Magac == '''hagoogo''' === Tarjumaad === * {{en}}: mask, veil, cover, eclipse, enwrap, cloak, screen, disguise, camouflage ===Synonyms=== *[[hagoogo]], [[hagoogan]], [[afqarshe]] 5zggp4ajviis2f8t7ude0u0ozccf6ve qadiran 0 9197 26238 2023-12-08T07:31:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qadiran''' === Tarjumaad === * {{en}}: meant to be, allotted, scheduled, destined, bound, 26238 wikitext text/x-wiki {{-so-}} == Magac == '''qadiran''' === Tarjumaad === * {{en}}: meant to be, allotted, scheduled, destined, bound, ba94s5px3zqrfspfrnkmfhvcuw51wdd qasan 0 9198 26239 2023-12-08T08:20:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qasan''' === Tarjumaad === * {{en}}: difficult, irk, irksome, tough, irritating, aggravating, troublesome, exasperating, disagreeable, disturbing, frustrate, 26239 wikitext text/x-wiki {{-so-}} == Magac == '''qasan''' === Tarjumaad === * {{en}}: difficult, irk, irksome, tough, irritating, aggravating, troublesome, exasperating, disagreeable, disturbing, frustrate, gssvt69yr6u62y83t2vjdsldvgqwlmk qadaad 0 9199 27350 26240 2024-05-11T04:32:07Z Girligaanshub 3150 27350 wikitext text/x-wiki {{-so-}} == Magac == '''qadaad''' === Tarjumaad === * {{en}}: slumber * {{en}}: occiput, occipital bone, posterior of the head otmidzv8g3ivexgw2e9aob8kye6gq6n qaris 0 9200 26241 2023-12-08T08:23:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaris''' === Tarjumaad === * {{en}}: coffin 26241 wikitext text/x-wiki {{-so-}} == Magac == '''qaris''' === Tarjumaad === * {{en}}: coffin 1bhjo492m4dnrwm772o4w75m7ikgryr xabad 0 9201 31486 26242 2024-10-13T00:51:05Z Girligaanshub 3150 31486 wikitext text/x-wiki {{-so-}} == Magac == '''xabad''' === Tarjumaad === * {{en}}: embrace, * {{en}}: bullet * {{en}}: chest ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], dzid3alkizjycn1mb7m7pal3h2ouzg5 mari 0 9202 28153 28148 2024-06-10T00:43:30Z Girligaanshub 3150 28153 wikitext text/x-wiki {{-so-}} == Magac == '''mari''' === Tarjumaad === * {{en}}: bind, bound * {{en}}: pass, undergo, go, traverse ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], h3p2s6gg27l0uc4rriiudq4pwfwgtys gurux 0 9203 26245 2023-12-08T09:15:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurux''' === Tarjumaad === * {{en}}: pupil, * {{en}}: pitch black * {{en}}: beautiful, pretty 26245 wikitext text/x-wiki {{-so-}} == Magac == '''gurux''' === Tarjumaad === * {{en}}: pupil, * {{en}}: pitch black * {{en}}: beautiful, pretty 1drarh7vt7qng0ulm7rfss1mb0e9hes xabaal 0 9204 26246 2023-12-08T09:16:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xabaal''' === Tarjumaad === * {{en}}: concealment, * {{en}}: grave 26246 wikitext text/x-wiki {{-so-}} == Magac == '''xabaal''' === Tarjumaad === * {{en}}: concealment, * {{en}}: grave qnwwdurvpf8rpjzq1vnh9cycilp80i4 maax 0 9205 27218 26247 2024-04-23T18:37:10Z Danesrmithpl8 4840 27218 wikitext text/x-wiki {{-so-}} == Magac == '''maax''' === Tarjumaad === * {{en}}: fill, filler * {{en}}: food stuffing * {{en}}: frosting layer * {{en}}: sweat water jbqjbd3szsgygtmbd02z9twjtba1d6y kax 0 9206 26248 2023-12-08T09:54:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qax''' === Tarjumaad === * {{en}}: tired, old * {{en}}: get away, leave 26248 wikitext text/x-wiki {{-so-}} == Magac == '''qax''' === Tarjumaad === * {{en}}: tired, old * {{en}}: get away, leave es3848aag5uuj2ejtin999nzzjw7cn7 raqayo 0 9207 26249 2023-12-08T09:56:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raqayo''' === Tarjumaad === * {{en}}: elderly, 26249 wikitext text/x-wiki {{-so-}} == Magac == '''raqayo''' === Tarjumaad === * {{en}}: elderly, remk4er91ygomj65uvn2jttfgacict8 qalfoof 0 9208 26252 2023-12-08T13:07:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalfoof''' === Tarjumaad === * {{en}}: skeleton, 26252 wikitext text/x-wiki {{-so-}} == Magac == '''qalfoof''' === Tarjumaad === * {{en}}: skeleton, 9da7d4ja26ogeehuyt9iefzxr3yj40w maskax 0 9209 26253 2023-12-08T16:16:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maskax''' === Tarjumaad === * {{en}}: brain, 26253 wikitext text/x-wiki {{-so-}} == Magac == '''maskax''' === Tarjumaad === * {{en}}: brain, tdznxjnug524jdb02qmrvcsqo5am870 dhafoof 0 9210 26254 2023-12-08T16:18:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhafoof''' === Tarjumaad === * {{en}}: skull, 26254 wikitext text/x-wiki {{-so-}} == Magac == '''dhafoof''' === Tarjumaad === * {{en}}: skull, ojnmv0iigjdelxtfgzuax9dz0fofvh8 camaam 0 9211 26255 2023-12-08T16:18:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''camaam''' === Tarjumaad === * {{en}}: cranium, 26255 wikitext text/x-wiki {{-so-}} == Magac == '''camaam''' === Tarjumaad === * {{en}}: cranium, 27tou551f99aojd2uw18vxilb75859n keenisyo 0 9212 26256 2023-12-08T17:46:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keenisyo''' === Tarjumaad === * {{en}}: genitals, genitalia 26256 wikitext text/x-wiki {{-so-}} == Magac == '''keenisyo''' === Tarjumaad === * {{en}}: genitals, genitalia nmiu4ys6qnxt58gj69g79p81m0fq0u2 cabasho 0 9213 30992 29467 2024-09-29T19:14:05Z Girligaanshub 3150 30992 wikitext text/x-wiki {{-so-}} == Magac == '''cabasho''' === Tarjumaad === * {{en}}: complaint, complain ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]], [[cabasho]] lv59oghbjdwdmervqkstdw0ljdceyjb cabanayo 0 9214 30993 29469 2024-09-29T19:14:56Z Girligaanshub 3150 30993 wikitext text/x-wiki {{-so-}} == Magac == '''cabanayo''' === Tarjumaad === * {{en}}: complain, complaint, ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[arami]], [[baroor]], 04gdx3p68ng60os6b5asb1iasy72vsc cabashada 0 9215 26259 2023-12-09T21:33:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabashada''' === Tarjumaad === * {{en}}: the complaints 26259 wikitext text/x-wiki {{-so-}} == Magac == '''cabashada''' === Tarjumaad === * {{en}}: the complaints llkgj10mrbgfipt8cz7ja0zd2hbykqw shiishbar 0 9216 26260 2023-12-09T22:04:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shiishbar''' === Tarjumaad === * {{en}}: target, target board, silhouette target, mannequin target, punching bag 26260 wikitext text/x-wiki {{-so-}} == Magac == '''shiishbar''' === Tarjumaad === * {{en}}: target, target board, silhouette target, mannequin target, punching bag rzesm0lj2q15wfmopg9nqywlaclugre fowdo 0 9217 31646 31645 2024-10-19T17:07:47Z Girligaanshub 3150 31646 wikitext text/x-wiki {{-so-}} == Magac == '''fowdo''' === Tarjumaad === * {{en}}: chaos, disorder, mayhem, confusion, lawless, anarchy, havoc, commotion, turmoil ===Synonyms=== *[[khalkhal]], [[xasarado]], [[caqabado]], [[caqabadeeyo]], [[caqabad]], [[shaqaaqo]], [[fowdo]], [[khilaaf]] hwgxdcvoid8tkj3gx4pspqftgal6kee maal 0 9218 30087 30050 2024-08-23T17:38:59Z Girligaanshub 3150 30087 wikitext text/x-wiki {{-so-}} == Magac == '''maal''' === Tarjumaad === * {{en}}: wealth * {{en}}: science * {{en}}: milking, milk, wring, extract, hand-milk, breast-pump, * {{en}}: ranch, ranching, rancher, cattle raising, farming, cattle breeding, tend, tending, * {{en}}: work, use, do, doer, engage, enact, involve, deal, * {{en}}: profession, mode of life, lifestyle * {{en}}: wisdom (suffix), learn / learning (suffix), knowledge (suffix) dvedfruhbokmdu0l6j5gf0ifgvbjo92 hootip 0 9219 28840 26577 2024-07-21T21:47:40Z Girligaanshub 3150 Removed redirect to [[coodtabin]] 28840 wikitext text/x-wiki {{-so-}} == Magac == '''hootip''' === Tarjumaad === * {{en}}: short spear, ===Cognate=== *[[coodtabin]], [[hootip]], [[hooto]] 58l842w01akmydqgie1d1g7kcl4vqw2 nidir 0 9220 31614 30920 2024-10-19T00:35:30Z Girligaanshub 3150 31614 wikitext text/x-wiki {{-so-}} == Magac == '''nidir''' === Tarjumaad === * {{en}}: vow, invocation * {{en}}: synonym of [[Nidar]] / [[nadir]] * {{en}}: compare Tigrinya term ነጠረ (nitir), meaning bounce; possible metonym for seaport transit on Red Sea * {{en}}: compare Tigrinya term ነጠረ (nitir), meaning spring up; possible metonym for Atbara tributary as source of the Nile * {{en}}: (by extension to above sense) river source ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]] 9i8fjf628izpzeluxb7d44ftt9nptel dur 0 9221 26276 2023-12-11T00:20:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dur''' === Tarjumaad === * {{en}}: distributary 26276 wikitext text/x-wiki {{-so-}} == Magac == '''dur''' === Tarjumaad === * {{en}}: distributary ldaglewwc7bss2mrpl4frgtaqwyhi0a ifafaale 0 9222 31080 30703 2024-10-04T07:21:24Z Girligaanshub 3150 31080 wikitext text/x-wiki {{-so-}} == Magac == '''ifafaale''' === Tarjumaad === * {{en}}: phenomenon, occurrence, ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] juyjx1i1or2p8k1o2ythkojgej7aug9 ifafaalo 0 9223 31079 30705 2024-10-04T07:21:12Z Girligaanshub 3150 31079 wikitext text/x-wiki {{-so-}} == Magac == '''ifafaalo''' === Tarjumaad === * {{en}}: phenomenon, occurrence, vision, notion, concept, impression, perception, presumption, idea ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] 9rwfyh74zhczbpd4ytgqqr0tbef2517 caddow 0 9224 26281 2023-12-12T10:11:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caddow''' === Tarjumaad === * {{en}}: light-skinned, whitish ===Ka duwan=== *[[cadow]] 26281 wikitext text/x-wiki {{-so-}} == Magac == '''caddow''' === Tarjumaad === * {{en}}: light-skinned, whitish ===Ka duwan=== *[[cadow]] jlvf0p3wq1xjyxn1qrk1obys899wzx6 cadow 0 9225 31497 26282 2024-10-13T01:44:02Z Girligaanshub 3150 31497 wikitext text/x-wiki {{-so-}} == Magac == '''cadow''' === Tarjumaad === * {{en}}: enemy ===Synonyms=== *[[cadow]], [[col]] ===Ka duwan=== *[[caddow]] kennb6fc6rekcjfw3hxoqnb9y0941t2 dhaar 0 9227 26313 26310 2023-12-13T03:18:40Z Girligaanshub 3150 26313 wikitext text/x-wiki {{-so-}} == Magac == '''dhaar''' === Tarjumaad === * {{en}}: swear, vow, oath, pledge, invocation ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]] 985nqiho7ohcvgc05igaxccssf3d4ec cibaado 0 9228 26314 26309 2023-12-13T03:18:51Z Girligaanshub 3150 26314 wikitext text/x-wiki {{-so-}} == Magac == '''cibaado''' === Tarjumaad === * {{en}}: worship, supplicate, supplication, invocation ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]] euw6zfrukqllw05d8faf4d1ue1pugch baryo 0 9229 30629 29972 2024-09-09T14:59:46Z Girligaanshub 3150 30629 wikitext text/x-wiki {{-so-}} == Magac == '''baryo''' === Tarjumaad === * {{en}}: supplicate, supplication, pray, invocation ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]] ebvnvrts06f8t5c726p1wxzc62amcc5 baryada 0 9230 29838 26316 2024-08-12T17:18:40Z Girligaanshub 3150 29838 wikitext text/x-wiki {{-so-}} == Magac == '''dhaar''' === Tarjumaad === * {{en}}: supplicate, supplication, pray, worship, invocation ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]] gy5aa2tdq1j82y66e2cc2z4pvm6ranv ducada 0 9231 29839 28797 2024-08-12T17:19:12Z Girligaanshub 3150 29839 wikitext text/x-wiki {{-so-}} == Magac == '''ducada''' === Tarjumaad === * {{en}}: supplicate, supplication, prayer, invocation, bless ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]], [[siyaadi]], [[wacays]], [[barako]] qroy2xxjbayqz217hkq6mt7vvm3wcgx abaal 0 9232 26407 26327 2023-12-18T07:17:43Z Girligaanshub 3150 26407 wikitext text/x-wiki {{-so-}} == Magac == '''abaal''' === Tarjumaad === * {{en}}: reward, treasure, award, bonus, bounty, present, valuable, valuables, prize, valuable, goldmine, gold mine cl3muxmlwkhhm0v79rmde3vk0yitxey thiin 0 9233 26655 26331 2024-02-01T09:24:55Z Girligaanshub 3150 26655 wikitext text/x-wiki {{-so-}} == Magac == '''thiin''' === Tarjumaad === * {{en}}: number, numeral tubavv0kvvd55ej45vvwgodokxqdr0a waageeni 0 9234 30797 30794 2024-09-17T18:56:52Z Girligaanshub 3150 30797 wikitext text/x-wiki {{-so-}} == Magac == '''waageeni''' === Tarjumaad === * {{en}}: interloper, intruder, trespasser, infiltrator, outsider, alien, foreigner, stranger, outcast ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] 3zaibft5z9igsmpc7ln6swgjo0yb8cq dhambaal 0 9237 32773 26717 2024-12-01T15:05:53Z ВМНС 5070 32773 wikitext text/x-wiki {{-so-}} == Magac == '''dhambaal''' === Tarjumaad === * {{en}}: message, correspondence, letter [[Category:Soomaali ereyada-dha]] tpaicl4f4ve9msezji97a7kxsuwulw1 shaf 0 9238 31485 31484 2024-10-13T00:45:07Z Girligaanshub 3150 31485 wikitext text/x-wiki {{-so-}} == Magac == '''shaf''' === Tarjumaad === * {{en}}: sternum, collar * {{en}}: shelf * {{en}}: chest, big chest * {{en}}: masculine frame, V-taper 024vct2mq0qc7p6nm71o73gc0j8c99g milicsi 0 9239 30182 30181 2024-08-24T03:17:27Z Girligaanshub 3150 30182 wikitext text/x-wiki {{-so-}} == Magac == '''milicsi''' === Tarjumaad === * {{en}}:, reflection 43ptl4197nbnpc6trjd81hfh3x66rzm dhaygag 0 9240 26341 2023-12-14T08:21:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaygag''' === Tarjumaad === * {{en}}: stare 26341 wikitext text/x-wiki {{-so-}} == Magac == '''dhaygag''' === Tarjumaad === * {{en}}: stare bjkwfytf3whyfubzo5yi929i1weakss kuuris 0 9241 26342 2023-12-14T08:22:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuuris''' === Tarjumaad === * {{en}}: glare 26342 wikitext text/x-wiki {{-so-}} == Magac == '''kuuris''' === Tarjumaad === * {{en}}: glare qlhf5fof7ywbecifx3ja30sldcyr485 jalleeco 0 9242 26343 2023-12-14T08:22:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jalleeco''' === Tarjumaad === * {{en}}: glimpse 26343 wikitext text/x-wiki {{-so-}} == Magac == '''jalleeco''' === Tarjumaad === * {{en}}: glimpse 80bchu122k3tfvoa9l70usx4gdh8ndj baxri 0 9243 26350 26344 2023-12-15T05:56:52Z Girligaanshub 3150 26350 wikitext text/x-wiki {{-so-}} == Magac == '''baxri''' === Tarjumaad === * {{en}}: aqua, cyan q30aghzfhpkc3bonbjnnlhtyr1rlfqa bunni 0 9244 26346 2023-12-14T21:33:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bunni''' === Tarjumaad === * {{en}}: brown 26346 wikitext text/x-wiki {{-so-}} == Magac == '''bunni''' === Tarjumaad === * {{en}}: brown 6h81q4wpml0i7tm27xagru15d1asyv6 basli 0 9245 26347 2023-12-14T21:52:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''basli''' === Tarjumaad === * {{en}}: pink 26347 wikitext text/x-wiki {{-so-}} == Magac == '''basli''' === Tarjumaad === * {{en}}: pink kyvo3euaw3o9wdslii1appv6tw53lew carwaajis 0 9246 26349 2023-12-14T23:56:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carwaajis''' === Tarjumaad === * {{en}}: magenta, orchid, mauve 26349 wikitext text/x-wiki {{-so-}} == Magac == '''carwaajis''' === Tarjumaad === * {{en}}: magenta, orchid, mauve d3q8z4rl84l0c8u7gic3wb92ovflnac mifkit 0 9247 26351 2023-12-15T05:57:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mifkit''' === Tarjumaad === * {{en}}: turquoise 26351 wikitext text/x-wiki {{-so-}} == Magac == '''mifkit''' === Tarjumaad === * {{en}}: turquoise k3jtao5j7fa1yenxgu32ujo7hrhw2a9 midab-darwiish 0 9248 26354 2023-12-15T07:13:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''midab-darwiish''' === Tarjumaad === * {{en}}: teal 26354 wikitext text/x-wiki {{-so-}} == Magac == '''midab-darwiish''' === Tarjumaad === * {{en}}: teal 01fmvkixbj6s35olbwilai76kk2xobz cillan 0 9249 26355 2023-12-15T11:05:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cillan''' === Tarjumaad === * {{en}}: abstract 26355 wikitext text/x-wiki {{-so-}} == Magac == '''cillan''' === Tarjumaad === * {{en}}: abstract stcpyz6fbrj668hnlpiyshcvqabi33f sees 0 9251 29549 26360 2024-08-05T08:22:39Z Girligaanshub 3150 29549 wikitext text/x-wiki {{-so-}} == Magac == '''sees''' === Tarjumaad === * {{en}}: groundwork ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] dv37tbciwbi69t57kkl7gydqu1i44dk duruufo 0 9252 32586 32527 2024-11-24T11:10:21Z Girligaanshub 3150 32586 wikitext text/x-wiki {{-so-}} == Magac == '''duruufo''' === Tarjumaad === * {{en}}: circumstance, circumstances, criteria, situation, situations, scenario, condition, instance, context, * {{en}}: impetus ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], tm6pbaoicvvxe61xkqjzrwfhp1n07lc kakan 0 9253 26365 2023-12-16T08:16:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kakan''' === Tarjumaad === * {{en}}: complex 26365 wikitext text/x-wiki {{-so-}} == Magac == '''kakan''' === Tarjumaad === * {{en}}: complex aa61p0yfjfs0isxjoxfmu1epgzmxmxa martiqaad 0 9254 31834 31829 2024-10-25T21:40:05Z Girligaanshub 3150 31834 wikitext text/x-wiki {{-so-}} == Magac == '''martiqaad''' === Tarjumaad === * {{en}}: invite, invitation ===Synonyms=== *[[dux]], [[nafaqeey]], [[casuum]], [[martiqaad]], [[quudi]] puebyeq11jy354f9a49ap4jrs78whnk boori 0 9255 26373 2023-12-17T05:43:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boori''' === Tarjumaad === * {{en}}: urge, encourage, encouragement ===Synonyms=== *[[boorin]], [[boori]], [[gubaabi]], [[faafi]] 26373 wikitext text/x-wiki {{-so-}} == Magac == '''boori''' === Tarjumaad === * {{en}}: urge, encourage, encouragement ===Synonyms=== *[[boorin]], [[boori]], [[gubaabi]], [[faafi]] qgoqxh3c8o5061he72103960y8fal7d faafi 0 9256 28651 27462 2024-07-01T12:14:12Z Girligaanshub 3150 28651 wikitext text/x-wiki {{-so-}} == Magac == '''faafi''' === Tarjumaad === * {{en}}: spread, promote ===Synonyms=== *[[boorin]], [[boori]], [[gubaabi]], [[faafi]], [[ololeey]] nr3olefylrk1fo5e5emxlsck6slpbik xujay 0 9257 26377 2023-12-17T06:25:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xujay''' === Tarjumaad === * {{en}}: challenge, dare, summon, one-upmanship, one-up, out-fox, better, outwit, merk, mog, narcissize ===Synonyms=== *[[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]], [[xujay]] 26377 wikitext text/x-wiki {{-so-}} == Magac == '''xujay''' === Tarjumaad === * {{en}}: challenge, dare, summon, one-upmanship, one-up, out-fox, better, outwit, merk, mog, narcissize ===Synonyms=== *[[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]], [[xujay]] 3z3dlq45ee4mitxutcfu9rlu45a5z94 dameeri 0 9258 26387 2023-12-17T20:11:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dameeri''' === Tarjumaad === * {{en}}: gray, grey ===Synonyms=== *[[dameeri]], [[beey]], [[sibidhi]] 26387 wikitext text/x-wiki {{-so-}} == Magac == '''dameeri''' === Tarjumaad === * {{en}}: gray, grey ===Synonyms=== *[[dameeri]], [[beey]], [[sibidhi]] rggdljo6z5mgl8j041phec19k0qv4r4 sibidhi 0 9259 29341 29329 2024-08-01T16:12:35Z Girligaanshub 3150 29341 wikitext text/x-wiki {{-so-}} == Magac == '''sibidhi''' === Tarjumaad === * {{en}}: gray, grey * {{en}}: subtle, vague, nuance ===Synonyms=== *[[dameeri]], [[beey]], [[sibidhi]] ===Synonyms=== *[[dahsoon]], [[sibidhi]], [[duurxul]], [[af-garooc]], [[sarbeeb]], [[guudmar]] g63qp74rzwg3e3p7x7x9lr9zp9skxg2 bidaal 0 9260 26389 2023-12-17T20:24:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bidaal''' === Tarjumaad === * {{en}}: guess 26389 wikitext text/x-wiki {{-so-}} == Magac == '''bidaal''' === Tarjumaad === * {{en}}: guess dov71dl8jwozklcbw8vvqi61zhksyly bidde 0 9261 31551 26390 2024-10-13T04:58:26Z Girligaanshub 3150 31551 wikitext text/x-wiki {{-so-}} == Magac == '''bidde''' === Tarjumaad === * {{en}}: slave ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], qhhqxyqix9mjpn17hh3u1oy9nvkfbel bilbil 0 9262 26393 2023-12-17T20:42:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bilbil''' === Tarjumaad === * {{en}}: spray 26393 wikitext text/x-wiki {{-so-}} == Magac == '''bilbil''' === Tarjumaad === * {{en}}: spray i6zuidcfkw0uonj59cw2kf2vt4jp1y5 bilcan 0 9263 26394 2023-12-17T20:51:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bilcan''' === Tarjumaad === * {{en}}: married woman 26394 wikitext text/x-wiki {{-so-}} == Magac == '''bilcan''' === Tarjumaad === * {{en}}: married woman kbuf61qj6ndkgn59ms25zmfkryxo9pz bilig 0 9264 26402 26396 2023-12-18T04:01:10Z Girligaanshub 3150 26402 wikitext text/x-wiki {{-so-}} == Magac == '''bilig''' === Tarjumaad === * {{en}}: twinkle, blink, flash jnfomqunyl4senb8i7ft0ml3hwfvm56 biliq 0 9265 26397 2023-12-17T21:36:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biliq''' === Tarjumaad === * {{en}}: scatter 26397 wikitext text/x-wiki {{-so-}} == Magac == '''biliq''' === Tarjumaad === * {{en}}: scatter gqtomsik30cph4p6ccg5b1hijvo40ky leexleex 0 9266 26398 2023-12-17T21:55:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''leexleex''' === Tarjumaad === * {{en}}: vacillating, vacillate, dither, dithering, teeter, teetering, oscillate, oscillating, swither, fluctuate, 26398 wikitext text/x-wiki {{-so-}} == Magac == '''leexleex''' === Tarjumaad === * {{en}}: vacillating, vacillate, dither, dithering, teeter, teetering, oscillate, oscillating, swither, fluctuate, r177us32rorztfbylfqqgl4tcbz1gl6 leexo 0 9267 26399 2023-12-17T21:56:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''leexo''' === Tarjumaad === * {{en}}: turn 26399 wikitext text/x-wiki {{-so-}} == Magac == '''leexo''' === Tarjumaad === * {{en}}: turn q46ci0hvendwedra97frna8cokkfh05 bilkeedo 0 9269 26401 2023-12-18T04:00:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bilkeedo''' === Tarjumaad === * {{en}}: chance, opportunity, probable, ===Synonyms=== *[[bilkeedo]], [[fursad]] 26401 wikitext text/x-wiki {{-so-}} == Magac == '''bilkeedo''' === Tarjumaad === * {{en}}: chance, opportunity, probable, ===Synonyms=== *[[bilkeedo]], [[fursad]] rhivra1ftryv063gf5y6h5x4z9o3xd7 birdanab 0 9270 26403 2023-12-18T04:02:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''birdanab''' === Tarjumaad === * {{en}}: magnet 26403 wikitext text/x-wiki {{-so-}} == Magac == '''birdanab''' === Tarjumaad === * {{en}}: magnet 8mp4bejwyexweomlz7jctissa8z6zhw labaale 0 9271 26404 2023-12-18T05:18:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''labaale''' === Tarjumaad === * {{en}}: double, binary, condominium 26404 wikitext text/x-wiki {{-so-}} == Magac == '''labaale''' === Tarjumaad === * {{en}}: double, binary, condominium gv113immlhrw7gn73zkmvrpmh4fzyls bixin 0 9272 26406 2023-12-18T05:24:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bixin''' === Tarjumaad === * {{en}}: supply, 26406 wikitext text/x-wiki {{-so-}} == Magac == '''bixin''' === Tarjumaad === * {{en}}: supply, qf2vxuvo2wkj71hlw9qxucm6ue81jbm booyaan 0 9273 32554 26408 2024-11-22T03:53:26Z Girligaanshub 3150 32554 wikitext text/x-wiki {{-so-}} == Magac == '''booyaan''' === Tarjumaad === * {{en}}: ambiguous, equivocal, ambivalent, obscure, vague, ===Synonyms=== *[[booyaan]], [[uufannays]], bcsa2dutmf284h8w215lxolmbj58x7c bucle 0 9274 26409 2023-12-18T11:25:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bucle''' === Tarjumaad === * {{en}}: jog, jogging 26409 wikitext text/x-wiki {{-so-}} == Magac == '''bucle''' === Tarjumaad === * {{en}}: jog, jogging t4sorny6fj5do11qxxzjg3xikj1va0d shiix 0 9275 26417 26411 2023-12-18T21:05:21Z Girligaanshub 3150 26417 wikitext text/x-wiki {{-so-}} == Magac == '''shiix''' === Tarjumaad === * {{en}}: awkward ===Synonyms=== *[[isquuf]], [[shiix]], [[sirgax]], [[silloon]], [[qariib]], [[yaxyax]] 2th7qdud4nqp01o1p2mq2hi4jwihlkk sirgax 0 9276 26416 26412 2023-12-18T21:05:08Z Girligaanshub 3150 26416 wikitext text/x-wiki {{-so-}} == Magac == '''sirgax''' === Tarjumaad === * {{en}}: awkward ===Synonyms=== *[[isquuf]], [[shiix]], [[sirgax]], [[silloon]], [[qariib]], [[yaxyax]] bejx7mrj6c0uf0yjb2gssy3dm6lu953 gacanbidix 0 9277 26658 26423 2024-02-01T15:57:48Z Girligaanshub 3150 26658 wikitext text/x-wiki {{-so-}} == Magac == '''gacanbidix''' === Tarjumaad === * {{en}}: left hand, lefthanded * {{en}}: mislead, misdirect, misguide, incorrect, wrong, inappropriate, improper, unbefitting, ===Synonyms=== *[[marin-habaabin]], [[taghut]], [[gacanbidix]] sfqn3fb6pf3b88a0gy6mayst8oy453f inqilaab 0 9278 29724 26428 2024-08-09T00:46:00Z Girligaanshub 3150 29724 wikitext text/x-wiki {{-so-}} == Magac == '''inqilaab''' === Tarjumaad === * {{en}}: coup * {{en}}: revolution, uprising ===Synonyms=== *[[afgenbi]], [[tawrad]], [[inqilaab]] npk0khn3ttim7j91ak0rj1vt0dtoktu xinjir 0 9279 26431 2023-12-23T10:41:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xinjir''' === Tarjumaad === * {{en}}: clot, blood clot 26431 wikitext text/x-wiki {{-so-}} == Magac == '''xinjir''' === Tarjumaad === * {{en}}: clot, blood clot t2ouo8n7cnsj2v2dsrebvk4za49gv0w cod 0 9280 26432 2023-12-23T13:25:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cod''' === Tarjumaad === * {{en}}: voice, sound 26432 wikitext text/x-wiki {{-so-}} == Magac == '''cod''' === Tarjumaad === * {{en}}: voice, sound lqo6eimum8op846b52zezakk8dxg7gi codso 0 9281 26433 2023-12-23T13:25:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''codso''' === Tarjumaad === * {{en}}: voice, recommend 26433 wikitext text/x-wiki {{-so-}} == Magac == '''codso''' === Tarjumaad === * {{en}}: voice, recommend opho5dfzoojrzcpu19pf1pr625afg66 raamaha 0 9282 26439 2023-12-24T02:19:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raamaha''' === Tarjumaad === * {{en}}: dreads, dreadlocks, rasta hair 26439 wikitext text/x-wiki {{-so-}} == Magac == '''raamaha''' === Tarjumaad === * {{en}}: dreads, dreadlocks, rasta hair iywgfh2cv6156hiqgckk2rfke74zqgq jaaliyada 0 9283 26441 2023-12-25T15:34:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaaliyada''' === Tarjumaad === * {{en}}: community 26441 wikitext text/x-wiki {{-so-}} == Magac == '''jaaliyada''' === Tarjumaad === * {{en}}: community gksmdz6heyhuzpdqh3x9eqhw6x52cfq fitrahda 0 9284 26453 2023-12-26T13:49:09Z Girligaanshub 3150 Girligaanshub moved page [[fitrahda]] to [[fitrah]] 26453 wikitext text/x-wiki #REDIRECT [[fitrah]] bnopoe0rztnjcglsj0ivugmdx0vrr57 Raage 0 9285 26454 2023-12-26T14:51:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Raage''' === Tarjumaad === * {{en}}: Saturn 26454 wikitext text/x-wiki {{-so-}} == Magac == '''Raage''' === Tarjumaad === * {{en}}: Saturn jje6564gngayx2m350snun964tqzcte meereyare 0 9286 26455 2023-12-26T14:54:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''meereyare''' === Tarjumaad === * {{en}}: asteroid 26455 wikitext text/x-wiki {{-so-}} == Magac == '''meereyare''' === Tarjumaad === * {{en}}: asteroid gvsuzeo2eszp2w7kvjh0xi0cp2vd0vg sinji 0 9287 30752 30666 2024-09-13T20:24:21Z Girligaanshub 3150 30752 wikitext text/x-wiki {{-so-}} == Magac == '''sinji''' === Tarjumaad === * {{en}}: heritage, race, ethnicity, origins, origin, genes, genetic d9lgw1phui5t7pd2rz73ecjcfvla77a carsaanyo 0 9288 26457 2023-12-27T12:55:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carsaanyo''' === Tarjumaad === * {{en}}: crab, 26457 wikitext text/x-wiki {{-so-}} == Magac == '''carsaanyo''' === Tarjumaad === * {{en}}: crab, k01nn1oxvqn4ir4z8omm73xswizpqf2 duuryo 0 9289 26458 2023-12-27T12:58:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duuryo''' === Tarjumaad === * {{en}}: kite, 26458 wikitext text/x-wiki {{-so-}} == Magac == '''duuryo''' === Tarjumaad === * {{en}}: kite, l9ycgpoavaa573i9xwqfnkqubw0lng2 jahwareeri 0 9290 29609 26459 2024-08-07T02:18:01Z Girligaanshub 3150 29609 wikitext text/x-wiki {{-so-}} == Magac == '''jahwareeri''' === Tarjumaad === * {{en}}: confuse, d3nc238doyhppiudhst0gzc3ozzyu3s isgaadhsii 0 9291 26460 2023-12-27T14:59:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isgaadhsii''' === Tarjumaad === * {{en}}: telecommunicate, telecommunication 26460 wikitext text/x-wiki {{-so-}} == Magac == '''isgaadhsii''' === Tarjumaad === * {{en}}: telecommunicate, telecommunication hwiyhgnqytslzxgh79pfu6daoacm949 sharcidaji 0 9292 26461 2023-12-27T16:40:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharcidaji''' === Tarjumaad === * {{en}}: legislate 26461 wikitext text/x-wiki {{-so-}} == Magac == '''sharcidaji''' === Tarjumaad === * {{en}}: legislate mas940iw91olf3mxc5xz321q33nm8d4 sharcidajinta 0 9293 26463 26462 2023-12-27T16:43:32Z Girligaanshub 3150 26463 wikitext text/x-wiki {{-so-}} == Magac == '''sharcidajinta''' === Tarjumaad === * {{en}}: legislation, legislature 2x0wwiuugcitg0k1atm379mr0yux89p shaleemad 0 9294 26464 2023-12-27T16:58:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaleemad''' === Tarjumaad === * {{en}}: cinema 26464 wikitext text/x-wiki {{-so-}} == Magac == '''shaleemad''' === Tarjumaad === * {{en}}: cinema gedazhci2sy72169uwvbrmrsdngo6da shirkad 0 9295 28792 26465 2024-07-20T01:41:08Z Girligaanshub 3150 28792 wikitext text/x-wiki {{-so-}} == Magac == '''shirkad''' === Tarjumaad === * {{en}}: company, business ===Synonyms=== *[[ganacsi]], [[warshad]], [[shirkad]] g1kx8x8su72f7h6ua4to4l36vfwajup xiriir 0 9296 26467 2023-12-27T17:03:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xiriir''' === Tarjumaad === * {{en}}: relation, relations 26467 wikitext text/x-wiki {{-so-}} == Magac == '''xiriir''' === Tarjumaad === * {{en}}: relation, relations k4j59xbghe4jigmnzk3qut9l4x67i47 buuroley 0 9297 26494 26469 2023-12-31T16:26:19Z Girligaanshub 3150 26494 wikitext text/x-wiki {{-so-}} == Magac == '''buuroley''' === Tarjumaad === * {{en}}: mountain range, range 4vsdp401kme7sqpzgo2n58021b0p35i biyoshub 0 9298 26470 2023-12-27T17:09:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biyoshub''' === Tarjumaad === * {{en}}: waterfall, water fall 26470 wikitext text/x-wiki {{-so-}} == Magac == '''biyoshub''' === Tarjumaad === * {{en}}: waterfall, water fall c8p7hrufb73v9ug0krqb8kvjwbdyeg8 cimilad 0 9299 26473 2023-12-27T17:13:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cimilad''' === Tarjumaad === * {{en}}: climate, geography 26473 wikitext text/x-wiki {{-so-}} == Magac == '''cimilad''' === Tarjumaad === * {{en}}: climate, geography dbl8lifhzrrvbhc3cwcay3jyw2c11qx budhcad-badeed 0 9300 26474 2023-12-27T17:14:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''budhcad-badeed''' === Tarjumaad === * {{en}}: piracy 26474 wikitext text/x-wiki {{-so-}} == Magac == '''budhcad-badeed''' === Tarjumaad === * {{en}}: piracy syuroei0757hwnp9i01hr67bestxlqe badmareen 0 9301 26475 2023-12-27T17:15:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badmareen''' === Tarjumaad === * {{en}}: maritime, marine, naval, seagoing, seafaring, 26475 wikitext text/x-wiki {{-so-}} == Magac == '''badmareen''' === Tarjumaad === * {{en}}: maritime, marine, naval, seagoing, seafaring, bjkkx4hpj51o11tmo1jlzbvoubor81x marxaalad 0 9302 31182 30973 2024-10-04T13:49:30Z Girligaanshub 3150 31182 wikitext text/x-wiki {{-so-}} == Magac == '''marxaalad''' === Tarjumaad === * {{en}}: phase, stage, facet, period, chapter, episode, form, aspect, interval ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] jwkylm0cx2p7n2mhoyg7vjb4tuyb3wf hantidoon 0 9303 31557 31556 2024-10-13T22:46:43Z Girligaanshub 3150 31557 wikitext text/x-wiki {{-so-}} == Magac == '''hantidoon''' === Tarjumaad === * {{en}}: hustler, economic liberalism, economic libertarian, economic liberal, capitalist roo14y9s2xab38ytl4o4eqtzjxpyayv magacdoon 0 9304 28407 26514 2024-06-15T16:33:09Z Girligaanshub 3150 28407 wikitext text/x-wiki {{-so-}} == Magac == '''magacdoon''' === Tarjumaad === * {{en}}: egoist, attention seeker, exhibitionist, boaster, clout, clout-chasing, prestige, sway ===Synonyms=== *[[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] e07r9677179dn6nsll6xn19b5hal1fd awbadeed 0 9305 26484 2023-12-30T08:32:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awbadeed''' === Tarjumaad === * {{en}}: island 26484 wikitext text/x-wiki {{-so-}} == Magac == '''awbadeed''' === Tarjumaad === * {{en}}: island nz0ndctcpvexh3eikg7s52ajn7k8hbh maroodi 0 9306 26487 2023-12-30T11:57:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maroodi''' === Tarjumaad === * {{en}}: elephant, 26487 wikitext text/x-wiki {{-so-}} == Magac == '''maroodi''' === Tarjumaad === * {{en}}: elephant, le6zwcofpinvscamt0876l7ksrwuu7x salaax 0 9307 26491 2023-12-30T19:43:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''salaax''' === Tarjumaad === * {{en}}: smoothen, relax 26491 wikitext text/x-wiki {{-so-}} == Magac == '''salaax''' === Tarjumaad === * {{en}}: smoothen, relax oodlxe2b0yub651nkm8rmrhjh95lhkc saqajaan 0 9308 31569 26969 2024-10-15T06:26:19Z Girligaanshub 3150 31569 wikitext text/x-wiki {{-so-}} == Magac == '''saqajaan''' === Tarjumaad === * {{en}}: outcast, misfit, deviant ===Synonyms=== *[[saqajaan]], [[urguf]], [[khasiis]] mf2rnfrx6p852av6yxwa7betrrz0lov apti 0 9309 26493 2023-12-31T06:35:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''apti''' === Tarjumaad === * {{en}}: maternal uncle 26493 wikitext text/x-wiki {{-so-}} == Magac == '''apti''' === Tarjumaad === * {{en}}: maternal uncle r2laacr2m6voigdpa8jtjojd9n0k6ph warood 0 9310 26495 2024-01-01T10:50:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warood''' === Tarjumaad === * {{en}}: district, 26495 wikitext text/x-wiki {{-so-}} == Magac == '''warood''' === Tarjumaad === * {{en}}: district, hkxdunbtj54916wyncp24owkgun9w2r samafale 0 9311 31291 30532 2024-10-04T16:46:04Z Girligaanshub 3150 31291 wikitext text/x-wiki {{-so-}} == Magac == '''samafale''' === Tarjumaad === * {{en}}: anthropologist, social worker, counsellor, counselor, therapist, humanitarian, benefactor, good samaritan, philanthropist, altruist ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] m4s6jflyzpt1xq1pmayc09v2z5dw7l3 samir 0 9312 26499 2024-01-01T21:06:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''samir''' === Tarjumaad === * {{en}}: patience 26499 wikitext text/x-wiki {{-so-}} == Magac == '''samir''' === Tarjumaad === * {{en}}: patience lwt8vifahaq7cg064hhrx7tmr6fbf1i tijaabi 0 9313 32098 26500 2024-10-28T04:20:37Z Girligaanshub 3150 32098 wikitext text/x-wiki {{-so-}} == Magac == '''tijaabi''' === Tarjumaad === * {{en}}: attempt, try, experiment, ===Synonyms=== *[[hollado]], [[tijaabi]] m2ly1985ipfd6o2wani72p7vk8gfcul qalinley 0 9314 26511 26502 2024-01-03T09:53:21Z Girligaanshub 3150 26511 wikitext text/x-wiki {{-so-}} == Magac == '''qalinley''' === Tarjumaad === * {{en}}: academic, bookworm, writer, scholar, formal, formality ===Synonyms=== *[[sakow]], [[qalinley]] ===Synonyms=== *[[ansixin]], [[ictiraaf]], [[rasmi]], [[rasmiyeeyo]], [[facayso]], [[af-garasho]], [[qalinley]] c40gq9dg9fiepp1j4nqdro4yeuvfra2 User:Stefán Örvar Sigmundsson 2 9315 26507 2024-01-02T06:28:27Z Stefán Örvar Sigmundsson 1768 Bog cusub: [[wikipedia:en:User:Stefán Örvar Sigmundsson]] 26507 wikitext text/x-wiki [[wikipedia:en:User:Stefán Örvar Sigmundsson]] eeyit5qujkn63fz4jizeeddlhkf4v7q raaxo 0 9316 28061 27778 2024-06-08T22:44:58Z Girligaanshub 3150 28061 wikitext text/x-wiki {{-so-}} == Magac == '''raaxo''' === Tarjumaad === * {{en}}: pleasure, happiness, joy ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] mxayru64040wi18zwb7522mmv5orahu qalinleyo 0 9317 26515 2024-01-03T13:51:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalinleyo''' === Tarjumaad === * {{en}}: formalize, formalise 26515 wikitext text/x-wiki {{-so-}} == Magac == '''qalinleyo''' === Tarjumaad === * {{en}}: formalize, formalise gjkmgct2q8666khyja1ck2gmgcs6vsl qalinleyn 0 9318 26516 2024-01-03T13:51:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalinleyn''' === Tarjumaad === * {{en}}: formalization, 26516 wikitext text/x-wiki {{-so-}} == Magac == '''qalinleyn''' === Tarjumaad === * {{en}}: formalization, okcfhugb3ty82owydhujv8j8ja5lr3x gabley 0 9319 26523 2024-01-06T06:49:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabley''' === Tarjumaad === * {{en}}: debtor 26523 wikitext text/x-wiki {{-so-}} == Magac == '''gabley''' === Tarjumaad === * {{en}}: debtor b0ebb9k1uj500h1x2s8d0x0ypxl7s4w cashar 0 9320 32202 31739 2024-11-01T18:11:59Z Girligaanshub 3150 32202 wikitext text/x-wiki {{-so-}} == Magac == '''cashar''' === Tarjumaad === * {{en}}: lesson, course, session ===Synonyms=== *[[fasal]], [[cashar]], [[kuliyad]], [[dhigasho]] 6rds6r2xkhwd77nxs1ar0ja1qr8ee0i lesson 0 9321 26529 2024-01-06T22:00:50Z Girligaanshub 3150 Girligaanshub moved page [[lesson]] to [[cashir]] 26529 wikitext text/x-wiki #REDIRECT [[cashir]] jni9jj6vcf7uug7g7rhg7r0oy4hvakx shefdo 0 9322 26532 2024-01-06T23:33:01Z Girligaanshub 3150 Girligaanshub moved page [[shefdo]] to [[shafad]] 26532 wikitext text/x-wiki #REDIRECT [[shafad]] ehzkpnbujo0z5mryg7xysci8fmjan32 gaani 0 9323 31209 28522 2024-10-04T14:28:49Z Girligaanshub 3150 31209 wikitext text/x-wiki {{-so-}} == Magac == '''gaani''' === Tarjumaad === * {{en}}: brave, tough, rough ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] mj9mq5hk8q43okdprowczcj9vh3pwth caawi 0 9324 29240 26547 2024-07-31T03:12:50Z Girligaanshub 3150 29240 wikitext text/x-wiki {{-so-}} == Magac == '''caawi''' === Tarjumaad === * {{en}}: dualize, make binary, pair up, double up, twinify, twinification, * {{en}}: help, support ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] 23v08d6doaavf5ijqiofnepzhh41vp9 mid 0 9325 26556 2024-01-11T12:07:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mid''' === Tarjumaad === * {{en}}: alike, like, similar to 26556 wikitext text/x-wiki {{-so-}} == Magac == '''mid''' === Tarjumaad === * {{en}}: alike, like, similar to gah8it8vzuidt9c1qvwwg01bxdguzlb cootib 0 9326 26558 2024-01-12T05:30:09Z Girligaanshub 3150 Girligaanshub moved page [[cootib]] to [[coodtabin]] 26558 wikitext text/x-wiki #REDIRECT [[coodtabin]] qtzzbvtltj50b7tpyoeevlkcm1w8j4u coodtabiye 0 9327 32315 29094 2024-11-08T05:13:21Z Girligaanshub 3150 32315 wikitext text/x-wiki {{-so-}} == Magac == '''coodtabiye''' === Tarjumaad === * {{en}}: shepherd, chaperone, escort ===Synonyms=== *[[warshade]], , [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] pqq553xwta6vmm82c06pelfk86dom3m kufso 0 9328 26568 2024-01-12T10:39:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kufso''' === Tarjumaad === * {{en}}: kidnap, 26568 wikitext text/x-wiki {{-so-}} == Magac == '''kufso''' === Tarjumaad === * {{en}}: kidnap, ad36wpf1kczg50ibd9cjj7m9h2c5d1w laanqayr 0 9329 26569 2024-01-13T05:11:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laanqayr''' === Tarjumaad === * {{en}}: cruciform, cross 26569 wikitext text/x-wiki {{-so-}} == Magac == '''laanqayr''' === Tarjumaad === * {{en}}: cruciform, cross hslo8sla3lj129jgf5f3vnsf069q5ye daawade 0 9330 32166 26570 2024-10-30T20:01:36Z Girligaanshub 3150 32166 wikitext text/x-wiki {{-so-}} == Magac == '''daawade''' === Tarjumaad === * {{en}}: viewer, ===Synonyms=== *[[daawade]], [[daawane]] 17qqpvjqd5hrdn8cnpm49xs81e260ua dhaqaale 0 9331 26578 2024-01-15T17:17:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqaale''' === Tarjumaad === * {{en}}: economic, business, fiscal, 26578 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqaale''' === Tarjumaad === * {{en}}: economic, business, fiscal, dobsnm75gwqk72i92ecj6mo1cpn8hlg dhegacas 0 9332 26580 2024-01-16T10:06:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhegacas''' === Tarjumaad === * {{en}}: Arab 26580 wikitext text/x-wiki {{-so-}} == Magac == '''dhegacas''' === Tarjumaad === * {{en}}: Arab tk5yn4hnoqm6u5hg7x32uipf910r0kq timo-jileec 0 9333 26581 2024-01-16T10:07:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tim-jileec''' === Tarjumaad === * {{en}}: Indian, south Asian 26581 wikitext text/x-wiki {{-so-}} == Magac == '''tim-jileec''' === Tarjumaad === * {{en}}: Indian, south Asian piqs61f7wl946zxovy07yudyr289kqc indhoyar 0 9334 26582 2024-01-16T10:08:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indhoyar''' === Tarjumaad === * {{en}}: Oriental East Asian, Mongoloid 26582 wikitext text/x-wiki {{-so-}} == Magac == '''indhoyar''' === Tarjumaad === * {{en}}: Oriental East Asian, Mongoloid drgc74e9spedz1farl4ogmjyco0ke4r dhaarsan 0 9335 32676 32669 2024-11-30T08:58:46Z Girligaanshub 3150 32676 wikitext text/x-wiki {{-so-}} == Magac == '''dhaarsan''' === Tarjumaad === * {{en}}: perseverance, resolute, adamant, determined, unwavering, unflinching, intransigent, stubborn, obstinate, * {{en}}: under oath, sworn-in ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[ceshado]], [[deni]], [[gaan]], [[gaani]], [[macno leh]] aldw8cisag8q54fcnshlmb3w0z6ojgn habsocod 0 9336 30690 27952 2024-09-11T03:10:08Z Girligaanshub 3150 30690 wikitext text/x-wiki {{-so-}} == Magac == '''habsocod''' === Tarjumaad === * {{en}}: procedure, demeanour, disposition, arrangement, inclination, norms, convention, proclivity, orientation, predilection, ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], ovcaz722txpvja3jzlfz10ctdg180dt sahlo 0 9337 26590 2024-01-20T23:10:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sahlo''' === Tarjumaad === * {{en}}: ease, mitigate, soften, allay, soothe, relieve, ameliorate, allay, alleviate, palliate, 26590 wikitext text/x-wiki {{-so-}} == Magac == '''sahlo''' === Tarjumaad === * {{en}}: ease, mitigate, soften, allay, soothe, relieve, ameliorate, allay, alleviate, palliate, b532apcqhjzm7oac2xuushoeoixqxlm xidigle 0 9338 26591 2024-01-22T18:41:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xidigle''' === Tarjumaad === * {{en}}: lieutenant 26591 wikitext text/x-wiki {{-so-}} == Magac == '''xidigle''' === Tarjumaad === * {{en}}: lieutenant s56j9e6jt22x7ytykqdjj0htra5oiac gaashaanle 0 9339 30606 26592 2024-09-09T00:35:30Z Girligaanshub 3150 30606 wikitext text/x-wiki {{-so-}} == Magac == '''gaashaanle''' === Tarjumaad === * {{en}}: major, colonel, general, commander 4557xf0yhs8q8wkhd2t0o85btskxoiz abaanduule 0 9340 26593 2024-01-22T18:43:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abaanduule''' === Tarjumaad === * {{en}}: commander 26593 wikitext text/x-wiki {{-so-}} == Magac == '''abaanduule''' === Tarjumaad === * {{en}}: commander 85wc74mi0umwkhicds5gupgeza961he ifbax 0 9341 28254 27964 2024-06-14T11:54:34Z Girligaanshub 3150 28254 wikitext text/x-wiki {{-so-}} == Magac == '''ifbax''' === Tarjumaad === * {{en}}: initiate, improvize, commence, usher, instigate, launch, establish, induct, install, innovate, commence, foment, improvization, improvize ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] nugoaj0wyd2oen1ymwsoqjuih21bho8 ifbixi 0 9342 28252 28248 2024-06-14T11:53:44Z Girligaanshub 3150 28252 wikitext text/x-wiki {{-so-}} == Magac == '''ifbixi''' === Tarjumaad === * {{en}}: improvize, produce, initiate, commence, usher, instigate, launch, establish, induct, install, cultivate, innovate, commence, foment, invent ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] 8klhyio4m4vmgjidqu4dkfs7d6trn9t ifbixin 0 9343 32480 28251 2024-11-16T02:42:06Z Girligaanshub 3150 32480 wikitext text/x-wiki {{-so-}} == Magac == '''ifbixin''' === Tarjumaad === * {{en}}: initiation, improvization, creativeness, trending, initiation, commencement, ushering, instigation, launch, establishment, induction, installment, cultivation ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] 3fvjwqaak2zuflicb8rmhghcxsobxlv ifbixinta 0 9344 28250 27901 2024-06-14T11:53:23Z Girligaanshub 3150 28250 wikitext text/x-wiki {{-so-}} == Magac == '''ifbixinta''' === Tarjumaad === * {{en}}: initiation, commencement, ushering, instigation, launch, establishment, induction, installment, cultivation, innovation, improvization, cultivation, production ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] bmc807mxbosqdyvxtay798fsok2jb7m shilin 0 9345 32757 32756 2024-12-01T08:22:02Z ВМНС 5070 32757 wikitext text/x-wiki {{-so-}} == Magac == '''shilin''' === Tarjumaad === * {{en}}: tick arachnid [[Category:Soomaali ereyada-shi]] cf3u6zhomhtjge9rugsczzz6oxflsvf aboxor 0 9346 26622 26606 2024-01-26T21:47:08Z Girligaanshub 3150 Bog loo bedeley [[aboor]] 26622 wikitext text/x-wiki #redirect [[aboor]] 1n091x265t38op0sktez8ju2067fdyi cuncas 0 9347 26608 26607 2024-01-26T19:59:25Z Girligaanshub 3150 26608 wikitext text/x-wiki {{-so-}} == Magac == '''cuncas''' === Tarjumaad === * {{en}}: partridge, galliform bird pjli0hf1x7tfccwyc94wg403nvhz7pp bayooni 0 9348 26610 2024-01-26T20:09:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bayooni''' === Tarjumaad === * {{en}}: rabbit 26610 wikitext text/x-wiki {{-so-}} == Magac == '''bayooni''' === Tarjumaad === * {{en}}: rabbit qrbu99ei656q01eb7s4adpw4h9ou0vw aluule 0 9349 26632 26611 2024-01-26T22:56:33Z Girligaanshub 3150 Bog loo bedeley [[culaacul]] 26632 wikitext text/x-wiki #redirect [[culaacul]] k84z4whj07f35svc9ed8yddgo7b08bd hangararre 0 9350 29805 26612 2024-08-12T04:47:35Z Girligaanshub 3150 Bog loo bedeley [[hanqaraarac]] 29805 wikitext text/x-wiki #redirect [[hanqaraarac]] c9y5pdhz776suz94f3zw0nv6dwojc40 cali-gelibay 0 9351 26613 2024-01-26T20:20:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cali-gelibay''' === Tarjumaad === * {{en}}: Solifugae, camel spider, wind scorpion, sun spider, or solifuge 26613 wikitext text/x-wiki {{-so-}} == Magac == '''cali-gelibay''' === Tarjumaad === * {{en}}: Solifugae, camel spider, wind scorpion, sun spider, or solifuge a13k36fc7ybyyj2fx6i3qxhocdhkt3p caanoqub 0 9352 29521 26614 2024-08-05T02:46:35Z Girligaanshub 3150 29521 wikitext text/x-wiki {{-so-}} == Magac == '''caanoqub''' === Tarjumaad === * {{en}}: porcupine, * {{en}}: Coccinellidae, ladybug, ladybird, rx0180pf0tagvr90q2hvoi16rgevies malaa'ik gudooy 0 9353 26615 2024-01-26T21:13:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malaa'ik gudooy''' === Tarjumaad === * {{en}}: mantis, mantodea, 26615 wikitext text/x-wiki {{-so-}} == Magac == '''malaa'ik gudooy''' === Tarjumaad === * {{en}}: mantis, mantodea, peug73mwio8ht3m55u0xce2qfzifyfb hanqaraarac 0 9354 26616 2024-01-26T21:14:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanqaraarac''' === Tarjumaad === * {{en}}: millipede 26616 wikitext text/x-wiki {{-so-}} == Magac == '''hanqaraarac''' === Tarjumaad === * {{en}}: millipede ainxov6yv97xe2tnfb3xe2h96g197ty kaneeco 0 9355 26618 2024-01-26T21:15:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaneeco''' === Tarjumaad === * {{en}}: mosquito 26618 wikitext text/x-wiki {{-so-}} == Magac == '''kaneeco''' === Tarjumaad === * {{en}}: mosquito 9bf7vb6q0wm4lslzq7exksc8bdxr1yt dhilmaanyo 0 9356 26619 2024-01-26T21:23:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhilmaanyo''' === Tarjumaad === * {{en}}: midge 26619 wikitext text/x-wiki {{-so-}} == Magac == '''dhilmaanyo''' === Tarjumaad === * {{en}}: midge hexj9xqhy4bjiel3tamrt0rw7wq4g4k jiiqjiiqle 0 9357 26621 26620 2024-01-26T21:37:35Z Girligaanshub 3150 26621 wikitext text/x-wiki {{-so-}} == Magac == '''jiiqjiiqle''' === Tarjumaad === * {{en}}: earwig, Dermaptera 7fd6pdc6dmdqyms7nw63p2opqkyagc7 kabajaan 0 9358 26623 2024-01-26T22:07:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabajaan''' === Tarjumaad === * {{en}}: cricket, Gryllides, Paragryllidae 26623 wikitext text/x-wiki {{-so-}} == Magac == '''kabajaan''' === Tarjumaad === * {{en}}: cricket, Gryllides, Paragryllidae 84ie32t4o3jiqgjywn664izu1vlfwts diirdiir 0 9359 26624 2024-01-26T22:22:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diirdiir''' === Tarjumaad === * {{en}}: caterpillar, 26624 wikitext text/x-wiki {{-so-}} == Magac == '''diirdiir''' === Tarjumaad === * {{en}}: caterpillar, 31ozeg7jzgc0aougmc9m0ukjkmlc6ix juruf 0 9360 26625 2024-01-26T22:30:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''juruf''' === Tarjumaad === * {{en}}: true bug, true bugs, Hemiptera, 26625 wikitext text/x-wiki {{-so-}} == Magac == '''juruf''' === Tarjumaad === * {{en}}: true bug, true bugs, Hemiptera, 6f1dzkxpevoqmoesi8os1s14dc3syw1 xaar-walwaal 0 9361 26628 26627 2024-01-26T22:47:16Z Girligaanshub 3150 26628 wikitext text/x-wiki {{-so-}} == Magac == '''xaar-walwaal''' === Tarjumaad === * {{en}}: dung beetle nu41qg5g9hsdig6zf0urkq3g37en37e doorshaan 0 9362 26629 2024-01-26T22:47:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''doorshaan''' === Tarjumaad === * {{en}}: beetle 26629 wikitext text/x-wiki {{-so-}} == Magac == '''doorshaan''' === Tarjumaad === * {{en}}: beetle ph743c0amosqvuznhh852mimrp9gpq2 gafane 0 9363 29811 26633 2024-08-12T07:04:52Z Girligaanshub 3150 29811 wikitext text/x-wiki {{-so-}} == Magac == '''gafane''' === Tarjumaad === * {{en}}: tick su8lduvcmuznc699ubt76dtve070cy0 bikrad-jebi 0 9364 26634 2024-01-28T13:41:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bikrad-jebi''' === Tarjumaad === * {{en}}: deflower, popping the cherry, lose one's virginity, disvirgin, 26634 wikitext text/x-wiki {{-so-}} == Magac == '''bikrad-jebi''' === Tarjumaad === * {{en}}: deflower, popping the cherry, lose one's virginity, disvirgin, gqkzzqexg80q92e8gta19hs5hnpu3wj duulista 0 9366 26637 2024-01-29T19:33:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duulista''' === Tarjumaad === * {{en}}: aviation 26637 wikitext text/x-wiki {{-so-}} == Magac == '''duulista''' === Tarjumaad === * {{en}}: aviation 8ji68bky7ptkwmjlv2mzqz59bvla8dm duuliye 0 9367 26638 2024-01-29T19:34:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duuliye''' === Tarjumaad === * {{en}}: pilot 26638 wikitext text/x-wiki {{-so-}} == Magac == '''duuliye''' === Tarjumaad === * {{en}}: pilot 02ir8bkk57dwindsz27fpfiouberrlh xidhiidhiye 0 9368 32308 29089 2024-11-08T05:11:50Z Girligaanshub 3150 32308 wikitext text/x-wiki {{-so-}} == Magac == '''xidhiidhiye''' === Tarjumaad === * {{en}}: overseer, superintendent, foreman, supervisor, steward, mediator, guide ===Synonyms=== * [[xidhiidhiye]], [[dhexdhexaadiye]], [[shirshoore]] ovx9w01uqn6hsd1mj6oyzho2pvs3qdr jufo 0 9369 26644 2024-01-30T17:30:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jufo''' === Tarjumaad === * {{en}}: subclan, sub-clan, phratry, 26644 wikitext text/x-wiki {{-so-}} == Magac == '''jufo''' === Tarjumaad === * {{en}}: subclan, sub-clan, phratry, gnivzn1sf29643tyx7x9motgy92pdzk dhexdhexaadiye 0 9370 32309 29090 2024-11-08T05:12:04Z Girligaanshub 3150 32309 wikitext text/x-wiki {{-so-}} == Magac == '''dhexdhexaadiye''' === Tarjumaad === * {{en}}: mediator, guide ===Synonyms=== * [[xidhiidhiye]], [[dhexdhexaadiye]], [[shirshoore]] fr3wy0dphs4x6v2qn7qzndgwpajpqjp nagaad 0 9371 26649 2024-01-31T03:38:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nagaad''' === Tarjumaad === * {{en}}: entrenched, resilient, embedded 26649 wikitext text/x-wiki {{-so-}} == Magac == '''nagaad''' === Tarjumaad === * {{en}}: entrenched, resilient, embedded 6zd11oo873yo8dkrixj2aplvzko6zzl dalool 0 9372 26651 2024-01-31T08:05:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalool''' === Tarjumaad === * {{en}}: hole 26651 wikitext text/x-wiki {{-so-}} == Magac == '''dalool''' === Tarjumaad === * {{en}}: hole 4zkzxysqzioqvz0ue1f1922gp2213a0 kaabayaasha 0 9373 26654 2024-02-01T08:59:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaabayaasha''' === Tarjumaad === * {{en}}: infrastructure 26654 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaasha''' === Tarjumaad === * {{en}}: infrastructure 9pp7u86a2g6i8gwe4haby9y2rszzrhl tiro 0 9374 26656 2024-02-01T09:26:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiro''' === Tarjumaad === * {{en}}: count, quantity 26656 wikitext text/x-wiki {{-so-}} == Magac == '''tiro''' === Tarjumaad === * {{en}}: count, quantity h31yjmg9gti1aaarpr17rf4rbefmn7l rug 0 9375 26661 2024-02-01T18:57:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rug''' === Tarjumaad === * {{en}}: turn, switch 26661 wikitext text/x-wiki {{-so-}} == Magac == '''rug''' === Tarjumaad === * {{en}}: turn, switch ib3yir1po00dgas9320i2fxpx1a4bpz gudboon 0 9376 26662 2024-02-01T18:58:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gudboon''' === Tarjumaad === * {{en}}: passable, doable, feasible 26662 wikitext text/x-wiki {{-so-}} == Magac == '''gudboon''' === Tarjumaad === * {{en}}: passable, doable, feasible pjlkjs8ixjn7sjxg9fvn9c6cvls814e ceeboobo 0 9377 26663 2024-02-02T19:30:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ceeboobo''' === Tarjumaad === * {{en}}: humiliate 26663 wikitext text/x-wiki {{-so-}} == Magac == '''ceeboobo''' === Tarjumaad === * {{en}}: humiliate hnzubcmripodm0tud3scy7rnw4ahsf8 waslad 0 9378 26669 26664 2024-02-02T23:47:14Z Girligaanshub 3150 26669 wikitext text/x-wiki {{-so-}} == Magac == '''waslad''' === Tarjumaad === * {{en}}: steak * {{en}}: fertiliser, procreator, fertilizer, pollinator, germinator, begetter, begettor, 2amgch676kp891fco6dzjwbh6ch9ztw talaq 0 9379 26665 2024-02-02T21:14:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''talaq''' === Tarjumaad === * {{en}}: divorce 26665 wikitext text/x-wiki {{-so-}} == Magac == '''talaq''' === Tarjumaad === * {{en}}: divorce 0hg5got3jfvdnqf55em8tbn8g0m5zwv jinsi 0 9380 26666 2024-02-02T21:15:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jinsi''' === Tarjumaad === * {{en}}: gender 26666 wikitext text/x-wiki {{-so-}} == Magac == '''jinsi''' === Tarjumaad === * {{en}}: gender si1j10854h4e5an71hlc1ecxtejhkhx gacanbidixe 0 9381 26970 26672 2024-03-19T15:33:35Z Girligaanshub 3150 26970 wikitext text/x-wiki {{-so-}} == Magac == '''gacanbidixe''' === Tarjumaad === * {{en}}: lefthanded person * {{en}}: crook, rogue, scoundrel, rascal, dishonest, corrupt, crooked, immoral, tricky, unscrupulous, devious, unethical, unprofessional, ===Synonyms=== *[[khaldaan]], [[gacanbidixe]], [[marin-habaabin]] 1jk8d7uhs8htxz4tta1rn7uhk87gv6q balwadqabe 0 9382 31429 28228 2024-10-08T17:12:50Z Girligaanshub 3150 31429 wikitext text/x-wiki {{-so-}} == Magac == '''balwadqabe''' === Tarjumaad === * {{en}}: addict ====Synonyms==== *[[qabatow]], [[balwadqabe]], [[balwadley]] aljzu8lfsemoy2z2lqimtx060cf2pdx balwadley 0 9383 31427 28229 2024-10-08T17:11:55Z Girligaanshub 3150 31427 wikitext text/x-wiki {{-so-}} == Magac == '''balwadley''' === Tarjumaad === * {{en}}: addict ====Synonyms==== *[[qabatow]], [[balwadqabe]], [[balwadley]] 8k6ph8a8ok1t1zwenolsxxd045p5anc ghayrah-qabe 0 9384 26676 2024-02-05T00:31:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ghayrah-qabe''' === Tarjumaad === * {{en}}: gallant, gallantry, ===Antonyms=== *[[dayouth]] 26676 wikitext text/x-wiki {{-so-}} == Magac == '''ghayrah-qabe''' === Tarjumaad === * {{en}}: gallant, gallantry, ===Antonyms=== *[[dayouth]] 9e8ihbjyrdic8ph6u074ei9c5hgdfze macno leh 0 9385 32680 32664 2024-11-30T09:00:26Z Girligaanshub 3150 32680 wikitext text/x-wiki {{-so-}} == Magac == '''macno leh''' === Tarjumaad === * {{en}}: serious, seriously, important, ===Synonyms=== *[[dhabahaanti]], [[jiddan]], [[bareeran]], [[badheedh]], [[ciirsan ]], [[daruuri]], [[ba'an]] h96v0wuaqpwdr76euh82k6b9iuc9f01 majeero 0 9386 26687 2024-02-05T07:28:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majeero''' === Tarjumaad === * {{en}}: to like 26687 wikitext text/x-wiki {{-so-}} == Magac == '''majeero''' === Tarjumaad === * {{en}}: to like iqzmnddual8wwm9solaanydo68a9sbn kaabayaasheed 0 9387 26688 2024-02-05T22:54:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaabayaasheed''' === Tarjumaad === * {{en}}: infrastructural 26688 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaasheed''' === Tarjumaad === * {{en}}: infrastructural n9gn8ojd2qdd569b4qw4y17n3t197j1 kaabayaale 0 9388 26689 2024-02-05T22:56:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaabayaale''' === Tarjumaad === * {{en}}: infrastructuralist, constructivist * {{en}}: prescriptivist 26689 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaale''' === Tarjumaad === * {{en}}: infrastructuralist, constructivist * {{en}}: prescriptivist mn9lc4q44gsa43ed3c4s77ss10ymgm1 kaabayaalnimo 0 9389 26690 2024-02-05T22:59:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaabayaalnimo''' === Tarjumaad === * {{en}}: constructivism 26690 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaalnimo''' === Tarjumaad === * {{en}}: constructivism 0z6qqg1d81kkxfij6110lfvc85j2s9p kaabayaal-leh 0 9390 27132 26691 2024-04-10T14:19:11Z Girligaanshub 3150 27132 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaal-leh''' === Tarjumaad === * {{en}}: constructive ===Synonyms=== *[[dalsanka]], [[dalsan]], [[kaabayaalaysan]], [[kaabayaal-leh]] 5ng2suw0qvrw08sfgmal6kegox88bs5 kaabayaalaysan 0 9391 27131 27127 2024-04-10T14:19:03Z Girligaanshub 3150 27131 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaalaysan''' === Tarjumaad === * {{en}}: constructive ===Synonyms=== *[[dalsanka]], [[dalsan]], [[kaabayaalaysan]], [[kaabayaal-leh]] 98takvhag2wjy8yb02qwd31nvzix92n arkaan 0 9392 26693 2024-02-06T10:57:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''arkaan''' === Tarjumaad === * {{en}}: pillar 26693 wikitext text/x-wiki {{-so-}} == Magac == '''arkaan''' === Tarjumaad === * {{en}}: pillar og1fz1v550whtmkb1f6tfqf5t2gmonn samaroon 0 9393 26786 26694 2024-02-14T05:58:13Z Girligaanshub 3150 26786 wikitext text/x-wiki {{-so-}} == Magac == '''samaroon''' === Tarjumaad === * {{en}}: supremacy, superior, superiority 3mmpu9v2lc9h789csf2e8m607p4v6iy eexada qoyska 0 9394 26698 2024-02-07T01:51:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eexada qoyska''' === Tarjumaad === * {{en}}: nepotism 26698 wikitext text/x-wiki {{-so-}} == Magac == '''eexada qoyska''' === Tarjumaad === * {{en}}: nepotism eu86w0u3zze8w29zkctjjnbtb52lluk carshi 0 9395 26699 2024-02-07T18:59:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carshi''' === Tarjumaad === * {{en}}: throne, royal seat, 26699 wikitext text/x-wiki {{-so-}} == Magac == '''carshi''' === Tarjumaad === * {{en}}: throne, royal seat, 3yj20doxg4mo0dhir4f2bosn55mtbtn mowle 0 9396 26700 2024-02-08T16:22:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mowle''' === Tarjumaad === * {{en}}: lord 26700 wikitext text/x-wiki {{-so-}} == Magac == '''mowle''' === Tarjumaad === * {{en}}: lord 4xd60695482m26bgiqic75rkafmq4if maciin 0 9397 29242 26701 2024-07-31T03:13:07Z Girligaanshub 3150 29242 wikitext text/x-wiki {{-so-}} == Magac == '''maciin''' === Tarjumaad === * {{en}}: help ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] 29tt9t3uq1wszvpsfa2p8stsn1rmx28 qaroof 0 9398 26702 2024-02-08T16:26:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaroof''' === Tarjumaad === * {{en}}: crooked, curve, curved 26702 wikitext text/x-wiki {{-so-}} == Magac == '''qaroof''' === Tarjumaad === * {{en}}: crooked, curve, curved 8hka46bs5gocciv1eum1gw9gpo9vhal maadlow 0 9399 29276 26703 2024-07-31T07:46:52Z Girligaanshub 3150 29276 wikitext text/x-wiki {{-so-}} == Magac == '''maadlow''' === Tarjumaad === * {{en}}: humour, leisure ===Synonyms=== *[[majaajilo]], [[tamashlayn]], [[saleel]], [[maadlow]], [[hiwaayad]] k9b6iyyqa5obsm9z8ymkvswb7qk3j3x galaafo 0 9400 26704 2024-02-08T16:32:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galaafo''' === Tarjumaad === * {{en}}: influence 26704 wikitext text/x-wiki {{-so-}} == Magac == '''galaafo''' === Tarjumaad === * {{en}}: influence hqxpnhsuq1t23l1ncb36j9ib30ebq2y daqar 0 9401 26705 2024-02-08T16:33:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daqar''' === Tarjumaad === * {{en}}: injure, hurt 26705 wikitext text/x-wiki {{-so-}} == Magac == '''daqar''' === Tarjumaad === * {{en}}: injure, hurt 50gxcdalts8irsqc5w5xlku7ya1oxaq ilbiriqsi 0 9402 26706 2024-02-08T16:34:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilbiriqsi''' === Tarjumaad === * {{en}}: moment, instance 26706 wikitext text/x-wiki {{-so-}} == Magac == '''ilbiriqsi''' === Tarjumaad === * {{en}}: moment, instance 9zb4sixc92bnrntoo63xwgpsgve27c3 laqdab 0 9403 30761 28541 2024-09-13T21:10:50Z Girligaanshub 3150 30761 wikitext text/x-wiki {{-so-}} == Magac == '''laqdab''' === Tarjumaad === * {{en}}: sinister, devious, machiavellianism, machiavellian, manipulation, exploitation, lyemct4wofvma9he6phqoqp7lqx4osk hayaan 0 9404 26708 2024-02-08T16:38:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hayaan''' === Tarjumaad === * {{en}}: journey 26708 wikitext text/x-wiki {{-so-}} == Magac == '''hayaan''' === Tarjumaad === * {{en}}: journey 2bce4gd6l2s9jf4ad7t8e8ot4mgvwxe garbagashi 0 9405 26709 2024-02-08T16:46:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garbagashi''' === Tarjumaad === * {{en}}: sweater, jumper 26709 wikitext text/x-wiki {{-so-}} == Magac == '''garbagashi''' === Tarjumaad === * {{en}}: sweater, jumper 9ko1zubudpcotispelnp2flth2xqejd taargo 0 9406 26711 2024-02-08T16:51:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taargo''' === Tarjumaad === * {{en}}: label 26711 wikitext text/x-wiki {{-so-}} == Magac == '''taargo''' === Tarjumaad === * {{en}}: label 32oxujr862o4vk5svn6sf0yhitrqrkk filneysi 0 9407 31908 26713 2024-10-25T23:19:02Z Girligaanshub 3150 31908 wikitext text/x-wiki {{-so-}} == Magac == '''filneysi''' === Tarjumaad === * {{en}}: enduring, lasting ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]] rrqbdkfw7hmebceo2xwja0z2x9nfupr gurey 0 9408 26715 2024-02-08T16:59:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurey''' === Tarjumaad === * {{en}}: left-handed 26715 wikitext text/x-wiki {{-so-}} == Magac == '''gurey''' === Tarjumaad === * {{en}}: left-handed 1j5bupv5utjhd0uq8fy5bj1qmev3wbu sanduuqa dhambaalka 0 9409 26718 2024-02-08T17:11:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanduuqa dhambaalka''' === Tarjumaad === * {{en}}: letterbox 26718 wikitext text/x-wiki {{-so-}} == Magac == '''sanduuqa dhambaalka''' === Tarjumaad === * {{en}}: letterbox 3u75ycchaxw8457qbkee1bvlr675df4 wiish 0 9410 26719 2024-02-08T17:13:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wiish''' === Tarjumaad === * {{en}}: elevator 26719 wikitext text/x-wiki {{-so-}} == Magac == '''wiish''' === Tarjumaad === * {{en}}: elevator 7vkc6pl66dt5v0go0cp7p90l9aszuay daalac 0 9411 30141 30138 2024-08-23T22:59:16Z Girligaanshub 3150 30141 wikitext text/x-wiki {{-so-}} == Magac == '''daalac''' === Tarjumaad === * {{en}}: raise * {{en}}: example, ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]], [[hinji]] onbyw1m277z5emu02zdlxbbhiden2o3 dir 0 9412 26722 2024-02-08T18:37:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dir''' === Tarjumaad === * {{en}}: progeny 26722 wikitext text/x-wiki {{-so-}} == Magac == '''dir''' === Tarjumaad === * {{en}}: progeny r87j6k3ot7fqcsm5znb5hm7f55yg4ff cibro 0 9413 26725 2024-02-09T05:38:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cibro''' === Tarjumaad === * {{en}}: novelty, original, originality, innovative, unconventional 26725 wikitext text/x-wiki {{-so-}} == Magac == '''cibro''' === Tarjumaad === * {{en}}: novelty, original, originality, innovative, unconventional iwh2p0guo3483ktdvg0zwitmhfg36bx gargaar 0 9414 26726 2024-02-09T05:39:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gargaar''' === Tarjumaad === * {{en}}: nurse, assistance 26726 wikitext text/x-wiki {{-so-}} == Magac == '''gargaar''' === Tarjumaad === * {{en}}: nurse, assistance 7qw98ejiqwg1vp60406w2g5ljs10j5x gargaare 0 9415 26727 2024-02-09T05:40:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gargaare''' === Tarjumaad === * {{en}}: nurse, assistant 26727 wikitext text/x-wiki {{-so-}} == Magac == '''gargaare''' === Tarjumaad === * {{en}}: nurse, assistant qkknavq8v8d7eh52h1kztq343mi8bjm qawaar 0 9416 26733 2024-02-09T05:58:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qawaar''' === Tarjumaad === * {{en}}: old-fashioned, 26733 wikitext text/x-wiki {{-so-}} == Magac == '''qawaar''' === Tarjumaad === * {{en}}: old-fashioned, ghqxeqfth12gdd4x6gsftep8tu7rkdq rinjiyeyn 0 9417 26734 2024-02-09T06:01:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rinjiyeyn''' === Tarjumaad === * {{en}}: painting, 26734 wikitext text/x-wiki {{-so-}} == Magac == '''rinjiyeyn''' === Tarjumaad === * {{en}}: painting, jnvrrtjl47r4f6k1tvdcqdxor6p2gfm dheylan 0 9418 32512 26737 2024-11-18T10:50:48Z Girligaanshub 3150 32512 wikitext text/x-wiki {{-so-}} == Magac == '''dheylan''' === Tarjumaad === * {{en}}: perfect, ===Synonyms=== *[[toolmoon]], [[idil]], [[dheylan]], [[qumman]] syw8a83e013r0pco5ur0kiedehwxalh fagaare 0 9419 31734 26966 2024-10-21T05:05:41Z Girligaanshub 3150 31734 wikitext text/x-wiki {{-so-}} == Magac == '''fagaare''' === Tarjumaad === * {{en}}: public, plaze ===Synonyms=== *[[meherad]], [[fadhiisamo]], [[xarun]], [[fagaare]], o19deedo798ovmqwdikbr60vbx9258a afjar 0 9420 28459 28310 2024-06-15T19:12:02Z Girligaanshub 3150 28459 wikitext text/x-wiki {{-so-}} == Magac == '''afjar''' === Tarjumaad === * {{en}}: conclude, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] 4p422vebjxkg63il6u8jjsx5svzwmnz waro 0 9421 26744 2024-02-10T10:09:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waro''' === Tarjumaad === * {{en}}: dessicate, dry out, dehydrate, exsiccate 26744 wikitext text/x-wiki {{-so-}} == Magac == '''waro''' === Tarjumaad === * {{en}}: dessicate, dry out, dehydrate, exsiccate k22xdk93jtp37k1wbmdfgi1qdwfgv3n waridda 0 9422 26747 26746 2024-02-10T21:10:16Z Girligaanshub 3150 26747 wikitext text/x-wiki {{-so-}} == Magac == '''waridda''' === Tarjumaad === * {{en}}: dessication, dehydration, exsiccation * {{en}}: marination, extension of time ===Synonyms=== *[[waridda]], [[waritaan]] slg5aj9961h5bq1bo86sttcc0gy7kwj waritaan 0 9423 26748 2024-02-10T21:10:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waritaan''' === Tarjumaad === * {{en}}: dessication, dehydration, exsiccation * {{en}}: marination, extension of time ===Synonyms=== *[[waridda]], [[waritaan]] 26748 wikitext text/x-wiki {{-so-}} == Magac == '''waritaan''' === Tarjumaad === * {{en}}: dessication, dehydration, exsiccation * {{en}}: marination, extension of time ===Synonyms=== *[[waridda]], [[waritaan]] g80v5wpe90xgpgp6p1xnfqxc1xn2p0h isku-buuq 0 9424 28849 28565 2024-07-21T23:05:06Z Girligaanshub 3150 28849 wikitext text/x-wiki {{-so-}} == Magac == '''isku-buuq''' === Tarjumaad === * {{en}}: frustration ===Synonyms=== *[[murugo-xad-dhaaf]], [[isku-buuq]], [[niyad-jab]] k15m4naz273lily6z8fgn2ff8akda05 murugo-xad-dhaaf 0 9425 28851 26754 2024-07-21T23:05:46Z Girligaanshub 3150 28851 wikitext text/x-wiki {{-so-}} == Magac == '''murugo-xad-dhaaf''' === Tarjumaad === * {{en}}: depression ===Synonyms=== *[[murugo-xad-dhaaf]], [[isku-buuq]], [[niyad-jab]] hma7ppwmmfpr477fsr8trd2zrl7mbgz hunguri xad-dhaaf 0 9426 32431 32429 2024-11-15T01:05:02Z Girligaanshub 3150 32431 wikitext text/x-wiki {{-so-}} == Magac == '''hunguri xad-dhaaf''' === Tarjumaad === * {{en}}: obsession disorder, obsessive disorder 8lnziin5yhmaige7npljto5qy6kwfsd jaanxor 0 9427 26762 2024-02-11T08:08:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaanxor''' === Tarjumaad === * {{en}}: hawk 26762 wikitext text/x-wiki {{-so-}} == Magac == '''jaanxor''' === Tarjumaad === * {{en}}: hawk gm631ss8g4jnq4x48sqqyqbjgnpm2vh bacaw 0 9428 26765 2024-02-11T22:21:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacaw''' === Tarjumaad === * {{en}}: gloomy, 26765 wikitext text/x-wiki {{-so-}} == Magac == '''bacaw''' === Tarjumaad === * {{en}}: gloomy, lohn2gd5bmabztmupd4d9auzukl1qgj tirsado 0 9429 26766 2024-02-11T22:44:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tirsado''' === Tarjumaad === * {{en}}: consider, 26766 wikitext text/x-wiki {{-so-}} == Magac == '''tirsado''' === Tarjumaad === * {{en}}: consider, bes18c3f9qvpiew3i3sdfexr2p256oh tirso 0 9430 26767 2024-02-11T22:53:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tirso''' === Tarjumaad === * {{en}}: consider, 26767 wikitext text/x-wiki {{-so-}} == Magac == '''tirso''' === Tarjumaad === * {{en}}: consider, jc5qfgrbd4oohlrcb3jfqwv9eb522vi welwel 0 9431 27602 26768 2024-05-22T10:33:54Z Girligaanshub 3150 27602 wikitext text/x-wiki {{-so-}} == Magac == '''welwel''' === Tarjumaad === * {{en}}: doubt, apprehension, suspense, suspicion, hesitation, dread, perplexity, anxiety ===Synonyms=== *[[eraleyda]], [[soohdinta]], [[giigsan]], [[qulub]], [[walaac]], [[uurkutaalo]], [[welwel]] a86z6k8eqqkkgrk9faygt4e7u6as7pv waswaaska 0 9432 26771 2024-02-12T01:15:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waswaaska''' === Tarjumaad === * {{en}}: impulse, impulsiveness, impulsivity, compulsive, compulsivity, compulsiveness 26771 wikitext text/x-wiki {{-so-}} == Magac == '''waswaaska''' === Tarjumaad === * {{en}}: impulse, impulsiveness, impulsivity, compulsive, compulsivity, compulsiveness dz97c4sk7nuctb9qaw7u1cdpdw6mzo3 qalqaaliga fudud 0 9433 26775 26773 2024-02-12T02:15:31Z Girligaanshub 3150 26775 wikitext text/x-wiki {{-so-}} == Magac == '''qalqaaliga fudud''' === Tarjumaad === * {{en}}: hyperactive, ADHD 0spx03bqtjbawzbazc40zlpdg8mzri9 qalqaali 0 9434 26802 26776 2024-02-19T00:39:14Z Girligaanshub 3150 26802 wikitext text/x-wiki {{-so-}} == Magac == '''qalqaali''' === Tarjumaad === * {{en}}: hysteria iffo1gmc21v5yu9ii4x4u8yut0z9l82 xanuunka qalqaaliga 0 9435 26777 2024-02-12T02:17:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanuunka qalqaaliga''' === Tarjumaad === * {{en}}: autism, autism spectrum 26777 wikitext text/x-wiki {{-so-}} == Magac == '''xanuunka qalqaaliga''' === Tarjumaad === * {{en}}: autism, autism spectrum g1lin6kavwtzq18ym2po85due60zbjt jiddan 0 9436 32681 32670 2024-11-30T09:00:37Z Girligaanshub 3150 32681 wikitext text/x-wiki {{-so-}} == Magac == '''jiddan''' === Tarjumaad === * {{en}}: serious, seriously ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ ciirsan]], [[daruuri]], [[ba'an]] pfor0dzmwj3ldxagxl698sasgp635uv janjeer 0 9437 30684 30683 2024-09-11T03:07:41Z Girligaanshub 3150 30684 wikitext text/x-wiki {{-so-}} == Magac == '''janjeer''' === Tarjumaad === * {{en}}: tendency, incline, tilt, slant, inclination, instinct ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], agpc642i3j2h3dxpicv1p3yq1mpbdbg gacansaar 0 9438 26785 2024-02-13T07:56:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacansaar''' === Tarjumaad === * {{en}}: concurrence, agree, agreeing, agreement, concur ===Synonyms=== *[[af-garasho]], [[gacansaar]], [[waafaqsanaan]], [[waafaq]], [[qowl]] 26785 wikitext text/x-wiki {{-so-}} == Magac == '''gacansaar''' === Tarjumaad === * {{en}}: concurrence, agree, agreeing, agreement, concur ===Synonyms=== *[[af-garasho]], [[gacansaar]], [[waafaqsanaan]], [[waafaq]], [[qowl]] tetu0ppy9hbpek0l1m1npkck4dtoytl geeljire 0 9439 30321 29799 2024-08-27T01:50:10Z Girligaanshub 3150 30321 wikitext text/x-wiki {{-so-}} == Magac == '''geeljire''' === Tarjumaad === * {{en}}: Horn African camel herder * {{en}}: camel herder ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] 1lrgpe4c3100il51ooenbl7aso22fqe adhijire 0 9440 26789 2024-02-14T07:09:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''adhijire''' === Tarjumaad === * {{en}}: goat herder, sheep herder 26789 wikitext text/x-wiki {{-so-}} == Magac == '''adhijire''' === Tarjumaad === * {{en}}: goat herder, sheep herder 5nid0m33t7x36hudpeix5oy6x9lewch bah 0 9441 31586 30977 2024-10-16T04:06:42Z Girligaanshub 3150 31586 wikitext text/x-wiki {{-so-}} == Magac == '''bah''' === Tarjumaad === * {{en}}: soul * {{en}}: collective, congregation, ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] 2n3wy5mgupzt4niph8rreecid6x36xi habka guud 0 9442 32479 32475 2024-11-16T02:40:51Z Girligaanshub 3150 32479 wikitext text/x-wiki {{-so-}} == Magac == '''habka guud''' === Tarjumaad === * {{en}}: conventional, norm, typical, conventionality, mainstream, regular, mundane, customary, common, orthodox 4nqp3hu2ly5hymjvtdkz1zpe9b65odr ceejin 0 9443 26805 2024-02-19T18:22:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ceejin''' === Tarjumaad === * {{en}}: choke, choking 26805 wikitext text/x-wiki {{-so-}} == Magac == '''ceejin''' === Tarjumaad === * {{en}}: choke, choking kczm9xc0ryyreiq5fezvndozmrb5ndu ceeji 0 9444 26806 2024-02-19T18:22:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ceeji''' === Tarjumaad === * {{en}}: choke 26806 wikitext text/x-wiki {{-so-}} == Magac == '''ceeji''' === Tarjumaad === * {{en}}: choke bw6lt1svmwwrpmvybgd1x67x1k6c6fm naqas 0 9445 31607 26807 2024-10-18T04:31:56Z Girligaanshub 3150 31607 wikitext text/x-wiki {{-so-}} == Magac == '''naqas''' === Tarjumaad === * {{en}}: sigh, exhale izrq0dvknegtbx2sjre2gvdzl6cuzlo nafaqeey 0 9446 31832 29689 2024-10-25T21:39:43Z Girligaanshub 3150 31832 wikitext text/x-wiki {{-so-}} == Magac == '''nafaqeey''' === Tarjumaad === * {{en}}: nourish, soothe ===Synonyms=== *[[dux]], [[nafaqeey]], [[casuum]], [[martiqaad]], [[quudi]] 0ahyrc01bf489l8broc8i3qkwbslepm dhudhumo 0 9447 26810 2024-02-19T18:58:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhudhumo''' === Tarjumaad === * {{en}}: left calf, leg calves 26810 wikitext text/x-wiki {{-so-}} == Magac == '''dhudhumo''' === Tarjumaad === * {{en}}: left calf, leg calves gtb9da93xpkit9navq32v3chhzg02vc qummay 0 9448 32603 26811 2024-11-25T19:22:59Z Girligaanshub 3150 32603 wikitext text/x-wiki {{-so-}} == Magac == '''qumayo''' === Tarjumaad === * {{en}}: warlock, wizard, male voodooist, male hexer, hexxer, pagan ===Synonyms=== *[[majuusi]], [[mulxid]], [[cawaan]], [[calmaani]], [[qummay]], [[qumayo]] inwqgpmu122emwspfw06r63rqp6z46p hoobiyo 0 9449 26813 2024-02-20T08:42:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoobiyo''' === Tarjumaad === * {{en}}: ibis bird, threskiornithinae 26813 wikitext text/x-wiki {{-so-}} == Magac == '''hoobiyo''' === Tarjumaad === * {{en}}: ibis bird, threskiornithinae ocfoasx82lsthpc7q6a4q7t4dux7673 cillada baariga 0 9450 26816 2024-02-20T23:26:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cillada baariga''' === Tarjumaad === * {{en}}: agoraphobic, agoraphobia 26816 wikitext text/x-wiki {{-so-}} == Magac == '''cillada baariga''' === Tarjumaad === * {{en}}: agoraphobic, agoraphobia jtqnnniqer101iwnocy9c3x9pz3ai4g baariga 0 9451 26817 2024-02-20T23:29:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baariga''' === Tarjumaad === * {{en}}: agoraphobic, agoraphobia * {{en}}: domesticness, domesticism, domiciliary, homeliness, indoors, household * {{en}}: tame, docile, submissive, 26817 wikitext text/x-wiki {{-so-}} == Magac == '''baariga''' === Tarjumaad === * {{en}}: agoraphobic, agoraphobia * {{en}}: domesticness, domesticism, domiciliary, homeliness, indoors, household * {{en}}: tame, docile, submissive, sftdgyreo6tatqiackjlaitmui9ckl8 macluumaad 0 9452 32156 26821 2024-10-29T01:38:00Z Girligaanshub 3150 32156 wikitext text/x-wiki {{-so-}} == Magac == '''macluumaad''' === Tarjumaad === * {{en}}: general info, general information, knowledge q4wv0mfcxwk7xxe9u07ct9fyd6o518d dhiidhi 0 9453 32607 30944 2024-11-26T11:14:48Z Girligaanshub 3150 32607 wikitext text/x-wiki {{-so-}} == Magac == '''dhiidhi''' === Tarjumaad === * {{en}}: retaliate, rebuke, rebuff, repulse, repudiate pge2x77ly41vdcv2pssxpcagfjkaunx tabaruc 0 9454 30995 26827 2024-09-29T22:06:54Z Girligaanshub 3150 30995 wikitext text/x-wiki {{-so-}} == Magac == '''tabaruc''' === Tarjumaad === * {{en}}: volunteer, offer, offering, bestow, contribute, contribution, endow, endowment, ektmc43eai8bvifww9ih809sfk07ffq haruur 0 9455 26830 2024-02-21T08:40:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haruur''' === Tarjumaad === * {{en}}: sorghum ===Synonyms=== *[[hadhuudh]], [[haruur]], [[masago]] 26830 wikitext text/x-wiki {{-so-}} == Magac == '''haruur''' === Tarjumaad === * {{en}}: sorghum ===Synonyms=== *[[hadhuudh]], [[haruur]], [[masago]] jv1ypx1sk3u2pyxxrb6iubmrbwaii3t maraq 0 9456 27002 26832 2024-03-27T16:49:45Z Girligaanshub 3150 27002 wikitext text/x-wiki {{-so-}} == Magac == '''maraq''' === Tarjumaad === * {{en}}: soup, stock, broth, bouillon ===Synonyms=== *[[maraq]], [[fuud]] norniu8x9ysy7renzgwg1k3lkh64ub3 dabool 0 9457 26833 2024-02-24T03:24:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabool''' === Tarjumaad === * {{en}}: lid, 26833 wikitext text/x-wiki {{-so-}} == Magac == '''dabool''' === Tarjumaad === * {{en}}: lid, sq3dbe0n1d5j28cpjtzdekzrvwses17 dhexliga 0 9459 27708 26837 2024-05-23T23:14:31Z Girligaanshub 3150 27708 wikitext text/x-wiki {{-so-}} == Magac == '''dhexliga''' === Tarjumaad === * {{en}}: succession, dynasty, genealogy, lineage, ===Synonyms=== *[[durriyad]], [[dhexliga]], [[nasab]] c567wqe36q15g183z1doeswoh1061if kurbo 0 9460 26838 2024-02-24T20:59:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kurbo''' === Tarjumaad === * {{en}}: panic 26838 wikitext text/x-wiki {{-so-}} == Magac == '''kurbo''' === Tarjumaad === * {{en}}: panic 500c21tv3r50s4zrorzhd851wf2jgy6 biriq 0 9461 26881 26840 2024-03-02T23:35:18Z Girligaanshub 3150 26881 wikitext text/x-wiki {{-so-}} == Magac == '''biriq''' === Tarjumaad === * {{en}}: flash, spark * {{en}}: blink * {{en}}: erectile dysfunction, * {{en}}: premature ejaculation * {{en}}: anejaculation, anorgasmia, death grip syndrome, delayed ejaculation, * {{en}}: micropenis 4tyq4zgiyq3wyihanvk9kcf1m7rmalh bandhig 0 9462 30404 30386 2024-09-01T09:21:27Z Girligaanshub 3150 30404 wikitext text/x-wiki {{-so-}} == Magac == '''bandhig''' === Tarjumaad === * {{en}}: display, publish, propose, expression * {{en}}: release, exhibit, exhibition ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[daahfur]], [[daahfurka]] 13bpohs4xete1kmk5lpj8g5vtsv9hor samayn 0 9463 26848 2024-02-27T04:12:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''samayn''' === Tarjumaad === * {{en}}: creation 26848 wikitext text/x-wiki {{-so-}} == Magac == '''samayn''' === Tarjumaad === * {{en}}: creation 79glpxlfv4auogdnbzcsocrax1kqbfh riix 0 9464 26849 2024-02-27T04:12:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''riix''' === Tarjumaad === * {{en}}: push 26849 wikitext text/x-wiki {{-so-}} == Magac == '''riix''' === Tarjumaad === * {{en}}: push f7bx2nvpw2ddvmq1o0kxxuvn0iu9ve9 isticmaale 0 9465 31714 31197 2024-10-21T02:56:46Z Girligaanshub 3150 31714 wikitext text/x-wiki {{-so-}} == Magac == '''isticmaale''' === Tarjumaad === * {{en}}: user, profile ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] c6gj4eystm5vgwubrx0debtgka05iqq lifaaq 0 9466 26854 2024-02-27T04:38:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lifaaq''' === Tarjumaad === * {{en}}: attach, attachment 26854 wikitext text/x-wiki {{-so-}} == Magac == '''lifaaq''' === Tarjumaad === * {{en}}: attach, attachment 7cq16xdb0b2mwdz9ei64bdp6togahb6 daabulo 0 9469 26860 2024-02-29T06:01:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daabulo''' === Tarjumaad === * {{en}}: transport 26860 wikitext text/x-wiki {{-so-}} == Magac == '''daabulo''' === Tarjumaad === * {{en}}: transport 6mqp89iyc62cm1xz5cv34ouaxqi06bj hubung 0 9470 26862 26861 2024-02-29T06:52:22Z Girligaanshub 3150 26862 wikitext text/x-wiki {{-so-}} == Magac == '''hubung''' === Tarjumaad === * {{en}}: joints ===Synonyms=== *[[hubung]], [[kalagoys]] mselcqyq2yvkn06arx5pr5fymhwdtdv cumancuq 0 9471 26866 2024-02-29T06:54:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cumancuq''' === Tarjumaad === * {{en}}: forearm, wrist 26866 wikitext text/x-wiki {{-so-}} == Magac == '''cumancuq''' === Tarjumaad === * {{en}}: forearm, wrist p0w7c1rtwdv53wwgawa54x0l7fugr6q jamaadey 0 9472 26867 2024-02-29T11:12:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jamaadey''' === Tarjumaad === * {{en}}: cutey, 26867 wikitext text/x-wiki {{-so-}} == Magac == '''jamaadey''' === Tarjumaad === * {{en}}: cutey, 7kqkt67ir9ite70r56unqadedc3lwpw jamaadnimo 0 9473 26868 2024-02-29T11:12:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jamaadnimo''' === Tarjumaad === * {{en}}: cuteness, 26868 wikitext text/x-wiki {{-so-}} == Magac == '''jamaadnimo''' === Tarjumaad === * {{en}}: cuteness, 4xwj8mgmkea8qvekv4teyaxpqf16798 daa'imo 0 9475 31912 26872 2024-10-25T23:20:59Z Girligaanshub 3150 31912 wikitext text/x-wiki {{-so-}} == Magac == '''daa'im''' === Tarjumaad === * {{en}}: persist, prolong, endure, continue, remain indefinite, persevere, ===Synonyms=== *[[daa'im]] 7tm0skm5o7lx40h3rj6rifpt1x9q3zq maqaar 0 9476 29591 26875 2024-08-06T15:26:54Z Girligaanshub 3150 29591 wikitext text/x-wiki {{-so-}} == Magac == '''maqaar''' === Tarjumaad === * {{en}}: skin ===Synonyms=== *[[saan]], [[sar]], [[harag]], [[maqaar]] if80crwd7x51ovgvw09rffxdfj9t7ih naafoobo 0 9477 26876 2024-03-02T12:52:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naafoobo''' === Tarjumaad === * {{en}}: disable, immobilize, paralyse, paralyze, debilitate, incapacitate, enfeeble, impair, 26876 wikitext text/x-wiki {{-so-}} == Magac == '''naafoobo''' === Tarjumaad === * {{en}}: disable, immobilize, paralyse, paralyze, debilitate, incapacitate, enfeeble, impair, k626uuk1fok6nai6rynk1m76n7ccdaj madaxsalaax 0 9478 26879 26878 2024-03-02T13:32:35Z Girligaanshub 3150 26879 wikitext text/x-wiki {{-so-}} == Magac == '''madaxsalaax''' === Tarjumaad === * {{en}}: consolation, consoling ikp1a4xz67nzu6kmf9vyzkltfdlvhc8 siraadey 0 9479 26880 2024-03-02T13:35:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siraadey''' === Tarjumaad === * {{en}}: baby, dear, dearest, honey, endearment 26880 wikitext text/x-wiki {{-so-}} == Magac == '''siraadey''' === Tarjumaad === * {{en}}: baby, dear, dearest, honey, endearment nay4cylhwjtbex4sq0ylt61bkiq17ki rafaad 0 9480 30112 30110 2024-08-23T20:16:37Z Girligaanshub 3150 30112 wikitext text/x-wiki {{-so-}} == Magac == '''rafaad''' === Tarjumaad === * {{en}}: suffering, suffer, tribulation ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]] tw3c86poslzq7bzc95vpn3ajsxu6sko jacbar 0 9481 32825 30638 2024-12-02T11:01:02Z Girligaanshub 3150 32825 wikitext text/x-wiki {{-so-}} == Magac == '''jacbar''' === Tarjumaad === * {{en}}: intermediate, novice, basic, average, middle, median, middle, half, moderate, neutral, mediocre, ordinary, ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] 7tv25u2os0438pq527oo7xcoq37e3hb aayokatalinta 0 9483 32056 31271 2024-10-27T23:19:47Z Girligaanshub 3150 32056 wikitext text/x-wiki {{-so-}} == Magac == '''aayokatalinta''' === Tarjumaad === * {{en}}: self-determination, volition, initiative ===Synonyms=== *[[aayakatalinta]], lvgzdxsg6ff66xb7awfo4gqswvu9mya laban 0 9484 26904 2024-03-10T22:56:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laban''' === Tarjumaad === * {{en}}: cement, brick 26904 wikitext text/x-wiki {{-so-}} == Magac == '''laban''' === Tarjumaad === * {{en}}: cement, brick 4yf7j5i62uwq1xkfhsian9e4k9rgbcq hindiso 0 9485 28257 27009 2024-06-14T11:55:35Z Girligaanshub 3150 28257 wikitext text/x-wiki {{-so-}} == Magac == '''hindiso''' === Tarjumaad === * {{en}}: innovate, create, initiate ===Synonyms=== *[[dhowaandhalad]], [[hindise]], [[hindiso]], [[hal-abuur]], [[soosaarida]], [[ifbax]], [[midha-dhal]], [[ifbixi]], [[ifbixin]], [[ifbixinta]] j1384l7523fcuwxnw2wgtps4v3fw8j1 jilaha 0 9486 26913 2024-03-13T14:46:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jilaha''' === Tarjumaad === * {{en}}: character 26913 wikitext text/x-wiki {{-so-}} == Magac == '''jilaha''' === Tarjumaad === * {{en}}: character iti7mpnmmcjfk4qwukd3g073tmiy9ir jilayaal 0 9487 26914 2024-03-13T14:46:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jilayaal''' === Tarjumaad === * {{en}}: characters 26914 wikitext text/x-wiki {{-so-}} == Magac == '''jilayaal''' === Tarjumaad === * {{en}}: characters f5qv8r986ckph0xflnoyhvspvzqrefr casriyey 0 9488 26915 2024-03-14T13:12:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''casriyey''' === Tarjumaad === * {{en}}: modernize 26915 wikitext text/x-wiki {{-so-}} == Magac == '''casriyey''' === Tarjumaad === * {{en}}: modernize 86wboy3ryotfq77quw7ni4n38505u08 xaadir 0 9489 27032 26917 2024-03-31T18:47:02Z Girligaanshub 3150 27032 wikitext text/x-wiki {{-so-}} == Magac == '''xaadir''' === Tarjumaad === * {{en}}: present, current, immediate, extant, contemporary, now, extant * {{en}}: convince, conviction ===Synonyms=== *[[xaadir]], [[taxan]] pufyrq2nciknoc042ffji5y4ftzmiu5 baanise 0 9490 30154 26920 2024-08-24T01:12:01Z Girligaanshub 3150 30154 wikitext text/x-wiki {{-so-}} == Magac == '''baanise''' === Tarjumaad === * {{en}}: eulogy, speech * {{en}}: homosexual, gay cc2qqqeih1jgeqw6q1xeoqht9hgtn7l codkar 0 9491 27544 26921 2024-05-21T01:18:12Z Girligaanshub 3150 27544 wikitext text/x-wiki {{-so-}} == Magac == '''codkar''' === Tarjumaad === * {{en}}: orator, eloquent 7at1e2vn2bq5vrnju6vpsshzk7rl20w cakaw 0 9492 26922 2024-03-14T21:35:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cakaw''' === Tarjumaad === * {{en}}: earlobe 26922 wikitext text/x-wiki {{-so-}} == Magac == '''cakaw''' === Tarjumaad === * {{en}}: earlobe rx6vp0h9ve6azuj7c035c7r1vhpqm6t carjaw 0 9493 26923 2024-03-14T21:36:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carjaw''' === Tarjumaad === * {{en}}: cartilege 26923 wikitext text/x-wiki {{-so-}} == Magac == '''carjaw''' === Tarjumaad === * {{en}}: cartilege gihjw4s7cpolar3ldhx7ecbef8z8yyl koor 0 9494 26924 2024-03-14T21:37:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koor''' === Tarjumaad === * {{en}}: jacket 26924 wikitext text/x-wiki {{-so-}} == Magac == '''koor''' === Tarjumaad === * {{en}}: jacket le2ukyvha61ufkjud3goguqrf7hghwq gumaar 0 9495 26927 26925 2024-03-14T21:40:22Z Girligaanshub 3150 26927 wikitext text/x-wiki {{-so-}} == Magac == '''gumaar''' === Tarjumaad === * {{en}}: groin ===Synonyms=== *[[gumaar]], [[sarac]] nq2fm2pwb1cz2wbdjcseyorfwhm8lhr billadaye 0 9496 26928 2024-03-14T21:41:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''billadaye''' === Tarjumaad === * {{en}}: mirror 26928 wikitext text/x-wiki {{-so-}} == Magac == '''billadaye''' === Tarjumaad === * {{en}}: mirror thy1i3yfu5afjjuv5o4maapqvdp2kr8 gaatir 0 9497 26929 2024-03-14T21:41:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaatir''' === Tarjumaad === * {{en}}: hard skin 26929 wikitext text/x-wiki {{-so-}} == Magac == '''gaatir''' === Tarjumaad === * {{en}}: hard skin fyh95fhn7l70zz8rhxu18zqgecpj990 geyi 0 9498 26930 2024-03-14T21:47:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geyi''' === Tarjumaad === * {{en}}: land 26930 wikitext text/x-wiki {{-so-}} == Magac == '''geyi''' === Tarjumaad === * {{en}}: land rshqkjgoq7l17yqck8491j0mvz7xhn5 gaboob 0 9499 26931 2024-03-14T21:48:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaboob''' === Tarjumaad === * {{en}}: become old 26931 wikitext text/x-wiki {{-so-}} == Magac == '''gaboob''' === Tarjumaad === * {{en}}: become old 7ewqnhzhya842w3jcpiwf4xy2tunxe0 bareer 0 9500 28533 27685 2024-06-16T11:11:35Z Girligaanshub 3150 28533 wikitext text/x-wiki {{-so-}} == Magac == '''bareer''' === Tarjumaad === * {{en}}: initiative, frank, direct, blunt, straightforward, candid, audacity, deliberate, assertive, on purpose, s63q8vvoyfmmdg2s019gndyizdgam4d hoobal 0 9501 29622 26936 2024-08-07T12:13:47Z Girligaanshub 3150 29622 wikitext text/x-wiki {{-so-}} == Magac == '''hoobal''' === Tarjumaad === * {{en}}: singer, actor, entertainer d596ifu2e3bm5pdcr9lscw09z20sj3t caabuq 0 9502 26937 2024-03-14T21:51:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caabuq''' === Tarjumaad === * {{en}}: infection 26937 wikitext text/x-wiki {{-so-}} == Magac == '''caabuq''' === Tarjumaad === * {{en}}: infection tniqs0r5hetzgcq8u7s3yb615k5waeh miyir 0 9503 26938 2024-03-14T21:52:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miyir''' === Tarjumaad === * {{en}}: conscious, conscientious 26938 wikitext text/x-wiki {{-so-}} == Magac == '''miyir''' === Tarjumaad === * {{en}}: conscious, conscientious 5x21ifmu7vwufd3ushvl8cdiqilb65x miyir-beel 0 9504 26939 2024-03-14T21:53:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miyir-beel''' === Tarjumaad === * {{en}}: unconscious, coma 26939 wikitext text/x-wiki {{-so-}} == Magac == '''miyir-beel''' === Tarjumaad === * {{en}}: unconscious, coma 3rowasoe8hfk5nytm2rev1d3sla4qnk salguur 0 9505 26941 26940 2024-03-14T22:00:45Z Girligaanshub 3150 26941 wikitext text/x-wiki {{-so-}} == Magac == '''salguur''' === Tarjumaad === * {{en}}: extinct, extinction 110j8xf84yfalre3hpi8mq6fmlt9amn cambaaree 0 9506 26942 2024-03-14T22:01:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cambaaree''' === Tarjumaad === * {{en}}: condemn 26942 wikitext text/x-wiki {{-so-}} == Magac == '''cambaaree''' === Tarjumaad === * {{en}}: condemn 4tfoyjdriewmy2j62pyxdf5oqz1zgw0 caymis 0 9507 26943 2024-03-15T06:15:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caymis''' === Tarjumaad === * {{en}}: insurance 26943 wikitext text/x-wiki {{-so-}} == Magac == '''caymis''' === Tarjumaad === * {{en}}: insurance 9vj5m8zg1rvhf8l0fpxpzp6d7z0b8w0 daanta 0 9508 26948 2024-03-16T19:27:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daanta''' === Tarjumaad === * {{en}}: part, corner, side 26948 wikitext text/x-wiki {{-so-}} == Magac == '''daanta''' === Tarjumaad === * {{en}}: part, corner, side bzaoi400eec5tbfch1j9nfik4szf496 bustaan 0 9509 26949 2024-03-19T06:04:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bustaan''' === Tarjumaad === * {{en}}: orchard, 26949 wikitext text/x-wiki {{-so-}} == Magac == '''bustaan''' === Tarjumaad === * {{en}}: orchard, qw8pne1pqz2sx3a7uud272zc3wotb1q kansho 0 9510 26952 2024-03-19T06:12:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kansho''' === Tarjumaad === * {{en}}: chance, opportunity 26952 wikitext text/x-wiki {{-so-}} == Magac == '''kansho''' === Tarjumaad === * {{en}}: chance, opportunity drm7c65grw39rkxx7326t3bwffmzxq2 laqbo 0 9511 26953 2024-03-19T06:29:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laqbo''' === Tarjumaad === * {{en}}: translation, transliteration, transcription, transcribe, translate, transliterate 26953 wikitext text/x-wiki {{-so-}} == Magac == '''laqbo''' === Tarjumaad === * {{en}}: translation, transliteration, transcription, transcribe, translate, transliterate 4027rvxq52359gn542vicmakht809fb muudal 0 9512 31867 31863 2024-10-25T22:34:11Z Girligaanshub 3150 31867 wikitext text/x-wiki {{-so-}} == Magac == '''muudal''' === Tarjumaad === * {{en}}: greed, greedy ====Synonyms==== *[[muudal]], [[dhabcaal]], [[qarraac]], [[bakhiil]] kvqgsgjuw0bc05zrpx2jsma05p0r106 dhabcaal 0 9513 31866 31861 2024-10-25T22:33:59Z Girligaanshub 3150 31866 wikitext text/x-wiki {{-so-}} == Magac == '''dhabcaal''' === Tarjumaad === * {{en}}: greed, greedy ====Synonyms==== *[[muudal]], [[dhabcaal]], [[qarraac]], [[bakhiil]] hxymtfdp4mfdd9bub5b4dwvbgp1xx84 hiraab 0 9514 32359 26965 2024-11-10T15:31:14Z Girligaanshub 3150 32359 wikitext text/x-wiki {{-so-}} == Magac == '''hiraab''' === Tarjumaad === * {{en}}: midnight ===Synonyms=== *[[mir]], [[habeenbadh]], [[hiraab]], [[saqda dhexe]] 7s2j96doueemand4t6wv77a2tqdjhlm urguf 0 9515 31570 30079 2024-10-15T06:26:35Z Girligaanshub 3150 31570 wikitext text/x-wiki {{-so-}} == Magac == '''urguf''' === Tarjumaad === * {{en}}: object subjected to [[hurguf]] * {{en}}: minion ===Synonyms=== *[[saqajaan]], [[urguf]], [[khasiis]] azrhb1uun7qcj569o1z3rfqgyxbkbhz kasbo 0 9516 32741 32722 2024-11-30T18:03:55Z Girligaanshub 3150 32741 wikitext text/x-wiki {{-so-}} == Magac == '''kasbo''' === Tarjumaad === * {{en}}: influence ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] j3jxrh6k5kelb757at55uentrqz7wrp duufsado 0 9517 32740 32718 2024-11-30T18:03:44Z Girligaanshub 3150 32740 wikitext text/x-wiki {{-so-}} == Magac == '''duufsado''' === Tarjumaad === * {{en}}: manipulate, manipulation ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] 4p5azfem28yqfnx8pz2kp72vj4r4xbg waraysi 0 9518 26976 2024-03-23T23:35:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waraysi''' === Tarjumaad === * {{en}}: interview 26976 wikitext text/x-wiki {{-so-}} == Magac == '''waraysi''' === Tarjumaad === * {{en}}: interview 43jgprepiiiowb036gpi9fbh424tab1 tifaftir 0 9519 27123 27122 2024-04-09T22:42:55Z Girligaanshub 3150 27123 wikitext text/x-wiki {{-so-}} == Magac == '''tifaftir''' === Tarjumaad === * {{en}}: edit esnyb5jgcudh29fm9019w5c69g0lhrf eedtir 0 9520 30125 26978 2024-08-23T21:06:57Z Girligaanshub 3150 30125 wikitext text/x-wiki {{-so-}} == Magac == '''eedtir''' === Tarjumaad === * {{en}}: vindicate, absolve, acquit, exonerate, redeem ===Antonyms=== *[[godob-qir]] 2wyaa1wu8js4e3s2gze3jdk5lbb5k6h haraadtir 0 9521 26979 2024-03-25T09:20:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haraadtir''' === Tarjumaad === * {{en}}: quench, revitalize 26979 wikitext text/x-wiki {{-so-}} == Magac == '''haraadtir''' === Tarjumaad === * {{en}}: quench, revitalize q2bo44yivyaju464ydddsjuwncy6jdg dhamaystir 0 9522 30296 26980 2024-08-26T22:12:04Z Girligaanshub 3150 30296 wikitext text/x-wiki {{-so-}} == Magac == '''dhamaystir''' === Tarjumaad === * {{en}}: finalise, finalize, fe1g5gbotwuj1eec3gxzqz7e7i3pmem saadaalin 0 9523 29060 26981 2024-07-29T01:13:37Z Girligaanshub 3150 29060 wikitext text/x-wiki {{-so-}} == Magac == '''saadaalin''' === Tarjumaad === * {{en}}: forecast, expectation 90q2s4upj36av8v8m4fzy10ytnxmesd mala'abbaar 0 9524 26982 2024-03-25T09:22:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mala'abbaar''' === Tarjumaad === * {{en}}: speculate speculation 26982 wikitext text/x-wiki {{-so-}} == Magac == '''mala'abbaar''' === Tarjumaad === * {{en}}: speculate speculation doxn8dw31dnvut12fh65g1ud5g5e591 dhadhami 0 9525 26985 2024-03-25T09:24:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhadhami''' === Tarjumaad === * {{en}}: taste 26985 wikitext text/x-wiki {{-so-}} == Magac == '''dhadhami''' === Tarjumaad === * {{en}}: taste cttmxn1svslilqqtifsx2zvgrdz6jbs qariidi 0 9526 26986 2024-03-25T09:25:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qariidi''' === Tarjumaad === * {{en}}: crunch 26986 wikitext text/x-wiki {{-so-}} == Magac == '''qariidi''' === Tarjumaad === * {{en}}: crunch eu8ez3mkw62vo5c13zyfto5qohyc9oq qararamsi 0 9527 26987 2024-03-25T09:25:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qararamsi''' === Tarjumaad === * {{en}}: crunch 26987 wikitext text/x-wiki {{-so-}} == Magac == '''qararamsi''' === Tarjumaad === * {{en}}: crunch sjjttheidy516ikuqt43q90m3s5j828 dibuhabayn 0 9528 32280 26988 2024-11-06T05:02:12Z Girligaanshub 3150 32280 wikitext text/x-wiki {{-so-}} == Magac == '''dibuhabayn''' === Tarjumaad === * {{en}}: reform, reformation, rehab, rehabilitation, rehabilitate, gutd6q6gzoc9xg0dg8nq62idchnex82 dibudhisid 0 9529 30872 26989 2024-09-23T03:23:33Z Girligaanshub 3150 30872 wikitext text/x-wiki {{-so-}} == Magac == '''dibudhisid''' === Tarjumaad === * {{en}}: reconstruction, reconstruct 17u9io47lxebq9kugruu0z5bf30lim9 dibunoolayn 0 9530 30878 30875 2024-09-23T03:32:12Z Girligaanshub 3150 30878 wikitext text/x-wiki {{-so-}} == Magac == '''dibunoolayn''' === Tarjumaad === * {{en}}: revival, revive, recreation, recreate, reenact, reenactment, resuscitation, rejuvenate, rejuvenation, restore, restoration, reinvigorate, reinvigoration, regenerate, regeneration, revitalize, revitalization, renew, renewal ===Synonyms=== *[[dibunoolayn]], [[dibusoocelin]], [[dibudhis]], [[cusboonaysiin]] 877ctqki98f6825yuoif8iu1xw3p7ca dibuheshiishiin 0 9531 26991 2024-03-25T09:36:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibuheshiishiin''' === Tarjumaad === * {{en}}: reconciliate, reconciliation 26991 wikitext text/x-wiki {{-so-}} == Magac == '''dibuheshiishiin''' === Tarjumaad === * {{en}}: reconciliate, reconciliation cecve2uekcko35s2j3k9r6e68ds8v84 cusboonaysiin 0 9532 30879 26992 2024-09-23T03:33:30Z Girligaanshub 3150 30879 wikitext text/x-wiki {{-so-}} == Magac == '''cusboonaysiin''' === Tarjumaad === * {{en}}: renew, modernize, update, renewal ===Synonyms=== *[[dibunoolayn]], [[dibusoocelin]], [[dibudhis]], [[cusboonaysiin]] hxsoyitj3us7g0dyl7gox0wi9y5uyrk dibucusboonaysiin 0 9533 26993 2024-03-25T09:38:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibucusboonaysiin''' === Tarjumaad === * {{en}}: renew, modernize, update, renewal 26993 wikitext text/x-wiki {{-so-}} == Magac == '''dibucusboonaysiin''' === Tarjumaad === * {{en}}: renew, modernize, update, renewal mb0k5iaesq6ym7sgarug111rhtzsr4q degganaan 0 9534 26995 2024-03-25T09:40:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''degganaan''' === Tarjumaad === * {{en}}: tranquility ===Synonyms=== *[[tanaadin]], [[coodtabin]], [[degganaan]] 26995 wikitext text/x-wiki {{-so-}} == Magac == '''degganaan''' === Tarjumaad === * {{en}}: tranquility ===Synonyms=== *[[tanaadin]], [[coodtabin]], [[degganaan]] bszg6v5kvp185ifk04tb4vzrwh5wyyr foolanayo 0 9535 26996 2024-03-26T00:16:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foolanayo''' === Tarjumaad === * {{en}}: birth, birthing, labour 26996 wikitext text/x-wiki {{-so-}} == Magac == '''foolanayo''' === Tarjumaad === * {{en}}: birth, birthing, labour b11smqv6yl8wkl4l3sej2yyg8eskpq5 hindhis 0 9536 26997 2024-03-26T04:39:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hindhis''' === Tarjumaad === * {{en}}: sneeze, sneezing 26997 wikitext text/x-wiki {{-so-}} == Magac == '''hindhis''' === Tarjumaad === * {{en}}: sneeze, sneezing slt93cpi8loh68cn6rht41itp2tn1by ciwaan 0 9537 26998 2024-03-27T16:16:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ciwaan''' === Tarjumaad === * {{en}}: address 26998 wikitext text/x-wiki {{-so-}} == Magac == '''ciwaan''' === Tarjumaad === * {{en}}: address 6tkmmo4twna30yjtbn4tkk27bx8nytg dan 0 9538 29294 26999 2024-08-01T03:20:51Z Girligaanshub 3150 29294 wikitext text/x-wiki {{-so-}} == Magac == '''dan''' === Tarjumaad === * {{en}}: intent, purpose, objective buazfj20rzwzbsp77fh1rm1vc2z8tgk horfiirin 0 9539 27001 27000 2024-03-27T16:37:58Z Girligaanshub 3150 27001 wikitext text/x-wiki {{-so-}} == Magac == '''horfiirin''' === Tarjumaad === * {{en}}: preview, trailer nvjshvayhsyq0z71ioojie7u806jz0v tababare 0 9540 27004 2024-03-27T17:40:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tababare''' === Tarjumaad === * {{en}}: trainer 27004 wikitext text/x-wiki {{-so-}} == Magac == '''tababare''' === Tarjumaad === * {{en}}: trainer rll5w7zqamjnmv9hv2p5qg6kkx40aqx wanaaji 0 9541 31278 31277 2024-10-04T16:36:41Z Girligaanshub 3150 31278 wikitext text/x-wiki {{-so-}} == Magac == '''wanaaji''' === Tarjumaad === * {{en}}: improve, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], 2mkrphyluofw01an4w2yitzjl0m0li9 kaabayaal 0 9542 27134 27014 2024-04-10T14:19:32Z Girligaanshub 3150 27134 wikitext text/x-wiki {{-so-}} == Magac == '''kaabayaal''' === Tarjumaad === * {{en}}: infrastructure ===Synonyms=== *[[kaabayaal]], [[dhismo]], [[naqshadeeynta]], [[naqshadeynta]] tfg8w6pgm0ooz0t4oqe1ivb3e9i4b2t maxjar 0 9543 27015 2024-03-27T20:31:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maxjar''' === Tarjumaad === * {{en}}: terminal, wharf, quay, dock, pen, paddock, pasture, rangeland, kraal, compound, enclosure, corral, compound 27015 wikitext text/x-wiki {{-so-}} == Magac == '''maxjar''' === Tarjumaad === * {{en}}: terminal, wharf, quay, dock, pen, paddock, pasture, rangeland, kraal, compound, enclosure, corral, compound oy0cfu3cwo1g7e5oxbtzn27atebr53v macaasho 0 9544 28245 27018 2024-06-14T11:40:56Z Girligaanshub 3150 28245 wikitext text/x-wiki {{-so-}} == Magac == '''macaasho''' === Tarjumaad === * {{en}}: benefit, ===Synonyms=== *[[macaasho]], [[saanyood]], [[dheef]] 70r0xfutplnvvf1fnsoguemndyxgr9l taakuleynta 0 9545 27854 27831 2024-05-30T17:10:25Z Girligaanshub 3150 27854 wikitext text/x-wiki {{-so-}} == Magac == '''taakuleynta''' === Tarjumaad === * {{en}}: strategy ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] nfsd712xgfyyahosk02d9lwnn4sy01s maan-toosnida 0 9546 27023 2024-03-29T17:54:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maan-toosnida''' === Tarjumaad === * {{en}}: neurotypical, neurotypicality ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 27023 wikitext text/x-wiki {{-so-}} == Magac == '''maan-toosnida''' === Tarjumaad === * {{en}}: neurotypical, neurotypicality ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 2cvhz39j0mj64hndao1hewyezw9iyvb maantoosnida 0 9547 27024 2024-03-29T17:54:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maantoosnida''' === Tarjumaad === * {{en}}: neurotypical, neurotypicality ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 27024 wikitext text/x-wiki {{-so-}} == Magac == '''maantoosnida''' === Tarjumaad === * {{en}}: neurotypical, neurotypicality ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] fdft4dn0nxcv60qusekkegjarbvckz1 maantoosan 0 9548 27025 2024-03-29T17:54:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maantoosan''' === Tarjumaad === * {{en}}: neurotypical, ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 27025 wikitext text/x-wiki {{-so-}} == Magac == '''maantoosan''' === Tarjumaad === * {{en}}: neurotypical, ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 9lnskw5fcq4h8bml7xot4e3bgti4sdm maan-toosan 0 9549 27026 2024-03-29T17:54:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maantoosan''' === Tarjumaad === * {{en}}: neurotypical, ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 27026 wikitext text/x-wiki {{-so-}} == Magac == '''maantoosan''' === Tarjumaad === * {{en}}: neurotypical, ===Synonyms=== *[[sanbaw]], [[maandeeq]], [[dheellitir]], [[maan-bayaan]], [[maan-toosnida]], [[maantoosnida]], [[maantoosan]], [[maan-toosan]] 93d3zbzk086u60t1ov77b7zi2n80vk0 qorsheey 0 9550 28455 28306 2024-06-15T19:11:16Z Girligaanshub 3150 28455 wikitext text/x-wiki {{-so-}} == Magac == '''qorsheey''' === Tarjumaad === * {{en}}: plan, strategize ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] 3g9o0emerumbwkb724299auuj52pv6o qorsheynta 0 9551 27853 27830 2024-05-30T17:10:15Z Girligaanshub 3150 27853 wikitext text/x-wiki {{-so-}} == Magac == '''qorseynta''' === Tarjumaad === * {{en}}: strategy, plan ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] alnb3vh3skmqk6vtcm17m4c6xyhatc6 qorsheyn 0 9552 27852 27829 2024-05-30T17:10:06Z Girligaanshub 3150 27852 wikitext text/x-wiki {{-so-}} == Magac == '''qorsheyn''' === Tarjumaad === * {{en}}: strategy, plan ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] o4xb7q4edc3skoxs9iyshyxc2qlz84j dacwah 0 9553 32343 27033 2024-11-09T09:52:48Z Girligaanshub 3150 32343 wikitext text/x-wiki {{-so-}} == Magac == '''dacwah''' === Tarjumaad === * {{en}}: report, * {{en}}: sponsor * {{en}}: proselytize, proselytizing, proselytism ddgdg0p52y66tmciafg43opsa2yl8o5 guswaraabe 0 9555 27041 2024-04-04T19:13:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guswaraabe''' === Tarjumaad === * {{en}}: mushroom, 27041 wikitext text/x-wiki {{-so-}} == Magac == '''guswaraabe''' === Tarjumaad === * {{en}}: mushroom, rx8mw4sk9xyps0kmyt77qrf95buh2no yuruqcadde 0 9556 27042 2024-04-04T19:43:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yuruqcadde''' === Tarjumaad === * {{en}}: leek, 27042 wikitext text/x-wiki {{-so-}} == Magac == '''yuruqcadde''' === Tarjumaad === * {{en}}: leek, 3i82xgnhzou1ch97gjg81ayz88miky4 dibataag 0 9557 27043 2024-04-05T12:14:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibataag''' === Tarjumaad === * {{en}}: Ammodorcas clarkei, Clarke's gazelle 27043 wikitext text/x-wiki {{-so-}} == Magac == '''dibataag''' === Tarjumaad === * {{en}}: Ammodorcas clarkei, Clarke's gazelle eviw0924h1i38auu7zaqp3uxda6fod6 dookh 0 9558 31457 27577 2024-10-12T23:51:17Z Girligaanshub 3150 31457 wikitext text/x-wiki {{-so-}} == Magac == '''dookh''' === Tarjumaad === * {{en}}: type, style, fashion, taste, grace, charm, elegance, charisma ===Synonyms=== *[[dookh leh]], [[xeeldheere]], [[shaac leh]], [[shaac-bax]], [[shaac-kac]], [[xarrago]], [[xarragaysan]] r52ajs7pvouof4r2sni0rdhpeq0bf5g cabbiro 0 9559 27686 27679 2024-05-23T22:28:34Z Girligaanshub 3150 27686 wikitext text/x-wiki {{-so-}} == Magac == '''cabbiro''' === Tarjumaad === * {{en}}: measure, calculate, estimate, quantify, evaluate, survey, assess, weigh ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] emfmv4w8a8ffuvwxl9r6dtql1hf56bk waddani 0 9560 27048 2024-04-07T06:59:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waddani''' === Tarjumaad === * {{en}}: nationalist 27048 wikitext text/x-wiki {{-so-}} == Magac == '''waddani''' === Tarjumaad === * {{en}}: nationalist n1yi4wjx93x6v739pdt2eoj8niizhy0 waddaninimo 0 9561 27049 2024-04-07T07:00:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waddaninimo''' === Tarjumaad === * {{en}}: nationalism 27049 wikitext text/x-wiki {{-so-}} == Magac == '''waddaninimo''' === Tarjumaad === * {{en}}: nationalism tuf43h388727arzn5p7i41dl8vh0pc2 gaashaanbuurso 0 9562 27050 2024-04-07T07:04:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaashaanbuurso''' === Tarjumaad === * {{en}}: collaborate, align, join, affiliate, confederate, 27050 wikitext text/x-wiki {{-so-}} == Magac == '''gaashaanbuurso''' === Tarjumaad === * {{en}}: collaborate, align, join, affiliate, confederate, t6qgcpknlnf8tqj063rtfu2n5d7apjg gaashaanbuursi 0 9563 27053 27052 2024-04-07T07:08:09Z Girligaanshub 3150 27053 wikitext text/x-wiki {{-so-}} == Magac == '''gaashaanbuursi''' === Tarjumaad === * {{en}}: collaboration, alignment, affiliation, confederation, confederacy, confederalism, league ===Synonyms=== *[[gaashaanbuursi]], [[isbahaysi]] cmsll36urxssdk097oh47nsfzb7eo3k tiigaalo 0 9564 27055 2024-04-07T07:30:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiigaalo''' === Tarjumaad === * {{en}}: aggravate. exacerbate. heighten. provoke. rub salt in the wound, gravedance, twist the knife, add fuel, add insult to injury, fan the flames, punch down, 27055 wikitext text/x-wiki {{-so-}} == Magac == '''tiigaalo''' === Tarjumaad === * {{en}}: aggravate. exacerbate. heighten. provoke. rub salt in the wound, gravedance, twist the knife, add fuel, add insult to injury, fan the flames, punch down, jxsr7btl8p62v0usw3b5lzktolrlh6g haggaan 0 9565 27057 2024-04-07T07:42:39Z Girligaanshub 3150 Girligaanshub moved page [[haggaan]] to [[hoggaan]] 27057 wikitext text/x-wiki #REDIRECT [[hoggaan]] 5uiwuwhxxd2m5vibic8n98l9z9ttse4 waaqicad 0 9566 32361 32360 2024-11-10T16:20:51Z Girligaanshub 3150 Girligaanshub moved page [[waaqic]] to [[waaqicad]] 32360 wikitext text/x-wiki {{-so-}} == Magac == '''waaqic''' === Tarjumaad === * {{en}}: real, actual, proper, reality, actuality pkpq7wn889az0gkxqgwxicvekv4b5uk shaaho 0 9567 28057 27061 2024-06-08T22:43:40Z Girligaanshub 3150 28057 wikitext text/x-wiki {{-so-}} == Magac == '''shaaho''' ===Etymology=== *shaah (tea) === Tarjumaad === *{{en}}: socialize, joke, entertain, mingle, fraternize, amuse, cozy, coziness, social, sociable, conviviality, convivial, jovial, cordial, cordiality, jolly, jolliness ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] c9b9sky1v2rwmef05ae0j1jzlrubb9q maangaab 0 9568 31677 27063 2024-10-19T22:27:07Z Girligaanshub 3150 31677 wikitext text/x-wiki {{-so-}} == Magac == '''maangaab''' === Tarjumaad === *{{en}}: shortsighted, naive, unintelligent, ignorant, unsophisticated, aahp9u4f3uminhac91hubtnd77q172b badqab 0 9569 27064 2024-04-08T01:39:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badqab''' === Tarjumaad === * {{en}}: tranquility, safety, 27064 wikitext text/x-wiki {{-so-}} == Magac == '''badqab''' === Tarjumaad === * {{en}}: tranquility, safety, dwu238fwsym9z2txc4fpzil5ile05rp oddoros 0 9570 27065 2024-04-08T01:40:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oddoros''' === Tarjumaad === * {{en}}: projection, 27065 wikitext text/x-wiki {{-so-}} == Magac == '''oddoros''' === Tarjumaad === * {{en}}: projection, pa0iu2o8zavlparw5aqimlftf4ohq01 mala'awaal 0 9571 30701 30693 2024-09-11T03:14:08Z Girligaanshub 3150 30701 wikitext text/x-wiki {{-so-}} == Magac == '''mala'awaal''' === Tarjumaad === * {{en}}: hypothetical, imagine, imagination, hypothesis, theory ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]], [[filasho]], [[aragtida]] jb1a1j37guljq0ubbd24kojcvvnthtf taagtaagsi 0 9572 27068 2024-04-08T01:42:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taagtaagsi''' === Tarjumaad === * {{en}}: tiptoe 27068 wikitext text/x-wiki {{-so-}} == Magac == '''taagtaagsi''' === Tarjumaad === * {{en}}: tiptoe cp2u6j1liqb9lpc7hkb17xszq5t094a nuug 0 9573 27069 2024-04-08T01:47:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nuug''' === Tarjumaad === * {{en}}: suck 27069 wikitext text/x-wiki {{-so-}} == Magac == '''nuug''' === Tarjumaad === * {{en}}: suck n1wj9fyctbdr6xzd8yz5uo0bhtw2lxd dhuuq 0 9574 27070 2024-04-08T01:47:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuuq''' === Tarjumaad === * {{en}}: suck 27070 wikitext text/x-wiki {{-so-}} == Magac == '''dhuuq''' === Tarjumaad === * {{en}}: suck 91kd9fy6ib4mzp6gpmgv07qql4a6ul1 goos 0 9575 27071 2024-04-08T01:48:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goos''' === Tarjumaad === * {{en}}: bite, 27071 wikitext text/x-wiki {{-so-}} == Magac == '''goos''' === Tarjumaad === * {{en}}: bite, fn5l1coy1zkk46njqvwhq9f3ol7xwov goosasho 0 9576 27072 2024-04-08T01:48:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''goosasho''' === Tarjumaad === * {{en}}: bite, biting 27072 wikitext text/x-wiki {{-so-}} == Magac == '''goosasho''' === Tarjumaad === * {{en}}: bite, biting eo9boy9i0wbhrsmsdmld5wjsuly7ar4 kabbo 0 9577 28639 27073 2024-06-30T23:03:18Z Girligaanshub 3150 28639 wikitext text/x-wiki {{-so-}} == Magac == '''kabbo''' === Tarjumaad === * {{en}}: recover * {{en}}: shoes qt0qyjzug1admqa16sewaaejpbk4quc kabbasho 0 9578 27074 2024-04-08T01:50:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kabbasho''' === Tarjumaad === * {{en}}: sip, sipping 27074 wikitext text/x-wiki {{-so-}} == Magac == '''kabbasho''' === Tarjumaad === * {{en}}: sip, sipping e80og32zhjc6eoryxelcnuxmfd4s2o1 ruclayn 0 9579 27075 2024-04-08T01:50:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruclayn''' === Tarjumaad === * {{en}}: jog, jogging 27075 wikitext text/x-wiki {{-so-}} == Magac == '''ruclayn''' === Tarjumaad === * {{en}}: jog, jogging hf4ktpmc40a690lxreob6famphdpozt fagax 0 9580 27076 2024-04-08T01:51:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fagax''' === Tarjumaad === * {{en}}: sprint 27076 wikitext text/x-wiki {{-so-}} == Magac == '''fagax''' === Tarjumaad === * {{en}}: sprint 6puy4ou2h6hqgslcc5e6mvp5bst3g7a wariye 0 9581 28904 27077 2024-07-25T02:52:05Z Girligaanshub 3150 28904 wikitext text/x-wiki {{-so-}} == Magac == '''wariye''' === Tarjumaad === * {{en}}: reporter, journalist ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], drv3dhmznku8byd4i24wxmy02lfhp0n warbixin 0 9582 27078 2024-04-08T02:10:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warbixin''' === Tarjumaad === * {{en}}: report 27078 wikitext text/x-wiki {{-so-}} == Magac == '''warbixin''' === Tarjumaad === * {{en}}: report 9r7fba7ju43nlrut90qc86yyv73kdpi warbixi 0 9583 27080 2024-04-08T02:13:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warbixi''' === Tarjumaad === * {{en}}: report, publish, publicize, broadcast, post, disclose, announce, describe, 27080 wikitext text/x-wiki {{-so-}} == Magac == '''warbixi''' === Tarjumaad === * {{en}}: report, publish, publicize, broadcast, post, disclose, announce, describe, sdjdx7uber170rf81ptfsxzv1kk1gxi miisaan 0 9584 29488 27082 2024-08-04T20:16:25Z Girligaanshub 3150 29488 wikitext text/x-wiki {{-so-}} == Magac == '''miisaan''' === Tarjumaad === * {{en}}: balance, scale ===Synonyms=== *[[dheellitir]], [[miisaan]] 99cd9ec7evi73x7zpffxcry2kylsz4q xeeldheere 0 9585 31372 31224 2024-10-07T17:11:54Z Girligaanshub 3150 31372 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheere''' === Tarjumaad === * {{en}}: popular, prominent thing / person, notable thing / person, important thing / person, competent thing ===Synonyms=== *[[xeeldheer]] f59tyxoiur981h0rkgmsjmnq4pw0l8u dookh leh 0 9586 32160 31470 2024-10-30T00:31:38Z Girligaanshub 3150 32160 wikitext text/x-wiki {{-so-}} == Magac == '''dookh leh''' === Tarjumaad === * {{en}}: popular, charming, charismatic, elegant, trendy, stylish, popularity ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] lutkkw7l6mcmuiy8hqelxw8ebtpgwzj shaac leh 0 9587 31468 31140 2024-10-12T23:55:43Z Girligaanshub 3150 31468 wikitext text/x-wiki {{-so-}} == Magac == '''shaac leh''' === Tarjumaad === * {{en}}: trending, elegant, trendy, ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 57ylf360fwwpahgb3k3t1gikunewaee tanaasulo 0 9588 27091 2024-04-08T19:47:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tanaasulo''' === Tarjumaad === * {{en}}: compromising 27091 wikitext text/x-wiki {{-so-}} == Magac == '''tanaasulo''' === Tarjumaad === * {{en}}: compromising of6s6xrzibw68u3pc30rgs0jy25q8g5 tanaazul 0 9589 30936 29669 2024-09-26T05:11:07Z Girligaanshub 3150 30936 wikitext text/x-wiki {{-so-}} == Magac == '''tanaazul''' === Tarjumaad === * {{en}}: compromise ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]] ===Antonyms=== *[[hagro]] m82oba5rowkp0onwtyd0ahlshww6vqk caloolxumo 0 9590 28322 27224 2024-06-14T17:11:38Z Girligaanshub 3150 28322 wikitext text/x-wiki {{-so-}} == Magac == '''caloolxumo''' === Tarjumaad === * {{en}}: resent, resentment, resentful, grudge, contempt, bitter, bitterness, irritation, discontent, animosity, tension, hostility, grievance, grief ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], f3vzea31w1vppc06cqbe7t1vhgwcema saanyood 0 9591 28243 27112 2024-06-14T11:40:26Z Girligaanshub 3150 28243 wikitext text/x-wiki {{-so-}} == Magac == '''saanyood''' === Tarjumaad === * {{en}}: benefit, profit, ===Synonyms=== *[[macaasho]], [[saanyood]], [[dheef]] qu7y2bjahhu7o4d5jsoecoxwrn0xqho madadaalo 0 9592 27114 2024-04-09T20:31:29Z Girligaanshub 3150 Girligaanshub moved page [[madadaalo]] to [[majaajillo]] 27114 wikitext text/x-wiki #REDIRECT [[majaajillo]] 2x20qwnozliue79tv7s0kw2hwzwvble tabaalo 0 9593 27116 2024-04-09T22:01:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabaalo''' === Tarjumaad === * {{en}}: illness, sickness 27116 wikitext text/x-wiki {{-so-}} == Magac == '''tabaalo''' === Tarjumaad === * {{en}}: illness, sickness mzwk8eupvg174hgbmfyv23zgmnpn91f faallo guud 0 9594 29363 28888 2024-08-02T08:38:03Z Girligaanshub 3150 29363 wikitext text/x-wiki {{-so-}} == Magac == '''faallo guud''' === Tarjumaad === * {{en}}: overview, summary, review, outline, briefing, debrief, debrief, brief ===Synonyms=== *[[xamilo]], [[maamulo]], [[kormeero]], [[faallo guud]], [[wargelin]], [[warmurtiyeed]], [[dulxaadis]], [[dulucda]], [[dhowrista]], 1d64rfh0ruhf7pawz9v7ak8tg7xa3l3 naf-bidka 0 9595 32463 32462 2024-11-16T00:12:18Z Girligaanshub 3150 32463 wikitext text/x-wiki {{-so-}} == Magac == '''naf-bidka''' === Tarjumaad === * {{en}}: reprief, emancipation, manumission * {{en}}: life or death situation * {{en}}: desperate attitude, desperate inclination, desperate proclivity, desperate propensity, desperation, desparation, desparate, t6rflusk5uv9rgvu4eex968l2pyw1k9 kelyo 0 9596 27119 2024-04-09T22:15:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kelyo''' === Tarjumaad === * {{en}}: kidney 27119 wikitext text/x-wiki {{-so-}} == Magac == '''kelyo''' === Tarjumaad === * {{en}}: kidney bmrb6zzcpano32n6spt6apoazmkvv55 kelyaha 0 9597 27120 2024-04-09T22:15:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kelyaha''' === Tarjumaad === * {{en}}: kidneys 27120 wikitext text/x-wiki {{-so-}} == Magac == '''kelyaha''' === Tarjumaad === * {{en}}: kidneys 3c1pzi27xjlkhwwwumy0fpivly0pqac jaad 0 9598 27121 2024-04-09T22:23:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaad''' === Tarjumaad === * {{en}}: type 27121 wikitext text/x-wiki {{-so-}} == Magac == '''jaad''' === Tarjumaad === * {{en}}: type otzcztqn24n5mwr9lctie774e3bgi99 tifaftiran 0 9599 30346 28496 2024-08-28T07:54:53Z Girligaanshub 3150 30346 wikitext text/x-wiki {{-so-}} == Magac == '''tifaftir''' === Tarjumaad === * {{en}}: meticulous, precise, literal, literally, correct, authentic, systematic, rigor, rigorous, scrupulous, conscientious, diligent, * {{en}}: edited ===Synonyms=== *[[idmaan]], [[tifaftiran]] 5ylvjyslib2gvahx9xqh2gir55wk6ur naf-bido 0 9600 32540 32533 2024-11-18T14:41:09Z Girligaanshub 3150 32540 wikitext text/x-wiki {{-so-}} == Magac == '''naf-bido''' === Tarjumaad === * {{en}}: reprieve, emancipate, manumit * {{en}}: desperately orient, desperately underline, desperately affirm, desperately contend, desperately insist, ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]], [[dardargalo]] * *[[boori]], [[dirqi]] 8ar6bkwcuhmtno3q5o3p0xqaqek3244 naqshadeynta 0 9601 27135 27130 2024-04-10T14:20:18Z Girligaanshub 3150 27135 wikitext text/x-wiki {{-so-}} == Magac == '''naqshadeynta''' === Tarjumaad === * {{en}}: design ===Synonyms=== *[[kaabayaal]], [[dhismo]], [[naqshadeeynta]], [[naqshadeynta]] c9dorh65i5wrmhmdeck76vmdc87vz9c duruf 0 9602 29933 29362 2024-08-15T20:42:58Z Girligaanshub 3150 29933 wikitext text/x-wiki {{-so-}} == Magac == '''duruf''' === Tarjumaad === * {{en}}: difficulty, complication, impediment, adversity, ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], [[cillad]] bsbea19z2wv5ho1ljt8u5ov3obpgh9p wadanoolaansho 0 9603 27147 2024-04-10T20:21:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadanoolaansho''' === Tarjumaad === * {{en}}: coexistence 27147 wikitext text/x-wiki {{-so-}} == Magac == '''wadanoolaansho''' === Tarjumaad === * {{en}}: coexistence il6ah1ihq52zglly427yu1e59celx7q hawlkar 0 9604 27148 2024-04-10T20:22:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hawlkar''' === Tarjumaad === * {{en}}: competent 27148 wikitext text/x-wiki {{-so-}} == Magac == '''hawlkar''' === Tarjumaad === * {{en}}: competent kz8zhcrj4huhyiv6bazjtovzx53gelj berber 0 9605 29503 27151 2024-08-04T22:31:27Z Girligaanshub 3150 29503 wikitext text/x-wiki {{-so-}} == Magac == '''berber''' === Tarjumaad === * {{en}}: parallel, corresponding, correspondent, equivalent, analogous, counterpart, coequal, mirror, duplicate, twin, ===Synonyms=== *[[barbar]], [[berber]], [[dhaban]], [[dhabannimo]] i9kycn7000y6w8henqwldnvn0iuj98b barbar 0 9606 31638 30918 2024-10-19T14:36:42Z Girligaanshub 3150 31638 wikitext text/x-wiki {{-so-}} == Magac == '''barbar''' === Tarjumaad === * {{en}}: parallel, adjoining, next to, beside, alongside, adjacent, contiguous, * {{en}}: [[bar]] (place) + [[baar]] (top) * {{en}}: "house-house" metonomy for intermediary between Indian Ocean and Red Sea seaports * {{en}}: (literally house + house) spotted; [[bartan]] spot / headquarters (true spot / headquarters) * {{en}}: (metonymic usage of [[bar]] (house) ); the true lengthy dynasty; [[laandheere]] * {{en}}: a Cushitic / Somali person (dated / obsolete) * {{en}}: from [[badh]] (center); by extension reduplication referring to Lahaina Noon / zero shadow day, at the zenith at solar noon * {{en}}: in extension to the above definition, the Tropical Zone * {{en}}: where the religions of [[barwaaqo]] & Amun-Ra remain extant; extant * {{en}}: from Arabic بر (barra), outside; exilees * {{en}}: from Arabic verb بر (barra), to bless, to be pious and faithful * {{en}}: from Arabic بار (uncultivated); non-cultivating nomads ===Synonyms=== *[[barbar]], [[berber]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] oelm1hztk221miyr6ovpuk0kjhgkijf halbawlo 0 9607 32551 30083 2024-11-19T02:47:43Z Girligaanshub 3150 32551 wikitext text/x-wiki {{-so-}} == Magac == '''halbawlo''' === Tarjumaad === * {{en}}: artery capillaries, vein anastomoses, * {{en}}: joint, crossroad, t junction, intersection, ===Synonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]] eehu26iw9sy2439v5mphys2jjcjincz aayatiin 0 9608 29174 27154 2024-07-30T05:47:08Z Girligaanshub 3150 29174 wikitext text/x-wiki {{-so-}} == Magac == '''aayatiin''' === Tarjumaad === * {{en}}: future, ===Synonyms=== *[[qaddar]], [[calaf]], [[mustaqbal]], [[aayatiin]], [[aayo]] qio07yd6wf0kt6y7u9ua72sz5sw3y4e jaguug 0 9609 28675 28670 2024-07-03T23:47:42Z Girligaanshub 3150 28675 wikitext text/x-wiki {{-so-}} == Magac == '''jaguug''' === Tarjumaad === * {{en}}: ignorance, ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]], [[alifley]], [[ardey]], [[jaahil]] g9voepkex0ejxxmlq3kopd9c8gvvsy7 turxaan-bixin 0 9610 29545 29543 2024-08-05T08:20:35Z Girligaanshub 3150 29545 wikitext text/x-wiki {{-so-}} == Magac == '''turxaan-bixin''' === Tarjumaad === * {{en}}: refinement, elaboration, honing, polishing, revision, tweaking, regulation, organization ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] 263f7bnpzz3y6h7qi3gmcqryotzp0db alifleynimada 0 9611 27160 2024-04-15T07:54:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''alifleynimada''' === Tarjumaad === * {{en}}: amateurism, incompetence, clumsy, clumsiness, ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]] 27160 wikitext text/x-wiki {{-so-}} == Magac == '''alifleynimada''' === Tarjumaad === * {{en}}: amateurism, incompetence, clumsy, clumsiness, ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]] ig855d4rqbaxksv4s496zhulw29z0i8 badhaadh 0 9612 31605 31287 2024-10-17T10:59:02Z Girligaanshub 3150 31605 wikitext text/x-wiki {{-so-}} == Magac == '''badhaadh''' === Tarjumaad === * {{en}}: prosper, prosperity ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]], [[tayeeyo]] 8nzs2ocdcu94iqefjjsgmmkjkd4pbex arwaax 0 9613 27777 27739 2024-05-28T13:19:12Z Girligaanshub 3150 27777 wikitext text/x-wiki {{-so-}} == Magac == '''arwaax''' === Tarjumaad === * {{en}}: happy, happiness, joy ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]] 6ub4objrijg6bgzx04o16rl1w6yrr48 bog-a-dhayid 0 9614 31815 31813 2024-10-25T21:24:53Z Girligaanshub 3150 31815 wikitext text/x-wiki {{-so-}} == Magac == '''bog-a-dhayid''' === Tarjumaad === * {{en}}: heal, recover ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]], [[shaafi]] 6wxwwfe4tne12ptdw7c09bkxvkvmkd3 bog-a-dhayo 0 9615 31816 31812 2024-10-25T21:25:05Z Girligaanshub 3150 31816 wikitext text/x-wiki {{-so-}} == Magac == '''bog-a-dhayo''' === Tarjumaad === * {{en}}: heal, recover ===Synonyms=== *[[ababin]], [[daryeel]], [[bog-a-dhayo]], [[bog-a-dhayid]], [[shaafi]] 3dz7hkw1yxib6vufd6l1dy5dhlsmfjz turxaan-bixiye 0 9616 27173 27171 2024-04-17T11:41:22Z Girligaanshub 3150 27173 wikitext text/x-wiki {{-so-}} == Magac == '''turxaan-bixiye''' === Tarjumaad === * {{en}}: refiner, elaborator, honer, polisher, revisor, tweaker, regulater, regulator, organizer, rjckzmzup9s19fbcte9tvyiu0u5tglc dhaadhici 0 9617 28151 27176 2024-06-10T00:43:15Z Girligaanshub 3150 28151 wikitext text/x-wiki {{-so-}} == Magac == '''dhaadhici''' === Tarjumaad === * {{en}}: persuade, convince, ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], onexmbajm974q7kizj2jzejt75ka9iy ciyow 0 9618 27178 2024-04-18T10:42:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ciyow''' === Tarjumaad === * {{en}}: chirp, tweet, squawk, quack, shriek; hoot;crow; screech; coo; cluck; caw; whistle * {{en}}: immediate, instant, abrupt, sudden, swift, swiftly, immediately, 27178 wikitext text/x-wiki {{-so-}} == Magac == '''ciyow''' === Tarjumaad === * {{en}}: chirp, tweet, squawk, quack, shriek; hoot;crow; screech; coo; cluck; caw; whistle * {{en}}: immediate, instant, abrupt, sudden, swift, swiftly, immediately, kzid38ey4hywbnx0v5vm9q01eket9q7 taxanaysan 0 9619 32620 29645 2024-11-27T08:11:00Z Girligaanshub 3150 32620 wikitext text/x-wiki {{-so-}} == Magac == '''taxanaysan''' === Tarjumaad === * {{en}}: regular, periodic, recurrent, recurring, cyclical, cyclic, sequenced ===Synonyms=== *[[taxanaysan]], [[teelteel]], [[marxaalad]] 2do7zrv2vpp7egh75ptwy5oslqzh1bf qamaam 0 9620 27184 2024-04-20T17:02:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qamaam''' === Tarjumaad === * {{en}}: rush towards, stampede 27184 wikitext text/x-wiki {{-so-}} == Magac == '''qamaam''' === Tarjumaad === * {{en}}: rush towards, stampede ld7jldkgehwjht1nd7wr123c1no3i3p labo-xiniinyo-leh 0 9621 31210 29613 2024-10-04T14:29:05Z Girligaanshub 3150 31210 wikitext text/x-wiki {{-so-}} == Magac == '''labo-xiniinyo-leh''' === Tarjumaad === * {{en}}: brave ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] nhqk5q2lcf4rurshtr6vv4ayww2bh6z sabool 0 9622 27202 2024-04-22T17:27:11Z Danesrmithpl8 4840 Bog cusub: {{-so-}} == Magac == '''sabool''' === Tarjumaad === * {{en}}: poor, 27202 wikitext text/x-wiki {{-so-}} == Magac == '''sabool''' === Tarjumaad === * {{en}}: poor, ewuhpa7begf4ttrwkkk0tbmo6gzhpbx kaashi 0 9623 32245 27211 2024-11-04T03:50:44Z Girligaanshub 3150 32245 wikitext text/x-wiki {{-so-}} == Magac == '''kaashi''' === Tarjumaad === * {{en}}: cooperate, cooperation ===Synonyms=== * [[beegan]], [[jaanqaad]], [[kaashi]], [[kaadso]] 3pt8xvyt6dishvn15kyz8igadegh6nz kaashado 0 9624 27212 2024-04-22T20:34:35Z Danesrmithpl8 4840 Bog cusub: {{-so-}} == Magac == '''kaashado''' === Tarjumaad === * {{en}}: cooperate, cooperation 27212 wikitext text/x-wiki {{-so-}} == Magac == '''kaashado''' === Tarjumaad === * {{en}}: cooperate, cooperation 9cdlldgiioc3vnkuhho9s27233cfzku mijin 0 9625 27217 27216 2024-04-23T15:22:57Z Danesrmithpl8 4840 27217 wikitext text/x-wiki {{-so-}} == Magac == '''mijin''' === Tarjumaad === * {{en}}: small scrap, handful, piece, 3vtd23p70vb4qlqvqgkb9bnph05n1d1 dudmo 0 9626 30073 28329 2024-08-23T17:02:48Z Girligaanshub 3150 30073 wikitext text/x-wiki {{-so-}} == Magac == '''dudmo''' === Tarjumaad === * {{en}}: resent, resentment, resentful, anger, pout ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], cc2ze3yixob4qxbf6m7bpdxthv4dx64 ku sime 0 9627 30414 27226 2024-09-01T10:42:13Z Girligaanshub 3150 30414 wikitext text/x-wiki {{-so-}} == Magac == '''ku-meel-gaadh''' === Tarjumaad === * {{en}}: transitional, provisional ===Synonyms=== *[[ku-meel-gaadh]], [[ku sime]], [[ku-xigeen]] 0bdi0adzipmw92152cb3ttx7vd8drgl dud 0 9628 27227 2024-04-23T18:46:07Z Danesrmithpl8 4840 Bog cusub: {{-so-}} == Magac == '''dud''' === Tarjumaad === * {{en}}: pout 27227 wikitext text/x-wiki {{-so-}} == Magac == '''dud''' === Tarjumaad === * {{en}}: pout etc8lstq5pytslueg11qlrfmcxmv2mp kaashanaya 0 9629 27228 2024-04-24T06:23:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaashanaya''' === Tarjumaad === * {{en}}: cooperating 27228 wikitext text/x-wiki {{-so-}} == Magac == '''kaashanaya''' === Tarjumaad === * {{en}}: cooperating p02zd407o3l4gvkkbayoie55elky67g farshaxanka 0 9630 27266 2024-04-24T22:16:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farshaxanka''' === Tarjumaad === * {{en}}: artistry, art 27266 wikitext text/x-wiki {{-so-}} == Magac == '''farshaxanka''' === Tarjumaad === * {{en}}: artistry, art 429bu3muk77g6ll7cazs0bjgjqa13zp hirarka 0 9631 27267 2024-04-24T22:35:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirarka''' === Tarjumaad === * {{en}}: waves, sea-waves, surfs, currents, tides, billows, sea ripples 27267 wikitext text/x-wiki {{-so-}} == Magac == '''hirarka''' === Tarjumaad === * {{en}}: waves, sea-waves, surfs, currents, tides, billows, sea ripples 251m5jydi7mpoi6cvbu4bgy4a3mfbfl olole 0 9632 27291 27268 2024-04-25T20:26:31Z Girligaanshub 3150 27291 wikitext text/x-wiki {{-so-}} == Magac == '''olole''' === Tarjumaad === * {{en}}: campaign, initiative, activism faq449o7ta8divbr5kgvxovlzjxagbc sooma-jeeste 0 9633 32804 28918 2024-12-02T07:51:13Z Girligaanshub 3150 32804 wikitext text/x-wiki {{-so-}} == Magac == '''sooma-jeeste''' === Tarjumaad === * {{en}}: steadfast, unyielding, tenacious, indomitable, * {{en}}: resilient, courageous, unflinching, audacious, resolute, fearless, fearless, cilkd73iq4t2ete3qt523ajy03p5a87 labalabay 0 9634 32838 32567 2024-12-02T12:01:41Z Girligaanshub 3150 32838 wikitext text/x-wiki {{-so-}} == Magac == '''labalabay''' === Tarjumaad === * {{en}}: hesitate, cautious, careful, tentative, wary, heed, heedful, prudence, vigilance, timid, alert, ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] o1qxpaf1k9dwdf7orxk8cjw417pe9x8 labalabey 0 9635 31985 27299 2024-10-26T17:58:28Z Girligaanshub 3150 31985 wikitext text/x-wiki {{-so-}} == Magac == '''labalabey''' === Tarjumaad === * {{en}}: hesitate, cautious, careful, tentative, wary, heed, heedful, prudence, vigilance, timid, alert, ===Synonyms=== *[[qatan]], [[qatanaan]], [[masuug]], [[masuugo]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[waaban]] t1k9fzff4jfshy8xlesob6crav7h17f labalabeyn 0 9636 32839 32566 2024-12-02T12:01:52Z Girligaanshub 3150 32839 wikitext text/x-wiki {{-so-}} == Magac == '''labalabeyn''' === Tarjumaad === * {{en}}: hesitation, caution, carefulness, tentativity, tentativeness, weariness, heedfulness, prudent, vigilant, timidity, alertness, ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] 5kjit9500f9whrxwngspf3hw6xqgjw3 labalabayn 0 9637 27301 27273 2024-04-28T14:36:44Z Girligaanshub 3150 27301 wikitext text/x-wiki {{-so-}} == Magac == '''labalabayn''' === Tarjumaad === * {{en}}: hesitation, caution, carefulness, tentativity, tentativeness, weariness, heedfulness, prudent, vigilant, timidity, alertness, ===Synonyms=== *[[qatan]], [[qatanaan]], [[masuug]], [[masuugo]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[hagar]] 7u0w4y04t0x8e8kjd8wmr1i0fq6at77 ololeeye 0 9638 32013 29704 2024-10-27T03:16:03Z Girligaanshub 3150 32013 wikitext text/x-wiki {{-so-}} == Magac == '''ololeeye''' === Tarjumaad === * {{en}}: activist ===Synonyms=== *[[firfircooniye]], [[firfircoone]], [[afdhowre]], [[ololeeye]], [[codsade]] l8fcjr5zmnob1ogr8k5d4chbo24h797 ololaha 0 9639 27293 2024-04-25T22:11:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ololaha''' === Tarjumaad === * {{en}}: activisms, activistic 27293 wikitext text/x-wiki {{-so-}} == Magac == '''ololaha''' === Tarjumaad === * {{en}}: activisms, activistic t42mspo5ahlea0tseac4ycz3fdds3f9 qisaas 0 9640 27823 27295 2024-05-30T15:23:31Z Girligaanshub 3150 27823 wikitext text/x-wiki {{-so-}} == Magac == '''qisaas''' === Tarjumaad === * {{en}}: retaliate, retribution, convict, conviction, indict, indictment, sentence, prosecute, prosecution, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[qisaas]], [[gabagabay]], [[afjar]], [[xali]], [[xalin]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[taakuley]], [[halbeegi]], [[jaangooy]] ji2yvr451cw8hcsgy570gn395au0yqh matalaad 0 9641 27296 2024-04-27T18:07:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''matalaad''' === Tarjumaad === * {{en}}: representative, 27296 wikitext text/x-wiki {{-so-}} == Magac == '''matalaad''' === Tarjumaad === * {{en}}: representative, jz3okby0c769cmn40x3eifdzjtib8k3 cabaad 0 9642 27297 2024-04-28T13:10:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabaad''' === Tarjumaad === * {{en}}: grunt, 27297 wikitext text/x-wiki {{-so-}} == Magac == '''cabaad''' === Tarjumaad === * {{en}}: grunt, 9adjgo2bwvz7puxv7k0szs72m76p447 jibbaarid 0 9643 27305 2024-05-01T03:52:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jibbaarid''' === Tarjumaad === * {{en}}: compound, lexeme, root, lemma, morpheme, 27305 wikitext text/x-wiki {{-so-}} == Magac == '''jibbaarid''' === Tarjumaad === * {{en}}: compound, lexeme, root, lemma, morpheme, ae9pgq2a3q6u3txq52tme34qn486xt3 masayr 0 9644 32696 27307 2024-11-30T09:33:23Z Girligaanshub 3150 32696 wikitext text/x-wiki {{-so-}} == Magac == '''masayr''' === Tarjumaad === * {{en}}: jealous, envy ===Synonyms=== *[[maseyr]], [[masayr]], [[kuuni]] 4wf8j3jr5h0qrn8ptivtfvqeum04xqm majaajileyste 0 9645 27308 2024-05-04T22:40:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majaajileyste''' === Tarjumaad === * {{en}}: entertainer 27308 wikitext text/x-wiki {{-so-}} == Magac == '''majaajileyste''' === Tarjumaad === * {{en}}: entertainer hbphu4dsz05bbtzs0rgnq9080rvfixv sanadguur 0 9646 27309 2024-05-06T00:22:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanadguur''' === Tarjumaad === * {{en}}: anniversary 27309 wikitext text/x-wiki {{-so-}} == Magac == '''sanadguur''' === Tarjumaad === * {{en}}: anniversary 68tyeu5cdm1452m2iwdgff6gw6govi3 harhar 0 9647 27311 2024-05-06T20:39:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''harhar''' === Tarjumaad === * {{en}}: leftover, leftovers, 27311 wikitext text/x-wiki {{-so-}} == Magac == '''harhar''' === Tarjumaad === * {{en}}: leftover, leftovers, srvjld9xsblx4evvg7lmt93mt3dtp4c qaroor 0 9648 27312 2024-05-06T20:40:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaroor''' === Tarjumaad === * {{en}}: liquid leftovers 27312 wikitext text/x-wiki {{-so-}} == Magac == '''qaroor''' === Tarjumaad === * {{en}}: liquid leftovers fq28puqtm9m133nszne8di5q4udmwhy jafjaf 0 9649 27313 2024-05-06T20:40:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jafjaf''' === Tarjumaad === * {{en}}: solid leftovers 27313 wikitext text/x-wiki {{-so-}} == Magac == '''jafjaf''' === Tarjumaad === * {{en}}: solid leftovers k1d4ps74lh4q6oeirb0yic4xpi0v3tg dhaxal-gal 0 9650 27314 2024-05-06T22:33:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaxal-gal''' === Tarjumaad === * {{en}}: historic, momentous, groundbreaking, renowned, monumental 27314 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxal-gal''' === Tarjumaad === * {{en}}: historic, momentous, groundbreaking, renowned, monumental rf11yzgf23xixwxrkg6371ta9q43i4b duud 0 9651 27332 2024-05-10T08:33:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duud''' === Tarjumaad === * {{en}}: peak, mountain peak, apex, summit, vertex 27332 wikitext text/x-wiki {{-so-}} == Magac == '''duud''' === Tarjumaad === * {{en}}: peak, mountain peak, apex, summit, vertex 35i68z3zafvvdyki8nkc2wlu2pdinou kuunyo 0 9652 27333 2024-05-10T08:35:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuunyo''' === Tarjumaad === * {{en}}: hills, highlands, plateau, 27333 wikitext text/x-wiki {{-so-}} == Magac == '''kuunyo''' === Tarjumaad === * {{en}}: hills, highlands, plateau, ey40tybmsv5mj3ixpsh5zz9rzysctd8 saxaax 0 9653 27334 2024-05-10T09:23:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saxax''' === Tarjumaad === * {{en}}: rain water basin 27334 wikitext text/x-wiki {{-so-}} == Magac == '''saxax''' === Tarjumaad === * {{en}}: rain water basin igf4m8tzqsrhk8a8xmlzl1v8mt0s7u3 xuddur 0 9654 27336 2024-05-10T09:55:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xuddur''' === Tarjumaad === * {{en}}: camp 27336 wikitext text/x-wiki {{-so-}} == Magac == '''xuddur''' === Tarjumaad === * {{en}}: camp q2iwg71cypqhbgbd8lk6wcbh03mq3h1 xawaal 0 9655 27337 2024-05-10T09:57:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawaal''' === Tarjumaad === * {{en}}: burial site, cemetery 27337 wikitext text/x-wiki {{-so-}} == Magac == '''xawaal''' === Tarjumaad === * {{en}}: burial site, cemetery 85znwt2wdvvaojkeeierets7dpwok5z buulo 0 9656 27338 2024-05-10T10:02:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buulo''' === Tarjumaad === * {{en}}: religious site, religious settlement 27338 wikitext text/x-wiki {{-so-}} == Magac == '''buulo''' === Tarjumaad === * {{en}}: religious site, religious settlement mnn1pp3ozgi8zuvxqhlkq8vdrmqkpxa Cayn 0 9657 27341 2024-05-10T10:03:29Z Girligaanshub 3150 Girligaanshub moved page [[Cayn]] to [[cayn]] 27341 wikitext text/x-wiki #REDIRECT [[cayn]] qwto07ym6pc395cipkm7go9d67bb0h0 karin 0 9658 27342 2024-05-10T10:05:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''karin''' === Tarjumaad === * {{en}}: passage, pass, mountain pass 27342 wikitext text/x-wiki {{-so-}} == Magac == '''karin''' === Tarjumaad === * {{en}}: passage, pass, mountain pass onngfy15298hqo431z46a5kq781ersi tob 0 9659 27343 2024-05-10T10:05:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tob''' === Tarjumaad === * {{en}}: path, pass 27343 wikitext text/x-wiki {{-so-}} == Magac == '''tob''' === Tarjumaad === * {{en}}: path, pass jeprvpvlyoipdaebjn4mqvfha6fz6yx bohol 0 9660 29220 27345 2024-07-30T23:58:32Z Girligaanshub 3150 29220 wikitext text/x-wiki {{-so-}} == Magac == '''bohol''' === Tarjumaad === * {{en}}: den * {{en}}: stream ke1tj93rnt0w1h0o6ziw4n3h052wlxf biqilo 0 9661 27346 2024-05-10T16:09:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biqilo''' === Tarjumaad === * {{en}}: sprout 27346 wikitext text/x-wiki {{-so-}} == Magac == '''biqilo''' === Tarjumaad === * {{en}}: sprout fjn4z0x7sxu6qoxrkerz5m0ddzz4xn5 abeesa 0 9662 27347 2024-05-10T16:13:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abeesa''' === Tarjumaad === * {{en}}: viper snake 27347 wikitext text/x-wiki {{-so-}} == Magac == '''abeesa''' === Tarjumaad === * {{en}}: viper snake bslmzydhckws49ro1l0xuxml9m22ojq dhako 0 9663 27351 2024-05-11T04:39:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhako''' === Tarjumaad === * {{en}}: crown, mid-scalp, parietal, 27351 wikitext text/x-wiki {{-so-}} == Magac == '''dhako''' === Tarjumaad === * {{en}}: crown, mid-scalp, parietal, b457cdvfn67iejj9l4qut4121s7n3ig dhoor 0 9664 29890 27352 2024-08-13T18:13:25Z Girligaanshub 3150 29890 wikitext text/x-wiki {{-so-}} == Magac == '''dhoor''' === Tarjumaad === * {{en}}: upper temple, sphenoid 5rp78yehh90g991s6nyo2gw95mrkch0 fasaad 0 9665 28369 28215 2024-06-14T19:30:35Z Girligaanshub 3150 28369 wikitext text/x-wiki {{-so-}} == Magac == '''fasaad''' === Tarjumaad === * {{en}}: corrupt, corruption, chaos ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]] 3di1mxcb4qd5aev1c8wwnto2civdd6m wareey 0 9666 27356 2024-05-12T12:14:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wareey''' === Tarjumaad === * {{en}}: fake news generator 27356 wikitext text/x-wiki {{-so-}} == Magac == '''wareey''' === Tarjumaad === * {{en}}: fake news generator 5qap24tsn47tmu6ypao0mkbsarg8ah6 mir 0 9667 32356 31334 2024-11-10T15:30:28Z Girligaanshub 3150 32356 wikitext text/x-wiki {{-so-}} == Magac == '''mir''' === Tarjumaad === * {{en}}: midnight rain * {{en}}: a high place * {{en}}: archetypal, autochthonous, elementary, embryonic, genuine, primeval, primordial, pristine, prototypal, rudimental, rudimentary, quintessential, nucleus ===Synonyms=== *[[mir]], [[habeenbadh]], [[hiraab]], [[saqda dhexe]] pvu8ykj7qsiloe3xhajocghj9yjq6s2 yaal 0 9668 27360 2024-05-13T17:01:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yaal''' === Tarjumaad === * {{en}}: placed, in 27360 wikitext text/x-wiki {{-so-}} == Magac == '''yaal''' === Tarjumaad === * {{en}}: placed, in nl17mw6ljoiauidyfw9ow22jka4wfd2 talaal 0 9669 29259 27364 2024-07-31T06:03:27Z Girligaanshub 3150 29259 wikitext text/x-wiki {{-so-}} == Magac == '''talaal''' === Tarjumaad === * {{en}}: vaccination, cure bgzmp0ztaetjjavj5m6j0fht9tthemm daawaynta xiriirka 0 9670 32404 32401 2024-11-12T07:42:04Z Girligaanshub 3150 32404 wikitext text/x-wiki {{-so-}} == Magac == '''daawayn xiriirka''' === Tarjumaad === * {{en}}: therapy, ===Synonyms=== *[[is-kalkaalin]], [[daawaynta xiriirka]], [[samafal]], [[samotalis]] 5ul36h9m98gyhqvf6hzunrp2g7rz2ui samafal 0 9671 32403 32399 2024-11-12T07:41:53Z Girligaanshub 3150 32403 wikitext text/x-wiki {{-so-}} == Magac == '''samafal''' === Tarjumaad === * {{en}}: therapy, ===Synonyms=== *[[is-kalkaalin]], [[daawaynta xiriirka]], [[samafal]], [[samotalis]] qav0j52ombwapgce7m6yihwj91r4skc gabagabay 0 9672 28460 28311 2024-06-15T19:12:12Z Girligaanshub 3150 28460 wikitext text/x-wiki {{-so-}} == Magac == '''gabagabay''' === Tarjumaad === * {{en}}: conclude, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] m6mb9ef64o6hnf0px8fjyzia57sxt9t gabagabayn 0 9673 27376 2024-05-16T00:35:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabagabayn''' === Tarjumaad === * {{en}}: conclusion ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabayn]], [[gabagabaynta]] 27376 wikitext text/x-wiki {{-so-}} == Magac == '''gabagabayn''' === Tarjumaad === * {{en}}: conclusion ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabayn]], [[gabagabaynta]] 0tjxg1l6l6wua6y4p5uftdbqq2u3t56 gabagabaynta 0 9674 27377 2024-05-16T00:36:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabagabaynta''' === Tarjumaad === * {{en}}: conclusion ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabayn]], [[gabagabaynta]] 27377 wikitext text/x-wiki {{-so-}} == Magac == '''gabagabaynta''' === Tarjumaad === * {{en}}: conclusion ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabayn]], [[gabagabaynta]] qciw8o7j9cv2tys551tup6ygwickg1v maareeyo 0 9675 28457 28308 2024-06-15T19:11:41Z Girligaanshub 3150 28457 wikitext text/x-wiki {{-so-}} == Magac == '''maareeyo''' === Tarjumaad === * {{en}}: manage ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] rp7ggaq3oeougger9howq2insxfrzjv markab 0 9676 27383 2024-05-18T12:29:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''markab''' === Tarjumaad === * {{en}}: ship 27383 wikitext text/x-wiki {{-so-}} == Magac == '''markab''' === Tarjumaad === * {{en}}: ship 3rd7fdt4uha6qampxrva24f4zjm0y38 markabyo 0 9677 27384 2024-05-18T12:30:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''markabyo''' === Tarjumaad === * {{en}}: ships 27384 wikitext text/x-wiki {{-so-}} == Magac == '''markabyo''' === Tarjumaad === * {{en}}: ships qzl7rthctv03mb7ibdss8buqtw24yef maraakiib 0 9678 27385 2024-05-18T12:30:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maraakiib''' === Tarjumaad === * {{en}}: ships 27385 wikitext text/x-wiki {{-so-}} == Magac == '''maraakiib''' === Tarjumaad === * {{en}}: ships 1ram8lysotz40bhidshag1im53d00mr ruqaanso 0 9679 28908 27386 2024-07-25T03:05:38Z Girligaanshub 3150 28908 wikitext text/x-wiki {{-so-}} == Magac == '''ruqaanso''' === Tarjumaad === * {{en}}: march, marching 4lmwd54ak9bbms1ch6uowlhql79u7yk ruqaansado 0 9680 27387 2024-05-18T12:32:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruqaansado''' === Tarjumaad === * {{en}}: marching 27387 wikitext text/x-wiki {{-so-}} == Magac == '''ruqaansado''' === Tarjumaad === * {{en}}: marching 9gg0li8kv2b7kdxpo1llk3x6h27fn2l maareyn 0 9681 27850 27404 2024-05-30T17:09:38Z Girligaanshub 3150 27850 wikitext text/x-wiki {{-so-}} == Magac == '''qabanqaab''' === Tarjumaad === * {{en}}: strategy, management ===Synonyms=== *[[xeelad]], [[taakuleynta]], [[qorsheynta]], [[qorsheyn]], [[qabanqaab]], [[jaangoyn]], [[maareyn]], [[tusmo]], [[dooq]] 7xaki9lrksftlfpsu8dt06gk0xurnh3 halbeegi 0 9682 28454 28304 2024-06-15T19:11:06Z Girligaanshub 3150 28454 wikitext text/x-wiki {{-so-}} == Magac == '''halbeegi''' === Tarjumaad === * {{en}}: standardize ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]] 2xb2wyoink0m8cfbdz11xv98bwm37tk doon 0 9683 27419 2024-05-18T16:52:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: boat, * {{en}}: seek, 27419 wikitext text/x-wiki {{-so-}} == Magac == '''shaac''' === Tarjumaad === * {{en}}: boat, * {{en}}: seek, 21bt8ib65w2xic02ouuntcoq25kvmks qaadaco 0 9684 31368 27424 2024-10-06T17:28:03Z Girligaanshub 3150 31368 wikitext text/x-wiki {{-so-}} == Magac == '''qaadaco''' === Tarjumaad === * {{en}}: boycott ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] q4mrnurxqka1bpu53v3mdqmskgcdipp maareey 0 9685 29332 28033 2024-08-01T11:20:55Z Girligaanshub 3150 29332 wikitext text/x-wiki {{-so-}} == Magac == '''maareey''' === Tarjumaad === * {{en}}: manage, engage, engage with, manage, touch upon, handle, act on, deal with ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] e9xsos8lnl7mc2amtadxwkfh7k3l3rs maarey 0 9686 29331 27702 2024-08-01T11:20:34Z Girligaanshub 3150 29331 wikitext text/x-wiki {{-so-}} == Magac == '''maarey''' === Tarjumaad === * {{en}}: manage, engage, engage with, touch upon, handle, act on, deal with ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] 7buvadrz1f66rsf2kqfqjv27jodgpyq tacaali 0 9687 27701 27655 2024-05-23T22:31:32Z Girligaanshub 3150 27701 wikitext text/x-wiki {{-so-}} == Magac == '''tacaali''' === Tarjumaad === * {{en}}: manage, touch upon, handle, act on, deal with ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] 5vgjw0kqfqq83ium8v3o37tgzi5p4dn taxadar 0 9688 32493 30839 2024-11-16T19:50:35Z Girligaanshub 3150 32493 wikitext text/x-wiki {{-so-}} == Magac == '''taxadar''' ===Etymology=== *Thoth === Tarjumaad === * {{en}}: scrutiny * {{en}}: careful, carefully, cautious, scrutiny, mindful, mindfulness, ===Synonyms=== *[[fejignaan]], [[heegan]], [[heeganka]], [[digtooni]], [[taxadar]], 890hkuvd7itlt8g0kj1rre4xp4fhli8 adeegso 0 9689 30402 28034 2024-09-01T03:26:32Z Girligaanshub 3150 30402 wikitext text/x-wiki {{-so-}} == Magac == '''adeegso''' === Tarjumaad === * {{en}}: utilize, link, serve, apply, use, engage, relate, connect ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], glfovlssjtsfg7vno584fms0767e9r1 taxadaro 0 9690 27717 27695 2024-05-24T21:25:18Z Girligaanshub 3150 27717 wikitext text/x-wiki {{-so-}} == magac == '''taxadaro''' === Tarjumaad === * {{en}}: scrutinize, vet, be careful, have self-discipline, be thoughtful, be conscientious, be attentive, take notice, hearken, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] gh9c6khm9qiihcu6a1kae8d3mz5e8ca bogaadi 0 9691 28030 27694 2024-06-08T20:30:49Z Girligaanshub 3150 28030 wikitext text/x-wiki {{-so-}} == magac == '''bogaadi''' === Tarjumaad === * {{en}}: pay attention, observe, attend, tend, watch, concentrate on, focus on ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]], [[miiraabo]] hkgsu1l29d27tbek0pz9feflolhbm5r wadaag 0 9692 27693 27647 2024-05-23T22:30:08Z Girligaanshub 3150 27693 wikitext text/x-wiki {{-so-}} == Magac == '''wadaag''' === Tarjumaad === * {{en}}: link, utilize, link, serve, apply, use, engage, relate, connect, combine, associate, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] kg9rqou5ozah3xunr5x8827tfupewp7 filasho 0 9693 30698 30695 2024-09-11T03:13:20Z Girligaanshub 3150 30698 wikitext text/x-wiki {{-so-}} == Magac == '''filasho''' === Tarjumaad === * {{en}}: expectation, assumption, presumption ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]], [[filasho]], [[aragtida]] 8vyiogpteb7klotvs0ypgguugypzypv faallada 0 9694 30716 27961 2024-09-11T03:35:38Z Girligaanshub 3150 30716 wikitext text/x-wiki {{-so-}} == Magac == '''faallada''' === Tarjumaad === * {{en}}: notion, notions, concept, idea, hypothesis, idea, thought, assumption, ===Synonyms=== *[[qisad]], [[oraah]], [[halhay]], [[faallo]], [[faallada]] nyzib4dyzbt5vk6bbmp5xcp0egm0c7d khudbad 0 9695 27546 2024-05-21T01:24:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khudbad''' === Tarjumaad === * {{en}}: preach, ===Synonyms=== *[[wacdi]], [[wacdiga]], [[khudbad]] 27546 wikitext text/x-wiki {{-so-}} == Magac == '''khudbad''' === Tarjumaad === * {{en}}: preach, ===Synonyms=== *[[wacdi]], [[wacdiga]], [[khudbad]] kv9c0o4mxy6ndpdwtmorein7j6byt5g awrah 0 9696 27561 2024-05-21T02:11:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awrah''' === Tarjumaad === * {{en}}: genitalia, private parts, erogenous zone 27561 wikitext text/x-wiki {{-so-}} == Magac == '''awrah''' === Tarjumaad === * {{en}}: genitalia, private parts, erogenous zone 38d2j46ckx68a28a0gwv7nq5bf8zsd6 xool 0 9697 27564 2024-05-21T03:47:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xool''' === Tarjumaad === * {{en}}: cradle, crib 27564 wikitext text/x-wiki {{-so-}} == Magac == '''xool''' === Tarjumaad === * {{en}}: cradle, crib j5cjojuqlwbameq203gdk5k24xlf93z misaar 0 9698 27565 2024-05-21T05:05:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''misaar''' === Tarjumaad === * {{en}}: saw 27565 wikitext text/x-wiki {{-so-}} == Magac == '''misaar''' === Tarjumaad === * {{en}}: saw eq62x6evglq3oz4ssu8y6mxvddxuwyw orgi 0 9699 27793 27566 2024-05-28T16:46:34Z Girligaanshub 3150 27793 wikitext text/x-wiki {{-so-}} == Magac == '''orgi''' === Tarjumaad === * {{en}}: male goat, buck b4oi4rv7u81l8q0pggd9ddj0gj6ip2z halmaal 0 9700 31326 27571 2024-10-04T19:28:19Z Girligaanshub 3150 31326 wikitext text/x-wiki {{-so-}} == Magac == '''halmaal''' === Tarjumaad === * {{en}}: similar, linked, accompany, coincide, 3n47fgi9ueo59kiaix6t5s5mitn67s3 shaac-bax 0 9701 31465 31143 2024-10-12T23:55:10Z Girligaanshub 3150 31465 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-bax'' === Tarjumaad === * {{en}}: upwards social trend, trending, viral, popular, trendy, fashion, fashionable ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] jn0g86x49nh47pp21jgf72kn9wvx8at courtship 0 9702 27578 2024-05-21T16:52:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haasaawe''' === Tarjumaad === * {{en}}: courtship 27578 wikitext text/x-wiki {{-so-}} == Magac == '''haasaawe''' === Tarjumaad === * {{en}}: courtship pfgqogxmjkk2y4k1sojow043uqmvr49 dhiidhin 0 9703 30945 27731 2024-09-27T04:48:07Z Girligaanshub 3150 30945 wikitext text/x-wiki {{-so-}} == Magac == '''dhiidhin''' === Tarjumaad === * {{en}}: retaliation 6gkt3n2u8kjf4gy746lpe062uqgn9mu xaflad 0 9704 28063 27781 2024-06-08T22:45:30Z Girligaanshub 3150 28063 wikitext text/x-wiki {{-so-}} == Magac == '''xaflad''' === Tarjumaad === * {{en}}: celebration, party, ceremony ===Synonyms=== *[[han-weyn]], [[han-weyno]], [[hambalyo]], [[hobey]], [[ciid]], [[damaashaad]], [[xaflad]], [[naaloodka]], [[naaloon]], [[raaxo]], [[arwaax]], [[bashbash]], [[foorjo]], [[xaraab]], [[kaftan]], [[shaaho]], [[isxamaarsii]], [[bulsho-daaq]] 9nqv45mdkbgr92r2oepqjahegdvpud8 booq 0 9705 31081 30706 2024-10-04T07:21:47Z Girligaanshub 3150 31081 wikitext text/x-wiki {{-so-}} == Magac == '''booq''' === Tarjumaad === * {{en}}: meet, meeting, ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] 92b8fv5l0sla3vg4tvkm3zr3793zap6 booqasho 0 9706 31082 30707 2024-10-04T07:21:58Z Girligaanshub 3150 31082 wikitext text/x-wiki {{-so-}} == Magac == '''booqasho''' === Tarjumaad === * {{en}}: meet, meeting, ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] hdirtobz7doqbf9opyxgbmznitlpqtd xamil-yar 0 9707 27609 2024-05-22T13:07:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamil-yar''' === Tarjumaad === * {{en}}: low-functioning 27609 wikitext text/x-wiki {{-so-}} == Magac == '''xamil-yar''' === Tarjumaad === * {{en}}: low-functioning sh95znp52qpzb71e4adzjk2np0t0awi xamil-gaab 0 9708 27610 2024-05-22T13:07:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamil-gaab''' === Tarjumaad === * {{en}}: low-functioning 27610 wikitext text/x-wiki {{-so-}} == Magac == '''xamil-gaab''' === Tarjumaad === * {{en}}: low-functioning tp134020lcr0vgrvqjp51begfai91p1 xamil-weyn 0 9709 27611 2024-05-22T13:08:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamil-weyn''' === Tarjumaad === * {{en}}: high-functioning 27611 wikitext text/x-wiki {{-so-}} == Magac == '''xamil-weyn''' === Tarjumaad === * {{en}}: high-functioning 7l8r30dt1dmmdhdal928wia9dfply0k xamil-dheer 0 9710 27612 2024-05-22T13:08:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamil-dheer''' === Tarjumaad === * {{en}}: high-functioning 27612 wikitext text/x-wiki {{-so-}} == Magac == '''xamil-dheer''' === Tarjumaad === * {{en}}: high-functioning jskjg5fv0hx9uxll5nsrskvlo0vp98d tiri 0 9711 27691 27645 2024-05-23T22:29:44Z Girligaanshub 3150 27691 wikitext text/x-wiki {{-so-}} == Magac == '''tiri''' === Tarjumaad === * {{en}}: count * {{en}}: contemplate, reflect, check ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] r6ntixk5guae2r5b5o8ir81kisufqip habsoco 0 9712 27689 27675 2024-05-23T22:29:14Z Girligaanshub 3150 27689 wikitext text/x-wiki {{-so-}} == Magac == '''habsoco''' === Tarjumaad === * {{en}}: habitualize, accustomize, continue, persist, ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] 78vip7m5pvgyqbelvionyw7w6pqva5n xuubka bikrada 0 9713 27635 2024-05-22T19:37:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xuubka bikrada''' === Tarjumaad === * {{en}}: hymen, 27635 wikitext text/x-wiki {{-so-}} == Magac == '''xuubka bikrada''' === Tarjumaad === * {{en}}: hymen, b3kd8wiqgfd8foxmigxr3cfo4eyz0w9 janjeero 0 9714 32133 31684 2024-10-28T07:04:31Z Girligaanshub 3150 32133 wikitext text/x-wiki {{-so-}} == Magac == '''janjeero''' === Tarjumaad === * {{en}}: predilect, trend, lean, bend, incline, orient ===Synonyms=== *[[janjeero]], [[sifoobo]], [[weeciyo]] 9gxojpczaewxw5pn3zrwb4fhtdheq4d qaab 0 9715 27660 2024-05-22T19:48:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaab''' === Tarjumaad === * {{en}}: shape 27660 wikitext text/x-wiki {{-so-}} == Magac == '''qaab''' === Tarjumaad === * {{en}}: shape c8oiiv5g1xabuazjkrsdc8mx9k2p0ur dhabas 0 9716 27664 2024-05-23T05:35:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabas''' === Tarjumaad === * {{en}}: horse / saddle securing 27664 wikitext text/x-wiki {{-so-}} == Magac == '''dhabas''' === Tarjumaad === * {{en}}: horse / saddle securing 35i8lv45aeko5b5c66dqjic8a5jjfv9 yambaaree 0 9717 27665 2024-05-23T05:36:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yambaaree''' === Tarjumaad === * {{en}}: horseback fighting 27665 wikitext text/x-wiki {{-so-}} == Magac == '''yambaaree''' === Tarjumaad === * {{en}}: horseback fighting townrbycyrz8l7nbn7wszulxsjio7cw senge 0 9718 27666 2024-05-23T05:38:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''senge''' === Tarjumaad === * {{en}}: castrated horse 27666 wikitext text/x-wiki {{-so-}} == Magac == '''senge''' === Tarjumaad === * {{en}}: castrated horse a5q9pmtokgd1wos35w36ifdmn2u7v6g tuke baal-cad 0 9719 27667 2024-05-23T20:30:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuke baal-cad''' === Tarjumaad === * {{en}}: black sheep, scapegoat, outcast, misfit * {{en}}: (literally) white winged crow 27667 wikitext text/x-wiki {{-so-}} == Magac == '''tuke baal-cad''' === Tarjumaad === * {{en}}: black sheep, scapegoat, outcast, misfit * {{en}}: (literally) white winged crow muiltipf843z8gl3iabek52wbqpu7t0 badheedho 0 9720 32417 27705 2024-11-14T06:28:05Z Girligaanshub 3150 32417 wikitext text/x-wiki {{-so-}} == Magac == '''badheedho''' === Tarjumaad === * {{en}}: be intentional (something bad), double down * {{en}}: be comitted, take initiative, be frank, be direct, be blunt, be straightforward, be candid, have audacity ===Synonyms=== *[[adeeg]], [[adeegso]], [[maarey]], [[maareey]], [[tacaali]], [[dhowro]], [[dhawro]], [[kormeero]], [[falanqay]], [[shaandhee]], [[taxadaro]], [[bogaadi]], [[wadaag]], [[tixgeli]], [[tiri]], [[haybsado]], [[cabbiro]], [[afjaro]], [[guddoon]], [[garnaq]], [[ololeey]], [[janjeero]], [[shaac-bax]], [[habsoco]], [[badheedho]], [[bareero]] 8iaik0e3htt8w7rq081gudfa1z0gt72 igmo 0 9721 29756 27750 2024-08-11T16:57:32Z Girligaanshub 3150 29756 wikitext text/x-wiki {{-so-}} == Magac == '''igmo''' === Tarjumaad === * {{en}}: give, task, tasked, assign, mandate, mandated, delegate, entrust, trust, 5jayd7p5dfm402fttj08l2l253wg46k socdaal 0 9722 28480 28430 2024-06-15T20:16:46Z Girligaanshub 3150 28480 wikitext text/x-wiki {{-so-}} == Magac == '''socdaal''' === Tarjumaad === * {{en}}: immigration, migration, march, pedestrian, walking * {{en}}: pathway, navigation, ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] 49suaupl4dhi1fmh3vikr8hgqxg0azt jinsiyad 0 9723 27715 27714 2024-05-24T04:25:25Z Girligaanshub 3150 27715 wikitext text/x-wiki {{-so-}} == Magac == '''jinsiyad''' === Tarjumaad === * {{en}}: citizenship, nationality, residency ===Synonyms=== *[[jinsiyad]], [[dhalasho]] e6npbrjef1rkw7ih7wb0b0xnku6hauh dhalasho 0 9724 27716 2024-05-24T04:25:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhalasho''' === Tarjumaad === * {{en}}: citizenship, nationality, residency ===Synonyms=== *[[jinsiyad]], [[dhalasho]] 27716 wikitext text/x-wiki {{-so-}} == Magac == '''dhalasho''' === Tarjumaad === * {{en}}: citizenship, nationality, residency ===Synonyms=== *[[jinsiyad]], [[dhalasho]] 86ueovzr2egpcmntxv8ayac2l4o6139 qaddo 0 9725 27718 2024-05-25T04:19:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaddo''' === Tarjumaad === * {{en}}: lunch 27718 wikitext text/x-wiki {{-so-}} == Magac == '''qaddo''' === Tarjumaad === * {{en}}: lunch 9y363mmz82oucb6hfhstjkol12h6x1k casho 0 9726 27719 2024-05-25T04:19:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''casho''' === Tarjumaad === * {{en}}: dinner 27719 wikitext text/x-wiki {{-so-}} == Magac == '''casho''' === Tarjumaad === * {{en}}: dinner 5idiiwz84c6nehjhqnh0v9em5n7qbh0 guraac 0 9727 27720 2024-05-25T04:19:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guraac''' === Tarjumaad === * {{en}}: breakfast 27720 wikitext text/x-wiki {{-so-}} == Magac == '''guraac''' === Tarjumaad === * {{en}}: breakfast c3mt4mryp4mv0t8qsqugx8e6mfs5i54 maadaama 0 9728 27725 2024-05-26T08:59:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maadaama''' === Tarjumaad === * {{en}}: because, 27725 wikitext text/x-wiki {{-so-}} == Magac == '''maadaama''' === Tarjumaad === * {{en}}: because, ck98uio65k4j60txt1j38uxxar1ujck musharaxo 0 9729 27727 2024-05-26T11:06:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''musharaxo''' === Tarjumaad === * {{en}}: nominate ===Synonyms=== *[[musharaxo]], [[magacdar]] 27727 wikitext text/x-wiki {{-so-}} == Magac == '''musharaxo''' === Tarjumaad === * {{en}}: nominate ===Synonyms=== *[[musharaxo]], [[magacdar]] qb7kfc24ij13nf2s0wyjux6m56hytpz magacdar 0 9730 27728 2024-05-26T11:06:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magacdar''' === Tarjumaad === * {{en}}: nominate ===Synonyms=== *[[musharaxo]], [[magacdar]] 27728 wikitext text/x-wiki {{-so-}} == Magac == '''magacdar''' === Tarjumaad === * {{en}}: nominate ===Synonyms=== *[[musharaxo]], [[magacdar]] ixgm8poshg6m5ohte1nonw2kopmo7ul magacaabis 0 9731 28934 27730 2024-07-27T02:20:55Z Girligaanshub 3150 28934 wikitext text/x-wiki {{-so-}} == Magac == '''magacaabis''' === Tarjumaad === * {{en}}: candidate, nominee ===Synonyms=== *[[magacaabis]], [[musharax]], [[xul]] 4wuw4onmmo5q46zvcmhnpt27sqf09xe waraabe 0 9732 27736 2024-05-27T01:40:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waraabe''' === Tarjumaad === * {{en}}: spotted hyena, 27736 wikitext text/x-wiki {{-so-}} == Magac == '''waraabe''' === Tarjumaad === * {{en}}: spotted hyena, ib43n67gcrg4g6ttqoatm164x6ghnvt adeecsan 0 9733 27749 27745 2024-05-27T12:33:50Z Girligaanshub 3150 27749 wikitext text/x-wiki {{-so-}} == Magac == '''adeecsan''' === Tarjumaad === * {{en}}: loyal, loyalist, patriot o301789zu8e4j28vqm2a4go30clkovh adeecnimo 0 9734 27748 27746 2024-05-27T12:33:34Z Girligaanshub 3150 27748 wikitext text/x-wiki {{-so-}} == Magac == '''adeecnimo''' === Tarjumaad === * {{en}}: loyalty, loyalism, patriotism 4l8pd9koeanoouys1zuuktpy7190zdv qafaasho 0 9735 27751 2024-05-27T15:04:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qafaasho''' === Tarjumaad === * {{en}}: kidnap, hijack, kidnapped, hijacked, abduction, abduct, hostage, ransom 27751 wikitext text/x-wiki {{-so-}} == Magac == '''qafaasho''' === Tarjumaad === * {{en}}: kidnap, hijack, kidnapped, hijacked, abduction, abduct, hostage, ransom k69o53tjcert3wbf90eb737eld9r0xn halabuure 0 9736 31151 29475 2024-10-04T13:05:25Z Girligaanshub 3150 31151 wikitext text/x-wiki {{-so-}} == Magac == '''halabuure''' === Tarjumaad === * {{en}}: innovator, enterpriser, creator, pioneer ===Synonyms=== *[[horseed]], [[hormuud]], [[halabuure]], [[guulwade]], [[ifbixiye]] 89lx592xb82m6rf0uvgxifhy52g4itb seedi 0 9737 27796 27773 2024-05-29T02:13:43Z Girligaanshub 3150 27796 wikitext text/x-wiki {{-so-}} == Magac == '''seedi''' === Tarjumaad === * {{en}}: brother-in-law, male in-law kkje6i6jim879v6ofcn0i9e1gglpjy0 ido 0 9738 27790 2024-05-28T16:39:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ido''' === Tarjumaad === * {{en}}: sheep, 27790 wikitext text/x-wiki {{-so-}} == Magac == '''ido''' === Tarjumaad === * {{en}}: sheep, cxa62j9h1ib2nusrn8ktnxmljt9egir nayl 0 9739 27792 2024-05-28T16:45:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nayl''' === Tarjumaad === * {{en}}: lamb, baby sheep 27792 wikitext text/x-wiki {{-so-}} == Magac == '''nayl''' === Tarjumaad === * {{en}}: lamb, baby sheep pmxs3b5tq02n2whhqq0f36oap7vf4lf ri 0 9740 27794 2024-05-29T02:10:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ri''' === Tarjumaad === * {{en}}: female goat 27794 wikitext text/x-wiki {{-so-}} == Magac == '''ri''' === Tarjumaad === * {{en}}: female goat tgmhkofhsoo49fjph7mz3aqj6t7r0tf sodog 0 9741 27797 2024-05-29T02:14:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sodog''' === Tarjumaad === * {{en}}: father-in-law, older male in-law 27797 wikitext text/x-wiki {{-so-}} == Magac == '''sodog''' === Tarjumaad === * {{en}}: father-in-law, older male in-law dy6gzcf8i0hnisgbnd97lwj448whr9r dumaashi 0 9742 27799 27798 2024-05-29T02:15:58Z Girligaanshub 3150 27799 wikitext text/x-wiki {{-so-}} == Magac == '''dumaashi''' === Tarjumaad === * {{en}}: sister in-law, female in-law jzo98p95velvr8pbl3p66aw459bw0sx sodoh 0 9743 27800 2024-05-29T02:16:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sodoh''' === Tarjumaad === * {{en}}: mother in-law, older female in-law 27800 wikitext text/x-wiki {{-so-}} == Magac == '''sodoh''' === Tarjumaad === * {{en}}: mother in-law, older female in-law 0auwclszaxstzllzncsyap3eca2vf1s ifbaxin 0 9744 27965 27802 2024-06-04T18:09:52Z Girligaanshub 3150 27965 wikitext text/x-wiki {{-so-}} == Magac == '''ifbaxin''' === Tarjumaad === * {{en}}: initiative, innovative, creative, improvization eleib67j4am3q0a9bh8w2zwkqxkkhji sahlin 0 9745 27803 2024-05-29T13:00:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sahlin''' === Tarjumaad === * {{en}}: ease, mitigation, alleviation, soothing, palliation, relief 27803 wikitext text/x-wiki {{-so-}} == Magac == '''sahlin''' === Tarjumaad === * {{en}}: ease, mitigation, alleviation, soothing, palliation, relief c97bpw70jybgm7rh0g4hqbuqe06lg9z gummud 0 9746 32085 31916 2024-10-28T03:45:32Z Girligaanshub 3150 32085 wikitext text/x-wiki {{-so-}} == Magac == '''gummud''' === Tarjumaad === * {{en}}: stub, stump, root, snag, ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[curdin]], [[tiir]], [[jirid]] 6pv7piafz1b536f229u70kl4d5olojf qafaalo 0 9747 27808 2024-05-30T13:15:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qafaalo''' === Tarjumaad === * {{en}}: kidnap, hijack, kidnapped, hijacked, abduct, abduct, hostage, ransom 27808 wikitext text/x-wiki {{-so-}} == Magac == '''qafaalo''' === Tarjumaad === * {{en}}: kidnap, hijack, kidnapped, hijacked, abduct, abduct, hostage, ransom babb4fyp2urlaivah30wvt5bz9kpi5x aamin 0 9748 27809 2024-05-30T15:11:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aamin''' === Tarjumaad === * {{en}}: trust, trustful, trustworthy, ethical, ethics, 27809 wikitext text/x-wiki {{-so-}} == Magac == '''aamin''' === Tarjumaad === * {{en}}: trust, trustful, trustworthy, ethical, ethics, d8nedui4z8t17x7egybcdhro71ilwh6 baahi 0 9749 28468 27846 2024-06-15T19:21:19Z Girligaanshub 3150 28468 wikitext text/x-wiki {{-so-}} == Magac == '''baahi''' === Tarjumaad === * {{en}}: need * {{en}}: disclose, reveal, spread rdmt011jz3sm08hhrypsup296z5myvz adeece 0 9750 28282 27865 2024-06-14T14:45:28Z Girligaanshub 3150 28282 wikitext text/x-wiki {{-so-}} == Magac == '''adeece''' === Tarjumaad === * {{en}}: loyalist, adherent, devotee, dependent, ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] 591ltyuikjgs49vmv6ca8f1dhvfypxh maandhow 0 9751 30604 28279 2024-09-08T17:13:31Z Girligaanshub 3150 30604 wikitext text/x-wiki {{-so-}} == Magac == '''maandhow''' === Tarjumaad === * {{en}}: sidekick, cheerleader, fan, aficionado, jock, backup, back-up, hype man, marketer, promoter ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] t1j4m4e86pa2gfjf20a60fmww197zfn weheliye 0 9752 28284 27859 2024-06-14T14:45:56Z Girligaanshub 3150 28284 wikitext text/x-wiki {{-so-}} == Magac == '''weheliye''' === Tarjumaad === * {{en}}: friend ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] 2owl6dkd47nuhrbik4t2rnnnl4lem2m saaxib 0 9753 28288 27860 2024-06-14T14:47:02Z Girligaanshub 3150 28288 wikitext text/x-wiki {{-so-}} == Magac == '''saaxib''' === Tarjumaad === * {{en}}: friend ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] rk8wfk26csrqkkxqjzqgu7ed73h8q87 xoogsheegasho 0 9754 27867 2024-05-30T18:39:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegasho''' === Tarjumaad === * {{en}}: domination, 27867 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegasho''' === Tarjumaad === * {{en}}: domination, 9cs8t99ujvjc6hpisuns0so48nz4e9p xoogsheego 0 9755 29866 29852 2024-08-12T18:13:19Z Girligaanshub 3150 29866 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheego''' === Tarjumaad === * {{en}}: dominate, ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]] mkfn7il11iyikasjdd6ki5l3yfvpt5u xoogsheegid 0 9756 27869 2024-05-30T18:40:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegid''' === Tarjumaad === * {{en}}: dominating, 27869 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegid''' === Tarjumaad === * {{en}}: dominating, gd5ud0kgdl9cq8uj23sehl7a29vtu86 xoogsheege 0 9757 27870 2024-05-30T18:41:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheege''' === Tarjumaad === * {{en}}: dominator, dominater, dominatrix 27870 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheege''' === Tarjumaad === * {{en}}: dominator, dominater, dominatrix aw9yk5sgxxlxg6xxu9ajz4gk9oblbz5 xoogsheeg 0 9758 27871 2024-05-30T18:43:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheeg''' === Tarjumaad === * {{en}}: domination, dominant 27871 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheeg''' === Tarjumaad === * {{en}}: domination, dominant d1ckup3lk3kb9ue9h86t2gl7gtmn3fo xoogsheegga 0 9759 27872 2024-05-30T18:43:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegga''' === Tarjumaad === * {{en}}: domination, dominant 27872 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegga''' === Tarjumaad === * {{en}}: domination, dominant q8g8365zpehtfztg9x8xzqomw7sz9qt xoogsheega 0 9760 27873 2024-05-30T18:43:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheega''' === Tarjumaad === * {{en}}: domination, dominant 27873 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheega''' === Tarjumaad === * {{en}}: domination, dominant 5c2hvgk940om2oodqm7c564uv7uyi86 xulka 0 9761 27875 2024-05-30T18:46:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xulka''' === Tarjumaad === * {{en}}: team 27875 wikitext text/x-wiki {{-so-}} == Magac == '''xulka''' === Tarjumaad === * {{en}}: team qbeltg5flry47bb3dit8pgziv4q546u mashxarad alalaas 0 9762 27876 2024-05-30T19:05:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mashxarad alalaas''' === Tarjumaad === * {{en}}: ululate, ululation 27876 wikitext text/x-wiki {{-so-}} == Magac == '''mashxarad alalaas''' === Tarjumaad === * {{en}}: ululate, ululation 5f39fq11khulbuvp3g3hpapn4plwpqo curyaamin 0 9763 31029 30198 2024-09-30T22:58:11Z Girligaanshub 3150 31029 wikitext text/x-wiki {{-so-}} == Magac == '''curyaamin''' === Tarjumaad === * {{en}}: disruption, disabled ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]] nlg6ne79oc2vpcpvzpid7s0zlhvwmqp carqaladayn 0 9764 32345 31363 2024-11-09T22:37:33Z Girligaanshub 3150 32345 wikitext text/x-wiki {{-so-}} == Magac == '''carqaladayn''' === Tarjumaad === * {{en}}: disruption, disrupt ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] 9zdaqn8j0dog1jf7ggl7desfmh21adz xoohsheegashada 0 9765 27883 2024-05-30T21:09:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegashada''' === Tarjumaad === * {{en}}: domineering 27883 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegashada''' === Tarjumaad === * {{en}}: domineering h77crzs2wc1a9omyj28ajy1qs0cs7rb xoosheegato 0 9766 27884 2024-05-30T21:11:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegato''' === Tarjumaad === * {{en}}: dominant, domineering 27884 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegato''' === Tarjumaad === * {{en}}: dominant, domineering 5sk8tryofblixr5kkfr4q2y3xly9xvu hogaan-side 0 9767 27894 2024-05-31T12:09:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hogaan-side''' === Tarjumaad === * {{en}}: authority 27894 wikitext text/x-wiki {{-so-}} == Magac == '''hogaan-side''' === Tarjumaad === * {{en}}: authority 1po86bzhzft1bu5u2cfka840ptzyjzz hogaan-sidaha 0 9768 27896 27895 2024-05-31T12:12:14Z Girligaanshub 3150 27896 wikitext text/x-wiki {{-so-}} == Magac == '''hogaan-sidaha''' === Tarjumaad === * {{en}}: authorities * {{en}}: authoritative b12xy79y9b26y3iv7816zwbjqm0o26d ifbaxinta 0 9769 27902 2024-05-31T14:30:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ifbaxinta''' === Tarjumaad === * {{en}}: initiation, commencement, ushering, instigation, launch, establishment, induction, installment, cultivation, innovation, improvization, cultivation, production ===Synonyms=== *[[soosaarida]], [[midha-dhal]], [[ifbixinta]], [[ifbaxinta]] 27902 wikitext text/x-wiki {{-so-}} == Magac == '''ifbaxinta''' === Tarjumaad === * {{en}}: initiation, commencement, ushering, instigation, launch, establishment, induction, installment, cultivation, innovation, improvization, cultivation, production ===Synonyms=== *[[soosaarida]], [[midha-dhal]], [[ifbixinta]], [[ifbaxinta]] q12f85f8li3hpmd0sxkozsmxfhuvl7r cayiman 0 9770 27904 2024-05-31T20:10:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cayiman''' === Tarjumaad === * {{en}}: specific, certain, fixed, static, definite, designate, designated, interval, 27904 wikitext text/x-wiki {{-so-}} == Magac == '''cayiman''' === Tarjumaad === * {{en}}: specific, certain, fixed, static, definite, designate, designated, interval, er6f598un5ar5r5w6r302tvqnydmdq1 xoogsheegto 0 9771 27908 2024-06-01T08:13:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoogsheegto''' === Tarjumaad === * {{en}}: dominates, dominating, dominated 27908 wikitext text/x-wiki {{-so-}} == Magac == '''xoogsheegto''' === Tarjumaad === * {{en}}: dominates, dominating, dominated qagfazdud8vj5bbnglgrhrjni4sm0w2 falceli 0 9772 32041 27922 2024-10-27T19:48:02Z Girligaanshub 3150 32041 wikitext text/x-wiki {{-so-}} == Magac == '''falceli''' === Tarjumaad === * {{en}}: react, ===Synonyms=== *[[loolamo]], [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[xoogsheego]], [[baano]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] crsr82q3547bqsek0jinkatlw4osqxg caabiyo 0 9773 27919 27918 2024-06-01T08:37:03Z Girligaanshub 3150 27919 wikitext text/x-wiki {{-so-}} == Magac == '''caabiyo''' === Tarjumaad === * {{en}}: resist, ===Synonyms=== *[[loolamo]], [[caqabadeeyo]], [[caabiyo]], [[falceli]], [[xoogsheego]], [[baano]], [[dhiidhiiyo]], [[dhiidhinta]], [[dafir]], [[dafirro]], [[dafiraad]], [[caabi]], [[caabin]], [[caabinta]], [[falcelin]], [[falcelinta]], [[xujaynta]] 39qiw537ubf8k44dylhinqe2tnv77r0 caqabade 0 9774 27916 2024-06-01T08:21:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caqabade''' === Tarjumaad === * {{en}}: challenger, ===Synonyms=== *[[loolane]], [[caqabade]] 27916 wikitext text/x-wiki {{-so-}} == Magac == '''caqabade''' === Tarjumaad === * {{en}}: challenger, ===Synonyms=== *[[loolane]], [[caqabade]] qmfk8kz4qufzjrti3p186jayoqrbll2 loolane 0 9775 27917 2024-06-01T08:22:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loolane''' === Tarjumaad === * {{en}}: challenger, ===Synonyms=== *[[loolane]], [[caqabade]] 27917 wikitext text/x-wiki {{-so-}} == Magac == '''loolane''' === Tarjumaad === * {{en}}: challenger, ===Synonyms=== *[[loolane]], [[caqabade]] subrnpmvgrv8e5yr1ea1j2fhemb68mh loolamo 0 9776 29864 27937 2024-08-12T18:12:54Z Girligaanshub 3150 29864 wikitext text/x-wiki {{-so-}} == Magac == '''loolamo''' === Tarjumaad === * {{en}}: challenge, confront, compete ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]] dtqfelw37e2y6qa442iu9n51axj66qf lulo 0 9777 27936 2024-06-01T09:13:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lulo''' === Tarjumaad === * {{en}}: shake, wave ===Synonyms=== *[[lul]], [[lulo]] 27936 wikitext text/x-wiki {{-so-}} == Magac == '''lulo''' === Tarjumaad === * {{en}}: shake, wave ===Synonyms=== *[[lul]], [[lulo]] k5b6qm32duy3fu3jkph5tc1pkywoy87 loolanka 0 9778 27938 2024-06-01T11:03:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loolanka''' === Tarjumaad === * {{en}}: challenge, confrontation, competition, showdown 27938 wikitext text/x-wiki {{-so-}} == Magac == '''loolanka''' === Tarjumaad === * {{en}}: challenge, confrontation, competition, showdown qs1ayetj91s34rrul352wlg6wkz7d43 loolan 0 9779 31651 27991 2024-10-19T17:10:34Z Girligaanshub 3150 31651 wikitext text/x-wiki {{-so-}} == Magac == '''loolan''' === Tarjumaad === * {{en}}: challenge, confrontation, competition, showdown ===Synonyms=== *[[loolamo]], [[loolan]] jtx5fzgfx90qwyc420ckvpihdia6hyi shaac-bixida 0 9780 30688 29452 2024-09-11T03:09:33Z Girligaanshub 3150 30688 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-bixida'' === Tarjumaad === * {{en}}: social trend, trend, viral, popularity, trendiness, fashion ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], 1713ai8x9ey042f1j3g9xykg1yremo6 shaac-kicinta 0 9781 30689 29454 2024-09-11T03:09:42Z Girligaanshub 3150 30689 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-kicinta'' === Tarjumaad === * {{en}}: social trend, trend, viral, popularity, trendiness, fashion ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], ov83unh8ok2sl3fp5sy51uz0m3qmsbo shaac-bixin 0 9782 30717 28225 2024-09-11T03:37:05Z Girligaanshub 3150 30717 wikitext text/x-wiki {{-so-}} == Magac == '''shaac-bixin'' === Tarjumaad === * {{en}}: social trend, trend, viral, popularity, trendiness, fashion, currency ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]], [[naf-bidka]], [[shaac-bixida]], [[shaac-kicinta]], [[habsocod]], [[shaaca]], [[shaacinta]], 5u07r0f8ybaunegzk8c9wt7up1lyie2 camal-la'aan 0 9783 31474 27962 2024-10-13T00:13:47Z Girligaanshub 3150 31474 wikitext text/x-wiki {{-so-}} == Magac == '''camal-la'aan''' === Tarjumaad === * {{en}}: idle, grey rocking, grey rock method ===Synonyms=== *[[camal-la'aan]], [[laangaab]], [[waxmatare]], [[dayuus]], [[dayouth]], [[dhiiranlaawe]], th0k3sdyx0thyjv731h3iwf1ph5z106 gaboodfal 0 9784 29184 29132 2024-07-30T22:18:37Z Girligaanshub 3150 29184 wikitext text/x-wiki {{-so-}} == Magac == '''gaboodfal''' === Tarjumaad === * {{en}}: tyranny, despotism, subjugation ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] dvrriprepn9xdcvwhypjq1n92se0rmp gabood-fal 0 9785 29186 29134 2024-07-30T22:18:55Z Girligaanshub 3150 29186 wikitext text/x-wiki {{-so-}} == Magac == '''gaboodfal''' === Tarjumaad === * {{en}}: tyranny, despotism, subjugation ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] gkyfjo4tvmpch0is8nyyd5w6au2jsy3 dalacsiin 0 9786 27972 27970 2024-06-04T20:59:36Z Girligaanshub 3150 27972 wikitext text/x-wiki {{-so-}} == Magac == '''dalacsiin''' === Tarjumaad === * {{en}}: promotion, elevation, graduation, upgrading, ascension rhrd9h3bhbj8796zluyfgca6iilphig dalaco 0 9787 27971 2024-06-04T20:58:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalaco''' === Tarjumaad === * {{en}}: promote, elevate, graduate, upgrade, ascend 27971 wikitext text/x-wiki {{-so-}} == Magac == '''dalaco''' === Tarjumaad === * {{en}}: promote, elevate, graduate, upgrade, ascend do24lgar2iosbggsn1i9yfm2jrt7nw0 dulmi 0 9788 32237 29187 2024-11-04T02:58:35Z Girligaanshub 3150 32237 wikitext text/x-wiki {{-so-}} == Magac == '''dulmi''' === Tarjumaad === * {{en}}: oppress, oppression, discrimination, marginalization, marginalize, ===Synonyms=== *[[silcin]], [[haybsooc]], [[takoor]], [[dulmi]] shm8kbbybnf4l8zpnl0o1sde18mg783 xasiloonayn 0 9789 27979 2024-06-05T10:30:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xasiloonayn''' === Tarjumaad === * {{en}}: volatile, 27979 wikitext text/x-wiki {{-so-}} == Magac == '''xasiloonayn''' === Tarjumaad === * {{en}}: volatile, k5ltg3vw7kn2ywqavz3iy2egk1u79ob asturnaan 0 9790 27981 2024-06-06T11:39:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''asturnaan''' === Tarjumaad === * {{en}}: privacy, 27981 wikitext text/x-wiki {{-so-}} == Magac == '''asturnaan''' === Tarjumaad === * {{en}}: privacy, c0gdl7stzjra532ff98giynvpvdun0v asturnimo 0 9791 27983 2024-06-06T11:40:24Z Girligaanshub 3150 Girligaanshub moved page [[asturnimo]] to [[asturnaanta]] 27983 wikitext text/x-wiki #REDIRECT [[asturnaanta]] qxlvz7nj11w1s9vp5pf9gu276flo75i qalantid 0 9792 31885 28241 2024-10-25T22:58:05Z Girligaanshub 3150 31885 wikitext text/x-wiki {{-so-}} == Magac == '''qalantid''' === Tarjumaad === * {{en}}: deserve, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[damaaci]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] 71bdtvunrkghmy7bj22waq780r76bld mudan 0 9793 31888 28237 2024-10-25T22:59:29Z Girligaanshub 3150 31888 wikitext text/x-wiki {{-so-}} == Magac == '''mudan''' === Tarjumaad === * {{en}}: deserve, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] gon3txj9nmg0go7cbzss66ifcer4kel mutaysan 0 9794 31889 31879 2024-10-25T22:59:45Z Girligaanshub 3150 31889 wikitext text/x-wiki {{-so-}} == Magac == '''mutaysan''' === Tarjumaad === * {{en}}: deserve, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] gj0xaviq0eqtof699fb7acdnmztijh2 nasiibsan 0 9795 27989 2024-06-08T14:55:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nasiibsan''' === Tarjumaad === * {{en}}: fortunate 27989 wikitext text/x-wiki {{-so-}} == Magac == '''nasiibsan''' === Tarjumaad === * {{en}}: fortunate 1ivb381cadl95wto5t17s9i87nx4q8q wafti wacdiyaal 0 9796 27992 2024-06-08T15:07:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wafti wacdiyaal''' === Tarjumaad === * {{en}}: missionary, missionaries 27992 wikitext text/x-wiki {{-so-}} == Magac == '''wafti wacdiyaal''' === Tarjumaad === * {{en}}: missionary, missionaries slpn0b0yhnhlt5uzd3of64h8celh3go xasaradaysan 0 9797 28003 2024-06-08T19:06:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xsaradaysan''' === Tarjumaad === * {{en}}: controversial ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], 28003 wikitext text/x-wiki {{-so-}} == Magac == '''xsaradaysan''' === Tarjumaad === * {{en}}: controversial ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], aotn1bvcjofjcxww4zdem02ntn98td6 caqabadaysan 0 9798 28004 2024-06-08T19:06:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caqabadaysan''' === Tarjumaad === * {{en}}: controversial, challenging ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], 28004 wikitext text/x-wiki {{-so-}} == Magac == '''caqabadaysan''' === Tarjumaad === * {{en}}: controversial, challenging ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], 0rjpfnvamy1bsf3v9v2iecuc0jpz39u shaqaaq 0 9799 28005 2024-06-08T19:06:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaqaaq''' === Tarjumaad === * {{en}}: controversial ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], 28005 wikitext text/x-wiki {{-so-}} == Magac == '''shaqaaq''' === Tarjumaad === * {{en}}: controversial ===Synonyms=== *[[xasaradaysan]], [[caqabadaysan]], [[shaqaaq]], 40d3n2rqs7brshmcug91he2kt15qy9d ardey 0 9800 28022 2024-06-08T19:53:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ardey''' === Tarjumaad === * {{en}}: student ===Synonym=== *[[barbarad]], [[ardey]], [[alifley]] 28022 wikitext text/x-wiki {{-so-}} == Magac == '''ardey''' === Tarjumaad === * {{en}}: student ===Synonym=== *[[barbarad]], [[ardey]], [[alifley]] glzo9or7lwa4h1naxa15ak56riop6g4 miiraabo 0 9801 30399 28027 2024-09-01T03:25:20Z Girligaanshub 3150 30399 wikitext text/x-wiki {{-so-}} == Magac == '''miiraabo''' === Tarjumaad === * {{en}}: filter, clarify, purify, screen, sieve, sift, (usually of food) ===Synonyms=== * [[shaandhee]], [[miir]], [[miiraabo]] 9ozvvh7zcvf9yx9qd1a1v6gjoxpnlb3 miirabo 0 9802 28028 2024-06-08T20:30:15Z Girligaanshub 3150 Girligaanshub moved page [[miirabo]] to [[miiraabo]] 28028 wikitext text/x-wiki #REDIRECT [[miiraabo]] 7bl96pbzuir8m7ff80z8cbdvc3hk0fu mooyaan 0 9803 28038 2024-06-08T21:09:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mooyaan''' === Tarjumaad === * {{en}}: except, 28038 wikitext text/x-wiki {{-so-}} == Magac == '''mooyaan''' === Tarjumaad === * {{en}}: except, lso48jud5ksfs0sx3953onnsfkyu1lh coodtebi 0 9804 28481 28039 2024-06-15T20:16:54Z Girligaanshub 3150 28481 wikitext text/x-wiki {{-so-}} == Magac == '''coodtebi''' === Tarjumaad === * {{en}}: shepherd, guide, usher, convoy, marshal, steer, herd, escort, accompany, chaperone ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] 82t4rdmd89f84sbb7hfzf9a3qwgcsat coodtebiye 0 9805 32314 29093 2024-11-08T05:13:04Z Girligaanshub 3150 32314 wikitext text/x-wiki {{-so-}} == Magac == '''coodtebiye''' === Tarjumaad === * {{en}}: shepherd, chaperone, escort ===Synonyms=== *[[warshade]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] f5tyfa3tlssedi733p8pgv7wog3i6pw dadka-daaq 0 9806 28052 2024-06-08T22:41:12Z Girligaanshub 3150 Girligaanshub moved page [[dadka-daaq]] to [[bulsho-daaq]] 28052 wikitext text/x-wiki #REDIRECT [[bulsho-daaq]] dtexp57828ueptkgoggb3xeruxfg87h wargelin 0 9807 32491 32487 2024-11-16T19:50:07Z Girligaanshub 3150 32491 wikitext text/x-wiki {{-so-}} == Magac == '''wargelin''' === Tarjumaad === * {{en}}: brief, report * {{en}}: notification, ===Synonyms=== *[[macluumad]], [[wargelin]], [[warmurtiyeed]], [[ogeysiis]], giagnly3bbisgw4kr5es3z0fiv5cura shaqaalay 0 9808 28097 28095 2024-06-09T15:41:08Z Girligaanshub 3150 28097 wikitext text/x-wiki {{-so-}} == Magac == '''shaqaalay''' === Tarjumaad === * {{en}}: recruit ===Synonyms=== *[[xero-geli]], [[shaqaalay]], [[qor]] hqwgtl775c1bo9ojv64gnne4fudfd7g xero-geli 0 9809 28099 28096 2024-06-09T15:41:53Z Girligaanshub 3150 28099 wikitext text/x-wiki {{-so-}} == Magac == '''xero-geli''' === Tarjumaad === * {{en}}: entrap, ensnare, enmesh, capture, recruit, conscript, enlist, enrol, induct, ===Synonyms=== *[[xero-geli]], [[shaqaalay]], [[qor]] fvzv2wgj8j8bnxexc3cl5pyqp0dgm7p qor 0 9810 28098 2024-06-09T15:41:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qor''' === Tarjumaad === * {{en}}: write * {{en}}: recruit ===Synonyms=== *[[xero-geli]], [[shaqaalay]], [[qor]] 28098 wikitext text/x-wiki {{-so-}} == Magac == '''qor''' === Tarjumaad === * {{en}}: write * {{en}}: recruit ===Synonyms=== *[[xero-geli]], [[shaqaalay]], [[qor]] 14q0y28vutgt2klw61aj1tmk2xs5nfp danayn 0 9811 28100 2024-06-09T17:25:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danayn''' === Tarjumaad === * {{en}}: curious, intention, intentional, purpose, purposeful, intent, inquisitive, inquiring, ===Synonyms=== *[[danayn]], [[xiis]], [[xog-ogal]], [[xog-ogalka]] 28100 wikitext text/x-wiki {{-so-}} == Magac == '''danayn''' === Tarjumaad === * {{en}}: curious, intention, intentional, purpose, purposeful, intent, inquisitive, inquiring, ===Synonyms=== *[[danayn]], [[xiis]], [[xog-ogal]], [[xog-ogalka]] 3hq5hwvvaplwj8s1foh6jkkx2hctbt7 eray isir-wadaag 0 9812 28116 2024-06-09T17:51:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eray isir-wadaag''' === Tarjumaad === * {{en}}: cognate 28116 wikitext text/x-wiki {{-so-}} == Magac == '''eray isir-wadaag''' === Tarjumaad === * {{en}}: cognate nfiuppcgm5t77e0buhufxfu90bxfgvk nidaam 0 9813 28121 28117 2024-06-09T19:21:57Z Girligaanshub 3150 28121 wikitext text/x-wiki {{-so-}} == Magac == '''nidaam''' === Tarjumaad === * {{en}}: system, government, regime, process ===Synonyms=== *[[hanaan]], [[habraac]], [[hab]], [[qaacid]], [[nidaam]], [[caadooyin]] dwi9800dnw6ouooghyisnvptd0wu9gx fikrad 0 9814 28179 28131 2024-06-12T19:28:03Z Girligaanshub 3150 28179 wikitext text/x-wiki {{-so-}} == Magac == '''fikrad''' === Tarjumaad === * {{en}}: belief ===Synonyms=== *[[ikhtiyaar]], [[ra'yi]], [[afti]], [[hawraar]], [[feker]], [[fikrad]], [[rumaysad]], [[ictiqaad]], [[caqiida]], [[aqidah]] ki835mrpqkj13pxm1r2469mm15yy6qv dhaafsii 0 9815 28146 28143 2024-06-10T00:36:43Z Girligaanshub 3150 28146 wikitext text/x-wiki {{-so-}} == Magac == '''dhaafsii''' === Tarjumaad === * {{en}}: exceed, beyond, ===Synonyms=== *[[xad-dhaaf]], [[xad-gudub]], [[dhaafsii]] qkl60fqd7thzn6z32a3uuklm7ennssi xad-gudub 0 9816 29189 29137 2024-07-30T22:20:11Z Girligaanshub 3150 29189 wikitext text/x-wiki {{-so-}} == Magac == '''xad-gudub''' === Tarjumaad === * {{en}}: transgression, violation, infraction, trespass, trespassing, * {{en}}: mistreatment ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] sudnsagkviojzidgt93nqvgfv91r0rm gudbi 0 9817 28149 2024-06-10T00:41:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gudbi''' === Tarjumaad === * {{en}}: transfer ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], 28149 wikitext text/x-wiki {{-so-}} == Magac == '''gudbi''' === Tarjumaad === * {{en}}: transfer ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], qqq49xt7odzwnxi9afc18cl0jdtoxry wareeji 0 9818 28150 2024-06-10T00:43:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wareeji''' === Tarjumaad === * {{en}}: turn, transfer ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], 28150 wikitext text/x-wiki {{-so-}} == Magac == '''wareeji''' === Tarjumaad === * {{en}}: turn, transfer ===Synonyms=== *[[gudbi]], [[wareeji]], [[dhaadhici]], [[rugo]], [[mari]], 3hmhto7ij4clphbayhvq5wg75ov2ja8 luuqad milmaan 0 9819 30784 28158 2024-09-17T00:19:28Z Girligaanshub 3150 30784 wikitext text/x-wiki {{-so-}} == Magac == '''luuqad milmaan''' === Tarjumaad === * {{en}}: superstratum, adstratum, creole, stratum, substratum, macaronic language 2jwpb28dtpyb1aoh3cxhp9ensmlrbw9 beysteen 0 9820 28161 2024-06-11T16:31:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beysteen''' === Tarjumaad === * {{en}}: cheap, penny 28161 wikitext text/x-wiki {{-so-}} == Magac == '''beysteen''' === Tarjumaad === * {{en}}: cheap, penny cxfiniotgfvv00wowrl88sv9c17dme3 afnaqe 0 9821 28163 2024-06-12T18:52:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afnaqe''' === Tarjumaad === * {{en}}: interpreter 28163 wikitext text/x-wiki {{-so-}} == Magac == '''afnaqe''' === Tarjumaad === * {{en}}: interpreter 4rb2ebqfh5pzl1ki4cn13x1kbi2msk6 ogaaw 0 9822 28164 2024-06-12T19:02:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ogaaw''' === Tarjumaad === * {{en}}: notice 28164 wikitext text/x-wiki {{-so-}} == Magac == '''ogaaw''' === Tarjumaad === * {{en}}: notice flis7ll0p91e7fak0bxhe1o6qlezm5r qalabyo 0 9823 28166 2024-06-12T19:03:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalabyo''' === Tarjumaad === * {{en}}: tools 28166 wikitext text/x-wiki {{-so-}} == Magac == '''qalabyo''' === Tarjumaad === * {{en}}: tools jgejnah3sznzls5xwaiehb9jlfduxdh afrid 0 9824 28168 2024-06-12T19:19:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afrid''' === Tarjumaad === * {{en}}: bullet 28168 wikitext text/x-wiki {{-so-}} == Magac == '''afrid''' === Tarjumaad === * {{en}}: bullet fajtn114cz41h4dipb5352y79fwumtk aftahanka 0 9825 28171 28169 2024-06-12T19:21:40Z Girligaanshub 3150 28171 wikitext text/x-wiki {{-so-}} == Magac == '''aftahanka''' === Tarjumaad === * {{en}}: eloquence ===Synonyms=== *[[aftahanka]], [[aftahannimo]] 7oilaxbbwk2hhiaxxodlz7r71209nup aftoolin 0 9826 28184 2024-06-12T19:46:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aftoolin''' === Tarjumaad === * {{en}}: unsafe place, 28184 wikitext text/x-wiki {{-so-}} == Magac == '''aftoolin''' === Tarjumaad === * {{en}}: unsafe place, b7791hhrx5kbem7a3orxrtn0h02cjws afuuf 0 9827 28185 2024-06-12T19:46:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afuuf''' === Tarjumaad === * {{en}}: blow, 28185 wikitext text/x-wiki {{-so-}} == Magac == '''afuuf''' === Tarjumaad === * {{en}}: blow, 5sstnx76gs1rczqyazbui6wv8da0nt4 afuufo 0 9828 28188 28186 2024-06-12T19:48:22Z Girligaanshub 3150 28188 wikitext text/x-wiki {{-so-}} == Magac == '''afuufo''' === Tarjumaad === * {{en}}: breathe out, ===Synonyms=== *[[afuufo]], [[neefso]] 0242wsvw98k3p3n45o4eqw5qyqcsguy neefso 0 9829 28187 2024-06-12T19:48:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''neefso''' === Tarjumaad === * {{en}}: breathe, ===Synonyms=== *[[afuufo]], [[neefso]] 28187 wikitext text/x-wiki {{-so-}} == Magac == '''neefso''' === Tarjumaad === * {{en}}: breathe, ===Synonyms=== *[[afuufo]], [[neefso]] rq1azqylo7ooho25cb6xolkbgf9444d hogaamiye 0 9830 28894 28194 2024-07-25T02:35:50Z Girligaanshub 3150 28894 wikitext text/x-wiki {{-so-}} == Magac == '''hogaamiye''' === Tarjumaad === * {{en}}: leader ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[gudoomiye]], [[xoghaye]] try7yof65f2os0klgg13b3d7jtl09aa agaasin 0 9831 28192 2024-06-12T19:52:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''agaasin''' === Tarjumaad === * {{en}}: management 28192 wikitext text/x-wiki {{-so-}} == Magac == '''agaasin''' === Tarjumaad === * {{en}}: management 8npo28sa7xmplmg1pcw0k5ane74i3fu ahaw 0 9832 28202 2024-06-12T20:03:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ahaw''' === Tarjumaad === * {{en}}: be, 28202 wikitext text/x-wiki {{-so-}} == Magac == '''ahaw''' === Tarjumaad === * {{en}}: be, bnweaq1aeq3mkjkrch6ty23g8ydxi3t qalmo 0 9833 32258 31894 2024-11-04T05:47:43Z Girligaanshub 3150 32258 wikitext text/x-wiki {{-so-}} == Magac == '''qalmo''' === Tarjumaad === * {{en}}: qualify, eligible ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] hcve4z8xylfe3s40b54vhe5p8z8phkt qalmaan 0 9834 31891 31877 2024-10-25T23:00:05Z Girligaanshub 3150 31891 wikitext text/x-wiki {{-so-}} == Magac == '''qalmo''' === Tarjumaad === * {{en}}: qualification, eligibility ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]] t22n91rg1h77gr5egp6woqjr10dnl8p raro 0 9835 28224 2024-06-13T20:45:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raro''' === Tarjumaad === * {{en}}: move, upload, load, relocate, transport, ship, 28224 wikitext text/x-wiki {{-so-}} == Magac == '''raro''' === Tarjumaad === * {{en}}: move, upload, load, relocate, transport, ship, ik0q6cthf6efbxxjc6a3oxvcd9x99ib dheef 0 9836 28244 2024-06-14T11:40:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dheef''' === Tarjumaad === * {{en}}: benefit, profit, ===Synonyms=== *[[macaasho]], [[saanyood]], [[dheef]] 28244 wikitext text/x-wiki {{-so-}} == Magac == '''dheef''' === Tarjumaad === * {{en}}: benefit, profit, ===Synonyms=== *[[macaasho]], [[saanyood]], [[dheef]] aaec48h61gxpa7uqwsbnzb7i47d1w5n sooyaal-doon 0 9837 32389 28260 2024-11-12T04:19:07Z Girligaanshub 3150 Bog loo bedeley [[baal-midig]] 32389 wikitext text/x-wiki #redirect [[baal-midig]] ntxt51du1gv184mzi4l3nnppvdkoeyv sooyaaldoon 0 9838 32390 28262 2024-11-12T04:19:47Z Girligaanshub 3150 Bog loo bedeley [[baal-midiga]] 32390 wikitext text/x-wiki #redirect [[baal-midiga]] fbbaq6ra8yejwmu9o9nfaedbo4sdwr0 jalalaq 0 9839 28270 2024-06-14T13:27:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jalalaq''' === Tarjumaad === * {{en}}: onomatopia 28270 wikitext text/x-wiki {{-so-}} == Magac == '''jalalaq''' === Tarjumaad === * {{en}}: onomatopia ro9gb264qq2nkwvr8nf1g8zg97c1e9r kulayl 0 9840 28271 2024-06-14T13:38:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kulayl''' === Tarjumaad === * {{en}}: hot 28271 wikitext text/x-wiki {{-so-}} == Magac == '''kulayl''' === Tarjumaad === * {{en}}: hot qa3bdc0jfrt0j2ft8gi5zawp53xnxsw kulul 0 9841 28272 2024-06-14T13:39:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kulul''' === Tarjumaad === * {{en}}: hot, heat 28272 wikitext text/x-wiki {{-so-}} == Magac == '''kulul''' === Tarjumaad === * {{en}}: hot, heat 7ofo0ilq1icd2clhdg521wmbekuk4ww sulux 0 9842 28450 28335 2024-06-15T19:09:51Z Girligaanshub 3150 28450 wikitext text/x-wiki {{-so-}} == Magac == '''sulux''' === Tarjumaad === * {{en}}: resolve, dispute resolution, traditional reconciliation ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], d3bvdram23n2djoopoykl4hm5t1c0ty taageer 0 9843 29237 28276 2024-07-31T03:12:24Z Girligaanshub 3150 29237 wikitext text/x-wiki {{-so-}} == Magac == '''taageer''' === Tarjumaad === * {{en}}: support ===Synonyms=== *[[kalkaal]], [[taageer]], [[hiil]], [[gurmad]], [[caawi]], [[galado]], [[maciin]], [[saacid]] 7tptu5zm5pj82soa08crlskcyk9uf7t taageere 0 9844 28280 28277 2024-06-14T14:44:52Z Girligaanshub 3150 28280 wikitext text/x-wiki {{-so-}} == Magac == '''taageere''' === Tarjumaad === * {{en}}: supporter ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] j2o2yoxvtl2uy53g0y40pyouxpvlj8m cawiil 0 9845 28281 28278 2024-06-14T14:45:03Z Girligaanshub 3150 28281 wikitext text/x-wiki {{-so-}} == Magac == '''cawiil''' === Tarjumaad === * {{en}}: doppelganger, alter ego, clone, * {{en}}: helper, dependable, confidant, ===Synonyms=== *[[weheshi]], [[saaxib]], [[igaar]], [[maandhe]], [[jaale]], [[weheliye]], [[aryee]], [[maandhow]], [[adeece]], [[cawiil]], [[taageere]] q93lusma619s1807b04idi9z1z5h5p7 suluxo 0 9846 28449 28336 2024-06-15T19:09:40Z Girligaanshub 3150 28449 wikitext text/x-wiki {{-so-}} == Magac == '''suluxo''' === Tarjumaad === * {{en}}: solve, resolve, reconciliate, reconcile, rectify, arbitrate, rapprochement, mediate, remedy, redress ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], mxk5l765gp82og38qhrrvxfezeihan6 weer-xidhasho 0 9847 28443 28343 2024-06-15T19:08:35Z Girligaanshub 3150 28443 wikitext text/x-wiki {{-so-}} == Magac == '''weer-xidasho''' === Tarjumaad === * {{en}}: trouble-shooting, troubleshooting ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[takbaco]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], totdljjk6wz4l48pqr0n0v6lokur7hm weer-xidh 0 9848 28442 28344 2024-06-15T19:08:25Z Girligaanshub 3150 28442 wikitext text/x-wiki {{-so-}} == Magac == '''weer-xidh''' === Tarjumaad === * {{en}}: troubleshoot, troubleshoot ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[takbaco]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], 78tjnjw5vo86mayqorbr2ske09apvyl xaal-mari 0 9849 31255 31253 2024-10-04T16:00:36Z Girligaanshub 3150 31255 wikitext text/x-wiki {{-so-}} == Magac == '''xaal-mari''' === Tarjumaad === * {{en}}: restitute, fund, grant ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] ohmiy44p00e1lshmwcv1dyaood0m1u3 xaal-marin 0 9850 31256 29665 2024-10-04T16:00:55Z Girligaanshub 3150 31256 wikitext text/x-wiki {{-so-}} == Magac == '''xaal-marin''' === Tarjumaad === * {{en}}: troubleshooting, redress, rectification, resolution, reconciliation, mediation, propitiation, detente, amity, compromise, ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] m3ggwe905pmfy0dqfxin3fjsruni7vy xaal marin 0 9851 28316 2024-06-14T16:48:55Z Girligaanshub 3150 Girligaanshub moved page [[xaal marin]] to [[xaal-marin]] 28316 wikitext text/x-wiki #REDIRECT [[xaal-marin]] hyrrq92znni089mf31n2csswrihkr3r wadatashi 0 9852 28319 2024-06-14T16:55:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadatashi''' === Tarjumaad === * {{en}}: consultation, 28319 wikitext text/x-wiki {{-so-}} == Magac == '''wadatashi''' === Tarjumaad === * {{en}}: consultation, iiw30wd6uewtja979cso30o2e9b3h85 tabasho 0 9853 28331 28323 2024-06-14T17:37:56Z Girligaanshub 3150 28331 wikitext text/x-wiki {{-so-}} == Magac == '''tabasho''' === Tarjumaad === * {{en}}: resent, resentment, resentful, ===Synonyms=== *[[caloolxumo]], [[dudmo]], [[dacar]], [[ciilqabe]], [[tabasho]], [[hiirtaanyo]], [[hibasho]], qk72b3pbcqhhbucn16rtmp03ergdbfq hoyasho 0 9854 28330 2024-06-14T17:37:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoyasho''' === Tarjumaad === * {{en}}: shelter, yield, give in, surrender 28330 wikitext text/x-wiki {{-so-}} == Magac == '''hoyasho''' === Tarjumaad === * {{en}}: shelter, yield, give in, surrender 6t28ykihchocb4u71ej4dzsvzzch79a tabkaco 0 9855 31288 28447 2024-10-04T16:42:33Z Girligaanshub 3150 Girligaanshub moved page [[takbaco]] to [[tabkaco]] 28447 wikitext text/x-wiki {{-so-}} == Magac == '''tabkaco''' === Tarjumaad === * {{en}}: solution, problem solving, troubleshoot, fine-tune, rectify, resolve, ===Synonyms=== * [[xali]], [[xalin]], [[sulux]], [[suluxo]], [[tabkac]], [[takbaco]], [[hagaaji]], [[dayactir]], [[dhaqanceli]], [[weer-xidhasho]], [[weer-xidh]], [[xaal-mari]], [[tanaasul]], [[tanaazul]], [[xaal-marin]], [[turxaan-bixi]], 1e11u03m5r3dnudby5pk3ad0i6dd9os shirguddoon 0 9856 29986 28350 2024-08-18T15:26:08Z Girligaanshub 3150 29986 wikitext text/x-wiki {{-so-}} == Magac == '''shirguddoon''' === Tarjumaad === * {{en}}: council, chairing committee, assembly, council, congregation ===Synonyms=== *[[shirwac]], [[shire]], [[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], e8wxm72gqurlnjjms8rqkdb5u1eck01 shafshafo 0 9857 28357 2024-06-14T18:00:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shafshafo''' === Tarjumaad === * {{en}}: cure, cures 28357 wikitext text/x-wiki {{-so-}} == Magac == '''shafshafo''' === Tarjumaad === * {{en}}: cure, cures gh2gso5qtgvpxffil7wm2susrvgtpeu duufaan 0 9858 28358 2024-06-14T18:09:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duufaan''' === Tarjumaad === * {{en}}: hurricane 28358 wikitext text/x-wiki {{-so-}} == Magac == '''duufaan''' === Tarjumaad === * {{en}}: hurricane lyxamjdqlbcokm9sfvluz40imk362sa samotaliye 0 9859 31298 28362 2024-10-04T16:49:11Z Girligaanshub 3150 31298 wikitext text/x-wiki {{-so-}} == Magac == '''samotaliye''' === Tarjumaad === * {{en}}: good samaritan, humanitarian ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] r5ggcehaqfrkd6b0qbdsygeebql8g61 murtiyey 0 9860 28367 2024-06-14T19:27:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''murtiyey''' === Tarjumaad === * {{en}}: rationalize, summarize 28367 wikitext text/x-wiki {{-so-}} == Magac == '''murtiyey''' === Tarjumaad === * {{en}}: rationalize, summarize 6vfgvfnv8mnnmvnq6edkjpoqj270bgj muddo 0 9861 28368 2024-06-14T19:29:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muddo''' === Tarjumaad === * {{en}}: period 28368 wikitext text/x-wiki {{-so-}} == Magac == '''muddo''' === Tarjumaad === * {{en}}: period o1zjw8osa42rr0asl27u3ph49htll2h maraado 0 9862 28371 2024-06-14T19:32:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maraado''' === Tarjumaad === * {{en}}: repercussion, ===Synonyms=== *[[maraado]], [[cawaaqib]] 28371 wikitext text/x-wiki {{-so-}} == Magac == '''maraado''' === Tarjumaad === * {{en}}: repercussion, ===Synonyms=== *[[maraado]], [[cawaaqib]] ewe7oxwzj985r1rx984e1kmc62xnbqn maqan 0 9863 29434 28372 2024-08-03T21:31:03Z Girligaanshub 3150 29434 wikitext text/x-wiki {{-so-}} == Magac == '''maqan''' === Tarjumaad === * {{en}}: absent ===Synonyms=== *[[maqan]], [[faaruq]] 7uth38q80j96mfoyaovg3cbthwiv861 maqnaansho 0 9864 28373 2024-06-14T19:34:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maqnaansho''' === Tarjumaad === * {{en}}: absence 28373 wikitext text/x-wiki {{-so-}} == Magac == '''maqnaansho''' === Tarjumaad === * {{en}}: absence mw6ho7yhd89swfrbjsopxz4zjm6mk2p beegso 0 9865 30990 28376 2024-09-29T16:49:55Z Girligaanshub 3150 30990 wikitext text/x-wiki {{-so-}} == Magac == '''beegso''' === Tarjumaad === * {{en}}: target, ===Synonyms=== *[[faro]], [[tebi]], [[shiishbar]], [[murdiso]], [[beeg]], [[beegso]], 1un3n8qw18b4ciewxu3kpwtgogugynz tebin 0 9866 28378 2024-06-14T21:21:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tebin''' === Tarjumaad === * {{en}}: targeting, heading ===Synonyms=== *[[beegso]], [[tebi]] 28378 wikitext text/x-wiki {{-so-}} == Magac == '''tebin''' === Tarjumaad === * {{en}}: targeting, heading ===Synonyms=== *[[beegso]], [[tebi]] 6uun0hxdicmsn9f9g65gn7u52bey5td soojireen 0 9867 32829 29761 2024-12-02T11:03:05Z Girligaanshub 3150 32829 wikitext text/x-wiki {{-so-}} == Magac == '''soojireen''' === Tarjumaad === * {{en}}: classic, long-standing, traditional, conservative ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] kacy6om1u3mvtq2c6j57fb3dh1m3dkr xawilo 0 9868 32293 28381 2024-11-07T17:36:10Z Girligaanshub 3150 32293 wikitext text/x-wiki {{-so-}} == Magac == '''xawilo''' === Tarjumaad === * {{en}}: deduce, induce, inductive, infer, inference, presume, derive, transfer, connect, remit, transact, 3xjrg4im3xz243fjy6g3g8fsp2l9dhv farcamo 0 9869 28824 28603 2024-07-21T20:30:09Z Girligaanshub 3150 28824 wikitext text/x-wiki {{-so-}} == Magac == '''farcamo''' === Tarjumaad === * {{en}}: sire a heir, beget offspring, spawn, reproduce, procreate, ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] 8w3pjoo9kpmfdh3wn5xzwalybub6c0n xeeldheerey 0 9870 31373 28396 2024-10-07T17:12:17Z Girligaanshub 3150 31373 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheerey''' === Tarjumaad === * {{en}}: popularize, make competent nf97za9pnq9kiw5adraauxjxsfbg6ph xeeldheereyn 0 9871 31374 28397 2024-10-07T17:13:15Z Girligaanshub 3150 31374 wikitext text/x-wiki {{-so-}} == Magac == '''xeeldheereyn''' === Tarjumaad === * {{en}}: popularization, competence, mastery, expertise bgyv7jl1msn0pna2gn7iqbigxdc47z8 xawaalad 0 9872 28398 2024-06-15T14:03:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawaalad''' === Tarjumaad === * {{en}}: money transfer service, remittance service, transaction service, 28398 wikitext text/x-wiki {{-so-}} == Magac == '''xawaalad''' === Tarjumaad === * {{en}}: money transfer service, remittance service, transaction service, 3e54exk9f67dybwb1377uo8bb6pkuuf kalgacal 0 9873 28805 28413 2024-07-21T19:30:52Z Girligaanshub 3150 28805 wikitext text/x-wiki {{-so-}} == Magac == '''kalgacal''' === Tarjumaad === * {{en}}: sympathy, ===Synonyms=== *[[damqad]], [[damqasho]], [[kalgacal]] lhfbzy5dg698zhgko4sssbapq4kvwb7 tixraac 0 9874 28415 2024-06-15T18:01:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tixraac''' === Tarjumaad === * {{en}}: reference 28415 wikitext text/x-wiki {{-so-}} == Magac == '''tixraac''' === Tarjumaad === * {{en}}: reference 8j6zfuax56drlsu1k5o1gz4666p2ww1 xushmo 0 9875 28424 28416 2024-06-15T18:09:38Z Girligaanshub 3150 28424 wikitext text/x-wiki {{-so-}} == Magac == '''qadarin''' === Tarjumaad === * {{en}}: homage, respect, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], ddcfbxvcom4vmrf0380wmfc4mfwf6l2 ixtiraam 0 9876 28417 2024-06-15T18:08:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ixtiraam''' === Tarjumaad === * {{en}}: respect, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], 28417 wikitext text/x-wiki {{-so-}} == Magac == '''ixtiraam''' === Tarjumaad === * {{en}}: respect, ===Synonyms=== *[[qadarin]], [[ixtiraam]], [[xushmo]], [[xurmeeyo]], [[qab]], [[sharaf]], [[karaamo]], [[han]], [[maamuus]], cx7y988e61wpciokghyebfdjdks3v0a hanuuni 0 9877 28485 28426 2024-06-15T20:17:30Z Girligaanshub 3150 28485 wikitext text/x-wiki {{-so-}} == Magac == '''hanuuni''' === Tarjumaad === * {{en}}: guide ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] oid0w25alxhs6j8k8kxyt1ggo01urwj hagista 0 9878 28483 28435 2024-06-15T20:17:13Z Girligaanshub 3150 28483 wikitext text/x-wiki {{-so-}} == Magac == '''hagista''' === Tarjumaad === * {{en}}: navigation, navigate, guidance ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] d4tp5kuzqf2xijdhq0mg9d781oyfsay hagidda 0 9879 28484 28434 2024-06-15T20:17:22Z Girligaanshub 3150 28484 wikitext text/x-wiki {{-so-}} == Magac == '''hagidda''' === Tarjumaad === * {{en}}: navigation, navigate, guidance ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]] 3uqpltitku2x0ajjg4niqx742p5i8pm daacad 0 9880 28431 2024-06-15T18:42:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daacad''' === Tarjumaad === * {{en}}: integrity, honest, fair, sincere, upright 28431 wikitext text/x-wiki {{-so-}} == Magac == '''daacad''' === Tarjumaad === * {{en}}: integrity, honest, fair, sincere, upright mnpntocjv83p317z7yb8t04p7hnrfsd horumari 0 9881 31279 29345 2024-10-04T16:39:06Z Girligaanshub 3150 31279 wikitext text/x-wiki {{-so-}} == Magac == '''horumari''' === Tarjumaad === * {{en}}: develop, upgrade, advance, improve, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]] jz7o0b3uxj1ula6d829atzdwxvogsrs hagidmar 0 9882 28488 28479 2024-06-15T23:37:53Z Girligaanshub 3150 28488 wikitext text/x-wiki {{-so-}} == Magac == '''hagidmar''' === Tarjumaad === * {{en}}: guide, navigate ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]], [[marin]], [[gelitaan]] 2svhqmhipma10n9cho0kxceqwgqvsy5 helitaan 0 9883 28486 28470 2024-06-15T23:32:30Z Girligaanshub 3150 28486 wikitext text/x-wiki {{-so-}} == Magac == '''helitaan''' === Tarjumaad === * {{en}}: availability, access d0ophznrnyt2rmzke28h0ri3q3tiquc helid 0 9884 28471 2024-06-15T19:25:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''helid''' === Tarjumaad === * {{en}}: finding 28471 wikitext text/x-wiki {{-so-}} == Magac == '''helid''' === Tarjumaad === * {{en}}: finding gjgs8nuj7q84qk69icbisl4xwdlf0mq helo 0 9885 28472 2024-06-15T19:26:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''helo''' === Tarjumaad === * {{en}}: find 28472 wikitext text/x-wiki {{-so-}} == Magac == '''helo''' === Tarjumaad === * {{en}}: find dwvuzlsy7dtjv679qpi5slgum2i9ngq waxyeel 0 9886 30257 28473 2024-08-25T07:45:10Z Girligaanshub 3150 30257 wikitext text/x-wiki {{-so-}} == Magac == '''waxyeel''' === Tarjumaad === * {{en}}: transpire, materialize, take effect, arise * {{en}}: impact 8ldyr6fm6mihfy9unjc0yt55h2su5bw jaantus 0 9887 28474 2024-06-15T19:40:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaantus''' === Tarjumaad === * {{en}}: chart, diagram 28474 wikitext text/x-wiki {{-so-}} == Magac == '''jaantus''' === Tarjumaad === * {{en}}: chart, diagram hetav1ol9rn12qr0cc9785rm7229pgm sifeeyo 0 9888 31744 28475 2024-10-22T20:19:24Z Girligaanshub 3150 31744 wikitext text/x-wiki {{-so-}} == Magac == '''sifeeyo''' === Tarjumaad === * {{en}}: describe, characterize bwiyfjatfha0wl86dw6w3jwyr893nad gelitaan 0 9889 28490 28487 2024-06-15T23:38:15Z Girligaanshub 3150 28490 wikitext text/x-wiki {{-so-}} == Magac == '''gelitaan''' === Tarjumaad === * {{en}}: access ===Synonyms=== *[[hanuun]], [[hanuuni]], [[hagidda]], [[hagista]], [[xutubi]], [[coodtebi]], [[socdaal]], [[hagidmar]], [[marin]], [[gelitaan]] rf4sa4vz8ilry0uukdnjvs3yue5dbam hungoobo 0 9890 32007 32001 2024-10-27T02:47:59Z Girligaanshub 3150 32007 wikitext text/x-wiki {{-so-}} == Magac == '''hungoobo''' === Tarjumaad === * {{en}}: disappoint, disappointed, discourage, discouraged, dishearten, dispirited, upset, depress, depressed, depression, sad, sadden, disenchanted, disillusioned, disillusion, dismay ===Synonyms=== *[[hungoobo]], [[tiiraanyo]], [[murugaysan]], [[diilalyo]], [[marooradilaac]], e15lisilcnot53y36l7uf177f00sozp qanacsanaan 0 9891 28510 2024-06-16T00:06:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qanacsanaan''' === Tarjumaad === * {{en}}: satisfactual, satisfactually ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]], [[qanacsanaan]] 28510 wikitext text/x-wiki {{-so-}} == Magac == '''qanacsanaan''' === Tarjumaad === * {{en}}: satisfactual, satisfactually ===Synonyms=== *[[xamaasad]], [[riyaaq]], [[wacdaro]], [[qanacsan]], [[qanacsanaan]] m33z1ugzrh357workbxenx0qbp2iwmy bareeran 0 9892 32682 32671 2024-11-30T09:00:49Z Girligaanshub 3150 32682 wikitext text/x-wiki {{-so-}} == Magac == '''bareeran''' === Tarjumaad === * {{en}}: directly, frankly, bluntly, candidly, explicitly, unambiguously * {{en}}: committed, audacious, serious ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ciirsan ]], [[daruuri]], [[ba'an]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[bariido]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]] gw2doc8zmlrovt86edx2r9nbf9xc0qx xawilan 0 9893 28534 2024-06-16T11:19:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawilan''' === Tarjumaad === * {{en}}: deduced, induced, inferred, 28534 wikitext text/x-wiki {{-so-}} == Magac == '''xawilan''' === Tarjumaad === * {{en}}: deduced, induced, inferred, omrox2fn9ueaya9a546bzcagnv687gp majo-xaabin 0 9894 32448 28539 2024-11-15T10:23:34Z Girligaanshub 3150 32448 wikitext text/x-wiki {{-so-}} == Magac == '''majo-xaabin''' === Tarjumaad === * {{en}}: setback, undermine, destabilize ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]] 1hl2p50vv1gcfuzf54ljdzlp0ev10kd garays 0 9895 28543 2024-06-17T08:36:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garays''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] 28543 wikitext text/x-wiki {{-so-}} == Magac == '''garays''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] bopz97zpa85xrrqdeanr39mdskdxtwx dirac 0 9896 28544 2024-06-17T08:36:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dirac''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] 28544 wikitext text/x-wiki {{-so-}} == Magac == '''dirac''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] 43zpzbrre81nk1svi8bsrzfgog5m1tz guntiino 0 9897 28545 2024-06-17T08:36:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guntiino''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] 28545 wikitext text/x-wiki {{-so-}} == Magac == '''guntiino''' === Tarjumaad === * {{en}}: female ankle length garment, ===Synonyms=== *[[guntiino]], [[garays]], [[dirac]] ad3evy2m9de1x0uswfusqt95qdjblcl doog 0 9898 32846 28548 2024-12-02T17:11:42Z ВМНС 5070 32846 wikitext text/x-wiki {{-so-}} == Magac == '''doog''' === Tarjumaad === * {{en}}: grass, fresh vegetation ===Synonyms=== *[[caws]], [[doog]] [[Category:Soomaali ereyada-do]] flbskeaxjvy988ziwyfazlte8efc6ix danaq 0 9899 28549 2024-06-17T08:41:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danaq''' === Tarjumaad === * {{en}}: wound 28549 wikitext text/x-wiki {{-so-}} == Magac == '''danaq''' === Tarjumaad === * {{en}}: wound ez2yofmgvbtk2j0vs7ss5deyd1lbkya sambab 0 9900 28554 28552 2024-06-17T20:41:05Z Girligaanshub 3150 Removed redirect to [[sambabo]] 28554 wikitext text/x-wiki {{-so-}} == Magac == '''sambab''' === Tarjumaad === * {{en}}: lung t12019ssjzrwu5wjrbofk32s6jqa66g cayriin 0 9901 28555 2024-06-17T23:00:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cayriin''' === Tarjumaad === * {{en}}: raw 28555 wikitext text/x-wiki {{-so-}} == Magac == '''cayriin''' === Tarjumaad === * {{en}}: raw lv2s26lhjxuapdpe2aea81r3a7ggjch seeg 0 9902 28557 2024-06-18T09:39:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''seeg''' === Tarjumaad === * {{en}}: miss, lose 28557 wikitext text/x-wiki {{-so-}} == Magac == '''seeg''' === Tarjumaad === * {{en}}: miss, lose 8vs5dxu00n6fg4uqqj2oidm1c19ka7r xaamilo 0 9903 28558 2024-06-18T15:28:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaamilo''' === Tarjumaad === * {{en}}: pregnant, 28558 wikitext text/x-wiki {{-so-}} == Magac == '''xaamilo''' === Tarjumaad === * {{en}}: pregnant, gv1ekluyzq33opwcz7h1ayy1mgoettz argagax 0 9904 32151 28559 2024-10-29T00:48:55Z Girligaanshub 3150 32151 wikitext text/x-wiki {{-so-}} == Magac == '''argagax''' === Tarjumaad === * {{en}}: shock, terror, horror, panic ===Synonyms=== *[[argagax]], [[dhiigkar]] 0nt1she7gptxahlgz44nktotneamku9 cidlow 0 9905 28561 2024-06-18T16:09:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cidlow''' === Tarjumaad === * {{en}}: alone ===Synonyms=== *[[cidlood]], [[gooni-daaq]], [[cidlow]] 28561 wikitext text/x-wiki {{-so-}} == Magac == '''cidlow''' === Tarjumaad === * {{en}}: alone ===Synonyms=== *[[cidlood]], [[gooni-daaq]], [[cidlow]] p0lqnqt98kmhksxndfitgzfc0vgelxw codsade 0 9906 32014 29706 2024-10-27T03:16:15Z Girligaanshub 3150 32014 wikitext text/x-wiki {{-so-}} == Magac == '''codsade''' === Tarjumaad === * {{en}}: applicant, claimant, petitioner, suitor, aspirant, seeker, inquirer, entrant, applier, petitioner, plaintiff, litigant, appellant, ===Synonyms=== *[[firfircooniye]], [[firfircoone]], [[afdhowre]], [[ololeeye]], [[codsade]] 0je8gcevode8i4osepxqnobyf5zg3lw habaar 0 9907 28571 2024-06-21T04:39:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habaar''' === Tarjumaad === * {{en}}: curse ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]], [[inkaar]], [[balaayo]], [[habaar]] 28571 wikitext text/x-wiki {{-so-}} == Magac == '''habaar''' === Tarjumaad === * {{en}}: curse ===Synonyms=== *[[fidno]], [[masiibo]], [[belaayo]], [[halaag]], [[abaar]], [[masiibo oomane]], [[gaag-ma-reebto]], [[gaatamo]], [[fasaad]], [[musuqmaasuq]], [[inkaar]], [[balaayo]], [[habaar]] ay4ov7iab64jcjkwp6anh14mdoba2oi muwalad 0 9908 28577 28575 2024-06-23T17:08:16Z Girligaanshub 3150 28577 wikitext text/x-wiki {{-so-}} == Magac == '''muwalad''' === Tarjumaad === * {{en}}: mixed race Arab and Somali / African ===Synonyms=== *[[siju]], [[muwalad]] akmclax6do782z5hphz5j4ombutjhmk is-yeelyeelid 0 9909 28579 2024-06-25T22:34:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-yeelyeelid''' === Tarjumaad === * {{en}}: dissimulate, dissimulation 28579 wikitext text/x-wiki {{-so-}} == Magac == '''is-yeelyeelid''' === Tarjumaad === * {{en}}: dissimulate, dissimulation rrzq33hnreykjr063al4i0872e7yr1s qaryad 0 9910 28580 2024-06-27T00:32:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muwalad''' === Tarjumaad === * {{en}}: dwelling, habitation, residence, abode, locality, community, zone, 28580 wikitext text/x-wiki {{-so-}} == Magac == '''muwalad''' === Tarjumaad === * {{en}}: dwelling, habitation, residence, abode, locality, community, zone, ir59bipg7yjp2cy56jzgqx20g6smgin dhibeey 0 9911 28582 2024-06-29T12:14:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhibeey''' === Tarjumaad === * {{en}}: nail, pound, hammer, spike, pierce * {{en}}: fuck, copulate, ===Synonyms=== *[[birey]], [[dibeeyo]], [[dhibeey]] 28582 wikitext text/x-wiki {{-so-}} == Magac == '''dhibeey''' === Tarjumaad === * {{en}}: nail, pound, hammer, spike, pierce * {{en}}: fuck, copulate, ===Synonyms=== *[[birey]], [[dibeeyo]], [[dhibeey]] rns9suo9u5mys99g8xvz854k65cjoti qulqul tegid 0 9912 28588 28587 2024-06-29T20:04:52Z Girligaanshub 3150 28588 wikitext text/x-wiki {{-so-}} == Magac == '''qulqul tegid''' === Tarjumaad === * {{en}}: out-flow, outflow, river mouth ===Antonyms=== *[[qulqul gelin]] sdmp4oma74zj4i2ipqjkys1iln8ul6s qulqul gelin 0 9913 28589 2024-06-29T20:05:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qulqul gelin''' === Tarjumaad === * {{en}}: in-flow, inflow, river source ===Antonyms=== *[[qulqul tegid]] 28589 wikitext text/x-wiki {{-so-}} == Magac == '''qulqul gelin''' === Tarjumaad === * {{en}}: in-flow, inflow, river source ===Antonyms=== *[[qulqul tegid]] m9hetlkuvrct2pxb6kfi0zho7p5mw41 tuuto 0 9914 28606 2024-06-30T03:03:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuuto''' === Tarjumaad === * {{en}}: uniform, military uniform 28606 wikitext text/x-wiki {{-so-}} == Magac == '''tuuto''' === Tarjumaad === * {{en}}: uniform, military uniform flronw5ukgwlno1tc3v3spdmw4k8w8m dhalfad 0 9915 28607 2024-06-30T12:44:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhalfad''' === Tarjumaad === * {{en}}: foreskin 28607 wikitext text/x-wiki {{-so-}} == Magac == '''dhalfad''' === Tarjumaad === * {{en}}: foreskin t007ql39bykgvl5z6vfsvro7835bkk3 waabberi 0 9916 30483 28617 2024-09-04T09:17:28Z Girligaanshub 3150 30483 wikitext text/x-wiki {{-so-}} == Magac == '''waabberi''' === Tarjumaad === * {{en}}: Somali masculine personal name * {{en}}: dawn * {{en}}: Egyptian pharaoh Wahibre (Psamtik I) faujy656npkh1ivcm524gi549wyd3wn waax 0 9917 32860 28618 2024-12-03T00:38:25Z Girligaanshub 3150 32860 wikitext text/x-wiki {{-so-}} == Magac == '''waax''' === Tarjumaad === * {{en}}: quarter of something * {{en}}: department, 6oq51vleo6lp9d7xhhi7mdiy7w5ndxg waab 0 9918 31977 28619 2024-10-26T17:52:10Z Girligaanshub 3150 31977 wikitext text/x-wiki {{-so-}} == Magac == '''waab''' === Tarjumaad === * {{en}}: small hut * {{en}}: hesitation j49xq1blhpnep5ikm66sqvobj29q2ku wacaal 0 9919 28621 2024-06-30T13:01:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wacaal''' === Tarjumaad === * {{en}}: information 28621 wikitext text/x-wiki {{-so-}} == Magac == '''wacaal''' === Tarjumaad === * {{en}}: information sup26rmz3t55oeis3047dmg23x7q8bg wacad 0 9920 28622 2024-06-30T13:08:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wacad''' === Tarjumaad === * {{en}}: oath 28622 wikitext text/x-wiki {{-so-}} == Magac == '''wacad''' === Tarjumaad === * {{en}}: oath q890rexxeshamu7w9rloeoemps7ixhb wacays 0 9921 29842 28799 2024-08-12T17:19:53Z Girligaanshub 3150 29842 wikitext text/x-wiki {{-so-}} == Magac == '''wacays''' === Tarjumaad === * {{en}}: blessing ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]], [[siyaadi]], [[wacays]], [[barako]] e7236te4sa9nzx0j6zjk8d109zwfwlu wadaac 0 9922 28624 2024-06-30T13:10:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadaac''' === Tarjumaad === * {{en}}: farewell 28624 wikitext text/x-wiki {{-so-}} == Magac == '''wadaac''' === Tarjumaad === * {{en}}: farewell ltbinhjuigw3m8nomoimpa17kq3apa1 heelo 0 9923 28625 2024-06-30T14:16:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heelo''' === Tarjumaad === * {{en}}: loyal 28625 wikitext text/x-wiki {{-so-}} == Magac == '''heelo''' === Tarjumaad === * {{en}}: loyal tw1qywogh11bq8dt9knwnjla70m3vg4 waaya-aragtida 0 9924 28626 2024-06-30T14:45:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waaya-aragtida''' === Tarjumaad === * {{en}}: experience 28626 wikitext text/x-wiki {{-so-}} == Magac == '''waaya-aragtida''' === Tarjumaad === * {{en}}: experience 075o1923suc6drsr3z5k5acuyl33fbv waayo-aragtida 0 9925 28627 2024-06-30T14:45:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waayo-aragtida''' === Tarjumaad === * {{en}}: experience 28627 wikitext text/x-wiki {{-so-}} == Magac == '''waayo-aragtida''' === Tarjumaad === * {{en}}: experience 37j6qpr9qkand3vfncmn87ug1o20odv cilmi-waayo-aragtida 0 9926 28630 28628 2024-06-30T14:46:46Z Girligaanshub 3150 28630 wikitext text/x-wiki {{-so-}} == Magac == '''cilmi-waayo-aragtida''' === Tarjumaad === * {{en}}: philosphy 9p3xre9ldrag9yqx49zqhjc9fmy4p2s murtimaal 0 9927 32034 31013 2024-10-27T14:02:45Z Girligaanshub 3150 32034 wikitext text/x-wiki {{-so-}} == Magac == '''murtimaal''' === Tarjumaad === * {{en}}: philosophy ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] i4180awg60rku26cm6di4bj214rtct0 xambaaro 0 9928 31233 31064 2024-10-04T14:46:34Z Girligaanshub 3150 31233 wikitext text/x-wiki {{-so-}} == Magac == '''xambaaro''' === Tarjumaad === * {{en}}: bear, bring, sustain, endure obtain, carry, carrying, receive, handle, sustain, ===Synonyms=== *[[ceshado]], [[xambaaro]], [[ceshonimada]] ixqkbmrl3r8vla30uhyuqgg8kcs0dvg dhaqdhaqaaq 0 9929 28638 2024-06-30T21:19:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqdhaqaaq''' === Tarjumaad === * {{en}}: movement 28638 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqdhaqaaq''' === Tarjumaad === * {{en}}: movement 6j79t5i2p2eaam8eum3oeus7rdatqi6 xildhibaan 0 9930 28650 28649 2024-07-01T11:35:53Z Girligaanshub 3150 28650 wikitext text/x-wiki {{-so-}} == Magac == '''xildhibaan''' === Tarjumaad === * {{en}}: parliamentarian, MP, member of parliament, congressman, councillor, counciller, senator, lawmaker, governor n85y3zl72fikcvry61v2sm64e0j5j98 kuteen 0 9931 28642 2024-07-01T11:16:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuteen''' === Tarjumaad === * {{en}}: speculative, speculation, 28642 wikitext text/x-wiki {{-so-}} == Magac == '''kuteen''' === Tarjumaad === * {{en}}: speculative, speculation, tbjf8szcpumjh4qr7kvkw5bmrcow8lg cilmi-waaya-aragtida 0 9932 29913 28655 2024-08-14T15:30:06Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[murtimaal]] 29913 wikitext text/x-wiki #REDIRECT [[murtimaal]] 6feu1pwc44jp9mbxssz9n6xoo6pvh41 aqoon 0 9933 28656 2024-07-01T17:32:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqoon''' === Tarjumaad === * {{en}}: knowledge, 28656 wikitext text/x-wiki {{-so-}} == Magac == '''aqoon''' === Tarjumaad === * {{en}}: knowledge, ok497a3ktyc0p3t2zt1igozf1f7my0e jiritaan 0 9934 29164 28657 2024-07-30T04:12:33Z Girligaanshub 3150 29164 wikitext text/x-wiki {{-so-}} == Magac == '''jiritaan''' === Tarjumaad === * {{en}}: existence, exist, existing, available 3pvvey1p5767gdex9ko7akb1zq32iyz tirsasho 0 9935 28658 2024-07-01T17:39:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tirsasho''' === Tarjumaad === * {{en}}: consideration, 28658 wikitext text/x-wiki {{-so-}} == Magac == '''tirsasho''' === Tarjumaad === * {{en}}: consideration, c4xdibfr0fj7wvxwpse4ytmuayceyeq qiimo 0 9936 28659 2024-07-01T17:40:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiimo''' === Tarjumaad === * {{en}}: value, 28659 wikitext text/x-wiki {{-so-}} == Magac == '''qiimo''' === Tarjumaad === * {{en}}: value, ddc4zb6sl6be7o27arb27hzmy6z3tjn qiimayn 0 9937 28660 2024-07-01T17:41:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qiimayn''' === Tarjumaad === * {{en}}: value, regard, esteem, cherish, appreciate, 28660 wikitext text/x-wiki {{-so-}} == Magac == '''qiimayn''' === Tarjumaad === * {{en}}: value, regard, esteem, cherish, appreciate, 01xgrv1dt5bzs8u00w500zaxx2bwqhh kici 0 9938 30272 28668 2024-08-26T05:11:08Z Girligaanshub 3150 30272 wikitext text/x-wiki {{-so-}} == Magac == '''kici''' === Tarjumaad === * {{en}}: evoke, ignite, arouse, raise, kindle, incite ===Synonyms=== *[[kici]], [[shid]], [[dhimbiil]] damfhowu1jyrdey6z5yiclglw3ie3nu shid 0 9939 28667 28663 2024-07-01T21:20:01Z Girligaanshub 3150 28667 wikitext text/x-wiki {{-so-}} == Magac == '''kici''' === Tarjumaad === * {{en}}: ignite, kindle, combust, spark, trigger, ===Synonyms=== *[[kici]], [[shid]], [[dhimbiil]] mog4psmlbe8tjx85hewtam6it6d4r5d saadaali 0 9940 32347 29059 2024-11-10T11:13:54Z Girligaanshub 3150 32347 wikitext text/x-wiki {{-so-}} == Magac == '''saadaali''' === Tarjumaad === * {{en}}: predict, prediction, soothsaying 5ymo7vkab2nd8rbsfws661n419g7kvb dhimbiil 0 9941 28666 28665 2024-07-01T21:19:51Z Girligaanshub 3150 28666 wikitext text/x-wiki {{-so-}} == Magac == '''dhilmbiil''' === Tarjumaad === * {{en}}: spark ===Synonyms=== *[[kici]], [[shid]], [[dhimbiil]] lqu17zuhlbteupiwjzv0xg48yh6ad4n khusasho 0 9942 28669 2024-07-02T15:50:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khusasho''' === Tarjumaad === * {{en}}: relevance 28669 wikitext text/x-wiki {{-so-}} == Magac == '''khusasho''' === Tarjumaad === * {{en}}: relevance crasveesnpbxmfrpy7mm16a2c7ww4ex jaahil 0 9943 28674 28671 2024-07-03T23:47:30Z Girligaanshub 3150 28674 wikitext text/x-wiki {{-so-}} == Magac == '''jaahil''' === Tarjumaad === * {{en}}: ignorance, ignorant ===Synonym=== *[[barbarad]], [[jaguug]], [[alifleynimada]], [[alifley]], [[ardey]], [[jaahil]] cp02b9auzxgwg0ftqrqsynkxz1r8onv faddarayn 0 9944 28677 28676 2024-07-04T02:01:34Z Girligaanshub 3150 28677 wikitext text/x-wiki {{-so-}} == Magac == '''faddarayn''' === Tarjumaad === * {{en}}: contamination, contaminate 4kyi7tfhtlliyq2hluf5cvxfgy63ift nax 0 9945 31392 30426 2024-10-07T20:50:37Z Girligaanshub 3150 31392 wikitext text/x-wiki {{-so-}} == Magac == '''nax''' === Tarjumaad === * {{en}}: shock ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] 6tgvozdq36tf6e45g55lyquoluacamn yaab 0 9946 31396 30425 2024-10-07T20:51:35Z Girligaanshub 3150 31396 wikitext text/x-wiki {{-so-}} == Magac == '''yaab''' === Tarjumaad === * {{en}}: surprise ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] k3t9pyumx5f8e69dhau84phbw1rrz06 nac 0 9947 28680 2024-07-04T18:05:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nac''' === Tarjumaad === * {{en}}: dislike 28680 wikitext text/x-wiki {{-so-}} == Magac == '''nac''' === Tarjumaad === * {{en}}: dislike imyg7m1q576obunqvogpjgocpd8o2ua ilaaqdoon 0 9948 29165 28681 2024-07-30T04:35:52Z Girligaanshub 3150 29165 wikitext text/x-wiki {{-so-}} == Magac == '''ilaaqdoon''' === Tarjumaad === * {{en}}: attention-seeking, validation-seeking, validation seeker ===Synonyms=== *[[ilaaqdoon]], [[istuska]] aabhoaff9d7qexu6327bmwluhsjjjzv gabal 0 9949 28684 28683 2024-07-04T19:35:16Z Girligaanshub 3150 28684 wikitext text/x-wiki {{-so-}} == Magac == '''gabal''' === Tarjumaad === * {{en}}: piece, remix, sample, specimen, default io3zdquhvdzfples1nxztussrz5129c sey 0 9950 28685 2024-07-04T21:23:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sey''' === Tarjumaad === * {{en}}: husband 28685 wikitext text/x-wiki {{-so-}} == Magac == '''sey''' === Tarjumaad === * {{en}}: husband k0ut56lnfxujm0ykfc7leoakgcgkqma garoon 0 9951 28688 2024-07-05T03:33:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoon''' === Tarjumaad === * {{en}}: field 28688 wikitext text/x-wiki {{-so-}} == Magac == '''garoon''' === Tarjumaad === * {{en}}: field tb2nnzd5mxm1pnksuk4lklrxqjdjmms garoon diyaaradaha 0 9952 28689 2024-07-05T03:35:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoon diyaaradaha''' === Tarjumaad === * {{en}}: airport ===Synonyms=== *[[garoon diyaaradaha]], [[gegada diyaaradaha]] 28689 wikitext text/x-wiki {{-so-}} == Magac == '''garoon diyaaradaha''' === Tarjumaad === * {{en}}: airport ===Synonyms=== *[[garoon diyaaradaha]], [[gegada diyaaradaha]] npnqa8pn2r4iz57m8vumt9n8xsmpw5b gegada diyaaradaha 0 9953 28690 2024-07-05T03:35:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gegada diyaaradaha''' === Tarjumaad === * {{en}}: airport ===Synonyms=== *[[garoon diyaaradaha]], [[gegada diyaaradaha]] 28690 wikitext text/x-wiki {{-so-}} == Magac == '''gegada diyaaradaha''' === Tarjumaad === * {{en}}: airport ===Synonyms=== *[[garoon diyaaradaha]], [[gegada diyaaradaha]] 1mvwjk5hbi9orqhcxtgc63tdrr8vdsk hanjab 0 9954 28691 2024-07-05T22:36:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hanjab''' === Tarjumaad === * {{en}}: threat, threaten, intimidate, 28691 wikitext text/x-wiki {{-so-}} == Magac == '''hanjab''' === Tarjumaad === * {{en}}: threat, threaten, intimidate, lkjgyppnyhftuypsfjw2hoy5ek9oi7j jiho 0 9955 28695 28694 2024-07-06T02:02:56Z Girligaanshub 3150 28695 wikitext text/x-wiki {{-so-}} == Magac == '''jiho''' === Tarjumaad === * {{en}}: direction ===Synonym=== *[[jaho]], [[jiho]] jq3ezdao4h3hbt4fz9vn9bosw7rxneu tacthiil 0 9956 28696 2024-07-06T15:09:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tacthiil''' === Tarjumaad === * {{en}}: etymology 28696 wikitext text/x-wiki {{-so-}} == Magac == '''tacthiil''' === Tarjumaad === * {{en}}: etymology 2ewxajxfc439gbx20tsdf6exlmyb1by islaanku 0 9957 28699 2024-07-07T14:59:23Z Girligaanshub 3150 Girligaanshub moved page [[islaanku]] to [[islaan]] 28699 wikitext text/x-wiki #REDIRECT [[islaan]] hp5jh2jr6mpkfj7kh6eu4z9xos2thq8 duq 0 9958 28701 2024-07-07T15:07:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duq''' === Tarjumaad === * {{en}}: old, elderly 28701 wikitext text/x-wiki {{-so-}} == Magac == '''duq''' === Tarjumaad === * {{en}}: old, elderly njauscnpimag19th1y82myfb85nw68o xabeeb 0 9959 28703 2024-07-08T23:04:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xabeeb''' === Tarjumaad === * {{en}}: coarse, raspy, raspiness, hoarse, rough, bristly, dysphonia, low voice 28703 wikitext text/x-wiki {{-so-}} == Magac == '''xabeeb''' === Tarjumaad === * {{en}}: coarse, raspy, raspiness, hoarse, rough, bristly, dysphonia, low voice 4dvfk3h4tnw92oivndn6cf48pflz7ji minfiiq 0 9960 28706 2024-07-12T02:32:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''minfiiq''' === Tarjumaad === * {{en}}: broom 28706 wikitext text/x-wiki {{-so-}} == Magac == '''minfiiq''' === Tarjumaad === * {{en}}: broom g0xhkmepgmc9dvewucs2jkusw1w89c0 min 0 9961 28707 2024-07-12T02:32:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''min''' === Tarjumaad === * {{en}}: house, dwelling 28707 wikitext text/x-wiki {{-so-}} == Magac == '''min''' === Tarjumaad === * {{en}}: house, dwelling 105hmd2wr6zo7pxnnhyctu43iitj1u0 waaqfi 0 9962 28708 2024-07-12T02:39:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waaqfi''' === Tarjumaad === * {{en}}: silver bracelet 28708 wikitext text/x-wiki {{-so-}} == Magac == '''waaqfi''' === Tarjumaad === * {{en}}: silver bracelet tg75kbvmkbojqci8dga0yeikmuztknb fiic 0 9963 28709 2024-07-12T02:40:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiic''' === Tarjumaad === * {{en}}: good 28709 wikitext text/x-wiki {{-so-}} == Magac == '''fiic''' === Tarjumaad === * {{en}}: good 5p4wdjtopffeex03iqeduuk0znvsr7q fiican 0 9964 28710 2024-07-12T02:40:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fiican''' === Tarjumaad === * {{en}}: good 28710 wikitext text/x-wiki {{-so-}} == Magac == '''fiican''' === Tarjumaad === * {{en}}: good 8ekvcrnxr48c7o91m19qmz8x5h2wlpi rogaal-celi 0 9965 30326 30314 2024-08-27T05:33:57Z Girligaanshub 3150 30326 wikitext text/x-wiki {{-so-}} == Magac == '''rogaal-celi''' === Tarjumaad === * {{en}}: reverse ===Synonyms=== *[[cagsi]], [[rogaal-celi]], [[rogaal-celin]], [[lid]], [[horjeed]] dkhr13ze0xp5o37l7xsce7y0hbj3jsu rogaal-celin 0 9966 30324 30315 2024-08-27T05:33:17Z Girligaanshub 3150 30324 wikitext text/x-wiki {{-so-}} == Magac == '''roaal-celin''' === Tarjumaad === * {{en}}: reversal ===Synonyms=== *[[cagsi]], [[rogaal-celi]], [[rogaal-celin]], [[lid]], [[horjeed]] ee682xtpqp6plbjldheh4aczn4i56gd dalaq 0 9967 28725 2024-07-15T01:26:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalaq''' === Tarjumaad === * {{en}}: enter 28725 wikitext text/x-wiki {{-so-}} == Magac == '''dalaq''' === Tarjumaad === * {{en}}: enter 8g1bqacncemn0a51tjhwze5jc25opz4 dami 0 9968 28727 2024-07-15T03:29:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dami''' === Tarjumaad === * {{en}}: turn off, unplug, extinguish, log off, shut down, close, 28727 wikitext text/x-wiki {{-so-}} == Magac == '''dami''' === Tarjumaad === * {{en}}: turn off, unplug, extinguish, log off, shut down, close, p638h6qbrqi4tf3f8dd8j553ku2i0uy dam 0 9969 28728 2024-07-15T03:30:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dam''' === Tarjumaad === * {{en}}: off, shut, close, 28728 wikitext text/x-wiki {{-so-}} == Magac == '''dam''' === Tarjumaad === * {{en}}: off, shut, close, 0epusk2ple0iw6s5g0k7ooatzxomegd gini 0 9970 28729 2024-07-15T05:35:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gini''' === Tarjumaad === * {{en}}: denomination, unit, coin, value 28729 wikitext text/x-wiki {{-so-}} == Magac == '''gini''' === Tarjumaad === * {{en}}: denomination, unit, coin, value 2uw3iux4pzxwhwrq8kz2bgjciyp9tdy deegaamay 0 9971 28730 2024-07-15T15:42:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deegaamay''' === Tarjumaad === * {{en}}: urbanize 28730 wikitext text/x-wiki {{-so-}} == Magac == '''deegaamay''' === Tarjumaad === * {{en}}: urbanize piumhct5q6788n1b9ff6wzzzyc0om7a deegaamayn 0 9972 28731 2024-07-15T15:42:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deegaamayn''' === Tarjumaad === * {{en}}: urbanization 28731 wikitext text/x-wiki {{-so-}} == Magac == '''deegaamayn''' === Tarjumaad === * {{en}}: urbanization 1dgh3mo3yes7zbwcvp52qoanmlw6n7j dhul-daaqsimeed 0 9973 28732 2024-07-15T15:43:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhul-daaqsimeed''' === Tarjumaad === * {{en}}: pasture land 28732 wikitext text/x-wiki {{-so-}} == Magac == '''dhul-daaqsimeed''' === Tarjumaad === * {{en}}: pasture land rbqwcla5shqv4circhcjc787vbrq8pb dibada 0 9974 28734 2024-07-16T12:41:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibada''' === Tarjumaad === * {{en}}: outside 28734 wikitext text/x-wiki {{-so-}} == Magac == '''dibada''' === Tarjumaad === * {{en}}: outside o7lut191ajxrpulcos9baemdn44k3ek tabco 0 9975 29479 28761 2024-08-04T19:28:06Z Girligaanshub 3150 29479 wikitext text/x-wiki {{-so-}} == Magac == '''tabco''' === Tarjumaad === * {{en}}: foster, enrich, cultivate, nurture, strengthen, develop, promote, improve qh28e9plwkh1fnb53ckc9x5ohcdinx6 dego 0 9976 28737 28736 2024-07-16T13:09:12Z Girligaanshub 3150 28737 wikitext text/x-wiki {{-so-}} == Magac == '''dego''' === Tarjumaad === * {{en}}: landing, touchdown, docking, anchor, disembark, 4ev00v9qf0e1njwp89uoicibvjeusmz degid 0 9977 28738 2024-07-16T13:09:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''degid''' === Tarjumaad === * {{en}}: landing, touchdown, docking, anchor, disembark, 28738 wikitext text/x-wiki {{-so-}} == Magac == '''degid''' === Tarjumaad === * {{en}}: landing, touchdown, docking, anchor, disembark, 07a6vloo8kk7rejtm4cun2b2lnn7s9y tabco-la'aan 0 9978 28739 2024-07-16T13:10:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tabco-la'aan''' === Tarjumaad === * {{en}}: undeveloped 28739 wikitext text/x-wiki {{-so-}} == Magac == '''tabco-la'aan''' === Tarjumaad === * {{en}}: undeveloped 18c9vf8me4ac5ajkw1k46f89zadftm6 habsan 0 9979 28740 2024-07-16T19:37:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habsan''' === Tarjumaad === * {{en}}: late, delayed, deferred, postponed, 28740 wikitext text/x-wiki {{-so-}} == Magac == '''habsan''' === Tarjumaad === * {{en}}: late, delayed, deferred, postponed, 8x2i7folrkeohc8175w9f15b5w3wcgh habsaamo 0 9980 29991 28741 2024-08-18T20:28:19Z Girligaanshub 3150 29991 wikitext text/x-wiki {{-so-}} == Magac == '''habsaamo''' === Tarjumaad === * {{en}}: late, delay, defer, postpone, * {{en}}: smooth way, relaxed way 4g68b43gefbvto7gk2s6vmmn1arceqe hubkadhigis 0 9981 28744 2024-07-16T20:54:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hubkadhigis''' === Tarjumaad === * {{en}}: disarm, disarmament, demilitarize, demilitarization, 28744 wikitext text/x-wiki {{-so-}} == Magac == '''hubkadhigis''' === Tarjumaad === * {{en}}: disarm, disarmament, demilitarize, demilitarization, 2ojiyaqlj2jndaty7ghh4hm3zz310zg ifbixiye 0 9982 31154 29478 2024-10-04T13:06:11Z Girligaanshub 3150 31154 wikitext text/x-wiki {{-so-}} == Magac == '''ifbixiye''' === Tarjumaad === * {{en}}: improvizer, improviser, producer, initiater, commencer, usherer, instigater, launcher, establisher, inducter, installer, cultivater, innovater, fomenter, inventer, inductor, cultivator, innovator, inventor, instigator, initiator, ===Synonyms=== *[[horseed]], [[hormuud]], [[halabuure]], [[guulwade]], [[ifbixiye]] bkz585kv0l4qdssv2f94z1bm42hjc2v cabatin 0 9983 28780 28753 2024-07-17T17:41:02Z Girligaanshub 3150 28780 wikitext text/x-wiki {{-so-}} == Magac == '''cabatin''' === Tarjumaad === * {{en}}: complaint ===Synonyms=== *[[cabatin]], [[cabanayo]], [[eed]], [[eedaynta]], [[cambaaro]], [[dhaliil]] 1gtwr9l8x7iv6ir3tiag2n272mkq8zs shuuci 0 9984 31499 31036 2024-10-13T01:49:22Z Girligaanshub 3150 31499 wikitext text/x-wiki {{-so-}} == Magac == '''shuuci''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] ===Antonyms=== *[[joogdoon]], [[sooyaaldoon]], [[muxaafid]], [[hanif]], [[zahid]], 3ofymaeboakvuia6df6bhnsmc2kv11z is-afgarad 0 9985 28773 2024-07-17T07:24:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-afarad''' === Tarjumaad === * {{en}}: memorandum, briefing note, ===Synonyms=== *[[is-afgarad]], [[dardaaran]], [[iclaan]], [[awaaji]], 28773 wikitext text/x-wiki {{-so-}} == Magac == '''is-afarad''' === Tarjumaad === * {{en}}: memorandum, briefing note, ===Synonyms=== *[[is-afgarad]], [[dardaaran]], [[iclaan]], [[awaaji]], ooygf2svsjp6iqh2sxmoh5tq1xned27 shuucinimo 0 9986 28782 2024-07-18T00:01:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shuucinimo''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism 28782 wikitext text/x-wiki {{-so-}} == Magac == '''shuucinimo''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism n485fe98q7dmgc1i8l3m10itdbeliao shuuciye 0 9987 28783 2024-07-18T00:02:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shuuciye''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism 28783 wikitext text/x-wiki {{-so-}} == Magac == '''shuuciye''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism gr1lolsahhuvxmqoxkal9l8ilm9zpce ganacsiga 0 9988 28788 2024-07-20T01:39:09Z Girligaanshub 3150 Girligaanshub moved page [[ganacsiga]] to [[ganacsi]] 28788 wikitext text/x-wiki #REDIRECT [[ganacsi]] l9lb8cv13043rzoiqzvokvzomtbdwu1 faduul 0 9989 28794 2024-07-20T14:49:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faduul''' === Tarjumaad === * {{en}}: rude, disrespectful, provocative, provocation 28794 wikitext text/x-wiki {{-so-}} == Magac == '''faduul''' === Tarjumaad === * {{en}}: rude, disrespectful, provocative, provocation 0x22lgayzsbikw44q10sdhv1po6dseh faduusha 0 9990 28795 2024-07-20T14:49:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faduusha''' === Tarjumaad === * {{en}}: rude, disrespectful, provocative, provocation 28795 wikitext text/x-wiki {{-so-}} == Magac == '''faduusha''' === Tarjumaad === * {{en}}: rude, disrespectful, provocative, provocation p9e7o07383z2g7xlapkde312oks6e6e barako 0 9991 29843 28798 2024-08-12T17:20:04Z Girligaanshub 3150 29843 wikitext text/x-wiki {{-so-}} == Magac == '''barako''' === Tarjumaad === * {{en}}: supplicate, blessing, bless ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]], [[siyaadi]], [[wacays]], [[barako]] 14dr0gm3fus42xxrkq79b4zyu4osvu0 wahsi 0 9992 28802 2024-07-21T19:14:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wahsi''' === Tarjumaad === * {{en}}: lazy, fatigue, fatigued ===Synonyms=== *[[wahsi]], [[wahsad]] 28802 wikitext text/x-wiki {{-so-}} == Magac == '''wahsi''' === Tarjumaad === * {{en}}: lazy, fatigue, fatigued ===Synonyms=== *[[wahsi]], [[wahsad]] 6luo30jd7q93v7nbxnmwaok60xi72pu cashaq 0 9993 28804 2024-07-21T19:29:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cashaq''' === Tarjumaad === * {{en}}: love 28804 wikitext text/x-wiki {{-so-}} == Magac == '''cashaq''' === Tarjumaad === * {{en}}: love ikz41qzacplsmngqap5kh7lkv8471pj damqasho 0 9994 28806 2024-07-21T19:31:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalgacal''' === Tarjumaad === * {{en}}: sympathy, compassion, empathy, affinity ===Synonyms=== *[[damqad]], [[damqasho]], [[kalgacal]] 28806 wikitext text/x-wiki {{-so-}} == Magac == '''kalgacal''' === Tarjumaad === * {{en}}: sympathy, compassion, empathy, affinity ===Synonyms=== *[[damqad]], [[damqasho]], [[kalgacal]] amjzban8cm2kk3xc1g85vw5d38tvt8w yelax 0 9995 28808 2024-07-21T19:54:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yelax''' === Tarjumaad === * {{en}}: soft hair 28808 wikitext text/x-wiki {{-so-}} == Magac == '''yelax''' === Tarjumaad === * {{en}}: soft hair p7nvgpi9gr10n2940h07yzc5zx1epgj Dabacayuun 0 9996 28809 2024-07-21T19:58:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Dabacayuun''' === Tarjumaad === * {{en}}: insult for idoor clan 28809 wikitext text/x-wiki {{-so-}} == Magac == '''Dabacayuun''' === Tarjumaad === * {{en}}: insult for idoor clan ndsb3rc83qesi5cej8jnj6jix1ofsmr fircoon syndrome 0 9997 28811 2024-07-21T20:23:14Z Girligaanshub 3150 Girligaanshub moved page [[fircoon syndrome]] to [[fircoon]] 28811 wikitext text/x-wiki #REDIRECT [[fircoon]] e0exzlxwvdk87ha5na4eme3abeggic4 fir 0 9998 29656 28828 2024-08-07T15:44:00Z Girligaanshub 3150 29656 wikitext text/x-wiki {{-so-}} == Magac == '''fir''' === Tarjumaad === * {{en}}: dynasty, generation ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[bariido]], [[fircoon]] 0q0gjt9on244ayrkcv38pme6k50lupz xaar 0 9999 28830 2024-07-21T20:48:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaar''' === Tarjumaad === * {{en}}: feces, shit, faeces, excrement, dung, scat 28830 wikitext text/x-wiki {{-so-}} == Magac == '''xaar''' === Tarjumaad === * {{en}}: feces, shit, faeces, excrement, dung, scat nnfaw2xjnf1eheo4q8ybtlgkkhbltkk shuubo 0 10000 28831 2024-07-21T20:48:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shuubo''' === Tarjumaad === * {{en}}: dumpster, guzzler, bucket, dump 28831 wikitext text/x-wiki {{-so-}} == Magac == '''shuubo''' === Tarjumaad === * {{en}}: dumpster, guzzler, bucket, dump rr6pk4izwx0ha9snevct1wz60ayufr1 arin 0 10001 29931 28832 2024-08-15T20:42:40Z Girligaanshub 3150 29931 wikitext text/x-wiki {{-so-}} == Magac == '''arin''' === Tarjumaad === * {{en}}: situation, issue, matter, affair ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], [[cillad]] dm33sbushd6vhkxawv4xkuuhhdefhd8 tiraale 0 10002 28833 2024-07-21T21:34:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tiraale''' === Tarjumaad === * {{en}}: number 28833 wikitext text/x-wiki {{-so-}} == Magac == '''tiraale''' === Tarjumaad === * {{en}}: number 5o46jv6u2a6u983vjhvtokv4groy0fl sar 0 10003 29588 29423 2024-08-06T15:25:35Z Girligaanshub 3150 29588 wikitext text/x-wiki {{-so-}} == Magac == '''sar''' === Tarjumaad === * {{en}}: hide, fur ===Synonyms=== *[[saan]], [[sar]], [[harag]] qx5b64t1wu0c8jdz34dgtsf2tymmtqs malooli 0 10004 28835 2024-07-21T21:36:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malooli''' === Tarjumaad === * {{en}}: castrated ram 28835 wikitext text/x-wiki {{-so-}} == Magac == '''malooli''' === Tarjumaad === * {{en}}: castrated ram 96b7na2jv8s1x5k7sefesy1ix6jvpad asmo 0 10005 28837 2024-07-21T21:38:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''asmo''' === Tarjumaad === * {{en}}: a spell casted on warfare weapons, 28837 wikitext text/x-wiki {{-so-}} == Magac == '''asmo''' === Tarjumaad === * {{en}}: a spell casted on warfare weapons, cd0kokkw2nmdyw0lfcuj1kykxes5fhp awlax 0 10006 28838 2024-07-21T21:38:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awlax''' === Tarjumaad === * {{en}}: long spear 28838 wikitext text/x-wiki {{-so-}} == Magac == '''awlax''' === Tarjumaad === * {{en}}: long spear j0weeclel2s9zsdx0e7b0yzciepqxot hooto 0 10007 28841 2024-07-21T21:47:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hooto''' === Tarjumaad === * {{en}}: short spear, ===Cognate=== *[[coodtabin]], [[hootip]], [[hooto]] 28841 wikitext text/x-wiki {{-so-}} == Magac == '''hooto''' === Tarjumaad === * {{en}}: short spear, ===Cognate=== *[[coodtabin]], [[hootip]], [[hooto]] 27y1j1o252lulpyif6wm9szdgknqhrj ashqaraar 0 10008 28857 28845 2024-07-22T01:09:54Z Girligaanshub 3150 28857 wikitext text/x-wiki {{-so-}} == Magac == '''ashqaraar''' === Tarjumaad === * {{en}}: bewilderment, bewildered, bewilder, perplexing, perplexed, baffled, confused, disoriented, ===Synonyms=== * [[jahwareer]], [[ashqaraar]], [[deelqaaf]] fvq7iyv07edlxxlrj5902owdjvj9c3h shub 0 10009 28848 2024-07-21T22:58:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shub''' === Tarjumaad === * {{en}}: pour, imbue 28848 wikitext text/x-wiki {{-so-}} == Magac == '''shub''' === Tarjumaad === * {{en}}: pour, imbue ky4qnkxarb446ujceas6gqf9krbnlni niyad-jab 0 10010 28850 2024-07-21T23:05:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyad-jab''' === Tarjumaad === * {{en}}: frustration, depression, depressed ===Synonyms=== *[[murugo-xad-dhaaf]], [[isku-buuq]], [[niyad-jab]] 28850 wikitext text/x-wiki {{-so-}} == Magac == '''niyad-jab''' === Tarjumaad === * {{en}}: frustration, depression, depressed ===Synonyms=== *[[murugo-xad-dhaaf]], [[isku-buuq]], [[niyad-jab]] 6nr0tq0jgmt9e45uodjo6xtsv09xj2g curdin 0 10011 32089 31921 2024-10-28T03:46:14Z Girligaanshub 3150 32089 wikitext text/x-wiki {{-so-}} == Magac == '''curdin''' === Tarjumaad === * {{en}}: inception, foundation, foundational, initiated, initiation, inauguration, beginning, debut ===Synonyms=== *[[gumud]], [[gummud]], [[gundhig]], [[qaacid]], [[ubuc]], [[ugub]], [[udub]], [[tiir]], [[jirid]] 86mn7nhvuaioq69sdd07d2kdr79n97i allayl 0 10012 28860 2024-07-22T01:35:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''allayl''' === Tarjumaad === * {{en}}: second half of night 28860 wikitext text/x-wiki {{-so-}} == Magac == '''allayl''' === Tarjumaad === * {{en}}: second half of night noca9iiylur6y9nexkd9eveht4vrowm xubin 0 10013 31175 31024 2024-10-04T13:46:58Z Girligaanshub 3150 31175 wikitext text/x-wiki {{-so-}} == Magac == '''xubin''' === Tarjumaad === * {{en}}: member, piece, part ===Synonyms=== * [[suurad]], [[marxaalad]], [[musalsal]], [[taxane]], [[ba'da]], [[farac]], [[laan]], [[maktab]], [[xubin]], [[canaasiir]] rt8yft6kzedn6cjpo0zfsihonweyppg qurbo 0 10014 28864 2024-07-22T13:29:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qurbo''' === Tarjumaad === * {{en}}: foreign 28864 wikitext text/x-wiki {{-so-}} == Magac == '''qurbo''' === Tarjumaad === * {{en}}: foreign 9iqvgussbjxmgam6afnfxjux96lqqrl qurbaha 0 10015 28865 2024-07-22T13:29:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qurbaha''' === Tarjumaad === * {{en}}: foreign 28865 wikitext text/x-wiki {{-so-}} == Magac == '''qurbaha''' === Tarjumaad === * {{en}}: foreign qys7cn01hmg1bf8sol9adeh787p750o xurguf 0 10016 32842 32841 2024-12-02T12:14:51Z Girligaanshub 3150 32842 wikitext text/x-wiki {{-so-}} == Magac == '''xurguf''' === Tarjumaad === * {{en}}: tension, tensions ===Synonyms=== *[[xurguf]], [[xinif]] 3apq544jblcepy0db9mxpqtjk22ulwr hurguf 0 10017 28867 2024-07-22T17:34:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hurguf''' === Tarjumaad === * {{en}}: project outwards * {{en}}: dust off (table or bed linen) 28867 wikitext text/x-wiki {{-so-}} == Magac == '''hurguf''' === Tarjumaad === * {{en}}: project outwards * {{en}}: dust off (table or bed linen) ltdg4l5m9y23bkcovrbuaoam1d2y31t derejad 0 10018 31579 31574 2024-10-16T04:03:37Z Girligaanshub 3150 31579 wikitext text/x-wiki {{-so-}} == Magac == '''derejad''' === Tarjumaad === * {{en}}: rank, position, step, class ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] ald5690xkm2p9df5cnakhu7qdcsybeq tallaal 0 10019 28875 2024-07-22T23:45:57Z Girligaanshub 3150 Bog loo bedeley [[talaal]] 28875 wikitext text/x-wiki #redirect [[talaal]] atdc5rc47d4lua4e2813k60u7ktyzpf dabaysha 0 10020 28876 2024-07-22T23:50:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabaysha''' === Tarjumaad === * {{en}}: polio * {{en}}: strong wind 28876 wikitext text/x-wiki {{-so-}} == Magac == '''dabaysha''' === Tarjumaad === * {{en}}: polio * {{en}}: strong wind 8okb4y6ae7a1zjy2osuqq4otx4kpevr dabayl 0 10021 28877 2024-07-23T00:38:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabayl''' === Tarjumaad === * {{en}}: gust, gale, strong wind, 28877 wikitext text/x-wiki {{-so-}} == Magac == '''dabayl''' === Tarjumaad === * {{en}}: gust, gale, strong wind, 3xf3aaf85dhy1i6y2b611x3ac47z732 dhibcood 0 10022 28880 28878 2024-07-23T00:51:18Z Girligaanshub 3150 28880 wikitext text/x-wiki {{-so-}} == Magac == '''dhibcood''' === Tarjumaad === * {{en}}: point, points, score, credits * {{en}}: drop, drops 6b3o4glspanpzj5rybe0pddhf9j724e dhibcaha 0 10023 28881 28879 2024-07-23T00:51:49Z Girligaanshub 3150 28881 wikitext text/x-wiki {{-so-}} == Magac == '''dhibcaha''' === Tarjumaad === * {{en}}: point, points, score, credits, credit * {{en}}: drop, drops pps70vf7cecahvewu5ygshq529srevh ixsaan 0 10024 30662 28883 2024-09-10T22:24:21Z Girligaanshub 3150 30662 wikitext text/x-wiki {{-so-}} == Magac == '''ixsaan''' === Tarjumaad === * {{en}}: virtue, morality ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] k9z5rxqt1phztebalnhvb64joypd6fg xasanat 0 10025 30664 28884 2024-09-10T22:24:47Z Girligaanshub 3150 30664 wikitext text/x-wiki {{-so-}} == Magac == '''xsanat''' === Tarjumaad === * {{en}}: virtue, merit, credit ===Synonyms=== * [[xasanat]], [[ajr]], 3nfqe8b0puhjzyn35c5czg8mlh4ajek ajr 0 10026 30663 28885 2024-09-10T22:24:36Z Girligaanshub 3150 30663 wikitext text/x-wiki {{-so-}} == Magac == '''ajr''' === Tarjumaad === * {{en}}: virtue, merit, credit ===Synonyms=== * [[xasanat]], [[ajr]], bwnezykosbezcpngxj1hcrqipqixs8z warmurtiyeed 0 10027 32490 32486 2024-11-16T19:49:52Z Girligaanshub 3150 32490 wikitext text/x-wiki {{-so-}} == Magac == '''warmurtiyeed''' === Tarjumaad === * {{en}}: alert, notice, announcement, message, ===Synonyms=== *[[macluumad]], [[wargelin]], [[warmurtiyeed]], [[ogeysiis]], aume4o7s5r7yav5x5ha0act0h171q99 gudoomiye 0 10028 28895 28893 2024-07-25T02:35:59Z Girligaanshub 3150 28895 wikitext text/x-wiki {{-so-}} == Magac == '''gudoomiye''' === Tarjumaad === * {{en}}: governor ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[gudoomiye]], [[xoghaye]] d6lyvfwney26jisjdqwbc9fjb4ue2hd suugaanyahan 0 10029 28900 28897 2024-07-25T02:51:29Z Girligaanshub 3150 28900 wikitext text/x-wiki {{-so-}} === Magac === '''suugaanyahan''' === Tarjumaad === * {{en}}: litterateur, littérateur, literator, literarian, wordsmith, novelist, satirist, lyricist, ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], my14b15bn760ojoftpkiyj6fvzwjoc4 qoraa 0 10030 28902 28898 2024-07-25T02:51:49Z Girligaanshub 3150 28902 wikitext text/x-wiki {{-so-}} == Magac == '''qoraa''' === Tarjumaad === * {{en}}: author, writer, ===Synonyms=== *[[tifaftire]], [[afyaqaan]], [[saxaafada]], [[wariye]], [[qore]], [[qoraa]], [[sakow]], [[suugaanyahan]], 8h7hzlf4bvnxumsi2vivj6zqbteb7tk shirweyne 0 10031 28909 2024-07-25T04:23:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shirweyne''' === Tarjumaad === * {{en}}: convention, summit, ===Synonyms=== *[[shir]], [[shirweyne]], 28909 wikitext text/x-wiki {{-so-}} == Magac == '''shirweyne''' === Tarjumaad === * {{en}}: convention, summit, ===Synonyms=== *[[shir]], [[shirweyne]], kk7v1hrp3odjlbolz2l283qz0v4ycy7 nujaal 0 10032 28910 2024-07-25T15:30:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nujaal''' === Tarjumaad === * {{en}}: preservative 28910 wikitext text/x-wiki {{-so-}} == Magac == '''nujaal''' === Tarjumaad === * {{en}}: preservative 2fq3ple2sgvpkkyn3xpyp2crcdve292 xan 0 10033 29731 29729 2024-08-09T00:49:39Z Girligaanshub 3150 29731 wikitext text/x-wiki {{-so-}} == Magac == '''xan''' === Tarjumaad === * {{en}}: gossip ===Synonyms=== *[[xanta]], [[xanto]], [[kutiro-kuteen]], [[gubaabi]], [[gubaabiye]], [[afmiishaar]], [[xan]], [[dacaayad]] re2pddb0hdf67nzo1g8haln1pewo536 suuroob 0 10034 30230 30219 2024-08-24T16:11:47Z Girligaanshub 3150 30230 wikitext text/x-wiki {{-so-}} == Magac == '''suuroob''' === Tarjumaad === * {{en}}: viable, viability, feasible, feasibility, possible, possibility, sustainable, practical, doable, actualize, realize, effectuate, materialize ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] th1ukynmccsh7m7oi9atjeiaaqcea7f hagardaamo 0 10035 29181 29129 2024-07-30T22:18:08Z Girligaanshub 3150 29181 wikitext text/x-wiki {{-so-}} == Magac == '''hagardaamo''' === Tarjumaad === * {{en}}: haunt, haunted, harassment ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] 3nmfuidxzdw8go1ckl6s9ueanwhytuj soo-xaadhista uurjiifka 0 10036 28928 28927 2024-07-27T01:42:55Z Girligaanshub 3150 28928 wikitext text/x-wiki {{-so-}} == Magac == '''soo-xaadhista uurjiifka''' === Tarjumaad === * {{en}}: abortion, induced miscarriage, induced pregnancy termination ===Synonyms=== *[[iska-soo-xaaqida uurjiifta]], [[iska-soo-rididda uurjiifta]], [[soo-xaadhista uurjiifka]] brzk07flwu45ga5udcqzkfh2rnqqect iska-soo-xaaqida uurjiifta 0 10037 28932 28929 2024-07-27T01:44:28Z Girligaanshub 3150 28932 wikitext text/x-wiki {{-so-}} == Magac == '''iska-soo-xaaqida uurjiifta''' === Tarjumaad === * {{en}}: abortion, induced miscarriage, induced pregnancy termination ===Synonyms=== *[[iska-soo-xaaqida uurjiifta]], [[iska-soo-rididda uurjiifta]], [[soo-xaadhista uurjiifka]] pl3g5yrwfz6oiq72wp5mol7petjo9em iska-soo-rididda uurjiifta 0 10038 28931 28930 2024-07-27T01:44:10Z Girligaanshub 3150 28931 wikitext text/x-wiki {{-so-}} == Magac == '''iska-soo-rididda uurjiifta''' === Tarjumaad === * {{en}}: abortion, induced miscarriage, induced pregnancy termination ===Synonyms=== *[[iska-soo-xaaqida uurjiifta]], [[iska-soo-rididda uurjiifta]], [[soo-xaadhista uurjiifka]] 8tsscmpbu7uwyk9ejqe7hkr3fiuxtyz cadaab 0 10039 28939 2024-07-27T13:36:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cadaab''' === Tarjumaad === * {{en}}: punish, punishment ===Synonyms=== *[[ciqaab]], [[cadaab]] 28939 wikitext text/x-wiki {{-so-}} == Magac == '''cadaab''' === Tarjumaad === * {{en}}: punish, punishment ===Synonyms=== *[[ciqaab]], [[cadaab]] 0aynimqu8qsarhtg0avqugqu8owtl6u sahami 0 10040 28941 2024-07-27T14:29:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sahami''' === Tarjumaad === * {{en}}: explore, 28941 wikitext text/x-wiki {{-so-}} == Magac == '''sahami''' === Tarjumaad === * {{en}}: explore, pi3kmjauadt24gaabz5qpszv55pmq4y sahamin 0 10041 28945 28943 2024-07-27T14:30:29Z Girligaanshub 3150 28945 wikitext text/x-wiki {{-so-}} == Magac == '''sahamin''' === Tarjumaad === * {{en}}: exploration, ===Synonyms=== *[[sahminta]], [[sahamin]], [[sahaminta]] f48wfldt3z9qc0y2q8zuza1b79yl0ns sahaminta 0 10042 28944 2024-07-27T14:30:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sahaminta''' === Tarjumaad === * {{en}}: exploration, ===Synonyms=== *[[sahminta]], [[sahamin]], [[sahaminta]] 28944 wikitext text/x-wiki {{-so-}} == Magac == '''sahaminta''' === Tarjumaad === * {{en}}: exploration, ===Synonyms=== *[[sahminta]], [[sahamin]], [[sahaminta]] 8ai5xxb24ehnci2ac2a4ykcodebhoae xoolo-dhaqato 0 10043 28950 2024-07-27T15:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoolo-dhaqato''' === Tarjumaad === * {{en}}: pastoralism, pastoralist 28950 wikitext text/x-wiki {{-so-}} == Magac == '''xoolo-dhaqato''' === Tarjumaad === * {{en}}: pastoralism, pastoralist 7fi14joxo4db8kiojlhtl42u1edltbm beero falato 0 10044 28952 2024-07-27T15:56:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beeraley''' === Tarjumaad === * {{en}}: farmer, sedentary worker, sedentary lifestyle ===Synonyms=== *[[beeraley]], [[beero falato]], [[reer beereed]], [[reer qodaal]] 28952 wikitext text/x-wiki {{-so-}} == Magac == '''beeraley''' === Tarjumaad === * {{en}}: farmer, sedentary worker, sedentary lifestyle ===Synonyms=== *[[beeraley]], [[beero falato]], [[reer beereed]], [[reer qodaal]] lkrvyv1d4zm1rscsblypr6txe0qn5t0 geli 0 10045 28955 2024-07-27T16:20:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geli''' === Tarjumaad === * {{en}}: insert 28955 wikitext text/x-wiki {{-so-}} == Magac == '''geli''' === Tarjumaad === * {{en}}: insert gmzl7r291ojst2e20n7dxatqbspofr1 dhiirigeli 0 10046 29618 29250 2024-08-07T05:55:00Z Girligaanshub 3150 29618 wikitext text/x-wiki {{-so-}} == Magac == '''dhiirigeli''' === Tarjumaad === * {{en}}: inspire, encourage, incentivize e86y04zwcsc8jmsoijq48c2ea5g4s0m dhiirigelin 0 10047 32523 32470 2024-11-18T11:02:55Z Girligaanshub 3150 32523 wikitext text/x-wiki {{-so-}} == Magac == '''dhiirigelin''' === Tarjumaad === * {{en}}: inspiration, encouragement, incentive ===Synonyms=== *[[dhiirigelin]], [[shidaal]], [[kaladanbayn]], [[dardargeli]] sabaprryur7s06gbkzd6y2uvo8aaqyg xogaal 0 10048 29050 28977 2024-07-28T19:01:05Z Girligaanshub 3150 29050 wikitext text/x-wiki {{-so-}} == Magac == '''xogaal''' === Tarjumaad === * {{en}}: reconnaissance, info * {{en}}: informed, aware, acquainted, knowledgeable, up-to-date, street-smart, streetsmart, in-the-know, in-the-loop, clued-up, know-how, common sense, streetwise, ===Cognates=== *[[xogaale]] 6claybjpane4xj9xtocevcvqifuydcp xogaale 0 10049 32317 29096 2024-11-08T05:13:46Z Girligaanshub 3150 32317 wikitext text/x-wiki {{-so-}} == Magac == '''xogaale''' === Tarjumaad === * {{en}}: insider, agent, intelligencer, mole, undercover, infiltrator, informer, one of the in-crowd, inside man, inside woman, plugged in, au courant, well-connected ===Cognates=== *[[xogaale]], [[xogaal]] ===Synonyms=== *[[warshade]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] m488f9n7gns17r71uii74v5pbscsxf0 faragelin 0 10050 31848 29197 2024-10-25T22:15:02Z Girligaanshub 3150 31848 wikitext text/x-wiki {{-so-}} == Magac == '''faragelin''' === Tarjumaad === * {{en}}: intrusive, busybody, nosey, nosiness, spy, spying, probe, probing, pry, prying, nosy, meddle, meddling, disturb, interrupt, interfere, interject, ===Synonyms=== *[[dafdaf]], [[faragelin]], [[shafgooso]], [[shafgoos]] tllre0v63qg2mlwun587onv1gkm8a3i foosha 0 10051 29008 2024-07-27T23:49:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foosha''' === Tarjumaad === * {{en}}: uterine contractions, birth labour, birth dilation, birth labor, 29008 wikitext text/x-wiki {{-so-}} == Magac == '''foosha''' === Tarjumaad === * {{en}}: uterine contractions, birth labour, birth dilation, birth labor, dcz5pr8ftxztpxd412biv98evm9mqpw is-xilqaan 0 10052 29013 2024-07-28T04:28:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''is-xilqaan''' === Tarjumaad === * {{en}}: voluntary, voluntary gesture 29013 wikitext text/x-wiki {{-so-}} == Magac == '''is-xilqaan''' === Tarjumaad === * {{en}}: voluntary, voluntary gesture gjz64qzgvc5grol384illcznb9vi5rg reĝo 0 10053 29516 29014 2024-08-05T01:46:42Z Girligaanshub 3150 29516 wikitext text/x-wiki {{-eo-}} == Magac == '''reĝo''' {{f}} (Jamac: [[reĝoj]]) === Dhawaaqida === * {{audio|LL-Q143 (epo)-Robin van der Vliet-reĝo.wav|audio|lang=eor}} # [[boqor]] nkjo1i5x0w95bvg13v4cj3g8ywkk3yf boqor 0 10054 30417 29949 2024-09-01T22:03:38Z Girligaanshub 3150 30417 wikitext text/x-wiki {{-so-}} == Magac == '''boqor''' === Tarjumaad === * {{en}}: king, monarch * {{en}}: belt ===Synonyms=== *[[boqor]], [[suun]], [[kiish]] g6quaz6wypghssy2gjbq8fjlrzw1h73 sigato 0 10055 29016 2024-07-28T12:08:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sigato''' === Tarjumaad === * {{en}}: narrow escape, close call, barely elude 29016 wikitext text/x-wiki {{-so-}} == Magac == '''sigato''' === Tarjumaad === * {{en}}: narrow escape, close call, barely elude p3mq4t2xn5nhpu6wkcu04udspq1zclc xumeyn 0 10056 29190 29138 2024-07-30T22:20:21Z Girligaanshub 3150 29190 wikitext text/x-wiki {{-so-}} == Magac == '''xumeyn''' === Tarjumaad === * {{en}}: mistreat, mistreatment, abuse, harass, harassment, bully, bullying, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] mfi2j1b9vnli4ta8weo30v9fxfh5j3j faraxumeyn 0 10057 29191 29127 2024-07-30T22:20:33Z Girligaanshub 3150 29191 wikitext text/x-wiki {{-so-}} == Magac == '''faraxumeyn''' === Tarjumaad === * {{en}}: mistreat, mistreatment, abuse, harass, harassment, bully, bullying, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] rtoyqipsvipte1p6za9sz9nq0yriyy3 dhibaatayn 0 10058 29192 29139 2024-07-30T22:20:53Z Girligaanshub 3150 29192 wikitext text/x-wiki {{-so-}} == Magac == '''dhibaatayn''' === Tarjumaad === * {{en}}: mistreat, mistreatment, abuse, harass, harassment, bully, bullying, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] h6ppenv1h1e876yphqgualg42nnyik1 dhib 0 10059 29022 2024-07-28T15:38:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhib''' === Tarjumaad === * {{en}}: mistreat, 29022 wikitext text/x-wiki {{-so-}} == Magac == '''dhib''' === Tarjumaad === * {{en}}: mistreat, icopov81p01vli0ntsr5qxbe7v6j5ad gardarreyn 0 10060 29193 29142 2024-07-30T22:21:09Z Girligaanshub 3150 29193 wikitext text/x-wiki {{-so-}} == Magac == '''gardarreyn''' === Tarjumaad === * {{en}}: victimize, victimization, exploit, exploitation, exploiting, mistreat, con, maltreat, chaos, anarchy, anarchism ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]] j37m170nlgo87af9hmdg00e0jyxhsyq dalmar 0 10061 29046 2024-07-28T18:34:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalmar''' === Tarjumaad === * {{en}}: geographer, explorer, traveller, voyager, surveyor, traveler, adventurer, scout, 29046 wikitext text/x-wiki {{-so-}} == Magac == '''dalmar''' === Tarjumaad === * {{en}}: geographer, explorer, traveller, voyager, surveyor, traveler, adventurer, scout, 9f072jm51ee72s0zaf2gumt20494mwi hiwaayad 0 10062 29277 29048 2024-07-31T07:47:00Z Girligaanshub 3150 29277 wikitext text/x-wiki {{-so-}} == Magac == '''hiwaayad''' === Tarjumaad === * {{en}}: hobby, pastime, interest, leisure ===Synonyms=== *[[majaajilo]], [[tamashlayn]], [[saleel]], [[maadlow]], [[hiwaayad]] n1g7a74u51y2wi4adrhcy19dednzdlz hiwaayade 0 10063 29049 2024-07-28T18:42:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiwaayade''' === Tarjumaad === * {{en}}: hobbyist, recreationist, recreationalist, enthusiast, 29049 wikitext text/x-wiki {{-so-}} == Magac == '''hiwaayade''' === Tarjumaad === * {{en}}: hobbyist, recreationist, recreationalist, enthusiast, aacohzzmd4lqarocys54ds94wuy247u kuul 0 10064 29051 2024-07-28T19:12:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuul''' === Tarjumaad === * {{en}}: bead, pearl, pellet 29051 wikitext text/x-wiki {{-so-}} == Magac == '''kuul''' === Tarjumaad === * {{en}}: bead, pearl, pellet saonhi6rcjabh309vv1akzz69y3akxl kuulaha 0 10065 29052 2024-07-28T19:13:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuul''' === Tarjumaad === * {{en}}: beads, pearls, pellets 29052 wikitext text/x-wiki {{-so-}} == Magac == '''kuul''' === Tarjumaad === * {{en}}: beads, pearls, pellets fxnlazgkau0xddmjvq1pcstjj5cdue3 qalaji 0 10066 29054 2024-07-28T19:19:15Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''qalaji''' ===Tarjumaad=== *{{en}}: dry ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 29054 wikitext text/x-wiki {{-so-}} ==Magac== '''qalaji''' ===Tarjumaad=== *{{en}}: dry ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 6gdkw7ce4t3vzs4qk8dcsak48lzssj0 qalalan 0 10067 29055 2024-07-28T19:19:33Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''qalalan''' ===Tarjumaad=== *{{en}}: dried ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 29055 wikitext text/x-wiki {{-so-}} ==Magac== '''qalalan''' ===Tarjumaad=== *{{en}}: dried ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 8sirpriehm5p2jkti8y4kumsaoxpfp7 qalajin 0 10068 29056 2024-07-28T19:19:50Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''qalajin''' ===Tarjumaad=== *{{en}}: drying ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] 29056 wikitext text/x-wiki {{-so-}} ==Magac== '''qalajin''' ===Tarjumaad=== *{{en}}: drying ===Synonyms=== *[[qalaji]], [[qalalan]], [[qalajin]], [[engeg]] prehrsqlt2448i54lwkdg7bhxrq7cir qumbo 0 10069 29057 2024-07-28T19:22:36Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''qumbo''' ===Tarjumaad=== *{{en}}: coconut 29057 wikitext text/x-wiki {{-so-}} ==Magac== '''qumbo''' ===Tarjumaad=== *{{en}}: coconut h5x9pjh90o5heixr5e8v0ont9f0bo78 xilqaan 0 10070 29115 29079 2024-07-29T20:02:10Z Girligaanshub 3150 29115 wikitext text/x-wiki {{-so-}} == Magac == '''xilqaan''' === Tarjumaad === * {{en}}: custody, custodianship, guardianship, take blame, * {{en}}: obligation, liability, accountable, accountability, * {{en}}: adoption * {{en}}: enlistment, sign up, ===Synonyms=== *[[xilqaan]], [[xilqaamid]] ===Antonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] tkkpu6lgmbzkc3g3a3fd3jif4x2a7dj xilqaanley 0 10071 32316 29095 2024-11-08T05:13:35Z Girligaanshub 3150 32316 wikitext text/x-wiki {{-so-}} == Magac == '''xilqaanley''' === Tarjumaad === * {{en}}: custodian, guardian, ===Synonyms=== *[[warshade]], [[weli]], [[kafiil]], [[abbaan]], [[coodtebiye]], [[coodtabiye]], [[xilqaanley]], [[xogaale]] dcljvn8x1p7ne2s6lv5psvgnquqdw1v xilqaamo 0 10072 29072 29068 2024-07-29T03:35:57Z Girligaanshub 3150 29072 wikitext text/x-wiki {{-so-}} == Magac == '''xilqaamo''' === Tarjumaad === * {{en}}: adopt, take responsibility, assume one's role, bear responsibility, enlist, sign up 64frdy7hz1arabjcozvqa8kljpcj7xr uur-lahaanshaha 0 10073 29074 29073 2024-07-29T03:38:18Z Girligaanshub 3150 Girligaanshub moved page [[Uur-lahaanshaha]] to [[uur-lahaanshaha]] 29073 wikitext text/x-wiki {{-so-}} == Magac == '''uur-lahaanshaha''' === Tarjumaad === * {{en}}: pregnancy 01k0nxiwum0ennbyj38utu7zz20idvc Uur-lahaanshaha 0 10074 29075 2024-07-29T03:38:18Z Girligaanshub 3150 Girligaanshub moved page [[Uur-lahaanshaha]] to [[uur-lahaanshaha]] 29075 wikitext text/x-wiki #REDIRECT [[uur-lahaanshaha]] m5ba068ansc4skxf1p65yv3p03ewsti uur-lahaansho 0 10075 29076 2024-07-29T03:38:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uur-lahaansho''' === Tarjumaad === * {{en}}: pregnant 29076 wikitext text/x-wiki {{-so-}} == Magac == '''uur-lahaansho''' === Tarjumaad === * {{en}}: pregnant fx4fwmkmw03pl0633nywlo9zets4vsk rinji 0 10076 29077 2024-07-29T03:41:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rinji''' === Tarjumaad === * {{en}}: paint 29077 wikitext text/x-wiki {{-so-}} == Magac == '''rinji''' === Tarjumaad === * {{en}}: paint omi8eqrf4kj83a0jfqo7t5337j3hnae xilqaamid 0 10077 29116 29080 2024-07-29T20:02:28Z Girligaanshub 3150 29116 wikitext text/x-wiki {{-so-}} == Magac == '''xilqaamid''' === Tarjumaad === * {{en}}: adoption * {{en}}: enlistment, sign up, ===Synonyms=== *[[xilqaan]], [[xilqaamid]] ===Antonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] 8edzx62l68wf5jyje7iaef3tudw1jmv aadane 0 10078 29086 2024-07-29T04:56:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aadane''' === Tarjumaad === * {{en}}: human, man, person, 29086 wikitext text/x-wiki {{-so-}} == Magac == '''aadane''' === Tarjumaad === * {{en}}: human, man, person, e9f5ao3c63gu1tf4amq0utqc1bckegm sanqad 0 10079 29098 29097 2024-07-29T17:56:59Z Girligaanshub 3150 Girligaanshub moved page [[sanqada]] to [[sanqad]] 29097 wikitext text/x-wiki {{-so-}} == Magac == '''sanqad''' === Tarjumaad === * {{en}}: noise, * {{en}}: ruffle, ruffling, disconcert, harbinger, foreboding, 5f547g2u6oy2hvrlk03hk7fi8c35svv sanqada 0 10080 29099 2024-07-29T17:56:59Z Girligaanshub 3150 Girligaanshub moved page [[sanqada]] to [[sanqad]] 29099 wikitext text/x-wiki #REDIRECT [[sanqad]] dtn6gp51c9przdtzl4zqdhxpw7tt35w afxumo 0 10081 29335 29195 2024-08-01T15:02:43Z Girligaanshub 3150 29335 wikitext text/x-wiki {{-so-}} == Magac == '''afxumo''' === Tarjumaad === * {{en}}: vulgar, vulgarity, offensive, offensiveness, profane, profanity, obscene, obscenity, obnoxious, obnoxiousness, derogatory, impolite, pejorative, ===Synonyms=== *[[cagajugleyn]], [[hagardaamo]], [[daandaansi]], [[cariiqsad]], [[gaboodfal]], [[gardarro]], [[gabood-fal]], [[dulmi]], [[tacaddi]], [[xad-gudub]], [[xumeyn]], [[faraxumeyn]], [[dhibaatayn]], [[gardarreyn]], [[karbaash]], [[han-dumin]], [[afxumo]], [[gef]], [[maag]], [[yasitaan]], [[yasid]] 562rg522nhb8phxmo0rdqg0pyapbpc8 cuskasho 0 10082 29114 29106 2024-07-29T20:01:55Z Girligaanshub 3150 29114 wikitext text/x-wiki {{-so-}} == Magac == '''cuskasho'''' === Tarjumaad === * {{en}}: reliance, dependence, dependency, codependence, co-dependence, codependency, interdependence, interdependency, enmeshment, enmeshed, enmesh ===Synonyms=== *[[tawarut]], [[tiirsanaanta]], [[tiirsasho]], [[cusko]], [[halayn]], [[cuskasho]] ===Antonyms=== *[[xilqaamid]], [[xilqaan]] tlxiex8kc0a4kpuzo1h1sdggmur93k0 gef 0 10083 32713 32541 2024-11-30T15:22:46Z Girligaanshub 3150 32713 wikitext text/x-wiki {{-so-}} == Magac == '''gef''' === Tarjumaad === * {{en}}: blunder, fault, mistake ===Synonyms=== *[[gef]], [[naxli]], [[denbi]] 9m5o4s370lpxsd3cmc930neo8y9kh1r soojeedi 0 10084 30405 29407 2024-09-01T09:21:46Z Girligaanshub 3150 30405 wikitext text/x-wiki {{-so-}} == Magac == '''soojeedi''' === Tarjumaad === * {{en}}: propose, self-expression, express * {{en}}: turn towards ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[daahfur]], [[daahfurka]] 270r1alwkioau0ci1gak2nlxjbxwbgo soojeedin 0 10085 29289 29149 2024-08-01T00:34:46Z Girligaanshub 3150 29289 wikitext text/x-wiki {{-so-}} == Magac == '''soojeedin''' === Tarjumaad === * {{en}}: proposal, self-expression, displaying, publishing, expressing, express, expressiveness, exhibit, exhibition, presentation, demonstrate, demonstration, illustration, illustrate, display, dissemination, broadcast, articulate, articulation, formulate, formulation, ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[soojeedin]] 4znov0wiqp1hf9pix55i2auuf000hdy dhaadhicin 0 10086 29150 2024-07-30T00:07:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaadhicin''' === Tarjumaad === * {{en}}: persuasion 29150 wikitext text/x-wiki {{-so-}} == Magac == '''dhaadhicin''' === Tarjumaad === * {{en}}: persuasion kskgw4lxlf1p1flgqu7cl52t459bl1i macaamiil 0 10087 31719 31195 2024-10-21T02:58:25Z Girligaanshub 3150 31719 wikitext text/x-wiki {{-so-}} == Magac == '''macaamiil''' === Tarjumaad === * {{en}}: consumer, target market, customer, visitor, userbase, prospect, client, buyer, purchaser, patron, shopper, frequenter, ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] 6ctql53hacsnc9vf1z177tduo1tm1f0 macaamiilada beegsan 0 10088 29162 2024-07-30T04:04:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''macaamiilada beegsan''' === Tarjumaad === * {{en}}: consumers, target market, customers 29162 wikitext text/x-wiki {{-so-}} == Magac == '''macaamiilada beegsan''' === Tarjumaad === * {{en}}: consumers, target market, customers atciuvj7wxbj57p8qvnzcwtepdgk2mb jira 0 10089 29163 2024-07-30T04:12:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jira''' === Tarjumaad === * {{en}}: exist, existing, available 29163 wikitext text/x-wiki {{-so-}} == Magac == '''jira''' === Tarjumaad === * {{en}}: exist, existing, available 45nklv9wl11bp30p1luq7aiqzvj1ctt waaraya 0 10090 29166 2024-07-30T05:16:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waaraya''' === Tarjumaad === * {{en}}: sustainable, lasting, enduring, persisting, perpetual, constant, durable, 29166 wikitext text/x-wiki {{-so-}} == Magac == '''waaraya''' === Tarjumaad === * {{en}}: sustainable, lasting, enduring, persisting, perpetual, constant, durable, 15v3ayhlomivdsahw5hjfybnwjsh8ce dib-u-dhac 0 10091 29200 2024-07-30T23:23:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dib-u-dhac''' === Tarjumaad === * {{en}}: aimless, fruitless, pointless, waste of time, unconstructive, superfluous, useless, worthless, unproductive, ineffective, ===Synonyms=== *[[dib-u-dhac]], [[hal bacaad lagu lisay]] 29200 wikitext text/x-wiki {{-so-}} == Magac == '''dib-u-dhac''' === Tarjumaad === * {{en}}: aimless, fruitless, pointless, waste of time, unconstructive, superfluous, useless, worthless, unproductive, ineffective, ===Synonyms=== *[[dib-u-dhac]], [[hal bacaad lagu lisay]] 8un74m3ywvqscsvvzgso5st58sqpwz2 ilbiyood 0 10092 29202 2024-07-30T23:39:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilbiyood''' === Tarjumaad === * {{en}}: pool 29202 wikitext text/x-wiki {{-so-}} == Magac == '''ilbiyood''' === Tarjumaad === * {{en}}: pool 8xvvpd9no037o3ndnecw88bvih36ikx naaradiin 0 10093 29214 29213 2024-07-30T23:49:31Z Girligaanshub 3150 29214 wikitext text/x-wiki {{-so-}} == Magac == '''naaradiin''' === Tarjumaad === * {{en}}: spices, * {{en}}: spikenard, nard, nardin, muskroot, * {{en}}: amber colored qwl7pu7v3nrv4zr7u0pt481bbrxka8a kalamus 0 10094 29215 2024-07-30T23:50:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalamus''' === Tarjumaad === * {{en}}: sweet cane 29215 wikitext text/x-wiki {{-so-}} == Magac == '''kalamus''' === Tarjumaad === * {{en}}: sweet cane qztodpyv1e13qd6t2pz2p01m8ilpurg qorfe 0 10095 29216 2024-07-30T23:50:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qorfe''' === Tarjumaad === * {{en}}: cinnamon, 29216 wikitext text/x-wiki {{-so-}} == Magac == '''qorfe''' === Tarjumaad === * {{en}}: cinnamon, 37oyk8dakxe65dqqtqr96bpzktz74xe caraf 0 10096 29218 2024-07-30T23:55:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caraf''' === Tarjumaad === * {{en}}: fragrance, smell, 29218 wikitext text/x-wiki {{-so-}} == Magac == '''caraf''' === Tarjumaad === * {{en}}: fragrance, smell, hl5j68lygt0yv18qc79gf93d77crray laasim 0 10097 29219 2024-07-30T23:57:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laasim''' === Tarjumaad === * {{en}}: strand, 29219 wikitext text/x-wiki {{-so-}} == Magac == '''laasim''' === Tarjumaad === * {{en}}: strand, e0uaoi4i9yoiygamw61xi3uys3awkm7 gibin 0 10098 29221 2024-07-31T00:00:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gibin''' === Tarjumaad === * {{en}}: fawn 29221 wikitext text/x-wiki {{-so-}} == Magac == '''gibin''' === Tarjumaad === * {{en}}: fawn th9ywhgiao0cwhgwyq1tql14wzz1le6 ubaxshooshan 0 10099 29222 2024-07-31T00:01:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ubaxshooshan''' === Tarjumaad === * {{en}}: lily flower, 29222 wikitext text/x-wiki {{-so-}} == Magac == '''ubaxshooshan''' === Tarjumaad === * {{en}}: lily flower, 1bs0mgvcbz2q9rqyfk2j3ded2164pwc munaarad 0 10100 29223 2024-07-31T00:02:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''munaarad''' === Tarjumaad === * {{en}}: tower, 29223 wikitext text/x-wiki {{-so-}} == Magac == '''munaarad''' === Tarjumaad === * {{en}}: tower, mle9qdpwehbcpu8ibqqxohetdbap2o2 dun 0 10101 29224 2024-07-31T00:03:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dun''' === Tarjumaad === * {{en}}: ribbon 29224 wikitext text/x-wiki {{-so-}} == Magac == '''dun''' === Tarjumaad === * {{en}}: ribbon 91lwfmukgna6viiibmw3vpcwmljngtr qaansoley 0 10102 29226 2024-07-31T01:16:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaansoley''' === Tarjumaad === * {{en}}: archer 29226 wikitext text/x-wiki {{-so-}} == Magac == '''qaansoley''' === Tarjumaad === * {{en}}: archer 23iypo7jduoowvnv480drh82xiq1rbb unkamo 0 10103 29230 2024-07-31T01:47:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''unkamo''' === Tarjumaad === * {{en}}: lay eggs, lay egg, breed, brood, incubate, * {{en}}: hatch, devise, conceive, contrive, concoct, brew, invent, plan, design, formulate, think up, make up, dream up, trump up, put together 29230 wikitext text/x-wiki {{-so-}} == Magac == '''unkamo''' === Tarjumaad === * {{en}}: lay eggs, lay egg, breed, brood, incubate, * {{en}}: hatch, devise, conceive, contrive, concoct, brew, invent, plan, design, formulate, think up, make up, dream up, trump up, put together 4arrh5u6yf7rw37iwlrpwc9mffo5u42 gacanta-kale 0 10104 29231 2024-07-31T02:26:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacanta-kale''' === Tarjumaad === * {{en}}: alternative, alternatively, substitute, alternate, alternately, ===Synonyms=== *[[gacanta-kale]], [[beddel]], [[beddelka]] 29231 wikitext text/x-wiki {{-so-}} == Magac == '''gacanta-kale''' === Tarjumaad === * {{en}}: alternative, alternatively, substitute, alternate, alternately, ===Synonyms=== *[[gacanta-kale]], [[beddel]], [[beddelka]] ex4tqfp88mnm7qbt30g6j8eh22pg2eg beddel 0 10105 30442 29232 2024-09-02T19:54:13Z Girligaanshub 3150 30442 wikitext text/x-wiki {{-so-}} == Magac == '''beddel''' === Tarjumaad === * {{en}}: alternative, change, substitute, alternate, alternately, swap, exchange, switch, alter ===Synonyms=== *[[gacanta-kale]], [[beddel]], [[beddelka]] lkikj8jreaw4lxje21q7qfukhbpgrvt beddelka 0 10106 29233 2024-07-31T02:28:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beddelka''' === Tarjumaad === * {{en}}: alternative, change, substitute, alternate, alternately, swap, exchange, switch, ===Synonyms=== *[[gacanta-kale]], [[beddel]], [[beddelka]] 29233 wikitext text/x-wiki {{-so-}} == Magac == '''beddelka''' === Tarjumaad === * {{en}}: alternative, change, substitute, alternate, alternately, swap, exchange, switch, ===Synonyms=== *[[gacanta-kale]], [[beddel]], [[beddelka]] m22ib4wqagbpfhy05sqn3ehpd8ajfr1 saan 0 10107 29589 29424 2024-08-06T15:26:21Z Girligaanshub 3150 29589 wikitext text/x-wiki {{-so-}} == Magac == '''saan''' === Tarjumaad === * {{en}}: hide, fur ===Synonyms=== *[[saan]], [[sar]], [[harag]], [[maqaar]] t1qmch46em2ow7vgs7iehto189wmccm saleel 0 10108 29275 29248 2024-07-31T07:46:44Z Girligaanshub 3150 29275 wikitext text/x-wiki {{-so-}} == Magac == '''saleel''' === Tarjumaad === * {{en}}: leisure ===Synonyms=== *[[majaajilo]], [[tamashlayn]], [[saleel]], [[maadlow]], [[hiwaayad]] j7hmsoscxk5hydn131v2cy46dog1g3f fudaydnimo 0 10109 29251 2024-07-31T05:16:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fudaydnimo''' === Tarjumaad === * {{en}}: compulsivity, compulsiveness, impulsivity, impulsiveness 29251 wikitext text/x-wiki {{-so-}} == Magac == '''fudaydnimo''' === Tarjumaad === * {{en}}: compulsivity, compulsiveness, impulsivity, impulsiveness okbsuorkncof47dbbu3dnm89wf2w94l fudayd 0 10110 32115 29252 2024-10-28T04:43:06Z Girligaanshub 3150 32115 wikitext text/x-wiki {{-so-}} == Magac == '''fudayd''' === Tarjumaad === * {{en}}: compulsive, impulsive ===Synonyms=== *[[dirqi]], [[fudayd]] mgtpczm2kv5j41gn0gy8v475rfmtv7t dhaxlin 0 10111 29256 29253 2024-07-31T05:56:01Z Girligaanshub 3150 29256 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxlin''' === Tarjumaad === * {{en}}: inherited, inheritance, inherit, hereditary, successorship, successor r5o7wtul69as1pjl491kmw19c46lau1 dhaxlid 0 10112 29257 29254 2024-07-31T05:59:57Z Girligaanshub 3150 29257 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxlid''' === Tarjumaad === * {{en}}: inherited, hereditary, successorship, successor cjk9gxq3kv5ku2a51po5kbeonru6i6d dhaxli 0 10113 29255 2024-07-31T05:54:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaxli''' === Tarjumaad === * {{en}}: inherit 29255 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxli''' === Tarjumaad === * {{en}}: inherit bhhfb5tmf0daack91wv5wju45pbmku7 bandhigo 0 10114 30406 30385 2024-09-01T09:21:57Z Girligaanshub 3150 30406 wikitext text/x-wiki {{-so-}} == Magac == '''bandhigo''' === Tarjumaad === * {{en}}: display, publish, propose, express, exhibit, * {{en}}: release, exhibit, exhibition ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[daahfur]], [[daahfurka]] ggnfrx5uiai8w0fs9fo89qp9jx4cqtl soojeedis 0 10115 30407 29409 2024-09-01T09:22:33Z Girligaanshub 3150 30407 wikitext text/x-wiki {{-so-}} == Magac == '''soojeedis''' === Tarjumaad === * {{en}}: propose, self-expression, displaying, publishing, expressing, express, expressiveness, exhibit, exhibition ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[soojeediyo]], [[daahfur]], [[daahfurka]] cewqyt6bjvakmqn72voteq17objrvxs jagada 0 10116 31582 29459 2024-10-16T04:05:25Z Girligaanshub 3150 31582 wikitext text/x-wiki {{-so-}} == Magac == '''jagada''' === Tarjumaad === * {{en}}: status, reputation, rank, position ===Synonyms=== *[[maqaam]], [[jagada]], [[mansab]], [[sumcad]] tksgl1pc3lpbka0k9b0ojnvb2rjppvt taxanaha boqran 0 10117 29271 2024-07-31T07:20:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxanaha boqran''' === Tarjumaad === * {{en}}: dynasty 29271 wikitext text/x-wiki {{-so-}} == Magac == '''taxanaha boqran''' === Tarjumaad === * {{en}}: dynasty 196am8yaouu6i8c3f6zte8yo338czjq taxanaha boqranka 0 10118 29272 2024-07-31T07:21:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taxanaha boqranka''' === Tarjumaad === * {{en}}: dynasty 29272 wikitext text/x-wiki {{-so-}} == Magac == '''taxanaha boqranka''' === Tarjumaad === * {{en}}: dynasty 4jjmz6uiwoadxiivkh5ypjxigod3lvq mansab 0 10119 31655 31580 2024-10-19T20:42:55Z Girligaanshub 3150 31655 wikitext text/x-wiki {{-so-}} == Magac == '''mansab''' === Tarjumaad === * {{en}}: honorific, honorifics, honorary title, courtesy, emeritus ===Synonyms=== *[[maqaam]], [[jagada]], [[mansab]], [[sumcad]], [[cinwaan]] 3nyknng2c1yww89eh1khh3mbgyg4z1b macaamiilgur 0 10120 29285 2024-07-31T08:46:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''macaamiilgur''' === Tarjumaad === * {{en}}: recruitment, recruit, 29285 wikitext text/x-wiki {{-so-}} == Magac == '''macaamiilgur''' === Tarjumaad === * {{en}}: recruitment, recruit, 7nldidfiaahz3g7ang0pscnsx7jldn1 macaamiil-gur 0 10121 29286 2024-07-31T08:46:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''macaamiil-gur''' === Tarjumaad === * {{en}}: recruitment, recruit 29286 wikitext text/x-wiki {{-so-}} == Magac == '''macaamiil-gur''' === Tarjumaad === * {{en}}: recruitment, recruit 7xajom9a9shp3m167rji0tmvzc9r6yt calanwalleyaha 0 10122 29287 2024-07-31T09:03:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''calanwalleyaha''' === Tarjumaad === * {{en}}: empire 29287 wikitext text/x-wiki {{-so-}} == Magac == '''calanwalleyaha''' === Tarjumaad === * {{en}}: empire s56wzbez19co7fz218e5carqppqahu9 dhexdhexaad 0 10123 32826 30640 2024-12-02T11:01:12Z Girligaanshub 3150 32826 wikitext text/x-wiki {{-so-}} == Magac == '''dhexdhexaad''' === Tarjumaad === * {{en}}: intermediate, average, middle, median, middle, half, moderate, neutral, ===Synonyms=== *[[badhxan]], [[dhexdhexaad]], [[jacbar]], [[bartan]], [[bartameed]], [[mubaax]], [[xaqaani]] 2xv4x7r8og25xvwxc6jdlhqyaq28zhv qunyar-socod 0 10124 32820 30887 2024-12-02T10:59:44Z Girligaanshub 3150 Bog loo bedeley [[qunyarsocod]] 32820 wikitext text/x-wiki #redirect [[qunyarsocod]] p19az4uunxuwkzs78diayhryk83ke7j dib-u-eegis 0 10125 30882 29301 2024-09-23T03:34:48Z Girligaanshub 3150 30882 wikitext text/x-wiki {{-so-}} == Magac == '''dib-u-eegis''' === Tarjumaad === * {{en}}: retrospect, review 0948lze14k3sze36ou2wfg2i7x6akk3 fudud 0 10126 29304 29302 2024-08-01T06:50:04Z Girligaanshub 3150 29304 wikitext text/x-wiki {{-so-}} == Magac == '''fudud''' === Tarjumaad === * {{en}}: simple, easy, trivial ===Synonyms=== *[[yaryar]], [[fudud]], [[fudnaan]] q8y1uvpmudw61texvlbky2rn9t8cy1w yaryar 0 10127 29306 29303 2024-08-01T06:50:54Z Girligaanshub 3150 29306 wikitext text/x-wiki {{-so-}} == Magac == '''yaryar''' === Tarjumaad === * {{en}}: easy, trivial, minor, negligible, inconsequential, trifling, petty ===Synonyms=== *[[yaryar]], [[fudud]], [[fudnaan]] fn8rn51eqnmw3u0lwnab37gajwhlbqz fudnaan 0 10128 29305 2024-08-01T06:50:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fudnaan''' === Tarjumaad === * {{en}}: simplicity, eainess, triviality ===Synonyms=== *[[yaryar]], [[fudud]], [[fudnaan]] 29305 wikitext text/x-wiki {{-so-}} == Magac == '''fudnaan''' === Tarjumaad === * {{en}}: simplicity, eainess, triviality ===Synonyms=== *[[yaryar]], [[fudud]], [[fudnaan]] m9yheyuy9bu196cssduqywzeyufx4rn hortag 0 10129 29313 2024-08-01T09:39:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hortag''' === Tarjumaad === * {{en}}: counter, counteract, retort, contradict, rebut, repel, repulse, oppose 29313 wikitext text/x-wiki {{-so-}} == Magac == '''hortag''' === Tarjumaad === * {{en}}: counter, counteract, retort, contradict, rebut, repel, repulse, oppose btpk5ul0u9bkd8i0hnare9p5pochn29 xishood 0 10130 29342 2024-08-01T17:58:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xishood''' === Tarjumaad === * {{en}}: shame, * {{en}}: have shame 29342 wikitext text/x-wiki {{-so-}} == Magac == '''xishood''' === Tarjumaad === * {{en}}: shame, * {{en}}: have shame qw05iia56mjmzykl3is6jb79f4vdfwi kaladanbayn 0 10131 32521 32471 2024-11-18T11:02:27Z Girligaanshub 3150 32521 wikitext text/x-wiki {{-so-}} == Magac == '''kaladanbayn''' === Tarjumaad === * {{en}}: momentum, constructive, constructiveness, ===Synonyms=== *[[dhiirigelin]], [[shidaal]], [[kaladanbayn]], [[dardargeli]] sa8p1v7p6357cm1kl7n263dc8ocbsy0 horumar 0 10132 29346 2024-08-01T23:40:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''horumar''' === Tarjumaad === * {{en}}: development, upgrade, advancement, improvement, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[horumar]], [[badhaadh]] 29346 wikitext text/x-wiki {{-so-}} == Magac == '''horumar''' === Tarjumaad === * {{en}}: development, upgrade, advancement, improvement, ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[horumar]], [[badhaadh]] 4lj9jykuvknmyn89x2nzjkinxmdlaz6 halyeey 0 10133 31205 31174 2024-10-04T14:27:02Z Girligaanshub 3150 31205 wikitext text/x-wiki {{-so-}} == Magac == '''halyeey''' === Tarjumaad === * {{en}}: hero, legend, icon, idol, ===Synonyms=== *[[halyeey]], [[qalas]], [[arbe]], [[gaan]], [[gaani]], [[labo-xiniinyo-leh]], [[geesi]], [[geydhaale]] lb10p6szaze39vxg8w5ihmgp9ypscpw koonto socota 0 10134 29355 2024-08-02T03:51:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koonto socota''' === Tarjumaad === * {{en}}: current account ===Synonyms=== *[[xisaab socota]], [[koonto socota]] 29355 wikitext text/x-wiki {{-so-}} == Magac == '''koonto socota''' === Tarjumaad === * {{en}}: current account ===Synonyms=== *[[xisaab socota]], [[koonto socota]] nglikwslvblv8fgd79figvzx4kqxcwl koonto shakhsi 0 10135 29472 29356 2024-08-04T15:03:40Z Girligaanshub 3150 29472 wikitext text/x-wiki {{-so-}} == Magac == '''koonto shakhsi''' === Tarjumaad === * {{en}}: personal account, personal bank account ===Synonyms=== *[[xisaab socota]], [[koonto socota]], [[koonto shakhsi]] cnjk2imxdgudeko1f3t47rf1iwsjvv3 xaaladaha 0 10136 29359 2024-08-02T08:00:47Z Girligaanshub 3150 Girligaanshub moved page [[xaaladaha]] to [[xaalad]] 29359 wikitext text/x-wiki #REDIRECT [[xaalad]] bkdzrmmood4x79azh1b1kq89sxfbs15 duruuf 0 10137 32585 29934 2024-11-24T11:09:59Z Girligaanshub 3150 32585 wikitext text/x-wiki {{-so-}} == Magac == '''duruuf''' === Tarjumaad === * {{en}}: circumstance, circumstances, situation, situations, scenario, condition, instance, context, * {{en}}: impetus ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], [[cillad]] g2ychvgwyyfrdgsa1m7qruexp1p64q7 sakoweyn 0 10138 29382 29365 2024-08-02T13:04:01Z Girligaanshub 3150 Bog loo bedeley [[sakow]] 29382 wikitext text/x-wiki #redirect [[sakow]] j0wv9xb7gc7qiam7a48f2fe8467zhuk buul 0 10139 29379 2024-08-02T12:45:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buul''' === Tarjumaad === * {{en}}: nest 29379 wikitext text/x-wiki {{-so-}} == Magac == '''buul''' === Tarjumaad === * {{en}}: nest i81nrak7y8y3ak5o4u9mo36jhjioq7e lakab 0 10140 29380 2024-08-02T12:51:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lakab''' === Tarjumaad === * {{en}}: layer 29380 wikitext text/x-wiki {{-so-}} == Magac == '''lakab''' === Tarjumaad === * {{en}}: layer re7qhe0mpu4dzvwgmq255lmk4a8wwut salinta 0 10141 29385 2024-08-02T16:30:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''salinta''' === Tarjumaad === * {{en}}: frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] 29385 wikitext text/x-wiki {{-so-}} == Magac == '''salinta''' === Tarjumaad === * {{en}}: frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] 919qir8d8fxa9mvd2dk8sean86yymg2 furimaha salinta 0 10142 29386 2024-08-02T16:31:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''furimaha salinta''' === Tarjumaad === * {{en}}: frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] 29386 wikitext text/x-wiki {{-so-}} == Magac == '''furimaha salinta''' === Tarjumaad === * {{en}}: frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] piuujb6ogb3p23u0k8fd1u4mw677f8v jiida hore 0 10143 29387 2024-08-02T16:31:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jiida hore''' === Tarjumaad === * {{en}}: military frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] 29387 wikitext text/x-wiki {{-so-}} == Magac == '''jiida hore''' === Tarjumaad === * {{en}}: military frontline ===Synonyms=== *[[furimaha salinta]], [[salinta]], [[jiida hore]] r7crrcc8hkwrcxhsk4te7mjq1um7y2g ba'an 0 10144 32683 32672 2024-11-30T09:01:02Z Girligaanshub 3150 32683 wikitext text/x-wiki {{-so-}} == Magac == '''ba'an''' === Tarjumaad === * {{en}}: extreme, acute, energetic, active, proactive, severe, critical, intense * {{en}}: calamitous, serious ===Synonyms=== *[[macno leh]], [[jiddan]], [[bareeran]], [[badheedh]], [[ciirsan ]], [[daruuri]], [[ba'an]] ===Synonyms=== *[[dhiiranaan]], [[dhiiran]], [[dhiiranimo]], [[goodi]], [[ba'an]] ===Synonyms=== *[[weyn]], [[saa'id]], [[ba'an]] s2jwkxzj6xpmlrdtqph30x4b4ker700 madasha 0 10145 31084 29396 2024-10-04T07:22:22Z Girligaanshub 3150 31084 wikitext text/x-wiki {{-so-}} == Magac == '''madasha''' === Tarjumaad === * {{en}}: forum ===Synonyms=== *[[carwo]], [[dhacdo]], [[shir]], [[munaasabad]], [[mashaariic]], [[mashaariicda]], [[mashruuc]], [[ifafaalo]], [[ifafaale]], [[booq]], [[booqasho]], [[kulan]], [[madasha]] 2qhbugq7x7my7rngvnoj1pjdhi0yw1w gaabi 0 10146 31725 30789 2024-10-21T03:40:19Z Girligaanshub 3150 31725 wikitext text/x-wiki {{-so-}} == Magac == '''gaabi''' === Tarjumaad === * {{en}}: degrade, diminish, downgrade, lessen, reduce, weaken, demote, lower, decline, stagnate, stagnation, shrink, undermine, repress, decrease, diminish, discourage ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] 9zaka2oi2vjw5wtt7jeito19lj7goys habayn 0 10147 29546 29403 2024-08-05T08:20:45Z Girligaanshub 3150 29546 wikitext text/x-wiki {{-so-}} == Magac == '''habayn''' === Tarjumaad === * {{en}}: arrangement, configuration, composition, style, standardization, restructuring, assignment, modification, amendment ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] axob6ux4vpi0n462t3crz2zg9ycx0aq habay 0 10148 29428 29426 2024-08-03T19:04:37Z Girligaanshub 3150 29428 wikitext text/x-wiki {{-so-}} == Magac == '''habayn''' === Tarjumaad === * {{en}}: arrange, configure, compose, reform, style, standardize, restructure, assign, modify, amend ===Synonyms=== *[[habayn]], [[habay]], [[turxaan-bixi]], [[qoondeey]], [[taxaabi]], 45gezrfdpiotzp458bo9zvha3edqcf5 soojeediyo 0 10149 30409 30408 2024-09-01T09:23:14Z Girligaanshub 3150 30409 wikitext text/x-wiki {{-so-}} == Magac == '''soojeediyo''' === Tarjumaad === * {{en}}: expressing ===Synonyms=== *[[bandhig]], [[soojeedi]], [[bandhigo]], [[soojeedis]], [[soojeediyo]], [[daahfur]], [[daahfurka]] 3mq8twrldacmm8y3j16in6chvhr5sxs beero 0 10150 29412 29411 2024-08-03T17:00:10Z Girligaanshub 3150 29412 wikitext text/x-wiki {{-so-}} == Magac == '''beero''' === Tarjumaad === * {{en}}: implant, imbue, impress, ingrain, instill, inculcate ===Synonyms=== *[[beero]], [[karaarid]], [[gundhig]], [[naq]], o19q81mqir23t7yuv0byaab5e7796bw janjeer dhalanteed 0 10151 29448 29446 2024-08-04T01:08:06Z Girligaanshub 3150 29448 wikitext text/x-wiki {{-so-}} == Magac == '''janjeerka dhalanteed''' === Tarjumaad === * {{en}}: instinct ===Synonyms=== *[[dhalanteed]], [[janjeer dhalanteed]], [[fitrah]], [[janjeer]], [[dabeecad]] oh4i682f8v8zmhaa0qg6muevcopdo4z qaraabsi 0 10152 29418 2024-08-03T17:43:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaraabsi''' === Tarjumaad === * {{en}}: gather, gathering 29418 wikitext text/x-wiki {{-so-}} == Magac == '''qaraabsi''' === Tarjumaad === * {{en}}: gather, gathering 5ne4ark10x49wdsjmyn5h30yoos9e5i qadhaabsi 0 10153 29419 2024-08-03T17:44:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qadaabsi''' === Tarjumaad === * {{en}}: gather, gathering 29419 wikitext text/x-wiki {{-so-}} == Magac == '''qadaabsi''' === Tarjumaad === * {{en}}: gather, gathering 2ax5c3bcra3as2phdtd3rz9u0u0xvxw saafi 0 10154 29420 2024-08-03T17:59:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saafi''' === Tarjumaad === * {{en}}: fresh, pure 29420 wikitext text/x-wiki {{-so-}} == Magac == '''saafi''' === Tarjumaad === * {{en}}: fresh, pure 4d0ynlzfqv5fsv4tlcundjkq2bk7pbn barafaysan 0 10155 29421 2024-08-03T18:01:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barafaysan''' === Tarjumaad === * {{en}}: frozen 29421 wikitext text/x-wiki {{-so-}} == Magac == '''barafaysan''' === Tarjumaad === * {{en}}: frozen 20s08gocno2ugcp8a80wghdd4wfuad7 barafeed 0 10156 29422 2024-08-03T18:01:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''barafeed''' === Tarjumaad === * {{en}}: frozen 29422 wikitext text/x-wiki {{-so-}} == Magac == '''barafeed''' === Tarjumaad === * {{en}}: frozen 3c9kk6i276r84srlq517eri9tyz6ry4 taxaabi 0 10157 29430 29425 2024-08-03T19:05:09Z Girligaanshub 3150 29430 wikitext text/x-wiki {{-so-}} == Magac == '''taxaabi''' === Tarjumaad === * {{en}}: rein, * {{en}}: to lead a horse by the rein, ===Synonyms=== *[[habayn]], [[habay]], [[turxaan-bixi]], [[qoondeey]], [[taxaabi]], mrvry8h1de6kn0749ovqftziumf4c2k macbad 0 10158 31092 29432 2024-10-04T11:01:43Z Girligaanshub 3150 31092 wikitext text/x-wiki {{-so-}} == Magac == '''macbad''' === Tarjumaad === * {{en}}: temple ===Synonyms=== *[[macbad]], [[mawlac]], [[xeero]] q0f28h2k5e079ka69b2ttl0ii6sht2n faaruq 0 10159 29433 2024-08-03T21:30:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faaruq''' === Tarjumaad === * {{en}}: vacant, vacancy, empty, vacuum, blank, void, barren, gap, nothing, ===Synonyms=== *[[faaruq]], [[maqan]] 29433 wikitext text/x-wiki {{-so-}} == Magac == '''faaruq''' === Tarjumaad === * {{en}}: vacant, vacancy, empty, vacuum, blank, void, barren, gap, nothing, ===Synonyms=== *[[faaruq]], [[maqan]] al7m4zyvzvm0ej0jrj6k3jiz332qiz6 gooni-goosad 0 10160 29437 2024-08-03T23:22:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gooni-goosad''' === Tarjumaad === * {{en}}: secede, secessionist, secessionism 29437 wikitext text/x-wiki {{-so-}} == Magac == '''gooni-goosad''' === Tarjumaad === * {{en}}: secede, secessionist, secessionism m9h0hyv8eb9b8zmv6mhz20c60y4gq5j janjeerka dhalanteed 0 10161 29447 2024-08-04T01:07:49Z Girligaanshub 3150 Girligaanshub moved page [[janjeerka dhalanteed]] to [[janjeer dhalanteed]] 29447 wikitext text/x-wiki #REDIRECT [[janjeer dhalanteed]] oq7yehywoomazalruji9qs4tvogxjbs ildaran 0 10162 29494 29462 2024-08-04T20:49:23Z Girligaanshub 3150 29494 wikitext text/x-wiki {{-so-}} == Magac == '''ildaran''' === Tarjumaad === * {{en}}: suffering, suffer ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]] d5xqu859o4ikgdv8uog8psgvcqp2kcu ildarnaan 0 10163 29493 29464 2024-08-04T20:49:12Z Girligaanshub 3150 29493 wikitext text/x-wiki {{-so-}} == Magac == '''ildarnaan''' === Tarjumaad === * {{en}}: suffering, suffer ===Synonyms=== *[[ildaran]], [[ildarnaan]], [[saxal]], [[rafaad]], [[rafasho]] ntar507m7pp9ben7jgxyic3e6fgtbgh hormuud 0 10164 31155 29485 2024-10-04T13:06:24Z Girligaanshub 3150 31155 wikitext text/x-wiki {{-so-}} == Magac == '''horseed''' === Tarjumaad === * {{en}}: catalyst, pioneering, facilitate, develop, spearhead, pioneer ===Synonyms=== *[[horseed]], [[hormuud]], [[halabuure]], [[ifbixiye]], [[guulwade]] 3do5g0bo7336t9xwj2pof83oqxnyghl tarbiyeeyo 0 10165 30133 29483 2024-08-23T22:24:39Z Girligaanshub 3150 30133 wikitext text/x-wiki {{-so-}} == Magac == '''tarbiyeeyo''' === Tarjumaad === * {{en}}: raise young, rear young, ===Synonyms=== *[[barbaaro]], [[tarbiyeeyo]], [[kobci]] avb476np3phk7umqwpnkh49uc92vjer korriin 0 10166 29487 2024-08-04T20:15:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''korriin''' === Tarjumaad === * {{en}}: spectrum, continuum, range 29487 wikitext text/x-wiki {{-so-}} == Magac == '''korriin''' === Tarjumaad === * {{en}}: spectrum, continuum, range 2ju1pmgs9fydfalhkh8w3kkojvfc19u gunnimo 0 10167 29495 2024-08-04T21:33:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gunnimo''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, subordinate, minor, feeble, insufficient, substandard, unworthy, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] 29495 wikitext text/x-wiki {{-so-}} == Magac == '''gunnimo''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, subordinate, minor, feeble, insufficient, substandard, unworthy, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] 3f3coej53b2ey5k7vlb9skiwfrhewx3 liita 0 10168 29496 2024-08-04T21:34:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liita''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, worse, feeble, bad, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] 29496 wikitext text/x-wiki {{-so-}} == Magac == '''liita''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, worse, feeble, bad, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] gxfjto450ljfa1uxn7any2mch270tis liidata 0 10169 29497 2024-08-04T21:34:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''liidata''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, worse, feeble, bad, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] 29497 wikitext text/x-wiki {{-so-}} == Magac == '''liidata''' === Tarjumaad === * {{en}}: lowly, lowliness, low, inferior, inferiority, worse, feeble, bad, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] k1py9exjg3jfpduq5zsoq3lq9x8a85t hooseeya 0 10170 29498 2024-08-04T21:37:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hooseeya''' === Tarjumaad === * {{en}}: lowly, low, inferior, inferiority, under, down, beneath, bottom, below, lower, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] 29498 wikitext text/x-wiki {{-so-}} == Magac == '''hooseeya''' === Tarjumaad === * {{en}}: lowly, low, inferior, inferiority, under, down, beneath, bottom, below, lower, ===Synonyms=== *[[gunnimo]], [[liita]], [[liidata]], [[hooseeya]] qobl8o19i9ibwj3p127x0kg3q553r11 isnidaamis 0 10171 29499 2024-08-04T22:03:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isnidaamis''' === Tarjumaad === * {{en}}: scabies 29499 wikitext text/x-wiki {{-so-}} == Magac == '''isnidaamis''' === Tarjumaad === * {{en}}: scabies 9f2kxzzaii9oo60jkcgete5g0mpq0oz qallal 0 10172 29500 2024-08-04T22:06:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qallal''' === Tarjumaad === * {{en}}: epilepsy 29500 wikitext text/x-wiki {{-so-}} == Magac == '''qallal''' === Tarjumaad === * {{en}}: epilepsy qvszbyjzsrig1p35xgbafk24l95h6r5 hargab 0 10173 29501 2024-08-04T22:07:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hargab''' === Tarjumaad === * {{en}}: influenza, flu 29501 wikitext text/x-wiki {{-so-}} == Magac == '''hargab''' === Tarjumaad === * {{en}}: influenza, flu jex3rzf3dot2jxksx2p0zn1gv3gs0d7 dhabannimo 0 10174 29502 2024-08-04T22:31:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabannimo''' === Tarjumaad === * {{en}}: symmetric, symmetrical, symmetricity, equidistant, * {{en}}: even, even number, evenness, regular, proportional, proportionate, proportion, constant, stable, ===Synonyms=== *[[barbar]], [[berber]], [[dhaban]], [[dhabannimo]] 29502 wikitext text/x-wiki {{-so-}} == Magac == '''dhabannimo''' === Tarjumaad === * {{en}}: symmetric, symmetrical, symmetricity, equidistant, * {{en}}: even, even number, evenness, regular, proportional, proportionate, proportion, constant, stable, ===Synonyms=== *[[barbar]], [[berber]], [[dhaban]], [[dhabannimo]] fk57c2u6mkdwfopdqpu7z1i90ienqat bacaraar 0 10175 29506 29505 2024-08-04T22:55:12Z Girligaanshub 3150 29506 wikitext text/x-wiki {{-so-}} == Magac == '''bacaraar''' === Tarjumaad === * {{en}}: nose tip, snout tip, lobule, apex, vertex, pinnacle, summit, zenith, summit, ro8937s6ll9zuxue3wc33n8bbr0ezrz caad 0 10176 29607 29509 2024-08-06T23:45:07Z Girligaanshub 3150 29607 wikitext text/x-wiki {{-so-}} == Magac == '''caad''' === Tarjumaad === * {{en}}: cataract * {{en}}: gland, nodule, tubercle, * {{en}}: baculum * {{en}}: bulb, knot, bump, bulge, lump, * {{en}}: glans, phallus, 1ww7nr2lk9l9qrsjkpdnvp343v5p5ns dider 0 10177 29511 2024-08-05T00:41:50Z Girligaanshub 3150 Girligaanshub moved page [[dider]] to [[dhidar]] 29511 wikitext text/x-wiki #REDIRECT [[dhidar]] mi76j2xrrsg9ucxqtb2n7ph9qxmcsuw rimi 0 10178 30911 29955 2024-09-24T17:11:21Z Girligaanshub 3150 30911 wikitext text/x-wiki {{-so-}} == Magac == '''rimi''' === Tarjumaad === * {{en}}: to impregnate an animal * {{en}}: copulate, impregnate, inseminate, breed, mate, copulation, * {{en}}: designate, baptize, dub, name, label, entitle, assign a name, o8fin2gxh7n8j3btk92xvfatp8q0v2r baarqab 0 10179 32215 31807 2024-11-02T02:26:07Z Girligaanshub 3150 32215 wikitext text/x-wiki {{-so-}} == Magac == '''baarqab''' === Tarjumaad === * {{en}}: ('''baarqabo''') domineer, gloat, glee, brag, outshine, outpace, one-up, outdo, one-upmanship, dominate, outclass, beat, dominate, domination * {{en}}: hair ([[baar]]) remaining on the hump of a camel (due to not carrying loads) * {{en}}: honorific for young men: i.e. [[laandheere]] * {{en}}: male breeding camel, male breeding stud camel, male breeder ===Synonyms=== *[[xoogsheego]], [[baano]], [[loolamo]], [[baarqab]], [[xoogroon]], [[baanis]] ===Synonyms=== *[[laandheere]], [[askarmaroodi]], [[haldoor]], [[baarqab]] ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] a80sdbrjkdog0o5fxpig796terk70yw sumurud 0 10180 29517 2024-08-05T01:47:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sumurud''' === Tarjumaad === * {{en}}: gemstone, emerald 29517 wikitext text/x-wiki {{-so-}} == Magac == '''sumurud''' === Tarjumaad === * {{en}}: gemstone, emerald 20mtper8lwahc1hel5p0fpqpelabd62 bahalhiglo 0 10181 29519 2024-08-05T02:30:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bahalhiglo''' === Tarjumaad === * {{en}}: bat-eared fox 29519 wikitext text/x-wiki {{-so-}} == Magac == '''bahalhiglo''' === Tarjumaad === * {{en}}: bat-eared fox ouncwof9nwrtmt3uzfqjunwsdc630s0 naasley 0 10182 29523 2024-08-05T03:06:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naasley''' === Tarjumaad === * {{en}}: mammal 29523 wikitext text/x-wiki {{-so-}} == Magac == '''naasley''' === Tarjumaad === * {{en}}: mammal ipvemyctb4t9xnnm170a6zq98ov71fa dhunqoray 0 10183 29524 2024-08-05T03:37:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhunqoray''' === Tarjumaad === * {{en}}: genet 29524 wikitext text/x-wiki {{-so-}} == Magac == '''dhunqoray''' === Tarjumaad === * {{en}}: genet pp29olbaob75m9pr0206qd7jo7hkc14 cunto daruuri 0 10184 29526 2024-08-05T03:48:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cunto daruuri''' === Tarjumaad === * {{en}}: staple food, mainstream food, typical food, 29526 wikitext text/x-wiki {{-so-}} == Magac == '''cunto daruuri''' === Tarjumaad === * {{en}}: staple food, mainstream food, typical food, 3pc60yb430sg1ahtunhrpsvpffmrihi talaal dhalanteed 0 10185 29531 2024-08-05T05:57:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''talaal dhalanteed''' === Tarjumaad === * {{en}}: immune, immunity 29531 wikitext text/x-wiki {{-so-}} == Magac == '''talaal dhalanteed''' === Tarjumaad === * {{en}}: immune, immunity hkrnm1t74h0tjcrm6mxavzz9009qrhr hortabi 0 10186 30910 29536 2024-09-24T17:09:37Z Girligaanshub 3150 30910 wikitext text/x-wiki {{-so-}} == Magac == '''hortabin''' === Tarjumaad === * {{en}}: prioritization, emphasize, prioritize, accentuate, assert, intensify, * {{en}}: spearhead, develop, promote, ===Synonyms=== *[[ahmiyad]], [[badbadin]], [[hortabin]], [[nuuxnuuxi]] 8mjpc6nv8kyuqxu3kzkttve33okkwxj joogto 0 10187 32478 32477 2024-11-16T02:40:38Z Girligaanshub 3150 32478 wikitext text/x-wiki {{-so-}} == Magac == '''joogto''' === Tarjumaad === * {{en}}: continuous, continuing, persisting, persist, continual, constant, incessant, ongoing, sustain, sustained, permanent, relentless, endless, perpetual, * {{en}}: routine, ordinary, habitual, * {{en}}: static ===Synonyms=== *[[waar]], [[filneysi]], [[joogto]], [[abidnimo]], [[daa'im]], [[darandoorri]] 83mjaj7gsqo3pddllfdk0z2gcv8y889 qabanqaabid 0 10188 29548 2024-08-05T08:22:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabanqaabi''' === Tarjumaad === * {{en}}: plan, standard, format, template, layout, framework, parameter, preparation, ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] 29548 wikitext text/x-wiki {{-so-}} == Magac == '''qabanqaabi''' === Tarjumaad === * {{en}}: plan, standard, format, template, layout, framework, parameter, preparation, ===Synonyms=== *[[halbeeg]], [[turxaan-bixin]], [[habayn]], [[jaangoyn]], [[qabanqaabid]], [[sees]] nxhgg7i67k0pvi7p0st8v6vgfruno1a saangur seed-dheer 0 10189 29550 2024-08-05T15:08:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saangur seed-dheer''' === Tarjumaad === * {{en}}: stoat 29550 wikitext text/x-wiki {{-so-}} == Magac == '''saangur seed-dheer''' === Tarjumaad === * {{en}}: stoat s0zl4yrpq1s688ggjj61obz3u4sjt43 saangur seed-gaaban 0 10190 29551 2024-08-05T15:08:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saangur seed-gaaban''' === Tarjumaad === * {{en}}: weasel 29551 wikitext text/x-wiki {{-so-}} == Magac == '''saangur seed-gaaban''' === Tarjumaad === * {{en}}: weasel sn6l4q09mqwrf0q4phmyilx7t7thvd4 seed-bado 0 10191 29554 2024-08-05T15:42:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''seed-bado''' === Tarjumaad === * {{en}}: tail ===Synonyms=== *[[seed-bado]], [[seed]] 29554 wikitext text/x-wiki {{-so-}} == Magac == '''seed-bado''' === Tarjumaad === * {{en}}: tail ===Synonyms=== *[[seed-bado]], [[seed]] gtptsia6v9631t0dfh0mpf06kkqhusu olol 0 10192 29560 29559 2024-08-05T18:11:11Z Girligaanshub 3150 29560 wikitext text/x-wiki {{-so-}} == Magac == '''olol''' === Tarjumaad === * {{en}}: blaze, flame, flare ip8fyknijq3sdpj4qizshh8lfy05hug olol leh 0 10193 29594 29593 2024-08-06T18:29:11Z Girligaanshub 3150 29594 wikitext text/x-wiki {{-so-}} == Magac == '''olol leh''' === Tarjumaad === * {{en}}: flamboyant, elaborate, flamboyance, exuberant, exuberance, ostentatious, eccentric, eccentricity, extravagant, swagger person, swaggart, swaggering person, poser, swaggerer, posturing posturer, egoist, egotist, energetic, energy person, f8osm21jx52lkth49oj35rr70e66uri hortabino 0 10194 29565 2024-08-05T20:54:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hortabino''' === Tarjumaad === * {{en}}: activity (plural), activities 29565 wikitext text/x-wiki {{-so-}} == Magac == '''hortabino''' === Tarjumaad === * {{en}}: activity (plural), activities 0xh030r7d8lyw0ke6a5u06tbxsw7xly hortabinada 0 10195 29566 2024-08-05T20:55:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hortabinada''' === Tarjumaad === * {{en}}: activity (plural), activities 29566 wikitext text/x-wiki {{-so-}} == Magac == '''hortabinada''' === Tarjumaad === * {{en}}: activity (plural), activities ou13p2dekn4uv42zfx63puqczjdkf6d iwm 0 10196 29568 2024-08-05T23:01:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iwm''' === Tarjumaad === * {{en}}: etcetera, etc., et cetera 29568 wikitext text/x-wiki {{-so-}} == Magac == '''iwm''' === Tarjumaad === * {{en}}: etcetera, etc., et cetera ghxr61cinxyz14f0hb7tqr5w2sek5wl huwiyada 0 10197 29569 2024-08-06T00:14:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''huwiyada''' === Tarjumaad === * {{en}}: identity 29569 wikitext text/x-wiki {{-so-}} == Magac == '''huwiyada''' === Tarjumaad === * {{en}}: identity 7uh3b0y94lzdinkdfuzuy75kq2pow1q kalfadhi 0 10198 29571 2024-08-06T01:04:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kalfadhi''' === Tarjumaad === * {{en}}: session 29571 wikitext text/x-wiki {{-so-}} == Magac == '''kalfadhi''' === Tarjumaad === * {{en}}: session ed8fjfo70zulnj8il9quewp10x0s9qy hortabiye 0 10199 29595 29572 2024-08-06T18:29:19Z Girligaanshub 3150 29595 wikitext text/x-wiki {{-so-}} == Magac == '''hortabiye''' === Tarjumaad === * {{en}}: influencer, exhibitionist, extrovert, ===Synonyms=== *[[hortabiye]], [[olol leh]], [[barar]] [[isla-weynaan]], [[suuro]], [[ricaaca]], [[tookh]], [[magacdoon]], [[ricaaciye]], [[istuxumbaar]], [[anaani]], [[badraan]], [[riya']] e9e51xtekpdfxp8ubf5uxsb6vy9u80m sanyar 0 10200 30316 29964 2024-08-27T01:48:33Z Girligaanshub 3150 30316 wikitext text/x-wiki {{-so-}} == Magac == '''sanyar''' === Tarjumaad === * {{en}}: maxaa-tiri dialect speaker, ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] 25fewbiqwbq4nlutvgfiarz3vqgb5vm jumlad 0 10201 29579 2024-08-06T01:53:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jumlad''' === Tarjumaad === * {{en}}: sentence ===Synonyms=== *[[weedh]], [[tix]], [[tuduc]], [[jumlad]] 29579 wikitext text/x-wiki {{-so-}} == Magac == '''jumlad''' === Tarjumaad === * {{en}}: sentence ===Synonyms=== *[[weedh]], [[tix]], [[tuduc]], [[jumlad]] ey51024ltnd1vmpeekkkwyk4yzbsj60 qisad 0 10202 30679 30672 2024-09-11T03:06:06Z Girligaanshub 3150 30679 wikitext text/x-wiki {{-so-}} == Magac == '''qisad''' === Tarjumaad === * {{en}}: plot, narration, story, theme, notion, concept, idea, view, perception, hypothesis, theory, ===Synonyms=== *[[qisad]], [[oraah]], [[halhay]], [[faallo]], [[faallada]] m0lsgcccdtpbuv4mvmnx6jpqieacetn dembi-baadhe 0 10203 29582 2024-08-06T02:20:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dembibaadhe''' === Tarjumaad === * {{en}}: detective, 29582 wikitext text/x-wiki {{-so-}} == Magac == '''dembibaadhe''' === Tarjumaad === * {{en}}: detective, joiu06wim6shvtvnoi3v20xz5od9s5b dembibaadhe 0 10204 29583 2024-08-06T02:20:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dembibaadhe''' === Tarjumaad === * {{en}}: detective 29583 wikitext text/x-wiki {{-so-}} == Magac == '''dembibaadhe''' === Tarjumaad === * {{en}}: detective snfahwpwu2c1aekj7l9uaxm9z1on9su hantidhowrka 0 10205 29584 2024-08-06T02:27:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hantidhowrka''' === Tarjumaad === * {{en}}: audit, 29584 wikitext text/x-wiki {{-so-}} == Magac == '''hantidhowrka''' === Tarjumaad === * {{en}}: audit, ssdyvfvqyou3v0lh4a45e47uvf90wpg sooc 0 10206 29585 2024-08-06T03:37:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sooc''' === Tarjumaad === * {{en}}: set apart, distinguish, isolate 29585 wikitext text/x-wiki {{-so-}} == Magac == '''sooc''' === Tarjumaad === * {{en}}: set apart, distinguish, isolate rmb14l53ert6as4xdz70b7uvl3ohulx sasabasho 0 10207 29586 2024-08-06T04:40:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sasabasho''' === Tarjumaad === * {{en}}: flattery, cunning, seduction, allure, 29586 wikitext text/x-wiki {{-so-}} == Magac == '''sasabasho''' === Tarjumaad === * {{en}}: flattery, cunning, seduction, allure, mi3ab3xdp0ha5bz2dxvzod8j5rkdvbs indha-shareer 0 10208 29596 2024-08-06T20:51:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indha-shareer''' === Tarjumaad === * {{en}}: veil, face-veiling 29596 wikitext text/x-wiki {{-so-}} == Magac == '''indha-shareer''' === Tarjumaad === * {{en}}: veil, face-veiling 4rua24kzmvfytlvx2lfqavk9ilyav06 dhowr 0 10209 29597 2024-08-06T20:55:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhowr''' === Tarjumaad === * {{en}}: multiple, some, few, 29597 wikitext text/x-wiki {{-so-}} == Magac == '''dhowr''' === Tarjumaad === * {{en}}: multiple, some, few, emle27dtehjyevlhcxd0x9xnik2vv7y hunguri-doon 0 10210 32499 32442 2024-11-17T00:05:46Z Girligaanshub 3150 32499 wikitext text/x-wiki {{-so-}} == Magac == '''hunguri-doon''' === Tarjumaad === * {{en}}: exploiter, manipulator, swindler, * {{en}}: entitled, hedonist * {{en}}: prey on, exploit, manipulate, manipulation, finesse, swindle, con, trick, defraud, deceive, * {{en}}: food-seeker ===Synonyms=== *[[dhiigmiire]], [[duufsade]], [[hunguri-doon]] ey7djn4909scornqaqbe4vjl64l1fr0 isdhiibid 0 10211 30937 29604 2024-09-26T05:11:25Z Girligaanshub 3150 30937 wikitext text/x-wiki {{-so-}} == Magac == '''isdhiibid''' === Tarjumaad === * {{en}}: capitulation, capitulate, surrender, yield, concede, defer, deference, cave in, submit, relent, comply, succumb, acquiescence, ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]] ===Antonyms=== *[[hagro]] di1vj6bv4s6waue8ks2ffjcy31v29hi iscasilka 0 10212 29603 2024-08-06T22:05:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iscasilka''' === Tarjumaad === * {{en}}: resign, resignation, ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]] 29603 wikitext text/x-wiki {{-so-}} == Magac == '''iscasilka''' === Tarjumaad === * {{en}}: resign, resignation, ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]] cpa0aqbc0o6dlqsluudxv8c73vhwhr3 wakiil 0 10213 29606 29605 2024-08-06T22:54:15Z Girligaanshub 3150 29606 wikitext text/x-wiki {{-so-}} == Magac == '''wakiil''' === Tarjumaad === * {{en}}: on behalf of, * {{en}}: representative, represent, representing gtsiwlvv375bx0eoo7j3jsp0ks472we wajahay 0 10214 29616 2024-08-07T04:35:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wajahay''' === Tarjumaad === * {{en}}: faced 29616 wikitext text/x-wiki {{-so-}} == Magac == '''wajahay''' === Tarjumaad === * {{en}}: faced jllpr5w106vzhgavxz02jbvur7t2cye weecin 0 10215 29617 2024-08-07T04:44:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weecin''' === Tarjumaad === * {{en}}: downplay, deemphasize, lessen, soften, divert, diversion, distract, distraction, 29617 wikitext text/x-wiki {{-so-}} == Magac == '''weecin''' === Tarjumaad === * {{en}}: downplay, deemphasize, lessen, soften, divert, diversion, distract, distraction, fs6uxublm0xwu05q4q9jrbczb0o3mnu abxad 0 10216 29621 2024-08-07T11:43:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abxad''' === Tarjumaad === * {{en}}: box, bag, pack, case, baggage 29621 wikitext text/x-wiki {{-so-}} == Magac == '''abxad''' === Tarjumaad === * {{en}}: box, bag, pack, case, baggage pp8vwyzv59nmhpu3147hlue6uph5zn0 kas 0 10217 31442 29628 2024-10-10T18:35:04Z Girligaanshub 3150 31442 wikitext text/x-wiki {{-so-}} == Magac == '''kas''' === Tarjumaad === * {{en}}: understand, perception, understanding, awareness, 1murdem7uxgegrf31f8v9ep9za272tj kasmo 0 10218 29629 2024-08-07T12:20:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kasmo''' === Tarjumaad === * {{en}}: understanding 29629 wikitext text/x-wiki {{-so-}} == Magac == '''kasmo''' === Tarjumaad === * {{en}}: understanding haf70my2owwx6h6gsx9usz79e17a3z2 ilaaliye 0 10219 29631 2024-08-07T12:29:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilaaliye''' === Tarjumaad === * {{en}}: watchman 29631 wikitext text/x-wiki {{-so-}} == Magac == '''ilaaliye''' === Tarjumaad === * {{en}}: watchman b7nkciyehd0xbopjjci5hjqn4mh2m35 xeer-ilaaliye 0 10220 29702 29632 2024-08-08T05:11:18Z Girligaanshub 3150 29702 wikitext text/x-wiki {{-so-}} == Magac == '''xeer-ilaaliye''' === Tarjumaad === * {{en}}: moderator ===Synonyms=== *[[agaasime]], [[hogaamiye]], [[gargaydho]], [[gungume]], [[mareeye]], [[maamule]], [[sayid]], [[milkiile]], [[xeer-ilaaliye]], imulu84d5kk3hgqktauv7zqm1cugvr0 adeegsi 0 10221 32609 32064 2024-11-26T12:22:28Z Girligaanshub 3150 32609 wikitext text/x-wiki {{-so-}} == Magac == '''adeegsi''' === Tarjumaad === * {{en}}: use * {{en}}: application, applying, usage, program, system, tag, tab, app * {{en}}: instrument, tool, device, apparatus, appliance, utensil, * {{en}}: prop, stalwart, linchpin, base, bedrock, 2w3xl80nekm91gfz7dgglae2i87lvn2 muuji 0 10222 29635 2024-08-07T13:32:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muuji''' === Tarjumaad === * {{en}}: express, show, convey, reveal, manifest, exhibit 29635 wikitext text/x-wiki {{-so-}} == Magac == '''muuji''' === Tarjumaad === * {{en}}: express, show, convey, reveal, manifest, exhibit iydw5lfnmujz0lt1snir23tt8oqmfp6 rabrab 0 10223 29639 2024-08-07T13:45:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rbrab''' === Tarjumaad === * {{en}}: stretcher, trolley, gurney, pram, bed 29639 wikitext text/x-wiki {{-so-}} == Magac == '''rbrab''' === Tarjumaad === * {{en}}: stretcher, trolley, gurney, pram, bed ihot86e67469je4ug05yky0s6laenjd fandhaal 0 10224 31525 29640 2024-10-13T03:10:35Z Girligaanshub 3150 31525 wikitext text/x-wiki {{-so-}} == Magac == '''fandhaal''' === Tarjumaad === * {{en}}: spoon ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] ntrhk7nmk4yrg47r249ldwjdsx81ulh googo' 0 10225 29644 2024-08-07T14:30:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''googo'''' === Tarjumaad === * {{en}}: change, coins, * {{en}}: exchange 29644 wikitext text/x-wiki {{-so-}} == Magac == '''googo'''' === Tarjumaad === * {{en}}: change, coins, * {{en}}: exchange asntrj8sbfaykklba1wl3rez99q4yn0 xariijimo 0 10226 29650 29649 2024-08-07T14:54:16Z Girligaanshub 3150 29650 wikitext text/x-wiki {{-so-}} == Magac == '''xariijimo''' === Tarjumaad === * {{en}}: striped, stripe, stripes ndmh3po2qpogq10rppeefkbghtwac6m xad-taxanaysan 0 10227 29648 2024-08-07T14:43:42Z Girligaanshub 3150 Girligaanshub moved page [[xad-taxanaysan]] to [[xariijimo]] 29648 wikitext text/x-wiki #REDIRECT [[xariijimo]] k1gnbbih4sp262s7vuzk0z61cqyg7pj xaajo 0 10228 29932 29651 2024-08-15T20:42:47Z Girligaanshub 3150 29932 wikitext text/x-wiki {{-so-}} == Magac == '''xaajo''' === Tarjumaad === * {{en}}: situation, circumstance, event, condition, scenario ===Synonyms=== *[[arin]], [[xaajo]], [[duruf]], [[duruuf]], [[duruufo]], [[xaalad]], [[cillad]] jzwp1jinhagxoyy01aeap6imnm0zsey firiley 0 10229 30870 30628 2024-09-23T01:29:29Z Girligaanshub 3150 30870 wikitext text/x-wiki {{-so-}} == Magac == '''firiley''' === Tarjumaad === * {{en}}: grain ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] bokizs6pju5kf9ps9ni0pix11p4w6o3 duulaan 0 10230 29653 2024-08-07T15:17:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duulaan''' === Tarjumaad === * {{en}}: invasion 29653 wikitext text/x-wiki {{-so-}} == Magac == '''duulaan''' === Tarjumaad === * {{en}}: invasion 2rnrb9d80g8id03z7twlmtci9w2cuf7 balaadhsi 0 10231 29654 2024-08-07T15:21:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''balaadhsi''' === Tarjumaad === * {{en}}: increase, expansion, expansionism, expand 29654 wikitext text/x-wiki {{-so-}} == Magac == '''balaadhsi''' === Tarjumaad === * {{en}}: increase, expansion, expansionism, expand ay1cxlr98f9qv7fy1m5miwxrgh2thr0 bariido 0 10232 29709 29681 2024-08-08T11:51:27Z Girligaanshub 3150 29709 wikitext text/x-wiki {{-so-}} == Magac == '''bariido''' === Tarjumaad === * {{en}}: greeting, greet ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]] 6n4rjaqeqxpigkzxt6dj7zj3aer9vhj hagarbay 0 10233 29659 2024-08-07T16:07:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagarbay''' === Tarjumaad === * {{en}}: stake, concession, settlement, share, 29659 wikitext text/x-wiki {{-so-}} == Magac == '''hagarbay''' === Tarjumaad === * {{en}}: stake, concession, settlement, share, 4f2ucrfnwj3nideswl331plp739by5v durraansi 0 10234 29840 29660 2024-08-12T17:19:20Z Girligaanshub 3150 29840 wikitext text/x-wiki {{-so-}} == Magac == '''durraansi''' === Tarjumaad === * {{en}}: supplication, invocation, prayer, dua ===Synonyms=== *[[nidir]], [[dhaar]], [[cibaado]], [[baryo]], [[baryada]], [[ducada]], [[durraansi]], [[siyaadi]], [[wacays]], [[barako]] r45m7l2kqd3nollzj5maq3orn773elv warceli 0 10235 29661 2024-08-07T16:42:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warceli''' === Tarjumaad === * {{en}}: answer 29661 wikitext text/x-wiki {{-so-}} == Magac == '''warceli''' === Tarjumaad === * {{en}}: answer icbxohx9km7ldedn7ynp3yoe7o65kbd warcelin 0 10236 29662 2024-08-07T16:43:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warcelin''' === Tarjumaad === * {{en}}: answer 29662 wikitext text/x-wiki {{-so-}} == Magac == '''warcelin''' === Tarjumaad === * {{en}}: answer 64uhl7iu20s5jy36u5l3und97bv9ye5 dareere 0 10237 29671 2024-08-07T17:20:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dareere''' === Tarjumaad === * {{en}}: drool * {{en}}: liquid 29671 wikitext text/x-wiki {{-so-}} == Magac == '''dareere''' === Tarjumaad === * {{en}}: drool * {{en}}: liquid a6jwi1dp3oicje9dlujneizxo4d9sl4 kolay 0 10238 29673 2024-08-07T17:24:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kolay''' === Tarjumaad === * {{en}}: cupboard, wardrobe ===Synonyms=== *[[kolay]], [[armaajo]] 29673 wikitext text/x-wiki {{-so-}} == Magac == '''kolay''' === Tarjumaad === * {{en}}: cupboard, wardrobe ===Synonyms=== *[[kolay]], [[armaajo]] m0we2fxyzebvq9b4yx4zvt5adeg3ghl baraad 0 10239 29846 29836 2024-08-12T17:51:14Z Girligaanshub 3150 29846 wikitext text/x-wiki {{-so-}} == Magac == '''baraad''' === Tarjumaad === * {{en}}: conscience ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]] ma3vn9r70m8phchj48oqrgphhoy3xzq dux 0 10240 31831 29690 2024-10-25T21:39:30Z Girligaanshub 3150 31831 wikitext text/x-wiki {{-so-}} == Magac == '''nafaqeey''' === Tarjumaad === * {{en}}: nourish, ===Synonyms=== *[[dux]], [[nafaqeey]], [[casuum]], [[martiqaad]], [[quudi]] scp7m8ctdtxms5sa9t1oy76bnnzml6r nabadeey 0 10241 29876 29691 2024-08-12T23:45:09Z Girligaanshub 3150 29876 wikitext text/x-wiki {{-so-}} == Magac == '''nabadeey''' === Tarjumaad === * {{en}}: bless, peace, regards, best wishes, king regards, yours faithfully, yours sincerely, blessings, m50qzaxj1padvrtcmhqf9gdm6klpwn7 codsi 0 10242 29692 2024-08-07T19:22:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''codsi''' === Tarjumaad === * {{en}}: request, demand, order, 29692 wikitext text/x-wiki {{-so-}} == Magac == '''codsi''' === Tarjumaad === * {{en}}: request, demand, order, r0gofe2hrgxkgiwlu5q15ahn04ymh4p suudal 0 10243 29693 2024-08-07T19:34:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suudal''' === Tarjumaad === * {{en}}: migration, 29693 wikitext text/x-wiki {{-so-}} == Magac == '''suudal''' === Tarjumaad === * {{en}}: migration, dn7y8u98u1c5w1c1bbf220g874tcy4i dhuyaal 0 10244 29694 2024-08-07T19:34:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhuyaal''' === Tarjumaad === * {{en}}: migration, 29694 wikitext text/x-wiki {{-so-}} == Magac == '''dhuyaal''' === Tarjumaad === * {{en}}: migration, 25la11y8g9assczoyxj25cbp51oi62y rubad 0 10245 30129 29695 2024-08-23T22:17:48Z Girligaanshub 3150 30129 wikitext text/x-wiki {{-so-}} == Magac == '''rubad''' === Tarjumaad === * {{en}}: organism, life, soul 0hgsverd81s5d0fezfbihhpu1s9tzmc baahidda 0 10246 29696 2024-08-08T02:56:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahidda''' === Tarjumaad === * {{en}}: neediness, 29696 wikitext text/x-wiki {{-so-}} == Magac == '''baahidda''' === Tarjumaad === * {{en}}: neediness, betaq5l4h72tf0udwxogansovto0f0j baahinta 0 10247 29697 2024-08-08T02:57:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahinta''' === Tarjumaad === * {{en}}: proliferation, expansion, escalation, multiplication, 29697 wikitext text/x-wiki {{-so-}} == Magac == '''baahinta''' === Tarjumaad === * {{en}}: proliferation, expansion, escalation, multiplication, mi9bcerjqm6mlupv0lrmzlpnf9r11mc habsaan 0 10248 29698 2024-08-08T05:09:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habsaan''' === Tarjumaad === * {{en}}: late, delay 29698 wikitext text/x-wiki {{-so-}} == Magac == '''habsaan''' === Tarjumaad === * {{en}}: late, delay lqs8ax4z1n0obcxw63wcpc2jd5litcl firaaq 0 10249 29703 2024-08-08T06:44:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''firaaq''' === Tarjumaad === * {{en}}: vacancy, spare time, leisurely chance, available, availability, 29703 wikitext text/x-wiki {{-so-}} == Magac == '''firaaq''' === Tarjumaad === * {{en}}: vacancy, spare time, leisurely chance, available, availability, jrzirkriupqgsbwu8rbwpk3gfc0hxpv karaan 0 10250 29717 29707 2024-08-08T14:13:05Z Girligaanshub 3150 29717 wikitext text/x-wiki {{-so-}} == Magac == '''karaan''' === Tarjumaad === * {{en}}: ability, able, possible, (past tense) 5gk10b3gmvhicfewswxad0cu5855lrk dhiifoon 0 10251 29714 2024-08-08T12:14:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiifoon''' === Tarjumaad === * {{en}}: agile, agility, athletic, swift, 29714 wikitext text/x-wiki {{-so-}} == Magac == '''dhiifoon''' === Tarjumaad === * {{en}}: agile, agility, athletic, swift, cje59dlnrospagnmdneywthkydpalv6 xigo 0 10252 29719 29715 2024-08-08T15:37:15Z Girligaanshub 3150 29719 wikitext text/x-wiki {{-so-}} == Magac == '''xigo''' === Tarjumaad === * {{en}}: next, followed by, sequel, * {{en}}: quote, source, cite, * {{en}}: close nearby 44d5cwf9wglitdr4x8g7urlq4qhi9v7 xigasho 0 10253 29718 29716 2024-08-08T15:36:53Z Girligaanshub 3150 29718 wikitext text/x-wiki {{-so-}} == Magac == '''xigasho''' === Tarjumaad === * {{en}}: being next, a sequel, * {{en}}: quoting, sourcing, citing, referencing * {{en}}: close, nearby dk9wcl0q1ow0h1nyasrbmq75kds7cw2 meer 0 10254 29747 29721 2024-08-10T06:22:28Z Girligaanshub 3150 29747 wikitext text/x-wiki {{-so-}} == Magac == '''meer''' === Tarjumaad === * {{en}}: wander, stroll, ramble, prowl, roam * {{en}}: overlook, manage oyagm6h5vn50oka9ozn9ewx1f5lyz5h ihanee 0 10255 29725 2024-08-09T00:46:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ihanee''' === Tarjumaad === * {{en}}: insult 29725 wikitext text/x-wiki {{-so-}} == Magac == '''ihanee''' === Tarjumaad === * {{en}}: insult f5jqip9m13aubsedzu2qj1tpw20awlj hujuun 0 10256 29726 2024-08-09T00:47:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hujuun''' === Tarjumaad === * {{en}}: attack 29726 wikitext text/x-wiki {{-so-}} == Magac == '''hujuun''' === Tarjumaad === * {{en}}: attack ajruv2c7tgp53j8045y8iv3lawj6dt5 daldal 0 10257 30166 29727 2024-08-24T02:47:28Z Girligaanshub 3150 30166 wikitext text/x-wiki {{-so-}} == Magac == '''daldal''' === Tarjumaad === * {{en}}: hang, execute, lynch 75l7jponrjiu9h9qu3ckzfl1n1l4j9p dacwee 0 10258 31259 30998 2024-10-04T16:01:28Z Girligaanshub 3150 31259 wikitext text/x-wiki {{-so-}} == Magac == '''dacwee''' === Tarjumaad === * {{en}}: report, * {{en}}: sponsor ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] bhwqjc9z313qe27q495c1aq1gr1bx5q qaran 0 10259 29736 2024-08-09T09:37:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaran''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] 29736 wikitext text/x-wiki {{-so-}} == Magac == '''qaran''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] r9znwktwcsw0t9b2pabsmo0lghj1amo qowmiyad 0 10260 29737 2024-08-09T09:38:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qowmiyad''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] 29737 wikitext text/x-wiki {{-so-}} == Magac == '''qowmiyad''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] nf3cyczrab5gs9rqbfpt39w6r8fw657 ummad 0 10261 29738 2024-08-09T09:38:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ummad''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] 29738 wikitext text/x-wiki {{-so-}} == Magac == '''ummad''' === Tarjumaad === * {{en}}: nation ===Synonyms=== *[[qaran]], [[qowmiyad]], [[ummad]] getr8aqpmvl4zipha4nrzrqzmc7rvqp uumi 0 10262 29740 2024-08-09T15:16:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uumi''' === Tarjumaad === * {{en}}: vapor, steam, gas, vapour 29740 wikitext text/x-wiki {{-so-}} == Magac == '''uumi''' === Tarjumaad === * {{en}}: vapor, steam, gas, vapour q0mejwuhy4bnf7khpum6vuqf4152ogu hilloow 0 10263 32686 29744 2024-11-30T09:04:47Z Girligaanshub 3150 32686 wikitext text/x-wiki {{-so-}} == Magac == '''hilloow''' === Tarjumaad === * {{en}}: pine, have nostalgia for, to miss, to regret an absence ===Synonyms=== *[[waaheen]], [[arkijiredoon]], [[hilloow]], [[daltabyo]] jl1w7f9o40orauz7owxm2m5o4thi6tv mire 0 10264 29748 2024-08-10T15:15:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mire''' === Tarjumaad === * {{en}}: someone born during [[mir]] (midnight rain) 29748 wikitext text/x-wiki {{-so-}} == Magac == '''mire''' === Tarjumaad === * {{en}}: someone born during [[mir]] (midnight rain) mye202ey07nvrehmi0rjcf315t5ggpv dhaxal-suge 0 10265 29782 29749 2024-08-12T01:13:35Z Girligaanshub 3150 29782 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxal-suge''' === Tarjumaad === * {{en}}: heir, descendant, issue, brood, kith, kin, offspring, progeny, inheritor, successor, beget, begotten, spawn, 7e22cs3taawg2r2c2j6qdlcr5iqn86l dhaxalsuge 0 10266 29781 29750 2024-08-12T01:12:25Z Girligaanshub 3150 29781 wikitext text/x-wiki {{-so-}} == Magac == '''dhaxalsuge''' === Tarjumaad === * {{en}}: heir, descendant, issue, brood, kith, kin, offspring, progeny, inheritor, successor, beget, begotten, spawn, f8t7vggzsiuuj4mz1m5bg83ux198nyn yaqyaqsood 0 10267 30208 29751 2024-08-24T15:52:13Z Girligaanshub 3150 30208 wikitext text/x-wiki {{-so-}} == Magac == '''yaqyaqsood''' === Tarjumaad === * {{en}}: disgusting, nasty, creepy, vile, vulgar, repugnant, obnoxious, loathsome, loath, gruesome, abominable, foul, gross, revolting, vile, abhorrent, sickening, disgust, nauseating, ===Synonyms=== *[[yaqyaqsood]], [[lalabood]], [[yalaalugood]] r34x80mq4d373k218gme2t9uexwkv7h dhilif 0 10268 29753 2024-08-11T15:57:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhilif''' === Tarjumaad === * {{en}}: tip of sheep's tail, 29753 wikitext text/x-wiki {{-so-}} == Magac == '''dhilif''' === Tarjumaad === * {{en}}: tip of sheep's tail, 1kpqra13qm1nje3ffdkod6m4qg09lu2 hawl 0 10269 29755 2024-08-11T16:48:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hawl''' === Tarjumaad === * {{en}}: task, assignment, chore, duty, job, stint, 29755 wikitext text/x-wiki {{-so-}} == Magac == '''hawl''' === Tarjumaad === * {{en}}: task, assignment, chore, duty, job, stint, pnaqn9353ysdpxhka5vj3jmjaluq570 baarada 0 10270 29757 2024-08-11T18:12:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baarada''' === Tarjumaad === * {{en}}: vaginal lubrication, grool, get wet * {{en}}: precum, pre-ejaculate, wet dream, nocturnal emission, cowper's fluid, 29757 wikitext text/x-wiki {{-so-}} == Magac == '''baarada''' === Tarjumaad === * {{en}}: vaginal lubrication, grool, get wet * {{en}}: precum, pre-ejaculate, wet dream, nocturnal emission, cowper's fluid, ls0t9fzbsi9k4thpvs901dd85aio53r galaydh 0 10271 29758 2024-08-11T18:14:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galaydh''' === Tarjumaad === * {{en}}: falcon, 29758 wikitext text/x-wiki {{-so-}} == Magac == '''galaydh''' === Tarjumaad === * {{en}}: falcon, q7n47w1sbzt3kf1akxeficvrmp5qo2x gorgor 0 10272 29759 2024-08-11T18:30:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorgor''' === Tarjumaad === * {{en}}: eagle, 29759 wikitext text/x-wiki {{-so-}} == Magac == '''gorgor''' === Tarjumaad === * {{en}}: eagle, f12p8s25w2hpz3tm4zxa0v0zccafdts soojireenka 0 10273 32830 32384 2024-12-02T11:03:19Z Girligaanshub 3150 32830 wikitext text/x-wiki {{-so-}} == Magac == '''soojireenka''' === Tarjumaad === * {{en}}: classic, long-standing, traditional, conservative, classicism, traditionalism, conservatism, ===Synonyms=== *[[qunyarsocod]], [[soojireenka]], [[joogdoonka]], [[baal-midiga]], [[asalraacnimo]] 38ujkw5gtqxqmqoofue96tot2kq67me kasbeeye 0 10274 29763 2024-08-11T21:14:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kasbeeye''' === Tarjumaad === * {{en}}: influencer 29763 wikitext text/x-wiki {{-so-}} == Magac == '''kasbeeye''' === Tarjumaad === * {{en}}: influencer df6cmzs4ao8tabyf8nyxc9mo02nbc84 cilmiga waaya-aragtida 0 10275 29765 2024-08-11T23:42:11Z Girligaanshub 3150 Girligaanshub moved page [[cilmiga waaya-aragtida]] to [[murtimaal]] 29765 wikitext text/x-wiki #REDIRECT [[murtimaal]] 6feu1pwc44jp9mbxssz9n6xoo6pvh41 murtimaale 0 10276 31296 30531 2024-10-04T16:48:36Z Girligaanshub 3150 31296 wikitext text/x-wiki {{-so-}} == Magac == '''murtimaale''' === Tarjumaad === * {{en}}: philosopher ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] nqb74wh75mp2j5qlsb3gwdbaxu7wtkb xudun 0 10277 30085 29768 2024-08-23T17:31:01Z Girligaanshub 3150 30085 wikitext text/x-wiki {{-so-}} == Magac == '''xudun''' === Tarjumaad === * {{en}}: core, navel, center, centre, ===Synonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]] bhbkyq3pg10e79oakw2vv6lpuybyvcp dallaayad 0 10278 29771 2024-08-12T00:28:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dallaayad''' === Tarjumaad === * {{en}}: umbrella 29771 wikitext text/x-wiki {{-so-}} == Magac == '''dallaayad''' === Tarjumaad === * {{en}}: umbrella ov7if7r0jzs4507zxhdhd3nke1x9avj heerkulbeeg 0 10279 29772 2024-08-12T00:30:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heerkulbeeg''' === Tarjumaad === * {{en}}: thermometer 29772 wikitext text/x-wiki {{-so-}} == Magac == '''heerkulbeeg''' === Tarjumaad === * {{en}}: thermometer 4mnz0hotfkh56opu24t3t20ptbqyndy ganac 0 10280 29774 2024-08-12T00:33:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganac''' === Tarjumaad === * {{en}}: pancreas 29774 wikitext text/x-wiki {{-so-}} == Magac == '''ganac''' === Tarjumaad === * {{en}}: pancreas 962gci0zkfaevn738crnzcfzcnn7dfn uuni 0 10281 31516 29775 2024-10-13T02:56:47Z Girligaanshub 3150 31516 wikitext text/x-wiki {{-so-}} == Magac == '''uuni''' === Tarjumaad === * {{en}}: oven ===Synonyms=== *[[uuni]], [[dardaaro]], [[burkijo]] r6ea3gd8kvmgco8xb9uwaogffgv1w8c dube 0 10282 29776 2024-08-12T00:36:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dube''' === Tarjumaad === * {{en}}: hammer 29776 wikitext text/x-wiki {{-so-}} == Magac == '''dube''' === Tarjumaad === * {{en}}: hammer aiw6nhrnff4i6wa8wxw54mw57y3diuq dhiigbax 0 10283 29777 2024-08-12T00:36:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiigbax''' === Tarjumaad === * {{en}}: haemorrhage 29777 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigbax''' === Tarjumaad === * {{en}}: haemorrhage 0lxgd611opovok8fi4zcc52wg0bp9b9 qufac 0 10284 29779 2024-08-12T00:42:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qufac''' === Tarjumaad === * {{en}}: cough 29779 wikitext text/x-wiki {{-so-}} == Magac == '''qufac''' === Tarjumaad === * {{en}}: cough 609m455ab6i1de0wtn7q44tuat2ivlf xamaale 0 10285 29787 29784 2024-08-12T01:32:40Z Girligaanshub 3150 29787 wikitext text/x-wiki {{-so-}} == Magac == '''xamaale''' === Tarjumaad === * {{en}}: baggage handler, porter, labourer, ===Synonyms=== *[[camiil]], [[muruqmaale]], [[xamaale]] 9mufx7zamwu3yo9qiop4w7y7ea9h96n dhismaal 0 10286 29788 2024-08-12T01:34:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhismaal''' === Tarjumaad === * {{en}}: construction, construction worker 29788 wikitext text/x-wiki {{-so-}} == Magac == '''dhismaal''' === Tarjumaad === * {{en}}: construction, construction worker cvpbbluvwyzh86332dvb29o19tktgcu xogmaal 0 10287 29789 2024-08-12T01:35:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xogmaal''' === Tarjumaad === * {{en}}: analytics, data analysis, data analyst 29789 wikitext text/x-wiki {{-so-}} == Magac == '''xogmaal''' === Tarjumaad === * {{en}}: analytics, data analysis, data analyst 4285t32frfeb53620jz6s3q635gx7nz Soomaali 0 10288 30653 30651 2024-09-10T21:51:01Z Girligaanshub 3150 30653 wikitext text/x-wiki {{-so-}} == Magac == '''Soomaali''' ===Etymology=== *(a) [[soo]] (go ahead) + maal (extract milk / work) = hospitable with milk / nomad *(b) [[soof]] (herd) + [[maal]] = traditional rural herder *(c) sac (cow / meat) + maal (lifestyle) = cattle pastoralism / meat eater *(d) [[sooc]] (differentiator) + maal = hints at medieval ethnoreligious upheaval *(e) [[sama]] + [[maal]] / [[sama]] (good) + [[leh]] (have) = Samaale => Soomaali *(f) soo (before) + maal (ranching) = ancient peasant ; earliest indigenous / earliest native pastoralist *(g) ta shemaw = semitized (W) to (L) to shemal => shomaal => soomaal === Tarjumaad === * {{en}}: Somali, ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] b959x1eur7cxvjfxbcdffl52kfccvw9 caaro 0 10289 29807 2024-08-12T06:55:16Z Girligaanshub 3150 Girligaanshub moved page [[caaro]] to [[caarcaaro]] 29807 wikitext text/x-wiki #REDIRECT [[caarcaaro]] ira9wv27toywx5ikllc8qwpylaz7bo5 saalo xoolo 0 10290 29809 2024-08-12T06:55:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saalo xoolo''' === Tarjumaad === * {{en}}: scat, animal droppings 29809 wikitext text/x-wiki {{-so-}} == Magac == '''saalo xoolo''' === Tarjumaad === * {{en}}: scat, animal droppings cxeib0e2uvk8jcqb2telktuu89bhgdr mulac 0 10291 29810 2024-08-12T06:56:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mulac''' === Tarjumaad === * {{en}}: salamander 29810 wikitext text/x-wiki {{-so-}} == Magac == '''mulac''' === Tarjumaad === * {{en}}: salamander cpaopbkmsfsvmdtcvmhhxxkfxywhfnh roobla-dhac 0 10292 29812 2024-08-12T07:17:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''roobla-dhac''' === Tarjumaad === * {{en}}: mite, red velvet mite, rain bug, rain bugs 29812 wikitext text/x-wiki {{-so-}} == Magac == '''roobla-dhac''' === Tarjumaad === * {{en}}: mite, red velvet mite, rain bug, rain bugs lo3c9wgrv8l0l345qnd5q1gcj19jr9y heerkul 0 10293 32136 29813 2024-10-28T18:45:00Z Girligaanshub 3150 32136 wikitext text/x-wiki {{-so-}} == Magac == '''heerkul''' === Tarjumaad === * {{en}}: temperature ===Synonyms=== *[[heerkul]], [[heerkulul]] mm3eak0ey4zezg2ey70yg0zbhhldhuw lulumo 0 10294 29814 2024-08-12T07:22:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lulumo''' === Tarjumaad === * {{en}}: tadpole 29814 wikitext text/x-wiki {{-so-}} == Magac == '''lulumo''' === Tarjumaad === * {{en}}: tadpole j1jltr8molh7lvdfwglbkzft0uryyvh carro 0 10295 29816 2024-08-12T07:26:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carro''' === Tarjumaad === * {{en}}: soil, dirt soil 29816 wikitext text/x-wiki {{-so-}} == Magac == '''carro''' === Tarjumaad === * {{en}}: soil, dirt soil f00r2h5de4z5idcu59lpo3owl2p48tx xiddid 0 10296 29819 2024-08-12T07:39:44Z Girligaanshub 3150 Girligaanshub moved page [[xiddid]] to [[xuduud]] 29819 wikitext text/x-wiki #REDIRECT [[xuduud]] p5xyv4qmcs4e9sye8fyzb7bdkgst7iy dhul cawseed 0 10297 29829 29821 2024-08-12T15:58:53Z Girligaanshub 3150 29829 wikitext text/x-wiki {{-so-}} == Magac == '''dhul cawseed''' === Tarjumaad === * {{en}}: prairie, savannah, savanna 6digo8a7ha5nlwm2tlugvl0940r8lan ruqur 0 10298 29822 2024-08-12T07:44:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ruqur''' === Tarjumaad === * {{en}}: moss plant 29822 wikitext text/x-wiki {{-so-}} == Magac == '''ruqur''' === Tarjumaad === * {{en}}: moss plant 8h4bp2dlxke8202vx3v8ujjll1r9mbq dhiiqo 0 10299 29823 2024-08-12T07:44:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiiqo''' === Tarjumaad === * {{en}}: marsh 29823 wikitext text/x-wiki {{-so-}} == Magac == '''dhiiqo''' === Tarjumaad === * {{en}}: marsh dp5p778xva44x24h5u41zs1j6vk4q07 saanxume 0 10300 29824 2024-08-12T08:54:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saanxume''' === Tarjumaad === * {{en}}: grasshopper 29824 wikitext text/x-wiki {{-so-}} == Magac == '''saanxume''' === Tarjumaad === * {{en}}: grasshopper tndpfc7hmezbq2nr05sf3dtjhxrbhi0 qolofta geedka 0 10301 29825 2024-08-12T09:50:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qolofta geedka''' === Tarjumaad === * {{en}}: tree bark 29825 wikitext text/x-wiki {{-so-}} == Magac == '''qolofta geedka''' === Tarjumaad === * {{en}}: tree bark d36hzczqnloj2jo9v0o1fgth83tvvh0 jugley 0 10302 29826 2024-08-12T14:50:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jugley''' === Tarjumaad === * {{en}}: bustard 29826 wikitext text/x-wiki {{-so-}} == Magac == '''jugley''' === Tarjumaad === * {{en}}: bustard nou8qlmuy2dpof7e322rsbjrclcpesh aragtida 0 10303 30699 29875 2024-09-11T03:13:47Z Girligaanshub 3150 30699 wikitext text/x-wiki {{-so-}} == Magac == '''aragtida''' === Tarjumaad === * {{en}}: vision, notion, concept, impression, perception, presumption, idea ===Synonyms=== *[[kutiro-kuteen]], [[hiraal]], [[mala-awaal]], [[mala'awaal]], [[cillanaad]], [[filasho]], [[aragtida]] tfg0xp9132i23ec3yngx6yxwvp6amj5 digiiran 0 10304 29830 2024-08-12T16:04:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''digiiran''' === Tarjumaad === * {{en}}: Guineafowl, Guinea fowl 29830 wikitext text/x-wiki {{-so-}} == Magac == '''digiiran''' === Tarjumaad === * {{en}}: Guineafowl, Guinea fowl c9k7m9pqnwkmvbzgnlejhptcfx6hgpx baraha bulshada 0 10305 30869 30627 2024-09-23T01:29:14Z Girligaanshub 3150 30869 wikitext text/x-wiki {{-so-}} == Magac == '''baraha bulshada''' === Tarjumaad === * {{en}}: social media ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] 3fsjlfxxqvf59zbn9s8a8p2rrnyq9el la-kasbay 0 10306 29868 2024-08-12T20:04:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''la-kasbay''' === Tarjumaad === * {{en}}: influencee, 29868 wikitext text/x-wiki {{-so-}} == Magac == '''la-kasbay''' === Tarjumaad === * {{en}}: influencee, g3yapz2qwlzmjsc3nsqzpp9y94uawl9 la-kasbado 0 10307 29870 29869 2024-08-12T20:05:29Z Girligaanshub 3150 29870 wikitext text/x-wiki {{-so-}} == Magac == '''la-kasbado''' === Tarjumaad === * {{en}}: influencee, gets influenced l8klmoe6h6lb98cpn4o6r5gpl4mzrfe qaylo-dhaan 0 10308 29873 2024-08-12T21:28:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaylo-dhaan''' === Tarjumaad === * {{en}}: alarm, siren 29873 wikitext text/x-wiki {{-so-}} == Magac == '''qaylo-dhaan''' === Tarjumaad === * {{en}}: alarm, siren j1y9r61okjrjlpwo100ye1aiam55yhf deero 0 10309 29877 2024-08-13T00:24:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deero''' === Tarjumaad === * {{en}}: antelope 29877 wikitext text/x-wiki {{-so-}} == Magac == '''deero''' === Tarjumaad === * {{en}}: antelope nrl2bm5en1y37kck9jeyshf9s3bemf3 deerada 0 10310 29878 2024-08-13T00:25:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deerada''' === Tarjumaad === * {{en}}: antelopes 29878 wikitext text/x-wiki {{-so-}} == Magac == '''deerada''' === Tarjumaad === * {{en}}: antelopes odtywbptmlqfvnbk7a2h4weycdrx88e boolo 0 10311 29880 2024-08-13T03:28:34Z Girligaanshub 3150 Girligaanshub moved page [[boolo]] to [[jeeraabe]] 29880 wikitext text/x-wiki #REDIRECT [[jeeraabe]] 5izvna8pmyh5brc39msghifr8dpn84k dhoore 0 10312 29882 2024-08-13T05:45:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhoore''' === Tarjumaad === * {{en}}: turacos, turaco, Musophagidae, 29882 wikitext text/x-wiki {{-so-}} == Magac == '''dhoore''' === Tarjumaad === * {{en}}: turacos, turaco, Musophagidae, hur14vz31i74nx7uy54h3394nzaxvlb aqoondirsade 0 10313 31295 30530 2024-10-04T16:48:21Z Girligaanshub 3150 31295 wikitext text/x-wiki {{-so-}} == Magac == '''aqondirsade''' === Tarjumaad === * {{en}}: brainstormer, idealist, ruminator, consultant, thinker ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] 5le6g1oqx9hgjgq3z37s5v1udknkyzt baqaar 0 10314 29903 2024-08-14T05:00:13Z Girligaanshub 3150 Girligaanshub moved page [[baqaar]] to [[bakaar]] 29903 wikitext text/x-wiki #REDIRECT [[bakaar]] jfr59pvhrvy6owmtx4mgr1cqgi9esco salal 0 10315 29906 2024-08-14T05:55:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''salal''' === Tarjumaad === * {{en}}: awaken from nightmare 29906 wikitext text/x-wiki {{-so-}} == Magac == '''salal''' === Tarjumaad === * {{en}}: awaken from nightmare i5c5mix581g66pfcvtsczh194dg5jiv keyd 0 10316 29907 2024-08-14T05:56:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keyd''' === Tarjumaad === * {{en}}: reserve 29907 wikitext text/x-wiki {{-so-}} == Magac == '''keyd''' === Tarjumaad === * {{en}}: reserve hxh8j5ooxix3s3fmbg0mrrosvpfef4v sarmo 0 10317 29908 2024-08-14T05:57:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sarmo''' === Tarjumaad === * {{en}}: sharp cut 29908 wikitext text/x-wiki {{-so-}} == Magac == '''sarmo''' === Tarjumaad === * {{en}}: sharp cut omrpcuyi31tnpn2df21dlgqupx6zou9 xayir 0 10318 31027 30201 2024-09-30T22:57:35Z Girligaanshub 3150 31027 wikitext text/x-wiki {{-so-}} == Magac == '''xayir''' === Tarjumaad === * {{en}}: restrain, restrain, block, ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayir]] t36twghwa8nmzbfnx2nicvqnfcwlqnk daray 0 10319 31666 29911 2024-10-19T21:58:47Z Girligaanshub 3150 31666 wikitext text/x-wiki {{-so-}} == Magac == '''daray''' === Tarjumaad === * {{en}}: added, * {{en}}: fresh * {{en}}: ficus sycomorus, sycamore fig, fig mulberry, sycomore, dauudkh45p4d1wccrnwm8to8pjzzkua debci 0 10320 29914 2024-08-14T15:48:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''debci''' === Tarjumaad === * {{en}}: be flexible 29914 wikitext text/x-wiki {{-so-}} == Magac == '''debci''' === Tarjumaad === * {{en}}: be flexible deiurx2wgwfl9la8ulf4epyr1qfv4t5 dibnaha 0 10321 29915 2024-08-14T15:49:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibnaha''' === Tarjumaad === * {{en}}: cheeks 29915 wikitext text/x-wiki {{-so-}} == Magac == '''dibnaha''' === Tarjumaad === * {{en}}: cheeks snyq1zokh6sie18kywk7y4jfbimr3gq ba' 0 10322 29918 2024-08-15T01:14:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ba'''' === Tarjumaad === * {{en}}: criticality, * {{en}}: calamity 29918 wikitext text/x-wiki {{-so-}} == Magac == '''ba'''' === Tarjumaad === * {{en}}: criticality, * {{en}}: calamity 1dn2a7dvi14mdtphn1sp4137sjg9i8f hamuun 0 10323 30925 29919 2024-09-26T04:58:55Z Girligaanshub 3150 30925 wikitext text/x-wiki {{-so-}} == Magac == '''hamuun''' === Tarjumaad === * {{en}}: hope t8a9ig2uca4wa4o53xz53yaaocru8bv hilow 0 10324 30281 29920 2024-08-26T06:09:45Z Girligaanshub 3150 30281 wikitext text/x-wiki {{-so-}} == Magac == '''hilow''' === Tarjumaad === * {{en}}: longing, yearning ceu49ll23wbu2eg6gm1yhnhumq2jrz0 habaabin 0 10325 29921 2024-08-15T02:31:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habaabin''' === Tarjumaad === * {{en}}: lose, lost, misled, mislead, astray, adrift, misleading 29921 wikitext text/x-wiki {{-so-}} == Magac == '''habaabin''' === Tarjumaad === * {{en}}: lose, lost, misled, mislead, astray, adrift, misleading 6hmo236vmcggjj7ob7m7upli3vm63kq wax-walba-cune 0 10326 29923 2024-08-15T15:33:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wax-walba-cune''' === Tarjumaad === * {{en}}: omnivore 29923 wikitext text/x-wiki {{-so-}} == Magac == '''wax-walba-cune''' === Tarjumaad === * {{en}}: omnivore 75b5yc8qrjzcevjiy6nj96xvt77v4r3 kaniisad 0 10327 29924 2024-08-15T15:36:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaniisad''' === Tarjumaad === * {{en}}: church 29924 wikitext text/x-wiki {{-so-}} == Magac == '''kaniisad''' === Tarjumaad === * {{en}}: church 3mzumtsz616lx4jorvoqxcgqob56d2b sakaro 0 10328 29926 2024-08-15T15:51:33Z Girligaanshub 3150 Girligaanshub moved page [[sakaro]] to [[sagaaro]] 29926 wikitext text/x-wiki #REDIRECT [[sagaaro]] h3njzxg6c5b2881py77ntkjm1edrysu rimintooyo 0 10329 29938 2024-08-16T11:25:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rimintooyo''' === Tarjumaad === * {{en}}: empire, 29938 wikitext text/x-wiki {{-so-}} == Magac == '''rimintooyo''' === Tarjumaad === * {{en}}: empire, 074qxinzimjzqapmvweniajh30canp9 khilaafad 0 10330 29939 2024-08-16T17:17:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khilaafad''' === Tarjumaad === * {{en}}: caliphate 29939 wikitext text/x-wiki {{-so-}} == Magac == '''khilaafad''' === Tarjumaad === * {{en}}: caliphate oywme2d4ti33uvxh8nfmvocr07mv4ul shaacbeel 0 10331 29942 2024-08-16T17:42:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaacbeel''' === Tarjumaad === * {{en}}: trend loss, outdated, outmoded, dated, obsolete, archaic, antique, vintage, 29942 wikitext text/x-wiki {{-so-}} == Magac == '''shaacbeel''' === Tarjumaad === * {{en}}: trend loss, outdated, outmoded, dated, obsolete, archaic, antique, vintage, tdb9wc24nf8fxymdikesujlwyk4pafi shaacdhici 0 10332 31722 30787 2024-10-21T03:39:33Z Girligaanshub 3150 31722 wikitext text/x-wiki {{-so-}} == Magac == '''shaacdhici''' === Tarjumaad === * {{en}}: degrade, block, lower, stop, slow, diminish, downgrade, lessen, reduce, weaken, demote, lower, decline, stagnate, stagnation, shrink, undermine, repress, decrease, diminish, discourage ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] 7uoju3tzcmokxwasq1rb69k3nhytcak qasnaan 0 10333 29947 2024-08-16T20:35:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qasnaan''' === Tarjumaad === * {{en}}: misfortune, unlucky, setback, adversity, difficulty * {{en}}: irksome, tough, irritation, aggravation, troublesome, exasperation, disturbance, frustration, 29947 wikitext text/x-wiki {{-so-}} == Magac == '''qasnaan''' === Tarjumaad === * {{en}}: misfortune, unlucky, setback, adversity, difficulty * {{en}}: irksome, tough, irritation, aggravation, troublesome, exasperation, disturbance, frustration, 6f1pugdkzwte99jbbz08w65fd1c94wd daabicin 0 10334 29951 2024-08-16T23:27:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daabicin''' === Tarjumaad === * {{en}}: publishing 29951 wikitext text/x-wiki {{-so-}} == Magac == '''daabicin''' === Tarjumaad === * {{en}}: publishing nbcepgn2db5xrxx71uz33n2g4jbang7 dadyow 0 10335 29953 2024-08-17T00:39:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dadyow''' === Tarjumaad === * {{en}}: people 29953 wikitext text/x-wiki {{-so-}} == Magac == '''dadyow''' === Tarjumaad === * {{en}}: people 1kkmcm3f0t9xyvwlpsgtu1vlcrddncy dadyowga 0 10336 29954 2024-08-17T00:39:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dadyowga''' === Tarjumaad === * {{en}}: the people 29954 wikitext text/x-wiki {{-so-}} == Magac == '''dadyowga''' === Tarjumaad === * {{en}}: the people 91borlwjyzql8zls5jarb322zylaaq5 kaab 0 10337 29956 2024-08-17T02:38:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaab''' === Tarjumaad === * {{en}}: holder 29956 wikitext text/x-wiki {{-so-}} == Magac == '''kaab''' === Tarjumaad === * {{en}}: holder ga0uhnsx6niezy8ykrljm2jbdip3cqn caw 0 10338 29957 2024-08-17T02:41:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caw''' === Tarjumaad === * {{en}}: virtue 29957 wikitext text/x-wiki {{-so-}} == Magac == '''caw''' === Tarjumaad === * {{en}}: virtue j9fkrtcl8no10tyofwyl73k4ry9p2qq cosob 0 10339 29958 2024-08-17T02:42:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cosob''' === Tarjumaad === * {{en}}: freshly grown grass 29958 wikitext text/x-wiki {{-so-}} == Magac == '''cosob''' === Tarjumaad === * {{en}}: freshly grown grass nnjy9cixblaeenj2eyb2bw4ej6y64ix kulane 0 10340 29959 2024-08-17T02:45:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kulane''' === Tarjumaad === * {{en}}: conjoiner, connecter, combiner, fuser, coalescer, unifier, associate, amalgamator, linker, 29959 wikitext text/x-wiki {{-so-}} == Magac == '''kulane''' === Tarjumaad === * {{en}}: conjoiner, connecter, combiner, fuser, coalescer, unifier, associate, amalgamator, linker, 8v59k15vfpg80efxix3cxz67ohti4ia shirwac 0 10341 29984 29960 2024-08-18T15:17:50Z Girligaanshub 3150 29984 wikitext text/x-wiki {{-so-}} == Magac == '''shirwac''' === Tarjumaad === * {{en}}: meeting initiator, ===Synonyms=== *[[shirwac]], [[shire]], 1suz9wwf9dw892tgl2x1608rh37gej2 kaar 0 10342 29961 2024-08-17T02:57:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaar''' === Tarjumaad === * {{en}}: pain 29961 wikitext text/x-wiki {{-so-}} == Magac == '''kaar''' === Tarjumaad === * {{en}}: pain 5xkz31k3h7snojfk5qygpljysu6vgha niiyo 0 10343 29962 2024-08-17T03:02:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niiyo''' === Tarjumaad === * {{en}}: female ostrich * {{en}}: ostrich egg * {{en}}: ostrich feather 29962 wikitext text/x-wiki {{-so-}} == Magac == '''niiyo''' === Tarjumaad === * {{en}}: female ostrich * {{en}}: ostrich egg * {{en}}: ostrich feather 2ujj6zvdr4307c00ceevbyee4h5qku3 haldhaa 0 10344 29963 2024-08-17T03:03:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haldhaa''' === Tarjumaad === * {{en}}: male ostrich 29963 wikitext text/x-wiki {{-so-}} == Magac == '''haldhaa''' === Tarjumaad === * {{en}}: male ostrich 29x9u52puzflhtf6d2ymrt8tck1rot9 yalaxow 0 10345 30318 29965 2024-08-27T01:49:04Z Girligaanshub 3150 30318 wikitext text/x-wiki {{-so-}} == Magac == '''yalaxow''' === Tarjumaad === * {{en}}: someone with wavy hair texture, * {{en}}: someone with Somali phenotype, ===Synonyms=== *[[sanyar]], [[geeljire]], [[lamagoodle]], [[barbar]], [[yalaxow]], [[Soomaali]] nfzeh4hmasd7mrm0lss1i3u2fmutgik yalax 0 10346 29968 2024-08-17T03:11:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yalax''' === Tarjumaad === * {{en}}: wavy hair, curly hair 29968 wikitext text/x-wiki {{-so-}} == Magac == '''yalax''' === Tarjumaad === * {{en}}: wavy hair, curly hair tqv5o80u0iwlrlnf87ptjjmqmja2kxb barwaaqo 0 10347 32858 31424 2024-12-03T00:18:29Z Girligaanshub 3150 32858 wikitext text/x-wiki {{-so-}} == Magac == '''barwaaqo''' === Tarjumaad === * {{en}}: blessed rains, * {{en}}: prosperity, abundance * {{en}}: the religion of [[waaq]] worship ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]] a9c5slam6u1b8sierjv6disyy64fdny waaheen 0 10348 32684 30515 2024-11-30T09:03:52Z Girligaanshub 3150 32684 wikitext text/x-wiki {{-so-}} == Magac == '''waaheen''' === Tarjumaad === * {{en}}: flashback, deja-vu, throwback, ruminated memory, rumination memory, dejavu, * {{en}}: [[waa]] (passed time) + [[heen]] (container) ===Synonyms=== *[[waaheen]], [[arkijiredoon]], [[hilloow]], [[daltabyo]] h53x364wwd5he849lwohxm482ul1fdl shire 0 10349 29985 29983 2024-08-18T15:25:54Z Girligaanshub 3150 29985 wikitext text/x-wiki {{-so-}} == Magac == '''shire''' === Tarjumaad === * {{en}}: attendee, attender, conventioneer ===Synonyms=== *[[shirwac]], [[shire]], [[guurti]], [[shirguddoon]], [[guddi]], [[gole]], [[geed-jooge]], mljuhie7ttmq2f66ypwz5s6ag63drcy heen 0 10350 29990 2024-08-18T15:29:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heen''' === Tarjumaad === * {{en}}: contain, container 29990 wikitext text/x-wiki {{-so-}} == Magac == '''heen''' === Tarjumaad === * {{en}}: contain, container t7jvj9mj77084gyyqxxny58iiotku4t idmaan 0 10351 30347 30034 2024-08-28T07:55:03Z Girligaanshub 3150 30347 wikitext text/x-wiki {{-so-}} == Magac == '''idmaan''' === Tarjumaad === * {{en}}: diligent, conscientious, studious, meticulous, scrupulous, punctual, ===Synonyms=== *[[idmaan]], [[tifaftiran]] o5sqx7sjzs2ll2hsulay85chq8nb6dt baacso 0 10352 29996 2024-08-18T23:14:02Z Girligaanshub 3150 Girligaanshub moved page [[baacso]] to [[baacsado]] 29996 wikitext text/x-wiki #REDIRECT [[baacsado]] tc13c8mgxjiel3voxyzt0jetcf7aq5z afkaar 0 10353 30005 2024-08-18T23:41:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afkaar''' === Tarjumaad === * {{en}}: ideology, * {{en}}: contention, contentious, 30005 wikitext text/x-wiki {{-so-}} == Magac == '''afkaar''' === Tarjumaad === * {{en}}: ideology, * {{en}}: contention, contentious, 3dvkr6up1ysqmos0mggr20yzgqmm3n3 maagis 0 10354 30008 2024-08-18T23:56:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maagis''' === Tarjumaad === * {{en}}: bullying, 30008 wikitext text/x-wiki {{-so-}} == Magac == '''maagis''' === Tarjumaad === * {{en}}: bullying, 6xpzu51wnd757tmb8vrp6jrhuwxorme talantaal 0 10355 32572 32571 2024-11-22T09:22:22Z Girligaanshub 3150 32572 wikitext text/x-wiki {{-so-}} == Magac == '''talantaal''' === Tarjumaad === * {{en}}: alternate, opposite * {{en}}: reciprocal, reciprocation, exchange, ===Synonyms=== *[[waydaarsho]], [[talantaal]] rrltlcytdebynpnndf1refz5641luob miigan 0 10356 32177 31941 2024-10-31T18:39:10Z Girligaanshub 3150 32177 wikitext text/x-wiki {{-so-}} == Magac == '''miigan''' === Tarjumaad === * {{en}}: hardheaded, obstinate, bold, reckless, bully, bullying, reckless ===Synonyms=== *[[maro-ku-dheg]], [[taagan]], [[macangag]], [[caniid]], [[miigan]], [[afdheer]] d1kfgcyzmuaqw9k7jleo8xq6kabys6c caniid 0 10357 32176 31939 2024-10-31T18:38:56Z Girligaanshub 3150 32176 wikitext text/x-wiki {{-so-}} == Magac == '''caniid''' === Tarjumaad === * {{en}}: hardheaded, ===Synonyms=== *[[maro-ku-dheg]], [[taagan]], [[macangag]], [[caniid]], [[miigan]], [[afdheer]] 3q5gwdty48acoljyl3uq7oh18vc8sbs mur 0 10358 30054 30014 2024-08-23T04:37:02Z Girligaanshub 3150 30054 wikitext text/x-wiki {{-so-}} == Magac == '''mur''' === Tarjumaad === * {{en}}: bitter (arabic) * {{en}}: pyramid ===Synonyms=== *[[qaraar]], [[qadhaadh]], [[mur]] haielecgosckxxr5yhdsnxyqcnlvnn0 mowjad 0 10359 30015 2024-08-19T00:07:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mowjad''' === Tarjumaad === * {{en}}: wave 30015 wikitext text/x-wiki {{-so-}} == Magac == '''mowjad''' === Tarjumaad === * {{en}}: wave ss6qfz5u8rz0j2wnhksdvyrc509n5wn waydaarsho 0 10360 30018 2024-08-19T00:37:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weydaarsho''' === Tarjumaad === * {{en}}: exchange, switch, swap ===Synonyms=== *[[waydaarsho]], [[talantaal]], [[weydaarsho]] 30018 wikitext text/x-wiki {{-so-}} == Magac == '''weydaarsho''' === Tarjumaad === * {{en}}: exchange, switch, swap ===Synonyms=== *[[waydaarsho]], [[talantaal]], [[weydaarsho]] cr00hkbdcbgawnhzwig1ly6xaj5scbk muddeex 0 10361 30020 2024-08-19T00:44:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muddeex''' === Tarjumaad === * {{en}}: reasonable 30020 wikitext text/x-wiki {{-so-}} == Magac == '''muddeex''' === Tarjumaad === * {{en}}: reasonable 0r03230pjwcvquwzvm2e03s58u19ujp isimtooyo 0 10362 30023 2024-08-19T03:55:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isimtooyo''' === Tarjumaad === * {{en}}: chieftainship, chieftainry, chieftaincy, chieftaindom, 30023 wikitext text/x-wiki {{-so-}} == Magac == '''isimtooyo''' === Tarjumaad === * {{en}}: chieftainship, chieftainry, chieftaincy, chieftaindom, 0fnedky8hyxvo60kh3otafcu3cx4bce inko 0 10363 30024 2024-08-19T05:57:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''inko''' === Tarjumaad === * {{en}}: life 30024 wikitext text/x-wiki {{-so-}} == Magac == '''inko''' === Tarjumaad === * {{en}}: life c1y10jzgrtyzzaqweke7z9gmotwqxc0 isim 0 10364 30025 2024-08-19T06:00:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isim''' === Tarjumaad === * {{en}}: chief, chieftain, 30025 wikitext text/x-wiki {{-so-}} == Magac == '''isim''' === Tarjumaad === * {{en}}: chief, chieftain, c3o8nc97gzbjw937jlse03gdxbtv4ch nafariidad 0 10365 30030 2024-08-19T06:55:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nafariidad''' === Tarjumaad === * {{en}}: good girl, 30030 wikitext text/x-wiki {{-so-}} == Magac == '''nafariidad''' === Tarjumaad === * {{en}}: good girl, 7nb8xq43fzh7kflhh1wym2ney2epvjv berde 0 10366 30035 2024-08-19T16:21:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''berde''' === Tarjumaad === * {{en}}: fig 30035 wikitext text/x-wiki {{-so-}} == Magac == '''berde''' === Tarjumaad === * {{en}}: fig snnev35m4rwyt6wzkc59p0e2h3d8pu3 dakee 0 10367 30037 2024-08-20T22:42:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dakee''' === Tarjumaad === * {{en}}: succumb 30037 wikitext text/x-wiki {{-so-}} == Magac == '''dakee''' === Tarjumaad === * {{en}}: succumb sbob5a3dru7nqv6208awe3ilfwaz2of aaq 0 10368 30481 30476 2024-09-04T06:33:42Z Girligaanshub 3150 30481 wikitext text/x-wiki {{-so-}} == Magac == '''aaq''' / '''aq''' === Tarjumaad === * {{en}}: horizon, solstice, * {{en}}: exact, exactly * {{en}}: moment * {{en}}: consciousness, mental faculty * {{en}}: akh (ancient Egyptian soul concept) ===Cognate=== *[[naq]], [[aaq]] qcalwdkj9qnv7a3vqmd6ah3wyy68n62 majeertay 0 10369 30051 2024-08-23T04:31:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''majeertay''' === Tarjumaad === * {{en}}: took a strong liking, 30051 wikitext text/x-wiki {{-so-}} == Magac == '''majeertay''' === Tarjumaad === * {{en}}: took a strong liking, jqsdq2p2jljisv3bfntyc587dts262z mar 0 10370 30052 2024-08-23T04:34:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mar''' === Tarjumaad === * {{en}}: pass, 30052 wikitext text/x-wiki {{-so-}} == Magac == '''mar''' === Tarjumaad === * {{en}}: pass, 5d60468xjwqv2t6qgsbq2d92he3vfm1 reexaan 0 10371 30420 30322 2024-09-01T22:47:18Z Girligaanshub 3150 30420 wikitext text/x-wiki {{-so-}} == Magac == '''reexaan''' === Tarjumaad === * {{en}}: mint * {{en}}: basil, Ocimum basilicum * {{en}}: fragrance plant * {{en}}: pusher, (evangelize, missionary work, proselytize, preaching, propagate) q7qbln0wh56dar5fd5y4x2nwpyqp00a mareexaan 0 10372 30061 30060 2024-08-23T13:48:55Z Girligaanshub 3150 30061 wikitext text/x-wiki {{-so-}} == Magac == '''mareexaan''' ===Etymology=== *(a) [[mar]] + [[reexaan]] *(b) [[mur]] + [[reexaan]] *(c) [[mur]] + [[eex]] (aan) *(d) [[ma]] + [[riix]] (maan) *(e) [[mure]] (Harla-Somali: love) + [[haan]] => in group favoritism === Tarjumaad === * {{en}}: tribe nohvxxt6ddoc3e7mrdqacfnmrnvkt8k eex 0 10373 30058 2024-08-23T04:46:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eex''' === Tarjumaad === * {{en}}: bias, partial, preference, inclined 30058 wikitext text/x-wiki {{-so-}} == Magac == '''eex''' === Tarjumaad === * {{en}}: bias, partial, preference, inclined sxyoxntqy4sdce15e4wx0tmzkrt1mqg ma 0 10374 30059 2024-08-23T04:50:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ma''' === Tarjumaad === * {{en}}: (negation) * {{en}}: did not 30059 wikitext text/x-wiki {{-so-}} == Magac == '''ma''' === Tarjumaad === * {{en}}: (negation) * {{en}}: did not rkdjg9w8q1y7n8bo85toaxc62y9hw1h siig 0 10375 30068 30064 2024-08-23T16:34:34Z Girligaanshub 3150 30068 wikitext text/x-wiki {{-so-}} == Magac == '''siig''' === Tarjumaad === * {{en}}: wipe * {{en}}: miss, loss, error, mishap, slip, deprive, lack, lacking, omit * {{en}}: stimulate, stimulation, ===Synonyms=== *[[siig]], [[lumo]], [[halaabo]] b70f6gpyqrxu8aig6g6v6uynv0enlqy jar 0 10376 30065 2024-08-23T16:23:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jar''' === Tarjumaad === * {{en}}: first spring rain shower 30065 wikitext text/x-wiki {{-so-}} == Magac == '''jar''' === Tarjumaad === * {{en}}: first spring rain shower on2yom6sx7r0uou9zg5eqnek1wuwui1 xamaarato 0 10377 30066 2024-08-23T16:26:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamaarato''' === Tarjumaad === * {{en}}: reptile 30066 wikitext text/x-wiki {{-so-}} == Magac == '''xamaarato''' === Tarjumaad === * {{en}}: reptile s3r5cls495vnanl8mz4u2x7smojpy7s sibidh 0 10378 30067 2024-08-23T16:32:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sibidh''' === Tarjumaad === * {{en}}: cement 30067 wikitext text/x-wiki {{-so-}} == Magac == '''sibidh''' === Tarjumaad === * {{en}}: cement ol7tk4ld2qpzkauykkra98cl3u4f800 lumo 0 10379 30070 2024-08-23T16:35:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lumo''' === Tarjumaad === * {{en}}: lose, miss ===Synonyms=== *[[siig]], [[lumo]], [[halaabo]] 30070 wikitext text/x-wiki {{-so-}} == Magac == '''lumo''' === Tarjumaad === * {{en}}: lose, miss ===Synonyms=== *[[siig]], [[lumo]], [[halaabo]] 288chpu2dlixn3psmw51ojyd8lsqj4j sagal 0 10380 30071 2024-08-23T16:38:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sagal''' === Tarjumaad === * {{en}}: aurora 30071 wikitext text/x-wiki {{-so-}} == Magac == '''sagal''' === Tarjumaad === * {{en}}: aurora h2k5rmaxkxm08b498lurl3t5m2fqr9c malow 0 10381 30072 2024-08-23T16:59:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malow''' === Tarjumaad === * {{en}}: squash, mash, 30072 wikitext text/x-wiki {{-so-}} == Magac == '''malow''' === Tarjumaad === * {{en}}: squash, mash, 43uz0a6sww5u0rwm6oi19aa94wycefe diisi 0 10382 30074 2024-08-23T17:08:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diisi''' === Tarjumaad === * {{en}}: dent 30074 wikitext text/x-wiki {{-so-}} == Magac == '''diisi''' === Tarjumaad === * {{en}}: dent 35fj0j6u7ukoz2guay1jjc42dp71x0x budh 0 10383 30075 2024-08-23T17:09:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''budh''' === Tarjumaad === * {{en}}: stick 30075 wikitext text/x-wiki {{-so-}} == Magac == '''budh''' === Tarjumaad === * {{en}}: stick j02vbeoeyb274x51niullkxjqlavz5x shanaqo 0 10384 30078 2024-08-23T17:14:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shanaqo''' === Tarjumaad === * {{en}}: hang 30078 wikitext text/x-wiki {{-so-}} == Magac == '''shanaqo''' === Tarjumaad === * {{en}}: hang 2vund8snr8gbml3xlr2vuq4uoulz2c2 udub-dhexeed 0 10385 30081 2024-08-23T17:28:32Z Girligaanshub 3150 Girligaanshub moved page [[udub-dhexeed]] to [[udub-dhexaad]] 30081 wikitext text/x-wiki #REDIRECT [[udub-dhexaad]] ou1p7jti8cxnbcqvzlhifogklol9ae3 belwo 0 10386 30088 2024-08-23T17:40:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''belwo''' === Tarjumaad === * {{en}}: song, 30088 wikitext text/x-wiki {{-so-}} == Magac == '''belwo''' === Tarjumaad === * {{en}}: song, dep2vyz3oaxla64fncfmh8xb1hsapsr hadhuub 0 10387 30090 2024-08-23T17:43:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hadhuub''' === Tarjumaad === * {{en}}: milk vessel, 30090 wikitext text/x-wiki {{-so-}} == Magac == '''hadhuub''' === Tarjumaad === * {{en}}: milk vessel, lt4jummhxrem9u5szqx0ipqzram9e2a hoori 0 10388 30094 30091 2024-08-23T17:51:07Z Girligaanshub 3150 30094 wikitext text/x-wiki {{-so-}} == Magac == '''hoori''' === Tarjumaad === * {{en}}: drizzle, ooze, seep, dribble, spill, pour, hail, trickle 1vdzhrgb1fkhz07y4ih66ngjikxyvud hoorinta 0 10389 30093 30092 2024-08-23T17:50:52Z Girligaanshub 3150 30093 wikitext text/x-wiki {{-so-}} == Magac == '''hoorinta''' === Tarjumaad === * {{en}}: drizzle, ooze, seep, dribble, spill, pour, hail, trickle ikhisxrfka8ikarcedsxx4j21lgj711 hogosha 0 10390 30095 2024-08-23T17:52:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hogosha''' === Tarjumaad === * {{en}}: precipitation, 30095 wikitext text/x-wiki {{-so-}} == Magac == '''hogosha''' === Tarjumaad === * {{en}}: precipitation, 51e0bc4pdu3e2gfg9w3c8wfjx8stf09 genbi 0 10391 30097 2024-08-23T17:53:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''genbi''' === Tarjumaad === * {{en}}: overthrow, 30097 wikitext text/x-wiki {{-so-}} == Magac == '''genbi''' === Tarjumaad === * {{en}}: overthrow, gk4a3n7vzm8c7lw7gnyu9lhhskk9fuz hayay 0 10392 30099 2024-08-23T17:55:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hayay''' === Tarjumaad === * {{en}}: help, 30099 wikitext text/x-wiki {{-so-}} == Magac == '''hayay''' === Tarjumaad === * {{en}}: help, hscprl4eeoj9saro73q75o1taagzwuw dhaama 0 10393 30100 2024-08-23T18:15:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaama''' === Tarjumaad === * {{en}}: excel, surpass, mog 30100 wikitext text/x-wiki {{-so-}} == Magac == '''dhaama''' === Tarjumaad === * {{en}}: excel, surpass, mog cj1c7llxqh8dj6xlwfmllh6xayn1r70 guga 0 10394 30101 2024-08-23T18:19:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guga''' === Tarjumaad === * {{en}}: coming of age, maturation 30101 wikitext text/x-wiki {{-so-}} == Magac == '''guga''' === Tarjumaad === * {{en}}: coming of age, maturation 9lyrc9munlwurvi4m1508ktwvts0mx5 qaabilo 0 10395 32592 32461 2024-11-24T13:05:05Z Girligaanshub 3150 32592 wikitext text/x-wiki {{-so-}} == Magac == '''qaabilo''' === Tarjumaad === * {{en}}: align, assign * {{en}}: embrace * {{en}}: accept, receive, bring, brought, fetch, take, import, welcome 7oahw0247nkmvm7p3u65kxaxlh0117a ifka 0 10396 30105 2024-08-23T18:54:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ifka''' === Tarjumaad === * {{en}}: vigour, 30105 wikitext text/x-wiki {{-so-}} == Magac == '''ifka''' === Tarjumaad === * {{en}}: vigour, 5a2xetvfc3kk9v0io1avjcmp9s9942u iidaan 0 10397 30106 2024-08-23T19:06:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iidaan''' === Tarjumaad === * {{en}}: appetizer, 30106 wikitext text/x-wiki {{-so-}} == Magac == '''iidaan''' === Tarjumaad === * {{en}}: appetizer, 4qt9oj7i5he7w27rnnict5hk01vhsuc iimey 0 10398 30109 2024-08-23T20:15:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iimey''' === Tarjumaad === * {{en}}: invalid, 30109 wikitext text/x-wiki {{-so-}} == Magac == '''iimey''' === Tarjumaad === * {{en}}: invalid, 4rote1cipgbaoeyax1jhdxegq6tq89f saxariir 0 10399 30114 30113 2024-08-23T20:17:38Z Girligaanshub 3150 30114 wikitext text/x-wiki {{-so-}} == Magac == '''saxariir''' === Tarjumaad === * {{en}}: anguish, agony m0sarzjsp1tytv2wzf43dhbqwxis1qw ayaandarro 0 10400 30118 30115 2024-08-23T20:20:16Z Girligaanshub 3150 30118 wikitext text/x-wiki {{-so-}} == Magac == '''ayaandarro''' === Tarjumaad === * {{en}}: unlucky, unluckiness, * {{en}}: misfortune ou9fdlwywpiufhvrpbtmw3o9zhr8p6a kadeed 0 10401 30119 30117 2024-08-23T20:20:51Z Girligaanshub 3150 30119 wikitext text/x-wiki {{-so-}} == Magac == '''kadeed''' === Tarjumaad === * {{en}}: external stress, l7oojuv3f3g6w8oyoyktms0141b7vf2 dhibaato 0 10402 30120 2024-08-23T20:22:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhibaato''' === Tarjumaad === * {{en}}: trouble, problem 30120 wikitext text/x-wiki {{-so-}} == Magac == '''dhibaato''' === Tarjumaad === * {{en}}: trouble, problem lgglk3bi64rikddx8s9mrzmz0yhp97w biiq 0 10403 30121 2024-08-23T20:40:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''biiq''' === Tarjumaad === * {{en}}: offspring of dik-dik ([[sagaaro]]), 30121 wikitext text/x-wiki {{-so-}} == Magac == '''biiq''' === Tarjumaad === * {{en}}: offspring of dik-dik ([[sagaaro]]), cxxz0c7stfp77kk5erckjv676k408uj like 0 10404 30122 2024-08-23T20:49:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''like''' === Tarjumaad === * {{en}}: mushroom, 30122 wikitext text/x-wiki {{-so-}} == Magac == '''like''' === Tarjumaad === * {{en}}: mushroom, r8u6p0wk66dcvbazqc2mujpl51542t5 gamuux 0 10405 30123 2024-08-23T20:49:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gamuux''' === Tarjumaad === * {{en}}: blunt, 30123 wikitext text/x-wiki {{-so-}} == Magac == '''gamuux''' === Tarjumaad === * {{en}}: blunt, it2zg3j37yayxjduoruji127hst1c72 haqabtir 0 10406 31822 31817 2024-10-25T21:30:27Z Girligaanshub 3150 31822 wikitext text/x-wiki {{-so-}} == Magac == '''haqabtir''' === Tarjumaad === * {{en}}: satisfy, ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]], [[dulqaad]], [[qanci]], [[haqabtir]] buuv5ifgyflg55xs4zezkem9lrx8qpe godob-qir 0 10407 30126 2024-08-23T21:07:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''godob-qir''' === Tarjumaad === * {{en}}: confession ===Antonyms=== *[[eedtir]] 30126 wikitext text/x-wiki {{-so-}} == Magac == '''godob-qir''' === Tarjumaad === * {{en}}: confession ===Antonyms=== *[[eedtir]] pys7rm6x5oar3je39hek5ewhnoteuse layli 0 10408 30127 2024-08-23T21:09:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''layli''' === Tarjumaad === * {{en}}: exercise 30127 wikitext text/x-wiki {{-so-}} == Magac == '''layli''' === Tarjumaad === * {{en}}: exercise af19r7hkiy3xicwjpz032ob9f5ghe32 boob 0 10409 30128 2024-08-23T21:09:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''boob''' === Tarjumaad === * {{en}}: rob 30128 wikitext text/x-wiki {{-so-}} == Magac == '''boob''' === Tarjumaad === * {{en}}: rob f4p6qt3ea8zi4zq4iooxcgtvou5ax6f booc 0 10410 30130 2024-08-23T22:18:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''booc''' === Tarjumaad === * {{en}}: throat 30130 wikitext text/x-wiki {{-so-}} == Magac == '''booc''' === Tarjumaad === * {{en}}: throat 39clgho92ry89m57819h8ezuqazluo0 cagafcagaf 0 10411 30131 2024-08-23T22:22:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cagafcagaf''' === Tarjumaad === * {{en}}: tractor, bulldozer 30131 wikitext text/x-wiki {{-so-}} == Magac == '''cagafcagaf''' === Tarjumaad === * {{en}}: tractor, bulldozer q7h15ima6upqqdr28tbrwym7rkofok6 sandaal 0 10412 30132 2024-08-23T22:23:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sandaal''' === Tarjumaad === * {{en}}: snout 30132 wikitext text/x-wiki {{-so-}} == Magac == '''sandaal''' === Tarjumaad === * {{en}}: snout 73sk4raa7eqmp6316zpqxd1k7m1fcza hinji 0 10413 30140 2024-08-23T22:59:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hinji''' === Tarjumaad === * {{en}}: lift ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]], [[hinji]] 30140 wikitext text/x-wiki {{-so-}} == Magac == '''hinji''' === Tarjumaad === * {{en}}: lift ===Synonyms=== *[[kobci]], [[dadduuc]], [[gooji]], [[daalac]], [[hinji]] qadqyle07tjr6ue5t6fm6u61diahmlm harti 0 10414 30146 2024-08-24T00:45:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''harti''' === Tarjumaad === * {{en}}: diligent and courageous husband 30146 wikitext text/x-wiki {{-so-}} == Magac == '''harti''' === Tarjumaad === * {{en}}: diligent and courageous husband lx4hdmvwta9ea3v3j8cl7hfbfb8h91k jarrab 0 10415 30147 2024-08-24T00:46:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jarrab''' === Tarjumaad === * {{en}}: exam, exams 30147 wikitext text/x-wiki {{-so-}} == Magac == '''jarrab''' === Tarjumaad === * {{en}}: exam, exams 3wfxlu5k4nl7udzhqp64wp5bp5556ry minxiis 0 10416 32114 30153 2024-10-28T04:40:56Z Girligaanshub 3150 32114 wikitext text/x-wiki {{-so-}} == Magac == '''minxiis''' === Tarjumaad === * {{en}}: single groomsman, single groom ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]], [[minxiis]] deiagpx3q3451x0plgmjw311f1j0do0 weelduw 0 10417 30156 2024-08-24T01:17:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''weelduw''' === Tarjumaad === * {{en}}: quarantine 30156 wikitext text/x-wiki {{-so-}} == Magac == '''weelduw''' === Tarjumaad === * {{en}}: quarantine hff10zbev3tzuzp41qu444edvszb0bt qofkahadal 0 10418 30157 2024-08-24T01:20:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qofkahadal''' === Tarjumaad === * {{en}}: biography 30157 wikitext text/x-wiki {{-so-}} == Magac == '''qofkahadal''' === Tarjumaad === * {{en}}: biography bgmo2wvpuq1l5edisixlhsd6ozwzdey garabkutaaglayn 0 10419 30158 2024-08-24T01:26:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garabkutaaglayn''' === Tarjumaad === * {{en}}: dictatorship 30158 wikitext text/x-wiki {{-so-}} == Magac == '''garabkutaaglayn''' === Tarjumaad === * {{en}}: dictatorship 1v10go2jduzxv7tqhavihas4ilg24u4 garabkutaagle 0 10420 30159 2024-08-24T01:27:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garabkutaagle''' === Tarjumaad === * {{en}}: dictator 30159 wikitext text/x-wiki {{-so-}} == Magac == '''garabkutaagle''' === Tarjumaad === * {{en}}: dictator 4sta9s0a3m4r94m945zl8exdg3ra0c8 ceegaag 0 10421 30161 2024-08-24T01:30:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ceegaag''' === Tarjumaad === * {{en}}: filled fully 30161 wikitext text/x-wiki {{-so-}} == Magac == '''ceegaag''' === Tarjumaad === * {{en}}: filled fully qzr1nj8zedsst2aafuoceltndl3ksep waaq 0 10422 32406 30924 2024-11-13T01:14:29Z Girligaanshub 3150 32406 wikitext text/x-wiki {{-so-}} == Magac == '''waaq''' === Tarjumaad === * {{en}}: shares roots with Arabic Waqf (stop) * {{en}}: [[waa]] (dawn) + Akhet / aq ([[akh]]) * {{en}}: contraction or clipping of Ra-Horakhty / rꜥ-ḥrw-ꜣḫty: [[orrax]] (Ra sun deity) and [[xuur]] (Horus), of the Two Horizons * {{en}}: the deity of the [[barwaaqo]] religion ===Cognates=== *[[dhawaaq]], [[waqooyi]], [[waaq]] mq67sr1ovym5m7ndbg3obto74iinyfp dhawaaq 0 10423 30163 2024-08-24T02:42:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhawaaq''' === Tarjumaad === * {{en}}: move ===Cognates=== *[[dhawaaq]], [[waqooyi]], [[waaq]] 30163 wikitext text/x-wiki {{-so-}} == Magac == '''dhawaaq''' === Tarjumaad === * {{en}}: move ===Cognates=== *[[dhawaaq]], [[waqooyi]], [[waaq]] 5x913mx6snlllvyg0duuvpq7ev5zyx7 waqooyi 0 10424 30164 2024-08-24T02:43:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqooyi''' === Tarjumaad === * {{en}}: north ===Cognates=== *[[dhawaaq]], [[waqooyi]], [[waaq]] 30164 wikitext text/x-wiki {{-so-}} == Magac == '''waqooyi''' === Tarjumaad === * {{en}}: north ===Cognates=== *[[dhawaaq]], [[waqooyi]], [[waaq]] svxgdzl0c3n252w4t7j6p0q36gz1hjj daldoolo 0 10425 30167 2024-08-24T02:48:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daldoolo''' === Tarjumaad === * {{en}}: shortcoming 30167 wikitext text/x-wiki {{-so-}} == Magac == '''daldoolo''' === Tarjumaad === * {{en}}: shortcoming dg33bbutfz7nge6mb9z7msfp2x20wha daliig 0 10426 30168 2024-08-24T02:49:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daliig''' === Tarjumaad === * {{en}}: draw a line 30168 wikitext text/x-wiki {{-so-}} == Magac == '''daliig''' === Tarjumaad === * {{en}}: draw a line 34hefwkcgesnrgu53aws2i6sxajykvl madiidin 0 10427 31550 30175 2024-10-13T04:58:11Z Girligaanshub 3150 31550 wikitext text/x-wiki {{-so-}} == Magac == '''madiidin''' === Tarjumaad === * {{en}}: slave ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], 8jsw3yoryl1o3bal6teupyjup6xyefl baylah 0 10428 30176 2024-08-24T03:03:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baylah''' === Tarjumaad === * {{en}}: unguarded, neglected 30176 wikitext text/x-wiki {{-so-}} == Magac == '''baylah''' === Tarjumaad === * {{en}}: unguarded, neglected 9r9e0xg2p46hijj8inr0gtqbei0l4zl hinqasho 0 10429 30177 2024-08-24T03:04:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hinqasho''' === Tarjumaad === * {{en}}: aspire, aspiration 30177 wikitext text/x-wiki {{-so-}} == Magac == '''hinqasho''' === Tarjumaad === * {{en}}: aspire, aspiration g02c8ekrr7xx1jwje6undei4gkcqojq waranle 0 10430 30178 2024-08-24T03:06:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waranle''' === Tarjumaad === * {{en}}: police, spearman 30178 wikitext text/x-wiki {{-so-}} == Magac == '''waranle''' === Tarjumaad === * {{en}}: police, spearman 9lcmgr7710ls414ghebsp2vi4yjnnma tidcan 0 10431 30179 2024-08-24T03:15:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tidcan''' === Tarjumaad === * {{en}}: braid, braided, braids 30179 wikitext text/x-wiki {{-so-}} == Magac == '''tidcan''' === Tarjumaad === * {{en}}: braid, braided, braids 4ze1pdj92vibbjpbn8wex978nigq5er isdaba-marin 0 10432 30180 2024-08-24T03:16:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isdaba-marin''' === Tarjumaad === * {{en}}: manipulation 30180 wikitext text/x-wiki {{-so-}} == Magac == '''isdaba-marin''' === Tarjumaad === * {{en}}: manipulation 0xu7ydbe6vha0xn98r66z025xe62jae dhartol 0 10433 30184 2024-08-24T03:18:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhartol''' === Tarjumaad === * {{en}}: sailor, seaman, seafarer, seafaring man, mariner, boatman, yachtsman ===Synonyms=== *[[saaqid]], [[badmaax]], [[dhartol]] 30184 wikitext text/x-wiki {{-so-}} == Magac == '''dhartol''' === Tarjumaad === * {{en}}: sailor, seaman, seafarer, seafaring man, mariner, boatman, yachtsman ===Synonyms=== *[[saaqid]], [[badmaax]], [[dhartol]] 2m7uoy29lr260hrgvl0efyw24he2zub dalow 0 10434 30799 30186 2024-09-17T18:57:18Z Girligaanshub 3150 30799 wikitext text/x-wiki {{-so-}} == Magac == '''timacad''' === Tarjumaad === * {{en}}: immigrant, ===Synonyms=== *[[timacad]], [[waageeni]], [[koyto]], [[dalow]], [[miidaaminta]], [[miidaamo]] agk9p5u7830xici9h3rbyv54acks60e carcaraaf 0 10435 30191 2024-08-24T03:23:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carcaraaf''' === Tarjumaad === * {{en}}: big trouble 30191 wikitext text/x-wiki {{-so-}} == Magac == '''carcaraaf''' === Tarjumaad === * {{en}}: big trouble 55pahhvy3oaycccukiznyjbkl0m2g1f raar 0 10436 30195 2024-08-24T03:27:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''raar''' === Tarjumaad === * {{en}}: bed 30195 wikitext text/x-wiki {{-so-}} == Magac == '''raar''' === Tarjumaad === * {{en}}: bed 3uo0ijzrfudk0j0tcvoo9p3kw0v9b0p gabaabsi 0 10437 30202 2024-08-24T11:32:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabaabsi''' === Tarjumaad === * {{en}}: scarce, ===Synonyms=== *[[dhif]], [[gabaabsi]] 30202 wikitext text/x-wiki {{-so-}} == Magac == '''gabaabsi''' === Tarjumaad === * {{en}}: scarce, ===Synonyms=== *[[dhif]], [[gabaabsi]] 2vzrxnxpdfi9p0vz95jaa9upbkl0wr5 lalabood 0 10438 30209 2024-08-24T15:52:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lalabood''' === Tarjumaad === * {{en}}: disgusting, nasty, vile, sickening, disgust, nauseating, ===Synonyms=== *[[yaqyaqsood]], [[lalabood]], [[yalaalugood]] 30209 wikitext text/x-wiki {{-so-}} == Magac == '''lalabood''' === Tarjumaad === * {{en}}: disgusting, nasty, vile, sickening, disgust, nauseating, ===Synonyms=== *[[yaqyaqsood]], [[lalabood]], [[yalaalugood]] b4komfs0mrkjv3yxg3vu4dwc2r5tvat yalaalugood 0 10439 30210 2024-08-24T15:53:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yalaalugood''' === Tarjumaad === * {{en}}: vile, abhorrent, sickening, disgust, nauseating, ===Synonyms=== *[[yaqyaqsood]], [[lalabood]], [[yalaalugood]] 30210 wikitext text/x-wiki {{-so-}} == Magac == '''yalaalugood''' === Tarjumaad === * {{en}}: vile, abhorrent, sickening, disgust, nauseating, ===Synonyms=== *[[yaqyaqsood]], [[lalabood]], [[yalaalugood]] 8x6h5lvxq2igzciyr08emdvib6ej33l wax-ku-ool 0 10440 30234 30225 2024-08-24T16:12:26Z Girligaanshub 3150 30234 wikitext text/x-wiki {{-so-}} == Magac == '''wax-ku-ool''' === Tarjumaad === * {{en}}: efficient, effective, fluent, efficiency, effective, effectiveness, fluency, expedient, expediency, convenient, convenience, ===Synonyms=== * [[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] jtzxtl88r0s6k8elumf06ar22gquyw8 waxtar leh 0 10441 30232 30223 2024-08-24T16:12:06Z Girligaanshub 3150 30232 wikitext text/x-wiki {{-so-}} == Magac == '''waxtar leh''' === Tarjumaad === * {{en}}: efficient, effective, fluent, efficiency, effective, effectiveness, fluency, expedient, expediency, convenient, convenience, ===Synonyms=== *[[hufnaan]], [[hufan]], [[wax-ku-ool]], [[taabagal]], [[waxtar leh]], [[suurtagal]], [[suuroob]], [[rumoobo]], [[hirgelin]] nfctajshpbernpc6ji1t5z73urx8j7w hanuunsan 0 10442 30243 30236 2024-08-24T16:18:04Z Girligaanshub 3150 30243 wikitext text/x-wiki {{-so-}} == Magac == '''hanuunsan''' === Tarjumaad === * {{en}}: guided, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] kbq1a7psiegrawehj7jzfe15rrcdqdk hagaag 0 10443 30239 2024-08-24T16:14:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagaag''' === Tarjumaad === * {{en}}: proper, correct, well, functioning, in order, okay, 30239 wikitext text/x-wiki {{-so-}} == Magac == '''hagaag''' === Tarjumaad === * {{en}}: proper, correct, well, functioning, in order, okay, 8f6nm52so5q4lun753xxb0l2zverp94 habaysan 0 10444 30241 30240 2024-08-24T16:17:19Z Girligaanshub 3150 30241 wikitext text/x-wiki {{-so-}} == Magac == '''habaysan''' === Tarjumaad === * {{en}}: proper, arranged, ordered, orderly, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] ct0blidxp0svfsyjpsubd5llgw9ad85 hagaagsan 0 10445 30242 2024-08-24T16:17:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagaagsan''' === Tarjumaad === * {{en}}: proper, correct, arranged, ordered, orderly, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] 30242 wikitext text/x-wiki {{-so-}} == Magac == '''hagaagsan''' === Tarjumaad === * {{en}}: proper, correct, arranged, ordered, orderly, ===Synonyms=== *[[habboon]], [[munaasib]], [[hanuunsan]], [[habaysan]], [[hagaagsan]] 7bhjnmaeqpgu7tb9ha0g6mes2zsh2fp hallaysan 0 10446 30247 30246 2024-08-24T16:20:02Z Girligaanshub 3150 30247 wikitext text/x-wiki {{-so-}} == Magac == '''hallaysan''' === Tarjumaad === * {{en}}: malfunctioning, disordered, ===Synonyms=== *[[hallaysan]], [[habawsan]] j8k08p2dh2l23qxxb10qxjh8054w3gx habawsan 0 10447 30248 2024-08-24T16:20:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''habawsan''' === Tarjumaad === * {{en}}: malfunctioning, disordered, misled, misleading, misguided, incorrect, wrong, ===Synonyms=== *[[hallaysan]], [[habawsan]] 30248 wikitext text/x-wiki {{-so-}} == Magac == '''habawsan''' === Tarjumaad === * {{en}}: malfunctioning, disordered, misled, misleading, misguided, incorrect, wrong, ===Synonyms=== *[[hallaysan]], [[habawsan]] 2h5flpty858lhzv98lj2nd1v71wstf4 afqarshe 0 10448 31946 31945 2024-10-26T00:03:30Z Girligaanshub 3150 31946 wikitext text/x-wiki {{-so-}} == Magac == '''hagaag''' === Tarjumaad === * {{en}}: ski-mask, balaclava, * {{en}}: face-hider * {{en}}: disguiser, masker, masked person, concealed person, cloaked person, camouflaged person, ===Synonyms=== *[[hagoogo]], [[hagoogan]], [[afqarshe]] o6r269g1ucjprwwww2p4rwttfjpymsp heegangeli 0 10449 30254 2024-08-24T19:23:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heegangeli''' === Tarjumaad === * {{en}}: mobilize 30254 wikitext text/x-wiki {{-so-}} == Magac == '''heegangeli''' === Tarjumaad === * {{en}}: mobilize a8yk269hutjnn5s04shqw2h2vbaee1h heegangelin 0 10450 30255 2024-08-24T19:27:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heegangelin''' === Tarjumaad === * {{en}}: mobilization 30255 wikitext text/x-wiki {{-so-}} == Magac == '''heegangelin''' === Tarjumaad === * {{en}}: mobilization nj1i2tdg7oiqa7y61yu1e5cnf5xwbep daadeji 0 10451 31042 30361 2024-10-02T03:46:44Z Girligaanshub 3150 31042 wikitext text/x-wiki {{-so-}} == Magac == '''daadeji''' === Tarjumaad === * {{en}}: implement, enact, impose, * {{en}}: stabilize * {{en}}: link, intertwine, attach asmjnxyewmh00s88oms02et610svrgi daadejin 0 10452 31043 30360 2024-10-02T03:47:20Z Girligaanshub 3150 31043 wikitext text/x-wiki {{-so-}} == Magac == '''daadejin''' === Tarjumaad === * {{en}}: stabilization, enactment, imposition, effectuation * {{en}}: implementation * {{en}}: deescalation, * {{en}}: link, intertwine, attach 9k9ca2uf2j5ekodfpp0vo9cody9s1n7 qorshe 0 10453 30260 2024-08-25T15:15:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qorshe''' === Tarjumaad === * {{en}}: plan, 30260 wikitext text/x-wiki {{-so-}} == Magac == '''qorshe''' === Tarjumaad === * {{en}}: plan, cxls234rxiyfqro507uirdrmkpsim8l aq 0 10454 30261 2024-08-25T17:22:56Z Girligaanshub 3150 Bog loo bedeley [[aaq]] 30261 wikitext text/x-wiki #redirect [[aaq]] h386kzbeoddfw8j7bsp1h87vhmlfm2i aboowe 0 10455 30264 2024-08-25T21:10:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aboowe''' === Tarjumaad === * {{en}}: relative (masculine), family member (masculine) ===Synonyms=== *[[huuno]], [[aboowe]], [[abaayo]] 30264 wikitext text/x-wiki {{-so-}} == Magac == '''aboowe''' === Tarjumaad === * {{en}}: relative (masculine), family member (masculine) ===Synonyms=== *[[huuno]], [[aboowe]], [[abaayo]] hy4lsjcstgq5kfcsft411y8ss336l0v abaayo 0 10456 30266 2024-08-25T21:10:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abaayo''' === Tarjumaad === * {{en}}: relative (female), family member (female) ===Synonyms=== *[[huuno]], [[aboowe]], [[abaayo]] 30266 wikitext text/x-wiki {{-so-}} == Magac == '''abaayo''' === Tarjumaad === * {{en}}: relative (female), family member (female) ===Synonyms=== *[[huuno]], [[aboowe]], [[abaayo]] rv3nixne38jazryulgdymoj6coztwd0 ina-gumeed 0 10457 30267 2024-08-25T21:26:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ina-gumeed''' === Tarjumaad === * {{en}}: low-life, low-life scum 30267 wikitext text/x-wiki {{-so-}} == Magac == '''ina-gumeed''' === Tarjumaad === * {{en}}: low-life, low-life scum cy1xokaon652097qo8uwsxb525x8dmb gumeed 0 10458 30268 2024-08-25T21:27:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gumeed''' === Tarjumaad === * {{en}}: lowly 30268 wikitext text/x-wiki {{-so-}} == Magac == '''gumeed''' === Tarjumaad === * {{en}}: lowly qsyw9isqe3srms27q4yx7y49k3j3vfa abaabul 0 10459 30273 2024-08-26T05:11:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abaabul''' === Tarjumaad === * {{en}}: organize, 30273 wikitext text/x-wiki {{-so-}} == Magac == '''abaabul''' === Tarjumaad === * {{en}}: organize, qwgydeubyiiem3sj10we2twtdl6egzr abaabulid 0 10460 30274 2024-08-26T05:12:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abaabulid''' === Tarjumaad === * {{en}}: organization, 30274 wikitext text/x-wiki {{-so-}} == Magac == '''abaabulid''' === Tarjumaad === * {{en}}: organization, 5u28tce6t1xtaemhlpzeji4siil8pfr niyad-dhiso 0 10461 30277 30275 2024-08-26T05:16:27Z Girligaanshub 3150 30277 wikitext text/x-wiki {{-so-}} == Magac == '''niyad-dhiso''' === Tarjumaad === * {{en}}: motivate, inspire, propel, persuade, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] gnq2bfzl4c054j84v6xwyuww4aozddo niyad-dhis 0 10462 30276 2024-08-26T05:15:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyad-dhis''' === Tarjumaad === * {{en}}: motivation, inspiration, persuasion, 30276 wikitext text/x-wiki {{-so-}} == Magac == '''niyad-dhis''' === Tarjumaad === * {{en}}: motivation, inspiration, persuasion, e5clnbi41qb0cu8buzxpy9s2g01rnqj niyadsii 0 10463 30278 2024-08-26T05:16:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyadsii''' === Tarjumaad === * {{en}}: motivate, inspire, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] 30278 wikitext text/x-wiki {{-so-}} == Magac == '''niyadsii''' === Tarjumaad === * {{en}}: motivate, inspire, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] hrivg8f6363wbiolfdohmgomgwilzrl ilhaami 0 10464 30279 2024-08-26T05:17:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilhaami''' === Tarjumaad === * {{en}}: motivate, inspire, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] 30279 wikitext text/x-wiki {{-so-}} == Magac == '''ilhaami''' === Tarjumaad === * {{en}}: motivate, inspire, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] iu2eixo6gnr16i50fipjxsqaltjs9px niyadsiin 0 10465 30280 2024-08-26T05:17:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''niyadsiin''' === Tarjumaad === * {{en}}: motivatation, inspiration, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] 30280 wikitext text/x-wiki {{-so-}} == Magac == '''niyadsiin''' === Tarjumaad === * {{en}}: motivatation, inspiration, ===Synonyms=== *[[niyad-dhiso]], [[niyadsii]], [[ilhaami]] 10tws8huhf4ts52gpo5iptskb5ff6kl dhiifonaado 0 10466 30282 2024-08-26T07:16:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiifoonaado''' === Tarjumaad === * {{en}}: be agile, be quick, be astute, be shrewd 30282 wikitext text/x-wiki {{-so-}} == Magac == '''dhiifoonaado''' === Tarjumaad === * {{en}}: be agile, be quick, be astute, be shrewd adej7dyc9bxy32lhtcmfjk0kmhv8f2m dardargeli 0 10467 32520 32441 2024-11-18T11:02:16Z Girligaanshub 3150 32520 wikitext text/x-wiki {{-so-}} == Magac == '''dardargeli''' === Tarjumaad === * {{en}}: galvanize, accelerate, hasten, * {{en}}: give ammunition (figuritive), ===Synonyms=== *[[dhiirigelin]], [[shidaal]], [[kaladanbayn]], [[dardargeli]] f0zi5gvegrqu5gw8lnlj6mmsm0nixox dardargelin 0 10468 32519 32472 2024-11-18T11:02:08Z Girligaanshub 3150 32519 wikitext text/x-wiki {{-so-}} == Magac == '''dardargelin''' === Tarjumaad === * {{en}}: galvanization, momentum ===Synonyms=== *[[dhiirigelin]], [[shidaal]], [[kaladanbayn]], [[dardargeli]] gnref49jlnwhc0tm1msbp33yby8f3f7 hawlgeli 0 10469 30286 2024-08-26T08:53:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hawlgeli''' === Tarjumaad === * {{en}}: deploy, launch, install, recruit, 30286 wikitext text/x-wiki {{-so-}} == Magac == '''hawlgeli''' === Tarjumaad === * {{en}}: deploy, launch, install, recruit, 134v8delqey6xw4ol9pnnr0pz59uk3c hawlgelin 0 10470 30287 2024-08-26T08:53:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hawlgelin''' === Tarjumaad === * {{en}}: deployment, launch, installment, recruitment, 30287 wikitext text/x-wiki {{-so-}} == Magac == '''hawlgelin''' === Tarjumaad === * {{en}}: deployment, launch, installment, recruitment, bt74jc1gda1rrp3liswozrjotlzc4yh udubdhexaad 0 10471 30312 30306 2024-08-26T22:38:26Z Girligaanshub 3150 30312 wikitext text/x-wiki {{-so-}} == Magac == '''udubdhexaad''' === Tarjumaad === * {{en}}: central pillar, epicenter, core, hub, nucleus, ground zero, centralized, centralization ===Synonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]], [[udubdhexaad]] ===Antonyms=== *[[udubdheerayn]], [[udubdheer]], [[udubdheerka]], [[udubdheeraynta]] 1di657bpol1l6vptetj1s4nvnvbc1b3 gaadhsii 0 10472 30295 2024-08-26T22:08:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaadhsii''' === Tarjumaad === * {{en}}: reach 30295 wikitext text/x-wiki {{-so-}} == Magac == '''gaadhsii''' === Tarjumaad === * {{en}}: reach mg53t6ddledmud6ath501odr1k6yw2b horjeed 0 10473 30323 30297 2024-08-27T05:33:02Z Girligaanshub 3150 30323 wikitext text/x-wiki {{-so-}} == Magac == '''horjeed''' === Tarjumaad === * {{en}}: oppose, opposing ===Synonyms=== *[[cagsi]], [[rogaal-celi]], [[rogaal-celin]], [[lid]], [[horjeed]] 856ya353thnxsxqo77pojh4zc6bfh5a dayacaad 0 10474 30298 2024-08-26T22:16:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dayacaad''' === Tarjumaad === * {{en}}: neglect, negligence, 30298 wikitext text/x-wiki {{-so-}} == Magac == '''dayacaad''' === Tarjumaad === * {{en}}: neglect, negligence, 9omcwflrz5gl56cmrgujv06kars2mt4 lid 0 10475 30325 30299 2024-08-27T05:33:28Z Girligaanshub 3150 30325 wikitext text/x-wiki {{-so-}} == Magac == '''lid''' === Tarjumaad === * {{en}}: opposite, ===Synonyms=== *[[cagsi]], [[rogaal-celi]], [[rogaal-celin]], [[lid]], [[horjeed]] b3vlncqpoic0274sl5s1icavb6tlahc xukun furfuran 0 10476 32652 32651 2024-11-30T07:46:57Z Girligaanshub 3150 32652 wikitext text/x-wiki {{-so-}} == Magac == '''xukun furfuran''' === Tarjumaad === * {{en}}: decentralized, decentralization ===Synonym=== *[[xukun furfuraynta]], [[xukun furfuran]], [[xukun furfurka]], [[xukun-furfurayn]] honkzp437vnha394gtek2mnyr4xtrpr xukun-furfurayn 0 10477 32653 32643 2024-11-30T07:47:08Z Girligaanshub 3150 32653 wikitext text/x-wiki {{-so-}} == Magac == '''xukun-furfurayn''' === Tarjumaad === * {{en}}: decentralized, decentralization ===Synonyms=== *[[xukun furfuraynta]], [[xukun furfuran]], [[xukun furfurka]], [[xukun-furfurayn]] ===Antonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]], [[udubdhexaad]] 3bxvr4yvv6p54ncpaqgbkaq5ysljdzd udubdheeray 0 10478 30302 2024-08-26T22:20:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''udubdheeray''' === Tarjumaad === * {{en}}: decentralize, 30302 wikitext text/x-wiki {{-so-}} == Magac == '''udubdheeray''' === Tarjumaad === * {{en}}: decentralize, a8zrfmjd5699gfbw63dn2seow3o0arp udubdhexayo 0 10479 30922 30304 2024-09-26T02:04:42Z Girligaanshub 3150 30922 wikitext text/x-wiki {{-so-}} == Magac == '''udubdhexayo''' === Tarjumaad === * {{en}}: centralize, concentrate ===Antonyms=== *[[udubdheeray]] ecxqp27ne5ve8m5nn6em2ek1n7wquu1 xukun furfurka 0 10480 32649 32647 2024-11-30T07:46:18Z Girligaanshub 3150 32649 wikitext text/x-wiki {{-so-}} == Magac == '''udubdheerka''' === Tarjumaad === * {{en}}: decentralized, decentralization ===Synonyms=== *[[xukun furfuraynta]], [[xukun furfuran]], [[xukun furfurka]], [[xukun-furfurayn]] ===Antonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]], [[udubdhexaad]] c714p66or13jte2hlo3ket1ltg1spc5 xukun furfuraynta 0 10481 32650 32646 2024-11-30T07:46:29Z Girligaanshub 3150 32650 wikitext text/x-wiki {{-so-}} == Magac == '''xukun furfuraynta''' === Tarjumaad === * {{en}}: decentralized, decentralization ===Synonyms=== *[[xukun furfuraynta]], [[xukun furfuran]], [[xukun furfurka]], [[xukun-furfurayn]] ===Antonyms=== *[[halbawlo]], [[udub-dhexaad]], [[xudun]], [[udubdhexaad]] 7qyffflrw0ykf51iecqofk7ym8aqg6m if 0 10482 30333 30327 2024-08-28T02:43:55Z Girligaanshub 3150 30333 wikitext text/x-wiki {{-so-}} == Magac == '''if''' === Tarjumaad === * {{en}}: natural world, physical world, material world, corporeal world ===Synonyms=== *[[if]], [[caadyaal]] f7qqukcz1qsjd9e2ixhdiovr8dhhy56 xifdi 0 10483 30328 2024-08-27T09:13:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xifdi''' === Tarjumaad === * {{en}}: memorize, 30328 wikitext text/x-wiki {{-so-}} == Magac == '''xifdi''' === Tarjumaad === * {{en}}: memorize, 5pdg06i5tzhb6yh8b12d41b0424lzsa waqti-xaadir 0 10484 30331 2024-08-28T01:34:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waqti-xaadir''' === Tarjumaad === * {{en}}: concurrent, 30331 wikitext text/x-wiki {{-so-}} == Magac == '''waqti-xaadir''' === Tarjumaad === * {{en}}: concurrent, cxhx6o7wln4fyuk5ycfywiilw4wlf0w waa-wareey 0 10485 31393 30352 2024-10-07T20:50:48Z Girligaanshub 3150 31393 wikitext text/x-wiki {{-so-}} == Magac == '''waa-wareey''' === Tarjumaad === * {{en}}: it is intense news (exclamation / interjection) * {{en}}: expression of shock, surprise, amazement, ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] ioawnxi5ybfzrmusiv57ek889w7r1dg wareer 0 10486 30348 2024-08-28T13:58:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wareer''' === Tarjumaad === * {{en}}: dizzy, confused 30348 wikitext text/x-wiki {{-so-}} == Magac == '''wareer''' === Tarjumaad === * {{en}}: dizzy, confused ilxfkgfija0nnx310lga7ec0q80qyoa rizq 0 10487 30349 2024-08-28T14:27:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rizq''' === Tarjumaad === * {{en}}: provision, sustenance, wealth 30349 wikitext text/x-wiki {{-so-}} == Magac == '''rizq''' === Tarjumaad === * {{en}}: provision, sustenance, wealth t1gargn2wlmx3i0pook2b71kenj046m waa-waray 0 10488 30351 2024-08-28T14:34:52Z Girligaanshub 3150 Girligaanshub moved page [[waa-waray]] to [[waa-wareey]] 30351 wikitext text/x-wiki #REDIRECT [[waa-wareey]] onfdn9w6ae1rp4qfac09k67ondj6qyt kumaade 0 10489 31528 31359 2024-10-13T03:23:30Z Girligaanshub 3150 31528 wikitext text/x-wiki {{-so-}} == Magac == '''kumaade''' === Tarjumaad === * {{en}}: someone from Kemet (Egypt); Kemite * {{en}}: Somali Galbeed tribe * {{en}}: (etymology) [[kaah]] + [[maad]] * {{en}}: (etymology) [[kuma]] + [[maad]] ===Synonyms=== *[[ka-madow]], [[kumaade]] gnrrwif3s0hg4ekjt0z7omnrgkadmgi kumaad 0 10490 32801 31527 2024-12-01T19:27:46Z ВМНС 5070 32801 wikitext text/x-wiki {{-so-}} == Magac == '''kumaad''' === Tarjumaad === * {{en}}: Kemet (Egypt) * {{en}}: (etymology) [[kaah]] + [[maad]] * {{en}}: (etymology) [[kuma]] + [[maad]] [[Category:Soomaali ereyada-ku]] 2uv6j9f61pe9dpva55378cav6bhqhmm qaraabe 0 10491 30358 2024-08-29T07:17:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaraabe''' === Tarjumaad === * {{en}}: gatherer 30358 wikitext text/x-wiki {{-so-}} == Magac == '''qaraabe''' === Tarjumaad === * {{en}}: gatherer r46p10smyn38r88mxrp9pbz4tf2pj06 ka sakow 0 10492 32421 32420 2024-11-14T08:46:49Z Girligaanshub 3150 32421 wikitext text/x-wiki {-so-}} == Magac == '''ka sakow''' === Tarjumaad === * {{en}}: disregard, ignore * {{en}}: beside, besides ===Synonyms=== *[[ka sakow]], [[indhotir]], [[ka sokow]] osogobtq4g32q76ccu30al992qeeymm halaabay 0 10493 31541 30369 2024-10-13T04:29:35Z Girligaanshub 3150 31541 wikitext text/x-wiki {{-so-}} == Magac == '''halaabay''' === Tarjumaad === * {{en}}: lost, missing ===Synonyms=== *[[halaabay]], [[lumay]] 9cwrj5dzbxm02sl3ifr0z10cainn4ao khaldame 0 10494 30371 2024-08-30T21:06:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khaldame''' === Tarjumaad === * {{en}}: wrongdoer, ===Synonyms=== *[[gacanbidixe]], [[khaldaan]], [[khaldame]], 30371 wikitext text/x-wiki {{-so-}} == Magac == '''khaldame''' === Tarjumaad === * {{en}}: wrongdoer, ===Synonyms=== *[[gacanbidixe]], [[khaldaan]], [[khaldame]], sibmcunshq1tgkrjon3i3a9mn3wcp9k gees 0 10495 30372 2024-08-30T21:10:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gees''' === Tarjumaad === * {{en}}: horn * {{en}}: side 30372 wikitext text/x-wiki {{-so-}} == Magac == '''gees''' === Tarjumaad === * {{en}}: horn * {{en}}: side 8g7wx7ric6itqd85a8erwzqb0pge81o qaar 0 10496 30373 2024-08-30T21:11:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qaar''' === Tarjumaad === * {{en}}: some * {{en}}: stick 30373 wikitext text/x-wiki {{-so-}} == Magac == '''qaar''' === Tarjumaad === * {{en}}: some * {{en}}: stick 9wdtrvwxlop53whsam2ftmdf96jyh8y sug 0 10497 30465 30375 2024-09-03T21:21:28Z Girligaanshub 3150 30465 wikitext text/x-wiki {{-so-}} == Magac == '''sug''' === Tarjumaad === * {{en}}: check * {{en}}: wait * {{en}}: place, placed, placement ko5fpe5qt1u8048nayk4qs6feza3auf tuug 0 10498 30376 2024-08-30T21:13:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tuug''' === Tarjumaad === * {{en}}: beg * {{en}}: thief 30376 wikitext text/x-wiki {{-so-}} == Magac == '''tuug''' === Tarjumaad === * {{en}}: beg * {{en}}: thief ti1p72kjorqacfnjuajiiz21cfy0ry8 xanxanto 0 10499 30381 2024-08-31T04:56:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanxanto''' === Tarjumaad === * {{en}}: tickle, tickling 30381 wikitext text/x-wiki {{-so-}} == Magac == '''xanxanto''' === Tarjumaad === * {{en}}: tickle, tickling h1tasjct9dwevl2tnpp6s77khmqa01q xaanshi 0 10500 32350 30382 2024-11-10T13:01:34Z Girligaanshub 3150 32350 wikitext text/x-wiki {{-so-}} == Magac == '''xaanshi''' === Tarjumaad === * {{en}}: paper, page, sheet ===Synonyms=== *[[xaanshi]], [[xaashi]], [[warqad]], [[bog]], [[baal]], [[jaamac]] 55nqa5r9w2u1cmo1o8n8xsq94snecj9 idin 0 10501 30388 2024-08-31T16:13:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''idin''' === Tarjumaad === * {{en}}: grace 30388 wikitext text/x-wiki {{-so-}} == Magac == '''idin''' === Tarjumaad === * {{en}}: grace altti6j5fwkwd71oymyw7i1myg85hfx afbeelan 0 10502 30390 2024-08-31T17:33:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afbeelan''' === Tarjumaad === * {{en}}: dull, blunt, blunted 30390 wikitext text/x-wiki {{-so-}} == Magac == '''afbeelan''' === Tarjumaad === * {{en}}: dull, blunt, blunted gwx93v60000xhrdlgfodusbm6tog4r8 afcaan 0 10503 30391 2024-08-31T18:04:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afcaan''' === Tarjumaad === * {{en}}: global language, lingua franca, universal language 30391 wikitext text/x-wiki {{-so-}} == Magac == '''afcaan''' === Tarjumaad === * {{en}}: global language, lingua franca, universal language 7nihbp51mppzc63j1hbix3mui6k9bdh qarbaan 0 10504 30392 2024-08-31T18:07:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qarbaan''' === Tarjumaad === * {{en}}: offering 30392 wikitext text/x-wiki {{-so-}} == Magac == '''qarbaan''' === Tarjumaad === * {{en}}: offering aet6bbcr2794wfkw7f0alrhf8modvch afdhabaandhab 0 10505 32104 30393 2024-10-28T04:28:48Z Girligaanshub 3150 32104 wikitext text/x-wiki {{-so-}} == Magac == '''afdhabaandhab''' === Tarjumaad === * {{en}}: shushing gesture (via the hands) * {{en}}: mouth gagged ===Synonyms=== *[[afdhabaandhab]], [[afdhabaandhow]] drln1j7n4vztknr9tpg68srxxrakb1m suus 0 10506 30394 2024-08-31T18:31:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suus''' === Tarjumaad === * {{en}}: decay 30394 wikitext text/x-wiki {{-so-}} == Magac == '''suus''' === Tarjumaad === * {{en}}: decay m0kc5kr95d5fbbvhgtltc2q6doi80nw ehel 0 10507 30395 2024-08-31T18:50:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ehel''' === Tarjumaad === * {{en}}: family 30395 wikitext text/x-wiki {{-so-}} == Magac == '''ehel''' === Tarjumaad === * {{en}}: family 2nvda5askd8q9r2jalo8rvb0i9hslik idanka 0 10508 30398 2024-09-01T00:06:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''idanka''' === Tarjumaad === * {{en}}: will, testament, directive, legacy, probate 30398 wikitext text/x-wiki {{-so-}} == Magac == '''idanka''' === Tarjumaad === * {{en}}: will, testament, directive, legacy, probate klcdij6xa7xfxfw1dqki9fd5xuzy53c miir 0 10509 30400 2024-09-01T03:25:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miir''' === Tarjumaad === * {{en}}: filter, strain, strainer, sieve, sift, (usually of food) ===Synonyms=== * [[shaandhee]], [[miir]], [[miiraabo]] 30400 wikitext text/x-wiki {{-so-}} == Magac == '''miir''' === Tarjumaad === * {{en}}: filter, strain, strainer, sieve, sift, (usually of food) ===Synonyms=== * [[shaandhee]], [[miir]], [[miiraabo]] 762ktuduglkhsnl92tbkppy0tn08roi nashiro 0 10510 30403 2024-09-01T08:46:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == magac == '''nashiro''' === Tarjumaad === * {{en}}: hoist, raise, jack up, erect, haul up 30403 wikitext text/x-wiki {{-so-}} == magac == '''nashiro''' === Tarjumaad === * {{en}}: hoist, raise, jack up, erect, haul up qsglb8uudtl0jhg8qtl5uu6p0qe3heb ku-xigeen 0 10511 30413 2024-09-01T10:41:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ku-xigeen''' === Tarjumaad === * {{en}}: vice, deputy, deputy chief, vice-president, vice-regent, ===Synonyms=== *[[ku-meel-gaadh]], [[ku sime]], [[ku-xigeen]] 30413 wikitext text/x-wiki {{-so-}} == Magac == '''ku-xigeen''' === Tarjumaad === * {{en}}: vice, deputy, deputy chief, vice-president, vice-regent, ===Synonyms=== *[[ku-meel-gaadh]], [[ku sime]], [[ku-xigeen]] 08igwsdimvako5i8pmuornnxzwpmhyc cadaadis 0 10512 32329 30415 2024-11-08T18:49:19Z Girligaanshub 3150 32329 wikitext text/x-wiki {{-so-}} == Magac == '''cadaadis''' === Tarjumaad === * {{en}}: pressure * {{en}}: normal * {{en}}: take for granted, expect, expected, presume, pmh71me7id5u59elilla5rpabkvlkw5 suun 0 10513 30418 2024-09-01T22:03:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''suun''' === Tarjumaad === * {{en}}: belt ===Synonyms=== *[[boqor]], [[suun]], [[kiish]] 30418 wikitext text/x-wiki {{-so-}} == Magac == '''suun''' === Tarjumaad === * {{en}}: belt ===Synonyms=== *[[boqor]], [[suun]], [[kiish]] qybw6otvzv8q1apeuhqllc4c8rh0ht4 kiish 0 10514 30419 2024-09-01T22:04:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kiish''' === Tarjumaad === * {{en}}: belt ===Synonyms=== *[[boqor]], [[suun]], [[kiish]] 30419 wikitext text/x-wiki {{-so-}} == Magac == '''kiish''' === Tarjumaad === * {{en}}: belt ===Synonyms=== *[[boqor]], [[suun]], [[kiish]] 17oq9jd445vj1sh9hp9mzs0pqz9b4rr afkuxuuble 0 10515 30421 2024-09-02T00:20:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afkuxuuble''' === Tarjumaad === * {{en}}: preterm, premature, 30421 wikitext text/x-wiki {{-so-}} == Magac == '''afkuxuuble''' === Tarjumaad === * {{en}}: preterm, premature, j26yzyixqy568ipp9lsr13nykuk3dvf afkalaqaad 0 10516 31398 30424 2024-10-07T20:52:08Z Girligaanshub 3150 31398 wikitext text/x-wiki {{-so-}} == Magac == '''afkalaqaad''' === Tarjumaad === * {{en}}: astonished, amazed, shock ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] l957zta69hiz7f1mwyke8d7dozzuzzk naxdin 0 10517 31395 30427 2024-10-07T20:51:12Z Girligaanshub 3150 31395 wikitext text/x-wiki {{-so-}} == Magac == '''naxdin''' === Tarjumaad === * {{en}}: shock ===Synonyms=== *[[afkalaqaad]], [[amakaag]], [[yaab]], [[nax]], [[naxdin]], [[qarracan]], [[waa-wareey]] rqw5wzvwzbtvoi209ldmmkcpell75hg qadaf 0 10518 30428 2024-09-02T01:49:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qadaf''' === Tarjumaad === * {{en}}: vulgar, obscene 30428 wikitext text/x-wiki {{-so-}} == Magac == '''qadaf''' === Tarjumaad === * {{en}}: vulgar, obscene 0crb6zfbxr8d3hqr57cx25z2k04glxr aflaw 0 10519 30429 2024-09-02T01:51:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aflaw''' === Tarjumaad === * {{en}}: toothless, edentulism, edentulous 30429 wikitext text/x-wiki {{-so-}} == Magac == '''aflaw''' === Tarjumaad === * {{en}}: toothless, edentulism, edentulous obrnb8ru4woz2us5qlc1kju5ycv2cku aflax 0 10520 32257 31895 2024-11-04T05:47:32Z Girligaanshub 3150 32257 wikitext text/x-wiki {{-so-}} == Magac == '''aflax''' === Tarjumaad === * {{en}}: graduation, graduate, qualify, qualified ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] czr5rihv9dl9fg097p93i4udzxd2h1z dhagari 0 10521 30436 2024-09-02T02:00:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhagari''' === Tarjumaad === * {{en}}: schemer, manipulator, conspirator, swindler, deceiver, plotter, 30436 wikitext text/x-wiki {{-so-}} == Magac == '''dhagari''' === Tarjumaad === * {{en}}: schemer, manipulator, conspirator, swindler, deceiver, plotter, nenry9ukcqa63m6dgk4uw9q2kmyshn9 afwebi 0 10522 30438 2024-09-02T12:04:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afwebi''' === Tarjumaad === * {{en}}: mouth of a river, river mouth 30438 wikitext text/x-wiki {{-so-}} == Magac == '''afwebi''' === Tarjumaad === * {{en}}: mouth of a river, river mouth jp765f9ekb17re6qzwwzr6b2n7m2xje ricir 0 10523 30439 2024-09-02T12:09:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ricir''' === Tarjumaad === * {{en}}: bone, 30439 wikitext text/x-wiki {{-so-}} == Magac == '''ricir''' === Tarjumaad === * {{en}}: bone, 6bh46qz803cejj1ebxtx4fmbrbgufx7 bile 0 10524 32439 31932 2024-11-15T07:16:53Z Girligaanshub 3150 32439 wikitext text/x-wiki {{-so-}} == Magac == '''bile''' === Tarjumaad === * {{en}}: doer, performer, perpetrator, operator, pro-active, proactive ===Synonyms=== *[[waxqabad]], [[hawlwadeen]], [[bile]], [[bedbile]] ezfmnevsck6nqneq1qc615o7catgag2 bed 0 10525 30443 2024-09-02T19:54:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bed''' === Tarjumaad === * {{en}}: alter, 30443 wikitext text/x-wiki {{-so-}} == Magac == '''bed''' === Tarjumaad === * {{en}}: alter, nevixwf7kgsa9ri6dd7xpt62j2k2qay bedbile 0 10526 32440 30493 2024-11-15T07:17:03Z Girligaanshub 3150 32440 wikitext text/x-wiki {{-so-}} == Magac == '''bedbile''' === Tarjumaad === * {{en}}: transformer, changemaker, reformer, reformist, changer, mediator ===Synonyms=== *[[waxqabad]], [[hawlwadeen]], [[bile]], [[bedbile]] rrkphp3p74p2rvhnl07xeard89ow0kp hoyo 0 10527 30447 2024-09-02T20:12:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hoyo''' === Tarjumaad === * {{en}}: resting place, * {{en}}: rest 30447 wikitext text/x-wiki {{-so-}} == Magac == '''hoyo''' === Tarjumaad === * {{en}}: resting place, * {{en}}: rest k4yto578md1uaeapuq9m0swm004iwfb car 0 10528 30448 2024-09-03T01:30:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''car''' === Tarjumaad === * {{en}}: I dare you! (interjection) 30448 wikitext text/x-wiki {{-so-}} == Magac == '''car''' === Tarjumaad === * {{en}}: I dare you! (interjection) hinr6ota7i7a23ox0mkez1ctowu8z6g sama 0 10529 30450 30449 2024-09-03T01:34:41Z Girligaanshub 3150 30450 wikitext text/x-wiki {{-so-}} == Magac == '''sama''' === Tarjumaad === * {{en}}: good, positive, decent, satisfactory kyn4td6dy3xbfuykl4i15n0fvvb9n1n ararsame 0 10530 30919 30456 2024-09-25T06:54:46Z Girligaanshub 3150 30919 wikitext text/x-wiki {{-so-}} == Magac == '''ararsame''' === Tarjumaad === * {{en}}: Somali tribe * {{en}}: [[car]] ar (daring mouth / speech) + [[same]] (decent, good) * {{en}}: aar (opponents) + Arsames (Achaemenid Egyptian satrap); expelled Egyptian revolters against Arsames * {{en}}: [[arar]] + [[same]] (literally: good panel / good mural) 7mr5sqq6h2v00zhvakltndpdr8n2os9 leelkase 0 10531 30452 2024-09-03T01:47:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''leelkase''' === Tarjumaad === * {{en}}: expert / knower of the horse reins, 30452 wikitext text/x-wiki {{-so-}} == Magac == '''leelkase''' === Tarjumaad === * {{en}}: expert / knower of the horse reins, 8geo4eo5prav1clrc3dsutzac57ocqv carar 0 10532 30453 2024-09-03T01:49:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carar''' === Tarjumaad === * {{en}}: run, * {{en}}: speedy, fast-paced, relentless pace 30453 wikitext text/x-wiki {{-so-}} == Magac == '''carar''' === Tarjumaad === * {{en}}: run, * {{en}}: speedy, fast-paced, relentless pace qnp2l2fq85ksaojchh2vhuaocxu7ua8 same 0 10533 30455 2024-09-03T01:49:44Z Girligaanshub 3150 Bog loo bedeley [[sama]] 30455 wikitext text/x-wiki #redirect [[sama]] 00cidde0nx66dirzowbyri4437atqpj xawaadle 0 10534 30457 2024-09-03T05:04:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xawaadle''' === Tarjumaad === * {{en}}: owner of livestock 30457 wikitext text/x-wiki {{-so-}} == Magac == '''xawaadle''' === Tarjumaad === * {{en}}: owner of livestock 5d8ka9rslxdj91rqjqhvwuqnc7ulc3z gadabuursi 0 10535 30458 2024-09-03T05:06:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gadabuursi''' === Tarjumaad === * {{en}}: people of mountains, all on the mountains * {{en}}: geda (mountain) + buursi (alliance): mountain alliance 30458 wikitext text/x-wiki {{-so-}} == Magac == '''gadabuursi''' === Tarjumaad === * {{en}}: people of mountains, all on the mountains * {{en}}: geda (mountain) + buursi (alliance): mountain alliance qy223krrxsnkmm2c1un4buaa96vt386 laaqo 0 10536 30460 2024-09-03T14:55:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laaqo''' === Tarjumaad === * {{en}}: conflate, conflation, conflating 30460 wikitext text/x-wiki {{-so-}} == Magac == '''laaqo''' === Tarjumaad === * {{en}}: conflate, conflation, conflating a71pk6vl4yyyeecokfgip2scldvkwrw side 0 10537 30461 2024-09-03T14:56:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''side''' ===Etymology=== *Isis === Tarjumaad === * {{en}}: carrier, bearer 30461 wikitext text/x-wiki {{-so-}} == Magac == '''side''' ===Etymology=== *Isis === Tarjumaad === * {{en}}: carrier, bearer imjvkoheji38tvlboxhgxkdiq2l8huf geesad 0 10538 30462 2024-09-03T17:30:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geesad''' === Tarjumaad === * {{en}}: palette 30462 wikitext text/x-wiki {{-so-}} == Magac == '''geesad''' === Tarjumaad === * {{en}}: palette qa7tjhcbjr3tnr9yuo1n8f1dqem2ol6 nabaad-guur 0 10539 30463 2024-09-03T17:54:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabaad-guur''' === Tarjumaad === * {{en}}: soil erosion, desertification 30463 wikitext text/x-wiki {{-so-}} == Magac == '''nabaad-guur''' === Tarjumaad === * {{en}}: soil erosion, desertification kbcr3w6hlml1cqe91jq4zw2z0f7j2fd qayaad 0 10540 30468 30467 2024-09-03T22:43:34Z Girligaanshub 3150 30468 wikitext text/x-wiki {{-so-}} == Magac == '''qayaad''' === Tarjumaad === * {{en}}: the tribe of the last pharaoh of the 17th dynasty Ka(mose) 9fghvwhkta1bc1jyqyq49dhu261dlrv qanjir 0 10541 30470 2024-09-04T01:54:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qanjir''' === Tarjumaad === * {{en}}: fang, pincher, pincer, stinger, 30470 wikitext text/x-wiki {{-so-}} == Magac == '''qanjir''' === Tarjumaad === * {{en}}: fang, pincher, pincer, stinger, 8fy52hwza8h5hoc74hfk77ld1o9h0gc miciyaha 0 10542 30472 2024-09-04T02:03:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miciyaha''' === Tarjumaad === * {{en}}: canine tooth, cuspid, dogteeth, fang, 30472 wikitext text/x-wiki {{-so-}} == Magac == '''miciyaha''' === Tarjumaad === * {{en}}: canine tooth, cuspid, dogteeth, fang, 3n8aodels7kck8fdu8f01yq2wyrysac waabayad 0 10543 30473 2024-09-04T02:03:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waabayad''' === Tarjumaad === * {{en}}: venom, 30473 wikitext text/x-wiki {{-so-}} == Magac == '''waabayad''' === Tarjumaad === * {{en}}: venom, 6rk9irxnjx6lsabrmgn8rqrir4uo3wm caarad 0 10544 31323 30474 2024-10-04T19:11:05Z Girligaanshub 3150 31323 wikitext text/x-wiki {{-so-}} == Magac == '''caarad''' === Tarjumaad === * {{en}}: tip, point, barrel, apex, peak, extremity, ===Synonyms=== *[[fuqa]], [[caarad]] k64p64r7dq00y602lzwdigpgdoxaaxh taaj 0 10545 30475 2024-09-04T06:00:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taaj''' === Tarjumaad === * {{en}}: crown 30475 wikitext text/x-wiki {{-so-}} == Magac == '''taaj''' === Tarjumaad === * {{en}}: crown cdaev41o3qtnqjbgapmaw6sznsec1k8 akh 0 10546 30480 2024-09-04T06:31:16Z Girligaanshub 3150 Bog loo bedeley [[aaq]] 30480 wikitext text/x-wiki #redirect [[aaq]] h386kzbeoddfw8j7bsp1h87vhmlfm2i dhangadeey 0 10547 30489 30487 2024-09-05T01:19:52Z Girligaanshub 3150 30489 wikitext text/x-wiki {{-so-}} == Magac == '''dhangadeey''' === Tarjumaad === * {{en}}: stick beat, stick hit, stick assault, stick strike, 2r3ziiip845c1ar48iiyp77dgtet4e5 dhangadayn 0 10548 30488 30486 2024-09-05T01:19:24Z Girligaanshub 3150 30488 wikitext text/x-wiki {{-so-}} == Magac == '''dhangadayn''' === Tarjumaad === * {{en}}: stick beating, stick hitting, stick assault, stick battery, t5px0t7grfm4lcckm2mgf0sz8rh6h07 tumo 0 10549 30598 30591 2024-09-08T03:51:23Z Girligaanshub 3150 30598 wikitext text/x-wiki {{-so-}} == Magac == '''tumo''' === Tarjumaad === * {{en}}: beat, hit, assault, strike, ===Synonyms=== *[[garaac]], [[tumo]], [[bukeey]], [[babdhab]], [[karbaash]], e26z01wm9x6nwbv9whgbspf5inckkoo tumin 0 10550 30491 2024-09-05T01:25:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tumin''' === Tarjumaad === * {{en}}: beating, hitting, assaulting, striking, 30491 wikitext text/x-wiki {{-so-}} == Magac == '''tumin''' === Tarjumaad === * {{en}}: beating, hitting, assaulting, striking, nph5t5qw9waa2dgtgyzippwzj1zccff aqoonmaal 0 10551 32032 31016 2024-10-27T14:02:23Z Girligaanshub 3150 32032 wikitext text/x-wiki {{-so-}} == Magac == '''aqoonmaal''' === Tarjumaad === * {{en}}: science, specialty, * {{en}}: discipline ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] 288ztndtxqjgu4erne1byqpf8j50se0 daahfurnaan 0 10552 30495 2024-09-05T06:53:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahfurnaan''' === Tarjumaad === * {{en}}: transparency 30495 wikitext text/x-wiki {{-so-}} == Magac == '''daahfurnaan''' === Tarjumaad === * {{en}}: transparency ebxbf3hwfx7wnhviu5r6rasug30iijk daahfuran 0 10553 30496 2024-09-05T06:53:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahfuran''' === Tarjumaad === * {{en}}: transparent 30496 wikitext text/x-wiki {{-so-}} == Magac == '''daahfuran''' === Tarjumaad === * {{en}}: transparent 88uidmxxsd8vzuk1x1gdnke2sbxuspt daahfureed 0 10554 30497 2024-09-05T06:55:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahfureed''' === Tarjumaad === * {{en}}: transparent 30497 wikitext text/x-wiki {{-so-}} == Magac == '''daahfureed''' === Tarjumaad === * {{en}}: transparent 0uwvyaxdk4irdti30tbp5dzmx29o6t4 daahfurnimo 0 10555 30498 2024-09-05T06:58:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daahfurnimo''' === Tarjumaad === * {{en}}: transparentness, transparently 30498 wikitext text/x-wiki {{-so-}} == Magac == '''daahfurnimo''' === Tarjumaad === * {{en}}: transparentness, transparently 4qq4i0kjdhezqu5e1wp7cng1h2c3d2g dhangaado 0 10556 30499 2024-09-05T07:03:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhangaado''' === Tarjumaad === * {{en}}: backhand slap ===Synonyms=== *[[farajirjir]], [[dhangaado]] 30499 wikitext text/x-wiki {{-so-}} == Magac == '''dhangaado''' === Tarjumaad === * {{en}}: backhand slap ===Synonyms=== *[[farajirjir]], [[dhangaado]] o52jv2we3jgfzl42dq6r9ejc0g6qpox farajirjir 0 10557 30500 2024-09-05T07:03:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''farajirjir''' === Tarjumaad === * {{en}}: backhand slap ===Synonyms=== *[[farajirjir]], [[dhangaado]] 30500 wikitext text/x-wiki {{-so-}} == Magac == '''farajirjir''' === Tarjumaad === * {{en}}: backhand slap ===Synonyms=== *[[farajirjir]], [[dhangaado]] m7xmi9vltdb93f46ckv6qvlcprstkfg afdheeray 0 10558 30510 30509 2024-09-05T08:26:18Z Girligaanshub 3150 30510 wikitext text/x-wiki {{-so-}} == Magac == '''afdheeray''' === Tarjumaad === * {{en}}: intensify, escalate, augment, exacerbate, aggravate, amplify, magnify, reinforce, boost, radicalize, boasting, brag, swagger 31d2l8jv0j01eu7qhz3zzzvfm4mg0y5 afdheerayn 0 10559 30511 30503 2024-09-05T08:26:34Z Girligaanshub 3150 30511 wikitext text/x-wiki {{-so-}} == Magac == '''afdheerayn''' === Tarjumaad === * {{en}}: intensification, escalation, radicalization augmentation, exacerbation, aggravation, amplification, magnification, reinforcement, boost, arrogance, bragging 3p0c5i9givszcsp2pvj0iwxagza0y8f mulaax 0 10560 30512 2024-09-05T18:58:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mulaax''' === Tarjumaad === * {{en}}: plant branch epidermis tissue, plant branch dermal tissue, phloem layer of tree branch, periderm layer of tree branch ===Synonyms=== *[[mulaax]], [[mulaha]] 30512 wikitext text/x-wiki {{-so-}} == Magac == '''mulaax''' === Tarjumaad === * {{en}}: plant branch epidermis tissue, plant branch dermal tissue, phloem layer of tree branch, periderm layer of tree branch ===Synonyms=== *[[mulaax]], [[mulaha]] tfy3dva0phxedwzca9fbybmns2fty5f mulaha 0 10561 30513 2024-09-05T18:58:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mulaha''' === Tarjumaad === * {{en}}: plant branch epidermis tissue, plant branch dermal tissue, phloem layer of tree branch, periderm layer of tree branch ===Synonyms=== *[[mulaax]], [[mulaha]] 30513 wikitext text/x-wiki {{-so-}} == Magac == '''mulaha''' === Tarjumaad === * {{en}}: plant branch epidermis tissue, plant branch dermal tissue, phloem layer of tree branch, periderm layer of tree branch ===Synonyms=== *[[mulaax]], [[mulaha]] rg5c9zb8dfxyie7m42svyw8tnmunp9l waasuge 0 10562 30514 2024-09-05T19:04:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waasuge''' === Tarjumaad === * {{en}}: a infant who waited till dawn to be born 30514 wikitext text/x-wiki {{-so-}} == Magac == '''waasuge''' === Tarjumaad === * {{en}}: a infant who waited till dawn to be born 7myzj3rcco5m37qlec133mjbe7bgw91 jisir 0 10563 30518 2024-09-05T20:33:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jisir''' === Tarjumaad === * {{en}}: sacred, holy, sanctified, hallowed, consecrated, venerated, ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]], [[jisir]] 30518 wikitext text/x-wiki {{-so-}} == Magac == '''jisir''' === Tarjumaad === * {{en}}: sacred, holy, sanctified, hallowed, consecrated, venerated, ===Synonyms=== *[[muqadasnimo]], [[muqadas]], [[lamataabtaan]], [[lama-taabtaan]], [[jisir]] ri6iebzvhv5zkfo4m4p9xvbp0f2p7t2 bishin 0 10564 30521 2024-09-06T05:14:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bishin''' === Tarjumaad === * {{en}}: lip 30521 wikitext text/x-wiki {{-so-}} == Magac == '''bishin''' === Tarjumaad === * {{en}}: lip nuq6384vir90682n58hbhi2rzg038ud faruur 0 10565 30522 2024-09-06T05:14:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faruur''' === Tarjumaad === * {{en}}: lip 30522 wikitext text/x-wiki {{-so-}} == Magac == '''faruur''' === Tarjumaad === * {{en}}: lip in2x36abuzztq8mzbszwvl29oxr22sd hiddo-qasid 0 10566 30668 30525 2024-09-11T00:11:40Z Girligaanshub 3150 30668 wikitext text/x-wiki {{-so-}} == Magac == '''hiddo-qasid''' === Tarjumaad === * {{en}}: admixture ===Synonyms=== *[[hiddo-qasid]], [[sinji-qasid]] k772ei25jg4mrwqg8sgh5yfjlf72xfn gutaale 0 10567 30526 2024-09-06T16:02:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gutaale''' === Tarjumaad === * {{en}}: haver of an army 30526 wikitext text/x-wiki {{-so-}} == Magac == '''gutaale''' === Tarjumaad === * {{en}}: haver of an army aaggqbk8o3eci31t5k5rajd1vm1ngs2 geeddi 0 10568 30527 2024-09-06T16:03:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geeddi''' === Tarjumaad === * {{en}}: traveler; visitor of [[geedjoog]] gatherings 30527 wikitext text/x-wiki {{-so-}} == Magac == '''geeddi''' === Tarjumaad === * {{en}}: traveler; visitor of [[geedjoog]] gatherings 16v4x0yx0hd9v9q8xdoaf3smo0f6rmq samatar 0 10569 31294 30528 2024-10-04T16:48:05Z Girligaanshub 3150 31294 wikitext text/x-wiki {{-so-}} == Magac == '''samatar''' === Tarjumaad === * {{en}}: doer of good ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] mho1pcgmmhz3b46ptcdymmv4phswlkm samakab 0 10570 31293 30529 2024-10-04T16:47:51Z Girligaanshub 3150 31293 wikitext text/x-wiki {{-so-}} == Magac == '''samakab''' === Tarjumaad === * {{en}}: doer of good ===Synonyms=== *[[samotalis]], [[samotaliye]], [[bulsho-yaqaan]], [[samafale]], [[murtimaale]], [[aqoondirsade]], [[samatar]], [[samakab]], [[dhaqanceli]] 16ttjt6m81aoijf39u7ladudjk1gtsg caraale 0 10571 30533 2024-09-06T16:06:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caraale''' === Tarjumaad === * {{en}}: clean person 30533 wikitext text/x-wiki {{-so-}} == Magac == '''caraale''' === Tarjumaad === * {{en}}: clean person bj49qetaf3ig2jlt2ehrghswx3amzqa cawaale 0 10572 30536 30534 2024-09-06T18:34:54Z Girligaanshub 3150 30536 wikitext text/x-wiki {{-so-}} == Magac == '''cawaale''' === Tarjumaad === * {{en}}: one who receives [[caawi]]; a lucky person glbfrkutrd9vs7eua0h3hizgtoz3eus warankilo 0 10573 30535 2024-09-06T18:30:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''warankilo''' === Tarjumaad === * {{en}}: bleach 30535 wikitext text/x-wiki {{-so-}} == Magac == '''warankilo''' === Tarjumaad === * {{en}}: bleach 6mfwcbgu9epx4wkep2mamev52693ffl awrala 0 10574 30537 2024-09-06T18:35:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''awrala''' === Tarjumaad === * {{en}}: one without blemish 30537 wikitext text/x-wiki {{-so-}} == Magac == '''awrala''' === Tarjumaad === * {{en}}: one without blemish 0ziahr66esh1v3crpapza2f63238oua meesan 0 10575 30543 30539 2024-09-06T22:02:44Z Girligaanshub 3150 30543 wikitext text/x-wiki {{-so-}} == Magac == '''maacuun''' === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] p6oiu60qcylacnch5x5ycioh4xciz5u muleen 0 10576 30541 2024-09-06T22:02:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muleen''' === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] 30541 wikitext text/x-wiki {{-so-}} == Magac == '''muleen''' === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] e5fvyn23s6s4p3m80dxyq6znmarqqde magaad 0 10577 30542 2024-09-06T22:02:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''magaad''' === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] 30542 wikitext text/x-wiki {{-so-}} == Magac == '''magaad''' === Tarjumaad === * {{en}}: dishes, dishware, crockery, crockies, table ware, tableware, serving utensil, serving utensils, crockeries, dinner set, dishwear ===Synonyms=== *[[maacuun]], [[meesan]], [[muleen]], [[magaad]] etqigjbzynjo4bonaqtrk60dsnasdj3 ereybixin 0 10578 30898 30897 2024-09-23T05:07:18Z Girligaanshub 3150 30898 wikitext text/x-wiki {{-so-}} == Magac == '''ereybixin''' === Tarjumaad === * {{en}}: word coinage, coin a word * {{en}}: [[diwaanka ereyada]] (vocabulary) bg56z7dcyg7p4j4o7ko9gpacwan79u1 hagaas 0 10579 30546 2024-09-07T04:01:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagaas''' === Tarjumaad === * {{en}}: stagnant stagnancy, stagnation, recession, dormant, dormancy, 30546 wikitext text/x-wiki {{-so-}} == Magac == '''hagaas''' === Tarjumaad === * {{en}}: stagnant stagnancy, stagnation, recession, dormant, dormancy, 72etx3fv7plkpm1vubo2lqmnilctnqv baaba' 0 10580 30547 2024-09-07T04:02:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaba'''' === Tarjumaad === * {{en}}: obliteration, obliterate 30547 wikitext text/x-wiki {{-so-}} == Magac == '''baaba'''' === Tarjumaad === * {{en}}: obliteration, obliterate 64dksgd6yu057cotrc0qbh1ki1axv1m dhurko 0 10581 30549 2024-09-07T15:13:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhurko''' === Tarjumaad === * {{en}}: scooch, scooch over, slide, shift, slip, veer, slither 30549 wikitext text/x-wiki {{-so-}} == Magac == '''dhurko''' === Tarjumaad === * {{en}}: scooch, scooch over, slide, shift, slip, veer, slither pmkrq88r1lbqzire60rh4lvtr4txjrk keen 0 10582 30551 2024-09-07T15:44:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keen''' === Tarjumaad === * {{en}}: bring * {{en}}: horse muzzle tack, mecate, horse muzzle strap, ===Synonyms=== *[[leel]], [[keen]], [[caynaan]] 30551 wikitext text/x-wiki {{-so-}} == Magac == '''keen''' === Tarjumaad === * {{en}}: bring * {{en}}: horse muzzle tack, mecate, horse muzzle strap, ===Synonyms=== *[[leel]], [[keen]], [[caynaan]] 4qlnnwkhs47n4r6jn3uyubt2zv4ehdb soogashi 0 10583 30553 2024-09-07T21:55:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''soogashi''' === Tarjumaad === * {{en}}: import, importation ===Antonym=== *[[dhoofi]], 30553 wikitext text/x-wiki {{-so-}} == Magac == '''soogashi''' === Tarjumaad === * {{en}}: import, importation ===Antonym=== *[[dhoofi]], jk09mujsolr46fbjp7hhijy5hetzfzl dibadgayn 0 10584 30555 2024-09-07T21:57:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dibadgayn''' === Tarjumaad === * {{en}}: export, exportation ===Synonyms=== *[[dhoofi]], [[dibadgayn]], [[siigal]] 30555 wikitext text/x-wiki {{-so-}} == Magac == '''dibadgayn''' === Tarjumaad === * {{en}}: export, exportation ===Synonyms=== *[[dhoofi]], [[dibadgayn]], [[siigal]] ayggjxxi5eiqc5qpkk8v5hd6vnuhyte siigal 0 10585 30556 2024-09-07T21:57:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siigal''' === Tarjumaad === * {{en}}: export, exportation ===Synonyms=== *[[dhoofi]], [[dibadgayn]], [[siigal]] 30556 wikitext text/x-wiki {{-so-}} == Magac == '''siigal''' === Tarjumaad === * {{en}}: export, exportation ===Synonyms=== *[[dhoofi]], [[dibadgayn]], [[siigal]] o7ivs2h1174nw6m7y7kwd529ogxcg6b baaluq 0 10586 30557 2024-09-07T22:11:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluq''' === Tarjumaad === * {{en}}: puberty, 30557 wikitext text/x-wiki {{-so-}} == Magac == '''baaluq''' === Tarjumaad === * {{en}}: puberty, emobq82juljg3obfq5k1pfpn9it13ts baaluqnimo 0 10587 30558 2024-09-07T22:11:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqnimo''' === Tarjumaad === * {{en}}: puberty, pubescence, 30558 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqnimo''' === Tarjumaad === * {{en}}: puberty, pubescence, qatgv9i0wotktporu7r93aug73svrr2 baaluqnimada 0 10588 30559 2024-09-07T22:12:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqnimada''' === Tarjumaad === * {{en}}: puberty, pubescence 30559 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqnimada''' === Tarjumaad === * {{en}}: puberty, pubescence mcwb9qqnadsro3vlen5i1srhq9gwnwf baaluqin 0 10589 30560 2024-09-07T22:14:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqin''' === Tarjumaad === * {{en}}: prepubescent, prepubescence, prepuberty, 30560 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqin''' === Tarjumaad === * {{en}}: prepubescent, prepubescence, prepuberty, hy4myy6gvem1svlu6rokihj220be7dr dhiigmiire 0 10590 32444 32010 2024-11-15T08:55:48Z Girligaanshub 3150 32444 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiire''' === Tarjumaad === * {{en}}: exploiter, manipulator, manipulator, ===Synonyms=== *[[dhiigmiire]], [[duufsade]], [[hunguri-doon]] 9gtaeoxqzv9cpnajm4esjn9fl01b3vp dhiigmiirad 0 10591 30578 30562 2024-09-07T23:28:44Z Girligaanshub 3150 30578 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiirad''' === Tarjumaad === * {{en}}: exploitation, manipulation, 4y990qw7dqigauqn3seuelhi0cxz1mw dhiigmiirto 0 10592 30577 30563 2024-09-07T23:27:31Z Girligaanshub 3150 30577 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiirto''' === Tarjumaad === * {{en}}: exploit, manipulate e4rzy6zhcmypfvnkqhjsdwuvdmztxki dhiigmiiro 0 10593 32739 32721 2024-11-30T18:03:34Z Girligaanshub 3150 32739 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiiro''' === Tarjumaad === * {{en}}: exploit, manipulate ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] rp1wl2rz3i7e2qgz45i2e3ukv14ahc9 baaluqinyo 0 10594 30565 2024-09-07T22:22:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqinyo''' === Tarjumaad === * {{en}}: prepubescents 30565 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqinyo''' === Tarjumaad === * {{en}}: prepubescents tw33voe238t5si8hagfc8ap6owhhkhn baaluqinaha 0 10595 30566 2024-09-07T22:23:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqinaha''' === Tarjumaad === * {{en}}: prepubescents 30566 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqinaha''' === Tarjumaad === * {{en}}: prepubescents 3mw1gr32a5gfrreryihjmyfnzzlsrmk baaluqe 0 10596 30567 2024-09-07T22:24:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqe''' === Tarjumaad === * {{en}}: pubescent person ===Synonyms=== *[[baaluqe]], [[kuray]] 30567 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqe''' === Tarjumaad === * {{en}}: pubescent person ===Synonyms=== *[[baaluqe]], [[kuray]] j5czxfw97byu7exzedpi7k9n1u0rp3r lulan 0 10597 30573 30569 2024-09-07T22:53:28Z Girligaanshub 3150 30573 wikitext text/x-wiki {{-so-}} == Magac == '''lulan''' === Tarjumaad === * {{en}}: wavey, wavy ===Synonyms=== *[[lulan]], [[xoodan]] e1e082oawrrhzau4r76nlfnxa0ab1cw kurayo 0 10598 30589 30570 2024-09-08T03:13:53Z Girligaanshub 3150 30589 wikitext text/x-wiki {{-so-}} == Magac == '''kurayo''' === Tarjumaad === * {{en}}: tweens, preteens, preadolescents, tweenagers, prepubescents, junior highers, tweenybopper, ===Synonyms=== *[[baaluqyo]], [[kurayo]], [[baaluqaha]], [[kurayaal]], 3dtd872l49btagg5vc1nwipcx0fl8bi baaluqyo 0 10599 30590 30571 2024-09-08T03:14:02Z Girligaanshub 3150 30590 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqyo''' === Tarjumaad === * {{en}}: the tweens, the preteens, adolescents, tweenagers, pubescents, junior highers, tweenybopper, ===Synonyms=== *[[baaluqyo]], [[kurayo]], [[baaluqaha]], [[kurayaal]], efvlbyxbts2yyc0igmg22m99jkyte8w baaluqaha 0 10600 30587 30572 2024-09-08T03:12:13Z Girligaanshub 3150 30587 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqyaha''' === Tarjumaad === * {{en}}: adolescents, pubescents, ===Synonyms=== *[[baaluqyo]], [[kurayo]], [[baaluqaha]], [[kurayaal]] d1wg3fb4usctudu0r0p0935ututl7b0 xoodan 0 10601 30574 2024-09-07T22:55:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xoodan''' === Tarjumaad === * {{en}}: curly ===Synonyms=== *[[lulan]], [[xoodan]] 30574 wikitext text/x-wiki {{-so-}} == Magac == '''xoodan''' === Tarjumaad === * {{en}}: curly ===Synonyms=== *[[lulan]], [[xoodan]] p4lsrr5tn0r7e265sf8gp7158wxeb9l dhiigmiirada 0 10602 30579 2024-09-07T23:28:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiigmiirada''' === Tarjumaad === * {{en}}: exploitation, manipulation, 30579 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiirada''' === Tarjumaad === * {{en}}: exploitation, manipulation, 3h5attr5vc2n8xr50qz3pq1is39gl4p dhiigmiiraha 0 10603 30580 2024-09-08T00:01:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiigmiiraha''' === Tarjumaad === * {{en}}: exploiters, manipulators, 30580 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiiraha''' === Tarjumaad === * {{en}}: exploiters, manipulators, 5j4x6imaz9lf8jeng3nw5fcum4dpjv7 dhiigmiirayaal 0 10604 30581 2024-09-08T00:17:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhiigmiirayaal''' === Tarjumaad === * {{en}}: exploiters, manipulators, 30581 wikitext text/x-wiki {{-so-}} == Magac == '''dhiigmiirayaal''' === Tarjumaad === * {{en}}: exploiters, manipulators, 38se8eofzjkudaaojw9hwcz5wp8xkx8 baaluqay 0 10605 30584 30582 2024-09-08T00:27:39Z Girligaanshub 3150 30584 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqay''' === Tarjumaad === * {{en}}: entered puberty recently, reached pubarche, flimfevlyu49infgw6nyh9y1eny16dk baaluqday 0 10606 30583 2024-09-08T00:27:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baaluqday''' === Tarjumaad === * {{en}}: entered puberty i.e. thelarche, menarche etc. recently (feminine), 30583 wikitext text/x-wiki {{-so-}} == Magac == '''baaluqday''' === Tarjumaad === * {{en}}: entered puberty i.e. thelarche, menarche etc. recently (feminine), jluxrdo34blqc19d81qshgw21r628je kurayaal 0 10607 30588 2024-09-08T03:12:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kurayaal''' === Tarjumaad === * {{en}}: adolescents, pubescents, ===Synonyms=== *[[baaluqyo]], [[kurayo]], [[baaluqaha]], [[kurayaal]] 30588 wikitext text/x-wiki {{-so-}} == Magac == '''kurayaal''' === Tarjumaad === * {{en}}: adolescents, pubescents, ===Synonyms=== *[[baaluqyo]], [[kurayo]], [[baaluqaha]], [[kurayaal]] 2bw68q9dof1w9cj2d8yz48w79oss4xp bukeey 0 10608 30597 30592 2024-09-08T03:51:12Z Girligaanshub 3150 30597 wikitext text/x-wiki {{-so-}} == Magac == '''bukeey''' === Tarjumaad === * {{en}}: beat, hit, assault, strike, ===Synonyms=== *[[garaac]], [[tumo]], [[bukeey]], [[babdhab]], [[karbaash]], ftildu5midb3jc2906pqdv2hxmo50qx babdhab 0 10609 30596 30593 2024-09-08T03:51:01Z Girligaanshub 3150 30596 wikitext text/x-wiki {{-so-}} == Magac == '''babdhab''' === Tarjumaad === * {{en}}: beat, hit, assault, strike, ===Synonyms=== *[[garaac]], [[tumo]], [[bukeey]], [[babdhab]], [[karbaash]], 6o2hl20n59p2x2filj235hg8p15ttrs laangare 0 10610 30600 2024-09-08T14:05:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laangare''' === Tarjumaad === * {{en}}: one-legged amputee 30600 wikitext text/x-wiki {{-so-}} == Magac == '''laangare''' === Tarjumaad === * {{en}}: one-legged amputee lfjt7mskyracho98v7it1l1907ewsm3 iley 0 10611 30601 2024-09-08T14:07:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iley''' === Tarjumaad === * {{en}}: one eyed, 30601 wikitext text/x-wiki {{-so-}} == Magac == '''iley''' === Tarjumaad === * {{en}}: one eyed, auk2zvx21c8pv02ivvuhoj25yli59qq cagjar 0 10612 30602 2024-09-08T14:07:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cagjar''' === Tarjumaad === * {{en}}: barefoot, barefooted 30602 wikitext text/x-wiki {{-so-}} == Magac == '''cagjar''' === Tarjumaad === * {{en}}: barefoot, barefooted f84k9x60qpqlf5ud8pf1h1dapog3053 gurgurte 0 10613 30603 2024-09-08T14:08:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gurgurte''' === Tarjumaad === * {{en}}: frail legs, 30603 wikitext text/x-wiki {{-so-}} == Magac == '''gurgurte''' === Tarjumaad === * {{en}}: frail legs, 3ee8teuyariy3j69t98bdakdj3o7x4k martabadda 0 10614 30605 2024-09-08T22:57:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''martabadda''' === Tarjumaad === * {{en}}: dignity 30605 wikitext text/x-wiki {{-so-}} == Magac == '''martabadda''' === Tarjumaad === * {{en}}: dignity fayuahy2tqg97cszodavzxqyk2mjrvb jamo 0 10615 32532 32460 2024-11-18T13:09:35Z Girligaanshub 3150 32532 wikitext text/x-wiki {{-so-}} == Magac == '''jamo''' === Tarjumaad === * {{en}}: to crave, to desire, to yearn, to covet, to long for (especially during pregnancy) ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]], [[dardargalo]] * *[[boori]] ===isku isir-raac=== *[[jamo]], [[jan]], [[jante]], [[jamasho]] 826w4x7509h05wrd86li7h9f0g6rfik jan 0 10616 30612 30609 2024-09-09T13:20:50Z Girligaanshub 3150 30612 wikitext text/x-wiki {{-so-}} == Magac == '''jamasho''' === Tarjumaad === * {{en}}: craving, desiring, longing (especially during pregnancy) ===isku isir-raac=== *[[jamo]], [[jan]], [[jante]], [[jamasho]] slzy944wt9a0qc2ykm6edb8j3do36ib jante 0 10617 30610 2024-09-09T13:20:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jamasho''' === Tarjumaad === * {{en}}: craver, phliac ===isku isir-raac=== *[[jamo]], [[jan]], [[jante]], [[jamasho]] 30610 wikitext text/x-wiki {{-so-}} == Magac == '''jamasho''' === Tarjumaad === * {{en}}: craver, phliac ===isku isir-raac=== *[[jamo]], [[jan]], [[jante]], [[jamasho]] nbaj7r4bn206144nsz8caex5z1duqob bartamaad 0 10618 30632 2024-09-09T15:05:10Z Girligaanshub 3150 Girligaanshub moved page [[bartamaad]] to [[bartameed]] 30632 wikitext text/x-wiki #REDIRECT [[bartameed]] n3avvm3zat5p5nsgfpkzdnbgzu7bxl1 badhxani 0 10619 30642 2024-09-10T09:52:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badhxani''' === Tarjumaad === * {{en}}: normie 30642 wikitext text/x-wiki {{-so-}} == Magac == '''badhxani''' === Tarjumaad === * {{en}}: normie hpt6qi2whvcmp0xjlmppxd9vzknca0m iskaashi 0 10620 30645 30643 2024-09-10T13:15:21Z Girligaanshub 3150 30645 wikitext text/x-wiki {{-so-}} == Magac == '''iskaashi''' === Tarjumaad === * {{en}}: cooperate, collaborate, coordinate, mutualize, make joint, combine kqq8vw6kpdc64r62bxuc8o7z4gkvlxm iskaashato 0 10621 30644 2024-09-10T13:14:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskaashato''' === Tarjumaad === * {{en}}: cooperative, communal, collaboration, collaborative, coordination, mutual, joint, combination 30644 wikitext text/x-wiki {{-so-}} == Magac == '''iskaashato''' === Tarjumaad === * {{en}}: cooperative, communal, collaboration, collaborative, coordination, mutual, joint, combination 4yn42cvc17zjkxmescc76btaxea44w8 gacan-qabsi 0 10622 30646 2024-09-10T13:17:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacan-qabsi''' === Tarjumaad === * {{en}}: handheld, manual, 30646 wikitext text/x-wiki {{-so-}} == Magac == '''gacan-qabsi''' === Tarjumaad === * {{en}}: handheld, manual, 8lqg5d4yxusgudg6sexlbsqcgak28k0 maxalli 0 10623 32468 30647 2024-11-16T02:01:26Z Girligaanshub 3150 32468 wikitext text/x-wiki {{-so-}} == Magac == '''maxalli''' === Tarjumaad === * {{en}}: local ===Synonyms=== *[[maxalli]], [[qoraxjoog]], [[qolqoljoog]] 8qu09za7wbq34txbiy8m9rbu0mn2f8r maxalliga 0 10624 30648 2024-09-10T14:46:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maxalliga''' === Tarjumaad === * {{en}}: local 30648 wikitext text/x-wiki {{-so-}} == Magac == '''maxalliga''' === Tarjumaad === * {{en}}: local k3qcs4gp7osuchd9ph84gr7g6a04j7q NNKH 0 10625 30649 2024-09-10T20:17:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''NNKH''' === Tarjumaad === * {{en}}: [[naxariis iyo nabadgelyo korkiisa ha-ahaato]] (peace be upon him) 30649 wikitext text/x-wiki {{-so-}} == Magac == '''NNKH''' === Tarjumaad === * {{en}}: [[naxariis iyo nabadgelyo korkiisa ha-ahaato]] (peace be upon him) 7gebcx9innzw00pufsz49g72i25e949 naxariis iyo nabadgelyo korkiisa ha-ahaato 0 10626 30650 2024-09-10T20:18:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naxariis iyo nabadgelyo korkiisa ha-ahaato''' === Tarjumaad === * {{en}}: peace be upon him 30650 wikitext text/x-wiki {{-so-}} == Magac == '''naxariis iyo nabadgelyo korkiisa ha-ahaato''' === Tarjumaad === * {{en}}: peace be upon him oupodxgd211oj5l49zw8pc2owkxt8ru leh 0 10627 30652 2024-09-10T21:50:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''leh''' === Tarjumaad === * {{en}}: have 30652 wikitext text/x-wiki {{-so-}} == Magac == '''leh''' === Tarjumaad === * {{en}}: have 51dfbjdo80b32dppvw7ff5dca4jgtr0 edeb 0 10628 30660 30655 2024-09-10T22:24:01Z Girligaanshub 3150 30660 wikitext text/x-wiki {{-so-}} == Magac == '''edeb''' === Tarjumaad === * {{en}}: polite, disciplined, manners ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] b63k96c4z8bpi7inpn2v9mfn4l5c3eo garjamasho 0 10629 30656 2024-09-10T22:23:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garjamasho''' === Tarjumaad === * {{en}}: integrity, virtue, virtuousness, ethics, principles, morality ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] 30656 wikitext text/x-wiki {{-so-}} == Magac == '''garjamasho''' === Tarjumaad === * {{en}}: integrity, virtue, virtuousness, ethics, principles, morality ===Synonyms=== *[[mabda'a]], [[garjamasho]], [[asluub]], [[edebnimo]], [[edeb]], [[akhlaaq]], [[ixsaan]] lw1pwhmaztt349ae6ortrd2u771kdkb garjante 0 10630 30665 2024-09-10T22:26:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garjante''' === Tarjumaad === * {{en}}: integralist, virtuous person, ethical person, 30665 wikitext text/x-wiki {{-so-}} == Magac == '''garjante''' === Tarjumaad === * {{en}}: integralist, virtuous person, ethical person, ht2z4kgon70fh2cjs7hkc8zyy3p6zng sinji-qasid 0 10631 30667 2024-09-11T00:11:32Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sinji-qasid''' === Tarjumaad === * {{en}}: ethnic admixture ===Synonyms=== *[[hiddo-qasid]], [[sinji-qasid]] 30667 wikitext text/x-wiki {{-so-}} == Magac == '''sinji-qasid''' === Tarjumaad === * {{en}}: ethnic admixture ===Synonyms=== *[[hiddo-qasid]], [[sinji-qasid]] sxemxbpzxqh8a3ksrf4hgf7vl0y6bp2 baale 0 10632 30720 2024-09-11T14:34:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baale''' === Tarjumaad === * {{en}}: follower of deity Baal 30720 wikitext text/x-wiki {{-so-}} == Magac == '''baale''' === Tarjumaad === * {{en}}: follower of deity Baal 4wegs1qj96hhlw63pq9zmrbyk5ueawx olog 0 10633 30735 2024-09-12T18:00:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''olog''' === Tarjumaad === * {{en}}: communion, friendship, communication 30735 wikitext text/x-wiki {{-so-}} == Magac == '''olog''' === Tarjumaad === * {{en}}: communion, friendship, communication izccuj2hqzj0ezh2u7pfw5l255m19ob mug 0 10634 31399 31391 2024-10-07T20:54:37Z Girligaanshub 3150 31399 wikitext text/x-wiki {{-so-}} == Magac == '''mug''' === Tarjumaad === * {{en}}: volume, extensive, significant, significance, mass, overwhelming, substantial, optimum, plurality, majority ===Synonyms=== *[[taako]], [[baaxad]], [[fogaan]], [[masaafo]], [[mug]], [[baahsan]] njhtq1qky01s1c9utsimtmvkyqv6jxo keymo 0 10635 30749 2024-09-13T02:34:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''keymo''' === Tarjumaad === * {{en}}: forestry (from [[keyn]]) 30749 wikitext text/x-wiki {{-so-}} == Magac == '''keymo''' === Tarjumaad === * {{en}}: forestry (from [[keyn]]) nudsq29xet3xqy70hrjmnud1cd88fmz hab-dhaqameed 0 10636 30750 2024-09-13T02:57:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hab-dhaqameed''' === Tarjumaad === * {{en}}: lifestyle 30750 wikitext text/x-wiki {{-so-}} == Magac == '''hab-dhaqameed''' === Tarjumaad === * {{en}}: lifestyle ryau0oag7vd3uk45gu4cbfsx82xwg8i afmaal 0 10637 30751 2024-09-13T19:10:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afmaal''' === Tarjumaad === * {{en}}: linguist 30751 wikitext text/x-wiki {{-so-}} == Magac == '''afmaal''' === Tarjumaad === * {{en}}: linguist il7u1iwafsnq9dr8uih5q646vkuavat laqdabo 0 10638 31699 30762 2024-10-20T23:40:52Z Girligaanshub 3150 31699 wikitext text/x-wiki {{-so-}} == Magac == '''laqdabo''' === Tarjumaad === * {{en}}: to be sinister, to be devious, to be machiavellian, manipulate, exploit, to be devious ===Synonyms=== *[[laqdabo]], [[dhiigmiiro]], [[tahbiib]]o, [[dhagaro]], [[hunguri-doon]]o, [[baarqabo]] 3f4to7x1bfscgbmytj3xa4c1ewryobh dhagaro 0 10639 31698 30763 2024-10-20T23:40:06Z Girligaanshub 3150 31698 wikitext text/x-wiki {{-so-}} == Magac == '''dhagaro''' === Tarjumaad === * {{en}}: to be sinister, to be devious, to be machiavellian, manipulate, exploit, to be devious ===Synonyms=== *[[laqdabo]], [[dhiigmiiro]], [[tahbiib]]o, [[dhagaro]], [[hunguri-doon]]o, [[baarqabo]] dkcw31hgazf3fyoj39prt6fiyq6tz1n saa 0 10640 30767 2024-09-13T21:23:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saa''' === Tarjumaad === * {{en}}: so, therefore, 30767 wikitext text/x-wiki {{-so-}} == Magac == '''saa''' === Tarjumaad === * {{en}}: so, therefore, ssyxmsqygs0zkn953omik0f4awmxa1q mac sonkor 0 10641 30768 2024-09-13T22:03:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mac sonkor''' === Tarjumaad === * {{en}}: kiss of sugar (literally) * {{en}}: karma, its what you deserve, what goes around comes around (idiomatic) 30768 wikitext text/x-wiki {{-so-}} == Magac == '''mac sonkor''' === Tarjumaad === * {{en}}: kiss of sugar (literally) * {{en}}: karma, its what you deserve, what goes around comes around (idiomatic) 8y0sxtosk8o0l3v7ckatmp4xewuuesq geshiishe 0 10642 30772 2024-09-15T17:05:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geshiishe''' ===Etymology=== *gesh (Kush) + [[Deshiishe]] === Tarjumaad === * {{en}}: [[Deshiishe]] ===Synonyms=== *[[Deshiishe]] 30772 wikitext text/x-wiki {{-so-}} == Magac == '''geshiishe''' ===Etymology=== *gesh (Kush) + [[Deshiishe]] === Tarjumaad === * {{en}}: [[Deshiishe]] ===Synonyms=== *[[Deshiishe]] ms4533ivoi823pr7032u8r4bc3is8yd baahiye gaar 0 10643 30774 2024-09-15T18:54:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahiye gaar''' === Tarjumaad === * {{en}}: special need 30774 wikitext text/x-wiki {{-so-}} == Magac == '''baahiye gaar''' === Tarjumaad === * {{en}}: special need gp1zx8002w4lu27ok8ym4hulnnne0z6 baahiyaha gaarka 0 10644 30775 2024-09-15T18:55:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''baahiyaha gaarka''' === Tarjumaad === * {{en}}: special needs 30775 wikitext text/x-wiki {{-so-}} == Magac == '''baahiyaha gaarka''' === Tarjumaad === * {{en}}: special needs 50k4ixsnjocvyrck58u5y4x2denjcmp adoo-raali 0 10645 30777 2024-09-15T23:39:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''adoo-raali''' === Tarjumaad === * {{en}}: please 30777 wikitext text/x-wiki {{-so-}} == Magac == '''adoo-raali''' === Tarjumaad === * {{en}}: please i0gijd2g005oewk1qh7atpcjfar8y5z xaqiro 0 10646 31723 30788 2024-10-21T03:39:45Z Girligaanshub 3150 31723 wikitext text/x-wiki {{-so-}} == Magac == '''xaqiro''' === Tarjumaad === * {{en}}: downplay ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] cgtib0makakolwwrga3gyiubhhczx8y Amxaar 0 10647 30785 2024-09-17T01:25:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amxaar''' === Tarjumaad === * {{en}}: Amhara, 30785 wikitext text/x-wiki {{-so-}} == Magac == '''amxaar''' === Tarjumaad === * {{en}}: Amhara, gy1w3d0d48169aaysxiiapihg4e6tju bacriminta 0 10648 30795 2024-09-17T18:54:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacriminta''' === Tarjumaad === * {{en}}: fertility 30795 wikitext text/x-wiki {{-so-}} == Magac == '''bacriminta''' === Tarjumaad === * {{en}}: fertility l7gpuk0h484mv7xqryuejn0joo2qzs7 xeero 0 10649 31520 31091 2024-10-13T03:06:53Z Girligaanshub 3150 31520 wikitext text/x-wiki {{-so-}} == Magac == '''xeero''' === Tarjumaad === * {{en}}: place of worship, circle, natural temple, altar, covenstead, * {{en}}: yard, allotment, shelter, stockyard, stable, shed, * {{en}}: bowl ===Synonyms (worship)=== *[[macbad]], [[mawlac]], [[xeero]] ===Synonyms (bowl)=== *[[xeero]], [[baaquli]], [[jaambad]] etkv2bxc7g3tqtfdeu6pbf0vk2qls3g waaqdhaa'i 0 10650 30808 30807 2024-09-18T11:54:43Z Girligaanshub 3150 30808 wikitext text/x-wiki {{-so-}} == Magac == '''waaqdhaa'i''' === Tarjumaad === * {{en}}: animal sacrifice * {{en}}: sacrifice for [[waaq]] (Ra & Horus fusion) m1xs0ki3f2dwxwrjgpnyg4k5ub29t5p orrax 0 10651 30812 30810 2024-09-18T11:56:47Z Girligaanshub 3150 30812 wikitext text/x-wiki {{-so-}} == Magac == '''orrax''' === Tarjumaad === * {{en}}: alternative spelling / pronunciation of [[gorrax]] (sun) * {{en}}: the Sun deity Ra nveprxmcld9fa2thv4oomxwmm1kfzcj gorrax 0 10652 30811 2024-09-18T11:56:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gorrax''' === Tarjumaad === * {{en}}: Sun 30811 wikitext text/x-wiki {{-so-}} == Magac == '''gorrax''' === Tarjumaad === * {{en}}: Sun 0c3s3bgo64f9l5tzfk4u2l6e0hgmr9g Buuti 0 10653 30819 2024-09-18T16:15:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Buuti''' === Tarjumaad === * {{en}}: a female shapeshifting mythological creature in Somali mythology 30819 wikitext text/x-wiki {{-so-}} == Magac == '''Buuti''' === Tarjumaad === * {{en}}: a female shapeshifting mythological creature in Somali mythology syzn71gn73i2ygsbx81axsgzo08z87n Dhegdheer 0 10654 30820 2024-09-18T16:16:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Dhegdheer''' === Tarjumaad === * {{en}}: a demon in Somali mythology 30820 wikitext text/x-wiki {{-so-}} == Magac == '''Dhegdheer''' === Tarjumaad === * {{en}}: a demon in Somali mythology sw2lz4oczb0yn6bsevtjrv47kvn9635 Qori-ismaris 0 10655 30821 2024-09-18T16:17:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Qori-ismaris''' === Tarjumaad === * {{en}}: a mythological creature hyena-man or werewolf in Somali mythology 30821 wikitext text/x-wiki {{-so-}} == Magac == '''Qori-ismaris''' === Tarjumaad === * {{en}}: a mythological creature hyena-man or werewolf in Somali mythology n6ugdnw8etc0y31q37ev93zvsjqaswk Nidar 0 10656 31615 30915 2024-10-19T00:35:47Z Girligaanshub 3150 31615 wikitext text/x-wiki {{-so-}} == Magac == '''nidar''' === Tarjumaad === * {{en}}: synonym of [[nidir]] / [[nadir]] * {{en}}: angel or spirit of divine retribution in Somali mythology; righter of wrongs * {{en}}: compare Tigrinya term ነጠረ (nidir), meaning bounce; possible metonym for seaport transit on Red Sea * {{en}}: compare Tigrinya term ነጠረ (nidir), meaning spring up; possible metonym for Atbara tributary as source of the Nile fegmyemh7pqoc71r6b2s9r3s4nvgbow Wagar 0 10657 30824 2024-09-18T16:43:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''Wagar''' === Tarjumaad === * {{en}}: goddess in Somali mythology associated with fertility 30824 wikitext text/x-wiki {{-so-}} == Magac == '''Wagar''' === Tarjumaad === * {{en}}: goddess in Somali mythology associated with fertility g2xpg1qlorfgtqaf8a0b86l7rdkrqo1 Huur 0 10658 31423 31421 2024-10-08T13:36:59Z Girligaanshub 3150 31423 wikitext text/x-wiki {{-so-}} == Magac == '''Huur''' === Tarjumaad === * {{en}}: Horus * {{en}}: angel of death or deity in Somali mythology in the form of a bird * {{en}}: [[xuur]] ===Synonyms=== *[[xuur]], [[Huur]] mw23cze932ittvz80y69qpomhx2am08 bal 0 10659 30833 2024-09-20T12:34:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bal''' === Tarjumaad === * {{en}}: but 30833 wikitext text/x-wiki {{-so-}} == Magac == '''bal''' === Tarjumaad === * {{en}}: but p8yn0ce81fsoet3yntvw25h4upaz37f dhuux 0 10660 30841 30837 2024-09-22T00:48:39Z Girligaanshub 3150 30841 wikitext text/x-wiki {{-so-}} == Magac == '''dhuux''' ===Etymology=== *Thoth === Tarjumaad === * {{en}}: bone marrow, * {{en}}: intention, cause, because, * {{en}}: elucidation, philology, ===Synonyms=== *[[dhuux]], [[nuxur]], fkjqagn1i3xm11utnk3gtiwum1jmuif duqoobo 0 10661 30855 30844 2024-09-22T03:27:23Z Girligaanshub 3150 30855 wikitext text/x-wiki {{-so-}} == Magac == '''duqoobo''' === Tarjumaad === * {{en}}: expire, become old 9djjrsc66zx7ig36ws0rj0cu9feybjt duqoobay 0 10662 30854 30845 2024-09-22T03:27:10Z Girligaanshub 3150 30854 wikitext text/x-wiki {{-so-}} == Magac == '''duqobay''' === Tarjumaad === * {{en}}: expired, become old 8ydubw63vyqm568zp3q2u98mv969q4u duqoob 0 10663 30853 30847 2024-09-22T03:26:56Z Girligaanshub 3150 30853 wikitext text/x-wiki {{-so-}} == Magac == '''duqoob''' === Tarjumaad === * {{en}}: expiration, expiry * {{en}}: old e4mqapithpsrfrgq6hal5c8f2g080g3 fariin 0 10664 31431 31327 2024-10-09T13:59:20Z Girligaanshub 3150 31431 wikitext text/x-wiki {{-so-}} == Magac == '''fariin''' === Tarjumaad === * {{en}}: message ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]], [[Barni]], [[baarran]] 2lo8gbe6xgpcfjsi706lsn95yxfqfqr fariimaha 0 10665 30849 2024-09-22T01:12:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fariimaha''' === Tarjumaad === * {{en}}: messages 30849 wikitext text/x-wiki {{-so-}} == Magac == '''fariimaha''' === Tarjumaad === * {{en}}: messages sxy2xe70ceroi1f40frym298jjmi8il bogyaalo 0 10666 30850 2024-09-22T03:23:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bogyaalo''' === Tarjumaad === * {{en}}: pages 30850 wikitext text/x-wiki {{-so-}} == Magac == '''bogyaalo''' === Tarjumaad === * {{en}}: pages qz9ac8pdmiy1b5r3763oz2iwillh2a0 codsiyad 0 10667 30852 2024-09-22T03:24:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''codsiyad''' === Tarjumaad === * {{en}}: application 30852 wikitext text/x-wiki {{-so-}} == Magac == '''codsiyad''' === Tarjumaad === * {{en}}: application 19p2w6otji5ajw4r3jh26soczpn8b8t tarbiyad 0 10668 30856 2024-09-22T17:44:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarbiyad''' === Tarjumaad === * {{en}}: fosterage, rear, rearing, upbringing, nurturing, education ===Synonyms=== *[[tarbiyad]], [[barbaarinta]], [[manhaj]] 30856 wikitext text/x-wiki {{-so-}} == Magac == '''tarbiyad''' === Tarjumaad === * {{en}}: fosterage, rear, rearing, upbringing, nurturing, education ===Synonyms=== *[[tarbiyad]], [[barbaarinta]], [[manhaj]] 8kh0pdotc06r631oeistfuk9rumnxvo martigeli 0 10669 30861 2024-09-22T18:00:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''martigeli''' === Tarjumaad === * {{en}}: welcome ===Synonyms=== *[[sagooti]], [[fadlan]], [[martigeli]] 30861 wikitext text/x-wiki {{-so-}} == Magac == '''martigeli''' === Tarjumaad === * {{en}}: welcome ===Synonyms=== *[[sagooti]], [[fadlan]], [[martigeli]] 12sl4uiefrddateecfetv61d4g6d6r5 machad 0 10670 32196 32193 2024-10-31T23:56:11Z Girligaanshub 3150 32196 wikitext text/x-wiki {{-so-}} == Magac == '''machad''' === Tarjumaad === * {{en}}: institution, establishment, foundation, association, establishment, organization, institute ===Synonyms=== *[[machad]], [[hay'ad]] 7xq68da7xgikmurhc0ul6r7ezsu6z8t dibudhis 0 10671 30880 30877 2024-09-23T03:33:43Z Girligaanshub 3150 30880 wikitext text/x-wiki {{-so-}} == Magac == '''dibudhis''' === Tarjumaad === * {{en}}: reconstruct ===Synonyms=== *[[dibunoolayn]], [[dibusoocelin]], [[dibudhis]], [[cusboonaysiin]] 4mfwa43b8dewx3ef7v18h579v7y6zyg dibusoocelin 0 10672 30881 30876 2024-09-23T03:33:54Z Girligaanshub 3150 30881 wikitext text/x-wiki {{-so-}} == Magac == '''dibusocelin''' === Tarjumaad === * {{en}}: restore, restoration, ===Synonyms=== *[[dibunoolayn]], [[dibusoocelin]], [[dibudhis]], [[cusboonaysiin]] 65c4ed8hhxa4epdokv1c94phii4k735 dib-u-gocosho 0 10673 30884 30883 2024-09-23T03:35:50Z Girligaanshub 3150 30884 wikitext text/x-wiki {{-so-}} == Magac == '''dib-u-gocosho''' === Tarjumaad === * {{en}}: reminisce, reminiscing, reminiscent, aykqiaronp2sr7yu2tg117u9pdlhblf dib-u-dhigis 0 10674 30885 2024-09-23T03:36:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dib-u-dhigis''' === Tarjumaad === * {{en}}: postpone, postponement, 30885 wikitext text/x-wiki {{-so-}} == Magac == '''dib-u-dhigis''' === Tarjumaad === * {{en}}: postpone, postponement, 2q4bl23bw2mmkxdhfp9rdoqhwsghmp2 heehaab 0 10675 30889 2024-09-23T03:42:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heehaab''' === Tarjumaad === * {{en}}: volatile 30889 wikitext text/x-wiki {{-so-}} == Magac == '''heehaab''' === Tarjumaad === * {{en}}: volatile rzcwl5w6aa1xsaa4on4l16bfias95vl macalin 0 10676 30893 30892 2024-09-23T04:09:42Z Girligaanshub 3150 30893 wikitext text/x-wiki {{-so-}} ==Magac== '''macalin''' === Tarjumaad === * {{en}}: teacher ===Synonyms=== *[[bare]], [[macalin]], [[ustaad]] ashcsah3xugx0h6q6pgtcgftwh21zv5 Muqdisho 0 10677 31419 31416 2024-10-08T13:00:56Z Girligaanshub 3150 31419 wikitext text/x-wiki {{-so-}} == Magac == '''Muqdisho''' === Tarjumaad === * {{en}}: renaming of pre-Mogadisho ancient city Serapion > Serapis > Osiris-Apis > isir abe * {{en}}: [[muuq]] (sight) + [[dil]] (kill / hit) * {{en}}: muuqday (sighting) + Sah (Orion constellation) / Shu / Sha (Set animal) / Sha-et (growing season plants) * {{en}}: [[mug]] (collective) + [[dhaansho]] (pour) 1wpg8cbiv845qd7hako1dyjue5ujzwt diwaanka ereyada 0 10678 30899 2024-09-23T05:07:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''diwaanka ereyada''' === Tarjumaad === * {{en}}: vocabulary, 30899 wikitext text/x-wiki {{-so-}} == Magac == '''diwaanka ereyada''' === Tarjumaad === * {{en}}: vocabulary, 9wewbbg5fedzrm9xi5910hcr32swmb6 dareenceli 0 10679 32043 30902 2024-10-27T19:48:54Z Girligaanshub 3150 32043 wikitext text/x-wiki {{-so-}} == Magac == '''dareenceli''' === Tarjumaad === * {{en}}: respond, response, feedback, comeback, react, reply, reflex, critique, recourse, reaction 94k0mftbm46l2fuastlm1fkhjumbdqw gacankurimis 0 10680 32191 32190 2024-10-31T23:44:03Z Girligaanshub 3150 32191 wikitext text/x-wiki {{-so-}} == Magac == '''gacankurimis''' === Tarjumaad === * {{en}}: fabricated, fabrication, distortion, misrepresent, misrepresentation, falsify, falsification, nia3d4vskh39jki3v6qfikk0l9hlehn gacan-ku-rimis 0 10681 30907 2024-09-24T00:39:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacan-ku-rimis''' === Tarjumaad === * {{en}}: fabricated, fabrication 30907 wikitext text/x-wiki {{-so-}} == Magac == '''gacan-ku-rimis''' === Tarjumaad === * {{en}}: fabricated, fabrication 8xqn6nnl7o0xyley2i5f7udw2iv05gp rimman 0 10682 30912 2024-09-24T17:13:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rimman''' === Tarjumaad === * {{en}}: pregnant animal 30912 wikitext text/x-wiki {{-so-}} == Magac == '''rimman''' === Tarjumaad === * {{en}}: pregnant animal 88j5xtnmcbfsovfi61fm8eoomvoovu8 dareencelin 0 10683 30913 2024-09-24T17:13:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dareencelin''' === Tarjumaad === * {{en}}: response, feedback, comeback, reaction, reply, reflex, critique, 30913 wikitext text/x-wiki {{-so-}} == Magac == '''dareencelin''' === Tarjumaad === * {{en}}: response, feedback, comeback, reaction, reply, reflex, critique, in9yyrh793lxqe4z8dtzantzzukcegx eboow 0 10684 30914 2024-09-24T20:57:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eboow''' === Tarjumaad === * {{en}}: primordial god, primordial deity, 30914 wikitext text/x-wiki {{-so-}} == Magac == '''eboow''' === Tarjumaad === * {{en}}: primordial god, primordial deity, i9r215l2knqt7eiqsicycgbwmvuvcpx tayey 0 10685 30921 2024-09-25T11:38:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tayey''' === Tarjumaad === * {{en}}: increase quality, enhance quality, upgrade quality, augment quality, 30921 wikitext text/x-wiki {{-so-}} == Magac == '''tayey''' === Tarjumaad === * {{en}}: increase quality, enhance quality, upgrade quality, augment quality, s33nrsorst04qoxprt8gyg11lry0mm0 udubdhexayn 0 10686 30923 2024-09-26T02:05:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''udubdhexayn''' === Tarjumaad === * {{en}}: centralization, concentration 30923 wikitext text/x-wiki {{-so-}} == Magac == '''udubdhexayn''' === Tarjumaad === * {{en}}: centralization, concentration gjok1tatylnq2mguqhbvuuxp3kprgiy hiyyi 0 10687 30926 2024-09-26T04:59:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiyyi''' === Tarjumaad === * {{en}}: anticipation 30926 wikitext text/x-wiki {{-so-}} == Magac == '''hiyyi''' === Tarjumaad === * {{en}}: anticipation cm05ag1vuedxqg5wcgs53su6cdbq3is hiyyikac 0 10688 30927 2024-09-26T05:00:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hiyyikac''' === Tarjumaad === * {{en}}: anticipation 30927 wikitext text/x-wiki {{-so-}} == Magac == '''hiyyikac''' === Tarjumaad === * {{en}}: anticipation 9aq9qk7oyhz3tnv8j5l9lcqudp5ym5o heego 0 10689 30931 30928 2024-09-26T05:04:19Z Girligaanshub 3150 30931 wikitext text/x-wiki {{-so-}} == Magac == '''heego''' === Tarjumaad === * {{en}}: preparation * {{n}}: promising cloud of rain in the horizon h3mns3qzzu1mov2kf7s6hv4xe61iyhc gub 0 10690 30929 2024-09-26T05:02:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gub''' === Tarjumaad === * {{en}}: burn 30929 wikitext text/x-wiki {{-so-}} == Magac == '''gub''' === Tarjumaad === * {{en}}: burn 2nse3beti743hiejc4pzzhbpjaszz0n gubaa 0 10691 30930 2024-09-26T05:03:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gubaa''' === Tarjumaad === * {{en}}: scorcher (from [[gub]]) 30930 wikitext text/x-wiki {{-so-}} == Magac == '''gubaa''' === Tarjumaad === * {{en}}: scorcher (from [[gub]]) 0wrsm4d97xr3cscixu82b387wxxp3so hamro 0 10692 31549 30933 2024-10-13T04:56:42Z Girligaanshub 3150 31549 wikitext text/x-wiki {{-so-}} == Magac == '''hamro''' === Tarjumaad === * {{en}}: placation, selflessness, selfless service, ===Synonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]], [[dulqaad]] ===Antonyms=== *[[hagro]] 9oa6fouzgquhca98ss2uuj7e9niq3qz hagro 0 10693 30934 2024-09-26T05:10:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hagro''' === Tarjumaad === * {{en}}: egoist, selfish, stingy ===Antonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]] ===Synonyms=== *[[hagro]] 30934 wikitext text/x-wiki {{-so-}} == Magac == '''hagro''' === Tarjumaad === * {{en}}: egoist, selfish, stingy ===Antonyms=== *[[isdhiibid]], [[samirsiin]], [[iscasilka]], [[tanaasul]], [[tanaazul]], [[hamro]] ===Synonyms=== *[[hagro]] 9p8sxe4gfp9dbpvsqoia6xzvddp5e01 faro 0 10694 31443 31441 2024-10-10T18:36:46Z Girligaanshub 3150 31443 wikitext text/x-wiki {{-so-}} == Magac == '''faro''' === Tarjumaad === * {{en}}: direct, aim, intend, * {{en}}: enact, link * {{en}}: fingers, ===Synonyms=== *[[faro]], [[tebi]], [[shiishbar]], [[murdiso]], [[beeg]], [[beegso]], 9g5ha321gcbt7we9u575yrkekw4gy2q aqoonmaale 0 10695 30943 2024-09-26T14:43:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqoonmaale''' === Tarjumaad === * {{en}}: scientist, 30943 wikitext text/x-wiki {{-so-}} == Magac == '''aqoonmaale''' === Tarjumaad === * {{en}}: scientist, gjgzldqq57yklngqdcn472241by6flw qoraalka 0 10696 30949 2024-09-27T18:02:52Z Girligaanshub 3150 Girligaanshub moved page [[qoraalka]] to [[qoraal]] 30949 wikitext text/x-wiki #REDIRECT [[qoraal]] 5lkxktpkoacydirkb2kxfi89mb898tb waraabe-dadow 0 10697 30951 2024-09-27T19:52:21Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''waraabe-dadow''' ===Tarjumaad=== *{{en}}: human to hyena shapeshifter, *{{en}}: cannibal 30951 wikitext text/x-wiki {{-so-}} ==Magac== '''waraabe-dadow''' ===Tarjumaad=== *{{en}}: human to hyena shapeshifter, *{{en}}: cannibal e8k3cq0cs66cyeshxlejigz6mkl5yap gudo 0 10698 30953 2024-09-28T10:34:49Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''gudo''' ===Tarjumaad=== *{{en}}: interior, 30953 wikitext text/x-wiki {{-so-}} ==Magac== '''gudo''' ===Tarjumaad=== *{{en}}: interior, 84ozx52zfc9kww2yqf19d77hytdafy5 debed 0 10699 30954 2024-09-28T10:35:24Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''debed''' ===Tarjumaad=== *{{en}}: exterior, outside 30954 wikitext text/x-wiki {{-so-}} ==Magac== '''debed''' ===Tarjumaad=== *{{en}}: exterior, outside eouq8sf469i6qa9efmtm0ns2j5q85w3 dul 0 10700 30956 2024-09-28T10:36:28Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''dul''' ===Tarjumaad=== *{{en}}: surface, top 30956 wikitext text/x-wiki {{-so-}} ==Magac== '''dul''' ===Tarjumaad=== *{{en}}: surface, top is8vg90ku9a9x73smfvqpbxs2xe6o73 dusheeda 0 10701 30957 2024-09-28T10:37:07Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''dusheeda''' ===Tarjumaad=== *{{en}}: on top of (feminine), 30957 wikitext text/x-wiki {{-so-}} ==Magac== '''dusheeda''' ===Tarjumaad=== *{{en}}: on top of (feminine), hiegp0zzquhzx5lczu428s81h0preyj hor 0 10702 30959 2024-09-28T10:38:32Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''hor''' ===Tarjumaad=== *{{en}}: front, 30959 wikitext text/x-wiki {{-so-}} ==Magac== '''hor''' ===Tarjumaad=== *{{en}}: front, 6njt9y40xmmlc1x1an2vqfw34d4xxa2 dabo 0 10703 30960 2024-09-28T10:39:02Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''dabo''' ===Tarjumaad=== *{{en}}: back, 30960 wikitext text/x-wiki {{-so-}} ==Magac== '''dabo''' ===Tarjumaad=== *{{en}}: back, t9eczzho8mymbkbl3b4q1lrq7vomhgv dar 0 10704 30961 2024-09-28T10:39:54Z Girligaanshub 3150 Bog cusub: {{-so-}} ==Magac== '''dar''' ===Tarjumaad=== *{{en}}: reason, because, because of 30961 wikitext text/x-wiki {{-so-}} ==Magac== '''dar''' ===Tarjumaad=== *{{en}}: reason, because, because of gv6d09rplyhcdyrnee5sn4cavwxbpy6 afartanbax 0 10705 30996 2024-09-29T22:08:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afartanbax''' === Tarjumaad === * {{en}}: a celebration 40 days after childbirth 30996 wikitext text/x-wiki {{-so-}} == Magac == '''afartanbax''' === Tarjumaad === * {{en}}: a celebration 40 days after childbirth 3gou513rp1p6mgzknbiogpu4r7ctn8m dacwo 0 10706 30999 2024-09-29T22:12:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dacwo''' === Tarjumaad === * {{en}}: report, * {{en}}: sponsor 30999 wikitext text/x-wiki {{-so-}} == Magac == '''dacwo''' === Tarjumaad === * {{en}}: report, * {{en}}: sponsor jprwglerr8gojmlfzs9icnnyd6ewysb caadaqaad 0 10707 31854 31853 2024-10-25T22:28:27Z Girligaanshub 3150 31854 wikitext text/x-wiki {{-so-}} == Magac == '''caadaqaad''' === Tarjumaad === * {{en}}: bribe-taking hedonist, subvertible, corrupt, * {{en}}: briber, suborner, * {{en}}: bribee, subornee, venal, * {{en}}: hedonism, ====Synonyms==== *[[damaacinimo]], [[hunguriga]], [[damaaci]], [[hawa]], [[ahlul-hawa]], [[dhagar]], [[hunguri-doon]], [[tahbiib]], [[caadaqaad]], [[calool-u-shaqeyste]], g0rooln882ronmjgbranap1rpf375gk shaley 0 10708 31004 2024-09-30T14:03:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaley''' === Tarjumaad === * {{en}}: yesterday 31004 wikitext text/x-wiki {{-so-}} == Magac == '''shaley''' === Tarjumaad === * {{en}}: yesterday 098kcxltkfv9el2sbxby1qb0bxgl6gi sahan-dambe 0 10709 31008 2024-09-30T14:08:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sahan-dambe''' === Tarjumaad === * {{en}}: day after tomorrow, overmorrow ===Synonyms=== *[[sahan-dambe]], [[saa-dambe]] 31008 wikitext text/x-wiki {{-so-}} == Magac == '''sahan-dambe''' === Tarjumaad === * {{en}}: day after tomorrow, overmorrow ===Synonyms=== *[[sahan-dambe]], [[saa-dambe]] q33warfpfey3utf1nt0tbrt7cq1e2yy saa-dambe 0 10710 31009 2024-09-30T14:09:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saa-dambe''' === Tarjumaad === * {{en}}: day after tomorrow, overmorrow ===Synonyms=== *[[sahan-dambe]], [[saa-dambe]] 31009 wikitext text/x-wiki {{-so-}} == Magac == '''saa-dambe''' === Tarjumaad === * {{en}}: day after tomorrow, overmorrow ===Synonyms=== *[[sahan-dambe]], [[saa-dambe]] 5x4orv2ro2cuxbhyiwsshlnet9e23e1 saakuun 0 10711 31010 2024-09-30T14:10:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saakuun''' === Tarjumaad === * {{en}}: after after tomorrow, day after overmorrow, in 2 days 31010 wikitext text/x-wiki {{-so-}} == Magac == '''saakuun''' === Tarjumaad === * {{en}}: after after tomorrow, day after overmorrow, in 2 days levl0tybax4avb4s7sdmsziuf4yskzu sadha-taal 0 10712 31011 2024-09-30T14:10:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sadha-taal''' === Tarjumaad === * {{en}}: after after after tomorrow, 2 days after overmorrow, in 3 days 31011 wikitext text/x-wiki {{-so-}} == Magac == '''sadha-taal''' === Tarjumaad === * {{en}}: after after after tomorrow, 2 days after overmorrow, in 3 days tsptj2b6djsy8im387ihq68ruku8f1m xayiro 0 10713 31365 31026 2024-10-06T17:27:36Z Girligaanshub 3150 31365 wikitext text/x-wiki {{-so-}} == Magac == '''xayiro''' === Tarjumaad === * {{en}}: block, embargo, ban, ===Synonyms=== *[[awdo]], [[faafreeb]], [[cunaqabateyn]], [[xanib]], [[isbaaro]], [[curyaamin]], [[carqaladayn]], [[curyaan]], [[xayiro]], [[dhabartumid]], [[laftumid]], [[qaadaco]], [[qaadacaad]] n9iuu55jlcjx1y6w18zi2vyynassyae bu'amadow 0 10714 31032 2024-10-01T04:15:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bu'amadow''' === Tarjumaad === * {{en}}: castor plant, castor oil 31032 wikitext text/x-wiki {{-so-}} == Magac == '''bu'amadow''' === Tarjumaad === * {{en}}: castor plant, castor oil bjs5zny9vnc84wculzpaj6dpaqxoeyi baal-bidix 0 10715 31501 31037 2024-10-13T01:49:58Z Girligaanshub 3150 31501 wikitext text/x-wiki {{-so-}} == Magac == '''baal-bidix''' === Tarjumaad === * {{en}}: leftist, liberal, socialist, communist, left-wing, liberalism, communism, socialism ===Synonyms=== * [[musawat]], [[joogdoon-diid]], [[biidnimo]], [[shuuci]], [[wadareednimo]], [[baal-bidix]], [[calmaani]] dag0h5tpwzhl6kg0po4ctdy7my29h4l kariye 0 10716 31045 2024-10-02T13:42:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kariye''' === Tarjumaad === * {{en}}: cooker 31045 wikitext text/x-wiki {{-so-}} == Magac == '''kariye''' === Tarjumaad === * {{en}}: cooker g7stkisqkv0md6y12rf3wcjfwkk589v mudul 0 10717 31046 2024-10-02T13:42:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mudul''' === Tarjumaad === * {{en}}: hut 31046 wikitext text/x-wiki {{-so-}} == Magac == '''mudul''' === Tarjumaad === * {{en}}: hut gankg6ulyuf6d2nppjgd23x41r9ptd1 qasaalad 0 10718 31047 2024-10-02T13:43:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qasaalad''' === Tarjumaad === * {{en}}: washer, laundry washer, washing machine 31047 wikitext text/x-wiki {{-so-}} == Magac == '''qasaalad''' === Tarjumaad === * {{en}}: washer, laundry washer, washing machine onztb7ddjsh0gqh0zj9ri2hxwxttusn salooto 0 10719 31048 2024-10-02T13:45:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''salooto''' === Tarjumaad === * {{en}}: sofa 31048 wikitext text/x-wiki {{-so-}} == Magac == '''salooto''' === Tarjumaad === * {{en}}: sofa 2mfstqb1ekngtghjdtjnexzvz38ru7i shuqo 0 10720 31049 2024-10-02T13:46:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shuqo''' === Tarjumaad === * {{en}}: flat apartment 31049 wikitext text/x-wiki {{-so-}} == Magac == '''shuqo''' === Tarjumaad === * {{en}}: flat apartment 57p7yvgcn6vi4yj5zxn2n7coplsm5q4 xaaqin 0 10721 31050 2024-10-02T13:47:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaaqin''' === Tarjumaad === * {{en}}: sweeper, broomstick, broom, 31050 wikitext text/x-wiki {{-so-}} == Magac == '''xaaqin''' === Tarjumaad === * {{en}}: sweeper, broomstick, broom, ptml1c2zn1n4l4by8mhc9gcbc3n4hpt ganjeel 0 10722 31051 2024-10-02T13:56:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ganjeel''' === Tarjumaad === * {{en}}: gate 31051 wikitext text/x-wiki {{-so-}} == Magac == '''ganjeel''' === Tarjumaad === * {{en}}: gate 2q2jakx5a7yyyno8n3kagwgk8al5qji manfac 0 10723 31072 2024-10-03T15:37:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''manfac''' === Tarjumaad === * {{en}}: [[anfac]] (benefit) 31072 wikitext text/x-wiki {{-so-}} == Magac == '''manfac''' === Tarjumaad === * {{en}}: [[anfac]] (benefit) 8rv1c2mm7pftuepsb0b2hoabefh5yh5 saamiqaybsi 0 10724 31074 2024-10-03T15:54:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saami-qaybsi''' === Tarjumaad === * {{en}}: power-sharing * {{en}}: literally: good / ethical sharing 31074 wikitext text/x-wiki {{-so-}} == Magac == '''saami-qaybsi''' === Tarjumaad === * {{en}}: power-sharing * {{en}}: literally: good / ethical sharing 2l8wv9ydcgwakmsjcozvq99d3rx2idp calaacalo 0 10725 31088 31087 2024-10-04T07:53:27Z Girligaanshub 3150 31088 wikitext text/x-wiki {{-so-}} == Magac == '''calaacalo''' === Tarjumaad === * {{en}}: claw at, grasp at * {{en}}: wave down with one's palms, beckon at with one's palm * {{en}}: hand-flapping or stimming (possibly due to autism); by extension to lament, or lamenting 99818eg92s44wd0m29p45yjevg8nauq mawlac 0 10726 31093 31090 2024-10-04T11:18:25Z Girligaanshub 3150 31093 wikitext text/x-wiki {{-so-}} == Magac == '''mawlac''' === Tarjumaad === * {{en}}: mosque, temple, place of worship, * {{en}}: payer room (musalla) ===Synonyms=== *[[macbad]], [[mawlac]], [[xeero]] p3wcdtbf90d9cll19eql0pc7n5swcak bilis 0 10727 31229 31219 2024-10-04T14:42:16Z Girligaanshub 3150 31229 wikitext text/x-wiki {{-so-}} == Magac == '''bilis''' === Tarjumaad === * {{en}}: esteemed, noble, ===Synonyms=== *[[boqran]], [[bilis]], [[dheeg]], [[nasabnimo]], [[xurmadle]], [[mudane]], ljp2311sswxyxrcorm71t13f7etl0qw foorarso 0 10728 31124 2024-10-04T12:19:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''foorarso''' === Tarjumaad === * {{en}}: bend over 31124 wikitext text/x-wiki {{-so-}} == Magac == '''foorarso''' === Tarjumaad === * {{en}}: bend over h6ilj6aa3gala8q8cw41o6fyga4l9bf taa'ifa 0 10729 31622 31612 2024-10-19T11:52:59Z Girligaanshub 3150 31622 wikitext text/x-wiki {{-so-}} == Magac == '''taa'ifa''' === Tarjumaad === * {{en}}: cult, ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xer]], [[firqo]], [[xerdhaqameed]], [[xer-diimeed]] qabhtd7y77qajrxsdo6s84cbgbqpwua taa'ifo 0 10730 31621 31611 2024-10-19T11:52:48Z Girligaanshub 3150 31621 wikitext text/x-wiki {{-so-}} == Magac == '''taa'ifo''' === Tarjumaad === * {{en}}: cult, ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xer]], [[firqo]], [[xerdhaqameed]], [[xer-diimeed]] 0hxhkbkggqid3o9ufe9tv25ghoofc49 dhalin suuq 0 10731 31160 2024-10-04T13:20:40Z Girligaanshub 3150 Girligaanshub moved page [[dhalin suuq]] to [[xerta dhalin suuq]] 31160 wikitext text/x-wiki #REDIRECT [[xerta dhalin suuq]] qf8zd2cx4ems7cheh9p85h0l265u5ue dhalin xaafada 0 10732 31164 2024-10-04T13:21:21Z Girligaanshub 3150 Girligaanshub moved page [[dhalin xaafada]] to [[xerta dhalin xaafada]] 31164 wikitext text/x-wiki #REDIRECT [[xerta dhalin xaafada]] 3m32hyp97oc00pkkbjkflff97tcknpe xer 0 10733 32806 31620 2024-12-02T10:28:09Z Girligaanshub 3150 Bog loo bedeley [[xayr]] 32806 wikitext text/x-wiki #redirect [[xayr]] oiiics9r9gwnzwpyz1cak297p92tmb7 tamar 0 10734 32432 31933 2024-11-15T07:14:08Z Girligaanshub 3150 32432 wikitext text/x-wiki {{-so-}} == Magac == '''tamar''' === Tarjumaad === * {{en}}: energy, ===Synonyms=== *[[firfircoon]], [[tamar]], [[mintid]], [[doorbidka]], [[la-loodin]] 4eczpew17xvmwc1td4ol0iyynvhx7hr deeqsi 0 10735 31251 2024-10-04T15:44:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deeqsi''' === Tarjumaad === * {{en}}: generous 31251 wikitext text/x-wiki {{-so-}} == Magac == '''deeqsi''' === Tarjumaad === * {{en}}: generous i4seri40oldxulp2b8tcilxzno4np3n deeqsinimo 0 10736 31257 31252 2024-10-04T16:01:05Z Girligaanshub 3150 31257 wikitext text/x-wiki {{-so-}} == Magac == '''deeqsinimo''' === Tarjumaad === * {{en}}: generosity ===Synonyms=== *[[xaal-mari]], [[xaal-marin]], [[deeqsinimo]], [[maalgeli]], [[dacwee]], [[xaasaami]] tptx5iepb79mr0ft3ahsczy2y437393 ijtihad 0 10738 32052 31263 2024-10-27T23:18:30Z Girligaanshub 3150 32052 wikitext text/x-wiki {{-so-}} == Magac == '''aayokatalinta''' === Tarjumaad === * {{en}}: independent reasoning ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] ===Antonyms=== *[[lootaliye]], [[dabadhilif]] grcf4kwd9mcegwiumdi6vbd4hwqybeq takbaco 0 10739 31289 2024-10-04T16:42:33Z Girligaanshub 3150 Girligaanshub moved page [[takbaco]] to [[tabkaco]] 31289 wikitext text/x-wiki #REDIRECT [[tabkaco]] 0pcd5alj8piz9us2oztu1xoxylngrhp waxgarad 0 10740 32063 31311 2024-10-28T00:08:01Z Girligaanshub 3150 32063 wikitext text/x-wiki {{-so-}} == Magac == '''waxgarad''' === Tarjumaad === * {{en}}: knowledgeable, scholar, educated, well-informed, enlightened, intellectual, academic ===Synonyms=== * [[khabiir]], [[aqoonyahan]], [[waayo-arag]], [[waayo-aragnimo]], [[khibrad]], [[waxgarad]], roqem7y83z1rujgy7wqwxf2e09x47ff wadaad 0 10741 31308 2024-10-04T17:30:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wadaad''' === Tarjumaad === * {{en}}: religious scholar, religious person ===Synonyms=== * [[buuni]], [[wadaad]] 31308 wikitext text/x-wiki {{-so-}} == Magac == '''wadaad''' === Tarjumaad === * {{en}}: religious scholar, religious person ===Synonyms=== * [[buuni]], [[wadaad]] 2o0h5n6d5mlrn3tw99b5h5ucfdix37u kaah 0 10742 31430 31328 2024-10-09T01:25:50Z Girligaanshub 3150 31430 wikitext text/x-wiki {{-so-}} == Magac == '''kaah''' === Tarjumaad === * {{en}}: morning light rays * {{en}}: glow * {{en}}: spirit and life force * {{en}}: that one; him; his; ei3199lvb6dj5pw810zrq7wvugzfujp kaaha 0 10743 31316 2024-10-04T18:15:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaaha''' === Tarjumaad === * {{en}}: a woman exhibiting [[kaah]] (i.e. morning light rays and a spirit force) 31316 wikitext text/x-wiki {{-so-}} == Magac == '''kaaha''' === Tarjumaad === * {{en}}: a woman exhibiting [[kaah]] (i.e. morning light rays and a spirit force) kgqgfmwy86hiqieu6ewgwk0rdng3nmd kaahiye 0 10744 31317 2024-10-04T18:15:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kaahiye''' === Tarjumaad === * {{en}}: a man exhibiting [[kaah]] (i.e. morning light rays and spirit force) 31317 wikitext text/x-wiki {{-so-}} == Magac == '''kaahiye''' === Tarjumaad === * {{en}}: a man exhibiting [[kaah]] (i.e. morning light rays and spirit force) k808rle0i6zduocyan2wvv747drnpwu Barni 0 10745 31567 31435 2024-10-14T21:47:52Z Girligaanshub 3150 31567 wikitext text/x-wiki {{-so-}} == Magac == '''Barni''' === Tarjumaad === * {{en}}: date fruit * {{en}}: sweet, pleasant * {{en}}: housewife (akin to feminine name [[baar]]? * {{en}}: homebody (especially feminine, akin to feminine name [[baar]]) ? * {{en}}: Somali feminine name ===Cognates=== *[[barbaaro]], [[barbaar]], [[firfircoon]], [[baari]], [[barbar]], [[barbarad]], [[barbardhig]], [[baraarug]], [[bar]], [[bari]], [[Berbera]], [[farcamo]], [[far]], [[farsamo]], [[bareeran]], [[fir]], [[fircoon]], [[bariido]], [[baraad]], [[bare]], [[baryo]], [[firiley]], [[baraha bulshada]], [[baarqab]], [[barwaaqo]], [[farac]], [[bartan]], [[fariin]], [[Barni]], [[baarran]], [[baar]] n94x3ejdpnb92v1sq7mh6t0jgiggdnf muje 0 10746 31321 2024-10-04T19:03:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muje''' === Tarjumaad === * {{en}}: infant, toddler 31321 wikitext text/x-wiki {{-so-}} == Magac == '''muje''' === Tarjumaad === * {{en}}: infant, toddler lhcijgcp3zax643fuc24cfsy2lxsmjj hirwo 0 10747 31325 2024-10-04T19:17:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirwo''' === Tarjumaad === * {{en}}: dance, ballet 31325 wikitext text/x-wiki {{-so-}} == Magac == '''hirwo''' === Tarjumaad === * {{en}}: dance, ballet izv7t2xa0i5fbri46joosjutjelr2sr sekedseked 0 10748 31329 2024-10-04T20:51:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sekedseked''' === Tarjumaad === * {{en}}: pile up, stack up, agglomerate, aggregate, amalgamate, accumulate, assemble, hoard, rack, stockpile ===Synonyms=== *[[sekedseked]], [[seked]], 31329 wikitext text/x-wiki {{-so-}} == Magac == '''sekedseked''' === Tarjumaad === * {{en}}: pile up, stack up, agglomerate, aggregate, amalgamate, accumulate, assemble, hoard, rack, stockpile ===Synonyms=== *[[sekedseked]], [[seked]], pdkjavzy9ut2b5tfzodwposmmh8ku97 seked 0 10749 31330 2024-10-04T20:51:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''seked''' === Tarjumaad === * {{en}}: pile up, stack up, agglomerate, aggregate, amalgamate, accumulate, assemble, hoard, rack, stockpile ===Synonyms=== *[[sekedseked]], [[seked]], 31330 wikitext text/x-wiki {{-so-}} == Magac == '''seked''' === Tarjumaad === * {{en}}: pile up, stack up, agglomerate, aggregate, amalgamate, accumulate, assemble, hoard, rack, stockpile ===Synonyms=== *[[sekedseked]], [[seked]], ml2iwqadn16pxkpucje2dilzip7mwfe isir 0 10750 31332 31331 2024-10-04T21:02:32Z Girligaanshub 3150 31332 wikitext text/x-wiki {{-so-}} == Magac == '''isir''' ===Etymology=== *Osiris > Aw isir === Tarjumaad === * {{en}}: background, heritage j9cfiq5k9mckde2h8vf6nk6sd0mlsp6 rageedi 0 10751 31333 2024-10-04T21:03:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rageedi''' === Tarjumaad === * {{en}}: perfect men, perfect man 31333 wikitext text/x-wiki {{-so-}} == Magac == '''rageedi''' === Tarjumaad === * {{en}}: perfect men, perfect man 4n245vyetcb30wxvzkie2amk6yb97uh marfish 0 10752 31338 2024-10-04T21:34:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marfish''' === Tarjumaad === * {{en}}: drug den, place to chew Khat 31338 wikitext text/x-wiki {{-so-}} == Magac == '''marfish''' === Tarjumaad === * {{en}}: drug den, place to chew Khat m2zuk4xb8txp447ckqkhd59qm67atdp bayac 0 10753 31341 2024-10-05T15:32:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bayac''' === Tarjumaad === * {{en}}: sale, sell ===Synonyms=== *[[iib]], [[bayac]] 31341 wikitext text/x-wiki {{-so-}} == Magac == '''bayac''' === Tarjumaad === * {{en}}: sale, sell ===Synonyms=== *[[iib]], [[bayac]] 9gez0dhjtgvh08b1cxwzabpfxxqcy78 ka-madow 0 10754 31361 31360 2024-10-06T14:27:32Z Girligaanshub 3150 31361 wikitext text/x-wiki {{-so-}} == Magac == '''ka-madow''' === Tarjumaad === * {{en}}: Kemite; black person ===Synonyms=== *[[ka-madow]], [[kumaade]] 0d59o5sn1d3wax9913zx8377cm9bair xad 0 10755 31370 2024-10-07T12:23:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xad''' === Tarjumaad === * {{en}}: line, string, wire, rope, cord, * {{en}}: steal, 31370 wikitext text/x-wiki {{-so-}} == Magac == '''xad''' === Tarjumaad === * {{en}}: line, string, wire, rope, cord, * {{en}}: steal, eclwg17rhyyhyu47nai6ivz8fnm5a5g hirwoyahan 0 10756 31381 2024-10-07T20:26:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirwoyahan''' === Tarjumaad === * {{en}}: dancer, 31381 wikitext text/x-wiki {{-so-}} == Magac == '''hirwoyahan''' === Tarjumaad === * {{en}}: dancer, hgy5j3t6gt8xiyi0gvyqwkbb9uu1bky muuq 0 10757 31417 2024-10-08T01:03:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''muuq''' === Tarjumaad === * {{en}}: sight 31417 wikitext text/x-wiki {{-so-}} == Magac == '''muuq''' === Tarjumaad === * {{en}}: sight pzj5bdswf7lmhjtpab853iculw5h815 dil 0 10758 31418 2024-10-08T01:04:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dil''' === Tarjumaad === * {{en}}: kill * {{en}}: hit 31418 wikitext text/x-wiki {{-so-}} == Magac == '''dil''' === Tarjumaad === * {{en}}: kill * {{en}}: hit kncboobewbm7gnlhqqdh9iaur1tht5t dhaansho 0 10759 31420 2024-10-08T13:01:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaanso''' === Tarjumaad === * {{en}}: pour 31420 wikitext text/x-wiki {{-so-}} == Magac == '''dhaanso''' === Tarjumaad === * {{en}}: pour e5cwjycsm21somgtrs4wmz1lnx12rmq Ra-xuur waaq 0 10760 31425 2024-10-08T14:03:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ra-xuur waaq''' === Tarjumaad === * {{en}}: Ra-Horakhty 31425 wikitext text/x-wiki {{-so-}} == Magac == '''ra-xuur waaq''' === Tarjumaad === * {{en}}: Ra-Horakhty nu3lsp5sfi2tsrt10otng56br4skpek qabatow 0 10761 31428 2024-10-08T17:12:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qabatow''' === Tarjumaad === * {{en}}: addict ====Synonyms==== *[[qabatow]], [[balwadqabe]], [[balwadley]] 31428 wikitext text/x-wiki {{-so-}} == Magac == '''qabatow''' === Tarjumaad === * {{en}}: addict ====Synonyms==== *[[qabatow]], [[balwadqabe]], [[balwadley]] hy15s1lll4u11trzvhi31jlp44rw69m samro 0 10762 31437 2024-10-09T22:19:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''samro''' === Tarjumaad === * {{en}}: be patient 31437 wikitext text/x-wiki {{-so-}} == Magac == '''samro''' === Tarjumaad === * {{en}}: be patient 16l9vi7oqgug3a98okp1parlaqu9tn4 beenlow 0 10763 31438 2024-10-09T22:48:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''beenlow''' === Tarjumaad === * {{en}}: liar 31438 wikitext text/x-wiki {{-so-}} == Magac == '''beenlow''' === Tarjumaad === * {{en}}: liar ct5d7m6tsd9hvby0z95x917b15vwic2 gaaguur 0 10764 31439 2024-10-10T04:38:14Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaaguur''' === Tarjumaad === * {{en}}: beehive 31439 wikitext text/x-wiki {{-so-}} == Magac == '''gaaguur''' === Tarjumaad === * {{en}}: beehive 448bl0d0ueaigviio88lrzedjomvppj amaangeli 0 10765 31448 31445 2024-10-12T00:41:55Z Girligaanshub 3150 31448 wikitext text/x-wiki {{-so-}} == Magac == '''amaangeli''' === Tarjumaad === * {{en}}: safeguard, protect, ===Synonyms=== *[[amaangeli]], [[nabadsugo]] ajam7n8l5it3t6nnymqghbkpshsihuw tarxiil 0 10766 31446 2024-10-12T00:25:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarxiil''' === Tarjumaad === * {{en}}: deportation 31446 wikitext text/x-wiki {{-so-}} == Magac == '''tarxiil''' === Tarjumaad === * {{en}}: deportation pal1tqmkbg7p40x77w4d670o5xf3787 tarxiilo 0 10767 31447 2024-10-12T00:26:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tarxiilo''' === Tarjumaad === * {{en}}: deport 31447 wikitext text/x-wiki {{-so-}} == Magac == '''tarxiilo''' === Tarjumaad === * {{en}}: deport 5lj4jntpc1r3wwihyp9rbdagwfad3q7 nabadsugo 0 10768 31449 2024-10-12T00:52:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabadsugo''' === Tarjumaad === * {{en}}: guard, protect, patrol, keep a vigil, be vigilant, regulate, defend, secure, garrison, ===Synonyms=== *[[amaangeli]], [[nabadsugo]] 31449 wikitext text/x-wiki {{-so-}} == Magac == '''nabadsugo''' === Tarjumaad === * {{en}}: guard, protect, patrol, keep a vigil, be vigilant, regulate, defend, secure, garrison, ===Synonyms=== *[[amaangeli]], [[nabadsugo]] bg29r1ojgjewgi2clt7q3lmw7v31hj4 nabadsugida 0 10769 31450 2024-10-12T00:55:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabadsugida''' === Tarjumaad === * {{en}}: police, law enforcement, ===Synonyms=== *[[amaangeli]], [[nabadsugo]] 31450 wikitext text/x-wiki {{-so-}} == Magac == '''nabadsugida''' === Tarjumaad === * {{en}}: police, law enforcement, ===Synonyms=== *[[amaangeli]], [[nabadsugo]] rmdk3sve16qdbd1wce8l4ncl92z8no5 buji 0 10770 31451 2024-10-12T04:02:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buji''' === Tarjumaad === * {{en}}: pop, bang, burst, crack, snap, 31451 wikitext text/x-wiki {{-so-}} == Magac == '''buji''' === Tarjumaad === * {{en}}: pop, bang, burst, crack, snap, 3unbc4cde5q7a48gjr8ddyomnqoxlcc buufi 0 10771 31452 2024-10-12T17:42:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''buufis''' === Tarjumaad === * {{en}}: blow, puff 31452 wikitext text/x-wiki {{-so-}} == Magac == '''buufis''' === Tarjumaad === * {{en}}: blow, puff c56tuhkmtihhogww83evnnzz49lgbls hirwiye 0 10772 31453 2024-10-12T22:34:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hirwiye''' === Tarjumaad === * {{en}}: dancer 31453 wikitext text/x-wiki {{-so-}} == Magac == '''hirwiye''' === Tarjumaad === * {{en}}: dancer 670ccgp6dl8a9kl6gzry3uwg4uf2iqp doorbidka 0 10773 32158 31456 2024-10-29T19:20:56Z Girligaanshub 3150 32158 wikitext text/x-wiki {{-so-}} == Magac == '''doorbidka''' === Tarjumaad === * {{en}}: preference, decisiveness, decisive, ===Synonyms=== *[[afjarid]], [[afjaro]], [[guddoon]], [[garnaq]], [[gabagabay]], [[afjar]], [[maamulo]], [[maareeyo]], [[qabanqaabi]], [[qorsheey]], [[halbeegi]], [[jaangooy]], [[doorbidka]] 1ggn11gou9spwo1iijtinph0kodvzga xarragaysan 0 10774 31460 31458 2024-10-12T23:54:05Z Girligaanshub 3150 31460 wikitext text/x-wiki {{-so-}} == Magac == '''xarragaysan''' === Tarjumaad === * {{en}}: stylish, fashionable, style, graceful, charming, elegant, ===Synonyms=== *[[dookh leh]], [[xarrago]], [[shaac leh]], [[hadal-hayn]], [[caan]], [[shaac-bax]], [[shaaceysan]], [[shaacaya]], [[shaacaysan]], [[shaac-kac]], [[xarragaysan]] 9ywnvl0voxqex68s54m6kcnk9z8kz4c adoon 0 10775 31481 2024-10-13T00:18:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lootaliye''' === Tarjumaad === * {{en}}: slave ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], 31481 wikitext text/x-wiki {{-so-}} == Magac == '''lootaliye''' === Tarjumaad === * {{en}}: slave ===Synonyms=== *[[dabadhilif]], [[adoon]], [[bidde]], [[madiidin]], [[lootaliye]], mp1fvqc9kuvjwpv92n3rcre3se5orh5 shuun 0 10776 31482 2024-10-13T00:30:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shuun''' === Tarjumaad === * {{en}}: pubic hair 31482 wikitext text/x-wiki {{-so-}} == Magac == '''shuun''' === Tarjumaad === * {{en}}: pubic hair 469i2zh9pfh952lmwtrc5xch7dfevy8 gidaar 0 10777 31483 2024-10-13T00:32:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gidaar''' === Tarjumaad === * {{en}}: wall ===Synonyms=== *[[derbi]] 31483 wikitext text/x-wiki {{-so-}} == Magac == '''gidaar''' === Tarjumaad === * {{en}}: wall ===Synonyms=== *[[derbi]] rjrukr8w2tvd7llq814twofmgp3nibt laab 0 10778 31487 2024-10-13T00:51:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laab''' === Tarjumaad === * {{en}}: chest ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], 31487 wikitext text/x-wiki {{-so-}} == Magac == '''laab''' === Tarjumaad === * {{en}}: chest ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], p95lc3a1016hzdws9wx0qcjikp6bkl3 leg 0 10779 31489 31488 2024-10-13T00:52:56Z Girligaanshub 3150 31489 wikitext text/x-wiki {{-so-}} == Magac == '''leg''' === Tarjumaad === * {{en}}: delts, deltoid * {{en}}: chest * {{en}}: brisket, cuts of chest meat ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], dzp04khk9scvnjzgku20n97fj67du2z gaaddo 0 10780 31495 31490 2024-10-13T01:30:19Z Girligaanshub 3150 31495 wikitext text/x-wiki {{-so-}} == Magac == '''gaaddo''' === Tarjumaad === * {{en}}: thorax, * {{en}}: torso, trunk * {{en}}: chest ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], 8zw1prgloxyl9de50ex1qoe7wtsezep sakaar 0 10781 31491 2024-10-13T01:25:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sakaar''' === Tarjumaad === * {{en}}: scrawny chest (etymology: [[sagaaro]]) ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], 31491 wikitext text/x-wiki {{-so-}} == Magac == '''sakaar''' === Tarjumaad === * {{en}}: scrawny chest (etymology: [[sagaaro]]) ===Synonyms=== *[[xabad]], [[shaf]], [[laab]], [[bog]], [[leg]], [[gaaddo]], [[sakaar]], goz55qih8zj8bbeeomoak9vgyvpy3bt sigisaan 0 10782 31539 31506 2024-10-13T04:21:29Z Girligaanshub 3150 31539 wikitext text/x-wiki {{-so-}} == Magac == '''sigisaan''' === Tarjumaad === * {{en}}: sock, socks ===Synonyms=== *[[sharabaado]], [[sigisaan]] 35zqs7o9x12p9wsoczsaxri1zgmmr25 garan 0 10783 31508 31507 2024-10-13T02:44:15Z Girligaanshub 3150 31508 wikitext text/x-wiki {{-so-}} == Magac == '''garan''' === Tarjumaad === * {{en}}: shirt, jumper, sweater ===Synonyms=== *[[fanaanad]], [[garan]] 2gzguirrhxnji3wirdo01lmu6jn0wzp fanaanad 0 10784 31509 2024-10-13T02:44:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fanaanad''' === Tarjumaad === * {{en}}: shirt, jumper, sweater ===Synonyms=== *[[fanaanad]], [[garan]] 31509 wikitext text/x-wiki {{-so-}} == Magac == '''fanaanad''' === Tarjumaad === * {{en}}: shirt, jumper, sweater ===Synonyms=== *[[fanaanad]], [[garan]] g0g7nocnmenzcv2g81eokcx4ua3ajd4 maqaaxi 0 10785 31510 2024-10-13T02:45:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maqaaxi''' === Tarjumaad === * {{en}}: restaurant, coffeeshop, ===Synonyms=== *[[maqaaxi]], [[maqaayad]] 31510 wikitext text/x-wiki {{-so-}} == Magac == '''maqaaxi''' === Tarjumaad === * {{en}}: restaurant, coffeeshop, ===Synonyms=== *[[maqaaxi]], [[maqaayad]] k3o4fwc1yge8gn4lcodyu8j2s3skfhq maqaayad 0 10786 31511 2024-10-13T02:45:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maqaayad''' === Tarjumaad === * {{en}}: restaurant, coffeeshop, ===Synonyms=== *[[maqaaxi]], [[maqaayad]] 31511 wikitext text/x-wiki {{-so-}} == Magac == '''maqaayad''' === Tarjumaad === * {{en}}: restaurant, coffeeshop, ===Synonyms=== *[[maqaaxi]], [[maqaayad]] t7jea2xg82zgfw9wszeha9n05l0yhuj abriiq 0 10787 31512 2024-10-13T02:48:29Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abriiq''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] 31512 wikitext text/x-wiki {{-so-}} == Magac == '''abriiq''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] 2y4bl5yxfl9raxixs6jhax97y50z6la ibriiq 0 10788 31513 2024-10-13T02:48:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ibriiq''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] 31513 wikitext text/x-wiki {{-so-}} == Magac == '''ibriiq''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] k0lorlppqwembl292djg5xfswdz4bpr jalmad 0 10789 31514 2024-10-13T02:48:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jalmad''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] 31514 wikitext text/x-wiki {{-so-}} == Magac == '''jalmad''' === Tarjumaad === * {{en}}: teapot, ===Synonyms=== *[[abriiq]], [[ibriiq]], [[jalmad]] jkmfe1lmpcit37t9wamcv2axwxlqlxn burkijo 0 10790 31518 31515 2024-10-13T02:57:08Z Girligaanshub 3150 31518 wikitext text/x-wiki {{-so-}} == Magac == '''burkijo''' === Tarjumaad === * {{en}}: stove, oven ===Synonyms=== *[[uuni]], [[dardaaro]], [[burkijo]] 5zrg58izdna8ps6prpa9s13uvlpyhm7 siniiyad 0 10791 31519 2024-10-13T03:05:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siniiyad''' === Tarjumaad === * {{en}}: serving plate for multiple people; platter 31519 wikitext text/x-wiki {{-so-}} == Magac == '''siniiyad''' === Tarjumaad === * {{en}}: serving plate for multiple people; platter pqmy6io5srxi6quxak5rv42yswqd4qh jaambad 0 10792 31522 2024-10-13T03:07:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaambad''' === Tarjumaad === * {{en}}: bowl, ===Synonyms=== *[[xeero]], [[baaquli]], [[jaambad]] 31522 wikitext text/x-wiki {{-so-}} == Magac == '''jaambad''' === Tarjumaad === * {{en}}: bowl, ===Synonyms=== *[[xeero]], [[baaquli]], [[jaambad]] h711k27ul2b64u5qfsdzxu4g3ma5up6 malqaacad 0 10793 31523 2024-10-13T03:09:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''malqaacad''' === Tarjumaad === * {{en}}: spoon ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] 31523 wikitext text/x-wiki {{-so-}} == Magac == '''malqaacad''' === Tarjumaad === * {{en}}: spoon ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] 18a7lodnfjsvr0ahxca3krpdo29gvdk faraley 0 10794 31526 2024-10-13T03:10:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''faraley''' === Tarjumaad === * {{en}}: spoon ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] 31526 wikitext text/x-wiki {{-so-}} == Magac == '''faraley''' === Tarjumaad === * {{en}}: spoon ===Synonyms=== *[[malqaacad]], [[qaado]], [[fandhaal]], [[faraley]] sx23r42rrliocd5bicb0t2ep02cfbao waarikow 0 10795 31529 2024-10-13T03:25:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''waarikow''' === Tarjumaad === * {{en}}: sugarless tea, sugarless coffee 31529 wikitext text/x-wiki {{-so-}} == Magac == '''waarikow''' === Tarjumaad === * {{en}}: sugarless tea, sugarless coffee s2wcwni6iezz6j49w31rh55wrkw89fw bakeeri 0 10796 31534 2024-10-13T03:35:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bakeeri''' === Tarjumaad === * {{en}}: cup ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] 31534 wikitext text/x-wiki {{-so-}} == Magac == '''bakeeri''' === Tarjumaad === * {{en}}: cup ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] km1ru0ly4409duqvuhs42v1po043cig aargalaan 0 10797 31535 2024-10-13T03:35:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aargalaan''' === Tarjumaad === * {{en}}: cup ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] 31535 wikitext text/x-wiki {{-so-}} == Magac == '''aargalaan''' === Tarjumaad === * {{en}}: cup ===Synonyms=== *[[dhiil]], [[haruub]], [[dhalo]], [[bakeeri]], [[aargalaan]] r18zriib75dhiluog665n5z02hkpasb sijaayad 0 10798 31536 2024-10-13T03:41:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sijaayad''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], 31536 wikitext text/x-wiki {{-so-}} == Magac == '''sijaayad''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], 1i18rg2gk5qo9xnjuev22aj02sidhv9 derin 0 10799 31537 2024-10-13T03:42:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''derin''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], 31537 wikitext text/x-wiki {{-so-}} == Magac == '''derin''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], ktvv91tml9p8znlgglaqzabjcbhutb6 dermo 0 10800 31538 2024-10-13T03:42:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dermo''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], 31538 wikitext text/x-wiki {{-so-}} == Magac == '''dermo''' === Tarjumaad === * {{en}}: mat, mattress ===Synonyms=== *[[sijaayad]], [[derin]], [[dermo]], 9f7neibk4ip094arksimu2ndmygx1t6 sharabaado 0 10801 31540 2024-10-13T04:21:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sharabaado''' === Tarjumaad === * {{en}}: sock, socks ===Synonyms=== *[[sharabaado]], [[sigisaan]] 31540 wikitext text/x-wiki {{-so-}} == Magac == '''sharabaado''' === Tarjumaad === * {{en}}: sock, socks ===Synonyms=== *[[sharabaado]], [[sigisaan]] bl5sg8uoq8hy5gozh4w71exqyl7de00 lumay 0 10802 31542 2024-10-13T04:29:53Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lumay''' === Tarjumaad === * {{en}}: lost, missing ===Synonyms=== *[[halaabay]], [[lumay]] 31542 wikitext text/x-wiki {{-so-}} == Magac == '''lumay''' === Tarjumaad === * {{en}}: lost, missing ===Synonyms=== *[[halaabay]], [[lumay]] dcq94r3cge70du2p7o6rq389n8ew9eq dambe 0 10803 31543 2024-10-13T04:31:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dambe''' === Tarjumaad === * {{en}}: behind ===Synonyms=== *[[dambe]], [[gadaal]] 31543 wikitext text/x-wiki {{-so-}} == Magac == '''dambe''' === Tarjumaad === * {{en}}: behind ===Synonyms=== *[[dambe]], [[gadaal]] gn9bd6irxxbqj490ufvkapsmhf99rbf gadaal 0 10804 31544 2024-10-13T04:31:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gadaal''' === Tarjumaad === * {{en}}: behind ===Synonyms=== *[[dambe]], [[gadaal]] 31544 wikitext text/x-wiki {{-so-}} == Magac == '''gadaal''' === Tarjumaad === * {{en}}: behind ===Synonyms=== *[[dambe]], [[gadaal]] jsdo9l97tnot8iymm1publo6rx89yov hantiwadaag 0 10805 31555 2024-10-13T22:42:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hantiwadaag''' === Tarjumaad === * {{en}}: socialism, communism 31555 wikitext text/x-wiki {{-so-}} == Magac == '''hantiwadaag''' === Tarjumaad === * {{en}}: socialism, communism ehzby9dxj84owlhhp6hoa8hdkk6jgqj qalbitaabasho 0 10806 31559 2024-10-14T13:59:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalbitaabasho''' === Tarjumaad === * {{en}}: sentimental, emotional 31559 wikitext text/x-wiki {{-so-}} == Magac == '''qalbitaabasho''' === Tarjumaad === * {{en}}: sentimental, emotional ir4ve7av8fwe9huofqrah3yelmychfy dabadhilifayn 0 10808 31562 2024-10-14T15:44:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabadhilifayn''' === Tarjumaad === * {{en}}: deference, to yield to 31562 wikitext text/x-wiki {{-so-}} == Magac == '''dabadhilifayn''' === Tarjumaad === * {{en}}: deference, to yield to 7e1qv6kfp124tmujeglgzj0cwp14jtk quruurux 0 10809 31563 2024-10-14T15:46:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''quruurux''' === Tarjumaad === * {{en}}: gravel 31563 wikitext text/x-wiki {{-so-}} == Magac == '''quruurux''' === Tarjumaad === * {{en}}: gravel lyn3808hqgy8h03l9y7f7il02h0s3gc dabadhilifeyo 0 10810 31784 31689 2024-10-25T20:48:43Z Girligaanshub 3150 31784 wikitext text/x-wiki {{-so-}} == Magac == '''dabadhilifeyo''' === Tarjumaad === * {{en}}: to defer to others, to yield to others ===Synonyms=== * [[dabadhilifeyo]], [[dabadhilifo]]. [[leefleef]] k5owtehfzdsn6ukk3tyfslgfmrgkrfp dabadhilifeyay 0 10811 31565 2024-10-14T16:11:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabadhilifeyay''' === Tarjumaad === * {{en}}: deferred to others, to yielded to others 31565 wikitext text/x-wiki {{-so-}} == Magac == '''dabadhilifeyay''' === Tarjumaad === * {{en}}: deferred to others, to yielded to others f4px8cqlm5qnzdudyrx4xkpw3137b2i khasiis 0 10812 31572 31571 2024-10-15T06:33:05Z Girligaanshub 3150 31572 wikitext text/x-wiki {{-so-}} == Magac == '''khasiis''' === Tarjumaad === * {{en}}: sleaze, deviant, degenerate, creep, jerk, ===Synonyms=== *[[saqajaan]], [[urguf]], [[khasiis]], [[laangaab]] 3sndhzgh22mpwslnb7d2um7223k0d6m heer 0 10813 31578 31576 2024-10-16T04:01:52Z Girligaanshub 3150 31578 wikitext text/x-wiki {{-so-}} == Magac == '''heer''' === Tarjumaad === * {{en}}: level ===Synonyms=== *[[dufcad]], [[koox]], [[cantoob]], [[cutub]], [[raxan]], [[xayn]], [[bah]], [[heer]], [[dabaqad]], [[kaalin]], [[derejad]] myad2j595s8pqw8bvv7d3xwuliemzx2 dabayaaq 0 10814 31593 2024-10-16T04:10:42Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dabayaaq''' === Tarjumaad === * {{en}}: late 31593 wikitext text/x-wiki {{-so-}} == Magac == '''dabayaaq''' === Tarjumaad === * {{en}}: late or8anx9ptpngv0yt6xaj3xairfur2py kirey 0 10815 31594 2024-10-16T04:18:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kirey''' === Tarjumaad === * {{en}}: to rent 31594 wikitext text/x-wiki {{-so-}} == Magac == '''kirey''' === Tarjumaad === * {{en}}: to rent 2jjvf8xiz39yojddldwmzse284j2lf7 kiro 0 10816 31595 2024-10-16T04:19:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kiro''' === Tarjumaad === * {{en}}: rent 31595 wikitext text/x-wiki {{-so-}} == Magac == '''kiro''' === Tarjumaad === * {{en}}: rent 0lhtw1m0hmvq3h0elfeg6jeb7wpsraf kireyste 0 10817 31596 2024-10-16T04:19:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kireyste''' === Tarjumaad === * {{en}}: renter 31596 wikitext text/x-wiki {{-so-}} == Magac == '''kireyste''' === Tarjumaad === * {{en}}: renter m7obaf5s9vgfby9b30ks5hjo4dbpwfc sanood 0 10818 31600 2024-10-17T01:31:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''sanod''' === Tarjumaad === * {{en}}: coin, coins, token, change ===Synonyms=== *[[qadaadic]], [[sanood]] 31600 wikitext text/x-wiki {{-so-}} == Magac == '''sanod''' === Tarjumaad === * {{en}}: coin, coins, token, change ===Synonyms=== *[[qadaadic]], [[sanood]] 8tqflnybvl6bclk851b8co7n0y7os5m tayeeyo 0 10819 31604 2024-10-17T10:58:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tayeeyo''' === Tarjumaad === * {{en}}: improve, upgrade, enhance, develop, advance ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]], [[tayeeyo]] 31604 wikitext text/x-wiki {{-so-}} == Magac == '''tayeeyo''' === Tarjumaad === * {{en}}: improve, upgrade, enhance, develop, advance ===Synonyms=== *[[horumari]], [[wanaaji]], [[xooji]], [[tabcid]], [[taakuley]], [[nafaqo]], [[hagaaji]], [[habey]], [[dayactir]], [[badhaadh]], [[tayeeyo]] ot5qe6n7jc1t61rwzmcc4013xik08ru xayrdhaqameed 0 10820 32816 32814 2024-12-02T10:31:04Z Girligaanshub 3150 32816 wikitext text/x-wiki {{-so-}} == Magac == '''xer''' === Tarjumaad === * {{en}}: subculture ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xayr]], [[firqo]], [[xayrdhaqameed]], [[xayr-diimeed]], [[xayr-gaar]] owmg7p0st7fbihus3hcpkqle7xcfb7v xayr-diimeed 0 10821 32815 32809 2024-12-02T10:30:46Z Girligaanshub 3150 32815 wikitext text/x-wiki {{-so-}} == Magac == '''xer-diimeed''' === Tarjumaad === * {{en}}: cult ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xayr]], [[firqo]], [[xayrdhaqameed]], [[xayr-diimeed]], [[xayr-gaar]] 7qjxwudyqtp7gnatumgjqybutaj7g4x badh 0 10822 31637 2024-10-19T14:35:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''badh''' === Tarjumaad === * {{en}}: half, 31637 wikitext text/x-wiki {{-so-}} == Magac == '''badh''' === Tarjumaad === * {{en}}: half, qcpo8jk3zr1fnb4w1mkw0kg72mss4zk dirir 0 10823 31640 2024-10-19T17:03:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dirir''' === Tarjumaad === * {{en}}: violence ===Synonyms=== *[[rabsho]], [[dirir]], [[rabshad]], [[tacaddi]] 31640 wikitext text/x-wiki {{-so-}} == Magac == '''dirir''' === Tarjumaad === * {{en}}: violence ===Synonyms=== *[[rabsho]], [[dirir]], [[rabshad]], [[tacaddi]] qu5wahfb2by38y420eqmhhsolfw1sxc rabshad 0 10824 31641 2024-10-19T17:04:39Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rabshad''' === Tarjumaad === * {{en}}: violence ===Synonyms=== *[[rabsho]], [[dirir]], [[rabshad]], [[tacaddi]] 31641 wikitext text/x-wiki {{-so-}} == Magac == '''rabshad''' === Tarjumaad === * {{en}}: violence ===Synonyms=== *[[rabsho]], [[dirir]], [[rabshad]], [[tacaddi]] 0ppbi9nwlzo4d82abbvgunx6bq1qtbv dusduso 0 10825 31654 2024-10-19T18:34:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dusduso''' === Tarjumaad === * {{en}}: work for, toll for, 31654 wikitext text/x-wiki {{-so-}} == Magac == '''dusduso''' === Tarjumaad === * {{en}}: work for, toll for, sce6rocmug4l674eeehdly4lb344d9c xamudh 0 10826 31657 2024-10-19T21:24:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xamudh''' === Tarjumaad === * {{en}}: ziziphus mucronata fruit, buffalo thorn fruit 31657 wikitext text/x-wiki {{-so-}} == Magac == '''xamudh''' === Tarjumaad === * {{en}}: ziziphus mucronata fruit, buffalo thorn fruit tctqorvu30cbzcl2ethup4sk2fc6p4e wacanri 0 10827 31658 2024-10-19T21:26:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wacanri''' === Tarjumaad === * {{en}}: lannea alata fruit, Calesiam, Lanneoma, Scassellatia 31658 wikitext text/x-wiki {{-so-}} == Magac == '''wacanri''' === Tarjumaad === * {{en}}: lannea alata fruit, Calesiam, Lanneoma, Scassellatia 3el6zul1ddgfofhq55irdhrsuoldimc rooxo 0 10828 31659 2024-10-19T21:28:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rooxo''' === Tarjumaad === * {{en}}: coccinia grandis, ivy gourd, scarlet gourd 31659 wikitext text/x-wiki {{-so-}} == Magac == '''rooxo''' === Tarjumaad === * {{en}}: coccinia grandis, ivy gourd, scarlet gourd 0ye7gfb3kqw0hmnmhrj0xdpbvqolh6j midhcaanyo 0 10829 31660 2024-10-19T21:29:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''midhcaanyo''' === Tarjumaad === * {{en}}: Grewia krebsiana, grewia robusta, grewia occidentalis 31660 wikitext text/x-wiki {{-so-}} == Magac == '''midhcaanyo''' === Tarjumaad === * {{en}}: Grewia krebsiana, grewia robusta, grewia occidentalis b36xbo0o9upoyvu0jpzbck7bw08esvq kidi 0 10830 31662 2024-10-19T21:35:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kidi''' === Tarjumaad === * {{en}}: Balanites aegyptiaca, egyptian balsam, lalob (Sudan), Ximenia aegyptiaca 31662 wikitext text/x-wiki {{-so-}} == Magac == '''kidi''' === Tarjumaad === * {{en}}: Balanites aegyptiaca, egyptian balsam, lalob (Sudan), Ximenia aegyptiaca 7vty1pgwueg4k3604lgoiv70yqsnvn5 askax 0 10831 31663 2024-10-19T21:36:40Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''askax''' === Tarjumaad === * {{en}}: glossonema boveanum 31663 wikitext text/x-wiki {{-so-}} == Magac == '''askax''' === Tarjumaad === * {{en}}: glossonema boveanum atzjondevu0pt5x5i34l0yh0b60r2kv canjeel 0 10832 31664 2024-10-19T21:38:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''canjeel''' === Tarjumaad === * {{en}}: mimusops kummel, elengi, binectaria, imbricaria, radia, kaukenia 31664 wikitext text/x-wiki {{-so-}} == Magac == '''canjeel''' === Tarjumaad === * {{en}}: mimusops kummel, elengi, binectaria, imbricaria, radia, kaukenia 4fmzfm2fjukkwlzgwm52vf8h5b80sr6 carmo 0 10833 31665 2024-10-19T21:56:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''carmo''' === Tarjumaad === * {{en}}: cissus sicyoides, cissus verticillata, princess vine, seasonvine, 31665 wikitext text/x-wiki {{-so-}} == Magac == '''carmo''' === Tarjumaad === * {{en}}: cissus sicyoides, cissus verticillata, princess vine, seasonvine, kgmfbztte6bbbc0107s9mfohbrhhyjy deegaan 0 10834 31667 2024-10-19T22:00:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''deegaan''' === Tarjumaad === * {{en}}: homeland, native land * {{en}}: mimusops somalensis fruit / plant 31667 wikitext text/x-wiki {{-so-}} == Magac == '''deegaan''' === Tarjumaad === * {{en}}: homeland, native land * {{en}}: mimusops somalensis fruit / plant f5hk32t1wm8aocucuvfuoxv48avjtt8 dhafaruur 0 10835 31668 2024-10-19T22:03:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhafaruur''' === Tarjumaad === * {{en}}: grewia tenax, phalsa cherry, white crossberry, raisin bush, gangara, gangu, kanger 31668 wikitext text/x-wiki {{-so-}} == Magac == '''dhafaruur''' === Tarjumaad === * {{en}}: grewia tenax, phalsa cherry, white crossberry, raisin bush, gangara, gangu, kanger q8v5tbjcbnp8ilqgec73kri1ta900am garas 0 10836 31669 2024-10-19T22:04:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garas''' === Tarjumaad === * {{en}}: dobera glabra 31669 wikitext text/x-wiki {{-so-}} == Magac == '''garas''' === Tarjumaad === * {{en}}: dobera glabra g2ctqi36wbesqi36pfrea9mth8fsb9h garoorshe 0 10837 31670 2024-10-19T22:06:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''garoorshe''' === Tarjumaad === * {{en}}: canthium glaucum, 31670 wikitext text/x-wiki {{-so-}} == Magac == '''garoorshe''' === Tarjumaad === * {{en}}: canthium glaucum, bhm3gfjrl21hn3etu17ajvgfjieep8v dhamaag 0 10838 32767 31672 2024-12-01T13:44:25Z ВМНС 5070 32767 wikitext text/x-wiki {{-so-}} == Magac == '''dhamaag''' === Tarjumaad === * {{en}}: grewia tembensis, [[Category:Soomaali ereyada-dha]] r997j3x16mjq6j8kathgams7w3fmbdx gomoshaa 0 10839 31673 2024-10-19T22:15:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gomoshaa''' === Tarjumaad === * {{en}}: grewia villosa 31673 wikitext text/x-wiki {{-so-}} == Magac == '''gomoshaa''' === Tarjumaad === * {{en}}: grewia villosa 3dsum2z0n22d8cu6cwaf6p1vr7qmpwf hohob 0 10840 31674 2024-10-19T22:17:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hohob''' === Tarjumaad === * {{en}}: grewia penicillata 31674 wikitext text/x-wiki {{-so-}} == Magac == '''hohob''' === Tarjumaad === * {{en}}: grewia penicillata ppujylm9gmwjkxv4y5iop8xxca9vq94 jeerin 0 10841 31675 2024-10-19T22:21:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jeerin''' === Tarjumaad === * {{en}}: vachellia farnesiana, acacia farnesiana, sweet acacia, huisache, casha tree, needle bush 31675 wikitext text/x-wiki {{-so-}} == Magac == '''jeerin''' === Tarjumaad === * {{en}}: vachellia farnesiana, acacia farnesiana, sweet acacia, huisache, casha tree, needle bush 6zbzr69muh23puedz4il80p2jz1p6oj yicib 0 10842 31676 2024-10-19T22:23:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yicib''' === Tarjumaad === * {{en}}: cordeauxia edulis, yeheb bush, (hyponym: moqley / suley) 31676 wikitext text/x-wiki {{-so-}} == Magac == '''yicib''' === Tarjumaad === * {{en}}: cordeauxia edulis, yeheb bush, (hyponym: moqley / suley) gwvowjqo1kgxa40qry1z7uq1gcsf1p6 raaxo-la'aan 0 10843 31743 31678 2024-10-22T17:12:03Z Girligaanshub 3150 31743 wikitext text/x-wiki {{-so-}} == Magac == '''raaxo-la'aan''' === Tarjumaad === * {{en}}: uncomfortable, discomfort mdy1ck11lmbjoa84mslshp76575z2ru aqdaamo ferenji 0 10844 31680 2024-10-20T02:01:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aqdaamo ferenji''' === Tarjumaad === * {{en}}: traitor ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] 31680 wikitext text/x-wiki {{-so-}} == Magac == '''aqdaamo ferenji''' === Tarjumaad === * {{en}}: traitor ===Synonyms=== *[[majo-xaabin]], [[khaa'in]], [[horgal]], [[horgalnimo]], [[caasiyoobe]], [[caasi]], [[fallaago]], [[aqdaamo ferenji]] gw9my9qoq4dhpizoe03dvwloir6vcah sifoobo 0 10845 31736 31685 2024-10-21T13:20:09Z Girligaanshub 3150 31736 wikitext text/x-wiki {{-so-}} == Magac == '''sifoobo''' === Tarjumaad === * {{en}}: characterize, orient towards * {{en}}: to take the traits of ===Synonyms=== *[[janjeero]], [[sifoobo]] jypmatkoaxn47muxhmsd1n3zc6hpwmg madani 0 10846 31686 2024-10-20T05:03:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madani''' === Tarjumaad === * {{en}}: civil ===Synonyms=== *[[madani]], [[rayid]] 31686 wikitext text/x-wiki {{-so-}} == Magac == '''madani''' === Tarjumaad === * {{en}}: civil ===Synonyms=== *[[madani]], [[rayid]] 87osv82t5o4c6kixhmm8tniy7ije1v8 dabadhilifo 0 10848 31785 31690 2024-10-25T20:48:55Z Girligaanshub 3150 31785 wikitext text/x-wiki {{-so-}} == Magac == '''dabadhilifo''' === Tarjumaad === * {{en}}: to defer to others, to yield to others ===Synonyms=== * [[dabadhilifeyo]], [[dabadhilifo]]. [[leefleef]] hlkvvhg8hk743i5p567r9xg5aujuyb1 waxqabad 0 10849 32437 32436 2024-11-15T07:16:15Z Girligaanshub 3150 32437 wikitext text/x-wiki {{-so-}} == Magac == '''waxqabad''' === Tarjumaad === * {{en}}: proactive, job, work ===Synonyms=== *[[waxqabad]], [[hawlwadeen]], [[bile]], [[bedbile]] r65kdru50v1xxo2ak5at3a6kx5fhf3h baarqabe 0 10850 31694 31692 2024-10-20T23:38:31Z Girligaanshub 3150 31694 wikitext text/x-wiki {{-so-}} == Magac == '''baarqabe''' === Tarjumaad === * {{en}}: dominator, dominant person, manipulator, ===Synonyms=== *[[dhiigmiire]], [[baarqabe]] li7vdk0kece9cmxdm49onkouyhwj5qy baarqabo 0 10851 31997 31696 2024-10-27T02:15:44Z Girligaanshub 3150 31997 wikitext text/x-wiki {{-so-}} == Magac == '''baarqabo''' === Tarjumaad === * {{en}}: dominate, brag, outdo, ===Synonyms=== *[[laqdabo]], [[dhiigmiiro]], [[tahbiib]]o, [[dhagaro]], [[hunguri-doon]]o, [[baarqabo]] p71pq6kfew54elesgbbx7pw78yhx2zw qalooc 0 10852 31711 2024-10-21T02:45:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalooc''' === Tarjumaad === * {{en}}: bent, 31711 wikitext text/x-wiki {{-so-}} == Magac == '''qalooc''' === Tarjumaad === * {{en}}: bent, owcyez7bo561a88mo4fp23h98sp3i16 qalooco 0 10853 31712 2024-10-21T02:45:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qalooco''' === Tarjumaad === * {{en}}: bend, 31712 wikitext text/x-wiki {{-so-}} == Magac == '''qalooco''' === Tarjumaad === * {{en}}: bend, kxeoqnf3yvty1swg5oye9q2qqpts9l6 nabadgelyo-darro 0 10854 31713 2024-10-21T02:49:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''nabadgelyo-darro''' === Tarjumaad === * {{en}}: instability, 31713 wikitext text/x-wiki {{-so-}} == Magac == '''nabadgelyo-darro''' === Tarjumaad === * {{en}}: instability, r1ijkl70c1nlfnmeb2mor3yeb2052ou ka-qaybgale 0 10855 31715 2024-10-21T02:57:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ka-qaybgale''' === Tarjumaad === * {{en}}: participant ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] 31715 wikitext text/x-wiki {{-so-}} == Magac == '''ka-qaybgale''' === Tarjumaad === * {{en}}: participant ===Synonyms=== *[[macaamiil]], [[macmiilka]], [[isticmaale]], [[gudagale]], [[xariif]], [[ka-qaybgale]] 6v63bp7i6cytxr3xd8ru0o3vrcwpa6r dhumo 0 10856 31724 31721 2024-10-21T03:39:57Z Girligaanshub 3150 31724 wikitext text/x-wiki {{-so-}} == Magac == '''wiiqo''' === Tarjumaad === * {{en}}: degrade, diminish, downgrade, drop, dropping, degrading ===Synonyms=== *[[naaqus]], [[wiiqo]], [[quursasho]], [[dhayalsi]], [[gaabi]], [[shaacdhici]], [[dhumo]], [[xaqiro]] bji3rg3oirf2u5hfa64656sozndrmo2 kuliyad 0 10857 32201 31738 2024-11-01T18:11:40Z Girligaanshub 3150 32201 wikitext text/x-wiki {{-so-}} == Falka == '''kuliyad''' === Tarjumaad === * {{en}}: faculty, department, school, division, section ===Synonyms=== *[[fasal]], [[cashar]], [[kuliyad]], [[dhigasho]] 4z3dinvknpelzjzzydzfvqzs6p6cqug magafe 0 10858 31740 2024-10-21T22:28:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Falka == '''magafe''' === Tarjumaad === * {{en}}: human traffickers, human trafficker, human smuggler, forced labour group, 31740 wikitext text/x-wiki {{-so-}} == Falka == '''magafe''' === Tarjumaad === * {{en}}: human traffickers, human trafficker, human smuggler, forced labour group, 1m96yx4kzeh21vhnm4dfy40naoh4g5f dalacsii 0 10859 31741 2024-10-22T07:12:11Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dalacsii''' === Tarjumaad === * {{en}}: promote, elevate, graduate, upgrade, ascend, increase, 31741 wikitext text/x-wiki {{-so-}} == Magac == '''dalacsii''' === Tarjumaad === * {{en}}: promote, elevate, graduate, upgrade, ascend, increase, 7uvpgniz50zhzlnsngtkf5tcasyy7t1 dhayax 0 10860 31745 2024-10-24T13:30:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhayax''' ===Etymology=== *Thoth === Tarjumaad === * {{en}}: moon, 31745 wikitext text/x-wiki {{-so-}} == Magac == '''dhayax''' ===Etymology=== *Thoth === Tarjumaad === * {{en}}: moon, 024s5zlqmjx9uge52kygjxw19lh788k wanqal 0 10861 31747 2024-10-25T03:23:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wanqal''' === Tarjumaad === * {{en}}: sacrifice of newborn male sheep after a newborn's birth 31747 wikitext text/x-wiki {{-so-}} == Magac == '''wanqal''' === Tarjumaad === * {{en}}: sacrifice of newborn male sheep after a newborn's birth ff77orwd93ee1ptoq9cokmnopdwiglo faqir 0 10862 31779 2024-10-25T20:40:34Z Girligaanshub 3150 Girligaanshub moved page [[faqir]] to [[faqiir]] 31779 wikitext text/x-wiki #REDIRECT [[faqiir]] 880dazjy6q2kv6wj7lw77r5j6xeq1r2 bakhiil 0 10863 31974 31864 2024-10-26T17:50:29Z Girligaanshub 3150 31974 wikitext text/x-wiki {{-so-}} == Magac == '''bakhiil''' === Tarjumaad === * {{en}}: greed, greedy ====Synonyms==== *[[muudal]], [[dhabcaal]], [[qarraac]], [[bakhiil]], [[masuug]], [[masuugo]] tfne85ammb3trwph1chlje91aznkp6n guuleyste 0 10864 32180 31972 2024-10-31T21:40:35Z Girligaanshub 3150 32180 wikitext text/x-wiki {{-so-}} == Magac == '''guuleyste''' === Tarjumaad === * {{en}}: winner, winners ===Synonyms=== *[[guuleyste]], [[guulwade]], [[reysane]] c80cld1ktkrjesiy2ubpbwcktfg6vs1 waaban 0 10865 31986 31984 2024-10-26T17:58:41Z Girligaanshub 3150 31986 wikitext text/x-wiki {{-so-}} == Magac == '''waaban''' === Tarjumaad === * {{en}}: hesitation ===Synonyms=== *[[qatan]], [[qatanaan]], [[masuug]], [[masuugo]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[waaban]] ddj72z3dr2pq0vp4d4gompxv9ty2pdp dilaa 0 10866 32037 31992 2024-10-27T14:27:55Z Girligaanshub 3150 32037 wikitext text/x-wiki {{-so-}} == Magac == '''dilaa''' === Tarjumaad === * {{en}}: murderer, killer ===Synonyms=== *[[gacankudhiigle]], [[dilaa]] 9iyrwhwkzqbav1rjjktq4742ew99jnd isku-tashi 0 10867 32053 31993 2024-10-27T23:18:39Z Girligaanshub 3150 32053 wikitext text/x-wiki {{-so-}} == Magac == '''isku-tashi''' === Tarjumaad === * {{en}}: self-help, self-sufficient, self-sustaining * {{en}}: via initiative, via one's discretion, of one's own accord, without prompting, * {{en}}: independent, independently, ===Synonyms=== *[[aayakatalinta]], [[istiqlaal]], [[ikhtiyaarnimo]], [[madaxbanaan]], [[gooni-isu-taag]], [[gobannimo]], [[ijtihad]], [[isku-tashi]] ===Antonyms=== *[[lootaliye]], [[dabadhilif]] 9ol0wnktk1rhiy3ciyeivxikc0espco macaanto 0 10868 31996 2024-10-27T02:09:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''macaanto''' === Tarjumaad === * {{en}}: sweetie, dear, darling 31996 wikitext text/x-wiki {{-so-}} == Magac == '''macaanto''' === Tarjumaad === * {{en}}: sweetie, dear, darling 1c4ulizqzlmcnn68aeysj3pkec4dfcy xilsaar 0 10869 32008 2024-10-27T02:51:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xilsaar''' === Tarjumaad === * {{en}}: responsible, responsibility 32008 wikitext text/x-wiki {{-so-}} == Magac == '''xilsaar''' === Tarjumaad === * {{en}}: responsible, responsibility hxw205b1any51qzo0vwjqa10ug779c8 xilsaaran 0 10870 32009 2024-10-27T02:52:00Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xilsaaran''' === Tarjumaad === * {{en}}: responsible, responsibility 32009 wikitext text/x-wiki {{-so-}} == Magac == '''xilsaaran''' === Tarjumaad === * {{en}}: responsible, responsibility 778fb7ioddh45s3phua8mbzj0pdss36 amaaho 0 10871 32017 2024-10-27T04:09:34Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amaaho''' === Tarjumaad === * {{en}}: borrow 32017 wikitext text/x-wiki {{-so-}} == Magac == '''amaaho''' === Tarjumaad === * {{en}}: borrow iqeffnfqdwy4gz67gu3gkipaqsmy3t1 saa'id 0 10872 32038 32020 2024-10-27T16:28:53Z Girligaanshub 3150 32038 wikitext text/x-wiki {{-so-}} == Magac == '''saa'id''' === Tarjumaad === * {{en}}: huge, great, numerous, exaggerated, enormous, vast, immense, massive, colossal, gigantic, monumental, tremendous, epic, giant, humongous, ===Synonyms=== *[[weyn]], [[saa'id]], [[ba'an]] d626cxnf86f66nfk9hh07s6ydu19gfw maadooyin 0 10873 32031 2024-10-27T14:02:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maad''' === Tarjumaad === * {{en}}: academic subjects, academic disciplines, academic fields, ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] 32031 wikitext text/x-wiki {{-so-}} == Magac == '''maad''' === Tarjumaad === * {{en}}: academic subjects, academic disciplines, academic fields, ===Synonyms=== *[[xikmah]], [[murtimaal]], [[aqoondirsad]], [[aqoonmaal]], [[maad]], [[maadooyin]] 7d4r1ev5i0jw6so9rx7szbi01e5ijpm geylan 0 10874 32058 2024-10-27T23:31:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geylan''' === Tarjumaad === * {{en}}: struggle, strive, ===Synonyms=== *[[geylan]], [[halgan]] 32058 wikitext text/x-wiki {{-so-}} == Magac == '''geylan''' === Tarjumaad === * {{en}}: struggle, strive, ===Synonyms=== *[[geylan]], [[halgan]] kwhakk873un58xlr1k5b03bl7kwfbhg halgamaa 0 10875 32059 2024-10-27T23:38:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halgamaa''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] 32059 wikitext text/x-wiki {{-so-}} == Magac == '''halgamaa''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] n2tl9584r2b9fb5lfrddpok2moqvejw geylane 0 10876 32060 2024-10-27T23:38:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geylane''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] 32060 wikitext text/x-wiki {{-so-}} == Magac == '''geylane''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] k9rapfml7vipzgpo49opwuywf7hw90k geylame 0 10877 32061 2024-10-27T23:38:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''geylame''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] 32061 wikitext text/x-wiki {{-so-}} == Magac == '''geylame''' === Tarjumaad === * {{en}}: struggler, striver, agitator, crusader, zealot, ===Synonyms=== *[[geylane]], [[geylame]], [[halgamaa]] b112dzieff3wky231n4fd14ytwj2idp ghairul-caadi 0 10878 32172 32065 2024-10-31T04:35:16Z Girligaanshub 3150 32172 wikitext text/x-wiki {{-so-}} == Magac == '''ghairul-caadi''' === Tarjumaad === * {{en}}: abnormal, unusual, atypical, warped, distorted, perverse, twisted, unconventional, unorthodox, idiosyncratic, eccentric, weird, bizarre, peculiar, odd, strange, deviant, divergent, ===Synonyms=== *[[qariib]], [[silloon]], [[ghairul-caadi]] 7nj38y4becmwdcazredl77mv21mpzoy ootisam 0 10879 32332 32121 2024-11-08T19:13:33Z Girligaanshub 3150 32332 wikitext text/x-wiki {{-so-}} == Magac == '''ootisam''' === Tarjumaad === * {{en}}: autism ===Synonyms=== *[[dhantaalidda]], [[ootisam]], [[damiinimada]], [[fiiri agnaanta]] pwmu2ldddjqrw4mdywqahnwy2m6fklg ootisam-qabe 0 10880 32337 32123 2024-11-08T19:15:14Z Girligaanshub 3150 32337 wikitext text/x-wiki {{-so-}} == Magac == '''ootisam-qabe''' === Tarjumaad === * {{en}}: autist ===Synonyms=== *[[ootisam-qabe]], [[dhantaale]], [[damiinimade]] oigds0x1qhk9poxmcnq1667myb2zryp amuureysan 0 10881 32071 2024-10-28T03:31:33Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amuureysan''' === Tarjumaad === * {{en}}: mood, vibe, ambience, aura, frame of mind ===Synonyms=== *[[jawi]], [[amuureysan]] 32071 wikitext text/x-wiki {{-so-}} == Magac == '''amuureysan''' === Tarjumaad === * {{en}}: mood, vibe, ambience, aura, frame of mind ===Synonyms=== *[[jawi]], [[amuureysan]] mpdbtguq0gh20hxgsdfcmwdi0ge4w32 shaarib 0 10882 32072 2024-10-28T03:33:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shaarib''' === Tarjumaad === * {{en}}: moustache 32072 wikitext text/x-wiki {{-so-}} == Magac == '''shaarib''' === Tarjumaad === * {{en}}: moustache nfrhr14rhfcxnn2bbgdm946rr3b9t15 dhaqaaq 0 10883 32073 2024-10-28T03:33:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhaqaaq''' === Tarjumaad === * {{en}}: move 32073 wikitext text/x-wiki {{-so-}} == Magac == '''dhaqaaq''' === Tarjumaad === * {{en}}: move ct06hjwj9q70cexdx9gm500rnhybc45 uun 0 10884 32077 32075 2024-10-28T03:40:58Z Girligaanshub 3150 Removed redirect to [[uunsi]] 32077 wikitext text/x-wiki {{-so-}} == Magac == '''uun''' === Tarjumaad === * {{en}}: only 4hfphxur11rmhry4wojmvq03o0prlqz uunka 0 10885 32078 2024-10-28T03:41:31Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''uunka''' === Tarjumaad === * {{en}}: living creatures 32078 wikitext text/x-wiki {{-so-}} == Magac == '''uunka''' === Tarjumaad === * {{en}}: living creatures r7q25n0vjznqeo0qnv7e6eo1q5x1vzd uugaamo 0 10886 32206 32079 2024-11-01T18:14:46Z Girligaanshub 3150 32206 wikitext text/x-wiki {{-so-}} == Magac == '''uugaamo''' === Tarjumaad === * {{en}}: drumming, drum beat ===Synonyms=== *[[habdhac]], [[uugaamo]] boclu0m1mvcpx7ax7v3mgf04yv0pyjb iimi 0 10887 32093 2024-10-28T03:50:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iimi''' === Tarjumaad === * {{en}}: damage 32093 wikitext text/x-wiki {{-so-}} == Magac == '''iimi''' === Tarjumaad === * {{en}}: damage cazlxgpv5nx0ojx9sxrfiwmkx1jbcgk galbado 0 10888 32094 2024-10-28T03:53:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''galbado''' === Tarjumaad === * {{en}}: go home 32094 wikitext text/x-wiki {{-so-}} == Magac == '''galbado''' === Tarjumaad === * {{en}}: go home ihn5zti64m1sgbnn583di79rodp7mhz oomo 0 10889 32095 2024-10-28T03:54:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oomo''' === Tarjumaad === * {{en}}: to thirst 32095 wikitext text/x-wiki {{-so-}} == Magac == '''oomo''' === Tarjumaad === * {{en}}: to thirst 9m729kytwkjaizv8rrjrgm5tedkpdpd illin 0 10890 32096 2024-10-28T03:55:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''illin''' === Tarjumaad === * {{en}}: entrance 32096 wikitext text/x-wiki {{-so-}} == Magac == '''illin''' === Tarjumaad === * {{en}}: entrance d1sy06grhw9x5bl0wkyzh43yqbcaqgz oogle 0 10891 32097 2024-10-28T04:19:58Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''oogle''' === Tarjumaad === * {{en}}: horse 32097 wikitext text/x-wiki {{-so-}} == Magac == '''oogle''' === Tarjumaad === * {{en}}: horse 8u5eynf2gzv2snltp47iych2yopxy0w hollado 0 10892 32099 2024-10-28T04:20:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hollado''' === Tarjumaad === * {{en}}: attempt, try, experiment, ===Synonyms=== *[[hollado]], [[tijaabi]] 32099 wikitext text/x-wiki {{-so-}} == Magac == '''hollado''' === Tarjumaad === * {{en}}: attempt, try, experiment, ===Synonyms=== *[[hollado]], [[tijaabi]] ag184iwnmk8ops0wi1qglzx0lcong8b urugoon 0 10893 32100 2024-10-28T04:22:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''urugon''' === Tarjumaad === * {{en}}: worry, ===Synonyms=== 32100 wikitext text/x-wiki {{-so-}} == Magac == '''urugon''' === Tarjumaad === * {{en}}: worry, ===Synonyms=== j8c3whv3nglsfbir9cym6lawin9en9t afdhabaandhow 0 10894 32105 2024-10-28T04:29:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afdhabaandhow''' === Tarjumaad === * {{en}}: shushed mouth * {{en}}: mouth gagged ===Synonyms=== *[[afdhabaandhab]], [[afdhabaandhow]] 32105 wikitext text/x-wiki {{-so-}} == Magac == '''afdhabaandhow''' === Tarjumaad === * {{en}}: shushed mouth * {{en}}: mouth gagged ===Synonyms=== *[[afdhabaandhab]], [[afdhabaandhow]] 7gkdek7nbtdz3yts03tn4sns3thrteu qalobulsheed 0 10895 32113 32106 2024-10-28T04:40:38Z Girligaanshub 3150 32113 wikitext text/x-wiki {{-so-}} == Magac == '''qalobulsheed''' === Tarjumaad === * {{en}}: ostracized, ostracization, ostracism, isolation, seclusion, solitude ===Synonyms=== *[[gooni-daaq]], [[iskaabulo]], [[doob]], [[guurdoon]], [[guumeys]], [[reerlaawe]], [[qalobulsheed]], [[minxiis]] od60x8drjdu32eod14bwiudx66vrqjo dirqi 0 10896 32116 2024-10-28T04:43:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dirqi''' === Tarjumaad === * {{en}}: compulsive, impulsive, compulsiveness, compulsivity, impulsiveness, impulsivity ===Synonyms=== *[[dirqi]], [[fudayd]] 32116 wikitext text/x-wiki {{-so-}} == Magac == '''dirqi''' === Tarjumaad === * {{en}}: compulsive, impulsive, compulsiveness, compulsivity, impulsiveness, impulsivity ===Synonyms=== *[[dirqi]], [[fudayd]] 31tjaselkih7n09koafhp60oml1k7dj naxli 0 10897 32711 32710 2024-11-30T15:22:22Z Girligaanshub 3150 32711 wikitext text/x-wiki {{-so-}} == Magac == '''naxli''' === Tarjumaad === * {{en}}: blunder, major mistake, shocking mistake ===Synonyms=== *[[gef]], [[naxli]], [[denbi]] maxovrczyeurpqonslnv33wp5vb5oq0 amuumeyn 0 10898 32119 2024-10-28T05:15:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amuumeyn''' === Tarjumaad === * {{en}}: mutism 32119 wikitext text/x-wiki {{-so-}} == Magac == '''amuumeyn''' === Tarjumaad === * {{en}}: mutism pgwn0j74szek4f4khix6x2x5vf9bnyt amuume 0 10899 32120 2024-10-28T05:16:50Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amuume''' === Tarjumaad === * {{en}}: mute person, mutist 32120 wikitext text/x-wiki {{-so-}} == Magac == '''amuume''' === Tarjumaad === * {{en}}: mute person, mutist h32qm9a6m5by7ua2sa1ki7yjplwo817 dhantaalidda 0 10900 32394 32132 2024-11-12T04:44:41Z Girligaanshub 3150 32394 wikitext text/x-wiki {{-so-}} == Magac == '''dhantaalidda''' === Tarjumaad === * {{en}}: debilitation ===Synonyms=== *[[hal bacaad lagu lisay]], [[dhantaalo]], [[dhantaalidda]], [[khasaaro]], nug9t6npkwbiyfllzy9j0k1hte48w90 dhantaale 0 10901 32393 32335 2024-11-12T04:44:02Z Girligaanshub 3150 32393 wikitext text/x-wiki {{-so-}} == Magac == '''dhantaale''' === Tarjumaad === * {{en}}: debilitator, debilitated ===Synonyms=== *[[ootisam-qabe]], [[dhantaale]], [[damiinimade]] rcj7no3jkjie6dwq3onw8yevc0j1wfb dhantaalo 0 10902 32131 32127 2024-10-28T06:58:59Z Girligaanshub 3150 32131 wikitext text/x-wiki {{-so-}} == Magac == '''dhantaalo''' === Tarjumaad === * {{en}}: to miss the mark, miss the point, misfire, flounder, fall short of * {{en}}: enfeeble, devitalize, debilitate, sap the strength of, diminish, impair, dilute, fade, ===Synonyms=== *[[hal bacaad lagu lisay]], [[dhantaalo]], [[dhantaalidda]], [[khasaaro]], e0uy7zfvduptwofej42zaijm2ltmrcq weeciyo 0 10903 32318 32135 2024-11-08T06:54:57Z Girligaanshub 3150 32318 wikitext text/x-wiki {{-so-}} == Magac == '''weeciyo''' === Tarjumaad === * {{en}}: lean, bend, incline, divert, turn, deflect, sidetrack, swerve, ===Synonyms=== *[[weeciyo]] qisd9utlfbps52h3ju8qvzmsuba9zth heerkulul 0 10904 32137 2024-10-28T18:45:12Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''heerkulul''' === Tarjumaad === * {{en}}: temperature ===Synonyms=== *[[heerkul]], [[heerkulul]] 32137 wikitext text/x-wiki {{-so-}} == Magac == '''heerkulul''' === Tarjumaad === * {{en}}: temperature ===Synonyms=== *[[heerkul]], [[heerkulul]] ljii2aahpwarx5kmxkay8awshwz48hr fara-ka-ciyaar 0 10905 32141 2024-10-28T18:48:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fara-ka-ciyaar''' === Tarjumaad === * {{en}}: tussle, play fighting ===Synonyms=== *[[legdemo]], [[fara-ka-ciyaar]] 32141 wikitext text/x-wiki {{-so-}} == Magac == '''fara-ka-ciyaar''' === Tarjumaad === * {{en}}: tussle, play fighting ===Synonyms=== *[[legdemo]], [[fara-ka-ciyaar]] 7lm56u4iszitchs4uaw3uz4x3fetzly dhiman 0 10906 32148 32146 2024-10-28T23:26:00Z Girligaanshub 3150 32148 wikitext text/x-wiki {{-so-}} == Magac == '''dhiman''' === Tarjumaad === * {{en}}: lack, lacking * {{en}}: deficient, deficiency, defect, limit, limited, disadvantage, disadvantaged, unprivileged, deprived, underprivileged, destitute, ===Synonyms=== *[[khasaare]], [[dhiman]], [[danyar]] 7aoxkhrorsojp6e6p49bnpwpfp2gk4m khasaare 0 10907 32152 32145 2024-10-29T00:52:09Z Girligaanshub 3150 32152 wikitext text/x-wiki {{-so-}} == Magac == '''khasaare''' === Tarjumaad === * {{en}}: wasteful, wasting * {{en}}: disadvantage, disadvantaged, loss, ===Synonyms=== *[[khasaare]], [[dhiman]], [[danyar]] 1b1uhfvwwaiunybnsl3phfxe8fobwp5 danyar 0 10908 32147 2024-10-28T23:25:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''danyar''' === Tarjumaad === * {{en}}: deficient, deficiency, defect, limit, limited, disadvantage, disadvantaged, unprivileged, deprived, underprivileged, destitute, needy, poor ===Synonyms=== *[[khasaare]], [[dhiman]], [[danyar]] 32147 wikitext text/x-wiki {{-so-}} == Magac == '''danyar''' === Tarjumaad === * {{en}}: deficient, deficiency, defect, limit, limited, disadvantage, disadvantaged, unprivileged, deprived, underprivileged, destitute, needy, poor ===Synonyms=== *[[khasaare]], [[dhiman]], [[danyar]] c60ax4wi1in2aw03achpxqp5iqz46kw iqama 0 10909 32155 2024-10-29T01:22:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iqama''' === Tarjumaad === * {{en}}: residency, residence permit, identification, permit, identity card, visa, citizenship 32155 wikitext text/x-wiki {{-so-}} == Magac == '''iqama''' === Tarjumaad === * {{en}}: residency, residence permit, identification, permit, identity card, visa, citizenship efwnyokot5jo4xsc03qdbio8xv3i40z maalgashade 0 10910 32161 2024-10-30T00:36:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''maalgadhade''' === Tarjumaad === * {{en}}: financier, investor 32161 wikitext text/x-wiki {{-so-}} == Magac == '''maalgadhade''' === Tarjumaad === * {{en}}: financier, investor hizr6lba9z4caxx6hspk76u6fijdjzn xanaaney 0 10911 32165 2024-10-30T18:18:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xanaaney''' === Tarjumaad === * {{en}}: to be kind, to have sympathy, to show compassion 32165 wikitext text/x-wiki {{-so-}} == Magac == '''xanaaney''' === Tarjumaad === * {{en}}: to be kind, to have sympathy, to show compassion q0v0r67l3vjsbm2cqv543q2x1gggjsk daawane 0 10912 32167 2024-10-30T20:01:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''daawane''' === Tarjumaad === * {{en}}: viewer, ===Synonyms=== *[[daawade]], [[daawane]] 32167 wikitext text/x-wiki {{-so-}} == Magac == '''daawane''' === Tarjumaad === * {{en}}: viewer, ===Synonyms=== *[[daawade]], [[daawane]] glecbz825vf3r744q80c0ux5cfdqcki cayri 0 10913 32169 32168 2024-10-30T23:44:30Z Girligaanshub 3150 32169 wikitext text/x-wiki {{-so-}} == Magac == '''cayri''' === Tarjumaad === * {{en}}: exile, evict, expel, eject, oust, evacuate, uproot, dismiss jrdkicawwyhhfpny4kdy972nc4qsica rayso 0 10914 32179 2024-10-31T21:40:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rayso''' === Tarjumaad === * {{en}}: win, 32179 wikitext text/x-wiki {{-so-}} == Magac == '''rayso''' === Tarjumaad === * {{en}}: win, j4ssx2wc9znt3areaj69ba7cb8zh2ro reysane 0 10915 32182 32181 2024-10-31T21:40:57Z Girligaanshub 3150 32182 wikitext text/x-wiki {{-so-}} == Magac == '''reysane''' === Tarjumaad === * {{en}}: winner, winners, victor ===Synonyms=== *[[guuleyste]], [[guulwade]], [[reysane]] cfg462amarrhyryjt2jj46348nbvnm1 hayb 0 10916 32184 2024-10-31T21:52:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hayb''' === Tarjumaad === * {{en}}: identity, 32184 wikitext text/x-wiki {{-so-}} == Magac == '''hayb''' === Tarjumaad === * {{en}}: identity, 4fimmwipgu73s5i4w89b8gcxzb8qzzv guuto 0 10917 32187 2024-10-31T23:02:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''guuto''' === Tarjumaad === * {{en}}: batallion, regiment ===Synonyms=== *[[gaas]], [[guuto]], [[jabhad]] 32187 wikitext text/x-wiki {{-so-}} == Magac == '''guuto''' === Tarjumaad === * {{en}}: batallion, regiment ===Synonyms=== *[[gaas]], [[guuto]], [[jabhad]] i309i8kzsgimjcjhrhle7dtdx10twaf jabhad 0 10918 32188 2024-10-31T23:02:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jabhad''' === Tarjumaad === * {{en}}: militia ===Synonyms=== *[[gaas]], [[guuto]], [[jabhad]] 32188 wikitext text/x-wiki {{-so-}} == Magac == '''jabhad''' === Tarjumaad === * {{en}}: militia ===Synonyms=== *[[gaas]], [[guuto]], [[jabhad]] aef2f5vekprodsy804kmle9zbt9ge2i isku-dubbarid 0 10919 32189 2024-10-31T23:11:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''isku-dubbarid''' === Tarjumaad === * {{en}}: coordination 32189 wikitext text/x-wiki {{-so-}} == Magac == '''isku-dubbarid''' === Tarjumaad === * {{en}}: coordination hp045rsav5b3lllazdtl99lh8ofuzfl naadi 0 10920 32213 32194 2024-11-02T00:13:28Z Girligaanshub 3150 32213 wikitext text/x-wiki {{-so-}} == Magac == '''naadi''' ===Etymology=== *Nut goddess, Nut deity === Tarjumaad === * {{en}}: ('''naadiga''') club, circle, camp, class, fraternity, party, association, ===Synonyms=== *[[caweys]], [[naadi]] tfbqqgfh2xh5b6vwhyt98692pxvgbf9 aysin 0 10921 32197 2024-11-01T18:09:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aysin''' === Tarjumaad === * {{en}}: niece * {{en}}: nephew 32197 wikitext text/x-wiki {{-so-}} == Magac == '''aysin''' === Tarjumaad === * {{en}}: niece * {{en}}: nephew llbh86eonxhyyxqfhcixff4sp3v2qj8 eysin 0 10922 32198 2024-11-01T18:09:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''eysin''' === Tarjumaad === * {{en}}: niece * {{en}}: nephew 32198 wikitext text/x-wiki {{-so-}} == Magac == '''eysin''' === Tarjumaad === * {{en}}: niece * {{en}}: nephew 5y7jdzw6e3cmxx2uiwdouts1j4zp5zy dhigasho 0 10923 32200 2024-11-01T18:11:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magaca == '''dhigasho''' === Tarjumaad === * {{en}}: study ===Synonyms=== *[[fasal]], [[cashar]], [[kuliyad]], [[dhigasho]] 32200 wikitext text/x-wiki {{-so-}} == Magaca == '''dhigasho''' === Tarjumaad === * {{en}}: study ===Synonyms=== *[[fasal]], [[cashar]], [[kuliyad]], [[dhigasho]] e44dih0bl7smqw1b8qouxdwemc7734b xeji 0 10924 32203 2024-11-01T18:12:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xji''' === Tarjumaad === * {{en}}: retain 32203 wikitext text/x-wiki {{-so-}} == Magac == '''xji''' === Tarjumaad === * {{en}}: retain 6i4wccgcqipe8qnxpsdm9d64uxxu3c0 xejin 0 10925 32204 2024-11-01T18:13:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xejin''' === Tarjumaad === * {{en}}: retention 32204 wikitext text/x-wiki {{-so-}} == Magac == '''xejin''' === Tarjumaad === * {{en}}: retention d1it9cjsgnqhxmkeqkkuemdha54ypt4 makiinada cabitaanka 0 10926 32208 2024-11-01T19:56:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''makiinada cabitaanka''' === Tarjumaad === * {{en}}: blender, food processor, chopper ===Synonyms=== *[[makiinada cabitaanka]], [[makiinad]] 32208 wikitext text/x-wiki {{-so-}} == Magac == '''makiinada cabitaanka''' === Tarjumaad === * {{en}}: blender, food processor, chopper ===Synonyms=== *[[makiinada cabitaanka]], [[makiinad]] jy3trhd4vacehnxynzbpces5wjdwcg9 makiinad 0 10927 32209 2024-11-01T19:57:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''makiinad''' === Tarjumaad === * {{en}}: blender, food processor, chopper ===Synonyms=== *[[makiinada cabitaanka]], [[makiinad]] 32209 wikitext text/x-wiki {{-so-}} == Magac == '''makiinad''' === Tarjumaad === * {{en}}: blender, food processor, chopper ===Synonyms=== *[[makiinada cabitaanka]], [[makiinad]] 27v478a8f8n94d4rj62scjwti93a6ve koombe 0 10928 32210 2024-11-01T20:29:21Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''koombe''' === Tarjumaad === * {{en}}: clash * {{en}}: Somali clan * {{en}}: pertaining to Kom Ombo, Kemet 32210 wikitext text/x-wiki {{-so-}} == Magac == '''koombe''' === Tarjumaad === * {{en}}: clash * {{en}}: Somali clan * {{en}}: pertaining to Kom Ombo, Kemet oo8h595ydqy4ns2du32xvap5i000cdl siiriga 0 10929 32211 2024-11-01T21:12:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''siiriga''' === Tarjumaad === * {{en}}: whistle, horn, loudspeaker 32211 wikitext text/x-wiki {{-so-}} == Magac == '''siiriga''' === Tarjumaad === * {{en}}: whistle, horn, loudspeaker 101k75ykzob7le6pxgnekkxbg57a3vt yeelyeel 0 10930 32217 2024-11-02T14:26:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yeelyeel''' === Tarjumaad === * {{en}}: pretend ===Synonyms=== *[[yeelyeel]], [[iska-dhig]] 32217 wikitext text/x-wiki {{-so-}} == Magac == '''yeelyeel''' === Tarjumaad === * {{en}}: pretend ===Synonyms=== *[[yeelyeel]], [[iska-dhig]] q7qnfq0owj1a88w121gow8cxick3hp1 iska-dhig 0 10931 32218 2024-11-02T14:26:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iska-dhig''' === Tarjumaad === * {{en}}: pretend ===Synonyms=== *[[yeelyeel]], [[iska-dhig]] 32218 wikitext text/x-wiki {{-so-}} == Magac == '''iska-dhig''' === Tarjumaad === * {{en}}: pretend ===Synonyms=== *[[yeelyeel]], [[iska-dhig]] iwxo7f6n59qm43uuko3gyt19pjrmi5h User talk:Wüstenspringmaus 3 10932 32219 2024-11-02T18:19:38Z Pathoschild 41 global user pages ([[m:Synchbot|requested by Wüstenspringmaus]]) 32219 wikitext text/x-wiki [[File:Redirect arrow without text.svg|46px|link=]][[m:User talk:Wüstenspringmaus|m:User talk:Wüstenspringmaus]] s48bp6md0bqlqfh7qca2oj8x1jbdi2a xaajoodi 0 10933 32225 32223 2024-11-03T21:46:14Z Girligaanshub 3150 32225 wikitext text/x-wiki {{-so-}} == Magac == '''xaajoodi''' === Tarjumaad === * {{en}}: negotiate, consult 2tqjm4rvg0l92kv0fswan2pis21jg3y gu' 0 10934 32231 2024-11-04T00:26:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gu'''' === Tarjumaad === * {{en}}: spring season; March to May season 32231 wikitext text/x-wiki {{-so-}} == Magac == '''gu'''' === Tarjumaad === * {{en}}: spring season; March to May season 6c6xog2tt0sgz0utimtp99ngegpteyf silci 0 10935 32232 2024-11-04T02:45:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''silci''' === Tarjumaad === * {{en}}: persecute, discriminate 32232 wikitext text/x-wiki {{-so-}} == Magac == '''silci''' === Tarjumaad === * {{en}}: persecute, discriminate d0g9nap917cbh0nekll99e8jupfsruk silcin 0 10936 32234 32233 2024-11-04T02:46:56Z Girligaanshub 3150 32234 wikitext text/x-wiki {{-so-}} == Magac == '''silcin''' === Tarjumaad === * {{en}}: persecution, discrimination ===Synonyms=== *[[silcin]], [[haybsooc]], [[takoor]], [[dulmi]] pu0tzkrooce3dohsm1ool60v1ormagq cabsiiyey 0 10937 32240 32239 2024-11-04T03:45:14Z Girligaanshub 3150 32240 wikitext text/x-wiki {{-so-}} == Magac == '''cabsiiyey''' === Tarjumaad === * {{en}}: intimidate ===Synonyms=== *[[cabsii]], [[cabsiiyey]] jkhmey0gkgzxdcecydo7qp879vc92uf cabsii 0 10938 32241 2024-11-04T03:45:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabsii''' === Tarjumaad === * {{en}}: intimidate ===Synonyms=== *[[cabsii]], [[cabsiiyey]] 32241 wikitext text/x-wiki {{-so-}} == Magac == '''cabsii''' === Tarjumaad === * {{en}}: intimidate ===Synonyms=== *[[cabsii]], [[cabsiiyey]] oe1jewl435ijgnjxzfzrit2byoheh6v cabsiiye 0 10939 32242 2024-11-04T03:45:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabsiiye''' === Tarjumaad === * {{en}}: intimidator, 32242 wikitext text/x-wiki {{-so-}} == Magac == '''cabsiiye''' === Tarjumaad === * {{en}}: intimidator, dqppl9fkssjuu1ba4ukypuhl294w3z4 kaadso 0 10940 32244 2024-11-04T03:50:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaanqaad''' === Tarjumaad === * {{en}}: adapt, adjust, align ===Synonyms=== * [[beegan]], [[jaanqaad]], [[kaashi]], [[kaadso]] 32244 wikitext text/x-wiki {{-so-}} == Magac == '''jaanqaad''' === Tarjumaad === * {{en}}: adapt, adjust, align ===Synonyms=== * [[beegan]], [[jaanqaad]], [[kaashi]], [[kaadso]] rfsq3be3v88wi7tizg5jjbf4jytp9cy gaari 0 10941 32251 2024-11-04T05:28:28Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gaari''' === Tarjumaad === * {{en}}: car * {{en}}: unique, distinct, special, peculiar, ===Synonyms=== *[[khaas]], [[gaar]], [[gaari]] 32251 wikitext text/x-wiki {{-so-}} == Magac == '''gaari''' === Tarjumaad === * {{en}}: car * {{en}}: unique, distinct, special, peculiar, ===Synonyms=== *[[khaas]], [[gaar]], [[gaari]] 5ve9f9xxep0l1zyuuaypdz6av8090w5 gayo 0 10942 32255 2024-11-04T05:46:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gayo''' === Tarjumaad === * {{en}}: worthy, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] 32255 wikitext text/x-wiki {{-so-}} == Magac == '''gayo''' === Tarjumaad === * {{en}}: worthy, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] 3du1np1uet4auwqa7y7pgyleuxa7xx4 gayaan 0 10943 32256 2024-11-04T05:46:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gayaan''' === Tarjumaad === * {{en}}: worthy, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] 32256 wikitext text/x-wiki {{-so-}} == Magac == '''gayaan''' === Tarjumaad === * {{en}}: worthy, deserving ===Synonyms=== *[[mudan]], [[mudnaan]], [[qalantid]], [[mutaysan]], [[shahaado]], [[qalmaan]], [[damaaci]], [[damaacinimo]], [[qalinjabin]], [[qalmo]], [[aflax]], [[gayo]], [[gayaan]] 0r8vb9t6s13l68aqpnvupjhkz9zpe90 shamac 0 10944 32260 2024-11-04T05:51:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shamac''' === Tarjumaad === * {{en}}: candle ===Synonyms=== *[[shamac]], [[shumac]] 32260 wikitext text/x-wiki {{-so-}} == Magac == '''shamac''' === Tarjumaad === * {{en}}: candle ===Synonyms=== *[[shamac]], [[shumac]] gwcrfycleplp7ghwsttjrfzthwbfy1r shumac 0 10945 32261 2024-11-04T05:51:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''shumac''' === Tarjumaad === * {{en}}: candle ===Synonyms=== *[[shamac]], [[shumac]] 32261 wikitext text/x-wiki {{-so-}} == Magac == '''shumac''' === Tarjumaad === * {{en}}: candle ===Synonyms=== *[[shamac]], [[shumac]] cvbewwky4ctq02tx9kjz6zvtiaz1rgi xaaraan 0 10946 32775 32414 2024-12-01T15:45:18Z Girligaanshub 3150 32775 wikitext text/x-wiki {{-so-}} == Magac == '''xaaraan''' === Tarjumaad === * {{en}}: unlawful, unfit, ===Synonyms=== * [[shirk]], [[xaaraan]], [[mustaxiil]], [[nijaasayn]], [[baatil]] detzbm33k8s5lq7gwtw4zpktikdnjsn User talk:-revi 3 10947 32272 2024-11-04T08:13:49Z HakanIST 1641 HakanIST moved page [[User talk:-revi]] to [[User talk:Revi C.]]: Automatically moved page while renaming the user "[[Special:CentralAuth/-revi|-revi]]" to "[[Special:CentralAuth/Revi C.|Revi C.]]" 32272 wikitext text/x-wiki #REDIRECT [[User talk:Revi C.]] o9z79lcc9a9pfmqmrod5w3eyk4q9i0o User:-revi 2 10948 32273 2024-11-04T08:13:49Z HakanIST 1641 HakanIST moved page [[User:-revi]] to [[User:Revi C.]]: Automatically moved page while renaming the user "[[Special:CentralAuth/-revi|-revi]]" to "[[Special:CentralAuth/Revi C.|Revi C.]]" 32273 wikitext text/x-wiki #REDIRECT [[User:Revi C.]] 88g0cv17whfgb1wkeh281mptujwtlut rogaalceliye 0 10949 32277 2024-11-05T18:45:04Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rogaalceliye''' === Tarjumaad === * {{en}}: returner 32277 wikitext text/x-wiki {{-so-}} == Magac == '''rogaalceliye''' === Tarjumaad === * {{en}}: returner jzijid62f7tjowu1n8l5mkpinv0sxji rogaalcelis 0 10950 32278 2024-11-05T18:47:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rogaalcelis''' === Tarjumaad === * {{en}}: returning 32278 wikitext text/x-wiki {{-so-}} == Magac == '''rogaalcelis''' === Tarjumaad === * {{en}}: returning mh4nvs73033tndkmcpa3zt772nwb4jc yaac 0 10951 32279 2024-11-05T21:07:16Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''yaac''' === Tarjumaad === * {{en}}: seek, go for, be after, pursue, 32279 wikitext text/x-wiki {{-so-}} == Magac == '''yaac''' === Tarjumaad === * {{en}}: seek, go for, be after, pursue, c8yqnh22vyom7k6x3fxzecjld8jtjrn casri 0 10952 32283 2024-11-06T06:07:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''casri''' === Tarjumaad === * {{en}}: modern, modernity 32283 wikitext text/x-wiki {{-so-}} == Magac == '''casri''' === Tarjumaad === * {{en}}: modern, modernity c8bs9znzxz0tvioqhhwcu016sqqzorh waaqica 0 10953 32286 2024-11-07T05:17:11Z Girligaanshub 3150 Girligaanshub moved page [[waaqica]] to [[waaqicyada]] 32286 wikitext text/x-wiki #REDIRECT [[waaqicyada]] ihv8dauyokzkqrtmf1sklgpet9cd0hx indhokugaraadle 0 10954 32294 2024-11-07T17:37:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indhokugaraadle''' === Tarjumaad === * {{en}}: deductive reasoning, deductive reasoning person 32294 wikitext text/x-wiki {{-so-}} == Magac == '''indhokugaraadle''' === Tarjumaad === * {{en}}: deductive reasoning, deductive reasoning person ppxgnpew87pxgjxegonkjn7qr52fsvo indhokugaraad 0 10955 32295 2024-11-07T17:38:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''indhokugraad''' === Tarjumaad === * {{en}}: deductive 32295 wikitext text/x-wiki {{-so-}} == Magac == '''indhokugraad''' === Tarjumaad === * {{en}}: deductive ak05gc1vraqd5mmqrnvekxvz2crqa0d daaweyn sahlidda 0 10956 32411 32299 2024-11-13T16:36:11Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[samafal]] 32411 wikitext text/x-wiki #REDIRECT [[samafal]] 6tispmlsdouwktidc7cuoapy5g6gxpo daawayn sahlidda 0 10957 32302 2024-11-07T20:34:24Z Girligaanshub 3150 Girligaanshub moved page [[daawayn sahlidda]] to [[daawaynta xiriirka]] 32302 wikitext text/x-wiki #REDIRECT [[daawaynta xiriirka]] t159yptky4novniluazqijfu4y18m8l Shirshoore 0 10958 32306 2024-11-08T04:31:52Z Girligaanshub 3150 Girligaanshub moved page [[Shirshoore]] to [[shirshoore]] 32306 wikitext text/x-wiki #REDIRECT [[shirshoore]] tniqaxwwhwy1l58u5tp54or4lqdutwm mooryaan 0 10959 32322 2024-11-08T12:19:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dayday''' === Tarjumaad === * {{en}}: gang member ===Synonyms=== *[[dayday]], [[mooryaan]], [[budhcad]] 32322 wikitext text/x-wiki {{-so-}} == Magac == '''dayday''' === Tarjumaad === * {{en}}: gang member ===Synonyms=== *[[dayday]], [[mooryaan]], [[budhcad]] ml7n2z6wb8o6ekugc082iix3v233mik gol dalool 0 10960 32331 2024-11-08T19:03:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gol dalool''' === Tarjumaad === * {{en}}: kryptonite, achilles heel, 32331 wikitext text/x-wiki {{-so-}} == Magac == '''gol dalool''' === Tarjumaad === * {{en}}: kryptonite, achilles heel, qz8quton5rxqwlhlqsz81pdz0zooc30 damiinimada 0 10961 32391 32333 2024-11-12T04:40:24Z Girligaanshub 3150 32391 wikitext text/x-wiki {{-so-}} == Magac == '''damiinimad''' === Tarjumaad === * {{en}}: mental retard, retardation ===Synonyms=== *[[dhantaalidda]], [[ootisam]], [[damiinimada]], [[fiiri agnaanta]] f3xrskhvcmrqse4b346bjaaii6386xc cillada fiirashada agnaanta 0 10962 32341 32339 2024-11-08T19:28:46Z Girligaanshub 3150 Girligaanshub moved page [[cillada fiirshada agnaanta]] to [[cillada fiirashada agnaanta]] 32334 wikitext text/x-wiki {{-so-}} == Magac == '''fiiri agnaanta''' === Tarjumaad === * {{en}}: autism ===Synonyms=== *[[dhantaalidda]], [[ootisam]], [[damiinimada]], [[fiiri agnaanta]] 4n02a8vq9qamt78ue2cqbpeya9cwzb4 damiinimade 0 10963 32392 32336 2024-11-12T04:40:41Z Girligaanshub 3150 32392 wikitext text/x-wiki {{-so-}} == Magac == '''damiinimade''' === Tarjumaad === * {{en}}: retard ===Synonyms=== *[[ootisam-qabe]], [[dhantaale]], [[damiinimade]] slwmrk1f0oagiywx9e39hunh3du3s8g caadiyeyn 0 10964 32524 32476 2024-11-18T11:29:07Z Girligaanshub 3150 32524 wikitext text/x-wiki {{-so-}} == Magac == '''caadiyeyn''' === Tarjumaad === * {{en}}: normalize, normalization ===Synonyms=== *[[halbeego]], [[caadiyeyn]], [[dhaqangelin]] d7c3kax3mkzl57t3dvy3xymfepqax7f fiiri agnaanta 0 10965 32348 32340 2024-11-10T12:28:30Z EmausBot 1865 Hagaajin u rogid labalaaban ee [[cillada fiirashada agnaanta]] 32348 wikitext text/x-wiki #REDIRECT [[cillada fiirashada agnaanta]] gt6m86s2213j79oox1y4uhcsmklwqml cillada fiirshada agnaanta 0 10966 32342 2024-11-08T19:28:46Z Girligaanshub 3150 Girligaanshub moved page [[cillada fiirshada agnaanta]] to [[cillada fiirashada agnaanta]] 32342 wikitext text/x-wiki #REDIRECT [[cillada fiirashada agnaanta]] gt6m86s2213j79oox1y4uhcsmklwqml saqda dhexe 0 10967 32357 2024-11-10T15:30:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''saqda dhexe''' === Tarjumaad === * {{en}}: midnight ===Synonyms=== *[[mir]], [[habeenbadh]], [[hiraab]], [[saqda dhexe]] 32357 wikitext text/x-wiki {{-so-}} == Magac == '''saqda dhexe''' === Tarjumaad === * {{en}}: midnight ===Synonyms=== *[[mir]], [[habeenbadh]], [[hiraab]], [[saqda dhexe]] j47svdolukgm1ssiqko25612a8dp7h8 waaqic 0 10968 32362 2024-11-10T16:20:51Z Girligaanshub 3150 Girligaanshub moved page [[waaqic]] to [[waaqicad]] 32362 wikitext text/x-wiki #REDIRECT [[waaqicad]] 913clvltql9ov9o4dbbhx5capykg6cd ugbad 0 10969 32365 2024-11-11T04:15:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ugbad''' === Tarjumaad === * {{en}}: bouquet of flowers, bunch of flowers 32365 wikitext text/x-wiki {{-so-}} == Magac == '''ugbad''' === Tarjumaad === * {{en}}: bouquet of flowers, bunch of flowers 6dv4cedmjduqow6jjfw50wpnj8f3suj wariiri 0 10970 32367 32366 2024-11-11T19:26:21Z Girligaanshub 3150 32367 wikitext text/x-wiki {{-so-}} == Magac == '''wariiri''' === Tarjumaad === * {{en}}: bullet ant, fire ant l4640py96xl3dsy5xaq939m3ugfel88 maro ilaalinimo 0 10971 32376 2024-11-12T02:49:53Z Girligaanshub 3150 Girligaanshub moved page [[maro ilaalinimo]] to [[baal-midignimo]] 32376 wikitext text/x-wiki #REDIRECT [[baal-midignimo]] 2bys8wz629paculjcql47l1w2rvh31e maro-ilaalinta 0 10972 32379 2024-11-12T02:50:31Z Girligaanshub 3150 Girligaanshub moved page [[maro-ilaalinta]] to [[baal-midiga]] 32379 wikitext text/x-wiki #REDIRECT [[baal-midiga]] ii21wgxu2hgy9y9xyrafzdlmu9p8q79 maro-kaydinta 0 10973 32382 2024-11-12T02:51:18Z Girligaanshub 3150 Girligaanshub moved page [[maro-kaydinta]] to [[baal-midig]] 32382 wikitext text/x-wiki #REDIRECT [[baal-midig]] fvucqtaynm8n8bqshoq80gbkop7fmcf daaweynta xiriirka 0 10974 32398 2024-11-12T07:38:47Z Girligaanshub 3150 Girligaanshub moved page [[daaweynta xiriirka]] to [[samafal]] 32398 wikitext text/x-wiki #REDIRECT [[samafal]] 6tispmlsdouwktidc7cuoapy5g6gxpo nijaasayn 0 10975 32777 32413 2024-12-01T15:45:38Z Girligaanshub 3150 32777 wikitext text/x-wiki {{-so-}} == Magac == '''nijasayn''' === Tarjumaad === * {{en}}: desecration, blasphemous, blasphemy, sacrilege, sacrilegious, obnoxious, ===Synonyms=== * [[shirk]], [[xaaraan]], [[mustaxiil]], [[nijaasayn]], [[baatil]] ipuzqd4awl87wv590zyugabjee93a1w qoraxjoog 0 10976 32466 32423 2024-11-16T02:00:32Z Girligaanshub 3150 32466 wikitext text/x-wiki {{-so-}} == Magac == '''qoraxjoog''' === Tarjumaad === * {{en}}: mainland, mainland living person, not diaspora ===Synonyms=== *[[maxalli]], [[qoraxjoog]], [[qolqoljoog]] nn9y3e190t41hoin0mv8rj9x3ug2g1l cabburo 0 10977 32424 2024-11-14T12:15:36Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabburo''' === Tarjumaad === * {{en}}: congest, be stuffed, be stuffy 32424 wikitext text/x-wiki {{-so-}} == Magac == '''cabburo''' === Tarjumaad === * {{en}}: congest, be stuffed, be stuffy d27og0xjwynszj4bqtmbs1ji0176h23 mashquul xad-dhaaf 0 10978 32430 2024-11-15T01:04:51Z Girligaanshub 3150 Girligaanshub moved page [[mashquul xad-dhaaf]] to [[hunguri xad-dhaaf]] 32430 wikitext text/x-wiki #REDIRECT [[hunguri xad-dhaaf]] moe93j5y2qjrwcuzihck41miysfkpyn hawlwadeen 0 10979 32600 32438 2024-11-25T18:36:56Z Girligaanshub 3150 32600 wikitext text/x-wiki {{-so-}} == Magac == '''hawlwadeen''' === Tarjumaad === * {{en}}: proactive, doer, deviser, generator, mogul, enterpriser, agent, purveyor, trendsetter, initiator, ===Synonyms=== *[[waxqabad]], [[hawlwadeen]], [[bile]], [[bedbile]] 9pv4bkmmd9m0i0vwo4ly3hf1wiudh3a nabaddoon 0 10980 32792 32446 2024-12-01T17:33:21Z ВМНС 5070 32792 wikitext text/x-wiki {{-so-}} == Magac == '''nabaddoon''' === Tarjumaad === * {{en}}: pacifist ===Synonyms=== *[[coodtabin]], [[qoolley]], [[nabaddoon]] [[Category:Soomaali ereyada-na]] rdkgjcwe18fuob8koluysmn5jij3zsa dhego-nugul 0 10981 32693 32465 2024-11-30T09:07:27Z Girligaanshub 3150 32693 wikitext text/x-wiki {{-so-}} == Magac == '''dhego-nugul''' === Tarjumaad === * {{en}}: open to discourse, inviting discourse, * {{en}}: influencable, influencee, manipulable, impressionable, pliable, receptive, pliable, susceptible, malleable, naive, gullible, persuadable, ===Synonyms=== *[[dhego-nugul]], [[haaheeyaraac]] p4xwsnncrwkdi5s68amfphvtc0evh7e hunguriyey 0 10982 32623 32539 2024-11-28T14:15:11Z Girligaanshub 3150 32623 wikitext text/x-wiki {{-so-}} == Magac == '''hunguriyey''' === Tarjumaad === * {{en}}: to finesse * {{en}}: jockeying for, make machinations for, be cunning for, * {{en}}: to manipulate another, to be a hedonist * {{en}}: strive, aim, intend, crave, ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]], [[dardargalo]] * *[[boori]], [[dirqi]] f7hgq48rf4b0zsd1ioy01vjr32lr05e qolqoljoog 0 10983 32467 2024-11-16T02:01:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qolqoljoog''' === Tarjumaad === * {{en}}: endemic, local, indigenous, native, resident, * {{en}}: mainland, mainland living person, not diaspora ===Synonyms=== *[[maxalli]], [[qoraxjoog]], [[qolqoljoog]] 32467 wikitext text/x-wiki {{-so-}} == Magac == '''qolqoljoog''' === Tarjumaad === * {{en}}: endemic, local, indigenous, native, resident, * {{en}}: mainland, mainland living person, not diaspora ===Synonyms=== *[[maxalli]], [[qoraxjoog]], [[qolqoljoog]] qt9l7fqwdnp9wg9symgj0a14c7xtng9 shidaal 0 10984 32522 32469 2024-11-18T11:02:44Z Girligaanshub 3150 32522 wikitext text/x-wiki {{-so-}} == Magac == '''shidaal''' === Tarjumaad === * {{en}}: petrol, petroleum, fuel, * {{en}}: incentive, stimulus ===Synonyms=== *[[dhiirigelin]], [[shidaal]], [[kaladanbayn]], [[dardargeli]] 5151alt15crmjefh6ua8eti47i45ly5 habsocodka guud 0 10985 32474 2024-11-16T02:36:55Z Girligaanshub 3150 Girligaanshub moved page [[habsocodka guud]] to [[habka guud]] 32474 wikitext text/x-wiki #REDIRECT [[habka guud]] mo75alurnr66gvjaizji3hx0mrlgarh qodob 0 10986 32482 2024-11-16T19:44:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dulucda''' === Tarjumaad === * {{en}}: overview, theme, synopsis, outline, topic, ===Synonyms=== *[[dulxaadis]], [[dulucda]], [[mawduuc]], [[qodob]] 32482 wikitext text/x-wiki {{-so-}} == Magac == '''dulucda''' === Tarjumaad === * {{en}}: overview, theme, synopsis, outline, topic, ===Synonyms=== *[[dulxaadis]], [[dulucda]], [[mawduuc]], [[qodob]] jqadij555x9m6f4h2znlrncfrr6obsc ba 0 10987 32503 2024-11-17T07:01:24Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ba''' === Tarjumaad === * {{en}}: focus marker (masculine) * {{en}}: person's soul represented as a bird-headed figure in Kemet (Old Somali) 32503 wikitext text/x-wiki {{-so-}} == Magac == '''ba''' === Tarjumaad === * {{en}}: focus marker (masculine) * {{en}}: person's soul represented as a bird-headed figure in Kemet (Old Somali) 57iph9qxtg13uwiqe3wuvpsorbc6zgy xaram 0 10988 32509 32506 2024-11-18T10:44:18Z Girligaanshub 3150 32509 wikitext text/x-wiki {{-so-}} == Magac == '''xaram''' === Tarjumaad === * {{en}}: memorial, archeological site, sacred site, landmark, mausoleum, plaque, cenotaph, sanctuary, protected zone, inviolate site, ===Synonyms=== *[[taalo]], [[xaram]], [[aargo]] mpev97vbr0ue1fphkw0gl52x1pjy7xe xagal-jiif 0 10989 32517 2024-11-18T10:54:23Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xagal-jiif''' === Tarjumaad === * {{en}}: horizontal 32517 wikitext text/x-wiki {{-so-}} == Magac == '''xagal-jiif''' === Tarjumaad === * {{en}}: horizontal f863kt0gbfo15j4345imavr17mweb5c halbeego 0 10990 32525 2024-11-18T11:29:41Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halbeego''' === Tarjumaad === * {{en}}: normalize, normalization, standardize, standardization, regularize, ===Synonyms=== *[[halbeego]], [[caadiyeyn]], [[dhaqangelin]] 32525 wikitext text/x-wiki {{-so-}} == Magac == '''halbeego''' === Tarjumaad === * {{en}}: normalize, normalization, standardize, standardization, regularize, ===Synonyms=== *[[halbeego]], [[caadiyeyn]], [[dhaqangelin]] fk810pirqqvfntf2rmjdwkibh8ff94q dhaqangelin 0 10991 32526 2024-11-18T11:30:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''halbeego''' === Tarjumaad === * {{en}}: normalize, normalization, standardize, standardization, regularize, ===Synonyms=== *[[halbeego]], [[caadiyeyn]], [[dhaqangelin]], *[[rasmiyeeyo]] 32526 wikitext text/x-wiki {{-so-}} == Magac == '''halbeego''' === Tarjumaad === * {{en}}: normalize, normalization, standardize, standardization, regularize, ===Synonyms=== *[[halbeego]], [[caadiyeyn]], [[dhaqangelin]], *[[rasmiyeeyo]] rw0kfnk6j7t811ksg3wndali3ecmuza dardargalo 0 10992 32538 32528 2024-11-18T14:40:38Z Girligaanshub 3150 32538 wikitext text/x-wiki {{-so-}} == Magac == '''dardargalo''' === Tarjumaad === * {{en}}: strive, dedicate, dedication, insist, quest, campaign, ===Synonyms=== *[[naf-bido]], [[jamo]], [[hunguriyey]], [[istiil]], [[dadaal]] * *[[boori]], [[dirqi]] 7bab32pcmae2j4ymfqb20nrwq4ozjmf xayr-gaar 0 10993 32813 32811 2024-12-02T10:29:53Z Girligaanshub 3150 32813 wikitext text/x-wiki {{-so-}} == Magac == '''xer-gaar''' === Tarjumaad === * {{en}}: subculture ===Synonyms=== *[[taa'ifa]], [[taa'ifo]], [[xayr]], [[firqo]], [[xayrdhaqameed]], [[xayr-diimeed]], [[xayr-gaar]] ed1j8zs9rsc0bvjc0ozw5sh8j2m7fif denbi 0 10994 32712 32542 2024-11-30T15:22:34Z Girligaanshub 3150 32712 wikitext text/x-wiki {{-so-}} == Magac == '''denbi''' === Tarjumaad === * {{en}}: blunder, fault, mistake, error ===Synonyms=== *[[gef]], [[naxli]], [[denbi]] eh0vpeanf2a5fw5vl50d2z5qr7ka4wv huro 0 10995 32544 2024-11-18T23:58:30Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''huri''' === Tarjumaad === * {{en}}: sacrifice, yield, cede, relinquish 32544 wikitext text/x-wiki {{-so-}} == Magac == '''huri''' === Tarjumaad === * {{en}}: sacrifice, yield, cede, relinquish h4wiyby1p61kq834vx4lxk7q6dfcq19 huritaan 0 10996 32545 2024-11-18T23:59:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''huritaan''' === Tarjumaad === * {{en}}: sacrifice, relinquish, forfeit, immolation, 32545 wikitext text/x-wiki {{-so-}} == Magac == '''huritaan''' === Tarjumaad === * {{en}}: sacrifice, relinquish, forfeit, immolation, kfpok64vxcyud1qgrpawz561cojbkzg qoto-dheer 0 10997 32546 2024-11-19T00:17:52Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoto-dheer''' === Tarjumaad === * {{en}}: depth, extensive, deep, profound, in-depth, thorough, exhaustive, scrupulous, meticulous, comprehensive, 32546 wikitext text/x-wiki {{-so-}} == Magac == '''qoto-dheer''' === Tarjumaad === * {{en}}: depth, extensive, deep, profound, in-depth, thorough, exhaustive, scrupulous, meticulous, comprehensive, a0uq5u980ajgedi1x96mtvc0p5g4wv4 madho 0 10998 32549 2024-11-19T00:31:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madho''' === Tarjumaad === * {{en}}: wipe out, eliminate, eradicate, neutralize, decimate, extinguish ===Synonyms=== *[[dam-dheh]], [[ciribtir]], [[madho]] 32549 wikitext text/x-wiki {{-so-}} == Magac == '''madho''' === Tarjumaad === * {{en}}: wipe out, eliminate, eradicate, neutralize, decimate, extinguish ===Synonyms=== *[[dam-dheh]], [[ciribtir]], [[madho]] arti31qvuqpk0wjuwnhuu7f9imy81in caamada 0 10999 32580 32577 2024-11-23T14:29:29Z Girligaanshub 3150 32580 wikitext text/x-wiki {{-so-}} == Magac == '''caamada''' === Tarjumaad === * {{en}}: illiterates * {{en}}: bourgeoise, peasant, proletarian, * {{en}}: common, general, public qrpjjm0c4f72odaqzp0sya540qmssch uufannays 0 11000 32556 32555 2024-11-22T04:25:47Z Girligaanshub 3150 32556 wikitext text/x-wiki {{-so-}} == Magac == '''uufannays''' === Tarjumaad === * {{en}}: amorphous, shapeless, formless, unstructured, structureless, nebulous, hazy, indeterminate, * {{en}}: ambiguous, equivocal, ambivalent, obscure, vague, ===Synonyms=== *[[booyaan]], [[uufannays]], dbbanzcfq5nn0dfgndq4e5ipx3r2a8d ayeeyo lugdheer 0 11001 32557 2024-11-22T04:47:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ayeeyo lugdheer''' === Tarjumaad === * {{en}}: praying mantis, 32557 wikitext text/x-wiki {{-so-}} == Magac == '''ayeeyo lugdheer''' === Tarjumaad === * {{en}}: praying mantis, 9aiif67bijbvu5jieeuteuxhs8dekeu ilbaxsan 0 11002 32558 2024-11-22T05:53:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ilbaxsan''' === Tarjumaad === * {{en}}: civilized, 32558 wikitext text/x-wiki {{-so-}} == Magac == '''ilbaxsan''' === Tarjumaad === * {{en}}: civilized, 4mhjd6selmo35pgqf43idywkzuv1ztp isu-riyaaqid 0 11003 32564 32563 2024-11-22T09:12:05Z Girligaanshub 3150 32564 wikitext text/x-wiki {{-so-}} == Magac == '''isuriyaaqid''' === Tarjumaad === * {{en}}: complacent, complacency 4dsxjqpm6p2dcp46pqlp0pkkwm153of hubaal-li'i 0 11004 32840 32565 2024-12-02T12:02:04Z Girligaanshub 3150 32840 wikitext text/x-wiki {{-so-}} == Magac == '''hubaal-li'i''' === Tarjumaad === * {{en}}: uncertain, uncertainty, undecided, doubtful, unsure, ====Synonyms==== *[[hubaal-li'i]], [[labalabeyn]], [[labalabay]], [[habrasho]], [[masuug]], [[masuugo]] 7qq0nd9ixduzrbdhcp155f821h5jn85 madal 0 11005 32569 2024-11-22T09:21:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''madal''' === Tarjumaad === * {{en}}: forum 32569 wikitext text/x-wiki {{-so-}} == Magac == '''madal''' === Tarjumaad === * {{en}}: forum tdaflwsjt69hd23qzz346c7f01se9jb minbar 0 11006 32570 2024-11-22T09:21:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''minbar''' === Tarjumaad === * {{en}}: platform 32570 wikitext text/x-wiki {{-so-}} == Magac == '''minbar''' === Tarjumaad === * {{en}}: platform 25o7y62gu67yivpole2f1q3eo4lgonb siyaasi qabow 0 11007 32576 32575 2024-11-23T09:33:42Z Girligaanshub 3150 32576 wikitext text/x-wiki {{-so-}} == Magac == '''siyaasi qabow''' === Tarjumaad === * {{en}}: soft power, diplomacy, diplomatic 7rvo7d5jldrdullxr7v0hv7pafshjj0 caamo 0 11008 32578 2024-11-23T13:53:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caamo''' === Tarjumaad === * {{en}}: illiterate 32578 wikitext text/x-wiki {{-so-}} == Magac == '''caamo''' === Tarjumaad === * {{en}}: illiterate a8yp099a98ha5wghhhuhcoppgblpln9 caam 0 11009 32579 2024-11-23T14:28:49Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caam''' === Tarjumaad === * {{en}}: illiterate * {{en}}: common, general, public 32579 wikitext text/x-wiki {{-so-}} == Magac == '''caam''' === Tarjumaad === * {{en}}: illiterate * {{en}}: common, general, public 1h9glv9tzcou3nppxm0dj9mwfmxn49q qaabilsanaan 0 11010 32591 32587 2024-11-24T13:04:08Z Girligaanshub 3150 32591 wikitext text/x-wiki {{-so-}} == Magac == '''qaabilsanaan''' === Tarjumaad === * {{en}}: alignment, assignment * {{en}}: embracement, embracing other people ===Synonym=== *[[qaabilsanaan]], [[ogolaansho]], [[aqbalid]] mudiptm2atsrbjmbvq8e0fby7dd321u ogolaansho 0 11011 32589 32583 2024-11-24T12:42:06Z Girligaanshub 3150 32589 wikitext text/x-wiki {{-so-}} == Magac == '''ogolaansho''' === Tarjumaad === * {{en}}: acceptance, tolerance ===Synonym=== *[[qaabilsanaan]], [[ogolaansho]], [[aqbalid]] b98jw1u0b2sf3s1y50z9x8wjyx4fr3q aqbalid 0 11012 32588 32584 2024-11-24T12:41:47Z Girligaanshub 3150 32588 wikitext text/x-wiki {{-so-}} == Magac == '''aqbalid''' === Tarjumaad === * {{en}}: acceptance, tolerance ===Synonym=== *[[qaabilsanaan]], [[ogolaansho]], [[aqbalid]] an3c3djex7ifap857pr2yuirfq6c1q0 afaaraha 0 11013 32590 2024-11-24T13:03:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''afaaraha''' === Tarjumaad === * {{en}}: notions, topics, notion, topic, 32590 wikitext text/x-wiki {{-so-}} == Magac == '''afaaraha''' === Tarjumaad === * {{en}}: notions, topics, notion, topic, tngg9ikgkcydwiskp7dvmv5gazfjnb2 dardargal 0 11014 32593 2024-11-24T18:32:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dardargal''' === Tarjumaad === * {{en}}: dedication, passion, passionate, dedicate, 32593 wikitext text/x-wiki {{-so-}} == Magac == '''dardargal''' === Tarjumaad === * {{en}}: dedication, passion, passionate, dedicate, 4o3qcmmur08qyul4yx5akep3tl50b02 naago 0 11015 32594 2024-11-24T19:28:27Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''naago''' ===Etymology=== *Nekhbet deity === Tarjumaad === * {{en}}: women 32594 wikitext text/x-wiki {{-so-}} == Magac == '''naago''' ===Etymology=== *Nekhbet deity === Tarjumaad === * {{en}}: women i3afaghompctqao61itc8le9d6oloj7 dhay 0 11016 32595 2024-11-24T20:43:45Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhay''' === Tarjumaad === * {{en}}: check, check it * {{en}}: try, attempt 32595 wikitext text/x-wiki {{-so-}} == Magac == '''dhay''' === Tarjumaad === * {{en}}: check, check it * {{en}}: try, attempt 7ixzlokdq6073be1twwj2ooi7fkvrk1 mugdi 0 11017 32597 2024-11-25T04:22:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''mugdi''' === Tarjumaad === * {{en}}: dark 32597 wikitext text/x-wiki {{-so-}} == Magac == '''mugdi''' === Tarjumaad === * {{en}}: dark 31aawmro3sjyorf7hntos5zewkws82y amro 0 11018 32606 2024-11-26T08:43:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''amro''' === Tarjumaad === * {{en}}: assert, 32606 wikitext text/x-wiki {{-so-}} == Magac == '''amro''' === Tarjumaad === * {{en}}: assert, k3uf96qg63anc2b7cogzo6n15i5jq55 aftahamo 0 11019 32611 2024-11-26T21:18:26Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''aftahamo''' === Tarjumaad === * {{en}}: charm, charming, woo, captivate, allure, lure, mesmerize, hypnotize, enamour, seduce, 32611 wikitext text/x-wiki {{-so-}} == Magac == '''aftahamo''' === Tarjumaad === * {{en}}: charm, charming, woo, captivate, allure, lure, mesmerize, hypnotize, enamour, seduce, s5e20jhz99x89l8zrmt93ev4vcrmfah babac-dhig 0 11020 32613 2024-11-26T21:30:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''babac-dhig''' === Tarjumaad === * {{en}}: challenge, 32613 wikitext text/x-wiki {{-so-}} == Magac == '''babac-dhig''' === Tarjumaad === * {{en}}: challenge, bpuivb8udsn2ogytlo5j4i66u252z2i harowso 0 11021 32736 32614 2024-11-30T18:03:00Z Girligaanshub 3150 32736 wikitext text/x-wiki {{-so-}} == Magac == '''harowso''' === Tarjumaad === * {{en}}: manipulate, ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] olalg5onv385f2s1r2sw8p2y4q7borg harowsasho 0 11022 32615 2024-11-26T22:13:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''harowsasho''' === Tarjumaad === * {{en}}: manipulation, 32615 wikitext text/x-wiki {{-so-}} == Magac == '''harowsasho''' === Tarjumaad === * {{en}}: manipulation, c9f5wz5mo9y6qqgn8v05f9siip4imqa ishaad ka soo ridday 0 11023 32616 2024-11-27T05:15:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''ishaad ka soo ridday''' === Tarjumaad === * {{en}}: hit the nail on the head, exactly 32616 wikitext text/x-wiki {{-so-}} == Magac == '''ishaad ka soo ridday''' === Tarjumaad === * {{en}}: hit the nail on the head, exactly coozvr360mbcogvntb9t59kow25dmbj iskadhaca 0 11024 32617 2024-11-27T08:09:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskadhaca''' === Tarjumaad === * {{en}}: spontaneous, 32617 wikitext text/x-wiki {{-so-}} == Magac == '''iskadhaca''' === Tarjumaad === * {{en}}: spontaneous, 20hrwp4b2y6nfz0v98halupg87o5ykc iskumar 0 11025 32618 2024-11-27T08:09:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskumar''' === Tarjumaad === * {{en}}: simultaneous, 32618 wikitext text/x-wiki {{-so-}} == Magac == '''iskumar''' === Tarjumaad === * {{en}}: simultaneous, d7a9tew3vr53mjf2084i93o7inky710 iskuxiga 0 11026 32619 2024-11-27T08:10:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''iskuxiga''' === Tarjumaad === * {{en}}: consecutive, consecutively 32619 wikitext text/x-wiki {{-so-}} == Magac == '''iskuxiga''' === Tarjumaad === * {{en}}: consecutive, consecutively quxdlc1tufg9v8hpt5yt92eirz9qyb3 marmar 0 11027 32621 2024-11-27T08:11:17Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''marmar''' === Tarjumaad === * {{en}}: intermittent 32621 wikitext text/x-wiki {{-so-}} == Magac == '''marmar''' === Tarjumaad === * {{en}}: intermittent 3t5gblc3t35se1iiawy696cmyzmo87i qoto-dheeraadka 0 11028 32622 2024-11-27T14:41:44Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoto-dheeraadka''' === Tarjumaad === * {{en}}: depth, intensity, level, severeness, gravity, magnitude, potency, breadth, volume, proportion, proportions, extent, extensiveness 32622 wikitext text/x-wiki {{-so-}} == Magac == '''qoto-dheeraadka''' === Tarjumaad === * {{en}}: depth, intensity, level, severeness, gravity, magnitude, potency, breadth, volume, proportion, proportions, extent, extensiveness suvx0epylb44vg7e8lg73vln5rt3od2 duuflaal 0 11029 32626 2024-11-29T06:16:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''duuflaal''' === Tarjumaad === * {{en}}: extravagant, spendthrift, lavish, expensive, exorbitant, luxury ===Synonyms=== *[[loofar]], [[duuflaal]] 32626 wikitext text/x-wiki {{-so-}} == Magac == '''duuflaal''' === Tarjumaad === * {{en}}: extravagant, spendthrift, lavish, expensive, exorbitant, luxury ===Synonyms=== *[[loofar]], [[duuflaal]] 6ye40gma8y0ppywlhl53inciypu7lk6 loofar 0 11030 32627 2024-11-29T06:16:37Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''loofar''' (arabic) === Tarjumaad === * {{en}}: extravagant, spendthrift, lavish, expensive, exorbitant, luxury ===Synonyms=== *[[loofar]], [[duuflaal]] 32627 wikitext text/x-wiki {{-so-}} == Magac == '''loofar''' (arabic) === Tarjumaad === * {{en}}: extravagant, spendthrift, lavish, expensive, exorbitant, luxury ===Synonyms=== *[[loofar]], [[duuflaal]] 0ww1cei1bl66k6vx0uxnni89gsaw0c6 rafcaan 0 11031 32629 2024-11-29T06:23:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''rafcaan''' (arabic) === Tarjumaad === * {{en}}: appeal, legal reversal, appellate, appellant, ===Synonyms=== *[[rafcaan]], [[igbay]] 32629 wikitext text/x-wiki {{-so-}} == Magac == '''rafcaan''' (arabic) === Tarjumaad === * {{en}}: appeal, legal reversal, appellate, appellant, ===Synonyms=== *[[rafcaan]], [[igbay]] hnptmo7k2b972n1l1nqk7ql94plmb77 igbay 0 11032 32630 2024-11-29T06:24:01Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''igbay''' === Tarjumaad === * {{en}}: appeal, legal reversal, appellate, appellant, ===Synonyms=== *[[rafcaan]], [[igbay]] 32630 wikitext text/x-wiki {{-so-}} == Magac == '''igbay''' === Tarjumaad === * {{en}}: appeal, legal reversal, appellate, appellant, ===Synonyms=== *[[rafcaan]], [[igbay]] ba26v8g3fygkdkgxrvua6mu6gn04ap1 xalqad 0 11033 32632 2024-11-29T10:01:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xalqad''' === Tarjumaad === * {{en}}: broadcast, 32632 wikitext text/x-wiki {{-so-}} == Magac == '''xalqad''' === Tarjumaad === * {{en}}: broadcast, dkko8o5ge61t6iae62mtzcblxckp7sg khawaaf 0 11034 32633 2024-11-29T10:41:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''khawaaf''' === Tarjumaad === * {{en}}: desperation, ===Synonyms=== *[[khawaaf]], [[caydan]] 32633 wikitext text/x-wiki {{-so-}} == Magac == '''khawaaf''' === Tarjumaad === * {{en}}: desperation, ===Synonyms=== *[[khawaaf]], [[caydan]] om7yaulkx7xdkxm9g6v788o4ituw9fp caydan 0 11035 32634 2024-11-29T10:41:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''caydan''' === Tarjumaad === * {{en}}: desperation, ===Synonyms=== *[[khawaaf]], [[caydan]] 32634 wikitext text/x-wiki {{-so-}} == Magac == '''caydan''' === Tarjumaad === * {{en}}: desperation, ===Synonyms=== *[[khawaaf]], [[caydan]] a9t7yptrealnuzqvltn17n29m68mygq bariiso 0 11036 32636 2024-11-29T18:49:25Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bariiso''' === Tarjumaad === * {{en}}: morning rain 32636 wikitext text/x-wiki {{-so-}} == Magac == '''bariiso''' === Tarjumaad === * {{en}}: morning rain t9dnuu90izwbey9bcnbzbkmpn9r2yo6 miiraale 0 11037 32637 2024-11-29T18:50:51Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''miiraale''' === Tarjumaad === * {{en}}: midnight rain 32637 wikitext text/x-wiki {{-so-}} == Magac == '''miiraale''' === Tarjumaad === * {{en}}: midnight rain f5iw6k0jomskitd5audh5hv4d71xpgy udubdheer 0 11038 32639 2024-11-30T07:42:10Z Girligaanshub 3150 Girligaanshub moved page [[udubdheer]] to [[xukun furfuran]] 32639 wikitext text/x-wiki #REDIRECT [[xukun furfuran]] iv3pu81k1s23w4vittxe018gkl4qxb5 udubdheeraynta 0 11039 32642 2024-11-30T07:42:54Z Girligaanshub 3150 Girligaanshub moved page [[udubdheeraynta]] to [[xukun-furfurayn]] 32642 wikitext text/x-wiki #REDIRECT [[xukun-furfurayn]] ft2q4zz0dr0v3hulw4xwh8qwt850xdv udubdheerayn 0 11040 32645 2024-11-30T07:43:44Z Girligaanshub 3150 Girligaanshub moved page [[udubdheerayn]] to [[xukun furfuraynta]] 32645 wikitext text/x-wiki #REDIRECT [[xukun furfuraynta]] dac9tuz1mdutk10caa68w1x29tnnjwi udubdheerka 0 11041 32648 2024-11-30T07:44:16Z Girligaanshub 3150 Girligaanshub moved page [[udubdheerka]] to [[xukun furfurka]] 32648 wikitext text/x-wiki #REDIRECT [[xukun furfurka]] 3sioheyckryuog7cw0deibeuwjoadgf xariir-la'aan 0 11042 32655 2024-11-30T08:11:32Z Girligaanshub 3150 Girligaanshub moved page [[xariir-la'aan]] to [[ciirsan]] 32655 wikitext text/x-wiki #REDIRECT [[ciirsan]] a0j9h15q9gj50gsgrxfdj9pbv5bnbyc dhabaalo 0 11043 32658 2024-11-30T08:14:15Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabaalo''' === Tarjumaad === * {{en}}: fight between livestock 32658 wikitext text/x-wiki {{-so-}} == Magac == '''dhabaalo''' === Tarjumaad === * {{en}}: fight between livestock ozan0ykhqs81w1lu21kvc86tygwia75 dhabahaanti 0 11044 32663 2024-11-30T08:19:21Z Girligaanshub 3150 Girligaanshub moved page [[dhabahaanti]] to [[macno leh]] 32663 wikitext text/x-wiki #REDIRECT [[macno leh]] eh6pskpp0a3mb6r50h4pg9ky9wkh3od wiirawiire 0 11045 32665 2024-11-30T08:34:38Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''wiirawiire''' === Tarjumaad === * {{en}}: midday, noon, meridian, 32665 wikitext text/x-wiki {{-so-}} == Magac == '''wiirawiire''' === Tarjumaad === * {{en}}: midday, noon, meridian, 6ia8ckgajdcrgvjwjpli7tjks8knp3h denisan 0 11046 32668 2024-11-30T08:55:57Z Girligaanshub 3150 Girligaanshub moved page [[denisan]] to [[dhaarsan]] 32668 wikitext text/x-wiki #REDIRECT [[dhaarsan]] o3ekzeq6gauj1w6yvkmwdlbsrj1s2gc arkijiredoon 0 11047 32685 2024-11-30T09:04:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''arkijiredoon''' === Tarjumaad === * {{en}}: nostalgia, ===Synonyms=== *[[waaheen]], [[arkijiredoon]], [[hilloow]], [[daltabyo]] 32685 wikitext text/x-wiki {{-so-}} == Magac == '''arkijiredoon''' === Tarjumaad === * {{en}}: nostalgia, ===Synonyms=== *[[waaheen]], [[arkijiredoon]], [[hilloow]], [[daltabyo]] 01nu33pvtfwdlxgcx7z0vreqiksxbgo xaynbooraali 0 11048 32688 2024-11-30T09:05:43Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xaynbooraali''' === Tarjumaad === * {{en}}: caravan, 32688 wikitext text/x-wiki {{-so-}} == Magac == '''xaynbooraali''' === Tarjumaad === * {{en}}: caravan, 3gu4z2mg0t0ut27b3g4vn33nqxi32e3 la-duufsade 0 11049 32690 2024-11-30T09:06:50Z Girligaanshub 3150 Girligaanshub moved page [[la-duufsade]] to [[haaheeyaraac]] 32690 wikitext text/x-wiki #REDIRECT [[haaheeyaraac]] fc9lnerivoqfy7nlhkx5lzrgtj17k1s tumaati 0 11050 32695 2024-11-30T09:32:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''tumaati''' === Tarjumaad === * {{en}}: spear wound, knife wound * {{en}}: to stab, to spear 32695 wikitext text/x-wiki {{-so-}} == Magac == '''tumaati''' === Tarjumaad === * {{en}}: spear wound, knife wound * {{en}}: to stab, to spear 3ll2lc86jjwj01qobrqurb4c0adbze5 kuuni 0 11051 32697 2024-11-30T09:33:47Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''kuuni''' === Tarjumaad === * {{en}}: envy ===Synonyms=== *[[maseyr]], [[masayr]], [[kuuni]] 32697 wikitext text/x-wiki {{-so-}} == Magac == '''kuuni''' === Tarjumaad === * {{en}}: envy ===Synonyms=== *[[maseyr]], [[masayr]], [[kuuni]] 8t3bjkig3oi9nyh9v0mk2wul51nb9g1 shishi 0 11052 32764 32702 2024-12-01T09:58:14Z Girligaanshub 3150 32764 wikitext text/x-wiki {{-so-}} == Magac == '''shishi''' === Tarjumaad === * {{en}}: whiz kid, prodigy, wunderkind, child genius, mature for one's age * {{en}}: precocious puberty, precocious pregnancy, early bloomer, premature puberty * {{en}}: preterm * {{en}}: golden child 77mv6sncc2hrv6drffg568bixcd78f3 taariikhyahan 0 11053 32703 2024-11-30T12:18:55Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taariikhyahan''' === Tarjumaad === * {{en}}: historian, ===Synonyms=== *[[taariikhyahan]], [[taariikhqore]] 32703 wikitext text/x-wiki {{-so-}} == Magac == '''taariikhyahan''' === Tarjumaad === * {{en}}: historian, ===Synonyms=== *[[taariikhyahan]], [[taariikhqore]] qdpchbd34uablhq0ymw21yx8oaucw83 taariikhqore 0 11054 32704 2024-11-30T12:19:08Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''taariikhqore''' === Tarjumaad === * {{en}}: historian, ===Synonyms=== *[[taariikhyahan]], [[taariikhqore]] 32704 wikitext text/x-wiki {{-so-}} == Magac == '''taariikhqore''' === Tarjumaad === * {{en}}: historian, ===Synonyms=== *[[taariikhyahan]], [[taariikhqore]] 8y6nod9lmqal4j8yg54ka2bp0y2140r abwaansan 0 11055 32706 2024-11-30T12:32:03Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''abwaansan''' === Tarjumaad === * {{en}}: formal, literary 32706 wikitext text/x-wiki {{-so-}} == Magac == '''abwaansan''' === Tarjumaad === * {{en}}: formal, literary o8vdtq30a1hq4fbd0asgq7l91letgy8 laxni 0 11056 32707 2024-11-30T14:45:06Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''laxni''' === Tarjumaad === * {{en}}: typo, misprint * {{en}}: gaffe, miscalculation, misdemeanour, misdemeanor, slip of the tongue 32707 wikitext text/x-wiki {{-so-}} == Magac == '''laxni''' === Tarjumaad === * {{en}}: typo, misprint * {{en}}: gaffe, miscalculation, misdemeanour, misdemeanor, slip of the tongue krkz2pf380k6uo9bjruhyu19wexamim gef weyn 0 11057 32709 2024-11-30T14:46:56Z Girligaanshub 3150 Girligaanshub moved page [[gef weyn]] to [[naxli]] 32709 wikitext text/x-wiki #REDIRECT [[naxli]] 1otnkrf7yjnh8yywzf997p4r8tb7nxv dhabaqtiran 0 11058 32715 2024-11-30T16:32:19Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dhabaqtiran''' === Tarjumaad === * {{en}}: rhythmic 32715 wikitext text/x-wiki {{-so-}} == Magac == '''dhabaqtiran''' === Tarjumaad === * {{en}}: rhythmic 5nf2flgb6bu62nsl311jvozp71bldc8 xambaaragudub 0 11059 32716 2024-11-30T16:33:35Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xambaaragudub''' === Tarjumaad === * {{en}}: body slam 32716 wikitext text/x-wiki {{-so-}} == Magac == '''xambaaragudub''' === Tarjumaad === * {{en}}: body slam aq5n1k324h51xt3uzbz3f7daqu25ovd haadsi 0 11060 32738 32735 2024-11-30T18:03:24Z Girligaanshub 3150 32738 wikitext text/x-wiki {{-so-}} == Magac == '''haadsi''' === Tarjumaad === * {{en}}: take advantage of, exploit, manipulate ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] kbahi2lfjl1succu6ce2uv39kubgjk9 tunjileecsi 0 11061 32737 32719 2024-11-30T18:03:13Z Girligaanshub 3150 32737 wikitext text/x-wiki {{-so-}} == Magac == '''duufsado''' === Tarjumaad === * {{en}}: manipulate, manipulation, exploit, take advantage of ===Synonyms=== *[[kasbo]], [[duufsasho]], [[duufsado]], [[dhiigmiiro]], [[haadsi]], [[tunjileecsi]], [[harowso]] 1b4fibub0kdwhkspuiuo7w8ojxj3oav haar 0 11062 32723 2024-11-30T17:24:13Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haar''' === Tarjumaad === * {{en}}: zealous, persistence, fervent, earnest, ===Synonyms=== *[[haar]], [[haaruf]] 32723 wikitext text/x-wiki {{-so-}} == Magac == '''haar''' === Tarjumaad === * {{en}}: zealous, persistence, fervent, earnest, ===Synonyms=== *[[haar]], [[haaruf]] tqier9n5werex4i0mf4nhvbc56e2n3f haaruf 0 11063 32724 2024-11-30T17:31:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''haaruf''' === Tarjumaad === * {{en}}: zealous, persistence, fervent, earnest, ===Synonyms=== *[[haar]], [[haaruf]] 32724 wikitext text/x-wiki {{-so-}} == Magac == '''haaruf''' === Tarjumaad === * {{en}}: zealous, persistence, fervent, earnest, ===Synonyms=== *[[haar]], [[haaruf]] gnlbdznatk3ftgr5k3iuh4u2heh9eh3 dildillaac 0 11064 32725 2024-11-30T17:33:54Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''dildillaac''' === Tarjumaad === * {{en}}: cracked, having a rack, having cracks 32725 wikitext text/x-wiki {{-so-}} == Magac == '''dildillaac''' === Tarjumaad === * {{en}}: cracked, having a rack, having cracks ns5f2ggm8itoq41mkwelfjpkoeky5p5 timo tuur 0 11065 32726 2024-11-30T17:35:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''timo tuur''' === Tarjumaad === * {{en}}: afro, afro-textured hair 32726 wikitext text/x-wiki {{-so-}} == Magac == '''timo tuur''' === Tarjumaad === * {{en}}: afro, afro-textured hair rknsqel84ift04e4vq709azuzr178ex fayiigsi 0 11066 32728 2024-11-30T17:36:07Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''fayiigsi''' === Tarjumaad === * {{en}}: squint, squinting ===Synonyms=== *[[biciriir]], [[fayiigsi]] 32728 wikitext text/x-wiki {{-so-}} == Magac == '''fayiigsi''' === Tarjumaad === * {{en}}: squint, squinting ===Synonyms=== *[[biciriir]], [[fayiigsi]] 1hausrmtulj8bgxduuht819o152dml4 agagasnimo 0 11067 32729 2024-11-30T17:37:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''agagasnimo''' === Tarjumaad === * {{en}}: unprincipled, immoral, 32729 wikitext text/x-wiki {{-so-}} == Magac == '''agagasnimo''' === Tarjumaad === * {{en}}: unprincipled, immoral, rby74z1gcx7d46xxov1xhlwgoh9rfji qoordiinleyn 0 11068 32730 2024-11-30T17:37:48Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''qoordiinleyn''' === Tarjumaad === * {{en}}: peek 32730 wikitext text/x-wiki {{-so-}} == Magac == '''qoordiinleyn''' === Tarjumaad === * {{en}}: peek 28k6xahpmmpnmazxc2domopema1pyj7 cabbeyn 0 11069 32731 2024-11-30T17:38:20Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''cabbeyn''' === Tarjumaad === * {{en}}: indoctrination 32731 wikitext text/x-wiki {{-so-}} == Magac == '''cabbeyn''' === Tarjumaad === * {{en}}: indoctrination 0847clxu3xcjmquh8p9mplsarkmvzx1 lufan 0 11070 32732 2024-11-30T17:58:09Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''lufan''' === Tarjumaad === * {{en}}: worn out, unraveled, unravel 32732 wikitext text/x-wiki {{-so-}} == Magac == '''lufan''' === Tarjumaad === * {{en}}: worn out, unraveled, unravel n6xsvq99d5r3mczjq76xnlilp0b39wf giir 0 11071 32733 2024-11-30T18:00:46Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''giir''' === Tarjumaad === * {{en}}: dappled, spotted, 32733 wikitext text/x-wiki {{-so-}} == Magac == '''giir''' === Tarjumaad === * {{en}}: dappled, spotted, 86osy8mos687w83xqe7vn4t8oe8apmc giiryaale 0 11072 32734 2024-11-30T18:01:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''giiryaale''' === Tarjumaad === * {{en}}: coward, 32734 wikitext text/x-wiki {{-so-}} == Magac == '''giiryaale''' === Tarjumaad === * {{en}}: coward, 77vukgknf4d0evwfmli7xelktoq9e72 Category:Soomaali ereyada-w 14 11073 32745 2024-11-30T18:42:25Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32745 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 ugaadh 0 11074 32749 32747 2024-11-30T19:55:54Z Girligaanshub 3150 Removed redirect to [[ugaaro]] 32749 wikitext text/x-wiki {{-so-}} == Magac == '''ugaadh''' === Tarjumaad === * {{en}}: game animal, prey qfutw6o529kwtcf1qjsayqs3hgowr9z Category:Soomaali ereyada-da 14 11075 32753 2024-11-30T20:10:11Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-d]] 32753 wikitext text/x-wiki [[Category:Soomaali ereyada-d]] 7wl826skordop5uylezcrc4uj7be4nl Category:Soomaali ereyada-shi 14 11076 32758 2024-12-01T08:22:27Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-sh]] 32758 wikitext text/x-wiki [[Category:Soomaali ereyada-sh]] avr37fmobjomz6khg34ck5i617kis83 Category:Soomaali ereyada-u 14 11077 32763 2024-12-01T08:36:51Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32763 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-ko 14 11078 32766 2024-12-01T10:24:03Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-k]] 32766 wikitext text/x-wiki [[Category:Soomaali ereyada-k]] roujgjmf8rl0twiwrbz2p7z16swnky3 Category:Soomaali ereyada-dha 14 11079 32768 2024-12-01T13:44:48Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-dh]] 32768 wikitext text/x-wiki [[Category:Soomaali ereyada-dh]] 6wzjsglx87ao5bncg1gxhsvlxehd9l3 Category:Soomaali ereyada-dh 14 11080 32769 2024-12-01T13:45:01Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32769 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-qo 14 11081 32780 2024-12-01T16:26:19Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-q]] 32780 wikitext text/x-wiki [[Category:Soomaali ereyada-q]] pu1hmhir1at58sfhnfvdmy4aq4zc2m9 Category:Soomaali ereyada-q 14 11082 32781 2024-12-01T16:26:43Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32781 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-m 14 11083 32783 2024-12-01T16:28:03Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32783 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-fi 14 11084 32785 2024-12-01T17:11:39Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-f]] 32785 wikitext text/x-wiki [[Category:Soomaali ereyada-f]] odvypkilve8lpnrfuri1h99wtlaped1 Category:Soomaali ereyada-f 14 11085 32786 2024-12-01T17:11:50Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32786 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-gu 14 11086 32789 2024-12-01T17:27:33Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-g]] 32789 wikitext text/x-wiki [[Category:Soomaali ereyada-g]] su9y1fiqrsouo3xfj1aw1afz1q353z8 Category:Soomaali ereyada-g 14 11087 32790 2024-12-01T17:27:44Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32790 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 User:ВМНС 2 11088 32791 2024-12-01T17:29:21Z ВМНС 5070 Bog cusub: Nabad 32791 wikitext text/x-wiki Nabad lzd9jq3e3u0q2yze3389zqqa15da35l Category:Soomaali ereyada-na 14 11089 32793 2024-12-01T17:33:33Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-n]] 32793 wikitext text/x-wiki [[Category:Soomaali ereyada-n]] 8a8kbhao6pzr73iztecup0t6kbxc81w naftihafar 0 11090 32796 32794 2024-12-01T17:41:57Z Girligaanshub 3150 32796 wikitext text/x-wiki {{-so-}} == Magac == '''naftihafar''' === Tarjumaad === * {{en}}: arrogant person, person with arrogance, vain person, person of vanity, grandiose person, grandeur person, pompous person, conceited, aggrandize, aggrandizing person j21oy9v2zcsa7hau0flobtozujtjbcs hafar 0 11091 32795 2024-12-01T17:40:59Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''hafar''' === Tarjumaad === * {{en}}: exaggeration, tantalization, tantalize, * {{en}}: arrogant, arrogance, vain, vanity, grandiose, grandeur, pompous, conceited, conceit, 32795 wikitext text/x-wiki {{-so-}} == Magac == '''hafar''' === Tarjumaad === * {{en}}: exaggeration, tantalization, tantalize, * {{en}}: arrogant, arrogance, vain, vanity, grandiose, grandeur, pompous, conceited, conceit, m34xs78s8chzr42xsocl2v25g8jo0xq Category:Soomaali ereyada-ba 14 11092 32799 2024-12-01T18:15:31Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-b]] 32799 wikitext text/x-wiki [[Category:Soomaali ereyada-b]] r0rhabqlv8teh226d11g88dzzsvzady Category:Soomaali ereyada-b 14 11093 32800 2024-12-01T18:15:41Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32800 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 Category:Soomaali ereyada-ga 14 11094 32803 2024-12-01T20:46:24Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-g]] 32803 wikitext text/x-wiki [[Category:Soomaali ereyada-g]] su9y1fiqrsouo3xfj1aw1afz1q353z8 xerdhaqameed 0 11095 32808 2024-12-02T10:29:01Z Girligaanshub 3150 Girligaanshub moved page [[xerdhaqameed]] to [[xayrdhaqameed]] 32808 wikitext text/x-wiki #REDIRECT [[xayrdhaqameed]] rmz1l9rq65d5fab9n7pn3vzyo2h76h6 xer-diimeed 0 11096 32810 2024-12-02T10:29:16Z Girligaanshub 3150 Girligaanshub moved page [[xer-diimeed]] to [[xayr-diimeed]] 32810 wikitext text/x-wiki #REDIRECT [[xayr-diimeed]] hkwp0y5tpu2ooy1o0q91kyb8qefma1i xer-gaar 0 11097 32812 2024-12-02T10:29:35Z Girligaanshub 3150 Girligaanshub moved page [[xer-gaar]] to [[xayr-gaar]] 32812 wikitext text/x-wiki #REDIRECT [[xayr-gaar]] 578honibc73ks3iogjqoyubh97cz5or maro-ilaalin 0 11098 32819 2024-12-02T10:59:04Z Girligaanshub 3150 Girligaanshub moved page [[maro-ilaalin]] to [[qunyarsocod]] 32819 wikitext text/x-wiki #REDIRECT [[qunyarsocod]] fdhlefaoh2667qr5hd4jtoe96d3sxzg xinif 0 11099 32843 2024-12-02T12:15:02Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''xinif''' === Tarjumaad === * {{en}}: tension, tensions ===Synonyms=== *[[xurguf]], [[xinif]] 32843 wikitext text/x-wiki {{-so-}} == Magac == '''xinif''' === Tarjumaad === * {{en}}: tension, tensions ===Synonyms=== *[[xurguf]], [[xinif]] g70c10xgya223c73623a4q5jfz4ray0 Category:Soomaali ereyada-ge 14 11100 32845 2024-12-02T17:07:02Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-g]] 32845 wikitext text/x-wiki [[Category:Soomaali ereyada-g]] su9y1fiqrsouo3xfj1aw1afz1q353z8 Category:Soomaali ereyada-sa 14 11101 32848 2024-12-02T18:00:49Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-s]] 32848 wikitext text/x-wiki [[Category:Soomaali ereyada-s]] qnrnxfd8144l9ptfm6w5jteilza1sue Category:Soomaali ereyada-xi 14 11102 32850 2024-12-02T18:13:17Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada-x]] 32850 wikitext text/x-wiki [[Category:Soomaali ereyada-x]] 80k1nc035deeopdfcosjklr75i9of0n Category:Soomaali ereyada-x 14 11103 32851 2024-12-02T18:13:28Z ВМНС 5070 Bog cusub: [[Category:Soomaali ereyada]] 32851 wikitext text/x-wiki [[Category:Soomaali ereyada]] acnho3krrni897koplqigjgdzot6883 bacadjooji 0 11104 32853 2024-12-02T21:00:22Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacadjooji''' === Tarjumaad === * {{en}}: detain 32853 wikitext text/x-wiki {{-so-}} == Magac == '''bacadjooji''' === Tarjumaad === * {{en}}: detain g6b72vizh4hvesqe59va2w94cn6julx bacadjoojin 0 11105 32854 2024-12-02T21:00:57Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''bacadjoojin''' === Tarjumaad === * {{en}}: detainment, 32854 wikitext text/x-wiki {{-so-}} == Magac == '''bacadjoojin''' === Tarjumaad === * {{en}}: detainment, 8ppvzr35ef6ynog7jsg6als5pbk6ccv golakafuul 0 11106 32855 2024-12-02T21:08:10Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''golakafuul''' === Tarjumaad === * {{en}}: freestyle, improvised creativity, improvized artistry 32855 wikitext text/x-wiki {{-so-}} == Magac == '''golakafuul''' === Tarjumaad === * {{en}}: freestyle, improvised creativity, improvized artistry m8s4hm31vhkg18stgr8kgq8utgw27zd jaaha ururin 0 11107 32856 2024-12-02T21:08:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''jaaha uurin''' === Tarjumaad === * {{en}}: frown, frowning, 32856 wikitext text/x-wiki {{-so-}} == Magac == '''jaaha uurin''' === Tarjumaad === * {{en}}: frown, frowning, qvm9gbzxfejzhss4ofyyo7y5zgf3emj gacan-haadis 0 11108 32857 2024-12-02T21:10:05Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gacan-haadis''' === Tarjumaad === * {{en}}: to wave one's hands at someone 32857 wikitext text/x-wiki {{-so-}} == Magac == '''gacan-haadis''' === Tarjumaad === * {{en}}: to wave one's hands at someone 4y4kxzxmyvkpbbw5947eudan65lb14v gabooye 0 11109 32859 2024-12-03T00:25:56Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gabooye''' === Tarjumaad === * {{en}}: quiver, portable case for holding arrows 32859 wikitext text/x-wiki {{-so-}} == Magac == '''gabooye''' === Tarjumaad === * {{en}}: quiver, portable case for holding arrows ij3ml9qshx4lhyq8i7fkqxumplyvd4f gargaarka degdegga 0 11110 32861 2024-12-03T00:39:18Z Girligaanshub 3150 Bog cusub: {{-so-}} == Magac == '''gargaarka degdegga''' === Tarjumaad === * {{en}}: emergency services 32861 wikitext text/x-wiki {{-so-}} == Magac == '''gargaarka degdegga''' === Tarjumaad === * {{en}}: emergency services oyntb8h4a6d2bh7sczqn73olr3thfpy