迅速。 以编程方式处理本地化字符串(没有情节提要)

很久以前,我曾经在应用程序中搜索处理本地化的方法,但是我发现的大多数都是示例,基于情节提要的解决方案。 但是我需要的是完全相反的东西,即没有使用情节提要。

但是幸运的是,最终我找到了解决方案,而且非常容易。 因此,让我们完成以下步骤:

  1. 在应用程序目录的Resources文件夹中创建一个名为Localizable的文件,扩展名为.string。 在这里,您以字典的形式存储所有带有本地化版本的字符串,因此您可以通过键轻松访问任何字符串的本地化版本。 例如,我只需要与现有字符串等效的俄语版本,因此我只创建了一个扩展名为.string的文件。

2.使用名为localize()-> String的方法扩展String结构。

3.当我们将所有字符串存储为字典时,将使用键搜索它们。

  • // 1:在这里,我们查找存储在设置控制器中设置的UserDefaults中的语言。
  • // 2:在这里,我们检查UserDefaults中存储的语言是否等于值1(在这种情况下,这表示俄语),我们进行可选绑定,因为通过键访问的字典始终返回可选值。 因此,如果存在这样的字符串,我们将其返回。
  • // 3:对于0情况,它返回的字符串本身没有任何本地化版本,因为0表示此应用中的默认哈萨克语。
  • // 4:默认情况下始终返回字符串本身。
  • // 5:最后一种情况是用我们给出的键找不到值的情况。 在这里,我们也返回自我。

综上所述,这是一个非常简单的解决方法,可以通过String来处理iOS中的本地化字符串。 感谢您的关注。 希望它有用。