从应用程序的第一个视图,用户将选择一种语言,即英语、法语等。我希望我的整个应用程序将以用户选择的语言运行。
在进行研发时,我发现我必须为每种语言使用一个 .strings 文件。在该文件中,我必须在键值对中添加翻译后的字符串。我的问题是如何根据所选语言使用这些 .strings 文件。例如。如果从第一页选择法语,我必须使用包含所有法语翻译字符串的 .strings 文件。
从应用程序的第一个视图,用户将选择一种语言,即英语、法语等。我希望我的整个应用程序将以用户选择的语言运行。
在进行研发时,我发现我必须为每种语言使用一个 .strings 文件。在该文件中,我必须在键值对中添加翻译后的字符串。我的问题是如何根据所选语言使用这些 .strings 文件。例如。如果从第一页选择法语,我必须使用包含所有法语翻译字符串的 .strings 文件。
解决方案可能是:不要这样做。
用户期望应用程序使用他已经在系统中选择的语言和区域设置。当您的应用程序再次启动时让他们做出相同的选择看起来“便宜”且出乎意料。
Apple 没有为您提供在运行时更改语言环境的 API,因此您可能不得不处理私有 API 或其他讨厌的黑客行为。这反过来意味着您可能会遇到各种问题,例如错误的数字和/或日期格式。
查看此链接,它将帮助您Localizable.string
根据您的语言选择手动获取文件。您必须将其管理NSDictionary
到您的AppDelegate
或您的SuperViewcontroller
. (您所有的 UIViewController 都扩展了 SuperViewController)。