2019-09-09 22:08:24 -04:00
# ifdef _WIN64
2019-05-27 14:13:12 -04:00
# define ARCH "x64"
# else
# define ARCH "x86"
# endif
2019-10-03 15:27:41 -04:00
2020-02-25 04:39:27 -07:00
const char * NATIVE_LANGUAGE = " English " ;
2019-02-01 16:56:10 -05:00
const char * ATTACH = u8 " Attach to game " ;
const char * LAUNCH = u8 " Launch game " ;
const char * DETACH = u8 " Detach from game " ;
2019-06-27 12:39:44 +05:30
const char * FORGET = u8 " Forget game " ;
2019-02-01 16:56:10 -05:00
const char * ADD_HOOK = u8 " Add hook " ;
2019-06-10 01:49:11 -04:00
const char * REMOVE_HOOKS = u8 " Remove hook(s) " ;
2019-02-01 16:56:10 -05:00
const char * SAVE_HOOKS = u8 " Save hook(s) " ;
2019-06-16 15:28:59 -04:00
const char * SEARCH_FOR_HOOKS = u8 " Search for hooks " ;
2019-02-01 16:56:10 -05:00
const char * SETTINGS = u8 " Settings " ;
const char * EXTENSIONS = u8 " Extensions " ;
2019-05-24 13:30:12 -04:00
const char * SELECT_PROCESS = u8 " Select process " ;
2019-02-01 16:56:10 -05:00
const char * ATTACH_INFO = u8R " (If you don't see the process you want to attach, try running with admin rights
You can also type in the process id ) " ;
2019-07-02 11:26:04 +05:30
const char * SELECT_PROCESS_INFO = u8 " If you manually type in the process file name, please use the absolute path " ;
const char * FROM_COMPUTER = u8 " Select from computer " ;
2019-02-01 16:56:10 -05:00
const char * PROCESSES = u8 " Processes (*.exe) " ;
2019-08-20 00:38:28 -04:00
const char * CODE_INFODUMP = u8R " (Enter read code
2020-01-19 14:23:30 -07:00
R { S | Q | V | M } [ null_length < ] [ codepage # ] @ addr
2019-02-01 16:56:10 -05:00
OR
Enter hook code
2020-01-19 14:23:30 -07:00
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 ] ]
2019-05-27 14:13:12 -04:00
All numbers except codepage / null_length in hexadecimal
2019-02-01 16:56:10 -05:00
Default codepage is 932 ( Shift - JIS ) but this can be changed in settings
A / B : codepage char little / big endian
W : UTF - 16 char
2020-01-19 14:23:30 -07:00
H : Two hex bytes
S / Q / V / M : codepage / UTF - 16 / UTF - 8 / hex string
2019-07-19 01:15:00 +03:00
F : treat strings as full lines of text
2019-06-09 00:48:30 -04:00
N : don ' t use context
2019-03-27 23:35:22 -04:00
null_length : length of null terminator used for string
2019-06-09 00:48:30 -04:00
padding : length of padding data before string ( C struct { int64_t size ; char string [ 500 ] ; } needs padding = 8 )
2019-05-27 14:13:12 -04:00
Negatives for data_offset / split_offset refer to registers
2019-02-01 16:56:10 -05:00
- 4 for EAX , - 8 for ECX , - C for EDX , - 10 for EBX , - 14 for ESP , - 18 for EBP , - 1 C for ESI , - 20 for EDI
2019-06-09 00:48:30 -04:00
- C for RAX , - 14 for RBX , - 1 C for RCX , - 24 for RDX , and so on for RSP , RBP , RSI , RDI , R8 - R15
2019-02-01 16:56:10 -05:00
* means dereference pointer + deref_offset ) " ;
const char * SAVE_SETTINGS = u8 " Save settings " ;
2019-08-29 13:46:21 -04:00
const char * EXTEN_WINDOW_INSTRUCTIONS = u8R " (To add an extension, right click the extension list
Alternatively , drag and drop the extension file from your computer
To reorder extensions , drag and drop them within the list
2019-06-04 23:14:46 -04:00
( Extensions are used from top to bottom : order DOES matter )
2019-08-29 13:46:21 -04:00
To remove an extension , select it and press delete ) " ;
const char * ADD_EXTENSION = u8 " Add extension " ;
2019-06-04 23:14:46 -04:00
const char * INVALID_EXTENSION = u8 " %1 is an invalid extension " ;
const char * CONFIRM_EXTENSION_OVERWRITE = u8 " Another version of this extension already exists, do you want to delete and overwrite it? " ;
const char * EXTENSION_WRITE_ERROR = u8 " Failed to save extension " ;
2019-02-01 16:56:10 -05:00
const char * USE_JP_LOCALE = u8 " Emulate japanese locale? " ;
2019-06-09 06:19:54 -04:00
const char * HOOK_SEARCH_UNSTABLE_WARNING = u8 " Searching for hooks is unstable! Be prepared for your game to crash! " ;
2019-06-16 15:28:59 -04:00
const char * SEARCH_CJK = u8 " Search for Chinese/Japanese/Korean " ;
2019-06-06 23:53:37 -04:00
const char * SEARCH_PATTERN = u8 " Search pattern (hex byte array) " ;
const char * SEARCH_DURATION = u8 " Search duration (ms) " ;
2019-11-10 14:13:54 -05:00
const char * SEARCH_MODULE = u8 " Search within module " ;
2019-06-06 23:53:37 -04:00
const char * PATTERN_OFFSET = u8 " Offset from pattern start " ;
2019-07-16 21:55:40 +05:30
const char * MAX_HOOK_SEARCH_RECORDS = u8 " Search result cap " ;
2019-06-06 23:53:37 -04:00
const char * MIN_ADDRESS = u8 " Minimum address (hex) " ;
const char * MAX_ADDRESS = u8 " Maximum address (hex) " ;
2019-06-09 00:48:30 -04:00
const char * STRING_OFFSET = u8 " String offset (hex) " ;
2019-06-06 23:53:37 -04:00
const char * HOOK_SEARCH_FILTER = u8 " Results must match this regex " ;
2019-08-19 16:15:08 -04:00
const char * TEXT = u8 " Text " ;
const char * CODEPAGE = u8 " Codepage " ;
const char * SEARCH_FOR_TEXT = u8 " Search for specific text " ;
2019-06-06 23:53:37 -04:00
const char * START_HOOK_SEARCH = u8 " Start hook search " ;
const char * SAVE_SEARCH_RESULTS = u8 " Save search results " ;
const char * TEXT_FILES = u8 " Text (*.txt) " ;
2019-06-10 22:47:58 -04:00
const char * DOUBLE_CLICK_TO_REMOVE_HOOK = u8 " Double click a hook to remove it " ;
2019-06-27 12:39:44 +05:30
const char * FILTER_REPETITION = u8 " Filter repetition " ;
const char * AUTO_ATTACH = u8 " Auto attach " ;
const char * ATTACH_SAVED_ONLY = u8 " Auto attach (saved only) " ;
2019-08-10 04:18:30 -04:00
const char * SHOW_SYSTEM_PROCESSES = u8 " Show system processes " ;
2019-06-27 12:39:44 +05:30
const char * DEFAULT_CODEPAGE = u8 " Default codepage " ;
const char * FLUSH_DELAY = u8 " Flush delay " ;
const char * MAX_BUFFER_SIZE = u8 " Max buffer size " ;
2019-08-12 11:10:33 -04:00
const char * MAX_HISTORY_SIZE = u8 " Max history size " ;
2019-02-01 16:56:10 -05:00
const wchar_t * CONSOLE = L " Console " ;
const wchar_t * CLIPBOARD = L " Clipboard " ;
2019-05-27 14:13:12 -04:00
const wchar_t * ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( made by me: Artikash (email: akashmozumdar@gmail.com)
2019-02-01 16:56:10 -05:00
Project homepage : https : //github.com/Artikash/Textractor
2019-06-05 16:58:45 -04:00
Tutorial video : https : //tinyurl.com/textractor-tutorial
2020-02-01 19:01:37 -07:00
FAQ : https : //github.com/Artikash/Textractor/wiki/FAQ
2019-02-01 16:56:10 -05:00
Please contact me with any problems , feature requests , or questions relating to Textractor
You can do so via the project homepage ( issues section ) or via email
Source code available under GPLv3 at project homepage
2019-02-10 14:08:08 -05:00
If you like this project , please tell everyone about it : ) ) " ;
2019-06-03 19:39:22 -04:00
const wchar_t * CL_OPTIONS = LR " (usage: Textractor [-p{process id| " process name " }]...
example : Textractor - p4466 - p " My Game.exe " tries to inject processes with id 4466 or with name My Game . exe ) " ;
2019-02-01 16:56:10 -05:00
const wchar_t * UPDATE_AVAILABLE = L " Update available: download it from https://github.com/Artikash/Textractor/releases " ;
const wchar_t * ALREADY_INJECTED = L " Textractor: already injected " ;
2019-05-27 14:13:12 -04:00
const wchar_t * NEED_32_BIT = L " Textractor: architecture mismatch: only Textractor x86 can inject this process " ;
const wchar_t * NEED_64_BIT = L " Textractor: architecture mismatch: only Textractor x64 can inject this process " ;
2019-02-01 16:56:10 -05:00
const wchar_t * INJECT_FAILED = L " Textractor: couldn't inject " ;
const wchar_t * LAUNCH_FAILED = L " Textractor: couldn't launch " ;
const wchar_t * INVALID_CODE = L " Textractor: invalid code " ;
const wchar_t * INVALID_CODEPAGE = L " Textractor: couldn't convert text (invalid codepage?) " ;
const char * PIPE_CONNECTED = u8 " Textractor: pipe connected " ;
const char * INSERTING_HOOK = u8 " Textractor: inserting hook: %s " ;
const char * REMOVING_HOOK = u8 " Textractor: removing hook: %s " ;
const char * HOOK_FAILED = u8 " Textractor: failed to insert hook " ;
const char * TOO_MANY_HOOKS = u8 " Textractor: too many hooks: can't insert " ;
2019-06-02 02:09:17 -04:00
const char * STARTING_SEARCH = u8 " Textractor: starting search " ;
2019-02-01 16:56:10 -05:00
const char * NOT_ENOUGH_TEXT = u8 " Textractor: not enough text to search accurately " ;
2019-06-02 02:09:17 -04:00
const char * HOOK_SEARCH_INITIALIZED = u8 " Textractor: search initialized with %zd hooks " ;
2020-01-12 02:22:39 -07:00
const char * MAKE_GAME_PROCESS_TEXT = u8 " Textractor: please click around in the game to force it to process text during the next %d seconds " ;
2019-06-02 02:09:17 -04:00
const char * HOOK_SEARCH_FINISHED = u8 " Textractor: hook search finished, %d results found " ;
2019-09-10 21:59:59 -04:00
const char * OUT_OF_RECORDS_RETRY = u8 " Textractor: out of search records, please retry if results are poor (default record count increased) " ;
2019-02-01 16:56:10 -05:00
const char * FUNC_MISSING = u8 " Textractor: function not present " ;
const char * MODULE_MISSING = u8 " Textractor: module not present " ;
const char * GARBAGE_MEMORY = u8 " Textractor: memory constantly changing, useless to read " ;
2020-02-16 17:58:09 -07:00
const char * SEND_ERROR = u8 " Textractor: Send ERROR (likely an unstable/incorrect H-code) " ;
2019-02-01 16:56:10 -05:00
const char * READ_ERROR = u8 " Textractor: Reader ERROR (likely an incorrect R-code) " ;
const char * HIJACK_ERROR = u8 " Textractor: Hijack ERROR " ;
const char * COULD_NOT_FIND = u8 " Textractor: could not find text " ;
2019-05-27 14:13:12 -04:00
const char * SELECT_LANGUAGE = u8 " Select language " ;
2019-06-13 04:01:29 -04:00
const char * SELECT_LANGUAGE_MESSAGE = u8 " What language should %1 translate to? " ;
2020-02-12 00:06:01 -07:00
const char * LANGUAGE_SAVED = u8 " Translation language saved (you can delete it in the config file %1 then reopen Textractor to reselect) " ;
2019-02-10 21:46:39 -05:00
const wchar_t * TOO_MANY_TRANS_REQUESTS = L " Too many translation requests: refuse to make more " ;
2019-02-01 16:56:10 -05:00
const wchar_t * TRANSLATION_ERROR = L " Error while translating " ;
const char * EXTRA_WINDOW_INFO = u8R " (Right click to change settings
Click and drag on window edges to move , or the bottom right corner to resize ) " ;
2020-03-02 23:48:29 -07:00
const char * SENTENCE_TOO_BIG = u8 " Sentence much too large to display " ;
2019-06-29 08:35:47 +05:30
const char * TOPMOST = u8 " Always on top " ;
2019-09-05 13:42:30 -04:00
const char * DICTIONARY = u8 " Dictionary " ;
const char * DICTIONARY_INSTRUCTIONS = u8R " (This file is used only for the " Dictionary " feature of the Extra Window extension.
2019-09-09 22:08:24 -04:00
It uses a custom format specific to Textractor and is not meant to be written manually .
2019-09-26 07:07:58 -04:00
You should look for a dictionary in this format online ( https : //github.com/Artikash/Textractor-Dictionaries/releases is a good place to start).
2019-09-05 13:42:30 -04:00
Alternatively , if you ' re a programmer , you can write a script to convert a dictionary from another format with the info below .
2020-02-26 00:59:47 -07:00
Once you have a dictionary , to look up some text in Extra Window , hover over it . You can scroll through all the matching definitions .
Definitions are formatted like this : | TERM | Hola < < ignored | TERM | hola | TERM | Bonjour | TERM | bonjour | DEFINITION | hello | END |
The term and definition can include rich text ( https : //doc.qt.io/qt-5/richtext-html-subset.html) which will be formatted properly.
Inflections are formatted like this : | ROOT | 1 < < noun | INFLECTS TO | ( \ w * ) s | NAME | plural | END |
Textractor will check if a term matches the inflection regex and if it does , will recursively search for the root term .
The root term is generated by replacing each number with the corresponding regex capture group ( with 0 being replaced by the entire match ) .
This process can easily result in infinite loops and / or stack overflows . It ' s your job to avoid that .
Inflection regex uses QRegularExpression ( https : //doc.qt.io/qt-5/qregularexpression.html) unicode syntax.
Textractor will display the final root term as well as all inflections used to get to that root term .
However , the text in a term after < < is ignored when displaying . This is intended to store part - of - speech information .
2019-09-05 13:42:30 -04:00
This file must be encoded in UTF - 8. ) " ;
2019-06-29 08:35:47 +05:30
const char * SHOW_ORIGINAL = u8 " Original text " ;
2019-06-16 15:50:17 -04:00
const char * SHOW_ORIGINAL_INFO = u8R " (Original text will not be shown
Only works if this extension is used directly after a translation extension ) " ;
2019-06-29 08:35:47 +05:30
const char * SIZE_LOCK = u8 " Size lock " ;
2019-12-29 08:54:55 -05:00
const char * OPACITY = u8 " Opacity " ;
2019-06-29 08:35:47 +05:30
const char * BG_COLOR = u8 " Background color " ;
const char * TEXT_COLOR = u8 " Text color " ;
2019-11-10 12:48:32 -05:00
const char * TEXT_OUTLINE = u8 " Text outline " ;
const char * OUTLINE_COLOR = u8 " Outline color " ;
const char * OUTLINE_SIZE = u8 " Outline size " ;
const char * OUTLINE_SIZE_INFO = u8 " Size in pixels (recommended to stay below 20% of the font size) " ;
2019-06-17 00:42:42 -04:00
const char * FONT = u8 " Font " ;
2019-02-17 18:52:09 -05:00
const char * LUA_INTRO = u8R " (--[[
ProcessSentence is called each time Textractor receives a sentence of text .
Param sentence : sentence received by Textractor ( UTF - 8 ) .
Param sentenceInfo : table of miscellaneous info about the sentence .
If you return a string , the sentence will be turned into that string .
If you return nil , the sentence will be unmodified .
This extension uses several copies of the Lua interpreter for thread safety .
Modifications to global variables from ProcessSentence are not guaranteed to persist .
Properties in sentenceInfo :
" current select " : 0 unless sentence is in the text thread currently selected by the user .
" process id " : process id that the sentence is coming from . 0 for console and clipboard .
" text number " : number of the current text thread . Counts up one by one as text threads are created . 0 for console , 1 for clipboard .
- - ] ]
function ProcessSentence ( sentence , sentenceInfo )
- - Your code here . . .
end ) " ;
2019-06-29 08:35:47 +05:30
const char * LOAD_LUA_SCRIPT = u8 " Load script " ;
2019-06-01 13:59:37 -04:00
const wchar_t * LUA_ERROR = L " Lua error: %s " ;
2019-02-01 16:56:10 -05:00
const char * REGEX_FILTER = u8 " Regex Filter " ;
const char * INVALID_REGEX = u8 " Invalid regex " ;
2019-06-01 13:59:37 -04:00
const char * CURRENT_FILTER = u8 " Currently filtering: %1 " ;
2019-02-01 16:56:10 -05:00
const wchar_t * REPLACER_INSTRUCTIONS = LR " (This file only does anything when the " Replacer " extension is used.
Replacement commands must be formatted like this :
| ORIG | original_text | BECOMES | replacement_text | END |
All text in this file outside of a replacement command is ignored .
2020-02-16 17:58:09 -07:00
A caret ( ^ ) acts as a wildcard that matches any other single character .
2019-02-01 16:56:10 -05:00
Whitespace in original_text is ignored , but replacement_text can contain spaces , newlines , etc .
2019-09-09 22:08:24 -04:00
This file must be encoded in Unicode ( UTF - 16 Little Endian ) . ) " ;
2019-02-01 16:56:10 -05:00
const char * THREAD_LINKER = u8 " Thread Linker " ;
const char * LINK = u8 " Link " ;
const char * THREAD_LINK_FROM = u8 " Thread number to link from " ;
const char * THREAD_LINK_TO = u8 " Thread number to link to " ;
2019-06-13 04:01:29 -04:00
const char * HEXADECIMAL = u8 " Hexadecimal " ;
2019-02-01 16:56:10 -05:00
2019-06-13 04:01:29 -04:00
static auto _ = [ ]
2019-02-01 16:56:10 -05:00
{
# ifdef TURKISH
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Turkish " ;
2019-02-01 16:56:10 -05:00
ATTACH = u8 " Oyuna bağla " ;
DETACH = u8 " Oyundan kopar " ;
ADD_HOOK = u8 " Kanca ekle " ;
SAVE_HOOKS = u8 " Kancaları kaydet " ;
SETTINGS = u8 " Ayarlar " ;
EXTENSIONS = u8 " Uzantı lar " ;
2019-05-27 14:13:12 -04:00
SELECT_PROCESS = u8 " İşlem seçin " ;
2019-02-01 16:56:10 -05:00
ATTACH_INFO = u8 " Bağlanmak istediğiniz işlemi görmüyorsanı z yönetici olarak çalı ştı rmayı deneyin " ;
DEFAULT_CODEPAGE = u8 " Varsayı lan Kod Sayfası " ;
FLUSH_DELAY = u8 " Temizleme Gecikmesi " ;
MAX_BUFFER_SIZE = u8 " Maksimum Arabellek Boyu " ;
2019-05-27 14:13:12 -04:00
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( (proje ana sayfası : https://github.com/Artikash/Textractor)
2019-02-01 16:56:10 -05:00
Benim tarafı mdan yapı ldı : Artikash ( e - posta : akashmozumdar @ gmail . com )
Textractor ile ilgili tüm sorunları nı z , istekleriniz ve soruları nı z için lütfen benimle iletişime geçin
Benimle , proje ana sayfası ndan ( “ issues ” kı smı ndan ) ya da e - posta aracı lı ğı yla iletişime geçebilirsiniz
2019-12-27 08:03:13 -05:00
Kaynak kodu GKLv3 koruması altı nda proje ana sayfası nda mevcut ) " ;
2019-02-01 16:56:10 -05:00
UPDATE_AVAILABLE = L " Güncelleme mevcut: https://github.com/Artikash/Textractor/releases adresinden indirin " ;
ALREADY_INJECTED = L " Textractor: Zaten enjekte edili " ;
2019-04-22 10:02:59 -04:00
NEED_32_BIT = L " Textractor: Mimari uyumsuzluğu: Lütfen Textractor’ ı n 32 bitlik sürümünü deneyin " ;
2019-02-01 16:56:10 -05:00
INJECT_FAILED = L " Textractor: Enjekte edilemedi " ;
INVALID_CODE = L " Textractor: Geçersiz kod " ;
INVALID_CODEPAGE = L " Textractor: Metne dönüştürülemedi (geçersiz kod sayfası ?) " ;
PIPE_CONNECTED = u8 " Textractor: Boru bağlandı " ;
INSERTING_HOOK = u8 " Textractor: Kanca ekleniyor: %s " ;
REMOVING_HOOK = u8 " Textractor: Kanca çı karı lı yor:: %s " ;
HOOK_FAILED = u8 " Textractor: Kanca eklenemedi " ;
TOO_MANY_HOOKS = u8 " Textractor: Çok fazla kanca var: Eklenemiyor " ;
FUNC_MISSING = u8 " Textractor: Fonksiyon mevcut değil " ;
MODULE_MISSING = u8 " Textractor: Modül mevcut değil " ;
GARBAGE_MEMORY = u8 " Textractor: Hafı za sürekli değişiyor, okumak boşa " ;
# endif // TURKISH
# ifdef SPANISH
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Spanish " ;
2019-02-01 16:56:10 -05:00
ATTACH = u8 " Adjuntar juego " ;
LAUNCH = u8 " Iniciar juego " ;
DETACH = u8 " Desconectar juego " ;
ADD_HOOK = u8 " Añadir hook " ;
SAVE_HOOKS = u8 " Guardar hook(s) " ;
SETTINGS = u8 " Opciones " ;
EXTENSIONS = u8 " Extensiones " ;
SELECT_PROCESS = u8 " Seleccionar procreso " ;
ATTACH_INFO = u8R " (Si no ves el proceso que quieras adjuntar, ejecuta este programa como administrador
También puedes escribir la ID del proceso ) " ;
2019-07-02 11:26:04 +05:30
FROM_COMPUTER = u8 " Seleccionar desde computadora " ;
2019-02-01 16:56:10 -05:00
PROCESSES = u8 " Procesos (*.exe) " ;
SAVE_SETTINGS = u8 " Guardar opciones " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (Arrrastra y suelta la extension (.dll) aquí desde tu computadora para añadirlos
Arrastra y suelta la lista para reordenar
Presiona supr en una extension seleccionada para removerla ) " ;
USE_JP_LOCALE = u8 " ¿Emular idioma japonés? " ;
DEFAULT_CODEPAGE = u8 " Default Codepage " ;
FLUSH_DELAY = u8 " Flush Delay " ;
MAX_BUFFER_SIZE = u8 " Max Buffer Size " ;
CONSOLE = L " Consola " ;
CLIPBOARD = L " Portapapeles " ;
2019-05-27 14:13:12 -04:00
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( hecho por mí: Artikash (correo: akashmozumdar@gmail.com)
2019-02-01 16:56:10 -05:00
Página del proyecto : https : //github.com/Artikash/Textractor
2019-06-05 16:58:45 -04:00
Video tutorial : https : //tinyurl.com/textractor-tutorial
2019-02-01 16:56:10 -05:00
No dudes en conectarme si tienes algún problema , petición de característica o preguntas relacionadas con Textractor
Puedes hacerlo en la página del proyecto ( en el apartado de " Issues " ) o por correo . Usa el inglés para comunicarte .
2019-12-27 08:03:13 -05:00
Código fuente disponible bajo GPLv3 en la página del proyecto ) " ;
2019-02-01 16:56:10 -05:00
UPDATE_AVAILABLE = L " Actualización disponible: descárguela en https://github.com/Artikash/Textractor/releases " ;
ALREADY_INJECTED = L " Textractor: ya inyectado " ;
INJECT_FAILED = L " Textractor: no se puede inyectar " ;
LAUNCH_FAILED = L " Textractor: no se puede iniciar " ;
INVALID_CODE = L " Textractor: código inválido " ;
INVALID_CODEPAGE = L " Textractor: no se puede convertir texto (¿Codepage inválido?) " ;
PIPE_CONNECTED = u8 " Textractor: pipe connected " ;
INSERTING_HOOK = u8 " Textractor: insertando hook: %s " ;
REMOVING_HOOK = u8 " Textractor: removiendo hook: %s " ;
HOOK_FAILED = u8 " Textractor: no se puede insertar hook " ;
TOO_MANY_HOOKS = u8 " Textractor: demasiados hooks: no se puede insertar " ;
NOT_ENOUGH_TEXT = u8 " Textractor: no hay suficiente texto para buscar con precisión " ;
FUNC_MISSING = u8 " Textractor: función no presente " ;
MODULE_MISSING = u8 " Textractor: module not present " ;
GARBAGE_MEMORY = u8 " Textractor: memory constantly changing, useless to read " ;
SEND_ERROR = u8 " Textractor: Send ERROR (probablemente un H-code incorrecto) " ;
READ_ERROR = u8 " Textractor: Reader ERROR (probablemente un R-code incorrecto) " ;
HIJACK_ERROR = u8 " Textractor: Hijack ERROR " ;
COULD_NOT_FIND = u8 " Textractor: no se puede encontrar texto " ;
SELECT_LANGUAGE = u8 " Seleccionar lenguaje " ;
2019-06-13 04:01:29 -04:00
SELECT_LANGUAGE_MESSAGE = u8 " ¿A qué idioma debe traducir %1? " ;
2019-02-10 21:46:39 -05:00
TOO_MANY_TRANS_REQUESTS = L " Demasiadas peticiones de traducción: no se puede hacer más " ;
2019-02-01 16:56:10 -05:00
TRANSLATION_ERROR = L " Error al traducir " ;
EXTRA_WINDOW_INFO = u8R " (Clic derecho para configurar
Clic y arrastra los bordes de la ventana para moverla , o en la esquina inferior derecha para cambiar el tamaño ) " ;
BG_COLOR = u8 " Color de fondo " ;
TEXT_COLOR = u8 " Color de texto " ;
TOPMOST = u8 " Siempre visible " ;
REGEX_FILTER = u8 " Filtro Regex " ;
INVALID_REGEX = u8 " Regex inválido " ;
2019-06-01 13:59:37 -04:00
CURRENT_FILTER = u8 " Actualmente filtrando: %1 " ;
2019-02-01 16:56:10 -05:00
# endif // SPANISH
# ifdef SIMPLIFIED_CHINESE
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Chinese(Simplified) "
2019-02-01 16:56:10 -05:00
ATTACH = u8 " 附加到游戏 " ;
LAUNCH = u8 " 启动游戏 " ;
DETACH = u8 " 从游戏分离 " ;
ADD_HOOK = u8 " 添加钩子 " ;
SAVE_HOOKS = u8 " 保存钩子 " ;
SETTINGS = u8 " 设置 " ;
EXTENSIONS = u8 " 扩展 " ;
SELECT_PROCESS = u8 " 选择进程 " ;
ATTACH_INFO = u8R " (如果没看见想要附加的进程,尝试使用管理员权限运行
也 可 以 手 动 输 入 进 程 ID ) " ;
2019-07-02 11:26:04 +05:30
FROM_COMPUTER = u8 " 从计算机中选择 " ;
2019-02-01 16:56:10 -05:00
PROCESSES = u8 " 进程 (*.exe) " ;
SAVE_SETTINGS = u8 " 保存设置 " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (从计算机拖拽扩展 (.dll) 文件到这里来添加
( 如 果 使 用 超 级 管 理 员 运 行 , 则 无 法 工 作 )
在 列 表 中 拖 拽 来 重 新 排 序
使 用 delete 键 移 除 选 中 的 扩 展 ) " ;
USE_JP_LOCALE = u8 " 模拟日本区域设置? " ;
DEFAULT_CODEPAGE = u8 " 默认代码页 " ;
FLUSH_DELAY = u8 " 刷新延迟 " ;
MAX_BUFFER_SIZE = u8 " 最大缓冲区长度 " ;
CONSOLE = L " 控制台 " ;
CLIPBOARD = L " 剪贴板 " ;
2019-05-27 14:13:12 -04:00
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( 作者: Artikash (email: akashmozumdar@gmail.com)
2019-02-01 16:56:10 -05:00
项 目 主 页 : https : //github.com/Artikash/Textractor
2019-06-05 16:58:45 -04:00
教 程 视 频 : https : //tinyurl.com/textractor-tutorial
2019-02-01 16:56:10 -05:00
如 果 有 任 何 关 于 Textractor 的 困 难 , 功 能 请 求 或 问 题 , 请 联 系 我
可 以 通 过 项 目 主 页 ( 问 题 区 ) 或 通 过 邮 件 来 联 系
2019-12-27 08:03:13 -05:00
项 目 主 页 提 供 基 于 GPLv3 协 议 的 源 代 码 ) " ;
2019-02-01 16:56:10 -05:00
UPDATE_AVAILABLE = L " 有可用的更新: 请从 https://github.com/Artikash/Textractor/releases 下载 " ;
ALREADY_INJECTED = L " Textractor: 已经注入 " ;
2019-05-27 14:13:12 -04:00
NEED_32_BIT = L " Textractor: 架构不匹配: 请尝试使用 Textractor x86 " ;
2019-02-01 16:56:10 -05:00
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: Sender 错误 (H码可能不正确) " ;
READ_ERROR = u8 " Textractor: Reader 错误 (R码可能不正确) " ;
HIJACK_ERROR = u8 " Textractor: Hijack 错误 " ;
COULD_NOT_FIND = u8 " Textractor: 无法找到文本 " ;
SELECT_LANGUAGE = u8 " 选择语言 " ;
2019-06-13 04:01:29 -04:00
SELECT_LANGUAGE_MESSAGE = u8 " 想要使用 %1 翻译到哪种语言? " ;
2019-02-10 21:46:39 -05:00
TOO_MANY_TRANS_REQUESTS = L " 太多翻译请求: 拒绝生成更多 " ;
2019-02-01 16:56:10 -05:00
TRANSLATION_ERROR = L " 翻译时出错 " ;
EXTRA_WINDOW_INFO = u8R " (右键修改设置
在 窗 口 边 缘 点 击 并 拖 拽 来 移 动 , 或 在 右 下 角 点 击 并 拖 拽 来 调 整 大 小 ) " ;
BG_COLOR = u8 " 背景颜色 " ;
TEXT_COLOR = u8 " 文本颜色 " ;
TOPMOST = u8 " 总是位于最上层 " ;
REGEX_FILTER = u8 " 正则表达式过滤器 " ;
INVALID_REGEX = u8 " 无效的正则表达式 " ;
2019-06-01 13:59:37 -04:00
CURRENT_FILTER = u8 " 当前过滤中: %1 " ;
2019-02-01 16:56:10 -05:00
# endif // SIMPLIFIED_CHINESE
2019-03-25 15:29:47 +05:00
# ifdef RUSSIAN
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Russian " ;
2019-03-25 15:29:47 +05:00
ATTACH = u8 " Присоединить к игре " ;
LAUNCH = u8 " Запустить игру " ;
DETACH = u8 " Отсоединить от игры " ;
2019-07-23 14:27:54 +05:00
FORGET = u8 " Забыть игру " ;
2019-03-25 15:29:47 +05:00
ADD_HOOK = u8 " Добавить хук " ;
2019-07-23 14:27:54 +05:00
REMOVE_HOOKS = u8 " Удалить хук(и) " ;
2019-03-25 15:29:47 +05:00
SAVE_HOOKS = u8 " Сохранить хук(и) " ;
2019-07-23 14:27:54 +05:00
SEARCH_FOR_HOOKS = u8 " Найти хуки " ;
2019-03-25 15:29:47 +05:00
SETTINGS = u8 " Настройки " ;
EXTENSIONS = u8 " Расширения " ;
SELECT_PROCESS = u8 " Выберете процесс " ;
ATTACH_INFO = u8R " (Если вы не видите процесс, к которому хотите присоединить, попробуйте запуск с правами администратора
В ы т а к ж е м о ж е т е в в е с т и id п р о ц е с с а ) " ;
2019-07-02 11:26:04 +05:30
FROM_COMPUTER = u8 " Найти в проводнике " ;
2019-03-25 15:29:47 +05:00
PROCESSES = u8 " Процессы (*.exe) " ;
SAVE_SETTINGS = u8 " Сохранить настройки " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (Перетащите сюда (.dll) файлы расширений из проводника для их добавления
( Н е р а б о т а е т п р и з а п у с к е о т а д м и н и с т р а т о р а )
П е р е т а с к и в а й т е п о с п и с к у д л я и з м е н е н и я п о р я д к а
Н а ж м и т е к л а в и ш у у д а л е н и я , ч т о б ы у д а л и т ь в ы б р а н н о е р а с ш и р е н и е ) " ;
2019-07-23 14:27:54 +05:00
INVALID_EXTENSION = u8 " %1 - неверное расширение " ;
CONFIRM_EXTENSION_OVERWRITE = u8 " Уже существует другая версия этого расширения, перезаписать е г о ? " ;
EXTENSION_WRITE_ERROR = u8 " Н е удалось сохранить расширение" ;
USE_JP_LOCALE = u8 " Симулировать японскую локаль? " ;
HOOK_SEARCH_UNSTABLE_WARNING = u8 " Поиск хуков нестабилен! Игра может закрыться с ошибкой! " ;
SEARCH_CJK = u8 " Поиск для Китайского/Японского/Корейского " ;
SEARCH_PATTERN = u8 " Шаблон поиска (hex byte array) " ;
SEARCH_DURATION = u8 " Продолжительность поиска (ms) " ;
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 " ;
START_HOOK_SEARCH = u8 " Начать поиск хуков " ;
SAVE_SEARCH_RESULTS = u8 " Сохранить результат поиска " ;
TEXT_FILES = u8 " Текст (*.txt) " ;
DOUBLE_CLICK_TO_REMOVE_HOOK = u8 " Двойной клик по хуку для е г о удаления " ;
2019-03-25 15:29:47 +05:00
FILTER_REPETITION = u8 " Фильтр повторений " ;
2019-07-23 14:27:54 +05:00
AUTO_ATTACH = u8 " Авто-присоединение " ;
ATTACH_SAVED_ONLY = u8 " Авто-присоединение (только сохраненные) " ;
2019-03-25 15:29:47 +05:00
DEFAULT_CODEPAGE = u8 " Кодировка по умолчанию " ;
FLUSH_DELAY = u8 " Задержка с б р о с а " ;
MAX_BUFFER_SIZE = u8 " Максимальный размер буфера " ;
CONSOLE = L " Консоль " ;
CLIPBOARD = L " Буфер обмена " ;
2019-05-27 14:13:12 -04:00
ABOUT = L " Textractor " ARCH L " в. " VERSION LR " ( автор: Artikash (email: akashmozumdar@gmail.com)
2019-03-25 15:29:47 +05:00
Д о м а ш н я я с т р а н и ц а : https : //github.com/Artikash/Textractor
2019-06-05 16:58:45 -04:00
О б у ч а ю щ е е в и д е о : https : //tinyurl.com/textractor-tutorial
2019-03-25 15:29:47 +05:00
С о о б щ а й т е о л ю б ы х п р о б л е м а х , ж е л а е м ы х д л я д о б а в л е н и я ф у н к ц и я х , и л и з а д а в а й т е в о п р о с ы , к а с а ю щ и е с я Textractor
2019-06-17 14:38:10 +05:00
С д е л а т ь э т о в ы м о ж е т е н а д о м а ш н е й с т р а н и ц е ( с е к ц и я issues ) и л и ч е р е з э л е к т р о н н у ю п о ч т у
2019-03-25 15:29:47 +05:00
И с х о д н ы й к о д д о с т у п е н п о л и ц е н з и и GPLv3 н а д о м а ш н е й с т р а н и ц е п р о е к т а
Е с л и э т а п р о г р а м м а в а м п о н р а в и л а с ь , р а с с к а ж и т е в с е м о н е й : ) ) " ;
2019-07-23 14:27:54 +05:00
CL_OPTIONS = LR " (использование: Textractor [-p{process id| " process name " }]...
п р и м е р : Textractor - p4466 - p " My Game.exe " п о п р о б у е т п р и с о е д и н и т ь с я к п р о ц е с с у с id 4466 и л и с и м е н е м My Game . exe ) " ;
2019-03-25 15:29:47 +05:00
UPDATE_AVAILABLE = L " Доступно обновление: загрузите е г о на https://github.com/Artikash/Textractor/releases " ;
ALREADY_INJECTED = L " Textractor: уже присоединен " ;
2019-05-27 14:13:12 -04:00
NEED_32_BIT = L " Textractor: несоответствие архитектуры: попробуйте Textractor x86 вместо этого " ;
2019-07-23 14:27:54 +05:00
NEED_64_BIT = L " Textractor: несоответствие архитектуры: только Textractor x64 может присоединиться к этому процессу " ;
2019-03-25 15:29:47 +05:00
INJECT_FAILED = L " Textractor: невозможно присоединиться " ;
LAUNCH_FAILED = L " Textractor: невозможно запустить " ;
INVALID_CODE = L " Textractor: неверный код " ;
2019-06-13 10:50:06 +05:00
INVALID_CODEPAGE = L " Textractor: невозможно конвертировать текст (неверная кодировка?) " ;
2019-03-25 16:18:24 +05:00
PIPE_CONNECTED = u8 " Textractor: канал присоединен " ;
2019-03-25 15:29:47 +05:00
INSERTING_HOOK = u8 " Textractor: вставка хука: %s " ;
REMOVING_HOOK = u8 " Textractor: удаление хука: %s " ;
HOOK_FAILED = u8 " Textractor: не удалось вставить хук " ;
TOO_MANY_HOOKS = u8 " Textractor: слишком много хуков: невозможно вставить " ;
2019-07-23 14:27:54 +05:00
STARTING_SEARCH = u8 " Textractor: начало поиска " ;
2019-03-25 15:29:47 +05:00
NOT_ENOUGH_TEXT = u8 " Textractor: не достаточно текста для точного поиска " ;
2019-07-23 14:27:54 +05:00
HOOK_SEARCH_INITIALIZED = u8 " Textractor: поиск инициализирован с %zd хуками " ;
HOOK_SEARCH_FINISHED = u8 " Textractor: поиск хуков завершен, %d результатов найдено " ;
2019-03-25 15:29:47 +05:00
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 " Выберете язык " ;
2019-06-13 04:01:29 -04:00
SELECT_LANGUAGE_MESSAGE = u8 " Н а какой язык переводить в %1?" ;
2019-03-25 15:29:47 +05:00
TOO_MANY_TRANS_REQUESTS = L " Слишком много запросов для перевода: отклонено " ;
TRANSLATION_ERROR = L " Ошибка при переводе " ;
EXTRA_WINDOW_INFO = u8R " (Правый клик для изменения настроек
2019-06-13 10:50:06 +05:00
Н а ж м и т е и п е р е т а щ и т е з а к р а я - д л я п е р е м е щ е н и я , и л и з а п р а в ы й - н и ж н и й у г о л - д л я и з м е н е н и я р а з м е р а ) " ;
2019-03-25 15:29:47 +05:00
TOPMOST = u8 " Поверх всех окон " ;
2019-10-03 15:27:41 -04:00
SHOW_ORIGINAL = u8 " Исходный текст " ;
SHOW_ORIGINAL_INFO = u8R " (Исходный текст будет скрыт
2019-06-17 08:17:14 +03:00
Р а б о т а е т т о л ь к о е с л и э т о р а с ш и р е н и е и с п о л ь з у е т с я п о с л е р а с ш и р е н и я п е р е в о д а ) " ;
2019-03-25 15:29:47 +05:00
SIZE_LOCK = u8 " Фиксированный размер " ;
BG_COLOR = u8 " Цвет заднего фона " ;
TEXT_COLOR = u8 " Цвет текста " ;
2019-07-23 14:27:54 +05:00
FONT = u8 " Шрифт " ;
2019-03-25 15:29:47 +05:00
LUA_INTRO = u8R " (--[[
ProcessSentence в ы з ы в а е т с я к а ж д ы й р а з , к о г д а Textractor п о л у ч а е т п р е д л о ж е н и е с т е к с т о м .
Param sentence : п р е д л о ж е н и е п о л у ч е н о е в Textractor ( UTF - 8 ) .
Param sentenceInfo : т а б л и ц а р а з л и ч н о й и н ф о р м а ц и и о п р е д л о ж е н и и .
П р и в о з в р а щ е н и и с т р о к и п р е д л о ж е н и е б у д е т и з м е н е н о н а э т у с т р о к у .
2019-06-17 14:38:10 +05:00
П р и в о з в р а щ е н и и н у л я , п р е д л о ж е н и е о с т а н е т с я б е з и з м е н е н и я .
2019-03-25 15:29:47 +05:00
Э т о р а с ш и р е н и е и с п о л ь з у е т н е с к о л ь к о к о п и й и н т е р п р е т а т о р а Lua д л я б е з о п а с н о с т и н и т и .
М о д и ф и к а ц и и г л о б а л ь н ы х п е р е м е н н ы х и з ProcessSentence н е о б я з а т е л ь н о с о х р а н я е т с я .
П а р а м е т р ы в sentenceInfo :
" current select " : р а в н о 0 , е с л и п р е д л о ж е н и е н е н а х о д и т с я в т е к с т о в о й н и т и , в ы б р а н н о й в д а н н ы й м о м е н т п о л ь з о в а т е л е м .
" process id " : id п р о ц е с с а , и з к о т о р о г о п р е д л о ж е н и е п о с т у п и л о . Р а в н о 0 , к о г д а э т о к о н с о л ь и л и б у ф е р о б м е н а .
" text number " : н о м е р т е к у щ е й т е к с т о в о й н и т и . Р а с т е т о д и н з а д р у г и м п о м е р е с о з д а н и я т е к с т о в ы х н и т е й . 0 д л я к о н с о л и , 1 д л я б у ф е р а о б м е н а .
- - ] ]
function ProcessSentence ( sentence , sentenceInfo )
- - В а ш к о д з д е с ь . . .
end ) " ;
LOAD_LUA_SCRIPT = u8 " Загрузить скрипт " ;
2019-06-01 13:59:37 -04:00
LUA_ERROR = L " Ошибка Lua: %s " ;
2019-03-25 15:29:47 +05:00
REGEX_FILTER = u8 " Фильтр Regex " ;
INVALID_REGEX = u8 " Неверный regex " ;
2019-06-01 13:59:37 -04:00
CURRENT_FILTER = u8 " Сейчас фильтруется: %1 " ;
2019-03-25 15:29:47 +05:00
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
2019-05-31 16:40:13 +07:00
# ifdef INDONESIAN
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Indonesian " ;
2019-05-31 16:40:13 +07:00
ATTACH = u8 " Tempelkan kedalam game " ;
LAUNCH = u8 " Mulai game " ;
DETACH = u8 " Lepaskan dari game " ;
ADD_HOOK = u8 " Tambahkan hook " ;
SAVE_HOOKS = u8 " Simpan hook " ;
SETTINGS = u8 " Pengaturan " ;
EXTENSIONS = u8 " Ekstensi " ;
SELECT_PROCESS = u8 " Pilih Proses " ;
ATTACH_INFO = u8R " (Jika kamu tidak dapat melihat proses yang akan ditempelkan, coba menjalankan dengan mode administrator
2019-05-31 09:39:15 -04:00
Kamu juga dapat mengetik process id game yang akan ditempel ) " ;
2019-07-02 11:26:04 +05:30
FROM_COMPUTER = u8 " Pilih dari komputer " ;
2019-05-31 16:40:13 +07:00
PROCESSES = u8 " Proses (*.exe) " ;
SAVE_SETTINGS = u8 " Simpan pengaturan " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (Drag and drop file ekstensi (.dll) kedalam sini dari komputer kamu untuk menambah ekstensi
2019-06-01 05:03:46 +07:00
( Tidak bekerja dalam mode administrator )
Drag and drop ekstensi di dalam list untuk mengatur list
Tekan delete pada ekstensi yang dipilih untuk menghapus ekstensi ) " ;
2019-05-31 16:40:13 +07:00
USE_JP_LOCALE = u8 " Gunakan locale jepang? " ;
DEFAULT_CODEPAGE = u8 " Codepage standar " ;
FLUSH_DELAY = u8 " Flush Delay " ;
MAX_BUFFER_SIZE = u8 " Max Buffer Size " ;
CONSOLE = L " Konsol " ;
CLIPBOARD = L " Papan clipboard " ;
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( dibuat oleh saya: Artikash (email: akashmozumdar@gmail.com)
Halaman project : https : //github.com/Artikash/Textractor
2019-06-05 16:58:45 -04:00
Video tutorial : https : //tinyurl.com/textractor-tutorial
2019-05-31 16:40:13 +07:00
Tolong hubungi saya jika kamu memiliki masalah terkait masalah , permintaan fitur , atau pertanyaan terkait Textractor
Kamu dapat melakukannya lewat halaman utama project ( bagian issues ) atau lewat email
Source code tersedia dibawah lisensi GPLv3 di halaman utama project
Jika kamu menyukai project ini , tolong sebarluaskan project ini : ) ) " ;
UPDATE_AVAILABLE = L " Pembaharuan tersedia: pembaharuan dapat di unduh di https://github.com/Artikash/Textractor/releases " ;
ALREADY_INJECTED = L " Textractor: sudah ditempelkan " ;
INJECT_FAILED = L " Textractor: menempelkan gagal " ;
LAUNCH_FAILED = L " Textractor: game tidak dapat dijalankan " ;
INVALID_CODE = L " Textractor: kode tidak sesuai " ;
INVALID_CODEPAGE = L " Textractor: tidak dapat mengkonversi teks (Codepage tidak sesuai?) " ;
PIPE_CONNECTED = u8 " Textractor: pipe tersambung " ;
INSERTING_HOOK = u8 " Textractor: memasukkan hook: %s " ;
REMOVING_HOOK = u8 " Textractor: menghapus hook: %s " ;
HOOK_FAILED = u8 " Textractor: gagal memasukkan hook " ;
TOO_MANY_HOOKS = u8 " Textractor: terlalu banyak hook: tidak dapat memasukkan hook " ;
NOT_ENOUGH_TEXT = u8 " Textractor: tidak cukup teks untuk melakukan pencarian secara akurat " ;
FUNC_MISSING = u8 " Textractor: tidak ada fungsi " ;
MODULE_MISSING = u8 " Textractor: tidak ada modul " ;
GARBAGE_MEMORY = u8 " Textractor: memory terus berganti, tidak dapat dibaca " ;
SEND_ERROR = u8 " Textractor: Send ERROR (kemungkinan H-Code salah) " ;
READ_ERROR = u8 " Textractor: Reader ERROR (Kemungkinan R-Code salah) " ;
HIJACK_ERROR = u8 " Textractor: Hijack ERROR " ;
COULD_NOT_FIND = u8 " Textractor: tidak dapat menemukan teks " ;
SELECT_LANGUAGE = u8 " Pilih bahasa " ;
2019-06-13 04:01:29 -04:00
SELECT_LANGUAGE_MESSAGE = u8 " Bahasa apakah yang %1 harus terjemahkan? " ;
2019-05-31 16:40:13 +07:00
TOO_MANY_TRANS_REQUESTS = L " Terlalu banyak permintaan terjemahan: menolak untuk menerjemahkan " ;
TRANSLATION_ERROR = L " Terjadi kesalahan ketika menerjemahkan " ;
EXTRA_WINDOW_INFO = u8R " (Klik kanan untuk merubah pengaturan
Klik dan tarik pinggiran jendela untuk memindahkan , atau sudut kanan bawah untuk mengatur ukuran jendela ) " ;
BG_COLOR = u8 " Warna latar " ;
TEXT_COLOR = u8 " Warna teks " ;
TOPMOST = u8 " Selalu berada di atas " ;
REGEX_FILTER = u8 " Filter regex " ;
INVALID_REGEX = u8 " Regex tidak sesuai " ;
2019-06-01 13:59:56 -04:00
CURRENT_FILTER = u8 " Regex yang digunakan sekarang: %1 " ;
2019-05-31 16:40:13 +07:00
# endif // INDONESIAN
2019-06-19 23:29:31 -03:00
2020-02-28 13:13:59 +01:00
# ifdef ITALIAN
NATIVE_LANGUAGE = " Italian " ;
ATTACH = u8 " Collega al gioco " ;
LAUNCH = u8 " Avvia gioco " ;
DETACH = u8 " Scollega dal gioco " ;
FORGET = u8 " Dimentica gioco " ;
ADD_HOOK = u8 " Aggiungi gancio " ;
REMOVE_HOOKS = u8 " Rimuovi gancio/ci " ;
SAVE_HOOKS = u8 " Salva gancio/ci " ;
SEARCH_FOR_HOOKS = u8 " Ricerca ganci " ;
SETTINGS = u8 " Impostazioni " ;
EXTENSIONS = u8 " Estenzioni " ;
SELECT_PROCESS = u8 " Seleziona processo " ;
ATTACH_INFO = u8R " (Se non vedi il processo che desideri allefare, prova ad eseguire come amministratore
Puoi anche digitare l ' ID del processo ) " ;
SELECT_PROCESS_INFO = u8 " Se digiti manualmente il nome file del processo, si prega di utilizzare il percorso assoluto " ;
FROM_COMPUTER = u8 " Seleziona dal computer " ;
PROCESSES = u8 " Processi (*.exe) " ;
SAVE_SETTINGS = u8 " Salva impostazioni " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (Per aggiugnere un estenzione, clicca con il tasto destro la lista estenzioni
Alternativamente , trascina e rilascia il file estenzione dal tuo computer
Per riordinare le estenzioni , trascinali dentro la lista
( le estenzioni sono usate dall ' alto verso il basso : l ' ordine è IMPORTANTE )
Per rimuovere un estenzione , selezionala e premi rimuovi ) " ;
ADD_EXTENSION = u8 " Aggiungi estenzione " ;
INVALID_EXTENSION = u8 " %1 è un estenzione non valida " ;
CONFIRM_EXTENSION_OVERWRITE = u8 " Un'altra versione di questa estenzione esiste già, desidera cancellarla e sovvrascriverla? " ;
EXTENSION_WRITE_ERROR = u8 " Impossibile salvare l'estenzione " ;
USE_JP_LOCALE = u8 " Emulare l'impostazione locale giapponese? " ;
HOOK_SEARCH_UNSTABLE_WARNING = u8 " Cercare i ganci è instabile! Preparati a un crash del tuo gioco! " ;
SEARCH_CJK = u8 " Cerca per Cinese/Giapponese/Coreano " ;
SEARCH_PATTERN = u8 " Cerca schema (matrice byte in esa) " ;
SEARCH_DURATION = u8 " Cerca durata (ms) " ;
SEARCH_MODULE = u8 " Cerca dentro il modulo " ;
PATTERN_OFFSET = u8 " Offset dall'inizio dello schema " ;
MAX_HOOK_SEARCH_RECORDS = u8 " Limite risultati di ricerca " ;
MIN_ADDRESS = u8 " Indirizzo minimo (esa) " ;
MAX_ADDRESS = u8 " Indirizzo massimo (esa) " ;
STRING_OFFSET = u8 " Offset stringa (esa) " ;
HOOK_SEARCH_FILTER = u8 " I risultati devono combaciare con questa espreressione regolare " ;
TEXT = u8 " Testo " ;
CODEPAGE = u8 " Codepage " ;
SEARCH_FOR_TEXT = u8 " Cerca per un testo specifico " ;
START_HOOK_SEARCH = u8 " Avvia ricerca gancio " ;
SAVE_SEARCH_RESULTS = u8 " Salva i risultati ricerca " ;
TEXT_FILES = u8 " Testo (*.txt) " ;
DOUBLE_CLICK_TO_REMOVE_HOOK = u8 " Doppio click su un gancio per rimuoverlo " ;
FILTER_REPETITION = u8 " Filtro ripetizione " ;
AUTO_ATTACH = u8 " Allega automaticamente " ;
ATTACH_SAVED_ONLY = u8 " Allega automaticamente (solamente salvato) " ;
SHOW_SYSTEM_PROCESSES = u8 " Mostra i processi di sistema " ;
DEFAULT_CODEPAGE = u8 " Codepage di base " ;
FLUSH_DELAY = u8 " Ritardo flush " ;
MAX_BUFFER_SIZE = u8 " Massima dimensione buffer " ;
MAX_HISTORY_SIZE = u8 " Massima dimensione cronologia " ;
CONSOLE = L " Console " ;
CLIPBOARD = L " Appunti " ;
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( creato da me: Artikash (email: akashmozumdar@gmail.com)
Pagina principale del progetto : https : //github.com/Artikash/Textractor
Video tutorial : https : //tinyurl.com/textractor-tutorial
Contattatemi per ogni problema , richiesta futura , o domande legate a Textractor
Puoi farlo attraverso la pagina principale del progetto ( sezione issues ) o via email
Il codice sorgente è disponibile sotto il GPLv3 nella pagina principale
Al momento sono in cerca di un nuovo lavoro : contattatemi per email se conoscete qualcuno che ingaggia periti informatici statunitensi
Se ti piace questo progetto , parlane con tutti per favore : ) ) " ;
CL_OPTIONS = LR " (utilizzo: Textractor [-p{process id| " process name " }]...
esempio : Textractor - p4466 - p " My Game.exe " sta tentando di inniettare i processi con l ' ID 4466 o con il nome My Game . exe ) " ;
UPDATE_AVAILABLE = L " Aggiornamento disponibile: scaricala da https://github.com/Artikash/Textractor/releases " ;
ALREADY_INJECTED = L " Textractor: già inniettato " ;
NEED_32_BIT = L " Textractor: incompatibilità di architettura: solo Textractor x86 può inniettare questo processo " ;
NEED_64_BIT = L " Textractor: incompatibilità di architettura: solo Textractor x64 può inniettare questo processo " ;
INJECT_FAILED = L " Textractor: impossibile inniettare " ;
LAUNCH_FAILED = L " Textractor: impossibile avviare " ;
INVALID_CODE = L " Textractor: codice invalido " ;
INVALID_CODEPAGE = L " impossibile convertire il testo (codepage invalido?) " ;
PIPE_CONNECTED = u8 " Textractor: tubo connesso " ;
INSERTING_HOOK = u8 " Textractor: aggiungi gancio: %s " ;
REMOVING_HOOK = u8 " Textractor: rimuovi gancio: %s " ;
HOOK_FAILED = u8 " Textractor: inserimento gancio non riuscito " ;
TOO_MANY_HOOKS = u8 " Textractor: troppi ganci: impossibile inserirli " ;
STARTING_SEARCH = u8 " Textractor: avvia la ricerca " ;
NOT_ENOUGH_TEXT = u8 " Textractor: testo insufficente per la ricerca accurata " ;
HOOK_SEARCH_INITIALIZED = u8 " Textractor: ricerca inizializzata con %zd ganci " ;
HOOK_SEARCH_FINISHED = u8 " ricerca ganci conclusa, %d risultati trovati " ;
OUT_OF_RECORDS_RETRY = u8 " registri di ricerca esauriti, riprova se i risultati sono scarsi (conto registri di base aumentato) " ;
FUNC_MISSING = u8 " Textractor: funzione non presente " ;
MODULE_MISSING = u8 " Textractor: modulo non presente " ;
GARBAGE_MEMORY = u8 " Textractor: memoria è in costante cambiamento, inutila la lettura " ;
SEND_ERROR = u8 " Textractor: Send ERROR (probabilmente un H-code incorretto) " ;
READ_ERROR = u8 " Textractor: Reader ERROR (probabilmente un R-code incorretto) " ;
HIJACK_ERROR = u8 " Textractor: Hijack ERROR " ;
COULD_NOT_FIND = u8 " Textractor: impossibile trovare il testo " ;
SELECT_LANGUAGE = u8 " Seleziona lingua " ;
SELECT_LANGUAGE_MESSAGE = u8 " In quale lingua dovrei %1 tradurlo? " ;
TOO_MANY_TRANS_REQUESTS = L " Troppe richieste di traduzione: rifiuta per farne altre " ;
TRANSLATION_ERROR = L " Errore durante la traduzione " ;
EXTRA_WINDOW_INFO = u8R " (Tasto destro per cambiare le impostazioni
Clicca e trascina i bordi della finestra per muoverla , oppure nell ' angolo in basso a destra per ridimensionare ) " ;
TOPMOST = u8 " Sempre in primo piano " ;
DICTIONARY = u8 " Dizionario " ;
SHOW_ORIGINAL = u8 " Testo originale " ;
SHOW_ORIGINAL_INFO = u8R " (Testo originale non sarà mostrato
Funziona solo se questa estenzione è usata direttamente dopo un ' estensione di traduzione ) " ;
SIZE_LOCK = u8 " Size lock " ;
BG_COLOR = u8 " Colore dello sfondo " ;
TEXT_COLOR = u8 " Colore del testo " ;
TEXT_OUTLINE = u8 " Contorno del testo " ;
OUTLINE_COLOR = u8 " Colore del contorno " ;
OUTLINE_SIZE = u8 " Dimensione del contorno " ;
OUTLINE_SIZE_INFO = u8 " Dimensione in pixel (consigliato di rimanere sotto il 20% della dimensione del font) " ;
FONT = u8 " Font " ;
LUA_INTRO = u8R " (--[[
ProcessSentence è chiamato ogni volta che Textractor riceva una sentenza di testo .
Param sentence : sentenza ricevuta da Textractor ( UTF - 8 ) .
Param sentenceInfo : tavola di informazioni miste sulla sentenza .
Se fai il return di una stringa , la sentenza di trasformera in quella stringa .
Se fai il return di nulla , la sentenza non sarà modificata .
Questa estenzione utilizza diverse copie dell ' interprete Lua per la sicurezza del thread .
Modifiche alle variabili globali da ProcessSentence non sono garantite di persistere .
Proprietà in sentenceInfo :
" current select " : 0 a meno che la sentenza è nel thread di testo attualmente scelto dall ' utente .
" process id " : id del processo che da cui proviene la sentenza . 0 per console e per appunti .
" text number " : numero dell ' attuale thread di testo . Conta uno ad uno quando i thread di testo sono creati . 0 per console , 1 per appunti .
- - ] ]
function ProcessSentence ( sentence , sentenceInfo )
- - Tuo codice qui . . .
end ) " ;
LOAD_LUA_SCRIPT = u8 " Carica script " ;
LUA_ERROR = L " Errore Lua: %s " ;
REGEX_FILTER = u8 " Filtro regex " ;
INVALID_REGEX = u8 " Regex non valido " ;
CURRENT_FILTER = u8 " Filtraggio attuale: %1 " ;
REPLACER_INSTRUCTIONS = LR " (Questo file fa qualcosa solo quando l'estenzione " Replacer " è utilizzata.
I comandi di rimpiazzo devono essere formattati cosi :
| ORIG | testo_originale | BECOMES | testo_sostituito | END |
Tutto il testo in questo file all ' infuori di un comando di rimpiazzo è ignorato .
La spaziatura nel testo_originale è ignorato , ma testo_sostituito può contenere spaziature , ritorni a capo , ecc .
Questo file deve essere codificato in Unicode ( UTF - 16 Little Endian ) . ) " ;
THREAD_LINKER = u8 " Thread Linker " ;
LINK = u8 " Collegamento " ;
THREAD_LINK_FROM = u8 " Numero di thread da cui collegarsi " ;
THREAD_LINK_TO = u8 " Numero di thread a cui collegarsi " ;
HEXADECIMAL = u8 " Esadecimale " ;
# endif // ITALIAN
2019-06-19 23:19:13 -04:00
# ifdef PORTUGUESE
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Portuguese " ;
2019-06-19 23:29:31 -03:00
ATTACH = u8 " Anexar ao Jogo " ;
LAUNCH = u8 " Iniciar Jogo " ;
DETACH = u8 " Desconectar do Jogo " ;
ADD_HOOK = u8 " Adicionar um Hook " ;
SAVE_HOOKS = u8 " Salvar Hook(s) " ;
SETTINGS = u8 " Opções " ;
EXTENSIONS = u8 " Extensões " ;
SELECT_PROCESS = u8 " Selecionar Processo " ;
ATTACH_INFO = u8R " (Se você não encontrar o processo o qual deseja anexar a, tente iniciar com permissão de Administrador. Você também pode digitar a ID do processo) " ;
2019-07-02 11:26:04 +05:30
FROM_COMPUTER = u8 " Busque no Computador " ;
2019-06-19 23:29:31 -03:00
PROCESSES = u8 " Executaveis (*.exe) " ;
SAVE_SETTINGS = u8 " Salvar opções " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (Arraste e solte a extensão (.dll) aqui para adicioná-la.
( Não funciona se estiver rodando como Administrador )
Arraste e solte dentro da lista para reordená - la .
( As extensões são utilizadas de cima para baixo : a ORDEM IMPORTA . )
Pressione delete com uma extensão selecionada para removê - la . ) " ;
INVALID_EXTENSION = u8 " %1 não é uma extensão válida. " ;
CONFIRM_EXTENSION_OVERWRITE = u8 " Outra versão dessa extensão já existe, você gostaria de deletar e reescrevê-la? " ;
EXTENSION_WRITE_ERROR = u8 " Falha na gravação da extensão " ;
USE_JP_LOCALE = u8 " Emular o idioma Japonês? " ;
2019-08-16 01:31:21 +00:00
SHOW_SYSTEM_PROCESSES = u8 " Mostrar Processos do sistema " ;
2019-06-19 23:29:31 -03:00
DEFAULT_CODEPAGE = u8 " página de código padrão " ;
FLUSH_DELAY = u8 " Delay do Flush " ;
MAX_BUFFER_SIZE = u8 " Tamanho Máximo do Buffer " ;
2019-08-16 01:31:21 +00:00
MAX_HISTORY_SIZE = u8 " Tamanho Máximo do Histórico " ;
2019-06-19 23:29:31 -03:00
CONSOLE = L " Terminal " ;
CLIPBOARD = L " Área de Transferência " ;
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( Feito por mim: Artikash (e-mail: akashmozumdar@gmail.com)
Homepage do Projeto : https : //github.com/Artikash/Textractor
Vídeo Tutorial : https : //tinyurl.com/textractor-tutorial
Por favor , em caso de problemas , requisição de recurso e / ou funções e de dúvidas , entrar em contato comigo . Use o Inglês para se comunicar .
Você pode fazê - lo por meio da Homepage do Projeto ( na aba " Issues " ) ou via E - mail .
O código - fonte se encontra disponível na Homepage do projeto sob a licença GPLv3 .
Se você gostou desse projeto , divulgue a todos : ) ) " ;
2019-06-28 17:45:12 +00:00
UPDATE_AVAILABLE = L " Atualização disponível: baixe em https://github.com/Artikash/Textractor/releases " ;
2019-06-19 23:29:31 -03:00
ALREADY_INJECTED = L " Textractor: já está injetado " ;
2019-10-03 15:27:41 -04:00
NEED_32_BIT = L " Textractor: arquitetura errada: apenas o Textractor x86 pode injetar neste processo " ;
NEED_64_BIT = L " Textractor: arquitetura errada: apenas o Textractor x64 pode injetar neste processo " ;
2019-06-19 23:29:31 -03:00
INJECT_FAILED = L " Textractor: não pode injetar " ;
LAUNCH_FAILED = L " Textractor: não pode iniciar " ;
INVALID_CODE = L " Textractor: código inválido " ;
2019-06-28 17:45:12 +00:00
INVALID_CODEPAGE = L " Textractor: não pode converter o texto (página de código inválida?) " ;
2019-06-19 23:29:31 -03:00
PIPE_CONNECTED = u8 " Textractor: pipe conectado " ;
INSERTING_HOOK = u8 " Textractor: inserindo hook: %s " ;
REMOVING_HOOK = u8 " Textractor: removendo hook: %s " ;
HOOK_FAILED = u8 " Textractor: falha na inserção do hook " ;
TOO_MANY_HOOKS = u8 " Textractor: há hooks de mais: não é possível inserir mais " ;
STARTING_SEARCH = u8 " Textractor: iniciando busca " ;
NOT_ENOUGH_TEXT = u8 " Textractor: não há texto suficiente para uma buscar precisa " ;
HOOK_SEARCH_INITIALIZED = u8 " Textractor: busca inicializada com %zd hooks " ;
HOOK_SEARCH_FINISHED = u8 " Textractor: busca por hooks finalizada, %d resultados encontrados " ;
FUNC_MISSING = u8 " Textractor: função não encontrada " ;
MODULE_MISSING = u8 " Textractor: módulo não presente " ;
SEND_ERROR = u8 " Textractor: ERRO no envio (provavelmente um H-code incorreto) " ;
READ_ERROR = u8 " Textractor: ERRO na leitura (provavelmente um R-code incorreto) " ;
COULD_NOT_FIND = u8 " Textractor: não foi possível encontrar texto " ;
2019-06-28 17:45:12 +00:00
SELECT_LANGUAGE = u8 " Selecione a lingua " ;
SELECT_LANGUAGE_MESSAGE = u8 " Qual lingua deve o/a %1 traduzir para? " ;
2019-06-19 23:29:31 -03:00
TOO_MANY_TRANS_REQUESTS = L " Foram feitos pedidos de tradução demais: recusa na feitura de mais pedidos " ;
TRANSLATION_ERROR = L " Erro enquanto traduzindo " ;
2019-10-03 15:27:41 -04:00
EXTRA_WINDOW_INFO = u8R " (Clique com o botão direito para mudar as opções
2019-06-19 23:29:31 -03:00
Clique e arraste nas beiradas da janela para mover , ou no canto inferior direito para redimessionar ) " ;
TOPMOST = u8 " Sempre em cima " ;
2019-10-03 15:27:41 -04:00
SHOW_ORIGINAL = u8 " Texto original " ;
SHOW_ORIGINAL_INFO = u8R " (Texto original não será mostrado
2019-06-19 23:29:31 -03:00
Apenas funciona se essa extensão for usada diretamente após uma extensão de tradução ) " ;
2019-10-03 15:27:41 -04:00
SIZE_LOCK = u8 " Travar o Tamanho " ;
BG_COLOR = u8 " Cor de fundo " ;
TEXT_COLOR = u8 " Cor do Texto " ;
FONT = u8 " Fonte " ;
REGEX_FILTER = u8 " Fíltro regex " ;
INVALID_REGEX = u8 " Regex inválido " ;
CURRENT_FILTER = u8 " Atualmente filtrando: %1 " ;
REPLACER_INSTRUCTIONS = LR " (Este arquivo apenas faz algo quando a extensão " Replacer " está sendo utilizada.
2019-06-19 23:29:31 -03:00
Comandos de substituição devem ser formatos da seguinte maneira :
| ORIG | texto_original | BECOMES | texto_substituido | END |
Todo texto fora de um comando de substituição é ignorado .
2019-06-28 17:45:12 +00:00
Espaços contidos no texto original serão ignorados , mas o texto substituído pode conter espaços , novas línhas , etc .
2019-06-19 23:29:31 -03:00
Esse arquívo deve ser codifícado em ( UTF - 16 little endian ) . ) " ;
2019-10-03 15:27:41 -04:00
THREAD_LINKER = u8 " Ligador de Threads " ;
LINK = u8 " Ligar " ;
THREAD_LINK_FROM = u8 " Número do thread para ligar de " ;
THREAD_LINK_TO = u8 " Número do thread para ligar para " ;
2019-06-19 23:19:13 -04:00
# endif // PORTUGUESE
2019-06-19 23:29:31 -03:00
2019-10-02 17:58:11 +09:00
# ifdef THAI
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Thai " ;
2019-10-02 17:58:11 +09:00
ATTACH = u8 " เชื่อมเกม " ;
LAUNCH = u8 " เริ่มเกม " ;
DETACH = u8 " ยกเลิกการเชื่อม " ;
ADD_HOOK = u8 " เพิ่มตัวเกี่ยว " ;
SAVE_HOOKS = u8 " บันทึกตัวเกี่ยว " ;
SETTINGS = u8 " ตั่งค่า " ;
EXTENSIONS = u8 " ส่วนขยาย " ;
SELECT_PROCESS = u8 " เลือก process " ;
ATTACH_INFO = u8R " (ถ้าไม่สามารถเลือก process ที่ต้องการจะเชื่อม, ลองเปิดโปรแกรมโดยให้สิทธิผู้ดูแลระบบ) " ;
FROM_COMPUTER = u8 " เลือกจากเครื่องของคุณ " ;
PROCESSES = u8 " Process(ระบบดำเนินการ) (*.exe) " ;
SAVE_SETTINGS = u8 " บันทึกการตั่งค่า " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (เพื่อที่จะเพิ่มส่วนขยาย คลิกขวาที่ตารางส่วนขยาย หรือ ลากและวางส่วนขยายจากคอมพิวเตอร์ของคุณ, ถ้าหากต้องการเรียงส่วนขยาย ลากและวางข้อมูลภายในตารางเพื่อเรียง ส่วนขยายมีลำดับการแสดงผลจากบนลงล่าง) " ;
USE_JP_LOCALE = u8 " ต้องการรันในระบบปฏิบัติการญีั่ปุุ่นหรือไม่? " ;
DEFAULT_CODEPAGE = u8 " หน้าโปรแกรมเดิม " ;
FLUSH_DELAY = u8 " ช่่วงระหว่างการล้างข้อมูล " ;
MAX_BUFFER_SIZE = u8 " ขนาดที่พักข้อมูลสูงสุด " ;
CONSOLE = L " แผงควบคุม " ;
CLIPBOARD = L " ข้อมูลชั่วคราว " ;
2019-10-02 05:43:48 -04:00
ABOUT = L " Textractor " ARCH L " v " VERSION LR " ( ได้ถูกพัฒนาโดย: Artikash (email: akashmozumdar@gmail.com)
ห น ้ า เ ว ็ บ ไ ซ ต ์ ห ล ั ก : https : //github.com/Artikash/Textractor
ว ี ด ี โ อ ส อ น ว ิ ถ ี ใ ช ้ : https : //tinyurl.com/textractor-tutorial
ถ ้ า ห า ก พ บ เ จ อ ป ั ญ ห า ส า ม า ร ถ ต ิ ด ต ่ อ ม า ไ ด ้ ร ว ม ไ ป ถ ึ ง ก า ร แ น ะ น ำ ฟ ั ง ก ์ ช ั ้ น ท ี ่ อ ย า ก ใ ห ้ ม ี ห ร ื อ ค ำ ถ า ม เ ก ี ่ ย ว ก ั บ โ ป ร แ ก ร ม Textractor ส า ม า ร ถ ต ิ ด ต ่ อ
ผ ่ า น ห น ้ า เ ว ็ บ ไ ซ ต ์ ห ล ั ก ผ ่ า น ท า ง ห น ้ า Issue ห ร ื อ ท า ง อ ี เ ม ล ล ์
Source code ส า ม า ร ถ ห า ไ ด ้ จ า ก ส ่ ว น ข อ ง GPLv3 ท ี ่ ห น ้ า ห ล ั ก ข อ ง เ ว ็ บ ไ ซ ต ์ ) " ;
2019-10-03 15:27:41 -04:00
UPDATE_AVAILABLE = L " มีอัพเดทใหม่ : สามารถดาวน์โหลดได้จาก https://github.com/Artikash/Textractor/releases " ;
2019-10-02 17:58:11 +09:00
ALREADY_INJECTED = L " Textractor: ได้ถูกเชื่อมแล้ว " ;
2019-10-03 15:27:41 -04:00
NEED_32_BIT = L " ระบบปฏิบัติการ Textractor ไม่ถูกต้อง : เฉพาะ Textractor x86 เท่านั่นสามารถเชื่อม Process นี้ได้ " ;
NEED_64_BIT = L " ระบบปฏิบัติการ Textractor ไม่ถูกต้อง : เฉพาะ Textractor x64 เท่านั่นสามารถเชื่อม Process นี้ได้ " ;
2019-10-02 17:58:11 +09:00
INJECT_FAILED = L " Textractor: ไม่สามารถเชื่อมได้ " ;
LAUNCH_FAILED = L " Textractor: ไม่สามารถเริ่มได้ " ;
INVALID_CODE = L " Textractor: รหัสไม่ถูกต้อง " ;
INVALID_CODEPAGE = L " Textractor: ไม่สามารถปรับตัวอักษรได้ (Codepage ไม่ถูกต้อง?) " ;
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: ไม่พบ module " ;
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 " เลือกภาษา " ;
SELECT_LANGUAGE_MESSAGE = u8 " ภาษาใดที่ %1 ควรจะแปลให้เป็น? " ;
TOO_MANY_TRANS_REQUESTS = L " มีการเรียกขอมากเกินกำหนด : ปฏิเสธที่จะทำการขอคำแปลต่อ " ;
TRANSLATION_ERROR = L " เกิดข้อผิดพลาดระหว่างการแปลภาษา " ;
EXTRA_WINDOW_INFO = u8R " (คลิกขวาเพื่อที่จะตั่งค่า
2019-10-02 05:43:48 -04:00
ค ล ิ ก แ ล ะ ล า ก ท า ง ข ว า บ น ข อ ง ห น ้ า ต ่ า ง เ พ ื ่ อ ค ว บ ค ุ ม ห น ้ า ต ่ า ง ห ร ื อ ข ว า ล ่ า ง เ พ ื ่ อ ท ี ่ จ ะ ป ร ั บ ข น า ด ) " ;
2019-10-02 17:58:11 +09:00
BG_COLOR = u8 " สีพื่นหลัง " ;
TEXT_COLOR = u8 " สีตัวอักษร " ;
TOPMOST = u8 " หน้าต่างอยู่บนโปรแกรมอื่น " ;
2019-10-02 05:43:48 -04:00
SHOW_ORIGINAL = u8 " ข้อความดังเดิมก่อนแปลภาษา " ;
SIZE_LOCK = u8 " ปรับให้ไม่สามารถเปลี่ยนขนาดได้ " ;
FONT = u8 " ฟ้อนต์ " ;
2019-10-02 17:58:11 +09:00
# endif // THAI
2019-10-03 15:27:41 -04:00
# ifdef KOREAN
2020-02-25 04:39:27 -07:00
NATIVE_LANGUAGE = " Korean " ;
2019-10-03 15:27:41 -04:00
ATTACH = u8 " 게임에 부착 " ;
LAUNCH = u8 " 게임 실행 " ;
DETACH = u8 " 게임에서 탈착 " ;
FORGET = u8 " 게임 저장정보 삭제 " ;
ADD_HOOK = u8 " 후킹주소 추가 " ;
REMOVE_HOOKS = u8 " 후킹주소 삭제 " ;
SAVE_HOOKS = u8 " 후킹주소 저장 " ;
SEARCH_FOR_HOOKS = u8 " 후킹주소 찾기 " ;
SETTINGS = u8 " 설정 " ;
EXTENSIONS = u8 " 확장기능 " ;
SELECT_PROCESS = u8 " 프로세스 선택 " ;
ATTACH_INFO = u8R " (부착하려는 게임이 보이지 않는다면, 관리자 권한으로 실행해보세요. 프로세스 id를 입력 할 수도 있습니다.) " ;
SELECT_PROCESS_INFO = u8 " 직접 프로세스파일 이름을 타이핑한다면, 정확한 경로를 입력하세요 " ;
FROM_COMPUTER = u8 " 컴퓨터로부터 선택 " ;
PROCESSES = u8 " 프로세스 (*.exe) " ;
SAVE_SETTINGS = u8 " 설정 저장 " ;
EXTEN_WINDOW_INSTRUCTIONS = u8R " (확장기능을 추가하려면 리스트에서 오른쪽 클릭하거나
폴 더 에 서 드 래 그 하 세 요 .
확 장 기 능 순 서 를 변 경 하 려 면 리 스 트 에 서 드 래 그 합 니 다 .
( 확 장 기 능 은 위 부 터 순 서 대 로 작 동 합 니 다 . )
확 장 기 능 을 삭 제 하 려 면 delete 를 누 르 세 요 . ) " ;
ADD_EXTENSION = u8 " 확장기능 추가 " ;
INVALID_EXTENSION = u8 " %1 은 유효하지 않은 확장기능입니다. " ;
CONFIRM_EXTENSION_OVERWRITE = u8 " 다른버전의 동일한 확장기능이 존재합니다. 덮어씌우시겠습니까? " ;
EXTENSION_WRITE_ERROR = u8 " 확장기능을 저장하는데 실패하였습니다. " ;
USE_JP_LOCALE = u8 " 일본어 로케일로 에뮬레이트합니까? " ;
HOOK_SEARCH_UNSTABLE_WARNING = u8 " 후킹주소 찾기는 불안정합니다! 게임의 강제종료에 대비하세요! " ;
SEARCH_CJK = u8 " 한국어/일본어/중국어 찾기 " ;
CODEPAGE = u8 " 코드페이지 " ;
SEARCH_FOR_TEXT = u8 " 특정 텍스트 찾기 " ;
START_HOOK_SEARCH = u8 " 주소찾기 시작 " ;
SAVE_SEARCH_RESULTS = u8 " 찾기결과 저장 " ;
DOUBLE_CLICK_TO_REMOVE_HOOK = u8 " 더블클릭으로 주소 제거 " ;
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 " 최대 히스토리 크기 " ;
CONSOLE = L " 콘솔 " ;
CLIPBOARD = L " 클립보드 " ;
UPDATE_AVAILABLE = L " 업데이트가 있습니다:https://github.com/Artikash/Textractor/releases " ;
ALREADY_INJECTED = L " Textractor: 이미 부착되어 있습니다 " ;
NEED_32_BIT = L " Textractor: 아키텍쳐 불일치: Textractor x86을 사용해야 합니다 " ;
NEED_64_BIT = L " Textractor: 아키텍쳐 불일치: Textractor x64을 사용해야 합니다 " ;
INJECT_FAILED = L " Textractor: 부착할 수 없습니다 " ;
LAUNCH_FAILED = L " Textractor: 실행할 수 없습니다 " ;
INVALID_CODE = L " Textractor: 유효하지 않은 코드 " ;
INVALID_CODEPAGE = L " Textractor: 텍스트를 변환할 수 없습니다 (유효하지 않은 코드페이지?) " ;
SELECT_LANGUAGE = u8 " 언어 선택 " ;
SELECT_LANGUAGE_MESSAGE = u8 " 어떤 언어로 %1 번역하시겠습니까? " ;
TOO_MANY_TRANS_REQUESTS = L " 너무 많은 번역요청: 요청 거부됨 " ;
TRANSLATION_ERROR = L " 번역 에러 " ;
EXTRA_WINDOW_INFO = u8R " (오른쪽 클릭으로 설정변경
드 래 그 로 창 이 동 이 가 능 하 고 , 오 른 쪽 모 서 리 에 서 크 기 조 절 이 가 능 ) " ;
TOPMOST = u8 " 항상 위 " ;
SHOW_ORIGINAL = u8 " 원문 " ;
SHOW_ORIGINAL_INFO = u8R " (원문이 출력되지 않음
이 확 장 기 능 이 번 역 확 장 기 능 이 후 에 사 용 될 때 만 동 작 함 ) " ;
SIZE_LOCK = u8 " 사이즈 고정 " ;
BG_COLOR = u8 " 배경색 " ;
TEXT_COLOR = u8 " 글씨색 " ;
FONT = u8 " 폰트 " ;
REGEX_FILTER = u8 " 정규식 필터 " ;
INVALID_REGEX = u8 " 유효하지 않은 정규식 " ;
CURRENT_FILTER = u8 " 현재 필터중: %1 " ;
REPLACER_INSTRUCTIONS = LR " (이 파일은 " Replacer " 확장기능이 작동중일때만 사용됨.
Replacement commands는 아 래 형 식 을 따 라 야 함 :
| ORIG | original_text | BECOMES | replacement_text | END |
이 파 일 에 서 replacement command 바 깥 의 텍 스 트 는 무 시 됨 .
original_text의 빈 공 간 은 무 시 되 지 만 , replacement_text는 공 백 과 엔 터 등 을 포 함 가 능 .
이 파 일 은 유 니 코 드 로 저 장 되 어 야 만 함 ( UTF - 16 little endian ) . ) " ;
# endif // KOREAN
2019-02-01 16:56:10 -05:00
return 0 ;
} ( ) ;