--lua
time=os.clock()
log "clear" log "mode compact"
local path=[[C:\Rus\TEST]] -- путь к папке с файлами
local path2=[[C:\Rus\TEST2]] -- куда сохранять изменённые файлы
local files_in, count = dir (path, "*.txt", "norecursion") -- получаем список всех txt файлов в папке
dircreate (path2) -- создаём папку если её не было
local t, first, result_file = {}, {}, {}
table.insert(t, {"Fighting Spirit", "Боевой дух"})
table.insert(t, {"Select Character", "Выбор персонажа"})
table.insert(t, {"Character Available", "Пустой слот"})
table.insert(t, {"Select Server", "Выбор сервера"})
table.insert(t, {"Create Character", "Создание персонажа"})
table.insert(t, {"Change Appearance", "Сменить Внешность"})
table.insert(t, {"Save Appearance", "Сохранить внешность"})
table.insert(t, {"Quit Game", "Выйти из игры"})
table.insert(t, {"Will you quit the game", "Действительно выйти"})
table.insert(t, {"System Settings", "Системные настройки"})
table.insert(t, {"Sound Settings", "Звук"})
table.insert(t, {"Graphical Settings", "Графика"})
table.insert(t, {"Default Settings", "Основные"})
table.insert(t, {"Advanced Settings", "Дополнительные"})
table.insert(t, {"Created by", "Создатели"})
table.insert(t, {"Screen Mode", "Режим видео"})
table.insert(t, {"Window Mode", "Оконный"})
table.insert(t, {"Full Screen Mode", "На весь экран"})
table.insert(t, {"Maximized Window Mode", "Развёрнутое окно"})
table.insert(t, {"Screen Settings", "Настройки Экрана"})
table.insert(t, {"Screen Ratio", "Соотношение"})
table.insert(t, {"Screen Resolution", "Разрешение"})
table.insert(t, {"Visual Quality", "Качество графики"})
table.insert(t, {"Texture Resolution", "Качество текстур"})
table.insert(t, {"Sight Distanсe", "Дистанция видимости"})
table.insert(t, {"Character Detail", "Детали персонажей"})
table.insert(t, {"Background Distance", "Дистанция фона"})
table.insert(t, {"Object Detail", "Детали объектов"})
table.insert(t, {"Terrain Detail", "Детали земли"})
table.insert(t, {"Visual Effect Quality", "Визуальные эффекты"})
table.insert(t, {"Visual Effect Distance", "<font color='#feb63e'><font size='12'>Дистанция Виз.Эффектов</font></font>"})
table.insert(t, {"Shadow Detail", "Детали теней"})
table.insert(t, {"Max number of", "Максимум"})
table.insert(t, {"Max number of NPC", "Максимум Нпс"})
table.insert(t, {"Set All", "Выбрать всё"})
table.insert(t, {"Custom Settings", "Пользовательские"})
table.insert(t, {"Loading. Please wait.", "Идёт загрузка.Ждите."})
table.insert(t, {"Skill Growth", "Повышение навыков"})
table.insert(t, {"Use 1 Tactic", "Исп.1 тактику"})
table.insert(t, {"Tactic", "Тактика"})
table.insert(t, {"Tactics 1 Reset", "Сброс 1 тактики"})
table.insert(t, {"Stance Chain skill", "Основной навык"})
table.insert(t, {"Non-Chain skill", "Дополнительный навык"})
table.insert(t, {"Cancel Change", "<font size='12'>Отменить Изменение</font>"})
table.insert(t, {"Gem Conversion", "Преобразовать"})
table.insert(t, {"Gladiator Tactic", "Гладиатор"})
table.insert(t, {"Combat Stance", "Боевая Стойка"})
table.insert(t, {"Lasting effect", "Постоянный эффект"})
table.insert(t, {"Conversion Effect", "При использовании"})
table.insert(t, {"Enhancement and Enervated", "Повышение и ослабление"})
table.insert(t, {"Charge Tactic", "Обвинение"})
table.insert(t, {"Defense Tactic", "Защита"})
table.insert(t, {"Endurance Tactic", "Выносливость"})
table.insert(t, {"Survival tactics 1", "Выживание 1"})
table.insert(t, {"Survival Tactics 2", "Выживание 2"})
table.insert(t, {"Emergency Reset", "Спасение (30м)"})
table.insert(t, {"System Menu", "Системное Меню"})
table.insert(t, {"Character Info", "Персонаж"})
table.insert(t, {"Special Shop", "Магазин Люменов"})
table.insert(t, {"Craft List", "Крафт"})
table.insert(t, {"Market Status", "Аукцион"})
table.insert(t, {"Account Inbox", "Ящик Аккаунта"})
table.insert(t, {"Exchange Office", "Обмен Валюты"})
table.insert(t, {"World Map", "Карта"})
table.insert(t, {"Chain Start Skill", "Основной навык"})
table.insert(t, {"Chain Skill", "Основной навык"})
table.insert(t, {"targeting skill", "Цель: Да"})
table.insert(t, {"non targeting skill", "Цель: Нет"})
table.insert(t, {"Last Chain Skill", "Основной навык +"})
table.insert(t, {"Claim All ", "Взять Всё "})
table.insert(t, {"Transition effect", "Переходящий эффект"})
table.insert(t, {"Strengthen and Decrease", "Укрепление и Ослабление"})
table.insert(t, {"Growth Effects", "Растущий эффект"})
table.insert(t, {"Fire Element", "Огонь"})
table.insert(t, {"Ice Element", "Лёд"})
table.insert(t, {"Air Element", "Воздух"})
table.insert(t, {"fire element", "Огонь"})
table.insert(t, {"ice element", "Лёд"})
table.insert(t, {"air element", "Воздух"})
table.insert(t, {"Casting Time", "Время каста"})
table.insert(t, {"maximum mana", "Максимум маны"})
table.insert(t, {"Non-Chain Skill", "Дополнительный навык"})
table.insert(t, {"Acquisition condition", "Требуется"})
table.insert(t, {"Погрузочный.Подождать.", "Идет загрузка. Ждите."})
table.insert(t, {"Цепные навыки", "Основные навыки"})
table.insert(t, {"Не цепные навыки", "Дополнительные навыки"})
table.insert(t, {"Рост Навыков", "Улучшение Навыков"})
table.insert(t, {"Время Литья", "Время каста"})
table.insert(t, {"системное меню", "Системное меню"})
table.insert(t, {"Средний Урон От Атаки Оружия ", "Средний урон "})
table.insert(t, {"Урон От Атаки Оружием ", "Урон "})
table.insert(t, {"Доступный для продажи", "Доступно для продажи"})
table.insert(t, {"главное оружие", "Главное оружие"})
table.insert(t, {"Оценка экипировки", "Экипировка"})
table.insert(t, {"Maximum Health", "Здоровье"})
table.insert(t, {"Fighting Power", "Боевая мощь"})
table.insert(t, {"Ability Power", "Сила способностей"})
table.insert(t, {"Maximum Bravery", "Храбрость"})
table.insert(t, {"Physical Defense", "Физическая защита"})
table.insert(t, {"Magic Defense", "Магическая защита"})
table.insert(t, {"Weapon Damage", "Атака Оружием"})
table.insert(t, {"Weapon Power", "Сила Оружия"})
table.insert(t, {"Critical Hit", "Критический удар"})
table.insert(t, {"Shield Absorption", "Поглощение Щитом"})
table.insert(t, {"Magic Resistance", "Сопротивление Магии"})
table.insert(t, {"Главные квесты", "Главные"})
table.insert(t, {"Руководство квесты", "Руководство"})
table.insert(t, {"Побочные квесты", "Дополнительные"})
table.insert(t, {"Охота Квесты", "Охота на монстров"})
table.insert(t, {"Королевские квесты", "Королевские"})
table.insert(t, {"Окончательное Вознаграждение", "Вознаграждение"})
table.insert(t, {"черный список", "Чёрный список"})
table.insert(t, {"настройка интерфейса", "Настройка интерфейса"})
table.insert(t, {"Автоматическое Выравнивание Элементов", "Сортировка"})
table.insert(t, {"автоматический запуск", "Автоматический запуск"})
table.insert(t, {"Требовать Все ", "Взять всё "})
table.insert(t, {"Возвращение к экрану выбора символов", "Вернуться к выбору персонажа"})
table.insert(t, {"Слот свободен", "Пустой слот"})
table.insert(t, {"Вы выйдете из игры?", "Выйти из игры?"})
table.insert(t, {"Вы приобрели ", "Вы получили"})
table.insert(t, {"Transitional effects", " Переходящий эффект"})
table.insert(t, {"эффекты роста", "Улучшение:"})
table.insert(t, {"условие приобретения", "Необходимо:"})
table.insert(t, {"Преобразование Драгоценных Камней", "Преобразовать"})
table.insert(t, {"Оценка Продвижения По Службе", "Продвижение по службе"})
table.insert(t, {"Хранитель Склада", "Склад"})
table.insert(t, {"Боковое Оружие", "Второе Оружие"})
table.insert(t, {"Сбор инструмент требуется", "Требуется инструмент для сбора"})
table.insert(t, {"Non-Chain skill", "Дополнительный навык"})
table.insert(t, {"damage to the enemy", "урона противнику"})
table.insert(t, {"Возвращение к экрану выбора символов", "Вернуться к выбору персонажа?"})
table.insert(t, {"Уровень Обучения", "Уровень"})
table.insert(t, {"Обязательные Бериллы", "Бериллы"})
table.insert(t, {"Вы находитесь в канале ", "Вы находитесь на канале "})
table.insert(t, {"член партии", "Член отряда"})
table.insert(t, {"рука судьбы", "Возврат"})
table.insert(t, {"A good day to make", "Хороший день для крафта"})
table.insert(t, {"A good day to repair", "Хороший день для ремонта"})
table.insert(t, {"A good day to hunt", "Хороший день для охоты"})
table.insert(t, {"A Good Day to Adventure", "Хороший день для приключений"})
table.insert(t, {"элемент огня", "Огонь "})
table.insert(t, {"элемент Ice", "Лёд "})
table.insert(t, {"элемент Air", "Воздух "})
table.insert(t, {"Погрузочный. Подождать.", "Идёт загрузка. Ждите."})
table.insert(t, {"effective distance ", "Дистанция "})
table.insert(t, {"time until can be used again", "Откат"})
table.insert(t, {"Внешний Вид Нагрузки", "Загрузить Внешний Вид"})
table.insert(t, {"экранный режим", "Экранный режим"})
table.insert(t, {"человеческий тип", "Человек"})
table.insert(t, {"Тип Животного", "Животное"})
table.insert(t, {"skill damage", "урон навыков"})
table.insert(t, {"удар rate", "удар"})
table.insert(t, {"Stacks up to 15 time", "суммируется до 15 раз"})
table.insert(t, {"Reflect damage", "Отражает урон"})
table.insert(t, {"damage dealt", "урон"})
table.insert(t, {"Damage to enemies", "Урон врагам"})
table.insert(t, {"Временный эффект", "Постоянный эффект"})
table.insert(t, {"Преобразующий эффект", "При смене тактики"})
table.insert(t, {"Non-Основной навык", "Дополнительный навык"})
table.insert(t, {"изменить вид", "Доступна смена вида"})
table.insert(t, {"to the enemy", "урона противнику"})
table.insert(t, {"the damage of", "урон от"})
table.insert(t, {"Air skills", "Воздушные навыки"})
table.insert(t, {"Наносит maximum", "Наносит максимум"})
table.insert(t, {"and Magical Защиту на", "и Магическую защиту на"})
table.insert(t, {"Наносит Отражает урон на", "Отражает урон в течении"})
table.insert(t, {"Увеличивает Критический удар на", "Увеличивает шанс критического удара на"})
table.insert(t, {"суммируется до", "Суммируется до"})
table.insert(t, {"врагам увеличивает", "врагам увеличивается"})
table.insert(t, {"of maximum health", "от максимального здоровья"})
table.insert(t, {"when using certain", "при использовании некоторых"})
table.insert(t, {"Переходящий эффект", "При смене тактики"})
table.insert(t, {"Damage increased", "Увеличение урона"})
table.insert(t, {"crafting speed", "скорость крафта"})
table.insert(t, {"in EXP obtained from hunting", "опыта, полученного при охоте"})
table.insert(t, {"Giving damage increased", "Уеличение урона"})
table.insert(t, {"Damage reduced", "Снижение получаемого урона"})
table.insert(t, {"Health recovery rate", "Скорость восстановления здоровья +"})
table.insert(t, {"Physical and Magical", "Физическую и Магическую"})
table.insert(t, {"of wearing", "от ношения"})
table.insert(t, {"В удаление расходы", "Цена удаления:"})
-------------------------------------------------------------------
table.insert(t, {"Fire", "Огонь"})
table.insert(t, {"Lightning", "Молния"})
table.insert(t, {"Ice", "Лёд"})
table.insert(t, {"Adrenaline", "Адреналин"})
table.insert(t, {"Concentration", "Концентрация"})
table.insert(t, {"Potential", "Потенциал"})
table.insert(t, {"Lv.", "Ур."})
table.insert(t, {"Delete", "Удалить"})
table.insert(t, {"Cancel", "Отмена"})
table.insert(t, {"Apply", "Принять"})
table.insert(t, {"Reset", "Сброс"})
table.insert(t, {"Start", "Старт"})
table.insert(t, {"Brightness", "Яркость"})
table.insert(t, {"Ability", "Способность"})
table.insert(t, {"Selected", "Выбор"})
table.insert(t, {"Equip", "Эквип"})
table.insert(t, {"Change/OK", "Подтвердить"})
table.insert(t, {"Journal", "Журнал"})
table.insert(t, {"Friends", "Друзья"})
table.insert(t, {"Companions", "Питомцы"})
table.insert(t, {"Dungeon", "Подземелья"})
table.insert(t, {"War", "Война"})
table.insert(t, {"Interface", "Интерфейс"})
table.insert(t, {"Help", "Помощь"})
table.insert(t, {"Inventory", "Инвентарь"})
table.insert(t, {"Missions", "Миссии"})
table.insert(t, {"Mail", "Почта"})
table.insert(t, {"Guild", "Гильдия"})
table.insert(t, {"Spirit", "Спирит"})
table.insert(t, {"store", "Магазин"})
table.insert(t, {"seconds", " секунд"})
table.insert(t, {"Bravery ", "Храбрость "})
table.insert(t, {"obtain", " +"})
table.insert(t, {"Deals", "Наносит"})
table.insert(t, {"Obtain", "Взять"})
table.insert(t, {"consumption", "-"})
table.insert(t, {"Иерона", "Гирона"})
table.insert(t, {"Иерон", "Гирон"})
table.insert(t, {"Преобразование", "Преобразовать"})
table.insert(t, {"Изменение/ОК", "Изменить"})
table.insert(t, {"Монтировать", "Эквип"})
table.insert(t, {"Претезия", "Получить"})
table.insert(t, {"Оснащение", "Требуется"})
table.insert(t, {"оборудованный", "надето"})
table.insert(t, {"Разрушаемый", "Разрушаемое"})
table.insert(t, {"Strength", "Сила"})
table.insert(t, {"Жизнеспособность", "Магазин"})
table.insert(t, {"Wisdom", "Мудрость"})
table.insert(t, {"Intelligence", "Интеллект"})
table.insert(t, {"Agility", "Ловкость"})
table.insert(t, {"Stability", "Стабильность"})
table.insert(t, {"Hit", "Удар"})
table.insert(t, {"Acceleration", "Ускорение"})
table.insert(t, {"Dodge", "Уклонение"})
table.insert(t, {"Parry", "Парирование"})
table.insert(t, {"Block", "Блок"})
table.insert(t, {"Toughness", "Стойкость"})
table.insert(t, {"Долговечность", "Прочность"})
table.insert(t, {"Рынок", "Аукцион"})
table.insert(t, {"ОПЦИОНЫ", "Опции Карты"})
table.insert(t, {"Отвечать", "Ответить"})
table.insert(t, {"Получать", "Взять"})
table.insert(t, {"Применять", "Принять"})
table.insert(t, {"Vitality", "Жизнеспособность"})
table.insert(t, {"ОПЫТ", "-Опыта"})
table.insert(t, {"Маунты", "Питомцы"})
table.insert(t, {"менеджер", "Аукцион"})
table.insert(t, {"Темница", "Подземелье"})
table.insert(t, {"Вспоминать", "Возврат"})
table.insert(t, {"Collect", "Сбор"})
table.insert(t, {"Сапфировый", "Сапфир"})
table.insert(t, {"Погрузочный", "Загрузка"})
table.insert(t, {"Объединение", "Союз"})
table.insert(t, {"Спина", "Назад"})
table.insert(t, {"Установочный", "Установки"})
table.insert(t, {"CT_урона", "CT_damage урона"})
table.insert(t, {"Decreases", "Уменьшает"})
table.insert(t, {"decreases", "уменьшает"})
table.insert(t, {"Defense", "Защиту"})
table.insert(t, {"by", "на"})
table.insert(t, {"but", "но"})
table.insert(t, {"increases", "увеличивает"})
table.insert(t, {"Increases", "Увеличивает"})
table.insert(t, {"seconds.", "секунд."})
table.insert(t, {"for", "на"})
table.insert(t, {"Магазин", "Живучесть"})
table.insert(t, {"Сдвиг", "Shift"})
table.insert(t, {"котлов", "меди"})
table.insert(t, {"Странник", "Лучник"})
table.insert(t, {"skills", "навыки"})
table.insert(t, {"разs", "раз"})
table.insert(t, {"Restores", "Восстанавливает"})
table.insert(t, {"Non-Основной навык", "Дополнительный навык"})
table.insert(t, {"Increase", "Увеличение"})
table.insert(t, {"increase", "увеличение"})
table.insert(t, {"Удар", "Точность"})
table.insert(t, {"Hits", "Точность"})
table.insert(t, {"Frenzy", "Бешенство"})
table.insert(t, {"Knowledge", "Знания"})
table.insert(t, {"Effect", "Эффект"})
table.insert(t, {"parts", "частей"})
table.insert(t, {"Мисс", "Промах"})
-- в одной таблице слова, в другой строки из нескольких слов
local t1, t2 ={}, {}
for i=1, #t do
if t[i][1]:match("%s") == nil then -- если нет пробела, значит ищем 1 слово
t1[t[i][1]]=t[i][2] -- таблица со словами
else -- иначе строка из нескольких слов
table.insert(t2, {t[i][1], t[i][2]}) -- таблица со строками
end
end
for i=1, count do
local first = io.open(files_in[i][1], "r")
local result_file = io.open(path2.."\\"..files_in[i][3]..files_in[i][4], "wb")
for v in first:lines() do
local v1 = v:match(".-%=") -- получаем из строки всё что идёт до = (включая и сам знак равно)
if v1 then -- если строка не пустая
local v2 = v:match("%=(.*)") -- получаем из строки всё что идёт после =
for k=1, #t2 do -- заменяем строки
v2 = v2:gsub(t2[k][1], t2[k][2])
end
v2=v2:gsub("[a-zA-Zа-яА-Я]+", t1) -- заменяем слова
result_file:write(v1 .. v2 .."\r\n")
else -- если знак = не был найден
result_file:write(v .. "\r\n") -- записываем строку без изменений
end
end
first:close()
result_file:close()
end
log (os.clock()-time)