[loc] drop GetMuiString() and use formal loc data instead

* Relying on system MUIs was too brittle and provides us with no guarantee
  that the translated messages we need will actually be there.
* Also fix space before question mark in French translation.
This commit is contained in:
Pete Batard 2019-01-09 15:53:44 +00:00
parent 78d0cb892e
commit 336e24c8c7
No known key found for this signature in database
GPG Key ID: 38E0CF5E69EDD671
6 changed files with 73 additions and 78 deletions

View File

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 3.2\n"
"Report-Msgid-Bugs-To: pete@akeo.ie\n"
"POT-Creation-Date: 2018-07-20 21:03+0100\n"
"PO-Revision-Date: 2018-07-20 21:04+0100\n"
"POT-Creation-Date: 2019-01-09 13:59+0000\n"
"PO-Revision-Date: 2019-01-09 14:02+0000\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -13,7 +13,7 @@ msgstr ""
"X-Rufus-LCID: 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.9\n"
"X-Generator: Poedit 2.2\n"
#. • IDD_DIALOG → IDS_DRIVE_PROPERTIES_TXT
msgid "Drive Properties"
@ -158,12 +158,12 @@ msgid "Settings"
msgstr "Options"
#. • IDD_UPDATE_POLICY → IDS_UPDATE_FREQUENCY_TXT
msgid "Check for updates:"
msgstr "Recherche mises à jour:"
msgid "Check for updates"
msgstr "Recherche mises à jour"
#. • IDD_UPDATE_POLICY → IDS_INCLUDE_BETAS_TXT
msgid "Include beta versions:"
msgstr "Inclure les bétas:"
msgid "Include beta versions"
msgstr "Inclure les bétas"
#. • IDD_UPDATE_POLICY → IDC_CHECK_NOW
msgid "Check Now"
@ -218,7 +218,7 @@ msgstr "Mises à jour"
#. • MSG_005
msgid "Do you want to allow Rufus to check for application updates online?"
msgstr "Voulez-vous autoriser Rufus à chercher des mises à jour en ligne?"
msgstr "Voulez-vous autoriser Rufus à chercher des mises à jour en ligne ?"
#. • MSG_007
msgid "Cancel"
@ -558,7 +558,7 @@ msgstr "Cette image n'est pas démarrable, ou bien elle utilise une méthode de
#. • MSG_083
msgid "Replace %s?"
msgstr "Remplacer %s?"
msgstr "Remplacer %s ?"
#. • MSG_084
msgid ""
@ -657,7 +657,7 @@ msgid ""
msgstr ""
"IMPORTANT : Vous essayez d'installer 'Windows To Go', mais votre périphérique de destination ne possède pas l'attribut 'FIXE'. A cause de cela, Windows va très probablement geler lors du démarrage, car Microsoft ne l'a pas conçu pour fonctionner avec des périphériques qui possèdent l'attribut 'AMOVIBLE'.\n"
"\n"
"Voulez vous continuer malgré celà?\n"
"Voulez vous continuer malgré celà ?\n"
"\n"
"Note : L'attribut 'FIXE/AMOVIBLE' est une propriété matérielle qui peut uniquement être changée avec des outils propriétaires, que les fabriquants de périphériques ne fournissent PRESQUE JAMAIS au public..."
@ -679,11 +679,11 @@ msgid ""
"Do you want to visit the 7-zip download page?"
msgstr ""
"Votre plateforme ne peut pas extraire les fichiers depuis les archives WIM. L'extraction de données WIM est nécessaire pour créer des médias USB démarrable avec EFI pour Windows 7/8 ou Windows Vista. Vous pouvez adresser ce problème en téléchargeant une version récente de l'utilitaire 7-Zip.\n"
"Voulez-vous visiter la page de téléchargements de 7-zip?"
"Voulez-vous visiter la page de téléchargements de 7-zip ?"
#. • MSG_103
msgid "Download %s?"
msgstr "Télécharger %s?"
msgstr "Télécharger %s ?"
#. • MSG_104
#.
@ -854,6 +854,38 @@ msgstr "Etablit la taille de la partition persistente pour media USB de type \"l
msgid "Set the partition size units."
msgstr "Unité de taille utilisée pour la partition persistente."
#. • MSG_127
msgid "Do not show this message again"
msgstr "Ne plus montrer ce message"
#. • MSG_128
msgid "Important notice about Secure Boot"
msgstr "Note importante à propos de Secure Boot"
#. • MSG_129
msgid ""
"You have just created a media that uses the UEFI:NTFS bootloader. Please remember that, to boot this media, YOU MUST DISABLE SECURE BOOT.\n"
"For details on why this is necessary, see the 'More Information' button below."
msgstr ""
"Vous venez juste de créer un média qui utilise UEFI:NTFS. Veuillez prendre note que, pour pouvoir démarrer ce média, VOUS DEVEZ DESACTIVER SECURE BOOT.\n"
"Pour plus d'informations (en Anglais) sur les raisons nécessitant ce changement, vous pouvez cliquer sur le bouton ci dessous."
#. • MSG_130
msgid "Windows image selection"
msgstr "Sélection d'image Windows"
#. • MSG_131
msgid ""
"This ISO contains multiple Windows images.\n"
"Please select the one you wish to use for installation:"
msgstr ""
"Cette ISO contient plusieurs images Windows.\n"
"Veuillez sélectioner l'image que vous souhaitez utiliser pour cette installation :"
#. • MSG_132
msgid "Another program or process is accessing this drive. Do you want to format it anyway?"
msgstr "Ce lecteur est utilisé par une autre application ou un autre processus. Voulez-vous quand même le formater ?"
#. • MSG_150
msgid "Type of computer you plan to use this bootable drive with. It is your responsibility to determine whether your target is of BIOS or UEFI type before you start creating the drive, as it may fail to boot otherwise."
msgstr "Type d'ordinateur avec lequel vous comptez utiliser ce disque démarrable. Il est de votre responsabilité de déterminer s'il s'agit d'un type BIOS ou UEFI avant de commencer a créer votre périphérique, car il risque de ne pas démarrer sinon."
@ -894,11 +926,11 @@ msgstr "Taille minimum quun bloc de données occupera sur le système de fich
#. • MSG_159
msgid ""
"Use this field to set the drive label\n"
"International characters are accepted"
"Use this field to set the drive label.\n"
"International characters are accepted."
msgstr ""
"Utilisez ce champ pour mettre à jour le nom du volume.\n"
"Les caractères étendus et les accents sont acceptés"
"Les caractères étendus et les accents sont acceptés."
#. • MSG_160
msgid "Toggle advanced options"
@ -935,18 +967,18 @@ msgstr "Installe un MBR permettant la sélection du périphérique de démarrage
#. • MSG_168
msgid ""
"Try to masquerade first bootable USB drive (usually 0x80) as a different disk.\n"
"This should only be necessary if you install Windows XP and have more than one disk"
"This should only be necessary if you install Windows XP and have more than one disk."
msgstr ""
"Camoufle le premier disque USB démarrable (généralement 0x80) sous une ID différente.\n"
"Changez cette option si vous installez Windows XP avec plus dun disque dur"
"Changez cette option si vous installez Windows XP avec plus dun disque dur."
#. • MSG_169
msgid ""
"Create an extra hidden partition and try to align partitions boundaries.\n"
"This can improve boot detection for older BIOSes"
"This can improve boot detection for older BIOSes."
msgstr ""
"Créé une petite partition supplémentaire et aligner les partitions.\n"
"Peut améliorer la détection du périphérique pour les vieux BIOS"
"Peut améliorer la détection du périphérique pour les vieux BIOS."
#. • MSG_170
msgid "Enable the listing of USB Hard Drive enclosures. USE AT YOUR OWN RISKS!!!"
@ -1272,7 +1304,7 @@ msgstr "Test de défauts : Test avec motif 0x%02X"
#.
#. Example: "Partitioning (MBR)..."
msgid "Partitioning (%s)..."
msgstr "Partitionage (%s)..."
msgstr "Partitionnement (%s)..."
#. • MSG_239
msgid "Deleting partitions..."
@ -1496,7 +1528,7 @@ msgid ""
msgstr ""
"L'exécutable téléchargé est signé par '%s'.\n"
"Ce nest pas une signature que nous reconnaissons et pourrait indiquer une activité malicieuse...\n"
"Êtes-vous certain de vouloir lancer ce fichier?"
"Êtes-vous certain de vouloir lancer ce fichier ?"
#. • MSG_286
msgid "Zeroing drive: %0.1f%% completed"

View File

@ -331,7 +331,8 @@ t MSG_127 "Do not show this message again"
t MSG_128 "Important notice about Secure Boot"
t MSG_129 "You have just created a media that uses the UEFI:NTFS bootloader. Please remember that, to boot this media, YOU MUST DISABLE SECURE BOOT.\nFor details on why this is necessary, see the 'More Information' button below."
t MSG_130 "Windows image selection"
t MSG_131 "This ISO contains multiple Windows images.\nPlease select the one you wish to use for installation:"
t MSG_131 "This ISO contains multiple Windows images.\nPlease select the image you wish to use for this installation:"
t MSG_132 "Another program or process is accessing this drive. Do you want to format it anyway?"
t MSG_150 "Type of computer you plan to use this bootable drive with. It is your responsibility to determine whether "
"your target is of BIOS or UEFI type before you start creating the drive, as it may fail to boot otherwise."
# You shouldn't translate 'Legacy Mode' as this is an option that usually appears in English in the UEFI settings.
@ -4140,7 +4141,7 @@ t MSG_001 "Autre instance détectée"
t MSG_002 "Une autre instance de Rufus est en cours d'exécution.\nVeuillez fermer la première instance avant d'en lancer une seconde."
t MSG_003 "ATTENTION : TOUTES LES DONNEES DU VOLUME '%s' VONT ETRE EFFACEES.\nPour continuer cette opération, cliquez sur OK.\nPour quitter cliquez sur ANNULER."
t MSG_004 "Mises à jour"
t MSG_005 "Voulez-vous autoriser Rufus à chercher des mises à jour en ligne?"
t MSG_005 "Voulez-vous autoriser Rufus à chercher des mises à jour en ligne ?"
t MSG_006 "Fermer"
t MSG_007 "Annuler"
t MSG_008 "Oui"
@ -4215,7 +4216,7 @@ t MSG_079 "Le périphérique n'est pas prêt."
t MSG_080 "Rufus a détecté que Windows est en train de finir de vider la mémoire tampon.\n\nEn fonction de la vitesse de votre périphérique et de la taille du fichier, cette opération peut prendre beaucoup de temps.\n\nNous recommandons d'attendre que Windows complète cette opération pour éviter la corruption du périphérique. Mais si jamais vous en avez marre d'attendre, vous pouvez essayer de déconnecter le média..."
t MSG_081 "Image non supportée"
t MSG_082 "Cette image n'est pas démarrable, ou bien elle utilise une méthode de démarrage ou de compression qui n'est pas compatible avec Rufus..."
t MSG_083 "Remplacer %s?"
t MSG_083 "Remplacer %s ?"
t MSG_084 "Cette image ISO utilise une version obsolète du fichier '%s'.\nLes menus de démarrage peuvent de pas fonctionner à cause de cela.\n\nRufus peut télécharger une nouvelle version du fichier pour résoudre ce problème :\n- Choisissez 'Oui' pour télécharger le fichier depuis Internet\n- Choisissez 'Non' pour garder le fichier de l'image ISO\nSi vous ne savez pas quoi faire, sélectionnez 'Oui'.\n\nNote : Le nouveau fichier sera téléchargé dans le répertoire courant. Si un '%s' existe à cet endroit, il sera réutilisé automatiquement."
t MSG_085 "Téléchargement de '%s'"
t MSG_086 "Aucune image sélectionnée"
@ -4230,12 +4231,12 @@ t MSG_094 "Partitions multiples détectées"
t MSG_095 "Image DD"
t MSG_096 "Le système de fichiers sélectionné ne peut pas être utilisé avec ce type d'image ISO. Veuillez sélectionner un système de fichiers different file ou une autre ISO."
t MSG_097 "'%s' peut seulement être appliqué pour un système de fichiers NTFS."
t MSG_098 "IMPORTANT : Vous essayez d'installer 'Windows To Go', mais votre périphérique de destination ne possède pas l'attribut 'FIXE'. A cause de cela, Windows va très probablement geler lors du démarrage, car Microsoft ne l'a pas conçu pour fonctionner avec des périphériques qui possèdent l'attribut 'AMOVIBLE'.\n\nVoulez vous continuer malgré celà?\n\nNote : L'attribut 'FIXE/AMOVIBLE' est une propriété matérielle qui peut uniquement être changée avec des outils propriétaires, que les fabriquants de périphériques ne fournissent PRESQUE JAMAIS au public..."
t MSG_098 "IMPORTANT : Vous essayez d'installer 'Windows To Go', mais votre périphérique de destination ne possède pas l'attribut 'FIXE'. A cause de cela, Windows va très probablement geler lors du démarrage, car Microsoft ne l'a pas conçu pour fonctionner avec des périphériques qui possèdent l'attribut 'AMOVIBLE'.\n\nVoulez vous continuer malgré celà ?\n\nNote : L'attribut 'FIXE/AMOVIBLE' est une propriété matérielle qui peut uniquement être changée avec des outils propriétaires, que les fabriquants de périphériques ne fournissent PRESQUE JAMAIS au public..."
t MSG_099 "Limitation du système de fichiers"
t MSG_100 "Cette image ISO contient un fichier de plus de 4 Go, ce qui est plus que la taille maximum supportée par le système de fichiers FAT ou FAT32."
t MSG_101 "Support pour archives WIM non disponible"
t MSG_102 "Votre plateforme ne peut pas extraire les fichiers depuis les archives WIM. L'extraction de données WIM est nécessaire pour créer des médias USB démarrable avec EFI pour Windows 7/8 ou Windows Vista. Vous pouvez adresser ce problème en téléchargeant une version récente de l'utilitaire 7-Zip.\nVoulez-vous visiter la page de téléchargements de 7-zip?"
t MSG_103 "Télécharger %s?"
t MSG_102 "Votre plateforme ne peut pas extraire les fichiers depuis les archives WIM. L'extraction de données WIM est nécessaire pour créer des médias USB démarrable avec EFI pour Windows 7/8 ou Windows Vista. Vous pouvez adresser ce problème en téléchargeant une version récente de l'utilitaire 7-Zip.\nVoulez-vous visiter la page de téléchargements de 7-zip ?"
t MSG_103 "Télécharger %s ?"
t MSG_104 "%s ou plus récent requiert l'installation d'un fichier '%s'.\nPuisque ce fichier fait plus de 100 Ko et est toujours présent sur les images ISO à base de %s, il n'est pas inclus dans l'application.\n\nRufus peut télécharger ce fichier pour vous :\n- Choisissez 'Oui' pour télécharger le fichier depuis Internet\n- Choisissez 'Non' si vous compter copier ce fichier manuellement\nNote : Ce fichier est téléchargé dans le répertoire courant. Une fois qu'un fichier'%s' existe à cet endroit, il sera réutilisé automatiquement."
t MSG_105 "Annuler peut laisser le périphérique dans un état inutilisable.\nSi vous êtes sûr de vouloir annuler, sélectionnez OUI. Sinon, sélectionnez NON."
t MSG_106 "Sélection de répertoire"
@ -4261,6 +4262,9 @@ t MSG_126 "Unité de taille utilisée pour la partition persistente."
t MSG_127 "Ne plus montrer ce message"
t MSG_128 "Note importante à propos de Secure Boot"
t MSG_129 "Vous venez juste de créer un média qui utilise UEFI:NTFS. Veuillez prendre note que, pour pouvoir démarrer ce média, VOUS DEVEZ DESACTIVER SECURE BOOT.\nPour plus d'informations (en Anglais) sur les raisons nécessitant ce changement, vous pouvez cliquer sur le bouton ci dessous."
t MSG_130 "Sélection d'image Windows"
t MSG_131 "Cette ISO contient plusieurs images Windows.\nVeuillez sélectioner l'image que vous souhaitez utiliser pour cette installation :"
t MSG_132 "Ce lecteur est utilisé par une autre application ou un autre processus. Voulez-vous quand même le formater ?"
t MSG_150 "Type d'ordinateur avec lequel vous comptez utiliser ce disque démarrable. Il est de votre responsabilité de déterminer s'il s'agit d'un type BIOS ou UEFI avant de commencer a créer votre périphérique, car il risque de ne pas démarrer sinon."
t MSG_151 "'UEFI-CSM' signifie que le périphérique démarrera seulement en mode émulation BIOS (i.e. 'Legacy Mode') sous UEFI, et non pas en mode UEFI natif."
t MSG_152 "'non CSM' signifie que le périphérique démarrera seulement en mode UEFI natif, et non pas en mode émulation BIOS (i.e. 'Legacy Mode')."
@ -4280,7 +4284,7 @@ t MSG_165 "Cliquez ici pour sélectionner une image..."
t MSG_166 "Cochez cette case pour permettre laffichage des caractères étendus/internationaux et ajouter une icône (ceci crée un fichier autorun.inf)"
t MSG_167 "Installe un MBR permettant la sélection du périphérique de démarrage. Peut aussi camoufler lID de disque pour le BIOS"
t MSG_168 "Camoufle le premier disque USB démarrable (généralement 0x80) sous une ID différente.\nChangez cette option si vous installez Windows XP avec plus dun disque dur."
t MSG_169 "Créé une petite partition supplémentaire et aligner les partitions.\nPeut améliorer la détection du périphérique pour les vieux BIOS"
t MSG_169 "Créé une petite partition supplémentaire et aligner les partitions.\nPeut améliorer la détection du périphérique pour les vieux BIOS."
t MSG_170 "Liste les disques durs externes USB. UTILISEZ A VOS PROPRES RISQUES !!!"
t MSG_171 "Lance le formatage. Cette opération DETRUIT toutes les données sur le périphérique sélectionné !"
t MSG_172 "Signature de téléchargement invalide"
@ -4392,7 +4396,7 @@ t MSG_281 "%s (Veuillez sélectioner)"
t MSG_282 "Verrouillage exclusif de périphérique USB"
t MSG_283 "Signature invalide"
t MSG_284 "L'exécutable téléchargé ne possède pas de signature digitale."
t MSG_285 "L'exécutable téléchargé est signé par '%s'.\nCe nest pas une signature que nous reconnaissons et pourrait indiquer une activité malicieuse...\nÊtes-vous certain de vouloir lancer ce fichier?"
t MSG_285 "L'exécutable téléchargé est signé par '%s'.\nCe nest pas une signature que nous reconnaissons et pourrait indiquer une activité malicieuse...\nÊtes-vous certain de vouloir lancer ce fichier ?"
t MSG_286 "Effacement à zéro : %0.1f%% complété"
t MSG_287 "Détection disques non-USB détachables"
t MSG_288 "Privilèges élevés manquants"

