We Are SwiftGG
2014 年 6 月 3 日,Swift 言语发布正式发布。9 天后,SwiftGG 翻译组翻译的《The Swift Programming Language》中文版也带着我国开发者的热忱在 Github 上正式发布。
眨眼间,9 年过去了,SwiftGG 翻译组仍然在持续维护这份文档,期间,有 230+ 名社区成员参加过这个项目,平均每周都会有 1-2 个 commit 被提交以协助这个项目坚持生机。这本教程也从 1.0 版别走到了现在的 5.8 版别。得益于我国各位热心于 Swift 言语工作的开发者的协助,这共计 71W+ 的文字,带来的不仅有 GitHub 上 2W + 的 Star 数量,还有 Swift 官网的正式引荐!
最开始,咱们建议这个项目的初衷十分简单——期望协助更多的我国开发者学习这门言语,现在看来,它现已达到了咱们的方针——在这些年与社区开发者的沟经过程中,咱们发现很多人都是经过这本电子书完结了 Swift 言语的入门,这让咱们感到十分的骄傲和骄傲。
虽然取得了这些成绩,咱们仍是在考虑一个问题:怎么进一步协助 Apple 生态内的开发者更好的学习新技能?
咱们发现的问题
Apple 这几年在开发者体会上做了很多改善,比方全新 Session 的出现方法,堪比教科书内容的 Activities(原先叫做 Digital Lounge),还有全新版别的文档中心,都让咱们觉得 Apple 变得愈加亲热了,不过在咱们的调查与交流中发现,关于大部分我国开发者而言,英语仍然是学习新技能的门槛之一。
那么咱们应当怎么去更好的协助他们呢?当然,如果坚持传统的形式,即一个英文网站对应一个中文网站,或者一个英文文档对应一个中文文档,好像也能解决问题,但咱们以为它并不高雅,为什么这么说?
- 关于一个英文网站对应一个中文网站的形式,咱们以为这种阅览体会是十分糟糕的,不光是要在两个网页间络绎游走,而且如果维护者没有声明更新日期的话,你极有或许读到最后才发现这份中文文档现已过期很久了,除了这些状况,关于维护者而言也十分麻烦,尤其在后期,把中文网站做的跟英文网站如出一辙就会成为一个很重要的课题,这会占用十分多的时间,乃至超过校正技能内容本身的时间,十分低效。
- 关于一个英文文档对应一个中文文档的形式,咱们相同以为它的体会相同不行高雅,除了前面说到的种种问题,这种分布式的文档传播方法,让读者很难感知当前的版别是否有更新,乃至这些文档会被一些渠道进行篡改,从而误导用户,再加上近些年 Apple 推出的交互式教程,例如 SwiftUI 的三个入门教程,这种内容很难用纯静态文档进行出现,这也会让此种形式的学习体会会进一步变差。
所以在有了这些考虑后,咱们打算跳出现有的形式,用一种更高雅的方法来协助开发者打破言语的妨碍,学习新的技能!
咱们想到的解决方案
Twine by SwiftGG 是咱们提出的一套全新的,可拓宽的,不以英语为母语的,让开发者能够更高雅的学习 Apple 相关技能的解决方案。
macOS Safari 版别
iOS Safari 版别
在介绍这个方案前,咱们先说说这个方案的由来!
大概在几个月前,翻译组内部进行了一次关于怎么高效学习 Apple 技能文档的评论,轻舟说到了一个叫做《沉溺式翻译》(英文名叫做:immersive translate)的浏览器插件,让咱们能够试试,果不其然,在试用了这款插件以后,咱们都觉得双语展示的作用十分惊艳,阅览体会直接拉满,不过虽然这款插件支撑了 OpenAI,DeepL,Google Translate 等翻译东西,但它在 Apple 技能文档的这个笔直领域内,出现的作用仍是不行通俗易懂,常常会出现显着的错误。
但咱们以为翻译出来的内容不达标并不是这个东西本身的问题,而是受限于这些翻译东西本身的才干所限,抛开这些翻译内容,咱们都觉得这款东西的解决思路是十分值得借鉴的,所以我在第一时间就联系了沉溺式翻译的作者 Owen,并在 Telegram 上跟他深化的交流了好几回。
也正是根据这几回的交流,咱们才有了 Twine by SwiftGG 的方向,这儿十分感谢 Owen 对咱们项目的支撑和协助,乃至 Owen 还提出过把《沉溺式翻译》的源代码无偿开源给咱们,真的十分感谢他对咱们社区工作的支撑!
终究咱们并没有直接选用 Owen 的代码,一方面是想表达对 Owen 的尊重,另一方面也是考虑到《沉溺式翻译》在未来商业化的或许性,但不管怎样,咱们仍是真心的感谢 Owen 老师,也预祝他提前财富自在!
好了,咱们来说说 Twine by SwiftGG 的方案到底有什么不同?
比较于其他的解决方案,咱们以为 Twine by SwiftGG 是一个根据浏览器插件的东西,以社区提供的本地化内容为根底,能够辨认 Apple 文档中的英文内容进行双语翻译,从而协助开发者完结学习任务。
它的整个核心流程如下:
流程图
这个方案不仅保留了沉溺式翻译里的用户体会,还融入了社区的力气,能让更多的人参加进来,这也意味着社区的力气会产生更多的言语版别,更高效的迭代速度和更有意思的交流与交流。
现在你能够在 Safari 和 Chrome 里下载这款浏览器插件 Twine by SwiftGG
- iOS Safari 插件地址:apps.apple.com/cn/app/twin…
- macOS Safari 插件地址:apps.apple.com/cn/app/twin…
- Chrome 插件地址:chrome.google.com/webstore/de…
现在咱们支撑了三个互动式的教育文档,它们分别是:
- SwiftUI Tutorials:developer.apple.com/tutorials/s…
- SwiftUI Concepts Tutorials:developer.apple.com/tutorials/s…
- Sample Apps Tutorials:developer.apple.com/tutorials/s…
咱们的野心
或许你会问,为什么只支撑 3 个 SwiftUI 的教育文档呢?你们还有更大的主意么?
咱们以为在未来,SwiftUI 会是 Apple 生态内十分重要的一项技能,它需要尽快被遍及起来,所以在项目初期,咱们就选定了 SwiftUI 的三个互动教程作为 Twine by SwiftGG 的试点内容,但咱们的野心远不止这些!
咱们想协助更多不同言语的开发者,学习更多的 Apple 技能文档!
咱们当然以为 Twine by SwiftGG 还能够做的更好,尤其在今年参加完在 Apple 总部的交流会后,咱们以为 SwiftGG 应该承当更多的责任,把视野放的更大,更远,更高,为整个 Apple 生态做出更多的贡献,协助更多的人来了解这个渠道,所以当下,咱们的方针有三个:
- 支撑更多的言语: 因为前期的分离式设计,所以 Twine by SwiftGG 能够很简单的完结对其他言语的支撑和扩展,比方日语,韩语等其他言语,作为内容贡献者,不需要关心建造网站,排版款式,分发渠道等,只需要关心教育内容本身即可。
- 支撑更多的技能文档: Twine by SwiftGG 这种直接根据浏览器的方法,能够很便利的完结对其他教育文档的兼容,还能坚持良好的用户体会。比方近期 Apple 官网关于 visionOS 的学习页面。
- 更高效的利用社区才干建造开发者生态:因为翻译内容彻底开源且由技能社区进行驱动,避免了重复造轮子,还有凭空捏造的状况,经过这种齐心协力的方法,能够更好的建造 Apple 的开发者生态,让更多的人以一种更低的门槛学习技能,享受技能。
不过再大的野心,再好的方针,只要付诸行动才干实现,SwiftGG 翻译组里的小伙伴现已迈出了第一步,那么后边的路又该怎么走呢?
参加咱们的项目
现在,Twine by SwiftGG 是一个彻底开源的项目,由 3 个库房构成,他们分别是
- 浏览器插件库房:github.com/SwiftGGTeam…
- 数据后台库房:github.com/SwiftGGTeam…
- 本地化文件库:github.com/SwiftGGTeam…
下一阶段,咱们要做的工作有:
- 浏览器插件方面
-
- 支撑多言语,例如日语,韩语等
- 数据后台库房:
-
- 运用 vapor (一款运用 Swift 言语的后端结构)对后台进行重构
- 优化网页里英文内容的匹配规矩,支撑更多的页面,例如 visionOS 等内容
- 本地化文件库
-
- 提供更多学习材料的本地化文档
- 优化翻译文档的格式和内容编辑体会
说了这么多,你或许也发现了,咱们要做的工作还有很多,同时跟着 visionOS 和 Apple Vision Pro 的发布,归于 Swifter 的春天又来了。不管你有没有经历过 2016 年 Swift 言语在国内社区的火热场景,咱们都想诚挚地邀请你加入到 2023 年归于 Swift 言语的新时代。你能够从上面任意一个库房开始,用你的一行行代码或者文字,为国内 Swift 开发者生态的繁荣添砖加瓦。
咱们相信,一个人或许走得很快,但只要一群人才干走得更远,所以让咱们一同
Make Apple DeveloperEcosystemGreat Again!