【问题标题】:Localizing LaunchScreen.xib本地化 LaunchScreen.xib
【发布时间】:2016-07-07 10:06:57
【问题描述】:

所以我有 2 个不同版本的 LaunchScreen.xib,我认为通过本地化文件,它会决定在正确的时刻使用正确的版本。然而事实并非如此。我怎样才能做到这一点?

没有代码,因为这是在界面构建器中完成的。

【问题讨论】:

    标签: ios localization launch-screen


    【解决方案1】:

    我认为没有合适的方法来做到这一点。 我建议您转到 LaunchScreen 故事板文件,其中没有文本,并让初始视图控制器假装为“扩展启动屏幕”。

    这样您就可以对视图进行操作、本地化和动画化,并获得更好的控制。

    静态启动屏幕 -> 扩展启动屏幕(初始视图控制器)-> 动画到下一个视图控制器(主应用程序)

    【讨论】:

      【解决方案2】:

      对于手机语言,将使用不同的 xib。如果您将 iPhone 语言设置为中文,则将使用LaunchScreen.xib (Chinese (Traditional))

      如果您想以编程方式更改语言,您可以在 didFinishLaunchingWithOptions 中使用它 AppDelegate

      NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
      [userDefaults setObject:@[@"ch"] forKey:@"AppleLanguages"]; //en for english, fr for french, I think it's ch for chinese
      

      我使用了@[@"ch"],因为AppleLanguages 是一个数组。

      【讨论】:

      • 这就是问题所在。每当手机使用中文时,它都会使用中文字符串文件,但不会使用我的本地化 LaunchScreen.xib
      • @RutgerHuijsmans 如果您尝试使用 .string 文件而不是本地化的 xib 会怎样?这行得通吗?
      • 是的,字符串文件本地化就好了。
      • 还有xib但不是中文?也许在 xib 文件中这种语言存在错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多