Thursday 24 August 2017

Can you make Windows 7 not localize folder names?


I am running preinstalled Windows 7 Home Premium (Nordic, in Finnish for me). My C:\ folder of course has the Users folder, but its name is in Finnish.


Folder name


Clicking on the folder name in Explorer shows the real name.


Real folder name


This one is also the one showed by other applications, like the Web browser or 7-Zip.


This is not limited to C:\Users but also applies to Start Menu etc.


What I'd like to do is to turn off this localization in Explorer. Is there a way to do this?



Answer





Folders are normally displayed with the standard folder icon. A common use of the Desktop.ini file is to assign a custom icon or thumbnail image to a folder. You can also use Desktop.ini to create an infotip that displays information about the folder and controls some aspects of the folder's behavior, such as specifying localized names for the folder or items in the folder.


Source: How to Customize Folders with Desktop.ini


Before the shell displays the name of a directory, the shell looks for a Desktop.ini file. If it finds one, it displays a redirected name obtained from LocalizedReourceName to the end user.


Source: Customizing Folders with Desktop.ini (Windows CE 5.0)



Here's the default content of the desktop.ini file stored in the C:\Users folder:


[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21813

Disabling localized names


Windows Explorer doesn't seem to provide any documented way to ignore folder localization, but removing the LocalizedResourceName line does the job. While you could also delete the file entirely, it's not a good idea as you would lose other customization settings such as icons or tooltips.


Batch automation


Below there's a simple batch script which can do that for you, recursively scanning every folder in the system drive. Make sure to run it as administrator.


@echo off
setlocal enabledelayedexpansion

pushd "%systemdrive%\"

for /f "delims=" %%G in ('dir /a /b /s desktop.ini') do (
find /i "LocalizedResourceName=" "%%~G" >nul
if !errorlevel! == 0 (
takeown /f "%%~G" /a >nul
icacls "%%~G" /grant:r *S-1-5-32-544:F /q >nul
attrib -h -s "%%~G"
type "%%~G" | findstr /i /v /c:"LocalizedResourceName=" > "%%~G.new"
copy "%%~G" "%%~nxG.bak" >nul 2>&1
del /a "%%~G"
ren "%%~G.new" "%%~nxG"
attrib +h +s "%%~G.bak"
attrib +h +s "%%~G"
))

popd
pause & exit /b

No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...