<p>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.</p>
<div class="gmail_quote">On Jan 17, 2012 8:25 AM, "Jerome Leclanche" <<a href="mailto:adys.wh@gmail.com">adys.wh@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We could translate the path and setup an English symlink automatically if possible?<div><br clear="all">J. Leclanche<br>
<br><br><div class="gmail_quote">On Tue, Jan 17, 2012 at 10:36 AM, Francois Gouget <span dir="ltr"><<a href="mailto:fgouget@free.fr" target="_blank">fgouget@free.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


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