Модуль:Localization: различия между версиями
Материал из Eco - Русская Wiki
[непроверенная версия] | [досмотренная версия] |
Avaren (обсуждение | вклад) Новая страница: «local p = {} local Utils = require('Module:Utils') function p.t(msg, count) if count == nil then count=1 end l = mw.loadData('Module:Localization/dat...» |
Avaren (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 26: | Строка 26: | ||
end | end | ||
function p.tag(tag) | |||
l = mw.loadData('Module:Localization/tag_data') | |||
local translatedTag = l[tag] | |||
if translatedTag == nil then | |||
return tag | |||
end | |||
return translatedTag | |||
end | |||
function p.translate(frame) | function p.translate(frame) |
Текущая версия от 11:37, 8 марта 2021
Для документации этого модуля может быть создана страница Модуль:Localization/doc
local p = {}
local Utils = require('Module:Utils')
function p.t(msg, count)
if count == nil then
count=1
end
l = mw.loadData('Module:Localization/data')
local msgs = l.msgs[msg]
if msgs == nil then
mw.log('WARNING: Word not translated: ' .. msg)
return msg
end
if count==1 or Utils.tableLen(msgs) == 1 then
return msgs[1]
else
-- Pluralise
local lang = mw.getContentLanguage()
return lang:plural(count, msgs)
end
end
function p.tag(tag)
l = mw.loadData('Module:Localization/tag_data')
local translatedTag = l[tag]
if translatedTag == nil then
return tag
end
return translatedTag
end
function p.translate(frame)
local args = Utils.normaliseArgs(frame)
local msg = args.msg or args[1]
local count = tonumber(args.count or args[2])
return p.t(msg, count)
end
return p