本地化(国际化)

1. 本地化(国际化)

为解决同一app在设备的不同语言下显示对应语言的内容。

实现本地化可分为“可视化”,“纯代码”两种方式。

可视化方式:

    > 点击工程名,在Info(注意是Project下,而不是Targets下) 下,在Localizations 栏目下,添加语言

> 点击xib或storyboard ,在最右侧中选择File Inspector(第一个选项卡),在Localization 栏目下,选择语言,会发现原来的xib,storyboard 文件会自动创建对应语言下的文件

> 在不同语言下的xib,storyboard的文件中,设置视图的文字。

纯代码方式

> 在工程目录下添加 Localizable.strings 文件,注意名字必须是Localizable,否则无法实现本地化

> 将此文件设置本地化,选中文件,在File Inspector ->Localization 下添加语言

> 在此文件不同语言版本中分别添加如下格式的内容:"a1"="abc"; 注意要带着分号,否则解析错误 ,并且名字a1在两个文件中要一样。

> 在代码里 lb.text = NSLocalizedString(@"a1", nil)

实际开发过程中,两种方式配合使用,因为不同语言因为文字的不同,所占据的空间不同而导致控件的大小会有差异,有时需要在界面文件调整。

2. 应用程序名字本地化

> 在Info.plist中添加 Bundle display name

> 在Info.plist文件空白处右键 选择 Show Raw Keys/Values (原生底层键值)

> 将CFBundleDisplayName(对应 Bundle display name ) 拷贝

> 新建 InfoPlist.strings文件,[注意名字,否则也无法本地化],并将此文件本地化,选中文件,在File Inspector ->Localization 下添加语言

> 在此文件不同语言版本中分别添加如下格式的内容 :CFBundleDisplayName ="myapp";

3. 应用程序动态获取的数据本地化,因为这些内容一般是由网络访问获取,不同语言的内容由服务器提供,app只需要提供当前设备的语言给服务器,由服务器返回给定语言的内容。

> 获取设备的语言

[NSLocale preferredLanguages]  // 语言偏好列表,第一个就是设备当前的语言

时间: 2024-10-10 21:54:05

本地化(国际化)的相关文章

实现iOS语言本地化/国际化

实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字.图片等信息,能够让讲不同语言的用户读懂.看懂.进而提出为同一个应用程序适配多种语言,也即是国际化.语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够让用户本地.本土人群能够看懂的语言信息,顾名思义,语言本地化.其

3分钟实现iOS语言本地化/国际化(图文详解)

前言 语言本地化,又叫做语言国际化. 是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言. 往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字.图片等信息,能够让讲不同语言的用户读懂.看懂. 进而提出为同一个应用程序适配多种语言,也即是国际化. 语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够让用户本地.本土人群能够看懂的语言信息,顾名思义,语言本地化.其实语言本地化 == 语言国际化!

【转】iOS多语言本地化(国际化)设置

原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设定 至今,我个人做过的项目中有6个是涉及到多语言的,其中全部都是需要在应用中可进行设置. 其实也没多大关系,我们这里会首先说说根据当前设备语言进行切换界面的显示(这些都是网上能搜到的,我整理下给自己清晰点的步骤以便后续查看罢了).而关于在应用在进行语言设定,其实就是获取当前的语言环境并通过代码进行更

iOS 开发之本地化 国际化

多语言在应用程序中一般有两种做法: 一.程序中提供给用户自己选择的机会:二.根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点: 1.本地化应用程序名称2.本地化字符串3.本地化图片4.本地化其他文件 1.本地化应用程序名称 (1)点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标.创建这个文件,命名为“InfoPlist”(一定是这个文

angular使用ngx-bootstrap的datepicker组件并实现本地化/国际化

datepicker组件官方api: http://ngx-bootstrap.com/#/datepicker step1. 安装 ngx-bootstrap  : npm install  ngx-bootstrap --save step2 .引入相关文件: 在angular.json中的styles中引入相关的css文件,根据需要引入相应得文件 "styles": [ "node_modules/ngx-bootstrap/datepicker/bs-datepick

软件本地化/国际化解决方案 - 多语种代码生成工具

提起程序信息本地化/国际化解决方案(本地化和国际化是指让软件支持多国语言的显示), 很多人首先可能会想到大名鼎鼎的GNU GetText, 的确这是一个很优秀的解决方案.另外,还有一种方式是操作程序的资源文件. 对于这2种方案, 大家可以百度,谷歌一大堆.当然这2种方案都存在优点和缺点, 这里不做评论, 每个项目都有各自的特性,选择适合自己的,每个人的思维习惯也不同, 可能你认为好的别人认为不好. 下面开始说明本文的解决方案,同样, 我只列出特点, 优点和缺点让使用者去评论. 由于本人目前的时间

监听器/国际化

监听 Listener 主要用于监听ServletRequest\ServletContext\HttpSession三个对象的创建.销毁.属性的变更的. 创建一个监听类:需要继承Filter. 对象部分: ServletRequestListener    request对象的创建销毁: 初始化方法获取页面请求对象无法获取,销毁方法可以获取. Answer:初始化在tomca启动就开始了,访问是没法获取的. HttpSessionListener      session对象的创建销毁: Se

0421 版本适配和本地化

1. 获取版本号: //  7.1.123  系统大版本号/大修改/小修改次数 一般写成宏: 使用时: 如下即可, // 注意: 以下代码如果在iOS8以上版本,都会被忽略: 2. 本地化(国际化) 1) 选择简体中文 会将下列文件本地化 2) 用这个名字命名:(以免后续还要改名字) 3.  接下来,定义一些标识符. 注: 用的时候,我们用宏,系统会决定用什么文件的东西. 原来的写法: 现在: // 这里的引号里面的 hello 就是我们定义的标识符. // comment 是注释相关 4. 下

推荐!国外程序员整理的 PHP 资源大全

iadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他的依赖管理 其他的相关依赖管理 Satis:一个静态Composer存储库生成器 Composition:一个在运行时检查C

springMVC初探--环境搭建和第一个HelloWorld简单项目

注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—>封装响应的数据 d,将响应的数据进行渲染 springMVC框架有什么优点? 性能比struts2好 简单便捷易学,能进行更简洁的web层开发 天生和spring无缝集成 使用约定优于配置 能够进行简单junit测试 支持restful风格 异常处理,本地化国际化,数据验证,拦截器 提供一套强大的JSP