【发布时间】:2016-09-12 05:58:50
【问题描述】:
我正在开发一个电子商务应用程序。最初该应用程序是英文的,现在我想将其转换为中文和法文。我提到了this link
所以我的理解是,我们需要在静态数据的相应字符串文件中将每个文本转换为法语和中文,但我是从后端获取数据。那么如何动态转换该文本呢?
【问题讨论】:
标签: ios objective-c iphone localization internationalization
我正在开发一个电子商务应用程序。最初该应用程序是英文的,现在我想将其转换为中文和法文。我提到了this link
所以我的理解是,我们需要在静态数据的相应字符串文件中将每个文本转换为法语和中文,但我是从后端获取数据。那么如何动态转换该文本呢?
【问题讨论】:
标签: ios objective-c iphone localization internationalization
您可以使用此代码。在 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];
【讨论】:
如果收到的文本确实是动态的(即无法提前知道可能的变化是什么),那么就没有办法做到这一点。如果您知道有哪些可能性,就可以像处理静态文本一样嵌入翻译,然后让服务器发送本地化密钥。这是 iOS 用于翻译通知警报的方案。
(理论上您可以使用翻译 API,例如 Google Translate,但这有很多缺点,而优点很少。)
【讨论】: