【问题标题】:How can I change language and locale of only my application programmatically如何以编程方式仅更改我的应用程序的语言和区域设置
【发布时间】:2012-07-12 18:34:02
【问题描述】:

我想单独将我的应用程序的语言和区域设置更改为与系统上设置的用户默认语言不同的语言。假设我的应用程序应该使用法语资源,即使系统默认设置为英语。

我找到了一些 iOS (How to force NSLocalizedString to use a specific language) 的示例,但即使这仅适用于语言,但对于 OSX 则没有。我的包中有法语资源。我只想覆盖我的应用程序的默认值。无需从系统首选项更改整个操作系统区域设置。

【问题讨论】:

    标签: objective-c macos locale


    【解决方案1】:

    有一些很好的应用程序可以解决这个问题:Language SwitcherApp Language Chooser 仅举几例。

    要以编程方式执行此操作,您可以使用defaults 命令将应用的AppleLanguages 属性更改为(fr)(en, ko),如以下shell 脚本:

    bundleId=BUNDLE_ID_OF_YOUR_APP  # such as, com.apple.Finder
    # change AppleLanguages
    defaults write $bundleId AppleLanguages "(fr)"
    # open your app
    open -b $bundleId
    # then restore the language
    defaults delete $bundleId AppleLanguages
    

    有关更多详细信息,请参阅超级用户对这个类似问题的答案:Can I change the default language of a application / program in Snow Leopard?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2011-01-23
      • 2012-03-01
      相关资源
      最近更新 更多