Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String

本地化主要包含两个部分:代码中文本的本地化StoryBoard 中文本的本地化
iOSmacOS 是一样的
这里只介绍 StoryBoard 的本地化,代码中文本的本地化 请参阅这篇文章的前半部分,懒得说了

Internationalizing Your iOS App: Getting Started

前言:StoryBoard 的本地化分为两种方式

一种是基于一个 StoryBoard 文件,摘取其中的字符串生成不同语言的 .string 文件,来实现多语言支持
一种是基于多个 StoryBoard 文件,每个语言都对应一个文件,这样做很麻烦,只要改一处就需要改多个文件

所以我们只说基于多个 .string 文件的本地化操作

一、项目概览

有这样一个项目,结构是这样的,目前没有实现多语言支持,也就是本文中所谓的 本地化 Localization,这些词都是一个意思。

二、给项目添加多语言支持

点击左侧项目,选择 [Project] 点选该项目,切到 [Info] 标签,点击下面的 [Localizations] 添加你需要支持的语言,如图:

此时点选左侧项目栏中的 main.storyboard 文件,会看到右侧会有多种语言支持,点选你需要支持的语言。
再点开 main.storyboard 右侧的箭头时会看到下面多出两个文件 Main.string(English) Main.string(Chinese_Simple),这里面就包含了该 storybaord 文件中所有的字符串。
如图:

其实你还可以看到 Localization.string 文件下面也有两个语言文件,这个是用于程序代码中使用的字符串,具体查看开篇提到的那个教程文章

三、翻译对应的文本

打开上面生成的文件,会看到如下的内容,进行翻译即可

四、编译调试不同语言下的呈现状态

我们完成了多语言支持,那么如何调试呢? xcode 有相应的功能,来设置调试时的系统语言来,来实现调试应用在不同语言状态下的状态。

[点击项目名] 选择 [Edit Schema]

然后 [Run] - [Info] - [Language] 选择语言即可,这样再运行,就会显示对应语言的状态了


五、效果

以下是我这个应用在实现多语言支持后的效果: 中文英文

六、重要:修改 StoryBoard 之后如何添加新词

前面做的已经很好,但如果你修改了 StoryBoard ,添加或删除了部分字符串后,如何修改呢?
对应的 .string 中的字符串并不会跟着变,新加的字符串也不会自己出现在 .string 文件中。

此时我们就需要手动进行一下一系列操作,来把新的字符串添加到对应的语言中,让我们开始:

1. 导出最新版的字符串

点击 项目名,选择 [Editor] 菜单中的 [Export for Localization] 即可将当前 StroyBoardInfo.plist 对应的字符串都导出,然后选择保存位置

2. 修改对应的翻译文件

打开导出的文件夹看到如下结构,主要是修改其中的 xxx.xcloc/Localized Contents/xxx.xliff 文件,里面包含所有需要翻译的字符串

打开看一下

里面 <source> 标签中的文本是原文本, <target> 中的文本是翻译后的文本


对于新添加的一些东西,是没有<target> 这个标签的,需要手动添加内容

为了方便查找哪些没有翻译,Command + F 搜索正则 </source>\n *<note>,就可以很容易定位到没有翻译的地方了,添加相应内容即可

3. 导入修改后的翻译文件

点击 项目名,选择 [Editor] 菜单中的 [Import Localization],选择你刚才修改的文件目录即可导入

导入后会看到 .string 里面已经添加了对应的翻译条目

如果有些内容没有翻译,它会提示你哪些没有被翻译,以如下的方式展示,再根据指示回去修改即可


七、结

截图累死我了,不留下个赞就走,不太合适吧

Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String相关推荐

  1. nitro库_Nitro的故事,专业的翻译服务,可帮助开发人员进行本地化和多语言支持...

    nitro库 Localizing your product can involve many pitfalls, and there are two of them that developers ...

  2. Localization 本地化与多语言支持

    1.进入多语言支持处理 res–values–strings.xml 点击右上角的Open editor进入 随后点击左上角的小地球 选择简体中文 添加资源按左上角的+号,Chinese列是资源的转换 ...

  3. 从Java/Android到Swift iOS开发:语言与框架对比

    今天分享的主题是Java/Android开发人员如何快速上手Swift iOS开发.主要内容如下: WhyFrom Java/Android to Swift Swift语言为什么值得学习? Java ...

  4. Windows Phone 8本地化多语言支持

    原文:Windows Phone 8本地化多语言支持 在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是 ...

  5. Swift - iOS应用的国际化与本地化

    在Xcode中我们可以很方便的将APP适配各种本地化语言.苹果的框架已经帮我们把不同语言的数据分离开,包括图片,声音,视频,文档,用户界面文字(甚至代码中编写的用户界面文字),它们会被建立在同一个bu ...

  6. Android与Swift iOS开发:语言与框架对比

    Swift是现在Apple主推的语言,2014年新推出的语言,比 Scala等"新"语言还要年轻10岁.2015年秋已经开源.目前在linux上可用,最近已经支持Android N ...

  7. swift int转string_用Swift开发macOS程序,九、目录模块

    程序中跟目录模块相似的,也是通过使用Outline View组件显示内容的模块有:备注.搜索.角色.符号.字典等其它五个.设计完成本模块后将不再对其它模块进行说明,一切请查看Github上代码.目录模 ...

  8. Android Swift iOS开发:语言与框架对比

    转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...

  9. 《Swift iOS应用开发实战》——2.2 了解故事板

    本节书摘来自华章计算机<Swift iOS应用开发实战>一书中的第2章,第2.2节,作者:刘铭 著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 了 ...

最新文章

  1. 提升篇——SELINUX相关介绍
  2. 【PHP7.2+】win10安装laravel(完整版,包含运行)
  3. ROS安装并运行小乌龟
  4. python学习笔记四——数据类型
  5. windows下安装nodejs多版本管理工具nvm-windows
  6. 烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据
  7. 关闭流时,抛出异常:java.io.IOException: Stream Closed
  8. java TreeSet去重与排序入门
  9. Python爬虫入门教程21:文档的爬取
  10. matlab 求导数
  11. jq-ui的Sortable插件 两列布局 左右拖拽
  12. protocal buffer repeate 关键字
  13. Unity与UE4引擎源码内使用到的第三方库的比较
  14. STC8H8K64U单片机学习-2-后续所需软件介绍
  15. 阿里云服务器安全警告-异常网络连接-访问恶意域名
  16. java带你实现猜数字小游戏,刚入门也能看懂(超详细)
  17. 韦仕敦大学计算机科学,2020年西安大略大学有哪些优势专业
  18. iOS8 定位新增功能
  19. ipv6的127位掩码如何表示_计算机子网掩码知识举例详解
  20. 弹出表情气泡仿魔兽的技能冷效果却实现

热门文章

  1. 2023年社交平台研究报告
  2. Gym - 101350I - Mirrored String II (马拉车)
  3. 不恰当使用线程池处理 MQ 消息引起的故障
  4. 3dmax2022 导不出datasmith格式文件
  5. mysql获取上月26号_根据当前时间查询上月26号的日期 本月月25号的日期
  6. Python输入账号密码判断是否正确并输出,典型案例-百钱买百鸡的两个程序代码
  7. Win 10出现bitlocke恢复,蓝屏错误代码0x1600007e
  8. 43页大数据管理中心 规划设计方案
  9. Tomcat服务器安装和替换阿里云免费ssl证书步骤(超详细)
  10. 唯美多功能自适应个人主页源码html