这是一个常见的情况,当你开发一个应用程序的两个或更多的平台- iOS, Android, web,物联网等,加上,一些键名和值是相同的,一些是不同的。本地化可以帮助您避免重复的翻译工作,并保持您的项目整洁的合并键。

首先,lockalise有一个独特的功能,可以让你在不同平台使用相同的键名。不同的平台通常包含不同的命名模式,例如iOS程序员喜欢的命名模式LoginButton,而Android程序员则热衷于使用login_button.lockalise为这场永无休止的战斗提供了解决方案。您可以通过访问项目设置和使每个平台关键名称选择。

接下来,按照下面的iOS和Android示例来合并任何两个或更多平台的现有密钥。

步骤1:合并名称相似的键

你的iOS和Android项目中的一些密钥可能已经有相同的名称,例如两个平台开发者都命名了一个密钥AgreeButton.这些密钥在上传和导入过程中由本地化自动合并。

为了简单起见,从一个空白项目开始。上传你的iOS应用程序的基础语言文件,然后上传你的Android应用程序的基础语言文件。你也可以反过来做,顺序无关紧要。

在这一步,Lokalise将合并具有相同名称的键,例如当你的iOS和Android语言文件包含一个键时welcome.title它们将被自动合并到一个单独的键入口,链接到iOS和Android平台。

重要的是要理解这个键条目对于每种语言只有一个翻译值。换句话说,如果你有相同的键名和不同的翻译值,合并它们的结果将是来自你上传和导入的第一个或第二个文件的翻译值,这取决于你的导入设置,所以请小心。

请记住,将一个键链接到一个平台意味着将该键包含在与该平台相关的文件格式的导出中(例如,如果你将一个键分配给iOS平台,它将被包含在.strings文件导出,而不是与. xml出口)。

点击编辑器中的平台图标可以快速分配/取消分配平台。

步骤2:合并名称不同但翻译相同的键

在大多数情况下,键名是不同的。下面介绍如何基于相同的翻译值合并它们。

在项目指示板中,单击基本语言名称旁边的三个点,并选择Show duplicate。

duplicate视图允许您合并键和链接键。

键合并实际上是从多个键条目中创建一个键条目。每个平台的这个键项可能有不同的键名,但翻译是相同的。

反过来,键链接仍然保留两个键项,但创建一个从一个键到另一个键的引用。可以将其视为项目中的超链接。

这适用于键名与步骤1中不相同的情况。以下是两个key要合并需要首先满足的条件:

  • 每个密钥只有一个平台分配给它们

  • 两个键具有相同的翻译值(在基本语言中)

  • 每个平台只有一个带有翻译值的键

正如您在上面的示例中所看到的,系统不允许next_buttonbutton_nextNextButton合并的关键。原因是一个合并的键条目在每个平台上只能保存一个键名。

解决方案是首先取消所有平台的复选框,只在标题栏中留下iOS(只有iOS键会在重复视图中显示)。现在你可以链接next_buttonbutton_next(反之亦然)。

接下来,当您重新选择所有平台的复选框时,系统将允许您这样做合并NextButtonnext_button

最后,由于现在每个平台只有一个包含翻译值“Next”的键,所以合并所有键是安全的。

点击合并所有可能的键,或一个一个地合并。

iOS与Web、Android与Web或其他任何平台组合的合并过程都是相同的。

这回答了你的问题了吗?