Mac OS X上文件夹名称的多语言显示是怎么来的

前两天不小心弄坏了~/documents文件夹,原来在中文系统下显示的“文稿”两个字没有了,变回了英文的”documents”。经过求助得到了解决,也明白了原理,现在给大家分享一下。

mac系统中文件夹的默认的实际名称都是英文的,在不同的语种之下,系统会使用一个多语言文件名显示服务来显示相应语言的文件夹名称。

比如说~/documents文件夹在中文环境中就显示成“文稿”,/system/library在中文环境中就显示成/”系统”/“资源库”。其实这并不是文件的路径名称发生了变化,也就是说/“系统”/”资源库”(/system/library)实际上和/系统/资源库是不同的。

实际上实现这种自动的按语种显示文件夹名称需要两步。

第一,在需要这样显示的目录中要有一个空白的.localized文件,这可以通过 “touch ~/要进行设置的某个私人目录/.localized” 或者 “sudo touch 其他系统目录/.localized” 命令来建立。

第二,要在 /system/library/coreservices/systemfolderlocalizations/相应的语言包(如zh_cn.lproj)/systemfolderlocalizations.strings文件中添加这样一个要翻译的词条。这样系统在显示目标目录的时候,一旦发现了里面的.localized文件,就到这个相应的语言本地化字串表中来找词条,找到匹配的原始名称之后,就用对应的本地语言名称代替文件夹名称的显示。

这样的服务也可以利用来本地化自己其他的指定文件夹,举例来说:假设有一个“~/downloads/my design reference”文件夹。我们可以在 /system/library/coreservices/systemfolderlocalizations/相应的语言包(如zh_cn.lproj)/systemfolderlocalizations.strings 文件中加入词条(通过终端 sudo vi 的方式编辑这个文件最好,这样不用xcode编辑完了重新设置权限):

“my design reference” = “我的设计参考”;

然后 touch ~/downloads/my design reference/.localized,重启finder或者注销再重登录,这样在finder中看到的 ~/downloads/my design reference 就显示成了 “我的设计参考”。

这样我们可以把很多文件夹保持原来的英文名,通过本地化显示名称的方式而不是重命名来将其中文化。

留下评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: