gpt4 book ai didi

ios - 增量本地化是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 03:27:31 27 4
gpt4 key购买 nike

我正在尝试构建我的第一个本地化应用程序。我使用 NSLocalizedString 翻译了代码中的所有字符串(用于 genstrings 工具)。现在我遇到了 ibtool。增量本地化是如何工作的?关于手册页,我应该这样写:

$ ibtool --previous-file path/to/prev.xib \
--incremental-file path/to/inc.xib --localize-incremental \
--write path/to/new.xib mod.xib

从哪里获取增量文件?据我了解,如果我使用的是版本控制 (git/svn),“旧”文件是在几次提交之前,增量文件是差异文件,path/to/new.xib 是新生成的 xib 文件。 mod.nib 对我来说是个谜。任何人都可以向我解释这是如何工作的吗?另外 - 如果没有可用的先前版本(即不进行增量本地化,而是进行初始本地化),我该如何开始 xib 的本地化?

最佳答案

我认为他们选择的术语,尤其是 --incremental-file,会造成混淆。这个想法是你有一个旧版本的 xib 有两种语言(源语言和目标语言),你已经用你的源语言更改了它,并希望更新目标语言版本以匹配。

让我们举个例子。您之前拥有英语(源语言)的 home.xib,并找人将其翻译成法语(目标语言)。从那以后,您开发了一项新功能,现在您拥有英文版 home.xib 的更新版本,您在其中添加了 UILabel 和 UITextField 并移动了一些东西。您显示的命令可以帮助您获得法语版 home.xib 的更新版本,以便它具有新的 UILabel 和 UITextField,并且可以像英语一样移动。请注意,您在新的 UILabel 和 UITextField 中设置的任何文本内容都将以英语添加,然后需要翻译成法语 xib(但您可以通过添加 --import-strings-file 并在另一个文件中提供翻译)。

因此,如果我们将您显示的命令映射到此示例:

  • --previous-file path/to/prev.xib 指定老英文xib
  • --incremental-file path/to/inc.xib 指定老法文xib
  • --write path/to/new.xib 指定将要创建的新法语xib
  • mod.xib 指定新的英文xib

关于你如何开始这个过程的其他问题,实际上这取决于你将如何本地化你的 xibs。您显然会创建 xib 的新语言版本(在 XCode 中,您只需将一种语言添加到 xib 的语言列表中,本地化的 xib 就会自动创建)。然后,如果您自己在 Interface Builder 中本地化它们,那么您只需在本地化的 xib 中进行相关更改(文本翻译和任何必要的大小调整)。或者你可以将 xibs 中的文本提取到 .strings 文件中,将它们翻译,然后将它们注入(inject)到这些 xibs 的相关语言版本中。为此,您将再次使用 ibtool,但在提取阶段使用 --generate-strings-file,在注入(inject)阶段使用 --import-strings-file

关于ios - 增量本地化是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com