text:
User:So9q/ImprovedTranslationAdder.js

// // implicit dependencies : ext.gadget.Editor,ext.gadget.LegacyScriptsNewNode,mediawiki.cookie,ext.gadget.LanguageUtils,mediawiki.RegExp /* jshint maxerr:1048576, strict:true, undef:true, latedef:true, esversion:5, sub:true */

/* global mw, newNode, importScript, importScriptURI, $, AdderWrapper */

// So9q load dependencies // This script needs legacy scripts to be turned on in your preferences. $.when(	mw.loader.getScript( '/w/index.php?title=MediaWiki:Gadget-TranslationAdder-Data.js&action=raw&ctype=text/javascript'),	mw.loader.getScript( '/w/index.php?title=MediaWiki:Gadget-LanguageUtils.js&action=raw&ctype=text/javascript'),	mw.loader.getScript( '/w/index.php?title=User:So9q/ImprovedEditor.js&action=raw&ctype=text/javascript')) .done(function {

/** * Storage of "string" preferences. */ function CookiePreferences(context) { //Repeated calls with the same context should get the same preferences object. if (arguments.callee[context]) return arguments.callee[context]; else arguments.callee[context] = this; var storage = {}; var defaults = {}; /**	 * Change the value of a preference and store into a cookie. */	this.set = function (name, value) { if (value === null || storage[name] === value) return; storage[name] = value; updateCookie; };	/**	 * Get the value of a preference from the cookie or default *	 * If the preference isn't set, return the second argument or undefined. */	this.get = function (name, def) { return storage[name] || defaults[name] || def; };	/**	 * let the default for get(name) be value for this session */	this.setDefault = function (name, value) { defaults[name] = value; };	// Save storage into the cookie. function updateCookie { var value = ""; for (var name in storage) { value += '&' + encodeURIComponent(name) + "=" + encodeURIComponent(storage[name]); }		mw.cookie.set('preferences' + context, value, {			expires: 30		}); }	// Load storage from the cookie. // NOTE: If you wish to update the cookie format, both loading and storing // must continue to work for 30 days. function updateStorage { var value = mw.cookie.set('preferences' + context, value, {			expires: 30		}) || ''; var pairs = value.split('&'); for (var i = 1; i < pairs.length; i++) { var val = pairs[i].split('='); if (storage[val[0]] === val[1]) continue; storage[val[0]] = val[1]; }	}	//__init__ updateStorage; }

var util = { getVanillaIndexOf: function (str, text, pos) { if (!pos) pos = 0; var cpos = 0, tpos = 0, wpos = 0, spos = 0; do { cpos = text.indexOf('', pos) + 3; else if (pos == wpos) pos = text.indexOf('<\/nowiki>', pos) + 9; else if (pos == tpos) //FIXME pos = text.indexOf('}}', pos) + 2; } while (pos < Infinity); return -1; },	validateNoWikisyntax: function (field, nonempty) { return function (txt, error) { if (/[\{\}#]/.test(txt)) return error("Please don't use wiki markup ({}#) in the " + field + "."); if (nonempty && !txt) return error("Please specify a " + field + "."); return txt; };	},	// pos is a position in the line containing the gloss getWikitextGloss: function (txt, pos) { var g_start = txt.lastIndexOf('\n{{trans-top', pos) + 1; var g_end = txt.indexOf('\n', pos); var g_line = txt.substr(g_start, g_end - g_start); g_line = g_line.replace("{{trans-top}}", "{{trans-top|Translations}}"); return g_line.replace(/\{\{trans-top\|(.*)\}\}/, "$1"); },	// get [start_pos, end_pos] of position of wikitext for trans_table containing node in text getTransTable: function (text, node, recursive) { var gloss = util.getTransGloss(node); var pos = 0; var transect = []; while (pos > -1) { pos = util.getVanillaIndexOf('			if (pos > -1 && util.matchGloss(util.getWikitextGloss(text, pos), gloss)) {				transect.push(pos);			}		}		if (transect.length > 1) {			var poss = transect;			transect = [];			for (var i = 0; i < poss.length; i++) {				pos = poss[i];				if (util.matchGloss(gloss, util.getWikitextGloss(text, pos))) {					transect.push(pos);				}			}			if (transect.length > 1 && !recursive)				transect = util.tieBreakTransTable(text, transect, node);		}		if (transect.length == 1) {			pos = transect[0];			pos = util.getVanillaIndexOf("\n", text, pos) + 1;			var endpos = text.indexOf('', pos);			if (endpos > -1 && pos > 0)				return [pos, endpos];		}		return false;	},	// try to narrow down the correct poss if multiple matching trans tables	tieBreakTransTable: function (text, poss, node) {		if (node.nodeName == 'DIV') {			while (node && !(node.classList && node.classList.contains('NavFrame'))) node = node.parentNode; var nodes = node.getElementsByTagName('table'); if (!nodes.length) return poss; node = nodes[0]; } else { while (node && node.nodeName != 'TABLE') node = node.parentNode; }		var before_count = 0; var after_count = 0; var is_found = false; $("table.translations").each(function {			var gloss = util.getTransGloss(this);			if (gloss == "Translations to be checked")				return;			if (this == node) {				is_found = true;				return;			}			var pos = util.getTransTable(text, this, true);			if (pos) {				for (var j = 0; j < poss.length; j++) {					if (poss[j] == pos)						return util.tieBreakTransTable(poss.splice(j, 1), node);				}			} else {				var matched = 0;				for (var j = 0; j < poss.length; j++) {					if (util.matchGloss(util.getWikitextGloss(text, poss[j]), gloss) && util.matchGloss(gloss, util.getWikitextGloss(text, poss[j]))) {						matched++;					}				}				if (matched == poss.length) {					if (is_found)						after_count++;					else						before_count++;				}			}		}); if (before_count + 1 + after_count == poss.length) return [poss[before_count]]; else return poss; },	matchGloss: function (line, gloss) { if (gloss.match(/^ *$/)) return !!(line.match(/\{\{trans-top\| *\}\}/) || line.match(/^ *$/)); var words = gloss.split(/\W+/); var pos = 0; for (var i = 0; i < words.length; i++) { pos = line.indexOf(words[i], pos); if (pos == -1) return false; }		return pos > -1; },	//User:Karelklic getTransGlossText: function (node) { var ret = ''; for (var child = node.firstChild; child !== null; child = child.nextSibling) { if (child.nodeType == 3) ret += child.nodeValue; else if (/^[IB]$/.test(child.nodeName) || (child.classList && child.classList.contains('wt-edit-recurse'))) ret += util.getTransGlossText(child); else if (ret.match(/\w$/)) //Prevent new words from being created across node boundaries ret += " "; }		// all characters except a-zA-Z0-9 are changed to spaces return ret.replace(/\W/g, ' '); },	getTransGloss: function (ul) { var node = ul; while (node && !(node.classList && node.classList.contains('NavFrame'))) node = node.parentNode; if (!node) return ''; for (var child = node.firstChild; child !== null; child = child.nextSibling) { if (child.classList && child.classList.contains('NavHead')) return util.getTransGlossText(child); }		return ''; },	isTrreq: function (li) { var span = li.getElementsByTagName('span')[0]; return (span && span.classList.contains("trreq")); },	genderList: { "s": "singular", "d": "dual", "p": "plural", "m": "masc.", "m-d": "masc. dual", "m-p": "masc. pl.", "f": "fem.", "f-d": "fem. dual", "f-p": "fem. pl.", "c": "common", "c-d": "common dual", "c-p": "common pl.", "n": "neuter", "n-d": "neuter dual", "n-p": "neuter pl.", "impf": "imperfective", "pf": "perfective" } };

// An adder for translations on en.wikt // Break this up into smaller pieces to make it more manageable function TranslationAdders(editor) { // TODO: replace newNode with jquery function TranslationLabeller(insertDiv) { var original_span; var adder_form; var initial_value; var edit_button; var editing = false; var adderInterface = { 'fields': { 'gloss': function (txt, error) { return util.validateNoWikisyntax('gloss', true)(txt, error); }			},			'createForm': function { var thisId = "a" + String(Math.random).replace(".", ""); return adder_form = newNode('form', {						style: 'display: inline',						width: 'auto',						click: kill_event					},					newNode('label', { 'for': thisId }, "Gloss: "),					newNode('input', { type: 'text', name: 'gloss', value: initial_value, style: 'width: 50%', title: 'Insert a summary of the relevant definition', id: thisId }),					newNode('input', { type: 'submit', name: 'preview', value: 'Preview' }),					newNode('a', { href: '/wiki/Help:Glosses' }, 'Help?!')				); },			'onsubmit': function (values, render) { render(values.gloss, function (new_html) {					if (editing)						toggle_editing(false);					var old_html = original_span.innerHTML;					editor.addEdit({ 'undo': function { original_span.innerHTML = old_html; if (!editing) toggle_editing; },						'redo': function { original_span.innerHTML = new_html; if (editing) toggle_editing; },						'edit': function (text) { return perform_edit(text, values.gloss); },						'summary': 'tgloss:"' + (values.gloss.length > 50 ? values.gloss.substr(0, 50) + '...' : values.gloss + '"') }, original_span);				}); }		};		// The actual modification to the wikitext function perform_edit(wikitext, gloss) { var pos = util.getTransTable(wikitext, insertDiv)[0] - 4; var g_start = wikitext.lastIndexOf('\n\n', pos) + 2; if (g_start === 0 || wikitext.substr(g_start, g_end - g_start).indexOf("\n") > -1) { editor.error("Could not find translation table."); return wikitext; } else { return wikitext.substr(0, g_start) + '' + wikitext.substr(g_end); }		}		// Don't open and close box when interacting with form. function kill_event(e) { e.stopPropagation; }		// What to do when the +/- button is clicked. function toggle_editing { if (editing) { adder_form.style.display = "none"; original_span.style.display = "inline"; editing = false; return; }			editing = true; edit_button.text("Loading..."); editor.withCurrentText(function (currentText) {				var pos = util.getTransTable(currentText, insertDiv);				edit_button.text('±');				if (!pos)					return editor.error("Could not find translation table");				var gloss_line = currentText.substr(currentText.lastIndexOf('\n', pos[0] - 2) + 1);				gloss_line = gloss_line.substr(0, gloss_line.indexOf('\n'));				initial_value = gloss_line.replace(/^\{\{trans-top(\|(.*)|)\}\}\s*$/, "$2");				if (initial_value.indexOf("\n") > 0)					return editor.error("Internal error: guess spanning multiple lines");				if (!original_span) {					original_span = newNode('span', { 'class': 'wt-edit-recurse' });					for (var i = 0; i < insertDiv.childNodes.length; i++) {						var child = insertDiv.childNodes[i];						if (child != edit_button[0] && child.className !== 'NavToggle') {							original_span.appendChild(insertDiv.removeChild(child));							i--;						}					}					insertDiv.appendChild(original_span);					new AdderWrapper(editor, adderInterface, insertDiv, original_span);				}				original_span.style.display = "none";				adder_form.style.display = "inline";				adder_form.getElementsByTagName('input')[0].focus;			}); }		edit_button = $('±') //.addClass("translation-gloss-edit-button") .attr("title", "Edit table heading").css("padding", "2px").css("margin-left", "-5px") .on("click", function (e) {				if (e && e.preventDefault)					e.preventDefault;				kill_event(e);				toggle_editing;				return false;			}); $(insertDiv).prepend(edit_button); //XXX: this places anchor before NavToggle which may not be a good idea }	function TranslationAdder(insertUl) { // Hippietrail var langmetadata = new LangMetadata; this.fields = { lang: function (txt, error) { if (txt == 'en') return error("Please choose a foreign language. (fr, es, aaa)"); if (txt == 'nds') return error("Please use the code nds-de for German Low German or nds-nl for Dutch Low Saxon"); if (/^[a-z]{2,3}(-[a-z\-]{1,7})?$/.test(txt)) return txt; return error("Please use a language code. (fr, es, aaa)"); },			word: function (txt, error) { if (txt == '') return ''; if (txt == '') return txt; if (txt.indexOf(',') == -1 || forceComma) { forceComma = false; if (langmetadata.expectedCase(thiz.elements.lang.value, mw.config.get('wgTitle'), txt) || forceCase) { forceCase = false; return util.validateNoWikisyntax('translation', true)(txt, error); }					if (prefs.get('case-knowledge', 'none') == 'none') { return error(newNode('span', "Translations normally don't have capital letters. If you're certain it does, you can ", newNode('span', {								style: "color: blue; text-decoration: underline; cursor: pointer;",								click: function {									forceCase = true;									inputForm.onsubmit;									prefs.set('case-knowledge', 'guru');								}							}, "continue by clicking here."))); } else { var msg = newNode('span',							newNode('span', { style: "color: blue; text-decoration: underline; cursor: pointer;", click: function { prefs.set('case-knowledge', 'none'); try { msg.parentNode.removeChild(msg); } catch (e) { }									editor.undo; }							}, "Please click undo"), " unless you are certain that this translation has a capital letter."); error(msg); return txt; }				}				if (prefs.get('comma-knowledge', 'none') == 'none') { return error(newNode('span', "You can only add one translation at a time. If this is one translation that contains a comma, you can ", newNode('span', {							style: "color: blue; text-decoration: underline; cursor: pointer;",							click: function {								forceComma = true;								inputForm.onsubmit;								prefs.set('comma-knowledge', 'guru');							}						}, "add it by clicking here."))); } else { var msg = newNode('span',						newNode('span', { style: "color: blue; text-decoration: underline; cursor: pointer;", click: function { prefs.set('comma-knowledge', 'none'); try { msg.parentNode.removeChild(msg); } catch (e) { }								editor.undo; }						}, "Please click undo"), " if you were trying to create a list of translations in one go, this is currently not supported."); error(msg); return txt; }			},			qual: util.validateNoWikisyntax('qualifier'), lit: util.validateNoWikisyntax('literal'), tr: util.validateNoWikisyntax('transcription'), rawPageName: util.validateNoWikisyntax('raw page name'), sc: function (txt, error) { if (txt && !/^((?:[a-z][a-z][a-z]?-)?[A-Z][a-z][a-z][a-z]|polytonic|Latinx)$/.test(txt)) return error(newNode('span', "Please use a ", newNode('a', {						href: '/wiki/Wiktionary:List_of_scripts'					}, "valid script code"), "(e.g. fa-Arab, Deva, polytonic)")); var scripts = (new ScriptUtils).GetScriptsByLangCode(thiz.elements.lang.value); if (txt && scripts.length > 0 && scripts.indexOf(txt) == -1) { var plural = scripts.length > 1; return error(newNode('span', "Please use a valid script code. " + (plural ? "Available script codes" : "The script code used") + " for this language " + (plural ? "are" : "is") + " " + scripts.join(", "))); }				if (!txt) txt = prefs.get('script-' + thiz.elements.lang.value, langmetadata.guessScript(thiz.elements.lang.value) || ''); if (txt == 'Latn') txt = ''; return txt; },			nested: util.validateNoWikisyntax('nested'), "s": 'checkbox', "d": 'checkbox', "p": 'checkbox', "m": 'checkbox', "m-d": 'checkbox', "m-p": 'checkbox', "f": 'checkbox', "f-d": 'checkbox', "f-p": 'checkbox', "c": 'checkbox', "c-d": 'checkbox', "c-p": 'checkbox', "n": 'checkbox', "n-d": 'checkbox', "n-p": 'checkbox', "impf": 'checkbox', "pf": 'checkbox', nclass1: util.validateNoWikisyntax('noun class'), nclass2: util.validateNoWikisyntax('plural class') };		this.createForm = function { function createGenderNode(name, text) { var inp = document.createElement("input"); inp.type = "checkbox"; inp.name = name; var lbl = document.createElement("label"); lbl.appendChild(inp); lbl.appendChild(document.createTextNode(text)); return lbl; }			var genderControls = {}; for (var g in util.genderList) genderControls[g] = createGenderNode(g, util.genderList[g]); var controls = { lang: newNode('input', {					size: 4,					type: 'text',					name: 'lang',					value: prefs.get('curlang', ''),					title: 'The two or three letter ISO 639 language code'				}), transliteration: newNode('span', newNode('a', { href: '/wiki/Wiktionary:Transliteration' }, "Transliteration"), ": ",					newNode('input', { name: "tr", title: "The word transliterated into the Latin alphabet." }), " (e.g. zìmǔ for 字母)", newNode('br')), literal: newNode('div', newNode('a', { href: '/wiki/Template:t#Parameters' }, "Literal translation"), ": ",					newNode('input', { name: "lit", title: "Add a literal translation." }), " (e.g. \"to touch wood\" for \"toucher du bois\")"), qualifier: newNode('p', "Qualifier: ", newNode('input', { name: 'qual', title: "A qualifier for the word" }), " (e.g. vulgar, formal, slang, mostly in Belgium)"), display: newNode('p', "Raw page name: ", newNode('input', { name: 'rawPageName', title: "A link to lemma, if a translation is not a lemma." }), " (e.g. 疲れる for 疲れた)"), script: newNode('p', newNode('a', { href: '/wiki/Wiktionary:List_of_scripts' }, "Script code"), ": ",					newNode('input', { name: 'sc', size: 6, title: "The script code to apply to this word." }), "(e.g. Cyrl for Cyrillic, Latn for Latin)", newNode('br')), nested: newNode('p', "Nesting: ", newNode('input', { name: 'nested', title: "The nesting of this language" }), " (e.g. Serbo-Croatian/Cyrillic)"), // Genders genders: genderControls, // Noun class nclass: newNode('p',					"Noun class: ", newNode('input', { type: 'text', size: 4, name: 'nclass1', title: "The noun class of the word in the singular or citation form." }),					" Plural class: ", newNode('input', { type: 'text', size: 4, name: 'nclass2', title: "The noun class of the word in the plural form, if any." }))			};			function createGenderDiv(genderz) { var $div = $(" "); for (var i = 1; i < arguments.length; i++) $div.append(genderz[arguments[i]]); return $div; }			var $mdiv = createGenderDiv(controls.genders, "m", "m-d", "m-p"); var $fdiv = createGenderDiv(controls.genders, "f", "f-d", "f-p"); var $cdiv = createGenderDiv(controls.genders, "c", "c-d", "c-p"); var $ndiv = createGenderDiv(controls.genders, "n", "n-d", "n-p"); var $sdpdiv = createGenderDiv(controls.genders, "s", "d", "p"); var $pfdiv = createGenderDiv(controls.genders, "impf", "pf"); controls.gender = $(" ").append($mdiv).append($fdiv).append($cdiv).append($ndiv).append($sdpdiv).append($pfdiv)[0]; langInput = controls.lang; var showButton = newNode('span', {				'click': function {					if (!advancedMode) {						advancedMode = true;						showButton.innerHTML = " Less";					} else {						advancedMode = false;						showButton.innerHTML = " More";					}					updateScriptGuess.call(langInput, true);				},				'style': "color: #0000FF;cursor: pointer;"			}, advancedMode ? " Less" : " More"); function autoTransliterate { var rawPageName = langmetadata.computeRawPageName(thiz.elements.lang.value, thiz.elements.word.value); if (rawPageName && rawPageName !== thiz.elements.word.value) thiz.elements.rawPageName.value = rawPageName; }			function updateScriptGuess(preserve) { preserve = (preserve === true); //show all arguments function show { for (var i = 0; i < arguments.length; i++) { if (arguments[i].nodeName == 'P') arguments[i].style.display = "block"; else arguments[i].style.display = "inline"; }				}				//hide all arguments function hide { for (var i = 0; i < arguments.length; i++) arguments[i].style.display = "none"; }				//if the first argument is false hide the remaining arguments, otherwise show them. function toggle(condition) { if (condition) //eww... show.apply(this, [].splice.call(arguments, 1, arguments.length - 1)); else hide.apply(this, [].splice.call(arguments, 1, arguments.length - 1)); }				if (!preserve) langInput.value = langmetadata.cleanLangCode(langInput.value); var guess = prefs.get('script-' + langInput.value, langmetadata.guessScript(langInput.value || '')); if (!preserve) { if (guess) thiz.elements.sc.value = guess; else thiz.elements.sc.value = ''; thiz.elements.nested.value = langmetadata.getNested(langInput.value || ''); autoTransliterate; }				var lang = langInput.value; if (!advancedMode) { var g = langmetadata.getGenders(lang); if (!lang) { hide(controls.gender); }					else if (g === undefined) { hide(controls.gender); }					else { for (var genderName in util.genderList) { toggle(g.indexOf(genderName) != -1, controls.genders[genderName]); }					}					toggle(g, controls.gender); toggle(langmetadata.hasNounClasses(lang), controls.nclass); var hasAutomaticTransliteration = new window.LanguageUtils.HasAutomaticTransliteration(lang); toggle(guess && guess != 'Latn' && !hasAutomaticTransliteration, controls.transliteration); toggle(langmetadata.needsRawPageName(lang), controls.display); // So9q show qualifier by default //hide(controls.qualifier, controls.nested); //only in more hide(controls.nested); //only in more //should be hidden if the language has only one script toggle(langmetadata.getScripts(lang).length != 1, controls.script); } else { show(						controls.gender,						controls.genders['s'], controls.genders['d'], controls.genders['p'],						controls.genders['m'], controls.genders['m-d'], controls.genders['m-p'],						controls.genders['f'], controls.genders['f-d'], controls.genders['f-p'],						controls.genders['c'], controls.genders['c-d'], controls.genders['c-p'],						controls.genders['n'], controls.genders['n-d'], controls.genders['n-p'],						controls.genders['impf'], controls.genders['pf'],						controls.nclass, controls.transliteration, controls.literal, controls.qualifier, 						controls.display, controls.script, controls.nested); }			}			//autocomplete language names function langAutoFill(e) { e = (e || event).keyCode; if ((e >= 33 && e <= 40) || e == 8 || e == 46 || e == 27 || e == 16) { return; }				var t = this, langPrefix = t.value; if (langPrefix.substr(0, 1) != langPrefix.substr(0, 1).toUpperCase) { return; }				new mw.Api.get({					"action": "expandtemplates",					"format": "json",					"text": "",					"prop": "wikitext"				}).done(function (r) {					if (r.expandtemplates && r.expandtemplates.wikitext !== "") {						var langcode = r.expandtemplates.wikitext.split(":")[0];						var langname = r.expandtemplates.wikitext.split(":")[1];						var oldLength = t.value.length;						t.value = langname;						$(t).data("langcode", langcode);						if (t.setSelectionRange) {							t.setSelectionRange(oldLength, langname.length);						} else if (t.createTextRange) {							var z = t.createTextRange;							z.moveEnd('character', 0 - z.move('character', [t.value.length, t.value = langname][0]) + t.value.length);							z.select;						}					} else {						$(t).removeData("langcode");					}				}); }			langInput.onkeyup = langAutoFill; langInput.onblur = function { if ($(this).data("langcode")) $(this).val($(this).data("langcode")); updateScriptGuess.call(langInput); };			window.setTimeout(function {				updateScriptGuess.call(langInput);			}, 0); inputForm = newNode('form',				newNode('p', newNode('a', {						href: "/wiki/User_talk:So9q/ImprovedTranslationAdder.js"					}, "Add translation"), ' ', langInput, newNode('b', ': '), newNode('input', {						'name': 'word',						size: 20,						keyup: autoTransliterate,						change: autoTransliterate					}), newNode('input', {						'type': 'submit',						'value': 'Preview translation'					}), showButton ),				controls.gender,				controls.nclass,				controls.transliteration,				controls.display,				controls.qualifier,				controls.literal,				controls.script,				controls.nested			); return inputForm; };		this.onsubmit = function (values, render) { var wikitext; function callRender { render(wikitext, function (html) {					registerEdits(values, wikitext, html);				}); }			if (values.word.indexOf('{{t-needed') === 0) { wikitext = '{{subst:#invoke:languages/templates|getByCode|' + values.lang + '|getCanonicalName}}: {{t-needed|' + values.lang + '}}'; callRender; } else { langmetadata.retrieveRawPageName(values.lang, values.word, values.rawPageName, function (rawPageName, needsRawPageName) {					if (needsRawPageName) {						values.rawPageName = rawPageName;						values.wordMinus = ;					} else {						values.rawPageName = ;						values.wordMinus = rawPageName;					}					wikitext = '{{subst:#invoke:languages/templates|getByCode|' + values.lang + '|getCanonicalName}}: ' +						'{{t|' + values.lang + '|' + (values.rawPageName || values.word) +						(values.nclass1 ? '|c' + values.nclass1 : '') +						(values.nclass2 ? '|c' + values.nclass2 : '');					// Add gender codes					wikitext +=						(values['s'] ?  : ) + (values['d'] ? '|d' : '') + (values['p'] ? '|p' : '') +						(values['m'] ? '|m' : '') + (values['m-d'] ? '|m-d' : '') + (values['m-p'] ? '|m-p' : '') +						(values['f'] ? '|f' : '') + (values['f-d'] ? '|f-d' : '') + (values['f-p'] ? '|f-p' : '') +						(values['c'] ? '|c' : '') + (values['c-d'] ? '|c-d' : '') + (values['c-p'] ? '|c-p' : '') +						(values['n'] ? '|n' : '') + (values['n-d'] ? '|n-d' : '') + (values['n-p'] ? '|n-p' : '') +						(values['impf'] ? '|impf' : '') + (values['pf'] ? '|pf' : '');					wikitext +=						(values.tr ? '|tr=' + values.tr : '') +						(values.lit ? '|lit=' + values.lit : '') +						(values.rawPageName ? '|alt=' + values.word : '') +						/* (values.sc ? '|sc=' + values.sc : '') + */						'}}' +						(values.qual ? ' {{qualifier|' + values.qual + '}}' : '');					langmetadata.hasWiktionaryWithEntry(values.lang, values.rawPageName || values.wordMinus, function (result) { if (result) wikitext = wikitext.replace(/\{t\|/, '{t+|'); callRender; });				});			}		};		var thiz = this; var prefs = new CookiePreferences('EditorJs'); var langInput; var inputForm; var advancedMode = prefs.get('more-display', 'none') != 'none'; var forceComma = false; var forceCase = false; //Reset elements to default values. function resetElements { if (prefs.get('more-display', 'none') != advancedMode ? 'block' : 'none') prefs.set('more-display', advancedMode ? 'block' : 'none'); //named for compatibility thiz.elements.word.value = thiz.elements.nclass1.value = thiz.elements.nclass2.value = thiz.elements.tr.value = thiz.elements.rawPageName.value = thiz.elements.qual.value = thiz.elements.lit.value = ''; thiz.elements['s'].checked = false; thiz.elements['d'].checked = false; thiz.elements['p'].checked = false; thiz.elements['m'].checked = false; thiz.elements['m-d'].checked = false; thiz.elements['m-p'].checked = false; thiz.elements['f'].checked = false; thiz.elements['f-d'].checked = false; thiz.elements['f-p'].checked = false; thiz.elements['c'].checked = false; thiz.elements['c-d'].checked = false; thiz.elements['c-p'].checked = false; thiz.elements['n'].checked = false; thiz.elements['n-d'].checked = false; thiz.elements['n-p'].checked = false; thiz.elements['impf'].checked = false; thiz.elements['pf'].checked = false; prefs.set('curlang', thiz.elements.lang.value); if ((thiz.elements.sc.value || 'Latn') != (prefs.get('script-' + thiz.elements.lang.value, langmetadata.guessScript(thiz.elements.lang.value) || 'Latn'))) { prefs.set('script-' + thiz.elements.lang.value, thiz.elements.sc.value); // Uncaught TypeError: Object # has no method 'update' thiz.elements.lang.update; }		}		// This is onsubmit after the wikitext has been rendered to give content function registerEdits(values, wikitext, content) { var li = newNode('li', {				'class': 'trans-' + values.lang			}); li.innerHTML = content; var lang = getLangName(li); var summary = 't+' + values.lang + ':| values.wordMinus || values.word) + ''; var insertBefore = null; var nextLanguage = null; var nestedHeading, nestedLang; var nestedLang; if (values.nested.indexOf('/') > -1) { nestedLang = values.nested.replace(/.*\//, ''); nestedHeading = values.nested.replace(/\/.*/, ''); if (nestedHeading === '') nestedHeading = lang; content = content.replace(/.*: /, nestedLang + ": "); wikitext = wikitext.replace("subst:", "").replace(/.*: /, nestedLang + ": "); } else { nestedHeading = values.nested; nestedLang = lang; }			var nestedWikitext = "\n* " + nestedHeading + ":\n*: " + wikitext; function addEdit(edit, span) { editor.addEdit({					'undo': function {						edit.undo;						if (thiz.elements.word.value === "" && thiz.elements.nclass1.value === "" && thiz.elements.nclass2.value === "" && thiz.elements.tr.value === "" && thiz.elements.lit.value === "" && thiz.elements.rawPageName.value === "" && thiz.elements.qual.value === "") {							var fields = ["lang", "word", "nclass1", "nclass2", "rawPageName", "qual", "tr", "sc", "lit"];							for (var i = 0; i < fields.length; i++) {								thiz.elements[fields[i]].value = values[fields[i]];							}							for (var genderName in util.genderList) {								thiz.elements[genderName].checked = values[genderName];							}						}					},					'redo': function {						edit.redo;						var fields = ["lang", "word", "nclass1", "nclass2", "rawPageName", "qual", "tr", "sc", "lit"];						for (var i = 0; i < fields.length; i++) {							if (thiz.elements[fields[i]].value != values[fields[i]])								return;						}						resetElements;					},					'edit': edit.edit,					'summary': summary				}, span); }			if (lang) { //Get all li's in this table row. var lss = $(insertUl).parent.parent.find('li').get; var dds = $(insertUl).parent.parent.find('dd').get; var lis = lss.concat(dds); for (var j = 0; j < lis.length; j++) { if (lis[j].getElementsByTagName('form').length > 0) continue; var ln = getLangName(lis[j]); if (ln == lang) { if (values.word == '') { addEdit({								'redo': function {								},								'undo': function  {								},								'edit': function  {									return editor.error("Can not add a translation request for a language with translations");								}							}); return resetElements; }						var span = newNode('span'); var parent = lis[j]; if (util.isTrreq(parent)) { span.innerHTML = content.substr(content.indexOf(':') + 1); var trspan = parent.getElementsByTagName('span')[0]; addEdit({								'redo': function {									parent.removeChild(trspan);									parent.appendChild(span);								},								'undo': function  {									parent.removeChild(span);									parent.appendChild(trspan);								},								'edit': getEditFunction(values, wikitext, ln, values.lang, true, function (text, ipos) { //Converting a Translation request into a translation var lineend = text.indexOf('\n', ipos); return text.substr(0, ipos) + wikitext + text.substr(lineend); })							}, span); return resetElements; } else { if (parent.getElementsByTagName('ul').length + parent.getElementsByTagName('dl').length == 0) { span.innerHTML = ", " + content.substr(content.indexOf(':') + 1); addEdit({									'redo': function {										parent.appendChild(span)									},									'undo': function  {										parent.removeChild(span)									},									'edit': getEditFunction(values, wikitext, ln, values.lang, false, function (text, ipos) { //We are adding the wikitext to a list of translations that already exists. var lineend = text.indexOf('\n', ipos); var wt = wikitext.replace('subst:#invoke:', ''); wt = wt.substr(wt.indexOf(':') + 1); return text.substr(0, lineend) + "," + wt + text.substr(lineend); })								}, span); return resetElements; } else { var node = parent.firstChild; var hastrans = false; while (node) { if (node.nodeType == 1) { var nn = node.nodeName; if (nn == 'UL' || nn == 'DL') { // If we want to use the dialectical nesting for orthographical nesting // then we need to skip this (otherwise perfect) match. if (!hastrans && nestedHeading == ln) { node = node.nextSibling; continue; }											span.innerHTML = (hastrans ? ", " : " ") + content.substr(content.indexOf(':') + 1); addEdit({												'redo': function {													parent.insertBefore(span, node)												},												'undo': function  {													parent.removeChild(span)												},												'edit': getEditFunction(values, wikitext, ln, values.lang, false, function (text, ipos) { //Adding the translation to a language that has nested translations under it													var lineend = text.indexOf('\n', ipos); var wt = wikitext.replace('subst:#invoke:', ''); wt = wt.substr(wt.indexOf(':') + 1); return text.substr(0, lineend) + (hastrans ? "," : "") + wt + text.substr(lineend); })											}, span); return resetElements; } else { hastrans = true; }									}									node = node.nextSibling; }							}						}					} else if (ln && ln > lang && (!nextLanguage || ln < nextLanguage) && lis[j].parentNode.parentNode.nodeName != 'LI') { nextLanguage = ln; var parent = lis[j]; insertBefore = [{ 'redo': function { parent.parentNode.insertBefore(li, parent); },							'undo': function { parent.parentNode.removeChild(li) },							'edit': getEditFunction(values, wikitext, ln, getLangCode(parent), util.isTrreq(parent), function (text, ipos) {								//Adding a new language's translation before another language's translation								var lineend = text.lastIndexOf('\n', ipos);								return text.substr(0, lineend) + "\n* " + wikitext + text.substr(lineend);							}) }, li]; }				}			}			if (values.nested) { nextLanguage = null; insertBefore = null; li.innerHTML = nestedHeading + ":" + "" + content + ""; var lis = insertUl.parentNode.parentNode.getElementsByTagName('li'); for (var j = 0; j < lis.length; j++) { //Ignore the editor form if (lis[j].getElementsByTagName('form').length > 0) continue; //Don't look at nested translations if (lis[j].parentNode.parentNode.nodeName != 'TD') continue; var ln = getLangName(lis[j]); if (ln == nestedHeading) { var sublis = lis[j].getElementsByTagName('li'); if (!sublis.length) sublis = lis[j].getElementsByTagName('dd'); if (sublis.length == 0) { var parent = lis[j]; var dd = newNode('dd', {								'class': 'trans-' + values.lang							}); var dl = newNode('dl', dd); dd.innerHTML = content; addEdit({								'redo': function {									parent.appendChild(dl);								},								'undo': function  {									parent.removeChild(dl);								},								'edit': getEditFunction(values, wikitext, nestedHeading, getLangCode(parent), util.isTrreq(parent), function (text, ipos) { //Adding a new dl to an existing translation line var lineend = text.indexOf('\n', ipos); return text.substr(0, lineend) + "\n*: " + wikitext + text.substr(lineend); })							}, dd); return resetElements; } else { var dd = newNode(sublis[0].nodeName, {								'class': 'trans-' + values.lang							}); var linestart = dd.nodeName == 'DD' ? '\n*: ' : '\n** '; dd.innerHTML = content; for (var k = 0; k < sublis.length; k++) { var subln = getLangName(sublis[k]); var parent = sublis[k]; if (subln == nestedLang) { var span = newNode('span'); span.innerHTML = ", " + content.substr(content.indexOf(':') + 1); addEdit({										'redo': function {											parent.appendChild(span)										},										'undo': function  {											parent.removeChild(span)										},										'edit': getEditFunction(values, wikitext, nestedLang, values.lang, false, function (text, ipos) { // Adding the wikitext to a list of translations that already exists. var lineend = text.indexOf('\n', ipos); var wt = wikitext.replace('subst:#invoke:', ''); wt = wt.substr(wt.indexOf(':') + 1); return text.substr(0, lineend) + "," + wt + text.substr(lineend); })									}, span); return resetElements; } else if (langmetadata.nestsBefore(nestedLang, subln)) { addEdit({										'redo': function {											parent.parentNode.insertBefore(dd, parent);										},										'undo': function  {											parent.parentNode.removeChild(dd);										},										'edit': getEditFunction(values, wikitext, subln, getLangCode(parent), util.isTrreq(parent), function (text, ipos) { // Adding a nested translation in-order var lineend = text.lastIndexOf('\n', ipos); return text.substr(0, lineend) + linestart + wikitext + text.substr(lineend); })									}, dd); return resetElements; }							}							addEdit({								'redo': function {									parent.parentNode.appendChild(dd);								},								'undo': function  {									parent.parentNode.removeChild(dd);								},								'edit': getEditFunction(values, wikitext, subln, getLangCode(parent), util.isTrreq(parent), function (text, ipos) { // Adding a nested translation at the end of its group var lineend = text.indexOf('\n', ipos); return text.substr(0, lineend) + linestart + wikitext + text.substr(lineend); })							}, dd); return resetElements; }					} else if (ln && ln > nestedHeading && (!nextLanguage || ln < nextLanguage)) { nextLanguage = ln; var parent = lis[j]; insertBefore = [{ 'redo': function { parent.parentNode.insertBefore(li, parent); },							'undo': function { parent.parentNode.removeChild(li) },							'edit': getEditFunction(values, wikitext, ln, getLangCode(parent), util.isTrreq(parent), function (text, ipos) {								//Adding a new nested translation section.								var lineend = text.lastIndexOf('\n', ipos);								return text.substr(0, lineend) + nestedWikitext + text.substr(lineend);							}) }, li]; }				}				wikitext = nestedHeading + ":\n*: " + wikitext; }			li.className = "trans-" + values.lang; if (insertBefore) { addEdit(insertBefore[0], insertBefore[1]); } else { //Append the translations to the end (no better way found) addEdit({					'redo': function {						insertUl.appendChild(li);					},					'undo': function  {						insertUl.removeChild(li)					},					'edit': getEditFunction(values, wikitext)				}, li); }			return resetElements; }		//Get the wikitext modification for the current form submission. function getEditFunction(values, wikitext, findLanguage, findLangCode, trreq, callback) { return function (text) { var p = util.getTransTable(text, insertUl); if (!p) return editor.error("Could not find translation table for '" + values.lang + ":" + values.word + "'. Glosses should be unique"); var stapos = p[0]; var endpos = p[1]; var trreqLegacy = false; if (findLanguage) { var ipos = 0; if (trreq) { ipos = text.substr(stapos).search(RegExp(mw.RegExp.escape(findLanguage) + ":\\s*\\{\\{t-needed(?:\\|" + findLangCode + "}})?")) + stapos; if (ipos < stapos || ipos > endpos) ipos = text.indexOf('{{trreq|' + findLanguage + '}}', stapos); if (ipos < stapos || ipos > endpos) ipos = text.indexOf('{{trreq|' + findLangCode + '}}', stapos); }					// If we have a nested trreq, then we still need to look for the non-trreq form of the heading language if (!trreq || ipos < stapos || ipos > endpos) { var escapedLang = mw.RegExp.escape(findLanguage); //if the translation should not be nested it should not go before any nested language var regexByShouldFindSubLanguage = values.nested != "" ? "[:*]?" : "";						var possibleRegexes = [ RegExp("\\*" + regexByShouldFindSubLanguage + " ?\\[\\[" + escapedLang + "\\]\\]:"), RegExp("\\*" + regexByShouldFindSubLanguage + " ?" + escapedLang + ":"), RegExp("\\*" + regexByShouldFindSubLanguage + " ?\\{\\{ttbc\\|" + escapedLang + "}}:") ];						ipos = text.substr(stapos).search(possibleRegexes[0]) + stapos; if (ipos < stapos || ipos > endpos) ipos = text.substr(stapos).search(possibleRegexes[1]) + stapos; if (ipos < stapos || ipos > endpos) ipos = text.substr(stapos).search(possibleRegexes[2]) + stapos; if (ipos < stapos || ipos > endpos) ipos = text.indexOf('{{subst:#invoke:languages/templates|getByCode|' + findLangCode + '|getCanonicalName}}:', stapos); }					if (ipos >= stapos && ipos < endpos) { return callback(text, ipos, trreq); } else { return editor.error("Could not find translation entry for '" + values.lang + ":" + values.word + "'. Please reformat"); }				}				return text.substr(0, endpos) + "* " + wikitext + "\n" + text.substr(endpos); };		}		// For an  in well-formed translation sections, return the language name. function getLangName(li) { var guess = li.textContent || li.innerText; if (guess) guess = guess.substr(0, guess.indexOf(':')); if (guess == 'Template') { return false; }			return guess.replace(/^[\s\n]*/, ''); }		// Try to get the language code from an  containing { {t t+ or t-	// }} function getLangCode(li) { if (li.className.indexOf('trans-') === 0) return li.className.substr(6); var spans = li.getElementsByTagName('span'); for (var i = 0; i < spans.length; i++) { if (spans[i].lang) { return spans[i].lang; }				if (spans[i].dataset && spans[i].dataset.lang) { return spans[i].dataset.lang; }			}			return false; }	}	function createTranslationAdderTable(li) { var $ul = $("").append(li); // TODO div instead? return $(" ") .append($(" ")) .append($(" ")) .append($(" ")) .append($(" ").css("text-align", "left").append($ul)); }	// main - this calls the three functions above. // Support divs $('div.translations').each(function {		// these divs have only one ul directly beneth them.		if (util.getTransGloss(this) != 'Translations to be checked') {			var ul = $(this).find("ul");			if (ul) {				var li = document.createElement('li');				// place TA after the div to avoid ending up in between the 				// translations				$(this).parent.after(createTranslationAdderTable(li));				new AdderWrapper(editor, new TranslationAdder(ul), li);				var div = $(this).parent.parent.find('div.NavHead')[0];				if (div) {					new TranslationLabeller(div)					}				}			}		}	); //close each function // Legacy support for tables in translation sections function createTranslationAdderRow(li) { var $ul = $("").append(li); return $(" ") .append($(" ")) .append($(" ")) .append($(" ").css("text-align", "left").append($ul)); }	$('table.translations').each(function {		if (util.getTransGloss(this) != 'Translations to be checked') {			var uls = $(this).find("td > ul").get;			if (uls.length == 0) {				this.getElementsByTagName('td')[0].appendChild(newNode('ul'));				uls = this.getElementsByTagName('ul');			}			if (uls.length == 1) {				var td = this.getElementsByTagName('td')[2];				if (td) {					td.appendChild(newNode('ul'));					uls = this.getElementsByTagName('ul');				}			}			if (uls) {				var li = document.createElement('li');				var ul = uls[uls.length - 1];				$(this).append(createTranslationAdderRow(li));				new AdderWrapper(editor, new TranslationAdder(ul), li);				if (true) {// XXX: why not? (new CookiePreferences('EditorJs')).get('labeller') == 'true') { var div = $(this).parent.parent.find('div.NavHead')[0]; if (div) { new TranslationLabeller(div) }				}			}		}	}); }

$(document).ready(function {	if (mw.config.get('wgAction') == 'view' && (mw.config.get('wgNamespaceNumber') === 0 || 		mw.config.get('wgPageName') == "Wiktionary:Sandbox"	|| 		mw.config.get('wgPageName') == "User:So9q/sandbox") //|| 		//!/&printable=yes|&diff=|&oldid=/.test(window.location.search) ) {			var editor = new Editor;			TranslationAdders(editor);		} }); //

// End So9q });

title: User:So9q/ImprovedTranslationAdder.js


text:
gruveselskap

Etymology
From.

Noun

 * 1)  a mining company

Etymology
From.

Noun

 * 1)  a mining company

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: gruveselskap


text: monovolumes

title: monovolumes


text:
𐌲𐌰𐍄𐍅𐍉

Etymology
From.

Noun

 * 1)  street

title: 𐌲𐌰𐍄𐍅𐍉


text: 𐌲𐌰𐍄𐍅𐍉𐌽𐍃

title: 𐌲𐌰𐍄𐍅𐍉𐌽𐍃


text: gatwo

title: gatwo


text:
tacticus

Etymology
From.

Noun

 * 1) A tactician.

title: tacticus


text: tactici

title: tactici


text: Category:Ninzic languages

title: Category:Ninzic languages


text: gruveselskapet

title: gruveselskapet


text:
User:Allahverdi Verdizade/OAT

Joseph's dream (XIII-th centiry)
In turn, reprinted from Şeyyad, H. (1946). Yusuf ve Zeliha: Nakleden Dehri Dilçin. Istanbul: Kliṣecilik ve Matbaacilik T.A.Ṣ. From a XVI-th century copy.

امدى دكلك سوزومه طوتك قلاق Imdi diŋläŋ sözümä dutuŋ qulaq 'Now listen, turn your ears to my word(s)' بر سوز ایدم كیم شكردن طاتلوراق Bir söz äyidäm kim šäkkärdän datluraq I will tell you word(s) that are tastier than sugar واردى كنعانده بر سرور كشى Vardï Kän'ānda bir särvär kiši There was a master man in Canaan آدى ىعقوب كندو پیغامبركشى Adï Ya'qūb gändü peyɣāmbär kiši His name [was] Jacob, himself [he was] a prophet man

یوسف آدلو بیر اوغلی آنك Yūsuf adlu bir oɣlï anuŋ Named Joseph a son of his ابدی ایشت بو سوزو جانك Imdi išit bu sözi varsa jänuŋ Now hear this word(s), if you have heart یدی یاشنده ایدی یوسف نبی Yedi yašïnda idi Yüsuf näbi Seven years of age was Joseph the prophet صورت خوب یوغدی انك كبی Süratï xūb yoɣïdï anuŋ gibi Beautiful face like his there was none (=no one was as handsome as he)

بر كیجه یاتوركن اول دوش كورر Bir gejä yaturikän, ol düš görür One night while sleeping, he sees a dream ایرته طورر آنی یعقوبه صورر Ertä durur anï Ya'qūba sorur In the morning he gets up and asks Jacob [about] it ایدر ای بابا یاتردم بو كیجه Äyidär e baba yaturdum bu gejä He says, o father, I was sleeping this night بر عجب دوش كورورم ایشت نیجه Bir 'äjäb düš görüräm išit nijä I saw a strange dream, hear how [it was]

ایدیویر تعبیرنی آنك بكا Äyidiver ta'birini anuŋ baŋa Tell me its meaning ایدیم اول كورد كوم دوشی سكا Äyidäyüm ol gördügüm düši saŋa Let me tell the dream I saw to you كوردوم آی و كونش اون بر یادوز Gördüm ay ū günäš on bir yïlduz I saw the moon and sun, eleven stars سجده قیلورلر قموسی بكا دوز Säjdä qïlurlar qamusï baŋa düz They all bowed to me in a row

دوندی یعقوب سویلدی ایتدی جانم Döndi Ya'qūb söylädi äyitdi jānum Turned Jacob, spoke and said, "My heart ساقله دوشك سوزی ایشت بنم Saqla düšüŋ sözi išit bänüm Conceal your dream, hear my word(s) اولمیه كیم سویلیاسین داخیا Olmïya kim söyläyäsin daxïya May it not happen that you tell [it] to someone else ایشده دوشك سكا قاخیا Išidä düšüŋ saŋa qaxïya S/he will hear your dream [and] get angry at you

خوش در یا اوغل سنك دوشك Xōš dur yā oɣul sänüŋ düšüŋ Your dream is good, o son سلطان‌لغیله كیچی‌سر عمرك یاشنك Sulṭānlïɣïla gečisär 'ömrüŋ yašuŋ Your lifetime, your life will pass as one of a sultan حق سنی سلطان قلیسر قامویه Ḥaq säni sulṭān qïlïsar qamuya Providence (?) will make you a sultan over everyone اون بر قرداشك طوریسر طاپویه On bir qardašuŋ durïsar dapuya Your eleven brethren will stand at your service"

Çarhnâme-i Ahmed Fakîh Der Bîvefâî-i Rûzigâr (before 1252)
1 دریغا چرخك الندن

2 ایشد امدى بواحوالى اى قردآش چون امّت‌در برى بیرینه اخوان

56 عبادت قل حقیچون كیجه كندوز ‘Ibādät qïl Ḥaq ičün gejä, gündüz! Worship God both day and night! عبادت‌در بلور‌سك كنج پنهان ‘Ibādätdür, bilürseŋ (or -siŋ), gänj-i pinhān. Worship is, you know, a hidden treasure.

60 اولوم بر قاپودور كچمك كركدر Ölüm bir qapudur, gäčmäk gäräkdür, Death is a gate, one has to pass [it] برابر انده سلطانیله چوپان bärābär anda sultān ile čōpān. A sultan and a shepherd are equal in it.

61 یرادلمش بو شربتدن طدیسر Yaradïlmïš bu šärbätdän dadïsar [every] creature will taste of this sharbat اولو کیچی درر قموسی اول ایشده یکسان Ulu, giçi, durur qamusï ol išde yeksān. Great, small, everybody stands equal in that matter.

title: User:Allahverdi Verdizade/OAT


text:
maaltand

Etymology
Compound of.

Noun

 * 1)  A molar.

title: maaltand


text: maaltanden

title: maaltanden


text:
放話

Verb

 * 1) to let out the message; to spread the word; to leak certain information intentionally

title: 放話


text: gruveselskaper

title: gruveselskaper


text: gruveselskapene

title: gruveselskapene


text: gruveselskapa

title: gruveselskapa


text:
naaktloper

Etymology
From.

Noun

 * 1) A nudist.
 * 2)  A 16th-century Anabaptist practicing nudism.
 * 1)  A 16th-century Anabaptist practicing nudism.

