国际化 本地化

原创 2016年08月30日 01:32:25

概述

国际化,Internationalization(I18N)

本地化,localization(L10N)

国际化和本地化描述的是同一个概念,是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示不同的界面

国际化原理

要实现国际化(本地化),就需要提供多份资源,app通过特殊的文件夹名来识别要获取的那一份资源,这些特殊的文件夹被称为本地化文件夹,本地化文件夹有固定的命名方式,有下面两种命名格式:

  • language-country.lproj
  • language.lproj
language-lproj范围大于language-country.lproj,因为多个国家/地区可能使用同一语言,比如英文美国和英国都使用,所以language-country.lproj优先于language.lproj

简体中文环境,本地化文件夹为:

  • zh-Hans-CN.lproj
  • zh-Hans.lproj

美式英文环境,本地化文件夹为:

  • en-us.lproj
  • en.lproj

繁体中文环境,本地化文件夹为:

  • zh-Hant.lproj

Base.lproj,不属于特定的国家/地区、语言环境,是默认本地化文件夹,当app找不到对应的language-country.lproj或language.lproj,最后会去找Base.lproj,如果当前国家/地区为中国大陆,则在国际化时,搜索的本地化文件夹顺序为:zh-Hans-CN.lproj->zh-Hans.lproj->Base.lproj

NSLocale

NSLocale封装特定的国家/区域、语言环境

NSArray *locales = [NSLocale availableLocaleIdentifiers];
NSLog(@"support locale: %ld", locales.count);
    
NSLocale *currentLocale = [NSLocale currentLocale];
NSLog(@"current locale: %@", currentLocale.localeIdentifier);

output:

support locale: 731
current locale: en_US


国际化

界面设计文件国际化

如果有必要,不同的本地化文件夹下放置不同的界面设计文件
原则:如果不同国际化环境界面设计文件布局不同,则需要使用多份界面设计文件,如果界面设计文件布局相同,则不需要使用多份界面设计文件,共享同一份界面设计文件,放在Base.lproj中,只需要国际化图片和资源即可

应用程序名称国际化

图片国际化

文本国际化

版权声明:本文为博主原创文章,未经博主允许不得转载。

SmartGwt I18N 国际化/本地化

  • 2010年05月07日 12:38
  • 13.37MB
  • 下载

i18n和i10n:国际化&本地化--gettext

[正文] froward 软件编写和文档通常使用英文,这便于世界各地的程序员交流,但是并非所有用户都懂英文,所以程序能显示为用户的母语,能使软件用户群更大,且方便了普通...

asp.net MVC3多语言版,国际化,本地化

  • 2012年12月25日 21:16
  • 1.37MB
  • 下载

iOS设置App的名称和简单的版本国际化与本地化

App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名字。好的习惯是工程建立时使用英文(pinyin),那么App也就是“英文”名字了,虽然Xco...

iOS 本地化国际化 demo

  • 2017年11月02日 18:51
  • 101.9MB
  • 下载

IOS7 本地化(国际化)

一、程序名国际化 1、首先添加应用对多语言支持的国际化文件 点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizat...

Linux本地化及国际化编程

  • 2014年01月15日 17:56
  • 139KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:国际化 本地化
举报原因:
原因补充:

(最多只允许输入30个字)