os X的文件夹名称的本地化显示

来源:互联网 发布:淘宝卖鲜花资质 编辑:程序博客网 时间:2024/06/01 07:42

一、现象

在Finder显示中,可以发现“下载”、“文稿”、“桌面”等中文名文件夹,然而我们通过系统终端(Launchpad->实用工具/其他->终端),执行cd ~,然后执行 ls -la 会发现有"Downloads","Documents",  "Desktop"等英文名文件夹,显然可猜出这些文件夹与前述的中文名文件夹是同一个文件,那这其中发生了什么?

答案是:Finder在显示时,采用了文件夹名本地化的方法。那么,问题来了,可否自行设定本地化显示名呢?

显然是可以的,对于文件夹本地化显示的操作方法有两种:一是全局设置,二是局部设置。

二、环境

1. MBP: MacBook Pro (Retina, 15-inch, Mid 2014)

2. 处理器:2.5 GHz Intel Core i7

3. 内存:16 GB 1600 MHz DDR3

4. 操作系统: OS X Yosemite 版本 10.10.1

三、全局设置

全局设置的机制包含两部分:

1. 在全局本地化显示配置文件(以下以中文本地化为例进行说明)中包含有文件夹名字(英文)的本地化显示配置条目; 

2. 在文件夹下包含有.localized文件,由此系统可识别出该文件夹名需要本地化显示

下面逐一说明操作过程:

1. 找到中文本地化显示配置文件

$ cd /System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj/
$ ls
SystemFolderLocalizations.strings   <--该文件即是我们所要找的中文本地化文件,是一个二进制文件

2. 转化SystemFolderLocalizations.strings为XML文件,使用如下命令(建议使用前进行备份,以免损坏文件)

$ sudo plutil -convert xml1 SystemFolderLocalizations.strings
$ sudo vi SystemFolderLocalizations.strings      <--此命令以root权限打开该文件,否则不可保存</span>


3.将SystemFolderLocalizations.strings转换为二进制文件

$ sudo plutil -convert binary1 SystemFolderLocalizations.strings

4. 在你要本地化显示的文件夹下创建.localized

$ cd {dir}         <--将{dir}替换为你的文件夹
$ touch .localized
5. 至此已完成设置,若此时在finder中无法看到设置的文件夹显示中文名,按command+option+esc调出强制退出界面,重启finder即可。

四、局部设置

目前所收集的资料的步骤为编写zh_CN.strings的纯文件且编码为UTF-16的文件,将该文件放置在需本地化显示的文件夹下的.localized文件夹(需手动创建)下,最后在需本地化显示的文件夹的简介中设置扩展名为.localized,但目前该方法我并未实现成功,希望各位指教。

五、参考资料

1. Berry Air ,Mac自定义文件夹本地化名字, http://berryfl.diandian.com/post/2011-11-23/7036351

0 0