如果你的App需要支持多国语言。那么,就应该为你的App应用添加“国际化”支持。
“国际化”乍看很高深。其实,苹果xCode都为我们设置好了,我们只需要简单的配置,就能够完成。
“国际化”顾名思义,就是要让各国的人使用你的App应用时,显示用户本国的母语。
 
网上也有很多这样的帖子,但是,xCode在进化,很多东西,已经移动了位置或者变的更加简便了。这样,我们不能再看老帖子了。
 
不多废话!
 
xCode 5.0下生成“国际化”语言包。
 
1.创建国际化语言文件:文件名必须为:Localizable.strings
 

2.选中Localizable.strings文件,在Utilites中,点击Localizable选项

3.创建English语言包。

创建后,你的Localizable.strings文件下将挂在英文的语言支持文件。
 
4.根据需要添加其他多国语言支持。

直接点击Finish。

 
 
其实,我们应该注意到,在plish文件中,来切换默认的语言包。

添加语言支持。

 
我们以我的文件为例:
在Localizable.strings(Chinese(Simplified))中,加入如下代码:

"play"="播放";

 
在Localizable.strings(English)中,加入如下代码:

"play"="play";

 
其他,雷同……
 
使用语言支持
 

NSString *strPlay = NSLocalizedString(@"play",@"");

[self.btnPlay setTitle:strPlay forState:UIControlStateNormal];

 
获得当前设备的语言
 

// 取得用户默认信息

NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];

// 取得 iPhone 支持的所有语言设置

NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];

NSLog (@"%@", languages);

// 获得当前iPhone使用的语言

NSString* currentLanguage = [languages objectAtIndex:0];

NSLog(@"当前使用的语言:%@",currentLanguage);

iOS-生成国际化包-配置App多语言支持的更多相关文章

  1. (视频)《快速创建网站》 3.3 国际化高大上 - WordPress多语言支持

    本文是<快速创建网站>系列的第7篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  2. iOS生成Bundle包及使用

    什么是Bundle文件? 简单理解,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个Bundle文件.方便在其他项目中引用包内的资源. Bundle文件的特点? Bundle是静 ...

  3. 手把手教iOS生成.a包及常见的问题

    我的例子是打包MJRefresh 环境OS10.11.4,  XCode Version 7.3.1 (7D1014) 生成.a如下: 创建新工程: 把下载的 MJRefresh-master加到你的 ...

  4. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler 能捕获Android 和 Windows Phone 等 ...

  5. Android Studio项目生成Jar包

    步骤: 1)在module的gradle文件中,将apply plugin:'com.android.application'改为apply plugin:'com.android.library' ...

  6. iOS开发——iOS国际化 APP内语言切换

    最近一个一直在迭代的老项目收到一份新的开发需求,项目需要做国际化适配,简体中文+英文.由于项目中采用了storyboard和纯代码两种布局方式,所以国际化也要同时实现.上网查了些资料,实现了更改系统语 ...

  7. [置顶] iOS 应用程序内部国际化,不跟随系统语言

    前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...

  8. iOS 国际化最新最全教程+如何快速国际化一个现成APP

    同学面试时遇到一个问题,面试官问他,有一个现成的APP马上要上线了,怎么在不改原来代码,也不改xib.storyboard里的文字的情况下快速实现国际化.这里应同学请求写下此教程.反正国际化的步骤都要 ...

  9. iOS 应用程序内部国际化,不跟随系统语言

    前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...

随机推荐

  1. jquery select选中项 赋值

    $("flag").attr("value",flag); $("#flag").find("option:selected&qu ...

  2. hiho_1051_补提交卡

    题目大意 给出1到100这100个数中的某些数字(各个数字不同),这些数字形成一个个间断的连续区间,向1-100中添加M个数字,使得添加后1-100中某连续区间的长度最大,求出添加M个数字后,最长的连 ...

  3. git冲突的发生和解决/git workspace关于git的配置

    分支之间的冲突时如何产生的,前提是他们之间本来没有冲突,然后一个分支git add commit,另一个分支也git add commit,并且恰好是在同一个文件,于是冲突就产生了,冲突的解决有两种: ...

  4. AlphaGo实现原理

    AlphaGo已经打败了李世石9段,如果你也懂它背后的原理,或许某一天你也可以开发出一款AI来打败dota或者LOL的世界冠军. Mastering the game of Go with deep ...

  5. struts2 I18N 国际化

    1. 准备properties文件 globalMessages_en_US.properties globalMessages_zh_CN.properties 2. 配置struts.xml &l ...

  6. java 多线程8(join)

    join():  加入.一个线程如果执行了join语句,那么就有新的线程加入,执行该语ij 句的线程必须要让步给新加入的线程先完成任务,然后才能继续执行. import java.util.Scann ...

  7. java main函数

    public static void main(String[] args)[String args[]]也对 1)public :公共的权限最大,在任何情况下都可以访问. 原因:为了保证java虚拟 ...

  8. sessionStorage

    for(i=0;i<tkt.length;i++){ if(tkt[i].redEnvelopeType==1){ full1+="<div class='pic_01' id= ...

  9. 索引器(C# 编程指南)

    原文地址:https://msdn.microsoft.com/zh-cn/library/6x16t2tx(VS.80).aspx 索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于 ...

  10. php向数据库写数据逻辑

    先写php 文件 1.post请求 1)先确定传进来的数据有值 没有就退出程序 if(!isset($_POST['username'])){ die('没有传值') } 2)设config.php ...