Modul:ku-bilêvkirin
Belgekirina modulê[nîşan bide] [biguhêre] [rojane bike]
- Ev belge ji Modul:ku-bilêvkirin/belge hatiye girtin.
Bikaranîn
Şablon:
Binêre jî:
local export = {}
local b = require("Modul:bingeh")
-- IPA kurdî
-- Alfabeya kurdî ya latînî
local letters1_phonemes = {
["a"] = "ɑː",
["b"] = "b",
["c"] = "d͡ʒ",
["ç"] = "t͡ʃ",
["d"] = "d",
["e"] = "ɛ",
["ê"] = "eː",
["f"] = "f",
["g"] = "ɡ",
["h"] = "h",
["i"] = "ɪ",
["î"] = "iː",
["j"] = "ʒ",
["k"] = "k",
["l"] = "l",
["m"] = "m",
["n"] = "n",
["o"] = "oː",
["p"] = "p",
["q"] = "q",
["r"] = "ɾ",
["s"] = "s",
["ş"] = "ʃ",
["t"] = "t",
["u"] = "ʊ",
["û"] = "uː",
["v"] = "v",
["w"] = "w",
["x"] = "x",
["y"] = "j",
["z"] = "z",
-- Tîpên taybet (soranî)
["ẍ"] = "ɣ", -- mînak: aẍa
["ḧ"] = "ħ",
["ʿ"] = "ʕ",
["'"] = "ʕ",
-- ["ll"] = "ɫ", -- an jî /lˁ/; bi erebî (ڵ)
-- ["rr"] = "r" bi erebî (ڕ)
-- Kurdiya başûr (kirmaşanî)
["ł"] = "ɫ", -- bnr. "ll"; mînak bał, diɫ
["ň"] = "ŋ", -- mînak: maň, seň
["ř"] = "r", -- bnr. 'rr'; mînak: piř
["ü"] = "yː", -- mînak: tü
--- Tîpên ne kurdî
["ṣ"] = "sˤ", -- ص
["ṭ"] = "tˤ", -- ط
["ẓ"] = "zˤ"
}
-- Kîtekirin
local dengder = "aeiîuûêoAEÊIÎOUÛ"
local dengderek = "[" .. dengder .. "]"
local bedeng = "[^" .. dengder .. ". -]"
local kitekirin_sablon = "(" .. dengderek .. ")(" .. bedeng .. "?)(" .. bedeng .. "?)(" .. dengderek .. ")"
local function kitekirin(peyv)
peyv = mw.ustring.gsub(peyv, "%-(" .. bedeng .. ")%-(" .. bedeng .. ")", "%1.%2")
peyv = string.gsub(peyv, "%-", ".")
-- Add syllable breaks.
for count = 1, 2 do
peyv = mw.ustring.gsub(
peyv,
kitekirin_sablon,
function(a, b, c, d)
if c == "" and b ~= "" then
c, b = b, ""
end
return a .. b .. "." .. c .. d
end
)
end
peyv = mw.ustring.gsub(peyv, '([AEÊIÎOUÛaeêiîouûy])([^AEÊIÎOUÛaeêiîouûy. ])([^AEÊIÎOUÛaeêiîouûy. ])([^AEÊIÎOUÛaeêiîouûy. ])', "%1%2%3.%4")
return peyv
end
local function IPA_peyv(peyv)
peyv = mw.ustring.lower(peyv) -- nivîsa biçûk
peyv = mw.ustring.gsub(peyv,"k%(h%)", "kʰ") -- k(h) --> kʰ
peyv = mw.ustring.gsub(peyv,"p%(h%)", "pʰ") -- p(h) --> pʰ
peyv = mw.ustring.gsub(peyv,"t%(h%)", "tʰ") -- t(h) --> tʰ
peyv = mw.ustring.gsub(peyv,"x%(w%)", "xʷ") -- x(w) --> xʷ
peyv = mw.ustring.gsub(peyv,"%('%)", "ˤ") -- s(') --> sˤ
peyv = mw.ustring.gsub(peyv,'xw', 'xʷ') -- mînak: xwarin
peyv = mw.ustring.gsub(peyv,'nɡ', 'ŋɡ') -- minak: ferheng
peyv = mw.ustring.gsub(peyv,'nk', 'ŋk') -- minak: bank
peyv = mw.ustring.gsub(peyv, 'll', 'ɫ') -- an jî /lˁ/; mînak: bi soranî gull (گوڵ) (bi kurmancî gul); bi erebî (ڵ)
peyv = kitekirin(peyv)
peyv = mw.ustring.gsub(peyv, '.', letters1_phonemes)
peyv = mw.ustring.gsub(peyv,"t͡ʃ%(h%)" ,"t͡ʃʰ") -- ç(h) --t͡ʃʰ
peyv = mw.ustring.gsub(peyv, '^ɾ', "r") -- mînak: roj
peyv = mw.ustring.gsub(peyv,'ɾɾ', 'r') -- mînak: pirr; bi erebî (ڕ)
peyv = mw.ustring.gsub(peyv,'ɪj', 'iː') -- iy → îy
if mw.ustring.find(peyv, "\\ʕ") then
kat = "[[Kategorî:Giranî (dij rêgezê)]]"
else
kat = ''
end
peyv = mw.ustring.gsub(peyv,"\\ʕ", "'") -- Giranî (stress)
peyv = mw.ustring.gsub(peyv,'"', "'") -- Giranî (stress)
-- + Giranî (stress) li ser kîteya dawî
tab_peyv = mw.text.split(peyv, ' ')
for k, v in ipairs(tab_peyv) do
tab_kite = mw.text.split(v, '%.')
if not mw.ustring.find(v, "'") then
if (#tab_kite ~= 1) then
tab_kite[#tab_kite] = "ˈ" .. tab_kite[#tab_kite]
end
end
tab_peyv[k] = table.concat(tab_kite, '')
end
ipa = table.concat(tab_peyv, ' ')
-- Add default stress mark if not present
if not mw.ustring.find(ipa, "") then
ipa = "" .. ipa
end
return {ipa, kat}
end
function export.IPA(frame)
local peyvT = {}
for _, peyv in ipairs(frame:getParent().args) do
table.insert(peyvT, peyv)
end
if #peyvT == 0 then
peyvT = {mw.title.getCurrentTitle().text}
end
for key, peyv in ipairs(peyvT) do
peyvT[key] = IPA_peyv(peyv)[1] .. IPA_peyv(peyv)[2]
end
return '[[IPA]]<sup>([[Wîkîferheng:IPA kurdî|kilîd]])</sup>: <span class="IPA">/' .. table.concat(peyvT, '/, /') .. '/</span>'
.. b.bike_kategori_naverok("Bilêvkirina IPAyê bi kurmancî")
end
function export.kite(frame)
local peyv
if (frame:getParent().args[1]) then
peyv = frame:getParent().args[1]
else
peyv = mw.title.getCurrentTitle().text
end
return (mw.ustring.gsub(kitekirin(peyv), '%.', '·'))
end
return export