Xcode 15 新功能:多语言文件可视化

4,840 阅读2分钟

Xcode 15 通过新的字符串目录引入了简化的本地化文件管理能力,为开发人员提供了一种集中且高效的方式来查看和更新本地化文件。你可以在其中轻松管理和维护本地化字符串。

在 Xcode 15 之前

在 Xcode 15 之前做 app 多语言,需要用到两个文件,一个是以 .strings 为后缀的文件,用来管理普通的多语言 key。另一个是以 .stringDict 为后缀的文件,用来管理带复数的多语言 key。

我们用一个例子来模拟这种情况,我们先在 项目根目录 > Project > Info > Localizations 中添加我们支持的多语言:

比如我这里添加了英文、简体中文和日文

然后再来创建多语言文件,快捷键 command + N 新建,在菜单中分别创建 Strings File(代表普通 key) 和 Stringsdict File(代表含负数的 key) 两个文件。

之后我们简单填写几个 key 进去

// Localizable.strings

"hello" = "Hello";
"apple" = "Apple";
"project" = "Project";

支持复数的 Localizable.stringsDict 文件我就简单配置一个 apples 的 key,如果只有一个苹果,则返回 1 apple,如果有多个苹果,则返回 %d apples (复数要加 s)。

这样,一个多语言的配置就做好了。

Xcode 15 中新增的 String Catalog

在 Xcode 15 中,新增了一个名为 String Catalog 的文件,为了简化本地化的过程。

如果你的项目是新项目,只需要 command + N,创建 String Catalog 文件即可

如果你的项目是老项目,我们还是以上边的例子来做说明,新版 Xcode 支持把 stringsstringsDict 文件转为 String Catalog,选择 Xcode 顶部菜单 Edit > Convert > To String Catalogs...,然后选择我们的多语言文件,点击确认即可。

转换之后的界面如下:

相比之前的版本,现在能够更清晰的查看多语言的翻译情况,也能更方便的编辑翻译。

stringsstringsDict 两个文件转换成了一个 xcloc 文件,更加便于维护。

Xcode 会显示每一种语言的翻译比例,比如我的例子中,简体中文已经翻译完成,日语翻译了 20%。

编辑区域点击左上角的加减号来添加和移除一个 key,这样既简化了操作步骤,也避免了格式上可能出现的一些问题

编辑区域的右上角支持搜索,如果你的项目足够大,那么这个功能会很有用。

本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!