İçeriğe atla

Modul:Alternativ elifbe

QIRIMTATAR VİKİPEDİYASINIÑ MALÜMATI
Lua kodu Bu Lua tilinde kod moduli.
(kod — añlatuv — bütün)

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