To translate 'Program Files' or not to translate?

Conan Kudo (ニール・ゴンパ) ngompa13 at gmail.com
Tue Jan 17 08:59:02 CST 2012


Or you could do the other way around. More programs expect the English path
name than translated ones. Honestly, translating path names is a recipe for
disaster.
On Jan 17, 2012 8:25 AM, "Jerome Leclanche" <adys.wh at gmail.com> wrote:

> We could translate the path and setup an English symlink automatically if
> possible?
>
> J. Leclanche
>
>
> On Tue, Jan 17, 2012 at 10:36 AM, Francois Gouget <fgouget at free.fr> wrote:
>
>>
>> That is the question!
>>
>>
>> We have a bunch of shell paths to translate in shell32.rc. However,
>> based on my French Windows VMs and computers I believe a number of them
>> should not be translated:
>>
>>  * As far as I can tell 'Program Files' is never translated.
>>  * Same thing for 'SendTo' and 'Recent'.
>>  * 'Application Data' appears to be translated in NT4 but not on Windows
>>   2000 and greater.
>>
>> Generally speaking translating a path causes all sorts of trouble
>> with broken applications. For instance one regularly ends up with a
>> 'Common Files' folder as well as the French 'Fichiers Communs' one, even
>> on a clean Windows install!
>>
>> Looking at Windows 2000 and greater it seems that Microsoft first
>> decided to only translate the folders most visible to the user. That
>> would explain why 'Application Data', 'Local Settings' and their ilk are
>> not translated.
>>
>> But the very latest fashion (e.g. Windows 7), appears to be to never
>> translate the actual on-disk folder name and use 'desktop.ini' files to
>> get a localized name in the GUI. So for instance on Windows 7 the
>> 'Program Files' folder is called that way on disk but it appears as
>> 'Programmes' in Windows Explorer because of the desktop.ini file (as an
>> anecdote 'Program Files (x86)' has no 'desktop.ini' file and thus is not
>> translated in Explorer. What a mess!).
>>
>>
>> So what do we want to do?
>>
>> The patch below marks the paths that are not meant to be translated as
>> such to reduce the translators burden and avoid mistakes. Some paths mix
>> parts that need to be translated with other that shouldn't. Given the
>> CSIDL_Data structure I'm not sure that can be avoided but I'll be happy
>> with any patch that avoids that. In the meantime I use the message
>> context to give instructions to the translator.
>>
>> Does this make sense? Any better solution?
>>
>>
>> diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
>> index 92d9d72..3aaa0f2 100644
>> --- a/dlls/shell32/shell32.rc
>> +++ b/dlls/shell32/shell32.rc
>> @@ -200,31 +200,31 @@ the folder?"
>>        IDS_PERSONAL                "My Documents"
>>        IDS_FAVORITES               "Favorites"
>>        IDS_STARTUP                 "Start Menu\\Programs\\StartUp"
>> -       IDS_RECENT                  "Recent"
>> -       IDS_SENDTO                  "SendTo"
>> +       IDS_RECENT                  "#msgctxt#do not translate#Recent"
>> +       IDS_SENDTO                  "#msgctxt#do not translate#SendTo"
>>        IDS_STARTMENU               "Start Menu"
>>        IDS_MYMUSIC                 "My Music"
>>        IDS_MYVIDEO                 "My Videos"
>>        IDS_DESKTOPDIRECTORY        "#msgctxt#directory#Desktop"
>>        IDS_NETHOOD                 "NetHood"
>>        IDS_TEMPLATES               "Templates"
>> -       IDS_APPDATA                 "Application Data"
>> +       IDS_APPDATA                 "#msgctxt#do not
>> translate#Application Data"
>>        IDS_PRINTHOOD               "PrintHood"
>> -       IDS_LOCAL_APPDATA           "Local Settings\\Application Data"
>> -       IDS_INTERNET_CACHE          "Local Settings\\Temporary Internet
>> Files"
>> -       IDS_COOKIES                 "Cookies"
>> -       IDS_HISTORY                 "Local Settings\\History"
>> -       IDS_PROGRAM_FILES           "Program Files"
>> -       IDS_PROGRAM_FILESX86        "Program Files (x86)"
>> +       IDS_LOCAL_APPDATA           "#msgctxt#do not translate#Local
>> Settings\\Application Data"
>> +       IDS_INTERNET_CACHE          "#msgctxt#do not translate#Local
>> Settings\\Temporary Internet Files"
>> +       IDS_COOKIES                 "#msgctxt#do not translate#Cookies"
>> +       IDS_HISTORY                 "#msgctxt#do not translate 'Local
>> Settings'#Local Settings\\History"
>> +       IDS_PROGRAM_FILES           "#msgctxt#do not translate#Program
>> Files"
>> +       IDS_PROGRAM_FILESX86        "#msgctxt#do not translate#Program
>> Files (x86)"
>>        IDS_MYPICTURES              "My Pictures"
>> -       IDS_PROGRAM_FILES_COMMON    "Program Files\\Common Files"
>> -       IDS_PROGRAM_FILES_COMMONX86 "Program Files (x86)\\Common Files"
>> +       IDS_PROGRAM_FILES_COMMON    "#msgctxt#do not translate 'Program
>> Files'#Program Files\\Common Files"
>> +       IDS_PROGRAM_FILES_COMMONX86 "#msgctxt#do not translate 'Program
>> Files (x86)'#Program Files (x86)\\Common Files"
>>        IDS_COMMON_DOCUMENTS        "Documents"
>>        IDS_ADMINTOOLS              "Start Menu\\Programs\\Administrative
>> Tools"
>>        IDS_COMMON_MUSIC            "Music"
>>        IDS_COMMON_PICTURES         "Pictures"
>>        IDS_COMMON_VIDEO            "Videos"
>> -       IDS_CDBURN_AREA             "Local Settings\\Application
>> Data\\Microsoft\\CD Burning"
>> +       IDS_CDBURN_AREA             "#msgctxt#do not translate#Local
>> Settings\\Application Data\\Microsoft\\CD Burning"
>>        IDS_CONTACTS                "Contacts"
>>        IDS_LINKS                   "Links"
>>        IDS_PHOTO_ALBUMS            "Pictures\\Slide Shows"
>> --
>> 1.7.7.3
>>
>>
>>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20120117/09772d2c/attachment-0001.html>


More information about the wine-devel mailing list