Xcode 4.5平台上设置应用本地化, Ios 本地化,多语言

2024-08-26 08:08

本文主要是介绍Xcode 4.5平台上设置应用本地化, Ios 本地化,多语言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 给项目增加语言支持:

打开项目的“Info“属性编辑界面时,我们可以看到”localizations“一栏,如下图所示,这就是设置项目本地化支持语言的地方,在这里我们可以加入简体中文(Chinese(zh-Hans))、繁体中文(Chinese(zh-Hant))等语种的支持。

1_设置应用语言.jpg

 

2. 应用程序名

一个Xcode项目可以建立多个target,每个target代表一个不同的应用(产品),而且每个target都有自己的Info.plist配置文件,应用程序名(安装后在IOS设备上显示的名称)是在Info.plist配置文件里设置。

Info.plist不能设置本地化,如果需要让应用程序名以本地化形式显示,则要创建一个名为“InfoPlist.strings”的strings资源文件,在InfoPlist.strings里设置应用程序名,设置方式为 :"CFBundleDisplayName" = "要显示的名称"; App安装后,应用程序名会显示为键“CFBundleDisplayName”的值。通过对InfoPlist.strings本地化设置,就可以实现应用语言的本地化。主要操作步骤为:创建“InfoPlist.strings”文件 -> 选中“InfoPlist.strings” -> 打开右边工具栏(Utilites) -> 在“Localization”栏目加入语种,如下图所示:

2_应用名称本地化_1.jpg

加入多个语种后,InfoPlist.strings文件下会多出一个三角箭头,展开后,可以看到每个语种都会对应一个“InfoPlist.strings”文件(下图所示),选中一个文件,改变“CFBundleDisplayName”的值,这样就可以实现在不同的语言环境下显示不同名称的效果了。

2_应用名称本地化_2.jpg

 

3. 本地化字符串

cocoa框架内置了两个常用的宏来实现字符串的本地化:
  1. NSLocalizedString(key, comment)  
根据设备当前的语言环境自动加载对应的资源文件“Localizable.strings”,再返回资源文件里Key的值,如果不存在“Localizable.strings”文件,或者key不存在,会返回key本身。

 

  1. NSLocalizedStringFromTable(key, tbl, comment)  
根据设备当前的语言环境自动加载对应的资源文件tbl,再返回资源文件里Key的值,如果不存在tbl文件,或者key不存在,会返回key本身。

我们只要把字符串定义在strings资源文件里,像应用程序名的本地化操作一样,对strings资源文件进行本地化操作,再用使用上面2个宏读取,就可以实现字符串本地化显示了:

  1. //从文件“Localizable.strings”里读取Key为“Localizable Demo”的值   
  2. NSString *title = NSLocalizedString(@"Localizable Demo", nil);   
  3.   
  4. //从文件“MyStrings.string”里读取key为“test”的值   
  5. NSString *testString = NSLocalizedStringFromTable(@"test", @"MyStrings", nil);  

 

4. 图片和其他资源文件

选中需要本地化的资源文件 -> 打开右边工具栏(Utilites) -> 在“Localization”栏目加入需要支持的语言。xcode会把资源文件拷贝到新加入语言的的目录下,把准备好的本地化文件替换掉xcode自动拷贝的文件即可。

这篇关于Xcode 4.5平台上设置应用本地化, Ios 本地化,多语言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108013

相关文章

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中