iOS-语言本地化
app系统语言本地化简单实现
系统切换语言之后,app中的语言相应切换。
本地化语言(代码版)简要描述:
- 创建Localizable.strings文件
- 在app项目文件中添加支持语言
- Localizable.strings添加支持语言
- 编写两个文件中的字段(通过
key-value
方式) - 通过代码
NSLocalizedString(@"相应字段", nil)
,获取本地化之后的文件。
下面是详细内容介绍:
代码版的本地化语言实现 + storyBoard版的本地化语言实现
如何获取系统当前语言环境
/*得到当前设置的语言*/
+ (NSString*)currentLanguage
{
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defaults objectForKey:@"AppleLanguages"];
NSString* currentLanguage = [languages objectAtIndex:0];
return currentLanguage;
}
参考地址:
获取系统当前语言环境
如何在app内部设置语言
/* Method for retrieving localized strings. */
- (NSString *)localizedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1);
语言本地化,主要通过此方法。方法调用者为NSBundle实例。 此方法在bundle确定的目录中找到以『tableName』命名的.string文件。在.string文件中通过key获取对应的文字语言。
参考代码:
本地化语言解决方法
巩固APP内部设置语言
为了解决第三方库,本地化语言统一问题。下面是解决方法(内有Demo,建议下载)
例子
下面是我自己写的例子,看懂了解决第三方库本地化问题中的代码的朋友,就不用下载了,我的比较简单。自我总结而已。