如何在iOS中将应用翻译成另一种语言?

时间:2016-09-12 05:58:51

标签: ios objective-c iphone localization internationalization

我正在开发一个电子商务应用。最初的应用程序是英语,现在我想将其转换为中文和法语。我提到this link

所以我所理解的是,我们需要将每个文本转换为法语和中文,在静态数据的相应字符串文件中,但我从后端获取数据。那么我该如何动态转换该文本呢?

2 个答案:

答案 0 :(得分:1)

您可以使用此代码。在Project中你可以在info.plist中添加本地化。希望它能帮到你。谢谢你

  NSLocale* curentLocale = [NSLocale currentLocale];
 namearray=[NSMutableArray   arrayWithObjects:NSLocalizedString(@"Hellokey1",@""),NSLocalizedString(@"Hellokey2",@""),NSLocalizedString(@"Hellokey3",@""),NSLocalizedString(@"Hellokey4",@""),NSLocalizedString (@"Hellokey5",@""),NSLocalizedString(@"Hellokey6",@""),NSLocalizedString(@"Hellokey7",@""),NSLocalizedString(@"Hellokey8",@""),NSLocalizedString(@"Hellokey9",@""),NSLocalizedString(@"Hellokey10",@""),NSLocalizedString(@"Hellokey11",@""),NSLocalizedString(@"Hellokey12",@""),NSLocalizedString(@"Hellokey13",@""),NSLocalizedString(@"Hellokey14",@""),NSLocalizedString(@"Hellokey15",@""),NSLocalizedString(@"Hellokey16",@""),NSLocalizedString(@"Hellokey17",@""),NSLocalizedString(@"Hellokey18",@""),NSLocalizedString(@"Hellokey19",@""),NSLocalizedString(@"Hellokey20",@""),NSLocalizedString(@"Hellokey21",@""),NSLocalizedString(@"Hellokey22",@""),NSLocalizedString(@"Hellokey23",@""),NSLocalizedString(@"Hellokey24",@""),NSLocalizedString(@"Hellokey25",@""),NSLocalizedString(@"Hellokey26",@""),NSLocalizedString(@"Hellokey27",@""),nil];

  [curentLocale displayNameForKey:NSLocaleIdentifier
                          value:[curentLocale localeIdentifier]];
// NSString *path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
// NSLog(@"path:%@",path);
  NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];

答案 1 :(得分:0)

如果收到的文本是真正动态的(即,无法提前知道可能的变化是什么),则无法做到。如果您知道可能性是什么,那么就像对静态文本一样嵌入翻译,并让服务器发送本地化密钥。这是iOS用于翻译通知警报的方案。

(理论上你可以使用翻译API,例如谷歌翻译,但这有许多缺点,而且上行空间很少。)