【问题标题】:Is there a way to modify the strings used for localization in iOS at runtime?有没有办法在运行时修改用于 iOS 本地化的字符串?
【发布时间】:2012-09-01 00:13:36
【问题描述】:

有没有办法在 iOS 从 Localizable.strings 读取本地化字符串后更改它们,并且仍然保持使用 NSLocalizedStringWithDefaultValue(key, table, bundle, value, comment) 的能力?换句话说,是否有可能以编程方式更改本地化字符串,例如,在从服务器接收到一组更新的字符串之后?

这个问题假设 Localizable.strings 不能被修改,因为这需要修改主 NSBundle,这是在安装应用程序后不允许的。

【问题讨论】:

    标签: ios localization


    【解决方案1】:

    一种方法是创建一个包含所需字符串文件的新包,并在NSLocalizedStringWithDefaultValue(...) 中使用该包而不是[NSBundle mainBundle]

    【讨论】:

      【解决方案2】:

      将您的 NSLocalizedString 宏重新定义为您想要的任何内容:

      #undef  NSLocalizedString
      #define NSLocalizedString(key, comment) \
      [MyLocalizationManager localizedStringForKey:key]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-09
        • 2020-11-30
        • 1970-01-01
        • 2016-12-11
        • 2023-03-13
        • 1970-01-01
        • 2019-12-16
        • 1970-01-01
        相关资源
        最近更新 更多