最佳实践

本文是作为开发者,写给Xliff Tool用户的最佳实践指南。本指南的目的是释放Xliff Tool的全部功能。参考本指南,并将其融入您的工作流程。

翻译最佳实践

翻译有三种模式,ML翻译、本地大模型翻译、在线大模型翻译。首选是ML翻译。以下是三种翻译的特点:

ML翻译

  • 无额外费用。
  • 采用离线方式时翻译完全在本地进行,私密性强。
  • 翻译为直译,准确度高。
  • 翻译速度快。

本地大模型翻译

  • 无额外费用。
  • 翻译在本地进行,私密性强。
  • 翻译可以通过提示词润色,但受限于本地可以运行的大模型一般都是限缩的版本。翻译质量不稳定。有时甚至会出现无法翻译为目标语言的问题。
  • 不同的模型对不同语言的翻译的水准也各不相同,可能需要寻找才能找到适合的模型。
  • 翻译速度根据机器配置和选择的模型的大小而不同,但一般是这三者中最慢的。

在线大模型翻译

  • 需要付费给对应的大模型提供商。
  • 需要你获取对应大模型的API Key。
  • 翻译需要上传到该大模型的服务器,如果在意隐私,就不适合采用这个方式。
  • 翻译可以通过提示词润色,并且因为在线大模型是完整版。翻译质量较高。对于长句的处理在提示词润色后可以获得更加原汁原味的目标语言的翻译。
  • 翻译速度快。

核对的最佳实践

核对有两种方式,一种是直接核对,一种是交叉核对。推荐交叉核对。交叉核对又分成本地大模型交叉核对和在线大模型交叉核对,推荐在线大模型交叉核对。

具体的优缺点和上面提到的本地大模型翻译和在线大模型翻译类似。主要是受到大模型规模的限制,本地大模型在准确性上的确不如在线大模型。而由于机器运行速度的限制,在核对速度上本地大模型也不如在线大模型。

语法检查最佳实践

语法检查同样可以使用本地大模型和在线大模型。推荐在线大模型。具体原因和核对推荐的原因相同。

推荐流程

翻译的一般流程:Xcode导出,翻译,验证翻译,Xcode导入。

  1. 对于熟悉的语言,可以使用ML翻译,然后人工审核验证。
  2. 对于不熟悉的语言,可以使用ML翻译,然后通过大模型进行验证。大模型验证可以通过交叉验证的方式,提高准确率。

大模型交叉验证是指通过已经验证通过的目标,来进行翻译验证,而不是使用源进行验证。

比如英文的check具有检查和支票两种意思。假设我们需要将英文的check翻译成日文。那么在验证时,仅仅通过源check,我们没法知道这个check翻译成日文的检查还是支票。此时,我们可以使用已经验证通过的第三方来进行验证。比如我们已经有英文到中文的翻译,那么我们就可以使用中文翻译来验证这个日文。比如中文是检查,但日文是支票。那就证明日文的翻译有误,需要手动修改。

下面详细叙述翻译的各个步骤。

1. Xcode导出多语言文件到iCloud下的Xliff Tool文件夹

Xliff Tool使用CloudKit同步内部数据库。这不包含Xcode导出的xcloc文件。因此,如果你也想同步这些文件,就需要将它们放入能够自动同步的文件夹内。Xliff Tool在iCloud文件夹下预先创建了一个应用专属文件夹,推荐用户使用。

你也可以使用其它同步类型的服务,比如Dropbox或者OneDrive之类的。

2. 打开需要翻译的文件

3. AI翻译

推荐在macOS下载常用的语言的离线翻译包。这样翻译的速度可以提高。具体的使用方法可以看这篇文章:使用ML翻译

大模型翻译有时会过多解释要翻译的内容。因此需要在验证时投入更多精力。

4. 检验翻译

对于熟悉的语言,建议用户使用手动审核。这样可以最大提高准确率。同时,手动审核的结果,还可以用于大模型交叉审核。从而提高用户不熟悉语言的翻译的准确率。

对于不熟悉的语言,可以使用大模型交叉审核。

在macOS中,用户可以使用cmd+回车来确认审核。
在iOS/iPadOS中,用户可以通过在目标文本编辑视图上方,向左滑动来确认审核。

5. 保存。

全部翻译完成后,用户就可以将结果保存。

保存可以随时进行。如果翻译的不全,则保存的结果就是部分结果。值得注意的是,即便没有全部确认,只要是翻译过的内容,就都会被保存。不过此时获得的,就只是翻译过的内容,而不是确认并修改完成的最终结果。

6. Xcode导入翻译好的多语言文件,翻译完成。

关于同步

Xliff Tool共有两部分的数据需要同步。一部分是Xcode导出的多语言文件;一部分是Xliff Tool存储于内部的数据库。

前一部分,Xliff Tool不负责同步,但Xliff Tool在iCloud Drive创建了专属的文件夹,你可以使用它,它是由iCloud自动同步的。你也可以使用其它的同步方案。

后一部分,Xliff Tool使用CloudKit进行同步。

如果你同时在多个设备上打开同一个文件,二者默认会按照相同的顺序提示你操作,并且你在其中一个进行翻译或确认,另一个的界面也会做出相应的改变。

语法检查

Xliff Tool 4.0版新增了语法检查功能。它包含两部分的功能。

逐字检查

逐字检查是指在所有语言下,源和目标都相同的翻译。这类词,我们应该从翻译文件中剔除。因为它们无需翻译。在SwiftUI下,可以使用类似Text(verbatim: "666")这样的方式来避免文本被翻译。

点击文本,可以将文本复制到剪贴板。

如果你已经采用了Xcode最新的String Catalog功能。那么在使用逐字检查的时候可能会遇到问题。你在Xcode改动过的代码如Text(verbatim: "666"),仍旧会在翻译中出现。根据我们的调查,这个String Catalog的问题。解决办法,就是删除掉String Catalog,然后重新导出多语言文件即可。

可选的方式还包括删除掉String Catalog,然后再重新添加一个。

长句检查

长句检查可以检查句子的拼写和语法。它使用大模型进行语法检查。未了提高准确性,Xliff Tool允许你同时使用3个不同的大模型来进行综合比较。

语言检查,查找的都是源的问题。因此,在查找到问题之后,需要在Xcode中对于源进行修改,然后再重新导出需要翻译的文件。

逐字检查需要在翻译完成后才能检查。
长句检查则需要要一开始就检查。