Modül:alfabeçeviri-yönlendirme

Vikisözlük sitesinden
Modül belgelemesi [Düzenle] [Tazele]


local export = {}

function export.tr(text, lang, sc, debug_mode)
	if not sc then
		sc = require("Modül:alfabeler").bulEnIyiAlfabe(text, require("Modül:diller").getirKodaGore(lang)):getirKod()
	end
	
	local language_data = mw.loadData("Modül:alfabeçeviri-yönlendirme/veri")[lang]
	
	if language_data then
		local script_data = language_data[sc]
		
		if script_data then
			if script_data.module then
				local success, translit_module = pcall(require, "Modül:" .. script_data.module)
			
				if success then
					return translit_module.tr(text, lang, sc, debug_mode)
				else
					error(translit_module)
				end
			else
				return nil
			end
		else
			--require("Module:debug").track{
			--	"translit-redirect/incorrect-script/" .. lang,
			--	"translit-redirect/incorrect-script/" .. lang .. "/" .. sc,
			--}
			mw.log(lang .. " dili için girilmiş alfabe kodu (" .. sc .. ") Modül:alfabeçeviri-yönlendirme/veri sayfasında bulunamadı; yazı: " .. text)
		end
	end
end

return export