Merge pull request #115 from TokcDK/master
Russian localization for GUI and Readme
This commit is contained in:
commit
c6b7c6ba22
@ -3,7 +3,7 @@
|
||||
![How it looks](screenshot.png)
|
||||
|
||||
[Español](https://github.com/Artikash/Textractor/blob/master/README_ES.md) ● [简体中文](https://github.com/Artikash/Textractor/blob/master/README_SC.md) ●
|
||||
[日本語](https://github.com/Artikash/Textractor/blob/master/README_JP.md)
|
||||
[日本語](https://github.com/Artikash/Textractor/blob/master/README_JP.md) ● [Русский](https://github.com/Artikash/Textractor/blob/master/README_RU.md)
|
||||
|
||||
**Textractor** (a.k.a. NextHooker) is an open-source x86/x64 video game text hooker for Windows/Wine based off of [ITHVNR](http://www.hongfire.com/forum/showthread.php/438331-ITHVNR-ITH-with-the-VNR-engine).<br>
|
||||
Watch the [tutorial video](https://youtu.be/eecEOacF6mw) for a quick rundown on using it.
|
||||
@ -60,6 +60,7 @@ If you're on this list and want your link changed let me know.
|
||||
- Spanish translation by [scese250](https://github.com/scese250)
|
||||
- Turkish translation by niisokusu
|
||||
- Simplified Chinese translation by [tinyAdapter](https://github.com/tinyAdapter)
|
||||
- Russian translation by [TokcDK](https://github.com/TokcDK)
|
||||
- ITHVNR updated by [mireado](https://github.com/mireado) and [Eguni](https://github.com/Eguni)
|
||||
- ITHVNR originally made by [Stomp](http://www.hongfire.com/forum/member/325894-stomp)
|
||||
- VNR engine made by [jichi](https://archive.is/prJwr)
|
||||
|
74
README_RU.md
Normal file
74
README_RU.md
Normal file
@ -0,0 +1,74 @@
|
||||
# Textractor
|
||||
|
||||
![Как это выглядит](screenshot.png)
|
||||
|
||||
[English/Original](https://github.com/Artikash/Textractor/blob/master/README.md) ● [Español](https://github.com/Artikash/Textractor/blob/master/README_ES.md) ● [简体中文](https://github.com/Artikash/Textractor/blob/master/README_SC.md) ●
|
||||
[日本語](https://github.com/Artikash/Textractor/blob/master/README_JP.md)
|
||||
|
||||
**Textractor** (a.k.a. NextHooker) это проект x86/x64 Windows/Wine программы для захвата текста из видеоигр, основанный на [ITHVNR](http://www.hongfire.com/forum/showthread.php/438331-ITHVNR-ITH-with-the-VNR-engine).<br>
|
||||
Смотреть [обучающее видео](https://youtu.be/eecEOacF6mw) для быстрого ознакомления.
|
||||
|
||||
[![Задонатить автору](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=akashmozumdar%40gmail.com&item_name=Textractor%20development¤cy_code=USD)
|
||||
|
||||
## Загрузка
|
||||
|
||||
Выпуски Textractor могут быть найдены [здесь](https://github.com/Artikash/Textractor/releases).<br>
|
||||
Последний выпуск ITHVNR может быть найден [здесь](https://drive.google.com/open?id=13aHF4uIXWn-3YML_k2YCDWhtGgn5-tnO).<br>
|
||||
Установите библиотеки Visual C redist(vc_redist.x86.exe), если получаете ошибку при запуске Textractor.
|
||||
|
||||
## Возможности
|
||||
|
||||
- Высокая расширяемость
|
||||
- Автозахват текста из множества игровых движков (включая некоторые, неподдерживаемые в VNR!)
|
||||
- Захват текста с использованием /H "hook" кодов (поддерживается большинство AGTH кодов)
|
||||
- Прямое извлечение текста с использованием /R "read" кодов
|
||||
|
||||
## Поддержка
|
||||
|
||||
Сообщайте о любых ошибках, играх, с которыми у Textractor проблемы, запросах о новых функциях или другие предложения.<br>
|
||||
Если у вас возникают проблемы с захватом текста из какой либо игры, скиньте на электронную почту ссылку на её загрузку или киньте её подарком в [Steam](https://steamcommunity.com/profiles/76561198097566313/) , для тестирования.
|
||||
|
||||
## Расширения
|
||||
|
||||
Смотрите [Проект примера расширения](https://github.com/Artikash/ExampleExtension), чтобы узнать, как создать расширение.<br>
|
||||
Также для примера того, что делают расширения, смотрите папку extensions.
|
||||
|
||||
## Вклад
|
||||
|
||||
Любой вклад приветствуется! Пишите мне(автору)(нет, я не занят!) на akashmozumdar@gmail.com, если у вас есть любые вопросы о кодовой базе.<br>
|
||||
Используйте стандартные действия для создания pull request (fork, branch, commit changes, создайте PR из своей ветки branch на мой master).<br>
|
||||
Вклад в перевод совсем не сложен: просто переведите строки в text.cpp, также, как и этот README.
|
||||
|
||||
## Компиляция
|
||||
|
||||
Перед компиляцией *Textractor*, установите Visual Studio с поддержкой CMake, а также Qt версии 5.11<br>
|
||||
Тогда вы сможете просто открыть и построить проект в Visual Studio. Запустите Textractor.exe.
|
||||
|
||||
## Архитектура проекта
|
||||
|
||||
Хост (смотрите папку GUI/host) внедряет texthook.dll (созданной из папки texthook) в целевой процесс и подключается к нему через два файла-канала (pipe).<br>
|
||||
Хост пишет в hostPipe, texthook пишет в hookPipe.<br>
|
||||
texthook ждет присоединения канала, тогда внедряет некоторые инструкции в любые выводящие текст функции (такие как TextOut, GetGlyphOutline), что вызывает пересылку поступающего в них текста черех канал.<br>
|
||||
Дополнительная информация о хуках размещена через файл просмотра (a.k.a. section object), который сопоставленсо ссылкой на класс TextHook.<br>
|
||||
Текст, который получает хост через канал, Текст, который хост получает через канал, затем немного обрабатывается перед отправкой обратно в графический интерфейс (GUI).<br>
|
||||
Наконец, GUI откправляет текст расширениям, перед его отображением.
|
||||
|
||||
## Разработчики
|
||||
|
||||
Если вы в этом списке и хотите, чтобы ваша ссылка была изменена, сообщите об этом.
|
||||
- Авторы Textractor: [Artikash](https://github.com/Artikash) и [DoumanAsh](https://github.com/DoumanAsh)
|
||||
- Испанская локализация: [scese250](https://github.com/scese250)
|
||||
- Турецкая локализация: niisokusu
|
||||
- Китайская локализация: [tinyAdapter](https://github.com/tinyAdapter)
|
||||
- Русская локализация: [TokcDK](https://github.com/TokcDK)
|
||||
- Обновление ITHVNR: [mireado](https://github.com/mireado) and [Eguni](https://github.com/Eguni)
|
||||
- Автор ITHVNR: [Stomp](http://www.hongfire.com/forum/member/325894-stomp)
|
||||
- Автор движка VNR: [jichi](https://archive.is/prJwr)
|
||||
- Обновление ITH: [Andys](https://github.com/AndyScull)
|
||||
- Автор ITH: [kaosu](http://www.hongfire.com/forum/member/562651-kaosu)
|
||||
- Автор библиотеки Locale Emulator: [xupefei](https://github.com/xupefei)
|
||||
- Автор библиотеки MinHook: [TsudaKageyu](https://github.com/TsudaKageyu)
|
||||
|
||||
## Особая благодарность
|
||||
|
||||
- Всем, кто пишет о проблемах и предложения в секции Issues!
|
120
text.cpp
120
text.cpp
@ -3,6 +3,7 @@
|
||||
//#define TURKISH
|
||||
//#define SPANISH
|
||||
//#define SIMPLIFIED_CHINESE
|
||||
//#define RUSSIAN
|
||||
|
||||
const char* ATTACH = u8"Attach to game";
|
||||
const char* LAUNCH = u8"Launch game";
|
||||
@ -321,5 +322,124 @@ S/Q/V: 代码页/UTF-16/UTF-8 字符串
|
||||
INVALID_REGEX = u8"无效的正则表达式";
|
||||
CURRENT_FILTER = u8"当前过滤中: ";
|
||||
#endif // SIMPLIFIED_CHINESE
|
||||
|
||||
#ifdef RUSSIAN
|
||||
ATTACH = u8"Присоединить к игре";
|
||||
LAUNCH = u8"Запустить игру";
|
||||
DETACH = u8"Отсоединить от игры";
|
||||
ADD_HOOK = u8"Добавить хук";
|
||||
SAVE_HOOKS = u8"Сохранить хук(и)";
|
||||
SETTINGS = u8"Настройки";
|
||||
EXTENSIONS = u8"Расширения";
|
||||
SELECT_PROCESS = u8"Выберете процесс";
|
||||
ATTACH_INFO = u8R"(Если вы не видите процесс, к которому хотите присоединить, попробуйте запуск с правами администратора
|
||||
Вы также можете ввести id процесса)";
|
||||
SEARCH_GAME = u8"Найти в проводнике";
|
||||
PROCESSES = u8"Процессы (*.exe)";
|
||||
CODE_INFODUMP = u8R"(Искать текст
|
||||
S[codepage#]текст
|
||||
ИЛИ
|
||||
Введите код чтения (R-code)
|
||||
R{S|Q|V}[codepage#][*deref_offset]@addr
|
||||
ИЛИ
|
||||
Введите код хука (H-code)
|
||||
H{A|B|W|S|Q|V}[N][codepage#]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module[:func]]
|
||||
Все числа, кроме кодовой страницы в шестнадцатеричном формате
|
||||
Кодировка по умолчанию 932 (Shift-JIS), но она может быть изменена в настройках
|
||||
A/B: codepage char little/big endian
|
||||
W: UTF-16 char
|
||||
S/Q/V: codepage/UTF-16/UTF-8 string
|
||||
Отрицательное для data/split офсетов, ссылающихся на регистры
|
||||
-4 для EAX, -8 для ECX, -C для EDX, -10 для EBX, -14 для ESP, -18 для EBP, -1C для ESI, -20 для EDI
|
||||
* значит dereference pointer+deref_offset)";
|
||||
SAVE_SETTINGS = u8"Сохранить настройки";
|
||||
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Перетащите сюда (.dll) файлы расширений из проводника для их добавления
|
||||
(Не работает при запуске от администратора)
|
||||
Перетаскивайте по списку для изменения порядка
|
||||
Нажмите клавишу удаления, чтобы удалить выбранное расширение)";
|
||||
USE_JP_LOCALE = u8"Симулировать японскую локаль";
|
||||
FILTER_REPETITION = u8"Фильтр повторений";
|
||||
DEFAULT_CODEPAGE = u8"Кодировка по умолчанию";
|
||||
FLUSH_DELAY = u8"Задержка сброса";
|
||||
MAX_BUFFER_SIZE = u8"Максимальный размер буфера";
|
||||
CONSOLE = L"Консоль";
|
||||
CLIPBOARD = L"Буфер обмена";
|
||||
ABOUT = L"Textractor в." CURRENT_VERSION LR"( автор: Artikash (email: akashmozumdar@gmail.com)
|
||||
Домашняя страница: https://github.com/Artikash/Textractor
|
||||
Обучающее видео: https://www.youtube.com/watch?v=eecEOacF6mw
|
||||
Сообщайте о любых проблемах, желаемых для добавления функциях, или задавайте вопросы, касающиеся Textractor
|
||||
Сделать это вы можете домашней странице (секция issues) или через электронную почту
|
||||
Исходный код доступен по лицензии GPLv3 на домашней странице проекта
|
||||
I'm currently looking for a new job: email me if you know anyone hiring US software engineers
|
||||
Если эта программа вам понравилась, расскажите всем о ней :))";
|
||||
CL_OPTIONS = LR"(usage: Textractor [-p{process id|"process name"}]...)";
|
||||
UPDATE_AVAILABLE = L"Доступно обновление: загрузите его на https://github.com/Artikash/Textractor/releases";
|
||||
ALREADY_INJECTED = L"Textractor: уже присоединен";
|
||||
ARCHITECTURE_MISMATCH = L"Textractor: несоответствие архитектуры: попробуйте 32-битный Textractor вместо этого";
|
||||
INJECT_FAILED = L"Textractor: невозможно присоединиться";
|
||||
LAUNCH_FAILED = L"Textractor: невозможно запустить";
|
||||
INVALID_CODE = L"Textractor: неверный код";
|
||||
INVALID_CODEPAGE = L"Textractor: невозможно конвертировать тект (неверная кодировка?)";
|
||||
PIPE_CONNECTED = u8"Textractor: канал присоединен";
|
||||
INSERTING_HOOK = u8"Textractor: вставка хука: %s";
|
||||
REMOVING_HOOK = u8"Textractor: удаление хука: %s";
|
||||
HOOK_FAILED = u8"Textractor: не удалось вставить хук";
|
||||
TOO_MANY_HOOKS = u8"Textractor: слишком много хуков: невозможно вставить";
|
||||
NOT_ENOUGH_TEXT = 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: невозможно найти текст";
|
||||
SELECT_LANGUAGE = u8"Выберете язык";
|
||||
BING_PROMPT = u8"На какой язык переводить в Bing?";
|
||||
GOOGLE_PROMPT = u8"На какой язык переводить в Google?";
|
||||
TOO_MANY_TRANS_REQUESTS = L"Слишком много запросов для перевода: отклонено";
|
||||
TRANSLATION_ERROR = L"Ошибка при переводе";
|
||||
EXTRA_WINDOW_INFO = u8R"(Правый клик для изменения настроек
|
||||
Нажмите и перетазите за края - для перемещения, или за правый-нижний угол - для изменения размера)";
|
||||
TOPMOST = u8"Поверх всех окон";
|
||||
SIZE_LOCK = u8"Фиксированный размер";
|
||||
BG_COLOR = u8"Цвет заднего фона";
|
||||
TEXT_COLOR = u8"Цвет текста";
|
||||
FONT_SIZE = u8"Размер шрифта";
|
||||
LUA_INTRO = u8R"(--[[
|
||||
ProcessSentence вызывается каждый раз, когда Textractor получает предложение с текстом.
|
||||
|
||||
Param sentence: предложение полученое в Textractor (UTF-8).
|
||||
Param sentenceInfo: таблица различной информации о предложении.
|
||||
|
||||
При возвращении строки предложение будет изменено на эту строку.
|
||||
При возвращении нуля, предложение останетсябез изменения.
|
||||
|
||||
Это расширение использует несколько копий интерпретатора Lua для безопасности нити.
|
||||
Модификации глобальных переменных из ProcessSentence не обязательно сохраняется.
|
||||
|
||||
Параметры в sentenceInfo:
|
||||
"current select": равно 0, если предложение не находится в текстовой нити, выбранной в данный момент пользователем.
|
||||
"process id": id процесса, из которого предложение поступило. Равно 0, когда это консоль или буфер обмена.
|
||||
"text number": номер текущей текстовой нити. Растет один за другим по мере создания текстовых нитей. 0 для консоли, 1 для буфера обмена.
|
||||
--]]
|
||||
function ProcessSentence(sentence, sentenceInfo)
|
||||
--Ваш код здесь...
|
||||
end)";
|
||||
LOAD_LUA_SCRIPT = u8"Загрузить скрипт";
|
||||
LUA_ERROR = L"Ошибка Lua: ";
|
||||
REGEX_FILTER = u8"Фильтр Regex";
|
||||
INVALID_REGEX = u8"Неверный regex";
|
||||
CURRENT_FILTER = u8"Сейчас фильтруется: ";
|
||||
REPLACER_INSTRUCTIONS = LR"(Этот файл делает что-то только когда используется расширение "Replacer".
|
||||
Команды для замены должны выглядеть так:
|
||||
|ORIG|текст_оригинала|BECOMES|текст_замены|END|
|
||||
Весь текст в этом файле вне команд заменителей будет проигнорирован.
|
||||
Пробелы в текст_оригинала игнорируются, но текст_замены может содержать пробелы, новые строки и пр.
|
||||
Этот файл должен быть в кодировке Unicode (UTF-16 little endian).)";
|
||||
THREAD_LINKER = u8"Связыватель нитей";
|
||||
LINK = u8"Связь";
|
||||
THREAD_LINK_FROM = u8"Номер нити, от которой связывать";
|
||||
THREAD_LINK_TO = u8"Номер нити, к которой привязывать";
|
||||
#endif // RUSSIAN
|
||||
return 0;
|
||||
}();
|
||||
|
Loading…
Reference in New Issue
Block a user