`

(转)[IOS]IOS软件国际化(本地化Localizable)

    博客分类:
  • IOS
阅读更多

转自:http://www.cnblogs.com/jiwangbujiu/p/5389770.html

 

iPhone是支持语言最多的手机,它支持各国语言及中国少数名族如蒙古等语言,这也是好多少数名族都用苹果的原因。在这一点上我们自主品牌还是要多学习学习。在IOS软件开发中,可以通过几步简单的设置让软件支持多国语言。

  言归正传,现在说说如何让自己开发的应用支持多国语言,具体操作如下:

一、新建ios工程,工程名随便,我这儿用的是Localizable联系(本地化)

二、新建完成打开后,点击项目结构树最上面的项目名Localizable联系(本地化)(箭头1指向的位置),会出现右侧内容,然后点击箭头2指向的位置,就会出现项目的Info,这时候肩头三指向的框中就是设置语言的地方。

三、点击上图中箭头3指向的框中的+号,会弹出各种语言的选择,这里默认已经有一个English的语言,假定我要添加汉语,那就在下拉列表中选择Chinese(Simplified),点击之后会弹出如下确定窗口,让你选择是否把选择的语言添加到故事板和启动画面的故事板,默认两个都选择,我们不做改变,直接Finish。完成之后如右下图所示。

四、完成以上步骤之后,右键项目资源树,右键点击New File,添加一个String File,如下图所示,文件名为Localizable,注意,必须是Localizable。

 

添加完成后在项目树里会出现Localizable.strings这么一个文件 。

五,选中此文件,然后按照下图所示,打开右侧面板,找到Localizable...这个按钮并点击,弹出一个勾选语言的弹出框,

 

 

 

点击右侧框住的上下箭头,然后点击语言选择为Chinese(Simplified),然后点击Localize按钮,这样就可以在上图中右侧面板中勾选语言,把English和Chinese(Simplified)都选中。

六、选中之后,左侧的项目树中Localizable.strings下面多处两个文件,一个是Localizable.strings Chinese(Simplified)另一个是Localizable.strings English。这样就完成了基本的设置。

 

接下来我们通过给应用中添加一个按钮,让这个按钮的名称在不同的语言环境下显示不同的语言,即当我的手机语言为English的时候,按钮显示”OK“,当手机语言为汉语的时候,按钮显示“确认”。

1、在ViewController.m中viewDidLoad方法中添加如下语句,增加一个按钮:

复制代码
1 UIButton *myBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 200, 214, 80)];
2     myBtn.backgroundColor = [UIColor orangeColor];
3     myBtn.layer.cornerRadius = 20;
4     myBtn.layer.masksToBounds = YES;
5     myBtn.enabled = YES;
6     [myBtn setTitle:NSLocalizedString(@"myBtnTitle", @"这是按钮myBtn的Title") forState:UIControlStateNormal];
7     [self.view addSubview:myBtn];
复制代码

 

注意在设置按钮的title时,要用第6行的语句,即NSLocalizedString(@"myBtnTitle", @"这是按钮myBtn的Title")来代替原来的字符串,这样我们在后面才可以通过替换myBtnTitle,来设置在不同的语言中按钮显示不同的title。

然后打开之前第六步中的Localizable.strings Chinese(Simplified),添加一句"myBtnTitle"="确认";

同理,在Localizable.strings English中添加一句"myBtnTitle"="OK";

Got it,然后运行,模拟器上显示分别如下图:

中文状态下按钮显示确认         英文状态下按钮显示OK

 

这样就完成了给软件设置不同的语言。很简单吧。

顺便提一下,给软件改名是设置Info.plist 中的Bundle Name.设置成你想要的名字之后,在手机上这个app的名字就会变成你设置的。

 

那应用程序的名称如何国际化?方法如下:

 

1.首先要在Project->Info->Localizations里面加上你所需要的语言。(中文有两种简体是zh-Hans,正体是zh-Hant)

 

2.然后添加一个StringFile,命名为InfoPlist.strings。并且在文件属性里将所需要的多国语言勾上。

 

3.完成2后会在InfoPlist.strings下面多出两个文件,一个是InfoPlist.strings(English),一个是InfoPlist.strings(Simplified Chinese),先右键Info.Plist,使用SourceCode打开然后找到CFBundleName这一条并把这个字段复制出来,在InfoPlist.strings(English)中粘贴,后面加上="APP的英文名";同样的操作在InfoPlist.strings(Simplified Chinese) 中粘贴,后面加上"APP的中文名";具体见下图:

复制代码
1 /* 
2   InfoPlist.strings
3   软件名字国际化
4 
5   Created by mac on 16/4/15.
6   Copyright © 2016年 mzw. All rights reserved.
7 */
8 CFBundleName="EnglishNane";
复制代码
复制代码
1 /* 
2   InfoPlist.strings
3   软件名字国际化
4 
5   Created by mac on 16/4/15.
6   Copyright © 2016年 mzw. All rights reserved.
7 */
8 CFBundleName="汉语名";
复制代码

 

 

完成,模拟运行如下:

 

分享到:
评论

相关推荐

    iOS 本地化国际化 demo

    总结来说,"iOS 本地化国际化 demo"应该是一个实用的教程,涵盖了如何配置项目支持多语言,如何编写代码来访问本地化资源,以及如何处理各种文化相关的数据格式。通过这个示例,开发者可以更好地理解和实践iOS应用的...

    ios 国际化 本地化

    国际化(Internationalization,通常缩写为i18n)和本地化(Localization,简称l10n)是iOS应用开发中的重要环节,旨在使应用程序能够适应不同国家和地区的语言、文化以及用户习惯。这两个概念虽然经常一起提及,但...

    iOS应用程序本地化

    在iOS开发中,本地化(Localization)和国际化(Internationalization)是两个重要的概念,它们使得应用程序能够适应全球不同地区的用户需求。本地化是指将应用程序的内容、界面和功能适应特定地区的语言、文化和...

    IOS本地化数据

    iOS本地化主要通过InfoPlist.strings和Localizable.strings文件来完成。InfoPlist.strings用于修改应用的显示名称,而Localizable.strings则用于处理应用中的所有其他文本。这两个文件都是基于键值对的,其中键是...

    iOS语言国际化

    本篇文章将深入探讨iOS的本地化国际化机制,以及GDLocalizableController类在其中的作用。 首先,我们需要理解iOS中的国际化(Internationalization)和本地化(Localization)概念。国际化是指设计和实现一个软件...

    iOS国际化(APP国际化)

    iOS国际化,也称为APP国际化,是指为iOS应用开发过程中实现多语言支持的过程,使得应用...通过恰当的方法和工具,开发者可以为全球用户提供一致且本地化的使用体验。在实践中,不断学习和优化是提高国际化质量的关键。

    ios国际化 多语言支持

    10. 打开 zh_CN.lproj 目录下的 Localizable.strings 文件(双击),修改为 "Localizable Test" = "本地化测试"。 通过这些步骤,我们可以实现 iOS 项目的国际化和多语言支持。但需要注意的是,每当源代码有改变后...

    iOS 国际化 demo

    对于应用的信息描述,如App的名字、显示在设置中的描述等,我们需要在InfoPlist.strings文件中进行本地化。同样,每个语言都有一个对应的文件,用于存储不同语言版本的设置。 四、故事板与XIB文件的国际化 在故事板...

    swift-iOS国际化工具

    在iOS开发中,国际化不仅仅是翻译文本那么简单,它涉及到资源的本地化、日期时间格式、货币符号、图像等多种因素。Swift作为苹果官方推荐的编程语言,提供了丰富的API和工具来支持国际化。 首先,我们需要理解iOS的...

    最新iOS国际化NSLocalizedString

    首先,我们需要了解iOS中的国际化(Internationalization)和本地化(Localization)的概念。国际化是指设计和构建应用程序,使其能够容易地适应不同的语言和地区。而本地化是国际化的一部分,具体指将应用翻译成...

    ios 国际化(项目名和内容)

    国际化是软件开发中一个重要的环节,特别是在iOS平台上,由于其全球化的用户群体,开发者需要确保应用能够适应不同的语言和地区设置。本项目名为“ios 国际化”,旨在讲解如何在iOS应用中实现多语言支持,使得应用能...

    IOS应用源码——本地化与国际化.zip

    在iOS应用开发中,本地化和国际化是两个关键的概念,它们允许开发者构建能够适应不同语言和地区设置的应用。这个“IOS应用源码——本地化与国际化.zip”文件很可能包含了一个示例项目,展示了如何在iOS应用中实现...

    iOS多语言本地化和切换

    首先,我们需要了解iOS的本地化框架——Internationalization(国际化)和Localization(本地化)。国际化是为应用程序设计和编写代码,使其能够适应多种语言和文化环境的过程;而本地化则是将应用的内容、界面和...

    ios源码之本地化与国际化.rar

    在iOS应用开发中,本地化和国际化是两个关键的概念,它们允许开发者为全球不同地区的用户提供适应其语言和文化环境的应用体验。"ios源码之本地化与国际化.rar"这个压缩包很可能包含了一些示例代码或者教程,用于演示...

    iOS-语言本地化

    在iOS应用中,本地化通常通过Localizable.strings文件实现。这个文件包含键值对,键是字符串标识,值是对应不同语言的字符串内容。开发者可以在InfoPlist.strings文件中设置应用程序的名称,而在Localizable....

    iOS 国际化代码

    在iOS开发中,国际化是一项重要的任务,它使得应用程序能够适应全球不同地区的用户需求。"iOS国际化代码"这个项目提供了一个示例,展示了如何实现应用程序的多语言支持,包括字符串、应用名称、图片以及界面文件的...

    ios程序的本地化

    二、iOS本地化流程 1. 设置项目支持本地化:在Xcode项目设置中,选择"Info"标签页,然后在"Localizations"部分点击"+"添加新的语言。 2. 创建本地化文件:Xcode会自动生成一个新的.strings文件,用于存储特定语言...

    IOS应用源码Demo-本地化与国际化-毕设学习.zip

    在iOS应用开发中,本地化和国际化是两个关键的概念,它们对于构建能够适应全球不同地区和语言的应用至关重要。本资源“IOS应用源码Demo-本地化与国际化-毕设学习.zip”提供了一个实用的示例,帮助开发者了解并实践这...

    iOS应用程序国际化

    为了支持国际化,开发者需要创建一个Localizable.strings文件,这是存储所有可本地化字符串的地方。每种语言都有自己的Localizable.strings文件,例如英文版本的文件内容可能是这样的: ```swift "HelloWorld" = ...

Global site tag (gtag.js) - Google Analytics