0

我有一个表格视图和 2 个静态组,其中一个包含语言,我想在我的应用程序设置中有 2 种语言英语和法语,当用户选择英语时,整个设置更改为英语,当用户选择法语时一切都更改为法语,请您帮助我,我看到了一些示例,但我不知道如何设置以及应该在哪里设置代码,我应该如何将代码连接到我的复选标记单元格!

提前致谢!

这是我的设置图片:

在此处输入图像描述

4

2 回答 2

0
  1. 为所有 xib(标签、文本字段)中的所有文本对象提供出口。这将允许您访问它们以更改它们的值(例如,将文本字段的占位符从“First name”更改为“Prénom”)。
  2. 制作一个 .plist 文件,其中包含英文内容的键和值(您可以使用 outlet 的名称作为键),另一个用于法文内容。
  3. 保留一个默认值,例如myLanguageIndicator(在 NSUserDefaults 中),它将保存您当前的语言,并且在您设置语言时将分别更改。
  4. 根据您的默认值(如果是“eng”或“fr”),在每个类中,在 viewWillAppear 中,通过读取所需的 .plist 文件来设置您的网点的值。

假设您的默认语言值为“fr”。这意味着您将在 viewWillAppear 中使用 fr.plist(或任何您命名的名称)。“titleLabel”是您的一个控制器中标题标签的出口。

在另一个默认对象中,您保留了 fr.plist 的字典(谷歌如何将 plist 加载到字典中)。

然后你说:

if ([myLanguageIndicator isEqualToString:@"fr"]){
      titleLabel.text = [myFrenchDictionary objectForKey:@"titleLabel"];
   ... ... ...change here all your outlets to french values
   }
   else{
      titleLabel.text = [myEnglishDictionary objectForKey:@"titleLabel"];
       ... ... ...change here all your outlets to english values
   }

当您选择语言时,只需将默认字符串对象更改myLanguageIndicator@"fr"or @"eng",具体取决于您选择的语言。

于 2012-07-19T13:50:24.463 回答
0

首先你从这段代码中得到语言代码

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];

2) 制作本地化字符串文件

3)使用这个 NSLocalizedString(@"WelcomeKey", @"")

例子:

 NSString *example=@"";


    if([currentLanguage isEqualToString:@"en"])
    {
      example =  NSLocalizedString(@"WelcomeKey", @"Engliah");
    }

    else {
      example =  NSLocalizedString(@"WelcomeKey", @"french");
    }
于 2012-07-19T13:48:15.880 回答