Mac 文件夹多语言显示设置的两种方式

请注意,本文编写于 207 天前,最后修改于 194 天前,其中某些信息可能已经过时。

很多 Mac 中文用户应该有这样的感受,Finder 中很多中文目录,在 Terminal 下其实是英文名称。创建自己的目录时,不清楚究竟创建中文还是英文目录,导致在 Terminalcd 进目录的时候总是在不停的切换输入法,非常繁琐。

实际上 OS X 本身就内建了多语言结构,有两个地方可以去自定义

譬如创建个英文目录 Projects, 想以中文 项目 来显示。

一. 用户级

在非必要的情况下,我是非常抵触修改系统目录或文件的,一切在用户目录下解决。
Projects 目录为例,5 步走:
1. 创建 "Projects.localized" 目录
2. 在该目录下创建 ".localized" 目录
3. 在 ".localized" 目录下创建 "zh.strings" 文件
4. 在 "zh.string" 按照 Key/Value 格式添加字段
5. 重启 "Finder"
简单来说

// 1 && 2
mkdir -p Projects.localized/.localized 
// 3
cd Projects.localized/.localized
touch zh.strings
// 4
vim zh.strings 
"Projects" ="项目";
// 5 
killall Finder 

要注意第 4 步添加的字段后面的 ";" 不要丢. 这种方法 优点是对系统改动小, 简单方便. 不受系统更新影响 . 缺点是 Terminal 中英文文件夹名称后面有 '.localized' 强迫症看着是真的难受.

二. 系统级

1. 关闭 Rootless 功能

a. 重启电脑并按住 cmd + R 键。进入恢复模式。
b. 载入界面后在顶部的菜单栏 Utilities > Terminal 打开终端。
c. 键入命令 "csrutil disable" 重启即可。

2. 备份

cd /System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj
sudo cp SystemFolderLocalizations.strings SystemFolderLocalizations.strings.backup

3. 修改编辑

系统默认的文件格式是二进制, 直接打开会显示乱码, 我们需要处理一下.
a. 转换成 'json' 文件.

 sudo plutil -convert json SystemFolderLocalizations.strings

b. 修改

sudo vim SystemFolderLocalizations.strings
//  显示
{"Library":"资源库","Movies":"影片",
...
"Documents":"文稿","Downloads":"下载"}

参照格式 填入我们要定义的字段.

{"Library":"资源库","Movies":"影片",
...
"Documents":"文稿","Downloads":"下载","Projects":"项目"}

c. 把文件转换回二进制格式

sudo plutil -convert binary1 SystemFolderLocalizations.strings

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

cd ~/Projects // 切换到需要本地化的文件夹
touch .localized //.localized 保持为空即可

e . 重启 Finder 查看效果

killall Finder 

4. 开启 Rootless 功能

a. 重启电脑并按住 cmd + R 键。进入恢复模式。
b. 载入界面后在顶部的菜单栏 'Utilities' > Terminal 打开终端。
c. 键入命令 'csrutil enable' 重启即可。
这种方式的好处是文件夹干净清爽, 而且如果不小心删除了这个文件夹,只要在原重建一个同名文件夹比如 Projects ,然后在该文件夹下建立 .localized 文件即可, 当然缺点也很明显, 每次系统更新都需要重新设置, 而且动系统文件有一定的风险.

Comments

添加新评论