Модуль:Prototypes/Механика/Доступ: различия между версиями

Новая страница: «local p = {} function p.parse(frame) -- Получение входных данных local input = frame.args[1] if not input then return "Нет данных для обработки" end -- Декодирование строки JSON в таблицу Lua local success, data = pcall(mw.text.jsonDecode, input) if not success or type(data) ~= "table" then return "Ошибка: некорректный JSON"...»
 
мНет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}
-- Таблица для перевода слов
local translations = {
    ["Kitchen"] = "Кухня",
    ["Theatre"] = "Театр"
}


function p.parse(frame)
function p.parse(frame)
Строка 8: Строка 14:
     end
     end


     -- Декодирование строки JSON в таблицу Lua
     -- Преобразование строки в таблицу Lua
     local success, data = pcall(mw.text.jsonDecode, input)
     local success, data = pcall(mw.text.jsonDecode, input)
     if not success or type(data) ~= "table" then
     if not success or type(data) ~= "table" then
         return "Ошибка: некорректный JSON"
         return "Ошибка: некорректный формат входных данных"
     end
     end


     -- Создание списка для хранения обработанных значений
     -- Список для хранения переведённых значений
     local result = {}
     local result = {}
     for _, item in ipairs(data) do
     for _, item in ipairs(data) do
         if type(item) == "table" and item[1] then
         if type(item) == "table" and item[1] then
             -- Добавление обработанного значения в список
             -- Замена ID доступов на их название
             table.insert(result, mw.title.new(item[1]):getContent())
            local translated = translations[item[1]] or item[1]
             table.insert(result, translated)
         end
         end
     end
     end


     -- Объединение элементов списка через запятую и возврат результата
     -- Объединение переведённых элементов через запятую
     return table.concat(result, ", ")
     return table.concat(result, ", ")
end
end


return p
return p