1. 程式人生 > >火狐Firefox ios版本二次開發 (三) 原始碼分析

火狐Firefox ios版本二次開發 (三) 原始碼分析

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來讀取就可以了。