使用xcode4做ios的国际化

转载 2012年03月21日 14:41:53

app是针对国内市场的,但国内付费软件的状况不咋样,也就顺道卖卖全球市场了。

针对这个需求,对app中的文字和app的软件名称做了国际化处理。另外xib文件和图标貌似都是可以进行国际化处理的。但我的项目中没有这个需求,也就没去查找相关的资料

xcode4和xcode3上面关于制作国际化文件的操作步骤不太一样。网上关于xcode3中国际化的文件很多,xcode4的不多。根据自己制作的过程来记录下来

1)在项目的“supporting files”目录中右键“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,新建的文件名要写成“Localizable.strings”

2)点击刚才创建的这个文件,选择xcode4的菜单中的“view”-》“utilities”-》“file inspect” 右侧会看到一些属性的信息

3)找到Localization这项,现在应该是空的,点“+”进行国际化的添加。因为我只制作了中文和英文,所以我加了“English”和“Chinese”,这里要注意的是“Chinese”要选择“zh_Hans”,这个是简体中文。

4)添加好后就可以看到你项目目录下会生成对应的目录,zh-Hans.lproj和en.lproj 目录里面就是Localizable.strings的文件

5)在xcode4中可以看到原先创建的Localizable.strings文件的左侧会多出一个三角图标,点击后会扩展出2个文件,一个中文,一个英文的。点击每个文件进行编辑就可以了。

6)文件中的格式是“Key”=“value”; 引号是必须加的,分号也是。

7)在程序中需要使用国际化字符串的时候,调用NSLocalizedString(@"about"nil)就可以进行字符串的显示。其中第一个字符串就是文件中的key,第二个字符串可以使用nil代替也可以写一些注释

关于程序文件名的国际化

1)按照上面的步骤制作国际化文件,文件名是infoPlist.strings

2)文件中的key使用指定的CFBundleDisplayName,例子CFBundleDisplayName="game";

3)Info.plist,添加一个新的属性Application has localized display name, 设置其类型为YES

4) Info.plist,中检查Bundle name和Bundle display name 是否为${PRODUCT_NAME}

 

关于xib文件的国际化,这个我的项目使用cocos2d,所以我不关注这个。

关于图片的国际化

原理与文字的国际化类似,就是 “view”-》“utilities”-》“file inspect”里面添加语言类型就可以了。

必须一个图片一个图片的添加。

 

注意大小写,自己是犯了这样的错误导致查了半天才查到问题

使用xcode4做ios的国际化

xcode4和xcode3上面关于制作国际化文件的操作步骤不太一样。网上关于xcode3中国际化的文件很多,xcode4的不多。根据自己制作的过程来记录下来 1)在项目的“supporting fi...
  • sixingbugai
  • sixingbugai
  • 2011年11月29日 13:18
  • 300

Xcode4字符串资源国际化for iOS

参考了xcode3下的方法,具体参看:http://www.voland.com.cn/iphone-use-nslocalizedstring-internationalization它的方法是先建...
  • favormm
  • favormm
  • 2011年07月20日 12:28
  • 4061

iOS对第三方框架的国际化改为跟随系统改变

前言当一个项目要求在应用内切换应用语言,对于我们自己编写的代码,当然可以统一处理。比较麻烦的是,要求第三方框架的语言也随之变化。应用内切换语言的实现方法,可以参考上篇文章。分析为了实现需求,我们有以下...
  • Bloody_Leaves
  • Bloody_Leaves
  • 2016年12月28日 13:00
  • 1105

iOS 国际化的设置大全

国际化(Internationalization ,简写为I18N)的作用是防止将本土文化信息写死仔应用里(所谓本土文化,是指语言、货币、日期格式、数字格式等)。本土化(Localization,简写...
  • watermelon_
  • watermelon_
  • 2016年12月01日 09:54
  • 1499

iOS国际化及应用内部实现国际化

iOS国际化  转载:1、点击打开链接 包含了App程序的国际化化例如App名字的国际化 、应用内部内容的国际化 转载:2、点击打开链接 介绍的很详细,包括了图片,xi...
  • u010884518
  • u010884518
  • 2016年01月08日 13:29
  • 1526

iOS 中bundle 和国际化之间的关系

[[NSBundle mainBundle] pathForResource:@"someFileName" ofType:@"yourFileExtension"];  [YourViewCo...
  • yuyezhulan
  • yuyezhulan
  • 2014年11月19日 14:27
  • 748

iOS 国际化 支持app多种语言

bug虐我千百度,我待bug如初恋。
  • TF_Man
  • TF_Man
  • 2015年11月12日 14:05
  • 1883

全面解析iOS中App的名称和内容以及启动页三大板块的国际化方案

在做iOS项目时,App的国际化(I18N)几乎是必做的一件事。App的国际化主要有应用名称的国际化、内容的国际化,以及启动页的国家化。趁着周末有空在网上整理了一些比较全面的资料,给老铁们分享下。De...
  • IOS_dashen
  • IOS_dashen
  • 2017年05月07日 20:36
  • 1332

iOS 国际化 没有国际化的语言显示默认语言

iOS 国际化 没有国际化的语言显示默认语言我们公司只做了简体,繁体,英文国际化 需求是如果没有国际化的语言默认显示英语。...
  • sunjie886
  • sunjie886
  • 2016年07月27日 17:15
  • 885

iOS Xib下进行多国语言的国际化图解

1.建立一个空模板应用 2.建立一个ViewController并带上Xib 3.Xib上放一个Label 4.添加一个简体中文语言包 5.选中Xib,点击Localize这个按钮 圈中...
  • techfu
  • techfu
  • 2015年07月30日 15:48
  • 5760
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用xcode4做ios的国际化
举报原因:
原因补充:

(最多只允许输入30个字)