winecfg: driveui: load UI strings from resources

Frank Richter frank.richter at gmail.com
Fri Aug 18 16:58:32 CDT 2006



-------------- next part --------------
From d70cc46e20520a55ea61bcf6318a77acadc631e2 Mon Sep 17 00:00:00 2001
From: Frank Richter frank.richter at gmail.com <frank.richter at gmail.com>
Date: Fri, 18 Aug 2006 23:57:54 +0200
Subject: [PATCH] winecfg: driveui: load UI strings from resources
---
 programs/winecfg/Bg.rc      |   15 +++++++++++
 programs/winecfg/De.rc      |   15 +++++++++++
 programs/winecfg/En.rc      |   15 +++++++++++
 programs/winecfg/Es.rc      |   15 +++++++++++
 programs/winecfg/Fi.rc      |   15 +++++++++++
 programs/winecfg/Fr.rc      |   15 +++++++++++
 programs/winecfg/Hu.rc      |   15 +++++++++++
 programs/winecfg/Ja.rc      |   15 +++++++++++
 programs/winecfg/Ko.rc      |   17 +++++++++++-
 programs/winecfg/Nl.rc      |   15 +++++++++++
 programs/winecfg/No.rc      |   15 +++++++++++
 programs/winecfg/Ru.rc      |   15 +++++++++++
 programs/winecfg/Tr.rc      |   15 +++++++++++
 programs/winecfg/driveui.c  |   60 ++++++++++++++++++++++++++++++-------------
 programs/winecfg/resource.h |   12 +++++++++
 15 files changed, 250 insertions(+), 19 deletions(-)

diff --git a/programs/winecfg/Bg.rc b/programs/winecfg/Bg.rc
index 8264160..9440958 100644
--- a/programs/winecfg/Bg.rc
+++ b/programs/winecfg/Bg.rc
@@ -239,3 +239,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/De.rc b/programs/winecfg/De.rc
index bc6489d..fd10280 100644
--- a/programs/winecfg/De.rc
+++ b/programs/winecfg/De.rc
@@ -237,3 +237,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "Aus"
     IDS_SHADER_MODE_EMULATION   "Emuliert"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Automatisch"
+    IDS_DRIVE_FIXED             "Lokale Festplatte"
+    IDS_DRIVE_REMOTE            "Netzwerkfreigabe"
+    IDS_DRIVE_REMOVABLE         "Diskette"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "Sie können keine weiteren Laufwerke mehr hinzufügen.\n\nJedes Laufwerk muss einen Buchstaben besitzen, von A bis Z, deshalb können Sie nicht mehr als 26 haben."
+    IDS_SYSTEM_DRIVE_LABEL      "Systemlaufwerk"
+    IDS_CONFIRM_DELETE_C        "Sind Sie sich sicher, dass Sie Laufwerk C entfernen möchten?\n\nDie meisten Windows-Anwendungen erwarten, dass ein Laufwerk C existiert und funktionieren ohne nicht richtig. Wenn Sie fortfahren, vergessen Sie nicht, Laufwerk C neu zu erstellen!"
+    IDS_COL_DRIVELETTER         "Buchst."
+    IDS_COL_DRIVEMAPPING        "Zuordnung"
+    IDS_NO_DRIVE_C              "Sie haben kein Laufwerk C. Das ist nicht so gut.\n\nVergessen Sie nicht, im Laufwerke-Reiter „Hinzufügen“ zu klicken um eins zu erstellen!\n"
+END
diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc
index fc6799e..c8b047f 100644
--- a/programs/winecfg/En.rc
+++ b/programs/winecfg/En.rc
@@ -239,6 +239,21 @@ BEGIN
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
 
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click ‘Add’ in the Drives tab to create one!\n"
+END
+
 /****************************************************************/
 /* English neutral resources
 /****************************************************************/
diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc
index 841d0e3..a9377dd 100644
--- a/programs/winecfg/Es.rc
+++ b/programs/winecfg/Es.rc
@@ -233,3 +233,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Fi.rc b/programs/winecfg/Fi.rc
index a98d243..d3f99cb 100644
--- a/programs/winecfg/Fi.rc
+++ b/programs/winecfg/Fi.rc
@@ -236,3 +236,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc
index 0bd019d..ee9c558 100644
--- a/programs/winecfg/Fr.rc
+++ b/programs/winecfg/Fr.rc
@@ -237,3 +237,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Hu.rc b/programs/winecfg/Hu.rc
index fd8d652..289ede2 100644
--- a/programs/winecfg/Hu.rc
+++ b/programs/winecfg/Hu.rc
@@ -233,3 +233,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Ja.rc b/programs/winecfg/Ja.rc
index e9b26c6..15935a4 100644
--- a/programs/winecfg/Ja.rc
+++ b/programs/winecfg/Ja.rc
@@ -231,3 +231,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc
index 98ba59a..c678180 100644
--- a/programs/winecfg/Ko.rc
+++ b/programs/winecfg/Ko.rc
@@ -68,7 +68,7 @@ BEGIN
 
     CONTROL	    "DirectX ÇÁ·Î±×·¥µéÀÌ ¸¶¿ì½º Ä¿¼­¸¦ ±×µéÀÇ Ã¢¾È¿¡ Àâ¾ÆµÎ°Ô ÇÔ",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,14,230,8
     CONTROL	    "µ¥½ºÅ©Å¾ ÀÌÁß ¹öÆÛ¸µÀ» °¡´ÉÇÏ°Ô ÇÔ",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,24,230,8