title: naaktloper


text: naaktlopers

title: naaktlopers


text:
tresladar

Etymology
From, perfect passive participle of. Though it is cognate with terms used in the modern-day forms of languages including 🇨🇬 and 🇨🇬, it retains the meaning of older cognates like 🇨🇬.

Verb

 * 1) to translate

title: tresladar


text:
odontocomplex

Noun

 * 1) A complex of teeth or toothlike features

title: odontocomplex


text: odontocomplexes

title: odontocomplexes


text:
brenselcelle

Etymology
From.

Noun

 * 1) a fuel cell

Etymology
From.

Noun

 * 1) a fuel cell

title: brenselcelle


text:
oleolytic

Adjective

 * 1) Relating to, or causing oleolysis

title: oleolytic


text:
ᠵᡳᡥᠠ

Etymology
From, compare 🇨🇬, 🇨🇬.

Noun

 * 1) money
 * 2) currency

title: ᠵᡳᡥᠠ


text:
oleolysis

Noun

 * 1) The separation of a layer of oil from a mixture

Related terms

 * oleolytic

title: oleolysis


text:
jiha

Etymology
From.

Noun

 * 1) region, state
 * 2) direction

title: jiha


text:
oligoguluronate

Noun

 * 1) An oligomer of guluronates

title: oligoguluronate


text: oligoguluronates

title: oligoguluronates


text: oligosulphide

title: oligosulphide


text: oligosulphides

title: oligosulphides


text:
home morto non fala

Etymology
lit. '[a] dead man does not speak'. Attested since circa 1750, as the name of an inn.

Proverb

 * 1) dead men tell no tales
 * 2) * 1867, Alejandro Benisia, El milano de los mares: novela marítima original [in Spanish], page 268:
 * "gl"

- El pirata permaneció callado durante el tiempo que el cocinero estuvo hablando; y al concluir de contar el suceso con todos sus pormenores, se llevó con furia la mano derecha á la boca, dándose en ella un fuerte mordisco, hasta hacer brotar la sangre, esclamando:—«Home morto non fala.» En vista de tan incomprensible rasgo de ferocidad, el presidente le amonestó indignado; mas el gallego, sin inmutarse, replicó que trataba de vengar en su mano la generosidad de no haberle dado muerte.

title: home morto non fala


text: Category:Galician proverbs

title: Category:Galician proverbs


text:
менгеле

Etymology
.

Noun

 * 1) vise, vice

title: менгеле


text:
oligosulfide

Noun

 * 1)  Any salt or ester containing a chain of several sulfur atoms

title: oligosulfide


text: oligosulfides

title: oligosulfides


text:
unmoistenable

Adjective

 * 1) Unable to be moistened.

title: unmoistenable


text:
lordlessness

Noun

 * 1) Absence of a lord.

title: lordlessness


text:
melodylessness

Noun

 * 1) Absence of a melody.

title: melodylessness


text:
pigmentlessness

Noun

 * 1) Absence of pigment.

title: pigmentlessness


text:
policelessness

Noun

 * 1) Absence of police.

title: policelessness


text:
proportionlessness

Noun

 * 1) Absence of proportion.

title: proportionlessness


text:
rightslessness

Noun

 * 1) Lack of rights.

title: rightslessness


text:
scalelessness

Noun

 * 1) Absence of scale.

Translations

 * German: Schuppenlosigkeit

title: scalelessness


text:
servantlessness

Noun

 * 1) Absence of servants.

title: servantlessness


text:
organolithotroph

Noun

 * 1) A chemoautotroph that derives its energy from both organic and inorganic sources

Related terms

 * organolithotrophic

title: organolithotroph


text: organolithotrophs

title: organolithotrophs


text:
organolithotrophic

Adjective

 * 1) Relating to organolithotrophs

title: organolithotrophic


text:
orthoceratoid

Noun

 * 1) Any extinct cephalopod of the subclass †

title: orthoceratoid


text: orthoceratoids

title: orthoceratoids


text: orthopyroxine

title: orthopyroxine


text:
dichital

Adjective

 * 1) digital

title: dichital


text: brenselcella

title: brenselcella


text:
osteochondromatous

Adjective

 * 1) Relating to osteochondromata

title: osteochondromatous


text: brenselcellen

title: brenselcellen


text:
eixemplo

Etymology
From.

Noun

 * 1) example

title: eixemplo


text: Wiktionary:Logo

title: Wiktionary:Logo


text:
osteomorphometry

Noun

 * 1) The morphometry of bone

Related terms

 * osteomorphometric

title: osteomorphometry


text:
osteomorphometric

Adjective

 * 1) Relating to osteomorphometry

title: osteomorphometric


text: brenselceller

title: brenselceller


text: brenselcellene

title: brenselcellene


text:
conchugación

Noun

 * 1)  conjugation

title: conchugación


text:
osteospheroid

Noun

 * 1) A spheroidal cluster of stem cells grown on an osteoconductive scaffold

title: osteospheroid


text: osteospheroids

title: osteospheroids


text:
osteostimulation

Noun

 * 1) The stimulation of the growth of bone tissue, typically after a fracture

Related terms

 * osteostimulatory

title: osteostimulation


text:
osteostimulatory

Adjective

 * 1) Relating to osteostimulation

title: osteostimulatory


text:
osteotomize

Verb

 * 1)  To perform an osteotomy

title: osteotomize


text:
идѣже

Adverb

 * 1) where

title: идѣже


text:
outclinic

Noun

 * 1) An outpatient clinic

title: outclinic


text: outclinics

title: outclinics


text:
overaggregation

Noun

 * 1) Excessive aggregation

title: overaggregation


text: Category:Middle Armenian terms derived from Sanskrit


text:
bvadr

Interjection

 * 1) yikes

title: bvadr


text: Category:Middle Armenian terms derived from Indo-Aryan languages


text:
overevaluate

Verb

 * 1)  To evaluate and rank too highly; overvalue.

title: overevaluate


text: overaggregations

title: overaggregations


text: Thesaurus:scabby

title: Thesaurus:scabby


text: Thesaurus:notched

title: Thesaurus:notched


text: Thesaurus:scaly

title: Thesaurus:scaly


text:
lekture

Etymology
From, from.

Noun

 * 1) reading material

title: lekture


text:
bindeleg

Noun

 * 1) bondage

title: bindeleg


text: Template:R:axm:Ishokh

title: Template:R:axm:Ishokh


text:
𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹

Etymology
From + a derivative of  with a suffix. Probably literally meant ‘foreskin’ in Gothic (and is defined as such in some dictionaries, e.g. Köbler's), but that sense is unattested.

Noun

 * 1)  uncircumcision
 * 2) * 1 Corinthians 7:18–19:
 * "got"

- 𐌱𐌹𐌼𐌰𐌹𐍄𐌰𐌽𐍃 𐌲𐌰𐌻𐌰𐌸𐍉𐌳𐌰 𐍅𐌰𐍂𐌸 𐍈𐌰𐍃, 𐌽𐌹 𐌿𐍆𐍂𐌰𐌺𐌾𐌰𐌹; 𐌼𐌹𐌸 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌰 𐌲𐌰𐌻𐌰𐌸𐍉𐌸𐍃 𐍅𐌰𐍂𐌸 𐍈𐌰𐍃, 𐌽𐌹 𐌱𐌹𐌼𐌰𐌹𐍄𐌰𐌹. 𐌸𐌰𐍄𐌰 𐌱𐌹𐌼𐌰𐌹𐍄 𐌽𐌹 𐍅𐌰𐌹𐌷𐍄𐍃 𐌹𐍃𐍄 𐌾𐌰𐌷 𐌸𐌰𐍄𐌰 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹 𐌽𐌹 𐍅𐌰𐌹𐌷𐍄𐍃 𐌹𐍃𐍄, 𐌰𐌺 𐍆𐌰𐍃𐍄𐌿𐌱𐌽𐌾𐌰 𐌰𐌽𐌰𐌱𐌿𐍃𐌽𐌴 𐌲𐌿𐌳𐌹𐍃.

 * 1) * Galatians 2:7:
 * "got"

- 𐌰𐌺 𐌸𐌰𐍄𐌰 𐍅𐌹𐌸𐍂𐌰⟨𐍅𐌰𐌹𐍂⟩𐌸𐍉, 𐌲𐌰𐍃𐌰𐌹𐍈𐌰𐌽𐌳𐌰𐌽𐍃 𐌸𐌰𐍄𐌴𐌹 𐌲𐌰𐍄𐍂𐌰𐌿𐌰𐌹𐌳𐌰 𐍅𐌰𐍃 𐌼𐌹𐍃 𐌰𐌹𐍅𐌰𐌲𐌲𐌴𐌻𐌾𐍉 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌹𐍃, 𐍃𐍅𐌰𐍃𐍅𐌴 𐍀𐌰𐌹𐍄𐍂𐌿 𐌱𐌹𐌼𐌰𐌹𐍄𐌹𐍃,

 * 1) * Galatians 5:6:
 * "got"

- 𐌿𐌽𐍄𐌴 𐌹𐌽 𐍇𐍂𐌹𐍃𐍄𐌿 𐌹𐌴𐍃𐌿 𐌽𐌹𐌷 𐌱𐌹𐌼𐌰𐌹𐍄 𐍅𐌰𐌹𐌷𐍄 𐌲𐌰𐌼𐌰𐌲 𐌽𐌹𐌷 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹, 𐌰𐌺 𐌲𐌰𐌻𐌰𐌿𐌱𐌴𐌹𐌽𐍃 𐌸𐌰𐌹𐍂𐌷 𐍆𐍂𐌹𐌰𐌸𐍅𐌰 𐍅𐌰𐌿𐍂𐍃𐍄𐍅𐌴𐌹𐌲𐌰.

 * 1) * Galatians 6:15:
 * "got"

- 𐌿𐌽𐍄𐌴 𐌽𐌹 𐌱𐌹𐌼𐌰𐌹𐍄 𐍅𐌰𐌹𐌷𐍄 𐌹𐍃𐍄, 𐌽𐌹𐌷 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹, 𐌰𐌺 𐌽𐌹𐌿𐌾𐌰 𐌲𐌰𐍃𐌺𐌰𐍆𐍄𐍃.

 * 1) * Colossians 3:11:
 * "got"

- 𐌸𐌰𐍂𐌴𐌹 𐌽𐌹𐍃𐍄 𐌺𐍂𐌴𐌺𐍃 𐌾𐌰𐌷 𐌾𐌿𐌳𐌰𐌹𐌿𐍃, 𐌱𐌹𐌼𐌰𐌹𐍄 𐌾𐌰𐌷 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹, 𐌱𐌰𐍂𐌱𐌰𐍂𐌿𐍃 𐌾𐌰𐌷 𐍃𐌺𐍅𐌸𐌿𐍃, 𐍃𐌺𐌰𐌻𐌺𐍃 𐌾𐌰𐌷 𐍆𐍂𐌴𐌹𐍃, 𐌰𐌺 𐌰𐌻𐌻𐌰 𐌾𐌰𐌷 𐌹𐌽 𐌰𐌻𐌻𐌰𐌹𐌼 𐍇𐍂𐌹𐍃𐍄𐌿𐍃.

title: 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌹


text: 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌰

title: 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌰


text: 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌹𐍃

title: 𐍆𐌰𐌿𐍂𐌰𐍆𐌹𐌻𐌻𐌾𐌹𐍃


text:
selskapsskatt

Etymology
From.

Noun

 * 1)  corporation tax, corporate tax, company tax

Etymology
From.

Noun

 * 1)  corporation tax, corporate tax, company tax

title: selskapsskatt


text:
sjover

Noun

 * 1) cur, rogue
 * 2) penis
 * 3) thing
 * 1) penis
 * 2) thing
 * 1) thing
 * 1) thing
 * 1) thing
 * 1) thing

Synonyms

 * See Thesaurus:da:penis

title: sjover


text:
transsukupuolisuus

Noun

 * 1) transgenderness

title: transsukupuolisuus


text: Category:Hadza auxiliary verbs

title: Category:Hadza auxiliary verbs


text: կլայեակ

title: կլայեակ


text:
irrisibilis

Etymology
From.

Adjective

 * 1) laughable, ridiculous

title: irrisibilis


text: selskapsskatten

title: selskapsskatten


text: selskapsskatter

title: selskapsskatter


text:
brænde sit lys i begge ender

Verb

 * 1) to burn one's candle at both ends

title: brænde sit lys i begge ender


text:
bygge luftkasteller

Verb

 * 1) build castles in the air

title: bygge luftkasteller


text: selskapsskattene

title: selskapsskattene


text: selskapsskattar

title: selskapsskattar


text: selskapsskattane

title: selskapsskattane


text: corporation tax

title: corporation tax


text:
Talk:auskennen

past participle
As a learner of German, I think someone screwed up giving the past participle of this verb? Should it not be "ausgekannt" instead of "auserkannt"? If so, can someone please correct this and all other instances where "auserkannt" appears in the conjugation tables?
 * You're right, fixed, thanks. – Jberkel 18:29, 19 September 2019 (UTC)

title: Talk:auskennen


text:
danse efter nogens pibe

Verb

 * 1) dance to someone's tune

title: danse efter nogens pibe


text:
dele sol og vind lige

Noun

 * 1)  share and share alike

title: dele sol og vind lige


text:
den gyldne middelvej

Noun

 * 1) the golden mean

title: den gyldne middelvej


text:
կլայեկ

Etymology
From. .

Noun

 * 1) tin
 * 2) tinning a covering or lining of tin
 * 1) tinning a covering or lining of tin
 * 1) tinning a covering or lining of tin

Etymology
From, probably suffixed with or. .

Noun

 * 1) tin

title: կլայեկ


text: ufutchu

title: ufutchu


text:
うとぅな

Noun

 * 1)   adult

title: うとぅな


text: den hellige grav er vel forvaret

title: den hellige grav er vel forvaret


text: den røde tråd

title: den røde tråd


text: der er lagt i kakkelovnen

title: der er lagt i kakkelovnen


text:
tecihui

Verb

 * 1)  To hail.

Derived terms

 * tecihuitl

title: tecihui


text:
der ligger hunden begravet

Etymology
. Cognate of 🇨🇬.

title: der ligger hunden begravet


text: det er der ingen ben i

title: det er der ingen ben i


text:
løgn og latin

Noun

 * 1)  bullshit; lie

title: løgn og latin


text:
tecihuitl

Etymology
From.

Noun

 * 1) hail

title: tecihuitl


text: Category:got:Circumcision

title: Category:got:Circumcision


text: Category:got:Surgery

title: Category:got:Surgery


text:
det gyldne snit

Noun

 * 1) the golden ratio

title: det gyldne snit


text:
telekommunikasjon

Etymology
From.

Noun

 * 1) telecommunication

Etymology
From.

Noun

 * 1) telecommunication

title: telekommunikasjon


text:
du må have spist søm

Phrase
("you must have eaten nails")

 * 1) you must be crazy

title: du må have spist søm


text:
blind passager

Noun

 * 1)  (someone who travels without paying on public transport)

title: blind passager


text:
dans på roser

Noun
("dance on roses")

 * 1)  a bed of roses; an untroubled situation

title: dans på roser


text:
en fis i en hornlygte

Phrase

 * 1)  (something that does not matter much but is blown up out of proportion)

title: en fis i en hornlygte


text:
en heldig kartoffel

Phrase

 * 1)  a person who has good luck

title: en heldig kartoffel


text:
Uersach

Noun

 * 1) reason, motive, cause

title: Uersach


text:
ejika

Etymology
Possibly from and a. Probably cognate with 🇨🇬

Noun

 * 1) shoulder

title: ejika


text:
𐍆𐌹𐌻𐌻𐌴𐌹𐌽𐍃

Etymology
From.

Adjective

 * 1)  made of leather or skin
 * 2) * Mark 1:6
 * "got"

- 𐍅𐌰𐍃𐌿𐌸-𐌸𐌰𐌽 𐌹̈𐍉𐌷𐌰𐌽𐌽𐌴𐍃 𐌲𐌰𐍅𐌰𐍃𐌹𐌸𐍃 𐍄𐌰𐌲𐌻𐌰𐌼 𐌿𐌻𐌱𐌰𐌽𐌳𐌰𐌿𐍃 𐌾𐌰𐌷 𐌲𐌰𐌹𐍂𐌳𐌰 𐍆𐌹𐌻𐌻𐌴𐌹𐌽𐌰 𐌱𐌹 𐌷𐌿𐍀 𐍃𐌴𐌹𐌽𐌰𐌽𐌰 𐌾𐌰𐌷 𐌼𐌰𐍄𐌹𐌳𐌰 𐌸𐍂𐌰𐌼𐍃𐍄𐌴𐌹𐌽𐍃 𐌾𐌰𐌷 𐌼𐌹𐌻𐌹𐌸 𐌷𐌰𐌹𐌸𐌹𐍅𐌹𐍃𐌺

title: 𐍆𐌹𐌻𐌻𐌴𐌹𐌽𐍃


text: 𐍆𐌹𐌻𐌻𐌴𐌹𐌽𐌰

title: 𐍆𐌹𐌻𐌻𐌴𐌹𐌽𐌰


text: Category:got:Leatherworking

title: Category:got:Leatherworking


text: Category:got:Crafts

title: Category:got:Crafts


text: filleins

title: filleins


text: telekommunikasjonen

title: telekommunikasjonen


text:
Naijiria

Etymology
From.

title: Naijiria


text: telekommunikasjoner

title: telekommunikasjoner


text:
Category:ryu:Months

 * 1月 (January)
 * 2月 (February)
 * 3月 (March)
 * 4月 (April)
 * 5月 (May)
 * 6月 (June)
 * 7月 (July)
 * 8月 (August)
 * 9月 (September)
 * 10月 (October)
 * 霜月 (November)
 * 師走 (December)

title: Category:ryu:Months


text: telekommunikasjonene

title: telekommunikasjonene


text: telekommunikasjonar

title: telekommunikasjonar


text: telekommunikasjonane

title: telekommunikasjonane


text:
liposukcja

Etymology
.

Noun

 * 1)  liposuction

title: liposukcja


text: こんにゃく

title: こんにゃく


text:
User:So9q/EditTranslations.js

// So9qs EditTranslations based on MediaWiki:Gadget-DefSideBoxes.js // function findLang(object) { lang = $(object).parentsUntil("ul").find("[lang]").attr("lang"); console.log("lang: " + lang); return lang; }

function editTranslation(qq) { // initialize the editor to download the wikitext (new Editor).withCurrentText(function(wikitext) {		console.log("editTranslation :)") if (qq.YREditing) { return; }		qq.YREditing = true; // find lang of the clicked one and gloss from the trans-top header // find lang lang = findLang(qq); // find gloss and trim it		var translationGloss = $(qq).parentsUntil("table").parent.first.attr("data-gloss").trim; console.log("gloss: " + translationGloss);

// split the wikitext to make it manageable var array = wikitext.split('\n'); // find our boundaries based on the gloss var slicestart = array.indexOf('') + 1; // search from our gloss var sliceend = array.indexOf('', slicestart); // extract the section of interest var trans = array.slice(slicestart, sliceend); console.log("start: " + slicestart); console.log("end: " + sliceend); console.log("sliced: " + trans);

// find our target line oldline = trans.find(function(item){			return item.match("/|" + lang + "|/");		}); // the index has to be within our boundaries oldlineindex = array.indexOf(oldline); console.log("lineindex:" + oldlineindex); console.log("line:" + oldline); if (oldlineindex < sliceend || oldlineindex > slicestart) { // go ahead /* pseudocode for rest of function: show the form replace the oldline at oldlineindex with newline done :)			*/			// save the old translationline			/* disabled because of unknown error			var temporarydefholder = qq.insertBefore(newNode('span', {			'style': 'display:none;'}), $(qq).child.eq[1].nodeName.toLowerCase != "form" ? qq.childNodes[1] : qq.childNodes[2]); */			// initiate the editor.js			new AdderWrapper(new Editor, { 'createForm': function { return trform = newNode('form', {						'style': 'width:100%;display:inline-block;margin-bottom:-6px;'					}, newNode('table', { 'style': 'width:100%;' }, newNode('tr', newNode('td', newNode('textarea', {							//'style': 'height:17px;width:100%;',							'name': 'definition',							'size': 80,							'value': oldline,							'rows': 3,							'cols': 50						}) ), newNode('td', { 'style': 'white-space:nowrap;' }, newNode('div', {						'class': "DSBRedButton"					}, newNode('div', { click: function { temporarydefholder.style.display = 'inline'; trform.style.display = 'none'; qq.YREditing = false; }					}, "Discard Changes")), newNode('div', {						'class': "DSBGreenButton"					}, newNode('div', { click: function { trform.onsubmit; }					}, "Preview Changes ►")))))); },				'fields': { 'translation': function(txt, error) { return txt || error("Please specify a translation."); }				},				'onsubmit': function(values, render) { render(values.translation, function(newhtml) {						editor = new Editor;						//var findnumberofdefs = findnumberofdefs_(qq); // apparently this is sometimes necessary						var addedspan = newNode('span');						addedspan.innerHTML = newhtml;						//var updatecatscallback;						editor.addEdit({ edit: function(wikitext) { array[oldlineindex] = values.translation; wikitext = array.join("\n"); ccc = wikitext; return wikitext; },							redo: function { /*trform.parentNode.insertBefore(addedspan, trform); trform.style.display = temporarydefholder.style.display = 'none'; //updatecatscallback = window.tabbedLanguages && updateCategories(findtopli(trform.parentNode).parentNode.parentNode, values.translation, olddef) qq.YREditing = false;*/ },							undo: function { /*trform.parentNode.removeChild(addedspan); trform.style.display = "inline"; trform.firstChild.firstChild.firstChild.firstChild.value = olddef; //updatecatscallback && updatecatscallback; qq.YREditing = true;*/ },							summary: "translation of " + lang + " changed to: " + values.translation }, addedspan);					}); //render } //onsubmit }); //AdderWrapper		} // if check for index		else {			txt = "Error: Two or more translation sections of this language are identical and the code currently does not support this.";			console.info(txt);			error(txt);		}	}); // withCurrentText

} //editTranslation

jQuery(document).ready(function {	if (mw.config.get('wgAction') == 'view' && (		mw.config.get('wgNamespaceNumber') === 0 || 		mw.config.get('wgPageName') == "Wiktionary:Sandbox"	|| 		mw.config.get('wgPageName') == "User:So9q/sandbox") && !/&printable=yes|&diff=|&oldid=/.test(window.location.search) && !window.loadedYREdit) {		window.loadedYREdit = true;		// enable for translation li's		$("[lang]").not(".interlanguage-link-target").parentsUntil("ul").each( function { // only run in a translation section if ($(this).parent.prop("tagName") == "UL" && 					$(this).parent.parent.attr("class") == "translations-cell") { var txt = $(" ").attr("class", "addusexbutton").html(							$("").text("edit translation").attr({ // pass this object to editTranslation "onclick" : "editTranslation(this)", "title" : "Edit translation"})						); $(this).append(txt); }			});	} });

//

title: User:So9q/EditTranslations.js


text:
Talk:quisler

RFV discussion: September 2019
We have a red link to this at quisling, under "derived terms". Covered in Oxford (according to Lexico). Also: https://en.wiktionary.org/wiki/Wiktionary:Requested_entries_%28English%29#Q_2019. Tharthan (talk) 16:56, 3 September 2019 (UTC)
 * There's no need to create an RFV for redlinked terms. This seems easily includable. DTLHS (talk) 18:52, 3 September 2019 (UTC)
 * It is no longer redlinked - I created the item, and it is cited Kiwima (talk) 21:21, 3 September 2019 (UTC)
 * Oh, and actually, for this particular one, we didn't have a red link to it. My bad. I'll add it to the "derived terms" section. Tharthan (talk) 02:00, 4 September 2019 (UTC)

RFV-passed Kiwima (talk) 23:49, 11 September 2019 (UTC)

title: Talk:quisler


text:
Module talk:languages/data/3/h

Hachijō language
How do we add ? MiguelX413 (talk) 19:43, 19 September 2019 (UTC)
 * I would recommend starting a discussion in WT:BP, because a language code has to be agreed on. — Eru·tuon 20:53, 19 September 2019 (UTC)
 * I believe it has the ISO 639-6 code: "hhjm". MiguelX413 (talk) 23:47, 19 September 2019 (UTC)
 * Okay, but I'm not the right person to ask because I'm not experienced in creating language codes. (We don't have any four-letter codes yet so it would be a very novel thing.) You're more likely to get the attention of the right people if you post in WT:BP. Hardly anyone is watching this page. — Eru·tuon 00:41, 20 September 2019 (UTC)
 * Understood! Thank you for the reference! MiguelX413 (talk) 02:11, 20 September 2019 (UTC)

Caribbean Hindustani scripts
It seems that I cannot edit the language data table for Caribbean Hindustani, so hopefully someone can help me add this information under "Scripts":

 * -The Latin script is used primarily as the language is in decline

 * -The Devanagari and Kaithi scripts are used by Hindus

 * -The Urdu alphabet (Perso-Arabic script) is used by Muslims

SisyphusOfTheMoors (talk) 21:29, 20 October 2020 (UTC)

Hiligaynon and other accent marks
m["hil"] = { "Hiligaynon", 35978,	"phi", {"Latn"}, entry_name = { from = {"[áàâ]", "[éèê]", "[íìî]", "[óòô]", "[úùû]", ACUTE, GRAVE, CIRC}, to  = {"a"   , "e"    , "i"    , "o"    , "u"    }}, }

Hiligaynon already strips away acutes (for stress other than the implied penultimate), but not graves and circumfixes. Please also remove macrons as there is no phonemic vowel length in Hiligaynon. TagaSanPedroAko (talk) 00:31, 5 July 2022 (UTC) TagaSanPedroAko (talk) 22:37, 9 July 2022 (UTC)

 * @Kutchkutch It's been a year. Please follow up. TagaSanPedroAko (talk) 00:28, 4 July 2023 (UTC)
 * Is the code above exactly what needs to be entered for Hiligaynon? Kutchkutch (talk) 03:05, 4 July 2023 (UTC)
 * Actually, will enter this modified code, which will add a sort key that will treat Ñ and NG as separate letters for sorting (already implemented in Tagalog, Ilocano and Cebuano) and set of standard characters (which will exclude those that only occur in proper nouns and some loanwords).

m["hil"] = { "Hiligaynon", 35978,	"phi", "Latn", entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}}, standardChars = { Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy", c.punc },	sort_key = { Latn = "tl-sortkey" }, } TagaSanPedroAko (talk) 09:06, 4 July 2023 (UTC)

 * @Kutchkutch Please add the newer code. Thanks. TagaSanPedroAko (talk) 04:45, 5 July 2023 (UTC)
 * ✅ Kutchkutch (talk) 02:23, 7 July 2023 (UTC)

title: Module talk:languages/data/3/h


text: 放话

title: 放话


text: コンニャク

title: コンニャク


text: VHSICs

title: VHSICs


text: పంచెలు

title: పంచెలు


text:
lamazal

Etymology
From, from (from , "mud") +. Compare 🇨🇬.

Noun

 * 1)  wet meadow; marsh; slough

title: lamazal


text:
মাঝে মাঝে

Etymology
. Cognate with 🇨🇬

Adverb

 * 1) sometimes, from time to time

title: মাঝে মাঝে


text:
算木

Noun

 * 1) counting rod

title: 算木


text:
internere

Etymology
From.

Verb

 * 1) to intern

Etymology
From.

Verb

 * 1) to intern

title: internere


text:
さんぎ

Noun

 * 1)  counting rod

title: さんぎ


text: interneres

title: interneres


text: internerer

title: internerer


text: internerte

title: internerte


text: internert

title: internert


text:
ᠨᡳᠣᡥᡝ

Etymology
Cognate with 🇨🇬.

Noun

 * 1) wolf

title: ᠨᡳᠣᡥᡝ


text: niohe

title: niohe


text: internerende

title: internerende


text: じせい

title: じせい


text: mbiegħda

title: mbiegħda


text: mbegħdin

title: mbegħdin


text:
tietokonesimulaatio

Noun

 * 1) computer simulation

title: tietokonesimulaatio


text:
Blechmedaille

Etymology
From 🇰🇲.

Noun

 * 1)  a nonexistent prize for finishing in fourth place (as opposed to the actual gold, silver and bronze medals for finishing first, second, and third)

title: Blechmedaille


text:
wariatka

Etymology
From.

title: wariatka


text:
жирэмсэн

Adjective

 * 1) pregnant

title: жирэмсэн


text: ទំងន់

title: ទំងន់


text:
coilocito

Noun

 * 1)  koilocyte

title: coilocito


text:
underholdningsindustri

Etymology
From.

Noun

 * 1) entertainment industry

title: underholdningsindustri


text: coilocitos

title: coilocitos


text:
ផើម

Adjective

 * 1)  to be pregnant
 * 2) to be ripe, swollen (of rice).

title: ផើម


text:
coilocitosis

Etymology
From.

Noun

 * 1)  koilocytosis

title: coilocitosis


text:
ពពោះ

Etymology
🇰🇲.

Verb

 * 1) to have big belly
 * 2) to be pregnant

title: ពពោះ


text:
មានគភ៌

Etymology
🇰🇲.

Verb

 * 1) to be pregnant

title: មានគភ៌


text:
កំផើម

Adjective

 * 1)  pregnant

title: កំផើម


text: underholdningsindustrien

title: underholdningsindustrien


text:
dejar pasar

Etymology
lit. 'to let pass'.

Verb

 * 1) to pass up, to pass on, to miss, to miss out on, to lose, to skip
 * 2) to get past, to overlook, to look past

title: dejar pasar


text:
ayahuitl

Noun

 * 1) fog.

Etymology
Cognate to quiyahui and tlapayahui.

Noun

 * 1) cloud, fog
 * 2) mist

title: ayahuitl


text:
Wohllaut

Noun

 * 1) euphony

title: Wohllaut


text:
Euphonie

Etymology
, from.

Noun

 * 1) euphony

title: Euphonie


text:
verlautbaren

Verb

 * 1) to announce

title: verlautbaren


text:
cepayahui

Verb

 * 1) To snow

Etymology
From. Cognate to ayahuitl, quiyahui, and tlapayahui.

Verb

 * 1)  To snow.

Derived terms

 * cepayahuitl

title: cepayahui


text:
tlapayahui

Etymology
From. Cognate to ayahuitl, quiyahui, and cepayahui.

Verb

 * 1)  To drizzle, rain gently for a long time.

title: tlapayahui


text:
lautbar

Etymology
From, equivalent to. Cognate with 🇨🇬.

Adjective

 * 1)  sounding aloud, resounding, echoing, reverberating
 * 2)  public, open to the public, common, general

title: lautbar


text: RROD

title: RROD


text:
ihquiti

Verb

 * 1)  to weave cloth

title: ihquiti


text:
einkühlen

Verb

 * 1)  to refrigerate

title: einkühlen


text: YLOD

title: YLOD


text: enǎ

title: enǎ


text:
nanquilia

Verb

 * 1)  to answer, to respond to someone.

title: nanquilia


text:
ihtlacoa

Verb

 * 1)  to harm, damage something
 * 2)  to be corrupt, damaged

title: ihtlacoa


text:
pitza

Verb

 * 1)  to blow on something, to play a woodwind instrument
 * 2)  to inflame, to huff and puff

title: pitza


text:
ithui

Verb

 * 1)  to be visible, to appear. Intransitive counterpart of itta.

Synonyms

 * neci

title: ithui


text:
mesèli

Etymology
Borrowed from.

Noun

 * 1) table

title: mesèli


text: Template:list:Okinawan calendar months/ryu


text:
cuamana

Verb

 * 1)  to lie to or deceive something

title: cuamana


text: Category:Romani terms derived from Hebrew


text: Category:Romani terms derived from Canaanite languages


text: Category:Romani terms derived from Northwest Semitic languages


text: shūpù

title: shūpù


text: Thesaurus:出版者

title: Thesaurus:出版者


text: Thesaurus:書店

title: Thesaurus:書店


text:
tetradǐ

Etymology
.

Noun

 * 1)  Wednesday

title: tetradǐ


text: joħloq

title: joħloq


text:
User talk:Pppery

 * ... a year and a half after my first edit. Pppery (talk) 01:03, 20 September 2019 (UTC)

title: User talk:Pppery


text: Thesaurus:樓房

title: Thesaurus:樓房


text:
Talk:Heimo

Meaning
Does anyone know what Heimo Noah means please? Norcalangela (talk) 00:46, 20 September 2019 (UTC)

title: Talk:Heimo


text: liángtái

title: liángtái


text: zūncóng

title: zūncóng


text: Thesaurus:遵從

title: Thesaurus:遵從


text: Template:R:Weblio

title: Template:R:Weblio


text: zūnróng

title: zūnróng


text: Template:R:ryu:Goo

title: Template:R:ryu:Goo


text:
ilcahua

Verb

 * 1)  to forget something

title: ilcahua


text:
ilnamiqui

Verb

 * 1) To remember.

Verb

 * 1)  to remember something

title: ilnamiqui


text:
relichión

Noun

 * 1) religion

title: relichión


text:
圓領

Noun

 * 1) crew neck

title: 圓領


text: 圆领

title: 圆领


text: V领

title: V领


text:
V領

Noun

 * 1) V-neck

title: V領


text: Category:Aragonese terms suffixed with -ción


text: Template:R:Koza

title: Template:R:Koza


text: Thesaurus:外表

title: Thesaurus:外表


text:
itqui

Verb

 * 1)  to carry something, to transport
 * 2)  to govern

title: itqui


text:
zaca

Verb

 * 1)  to transport something, to carry something

title: zaca


text:
ᡨᡳᠶᠠᠨ ᠵᡳᠨ

Etymology
Borrowed from.

title: ᡨᡳᠶᠠᠨ ᠵᡳᠨ


text: tiyan jin

title: tiyan jin


text: zuìguò

title: zuìguò


text: zuìzé

title: zuìzé


text: Category:Requests for references for etymologies in Okinawan entries


text: Category:Requests for references for Okinawan terms


text: Thesaurus:苦處

title: Thesaurus:苦處


text:
mokyrana

Noun

 * 1) body louse

title: mokyrana


text: xuncos

title: xuncos


text: zōngyǐng

title: zōngyǐng


text:
建築士

Noun

 * 1) licensed architect, a person legally qualified to design buildings and supervise construction

title: 建築士


text: zīcái

title: zīcái


text:
User:Qehath/porke so ansi

kondjugasyón de

title: User:Qehath/porke so ansi


text:
σπληνίον

Etymology
From.

Noun

 * 1) pad or compress of linen laid on a wound

title: σπληνίον