博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用程序本地化之文本本地化
阅读量:4351 次
发布时间:2019-06-07

本文共 1145 字,大约阅读时间需要 3 分钟。

一、概念

    本地化就是使应用适合与本地区用户习惯的过程。本地化涉及多方面内容,包括文字、货币、日期和图片,甚至语音都需要本地化。

二、本地化分类

    1、文本信息本地化

       文本信息本地化占有很大的比例,其中包括应用名称本地化、系统按钮和信息本地化以及静态文本信息本地化。

    2、nib和故事板文件本地化

    3、资源文件本地化

三、下面我们就用genstrings和NSLocalizedString实现应用程序文本本地化。文本本地化就是使文本适合本地区用户习惯的过程。例如当你的iphone或者ipad设置语言为简体中文时,应用程序中的文本显示的是中文,而当你的设备设置语言为english时,那么你的应用程序将会显示英文。

   第一步: 比如你设置一个按钮显示的文字实现本地化。原来你可能写成

[self.testBtn setTitle:@"我的按钮" forState:UIControlStateNormal];

    但是现在你需要设置成

[self.testBtn setTitle:NSLocalizedString(@"BTN_TITLE", nil) forState:UIControlStateNormal];

        其中NSLocalizedString是一个定义在NSBundle中的宏,其用途就是寻找当前系统语言对应的Localizable.strings文件中某一个key的值,其中BTN_TITLE就是key,按钮显示的内容就是该key的value.第二个参数是对这个键值对的注释,再用genstrings工具生成Localizable.strings文件时会自动加上去。

    第二步:生成strings文件。

        a、打开终端然后进入工程所在目录。

        b、新建两个目录,最好放在资源目录下。

        然后创建两个文件夹。这里不能写错了,zh-Hans指的是简体中文,en是英文。

mkdir zh-Hans.lproj  mkdir en.lproj

        c、然后生成Localizable.string文件

genstrings -o zh-Hans.lproj *.m   genstrings -o en.lproj *.m

        -o <文件夹>作用是制定生成的Localizable.strings文件放置的目录。

        *.m作用是扫描所有的.m文件。

        d、然后把生成的两个文件夹从工程中拖到xcode打开的项目中的Resource目录下。

        e、最后再Localizable.strings文件中,修改key对应的内容就可以了。

注:你可以自己设置设备的语言来检测一下是否成功。如果不成功随时评论提出。

转载于:https://www.cnblogs.com/zhanggui/p/4638766.html

你可能感兴趣的文章
linux下安装Mongodb
查看>>
Page.RegisterStartupScript和Response.Write的区别。
查看>>
hdu4348区间更新的主席树+标记永久化
查看>>
bzoj3261: 最大异或和 可持久化trie
查看>>
ZOJ 2532 Internship
查看>>
HDU 3452 Bonsai
查看>>
[Erlang12] Mnesia分布式应用
查看>>
图的遍历 | 1013 连通块块数
查看>>
Kinect 开发 —— 进阶指引(上)
查看>>
洛谷 - P1739 - 表达式括号匹配 - 模拟 - 栈
查看>>
python——文件和流
查看>>
Pull To Refresh---下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
查看>>
嵌套查询
查看>>
Upgrade Bash to 4+ on OS X
查看>>
python学习笔记(六)time、datetime、hashlib模块
查看>>
uva489(需要考虑周全)
查看>>
C-关键字(二)
查看>>
排序笔记
查看>>
天气API整理,返回的数据格式为json对象
查看>>
如何配置JAVA的环境变量、Tomcat环境变量
查看>>