重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
iOS7以下版本的国际化方法
创新互联建站专注于北流网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供北流营销型网站建设,北流网站制作、北流网页设计、北流网站官网定制、微信小程序服务,打造北流网络公司原创品牌,更为您提供北流网站排名全网营销落地服务。
创建一个Localizable.strings文件
code中用字符串的地方使用NSLocalizedString,这与系统语言相关
时间显示,数字,金融与地区相关,所以需要各类NSFormater, 如NSDateFormatter, NSNumberFormatter …
用命令将所有NSLocalizedString返回的字符串格式化到Localizable.strings里。命令行进入工程目录(我的工程名是LocalizationTest),运行下面命令:
find ./ -name "*.m" -print0 | xargs -0 genstrings -o LocalizationTest/en.lproj
其中LocalizationTest/en.lproj根据自己的目录修改
签SSL证书问题,你可要到沃通CA申请一张免费SSL证书来使用。
Keychain Services 是 OS X 和 iOS 都提供一种安全地存储敏感信息的工具,比如,存储用户ID,密码,和证书等。存储这些信息可以免除用户重复输入用户名和密码的过程。Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。简单说来,Keychain 就是一个安全容器。
Keychain 可以包含任意数量的 keychain item。每一个 keychain item 包含数据和一组属性。对于一个需要保护的 keychain item,比如密码或者私钥(用于加密或者解密的string字节)数据是加密的,会被 keychain 保护起来的;对于无需保护的 keychain item,例如,证书,数据未被加密。
跟keychain item有关系的取决于item的类型;应用程序中最常用的是网络密码(Internet passwrods)和普通的密码。正如你所想的,网络密码像安全域(security domain)、协议、和路径等一些属性。在OSX中,当keychain被锁的时候加密的item没办法访问,如果你想要该问被锁的item,就会弹出一个对话框,需要你输入对应keychain的密码。当然,未有密码的keychain你可以随时访问。但在iOS中,你只可以访问你自已的keychain items;
item可以指定为以下的类型:
1、设置信息的保密程度
2、kSecClass 的可选value
KeychainUtil.h
KeychainUtil.m
IOS6完美越狱工具下载: vasi0n(windows版本)(xp、vista、win7等操作系统下使用) 注意事项: 1、本教程只针对IOS6.0/6.0.1/6.0.2/6.1版本(查看固件版本:设置—通用—关于本机) 2、越狱有风险,建议先用iTunes备份好重要的数据。连接设备到i...
APP语言本地化,即语言国际化。指的是根据用户操作系统的语言设置,自动将APP的语言设置为和操作系统一致的语言环境。开发过程中包括以下本地化设置:
注:如果勾选Use Base Internationalization,则如果未特别设置本地化语言,就使用Base选项配置。
应用名称本地化,是指同一个App的名称,在手机不同的语言环境下显示不同的名称。比如,微信在简体中文环境下App名称显示为“ 微信 ”,在英语环境下显示为“ weChat ”。
注:以前本地化App名称,需要在Info.plist文件中增加一个名为“Application has localized display name”的BOOL类型的Key,并且需要将其值设置为YES,目的是让App支持本地化App名称。现在这个已经不需要配置了
指的是App内的字符串文字在不同的系统语言环境下显示不同的内容,例如“主页”在简体中文的语言环境下显示“ 主页 ”,在英语环境下显示“ home ”,下面简单介绍下如何设置本地化。
图片本地化现在有两种设置方式。
3分钟实现iOS语言本地化/国际化
iOS 本地化(IB篇)
App Store介绍页中显示的语言列表如何设置
1、本地化xib文件
在XCode中点击LocalizedDemo项目文件—PROJECT栏—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一项。
点击Localization下面的加号(+)按钮,会弹出一个本地化语言列表,选择需要增加的本地化语言,比如我选Chinese(zh-Hans),这个是简体中文,然后会弹出一个对话框,里面包括需要本地化为简体中文的资源,本工程中有ViewController.xib和InfoPlist.strings,点击Finish。
工程中的ViewController.xib和InfoPlist.strings文件旁就有一个可以展开的三角形了,展开可以看到他们有两个子项:English和Chinese,English资源位于工程目录的en.lproj文件夹中,Chinese资源位于工程目录的zh-Hans.lproj文件夹中。
这样就完成了xib的本地化。
当iOS设备当前语言是English时,会调用ViewController.xib(English),
当iOS设备当前语言是中文简体时,会调用ViewController.xib(Chinese)。
其他语言xib的本地化类似。
这种方式在于能够迅速的处理多语言本地化,可以根据不同语言的文本长度直接在xib中调整控件大小,但如果需要本地化的语言种类非常多,项目中xib文件也很多,那么项目中就充斥着太多太多的xib资源文件,感觉非常不好。
2、本地化图像
在步骤1中不同的本地化xib文件中的UIImageView选用不同的图片就能完成图片的本地化。
3、本地化应用程序显示名称
在步骤1中的不同本地化InfoPlist.strings文件中设置:
CFBundleDisplayName = "APPNAME";
"APPNAME"改成想要显示的本地化名字即可完成应用程序名称的本地化。
4、本地化字符串
假设在ViewController.xib有一个UILabel,将其文本赋值如下:
label.text = NSLocalizedString(@”Hello, World”, @”The test label”);
启动/Application/Utilities/Terminal.app,cd到LocalizedDemo目录,执行如下指令:
genstrings ./LocalizedDemo/*.m
命令执行完后将在项目工程目录下生成一个名为Localizable.strings的新文件,将其导入到工程中。
在Xcode中选中Localizable.strings,选择XCode菜单—View—Utilities—Show Utilities,选择Localization,选择需要本地化的语言,即可完成。
这样,在Localizable.strings可以看到一个能展开的三角形,展开后能看到所有已经本地化的语言。
需要注意的是,还要对Localizable.strings对应的本地化语言做修改,因为它默认是会以某一个语言为模板复制的。比如,中文本地化默认如果以English为模板,英文本地化字符内容为:
/* The test label */
"Hello, World" = "Hello, World";
那么中文本地化初始化值也是:
/* The test label */
"Hello, World" = "Hello, World";
需要将中文等号后面的修改:
/* The test label */
"Hello, World" = "你好,世界";
注意等号前面的字符串是本地化字符的key,不能随意修改,若修改了它,需要重新生成本地化字符串文件。
1、本地化xib文件 在XCode中点击LocalizedDemo项目文件—PROJECT栏—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一项。 点击Localization下面的加号(+)按钮,会弹出一个本地化语言列表,选择需要增加的本地化语言,比如我选Chinese(zh-Hans),这个是简体中文,然后会弹出一个对话框,里面包括需要本地化为简体中文的资源,本工程中有ViewController.xib和InfoPlist.strings,点击Finish。 工程中的ViewController.xib和InfoPlist.strings文件旁就有一个可以的三角形了,可以看到他们有两个子项:English和Chinese,English资源位于工程目录的en.lproj文件夹中,Chinese资源位于工程目录的zh-Hans.lproj文件夹中。 这样就完成了xib的本地化。 当iOS设备当前语言是English时,会调用ViewController.xib(English), 当iOS设备当前语言是中文简体时,会调用ViewController.xib(Chinese)。 其他语言xib的本地化类似。 这种方式在于能够迅速的处理多语言本地化,可以根据不同语言的文本长度直接在xib中调整控件大小,但如果需要本地化的语言种类非常多,项目中xib文件也很多,那么项目中就充斥着太多太多的xib资源文件,感觉非常不好。2、本地化图像 在步骤1中不同的本地化xib文件中的UIImageView选用不同的图片就能完成图片的本地化。3、本地化应用程序显示名称 在步骤1中的不同本地化InfoPlist.strings文件中设置: CFBundleDisplayName = "APPNAME"; "APPNAME"改成想要显示的本地化名字即可完成应用程序名称的本地化。4、本地化字符串 假设在ViewController.xib有一个UILabel,将其文本赋值如下: label.text = NSLocalizedString(@”Hello, World”, @”The test label”);启动/Application/Utilities/Terminal.app,cd到LocalizedDemo目录,执行如下指令: genstrings ./LocalizedDemo/*.m 命令执行完后将在项目工程目录下生成一个名为Localizable.strings的新文件,将其导入到工程中。 在Xcode中选中Localizable.strings,选择XCode菜单—View—Utilities—Show Utilities,选择Localization,选择需要本地化的语言,即可完成。 这样,在Localizable.strings可以看到一个能的三角形,后能看到所有已经本地化的语言。 需要注意的是,还要对Localizable.strings对应的本地化语言做修改,因为它默认是会以某一个语言为模板复制的。比如,中文本地化默认如果以English为模板,英文本地化字符内容为: /* The test label */ "Hello, World" = "Hello, World"; 那么中文本地化初始化值也是: /* The test label */ "Hello, World" = "Hello, World"; 需要将中文等号后面的修改: /* The test label */ "Hello, World" = "你好,世界"; 注意等号前面的字符串是本地化字符的key,不能随意修改,若修改了它,需要重新生成本地化字符串文件。