我正在构建一个支持英语和阿拉伯语的应用程序。因此,当用户将语言切换为阿拉伯语时,翻译将切换为阿拉伯语,布局将切换为RTL。

我的问题是这样做的最佳实践是什么?我已经搜索并询问了很多与此有关的开发人员,以下是他们的一些答案:

  • 创建2个单独的故事板,一个用于英语版图,另一个用于阿拉伯版图。
  • 当用户单击“语言”切换器时,将它们重定向到“电话系统设置”,并让他们更改其区域和语言,因为如果所选区域是沙特阿拉伯,该应用程序将自动执行RTL。

  • 我不确定什么是最佳做法,请赐教。

    PS:我是iOS Swift开发的新手。

    谢谢! :)

    最佳答案

    您的应用应尽可能遵循系统语言。 iOS的整个API都会为您完成此任务,而您不必担心用户当前使用的语言是什么。无需检查NSLocale,这将根据您的应用程序支持的多种语言为您提供不准确的结果。

    使用一个故事板,然后使用“自动布局”来定义布局的约束。当使用从右到左的语言显示时,使用前导和尾随属性的约束会自动翻转。

    通常,您不需要显式使用.ForceRightToLeft.ForceLeftToRight作为semanticContentAttribute

    您唯一应确保的是您的项目支持从右到左的本地化。工作方式是通过在选择项目文件时添加语言:

    ios - 从右到左(RTL)应用的iOS Swift最佳实践-LMLPHP

    07-24 09:44
    查看更多