fix french translation

This commit is contained in:
Akash Mozumdar 2020-07-02 12:52:07 -06:00
parent ae5fa5fb9f
commit c3c73d2ac2

246
text.cpp
View File

@ -1001,25 +1001,25 @@ original_text의 빈공간은 무시되지만, replacement_text는 공백과 엔
#endif // KOREAN #endif // KOREAN
#ifdef FRENCH #ifdef FRENCH
const char* NATIVE_LANGUAGE = "French"; NATIVE_LANGUAGE = "French";
const char* ATTACH = u8"Attacher le jeu"; ATTACH = u8"Attacher le jeu";
const char* LAUNCH = u8"Lancer le jeu"; LAUNCH = u8"Lancer le jeu";
const char* GAME_CONFIG = u8"Configure le jeu"; GAME_CONFIG = u8"Configure le jeu";
const char* DETACH = u8"Detacher du jeu"; DETACH = u8"Detacher du jeu";
const char* FORGET = u8"Oublier le jeu"; FORGET = u8"Oublier le jeu";
const char* ADD_HOOK = u8"Ajouter un hook"; ADD_HOOK = u8"Ajouter un hook";
const char* REMOVE_HOOKS = u8"Enlever un hook(s)"; REMOVE_HOOKS = u8"Enlever un hook(s)";
const char* SAVE_HOOKS = u8"Sauvegarder un hook(s)"; SAVE_HOOKS = u8"Sauvegarder un hook(s)";
const char* SEARCH_FOR_HOOKS = u8"Rechercher des hooks"; SEARCH_FOR_HOOKS = u8"Rechercher des hooks";
const char* SETTINGS = u8"Paramètres"; SETTINGS = u8"Paramètres";
const char* EXTENSIONS = u8"Extensions"; EXTENSIONS = u8"Extensions";
const char* SELECT_PROCESS = u8"Selectionner le processus"; SELECT_PROCESS = u8"Selectionner le processus";
const char* ATTACH_INFO = u8R"(Si vous ne voyez pas le processus que vous souhaitez joindre, essayez de l'exécuter avec les droits d'administrateur ATTACH_INFO = u8R"(Si vous ne voyez pas le processus que vous souhaitez joindre, essayez de l'exécuter avec les droits d'administrateur
Vous pouvez également saisir l'ID de processus)"; Vous pouvez également saisir l'ID de processus)";
const char* SELECT_PROCESS_INFO = u8"Si vous saisissez manuellement le nom du fichier de processus, veuillez utiliser le chemin exact"; SELECT_PROCESS_INFO = u8"Si vous saisissez manuellement le nom du fichier de processus, veuillez utiliser le chemin exact";
const char* FROM_COMPUTER = u8"Selectionner depuis l'ordinateur"; FROM_COMPUTER = u8"Selectionner depuis l'ordinateur";
const char* PROCESSES = u8"Processus (*.exe)"; PROCESSES = u8"Processus (*.exe)";
const char* CODE_INFODUMP = u8R"(Enter read code CODE_INFODUMP = u8R"(Enter read code
R{S|Q|V|M}[null_length<][codepage#]@addr R{S|Q|V|M}[null_length<][codepage#]@addr
OR OR
Enter hook code Enter hook code
@ -1038,48 +1038,48 @@ Negatives for data_offset/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
-C for RAX, -14 for RBX, -1C for RCX, -24 for RDX, and so on for RSP, RBP, RSI, RDI, R8-R15 -C for RAX, -14 for RBX, -1C for RCX, -24 for RDX, and so on for RSP, RBP, RSI, RDI, R8-R15
* means dereference pointer+deref_offset)"; * means dereference pointer+deref_offset)";
const char* SAVE_SETTINGS = u8"Sauvergarder les paramètres"; SAVE_SETTINGS = u8"Sauvergarder les paramètres";
const char* EXTEN_WINDOW_INSTRUCTIONS = u8R"(Pour ajouter une extension, cliquez avec le bouton droit sur la liste des extensions EXTEN_WINDOW_INSTRUCTIONS = u8R"(Pour ajouter une extension, cliquez avec le bouton droit sur la liste des extensions
Vous pouvez également faire glisser et déposer le fichier d'extension depuis votre ordinateur Vous pouvez également faire glisser et déposer le fichier d'extension depuis votre ordinateur
Pour réorganiser les extensions, faites-les glisser et déposez-les dans la liste Pour réorganiser les extensions, faites-les glisser et déposez-les dans la liste
(Les extensions sont utilisées de haut en bas: l'ordre est IMPORTANT) (Les extensions sont utilisées de haut en bas: l'ordre est IMPORTANT)
Pour supprimer une extension, sélectionnez-la et appuyez sur supprimer)"; Pour supprimer une extension, sélectionnez-la et appuyez sur supprimer)";
const char* ADD_EXTENSION = u8"Ajouter une extension"; ADD_EXTENSION = u8"Ajouter une extension";
const char* INVALID_EXTENSION = u8"%1 C'est une extension invalide"; INVALID_EXTENSION = u8"%1 C'est une extension invalide";
const char* CONFIRM_EXTENSION_OVERWRITE = u8"Une autre version de cette extension existe déjà. Voulez-vous la supprimer et la remplacer?"; CONFIRM_EXTENSION_OVERWRITE = u8"Une autre version de cette extension existe déjà. Voulez-vous la supprimer et la remplacer?";
const char* EXTENSION_WRITE_ERROR = u8"Impossible d'enregistrer l'extension"; EXTENSION_WRITE_ERROR = u8"Impossible d'enregistrer l'extension";
const char* USE_JP_LOCALE = u8"Émuler les paramètres régionaux japonais?"; USE_JP_LOCALE = u8"Émuler les paramètres régionaux japonais?";
const char* FAILED_TO_CREATE_CONFIG_FILE = u8"Impossible de créer le fichier de configuration \"%1\""; FAILED_TO_CREATE_CONFIG_FILE = u8"Impossible de créer le fichier de configuration \"%1\"";
const char* HOOK_SEARCH_UNSTABLE_WARNING = u8"La recherche de crochets est instable! Soyez prêt à ce que votre jeu plante!"; HOOK_SEARCH_UNSTABLE_WARNING = u8"La recherche de crochets est instable! Soyez prêt à ce que votre jeu plante!";
const char* SEARCH_CJK = u8"Recher pour Chinois/Japonais/Coréen"; SEARCH_CJK = u8"Recher pour Chinois/Japonais/Coréen";
const char* SEARCH_PATTERN = u8"Modèle de recherche (tableau d'octets hexadécimaux)"; SEARCH_PATTERN = u8"Modèle de recherche (tableau d'octets hexadécimaux)";
const char* SEARCH_DURATION = u8"Durée de la recherche(ms)"; SEARCH_DURATION = u8"Durée de la recherche(ms)";
const char* SEARCH_MODULE = u8"Recherche sans module"; SEARCH_MODULE = u8"Recherche sans module";
const char* PATTERN_OFFSET = u8"Décalage par rapport au début du modèle"; PATTERN_OFFSET = u8"Décalage par rapport au début du modèle";
const char* MAX_HOOK_SEARCH_RECORDS = u8"Limite du résultat de la recherche"; MAX_HOOK_SEARCH_RECORDS = u8"Limite du résultat de la recherche";
const char* MIN_ADDRESS = u8"Minimum d'adresses (hex)"; MIN_ADDRESS = u8"Minimum d'adresses (hex)";
const char* MAX_ADDRESS = u8"Maximum d'adresses (hex)"; MAX_ADDRESS = u8"Maximum d'adresses (hex)";
const char* STRING_OFFSET = u8"Décalage de la chaîne (hex)"; STRING_OFFSET = u8"Décalage de la chaîne (hex)";
const char* HOOK_SEARCH_FILTER = u8"Results must match this regex"; HOOK_SEARCH_FILTER = u8"Results must match this regex";
const char* TEXT = u8"Texte"; TEXT = u8"Texte";
const char* CODEPAGE = u8"Code de page"; CODEPAGE = u8"Code de page";
const char* SEARCH_FOR_TEXT = u8"Rechercher un texte spécifique"; SEARCH_FOR_TEXT = u8"Rechercher un texte spécifique";
const char* START_HOOK_SEARCH = u8"Lancer la recherche de hook"; START_HOOK_SEARCH = u8"Lancer la recherche de hook";
const char* SAVE_SEARCH_RESULTS = u8"Sauvergarder les résultats de la recherche"; SAVE_SEARCH_RESULTS = u8"Sauvergarder les résultats de la recherche";
const char* TEXT_FILES = u8"Texte (*.txt)"; TEXT_FILES = u8"Texte (*.txt)";
const char* DOUBLE_CLICK_TO_REMOVE_HOOK = u8"Double click un hook pour l'enlever"; DOUBLE_CLICK_TO_REMOVE_HOOK = u8"Double click un hook pour l'enlever";
const char* FILTER_REPETITION = u8"Répétition de filtre"; FILTER_REPETITION = u8"Répétition de filtre";
const char* AUTO_ATTACH = u8"Attachement Automatique"; AUTO_ATTACH = u8"Attachement Automatique";
const char* ATTACH_SAVED_ONLY = u8"Attachement Automatique(Sauvergardé seulement)"; ATTACH_SAVED_ONLY = u8"Attachement Automatique(Sauvergardé seulement)";
const char* SHOW_SYSTEM_PROCESSES = u8"Montrer les processus système"; SHOW_SYSTEM_PROCESSES = u8"Montrer les processus système";
const char* DEFAULT_CODEPAGE = u8"Page de code de base"; DEFAULT_CODEPAGE = u8"Page de code de base";
const char* FLUSH_DELAY = u8"Retard de vidage"; FLUSH_DELAY = u8"Retard de vidage";
const char* MAX_BUFFER_SIZE = u8"Taille maximale du tampon"; MAX_BUFFER_SIZE = u8"Taille maximale du tampon";
const char* MAX_HISTORY_SIZE = u8"Taille d'historique maximale"; MAX_HISTORY_SIZE = u8"Taille d'historique maximale";
const char* CONFIG_JP_LOCALE = u8"Lancement avec les paramètres régionaux JP"; CONFIG_JP_LOCALE = u8"Lancement avec les paramètres régionaux JP";
const wchar_t* CONSOLE = L"Console"; CONSOLE = L"Console";
const wchar_t* CLIPBOARD = L"Presse-papier"; CLIPBOARD = L"Presse-papier";
const wchar_t* ABOUT = L"Textractor " ARCH L" v" VERSION LR"( Fait par moi: Artikash (email: akashmozumdar@gmail.com) ABOUT = L"Textractor " ARCH L" v" VERSION LR"( Fait par moi: Artikash (email: akashmozumdar@gmail.com)
Page d'acceuil du projet: https://github.com/Artikash/Textractor Page d'acceuil du projet: https://github.com/Artikash/Textractor
Vidéo tuto: https://tinyurl.com/textractor-tutorial Vidéo tuto: https://tinyurl.com/textractor-tutorial
FAQ: https://github.com/Artikash/Textractor/wiki/FAQ FAQ: https://github.com/Artikash/Textractor/wiki/FAQ
@ -1087,52 +1087,52 @@ Veuillez me contacter pour tout problème, demande de fonctionnalité ou questio
Vous pouvez le faire via la page d'accueil du projet (section problèmes) ou par e-mail Vous pouvez le faire via la page d'accueil du projet (section problèmes) ou par e-mail
Code source disponible sous GPLv3 sur la page d'accueil du projet Code source disponible sous GPLv3 sur la page d'accueil du projet
Si vous aimez ce projet, parlez-en à tout le monde :))"; Si vous aimez ce projet, parlez-en à tout le monde :))";
const wchar_t* CL_OPTIONS = LR"(usage: Textractor [-p{process id|"process name"}]... 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)"; example: Textractor -p4466 -p"My Game.exe" tries to inject processes with id 4466 or with name My Game.exe)";
const wchar_t* UPDATE_AVAILABLE = L"Mise à jour disponible: téléchargez-la depuis https://github.com/Artikash/Textractor/releases"; UPDATE_AVAILABLE = L"Mise à jour disponible: téléchargez-la depuis https://github.com/Artikash/Textractor/releases";
const wchar_t* ALREADY_INJECTED = L"Textractor: déjà injecté"; ALREADY_INJECTED = L"Textractor: déjà injecté";
const wchar_t* NEED_32_BIT = L"Textractor: incompatibilité d'architecture: seul Textractor x86 peut injecter ce processus"; NEED_32_BIT = L"Textractor: incompatibilité d'architecture: seul Textractor x86 peut injecter ce processus";
const wchar_t* NEED_64_BIT = L"Textractor: incompatibilité d'architecture: seul Textractor x64 peut injecter ce processus"; NEED_64_BIT = L"Textractor: incompatibilité d'architecture: seul Textractor x64 peut injecter ce processus";
const wchar_t* INJECT_FAILED = L"Textractor: ne peut pas injecter"; INJECT_FAILED = L"Textractor: ne peut pas injecter";
const wchar_t* LAUNCH_FAILED = L"Textractor: ne peut pas lancer"; LAUNCH_FAILED = L"Textractor: ne peut pas lancer";
const wchar_t* INVALID_CODE = L"Textractor: code invalide"; INVALID_CODE = L"Textractor: code invalide";
const wchar_t* INVALID_CODEPAGE = L"Textractor: impossible de convertir le texte (page de code non valide?)"; INVALID_CODEPAGE = L"Textractor: impossible de convertir le texte (page de code non valide?)";
const char* PIPE_CONNECTED = u8"Textractor: tuyau connecté"; PIPE_CONNECTED = u8"Textractor: tuyau connecté";
const char* INSERTING_HOOK = u8"Textractor: insertion du hook: %s"; INSERTING_HOOK = u8"Textractor: insertion du hook: %s";
const char* REMOVING_HOOK = u8"Textractor: enlève le hook: %s"; REMOVING_HOOK = u8"Textractor: enlève le hook: %s";
const char* HOOK_FAILED = u8"Textractor: n'a pas réussi à insérer un hook"; HOOK_FAILED = u8"Textractor: n'a pas réussi à insérer un hook";
const char* TOO_MANY_HOOKS = u8"Textractor: trop de hooks: impossible d'insérer"; TOO_MANY_HOOKS = u8"Textractor: trop de hooks: impossible d'insérer";
const char* STARTING_SEARCH = u8"Textractor: démarrage de la recherche"; STARTING_SEARCH = u8"Textractor: démarrage de la recherche";
const char* NOT_ENOUGH_TEXT = u8"Textractor: pas assez de texte pour effectuer une recherche précise"; NOT_ENOUGH_TEXT = u8"Textractor: pas assez de texte pour effectuer une recherche précise";
const char* HOOK_SEARCH_INITIALIZED = u8"Textractor: la recherche a été initialisé avec %zd hooks"; HOOK_SEARCH_INITIALIZED = u8"Textractor: la recherche a été initialisé avec %zd hooks";
const char* MAKE_GAME_PROCESS_TEXT = u8"Textractor: veuillez cliquer dans le jeu pour le forcer à traiter le texte lors de la prochaine %d seconds"; MAKE_GAME_PROCESS_TEXT = u8"Textractor: veuillez cliquer dans le jeu pour le forcer à traiter le texte lors de la prochaine %d seconds";
const char* HOOK_SEARCH_FINISHED = u8"Textractor: la recherche du hook est finie, %d results found"; HOOK_SEARCH_FINISHED = u8"Textractor: la recherche du hook est finie, %d results found";
const char* OUT_OF_RECORDS_RETRY = u8"Textractor: hors des enregistrements de recherche, veuillez réessayer si les résultats sont médiocres (le nombre d'enregistrements par défaut a augmenté)"; OUT_OF_RECORDS_RETRY = u8"Textractor: hors des enregistrements de recherche, veuillez réessayer si les résultats sont médiocres (le nombre d'enregistrements par défaut a augmenté)";
const char* FUNC_MISSING = u8"Textractor: function non présente"; FUNC_MISSING = u8"Textractor: function non présente";
const char* MODULE_MISSING = u8"Textractor: module non présente"; MODULE_MISSING = u8"Textractor: module non présente";
const char* GARBAGE_MEMORY = u8"Textractor: mémoire en constante évolution, inutile à lire"; GARBAGE_MEMORY = u8"Textractor: mémoire en constante évolution, inutile à lire";
const char* SEND_ERROR = u8"Textractor: envoyer ERREUR (comme un H-code instable/incorrect)"; SEND_ERROR = u8"Textractor: envoyer ERREUR (comme un H-code instable/incorrect)";
const char* READ_ERROR = u8"Textractor: Lire ERREUR (comme un R-code incorrect)"; READ_ERROR = u8"Textractor: Lire ERREUR (comme un R-code incorrect)";
const char* HIJACK_ERROR = u8"Textractor: ERREUR Hijack"; HIJACK_ERROR = u8"Textractor: ERREUR Hijack";
const char* COULD_NOT_FIND = u8"Textractor: ne peut pas trouver le texte"; COULD_NOT_FIND = u8"Textractor: ne peut pas trouver le texte";
const char* TRANSLATE_TO = u8"Traduire à"; TRANSLATE_TO = u8"Traduire à";
const char* TRANSLATE_SELECTED_THREAD_ONLY = u8"Traduire uniquement le thread sélectionné"; TRANSLATE_SELECTED_THREAD_ONLY = u8"Traduire uniquement le thread sélectionné";
const char* RATE_LIMIT_ALL_THREADS = u8"Taux limite tout les threads de texte"; RATE_LIMIT_ALL_THREADS = u8"Taux limite tout les threads de texte";
const char* RATE_LIMIT_SELECTED_THREAD = u8"Limite de débit du thread de texte sélectionné"; RATE_LIMIT_SELECTED_THREAD = u8"Limite de débit du thread de texte sélectionné";
const char* USE_TRANS_CACHE = u8"Utiliser le cache de traduction"; USE_TRANS_CACHE = u8"Utiliser le cache de traduction";
const char* RATE_LIMIT_TOKEN_COUNT = u8"Nombre de tokens du limiteur de débit"; RATE_LIMIT_TOKEN_COUNT = u8"Nombre de tokens du limiteur de débit";
const char* RATE_LIMIT_TOKEN_RESTORE_DELAY = u8"Délai de restauration du token du limiteur de débit (ms)"; RATE_LIMIT_TOKEN_RESTORE_DELAY = u8"Délai de restauration du token du limiteur de débit (ms)";
const wchar_t* TOO_MANY_TRANS_REQUESTS = L"Limite de taux dépassée: refus de faire plus de demande de traduction"; TOO_MANY_TRANS_REQUESTS = L"Limite de taux dépassée: refus de faire plus de demande de traduction";
const wchar_t* TRANSLATION_ERROR = L"Une erreur est survenue pendant la traduction"; TRANSLATION_ERROR = L"Une erreur est survenue pendant la traduction";
const char* USE_PREV_SENTENCE_CONTEXT = u8"Utiliser la phrase précédente comme contexte"; USE_PREV_SENTENCE_CONTEXT = u8"Utiliser la phrase précédente comme contexte";
const char* API_KEY = u8"API key"; API_KEY = u8"API key";
const char* EXTRA_WINDOW_INFO = u8R"(Clic droit pour modifier les paramètres EXTRA_WINDOW_INFO = u8R"(Clic droit pour modifier les paramètres
Cliquez et faites glisser sur les bords de la fenêtre pour vous déplacer ou dans le coin inférieur droit pour redimensionner)"; Cliquez et faites glisser sur les bords de la fenêtre pour vous déplacer ou dans le coin inférieur droit pour redimensionner)";
const char* SENTENCE_TOO_BIG = u8"Phrase trop grande pour être affichée"; SENTENCE_TOO_BIG = u8"Phrase trop grande pour être affichée";
const char* MAX_SENTENCE_SIZE = u8"Taille maximale de la phrase"; MAX_SENTENCE_SIZE = u8"Taille maximale de la phrase";
const char* TOPMOST = u8"Toujours au dessus"; TOPMOST = u8"Toujours au dessus";
const char* DICTIONARY = u8"Dictionnaire"; DICTIONARY = u8"Dictionnaire";
const char* DICTIONARY_INSTRUCTIONS = u8R"(Ce fichier est utilisé uniquement pour la fonction "Dictionnaire" de l'extension Extra Window. DICTIONARY_INSTRUCTIONS = u8R"(Ce fichier est utilisé uniquement pour la fonction "Dictionnaire" de l'extension Extra Window.
Il utilise un format personnalisé spécifique à Textractor et n'est pas destiné à être écrit manuellement. Il utilise un format personnalisé spécifique à Textractor et n'est pas destiné à être écrit manuellement.
Vous devriez rechercher un dictionnaire dans ce format en ligne (https://github.com/Artikash/Textractor-Dictionaries/releases est un bon point de dépar). Vous devriez rechercher un dictionnaire dans ce format en ligne (https://github.com/Artikash/Textractor-Dictionaries/releases est un bon point de dépar).
Alternativement, si vous êtes programmeur, vous pouvez écrire un script pour convertir un dictionnaire d'un autre format avec les informations ci-dessous. Alternativement, si vous êtes programmeur, vous pouvez écrire un script pour convertir un dictionnaire d'un autre format avec les informations ci-dessous.
@ -1147,19 +1147,19 @@ L'expression regex d'inflexion utilise la syntaxe unicode QRegularExpression (ht
Textractor affichera le terme racine final ainsi que toutes les inflexions utilisées pour arriver à ce terme racine. Textractor affichera le terme racine final ainsi que toutes les inflexions utilisées pour arriver à ce terme racine.
Cependant, le texte d'un terme après << est ignoré lors de l'affichage. Ceci est destiné à stocker des informations sur une partie de la parole. Cependant, le texte d'un terme après << est ignoré lors de l'affichage. Ceci est destiné à stocker des informations sur une partie de la parole.
Ce fichier doit être encodé en UTF-8.)"; Ce fichier doit être encodé en UTF-8.)";
const char* SHOW_ORIGINAL = u8"Texte Original"; SHOW_ORIGINAL = u8"Texte Original";
const char* SHOW_ORIGINAL_INFO = u8R"(Le texte d'origine ne sera pas affiché SHOW_ORIGINAL_INFO = u8R"(Le texte d'origine ne sera pas affiché
Fonctionne uniquement si cette extension est utilisée directement après une extension de traduction)"; Fonctionne uniquement si cette extension est utilisée directement après une extension de traduction)";
const char* SIZE_LOCK = u8"Verouiller la taille"; SIZE_LOCK = u8"Verouiller la taille";
const char* OPACITY = u8"Opacité"; OPACITY = u8"Opacité";
const char* BG_COLOR = u8"COuleur d'arrière-plan"; BG_COLOR = u8"COuleur d'arrière-plan";
const char* TEXT_COLOR = u8"COuleur du texte"; TEXT_COLOR = u8"COuleur du texte";
const char* TEXT_OUTLINE = u8"Contour du texte"; TEXT_OUTLINE = u8"Contour du texte";
const char* OUTLINE_COLOR = u8"Couleur du contour"; OUTLINE_COLOR = u8"Couleur du contour";
const char* OUTLINE_SIZE = u8"Taille du contour"; OUTLINE_SIZE = u8"Taille du contour";
const char* OUTLINE_SIZE_INFO = u8"Taille en pixels (recommandé de rester en dessous de 20% de la taille de la police)"; OUTLINE_SIZE_INFO = u8"Taille en pixels (recommandé de rester en dessous de 20% de la taille de la police)";
const char* FONT = u8"Police"; FONT = u8"Police";
const char* LUA_INTRO = u8R"(--[[ LUA_INTRO = u8R"(--[[
ProcessSentence est appelée chaque fois que Textractor reçoit une phrase de texte. ProcessSentence est appelée chaque fois que Textractor reçoit une phrase de texte.
Phrase param: phrase reçue par Textractor (UTF-8). Phrase param: phrase reçue par Textractor (UTF-8).
Param sentenceInfo: tableau d'informations diverses sur la phrase. Param sentenceInfo: tableau d'informations diverses sur la phrase.
@ -1175,23 +1175,23 @@ Properties in sentenceInfo:
function ProcessSentence(sentence, sentenceInfo) function ProcessSentence(sentence, sentenceInfo)
--Your code here... --Your code here...
end)"; end)";
const char* LOAD_LUA_SCRIPT = u8"Charger le script"; LOAD_LUA_SCRIPT = u8"Charger le script";
const wchar_t* LUA_ERROR = L"Erreur Lua: %s"; LUA_ERROR = L"Erreur Lua: %s";
const char* REGEX_FILTER = u8"Filtre regex"; REGEX_FILTER = u8"Filtre regex";
const char* INVALID_REGEX = u8"Regex invalide"; INVALID_REGEX = u8"Regex invalide";
const char* CURRENT_FILTER = u8"En train de filtrer: %1"; CURRENT_FILTER = u8"En train de filtrer: %1";
const wchar_t* REPLACER_INSTRUCTIONS = LR"(Ce fichier ne fait rien lorsque l'extension "Replacer" est utilisée. REPLACER_INSTRUCTIONS = LR"(Ce fichier ne fait rien lorsque l'extension "Replacer" est utilisée.
Les commandes de remplacement doivent être formatées comme: Les commandes de remplacement doivent être formatées comme:
|ORIG|original_text|BECOMES|replacement_text|END| |ORIG|original_text|BECOMES|replacement_text|END|
Tout le texte de ce fichier en dehors d'une commande de remplacement est ignoré. Tout le texte de ce fichier en dehors d'une commande de remplacement est ignoré.
Un caret (^) agit comme un caractère générique qui correspond à tout autre caractère unique. Un caret (^) agit comme un caractère générique qui correspond à tout autre caractère unique.
Les espaces dans original_text sont ignorés, mais remplacement_text peut contenir des espaces, des nouvelles lignes, etc. Les espaces dans original_text sont ignorés, mais remplacement_text peut contenir des espaces, des nouvelles lignes, etc.
Ce fichier doit être encodé en Unicode (UTF-16 Little Endian).)"; Ce fichier doit être encodé en Unicode (UTF-16 Little Endian).)";
const char* THREAD_LINKER = u8"Lien du thread"; THREAD_LINKER = u8"Lien du thread";
const char* LINK = u8"Lien"; LINK = u8"Lien";
const char* THREAD_LINK_FROM = u8"Nombre du thread du lien depuis"; THREAD_LINK_FROM = u8"Nombre du thread du lien depuis";
const char* THREAD_LINK_TO = u8"Nombre du thread du lien a"; THREAD_LINK_TO = u8"Nombre du thread du lien a";
const char* HEXADECIMAL = u8"Hexadecimal"; HEXADECIMAL = u8"Hexadecimal";
#endif // FRENCH #endif // FRENCH
return 0; return 0;