mirror of
https://github.com/Artikash/Textractor.git
synced 2024-12-23 08:54:12 +08:00
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"
|
#define ARCH "x64"
|
||||||
#else
|
#else
|
||||||
#define ARCH "x86"
|
#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";
|
NATIVE_LANGUAGE = "Russian";
|
||||||
ATTACH = u8"Присоединить к игре";
|
ATTACH = u8"Присоединить к игре";
|
||||||
LAUNCH = u8"Запустить игру";
|
LAUNCH = u8"Запустить игру";
|
||||||
|
GAME_CONFIG = u8"Настройки игры";
|
||||||
DETACH = u8"Отсоединить от игры";
|
DETACH = u8"Отсоединить от игры";
|
||||||
FORGET = u8"Забыть игру";
|
FORGET = u8"Забыть игру";
|
||||||
ADD_HOOK = 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"Выберете процесс";
|
SELECT_PROCESS = u8"Выберете процесс";
|
||||||
ATTACH_INFO = u8R"(Если вы не видите процесс, к которому хотите присоединить, попробуйте запуск с правами администратора
|
ATTACH_INFO = u8R"(Если вы не видите процесс, к которому хотите присоединить, попробуйте запуск с правами администратора
|
||||||
Вы также можете ввести id процесса)";
|
Вы также можете ввести id процесса)";
|
||||||
|
SELECT_PROCESS_INFO = u8"При ручном вводе имени файла процесса используйте абсолютный путь";
|
||||||
FROM_COMPUTER = u8"Найти в проводнике";
|
FROM_COMPUTER = u8"Найти в проводнике";
|
||||||
PROCESSES = u8"Процессы (*.exe)";
|
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"Сохранить настройки";
|
SAVE_SETTINGS = u8"Сохранить настройки";
|
||||||
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Перетащите сюда (.dll) файлы расширений из проводника для их добавления
|
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Перетащите сюда (.dll) файлы расширений из проводника для их добавления
|
||||||
(Не работает при запуске от администратора)
|
(Не работает при запуске от администратора)
|
||||||
Перетаскивайте по списку для изменения порядка
|
Перетаскивайте по списку для изменения порядка
|
||||||
Нажмите клавишу удаления, чтобы удалить выбранное расширение)";
|
Нажмите клавишу удаления, чтобы удалить выбранное расширение)";
|
||||||
|
ADD_EXTENSION = u8"Добавить расширение";
|
||||||
INVALID_EXTENSION = u8"%1 - неверное расширение";
|
INVALID_EXTENSION = u8"%1 - неверное расширение";
|
||||||
CONFIRM_EXTENSION_OVERWRITE = u8"Уже существует другая версия этого расширения, перезаписать его?";
|
CONFIRM_EXTENSION_OVERWRITE = u8"Уже существует другая версия этого расширения, перезаписать его?";
|
||||||
EXTENSION_WRITE_ERROR = u8"Не удалось сохранить расширение";
|
EXTENSION_WRITE_ERROR = u8"Не удалось сохранить расширение";
|
||||||
USE_JP_LOCALE = u8"Симулировать японскую локаль?";
|
USE_JP_LOCALE = u8"Симулировать японскую локаль?";
|
||||||
|
FAILED_TO_CREATE_CONFIG_FILE = u8"Не удалось создать файл настроек \"%1\"";
|
||||||
HOOK_SEARCH_UNSTABLE_WARNING = u8"Поиск хуков нестабилен! Игра может закрыться с ошибкой!";
|
HOOK_SEARCH_UNSTABLE_WARNING = u8"Поиск хуков нестабилен! Игра может закрыться с ошибкой!";
|
||||||
SEARCH_CJK = u8"Поиск для Китайского/Японского/Корейского";
|
SEARCH_CJK = u8"Поиск для Китайского/Японского/Корейского";
|
||||||
SEARCH_PATTERN = u8"Шаблон поиска (hex byte array)";
|
SEARCH_PATTERN = u8"Шаблон поиска (hex byte array)";
|
||||||
SEARCH_DURATION = u8"Продолжительность поиска (ms)";
|
SEARCH_DURATION = u8"Продолжительность поиска (ms)";
|
||||||
|
SEARCH_MODULE = u8"Поиск по модулю";
|
||||||
PATTERN_OFFSET = u8"Смещение от начала шаблона";
|
PATTERN_OFFSET = u8"Смещение от начала шаблона";
|
||||||
MAX_HOOK_SEARCH_RECORDS = u8"Порог поиска";
|
MAX_HOOK_SEARCH_RECORDS = u8"Порог поиска";
|
||||||
MIN_ADDRESS = u8"Начальный адрес (hex)";
|
MIN_ADDRESS = u8"Начальный адрес (hex)";
|
||||||
MAX_ADDRESS = u8"Конечный адрес (hex)";
|
MAX_ADDRESS = u8"Конечный адрес (hex)";
|
||||||
STRING_OFFSET = u8"Смещение строки (hex)";
|
STRING_OFFSET = u8"Смещение строки (hex)";
|
||||||
HOOK_SEARCH_FILTER = u8"Результат должен совпадать с этим regex";
|
HOOK_SEARCH_FILTER = u8"Результат должен совпадать с этим regex";
|
||||||
|
TEXT = u8"Текст";
|
||||||
|
CODEPAGE = u8"Кодировка";
|
||||||
|
SEARCH_FOR_TEXT = u8"Поиск определенного текста";
|
||||||
START_HOOK_SEARCH = u8"Начать поиск хуков";
|
START_HOOK_SEARCH = u8"Начать поиск хуков";
|
||||||
SAVE_SEARCH_RESULTS = u8"Сохранить результат поиска";
|
SAVE_SEARCH_RESULTS = u8"Сохранить результат поиска";
|
||||||
TEXT_FILES = u8"Текст (*.txt)";
|
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"Фильтр повторений";
|
FILTER_REPETITION = u8"Фильтр повторений";
|
||||||
AUTO_ATTACH = u8"Авто-присоединение";
|
AUTO_ATTACH = u8"Авто-присоединение";
|
||||||
ATTACH_SAVED_ONLY = u8"Авто-присоединение (только сохраненные)";
|
ATTACH_SAVED_ONLY = u8"Авто-присоединение (только сохраненные)";
|
||||||
|
SHOW_SYSTEM_PROCESSES = u8"Показать системные процесы";
|
||||||
DEFAULT_CODEPAGE = u8"Кодировка по умолчанию";
|
DEFAULT_CODEPAGE = u8"Кодировка по умолчанию";
|
||||||
FLUSH_DELAY = u8"Задержка сброса";
|
FLUSH_DELAY = u8"Задержка сброса";
|
||||||
MAX_BUFFER_SIZE = u8"Максимальный размер буфера";
|
MAX_BUFFER_SIZE = u8"Максимальный размер буфера";
|
||||||
|
MAX_HISTORY_SIZE = u8"Макс. размер истории";
|
||||||
|
CONFIG_JP_LOCALE = u8"Запуск с JP локалью";
|
||||||
CONSOLE = L"Консоль";
|
CONSOLE = L"Консоль";
|
||||||
CLIPBOARD = L"Буфер обмена";
|
CLIPBOARD = L"Буфер обмена";
|
||||||
ABOUT = L"Textractor " ARCH L" в." VERSION LR"( автор: Artikash (email: akashmozumdar@gmail.com)
|
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: начало поиска";
|
STARTING_SEARCH = u8"Textractor: начало поиска";
|
||||||
NOT_ENOUGH_TEXT = u8"Textractor: не достаточно текста для точного поиска";
|
NOT_ENOUGH_TEXT = u8"Textractor: не достаточно текста для точного поиска";
|
||||||
HOOK_SEARCH_INITIALIZED = u8"Textractor: поиск инициализирован с %zd хуками";
|
HOOK_SEARCH_INITIALIZED = u8"Textractor: поиск инициализирован с %zd хуками";
|
||||||
|
MAKE_GAME_PROCESS_TEXT = u8"Textractor: покликайте в игре, чтобы вызвать смену текста в течение %d секунд";
|
||||||
HOOK_SEARCH_FINISHED = u8"Textractor: поиск хуков завершен, %d результатов найдено";
|
HOOK_SEARCH_FINISHED = u8"Textractor: поиск хуков завершен, %d результатов найдено";
|
||||||
|
OUT_OF_RECORDS_RETRY = u8"Textractor: записи для поиска закончились, повторите,если результаты неудовлетворительны (количество записей по умолчанию увеличено)";
|
||||||
FUNC_MISSING = u8"Textractor: функция отсутствует";
|
FUNC_MISSING = u8"Textractor: функция отсутствует";
|
||||||
MODULE_MISSING = u8"Textractor: модуль отсутствует";
|
MODULE_MISSING = u8"Textractor: модуль отсутствует";
|
||||||
GARBAGE_MEMORY = u8"Textractor: память постоянно изменяется, бесполезно читать";
|
GARBAGE_MEMORY = u8"Textractor: память постоянно изменяется, бесполезно читать";
|
||||||
SEND_ERROR = u8"Textractor: Send ERROR (вероятно неверный H-code)";
|
SEND_ERROR = u8"Textractor: Send ERROR (вероятно неверный H-code)";
|
||||||
READ_ERROR = u8"Textractor: Reader ERROR (вероятно неверный R-code)";
|
READ_ERROR = u8"Textractor: Reader ERROR (вероятно неверный R-code)";
|
||||||
HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
|
||||||
COULD_NOT_FIND = u8"Textractor: невозможно найти текст";
|
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"Слишком много запросов для перевода: отклонено";
|
TOO_MANY_TRANS_REQUESTS = L"Слишком много запросов для перевода: отклонено";
|
||||||
TRANSLATION_ERROR = L"Ошибка при переводе";
|
TRANSLATION_ERROR = L"Ошибка при переводе";
|
||||||
|
USE_PREV_SENTENCE_CONTEXT = u8"Использовать предыдущее предложение как контекст";
|
||||||
|
API_KEY = u8"Ключ API";
|
||||||
EXTRA_WINDOW_INFO = u8R"(Правый клик для изменения настроек
|
EXTRA_WINDOW_INFO = u8R"(Правый клик для изменения настроек
|
||||||
Нажмите и перетащите за края - для перемещения, или за правый-нижний угол - для изменения размера)";
|
Нажмите и перетащите за края - для перемещения, или за правый-нижний угол - для изменения размера)";
|
||||||
|
SENTENCE_TOO_BIG = u8"Придложение слишком длинное для отображения";
|
||||||
|
MAX_SENTENCE_SIZE = u8"Максимальная длина предложения";
|
||||||
TOPMOST = 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 = u8"Исходный текст";
|
||||||
SHOW_ORIGINAL_INFO = u8R"(Исходный текст будет скрыт
|
SHOW_ORIGINAL_INFO = u8R"(Исходный текст будет скрыт
|
||||||
Работает только если это расширение используется после расширения перевода)";
|
Работает только если это расширение используется после расширения перевода)";
|
||||||
SIZE_LOCK = u8"Фиксированный размер";
|
SIZE_LOCK = u8"Фиксированный размер";
|
||||||
|
OPACITY = u8"Прозрачность";
|
||||||
BG_COLOR = u8"Цвет заднего фона";
|
BG_COLOR = u8"Цвет заднего фона";
|
||||||
TEXT_COLOR = u8"Цвет текста";
|
TEXT_COLOR = u8"Цвет текста";
|
||||||
|
TEXT_OUTLINE = u8"Обводка текста";
|
||||||
|
OUTLINE_COLOR = u8"Цвет обводки";
|
||||||
|
OUTLINE_SIZE = u8"Толщина обводки";
|
||||||
|
OUTLINE_SIZE_INFO = u8"Размер в пикселях (рекомендуется оставить как 20% от размера шрифта)";
|
||||||
FONT = u8"Шрифт";
|
FONT = u8"Шрифт";
|
||||||
LUA_INTRO = u8R"(--[[
|
LUA_INTRO = u8R"(--[[
|
||||||
ProcessSentence вызывается каждый раз, когда Textractor получает предложение с текстом.
|
ProcessSentence вызывается каждый раз, когда Textractor получает предложение с текстом.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user