• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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 里面已经添加了对应的翻译条目

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


七、结

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
iOS学习笔记46-Swift(六)扩展发布时间:2022-07-13
下一篇:
swift学习-tableView自适应高度1(xibautoLayout)发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap