Wiktionary gdwiktionary https://gd.wiktionary.org/wiki/Pr%C3%AComh-Dhuilleag MediaWiki 1.47.0-wmf.20 case-sensitive Meadhan Sònraichte Deasbaireachd Cleachdaiche Deasbaireachd a' chleachdaiche Wiktionary An deasbaireachd aig Wiktionary Faidhle Deasbaireachd an fhaidhle MediaWiki Deasbaireachd MediaWiki Teamplaid Deasbaireachd na teamplaid Cobhair Deasbaireachd na cobharach Roinn-seòrsa Deasbaireachd na roinn-seòrsa TimedText TimedText talk Mòideal Deasbaireachd mòideil Event Event talk Prìomh-Dhuilleag 0 1625 89268 88182 2026-09-22T00:44:02Z Altronic 4137 change stuff 89268 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <templatestyles src="Main Page/style.css" /> {| style="border: 0; background-color: #ffffff" cellpadding="0" cellspacing="10" {| class="main-page-top-header" style="width: 100%; border-width: 3px; border-style: solid; padding: 5px; margin-top: 0; margin-bottom: 0" | style="text-align:center;"|<span style="font-size:200%;border:none;line-height:120%">Uicleir,</span> <span style="font-size:200%;border:none;white-space: nowrap">am faclair [[saor]]</span> <p>Tha '''[[Wiktionary:Stadastaireachd|{{#invoke:EntryCount|calculate}}]]''' innteartan le sònrachadh anns a' Ghàidhlig ann</p> | colspan="2" style="text-align:center" | '''Brabhsaich:''' [[:Category:A h-uile cànan|A h-uile cànan]] • [[:Category:All topics|List of topics]] • [[Special:Random|Random word]] • [[Special:Newpages|Innteartan ùra]] <inputbox> type=search2 buttonlabel=Lorg break=no autocapitalize=none </inputbox> |} |- |<br> Fàilte gu Uicleir, am faclair saor! 'S e faclair saor agus co-obrachail a th' ann, leis an amas a chruthachadh faclair a bhith a' mìneachadh a h-uile facal anns a h-uile cànan anns a' Ghàidhlig. Ma tha Gàidhlig agaibhse, no ma tha fhios dhen cànan prògramachaidh lua agaibhse, cuidichibh sinn leis an fhaclair-sa! |- {{CànananEile}} |} hb9vz2mtv6ik5jf6zsb4eh7zdvk4wr2 89269 89268 2026-09-22T00:58:43Z Altronic 4137 89269 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <templatestyles src="Main Page/style.css" /> {| style="border: 0; background-color: #ffffff" cellpadding="0" cellspacing="10" {| class="main-page-top-header" style="width: 100%; border-width: 3px; border-style: solid; padding: 5px; margin-top: 0; margin-bottom: 0" | style="text-align:center;"|<span style="font-size:200%;border:none;line-height:120%">Uicleir,</span> <span style="font-size:200%;border:none;white-space: nowrap">am faclair [[saor]]</span> <p>Tha '''[[Wiktionary:Stadastaireachd|{{#invoke:EntryCount|calculate}}]]''' innteartan le sònrachadh anns a' Ghàidhlig ann</p> | colspan="2" style="text-align:center" | <inputbox> type=search2 buttonlabel=Lorg break=no autocapitalize=none </inputbox> |} |- |<br> Fàilte gu Uicleir, am faclair saor! 'S e faclair saor agus co-obrachail a th' ann, leis an amas a chruthachadh faclair a bhith a' mìneachadh a h-uile facal anns a h-uile cànan anns a' Ghàidhlig. Ma tha Gàidhlig agaibhse, no ma tha fhios dhen cànan prògramachaidh lua agaibhse, cuidichibh sinn leis an fhaclair-sa! |- {{CànananEile}} |} t7vjsda4u2mp0bgjzanjwyojdyduphn Mòideal:gd-conj 828 16619 89270 88994 2026-09-22T02:07:13Z Altronic 4137 fix 89270 Scribunto text/plain local export = {} local wikitext = [=[ ! rowspan="2" | taisbeanach ! colspan="2" | neo-eisimeileach ! colspan="2" | eisimeileach |- class="secondary" ! class="secondary" | [[pearsanta]] ! class="secondary" | [[fulangach]] ! class="secondary" | [[pearsanta]] ! class="secondary" | [[fulangach]] |- ! caithte | {{{past-indep}}} | {{{past-indep-impersonal}}} | {{{past-dep}}} | {{{past-dep-impersonal}}} |- ! teachdail | {{{fut-indep}}} | {{{fut-indep-impersonal1}}}</br>{{{fut-indep-impersonal2}}} | {{{fut-dep}}} | {{{fut-dep-impersonal1}}}</br>{{{fut-indep-impersonal2}}} |- ! teachdail dàimheach | {{{relfut}}} | {{{relfut-impersonal}}} | — | — |- | class="separator" colspan=9 | |- class="inflection-table-cyan" ! rowspan="2" | conditional ! colspan="2" | neo-eisimeileach ! colspan="2" | eisimeileach |- class="inflection-table-cyan" ! class="secondary" | [[pearsanta]] ! class="secondary" | [[fulangach]] ! class="secondary" | [[pearsanta]] ! class="secondary" | [[fulangach]] |- class="inflection-table-cyan" ! a' chiad phearsa singilte | {{{cond-indep-first}}} | rowspan=3 | {{{cond-indep-first-impersonal}}}<br>{{{cond-indep-first-impersonal-l1}}}<sup>1</sup><br>{{{cond-indep-first-impersonal-l2}}}<sup>1</sup> | {{{cond-dep-first}}} | rowspan=3 | {{{cond-dep-first-impersonal}}}<br>{{{cond-dep-first-impersonal-l1}}}<sup>1</sup><br>{{{cond-dep-first-impersonal-l2}}}<sup>1</sup> |- class="inflection-table-cyan" ! a' chiad phearsa iolra | {{{cond-indep-first-pl}}}<br>{{{cond-indep-third}}} sinn | {{{cond-dep-first-pl}}}<br>{{{cond-dep-third}}} sinn |- class="inflection-table-cyan" ! an dàrna/treas pearsa | {{{cond-indep-third}}} | {{{cond-dep-third}}} |- | class="separator" colspan=4 | ! colspan=5 rowspan=6 class=blank-end-row | |- class="inflection-table-green" ! rowspan=2 | àithneach ! colspan=3 | neo-eisimeileach |- class="inflection-table-green" ! class="secondary" | singilte ! class="secondary" | iolra ! class="secondary" | [[fulangach]] |- class="inflection-table-green" ! a' chiad phearsa | {{{imper-first}}} | {{{imper-first-pl}}} | rowspan=3 | {{{imper-impersonal1}}}<br>{{{imper-impersonal2}}} |- class="inflection-table-green" ! an dàrna pearsa | {{{imper-second}}} | {{{imper-second-pl}}} |- class="inflection-table-green" ! an treas pearsa | colspan=2 | {{{imper-third}}} |- | class="separator" colspan=4 | ! colspan=5 rowspan=4 class=blank-end-row | |- class="inflection-table-amber" ! pàirtear caithte | colspan=3 | {{{participle}}} |- | class="separator" colspan=4 | |- class="inflection-table-yellow" ! ainmear gnìomhaireach | colspan=3 | {{{vn}}} ]=] local participle = nil local vn = nil local fut = nil local langcode = require("Module:languages").getByCode("gd") local m_links = require("Module:links") local m_inflection_table = require("Module:inflection-table") local function mutate(term) local lower = mw.ustring.lower(term) local out = term if mw.ustring.find(lower, "^[bsdfgmpst]h") then return out end if mw.ustring.find(lower, "^[bcdfgmpt]") then out = mw.ustring.gsub(term, "^(.)", "%1h") elseif mw.ustring.find(lower, "^s[aeiouàèìòùáéólnr]") then out = mw.ustring.gsub(term, "^(.)", "%1h") end if mw.ustring.find(lower, "^[k]") then out = mw.ustring.gsub(term, "^(.)", "ch") end if mw.ustring.find(lower, "^[aàeèiìoòuùáéó]") then out = mw.ustring.gsub(term, "^(.)", "dh'%1") elseif mw.ustring.find(out, "^fh[aeiouàèìòùáéó]") then out = mw.ustring.gsub(out, "^(.)", "dh'%1") end return out end local function ending(type, stem, broad, slender) local out if type == "broad" then out = stem .. broad else out = stem .. slender end return out end local function get_vowel_type(string) local function contains(table, entry) for _, value in ipairs(table) do if value == entry then return true end end return false end local len = mw.ustring.len(string) local broad = { 'a', 'à', 'á', 'o', 'ò', 'ó', 'u', 'ù', 'ú' } local slender = { 'e', 'è', 'é', 'i', 'ì' } for i = len, 1, -1 do local char = mw.ustring.sub(string, i, i) if contains(broad, char) then return "broad" elseif contains(slender, char) then return "slender" end end return "no-vowel" end local function conjugate(param, term) local conj = term local type = get_vowel_type(conj) if param == "participle" then if participle then return m_links.full_link({ lang = langcode, term = participle }, nil, true) else return m_links.full_link({ lang = langcode, term = ending(type, conj, "ta", "te") }) end end if param == "vn" then conj = m_links.full_link({ lang = langcode, term = vn }, nil, true) return conj end -- switch statement of all the possible conjugation types -- indicative if param == "past-indep" or param == "past-dep" then conj = mutate(conj) elseif param == "past-indep-impersonal" or param == "past-dep-impersonal" then conj = mutate(conj) conj = ending(type, conj, "adh", "eadh") elseif param == "fut-indep" then if fut ~= nil then conj = fut type = get_vowel_type(conj) end conj = ending(type, conj, "aidh", "idh") elseif param == "fut-indep-impersonal1" or param == "fut-dep-impersonal1" or param == "imper-impersonal1" then if fut ~= nil then conj = fut type = get_vowel_type(conj) end conj = ending(type, conj, "ar", "ear") elseif param == "fut-indep-impersonal2" or param == "fut-dep-impersonal2" or param == "imper-impersonal2" then if fut ~= nil then -- TODO: forms with syncope don't have the ~tar forms, see [[labhair]] as an example conj = fut type = get_vowel_type(conj) end conj = ending(type, conj, "tar", "tear") elseif param == "fut-dep" then return m_links.full_link({ term = conj, lang = langcode }, nil, true) elseif param == "relfut" then conj = mutate(conj) conj = ending(type, conj, "as", "eas") elseif param == "relfut-impersonal" then conj = mutate(conj) conj = ending(type, conj, "ar", "ear") -- conditional elseif param == "cond-indep-first" then conj = mutate(conj) conj = ending(type, conj, "ainn", "inn") elseif param == "cond-indep-first-impersonal" then conj = mutate(conj) conj = ending(type, conj, "tadh", "teadh") elseif param == "cond-indep-first-impersonal-l1" then conj = mutate(conj) conj = ending(type, conj, "aist", "ist") elseif param == "cond-indep-first-impersonal-l2" then conj = mutate(conj) conj = ending(type, conj, "aiste", "iste") elseif param == "cond-indep-first-pl" then conj = mutate(conj) conj = ending(type, conj, "amaid", "eamaid") elseif param == "cond-indep-third" then conj = mutate(conj) conj = ending(type, conj, "adh", "eadh") elseif param == "cond-dep-first" then conj = ending(type, conj, "ainn", "inn") elseif param == "cond-dep-first-impersonal" then conj = ending(type, conj, "tadh", "teadh") elseif param == "cond-dep-first-impersonal-l1" then conj = ending(type, conj, "aist", "ist") elseif param == "cond-dep-first-impersonal-l2" then conj = ending(type, conj, "aiste", "iste") elseif param == "cond-dep-first-pl" then conj = ending(type, conj, "amaid", "eamaid") elseif param == "cond-dep-third" then conj = ending(type, conj, "adh", "eadh") elseif param == "imper-first" then conj = ending(type, conj, "am", "eam") elseif param == "imper-first-pl" then conj = ending(type, conj, "amaid", "eamaid") elseif param == "imper-second" then return m_links.full_link({ term = conj, lang = langcode }, nil, true) elseif param == "imper-second-pl" then conj = ending(type, conj, "aibh", "ibh") elseif param == "imper-third" then conj = ending(type, conj, "adh", "eadh") end return m_links.full_link({ term = conj, lang = langcode }, nil, true) end function export.draw(frame) local parentargs = frame:getParent().args local params = { [1] = { required = true, type = "parameter" }, ["pp"] = true, ["fut"] = true } local args = require("Module:parameters").process(parentargs, params) local term = require("Module:headword/data").pagename vn = args[1] if args["pp"] ~= nil then participle = args["pp"] end if args["fut"] ~= nil then fut = args["fut"] end local result = m_inflection_table.make_top{ title = "Co-nasgadh dhe " .. m_links.full_link({ lang = langcode, alt = term }, 'term') .. " ([[Appendix:Gnìomhairean na Gàidhlig|riaghailteach]])", tall = "yes", palette = "blue" } result = result .. '\n' result = result .. mw.ustring.gsub(wikitext, "{{{([a-z0-9_-]+)}}}", function(param) return conjugate(param, term) end) result = result .. m_inflection_table.make_bottom{ notes = "1. Ann an Leòdhas" } return result end return export 192up8euzr0ifyaiow9kaunjv1vgfqg Teamplaid:Main Page/style.css 10 18119 89266 2026-09-21T18:50:57Z Altronic 4137 add styles 89266 sanitized-css text/css .main-page-body-text { background: var(--background-color-base, transparent); } .main-page-top-header { background: var(--wikt-palette-lightindigo, #e9e9ff); border: var(--wikt-palette-indigo, #aaaaee); } .main-page-behind-the-scenes { background: var(--wikt-palette-lighterblue, #ebf4ff); border: var(--wikt-palette-dulllightblue, #aabbdd); } .main-page-list-of-wiktionaries { background: var(--wikt-palette-lightergrey, #eeeeee); border: var(--wikt-palette-grey, #9e9e9e); } hxvbd1hib7gdytc44wmx4392qh7bgsr 89267 89266 2026-09-21T18:51:17Z Altronic 4137 Protected "[[Teamplaid:Main Page/style.css]]" ([Deasaich=Na ceadaich ach rianadairean] (buan) [Gluais=Na ceadaich ach rianadairean] (buan)) 89266 sanitized-css text/css .main-page-body-text { background: var(--background-color-base, transparent); } .main-page-top-header { background: var(--wikt-palette-lightindigo, #e9e9ff); border: var(--wikt-palette-indigo, #aaaaee); } .main-page-behind-the-scenes { background: var(--wikt-palette-lighterblue, #ebf4ff); border: var(--wikt-palette-dulllightblue, #aabbdd); } .main-page-list-of-wiktionaries { background: var(--wikt-palette-lightergrey, #eeeeee); border: var(--wikt-palette-grey, #9e9e9e); } hxvbd1hib7gdytc44wmx4392qh7bgsr