View File

@ -1788,7 +1788,7 @@ static BOOL CheckDriveAccess(DWORD dwTimeOut)
BYTE access_mask;
char *PhysicalPath = NULL, DevPath[MAX_PATH];
char drive_letter[27], drive_name[] = "?:";
char *message, title[128];
char title[128];
uint64_t cur_time, end_time = GetTickCount64() + dwTimeOut;
// Get the current selected device
@ -1835,16 +1835,8 @@ static BOOL CheckDriveAccess(DWORD dwTimeOut)
// Prompt the user if we detected blocking processes
if (!proceed) {
// We'll use a system translated string instead of one from rufus.loc
message = GetMuiString("shell32.dll", 28701); // "This drive is in use (...) Do you want to format it anyway?"
if (message != NULL) {
ComboBox_GetTextU(hDeviceList, title, sizeof(title));
proceed = Notification(MSG_WARNING_QUESTION, NULL, NULL, title, message);
free(message);
} else {
proceed = Notification(MSG_WARNING_QUESTION, NULL, NULL, title,
"This drive is in use. Do you want to format it anyway?");
}
ComboBox_GetTextU(hDeviceList, title, sizeof(title));
proceed = Notification(MSG_WARNING_QUESTION, NULL, NULL, title, lmprintf(MSG_132));
}
ret = proceed;

View File

@ -555,7 +555,6 @@ extern BOOL IsBufferInDB(const unsigned char* buf, const size_t len);
extern char* _printbits(size_t const size, void const * const ptr, int leading_zeroes);
extern BOOL IsCurrentProcessElevated(void);
extern char* GetCurrentMUI(void);
extern char* GetMuiString(char* szModuleName, UINT uID);
extern BOOL SetFormatPromptHook(void);
extern void ClrFormatPromptHook(void);
extern BYTE SearchProcess(char* HandleName, DWORD dwTimeout, BOOL bPartialMatch, BOOL bIgnoreSelf, BOOL bQuiet);

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.5.1439"
CAPTION "Rufus 3.5.1440"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -394,8 +394,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,5,1439,0
PRODUCTVERSION 3,5,1439,0
FILEVERSION 3,5,1440,0
PRODUCTVERSION 3,5,1440,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -413,13 +413,13 @@ BEGIN
VALUE "Comments", "https://akeo.ie"
VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "3.5.1439"
VALUE "FileVersion", "3.5.1440"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus-3.5.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "3.5.1439"
VALUE "ProductVersion", "3.5.1440"
END
END
BLOCK "VarFileInfo"

View File

@ -950,35 +950,3 @@ char* GetCurrentMUI(void)
}
return mui_str;
}
char* GetMuiString(char* szModuleName, UINT uID)
{
HMODULE hModule;
char path[MAX_PATH], *str;
wchar_t* wstr;
void* ptr;
int len;
static_sprintf(path, "%s\\%s\\%s.mui", system_dir, GetCurrentMUI(), szModuleName);
// If the file doesn't exist, fall back to en-US
if (!PathFileExistsU(path))
static_sprintf(path, "%s\\en-US\\%s.mui", system_dir, szModuleName);
hModule = LoadLibraryExA(path, NULL, LOAD_LIBRARY_AS_IMAGE_RESOURCE | LOAD_LIBRARY_AS_DATAFILE);
if (hModule == NULL) {
uprintf("Could not load '%s': %s", path, WindowsErrorString());
return NULL;
}
// Calling LoadStringW with last parameter 0 returns the length of the string (without NUL terminator)
len = LoadStringW(hModule, uID, (LPWSTR)(&ptr), 0);
if (len <= 0) {
if (GetLastError() == ERROR_SUCCESS)
SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
uprintf("Could not find string ID %d in '%s': %s", uID, path, WindowsErrorString());
return NULL;
}
len += 1;
wstr = calloc(len, sizeof(wchar_t));
len = LoadStringW(hModule, uID, wstr, len);
str = wchar_to_utf8(wstr);
free(wstr);
return str;
}