iPhone拥有完整的本体化(Localization)体系结构,使用它可以将应用程序翻译成多种语言,如此就可以把程序发布在任何一个语言区的AppStore上。

链接:Localization_Demo

本地化主要分为三类:

本地化字符串

本地化nib文件

本地化图像:本地化图像 & 本地化应用程序图标

预备知识点:

NSLocalizationString(key,comment)函数:

NSLocalizationString在应用程序束中查找名为localizable.strings的字符串文件。如果找到了,则返回key对应的值,未找到则返回key。comment参数只是一个对key的注释

----------------------------------------------

添加需要国际化的语言 | 这里以英文和简体中文为例

说明:

目前,应用程序展示的所有文本都是以硬编码字符串存在于Main.storyboard和ViewController里面的。为了本地化这些字符串,你就需要把它们放在一个扩展名为.strings(Xcode使用这种格式的文件来存储和检索app中使用的所有字符串,以支持各种语言)的单独问件中。根据iOS设备当前使用的语言,代码中一个简单的方法调用将会查找并返回要求的字符串。

应用程序名称国际化:

注意:添加.strings文件,名字用InfoPlist.strings。

好了,看看效果:

这是简体中文下的效果:

总结:你想让你的程序国际化哪种语言,就添加哪种语言,并在InfoPlist.strings下面找到属于那种语言的文件,输入上面的代码,就OK。

字符串国际化

注意:添加.strings文件,名字为Localizable.strings

说明:内容国际化,在文件里面是"键" = "值"的形式来存储数据的。用法如下:

说明:调用文件里面的数据用NSLocalizedString方法,第一个参数是键。将模拟器的语言设置为English,运行:

说明:这就是内容国际化。将文件名定为Localizable.strings(系统默认)的方式就是上面的。如果文件名是随便设的,只是调用方法不一样,用NSLocalizedStringFromTable这个方法,第一个参数同上,第二个参数是文件名称,第三个同上。推荐使用默认的。

图片国际化

StoryBoard国际化|nib国际化一样的操作

storyBoard国际化很简单:

说明:只要你的SB里面有文字,你的文件里面就会自动生成。比方说你的SB里面有字符串“仓井空”,那么生成的几个文件你都可以找到,但是你得把不同语言文件里面的字符串改过来,中文里面,找到““苍井空””不改,英文里面同样找到““苍井空””,改成““Aoi Sora””,记住,只改对应的文字,其它的别动。

19 | 本地化(国际化)相关推荐

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

    为什么80%的码农都做不了架构师?>>>    原文 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往 ...

  2. iOS - 实现语言本地化/国际化

    实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家 ...

  3. Strust2 本地化/国际化

    一个关于本地化/国际化的例子 参考 点击打开链接(非常完善的例子) 点击打开链接(ActionSupport.getText()方法) 注意s:radio的修改 1  package test;imp ...

  4. iOS语言本地化/国际化宝典

    语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用 ...

  5. 应用名称本地化/国际化

    应用名称本地化,是指同一个App的名称,在不同的语言环境下(也就是手机设备的语言设置)显示不同的名称. 比如,微信在简体中文环境下App名称显示为"微信",在英语环境下显示为&qu ...

  6. struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)

    国际化(i18n)是规划和实施的产品和服务,使他们能很容易地适应特定的本地语言和文化的过程中,这个过程被称为本地化.国际化的过程有时也被称为翻译或本地化启用.国际化是缩写i18n,因为我和两端用n字打 ...

  7. 软件本地化(国际化)步骤

    增加本地化代码实例 #define LOCALE_DIR "/usr/share/locale" #define LOCALE_DIR ""//如果设置当前目录 ...

  8. app的本地化 国际化

    IOS篇 1. app name 多语言设置 注意:xcode 8 以后没有support Files 文件夹了,不用care, 只要配置文件名称填对就行   InfoPlist.strings , ...

  9. Spring Security 入门(1-9)国际化的使用

    转载于:https://www.cnblogs.com/lexiaofei/p/7016222.html

  10. Qt Quick的国际化和本地化

    Qt Quick的国际化和本地化 Qt Quick的国际化和本地化 国际化您的应用程序 1.对所有文字用户界面字符串使用qsTr() 2.为翻译器添加上下文 3.歧义相同的文本 4.用于%x将参数插入 ...

最新文章

  1. 什么是DCI? 它有什么用?
  2. JavaScript[对象.属性]集锦
  3. 全球所有货币币种汇总
  4. Reactive Extensions for .NET (Rx)
  5. ALV报表中设置可修改字段
  6. 梦世界服务器修改指令,我的世界梦世界有哪些指令必须知道 梦世界所有必须知道指令汇总...
  7. lua实现stack(lua程序设计21.7 练习21.1题)
  8. 排名前20位的在线编程课程,可促进您的职业发展
  9. 【基础】Qt-VS调试器下载与配置
  10. 数据结构与算法 pdf_整理一个月完成的数据结构与算法PDF和测试代码免费拿
  11. java线程interu_Intel 10nm服务器U首曝:多线程性能提升118%
  12. Spring Cloud 全家桶 入门介绍
  13. 2019 ACOUG年会圆满结束(附PPT和视频下载)
  14. 华为畅享max有没有人脸识别_华为三款5000mAh超大电池手机,都是续航王者,最低只要1499元...
  15. Angular - - ng-focus、ng-blur
  16. 免校准的电量计量芯片_免校准的高精度计量芯片HLW8032
  17. [Zer0pts2020]Can you guess it?
  18. 推荐几个笔记类APP,自学提示必备
  19. IDEA 添加类注释、方法注释(快捷键 /** + Enter)
  20. 敏涵化妆品何以圈粉Z世代消费群体?

热门文章

  1. 三维圆柱绕流建模与网格划分
  2. 性能提升40%: 腾讯 TKE 用 eBPF 绕过 conntrack 优化 K8s Service
  3. 支付宝蚂蚁森林惹争议!超6亿人“为种真树”积极参与,阿拉善277号林却现荒地?官方回应来了...
  4. 通过usb linux 显示器,惠普的新款 4K 显示器都能通过 USB Type-C 驱动
  5. 新加坡计算机金融专业,新加坡金融专业为何如此热门?
  6. 华为机试108题(C 语言解答)
  7. okhttp之拦截器
  8. 自动驾驶代客泊车AVP功能介绍
  9. POJ 3744 Scout YYF I 期望dp
  10. INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString