text:
Module:User:Abuccts/ru-pron

--[[ This module implements the template.

Author: Originally Wyang; rewritten by Benwing; additional contributions from Atitarev and a bit from others

FIXME:

1. (DONE) Geminated /j/ from -йя-: treat as any other gemination, meaning it  may not always be pronounced geminated. Currently we geminate it very late, after all the code that reduces geminates. Should be done earlier and places that include regexps with /j/ should be modified to also include the gemination marker ː. Words with йя: аллилу́йя, ауйяма, ва́йя, ма́йя, папа́йя, парано́йя, пира́йя, ра́йя, секво́йя, Гава́йям. 2. (DONE) Should have geminated jj in йе (occurs in e.g. фойе́). Should work with gem=y (see FIXME #1). Words with йе: фойе́, колба Эрленмейера, скала Айерс, Айерс-Рок, йети, Кайенна, конве́йер, конвейерный, сайентология, фейерверк, Гава́йев. Note also Гава́йи with йи. 3. (DONE, CINEMANTIQUE OK WITH FIXES) In Асунсьо́н and Вьентья́н, put a syllable break after the н and before consonant + /j/. Use the perm_syl_onset mechanism or at least the code that accesses that mechanism. Should possibly do this also in VCʲj and V‿Cʲj and VCj and V‿Cj sequences; ask Cinemantique if this makes sense. 4. (DONE, CINEMANTIQUE OK WITH FIXES) Fix non-palatal е in льстец. Other words that will be affected (and probably wrong): льви́ца, львя́тник, льняно́й, льстить, льди́на, львиный, manual pronunciation given as lʲvʲit͡sə and lʲvʲɵnək. Ask Cinemantique. 5. (DONE, CINEMANTIQUE SAYS NO IT DOESN'T) In львёнок, rendered as ˈlʲvɵnək instead of ˈlʲvʲɵnək. Apparently same issue as льстец, having to do with ь in beginning. This apparently has to do with the "assimilative  palatalization of consonants when followed by front vowels" code, which blocks palatalization when the syllable begins with a cluster with a hard sign, or a soft sign followed by a consonant. Then "retraction of front  vowels in syllables blocking assimilative palatalization" converts e to ɛ and i to y in such cases of blocked palatalization (not needed for žcš,  which are handled by phon_respellings). Ask Cinemantique if this whole business makes any sense. 6. (DONE) In prefixes/suffixes like -ин, treat single syllable word as  unstressed. Also support tilde to force unstressed syllable. 7. (DONE) In ни́ндзя, дз becomes palatal and н should palatal-assimilate to it. 8. (DONE) In под сту́лом, should render as pɐt͡s‿ˈstuləm when actually renders as  pɐˈt͡s‿stuləm. Also occurs in без ша́пки (bʲɪˈʂ‿ʂapkʲɪ instead of  bʲɪʂ‿ˈʂapkʲɪ); has something to do with ‿. Similarly occurs in  не к ме́сту, which should render as nʲɪ‿k‿ˈmʲestʊ, and от я́блони, which should render as ɐt‿ˈjæblənʲɪ. 9. (STILL UNCLEAR) In собра́ние, Anatoli renders it as sɐˈbranʲɪ(j)ə with optional (j). Ask him when this exactly applies. Does it apply in all ɪjə sequences? Only word-finally? Also ijə? 10. (DONE) убе́жищa renders as ʊˈbʲeʐɨɕːʲə instead of ʊˈbʲeʐɨɕːə; уда́ча similarly becomes ʊˈdat͡ɕʲə instead of ʊˈdat͡ɕə. 10a. (DONE) Remove the "offending clause" just mentioned, labeled FIXME (10a), and fix it as the comment above it describes. 10b. (DONE) Remove the clause labeled "FIXME (10b)". 10c. (DONE) Investigate the clause labeled "FIXME (10c)". This relates to  FIXME #9 above concerning собра́ние. 10d. (DONE, NEEDS TESTING) Investigate the clause labeled "FIXME (10d)" and apply the instructions there about removing a line and seeing whether anything changes. 11. (DONE) тро́лль renders with geminated final l, and with ʲ on wrong side of  gemination (ːʲ instead of ʲː); note how this also occurs above in -ɕːʲə from убе́жищa. (This issue with тро́лль will be masked by the change to  generally degeminate l; use фуррь; note also галльский.) 12. (DONE, NEEDS TESTING) May be additional errors with gemination in   combination with explicit / syllable boundary, because of the code expecting that syllable breaks occur in certain places; should probably rewrite the whole gemination code to be less fragile and not depend on	exactly where syllable breaks occur in consonant clusters, which it does now (might want to rewrite to avoid the whole business of breaking by	syllable and processing syllable-by-syllable). 13. Many assimilations won't work properly with an explicit / syllable boundary. 14. (DONE, ASK WYANG FOR ITS PURPOSE) Eliminate pal=y. Consider first asking Wyang why this was put in originally. 15. (DONE) Add test cases: Цю́рих, от а́ба, others. 15a. (DONE) Add test cases: фуррь, по абази́ну (for assimilation of schwas   across ‿) 15b. (DONE) Add test case англо-норма́ннский (to make sure degemination of нн   occurs when not between vowels), multi-syllable word ending in a geminate: ато́лл (not so good because лл always degeminated), коло́сс, Иоа́нн (good	because of нн), ха́ос, эвфеми́зм, хору́гвь (NOTE: ruwikt claims гв is voiced,	I doubt it, ask Cinemantique), наря́д на ку́хню (non-devoicing of д before	н in next word, ask Cinemantique about this, does it also apply to мрл?), ко̀е-кто́ 16. (DONE, ADDED SPECIAL HACK; REMOVED WITH NEW FINAL-Е CODE, SHOULD HANDLE   THROUGH pos=pro; DOESN'T HAVE ANYTHING TO DO WITH SECONDARY STRESS ON О) Caused a change in ко̀е-кто́, perhaps because I rewrote code that accepted an acute or circumflex accent to also take a grave accent. See how кое is actually pronounced here and take action if needed. (ruwiki claims кое is	indeed pronounced like кои, ask Cinemantique what the rule for final -е	is and why different in кое vs. мороженое, anything to do with secondary	stress on о?) 17. (DONE) Rewrote voicing/devoicing assimilation; should make assimilation of   эвфеми́зм automatic and not require phon=. 18. (DONE) Removed redundant fronting-of-a code near end; make sure this doesn't change anything. 19. (DONE, ANSWER IS YES) do сь and зь assimilate before шж, and if so do they become ɕʑ? Ask Cinemantique. 20. (DONE) Add pos= to handle final -е. Possibilities appear to be neut (neuter noun), adj (adjective, autodetected whether singular or plural), comp (comparative), pre (prepositional case), adv (adverb), verb or v (2nd	plural verb forms). 21. (DONE, DEVOICE UNLESS NEXT WORD BEGINS WITH VOICED OBSTRUENT OR V+VOICED   OBSTRUENT) Figure out what to do with devoicing or non-devoicing before mnrlv vowel. Apparently non-devoicing before vowel is only in fast speech with a close juncture and Anatoli doesn't want that; but what about before the consonants? 22. (DONE) Figure out what to do with fronting of a and u after or between soft consonants, esp. when triggered by a following soft consonant with optional or compulsory assimilation. Probably the correct thing to do	in the case of optional assimilation is to give two pronunciations separated by commas, one with non-front vowel + hard consonant, the other with front vowel + soft consonant. 23. (DONE, OK) Implement compulsory assimilation of xkʲ; ask Cinemantique to   make sure this is correct. 24. (DONE, BUT ANATOLI THINKS CONJUNCTION A MIGHT NOT BE REDUCED) Add а to   list of unstressed particles, but only recognize it and о (and perhaps all	the others) when not followed by a hyphen; then fix unnecessary cases with о̂ (look at tracking cflex category) and the various hacks used in а ведь, а сейчас, а то, а не то, а также, а как же; will need to add а̂ to а капелла and possibly elsewhere; use different-pron tracking to catch this. 25. (DONE) Add / before цз, чж in Chinese words to ensure syllable boundary in   right place; ensure that this doesn't mess things up when occurring at beginning of word or whatever. 26. (DONE) Rule on voicing assimilation before v: It says in Chew "A   Computational Phonology of Russian" that v is an obstruent before obstruents and a sonorant before sonorants, i.e. v triggers voicing assimilation if followed by an obstruent; verify that our code works this way. 27. (DONE, NEEDS TESTING) Implement _ to block all assimilation; probably this will happen automatically and we just need to remove the _ at the end. 28. (NOT DONE, NOT CORRECT) Change unstressed palatal o to have values like regular o, for words like майора́т, Ога́йо, Йоха́ннесбург 29. (DONE) If we need partial reduction of non-final е/я to [ə] instead of [ɪ], one way is to use another diacritic, e.g. dot-under; or use a spelling like ьа. 30. (DONE) BUG: воѐнно-морско́й becomes [vɐˌenːə mɐrˈskoj] without [je], must be   due to ѐ being a composed character (may be a bug in the translit module;	add a test case). 31. In в Япо́нии, в Евро́пе, the initial [j] should be required not optional. 32. (DONE) Should be possible to write п(ь)я́нка, скам(ь)я́ and get optional palatalization. 33. (CODE PRESENT BUT NOT COMPLETED) Final unstressed -е that becomes [e] should become [ɪ] when not followed by end of utterance or pause. 34. In То́гане (phon=То́ганэ), final -э should be pronounced [e]. Should apply in general to -э after paired consonants, but not to e.g. се́рдце. 35. (DONE) тц,дц,тч,дч shoud be always-geminated by default. 36. (DONE) treat ! and ? as separate words so we don't have issues with word-final -е before them. 37. (DONE) Distinguish stress accents from other accents. 38. т(ь)ся not directly after the stress should be optionally geminated. 39. (DONE) нра̀вственно-эти́ческий should have optional not mandatory gemination of нн. 40. (DONE) Make дц in -дцат- be optionally-geminated, for words like одиннадцать, двадцать, тридцатый, etc. 41. (DONE) Don't show grave accents in annotations (but do in phon=). 42. (DONE) -чш- (as in лучший) should be pronounced as -тш-. 43. (DONE) Fix fronting of [au] in two syllables in a row. 44. (DONE) Add pos=imp for imperatives, use it to treat -ться differently from infinitives. 45. (DONE) CFLEX should not be treated as stress for the purpose of determining whether written а reduces to [ɐ] or [ə]. 46. (DONE) Fix [дт]ьт, [сз]ьс sequences (esp. in imperatives) and make palatalization of labials optional in [мбпфв]ь[ст][еияёю] (again esp. in   imperatives). 47. (DONE) Optional palatalization of -ся should apply only to -лся, not always. 48. (DONE) Reduction of стл -> сл should apply only in стлив, not always. 49. (DONE) Convert счит -> щит by default, as with счёт. 50. (DONE) Don't require that m_ru_translit.apply_tr_fixes be called prior to ipa, but include an argument so that text transformed this way can be passed in. 51. (DONE) pos=X/Y and gem=X/Y should require same number of elements as actual words rather than counting phonetically-joined words. ]]

local ut = require("Module:utils") local com = require("Module:ru-common") local m_ru_translit = require("Module:ru-translit") local strutils = require("Module:string utilities")

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 ulower = mw.ustring.lower local uupper = mw.ustring.upper local usub = mw.ustring.sub local ulen = mw.ustring.len

local remove_grave_accents_from_phonetic_respelling = true -- Anatoli's desired value

-- 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

-- apply rsub repeatedly until no change local function rsub_repeatedly(term, foo, bar) while true do		local new_term = rsub(term, foo, bar) if new_term == term then return term end term = new_term end end

-- Clone parent's args while also assigning nil to empty strings. local function clone_args(frame) local args = {} for pname, param in pairs(frame:getParent.args) do		if param == "" then args[pname] = nil else args[pname] = param end end return args end

-- If enabled, compare this module with new version of module in -- Module:User:Benwing2/ru-pron to make sure all pronunciations are the same. -- To check for differences, go to Wiktionary:Tracking/ru-pron/different-pron -- and look at what links to the page. local test_new_ru_pron_module = false -- If enabled, do new code for final -е; else, the old way local new_final_e_code = true -- If enabled, do special case for final -е not before a pause local final_e_non_pausal = false

local AC = u(0x0301) -- acute = ́ local GR = u(0x0300) -- grave = ̀ local CFLEX = u(0x0302) -- circumflex = ̂ local DUBGR = u(0x030F) -- double grave = ̏ local DOTABOVE = u(0x0307) -- dot above = ̇ local DOTBELOW = u(0x0323) -- dot below = ̣ local TEMPCFLEX = u(0xFFF1) -- placeholder to be converted to a circumflex

local vow = 'aeiouyɛəäạëöü' local ipa_vow = vow .. 'ɐɪʊɨæɵʉ' local vowels, vowels_c = '[' .. vow .. ']', '([' .. vow .. '])' -- No need to include DUBGR here because we rewrite it to CFLEX very early local acc = AC .. GR .. CFLEX .. DOTABOVE .. DOTBELOW local accents = '[' .. acc .. ']' local stress_accents = '[' .. AC .. GR .. ']'

local perm_syl_onset = ut.list_to_set({	'spr', 'str', 'skr', 'spl', 'skl',	-- FIXME, do we want sc?	'sp', 'st', 'sk', 'sf', 'sx', 'sc',	'pr', 'br', 'tr', 'dr', 'kr', 'gr', 'fr', 'vr', 'xr',	'pl', 'bl', 'kl', 'gl', 'fl', 'vl', 'xl',	-- FIXME, do we want the following? If so, do we want vn?	'ml', 'mn',	-- FIXME, dž is now converted to ĝž, which will have a syllable	-- boundary in between	'šč', 'dž', })

-- FIXME: Consider changing ӂ internally to ʑ to match ɕ (it is used externally -- in e.g. дроӂӂи (pronunciation spelling of дрожжи) local translit_conv = {	['c'] = 't͡s', ['č'] = 't͡ɕ', ['ĉ'] = 't͡ʂ',	['g'] = 'ɡ', ['ĝ'] = 'd͡ʐ',	['ĵ'] = 'd͡z', ['ǰ'] = 'd͡ʑ', ['ӂ'] = 'ʑ',	['š'] = 'ʂ', ['ž'] = 'ʐ' }

local translit_conv_j = { ['cʲ'] = 't͡sʲ', ['ĵʲ'] = 'd͡zʲ' }

local allophones = { ['a'] = { 'a', 'ɐ', 'ə' }, ['e'] = { 'e', 'ɪ', 'ɪ' }, ['i'] = { 'i', 'ɪ', 'ɪ' }, ['o'] = { 'o', 'ɐ', 'ə' }, ['u'] = { 'u', 'ʊ', 'ʊ' }, ['y'] = { 'ɨ', 'ɨ', 'ɨ' }, ['ɛ'] = { 'ɛ', 'ɨ', 'ɨ' }, ['ä'] = { 'a', 'ɪ', 'ɪ' }, ['ạ'] = { 'a', 'ɐ', 'ə' }, ['ë'] = { 'e', 'ɪ', 'ɪ' }, ['ö'] = { 'ɵ', 'ɪ', 'ɪ' }, ['ü'] = { 'u', 'ʊ', 'ʊ' }, ['ə'] = { 'ə', 'ə', 'ə' }, }

local devoicing = { ['b'] = 'p', ['d'] = 't', ['g'] = 'k', ['z'] = 's', ['v'] = 'f', ['ž'] = 'š', ['ɣ'] = 'x', ['ĵ'] = 'c', ['ǰ'] = 'č', ['ĝ'] = 'ĉ', ['ӂ'] = 'ɕ', }

local voicing = { ['p'] = 'b', ['t'] = 'd', ['k'] = 'g', ['s'] = 'z', ['f'] = 'v', ['š'] = 'ž', ['c'] = 'ĵ', ['č'] = 'ǰ', ['ĉ'] = 'ĝ', ['x'] = 'ɣ', ['ɕ'] = 'ӂ' }

local iotating = { ['a'] = 'ä', ['e'] = 'ë', ['o'] = 'ö', ['u'] = 'ü' }

local retracting = { ['e'] = 'ɛ', ['i'] = 'y', }

local fronting = { ['a'] = 'æ', ['u'] = 'ʉ', ['ʊ'] = 'ʉ', }

-- Prefixes that we recognize specially when they end in a geminated -- consonant. The first element is the result after applying voicing/devoicing, -- gemination and other changes. The second element is the original spelling, -- so that we don't overmatch and get cases like Поттер. We check for these -- prefixes at the beginning of words and also preceded by ne-, po- and nepo-. local geminate_pref = { --'abː', --'adː', {'be[szšž]ː', 'be[sz]'}, --'braomː', {'[vf]ː', 'v'}, {'vo[szšž]ː', 'vo[sz]'}, {'i[szšž]ː', 'i[sz]'}, --'^inː', {'kontrː', 'kontr'}, {'superː', 'super'}, {'tran[szšž]ː', 'trans'}, {'na[tdcč]ː', 'nad'}, {'ni[szšž]ː', 'ni[sz]'}, {'o[tdcč]ː', 'ot'}, --'^omː', {'o[bp]ː', 'ob'}, {'obe[szšž]ː', 'obe[sz]'}, {'po[tdcč]ː', 'pod'}, {'pre[tdcč]ː', 'pred'}, --'^paszː', '^pozː', {'ra[szšž]ː', 'ra[sz]'}, {'[szšž]ː', '[szšž]'}, -- ž on right for жжёт etc., ш on left for США {'me[žš]ː', 'mež'}, {'če?re[szšž]ː', 'če?re[sz]'}, -- certain double prefixes involving ra[zs]- {'predra[szšž]ː', 'predra[sz]'}, {'bezra[szšž]ː', 'bezra[sz]'}, {'nara[szšž]ː', 'nara[sz]'}, {'vra[szšž]ː', 'vra[sz]'}, {'dora[szšž]ː', 'dora[sz]'}, -- '^sverxː', '^subː', '^tröxː', '^četyröxː', }

local sztab = { s='cs', z='ĵz' } local function ot_pod_sz(pre, sz) return pre .. sztab[sz] end

local phonetic_subs = { {'h', 'ɣ'},

{'šč', 'ɕː'}, -- conversion of šč to geminate

-- the following group is ordered before changes that affect ts	{'n[dt]sk', 'n(t)sk'}, {'s[dt]sk', 'sck'},

-- Add / before цз, чж sequences (Chinese words) and assimilate чж {'cz', '/cz'}, {'čž', '/ĝž'},

-- main changes for affricate assimilation of [dt] + sibilant, including ts; -- we either convert to "short" variants t͡s, d͡z, etc. or to "long" variants -- t͡ss, d͡zz, etc. -- 1. т с, д з across word boundary, also т/с, д/з with explicitly written --   slash, use long variants. {'[dt](ʹ?[ ‿⁀/]+)s', 'c%1s'}, {'[dt](ʹ?[ ‿⁀/]+)z', 'ĵ%1z'}, -- 2. тс, дз + vowel use long variants. {'[dt](ʹ?)s(j?' .. vowels .. ')', 'c%1s%2'}, {'[dt](ʹ?)z(j?' .. vowels .. ')', 'ĵ%1z%2'}, -- 3. тьс, дьз use long variants. {'[dt]ʹs', 'cʹs'}, {'[dt]ʹz', 'ĵʹz'}, -- 4. word-initial от[сз]-, под[сз]- use long variants because there is --   a morpheme boundary. {'(⁀o' .. accents .. '?)t([sz])', ot_pod_sz}, {'(⁀po' .. accents .. '?)d([sz])', ot_pod_sz}, -- 5. other тс, дз use short variants. {'[dt]s', 'c'}, {'[dt]z', 'ĵ'}, -- 6. тш, дж always use long variants (FIXME, may change) {'[dtč](ʹ?[ %-‿⁀/]*)š', 'ĉ%1š'}, {'[dtč](ʹ?[ %-‿⁀/]*)ž', 'ĝ%1ž'}, -- 7. soften palatalized hard hushing affricates resulting from the previous {'ĉʹ', 'č'}, {'ĝʹ', 'ǰ'},

-- changes that generate ɕː and ɕč through assimilation: -- зч and жч become ɕː, as does сч at the beginning of a word and in the -- sequence счёт when not following [цдт] (подсчёт); else сч becomes ɕč -- (отсчи́тываться), as щч always does (рассчитáть written ращчита́ть) {'[cdt]sč', 'čɕː'}, {'ɕːč', 'ɕč'}, {'[zž]č', 'ɕː'}, {'[szšž]ɕː?', 'ɕː'}, {'⁀sč', '⁀ɕː'}, {'sč(j?[oi]' .. accents .. '?)t', 'ɕː%1t'}, {'sč', 'ɕč'},

-- misc. changes for assimilation of [dtsz] + sibilants and affricates {'[sz][dt]c', 'sc'}, {'([rn])[dt]([cč])', '%1%2'}, -- -дцат- (in numerals) has optionally-geminated дц {'dca(' .. accents .. '?)t', 'c(c)a%1t'}, -- дц, тц, дч, тч + vowel always remain geminated, so mark this with ˑ; -- if not followed by a vowel, as in e.g. путч, use normal gemination -- (it will normally be degeminated) {'[dt]([cč])(' .. vowels .. ')', '%1ˑ%2'}, {'[dt]([cč])', '%1%1'}, -- the following is ordered before the next one, which applies assimilation -- of [тд] to щ (including across word boundaries) {'n[dt]ɕ', 'nɕ'}, -- [сз] and [сз]ь before soft affricates [щч], including across word -- boundaries; note that the common sequence сч has already been handled {'[zs]ʹ?([ ‿⁀/]*[ɕč])', 'ɕ%1'}, -- reduction of too many ɕ's, which can happen from the previous {'ɕɕː', 'ɕː'}, -- assimilation before [тдц] and [тдц]ь before щ {'[cdt]ʹ?([ ‿⁀/]*)ɕ', 'č%1ɕ'}, -- assimilation of [сз] and [сз]ь before [шж] {'[zs]([ ‿⁀/]*)š', 'š%1š'}, {'[zs]([ ‿⁀/]*)ž', 'ž%1ž'}, {'[zs]ʹ([ ‿⁀/]*)š', 'ɕ%1š'}, {'[zs]ʹ([ ‿⁀/]*)ž', 'ӂ%1ž'}, -- assimilation of [сз]ь before с[еияёю] (in imperatives esp. before ся) {'[zs]ʹs([eij])', 'sˑ%1'}, -- assimilation of [тд]ь before т[еияёю] (e.g. in imperatives esp. before те) {'[td]ʹt([eij])', 'tˑ%1'},

-- optional palatalization of palatalized labials before another consonant -- in [ст][еияёю] (esp. in imperatives before -те, -ся) -- FIXME, perhaps we should either generalize this or restrict it only -- to imperatives {'([mpbfv])ʹ([st][eij])', '%1(ʹ)%2'}, {'sverxi', 'sverxy'}, {'stʹd', 'zd'}, -- this will often become degeminated {'tʹd', 'dd'},

-- loss of consonants in certain clusters {'([ns])[dt]g', '%1g'}, {'zdn', 'zn'}, {'lnc', 'nc'}, {'[sz]t(li' .. accents .. '?v)', 's%1'}, {'[sz]tn', 'sn'}, -- backing of /i/ after hard consonants in close juncture {'([mnpbtdkgfvszxɣrlšžcĵĉĝ])⁀‿⁀i', '%1⁀‿⁀y'}, }

local cons_assim_palatal = { -- assimilation of tn, dn, sn, zn, st, zd, nč, nɕ is handled specially compulsory = ut.list_to_set({'ntʲ', 'ndʲ', 'xkʲ',	   'csʲ', 'ĵzʲ', 'ncʲ', 'nĵʲ'}), optional = ut.list_to_set({'slʲ', 'zlʲ', 'nsʲ', 'nzʲ',		'mpʲ', 'mbʲ', 'mfʲ', 'fmʲ'}) }

-- words which will be treated as accentless (i.e. their vowels will be -- reduced), and which will liaise with a preceding or following word; -- this will not happen if the words have an accent mark, cf. -- по́ небу vs. по не́бу, etc. local accentless = { -- class 'pre': particles that join with a following word pre = ut.list_to_set({'bez', 'bliz', 'v', 'vo', 'da', 'do',      'za', 'iz', 'iz-pod', 'iz-za', 'izo', 'k', 'ko', 'mež',       'na', 'nad', 'nado', 'ne', 'ni', 'ob', 'obo', 'ot', 'oto',       'pered', 'peredo', 'po', 'pod', 'podo', 'pred', 'predo', 'pri', 'pro',       's', 'so', 'u', 'čerez'}), -- class 'prespace': particles that join with a following word, but only --  if a space (not a hyphen) separates them; hyphens are used here --  to spell out letters, e.g. а-эн-бэ́ for АНБ (NSA = National Security	--   Agency) or о-а-э́ for ОАЭ (UAE = United Arab Emirates) prespace = ut.list_to_set({'a', 'o'}), -- class 'post': particles that join with a preceding word post = ut.list_to_set({'by', 'b', 'ž', 'že', 'li', 'libo', 'lʹ', 'ka',	  'nibudʹ', 'tka'}), -- class 'posthyphen': particles that join with a preceding word, but only --  if a hyphen (not a space) separates them posthyphen = ut.list_to_set({'to'}), }

-- Pronunciation of final unstressed -е, depending on the part of speech and --  exact ending. Also used for pronunciation of -ться in imperatives vs. --  infinitives. -- -- Endings: --  oe = -ое --  ve = any other vowel plus -е (FIXME, may have to split out -ее) --  je = -ье --  softpaired = soft paired consonant + -е --  hardsib = hard sibilant (ц, ш, ж) + -е --  softsib = soft sibilant (ч, щ) + -е -- -- Parts of speech: --  def = default used in absence of pos --  n/noun = neuter noun in the nominative/accusative singular (but not ending --     in adjectival -ое or -ее; those should be considered as adjectives) --  pre = prepositional case singular --  dat = dative case singular (treated same as prepositional case singular) --  voc = vocative case (currently treated as 'mid') --  nnp = noun nominative plural in -е (гра́ждане, боя́ре, армя́не); not --    adjectival plurals in -ие or -ые, including adjectival nouns --    (да́нные, а́вторские) --  inv = invariable noun or other word (currently treated as 'mid') --  a/adj = adjective or adjectival noun (typically either neuter in -ое or --     -ее, or plural in -ие, -ые, or -ье, or short neuter in unpaired --     sibilant + -е) --  c/com = comparative (typically either in -ее or sibilant + -е) --  adv = adverb --  p = preposition (treated same as adverb) --  v/vb/verb = finite verbal form (usually 2nd-plural in -те), but not --    imperatives (use pos=imp) and not participle forms, which should be --     treated as adjectives --  pro = pronoun (кое-, какие-, ваше, сколькие) --  num = number (двое, трое, обе, четыре; currently treated as 'mid') --  pref = prefix (treated as 'high' because integral part of word) --  hi/high = force high values ([ɪ] or [ɨ]) --  mid = force mid values ([e] or [ɨ]) --  lo/low/schwa = force low, really schwa, values ([ə]) -- -- Possible values: --  1. ə [ə], e [e], i [ɪ] after a vowel or soft consonant --  2. ə [ə] or y [ɨ] after a hard sibilant -- -- If a part of speech doesn't have an entry for a given type of ending, --  it receives the default value. If a part of speech's entry is a string, --  it's an alias for another way of specifying the same part of speech --  (e.g. n=noun). local pos_properties = { def={oe='ə', ve='e', je='e', softpaired='e', hardsib='y', softsib='e', tsjapal='n'}, noun={oe='ə', ve='e', je='e', softpaired='e', hardsib='ə', softsib='e'}, n='noun', pre={oe='e', ve='e', softpaired='e', hardsib='y', softsib='e'}, dat='pre', voc='mid', nnp={softpaired='e'}, -- FIXME, not sure about this inv='mid', --FIXME, not sure about this (e.g. вице-, кофе) adj={oe='ə', ve='e', je='ə'}, -- FIXME: Not sure about -ее, e.g. neut adj си́нее; FIXME, not sure about short neuter adj, e.g. похо́же from похо́жий, дорогосто́яще from дорогосто́ящий, should this be treated as neuter noun? a='adj', com={ve='e', hardsib='y', softsib='e'}, c='com', adv={softpaired='e', hardsib='y', softsib='e'}, p='adv', --FIXME, not sure about prepositions verb={softpaired='e'}, v='verb', vb='verb', -- Imperatives like other verbs except that final -ться is palatalized imp={softpaired='e', tsjapal='y'}, impv='imp', pro={oe='i', ve='i'}, --FIXME, not sure about ваше, сколькие, какие-, кое- num='mid', --FIXME, not sure about обе pref='high', -- forced values high={oe='i', ve='i', je='i', softpaired='i', hardsib='y', softsib='i'}, hi='high', mid={oe='e', ve='e', je='e', softpaired='e', hardsib='y', softsib='e'}, low={oe='ə', ve='ə', je='ə', softpaired='ə', hardsib='ə', softsib='ə'}, lo='low', schwa='low' }

local function ine(x) return x ~= "" and x or nil end

local function track(page) local m_debug = require("Module:debug") m_debug.track("ru-pron/" .. page) return true end

-- remove accents that we don't want to appear in the phonetic respelling function phon_respelling(text, remove_grave) text = rsub(text, '[' .. CFLEX .. DUBGR .. DOTABOVE .. DOTBELOW .. '‿]', '') -- Remove grave accents from annotations but maybe not from phonetic respelling if remove_grave then text = com.remove_grave_accents(text) end return text end

function export.ru_IPA(frame) local args = clone_args(frame) local text = args[1] or args.phon or mw.title.getCurrentTitle.text local origtext, transformed_text = m_ru_translit.apply_tr_fixes(text,		args.noadj, args.noshto) local maintext = export.ipa(transformed_text, args.adj, args.gem, args.bracket or "y", args.pos, "transformed") if args.raw then return maintext else local anntext = (args.ann == "y" and "" .. phon_respelling(text, "remove grave") .. ": " or			args.ann and "" .. args.ann .. ": " or			"") local lang = require("Module:languages").getByCode("ru") maintext = require("Module:IPA").format_IPA_full { lang = lang, items = } local respelling if args.phon then respelling = args.phon elseif origtext ~= transformed_text then respelling = transformed_text end local respelling_text = "" if respelling then respelling = phon_respelling(respelling, remove_grave_accents_from_phonetic_respelling) respelling_text = respelling and " (phonetic respelling: " .. require("Module:script utilities").tag_text(respelling, lang) .. ")" end return anntext .. maintext .. respelling_text end end

-- Return the actual IPA corresponding to Cyrillic text. ADJ, GEN, BRACKET -- and POS are as in Template:ru-IPA. If IS_TRANFORMED is true, the text -- has already been passed through m_ru_translit.apply_tr_fixes; otherwise, -- this will be done. function export.ipa(text, adj, gem, bracket, pos, is_transformed) local new_module_result local debug = {} if type(text) == 'table' then text, adj, gem, bracket, pos = (ine(text.args.phon) or ine(text.args[1])), ine(text.args.adj), ine(text.args.gem), ine(text.args.bracket), ine(text.args.pos) if not text then text = mw.title.getCurrentTitle.text end end table.insert(debug, text)

local origtext, transformed_text = m_ru_translit.apply_tr_fixes(text) text = transformed_text table.insert(debug, text) gem = gem or "" -- If a multipart gemination spec, split into components. if rfind(gem, "/") then gem = rsplit(gem, "/") for i=1,#gem do			gem[i] = usub(gem[i], 1, 1) end else gem = usub(gem, 1, 1) end -- Verify that gem (or each part of multipart gem) is recognized for _, g in ipairs(type(gem) == "table" and gem or {gem}) do		if g ~= "" and g ~= "y" and g ~= "o" and g ~= "n" then error("Unrecognized gemination spec '" .. g .. ": Should be y, yes, o, opt, n, no, or empty") end end

bracket = ine(usub(bracket or '', 1, 1)) if bracket == 'n' then bracket = nil end

pos = pos or "def" -- If a multipart part of speech, split into components, and convert -- each blank component to the default. if rfind(pos, "/") then pos = rsplit(pos, "/") for i=1,#pos do			if pos[i] == "" then pos[i] = "def" end end end -- Verify that pos (or each part of multipart pos) is recognized for _, p in ipairs(type(pos) == "table" and pos or {pos}) do		if not pos_properties[p] then error("Unrecognized part of speech '" .. p .. "': Should be n/noun/neut, a/adj, c/com, pre, dat, adv, inv, voc, v/verb, pro, hi/high, mid, lo/low/schwa or omitted") end end

text = ulower(text)

local combined_gem = type(gem) == "table" and table.concat(gem, "/") or gem if combined_gem ~= "" then track("gem") track("gem/" .. combined_gem) end if adj then track("adj") end -- don't include h here because we allow it as a legitimate alternative -- for ɣ. Include vowels with all of the accents that have special meaning -- for this module. (FIXME, maybe should also include double-grave accents,	-- although probably not used anywhere.) if rfind(text, "[a-gi-zščžáéíóúýàèìòùỳâêîôûŷạẹịọụỵȧėȯẏ]") then track("latin-text") end if rfind(text, "[сз]ч") then track("sch") end if rfind(text, "[шж]ч") then track("shch") end if rfind(text, CFLEX) then track("cflex") end if rfind(text, DUBGR) then track("dubgr") end

text = rsub(text, "``", DUBGR) text = rsub(text, "`", GR) text = rsub(text, "@", DOTABOVE) text = rsub(text, "%^", CFLEX) text = rsub(text, DUBGR, CFLEX)

-- translit doesn't always convert э to ɛ (depends on whether a consonant	-- precedes), so do it ourselves before translit text = rsub(text, 'э', 'ɛ') -- vowel + йе should have double jj, but the translit module will translit -- it the same as vowel + е, so do it ourselves before translit text = rsub(text, '([' .. com.vowel .. ']' .. com.opt_accent .. ')й([еѐ])',		'%1йй%2') -- transliterate and decompose Latin vowels with accents, recomposing -- certain key combinations; don't include accent on monosyllabic ё, so -- that we end up without an accent on such words. NOTE: Not clear we	-- need to be decomposing like this any more, although it is still -- useful if the user supplies Latin text, which we allow (although	-- undocumented).

text = com.decompose(m_ru_translit.tr_after_fixes(text))

-- handle old ě (e.g. сѣдло́), and ě̈ from сѣ̈дла text = rsub(text, 'ě̈', 'jo' .. AC) text = rsub(text, 'ě', 'e') -- handle sequences of accents (esp from ё with secondary/tertiary stress) text = rsub(text, accents .. '+(' .. accents .. ')', '%1')

-- convert commas and en/en dashes to IPA foot boundaries text = rsub(text, '%s*[,–—]%s*', ' | ')

-- canonicalize multiple spaces text = rsub(text, '%s+', ' ') table.insert(debug, text)

-- Add primary stress to single-syllable words preceded or followed by -- unstressed particle or preposition. Add "tertiary" stress to remaining -- single-syllable words that aren't a particle, preposition, prefix or	-- suffix and don't already bear an accent (including force-reduction	-- accents, i.e. dot-above/dot-below); "tertiary stress" means a vowel is	-- treated as stressed for the purposes of vowel reduction but isn't	-- marked with a primary or secondary stress marker; we repurpose a	-- circumflex for this purpose. We need to preserve the distinction -- between spaces and hyphens because (1) we only recognize certain -- post-accentless particles following a hyphen (to distinguish e.g.	-- 'то' from '-то'); (2) we only recognize certain pre-accentless -- particles preceding a space (to distinguish particles 'о' and 'а' from	-- spelled letters о and а, which should not be reduced); and (3) we	-- recognize hyphens for the purpose of marking unstressed prefixes and -- suffixes. local word = strutils.capturing_split(text, "([ %-]+)") table.insert(debug, table.concat(word, "@")) for i = 1, #word do		-- check for single-syllable words that need a stress; they must meet -- the following conditions: -- 1. must not be an accentless word, which is any of the following: --        1a. in the "pre" class, or		if not (accentless['pre'][word[i]] or				-- 1b. in the "prespace" class if followed by space and another word, or				i < #word - 1 and accentless['prespace'][word[i]] and word[i+1] == " " or				-- 1c. in the "post" class if preceded by another word and				--    not followed by a hyphen (this is because words like --    ка and же are also used for spelling initialisms), or				i > 2 and accentless['post'][word[i]] and word[i+1] ~= "-" or				-- 1d. in the "posthyphen" class preceded by a hyphen and another word				--     (and not followed by a hyphen, see 1c);				i > 2 and accentless['posthyphen'][word[i]] and word[i-1] == "-" and word[i+1] ~= "-") and -- 2. must be one syllable; ulen(rsub(word[i], '[^' .. vow .. ']', '')) == 1 and -- 3. must not have any accents (including dot-above, forcing reduction); not rfind(word[i], accents) and -- 4. must not be a prefix or suffix, identified by a preceding or trailing hyphen, i.e. one of the following: --        4a. utterance-initial preceded by a hyphen, or			not (i == 3 and word[2] == "-" and word[1] == "" or			   -- 4b. non-utterance-initial preceded by a hyphen, or				i >= 3 and word[i-1] == " -" or			    -- 4c. utterance-final followed by a hyphen, or				i == #word - 2 and word[i+1] == "-" and word[i+2] == "" or			    -- 4d. non-utterance-final followed by a hyphen;				i <= #word - 2 and word[i+1] == "- ") then

-- OK, we have a stressable single-syllable word; either add primary -- or tertiary stress: -- 1. add primary stress if preceded or followed by an accentless word, if (i > 2 and accentless['pre'][word[i-2]] or				i > 2 and word[i-1] == " " and accentless['prespace'][word[i-2]] or				i < #word - 1 and accentless['post'][word[i+2]] and word[i+3] ~= "-" or				i < #word - 1 and word[i+1] == "-" and accentless['posthyphen'][word[i+2]] and word[i+3] ~= "-") then word[i] = rsub(word[i], vowels_c, '%1' .. AC) -- 2. else add tertiary stress else word[i] = rsub(word[i], vowels_c, '%1' .. CFLEX) end end end

table.insert(debug, table.concat(word, "@")) -- count number of words and make sure we have correct number of	-- gemination and part-of-speech specs if a multipart spec is given local num_real_words = 0 for i = 1, #word do		if (i % 2) == 1 and word[i] ~= "" then num_real_words = num_real_words + 1 end end if type(gem) == "table" and #gem ~= num_real_words then error("Number of gemination specs (" .. #gem .. ") should match number of words (" .. num_real_words .. ")")	end if type(pos) == "table" and #pos ~= num_real_words then error("Number of parts of speech (" .. #pos .. ") should match number of words (" .. num_real_words .. ")")	end

table.insert(debug, table.concat(word, "@")) -- make unaccented prepositions and particles liaise with the following or	-- preceding word; in the process, fix up number of elements in gem/pos -- tables so there's a single element for the combined word local real_word_index = 0 for i = 1, #word do		if (i % 2) == 1 and word[i] ~= "" then real_word_index = real_word_index + 1 end if i < #word - 1 and (accentless['pre'][word[i]] or accentless['prespace'][word[i]] and word[i+1] == " ") then word[i+1] = '‿' if type(gem) == "table" then table.remove(gem, real_word_index) end if type(pos) == "table" then table.remove(pos, real_word_index) end elseif i > 2 and (accentless['post'][word[i]] and word[i+1] ~= "-" or				accentless['posthyphen'][word[i]] and word[i-1] == "-" and word[i+1] ~= "-") then word[i-1] = '‿' -- for unaccented words that liaise with the preceding word, -- remove the gemination spec corresponding to the unaccented word -- because the gemination in question is almost certainly in the -- preceding word, but remove the POS spec corresponding to the -- preceding word because it's the final -е of the unaccented word -- that the POS will refer to			if type(gem) == "table" then table.remove(gem, real_word_index) end if type(pos) == "table" then table.remove(pos, real_word_index - 1) end end end table.insert(debug, table.concat(word, "@"))

-- rejoin words, convert hyphens to spaces and eliminate stray spaces -- resulting from this text = table.concat(word, "") text = rsub(text, '[%-%s]+', ' ') text = rsub(text, '^ ', '') text = rsub(text, ' $', '')

-- add a ⁀ at the beginning and end of every word and at close juncture -- boundaries; we will remove this later but it makes it easier to do	-- word-beginning and word-end rsubs text = rsub(text, ' ', '⁀ ⁀') text = rsub(text, '([!?])', '⁀%1⁀') text = '⁀' .. text .. '⁀'	text = rsub(text, '‿', '⁀‿⁀')

-- save original word spelling before respellings, (de)voicing changes, -- geminate changes, etc. for implementation of geminate_pref local orig_word = rsplit(text, " ", true)

-- insert or remove /j/ before [aou] so that palatal versions of these -- vowels are always preceded by /j/ and non-palatal versions never are -- (do this before the change below adding tertiary stress to final	-- palatal о): -- (1) Non-palatal [ou] after always-hard шж (e.g. in брошю́ра, жю́ри) --    despite the spelling (FIXME, should this also affect [a]?) text = rsub(text, '([šž])j([ou])', '%2%3') -- (2) Palatal [aou] after always-soft щчӂ and voiced variant ǰ (NOTE:	--    this happens before the change šč -> ɕː in phonetic_subs) text = rsub(text, '([čǰӂ])([aou])', '%1j%2') -- (3) ьо is pronounced as ьйо, i.e. like (possibly unstressed) ьё, e.g.	--    in Асунсьо́н text = rsub(text, 'ʹo', 'ʹjo')

-- add tertiary stress to some final -о (this needs to be done before	-- eliminating dot-above, after adding ⁀, after adding /j/ before palatal о): -- (1) after vowels, e.g. То́кио text = rsub(text, '(' .. vowels .. accents .. '?o)⁀', '%1' .. CFLEX .. '⁀') -- (2) when palatal, e.g. ра́нчо, га́учо, ма́чо, Ога́йо text = rsub(text, 'jo⁀', 'jo' .. CFLEX .. '⁀')

-- eliminate dot-above, which has served its purpose of preventing any -- sort of stress (needs to be done after adding tertiary stress to	-- final -о) text = rsub(text, DOTABOVE, '') -- eliminate dot-below (needs to be done after changes above that insert	-- j before [aou] after always-soft щчӂ) text = rsub(text, 'ja' .. DOTBELOW, 'jạ') if rfind(text, DOTBELOW) then error("Dot-below accent can only be placed on я or palatal а") end

text = adj and rsub(text, '(.[aoe]́?)go(' .. AC .. '?)⁀', '%1vo%2⁀') or text text = adj and rsub(text, '(.[aoe]́?)go(' .. AC .. '?)sja⁀', '%1vo%2sja⁀') or text

function fetch_pos_property(i, ending) local thispos = type(pos) == "table" and pos[i] or pos local chart = pos_properties[thispos] while type(chart) == "string" do -- handle aliases chart = pos_properties[chart] end assert(type(chart) == "table") local sub = chart[ending] or pos_properties['def'][ending] assert(sub) return sub end

-- Pos-specific handling of final -ться: palatalized if pos=imp, else not -- (infinitives). If we have multiple parts of speech, we need to be -- trickier, splitting by word. local function final_tsja_processing(pron, i)		local tsjapal = fetch_pos_property(i, 'tsjapal') if tsjapal == 'n' then -- FIXME!!! Should these also pay attention to grave accents? pron = rsub(pron, '́tʹ?sja⁀', '́cca⁀') pron = rsub(pron, '([^́])tʹ?sja⁀', '%1ca⁀') end return pron end if type(pos) == "table" then --split by word and process each word word = rsplit(text, " ", true) for i = 1, #word do			word[i] = final_tsja_processing(word[i], i)		end text = table.concat(word, " ") else text = final_tsja_processing(text, 1) end

--phonetic substitutions of various sorts for _, phonsub in ipairs(phonetic_subs) do		text = rsub(text, phonsub[1], phonsub[2]) end

--voicing, devoicing --NOTE: v before an obstruent assimilates in voicing and triggers voicing --assimilation of a preceding consonant; neither happens before a sonorant --1. absolutely final devoicing text = rsub(text, '([bdgvɣzžĝĵǰӂ])(ʹ?⁀)$', function(a, b)		return devoicing[a] .. b end) --2. word-final devoicing before another word text = rsub(text, '([bdgvɣzžĝĵǰӂ])(ʹ?⁀ ⁀[^bdgɣzžĝĵǰӂ])', function(a, b)		return devoicing[a] .. b end) --3. voicing/devoicing assimilation; repeat to handle recursive assimilation while true do		local new_text = rsub(text, '([bdgvɣzžĝĵǰӂ])([ ‿⁀ʹːˑ/]*[ptkfxsščɕcĉ])', function(a, b)			return devoicing[a] .. b end) new_text = rsub(new_text, '([ptkfxsščɕcĉ])([ ‿⁀ʹːˑ/]*v?[ ‿⁀ʹːˑ/]*[bdgɣzžĝĵǰӂ])', function(a, b)			return voicing[a] .. b end) if new_text == text then break end text = new_text end

--re-notate orthographic geminate consonants text = rsub(text, '([^' .. vow .. '.%-_])' .. '%1', '%1ː') text = rsub(text, '([^' .. vow .. '.%-_])' .. '%(%1%)', '%1(ː)')

--rewrite iotated vowels text = rsub(text, '(j[%(ːˑ%)]*)([aeou])', function(a, b)		return a .. iotating[b] end) -- eliminate j after consonant and before iotated vowel (including	-- semi-reduced ạ) text = rsub(text, '([^' .. vow .. acc .. 'ʹʺ‿⁀ ]/?)j([äạëöü])', '%1%2')

--split by word and process each word word = rsplit(text, " ", true) table.insert(debug, text)

for i = 1, #word do		local pron = word[i]

-- Check for gemination at prefix boundaries; if so, convert the -- regular gemination symbol ː to a special symbol ˑ that indicates -- we always preserve the gemination unless gem=n. We look for -- certain sequences at the beginning of a word, but make sure that -- the original spelling is appropriate as well (see comment above		-- for geminate_pref). if rfind(pron, 'ː') then local orig_pron = orig_word[i] local deac = rsub(pron, accents, '') local orig_deac = rsub(orig_pron, accents, '') for _, gempref in ipairs(geminate_pref) do				local newspell = gempref[1] local oldspell = gempref[2] -- FIXME! The rsub below will be incorrect if there is				-- gemination in a joined preposition or particle if rfind(orig_deac, '⁀' .. oldspell) and rfind(deac, '⁀' .. newspell) or rfind(orig_deac, '⁀ne' .. oldspell) and rfind(deac, '⁀ne' .. newspell) then pron = rsub(pron, '(⁀[^‿⁀ː]*)ː', '%1ˑ') end end end

--degemination, optional gemination local thisgem = type(gem) == "table" and gem[i] or gem if thisgem == 'y' then -- leave geminates alone, convert ˑ to regular gemination; ˑ is a			-- special gemination symbol used at prefix boundaries that we			-- remove only when gem=n, else we convert it to regular gemination pron = rsub(pron, 'ˑ', 'ː') elseif thisgem == 'o' then -- make geminates optional, except for ɕӂ, also ignore left paren -- in (ː) sequence pron = rsub(pron, '([^ɕӂ%(%)])[ːˑ]', '%1(ː)') elseif thisgem == 'n' then -- remove gemination, except for ɕӂ pron = rsub(pron, '([^ɕӂ%(%)])[ːˑ]', '%1') else -- degeminate l's			pron = rsub(pron, '(l)ː', '%1') -- preserve gemination between vowels immediately after the stress, -- special gemination symbol ˑ also remains, ɕӂ remain geminated, -- žn remain geminated between vowels even not immediately after -- the stress, n becomes optionally geminated when after but not -- immediately after the stress, ssk and zsk remain geminated -- immediately after the stress, else degeminate; we signal that -- gemination should remain by converting to special symbol ˑ, -- then removing remaining ː not after ɕӂ and left paren; do			-- various subs repeatedly in case of multiple geminations in a word -- 1. immediately after the stress pron = rsub_repeatedly(pron, '(' .. vowels .. stress_accents .. '[^ɕӂ%(%)])ː(' .. vowels .. ')', '%1ˑ%2') -- 2. remaining geminate n after the stress between vowels pron = rsub_repeatedly(pron, '(' .. stress_accents .. '.-' .. vowels .. accents .. '?n)ː(' .. vowels .. ')', '%1(ː)%2') -- 3. remaining ž and n between vowels pron = rsub_repeatedly(pron, '(' .. vowels .. accents .. '?[žn])ː(' .. vowels .. ')', '%1ˑ%2') -- 4. ssk (and zsk, already normalized) immediately after the stress pron = rsub(pron, '(' .. vowels .. stress_accents .. '[^' .. vow .. ']*s)ː(k)', '%1ˑ%2') -- 5. eliminate remaining gemination, except for ɕː and ӂː pron = rsub(pron, '([^ɕӂ%(%)])ː', '%1') -- 6. convert special gemination symbol ˑ to regular gemination pron = rsub(pron, 'ˑ', 'ː') end

-- handle soft and hard signs, assimilative palatalization -- 1. insert j before i when required pron = rsub(pron, 'ʹi', 'ʹji') -- 2. insert glottal stop after hard sign if required pron = rsub(pron, 'ʺ([aɛiouy])', 'ʔ%1') -- 3. (ь) indicating optional palatalization pron = rsub(pron, '%(ʹ%)', '⁽ʲ⁾') -- 4. assimilative palatalization of consonants when followed by		--   front vowels or soft sign pron = rsub(pron, '([mnpbtdkgfvszxɣrl])([ː]*[eiäạëöüʹ])', '%1ʲ%2') pron = rsub(pron, '([cĵ])([ː]*[äạöüʹ])', '%1ʲ%2') -- 5. remove hard and soft signs pron = rsub(pron, "[ʹʺ]", "")

-- reduction of unstressed word-final -я, -е; but special-case -- unstressed не, же. Final -я always becomes [ə]; final -е may -- become [ə], [e], [ɪ] or [ɨ] depending on the part of speech and -- the preceding consonants/vowels. pron = rsub(pron, '[äạ]⁀', 'ə⁀') pron = rsub(pron, '⁀nʲe⁀', '⁀nʲi⁀') pron = rsub(pron, '⁀že⁀', '⁀žy⁀') -- function to fetch the appropriate value for ending and part of		-- speech, handling aliases and defaults and converting 'e' to 'ê' -- so that the unstressed [e] sound is preserved function fetch_e_sub(ending) local sub = fetch_pos_property(i, ending) if sub == 'e' then -- add TEMPCFLEX (which will be converted to CFLEX) to preserve -- the unstressed [e] sound, which will otherwise be converted -- to [ɪ]; we do this instead of adding CFLEX directly because -- we later convert some instances of the resulting 'e' to				-- 'i', and we don't want to do this when the user explicitly -- wrote a Cyrillic е with a circumflex on it. [NOTE that -- formerly applied when we added CFLEX directly: DO NOT -- use ê here directly because it's a single composed char, -- when we need the e and accent to be separate.] return 'e' .. TEMPCFLEX else return sub end end if new_final_e_code then -- handle substitutions in two parts, one for vowel+j+e sequences -- and the other for cons+e sequences pron = rsub(pron, vowels_c .. '(' .. accents .. '?j)ë⁀', function(v, ac)				 local ty = v == 'o' and 'oe' or 've'				 return v .. ac .. fetch_e_sub(ty) .. '⁀'			end) -- consonant may palatalized, geminated or optional-geminated pron = rsub(pron, '(.)(ʲ?[ː]*)[eë]⁀', function(ch, mod)				 local ty = ch == 'j' and 'je' or					rfind(ch, '[cĵšžĉĝ]') and 'hardsib' or					rfind(ch, '[čǰɕӂ]') and 'softsib' or					'softpaired'				 return ch ..mod .. fetch_e_sub(ty) .. '⁀'			end) if final_e_non_pausal then -- final [e] should become [ɪ] when not followed by pause or				-- end of utterance (in other words, followed by space plus				-- anything but a pause symbol, or followed by tie bar). pron = rsub(pron, 'e' .. TEMPCFLEX .. '⁀‿', 'i⁀‿') if i < #word and word[i+1] ~= '⁀|⁀' then pron = rsub(pron, 'e' .. TEMPCFLEX .. '⁀$', 'i⁀') end end -- now convert TEMPCFLEX to CFLEX; we use TEMPCFLEX so the previous -- two regexps won't affect cases where the user explicitly wrote -- a circumflex pron = rsub(pron, TEMPCFLEX, CFLEX) else -- Do the old way, which mostly converts final -е to schwa, but -- has highly broken retraction code for vowel + [шжц] + е (but			-- not with accent on vowel!) before it that causes final -е in -- this circumstance to become [ɨ], and a special hack for кое-. pron = rsub(pron, vowels_c .. '([cĵšžĉĝ][ː]*)[eë]', '%1%2ɛ') pron = rsub(pron, '⁀ko(' .. stress_accents .. ')jë⁀', '⁀ko%1ji⁀') pron = rsub(pron, '[eë]⁀', 'ə⁀') end

-- retraction of е and и after цшж pron = rsub(pron, '([cĵšžĉĝ][ː]*)([ei])', function(a, b)			return a .. retracting[b] end)

--syllabify, inserting @ at syllable boundaries --1. insert @ after each vowel pron = rsub(pron, '(' .. vowels .. accents .. '?)', '%1@')		--2. eliminate word-final @ pron = rsub(pron, '@+⁀$', '⁀') --3. move @ forward directly before any ‿⁀, as long as at least --  one consonant follows that; we will move it across ‿⁀ later pron = rsub(pron, '@([^@' .. vow .. acc .. ']*)([‿⁀]+[^‿⁀@' .. vow .. acc .. '])', '%1@%2')		--4. in a consonant cluster, move @ forward so it's before the --  last consonant pron = rsub(pron, '@([^‿⁀@' .. vow .. acc .. ']*)([^‿⁀@' .. vow .. acc .. 'ːˑʲ]ʲ?[ːˑ]*‿?[' .. vow .. acc .. '])', '%1@%2')		--5. move @ backward if in the middle of a "permanent onset" cluster, --  e.g. sk, str, that comes before a vowel, putting the @ before --  the permanent onset cluster pron = rsub(pron, '([^‿⁀@_' .. vow .. acc .. ']?)(_*)([^‿⁀@_' .. vow .. acc .. '])(_*)@([^‿⁀@' .. vow .. acc .. 'ːˑʲ])(ʲ?[ːˑ]*[‿⁀]*[' .. vow .. acc .. '])', function(a, aund, b, bund, c, d)			if perm_syl_onset[a .. b .. c] or c == 'j' and rfind(b, '[čǰɕӂʲ]') then				return '@' .. a .. aund .. b .. bund .. c .. d			elseif perm_syl_onset[b .. c] then				return a .. aund .. '@' .. b .. bund .. c .. d			end end) --6. if / is present (explicit syllable boundary), remove any @ --  (automatic boundary) and convert / to @ if rfind(pron, '/') then pron = rsub(pron, '[^' .. vow .. acc .. ']+', function(x)				if rfind(x, '/') then					x = rsub(x, '@', '')					x = rsub(x, '/', '@')				end				return x			end) end --7. remove @ followed by a final consonant cluster pron = rsub(pron, '@([^‿⁀@' .. vow .. ']+⁀)$', '%1')		--8. remove @ preceded by an initial consonant cluster (should only		--  happen when / is inserted by user or in цз, чж sequences) pron = rsub(pron, '^(⁀[^‿⁀@' .. vow .. ']+)@', '%1')		--9. make sure @ isn't directly before linking ‿⁀ pron = rsub(pron, '@([‿⁀]+)', '%1@')

-- handle word-initial unstressed o and a; note, vowels always -- followed by at least one char because of word-final ⁀ -- do after syllabification because syllabification doesn't know -- about ɐ as a vowel pron = rsub(pron, '^⁀[ao]([^' .. acc .. '])', '⁀ɐ%1')

--split by syllable local syllable = rsplit(pron, '@', true)

--create set of 1-based syllable indexes of stressed syllables --(acute, grave, circumflex) local stress = {} for j = 1, #syllable do			if rfind(syllable[j], stress_accents) then stress[j] = "real" elseif rfind(syllable[j], CFLEX) then stress[j] = "cflex" end end

-- iterate syllable by syllable to handle stress marks, vowel allophony local syl_conv = {} for j = 1, #syllable do			local syl = syllable[j]

local alnum

--vowel allophony if stress[j] then -- convert acute/grave/circumflex accent to appropriate -- IPA marker of primary/secondary/unmarked stress alnum = 1 syl = rsub(syl, '(.*)́', 'ˈ%1') syl = rsub(syl, '(.*)̀', 'ˌ%1') syl = rsub(syl, CFLEX, '') elseif stress[j+1] == "real" then -- special-casing written а immediately before the stress, -- but only for primary/secondary stress, not circumflex alnum = 2 else alnum = 3 end syl = rsub(syl, vowels_c, function(a)				if a ~= '' then					return allophones[a][alnum]				end end) syl_conv[j] = syl end

pron = table.concat(syl_conv, "")

-- Optional (j) before ɪ, which is always unstressed pron = rsub(pron, "⁀jɪ", "⁀(j)ɪ") pron = rsub(pron, '([' .. ipa_vow .. '])jɪ', "%1(j)ɪ")

--consonant assimilative palatalization of tn/dn/sn/zn, depending on		--whether [rl] precedes pron = rsub(pron, '([rl]?)([ːˈˌ]*[dtsz])([ːˈˌ]*nʲ)', function(a, b, c)			if a == '' then				return a .. b .. 'ʲ' .. c			else				return a .. b .. '⁽ʲ⁾' .. c			end end)

--consonant assimilative palatalization of st/zd, depending on		--whether [rl] precedes pron = rsub(pron, '([rl]?)([ˈˌ]?[sz])([ːˈˌ]*[td]ʲ)', function(a, b, c)			if a == '' then				return a .. b .. 'ʲ' .. c			else				return a .. b .. '⁽ʲ⁾' .. c			end end)

--general consonant assimilative palatalization pron = rsub_repeatedly(pron, '([szntdpbmfcĵx])([ːˈˌ]*)([szntdpbmfcĵlk]ʲ)', function(a, b, c)			if cons_assim_palatal['compulsory'][a..c] then				return a .. 'ʲ' .. b .. c			elseif cons_assim_palatal['optional'][a..c] then				return a .. '⁽ʲ⁾' .. b .. c			else				return a .. b .. c			end end)

-- further assimilation before alveolopalatals pron = rsub(pron, 'n([ːˈˌ]*)([čǰɕӂ])', 'nʲ%1%2')

-- optional palatal assimilation of вп, вб only word-initially pron = rsub(pron, '⁀([ːˈˌ]*[fv])([ːˈˌ]*[pb]ʲ)', '⁀%1⁽ʲ⁾%2')

-- optional palatal assimilation of бв but not in обв- pron = rsub(pron, 'b([ːˈˌ]*vʲ)', 'b⁽ʲ⁾%1') if rfind(word[i], '⁀o' .. accents .. '?bv') then -- ə in case of a word with a preceding preposition pron = rsub(pron, '⁀([ːˈˌ]*[ɐəo][ːˈˌ]*)b⁽ʲ⁾([ːˈˌ]*vʲ)', '⁀%1b%2') end

-- Word-final -лся (normally in past verb forms) should have optional -- palatalization. Need to rewrite as -лсьа to defeat this. -- FIXME: Should we move this to phonetic_subs? if rfind(word[i], 'ls[äạ]⁀') then pron = rsub(pron, 'lsʲə⁀', 'ls⁽ʲ⁾ə⁀') end

word[i] = pron end

text = table.concat(word, " ") if bracket then text = '[' .. text .. ']'	end table.insert(debug, text)

-- Front a and u between soft consonants. If between a soft and -- optionally soft consonant (should only occur in that order, shouldn't	-- ever have a or u preceded by optionally soft consonant), -- split the result into two. We only split into two even if there -- happen to be multiple optionally fronted a's and u's to avoid -- excessive numbers of possibilities (and it simplifies the code). -- 1. First, temporarily add soft symbol to inherently soft consonants. text = rsub(text, '([čǰɕӂj])', '%1ʲ') -- 2. Handle case of [au] between two soft consonants text = rsub_repeatedly(text, '(ʲ[ː]*)([auʊ])([ˈˌ]?.ʲ)', function(a, b, c)		return a .. fronting[b] .. c end) -- 3. Handle [au] between soft consonant and optional j, which is still fronted text = rsub_repeatedly(text, '(ʲ[ː]*)([auʊ])([ˈˌ]?%(jʲ%))', function(a, b, c)			return a .. fronting[b] .. c end) -- 4. Handle case of [au] between soft and optionally soft consonant if rfind(text, 'ʲ[ː]*[auʊ][ˈˌ]?.⁽ʲ⁾') then local opt_hard = rsub(text, '(ʲ[ː]*)([auʊ])([ˈˌ]?.)⁽ʲ⁾', '%1%2%3') local opt_soft = rsub(text, '(ʲ[ː]*)([auʊ])([ˈˌ]?.)⁽ʲ⁾', function(a, b, c)			return a .. fronting[b] .. c .. 'ʲ' end) text = opt_hard .. ', ' .. opt_soft end -- 5. Undo addition of soft symbol to inherently soft consonants. text = rsub(text, '([čǰɕӂj])ʲ', '%1')

-- convert special symbols to IPA text = rsub(text, '[cĵ]ʲ', translit_conv_j) text = rsub(text, '[cčgĉĝĵǰšžɕӂ]', translit_conv)

-- Assimilation involving hiatus of ɐ and ə text = rsub(text, 'ə([‿⁀]*)[ɐə]', 'ɐ%1ɐ')

-- eliminate ⁀ symbol at word boundaries -- eliminate _ symbol that prevents assimilations text = rsub(text, '[⁀_]', '')

if test_new_ru_pron_module then if new_module_result ~= text then --error(text .. " || " .. new_module_result) track("different-pron") else track("same-pron") end end

-- return text table.insert(debug, text) return table.concat(debug, ':') end

return export

-- For Vim, so we get 4-space tabs -- vim: set ts=4 sw=4 noet:

title: Module:User:Abuccts/ru-pron


text:
Thread:User talk:CodeCat/Why so unhelpful?/reply

 * The things you added to the definition line should go in a usage note, as they have nothing to do with the meaning of the word.
 * Synonyms go before derived terms, per WT:EL.
 * The descendants were not formatted with or.
 * Most of the descendants are not actual descendants, but rather descendants of derived terms.

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


text:
User:Einsof

∞

title: User:Einsof


text:
ajopalkka

Noun

 * 1) A compensation for a driver and draft animal for transporting freight or passengers.

title: ajopalkka


text:
Talk:vượt

Surely this is the non-Sino-Vietnamese reading of (SV: ), akin to  which is from. Wyang (talk) 12:16, 23 August 2017 (UTC)
 * I added it in. See also Starling. Wyang (talk) 06:20, 25 October 2017 (UTC)

title: Talk:vượt


text: arosfa

title: arosfa


text: User:Abuccts/debug-ru-pron

title: User:Abuccts/debug-ru-pron


text:
dalfa

Etymology
From.

Noun

 * 1) arrest, custody
 * 2) jail

title: dalfa


text:
ajo-opetus

Noun

 * 1) driving instruction act of teaching a person to drive

title: ajo-opetus


text:
démâtage

Etymology
From.

Noun

 * 1) unmasting, demasting, dismasting

