0

每个人

我需要为仅此应用程序而不是整个设备实现多语言选择应用程序。

请给我一个想法。

4

1 回答 1

2
  1. 每一个,但每一个包含文本的视觉组件,都应该有一个出口。
  2. 制作 2 个 plist 文件,其中包含英语和法语等文本。应用程序中的每个文本都将在 plis 文件中具有它的键。这是我的 plis 文件的示例:

在此处输入图像描述

在此处输入图像描述

现在你必须做一个界面让用户选择语言,并将选择的选项保存在 NSUserDefaults 中。最后,在每个 viewDidLoad(或 viewWillAppear)中,检查该默认对象,并根据所选语言将文本设置为所有出口。您必须知道如何从 plist 中读取,这是另一个问题。干杯!

这里有一些代码:

    //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"]当用户执行此操作时,您必须设置为所选语言。

于 2012-08-08T06:52:49.293 回答