我想从某个页面更改我的应用程序的本地化(例如:从页面“设置”)?
但我不确定我是否做这个应用商店拒绝我的应用!
所以问题:
1 我可以做这个功能吗?如果是的话,也许你有一些例子?
2 请给我有关允许或禁止这样做的文件的链接!
我想从某个页面更改我的应用程序的本地化(例如:从页面“设置”)?
但我不确定我是否做这个应用商店拒绝我的应用!
所以问题:
1 我可以做这个功能吗?如果是的话,也许你有一些例子?
2 请给我有关允许或禁止这样做的文件的链接!
请为您的问题找到以下答案
1.是的。你可以实现它。
在我们的项目中,我们为每种语言添加了可本地化的字符串。在设置屏幕中,我们显示了下拉菜单以选择应用程序的语言
例如
switch([indexPath row])//table row index selected by user
{
case 1:[[NSUserDefaults standardUserDefaults] setValue:@"french" forKey:@"language"];
break;
case 2:[[NSUserDefaults standardUserDefaults] setValue:@"german" forKey:@"language"];
break;
case 0:[[NSUserDefaults standardUserDefaults] setValue:@"english" forKey:@"language"];
break;
case 3:[[NSUserDefaults standardUserDefaults] setValue:@"Portuguese" forKey:@"language"];
break;
}
我们第一次默认设置了英语语言。选择语言后,我们通过传递键调用以下函数
-(NSString*) languageSelectedStringForKey:(NSString*) key
{
//set = [[SettingsViewController alloc]initWithNibName:@"SettingsViewController" bundle:nil];
NSString *path=@"";
NSString *currentLanguage=[[NSUserDefaults standardUserDefaults] valueForKey:@"language"];
if([currentLanguage isEqualToString:@"english"])
{
path = [[NSBundle mainBundle] pathForResource:@"English" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"german"])
{
path = [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"french"])
{
path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"Portuguese"])
{
path = [[NSBundle mainBundle] pathForResource:@"Portuguese" ofType:@"lproj"];
}
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString* str=[languageBundle localizedStringForKey:key value:@"" table:nil];
return str;
}
例如
aboutUsTitle.text=[self languageSelectedStringForKey:@"AboutUs"];
在可本地化的文件中,您必须设置以下键值才能获得 About us 值
"AboutUs" = "A propos de nous";//for french(fr.lproj)
"AboutUs" = "About Us";//for english(english.lproj)
2. http://kb.tethras.com/localizing-your-ios-app
希望对你有帮助
是的,您可以在应用程序的某些页面中实现它。按照这个教程
通过此代码,您可以将所需的单词翻译成所需的语言。
NSString *translatedString = [self languageSelectedStringForKey:@"YesButton"]; // Give your key here
-(NSString*) languageSelectedStringForKey:(NSString*) key
{
NSString *path;
path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"]; // give your language type in pathForResource, i.e. "en" for english, "da" for Danish
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString* str=[languageBundle localizedStringForKey:key value:@"" table:nil];
return str;
}
希望这会有所帮助。,谢谢。快乐编码。