一、添加应用程序需要支持的国际语言

二、新建一个Localizable.strings文件,作为多语言对应的词典,存储多种语言

三、在Localizable.strings的对应文件以键值对的形式配置

四、可以创建一个类(InternationalControl)来自由切换语言

InternationalControl.h

#import <Foundation/Foundation.h>

@interface InternationalControl : NSObject

+(NSBundle *)bundle;//获取当前资源文件

+(void)initUserLanguage;//初始化语言文件

+(NSString *)userLanguage;//获取应用当前语言

+(void)setUserlanguage:(NSString *)language;//设置当前语言

@end

InternationalControl.m

#import "InternationalControl.h"

@implementation InternationalControl

static NSBundle *bundle = nil;

+ ( NSBundle * )bundle{

return bundle;

}

+(void)initUserLanguage{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

NSString *string = [def valueForKey:@"userLanguage"];

//获取文件路径

NSString *path = [[NSBundle mainBundle] pathForResource:string ofType:@"lproj"];

bundle = [NSBundle bundleWithPath:path];//生成bundle

}

+(NSString *)userLanguage{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

NSString *language = [def valueForKey:@"AppleLanguages"][0];

return language;

}

+(void)setUserlanguage:(NSString *)language{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj" ];

bundle = [NSBundle bundleWithPath:path];

[def setValue:language forKey:@"userLanguage"];

[def synchronize];

}

@end

五、使用这个语言类

  [InternationalControl initUserLanguage];

  [InternationalControl setUserlanguage:[InternationalControl userLanguage]];

  NSLog(@"language-------%@",[InternationalControl userLanguage]);

  // 这样就可以多语言切换了

  self.title = [[InternationalControl bundle] localizedStringForKey:@"login_success" value:nil table:@"Localizable"];

iOS 多语言的切换的更多相关文章

  1. Unity iOS混合开发界面切换思路

    Unity iOS混合开发界面切换思路 最近有很多博友QQ 私信 或则 留言联系我,请教iOS和Unity界面之前相互切换的问题,源代码就不私下发你们了,界面跳转功能的代码我直接贴到下面好了,顺带说i ...

  2. 【转】iOS多语言本地化(国际化)设置

    原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设 ...

  3. iOS开发系列--视图切换

    概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...

  4. iOS多语言备选机制

    近期伊书突然接到一些外国用户的投诉,说伊书界面变成了中文,但他们系统语言不是中文,是法文俄文日文等,伊书只支持中文跟英文,在不支持系统所用语言的时候,理应会自动选用英文,不知为什么会选成了中文,经过艰 ...

  5. iOS 多语言 浅析

    什么是本地化处理? 本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下. 本地化处理需要处理那些文件? ( ...

  6. iOS开发基础-图片切换(4)之懒加载

    延续:iOS开发基础-图片切换(3),对(3)里面的代码用懒加载进行改善. 一.懒加载基本内容 懒加载(延迟加载):即在需要的时候才加载,修改属性的 getter 方法. 注意:懒加载时一定要先判断该 ...

  7. iOS开发基础-图片切换(3)之属性列表

    延续:iOS开发基础-图片切换(2),对(2)里面的代码用属性列表plist进行改善. 新建 Property List 命名为 Data 获得一个后缀为 .plist 的文件. 按如图修改刚创建的文 ...

  8. iOS开发基础-图片切换(2)之懒加载

    延续:iOS开发基础-图片切换(1),对(1)里面的代码进行改善. 在 ViewController 类中添加新的数组属性:  @property (nonatomic, strong) NSArra ...

  9. [iOS]终极横竖屏切换解决方案

    [iOS]终极横竖屏切换解决方案 大家的项目都是只支持竖屏的吧?大多数朋友(这其中当然也包括博主),都没有做过横屏开发,这次项目刚好有这个需求,因此把横竖屏相关的心得写成一遍文章供诸位参考. 01.综 ...

随机推荐

  1. java异常捕获

    类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断: try { throw new ExampleB("b") } catch(E ...

  2. java核心技术第一卷

    sell窗口(dos窗口命令)中要注意大小写: 编译java文件需要加上扩展名,运行java.class时只要文件名java,不需要扩展名:

  3. soui中subscribeEvent订阅控件消息与宏订阅注意事项

    同一个控件,subscribeEvent与宏定义不能同时响应,优先响应sub 所以,同一个控件的同一个消息,要想在多个地方响应,就必须sub方式订阅

  4. openstack-glance

    1.glance 功能 对外提供image的管理功能 2.glance架构 api : REST API,提供对外调用接口 registry: 数据库管理逻辑处理 backen:image的实际存放位 ...

  5. ExtJS笔记 Ext.data.Types

    This is a static class containing the system-supplied data types which may be given to a Field. Type ...

  6. sql server2008登录出错怎么整

    我在登录的时候老是报同一个错误,如下图: 更正方法: 这样改了之后就可以了!

  7. shell (check return of each line)and sudoer

    shell result from cmdline echo $? if 0 then success ;else failure (shell 执行每部返回值,rm -rf 错误,打包不能覆盖) 解 ...

  8. supervisorctl error: <class 'socket.error'>

    http://stackoverflow.com/questions/18859063/supervisor-socket-error-issue supervisorctl reread error ...

  9. Linux 基础命令-CURL 表单上传文件

    CURL -F, --form <name=content> (HTTP) This lets curl emulate a filled-in form in which a user ...

  10. OC ---- 字典集合 iOS学习-----细碎知识点总结

    实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...