转自: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,然后运行,模拟器上显示分别如下图:
这样就完成了给软件设置不同的语言。很简单吧。
顺便提一下,给软件改名是设置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项目的时候经常用的,下面根据自己的经验和使用场景,来全面的说说多语言本地化的解决方案。本文从提升效率和减少错误两方面对传统的多语言本地化方式进行了优化,虽然标题是iOS,但其实...
Localizr.swift 例 要运行示例项目,请克隆存储库,然后首先从Example目录运行pod install 。... 您应该在testflight构建分发过程中冻结本地化文件,或者至少从Localizr服务器启用快照功能。 要求 安装 可通过获
推送本地国际化官方文档: {aps:{alert:{title:Shou,loc-key:notification_push_live,loc-args: [over140,broadcast test]},badge:0,sound:default,content-available: 1}} NWPusher 测试推送内容: 在 en....
一个适用于iOS的简单本地化解决方案。 Google Spreadsheets-> Localizable.strings-> Swift的结构。 注意:该项目很旧,它可能不会立即可用(例如,会出现错误)。 您可以将其用作本地化工作流程的一个想法。 或...
本地化编辑器简单的macOS编辑器应用程序可帮助您管理iOS应用程序本地化通过允许您并排编辑所有翻译,可以方便地管理本地化文件(Localizable.strings),因此没有工具。 没有一种简单的方法可以知道缺少哪些字符串或...
本地化 Localizr是处理和自动化本地化文件的工具。 基本上,我们为翻译提供有限的访问权限,让他们输入或上传不同的字符串,并且开发人员仅在有更新或更改时才在开发或部署时获取它。 这将减少或防止开发人员犯的...
本地化转换器 一个简单的命令行工具,用于将Android strings.xml文件转换为iOS Localizable.strings和Localizable.stringsdict文件。安装可以使用安装该工具。 您所要做的就是运行以下命令: brew install ...
首先,请记住将Localizable.strings添加到您的项目中,在添加Localizable.strings文件之后,选择它,然后转到文件检查器,然后在本地化下按localize,然后转到PROJECT > Localisation然后添加您想要的语言支持...
目的是使iOS和Android开发人员能够节省时间进行手动复制和粘贴到可本地化的字符串列表中。 要求 CSV文件,格式如下: 键 恩 zh JA CSV样本 键 恩 zh JA pause_key 已暂停 暂停 一时停止する start_key 开始 ...
本地化快速Localize-Swift是一个简单的框架,可改进Swift iOS应用程序中的i18n和本地化-提供更简洁的语法和应用程序内语言切换。特征保留您的应用程序已使用的Localizable.strings文件。 允许您的用户更改应用程序的...
本地化NIB LocalizeNIB可帮助您本地化情节提要和XIB文件。 将要本地化的所有内容放到UIViewController localizables插座集合中,... 如果您已准备好Localizable.strings文件,则只需将要本地化的所有组件添加到localiza
React本地化通过直接从本机层作为本机应用程序使用翻译来减小bundle.js的大小:)安装方式npm install --save react-native-localizablereact-native link react-native-localizable安装Android @Overrideprotected ...
AMLocalizedStringBuilder AMLocalizedStringBuilder is the localized string helper...AMLocalizedStringBuilder 是可以帮助你将语言本地化文件Localizable.strings生成object-c的类AMLocalizedString的Xcode插件,这
源码extract-localizable-string-plugin-xcode,该项目是一个Xcode 插件,允许你在不打开.strings文件的前提下提取本地化字符串。
L10n-swift是一个简单的框架,可改善swift应用程序的本地化,提供更简洁的语法和应用程序内语言切换。 总览 :glowing_star: 产品特点 即时更改应用程序的语言。 用于Xcode Interface Builder的IBInspectable...
本地化一个将字符串转换为不同格式的应用程序此应用程序将帮助开发人员将字符串从一个平台中的应用程序转换为另一个平台。 要使用此应用程序,必须安装Java 8 RE。 特征: 在用户友好的界面中显示已解析的字符串使用...
轻松的XIB和情节提要本地化 我的文章示例项目。 该存储库用作有关如何本地化某些UIKit控件的示例: UILabel UIButton UITextField占位符 UISegmentedControl 标签栏项目和导航栏项目的UIBarItem ...
SCStringsUtility是一个OS X应用程序,旨在简化我们处理可本地化字符串的方式。 它起初是一个简单的CSV实用程序,但最终却比该实用程序多了一点。 特征 使用genstrings及其.string文件从Xcode项目导入(不同...
可本地化:在应用中更改语言。 定位stringimages的简单方法。 用Swift写
SwiftiOSLocalizationLanguage:如何在不重新启动应用程序swift4的情况下更改本地化语言?