Firefox 的源码采用的swift 2.3来进行开发的,实际测试的时候发现,Firefox 5.x版本使用xcode7 进行编译是十分顺利的,使用xcode 8编译不太顺利,也不太想折腾,后续开发以Firefox 6 beta 4为基础来进行开发。
Firefox源代码结构还是非常清楚的,Client分组下面,是Firefox浏览器的核心源码,Firefox模块化做的非常好,通过不同的targets来进行封装,好处是结构清晰,比较不方便的地方是,xcode 8 自身bug太多,导致修改部分源码,编译的时候会出各种各样的错误。
首先来看Firefox 的多语言支持,Firefox支持的语言十分广泛,包括简体中文,繁体中文,韩文等均可支持。
首先是infoplist.strings文件,这个里面有众多的语言包支持。
以及其他的strings文件
通过Localizable.strings文件来实现多语言版本,无疑是一种简单的方式。
那么Firefox的源码中是如何读取各字段的值呢?
其实非常简单,用NSLocalizeString来读取就可以了。