【问题标题】:iOS: Localize the application independent of iPad Language settingiOS:独立于 iPad 语言设置本地化应用程序
【发布时间】:2023-04-03 17:15:01
【问题描述】:

我正在开发一个应用程序,我必须在应用程序中提供语言设置选项。我的问题是,如果我从 iPad 设置设置法语,然后如果我从应用设置设置日语,那么我的应用如何知道文本应该转换为日语?或者如何使我的应用设置独立于 iPad 设置。我可以使用本地化功能吗?或者我必须制定自己的逻辑来开发它。

在上述场景中使用本地化可以将文本转换为法语,但我的内部语言设置是日语。所以我想让它显示日文。

请在这方面给我建议。

【问题讨论】:

    标签: ios iphone objective-c localization internationalization


    【解决方案1】:

    如果您想在 iPad 语言设置更改时切换应用语言,请使用NSLocalizedString

    如果您希望应用语言独立于 iPad 语言设置,请使用 AMLocalizedString by aggressive-mediocrity

    【讨论】:

      【解决方案2】:

      我使用一个不错的宏 (#define) 来选择使用法语的本地化字符串:

      #define LocalizedFR(...) NSLocalizedStringFromTableInBundle(__VA_ARGS__, nil, [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"]], @"")
      

      然后我使用LocalizedFR('Cancel') 代替NSLocalizedString 以法语显示取消

      当然你可以把“fr”改成任何语言,或者把它转换成一个函数,把语言代码作为参数传递。

      【讨论】:

        猜你喜欢
        • 2023-03-18
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 2023-03-07
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多