-    LTEXT 	    "WineâµéÀÌ Ã¢°ü¸®ÀÚ¿¡ ÀÇÇؼ­ °ü¸®µÈ´Ù¸é, WineâµéÀº Ç¥ÁØ Ã¢Æ²À» °¡Áú °ÍÀ̸ç, ÀÛ¾÷°ø°£ °ü¸®ÀÚ¿Í Àß ¾î¿ï¸± °ÍÀÔ´Ï´Ù. ±×¸®°í â¸ñ·Ï¿¡µµ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.\n\n¸¸¾à¿¡ WineâµéÀÌ Ã¢°ü¸®ÀÚ¿¡ ÀÇÇØ °ü¸®µÇÁö ¾Ê´Â´Ù¸é, WienâµéÀº â°ü¸®ÀÚ¿Í ¿¬°áµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº WineâµéÀÌ µ¥½ºÅ©Å¾°ú ¹ÐÁ¢ÇÏ°Ô ÅëÇÕµÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÇÏÁö¸¸ WineÀÇ À©µµ¿ìÁî Èä³»³»±â°¡ ´õ Á¤¹ÐÇØÁ®¼­ ¸î¸î ÇÁ·Î±×·¥µéÀÌ Á» ´õ Àß µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù.",
+    LTEXT 	    "WineâµéÀÌ Ã¢°ü¸®ÀÚ¿¡ ÀÇÇؼ­ °ü¸®µÈ´Ù¸é, WineâµéÀº Ç¥ÁØ Ã¢Æ²À» °¡Áú °ÍÀ̸ç, ÀÛ¾÷°ø°£ °ü¸®ÀÚ¿Í Àß ¾î¿ï¸± °ÍÀÔ´Ï´Ù. ±×¸®°í â¸ñ·Ï¿¡µµ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.\n\n¸¸¾à¿¡ WineâµéÀÌ Ã¢°ü¸®ÀÚ¿¡ ÀÇÇØ °ü¸®µÇÁö ¾Ê´Â´Ù¸é, WineâµéÀº â°ü¸®ÀÚ¿Í ¿¬°áµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº WineâµéÀÌ µ¥½ºÅ©Å¾°ú ¹ÐÁ¢ÇÏ°Ô ÅëÇÕµÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÇÏÁö¸¸ WineÀÇ À©µµ¿ìÁî Èä³»³»±â°¡ ´õ Á¤¹ÐÇØÁ®¼­ ¸î¸î ÇÁ·Î±×·¥µéÀÌ Á» ´õ Àß µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù.",
     		    IDC_STATIC,15,37,228,80
     CONTROL	    "â°ü¸®ÀÚ°¡ WineâÀ» °ü¸®Çϵµ·Ï ÇÔ",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,111,230,8
     LTEXT           "´ç½ÅÀº ¸ðµç À©µµ¿ìÁî ÇÁ·Î±×·¥ÀÌ °¡»óµ¥½ºÅ©Å¾¿¡¼­ µ¿ÀÏÇÑ ÇൿÀ» ÇÏ°Ô ÇÒ °ÍÀÎÁö, ¼­·Î ´Ù¸¥ ÇൿÀ» ÇÏ°Ô ÇÒ °ÍÀÎÁö ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.",
@@ -240,3 +240,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Nl.rc b/programs/winecfg/Nl.rc
index e6c9568..1a73d04 100644
--- a/programs/winecfg/Nl.rc
+++ b/programs/winecfg/Nl.rc
@@ -238,3 +238,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/No.rc b/programs/winecfg/No.rc
index 39370a4..b69d79d 100644
--- a/programs/winecfg/No.rc
+++ b/programs/winecfg/No.rc
@@ -236,3 +236,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Ru.rc b/programs/winecfg/Ru.rc
index 5ea8138..4cd4f4b 100644
--- a/programs/winecfg/Ru.rc
+++ b/programs/winecfg/Ru.rc
@@ -233,3 +233,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/Tr.rc b/programs/winecfg/Tr.rc
index 9ea2b19..9345936 100644
--- a/programs/winecfg/Tr.rc
+++ b/programs/winecfg/Tr.rc
@@ -236,3 +236,18 @@ BEGIN
     IDS_SHADER_MODE_NONE        "None"
     IDS_SHADER_MODE_EMULATION   "Emulated"
 END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_DRIVE_UNKNOWN           "Autodetect"
+    IDS_DRIVE_FIXED             "Local hard disk"
+    IDS_DRIVE_REMOTE            "Network share"
+    IDS_DRIVE_REMOVABLE         "Floppy disk"
+    IDS_DRIVE_CDROM             "CD-ROM"
+    IDS_DRIVE_LETTERS_EXCEEDED  "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26"
+    IDS_SYSTEM_DRIVE_LABEL      "System drive"
+    IDS_CONFIRM_DELETE_C        "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!"
+    IDS_COL_DRIVELETTER         "Letter"
+    IDS_COL_DRIVEMAPPING        "Drive Mapping"
+    IDS_NO_DRIVE_C              "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n"
+END
diff --git a/programs/winecfg/driveui.c b/programs/winecfg/driveui.c
index 623a31e..f7557f9 100644
--- a/programs/winecfg/driveui.c
+++ b/programs/winecfg/driveui.c
@@ -52,6 +52,16 @@ static struct drive* current_drive;
 static void get_etched_rect(HWND dialog, RECT *rect);
 static void update_controls(HWND dialog);
 
+static DWORD driveui_msgbox (HWND parent, UINT messageId, DWORD flags)
+{
+  WCHAR* caption = load_string (IDS_WINECFG_TITLE);
+  WCHAR* text = load_string (flags);
+  DWORD result = MessageBoxW (parent, text, caption, flags);
+  HeapFree (GetProcessHeap(), 0, caption);
+  HeapFree (GetProcessHeap(), 0, text);
+  return result;
+}
+
 /**** listview helper functions ****/
 
 /* clears the item at index in the listview */
@@ -145,15 +155,15 @@ static void set_advanced(HWND dialog)
 
 struct drive_typemap {
     unsigned int sCode;
-    const char *sDesc;
+    UINT idDesc;
 };
 
 static const struct drive_typemap type_pairs[] = {
-  { DRIVE_UNKNOWN,    "Autodetect"      },
-  { DRIVE_FIXED,      "Local hard disk" },
-  { DRIVE_REMOTE,     "Network share"   },
-  { DRIVE_REMOVABLE,  "Floppy disk"     },
-  { DRIVE_CDROM,      "CD-ROM"          }
+  { DRIVE_UNKNOWN,    IDS_DRIVE_UNKNOWN   },
+  { DRIVE_FIXED,      IDS_DRIVE_FIXED     },
+  { DRIVE_REMOTE,     IDS_DRIVE_REMOTE    },
+  { DRIVE_REMOVABLE,  IDS_DRIVE_REMOVABLE },
+  { DRIVE_CDROM,      IDS_DRIVE_CDROM     }
 };
 
 #define DRIVE_TYPE_DEFAULT 0
@@ -335,14 +345,20 @@ static void on_add_click(HWND dialog)
         new++;
         if (new > 'Z')
         {
-            MessageBox(dialog, "You cannot add any more drives.\n\nEach drive must have a letter, from A to Z, so you cannot have more than 26", "", MB_OK | MB_ICONEXCLAMATION);
+            driveui_msgbox (dialog, IDS_DRIVE_LETTERS_EXCEEDED, MB_OK | MB_ICONEXCLAMATION);
             return;
         }
     }
 
     WINE_TRACE("allocating drive letter %c\n", new);
 
-    if (new == 'C') add_drive(new, "../drive_c", "System Drive", "", DRIVE_FIXED);
+    if (new == 'C')
+    {
+        char label[64];
+        LoadStringA (GetModuleHandle (NULL), IDS_SYSTEM_DRIVE_LABEL, label,
+            sizeof(label)/sizeof(label[0])); 
+        add_drive(new, "../drive_c", label, "", DRIVE_FIXED);
+    }
     else add_drive(new, "/", "", "", DRIVE_UNKNOWN);
 
     fill_drives_list(dialog);
@@ -384,7 +400,7 @@ static void on_remove_click(HWND dialog)
 
     if (drive->letter == 'C')
     {
-        DWORD result = MessageBox(dialog, "Are you sure you want to delete drive C?\n\nMost Windows applications expect drive C to exist, and will die messily if it doesn't. If you proceed remember to recreate it!", "", MB_YESNO | MB_ICONEXCLAMATION);
+        DWORD result = driveui_msgbox (dialog, IDS_CONFIRM_DELETE_C, MB_YESNO | MB_ICONEXCLAMATION);
         if (result == IDNO) return;
     }
 
