应用程序本地化之文本本地化

一、概念

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

二、本地化分类

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对应的内容就可以了。

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

时间: 2024-10-01 04:25:57

应用程序本地化之文本本地化的相关文章

实现Recovery模式本地化显示文本定制(recovery_l10n工具的使用)

写在前面: 从Recovery模式本地化文本显示我们了解到,recovery是支持恢复出厂设置(正在清楚...)和安装升级包(正在安装系统更新...)本地化文本显示的,除了这两种recovery同样支持"无命令."和"出错了!"两种文本实现本地化显示,如下: 图1: 图2: 图3: 图4: 而且通过对前一篇博文的描述我们明白这四种文本本地化显示是通过图片合成的方式将各种语言的相关文本合成在同一张图片中,一般来说这四张图片是平台默认提供的,我们并不对其进行定制,但是谷

零基础学python-3.7 还有一个程序 python读写文本

今天我们引入另外一个程序,文件的读写 我们先把简单的程序代码贴上.然后通过我们多次的改进.希望最后可以变成一个简单的文本编辑器 以下是我们最简单的代码: 'crudfile--读写文件' def readWholeFile(fileName): '读取整个文件' file = open(fileName, mode='r') text = [] for eachLine in file: print(eachLine) text.append(eachLine) return text def

微信小程序template富文本插件image宽度被js强制设置

这段时间一直做微信小程序,过程中遇到了一个问题,这个问题一直没有得到完美的解决. 问题描述: 在Web编程中经常会引入template插件,这个插件是封装好,我们通常的做法是直接引入,配置简单,好用,一直都没出现什么大问题.但是这次在微信小程序上,问题就出现了. 因为手机屏幕普遍和PC比小很多,template正常情况下我们给content一个padding:1 30rpx 40rpx 30rpx;时富文本内容在手机屏幕上显示时两边有留白,页面会好看,也为了用户手握手机是不回方便看文本. 文本内

vim - Vi IMproved, 一个程序员的文本编辑器

总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfile] ex view gvim gview rvim rview rgvim rgview 描述 (DESCRIPTION) Vim 是 一个 同 Vi 向上兼容的 文本 编辑器, 可以 用来 编辑任何 ASCII 文本, 特别 适合 用来 编辑 程序. 它对 Vi 作了 许多 增强: 多层撤销,

微信小程序解析富文本的几种方法

工作中有遇到过在小程序中需要解析后台管理系统设置的富文本内容, 一,可以使用wxParse插件解析html 使用方法 1.在github中下载 下载地址  https://github.com/icindy/wxParse/tree/master/wxParse 但是博住使用后 总是报 VM3004:1 thirdScriptErrorhtml.replace is not a function;at api request success callback function 遍在网上找资料 在

微信小程序中rich-text文本溢出(三个...)

小程序中当rich-text中数据较多时就会出现溢出的现象 如下 此时的页面效果并不是很理想 此时我们可以在数据中给个div 加入  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;三个属性解决溢出问题 但这不是很好,如果数据从后台来上面方法就需要变通一下 如下 <rich-text nodes="<div style='overflow:hidden;white-space:nowrap;text-ove

IOS本地化应用程序

BK项目已经完成得七七八八了,在项目的后期需要将其翻译成多国语言版本,以适应全球多个国家多个店面的使用. 应用本地化是分别对字符串.图片和 xib 或 storyboard 文件本地化,而传统的做法是对 xib 上的字符串(包括UILabel和UIButton.UITextField等)关联一个变量,通过NSLocalizedString这个函数去查找 Localizeable .strings 文件中的key值进行本地化操作,或者是生成同一个xib文件的不同语言版本,如 MainVC.xib(

iOS开发-Xcode6应用程序国际化本地化

[置顶] iOS开发-Xcode6应用程序国际化本地化 分类: iOS开发2014-10-11 19:44 3116人阅读 评论(0) 收藏 举报 ios应用国际化本地化xcodeiOS国际化终极教程 应用程序国际化和本地化 本文来自:http://blog.csdn.net/yangbingbinga/article/details/39998673转载请注明出处 1.国际化.首先创建一个工程,在  Localizations里面添加你需要支持的语言 2.然后对要国际化的东西  如,故事板 右

app应用程序本地化--备用

一.简介 * 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言的多种方言 * 如果要添加本地化功能,需要为每种支持的语言创建一个子目录,称为”本地化文件夹”,通常使用.lproj作为拓展名 * 当本地化的应用程序需要载入某一资源时,如图像.属性列表.nib文件,应用程序会检查用户的语言和地区,并查找相匹配的本地化文件夹.如果找到了相应的文件夹,就会载入这个文件夹中的资源 二.默认的效果图 工程目录结构 运行效果图(因为没有使用本地化功能,所以不管用户选择什么语言环境,运