如何在iphone中实现应用程序多语言选择?

如何在iphone中实现应用程序多语言选择?,iphone,programming-languages,Iphone,Programming Languages,每个人 我需要实现应用程序的多语言选择只有这个应用程序,而不是整个设备 请给我一个主意 每个,但每个包含文本的可视组件,都应该有一个出口 制作2个plist文件,其中包含英文和法文文本。应用程序中的每个文本都将在plis文件中具有其密钥。以下是我的plis文件的一个示例: 现在,您必须创建一个界面,让用户选择语言,并将所选选项保存在NSUserDefaults中。最后,在每个viewDidLoad(或ViewWillDisplay)中,检查默认对象,并根据所选语言将文本设置为所有输出。你必须

每个人

我需要实现应用程序的多语言选择只有这个应用程序,而不是整个设备

请给我一个主意

  • 每个,但每个包含文本的可视组件,都应该有一个出口
  • 制作2个plist文件,其中包含英文和法文文本。应用程序中的每个文本都将在plis文件中具有其密钥。以下是我的plis文件的一个示例:
  • 现在,您必须创建一个界面,让用户选择语言,并将所选选项保存在NSUserDefaults中。最后,在每个viewDidLoad(或ViewWillDisplay)中,检查默认对象,并根据所选语言将文本设置为所有输出。你必须知道如何阅读plists,这是另一个问题。干杯

    下面是一些代码:

        //suppose you have only English and German:
        NSDictionary *selectedLangDick;
        if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"selected_lang"] isEqualToString:@"german"])
            selectedLangDick = [NSDictionary dictionaryWithContentsOfFile:@"lang_de.plist"];
           else
            selectedLangDick = [NSDictionary dictionaryWithContentsOfFile:@"lang_en.plist"];
    
    //now you set the text to all your outlets within the currently loaded controller:
            [cancelButtonOutlet setTitle:[selectedLangDick objectForKey:@"cancel"]];
            [backButtonOutlet setTitle:[selectedLangDick objectForKey:@"back"]];
            [pleaseWaitLabelOutlet setText:[selectedLangDick objectForKey:@"progress_send_password"]];
    blablabla
    blablabla
    

    当然,您必须(在第一次应用程序启动时)将默认语言设置为英语(或德语,不管怎样,重要的是要将其设置为零)。当然,当用户使用所选语言时,您必须将
    [[NSUserDefaults standardUserDefaults]objectForKey:@“selected_lang”]
    设置为所选语言。

    谢谢,您能否为此提供一些示例代码,简单解释一下?您的意思是说我们在(UIApplication*)应用程序完成启动之前使用Options设置语言,但是如何设置呢?不,在didFinishLaunching中,检查键的默认对象,例如“this_是第一次启动”,如果它为零,则将其设置为任何对象,如@“asta_la_vista_baby”,这样它将不再为零。因此,每次调用didFinishLaunching时,您都会检查该默认对象,只有在第一次启动时,它才是nil。通过这种方式,您将知道您是否是第一次运行应用程序,因此此时您应该设置默认语言词典