Модуль:I18n: различия между версиями
Перейти к навигации
Перейти к поиску
Буквица>The Fox Bot м Защитил страницу Модуль:I18n: критический шаблон или модуль: согласно Служебная:Постоянная ссылка/143835923 ([Редактирование=только автоподтверждённые] (бессрочно) [Переименование=только автоподтверждённые] (бессрочно)) |
Karaby (обсуждение | вклад) м 1 версия импортирована |
||
(нет различий)
| |||
Текущая версия от 15:38, 27 июля 2025
Для документации этого модуля может быть создана страница Модуль:I18n/doc
require('strict')
local p = {}
local Localization = {
__call = function(self, ...)
if arg.n == 0 then
return self
end
local v = self._
for i = 1, arg.n do
v = v[arg[i]]
if not v then
return arg[arg.n]
end
end
return v
end
}
function Localization:new(l10nPath)
local langObj = mw.getContentLanguage()
local langPath
if not l10nPath then
local frame = mw.getCurrentFrame()
l10nPath = frame:getTitle() .. '/l10n'
end
langPath = l10nPath .. '/' .. langObj:getCode()
local obj = {
_ = mw.loadData(langPath),
}
setmetatable(obj, self)
self.__index = obj._
return obj
end
function p.load(l10nPath)
return Localization:new(l10nPath)
end
return p