Modul:Alternativ elifbe
Körüniş
Bu modulda eki elife içün kod bar. Başqa modullerden ve {{alternativ elifbe qullanılmamalı|...}} şablonında qullanıla.
local p = {};
p.COMMON_CODE = "crh";
p.MAIN_LANG = "crh-latn";
p.ALT_LANG = "crh-cyrl";
--[[
Eki elifbesinen metin kodlay
Argumentleri:
- main: latin elifbesindeki metin
- alt: kiril elifbesindeki metin
- mainLanguageCode: metinniñ til kodu (ya da nil)
Qaytara:
eki elifbe olsa, -{crh-Latin: ...; crh-Cyrl: ...}-
bir elifbe olsa, bu elifbesindeki metin
]]
function p.format(main, alt, mainLanguageCode)
if mainLanguageCode and (mainLanguageCode ~= p.COMMON_CODE) and (mainLanguageCode ~= p.MAIN_LANG) then
return "-{" .. main .. "}-"
end
if not alt then return main end
if not main then return alt end
if main == alt then return "-{" .. main .. "}-" end
return "-{" .. p.MAIN_LANG .. ": " .. main .. "; " .. p.ALT_LANG .. ": " .. alt .. "}-";
end
--[[
Vikimalümattan eki imlâsında asılnıñ adı ala
Argument:
- id: Vikimalümat asılnıñ kodu
Qaytara:
-{crh-Latin: ...; crh-Cyrl: ...}- formatında metin
]]
function p.wdLabel(id)
local label, labelLang = mw.wikibase.getLabelWithLang( id );
local altScriptLabel = mw.wikibase.getLabelByLang( id, p.ALT_LANG )
return p.format( label, altScriptLabel, labelLang );
end
--[[
Satırda -{ ... }- tegi olmasa, -{ ... }- tegini qoşay (şablonlar içün)
Argument:
- frame: modul çağırma malümatı
- ilk argumentı (frame.args[1]) — satır
Qaytara:
-{ ... }- tegnen metin (frame.args[1] ya da -{frame.args[1]}-)
]]
function p.wrapNoConvertationTagsFrame(frame)
return p.wrapNoConvertationTags(frame.args[1])
end
--[[
Satırda -{ ... }- tegi olmasa, -{ ... }- tegini qoşay (moduller içün)
Argument:
- s: satır
Qaytara:
-{ ... }- tegnen metin (s ya da -{s}-)
]]
function p.wrapNoConvertationTags(s)
if string.find( s, '%-{' ) or string.match( s, "^%s*$" ) then
return s
else
return "-{" .. s .. "}-"
end
end
return p