本文件为Xliff工具的开发者和使用者提供最佳实践指南。本指南的目的是充分发挥Xliff工具的潜力。请将本指南作为参考,并将其整合到您的工作流程中。
翻译可以采用两种模式:机器学习翻译或基于大型本地模型的翻译。以下优先选择前者:
无需额外成本。
在离线模式下操作时,翻译完全是在本地进行的,确保数据隐私性。
翻译是直接的,准确性很高。
翻译速度较快。
无需额外成本。
翻译在本地进行,确保数据隐私性。
可以通过提示词对翻译进行优化,但由于本地大型语言模型的局限性,翻译质量可能存在差异,有时甚至无法将翻译结果翻译成目标语言。
不同模型对不同语言的翻译质量要求不同,可能需要通过搜索来找到最合适的模型。
翻译速度因机器配置和所选模型的大小而异,但通常比机器学习翻译要慢。
有两种验证方法:直接验证和交叉验证。建议采用交叉验证。
使用Ollama进行语法检查时,请确保所选模型支持您正在使用的语言。通常可以在模型的技术文档中找到相关信息。
翻译的一般流程为:从Xcode导出、翻译、验证翻译结果,然后将其导入Xcode。
对于熟悉的语言,可以先使用机器学习翻译,然后进行人工审查和验证。
对于不熟悉的语言,可以先使用机器学习翻译,然后通过大型语言模型进行验证。通过交叉验证可以提高大型语言模型验证的准确性。
大型语言模型交叉验证是指使用已经验证过的目标语言进行翻译验证,而不是使用源语言进行验证。
例如,英语单词“check”有两种含义:检查和银行支票。假设我们需要将英语单词“check”翻译成日语。在验证过程中,仅依赖源语言“check”无法判断翻译成日语时应该是“检查”还是“银行支票”。在这种情况下,可以使用已经验证过的第三方语言进行验证。例如,如果我们已经有了英语到中文的翻译,可以使用中文翻译来验证日语。如果中文翻译是“检查”,而日语翻译是“银行支票”,则表明日语翻译存在错误,需要进行人工修正。
以下是翻译步骤的详细描述。
Xliff工具使用CloudKit来同步其内部数据库,其中不包含从Xcode导出的xcloc文件。因此,如果您也需要同步这些文件,需要将它们放置在一个可以自动同步的文件夹中。Xliff工具在iCloud Drive中创建了一个专用文件夹,建议使用该文件夹。
您也可以使用其他同步服务,如Dropbox或OneDrive。
建议在macOS上下载常用语言的离线翻译包,这可以提高翻译速度。具体使用方法可以参考这篇文章:使用机器学习翻译。
大型语言模型翻译有时会对要翻译的内容进行过度解释。因此,在验证过程中需要更多的努力。
对于熟悉的语言,建议使用人工审查以最大化准确性。此外,人工审查的结果也可以用于大型语言模型交叉验证,从而提高用户不熟悉语言的翻译准确性。
对于不熟悉的语言,可以使用大型语言模型交叉验证。
在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中修改源语言,然后重新导出需要翻译的文件。
字面检查只能在翻译完成后进行。 长句子检查需要从头开始进行。