support for partial translation
This commit is contained in:
parent
cba353438d
commit
126b48c51e
@ -37,7 +37,7 @@ inline void FORMAT_MESSAGE(const char* format, Args... args)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
#define TEST(...) static auto _ = std::invoke([]{ __VA_ARGS__; return 0; })
|
#define TEST(...) inline auto TEST__RUNNER__DUMMY = std::invoke([]{ __VA_ARGS__; return 0; })
|
||||||
#else
|
#else
|
||||||
#define TEST(...)
|
#define TEST(...)
|
||||||
#endif
|
#endif
|
||||||
|
315
include/text.h
315
include/text.h
@ -1,22 +1,20 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define CURRENT_VERSION "1.0.2"
|
#define CURRENT_VERSION "1.0.2"
|
||||||
#define ENGLISH
|
|
||||||
|
|
||||||
#ifdef ENGLISH
|
inline auto ATTACH = u8"Attach to game";
|
||||||
constexpr auto ATTACH = u8"Attach to game";
|
inline auto LAUNCH = u8"Launch game";
|
||||||
constexpr auto LAUNCH = u8"Launch game";
|
inline auto DETACH = u8"Detach from game";
|
||||||
constexpr auto DETACH = u8"Detach from game";
|
inline auto ADD_HOOK = u8"Add hook";
|
||||||
constexpr auto ADD_HOOK = u8"Add hook";
|
inline auto SAVE_HOOKS = u8"Save hook(s)";
|
||||||
constexpr auto SAVE_HOOKS = u8"Save hook(s)";
|
inline auto SETTINGS = u8"Settings";
|
||||||
constexpr auto SETTINGS = u8"Settings";
|
inline auto EXTENSIONS = u8"Extensions";
|
||||||
constexpr auto EXTENSIONS = u8"Extensions";
|
inline auto SELECT_PROCESS = u8"Select Process";
|
||||||
constexpr auto SELECT_PROCESS = u8"Select Process";
|
inline auto ATTACH_INFO = u8R"(If you don't see the process you want to attach, try running with admin rights
|
||||||
constexpr auto 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)";
|
You can also type in the process id)";
|
||||||
constexpr auto SEARCH_GAME = u8"Select from computer";
|
inline auto SEARCH_GAME = u8"Select from computer";
|
||||||
constexpr auto PROCESSES = u8"Processes (*.exe)";
|
inline auto PROCESSES = u8"Processes (*.exe)";
|
||||||
constexpr auto CODE_INFODUMP = u8R"(Search for text
|
inline auto CODE_INFODUMP = u8R"(Search for text
|
||||||
S[codepage#]text
|
S[codepage#]text
|
||||||
OR
|
OR
|
||||||
Enter read code
|
Enter read code
|
||||||
@ -32,127 +30,116 @@ S/Q/V: codepage/UTF-16/UTF-8 string
|
|||||||
Negatives for data/split offset refer to registers
|
Negatives for data/split offset refer to registers
|
||||||
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
|
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
|
||||||
* means dereference pointer+deref_offset)";
|
* means dereference pointer+deref_offset)";
|
||||||
constexpr auto SAVE_SETTINGS = u8"Save settings";
|
inline auto SAVE_SETTINGS = u8"Save settings";
|
||||||
constexpr auto EXTEN_WINDOW_INSTRUCTIONS = u8R"(Drag and drop extension (.dll) files here from your computer to add them
|
inline auto EXTEN_WINDOW_INSTRUCTIONS = u8R"(Drag and drop extension (.dll) files here from your computer to add them
|
||||||
Drag and drop within the list to reorder
|
Drag and drop within the list to reorder
|
||||||
Press delete with an extension selected to remove it)";
|
Press delete with an extension selected to remove it)";
|
||||||
constexpr auto WINDOW = u8"Window";
|
inline auto WINDOW = u8"Window";
|
||||||
constexpr auto USE_JP_LOCALE = u8"Emulate japanese locale?";
|
inline auto USE_JP_LOCALE = u8"Emulate japanese locale?";
|
||||||
constexpr auto DEFAULT_CODEPAGE = u8"Default Codepage";
|
inline auto DEFAULT_CODEPAGE = u8"Default Codepage";
|
||||||
constexpr auto FLUSH_DELAY = u8"Flush Delay";
|
inline auto FLUSH_DELAY = u8"Flush Delay";
|
||||||
constexpr auto MAX_BUFFER_SIZE = u8"Max Buffer Size";
|
inline auto MAX_BUFFER_SIZE = u8"Max Buffer Size";
|
||||||
constexpr auto CONSOLE = L"Console";
|
inline auto CONSOLE = L"Console";
|
||||||
constexpr auto CLIPBOARD = L"Clipboard";
|
inline auto CLIPBOARD = L"Clipboard";
|
||||||
constexpr auto ABOUT = L"Textractor v" CURRENT_VERSION LR"( made by me: Artikash (email: akashmozumdar@gmail.com)
|
inline auto ABOUT = L"Textractor v" CURRENT_VERSION LR"( made by me: Artikash (email: akashmozumdar@gmail.com)
|
||||||
Project homepage: https://github.com/Artikash/Textractor
|
Project homepage: https://github.com/Artikash/Textractor
|
||||||
Tutorial video: https://www.youtube.com/watch?v=eecEOacF6mw
|
Tutorial video: https://www.youtube.com/watch?v=eecEOacF6mw
|
||||||
Please contact me with any problems, feature requests, or questions relating to Textractor
|
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
|
You can do so via the project homepage (issues section) or via email
|
||||||
Source code available under GPLv3 at project homepage
|
Source code available under GPLv3 at project homepage
|
||||||
I'm currently looking for a new job: please email me if you're hiring US software engineers)";
|
I'm currently looking for a new job: please email me if you're hiring US software engineers)";
|
||||||
constexpr auto UPDATE_AVAILABLE = L"Update available: download it from https://github.com/Artikash/Textractor/releases";
|
inline auto UPDATE_AVAILABLE = L"Update available: download it from https://github.com/Artikash/Textractor/releases";
|
||||||
constexpr auto ALREADY_INJECTED = L"Textractor: already injected";
|
inline auto ALREADY_INJECTED = L"Textractor: already injected";
|
||||||
constexpr auto ARCHITECTURE_MISMATCH = L"Textractor: architecture mismatch: try 32 bit Textractor instead";
|
inline auto ARCHITECTURE_MISMATCH = L"Textractor: architecture mismatch: try 32 bit Textractor instead";
|
||||||
constexpr auto INJECT_FAILED = L"Textractor: couldn't inject";
|
inline auto INJECT_FAILED = L"Textractor: couldn't inject";
|
||||||
constexpr auto LAUNCH_FAILED = L"Textractor: couldn't launch";
|
inline auto LAUNCH_FAILED = L"Textractor: couldn't launch";
|
||||||
constexpr auto INVALID_CODE = L"Textractor: invalid code";
|
inline auto INVALID_CODE = L"Textractor: invalid code";
|
||||||
constexpr auto INVALID_CODEPAGE = L"Textractor: couldn't convert text (invalid codepage?)";
|
inline auto INVALID_CODEPAGE = L"Textractor: couldn't convert text (invalid codepage?)";
|
||||||
constexpr auto PIPE_CONNECTED = u8"Textractor: pipe connected";
|
inline auto PIPE_CONNECTED = u8"Textractor: pipe connected";
|
||||||
constexpr auto INSERTING_HOOK = u8"Textractor: inserting hook: %s";
|
inline auto INSERTING_HOOK = u8"Textractor: inserting hook: %s";
|
||||||
constexpr auto REMOVING_HOOK = u8"Textractor: removing hook: %s";
|
inline auto REMOVING_HOOK = u8"Textractor: removing hook: %s";
|
||||||
constexpr auto HOOK_FAILED = u8"Textractor: failed to insert hook";
|
inline auto HOOK_FAILED = u8"Textractor: failed to insert hook";
|
||||||
constexpr auto TOO_MANY_HOOKS = u8"Textractor: too many hooks: can't insert";
|
inline auto TOO_MANY_HOOKS = u8"Textractor: too many hooks: can't insert";
|
||||||
constexpr auto NOT_ENOUGH_TEXT = u8"Textractor: not enough text to search accurately";
|
inline auto NOT_ENOUGH_TEXT = u8"Textractor: not enough text to search accurately";
|
||||||
constexpr auto FUNC_MISSING = u8"Textractor: function not present";
|
inline auto FUNC_MISSING = u8"Textractor: function not present";
|
||||||
constexpr auto MODULE_MISSING = u8"Textractor: module not present";
|
inline auto MODULE_MISSING = u8"Textractor: module not present";
|
||||||
constexpr auto GARBAGE_MEMORY = u8"Textractor: memory constantly changing, useless to read";
|
inline auto GARBAGE_MEMORY = u8"Textractor: memory constantly changing, useless to read";
|
||||||
constexpr auto SEND_ERROR = u8"Textractor: Send ERROR (likely an incorrect H-code)";
|
inline auto SEND_ERROR = u8"Textractor: Send ERROR (likely an incorrect H-code)";
|
||||||
constexpr auto READ_ERROR = u8"Textractor: Reader ERROR (likely an incorrect R-code)";
|
inline auto READ_ERROR = u8"Textractor: Reader ERROR (likely an incorrect R-code)";
|
||||||
constexpr auto HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
inline auto HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
||||||
constexpr auto COULD_NOT_FIND = u8"Textractor: could not find text";
|
inline auto COULD_NOT_FIND = u8"Textractor: could not find text";
|
||||||
constexpr auto SELECT_LANGUAGE = u8"Select Language";
|
inline auto SELECT_LANGUAGE = u8"Select Language";
|
||||||
constexpr auto BING_PROMPT = u8"What language should Bing translate to?";
|
inline auto BING_PROMPT = u8"What language should Bing translate to?";
|
||||||
constexpr auto GOOGLE_PROMPT = u8"What language should Google translate to?";
|
inline auto GOOGLE_PROMPT = u8"What language should Google translate to?";
|
||||||
constexpr auto TOO_MANY_TRANS_REQUESTS = LR"(
|
inline auto TOO_MANY_TRANS_REQUESTS = LR"(
|
||||||
Too many translation requests: refuse to make more)";
|
Too many translation requests: refuse to make more)";
|
||||||
constexpr auto TRANSLATION_ERROR = L"Error while translating";
|
inline auto TRANSLATION_ERROR = L"Error while translating";
|
||||||
constexpr auto EXTRA_WINDOW_INFO = u8R"(Right click to change settings
|
inline auto EXTRA_WINDOW_INFO = u8R"(Right click to change settings
|
||||||
Click and drag on window edges to move, or the bottom right corner to resize)";
|
Click and drag on window edges to move, or the bottom right corner to resize)";
|
||||||
constexpr auto BG_COLOR = u8"Background Color";
|
inline auto BG_COLOR = u8"Background Color";
|
||||||
constexpr auto TEXT_COLOR = u8"Text Color";
|
inline auto TEXT_COLOR = u8"Text Color";
|
||||||
constexpr auto FONT_SIZE = u8"Font Size";
|
inline auto FONT_SIZE = u8"Font Size";
|
||||||
constexpr auto TOPMOST = u8"Always on Top";
|
inline auto TOPMOST = u8"Always on Top";
|
||||||
constexpr auto ALWAYS_ON_TOP = u8"Keep this window on top";
|
inline auto ALWAYS_ON_TOP = u8"Keep this window on top";
|
||||||
constexpr auto REGEX_FILTER = u8"Regex Filter";
|
inline auto REGEX_FILTER = u8"Regex Filter";
|
||||||
constexpr auto INVALID_REGEX = u8"Invalid regex";
|
inline auto INVALID_REGEX = u8"Invalid regex";
|
||||||
constexpr auto CURRENT_FILTER = u8"Currently filtering: ";
|
inline auto CURRENT_FILTER = u8"Currently filtering: ";
|
||||||
#endif // ENGLISH
|
inline auto THREAD_LINKER = u8"Thread Linker";
|
||||||
|
inline auto LINK = u8"Link";
|
||||||
|
inline auto THREAD_LINK_FROM = u8"Thread number to link from";
|
||||||
|
inline auto THREAD_LINK_TO = u8"Thread number to link to";
|
||||||
|
|
||||||
|
inline auto LANG__INIT__DUMMY = std::invoke([]
|
||||||
|
{
|
||||||
#ifdef TURKISH
|
#ifdef TURKISH
|
||||||
constexpr auto ATTACH = u8"Oyuna bağla";
|
ATTACH = u8"Oyuna bağla";
|
||||||
constexpr auto DETACH = u8"Oyundan kopar";
|
DETACH = u8"Oyundan kopar";
|
||||||
constexpr auto ADD_HOOK = u8"Kanca ekle";
|
ADD_HOOK = u8"Kanca ekle";
|
||||||
constexpr auto SAVE_HOOKS = u8"Kancaları kaydet";
|
SAVE_HOOKS = u8"Kancaları kaydet";
|
||||||
constexpr auto SETTINGS = u8"Ayarlar";
|
SETTINGS = u8"Ayarlar";
|
||||||
constexpr auto EXTENSIONS = u8"Uzantılar";
|
EXTENSIONS = u8"Uzantılar";
|
||||||
constexpr auto SELECT_PROCESS = u8"İşlem Seçin";
|
SELECT_PROCESS = u8"İşlem Seçin";
|
||||||
constexpr auto ATTACH_INFO = u8"Bağlanmak istediğiniz işlemi görmüyorsanız yönetici olarak çalıştırmayı deneyin";
|
ATTACH_INFO = u8"Bağlanmak istediğiniz işlemi görmüyorsanız yönetici olarak çalıştırmayı deneyin";
|
||||||
constexpr auto CODE_INFODUMP = u8"Kanca kodunu girin\n"
|
WINDOW = u8"Pencere";
|
||||||
u8"/H{A|B|W|S|Q|V}[N][kod_sayfası#]göreli_veri_konumu[*göreli_referanstan_ayırma_konumu1][:göreli_ayırma_konumu[*göreli_referanstan_ayırma_konumu2]]@adres[:modül[:fonksiyon]]\n"
|
DEFAULT_CODEPAGE = u8"Varsayılan Kod Sayfası";
|
||||||
u8"YA DA\n"
|
FLUSH_DELAY = u8"Temizleme Gecikmesi";
|
||||||
u8"Okuma kodunu girin\n"
|
MAX_BUFFER_SIZE = u8"Maksimum Arabellek Boyu";
|
||||||
u8"/R{S|Q|V}[kod_sayfası#][*göreli_referanstan_ayırma_konumu|0]@adres\n"
|
ABOUT = L"Textractor v" CURRENT_VERSION LR"( (proje ana sayfası: https://github.com/Artikash/Textractor)
|
||||||
u8"Kod sayfası hariç tüm sayılar onaltılı sayı sisteminde olmalı\n"
|
Benim tarafımdan yapıldı: Artikash (e-posta: akashmozumdar@gmail.com)
|
||||||
u8"A/B: Shift-JIS karakteri little/big endian\n"
|
Textractor ile ilgili tüm sorunlarınız, istekleriniz ve sorularınız için lütfen benimle iletişime geçin
|
||||||
u8"W: UTF-16 karakteri\n"
|
Benimle, proje ana sayfasından (“issues” kısmından) ya da e-posta aracılığıyla iletişime geçebilirsiniz
|
||||||
u8"S/Q/V: Shift-JIS/UTF-16/UTF-8 dizgisi\n"
|
Kaynak kodu GKLv3 koruması altında proje ana sayfasında mevcut
|
||||||
u8"Negatif göreli_veri_konumları/alt_göreli_konumlar yazmaç\n"
|
Şu anda iş aramaktayım: Eğer ABD’li yazılım mühendislerini işe alıyorsanız lütfen bana e-posta atın)";
|
||||||
u8"EAX için -4, ECX için -8, EDX için -C, EBX için -10, ESP için -14, EBP için -18, ESI için -1C, EDI için -20\n"
|
UPDATE_AVAILABLE = L"Güncelleme mevcut: https://github.com/Artikash/Textractor/releases adresinden indirin";
|
||||||
u8"* işareti referanstan_ayırma_işaretçisi+göreli_referanstan_ayırma_konumu demek";
|
ALREADY_INJECTED = L"Textractor: Zaten enjekte edili";
|
||||||
constexpr auto SELECT_EXTENSION = u8"Uzantı Seçin";
|
ARCHITECTURE_MISMATCH = L"Textractor: Mimari uyumsuzluğu: Lütfen Textractor’ın 32 bitlik sürümünü deneyin";
|
||||||
constexpr auto EXTENSION_FILES = u8"Uzantılar (*.dll)";
|
INJECT_FAILED = L"Textractor: Enjekte edilemedi";
|
||||||
constexpr auto WINDOW = u8"Pencere";
|
INVALID_CODE = L"Textractor: Geçersiz kod";
|
||||||
constexpr auto DEFAULT_CODEPAGE = u8"Varsayılan Kod Sayfası";
|
INVALID_CODEPAGE = L"Textractor: Metne dönüştürülemedi (geçersiz kod sayfası?)";
|
||||||
constexpr auto FLUSH_DELAY = u8"Temizleme Gecikmesi";
|
PIPE_CONNECTED = u8"Textractor: Boru bağlandı";
|
||||||
constexpr auto MAX_BUFFER_SIZE = u8"Maksimum Arabellek Boyu";
|
INSERTING_HOOK = u8"Textractor: Kanca ekleniyor: %s";
|
||||||
constexpr auto ABOUT = L"Textractor beta v" CURRENT_VERSION L" (proje ana sayfası: https://github.com/Artikash/Textractor)\n"
|
REMOVING_HOOK = u8"Textractor: Kanca çıkarılıyor:: %s";
|
||||||
L"Benim tarafımdan yapıldı: Artikash (e-posta: akashmozumdar@gmail.com)\n"
|
HOOK_FAILED = u8"Textractor: Kanca eklenemedi";
|
||||||
L"Textractor ile ilgili tüm sorunlarınız, istekleriniz ve sorularınız için lütfen benimle iletişime geçin\n"
|
TOO_MANY_HOOKS = u8"Textractor: Çok fazla kanca var: Eklenemiyor";
|
||||||
L"Benimle, proje ana sayfasından (“issues” kısmından) ya da e-posta aracılığıyla iletişime geçebilirsiniz\n"
|
FUNC_MISSING = u8"Textractor: Fonksiyon mevcut değil";
|
||||||
L"Kaynak kodu GKLv3 koruması altında proje ana sayfasında mevcut\n"
|
MODULE_MISSING = u8"Textractor: Modül mevcut değil";
|
||||||
L"Şu anda iş aramaktayım: Eğer ABD’li yazılım mühendislerini işe alıyorsanız lütfen bana e-posta atın";
|
GARBAGE_MEMORY = u8"Textractor: Hafıza sürekli değişiyor, okumak boşa";
|
||||||
constexpr auto UPDATE_AVAILABLE = L"Güncelleme mevcut: https://github.com/Artikash/Textractor/releases adresinden indirin";
|
|
||||||
constexpr auto ALREADY_INJECTED = L"Textractor: Zaten enjekte edili";
|
|
||||||
constexpr auto ARCHITECTURE_MISMATCH = L"Textractor: Mimari uyumsuzluğu: Lütfen Textractor’ın 32 bitlik sürümünü deneyin";
|
|
||||||
constexpr auto INJECT_FAILED = L"Textractor: Enjekte edilemedi";
|
|
||||||
constexpr auto INVALID_CODE = L"Textractor: Geçersiz kod";
|
|
||||||
constexpr auto NO_HOOKS = L"Textractor: Hiçbir kanca tespit edilemedi";
|
|
||||||
constexpr auto INVALID_CODEPAGE = L"Textractor: Metne dönüştürülemedi (geçersiz kod sayfası?)";
|
|
||||||
constexpr auto PIPE_CONNECTED = u8"Textractor: Boru bağlandı";
|
|
||||||
constexpr auto DISABLE_HOOKS = u8"Textractor: x64’te kancalar çalışmaz, yalnızca okuma kodları çalışır: Motor etkisizleştirildi";
|
|
||||||
constexpr auto INSERTING_HOOK = u8"Textractor: Kanca ekleniyor: %s";
|
|
||||||
constexpr auto REMOVING_HOOK = u8"Textractor: Kanca çıkarılıyor:: %s";
|
|
||||||
constexpr auto HOOK_FAILED = u8"Textractor: Kanca eklenemedi";
|
|
||||||
constexpr auto TOO_MANY_HOOKS = u8"Textractor: Çok fazla kanca var: Eklenemiyor";
|
|
||||||
constexpr auto FUNC_MISSING = u8"Textractor: Fonksiyon mevcut değil";
|
|
||||||
constexpr auto MODULE_MISSING = u8"Textractor: Modül mevcut değil";
|
|
||||||
constexpr auto GARBAGE_MEMORY = u8"Textractor: Hafıza sürekli değişiyor, okumak boşa";
|
|
||||||
#endif // TURKISH
|
#endif // TURKISH
|
||||||
|
|
||||||
#ifdef SPANISH
|
#ifdef SPANISH
|
||||||
constexpr auto ATTACH = u8"Adjuntar juego";
|
ATTACH = u8"Adjuntar juego";
|
||||||
constexpr auto LAUNCH = u8"Iniciar juego";
|
LAUNCH = u8"Iniciar juego";
|
||||||
constexpr auto DETACH = u8"Desconectar juego";
|
DETACH = u8"Desconectar juego";
|
||||||
constexpr auto ADD_HOOK = u8"Añadir hook";
|
ADD_HOOK = u8"Añadir hook";
|
||||||
constexpr auto SAVE_HOOKS = u8"Guardar hook(s)";
|
SAVE_HOOKS = u8"Guardar hook(s)";
|
||||||
constexpr auto SETTINGS = u8"Opciones";
|
SETTINGS = u8"Opciones";
|
||||||
constexpr auto EXTENSIONS = u8"Extensiones";
|
EXTENSIONS = u8"Extensiones";
|
||||||
constexpr auto SELECT_PROCESS = u8"Seleccionar procreso";
|
SELECT_PROCESS = u8"Seleccionar procreso";
|
||||||
constexpr auto ATTACH_INFO = u8R"(Si no ves el proceso que quieras adjuntar, ejecuta este programa como administrador
|
ATTACH_INFO = u8R"(Si no ves el proceso que quieras adjuntar, ejecuta este programa como administrador
|
||||||
También puedes escribir la ID del proceso)";
|
También puedes escribir la ID del proceso)";
|
||||||
constexpr auto SEARCH_GAME = u8"Seleccionar desde computadora";
|
SEARCH_GAME = u8"Seleccionar desde computadora";
|
||||||
constexpr auto PROCESSES = u8"Procesos (*.exe)";
|
PROCESSES = u8"Procesos (*.exe)";
|
||||||
constexpr auto CODE_INFODUMP = u8R"(Buscar texto
|
CODE_INFODUMP = u8R"(Buscar texto
|
||||||
S[codepage#]texto
|
S[codepage#]texto
|
||||||
O
|
O
|
||||||
Ingresar código de lectura
|
Ingresar código de lectura
|
||||||
@ -168,58 +155,60 @@ S/Q/V: codepage/UTF-16/UTF-8 string
|
|||||||
Negatives for data/split offset refer to registers
|
Negatives for data/split offset refer to registers
|
||||||
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
|
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
|
||||||
* means dereference pointer+deref_offset)";
|
* means dereference pointer+deref_offset)";
|
||||||
constexpr auto SAVE_SETTINGS = u8"Guardar opciones";
|
SAVE_SETTINGS = u8"Guardar opciones";
|
||||||
constexpr auto EXTEN_WINDOW_INSTRUCTIONS = u8R"(Arrrastra y suelta la extension (.dll) aquí desde tu computadora para añadirlos
|
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Arrrastra y suelta la extension (.dll) aquí desde tu computadora para añadirlos
|
||||||
Arrastra y suelta la lista para reordenar
|
Arrastra y suelta la lista para reordenar
|
||||||
Presiona supr en una extension seleccionada para removerla)";
|
Presiona supr en una extension seleccionada para removerla)";
|
||||||
constexpr auto WINDOW = u8"Ventana";
|
WINDOW = u8"Ventana";
|
||||||
constexpr auto USE_JP_LOCALE = u8"¿Emular idioma japonés?";
|
USE_JP_LOCALE = u8"¿Emular idioma japonés?";
|
||||||
constexpr auto DEFAULT_CODEPAGE = u8"Default Codepage";
|
DEFAULT_CODEPAGE = u8"Default Codepage";
|
||||||
constexpr auto FLUSH_DELAY = u8"Flush Delay";
|
FLUSH_DELAY = u8"Flush Delay";
|
||||||
constexpr auto MAX_BUFFER_SIZE = u8"Max Buffer Size";
|
MAX_BUFFER_SIZE = u8"Max Buffer Size";
|
||||||
constexpr auto CONSOLE = L"Consola";
|
CONSOLE = L"Consola";
|
||||||
constexpr auto CLIPBOARD = L"Portapapeles";
|
CLIPBOARD = L"Portapapeles";
|
||||||
constexpr auto ABOUT = L"Textractor v" CURRENT_VERSION LR"( hecho por mí: Artikash (correo: akashmozumdar@gmail.com)
|
ABOUT = L"Textractor v" CURRENT_VERSION LR"( hecho por mí: Artikash (correo: akashmozumdar@gmail.com)
|
||||||
Página del proyecto: https://github.com/Artikash/Textractor
|
Página del proyecto: https://github.com/Artikash/Textractor
|
||||||
Video tutorial: https://www.youtube.com/watch?v=eecEOacF6mw
|
Video tutorial: https://www.youtube.com/watch?v=eecEOacF6mw
|
||||||
No dudes en conectarme si tienes algún problema, petición de característica o preguntas relacionadas con Textractor
|
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.
|
Puedes hacerlo en la página del proyecto (en el apartado de "Issues") o por correo. Usa el inglés para comunicarte.
|
||||||
Código fuente disponible bajo GPLv3 en la página del proyecto
|
Código fuente disponible bajo GPLv3 en la página del proyecto
|
||||||
Estoy buscando un nuevo trabajo: por favor envíame un correo si estás contratando ingenieros de software de EE.UU.)";
|
Estoy buscando un nuevo trabajo: por favor envíame un correo si estás contratando ingenieros de software de EE.UU.)";
|
||||||
constexpr auto UPDATE_AVAILABLE = L"Actualización disponible: descárguela en https://github.com/Artikash/Textractor/releases";
|
UPDATE_AVAILABLE = L"Actualización disponible: descárguela en https://github.com/Artikash/Textractor/releases";
|
||||||
constexpr auto ALREADY_INJECTED = L"Textractor: ya inyectado";
|
ALREADY_INJECTED = L"Textractor: ya inyectado";
|
||||||
constexpr auto ARCHITECTURE_MISMATCH = L"Textractor: architecture mismatch: try 32 bit Textractor instead";
|
ARCHITECTURE_MISMATCH = L"Textractor: architecture mismatch: try 32 bit Textractor instead";
|
||||||
constexpr auto INJECT_FAILED = L"Textractor: no se puede inyectar";
|
INJECT_FAILED = L"Textractor: no se puede inyectar";
|
||||||
constexpr auto LAUNCH_FAILED = L"Textractor: no se puede iniciar";
|
LAUNCH_FAILED = L"Textractor: no se puede iniciar";
|
||||||
constexpr auto INVALID_CODE = L"Textractor: código inválido";
|
INVALID_CODE = L"Textractor: código inválido";
|
||||||
constexpr auto INVALID_CODEPAGE = L"Textractor: no se puede convertir texto (¿Codepage inválido?)";
|
INVALID_CODEPAGE = L"Textractor: no se puede convertir texto (¿Codepage inválido?)";
|
||||||
constexpr auto PIPE_CONNECTED = u8"Textractor: pipe connected";
|
PIPE_CONNECTED = u8"Textractor: pipe connected";
|
||||||
constexpr auto INSERTING_HOOK = u8"Textractor: insertando hook: %s";
|
INSERTING_HOOK = u8"Textractor: insertando hook: %s";
|
||||||
constexpr auto REMOVING_HOOK = u8"Textractor: removiendo hook: %s";
|
REMOVING_HOOK = u8"Textractor: removiendo hook: %s";
|
||||||
constexpr auto HOOK_FAILED = u8"Textractor: no se puede insertar hook";
|
HOOK_FAILED = u8"Textractor: no se puede insertar hook";
|
||||||
constexpr auto TOO_MANY_HOOKS = u8"Textractor: demasiados hooks: no se puede insertar";
|
TOO_MANY_HOOKS = u8"Textractor: demasiados hooks: no se puede insertar";
|
||||||
constexpr auto NOT_ENOUGH_TEXT = u8"Textractor: no hay suficiente texto para buscar con precisión";
|
NOT_ENOUGH_TEXT = u8"Textractor: no hay suficiente texto para buscar con precisión";
|
||||||
constexpr auto FUNC_MISSING = u8"Textractor: función no presente";
|
FUNC_MISSING = u8"Textractor: función no presente";
|
||||||
constexpr auto MODULE_MISSING = u8"Textractor: module not present";
|
MODULE_MISSING = u8"Textractor: module not present";
|
||||||
constexpr auto GARBAGE_MEMORY = u8"Textractor: memory constantly changing, useless to read";
|
GARBAGE_MEMORY = u8"Textractor: memory constantly changing, useless to read";
|
||||||
constexpr auto SEND_ERROR = u8"Textractor: Send ERROR (probablemente un H-code incorrecto)";
|
SEND_ERROR = u8"Textractor: Send ERROR (probablemente un H-code incorrecto)";
|
||||||
constexpr auto READ_ERROR = u8"Textractor: Reader ERROR (probablemente un R-code incorrecto)";
|
READ_ERROR = u8"Textractor: Reader ERROR (probablemente un R-code incorrecto)";
|
||||||
constexpr auto HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
HIJACK_ERROR = u8"Textractor: Hijack ERROR";
|
||||||
constexpr auto COULD_NOT_FIND = u8"Textractor: no se puede encontrar texto";
|
COULD_NOT_FIND = u8"Textractor: no se puede encontrar texto";
|
||||||
constexpr auto SELECT_LANGUAGE = u8"Seleccionar lenguaje";
|
SELECT_LANGUAGE = u8"Seleccionar lenguaje";
|
||||||
constexpr auto BING_PROMPT = u8"¿A qué idioma debe traducir Bing?";
|
BING_PROMPT = u8"¿A qué idioma debe traducir Bing?";
|
||||||
constexpr auto GOOGLE_PROMPT = u8"¿A qué idioma debe traducir Google?";
|
GOOGLE_PROMPT = u8"¿A qué idioma debe traducir Google?";
|
||||||
constexpr auto TOO_MANY_TRANS_REQUESTS = LR"(
|
TOO_MANY_TRANS_REQUESTS = LR"(
|
||||||
Demasiadas peticiones de traducción: no se puede hacer más)";
|
Demasiadas peticiones de traducción: no se puede hacer más)";
|
||||||
constexpr auto TRANSLATION_ERROR = L"Error al traducir";
|
TRANSLATION_ERROR = L"Error al traducir";
|
||||||
constexpr auto EXTRA_WINDOW_INFO = u8R"(Clic derecho para configurar
|
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)";
|
Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior derecha para cambiar el tamaño)";
|
||||||
constexpr auto BG_COLOR = u8"Color de fondo";
|
BG_COLOR = u8"Color de fondo";
|
||||||
constexpr auto TEXT_COLOR = u8"Color de texto";
|
TEXT_COLOR = u8"Color de texto";
|
||||||
constexpr auto FONT_SIZE = u8"Tamaño de letra";
|
FONT_SIZE = u8"Tamaño de letra";
|
||||||
constexpr auto TOPMOST = u8"Siempre visible";
|
TOPMOST = u8"Siempre visible";
|
||||||
constexpr auto ALWAYS_ON_TOP = u8"Matener esta ventana encima";
|
ALWAYS_ON_TOP = u8"Matener esta ventana encima";
|
||||||
constexpr auto REGEX_FILTER = u8"Filtro Regex";
|
REGEX_FILTER = u8"Filtro Regex";
|
||||||
constexpr auto INVALID_REGEX = u8"Regex inválido";
|
INVALID_REGEX = u8"Regex inválido";
|
||||||
constexpr auto CURRENT_FILTER = u8"Actualmente filtrando: ";
|
CURRENT_FILTER = u8"Actualmente filtrando: ";
|
||||||
#endif // SPANISH
|
#endif // SPANISH
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user