我的文档变成英文了怎么办?为什么有的文件夹看起来是中文,但路径却是英文?

以上问题的关键在于desktop.ini。百度知道的yuffiesqq早在2006年就提出了相关问题(★200+50分。关于desktop.ini里面的疑惑,高手进来。★)但最佳答案回答得屎一样。我这里试图重新解答。

在新鲜装好的系统里,desktop.ini是隐藏的,而且隐藏的多选框是禁用的。(如图。隐藏多选框被禁用是因为此文件属于系统文件,有“系统”属性,可以用cmd里的attrib查看和修改。)

我的文档变成英文了怎么办?为什么有的文件夹看起来是中文,但路径却是英文?_第1张图片

desktop.ini的编码格式应该是Unicode(UTF-16小端序)才可以被资源管理器识别。

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21760
[LocalizedFileNames]
Magnify.lnk=@%SystemRoot%\system32\shell32.dll,-22041
On-Screen Keyboard.lnk=@%SystemRoot%\system32\shell32.dll,-22052
Ease of Access.lnk=@%SystemRoot%\system32\AccessibilityCpl.dll,-10
Narrator.lnk=@%SystemRoot%\system32\shell32.dll,-22048

LocalizedResourceName用来把desktop.ini所在的文件夹的名称显示为本地化的名称,格式是LocalizedResourceName=dllname,stringID

shell32.dll里保存了很多系统使用的资源,包括光标、图标、XML、视频、字符串等,每项资源都有对应的id。LocalizedResourceName就是读取shell32.dll里面的字符串资源。那么,shell32里到底有哪些资源呢?百度百科的LocalizedResourceName词条写了一大堆可用资源,但谁也不知道它的正确性,也不知道这是怎么获得的。其实,我们可以用ResourcesExtract(http://www.nirsoft.net/utils/resources_extract.html)提取资源。我提取了字符串资源,放到了http://download.csdn.net/detail/gqqnb/6593827(现在CSDN下载频道里的资源不可以修改了,不能改描述什么的,所以今后我应该不再在CSDN下载频道提供资源),有需要的朋友可以下载。

LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21770
Documents文件夹里的 desktop.ini把文件夹名称改为本地化的“我的文档”。

desktop.ini还能指定同一目录里的其他文件的本地化名称,用的是[LocalizedFileNames]节,语法与LocalizedResourceName类似。desktop.ini里所有可用的配置节可见Desktop.ini Documentation(非官方)。

另外,中文圈里(百度知道里)多次提到了PersonalizedName。没有微软的官方文档提到这个键的用法,不过看起来它应该和LocalizedResourceName一样,覆盖当前文件夹的“本名”。我觉得应该优先使用LocalizedResourceName

本文以知识共享-署名-相同方式3.0协议发布

作者:爱让一切都对了

注:由于百度百科、百度文库等的协议与本发布协议不符,本文不能合法地转发至百度站点!

参考资料

  1. How to Customize Folders with Desktop.ini
  2. Removing 'Hidden' status
  3. Customizing Folders with Desktop.ini
  4. The customized folder names might not be copied...

你可能感兴趣的:(本地化,资源管理器,desktop.ini)