前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cocoa程序支持多国语言环境

Cocoa程序支持多国语言环境

作者头像
EltonZheng
发布2021-01-26 11:05:51
6310
发布2021-01-26 11:05:51
举报
文章被收录于专栏:Elton的技术分享博客

当你的Cocoa程序面向多个不同语言国家的用户时候,通常需要配置你的应用的多国语言环境,而不是单独编译几个不同的语言版本。

1. nib/xib多国语言支持

nib或xib文件,支持多国语言很简单,只需在你的nib/xib文件右键点击,选择Get Info菜单。 点击最下面的Add Localization按钮 caption id=”attachment_446” align=”alignnone” width=”300” caption=”xib添加多国语言支持”

/caption

在弹出的窗口中输入你要支持的语言编号, 如zh_CN(简体中文)、zh_TW 或者 zh_HK(繁体中文),其他几个常用的国家语言可以不是编号而是国家语言名称,如: 日语:Japanese 德语:German 西班牙语:Spanish 法语:French

之后编辑nib/xib文件中的文字,图片后保存就可以了。

2. 程序中引用多国语言

建立Localizable.strings文件

在项目中点右键,选择Add->New File 在列表中选择Strings File,也可以取别的名字,比如MyApp.strings

这个文件如果包含非拉丁字符的话,一定要保存为utf-8格式,如上图中的File Encoding中的设置。

.strings文件的内容可以是标准的plist格式,也可以是旧的列表格式:

代码语言:javascript
复制
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">


    mykey
    myvalue
        ….

字符串如果要换行的话,直接按回车换行,不要写成n这种形式。

或者直接使用旧式的列表格式:

代码语言:javascript
复制
"mykey" = "myvalue";
…

注意每行后面加分号。

如果你使用的是Localizable.strings,那么你在程序中可以这样获取字符串:

代码语言:javascript
复制
NSLocalizedString(@"mykey", nil)

如果你使用的是自定义名字的.strings,比如MyApp.strings,那么你在程序中可以这样获取字符串:

代码语言:javascript
复制
NSLocalizedStringFromTable (@"mykey",@"MyApp", nil)

这样即可获取到”mykey”这个字符串,可以是任何语言。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. nib/xib多国语言支持
  • 2. 程序中引用多国语言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档