本地化ios应用程序以支持多种语言时出错

本地化ios应用程序以支持多种语言时出错,ios,iphone,objective-c,Ios,Iphone,Objective C,我有两个问题 有没有关于本地化iOS应用程序以支持多种语言的教程,其中应用程序不使用故事板 我在没有故事板的情况下做我的应用程序,我通过在我的项目方向中创建Base.lproj文件夹将其本地化,将.xib复制到其中,并在project->Info->Localization中添加语言。(我在演示中测试成功),但当我在模拟器上构建和运行我的应用程序时,我的应用程序不会根据模拟器上的设置语言进行更新,它只在我重建时更新。有人能给我一个理由或疑问吗 当您在Xcode项目中本地化资源时,您不需要复制任何

我有两个问题

  • 有没有关于本地化iOS应用程序以支持多种语言的教程,其中应用程序不使用故事板
  • 我在没有故事板的情况下做我的应用程序,我通过在我的项目方向中创建Base.lproj文件夹将其本地化,将.xib复制到其中,并在project->Info->Localization中添加语言。(我在演示中测试成功),但当我在模拟器上构建和运行我的应用程序时,我的应用程序不会根据模拟器上的设置语言进行更新,它只在我重建时更新。有人能给我一个理由或疑问吗

  • 当您在Xcode项目中本地化资源时,您不需要复制任何东西:Xcode为您做一切。如果你开始到处复制东西,你可能会丢失,文件甚至可能无法复制到你的应用包中

    您需要做的是:

    1/参考Xcode项目中的所有语言

    2/使用Xcode在项目中创建一个新的“Strings”文件,将其称为“Localizable.Strings”,并使用文件检查器中的“本地化”窗格,通过Xcode创建其本地化版本

    3/一旦创建了字符串文件的多个版本,请输入将在应用程序中测试的示例字符串,如:

    "HELLO_STR" = "Hello, world";
    
    在你的英文版本中,以及

    "HELLO_STR" = "Bonjour tout le monde";
    
    在你的法语版本中。 然后在应用程序启动代码中添加以下行:

    NSLog(@"%@", NSLocalizedString(@"HELLO_STR", nil));
    
    控制台中记录的消息现在应与设备或模拟器语言设置相对应

    4/现在需要将所有本地化字符串添加到Localizable.strings文件中

    5/至于XIB,它的工作原理与故事板完全相同:您可以要求Xcode创建所有XIB的可本地化版本。它们通过Xcode进行复制和绑定,方式与我们在步骤1-4中构建的字符串文件大致相同。最好在“完成”接口设计之后再这样做,因为对一个本地化的XIB版本的任何后续修改都必须在所有其他本地化版本中重复


    祝你好运。

    当你本地化Xcode项目中的资源时,你不需要复制任何东西:Xcode为你做一切。如果你开始到处复制东西,你可能会丢失,文件甚至可能无法复制到你的应用包中

    您需要做的是:

    1/参考Xcode项目中的所有语言

    2/使用Xcode在项目中创建一个新的“Strings”文件,将其称为“Localizable.Strings”,并使用文件检查器中的“本地化”窗格,通过Xcode创建其本地化版本

    3/一旦创建了字符串文件的多个版本,请输入将在应用程序中测试的示例字符串,如:

    "HELLO_STR" = "Hello, world";
    
    在你的英文版本中,以及

    "HELLO_STR" = "Bonjour tout le monde";
    
    在你的法语版本中。 然后在应用程序启动代码中添加以下行:

    NSLog(@"%@", NSLocalizedString(@"HELLO_STR", nil));
    
    控制台中记录的消息现在应与设备或模拟器语言设置相对应

    4/现在需要将所有本地化字符串添加到Localizable.strings文件中

    5/至于XIB,它的工作原理与故事板完全相同:您可以要求Xcode创建所有XIB的可本地化版本。它们通过Xcode进行复制和绑定,方式与我们在步骤1-4中构建的字符串文件大致相同。最好在“完成”接口设计之后再这样做,因为对一个本地化的XIB版本的任何后续修改都必须在所有其他本地化版本中重复


    祝你好运。

    当你本地化Xcode项目中的资源时,你不需要复制任何东西:Xcode为你做一切。如果你开始到处复制东西,你可能会丢失,文件甚至可能无法复制到你的应用包中

    您需要做的是:

    1/参考Xcode项目中的所有语言

    2/使用Xcode在项目中创建一个新的“Strings”文件,将其称为“Localizable.Strings”,并使用文件检查器中的“本地化”窗格,通过Xcode创建其本地化版本

    3/一旦创建了字符串文件的多个版本,请输入将在应用程序中测试的示例字符串,如:

    "HELLO_STR" = "Hello, world";
    
    在你的英文版本中,以及

    "HELLO_STR" = "Bonjour tout le monde";
    
    在你的法语版本中。 然后在应用程序启动代码中添加以下行:

    NSLog(@"%@", NSLocalizedString(@"HELLO_STR", nil));
    
    控制台中记录的消息现在应与设备或模拟器语言设置相对应

    4/现在需要将所有本地化字符串添加到Localizable.strings文件中

    5/至于XIB,它的工作原理与故事板完全相同:您可以要求Xcode创建所有XIB的可本地化版本。它们通过Xcode进行复制和绑定,方式与我们在步骤1-4中构建的字符串文件大致相同。最好在“完成”接口设计之后再这样做,因为对一个本地化的XIB版本的任何后续修改都必须在所有其他本地化版本中重复


    祝你好运。

    当你本地化Xcode项目中的资源时,你不需要复制任何东西:Xcode为你做一切。如果你开始到处复制东西,你可能会丢失,文件甚至可能无法复制到你的应用包中

    您需要做的是:

    1/参考Xcode项目中的所有语言

    2/使用Xcode在项目中创建一个新的“Strings”文件,将其称为“Localizable.Strings”,并使用文件检查器中的“本地化”窗格,通过Xcode创建其本地化版本

    3/一旦创建了字符串文件的多个版本,请输入将在应用程序中测试的示例字符串,如:

    "HELLO_STR" = "Hello, world";
    
    在你的英文版本中,以及

    "HELLO_STR" = "Bonjour tout le monde";
    
    在你的法语版本中。 然后在应用程序启动代码中添加以下行:

    NSLog(@"%@", NSLocalizedString(@"HELLO_STR", nil));
    
    控制台中记录的消息现在应与设备或模拟器语言设置相对应

    4/现在需要将所有本地化字符串添加到Localizable.strings文件中

    5/至于