如何在Xcode 6中实现iOS应用程序本地化

 我来答
千锋教育
2016-03-25 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  1、本地化xib文件
  在XCode中点击LocalizedDemo项目文件—PROJECT栏—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一项。
  点击Localization下面的加号(+)按钮,会弹出一个本地化语言列表,选择需要增加的本地化语言,比如我选Chinese(zh-Hans),这个是简体中文,然后会弹出一个对话框,里面包括需要本地化为简体中文的资源,本工程中有ViewController.xib和InfoPlist.strings,点击Finish。
  工程中的ViewController.xib和InfoPlist.strings文件旁就有一个可以展开的三角形了,展开可以看到他们有两个子项:English和Chinese,English资源位于工程目录的en.lproj文件夹中,Chinese资源位于工程目录的zh-Hans.lproj文件夹中。
  这样就完成了xib的本地化。
  当iOS设备当前语言是English时,会调用ViewController.xib(English),
  当iOS设备当前语言是中文简体时,会调用ViewController.xib(Chinese)。
  其他语言xib的本地化类似。
  这种方式在于能够迅速的处理多语言本地化,可以根据不同语言的文本长度直接在xib中调整控件大小,但如果需要本地化的语言种类非常多,项目中xib文件也很多,那么项目中就充斥着太多太多的xib资源文件,感觉非常不好。

  2、本地化图像
  在步骤1中不同的本地化xib文件中的UIImageView选用不同的图片就能完成图片的本地化。

  3、本地化应用程序显示名称
  在步骤1中的不同本地化InfoPlist.strings文件中设置:
  CFBundleDisplayName = "APPNAME";
  "APPNAME"改成想要显示的本地化名字即可完成应用程序名称的本地化。

  4、本地化字符串
  假设在ViewController.xib有一个UILabel,将其文本赋值如下:
  label.text = NSLocalizedString(@”Hello, World”, @”The test label”);

  启动/Application/Utilities/Terminal.app,cd到LocalizedDemo目录,执行如下指令:
  genstrings ./LocalizedDemo/*.m
  命令执行完后将在项目工程目录下生成一个名为Localizable.strings的新文件,将其导入到工程中。
  在Xcode中选中Localizable.strings,选择XCode菜单—View—Utilities—Show Utilities,选择Localization,选择需要本地化的语言,即可完成。
  这样,在Localizable.strings可以看到一个能展开的三角形,展开后能看到所有已经本地化的语言。
  需要注意的是,还要对Localizable.strings对应的本地化语言做修改,因为它默认是会以某一个语言为模板复制的。比如,中文本地化默认如果以English为模板,英文本地化字符内容为:
  /* The test label */
  "Hello, World" = "Hello, World";
  那么中文本地化初始化值也是:
  /* The test label */
  "Hello, World" = "Hello, World";
  需要将中文等号后面的修改:
  /* The test label */
  "Hello, World" = "你好,世界";
  注意等号前面的字符串是本地化字符的key,不能随意修改,若修改了它,需要重新生成本地化字符串文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式