Модуль:Prototypes/Механика/Доступ: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 3: | Строка 3: | ||
-- Таблица для перевода слов | -- Таблица для перевода слов | ||
local translations = { | local translations = { | ||
["Command"] = "Командование", | |||
["Captain"] = "Капитан", | |||
["Head of Personnel"] = "Глава персонала", | |||
["Cryogenics"] = "Криогеника", | |||
["Head of Security"] = "Глава службы безопасности", | |||
["Security"] = "Служба безопасности", | |||
["Armory"] = "Оружейная", | |||
["Brig"] = "Бриг", | |||
["Detective"] = "Детектив", | |||
["Chief Engineer"] = "Старший инженер", | |||
["Engineering"] = "Инженерный", | |||
["Atmospherics"] = "Атмосферный", | |||
["Research Director"] = "Научный руководитель", | |||
["Research"] = "Научный", | |||
["Chief Medical Officer"] = "Главный врач", | |||
["Medical"] = "Медицинский", | |||
["Chemistry"] = "Химия", | |||
["Paramedic"] = "Парамедик", | |||
["Quartermaster"] = "Квартирмейстер", | |||
["Cargo"] = "Снабжение", | |||
["Salvage"] = "Утилизаторский", | |||
["Bar"] = "Бар", | |||
["Kitchen"] = "Кухня", | ["Kitchen"] = "Кухня", | ||
["Theatre"] = "Театр" | ["Hydroponics"] = "Гидропоника", | ||
["Service"] = "Сервис", | |||
["Janitor"] = "Уборщик", | |||
["Theatre"] = "Театр", | |||
["Chapel"] = "Церковь", | |||
["Lawyer"] = "Юридический", | |||
["Maintenance"] = "Техобслуживание", | |||
["External"] = "Внешний", | |||
["Nuclear Operative"] = "Ядерный оперативник", | |||
["Syndicate Agent"] = "Агент Синдиката", | |||
["Central Command"] = "Центральное командование", | |||
["Wizard"] = "Волшебник" | |||
} | } | ||
Версия от 17:30, 16 января 2025
Для документации этого модуля может быть создана страница Модуль:Prototypes/Механика/Доступ/doc
local p = {}
-- Таблица для перевода слов
local translations = {
["Command"] = "Командование",
["Captain"] = "Капитан",
["Head of Personnel"] = "Глава персонала",
["Cryogenics"] = "Криогеника",
["Head of Security"] = "Глава службы безопасности",
["Security"] = "Служба безопасности",
["Armory"] = "Оружейная",
["Brig"] = "Бриг",
["Detective"] = "Детектив",
["Chief Engineer"] = "Старший инженер",
["Engineering"] = "Инженерный",
["Atmospherics"] = "Атмосферный",
["Research Director"] = "Научный руководитель",
["Research"] = "Научный",
["Chief Medical Officer"] = "Главный врач",
["Medical"] = "Медицинский",
["Chemistry"] = "Химия",
["Paramedic"] = "Парамедик",
["Quartermaster"] = "Квартирмейстер",
["Cargo"] = "Снабжение",
["Salvage"] = "Утилизаторский",
["Bar"] = "Бар",
["Kitchen"] = "Кухня",
["Hydroponics"] = "Гидропоника",
["Service"] = "Сервис",
["Janitor"] = "Уборщик",
["Theatre"] = "Театр",
["Chapel"] = "Церковь",
["Lawyer"] = "Юридический",
["Maintenance"] = "Техобслуживание",
["External"] = "Внешний",
["Nuclear Operative"] = "Ядерный оперативник",
["Syndicate Agent"] = "Агент Синдиката",
["Central Command"] = "Центральное командование",
["Wizard"] = "Волшебник"
}
function p.parse(frame)
-- Получение входных данных
local input = frame.args[1]
if not input then
return "Нет данных для обработки"
end
-- Преобразование строки в таблицу Lua
local success, data = pcall(mw.text.jsonDecode, input)
if not success or type(data) ~= "table" then
return "Ошибка: некорректный формат входных данных"
end
-- Список для хранения переведённых значений
local result = {}
for _, item in ipairs(data) do
if type(item) == "table" and item[1] then
-- Замена ID доступов на их название
local translated = translations[item[1]] or item[1]
table.insert(result, translated)
end
end
-- Объединение переведённых элементов через запятую
return table.concat(result, ", ")
end
return p