Updated Russian localization
This commit is contained in:
parent
a2d1374ad4
commit
3e21a6b4ba
67
text.cpp
67
text.cpp
@ -1,4 +1,4 @@
|
||||
#ifdef _WIN64
|
||||
#ifdef _WIN64
|
||||
#define ARCH "x64"
|
||||
#else
|
||||
#define ARCH "x86"
|
||||
@ -376,6 +376,7 @@ Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior
|
||||
NATIVE_LANGUAGE = "Russian";
|
||||
ATTACH = u8"Присоединить к игре";
|
||||
LAUNCH = u8"Запустить игру";
|
||||
GAME_CONFIG = u8"Настройки игры";
|
||||
DETACH = u8"Отсоединить от игры";
|
||||
FORGET = u8"Забыть игру";
|
||||
ADD_HOOK = u8"Добавить хук";
|
||||
@ -387,27 +388,53 @@ Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior
|
||||
SELECT_PROCESS = u8"Выберете процесс";
|
||||
ATTACH_INFO = u8R"(Если вы не видите процесс, к которому хотите присоединить, попробуйте запуск с правами администратора
|
||||
Вы также можете ввести id процесса)";
|
||||
SELECT_PROCESS_INFO = u8"При ручном вводе имени файла процесса используйте абсолютный путь";
|
||||
FROM_COMPUTER = u8"Найти в проводнике";
|
||||
PROCESSES = u8"Процессы (*.exe)";
|
||||
CODE_INFODUMP = u8R"(Введите код чтения
|
||||
R{S|Q|V|M}[null_length<][codepage#]@addr
|
||||
ИЛИ
|
||||
Введите хук-код
|
||||
H{A|B|W|H|S|Q|V|M}[F][null_length<][N][codepage#][padding+]data_offset[*deref_offset][:split_offset[*deref_offset]]@addr[:module[:func]]
|
||||
Все цифры кроме codepage/null_length в hexadecimal
|
||||
Кодировка по умолчанию - 932 (Shift-JIS), но может быть изменена в настройках
|
||||
A/B: символ кодировки little/big endian
|
||||
W: символ UTF-16
|
||||
H: Два hex байта
|
||||
S/Q/V/M: codepage/UTF-16/UTF-8/hex string
|
||||
F: treat strings as full lines of text
|
||||
N: не использовать контекст
|
||||
null_length: длина null прерывателя, используемого в строке
|
||||
padding: длина добавочных данных перед строкой (C struct { int64_t size; char string[500]; } needs padding = 8)
|
||||
Отрицательное для data_offset/split_offset ссылается на регистры
|
||||
-4 для EAX, -8 для ECX, -C для EDX, -10 для EBX, -14 для ESP, -18 для EBP, -1C для ESI, -20 для EDI
|
||||
-C для RAX, -14 для RBX, -1C для RCX, -24 для RDX, и так далее для RSP, RBP, RSI, RDI, R8-R15
|
||||
* значит указатель разницы+deref_offset)";
|
||||
SAVE_SETTINGS = u8"Сохранить настройки";
|
||||
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Перетащите сюда (.dll) файлы расширений из проводника для их добавления
|
||||
(Не работает при запуске от администратора)
|
||||
Перетаскивайте по списку для изменения порядка
|
||||
Нажмите клавишу удаления, чтобы удалить выбранное расширение)";
|
||||
ADD_EXTENSION = u8"Добавить расширение";
|
||||
INVALID_EXTENSION = u8"%1 - неверное расширение";
|
||||
CONFIRM_EXTENSION_OVERWRITE = u8"Уже существует другая версия этого расширения, перезаписать его?";
|
||||
EXTENSION_WRITE_ERROR = u8"Не удалось сохранить расширение";
|
||||
USE_JP_LOCALE = u8"Симулировать японскую локаль?";
|
||||
FAILED_TO_CREATE_CONFIG_FILE = u8"Не удалось создать файл настроек \"%1\"";
|
||||
HOOK_SEARCH_UNSTABLE_WARNING = u8"Поиск хуков нестабилен! Игра может закрыться с ошибкой!";
|
||||
SEARCH_CJK = u8"Поиск для Китайского/Японского/Корейского";
|
||||
SEARCH_PATTERN = u8"Шаблон поиска (hex byte array)";
|
||||
SEARCH_DURATION = u8"Продолжительность поиска (ms)";
|
||||
SEARCH_MODULE = u8"Поиск по модулю";
|
||||
PATTERN_OFFSET = u8"Смещение от начала шаблона";
|
||||
MAX_HOOK_SEARCH_RECORDS = u8"Порог поиска";
|
||||
MIN_ADDRESS = u8"Начальный адрес (hex)";
|
||||
MAX_ADDRESS = u8"Конечный адрес (hex)";
|
||||
STRING_OFFSET = u8"Смещение строки (hex)";
|
||||
HOOK_SEARCH_FILTER = u8"Результат должен совпадать с этим regex";
|
||||
TEXT = u8"Текст";
|
||||
CODEPAGE = u8"Кодировка";
|
||||
SEARCH_FOR_TEXT = u8"Поиск определенного текста";
|
||||
START_HOOK_SEARCH = u8"Начать поиск хуков";
|
||||
SAVE_SEARCH_RESULTS = u8"Сохранить результат поиска";
|
||||
TEXT_FILES = u8"Текст (*.txt)";
|
||||
@ -415,9 +442,12 @@ Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior
|
||||
FILTER_REPETITION = u8"Фильтр повторений";
|
||||
AUTO_ATTACH = u8"Авто-присоединение";
|
||||
ATTACH_SAVED_ONLY = u8"Авто-присоединение (только сохраненные)";
|
||||
SHOW_SYSTEM_PROCESSES = u8"Показать системные процесы";
|
||||
DEFAULT_CODEPAGE = u8"Кодировка по умолчанию";
|
||||
FLUSH_DELAY = u8"Задержка сброса";
|
||||
MAX_BUFFER_SIZE = u8"Максимальный размер буфера";
|
||||
MAX_HISTORY_SIZE = u8"Макс. размер истории";
|
||||
CONFIG_JP_LOCALE = u8"Запуск с JP локалью";
|
||||
CONSOLE = L"Консоль";
|
||||
CLIPBOARD = L"Буфер обмена";
|
||||
ABOUT = L"Textractor " ARCH L" в." VERSION LR"( автор: Artikash (email: akashmozumdar@gmail.com)
|
||||
@ -445,25 +475,58 @@ Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior
|
||||
STARTING_SEARCH = u8"Textractor: начало поиска";
|
||||
NOT_ENOUGH_TEXT = u8"Textractor: не достаточно текста для точного поиска";
|
||||
HOOK_SEARCH_INITIALIZED = u8"Textractor: поиск инициализирован с %zd хуками";
|
||||
MAKE_GAME_PROCESS_TEXT = u8"Textractor: покликайте в игре, чтобы вызвать смену текста в течение %d секунд";
|
||||
HOOK_SEARCH_FINISHED = u8"Textractor: поиск хуков завершен, %d результатов найдено";
|
||||
OUT_OF_RECORDS_RETRY = u8"Textractor: записи для поиска закончились, повторите,если результаты неудовлетворительны (количество записей по умолчанию увеличено)";
|
||||
FUNC_MISSING = u8"Textractor: функция отсутствует";
|
||||
MODULE_MISSING = u8"Textractor: модуль отсутствует";
|
||||
GARBAGE_MEMORY = u8"Textractor: память постоянно изменяется, бесполезно читать";
|
||||
SEND_ERROR = u8"Textractor: Send ERROR (вероятно неверный H-code)";
|
||||
READ_ERROR = u8"Textractor: Reader ERROR (вероятно неверный R-code)";
|
||||
HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
||||
COULD_NOT_FIND = u8"Textractor: невозможно найти текст";
|
||||
TRANSLATE_TO = u8"Переводить на";
|
||||
TRANSLATE_SELECTED_THREAD_ONLY = u8"Переводить текст только в выбранном потоке";
|
||||
RATE_LIMIT_ALL_THREADS = u8"Ограничение скорости для всех текстовых потоков";
|
||||
RATE_LIMIT_SELECTED_THREAD = u8"Ограничение скорости выделенного текстового потока";
|
||||
USE_TRANS_CACHE = u8"Использовать кеш перевода";
|
||||
RATE_LIMIT_TOKEN_COUNT = u8"Ограничение частоты подсчёта токенов";
|
||||
RATE_LIMIT_TOKEN_RESTORE_DELAY = u8"Ограничение частоты задержки восстановления токенов (мс)";
|
||||
TOO_MANY_TRANS_REQUESTS = L"Слишком много запросов для перевода: отклонено";
|
||||
TRANSLATION_ERROR = L"Ошибка при переводе";
|
||||
USE_PREV_SENTENCE_CONTEXT = u8"Использовать предыдущее предложение как контекст";
|
||||
API_KEY = u8"Ключ API";
|
||||
EXTRA_WINDOW_INFO = u8R"(Правый клик для изменения настроек
|
||||
Нажмите и перетащите за края - для перемещения, или за правый-нижний угол - для изменения размера)";
|
||||
SENTENCE_TOO_BIG = u8"Придложение слишком длинное для отображения";
|
||||
MAX_SENTENCE_SIZE = u8"Максимальная длина предложения";
|
||||
TOPMOST = u8"Поверх всех окон";
|
||||
DICTIONARY = u8"Словарь";
|
||||
DICTIONARY_INSTRUCTIONS = u8R"(Этот файл использован только для функции "Словарь" расширения Extra Window.
|
||||
Он использует свой формат, специально для Textractor и не предназначен для рачного ввода.
|
||||
Смотрите онлайн словарь в этом формате(https://github.com/Artikash/Textractor-Dictionaries/releases - начните здесь).
|
||||
В качестве альтернативы, если вы программист, вы можете написать скрипт для конвертирования словаря из другого формата с информацией, приведенной ниже.
|
||||
При наличии словаря, для просмотра текста в Экстра окне просто наведите курсор на него. Можно прокрутить все совпадающие определения.
|
||||
Определения имеют следующий формат:|TERM|Hola<<ignored|TERM|hola|TERM|Bonjour|TERM|bonjour|DEFINITION|hello|END|
|
||||
Термин и определение могут включать форматированный текст(https://doc.qt.io/qt-5/richtext-html-subset.html), который будет соответствующе отформатирован.
|
||||
Перефразировки имеют следующий формат:|ROOT|1<<noun|INFLECTS TO|(\w*)s|NAME| plural|END|
|
||||
Textractor проверит, совпадает ли термин с регексом перефразировки и при совпадении будет рекурсивно искать корневой термин..
|
||||
Корневой термин генерируется путем замены каждого числа на соответствующую regex группу захвата(при этом 0 заменяется на полное совпадение).
|
||||
Этот процесс может легко привести к бесконечным циклам и/или переполнению стека. Ваша задача - избежать этого.
|
||||
regex перефразировок использует QRegularExpression (https://doc.qt.io/qt-5/qregularexpression.html) unicode синтаксис.
|
||||
Textractor отобразит конечный корневой термин, а также все перефразировки, используемые для получения этого корневого термина.
|
||||
Однако,текст в термине после << игнорируется при отображении. Это сделано для хранения информации о части речи.
|
||||
У этого файла кодировка должна быть UTF-8.)";
|
||||
SHOW_ORIGINAL = u8"Исходный текст";
|
||||
SHOW_ORIGINAL_INFO = u8R"(Исходный текст будет скрыт
|
||||
Работает только если это расширение используется после расширения перевода)";
|
||||
SIZE_LOCK = u8"Фиксированный размер";
|
||||
OPACITY = u8"Прозрачность";
|
||||
BG_COLOR = u8"Цвет заднего фона";
|
||||
TEXT_COLOR = u8"Цвет текста";
|
||||
TEXT_OUTLINE = u8"Обводка текста";
|
||||
OUTLINE_COLOR = u8"Цвет обводки";
|
||||
OUTLINE_SIZE = u8"Толщина обводки";
|
||||
OUTLINE_SIZE_INFO = u8"Размер в пикселях (рекомендуется оставить как 20% от размера шрифта)";
|
||||
FONT = u8"Шрифт";
|
||||
LUA_INTRO = u8R"(--[[
|
||||
ProcessSentence вызывается каждый раз, когда Textractor получает предложение с текстом.
|
||||
|
Loading…
x
Reference in New Issue
Block a user