Swift 条形按钮项目设置为系统项目 "save" 忽略应用程序语言

Swift Bar button item set to system item "save" ignores app language

在我的应用程序中,我的顶部导航栏中有一个栏按钮项。我已将按钮系统项设置为 "Save",这会将按钮显示为 Save

但是,即使我的 phone 设置了不同的语言,当我启动应用程序时,按钮仍然显示文本 "Save"- english

各种 UI 组件出现在您的应用程序中的语言基于两件事:

  1. 设置应用 "Language & Region" 页面的 "Preferred Language Order" 部分下的设备语言列表。
  2. 您的应用支持的语言由您的应用提供的本地化包定义。

一个应用默认只支持一种语言。要支持其他语言,您必须为每种语言添加一个额外的包,然后提供适当的本地化资源,例如字符串文件和本地化故事板等。

根据您的应用支持的语言和设备设置,UI 组件将以一种选定的语言显示。

假设您的应用支持英语、西班牙语和中文。

现在假设用户的设备有德语和英语两种语言,并按此顺序列在“语言和地区”屏幕上。

您的应用将以英语显示给该用户。根据您的问题,您似乎希望“保存”按钮以德语显示。但是,如果您的应用程序不支持德语,为什么“保存”按钮显示为德语,而应用程序的其余部分显示为英语?那会令人困惑。

所以现在回到简单的情况。您有一个基本的应用程序,但您还没有进行任何本地化。您的应用程序只有一个包 - 您的应用程序的默认语言。让我们说那是英语。由于您的应用程序仅支持英语,如果“保存”按钮使用任何其他语言而应用程序的其余部分使用英语,那确实会让人感到困惑。因此,无论用户为他们的设备设置了什么语言,“保存”按钮都将使用应用程序的唯一语言,在本例中为英语。