美文网首页
iOS国际化和本地化

iOS国际化和本地化

作者: 谢谢生活 | 来源:发表于2016-05-22 00:31 被阅读284次

在项目里的PROJECT Info的Localizations里添加你要支持的语言。

app本地支持的本地语言组

创建本地化(国际化)文件

  • 注意如果要创建国际化App名称的文件则文件名必须是:InfoPlist.strings同时支持简体中文的文件里必须写
    CFBundleDisplayName="国际化和本地化";支持英语文件里必须写CFBundleDisplayName="LocalizedDemo";
  • NSString *string1 = NSLocalizedString(@"hao", nil);当第二个参数时nil时默认读取的是Localizable.strings文件里面的hao的value值
  • NSLocalizedStringFromTable(@"one", @"my", nil);当table为nil时读取的是MainBundlemy.strings文件里的one 的value值。

设置本地化和国际化文件支持的语言。

  • 选中.strings文件,点击左边Make Localized按钮。会出现如下
  • 会出现如下 点击Localized
  • 再在出现如下 选中你要支持的语言

.strings文件里写入国际化和本地化语言的key 和 value 值。

  • 1 2 3 文件中分别写入key对应不同语言的value值。格式如下:

  • 简体中文

"ni%@" = "你%@";
hao = "好";
  • 英文
"ni%@" = "you %@";
hao = "hello";
  • 其中常量字符串hao可以不用" "包含在内,而变量字符串必须用" "包含在内

在要使用本地化和国际化语言文本是时。如下图:

本地化和国际化图片,有两种方式:

  • 在不同语言的Localizable.strings中指定不同的图片名称,通过NSLocalizedString()获取不同的图片名称后进行显示不同的图片(这个就是通过国际化文字那个)
  • 参照国际化应用名和文字的方式给图片标记两种不同的语言显示 (但将图片放Images.xcassets中时时似乎没有地方可以选择国际化语言的)

编辑模拟器语言,测试是否支持多语言。

  • 第一步 点击截图 选择Edit Scheme

*第二部 设置语言

真机测试(一切以真机测试为准)

支持语言各种情况分类

手机支持的本地化语言组(手机正在使用的语言排最高) app本地支持的本地语言组 app当前的本地语言(不在app本地支持的本地语言组中就没有卵用)

真机具体测试情况

  • 当app当前的本地语言在app本地支持的本地语言组时显示app当前的本地语言。
  • 当app当前的本地语言不在app本地支持的本地语言组且手机支持的本地化语言组与app本地支持的本地语言组无交集时显示英语。
  • 当app当前的本地语言不在app本地支持的本地语言组且手机支持的本地化语言组与app本地支持的本地语言组有交集时显示手机支持的本地化语言组中优先级较高的。

补充添加,Localization native development 好像没有什么卵用,app显示的是app本地支持语言和手机支持语言交集中优先级高的,若没有交集显示的是英语。

参考网址:

相关文章

网友评论

      本文标题:iOS国际化和本地化

      本文链接:https://www.haomeiwen.com/subject/kmjorttx.html