title: démâtage


text:
cwympo

Etymology
From.

Verb

 * 1)  to fall

title: cwympo


text:
Thread:User talk:CodeCat/Why so unhelpful?/reply (2)

What about now?


text:
سرسبز

Etymology
From.

Adjective

 * 1) covered with grass and/or other vegetation; green

title: سرسبز


text:
צמרת

Noun

 * 1) treetop

title: צמרת


text: צמרות

title: צמרות


text:
Thread:User talk:CodeCat/Why so unhelpful?/reply (3)

Now it's good, thank you.


text:
ajomestari

Noun

 * 1) transport manager, transportation manager manager responsible for managing day-to-day operations of a transportation company
 * 2) bus manager ditto to a bus firm

title: ajomestari


text:
lijfsgemeenschap

Etymology
Compound of.

Noun

 * 1) sexual intercourse

title: lijfsgemeenschap


text:
Thread:User talk:CodeCat/Why so unhelpful?/reply (4)

Alright, thanks.


text:
Talk:carp

Carpal
The Catalan (from Greek) definition also reminded me that this is related to the medical term "carpal," as in carpal tunnel syndrome. Is there any way that this could be worked in neatly? -- User:Eliyahu S 12:56, 23 August 2017 (UTC)

Conserved /k-/ in Germanic???
This is not believable, because it should have changed to /h-/.2A02:8108:9640:1A68:C236:EFF1:BA59:D99C 18:49, 12 February 2023 (UTC)

title: Talk:carp


text:
broness

Alternative forms

 * bro-ness

Etymology
From.

Noun

 * 1)  The fact or quality of being a bro.
 * 2) * 2011, JR Lind, Nashville Scene, 2 December, :
 * Stopgap quarterback Matt Leinart exuded so much broness, he broke his collarbone, forcing T.J. Yates into action for the Texans.

title: broness


text:
warhoofdig

Etymology
From.

title: warhoofdig


text:
ajokalusto

Noun

 * 1) vehicle fleet

title: ajokalusto


text: kirgiseren

title: kirgiseren


text: mùjízhě

title: mùjízhě


text:
కోష్ఠము

Noun

 * 1) A store room, granary.

title: కోష్ఠము


text: wàibāngrén

title: wàibāngrén


text:
meeloper

Etymology
From.

Noun

 * 1) passive follower, fellow traveller
 * 2) bystander

title: meeloper


text: meelopers

title: meelopers


text: kirgisere

title: kirgisere


text: mòlì xiāngmǐ

title: mòlì xiāngmǐ


text:
ajolinja

Noun

 * 1)  driving line actual path taken by a vehicle when driving on the road
 * 2) racing line fastest line or course on a racetrack

Usage notes

 * In the sense racing line often used with the attribute :

title: ajolinja


text: kirgiserne

title: kirgiserne


text:
binnenmoeder

Etymology
Compound of.

Noun

 * 1) headmistress of an orphanage

title: binnenmoeder


text: binnenmoeders

title: binnenmoeders


text:
magtaksil

Etymology
From.

Verb

 * 1) to betray; to commit treachery

title: magtaksil


text:
makiapid

Etymology
From.

Verb

 * 1) to commit adultery

title: makiapid


text:
pakikiapid

Etymology
From.

Noun

 * 1) adultery; fornication

title: pakikiapid


text:
duomoeder

Etymology
Compound of.

Noun

 * 1)  nonbirth mother, female partner of a birthmother
 * 2)  lesbian mother; any mother (whether biological or non-biological) in a lesbian relationship

title: duomoeder


text: duomoeders

title: duomoeders


text:
కర్కటరేఖ

Etymology
From +.

Proper noun

 * 1)  Tropic of Cancer

title: కర్కటరేఖ


text:
sakong

Noun

 * 1)  heel
 * 2)  heelbone
 * 3)  heel

title: sakong


text:
ajomatka

Noun

 * 1) driving distance

title: ajomatka


text:
మకరరేఖ

Etymology
From +.

Proper noun

 * 1)  Tropic of Capricorn

title: మకరరేఖ


text:
zolisme

Etymology
From.

Noun

 * 1) Zolaism

title: zolisme


text:
pakupya

Etymology
From tl. Symbol use as diacritic is because of the similarity acute accent and a grave accent on the same vowel looks like a circumflex.

Noun

 * 1) circumflex

Usage notes

 * Used to indicate stress in the final syllable plus a glottal stop at the end in Tagalog words

title: pakupya


text:
zombificateur

Noun

 * 1) zombifier

title: zombificateur


text: Category:tl:Diacritical marks

title: Category:tl:Diacritical marks


text: Category:tl:Letters, symbols, and punctuation


text:
zomidine

Noun

 * 1) osmazome

title: zomidine


text:
osmazôme

Noun

 * 1) osmazome

title: osmazôme


text: Category:tl:Punctuation marks

title: Category:tl:Punctuation marks


text:
Reconstruction:Latin/babbus

Etymology
Childish term of origin.

Noun

 * 1) dad, father

Descendants

 * Italo-Romance:
 * North Italian:
 * Insular Romance:
 * Insular Romance:
 * Insular Romance:
 * Insular Romance:

title: Reconstruction:Latin/babbus


text:
duve

Etymology
From, from.

Noun

 * 1)  pigeon, dove

title: duve


text:
mambabarang

Etymology
From with initial.

Noun

 * 1)  spirit summoner; conjurer

title: mambabarang


text:
siyokoy

Etymology
A of. For the second sense,.

Noun

 * 1)  ; merman
 * , a pseudo-loan or hybrid word seemingly derived from both English and Spanish; a pseudo-Hispanism

title: siyokoy


text:
mewe

Etymology
From, from.

Noun

 * 1)  seagull

Etymology 1
From, from , from.

Noun

 * , gull member of the family

Etymology 2
From ; reinforced by.

Noun

 * 1) A cage used for allowing birds to shed their feathers.
 * 2) A cage or compartment used for preparing animals to be used as meat.
 * 3) Any place where one is locked up or secured; a cage or cell.
 * 4) A place used as a hideout, refuge or redoubt.

Adjective

 * 1)  Currently shedding its feathers.

title: mewe


text:
linja-autolippu

Noun

 * 1) bus ticket

title: linja-autolippu


text: linja-autolipun

title: linja-autolipun


text:
sarimanok

Etymology
.

title: sarimanok


text:
roec

Etymology
From, from.

Noun

 * 1)  rook

title: roec


text:
तश्तरी

Etymology
Ultimately from (whence )، from.

Noun

 * 1) saucer, plate; kind of thali used for cooking

title: तश्तरी


text:
panipi

Etymology
From.

Noun

 * 1) quotation marks

title: panipi


text: perspicazes

title: perspicazes


text:
paiwa

Etymology
From.

Noun

 * 1)  grave accent, used to indicate a final glottal stop

Adverb

 * 1) slantingly moving from left to right downward

title: paiwa


text:
pahilis

Etymology
From.

Noun

 * 1)  acute accent, used to indicate stress on a following syllable in Tagalog words

Adjective

 * 1) slanting; oblique; diagonal

title: pahilis


text:
magpahid

Etymology
From.

Verb

 * 1) to rub a substance; to smear

title: magpahid


text:
seminaryo

Etymology
.

Noun

 * 1) seminary
 * 2)  seminar

title: seminaryo


text:
Iosua

Proper noun

 * 1) Joshua
 * 2) * 2012 Baibala Hemolele: Iosua 11:23 (tr. KJV Joshua 23:11):
 * "haw"

- Hoʻopio ihola ʻo Iosua i ka ʻāina a pau, e like me nā mea a pau a Iēhova i ʻōlelo mai ai iā Mose. A ʻo ka mea i ili mai na ka ʻIseraʻela, hāʻawi maila ʻo Iosua, ma ko lākou papa, ma loko o ko lākou ʻohana. A hoʻomaha ihola ka ʻāina i ke kaua.

 * 1) the Book of Joshua

Proper noun

 * 1)  Joshua
 * 2)  Joshua, the sixth book of the Old Testament

title: Iosua


text:
botogs

Noun

 * 1)  spider used in spider fighting

title: botogs


text:
User talk:New WT User Girl

Hi
We should categorise compounds like entendérselas which have their own meaning. Look into it. --New WT User Girl (talk) 20:12, 2 August 2018 (UTC)
 * Yeah, it could work. I imagine if we search for not in the definition line, or any compounds with more than one defn line. --New WT User Girl (talk) 20:40, 2 August 2018 (UTC)

Surnames
Yeah, I knew those dumb double-barrelled surnames would be the death of me. Ever seen a dumber way of making a point? --New WT User Girl (talk) 22:00, 5 August 2018 (UTC)
 * I'm sure I could think of one --New WT User Girl (talk) 22:02, 5 August 2018 (UTC)
 * OK, guys, thanks for everything. This is me, quitting WT forever. --New WT User Girl (talk) 22:03, 5 August 2018 (UTC)

Bienvenida

 * Sobre, fue un copia-pega, no me acorde de pasar PT a GL.
 * Sobre entendérselas, vérselas y deseárselas, lo entendería como locuciones, idioms en tal caso. Me gustará ver un lista o categoría de esos frasologemas. Sobreira ►〓 (parlez) 15:08, 6 August 2018 (UTC)

title: User talk:New WT User Girl


text:
layter

Etymology
.

Noun

 * 1) lighter
 * 2) * year unknown, Kaputol Mundo - Pagkaintindi (Filipino Edition), Robert Skyler
 * Madilim, tahimik, pa nag-iisa ngayon pamilyar na, sa loob ng eroplano ay magpasaya para sa isang sandali na may Tilamsik titik na aking layter ay. “ Walang isa,” maliban para sa pagmuni-muni sa pagod kawal ay sa aking bintana, preno ng ...
 * Madilim, tahimik, pa nag-iisa ngayon pamilyar na, sa loob ng eroplano ay magpasaya para sa isang sandali na may Tilamsik titik na aking layter ay. “ Walang isa,” maliban para sa pagmuni-muni sa pagod kawal ay sa aking bintana, preno ng ...

title: layter


text: matkalipun

title: matkalipun


text:
ajomaksu

Noun

 * 1) fare money paid for transport

title: ajomaksu


text:
naug

Adverb

 * 1) enough, sufficiently

title: naug


text: zoopharmacognosies

title: zoopharmacognosies


text: lvs

title: lvs


text:
monarkiya

Etymology
, from, from , from +.

Noun

 * 1) monarchy

title: monarkiya


text:
sosyalismo

Etymology
Borrowed from.

Noun

 * 1) socialism

Etymology
..

Noun

 * 1) socialism

title: sosyalismo


text: Category:tl:Socialism

title: Category:tl:Socialism


text: zoophytographes

title: zoophytographes


text: zoophytographies

title: zoophytographies


text: Category:Italian terms derived from the Proto-Indo-European root *h₃rewk-


text: zoophytolithes

title: zoophytolithes


text: zoophytologies

title: zoophytologies


text: zooplasmas

title: zooplasmas


text: the truth is in the wine

title: the truth is in the wine


text: zoopsychiatries

title: zoopsychiatries


text: zoopsychologues

title: zoopsychologues


text: zooramas

title: zooramas


text:
Reconstruction:Proto-Samic/kuossē

Etymology
From earlier (compare 🇨🇬), borrowed from  (later ). .

Noun

 * 1) guest

Descendants

 * Western Samic:
 * Eastern Samic:
 * Eastern Samic:
 * Eastern Samic:
 * Eastern Samic:
 * Eastern Samic:
 * Eastern Samic:

title: Reconstruction:Proto-Samic/kuossē


text:
PDEA

Coordinate terms
DEA

title: PDEA


text:
Talk:πάσχω

Etymology
A root of the type **kʷendʰ- violates PIE root constraints. Beekes instead lists *bʰendʰ-, which makes better sense under Grassman's law. Anglom (talk) 15:42, 23 August 2017 (UTC)
 * I assume you mean the constraint described in the second paragraph at Proto-Indo-European root? --WikiTiki89 15:47, 23 August 2017 (UTC)
 * It is indeed. Thank you for linking it. Anglom (talk) 15:51, 23 August 2017 (UTC)
 * Pinging as the one who  and  as the one who . --WikiTiki89 16:01, 23 August 2017 (UTC)

 * Our etymology lists a as a cognate, but Matasović, while also giving the root form as, gives the Lithuanian cognate as . If  is right, then couldn't the root have been ? That would explain the voiceless t of Lithuanian as well as the aspirated θ of Greek while still obeying PIE root constraints, right? I don't know very much about Lithuanian historical phonology. —Mahāgaja · talk 07:58, 6 April 2020 (UTC)

title: Talk:πάσχω


text:
NBI

Coordinate terms

 * FBI

title: NBI


text:
Reconstruction talk:Proto-Germanic/skinþą

Descendants
The Old English, Frisian and Saxon are borrowed from Old Norse as well. It would have given OE **sċīþ otherwise. Anglom (talk) 15:48, 23 August 2017 (UTC)


text: POEA

title: POEA


text:
revenge is sweet

Translations

 * Chinese:
 * Mandarin: 报仇雪恨，大快人心, 報仇雪恨，大快人心
 * Finnish: kosto on suloinen
 * French: vengeance en représailles
 * German: Rache ist süß
 * Polish: zemsta jest słodka, zemsta jest rozkoszą bogów

title: revenge is sweet


text: Semblante

title: Semblante


text: NBP

title: NBP


text:
Mandawe

Etymology
Compare. Probably toponymic.

Proper noun

 * 1)  the former name of the city of Mandaue
 * 1)  the former name of the city of Mandaue

title: Mandawe


text:
Surigao

Etymology
From, previously spelled as , from , from.

Etymology
From, previously spelled as , from , from.

Etymology
From, previously spelled as , from , from.

title: Surigao


text:
CoC

Noun

 * 1) ; particularly versions using "of" for "o"
 * 1) ; particularly versions using "of" for "o"
 * 1) ; particularly versions using "of" for "o"

title: CoC


text:
zonalisation

Noun

 * 1) Division into zones.

Alternative forms

 * zonalization

Etymology
From.

title: zonalisation


text:
tarangkahan

Etymology
From.

Noun

 * 1) gate
 * 2) notch or hole for a latch
 * 1) notch or hole for a latch

Verb

 * 1) to fasten with a latch or bar

title: tarangkahan


text:
zonalité

Etymology
From.

Noun

 * 1) zonality

title: zonalité


text: zonaux

title: zonaux


text:
lákke

Etymology
From, the god of mischief and trickery in Norse mythology.

Noun

 * 1) spider, Araneæ and

title: lákke


text:
zonier

Adjective

 * 1) zonal

title: zonier


text: zonière

title: zonière


text: zoniers

title: zoniers


text: zonières

title: zonières


text:
Wenceslao

Etymology
From, from a  name, from.

Proper noun

 * 1) a male given name

Etymology
Latinazation of, a  name, from. .

title: Wenceslao


text:
mangaliwa

Etymology
From.

Verb

 * 1) to be unfaithful to one's wife; to commit adultery

title: mangaliwa


text:
zonoèdre

Noun

 * 1) zonohedron

title: zonoèdre


text: Semense

title: Semense


text:
zonpri

Etymology
form of.

Noun

 * 1)  prison

title: zonpri


text: Ouano

title: Ouano


text:
gestandan

Etymology
From, equivalent to. Cognate with 🇨🇬, 🇨🇬. Compare 🇨🇬.

Verb

 * 1) to remain, last, exist, stand still
 * 2) to hold oneself upright
 * 3) to be steady, remain undisturbed
 * 4) to oppose, stand against, oppress

title: gestandan


text:
zonz

Noun

 * 1)  prison

title: zonz


text:
Dalan

Etymology
From.

title: Dalan


text:
monoletheist

Noun

 * 1)  A person who believes in monoletheism.

title: monoletheist


text:
zonzais

Adjective

 * 1)  of Zonza

title: zonzais


text: Yusico

title: Yusico


text:
Zonzais

Noun

 * 1) resident or native of Zonza

title: Zonzais


text: Zonza

title: Zonza


text:
tákke

Etymology
Probably onomatopoeic.

Noun

 * 1) cock, male chicken

title: tákke


text:
Inot

Etymology
From.

title: Inot


text:
zonzonnement

Etymology
From.

Noun

 * 1) buzzing (sound)

title: zonzonnement


text: Tangaro

title: Tangaro


text: Ancajas

title: Ancajas


text:
zoo-cinéma

Etymology
From.

title: zoo-cinéma


text:
babuyin

Etymology
From.

Verb

 * 1) to dirty; to make something filthy
 * 2) to make immoral; to act on someone immorally
 * 3) to deface; to vandalize
 * 4) to do something haphazardly
 * 1) to do something haphazardly
 * 1) to do something haphazardly

title: babuyin


text:
zoocinéma

Etymology
From.

Noun

 * 1) the screening of documentary films (about animals) in a zoo etc.

title: zoocinéma


text:
Bayot

Etymology
From.

Etymology
.

title: Bayot


text: Wiktionary:Foreign Word of the Day/2017/August 24


text:
bandalismo

Etymology
Borrowed from.

Noun

 * 1) vandalism

Etymology
.

Noun

 * 1) vandalism

title: bandalismo


text:
Ngujo

Etymology
Hispanicization of.

title: Ngujo


text:
Prias

Etymology
Compare.

title: Prias


text:
Villarin

Etymology
Borrowed from ; this surname is predominantly found in the Philippines.

Statistics

 * According to the 2010 United States Census, Villarin is the 40082nd most common surname in the United States, belonging to 547 individuals. Villarin is most common among Asian/Pacific Islander (66.91%) and Hispanic/Latino (20.29%) individuals.

Etymology
Compare.

title: Villarin


text:
Villarino

Etymology
Compare. From, from.

Etymology
, from.

title: Villarino


text:
Cadungog

Etymology
Hispanicized spelling of.

title: Cadungog


text:
Dungog

Proper noun

 * ,, which includes the town.
 * ,, which includes the town.

Etymology
From.

title: Dungog


text:
biik

Etymology
From earlier, from. Compare 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬 /, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬. .

Noun

 * 1) piglet; suckling pig

title: biik


text: Capintog

title: Capintog


text: Estrera

title: Estrera


text:
Cabalida

Etymology
Compare.

title: Cabalida


text: Cavada

title: Cavada


text:
pataba

Etymology
From.

Noun

 * 1) enrichment, fertilization

Etymology
From.

Noun

 * 1) fertilizer

title: pataba


text: Ermac

title: Ermac


text: systematiseres

title: systematiseres


text: Lequin

title: Lequin


text:
Alimpangog

Etymology
Compare.

title: Alimpangog


text: systematiserende

title: systematiserende


text:
Limpangog

Etymology
Compare.

title: Limpangog


text:
Gaisano

Proper noun

 * , notably by a rich business clan originally from Cebu spread across Visayas and Mindanao

title: Gaisano


text:
Fernan

Proper noun

 * 1)  the
 * 1)  the
 * 1)  the

title: Fernan


text:
বিল

Etymology
, from. Compare 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) lake

title: বিল


text: systematiserer

title: systematiserer


text: Boholst

title: Boholst


text: systematiserte

title: systematiserte


text: systematisert

title: systematisert


text:
caraminhola

Etymology
.

Noun

 * 1)  mendacious stories; or impracticable fantasies; foolish products of imagination, chimeras

title: caraminhola


text:
roncolatura

Etymology
From.

Noun

 * 1)  pruning removal of excess material from a tree or shrub

title: roncolatura


text: roncolature

title: roncolature


text:
Talk:Universiade

There is no such stupid word in the English dictionaries! It is as wrongly used as "olympiad", which is in fact "An interval of four years between celebrations of the Olympic Games, by which the ancient Greeks reckoned dates." So what is an "universiade"? The interval between 2 universes?? :) Correct: World University Games.

 * It is clearly a word; see Wikipedia article. Equinox ◑ 18:02, 23 August 2017 (UTC)

title: Talk:Universiade


text:
tilknytning

Etymology
From.

Noun

 * 1) connection
 * 2) association

title: tilknytning


text:
मरियम

Etymology
, from, from.

Proper noun

 * 1)  Mary

title: मरियम


text: tilknytninga

title: tilknytninga


text:
waernen

Etymology
From, from.

Verb

 * 1) to equip, to provide with what is needed
 * 2) to keep, to protect, to guard
 * 3) to warn

title: waernen


text: tilknytningen

title: tilknytningen


text: 头那

title: 头那


text: tilknytninger

title: tilknytninger


text:
頭那

Etymology
The syllable is possibly from ; compare 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1)  head

title: 頭那


text: zoothèques

title: zoothèques


text: tilknytningene

title: tilknytningene


text: zoothérapeutes

title: zoothérapeutes


text: zootoponymes

title: zootoponymes


text: zootoxines

title: zootoxines


text:
tamanin

Etymology
Borrowed from.

Numeral

 * 1) eighty

title: tamanin


text: zootropes

title: zootropes


text:
casa'in

Etymology
Borrowed from.

Numeral

 * 1) ninety

title: casa'in


text: tis'in

title: tis'in


text: chatter rings

title: chatter rings


text:
ɗari

Numeral

 * 1) hundred

Noun

 * 1)  half-penny

Noun

 * 1) coldness due to wind or illness

title: ɗari


text: mislabelings

title: mislabelings


text: mislabellings

title: mislabellings


text: ɗarurruwa

title: ɗarurruwa


text: ɗarurruka

title: ɗarurruka


text:
undertittel

Etymology
From.

Noun

 * 1) a subtitle

Etymology
From.

Noun

 * 1) a subtitle

title: undertittel


text: dubbai

title: dubbai


text: Category:Hebrew terms belonging to the root ר־ע־שׁ


text:
kibiya

Etymology
Probably borrowed from a language. Cognate with 🇨🇬.

Noun

 * 1) arrow

title: kibiya


text:
ángstrom

Noun

 * 1)  angstrom a very small unit of length, 10-10 m

title: ángstrom


text:
stjärtmes

Noun

 * , the long-tailed tit

title: stjärtmes


text:
zoo-gymnaste

Etymology
From.

title: zoo-gymnaste


text:
zoogymnaste

Etymology
From.

Noun

 * 1) a gymnast who performs with animals

title: zoogymnaste


text:
zooanthroponose

Noun

 * 1) zooanthroponosis

title: zooanthroponose


text:
zooarchéologie

Etymology
From.

Noun

 * 1) zooarcheology

title: zooarchéologie


text:
zoobiologie

Etymology
From.

Noun

 * 1) zoobiology

Etymology
.

Noun

 * 1) zoobiology

title: zoobiologie


text:
wordster

Etymology

.

Noun

 * 1) One who is skilled at using words; a wordsmith.
 * 2) One who studies words.
 * 3)  One who uses words instead of actions; a hypocrite, a verbalist.
 * 1) One who studies words.
 * 2)  One who uses words instead of actions; a hypocrite, a verbalist.
 * 1) One who studies words.
 * 2)  One who uses words instead of actions; a hypocrite, a verbalist.
 * 1)  One who uses words instead of actions; a hypocrite, a verbalist.
 * 1)  One who uses words instead of actions; a hypocrite, a verbalist.
 * 1)  One who uses words instead of actions; a hypocrite, a verbalist.

Translations

 * Esperanto: oratoro, spritulo, elokventulo
 * Persian: بچه کلمی

 * Esperanto: etimologo, vortaristo
 * Persian: بچه کلمی

title: wordster


text:
zoobotanique

Etymology
From.

Adjective

 * 1) zoobotanical

Noun

 * 1) zoobotany

title: zoobotanique


text:
Meloni

Etymology
.

Statistics

 * According to the 2010 United States Census, Meloni is the 32865th most common surname in the United States, belonging to 698 individuals. Meloni is most common among White (92.12%) individuals.

title: Meloni


text: Melonis

title: Melonis


text:
zoocarpe

Etymology
From.

title: zoocarpe


text:
Melito

Statistics

 * According to the 2010 United States Census, Melito is the 32865th most common surname in the United States, belonging to 698 individuals. Melito is most common among White (96.56%) individuals.

title: Melito


text: Melitos

title: Melitos


text:
Kysar

Statistics

 * According to the 2010 United States Census, Kysar is the 32865th most common surname in the United States, belonging to 698 individuals. Kysar is most common among White (95.42%) individuals.

title: Kysar


text: Kysars

title: Kysars


text:
Larivee

Statistics

 * According to the 2010 United States Census, Larivee is the 32865th most common surname in the United States, belonging to 698 individuals. Larivee is most common among White (95.7%) individuals.

title: Larivee


text: Larivees

title: Larivees


text:
Lehigh

Etymology
Variant of.

Proper noun

 * 1)  A placename from the surname:
 * 1)  A placename from the surname:

Statistics

 * According to the 2010 United States Census, Lehigh is the 32865th most common surname in the United States, belonging to 698 individuals. Lehigh is most common among White (96.56%) individuals.

title: Lehigh


text: Lehighs

title: Lehighs


text:
Kellermann

Statistics

 * According to the 2010 United States Census, Kellermann is the 32865th most common surname in the United States, belonging to 698 individuals. Kellermann is most common among White (95.13%) individuals.

title: Kellermann


text: Kellermanns

title: Kellermanns


text:
Funaro

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Funaro is the 32865th most common surname in the United States, belonging to 698 individuals. Funaro is most common among White (90.69%) individuals.

Etymology
From, variant of.

title: Funaro


text: Funaros

title: Funaros


text:
Feldner

Statistics

 * According to the 2010 United States Census, Feldner is the 32865th most common surname in the United States, belonging to 698 individuals. Feldner is most common among White (97.13%) individuals.

title: Feldner


text: Feldners

title: Feldners


text:
Hendler

Statistics

 * According to the 2010 United States Census, Hendler is the 32865th most common surname in the United States, belonging to 698 individuals. Hendler is most common among White (95.7%) individuals.

title: Hendler


text: Hendlers

title: Hendlers


text:
Irfan

Etymology
Borrowed from. This given name is mostly found in Pakistan.

title: Irfan


text: Irfans

title: Irfans


text: Category:Lishana Deni male given names from Hebrew


text: undertittelen

title: undertittelen


text:
Dubord

Statistics

 * According to the 2010 United States Census, Dubord is the 32865th most common surname in the United States, belonging to 698 individuals. Dubord is most common among White (97.42%) individuals.

title: Dubord


text: Dubords

title: Dubords


text:
Eberwein

Statistics

 * According to the 2010 United States Census, Eberwein is the 32865th most common surname in the United States, belonging to 698 individuals. Eberwein is most common among White (94.84%) individuals.

title: Eberwein


text: Eberweins

title: Eberweins


text:
Dalesandro

Statistics

 * According to the 2010 United States Census, Dalesandro is the 32865th most common surname in the United States, belonging to 698 individuals. Dalesandro is most common among White (94.13%) individuals.

title: Dalesandro


text: Dalesandros

title: Dalesandros


text:
Cullom

Statistics

 * According to the 2010 United States Census, Cullom is the 32900th most common surname in the United States, belonging to 697 individuals. Cullom is most common among White (72.45%) and Black/African American (21.95%) individuals.

title: Cullom


text: Culloms

title: Culloms


text: undertitler

title: undertitler


text:
Comacho

Statistics

 * According to the 2010 United States Census, Comacho is the 32900th most common surname in the United States, belonging to 697 individuals. Comacho is most common among Hispanic/Latino (85.65%) individuals.

title: Comacho


text: Comachos

title: Comachos


text:
Hottle

Statistics

 * According to the 2010 United States Census, Hottle is the 32900th most common surname in the United States, belonging to 697 individuals. Hottle is most common among White (96.13%) individuals.

title: Hottle


text: Hottles

title: Hottles


text:
Heinsohn

Statistics

 * According to the 2010 United States Census, Heinsohn is the 32900th most common surname in the United States, belonging to 697 individuals. Heinsohn is most common among White (93.4%) individuals.

title: Heinsohn


text: Heinsohns

title: Heinsohns


text: undertitlene

title: undertitlene


text:
Heavey

Statistics

 * According to the 2010 United States Census, Heavey is the 32900th most common surname in the United States, belonging to 697 individuals. Heavey is most common among White (94.98%) individuals.

title: Heavey


text: Heaveys

title: Heaveys


text:
Heming

Statistics

 * According to the 2010 United States Census, Heming is the 32900th most common surname in the United States, belonging to 697 individuals. Heming is most common among White (90.96%) individuals.

title: Heming


text: Hemings

title: Hemings


text:
Groeneveld

Statistics

 * According to the 2010 United States Census, Groeneveld is the 32900th most common surname in the United States, belonging to 697 individuals. Groeneveld is most common among White (93.26%) individuals.

Etymology

 * (Flevoland) Compound of and.
 * (Zuid-Holland) Compound of and . Named after a former fiefdom.

The surname derives from a compound of and  or from one of several toponyms.

title: Groeneveld


text: Groenevelds

title: Groenevelds


text:
Halbur

Statistics

 * According to the 2010 United States Census, Halbur is the 32900th most common surname in the United States, belonging to 697 individuals. Halbur is most common among White (96.7%) individuals.

title: Halbur


text: Halburs

title: Halburs


text:
Harer

Statistics

 * According to the 2010 United States Census, Harer is the 32900th most common surname in the United States, belonging to 697 individuals. Harer is most common among White (92.68%) individuals.

title: Harer


text: Harers

title: Harers


text:
Goytia

Statistics

 * According to the 2010 United States Census, Goytia is the 32900th most common surname in the United States, belonging to 697 individuals. Goytia is most common among Hispanic/Latino (92.97%) individuals.

title: Goytia


text: Goytias

title: Goytias


text: imbargoed

title: imbargoed


text: imbargoing

title: imbargoing


text:
Galka

Statistics

 * According to the 2010 United States Census, Galka is the 32900th most common surname in the United States, belonging to 697 individuals. Galka is most common among White (95.12%) individuals.

title: Galka


text: Galkas

title: Galkas


text:
Fickle

Statistics

 * According to the 2010 United States Census, Fickle is the 32900th most common surname in the United States, belonging to 697 individuals. Fickle is most common among White (96.56%) individuals.

title: Fickle


text: Fickles

title: Fickles


text:
Etling

Statistics

 * According to the 2010 United States Census, Etling is the 32900th most common surname in the United States, belonging to 697 individuals. Etling is most common among White (98.13%) individuals.

title: Etling


text: Etlings

title: Etlings


text:
Gaglione

Statistics

 * According to the 2010 United States Census, Gaglione is the 32900th most common surname in the United States, belonging to 697 individuals. Gaglione is most common among White (95.98%) individuals.

title: Gaglione


text: Gagliones

title: Gagliones


text:
Legorreta

Etymology
Borrowed from, from.

Statistics

 * According to the 2010 United States Census, Legorreta is the 32900th most common surname in the United States, belonging to 697 individuals. Legorreta is most common among Hispanic/Latino (92.25%) individuals.

title: Legorreta


text: Legorretas

title: Legorretas


