美文网首页
iOS 语言本地化

iOS 语言本地化

作者: 牛程程 | 来源:发表于2018-02-28 21:42 被阅读0次
App 本地化,又称国际化,是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言。也可以手动设置。

·

1.配置项目中可以本地化的语言。
2.应用名称本地化。
3.项目代码中的字符串本地化。

·

配置项目中可以本地化的语言。

项目 - PROJECT - info -> Localizations,点“+”,选择(Chinese(Simplified))添加简体中文,(Chinese(Traditional))添加繁体中文,英文Xcode自带有(English),所以不需要再次添加。


pic1.png

选择Finish即可。


pic2.png
·

应用名称本地化。

添加配置文件。在Supporting Files文件夹下,New File -> Strings File。


pic3.png

创建的.strings文件必须命名为InfoPlist。


pic4.png
在项目文件夹下,新增了InfoPlist.strings文件。
pic6.png 选中InfoPlist.strings,在Xcode的File inspection(Xcode右侧文件检查器)中点击Localize,选择需要本地化的语言。 pic5.png

点击Localize后,会弹出一个对话框,然后展开对话框列表。选择需要本地化的一个语言,然后点击对话框的Localize按钮。


pic7.png
Xcode右侧的File inspection变成了下图的样式。
勾选Chinese(Simple)、English。
pic8.png

Xcode左侧的InfoPlist.stirings左侧多了一个箭头,点击箭头可以展开。


pic9.png
注:程序启动时,会根据操作系统设置的语言,自动加载InfoPlist.strings文件下对应的语言文件,显示应用程序的名字。
分别在三个文件中,添加不同语言的情况下,应用的名称。
CFBundleDisplayName = "Localizable App Name";
CFBundleDisplayName = "测试";
.
CFBundleDisplayName = "測試";
.
CFBundleDisplayName = "Test";

本地化App的应用名称效果如下:


pic10-1.png pic10-2.png pic10-3.png

·

项目代码中的字符串本地化。

字符串本地化,就是指App内的字符串在不同的语言环境下显示不同的内容。比如,"主页"在中文语言环境下显示“主页”,在英语环境下显示“Home”。
添加配置文件。在Supporting Files文件夹下,New File -> Strings File。
创建的.strings文件必须命名为Localizable。


pic11.png

剩余步骤同上。在打开Localizable.strings文件,在Xcode的File inspection(Xcode右侧文件检查器)中点击Localize,选择需要本地化的语言。勾选没有选中的本地化语言。
Xcode右侧的File inspection变成了下图的样式。


pic12.png

接下来就是在代码中,把字符串本地化,苹果提供了本地化的函数。

#define NSLocalizedString(key, comment) \
        [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:nil]

部分实现代码如下:

//中文
"Master" = "首页";
"SpecialUserActionDanmu" = "特殊用户弹幕";
"YZHeartView" = "心视图";
"YZDanmuView" = "弹幕视图";
"commentView" = "评论视图";
"AllDemoTogether" = "全部特效";
//繁体中文
"Master" = "首頁";
"SpecialUserActionDanmu" = "特殊用戶彈幕";
"YZHeartView" = "心視圖";
"YZDanmuView" = "彈幕視圖";
"commentView" = "評論視圖";
"AllDemoTogether" = "全部效果";
//英文
"Master" = "Center";
"SpecialUserActionDanmu" = "SpecialUser";
"YZHeartView" = "Heart";
"YZDanmuView" = "Danmu";
"commentView" = "Comment";
"AllDemoTogether" = "Together";

//
NSLocalizedString(@"Master", nil)

实现效果如下:


pic13-1.png pic13-2.png pic13-3.png

相关文章

  • iOS 多国语言本地化与App内语言切换(Swift)

    iOS 多国语言本地化与App内语言切换(Swift) iOS 多国语言本地化与App内语言切换(Swift)

  • iOS语言本地化/国际化(图文详解)

    3分钟实现iOS语言本地化/国际化(图文详解)前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自...

  • iOS 本地化入门教程

    iOS 本地化入门教程 iOS应用的本地化原理非常简单,是通过strings类型的文件,为同一种语言的不同翻译设置...

  • iOS工程的本地化-Swift

    应用如果需要根据设备语言显示不同的语言,就需要进行本地化的工作。就iOS工程而言,需要本地化的内容主要有:文字、图...

  • ♦️ iOS 名称及内容本地化

    好坑呀找了许久的名称本地化真难找,这里就介绍下应用名称和内容本地化 一.iOS名称本地化(根据系统语言修改App的...

  • iOS语言本地化

    Brief### iOS实现语言的本地化很简单,这里只是为了简单的记录一下过程。 一、本地化storyboard上...

  • 本地化

    今天做不如修仙的本地化,看到这篇文章很详细3分钟实现iOS语言本地化/国际化,评论区还有应用内切换语言的方法,修改...

  • 【技术文章收集】收集

    3分钟实现iOS语言本地化/国际化(图文详解) Apple Watch App开发基础 crash iOS Cra...

  • IOS 多语言本地化 完美解决方案【自动+手动】

    多语言本地化,是我们在做IOS项目的时候经常用的,下面根据自己的经验和使用场景,来全面的说说多语言本地化的解决方案...

  • IOS 多语言本地化 完美解决方案【自动+手动】

    多语言本地化,是我们在做IOS项目的时候经常用的,下面根据自己的经验和使用场景,来全面的说说多语言本地化的解决方案...

网友评论

      本文标题:iOS 语言本地化

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