【问题标题】:Can I do an iPhone application that uses a language different than the user's setting?我可以做一个使用不同于用户设置的语言的 iPhone 应用程序吗?
【发布时间】:2011-06-27 16:24:11
【问题描述】:

我正在开发一个 iPhone 应用程序,并希望为其设置一个不同于用户位置的位置。我希望按照 Apple 告诉我的方式获得所有用于国际化的文件,但我希望能够选择语言。

例如:用户使用的是德语,但我希望我的应用程序是英文的!

我希望用户只为应用程序设置语言,无论手机选择哪种语言,我该怎么做?

【问题讨论】:

    标签: iphone ios cocoa-touch localization internationalization


    【解决方案1】:

    不使用框架类进行国际化。您必须构建自己的管道来更改整个应用程序中的标签、按钮等。

    【讨论】:

      【解决方案2】:

      语言是从 NSUserDefaults 加载的。根据this,您可以使用[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguage"] 之类的内容覆盖它并重新启动应用程序。

      现在,问题是您需要重新启动应用程序!一种可怕的方式可能是这样的(未经测试):

      UIApplication * app = [UIApplication sharedApplication];
      [app openURL:...];
      [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationWillTerminateNotification object:nil userInfo:nil];
      [app.delegate applicationWillTerminate:app];
      exit(0);
      

      其中... 是一个 HTTP URL,它重定向到您的应用处理的自定义 URL 方案 (ewwww)。

      我不知道在不重新启动应用程序的情况下重新加载 UI/语言的简单方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多