国际化
来源:互联网 发布:中金交易软件 编辑:程序博客网 时间:2024/06/09 15:53
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface LanguageControl : NSObject
+ (NSBundle *)bundle;//获取当前资源文件
+ (void)initLanguage;//初始化
+ (NSString *)currentLanguage;//获得当前语言
+ (void)setupLanguage:(NSString *)language;//设置语言
+ (NSString *)getStringFromLocalizableTableWithKey:(NSString *)string;//获取当前语言下,对应key所对应的值
@end
#import "InternationalControl.h"
@implementation InternationalControl
static NSBundle *bundle = nil;
+ (NSBundle *)bundle{
return bundle;
}
+ (void)initUserLanguage{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSString * languageString = [def valueForKey:USER_LANGUAGE];
if (languageString.length == 0) {
NSArray *languages = [def objectForKey:@"AppleLanguages"];
NSString *current = [languages objectAtIndex:0];
if ([current containsString:@"en"]){
languageString = @"en";
}else if([current containsString:@"zh-Hant"]){
languageString = @"zh-Hant";
}else{
languageString = @"zh-Hans";
}
[def setValue:languageString forKey:USER_LANGUAGE];
[def synchronize];
}
NSString *path = [[NSBundle mainBundle] pathForResource:languageString ofType:@"lproj"];
bundle = [NSBundle bundleWithPath:path];
}
+ (NSString *)currentLanguage{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSString *language = [def objectForKey:USER_LANGUAGE];
if ([language isEqualToString:@"en"]) {
return @"en";
}else if ([language isEqualToString:@"zh-Hans"]){
return @"zh_CN";
}else{
return @"zh_HK";
}
}
+ (void)setupLanguage:(NSString *)language{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"];
bundle = [NSBundle bundleWithPath:path];
[def setObject:language forKey:USER_LANGUAGE];
[def synchronize];
}
+ (NSString *)getStringFromLocalizableTableWithKey:(NSString *)string{
return [[InternationalControl bundle] localizedStringForKey:string value:nil table:@"Localizable"];
}
@end
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 过拟合问题
- 水平权限漏洞的修复方案
- tp中一个字段符合多个条件的查询,where like or
- TCP三次握手分析、http登录密码抓取
- python使用tesseract-ocr完成验证码识别
- 国际化
- 开机或者安装系统时提示tsc: Fast TSC calibration failed解决方法
- 文思海辉面试
- FastDFS加载fastdfs-nginx-module模块,实现HTTP访问
- 计算广告基础知识(一)
- Java NIO系列教程(一) Java NIO 概述
- tomcat配置多个数据源
- 队内训练赛--A(Tree)
- Vuejs的一些总结