Localisation_setting.bundle

时间:2011-03-02 11:14:03

标签: iphone localization settings.bundle

只是想问一下,如何通过settings.bundle本地化Xib?实际上,我需要通过settings.bundle制作我的Xib阿拉伯语。我为此搜索了很多。请给我正确的建议,否则我需要重新编写我的应用程序并删除Xibs的所有内容,并通过编码来完成,这需要花费很多时间。

提前完成。

5 个答案:

答案 0 :(得分:0)

我按照此post来获取应用本地化。

答案 1 :(得分:0)

您可以通过将xib文件保存在特定语言文件夹中来本地化您的nib文件,例如 en.lproj/View1.xb是英文版 和 ar.lproj/View.xib是阿拉伯语版本 有关详细说明see this

<强>更新 为此你只需创建

  • View-en.xib
  • 查看-ar.xib

然后根据您的自定义设置

NSString *xibName = [NSString stringWithFormat:@"View-%@", @"en"];    
id localVC = [[LocalViewController alloc] initWithNibName:xibName bundle:nil];

答案 2 :(得分:0)

通过右键单击要本地化的xib来点击“获取信息”...在常规屏幕中,您可以看到“使文件可本地化”按钮。

答案 3 :(得分:0)

@aamritrao如果您制作两个单独的XIB文件,每种语言一个,您不应该给它们不同的名称,因为这会使不必要的事情复杂化。只需将它们命名为相同但将它们放在不同的本地化项目文件夹中

所以:

en.lproj / View1.XIB

ar.lproj / View1.XIB

然后,当您的应用需要View1.XIB时,它将始终使用适当的用户在其设备设置中设置的语言。

很抱歉,如果这不是您想要的。不确定“通过设置包进行本地化”是什么意思......你能解释一下吗?

答案 4 :(得分:0)

嘿,只需将以下代码粘贴到main.m文件中

即可
       NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
        NSString *strLang=[[NSUserDefaults standardUserDefaults] stringForKey:@"PSMultiValueSpecifier"];
       NSLog(@"Hi%@",strLang);
    //    
        if ([strLang isEqualToString:@"0"]) {
            [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", @"ar",  nil] forKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults]synchronize];
        }
        else if([strLang isEqualToString:@"1"])
        {
            [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar", @"en", nil] forKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults]synchronize];
        }

  int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
相关问题