iphone中的语言翻译

时间:2011-07-25 05:33:10

标签: objective-c ios internationalization iphone

我正在尝试构建一个应用程序,该应用程序包含一个默认显示英文文本的标签。用户获得一个列表以选择他/她的语言,并且在选择语言之后,文本将更改为该特定语言。知道怎么做吗?我曾尝试过

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", @"en", @"fr", nil] forKey:@"AppleLanguages"]; 

但它不起作用。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

-[NSBundle localizedStringForKey:value:table:]

文档中有一小部分样本。基本上您需要做的是使用您需要的本地化创建MyTable.strings文件。根据您需要的语言创建一个文件。 然后做:

NSBundle *bundle = [NSBundle mainBundle];
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"]
                                                    value:@"TheDefaultValue" 
                                                    table:@"MyTable"];

此方法将在 MyTable.strings 文件中查找密钥:@"TheKeyYouWantToLocalize",如果找到它,则会返回,否则它将返回@"TheDefaultValue"

仅供参考,这与本地化应用程序时系统使用的过程相同。 (听说NSLocalizedString?)但现在你必须手动完成,因为你要求用户显示语言而不是依赖系统语言。