【发布时间】:2018-11-05 15:41:36
【问题描述】:
我需要弄清楚在 iOS 中显示本地化 UI 文本的标准/最佳实践是什么,来自从远程源接收的文本,例如 API 驱动的服务器提供的文本。静态文本的 iOS 本地化不是问题,我们已经有了管理它的系统。
在我看来,正确和最好的做法是让服务器发送翻译后的文本并在应用程序上显示为接收到的内容,但这样做存在一些问题,例如应用程序的区域设置/当前语言可能与服务器上的当前设置不同。这提出了电话当前设置与服务器设置之间的方言或语言可能不匹配的可能性。此外,我们正在考虑让服务器这样做会破坏任何 S.O.L.I.D.设计原则。
所以,有两种可能性。服务器提供翻译文本或应用程序提供。
我们可能会向服务器提供一个参数来指示设备设置的区域设置(即“en-us”)。我想这将作为 HTTP 请求标头参数发送。
也有人建议移动应用为自己提供类似的功能。这将涉及维护某种类型的数据存储(待定),以便将显示字符串提供给外观并返回已翻译的字符串。即:func translate(uiText: String) -> String。在内部,它可以确定用户的语言环境并将其用作选择正确翻译文本所需的查询的一部分。同样,必须决定其实施,但这不是我希望找到解决方案的问题。
总而言之,我真正需要的是知道什么是翻译服务器提供的要显示给用户的文本的标准做法,以及是否有任何框架旨在帮助满足这一要求(假设解决方案应该存在于移动应用中)?
在我看来,这是服务器提供的最佳功能。另请注意,我们有一个需要类似增强功能的 Android 应用。
【问题讨论】:
标签: ios localization