火狐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來讀取就可以了。
相關推薦
火狐Firefox ios版本二次開發 (三) 原始碼分析
Firefox 的原始碼採用的swift 2.3來進行開發的,實際測試的時候發現,Firefox 5.x版本使用xcode7 進行編譯是十分順利的,使用xcode 8編譯不太順利,也不太想折騰,後續開發以Firefox 6 beta 4為基礎來進行開發。 Fi
學習 MeteoInfo二次開發教程(三)
開發教程 cnblogs false raw class .dll dll inf legend 1.breakList的問題 ((PolygonBreak) aLS.breakList[0]).DrawFill=false; 新的類庫將LegendScheme的brea
Revit二次開發——如何搭建多版本的框架,方便程式設計
Revit基本兩年一大變。所以在做開發的時候需要做多個版本的才行。但是每個版本做一個專案又很不方便,因為很多程式碼類似,改了前面忘了後面的版本,所以很頭疼,最好能夠幾個版本共用一個類,不同版本通過預編譯來解決。這裡只說怎麼解決多版本共用一個類
移動端車牌識別技術,基於Android、iOS平臺,可進行二次開發
目前,我國警務通、停車場手持收費機等移動終端的使用比較普及,如果在這些終端上能夠整合車牌識別功能,對於維護交通安全和城市治安,實現交通自動化管理有著現實的意義。現在出現一款基於移動終端平臺的移動端車牌識別SDK,可方便的植入到警務通、手持收費機、掌上電腦、手機等
三、Sketchup用ruby進行二次開發--實體類和構件圖類
實體類是所有可畫圖形的子類,如下圖所示。實體類的主要子類是構件圖類,構件圖類是我們今後重點學習的類,包括Image、Text、Edge、Face、Group、Component Definition和Component Instance。下面對這兩個類做簡要說明。
Revit二次開發之技能篇(三)———窗體的實現
在Revit中很多時候,都需要使用者輸入相關的資料,然後再進行程式的執行。在Revit中如何實現窗體呢?請看以下程式碼: ParkingForm frmDlg = new ParkingForm(); frmDlg.ShowDia
autocad.net二次開發中visualstudio版本問題
Overview of Microsoft Visual Studio Microsoft Visual Studio概述 Microsoft Visual Studio is an object-oriented programming environment that
OpenStack(kilo)介面dashboard的二次開發(三)-增加Dashboard
前面的博文已經完成了panel與panelgroup的自定義增加,這篇博文將對Dashboard(一級選單)的增加進行一個簡單總結。 增加Dashboard(一級選單) 首先進入/usr/share/openstack-dashbaord/open
Metabase二次開發編譯環境搭建(之三---編譯原始碼)
本文講解的是使用自己搭建的編譯環境編譯從官網上下載的Metabase原始碼。一、將下載的原始碼上傳到linux系統的opt目錄下,進入opt目錄,進行解壓。cd /opt unzip metabase-mester.zip二、編譯程式碼 1、編譯前
Revit二次開發第三回:模型線的建立與偏移
對於模型線ModelCurve的偏移,研究了好幾天,終於搞定。先稍微談下自己中間遇到的情況。 1.首先,API中並沒有提供直接的方法對ModelCurve進行偏移; 2.考慮到模型線的建立,需要用到引數Curve,因此想到了對先Curve進行偏移,API提供了相應的方法:
dedecms二次開發:dedetemplate.class.php 動態模板類
filename 外部 運行 mpi public esc val net color dedecms二次開發目錄點這個:dedecms二次開發教程目錄 核心類文件 include/dedetemplate.class.php 用途:用於非核心模塊的動態頁面或列表頁的模板解
VB.Net實現下CATIA二次開發方法
ror 點擊 doc struct cat inf 定義 then ports 源自網絡。 在visual studio(vb,c#,c++)下使用CATIA進行二次開發有如下特點: -->需要引用CATIA的對象庫 -->需要對象聲明(visua
呼叫中心系統OA二次開發
清單 二次開發 工作 註意 分辨率 傳真 新增 歷史 有效 1. 既有修改 分辨率顯示自適應調整 工作流數據調整 2. 呼叫中心 語音電話 l 新建任務 字段:任務主題、語音主題、提
(6)微信二次開發 之 微信文本消息接口實現
微信 odin link 消息處理 nal puts 算法 帳號 接口實現 p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin:
學習 MeteoInfo二次開發教程(一)
mat 沒有 組件 資源管理 img 教程 layer 添加 bbs 來自氣象家園:http://bbs.06climate.com/forum.php?mod=viewthread&tid=6631 按照教程,沒有太大問題,有些是對c#操作不熟悉導致。 1.添加d
學習 MeteoInfo二次開發教程(四)
手動添加 map dem itl 數控 nas 字號 south title 教程四的問題不大。 1.private void AddMapFrame_ChinaSouthSea()、private void AddTitle()兩個函數和public Form1()函數並
Revit二次開發--Hello World
man dem users att try encoding cli 引用 類庫 部署完開發環境,就要進行每次學習新的技能,必寫的Hello World。 1、打開VS開發環境,新建一個項目類庫RevitDemo。 2、修改Class1名稱為Command。 3、在引
GTS-800二次開發基本流程總結
win highlight line names 關閉 參數 ble 名稱 速度 1、打開控制器 GT_Open 2、啟動伺服使能 GT_ClrSts 3、軸規劃位置清零 GT_SetPrfPos 4、軸運動模式
AE二次開發,解決子窗體使用父窗體的AxControl控件
控件 con pri apc sha item object new end 在子窗體寫構造函數,然後再在父窗體按鈕點擊事件下寫 public frmIDW(AxMapControl axMapControl1) { Initia
學習MeteoInfo二次開發教程(十二)
odi 資源 level 無法訪問 .cn oid pub images bsp 1.添加新的Form窗體: 在解決方案資源管理器中,右鍵MeteoInfoDemo,“添加”,“Windows 窗體” 2.新窗體中添加好layersLegend1和Layout之後,要把la