本文档是面向Xliff工具的开发者和使用者的实践指南。本指南的目的是充分发挥Xliff工具的潜力。请使用本指南作为参考,并将其整合到您的工作流程中。
翻译可以通过两种模式进行:机器学习(ML)翻译或基于大型本地模型的翻译。前者更受青睐,具体说明如下:
无需额外成本。
在离线模式下运行时,翻译完全是在本地进行的,确保强大的隐私性。
翻译是直接的,准确率很高。
翻译速度很快。
无需额外成本。
翻译是在本地进行的,确保强大的隐私性。
可以通过提示词对翻译进行优化,但由于本地大语言模型的局限性,翻译质量可能不稳定,有时甚至无法将翻译结果翻译成目标语言。
不同模型对不同语言的翻译质量水平有所不同,可能需要通过搜索来找到最合适的模型。
翻译速度因机器配置和所选模型的规模而异,但通常比ML翻译要慢。
有两种验证方法:直接验证和交叉验证。建议使用交叉验证。
使用Ollama进行语法检查时,应确保所选模型支持您正在使用的语言。通常可以在模型的技术文档中找到这些信息。
翻译的一般流程为:从Xcode导出、翻译、验证翻译结果,然后将其导入Xcode。
对于熟悉的语言,可以先使用ML翻译,然后进行人工审查和验证。
对于不熟悉的语言,可以先使用ML翻译,然后通过大语言模型进行验证。通过交叉验证可以提高大语言模型验证的准确性。
大语言模型交叉验证是指使用已经验证过的目标语言来验证翻译结果,而不是使用源语言。
例如,英语单词“check”有两个含义:检查和银行支票。假设我们需要将英语单词“check”翻译成日语。在验证过程中,仅依赖源语言中的“check”并不能告诉我们翻译成日语应该是“检查”还是“银行支票”。在这种情况下,我们可以使用已经验证过的第三方语言进行验证。例如,如果我们已经有了英语到中文的翻译,我们可以使用中文翻译来验证日语。如果中文翻译是“检查”,而日语翻译是“银行支票”,则表明日语翻译中存在错误,需要人工纠正。
以下是翻译步骤的详细描述。
Xliff工具使用CloudKit来同步其内部数据库,这不包括从Xcode导出的xcloc文件。因此,如果您也想同步这些文件,需要将它们放在一个可以自动同步的文件夹中。Xliff工具在iCloud Drive中创建了一个专用的应用文件夹,建议使用该文件夹。
您也可以使用其他同步服务,如Dropbox或OneDrive。
建议在macOS上下载常用语言的离线翻译包,这样可以提高翻译速度。具体使用方法,可以参考这篇文章:使用ML翻译。
大语言模型翻译有时会对要翻译的内容进行过度解释。因此,在验证过程中需要更多的努力。
对于熟悉的语言,建议使用人工审查来提高准确性。此外,人工审查的结果也可以用于大语言模型交叉验证,从而提高用户不熟悉的语言的翻译准确性。
对于不熟悉的语言,可以使用大语言模型交叉验证。
在macOS上,用户可以使用cmd + enter来确认审查结果。 在iOS/iPadOS上,用户可以在目标文本编辑视图上方向左滑动以确认审查结果。
所有翻译完成后,用户可以保存结果。
可以在任何时候保存。如果翻译不完整,保存的结果将是不完整的。需要注意的是,即使没有确认所有的翻译结果,只要内容已经翻译完成,就会保存下来。但是,此时获得的只是翻译后的内容,而不是确认和修改后的最终结果。
将翻译完成的多语言文件导入Xcode,翻译过程就完成了。
Xliff工具需要同步两部分数据。一部分是从Xcode导出的多语言文件;另一部分是Xliff工具存储的内部数据库。
对于前者,Xliff工具并不处理同步,但它在iCloud Drive中创建了一个专用的文件夹,您可以使用该文件夹。该文件夹通过iCloud自动同步。您也可以使用其他同步解决方案。
对于后者,Xliff工具使用CloudKit进行同步。
如果您在同一时间在多个设备上打开同一文件,默认行为是在两个设备上以相同的顺序提示您进行操作,您在其中一个设备上进行的任何翻译或确认操作都会反映到另一个设备上。
Xliff Tool 4.0版本增加了语法检查功能,包括两部分功能。
字面检查指的是源语言和目标语言在所有语言中的翻译结果相同的情况。这类词汇应该从翻译文件中删除,因为它们不需要被翻译。在SwiftUI中,可以使用Text(verbatim: “666”)等方法防止文本被翻译。
点击文本可以将它复制到剪贴板。
如果您在Xcode中采用了最新的String Catalog功能,在使用字面检查时可能会遇到一些问题。在Xcode中进行的代码更改,例如Text(verbatim: “666”),仍然会出现在翻译结果中。根据我们的调查,这个问题是由于String Catalog造成的。解决方案是删除String Catalog,然后重新导出多语言文件。
另一种方法是删除String Catalog,然后重新添加一个新的。
长句检查可以验证句子的拼写和语法。它使用大语言模型进行语法检查。为了提高准确性,Xliff Tool允许您使用多达三种不同的大语言模型进行全面的比较。
语言检查主要关注源语言的问题。因此,在发现问题后,您需要在Xcode中修改源语言,然后重新导出需要翻译的文件。
字面检查只能在翻译完成后进行。 长句检查需要从头开始进行。