令人兴奋 -- 一键翻译(支持 ChatGPT) ,瞬间让你的 APP 支持多语言

2023-03-13 09:49:45 +08:00
 AllNewDesign

前言

之前已经介绍过了软件的剪切板功能 - 当前所有的永久会员限时优惠

介绍

软件名称:Super Coder

软件官网: https://supercoder.lessimore.cn/features/local

它是一款纯原生 Mac 软件,包含了四大功能。

接下来我想为大家介绍这个每次开发和使用都令我十分兴奋的功能 - 本地化

本地化

为什么你需要一款本地化功能的软件?

假设此时你需要为自己的 APP 支持多语言,你会这么做:

  1. 先针对主要语言(比如中文)编写一份键值对文件,里面会包含所有 APP 中需要翻译的文本。
  2. 然后假设你想支持英文,那么你会复制中文的文件内容到英文文件中,然后一个个的进行翻译。
  3. 随着 APP 的迭代,你需要增加新的需要翻译的内容到中文文件中,然后你再次将中文文件中的新增内容复制到英文当中,一个个的进行翻译。
  4. 随着迭代,你可能需要增加对其他语言的支持,比如日语、韩语等。
  5. 你重复上面的步骤,不同的是,你需要在多个语言文件里来回的切换进行翻译。

这有什么问题?

  1. 手动编写文件很容易遇到格式问题,比如在 Localizable.strings 文件中你会忘记加末尾的分号(;)
  2. 你会经常遇到字符串的转译问题,导致项目无法正确编译
  3. 你需要一个个的翻译,工作量非常大
  4. 你会有遗漏,比如在英文里添加了,但忘了在日语里添加
  5. 你必须使用字符串硬编码调用(后续会讲到)

如果你体会过开发多语言的痛苦,你自然会需要这样一款软件,它让你的 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 本身的这些功能开发。

规划:

  1. 当前只支持了 iOS/MacOS 项目的国际化,后续会考虑逐渐增加对其他语言的支持。
  2. 回馈开源:计划为开源项目免费提供此功能。

如果你喜欢它,请到App Store给它一个好评,或者写下你的意见。

Hope you enjoy it.

3044 次点击
所在节点    分享创造
7 条回复
7gugu
2023-03-13 11:13:50 +08:00
帅欸,这个很棒
missdeer
2023-03-13 11:44:27 +08:00
好主意诶
AllNewDesign
2023-03-13 12:08:53 +08:00
@missdeer
@7gugu 感谢支持
Themyth
2023-03-16 12:49:48 +08:00
我现在其实最痛苦的是使用 app 时(在 iOS 下),大量的日语 APP 没有多语言,真是完全看不懂……
AllNewDesign
2023-03-16 12:58:54 +08:00
@Themyth 额,你把这个软件推荐给对应 APP 的开发者,让他适配中文😁
Yunhao
2023-04-20 19:59:20 +08:00
不错呀,ChatGPT 对上下文的理解很适合做 app 多语言翻译。有个疑问:使用 ChatGPT 翻译的时候,会将 comment 也提供给它吗?
AllNewDesign
2023-04-21 21:23:37 +08:00
@Yunhao 那倒是没有,只是单独的翻译了 value

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923491

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX