前言
之前已经介绍过了软件的剪切板功能 - 当前所有的永久会员限时优惠
介绍
软件名称:Super Coder
软件官网: https://supercoder.lessimore.cn/features/local
它是一款纯原生 Mac 软件,包含了四大功能。
接下来我想为大家介绍这个每次开发和使用都令我十分兴奋的功能 - 本地化
本地化
为什么你需要一款本地化功能的软件?
假设此时你需要为自己的 APP 支持多语言,你会这么做:
- 先针对主要语言(比如中文)编写一份键值对文件,里面会包含所有 APP 中需要翻译的文本。
- 然后假设你想支持英文,那么你会复制中文的文件内容到英文文件中,然后一个个的进行翻译。
- 随着 APP 的迭代,你需要增加新的需要翻译的内容到中文文件中,然后你再次将中文文件中的新增内容复制到英文当中,一个个的进行翻译。
- 随着迭代,你可能需要增加对其他语言的支持,比如日语、韩语等。
- 你重复上面的步骤,不同的是,你需要在多个语言文件里来回的切换进行翻译。
这有什么问题?
- 手动编写文件很容易遇到格式问题,比如在 Localizable.strings 文件中你会忘记加末尾的分号(;)
- 你会经常遇到字符串的转译问题,导致项目无法正确编译
- 你需要一个个的翻译,工作量非常大
- 你会有遗漏,比如在英文里添加了,但忘了在日语里添加
- 你必须使用字符串硬编码调用(后续会讲到)
如果你体会过开发多语言的痛苦,你自然会需要这样一款软件,它让你的 APP 瞬间支持多种语言,只需简单的点击。
1.加载本地化文件

软件可以自动加载项目中的 Localizable.strings 文件和 Main.storyboard 文件,展示样式如上图,包含各个语言的键值对,哪些翻译了,哪些没翻译,一目了然,不会有翻译遗漏。
你可以同时支持多个项目,比如上图中我支持了 Super Coder 、Example 、ChatGPT三个项目。
2.添加键值对

添加后会立即回显到对应的 Localizable.strings 文件中

3.编辑键值对

同样会立即回显到 Localizable.strings 文件中,不再演示。
4.翻译
翻译 value (动图演示)
单独翻译某个值
应用场景:比如某个语言的值忘记翻译的时候。

翻译 key (动图演示)
直接翻译这个 key 对应的值为所有目标语言
应用场景:比如随着项目的迭代,你需要新增键值对的时候。

翻译某个语言(动图演示)
批量翻译为某个语言 应用场景:比如你需要新增一门语言的时候

一键翻译(动图演示)
点击顶部的按钮即可一键翻译所有语言,已经存在的不会再次翻译,同时对并发做了处理
应对场景:项目首次需要支持多种语言、避免翻译遗漏等场景。
当然,所有的翻译都会立即回显到项目 Localizable.strings 文件中。

翻译接口
当前支持选择 Google 、Baidu 、ChatGPT
调用
你可以这么调用代码来显示国际化文本,这是字符串硬编码调用的方式( translate_all )
let translateAll = NSLocalizedString("translate_all", comment: "翻译全部")
但是我推荐你这么调用,这是代码生成器的功能,具备代码提示和编译提醒,本节不过多介绍此功能
R.Text.translateAll
代码生成器:每当你新增了 key value 他都会为你自动生成代码。
最后
Super Coder 本身支持超过 10 种语言,即是使用 Super Coder 本身的这些功能开发。
规划:
- 当前只支持了 iOS/MacOS 项目的国际化,后续会考虑逐渐增加对其他语言的支持。
- 回馈开源:计划为开源项目免费提供此功能。
如果你喜欢它,请到App Store给它一个好评,或者写下你的意见。