gpt4 book ai didi

iOS App 本地化最佳实践和占位符

转载 作者:可可西里 更新时间:2023-11-01 01:42:25 26 4
gpt4 key购买 nike

既然应用程序的一般概念已经确定,我们目前正处于考虑将我们的应用程序本地化为多种语言的阶段。这是我要确保从一开始就正确完成的事情,以降低将来出现头痛的风险。

该应用以 iOS 7 及更高版本为目标,使用 Storyboard,并使用 Swift 编写。

Storyboard

在使用 Storyboard(或 xib)时,将 UI 元素标记为“不可翻译”的最佳方式是什么?例如,我有一个用户显示名称 (Display Name) 的占位符字符串,它将在运行时替换为用户显示名称。此显示名称不会本地化,但字符串“显示名称”也不应该本地化。有没有一种方法可以不将 UI 元素的值自动放入 strings 文件中?如果不是,是否进入该文件并手动删除我不想本地化的可持续选项的字符串?

代码中的字符串

我正在使用带有 keycomment 参数的 Swift 函数 NSLocalizedString。我见过的一些地方说要将 key 设置为基于上下文的唯一 ID(例如,intro.login-button-text),而其他地方似乎只是将完整的字符串放在默认语言(例如,Login)。我喜欢 key 的唯一 ID 的想法,但这不会违背“基础”语言的想法吗?

导出

Xcode 6 的“Export For Localization”选项对于获取要发送给翻译人员的正确格式的文件似乎非常有用。但是,如前所述,不需要翻译占位符文本。是否应在导出之前从导出的 xliffstrings 文件中删除这些占位符?

最佳答案

我自己也在寻找同样的问题。希望这会对您和其他人有所帮助。此外,我建议使用某种工具来组织 xliff/string 文件

Storyboard:

我曾见过开发人员将非翻译文本放入带有额外括号的 Storyboard 中。即{显示名称}。

通过使用它,您可以通过翻译本身查看是否需要翻译。我们使用 oneskyapp.com 并且可以选择隐藏这些翻译,并且每次导入该 key 时它们都会被隐藏。

代码中的字符串

通过关注此线程,他们建议使用关键字。 Best practice for key values in translation files

导出

我找不到在导出时自动删除某些翻译的方法。当然,您可以将具有动态字段的 View 放在不同的 XIB/ Storyboard中,并决定不翻译它们。

同样,像 onskyapp.com 这样的工具可以帮助您解决这个问题。

格式

由于该字段的上下文很重要,当它后面跟着一个用户名时,翻译可能会有所不同,我会选择“%1$@ 在线!”

关于iOS App 本地化最佳实践和占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28366046/

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