Module:translit-redirect
Appearance
- De neikommende dokumintaasje stiet op Module:translit-redirect/dokumintaasje. [bewurkje]
Oernommen fan en:Module:translit-redirect.
local export = {}
function export.tr(text, lang, sc, debug_mode)
if not sc then
sc = require("Module:scripts").findBestScript(text, require("Module:languages").getByCode(lang)):getCode()
end
local language_data = mw.loadData("Module:translit-redirect/data")[lang]
if language_data then
script_data = language_data[sc]
if script_data then
if script_data.module then
local success, translit_module = pcall(require, "Module:" .. 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
if language_data.noError then
require("Module:debug").track{
"translit-redirect/incorrect-script/" .. lang,
"translit-redirect/incorrect-script/" .. lang .. "/" .. sc,
}
mw.log("script code (" .. sc .. ") for language code " .. lang .. " not found in Module:translit-redirect/data; text: " .. text)
else
local err = language_data.error
if not err then
local canonical_names = mw.loadData("Module:languages/code to canonical name")
local script_names = mw.loadData("Module:scripts/code to canonical name")
err = script_names[sc] .. " is an invalid script for the " .. canonical_names[lang] .. " language."
end
error(err)
end
end
end
end
return export