iOS 适配国际化

因公司做的SDK,发现了一个在iOS9 上,系统无法自行判断默认是英文语言,而选择默认语言是中文。

比如说:公司适配英语,简体中文,繁体中文。但是当切换到了泰语的时候,系统的默认语言是英语,却显示了汉语。在SDK使用了笨方法,把公司需要适配的国家名字在网上找到对应,然后写到 语言数组中。这样当系统找不到对应的国家内容时,就会使用你所写的字符串了。

下边这个方法是 自己做语言切换使用的:

// 获取当前系统语言,判断首次应该使用哪个语言文件
    if (![[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"])
    {
        NSArray *languages = [NSLocale preferredLanguages];
        NSString *languageStr =[languages objectAtIndex:0];
        if (![languageStr hasPrefix:@"zh"])
        {
            // 开头匹配
            [[NSUserDefaults standardUserDefaults] setObject:@"en" forKey:@"appLanguage"];
        }
    }
时间: 2024-08-29 06:05:59

iOS 适配国际化的相关文章

Masonry记录——iOS适配

Masonry是iOS适配的第三方库,比较好用的一个,本人用的也不多,简单了解一些常用的方法,自己学习中,记录下来共勉. Masonry下载地址:https://github.com/SnapKit/Masonry 示例一:View居中处理 不管什么情况下,view都处于居中状态 __weak typeof(self) weakSelf = self; UIView * view = [UIView new]; view.backgroundColor = [UIColor redColor];

IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)

接了个变态的需求,要在程序内切换程序语言实现国际化. 可以先看看这个,比较详细. http://blog.csdn.net/xwren362922604/article/details/17190061 看完之后问题来了, 1,工程里面大量的 xib  或 storyboard 里面的UI 设定了text ,怎么实现让它们动态加载语言[非设置系统语言重启] 2,一个简单的思路,当代码触发切换语言 发个通知让 内存里的viewController 刷新UI的text .[工程里这么都vc 每个都加

iOS应用国际化

转子cocoachina地址:http://www.cocoachina.com/industry/20140526/8554.html iOS应用国际化教程(2014版) 这篇教程将通过一款名为iLikeIt的应用带你了解最基础的国际化概念,并为你的应用添加国际化的支持.该示例应用有一个标签和一个You Like?按钮,用户无论何时点击You Like?,一些乐观的销售数 本文最初由Sean Berry撰写,由Ali Hafizji针对iOS 7进行了更新. 开发一款伟大的iOS应用程序是件了

cocos2dx 2.2.5 CCEditBox IOS 适配问题

最近做着CCEditBox 时,发现点击后,里面的文字没有适配的 今天比较,所以解决一下这个问题 找到CCEditBox点击时响应的函数是  CCEditBoxImplIOS::openKeyboard 我们可以看看这个函数写了什么: -(void) openKeyboard { [[EAGLView sharedEGLView] addSubview:textField_];   // 添加 作为 subView [textField_ becomeFirstResponder]; } 完全没

IOS软件国际化(本地化Localizable)

IOS软件国际化(本地化Localizable) iPhone是支持语言最多的手机,它支持各国语言及中国少数名族如蒙古等语言,这也是好多少数名族都用苹果的原因.在这一点上我们自主品牌还是要多学习学习.在IOS软件开发中,可以通过几步简单的设置让软件支持多国语言. 言归正传,现在说说如何让自己开发的应用支持多国语言,具体操作如下: 一.新建ios工程,工程名随便,我这儿用的是Localizable联系(本地化). 二.新建完成打开后,点击项目结构树最上面的项目名Localizable联系(本地化)

iOS 适配/ autoLayout基本知识

适配历史 iPhone3GS.iPhone4\4s:没有屏幕适配最早开发里面的程序全部都是写死的iPad 旋转出来之后 Autoresizing问世iPhone5\5c\5s兼容各种不同的情况 系统适配 ios版本适配ios6 7 8 9 屏幕适配 iPhone3.5 4.0 4.7 5.5 iPad 7.9 9.7 开发面向点去开发 5s = 320 * 480 6 = 375 * 667 6p = 414 * 736autoResizing 必须关闭autolayout.sizeclass才

IOS 适配的几种模式

1.尺寸适配  1.原因  iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不再单独占用高度,即View的(0,0)坐标是从屏幕左上角开始的:而在iOS7之前的系统中,导航栏和状态栏单独占用高度,即View的(0,0)的坐标从导航栏下面开始的. 解决方案: 1> 修改window的frame坐标 这个思路是在iOS7系统里面把windows下拉20个pixel,这样可以让开status bar的位置,于是一切都恢复了正常. 好处是不用每个viewCont

iOS 适配iOS9

1.网络接口不支持https协议,在iOS9下 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据. 解决方案(以下方法2选1): (1)暂时退回到http协议 具体方法: 在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型. 然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES: 2016.01.06更新: 随着SDK版本的更新,这里需要以下更新.

iOS - 国际化语言切换

iOS国际化:如何切换语言 1.国际化就是将标签.提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件.以key/value对存储,每个资源的key值不变,value随着需求改变. 一般改变的都是写"死"的东西,网络请求的不能改变. 2.添加多语言: 新建工程(国际化)--> 国际化-->project-->info-->Localizations--> "+"Chinese(Simplified) --> fini