text:
Laforte

Statistics

 * According to the 2010 United States Census, Laforte is the 32900th most common surname in the United States, belonging to 697 individuals. Laforte is most common among White (81.21%) individuals.

title: Laforte


text: Lafortes

title: Lafortes


text:
Mohrman

Statistics

 * According to the 2010 United States Census, Mohrman is the 32900th most common surname in the United States, belonging to 697 individuals. Mohrman is most common among White (95.98%) individuals.

title: Mohrman


text: Mohrmans

title: Mohrmans


text:
Piccoli

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Piccoli is the 32900th most common surname in the United States, belonging to 697 individuals. Piccoli is most common among White (94.98%) individuals.

Etymology
.

title: Piccoli


text: Piccolis

title: Piccolis


text:
Passarella

Statistics

 * According to the 2010 United States Census, Passarella is the 32900th most common surname in the United States, belonging to 697 individuals. Passarella is most common among White (96.41%) individuals.

title: Passarella


text: Passarellas

title: Passarellas


text: undertitlane

title: undertitlane


text:
Pretzer

Statistics

 * According to the 2010 United States Census, Pretzer is the 32900th most common surname in the United States, belonging to 697 individuals. Pretzer is most common among White (94.55%) individuals.

title: Pretzer


text: Pretzers

title: Pretzers


text:
Saric

Etymology
From or.

Statistics

 * According to the 2010 United States Census, Saric is the 32900th most common surname in the United States, belonging to 697 individuals. Saric is most common among White (97.42%) individuals.

title: Saric


text: Sarics

title: Sarics


text:
Sookdeo

Statistics

 * According to the 2010 United States Census, Sookdeo is the 32900th most common surname in the United States, belonging to 697 individuals. Sookdeo is most common among Asian/Pacific Islander (38.45%), Black/African American (33.72%), and Multi-racial (11.33%) individuals.

title: Sookdeo


text: Sookdeos

title: Sookdeos


text:
Smoyer

Statistics

 * According to the 2010 United States Census, Smoyer is the 32900th most common surname in the United States, belonging to 697 individuals. Smoyer is most common among White (94.55%) individuals.

title: Smoyer


text: Smoyers

title: Smoyers


text:
Stombaugh

Statistics

 * According to the 2010 United States Census, Stombaugh is the 32900th most common surname in the United States, belonging to 697 individuals. Stombaugh is most common among White (93.69%) individuals.

title: Stombaugh


text: Stombaughs

title: Stombaughs


text:
Streng

Statistics

 * According to the 2010 United States Census, Streng is the 32900th most common surname in the United States, belonging to 697 individuals. Streng is most common among White (95.27%) individuals.

title: Streng


text: Strengs

title: Strengs


text:
Yerian

Statistics

 * According to the 2010 United States Census, Yerian is the 32900th most common surname in the United States, belonging to 697 individuals. Yerian is most common among White (92.83%) individuals.

title: Yerian


text: Yerians

title: Yerians


text:
Zanotti

Statistics

 * According to the 2010 United States Census, Zanotti is the 32900th most common surname in the United States, belonging to 697 individuals. Zanotti is most common among White (91.1%) individuals.

title: Zanotti


text: Zanottis

title: Zanottis


text:
Vanterpool

Statistics

 * According to the 2010 United States Census, Vanterpool is the 32935th most common surname in the United States, belonging to 696 individuals. Vanterpool is most common among Black/African American (74.28%) and Hispanic/Latino (15.37%) individuals.

title: Vanterpool


text: Vanterpools

title: Vanterpools


text:
Wagle

Statistics

 * According to the 2010 United States Census, Wagle is the 32935th most common surname in the United States, belonging to 696 individuals. Wagle is most common among White (65.23%) and Asian/Pacific Islander (30.89%) individuals.

title: Wagle


text: Wagles

title: Wagles


text:
Aldredge

Statistics

 * According to the 2010 United States Census, Aldredge is the 32935th most common surname in the United States, belonging to 696 individuals. Aldredge is most common among White (79.89%) and Black/African American (14.22%) individuals.

title: Aldredge


text: Aldredges

title: Aldredges


text:
Annen

Statistics

 * According to the 2010 United States Census, Annen is the 32935th most common surname in the United States, belonging to 696 individuals. Annen is most common among White (96.84%) individuals.

Etymology
First attested as anne, annen and annum in 1309. Etymology. Not derived from or a personal name.

title: Annen


text: Annens

title: Annens


text:
Balicki

Etymology
From.

Statistics

 * According to the 2010 United States Census, Balicki is the 32935th most common surname in the United States, belonging to 696 individuals. Balicki is most common among White (93.82%) individuals.

title: Balicki


text: Balickis

title: Balickis


text:
Bentivegna

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Bentivegna is the 32935th most common surname in the United States, belonging to 696 individuals. Bentivegna is most common among White (95.83%) individuals.

title: Bentivegna


text: Bentivegnas

title: Bentivegnas


text:
Strike

Etymology
English surname, from the verb.

Statistics

 * According to the 2010 United States Census, Strike is the 32935th most common surname in the United States, belonging to 696 individuals. Strike is most common among White (93.68%) individuals.

title: Strike


text: Strikes

title: Strikes


text:
Schuchman

Statistics

 * According to the 2010 United States Census, Schuchman is the 32935th most common surname in the United States, belonging to 696 individuals. Schuchman is most common among White (94.54%) individuals.

title: Schuchman


text: Schuchmans

title: Schuchmans


text:
Schlink

Statistics

 * According to the 2010 United States Census, Schlink is the 32935th most common surname in the United States, belonging to 696 individuals. Schlink is most common among White (93.68%) individuals.

title: Schlink


text: Schlinks

title: Schlinks


text:
splitterism

Noun

 * 1) The ideology of a splitter one who prefers to split categories into smaller groups.

title: splitterism


text:
Pernice

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Pernice is the 32935th most common surname in the United States, belonging to 696 individuals. Pernice is most common among White (94.54%) individuals.

Etymology
From, probably a nickname.

title: Pernice


text: Pernices

title: Pernices


text:
Liendo

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Liendo is the 32935th most common surname in the United States, belonging to 696 individuals. Liendo is most common among Hispanic/Latino (89.22%) individuals.

title: Liendo


text: Liendos

title: Liendos


text:
Lac

Statistics

 * According to the 2010 United States Census, Lac is the 32935th most common surname in the United States, belonging to 696 individuals. Lac is most common among Asian/Pacific Islander (90.95%) individuals.

Etymology
From.

title: Lac


text: Lacs

title: Lacs


text:
Goodenow

Statistics

 * According to the 2010 United States Census, Goodenow is the 32935th most common surname in the United States, belonging to 696 individuals. Goodenow is most common among White (96.12%) individuals.

title: Goodenow


text: Goodenows

title: Goodenows


text:
Halliwell

Etymology
From +.

Statistics

 * According to the 2010 United States Census, Halliwell is the 32935th most common surname in the United States, belonging to 696 individuals. Halliwell is most common among White (92.39%) individuals.

title: Halliwell


text: Halliwells

title: Halliwells


text:
Henrichsen

Statistics

 * According to the 2010 United States Census, Henrichsen is the 32935th most common surname in the United States, belonging to 696 individuals. Henrichsen is most common among White (92.1%) individuals.

title: Henrichsen


text: Henrichsens

title: Henrichsens


text:
Hovan

Statistics

 * According to the 2010 United States Census, Hovan is the 32935th most common surname in the United States, belonging to 696 individuals. Hovan is most common among White (93.82%) individuals.

title: Hovan


text: Hovans

title: Hovans


text:
Ihrke

Statistics

 * According to the 2010 United States Census, Ihrke is the 32935th most common surname in the United States, belonging to 696 individuals. Ihrke is most common among White (94.11%) individuals.

title: Ihrke


text: Ihrkes

title: Ihrkes


text:
Buonomo

Statistics

 * According to the 2010 United States Census, Buonomo is the 32935th most common surname in the United States, belonging to 696 individuals. Buonomo is most common among White (92.39%) individuals.

title: Buonomo


text: Buonomos

title: Buonomos


text:
Bumbalough

Statistics

 * According to the 2010 United States Census, Bumbalough is the 32935th most common surname in the United States, belonging to 696 individuals. Bumbalough is most common among White (96.98%) individuals.

title: Bumbalough


text: Bumbaloughs

title: Bumbaloughs


text:
Cantoran

Statistics

 * According to the 2010 United States Census, Cantoran is the 32960th most common surname in the United States, belonging to 695 individuals. Cantoran is most common among Hispanic/Latino (98.42%) individuals.

title: Cantoran


text: Cantorans

title: Cantorans


text:
Igou

Statistics

 * According to the 2010 United States Census, Igou is the 32960th most common surname in the United States, belonging to 695 individuals. Igou is most common among White (95.83%) individuals.

title: Igou


text: Igous

title: Igous


text:
Gappa

Statistics

 * According to the 2010 United States Census, Gappa is the 32960th most common surname in the United States, belonging to 695 individuals. Gappa is most common among White (97.84%) individuals.

title: Gappa


text: Gappas

title: Gappas


text:
Gibboney

Statistics

 * According to the 2010 United States Census, Gibboney is the 32960th most common surname in the United States, belonging to 695 individuals. Gibboney is most common among White (94.53%) individuals.

title: Gibboney


text: Gibboneys

title: Gibboneys


text:
Frear

Statistics

 * According to the 2010 United States Census, Frear is the 32960th most common surname in the United States, belonging to 695 individuals. Frear is most common among White (86.76%) individuals.

title: Frear


text: Frears

title: Frears


text:
Fesmire

Statistics

 * According to the 2010 United States Census, Fesmire is the 32960th most common surname in the United States, belonging to 695 individuals. Fesmire is most common among White (95.83%) individuals.

title: Fesmire


text: Fesmires

title: Fesmires


text:
Farrel

Statistics

 * According to the 2010 United States Census, Farrel is the 32960th most common surname in the United States, belonging to 695 individuals. Farrel is most common among White (80.58%) and Black/African American (11.22%) individuals.

title: Farrel


text: Farrels

title: Farrels


text:
Langdale

Etymology
From +, "long valley".

Statistics

 * According to the 2010 United States Census, Langdale is the 32960th most common surname in the United States, belonging to 695 individuals. Langdale is most common among White (97.12%) individuals.

title: Langdale


text: Langdales

title: Langdales


text:
Kuperman

Statistics

 * According to the 2010 United States Census, Kuperman is the 32960th most common surname in the United States, belonging to 695 individuals. Kuperman is most common among White (92.81%) individuals.

title: Kuperman


text: Kupermans

title: Kupermans


text:
Karanja

Proper noun

 * 1) A place name:
 * 2) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.
 * 1) ; the name is thought to be of Indian origin.

Statistics

 * According to the 2010 United States Census, Karanja is the 32960th most common surname in the United States, belonging to 695 individuals. Karanja is most common among Black/African American (93.09%) individuals.

title: Karanja


text: Karanjas

title: Karanjas


text:
ajokielto

Noun

 * 1) driving ban, driving disqualification, suspension of a driver's license

title: ajokielto


text: zooxanthelles

title: zooxanthelles


text:
Katayama

Etymology
Borrowed from.

Statistics

 * According to the 2010 United States Census, Katayama is the 32960th most common surname in the United States, belonging to 695 individuals. Katayama is most common among Asian/Pacific Islander (83.02%) individuals.

Etymology
Borrowed from.

Etymology
.

title: Katayama


text: Katayamas

title: Katayamas


text:
Locastro

Statistics

 * According to the 2010 United States Census, Locastro is the 32960th most common surname in the United States, belonging to 695 individuals. Locastro is most common among White (93.81%) individuals.

title: Locastro


text: Locastros

title: Locastros


text:
Lutman

Statistics

 * According to the 2010 United States Census, Lutman is the 32960th most common surname in the United States, belonging to 695 individuals. Lutman is most common among White (93.67%) individuals.

title: Lutman


text: Lutmans

title: Lutmans


text: zopioks

title: zopioks


text:
Pharo

Statistics

 * According to the 2010 United States Census, Pharo is the 32960th most common surname in the United States, belonging to 695 individuals. Pharo is most common among White (96.83%) individuals.

title: Pharo


text:
Paustian

Statistics

 * According to the 2010 United States Census, Paustian is the 32960th most common surname in the United States, belonging to 695 individuals. Paustian is most common among White (94.53%) individuals.

title: Paustian


text: Paustians

title: Paustians


text:
Puac

Statistics

 * According to the 2010 United States Census, Puac is the 32960th most common surname in the United States, belonging to 695 individuals. Puac is most common among Hispanic/Latino (97.41%) individuals.

title: Puac


text: Puacs

title: Puacs


text:
ex falso quod libet

Proper noun

 * 1)  The principle or axiom of logic stating that if a contradiction or a false proposition is proven to be true, then it proves that everything is true. In symbols: $$\bot \to P$$

title: ex falso quod libet


text:
Schlicher

Statistics

 * According to the 2010 United States Census, Schlicher is the 32960th most common surname in the United States, belonging to 695 individuals. Schlicher is most common among White (94.39%) individuals.

title: Schlicher


text: Schlichers

title: Schlichers


text:
Seufert

Statistics

 * According to the 2010 United States Census, Seufert is the 32960th most common surname in the United States, belonging to 695 individuals. Seufert is most common among White (93.38%) individuals.

title: Seufert


text: Seuferts

title: Seuferts


text:
Skiff

Statistics

 * According to the 2010 United States Census, Skiff is the 32960th most common surname in the United States, belonging to 695 individuals. Skiff is most common among White (94.24%) individuals.

title: Skiff


text: Skiffs

title: Skiffs