0

iPhone用アプリを作りました。このユーザーでは、ボタンのクリックで言語を変更できます。しかし、NSLoalizedString は値を変換していません。

コードは

-(IBAction)btn1pressed:(id)sender {
    SecViewController *sec = [[SecViewController alloc] initWithNibName:@"SecViewController" bundle:nil];
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];

    // NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);


    languages =@"en";


    [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];     
    NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);

    // NSLog(@"%@", NSLocalizedString(@"Subhash", nil));
    [self.navigationController pushViewController:sec animated:YES];
}

-(IBAction)btn2pressed:(id)sender {
    SecViewController *sec = [[SecViewController alloc] initWithNibName:@"SecViewController" bundle:nil];
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];

    // NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);


    languages = @"es";


    [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];     
    NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);

    //  NSLog(@"%@", NSLocalizedString(@"Subhash", nil));

    [self.navigationController pushViewController:sec animated:YES];
}

-(IBAction)btn3pressed:(id)sender {
    SecViewController *sec = [[SecViewController alloc] initWithNibName:@"SecViewController" bundle:nil];
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];

    // NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);


    languages =@"ja";


    [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];     
    NSLog(@"%@", [userDefaults objectForKey:@"AppleLanguages"]);

    // NSLog(@"%@", NSLocalizedString(@"Subhash", nil));

    [self.navigationController pushViewController:sec animated:YES];
}
4

2 に答える 2

0

ローカライズには NSLocalizedString() を使用します。

対応するローカライズ文字列も指定します。

于 2012-10-03T06:13:54.610 に答える
0

試す

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:languages,nil] forKey:@"AppleLanguages"];
于 2012-10-03T06:02:33.837 に答える