@@ -445,7 +461,10 @@ static void update_controls(HWND dialog)
 
     for (i = 0; i < sizeof(type_pairs) / sizeof(struct drive_typemap); i++)
     {
-        SendDlgItemMessage(dialog, IDC_COMBO_TYPE, CB_ADDSTRING, 0, (LPARAM) type_pairs[i].sDesc);
+        WCHAR driveDesc[64];
+        LoadStringW (GetModuleHandle (NULL), type_pairs[i].idDesc, driveDesc,
+            sizeof(driveDesc)/sizeof(driveDesc[0]));
+        SendDlgItemMessageW (dialog, IDC_COMBO_TYPE, CB_ADDSTRING, 0, (LPARAM)driveDesc);
 
         if (type_pairs[i].sCode ==  type)
         {
@@ -655,25 +674,30 @@ BOOL browse_for_unix_folder(HWND dialog,
 
 static void init_listview_columns(HWND dialog)
 {
-    LVCOLUMN listColumn;
+    LVCOLUMNW listColumn;
     RECT viewRect;
     int width;
+    WCHAR column[64];
 
     GetClientRect(GetDlgItem(dialog, IDC_LIST_DRIVES), &viewRect);
     width = (viewRect.right - viewRect.left) / 6 - 5;
 
+    LoadStringW (GetModuleHandle (NULL), IDS_COL_DRIVELETTER, column,
+        sizeof(column)/sizeof(column[0]));
     listColumn.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
-    listColumn.pszText = (char*) "Letter";
-    listColumn.cchTextMax = lstrlen(listColumn.pszText);
+    listColumn.pszText = column;
+    listColumn.cchTextMax = lstrlenW (listColumn.pszText);
     listColumn.cx = width;
 
-    SendDlgItemMessage(dialog, IDC_LIST_DRIVES, LVM_INSERTCOLUMN, 0, (LPARAM) &listColumn);
+    SendDlgItemMessageW (dialog, IDC_LIST_DRIVES, LVM_INSERTCOLUMNW, 0, (LPARAM) &listColumn);
 
+    LoadStringW (GetModuleHandle (NULL), IDS_COL_DRIVEMAPPING, column,
+        sizeof(column)/sizeof(column[0]));
     listColumn.cx = viewRect.right - viewRect.left - width;
-    listColumn.pszText = (char*) "Drive Mapping";
-    listColumn.cchTextMax = lstrlen(listColumn.pszText);
+    listColumn.pszText = column;
+    listColumn.cchTextMax = lstrlenW (listColumn.pszText);
 
-    SendDlgItemMessage(dialog, IDC_LIST_DRIVES, LVM_INSERTCOLUMN, 1, (LPARAM) &listColumn);
+    SendDlgItemMessageW (dialog, IDC_LIST_DRIVES, LVM_INSERTCOLUMNW, 1, (LPARAM) &listColumn);
 }
 
 static void load_drive_options(HWND dialog)
@@ -696,7 +720,7 @@ DriveDlgProc (HWND dialog, UINT msg, WPA
             load_drive_options(dialog);
 
             if (!drives[2].in_use)
-                MessageBox(dialog, "You don't have a drive C. This is not so great.\n\nRemember to click 'Add' in the Drives tab to create one!\n", "", MB_OK | MB_ICONEXCLAMATION);
+                driveui_msgbox (dialog, IDS_NO_DRIVE_C, MB_OK | MB_ICONEXCLAMATION);
 
             fill_drives_list(dialog);
             update_controls(dialog);
diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
index 5d66962..0ee15f8 100644
--- a/programs/winecfg/resource.h
+++ b/programs/winecfg/resource.h
@@ -132,6 +132,18 @@ #define IDC_SHOW_DOT_FILES              
 
 #define IDC_DRIVE_LABEL                 1078
 
+#define IDS_DRIVE_UNKNOWN               8200
+#define IDS_DRIVE_FIXED                 8201
+#define IDS_DRIVE_REMOTE                8202
+#define IDS_DRIVE_REMOVABLE             8203
+#define IDS_DRIVE_CDROM                 8204
+#define IDS_DRIVE_LETTERS_EXCEEDED      8205
+#define IDS_SYSTEM_DRIVE_LABEL          8206
+#define IDS_CONFIRM_DELETE_C            8207
+#define IDS_COL_DRIVELETTER             8208
+#define IDS_COL_DRIVEMAPPING            8209
+#define IDS_NO_DRIVE_C                  8210
+
 /* graphics */
 #define IDC_ENABLE_MANAGED              1100
 #define IDC_DX_MOUSE_GRAB               1102
-- 
1.4.1.1



More information about the wine-patches mailing list