(转) IOS程序名称及内容国际化(本地化)

1、IOS程序名称国际化

1.1 新建一个Single View app模版项目,命名为Localization。

1.2 新建后,可以看到工作目录结构文件如下,单击InfoPlist.strings,查看右边的属性,在Localization栏添加语言。

    

1.3 添加完成后打开对应语言文件,比如English的添加

CFBundleDisplayName="China";

Chinese文件添加

CFBundleDisplayName="中国";

运行,如果此时你的模拟器是中文,你会看到你的程序名称变成了 中国:

来到设置里把语言设置成 English。此时程序名称变成了:China

这时,程序名称的国际化完成了。那里面内容呢?

2、内容国际化

2.1新建Localization.strings文件

      

2.2 添加语言和1.1环节一样。

2.3 添加语言内容

添加"Key"="value"; 然后使用时用NSLocalizedString(@"key", @""); 读取内容.

Localization.strings English文件添加

"key" = "english value";

Localization.strings English文件添加

"key" = "中文内容";

在ViewController.m 中添加UILabel实验一下

- (void)viewDidLoad
{
    [super viewDidLoad];
    UILabel *label = [[UILabel alloc] init];
    label.frame = CGRectMake(20, 40, 250, 60);
    label.text = NSLocalizedString(@"key", @"");
    [self.view addSubview:label];
}

运行

设置项里切换英文

3、如何在运行的时候判断现在运行环境是哪个语言?

3.1 获得所支持的语言

NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];
    // 取得 iPhone 支持的所有语言设置
    NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];
    NSLog ( @"%@" , languages);

运行,打印结果:

(

en,

"zh-Hant",

"zh-Hans",

fr,

de,

ja,

nl,

it,

es,

pt,

"pt-PT",

da,

fi,

nb,

sv,

ko,

ru,

pl,

tr,

uk,

ar,

hr,

cs,

el,

he,

ro,

sk,

th,

id,

"en-GB",

ca,

hu,

vi

)

"zh-Hant"   繁体中文

"zh-Hans", 简体中文

这段代码获取当前系统支持的语言。  

3.2 获取当前使用语言

    NSArray *languages = [NSLocale preferredLanguages];
    NSString *currentLanguage = [languages objectAtIndex:0];
    NSLog ( @"%@" , currentLanguage);

打印结果:

en

用获取到的当前语言,和支持的语言做字符串对比,就可以知道是那种语言了。

    if([currentLanguage isEqualToString:@"en"])
    {
        NSLog(@"current Language:en");
    } 

(转) IOS程序名称及内容国际化(本地化),布布扣,bubuko.com

时间: 2024-10-24 00:16:55

(转) IOS程序名称及内容国际化(本地化)的相关文章

iOS开发-Xcode6应用程序国际化本地化

[置顶] iOS开发-Xcode6应用程序国际化本地化 分类: iOS开发2014-10-11 19:44 3116人阅读 评论(0) 收藏 举报 ios应用国际化本地化xcodeiOS国际化终极教程 应用程序国际化和本地化 本文来自:http://blog.csdn.net/yangbingbinga/article/details/39998673转载请注明出处 1.国际化.首先创建一个工程,在  Localizations里面添加你需要支持的语言 2.然后对要国际化的东西  如,故事板 右

iOS程序本地化

iOS本地化其实是一件很简单的事情(Xcode很强大),网上也有很多教程.但是作为初学者,还是会有些地方叫人疑惑. 本地化是程序根据系统本地的International设置(或让用户自己选择本地化语言的区域)改变自身展示文字.图片或xib文件的一种方式. iOS针对所有的资源文件(包括xib, storyBoard, 图片, 音频, 视频等)都可以做本地化操作,而非单单针对文字. iOS本地化操作,分为几步: 1.点击project —> Info —> Localizations 增加自己需

iOS程序更改工程名称

程序员经常以一个名字开始编写一个应用; 但在发布之前, 常常需要为应用更名. 或者想从一个现成程序开始, 修改成一个新的应用, 而不需要copy\paste. 但苹果公司没有提供一个简单的实现方法. 本文讲述的方法可以让你随心所欲修改应用输出的名称. 1. 复制现有文件夹,将拷贝更名为你所想要的名字. 2. 打开新文件夹,将.xcodeproj更名 3. 右键点击.xcodeproj并选择Show package contents,弹出一个对话框包含了几个文件.(事实上.xcodeproj是 这

ios 中获得应用程序名称和版本号

IOS程序中的应用名称和版本号在 info.plist 文件中存储着,要想在程序中获得需要使用 NSBundle 对象 下面是示例代码: 1 NSBundle *bundle = [NSBundle mainBundle]; 2 3 NSDictionary *infodict = bundle.infoDictionary; 4 5 //应用程序版本号: 1.2.3 6 NSString *appVersion = [infodict objectForKey:@"CFBundleVersio

iOS程序启动原理

程序启动原理 掌握 Info.plist和pch文件的作用 UIApplication的常见使用 AppDelegate的代理方法 UIApplication.AppDelegate.UIWindow.UIViewController的关系 iOS程序的完整启动过程 … Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个

Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法

转自:http://blog.csdn.net/dwt1220/article/details/29373817 Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除  注:在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”  项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plis

**iOS开发系列--IOS程序开发概览

http://www.cnblogs.com/kenshincui/p/3890880.html 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理

《iOS应用逆向工程》学习笔记(四)iOS程序类型

越狱iOS中最常见的程序有Application, Dynamic Library和Daemon三类. 1.Application 除了传统意义上的App外,越狱iOS平台上还有两种App形式的存在:WeeApp(依附于NotificationCenter的App)和PreferenceBundle(依附于Settings的App),常见于Cydia平台. 普通App的bundle中存放的是可执行程序和所需资源,而framework的bundle中存放的是动态链接库. 主要关注App中的三个部分

漫谈iOS程序的证书和签名机制

原文:漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕和崇拜.于是,花了一点时间去研究了一下iOS这套证书和签名机制,并撰文分享给需要的朋友.由于本人才疏学浅,多有遗漏或错误之处,还请大神多多指教. 非对称加密和摘要 非对称加密的特性和用法 非对称加密算法可能是世界上最重要的算法,它是当今电子商务等领域的基石.简而言之,非对称加密就是指加密密钥和解密密