Модуль:Langs: различия между версиями
Kaganer (обсуждение | вклад) +be +ka |
Нет описания правки |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 18: | Строка 18: | ||
function Langs.getPrefixByCode(code) |
function Langs.getPrefixByCode(code) |
||
local l1, l2, l3, l4 = Langs.processCode(code) |
local l1, l2, l3, l4, l5 = Langs.processCode(code) |
||
return mw.ustring.lower(l1) |
return mw.ustring.lower(l1) |
||
end |
end |
||
Строка 32: | Строка 32: | ||
if(text == nil) then text = "Module:Langs.launch Error: empty text" end |
if(text == nil) then text = "Module:Langs.launch Error: empty text" end |
||
if(code == nil) then code = "Module:Langs.launch Error: empty code" end |
if(code == nil) then code = "Module:Langs.launch Error: empty code" end |
||
local l1, l2, l3, l4 = Langs.processCode(code) |
local l1, l2, l3, l4, l5 = Langs.processCode(code) |
||
if(l4 == false) then return "[[" .. l1 .. " язык|" .. l2 .. "]] ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. " языке]][[Категория:В модуле Langs отсутствует описание языка]]" |
if(l4 == false) then return "[[" .. l1 .. " язык|" .. l2 .. "]] ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. " языке]][[Категория:В модуле Langs отсутствует описание языка]]" |
||
elseif (code == "ar") then return "[[" .. l1 .. " язык|" .. l2 .. "]]" .. " ‏" .. text .. "‎[[Категория:Содержат текст на " .. l3 .. " языке]]" |
elseif (code == "ar") then return "[[" .. l1 .. " язык|" .. l2 .. "]]" .. " ‏" .. text .. "‎[[Категория:Содержат текст на " .. l3 .. " языке]]" |
||
elseif (code == "he") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]" |
elseif (code == "he") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]" |
||
elseif (code == "ps") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]" |
|||
elseif (code == "yi") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]" |
elseif (code == "yi") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]" |
||
end |
end |
||
return "[[" .. l1 .. " |
if(l5 == false) then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. "]]" |
||
else return "[[" .. l1 .. " язык|" .. l2 .. "]]" .. " ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. " языке]]" |
|||
end |
|||
end |
end |
||
function Langs.processCode(code) |
function Langs.processCode(code) |
||
if (code == "ar") then return "Арабский", "араб.", "арабском", true |
if (code == "ar") then return "Арабский", "араб.", "арабском", true, true |
||
elseif (code == "az") then return "Азербайджанский", "азерб.", "азербайджанском", true |
elseif (code == "az") then return "Азербайджанский", "азерб.", "азербайджанском", true, true |
||
elseif (code == "be") then return "Белорусский", "бел.", "белорусском", true |
elseif (code == "be") then return "Белорусский", "бел.", "белорусском", true, true |
||
elseif (code == "bg") then return "Болгарский", "болг.", "болгарском", true |
elseif (code == "bg") then return "Болгарский", "болг.", "болгарском", true, true |
||
elseif (code == "co") then return "Корейский", "кор.", "корейском", true |
elseif (code == "co") then return "Корейский", "кор.", "корейском", true, true |
||
elseif (code == "de") then return "Немецкий", "нем.", "немецком", true |
elseif (code == "de") then return "Немецкий", "нем.", "немецком", true, true |
||
elseif (code == "el") then return "Греческий", "греч.", "греческом", true |
elseif (code == "el") then return "Греческий", "греч.", "греческом", true, true |
||
elseif (code == "en") then return "Английский", "англ.", "английском", true |
elseif (code == "en") then return "Английский", "англ.", "английском", true, true |
||
elseif (code == " |
elseif (code == "en-gb") then return "Британский вариант английского языка", "брит. англ.", "британском варианте английского языка", true, false |
||
elseif (code == " |
elseif (code == "en-us") then return "Американский вариант английского языка", "амер. англ.", "американском варианте английского языка", true, false |
||
elseif (code == " |
elseif (code == "es") then return "Испанский", "исп.", "испанском", true, true |
||
elseif (code == " |
elseif (code == "fr") then return "Французский", "фр.", "французском", true, true |
||
elseif (code == " |
elseif (code == "haw") then return "Гавайский", "гав.", "гавайском", true, true |
||
elseif (code == " |
elseif (code == "he") then return "Иврит", "ивр.", "иврите", true, true |
||
elseif (code == " |
elseif (code == "hy") then return "Армянский", "арм.", "армянском", true, true |
||
elseif (code == " |
elseif (code == "it") then return "Итальянский", "итал.", "итальянском", true, true |
||
elseif (code == " |
elseif (code == "ka") then return "Грузинский", "груз.", "грузинском", true, true |
||
elseif (code == " |
elseif (code == "kk") then return "Казахский", "каз.", "казахском", true, true |
||
elseif (code == " |
elseif (code == "lv") then return "Латышский", "латыш.", "латышском", true, true |
||
elseif (code == " |
elseif (code == "pl") then return "Польский", "польск.", "польском", true, true |
||
elseif (code == " |
elseif (code == "ps") then return "Пушту", "пушту", "пушту", true, true |
||
elseif (code == " |
elseif (code == "pt") then return "Португальский", "порт.", "португальском", true, true |
||
elseif (code == " |
elseif (code == "rm") then return "Романшский", "ромш.", "романшском", true, true |
||
elseif (code == " |
elseif (code == "ro") then return "Румынский", "рум.", "румынском", true, true |
||
elseif (code == " |
elseif (code == "ru") then return "Русский", "рус.", "русском", true, true |
||
elseif (code == " |
elseif (code == "sv") then return "Шведский", "швед.", "шведском", true, true |
||
elseif (code == " |
elseif (code == "tr") then return "Турецкий", "тур.", "турецком", true, true |
||
elseif (code == "uk") then return "Украинский", "укр.", "украинском", true, true |
|||
⚫ | |||
elseif (code == "yi") then return "Идиш", "идиш", "идише", true, true |
|||
elseif (code == "zh") then return "Китайский", "кит.", "китайском", true, true |
|||
⚫ | |||
end |
end |
||
end |
end |
Версия от 22:38, 6 сентября 2018
- Страница документации: Модуль:FillLang/doc.
Модуль Langs предназначен для для форматирования включения текста на иностранных языках в шаблоны и модули. Является базовым для шаблона {{Langs}}, с помощью которого включается в статьи.
Если модуль встретил незнакомый язык он представляет его кодом и добавляет страницы с такими ошибками в Категория:В модуле Langs отсутствует описание языка.
Инструкцию по исправлению смотрите в Модуль:Langs/Улучшение.
Функции
launch
Основная функция launch(code, text) выводит форматированный текст.
Обязательными являются два параметра:
- code — код языка.
- text — выводимый текст.
Использование в модулях:
require("Module:Langs").launch(code, text)
Использование в шаблонах:
{{#invoke:Langs|launchInvoke|code|text}}
Пример:
{{#invoke:Langs|launchInvoke|uk|мова}}
Вывод:
укр. мова
getPrefixByCode
Функция getPrefixByCode возвращает название языка по его двухбуквенному коду.
Обязательными является один параметр:
- code — код языка.
Использование в модулях:
require("Module:Langs").getPrefixByCode(code)
Использование в шаблонах:
{{#invoke:Langs|getPrefixByCode|code}}
Пример:
{{#invoke:Langs|getPrefixByCodeInvoke|sr}}
Вывод:
sr
--[[
------------------------------------------
-- Langs
-- Модуль для заполнения в модулях шабона lang.
------------------------------------------
--]]
local Langs = {}
local Declension = require("Module:Declension")
-- Wrapper for invoke
-- Usage:
-- {{#invoke:Langs|getPrefixByCodeInvoke|code}}
function Langs.getPrefixByCodeInvoke(frame)
return Langs.getPrefixByCode(frame.args[1])
end
function Langs.getPrefixByCode(code)
local l1, l2, l3, l4, l5 = Langs.processCode(code)
return mw.ustring.lower(l1)
end
-- Wrapper for invoke
-- Usage:
-- {{#invoke:Langs|launch|code|text}}
function Langs.launchInvoke(frame)
return Langs.launch(frame.args[1], frame.args[2])
end
function Langs.launch(code, text)
if(text == nil) then text = "Module:Langs.launch Error: empty text" end
if(code == nil) then code = "Module:Langs.launch Error: empty code" end
local l1, l2, l3, l4, l5 = Langs.processCode(code)
if(l4 == false) then return "[[" .. l1 .. " язык|" .. l2 .. "]] ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. " языке]][[Категория:В модуле Langs отсутствует описание языка]]"
elseif (code == "ar") then return "[[" .. l1 .. " язык|" .. l2 .. "]]" .. " ‏" .. text .. "‎[[Категория:Содержат текст на " .. l3 .. " языке]]"
elseif (code == "he") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]"
elseif (code == "ps") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]"
elseif (code == "yi") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Категория:Содержат текст на " .. l3 .. "]]"
end
if(l5 == false) then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. "]]"
else return "[[" .. l1 .. " язык|" .. l2 .. "]]" .. " ''" .. text .. "''[[Категория:Содержат текст на " .. l3 .. " языке]]"
end
end
function Langs.processCode(code)
if (code == "ar") then return "Арабский", "араб.", "арабском", true, true
elseif (code == "az") then return "Азербайджанский", "азерб.", "азербайджанском", true, true
elseif (code == "be") then return "Белорусский", "бел.", "белорусском", true, true
elseif (code == "bg") then return "Болгарский", "болг.", "болгарском", true, true
elseif (code == "co") then return "Корейский", "кор.", "корейском", true, true
elseif (code == "de") then return "Немецкий", "нем.", "немецком", true, true
elseif (code == "el") then return "Греческий", "греч.", "греческом", true, true
elseif (code == "en") then return "Английский", "англ.", "английском", true, true
elseif (code == "en-gb") then return "Британский вариант английского языка", "брит. англ.", "британском варианте английского языка", true, false
elseif (code == "en-us") then return "Американский вариант английского языка", "амер. англ.", "американском варианте английского языка", true, false
elseif (code == "es") then return "Испанский", "исп.", "испанском", true, true
elseif (code == "fr") then return "Французский", "фр.", "французском", true, true
elseif (code == "haw") then return "Гавайский", "гав.", "гавайском", true, true
elseif (code == "he") then return "Иврит", "ивр.", "иврите", true, true
elseif (code == "hy") then return "Армянский", "арм.", "армянском", true, true
elseif (code == "it") then return "Итальянский", "итал.", "итальянском", true, true
elseif (code == "ka") then return "Грузинский", "груз.", "грузинском", true, true
elseif (code == "kk") then return "Казахский", "каз.", "казахском", true, true
elseif (code == "lv") then return "Латышский", "латыш.", "латышском", true, true
elseif (code == "pl") then return "Польский", "польск.", "польском", true, true
elseif (code == "ps") then return "Пушту", "пушту", "пушту", true, true
elseif (code == "pt") then return "Португальский", "порт.", "португальском", true, true
elseif (code == "rm") then return "Романшский", "ромш.", "романшском", true, true
elseif (code == "ro") then return "Румынский", "рум.", "румынском", true, true
elseif (code == "ru") then return "Русский", "рус.", "русском", true, true
elseif (code == "sv") then return "Шведский", "швед.", "шведском", true, true
elseif (code == "tr") then return "Турецкий", "тур.", "турецком", true, true
elseif (code == "uk") then return "Украинский", "укр.", "украинском", true, true
elseif (code == "yi") then return "Идиш", "идиш", "идише", true, true
elseif (code == "zh") then return "Китайский", "кит.", "китайском", true, true
else return code, code..".", code, false, false
end
end
return Langs