前言#
很多使用 Mac 朋友应该有这样的感受,在访达(Finder) 中有很多中文目录,但是在终端(Terminal) 下打开却是英文名称。
对于开发者来说,这个功能更是福音,多数开发者肯定都被中文路径坑过,有了多语言设定,既可以方便我们查看,在代码里也不会出问题,可谓是一举多得。
今天我们就学习一下,如何创建自己的中文目录,我们有两种办法可以创建这样的目录
我们创建个 “代码” 目录 作为演示
方法一: 用户级(推荐)#
用户级的操作顾名思义只会作用到当前用户。这也是推荐的一种做法
创建目录总共分为 5 个步骤
步骤一#
在我们想要创建目录的地方 创建 "Codes.localized" 目录, 这里我们以用户跟目录为例:
这里我们用终端(Terminal)演示,当然也可以使用【右键-> 新建文件夹】操作
mkdir ~/Codes.localized
这个目录就是我们的英文目录,这里 .localized
是必须的,也就是说,我们的目录会带有 .localized
步骤二#
在 ~/Codes.localized/
目录下创建 ".localized" 目录
cd Codes.localized && mkdir .localized
步骤三#
在 ".localized" 目录下创建 "zh.strings" 文件
cd .localized && touch zh.strings
步骤四#
在 "zh.string" 添加
"Codes" = "代码";
添加的字段后面的 ";" 不要忘记
步骤五#
重启 "Finder"
按住键盘上的 option
键,然后在访达图标上点击右键,就有一个 【重新开启】,点击即可
总结#
这种方法优点是简单、快速,而且对系统改动小, 不受系统更新影响。缺点是在终端(Terminal)中,英文文件夹名称后面有 '.localized' 有些人可能不习惯.
方法二. 系统级 (不推荐)#
1. 关闭 Rootless 功能#
1. 重启电脑并按住 cmd + R 键。进入恢复模式。
2. 载入界面后在顶部的菜单栏 Utilities > Terminal 打开终端。
3. 键入命令 "csrutil disable" 重启即可。
2. 备份#
cd /System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj
sudo cp SystemFolderLocalizations.strings SystemFolderLocalizations.strings.backup
3. 修改编辑#
系统默认的文件格式是二进制, 直接打开会显示乱码, 我们需要处理一下.
1. 转换成 'json' 文件.#
sudo plutil -convert json SystemFolderLocalizations.strings
2. 修改#
sudo vim SystemFolderLocalizations.strings
// 显示
{"Library":"资源库","Movies":"影片",
...
"Documents":"文稿","Downloads":"下载"}
参照格式 填入我们要定义的字段.
{"Library":"资源库","Movies":"影片",
...
"Documents":"文稿","Downloads":"下载","Projects":"项目"}
3. 把文件转换回二进制格式#
sudo plutil -convert binary1 SystemFolderLocalizations.strings
4 . 在你要本地化显示的文件夹下创建 .localized#
cd ~/Projects // 切换到需要本地化的文件夹
touch .localized //.localized 保持为空即可
5 . 重启 Finder 查看效果#
4. 开启 Rootless 功能#
1. 重启电脑并按住 cmd + R 键。进入恢复模式。#
2. 载入界面后在顶部的菜单栏 'Utilities' > Terminal 打开终端。#
3. 键入命令 'csrutil enable' 重启即可。#
总结#
这种方式的好处是文件夹干净清爽, 而且如果不小心删除了已经创建的文件夹,只要在原处重建一个同名文件夹比如 Codes ,然后在该文件夹下建立 .localized 文件即可, 当然缺点也很明显, 每次系统更新都需要重新设置, 而且动系统文件有一定的风险.