「Portable Firefox 使用、自訂與中文化」修訂間的差異
出自 MozTW Wiki
(→手動安裝(要事前安裝 Firefox)) |
(→本文名詞定義) |
||
行 51: | 行 51: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="background-color: #FFFFFF; ">< | + | <td style="background-color: #FFFFFF; "><span style="color: #003399"><PFx 設定檔></span></td> |
<td style="background-color: #FFFFFF; ">對於 Portable Firefox 官方版本而言,是 PortableFirefox.ini ;而對於 Portable Firefox CE 而言是 PortableFirefoxCE.ini 。</td> | <td style="background-color: #FFFFFF; ">對於 Portable Firefox 官方版本而言,是 PortableFirefox.ini ;而對於 Portable Firefox CE 而言是 PortableFirefoxCE.ini 。</td> | ||
</tr> | </tr> |
於 2006年8月25日 (五) 23:44 的修訂
內容大綱
Portable Firefox 簡介
Portable Firefox 是一個讓你能把你的 Firefox 帶著跑的程式,它的工作原理是利用 Firefox 可以用 "firefox.exe -profile 'Profile資料夾'"來指定 Firefox 所使用的 Profile ,進而能讓 Firefox 變成可攜式的 Firefox。
這個程式是由 John T. Haller 前輩使用 NSIS 撰寫的。除了上述原理,為了要讓 Firefox 能正常使用套件和佈景主題,程式碼中還有用來修補相關檔案的程式碼。但也因此產生了一些問題,請參後面的已知問題。
相關連結
Portable Firefox 下載頁 http://portableapps.com/portablefirefox
John T. Haller 前輩的網站 http://johnhaller.com/jh
某A 前輩製作的中譯版 http://forum.moztw.org/viewtopic.php?t=12716
本文名詞定義
名詞 | 說明 |
Portable Firefox | Firefox Portable 先前版本的名稱,本文沿用。 |
Portable Firefox CE | 全名為 Portable Firefox Community Edition 意思是指社群人員修改過的版本。本文中所有的 Portable Firefox CE 是指使用 http://forum.moztw.org/viewtopic.php?t=11860 為 Launcher 的 Portable Firefox 版本 |
<PFxDir> | 存放 Portable Firefox 及相關檔案的目錄 |
<FirefoxInstallDir> | 安裝版 Mozilla Firefox 的安裝路徑 |
[CE] | 僅適用 Portable Firefox CE 的說明文字 |
[Official] | 僅適用「從 PortableApps.com 取得的 Portable Firefox」的說明文字 |
Portable Firefox Launcher | 指 Portable Firefox (CE) 的啟動程式(又名前導程式)。檔名通常為 FirefoxPortable.exe 或 FirefoxPortableCE.exe |
<PFx 設定檔> | 對於 Portable Firefox 官方版本而言,是 PortableFirefox.ini ;而對於 Portable Firefox CE 而言是 PortableFirefoxCE.ini 。 |
Portable Firefox 的下載與中文化
現在要開始進入正題了。前面說了這麼多關於理論的東西,現在來實際操作吧,如果你懶得中文化的話,建議你直接下載 某A 前輩製作的中譯版。這一段是要教你如何取得英文版的 Portable Firefox。
使用 PortableApps.com 官方版本再中文化
- 請先按下下方的連結,進入 Firefox Portable 下載頁:http://portableapps.com/firefoxportable
- 然後請按下 Download Now! 下載檔案。
- 下載完畢後,請直接執行 Portable_Firefox_1.5.0.6_en-us.exe 來解壓縮
注意 請放在純英文路徑下(例如:C:\Temp\Portablefirefox),因為官方版本的 Portable Firefox 有中文路徑問題。 - 並執行 FirefoxPortable.exe 測試是否有問題
注意 作此動作之前,請先關閉你正在使用的 Firefox。 - 這時候 Portable Firefox 所開啟的 Firefox 應該是英文的
- 以下有三個中文化方法,請擇一使用
中文化方法之一,使用 Locale Switcher + Language Pack
- 到 Mozilla Addons 去安裝 Locale Switcher 擴充套件 Locale Switcher 1.5.1
- 從 http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.6/win32/xpi/ 下載 zh-TW.xpi,並且用 Portable Firefox 把他安裝好
- 重新開啟之後,到 "Tools -> Languages" 中,選擇 "Chinese (Taiwan)"
- 重新啟動 Portable Firefox
中文化方法之二,使用安裝程式中的 zh-TW.xpi
- 到這裡下載 DeveloperToolPack.zip 並且用能解 zip 格式的解壓縮軟體把他解壓縮
- 從 Locate 資料夾中,找到 PortableFirefox_zh-TW.xpi 並把他安裝起來
注意 安裝完之後,就會從 Extension 視窗中消失 - 重新開啟 Portable Firefox
中文化方法之三,使用 Language Pack
- 從 http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.6/win32/xpi/ zh-TW.xpi。
- 使用你的 Portable Firefox 安裝他
- 修改 Portable Firefox 的設定檔,在 AdditionalParameters 加上 -UILocale zh-TW -contentLocale TW
- 執行 Portable Firefox Launcher,你的 Portable Firefox 就應該是中文的了。
使用事先安裝好的 Mozilla Firefox 來中文化
- 請先按下下方的連結,進入 Firefox Portable 下載頁:http://portableapps.com/firefoxportable
- 然後請按下 Download Now! 下載檔案。
- 下載完畢後,請直接執行 Firefox_Portable_1.5.0.6_en-us.exe 來解壓縮
注意 請放在純英文路徑下(例如:C:\Temp\Portablefirefox),因為官方版本的 Portable Firefox 有中文路徑問題。 - 到 "<PFxDir>\App\firefox" 資料夾下把所有東西清空
- 到 "<PFxDir>\Data" 資料夾下刪除 profile 資料夾
- 到 "<FirefoxInstallDir>" 資料夾並複製資料夾下的所有東西
- 到 "<PFxDir>\App\firefox" 資料夾之下,將所有的檔案貼上
- 再把 "<PFxDir>\App\firefox" 資料夾之下的 plugins 資料夾剪下,到 "<PFxDir>\Data\" 資料夾下貼上,並取代全部
注意 如果你打算發佈給其他人使用,請注意是否使用了相依本地端程式的外掛(Plugins)(例如:fdm.dll 等等),如果你沒將他們從 plugins 資料夾中移除,將會使 Portable Firefox 不具可攜性;另外也請注意相關的版權問題(例如 Macromedia Flash Player 的 plugin)。預設應該只有 npnul32.dll 一個檔案 (Mozilla Default plugin) - 執行 FirefoxPortable.exe
- 開啟時,PortableFirefox 會詢問:「No profile was found. Would you like to create a new profile here?」,請回答「是」。如果不成功或是出現錯誤訊息請依照下步驟操作複製預設個人設定檔:
- 關掉 PortableFirefox
- 複製 "<PFxDir>\App\firefox\default\profile" 的內容物到 "<PFxDir>\Data\profile" 裡面。
- 如果 Portable Firefox 所開啟的 Firefox 詢問是否要設為預設瀏覽器,請回答「否」
- 做到這裡你就已經有一個簡單的中文版 Portable Firefox
備註 步驟 1~5 可以直接到 http://forum.moztw.org/viewtopic.php?t=11860 取得 1.1.4.0-stable-200605121741@release.zip
使用 Portable Firefox CE Launcher + Mozilla Firefox 安裝程式
事前準備
- 取得同時能解 zip 還有 7z 格式的解壓縮程式(強力推薦 7-zip)。
- 取得 標準 Mozilla Firefox 安裝程式,http://mozilla.com
- 到 http://forum.moztw.org/viewtopic.php?t=11860 取得 Firefox Portable CE
動工
- 將 "Firefox Setup 1.5.0.6.exe" 用能解開 7z 格式的解壓縮軟體解壓縮
- 保留附檔名為 xpi 的檔案,其餘直接刪除
- 用能解 zip 格式的解壓縮軟體,把 browser.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PFxDir>\App\firefox" 目錄底下
- 用能解 zip 格式的解壓縮軟體,把 xpcom.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PFxDir>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
- 用能解 zip 格式的解壓縮軟,把 zh-TW.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PFxDir>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
- 這樣執行 Portable Firefox Launcher 之後,應該就會有中文的 Portable Firefox
- 以下是可以選擇的項目:
- 安裝 DOM 觀察器:用能解 zip 格式的解壓縮軟體,把 adt.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PFxDir>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
- 安裝 Talkback:用能解 zip 格式的解壓縮軟體,把 talkback.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PFxDir>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
Portable Firefox 預設的資料夾架構
- <PFxDir>
這個資料夾是右圖中的 "SID" ,是整個 Portable Firefox 的根目錄 - <PFxDir>\App\DefaultData
這個資料夾是用來放置預設的「個人設定檔」資料夾、以及預設的「插件(plugins)」資料夾 - <PFxDir>\App\firefox
這個資料夾是用來放置 firefox 主程式 - <PFxDir>\Data\plugins
這個資料夾是用來放置一些額外的 Plugins - <PFxDir>\Data\profile
這個資料夾是用來放置 Firefox 的個人設定檔 - <PFxDir>\Other\FirefoxSource
這個資料夾是用來放置 Firefox 的原始碼(但是事實上只有一個指向下載網址的說明檔) - <PFxDir>\Data\FirefoxPortableSource
這個資料夾是用來放置 Portable Firefox Launcher 的原始碼 - [CE] <PFxDir>\Data\AdditionalManual
這個資料夾是用來放置 Portable Firefox 的相關(額外的)說明
使用設定檔
簡介
Portable Firefox 設定檔,通常名為 FirefoxPortable.ini 或 FirefoxPortableCE.ini。這個檔案裡面有許多已經建立好的選項,讓您能對 Portable Firefox 進一步客製化。您只需要依據您的需求修改這些選項的值即可。本文只列舉一些 Portable Firefox 設定檔的基本玩法,至於較複雜的的玩法,請參 Readme.txt 。
Readme.txt 存放地點
- [CE] <PFxDir>\Other\AdditionalManual
- [Official] <PFxDir>\Other\PortabeFirefoxSource
使用 Portable Firefox 設定檔
Portable Firefox 設定檔依您 Portable Firefox 版本的不同,有不同的位置:
- [CE] <PFxDir>\Other\PortableFirefoxSource\data\FirefoxPortableCE.ini
- [Official] <PFxDir>\Other\PortableFirefoxSource\FirefoxPortable.ini
請找到上述檔案(以下簡稱<PFx 設定檔>),並且複製到 <PFxDir>,這樣 Portable Firefox Launcher 才能正確讀取。
接著請使用純文字編輯軟體(例如:記事本)來修改<PFx 設定檔>。
備註 事實上,<PFx 設定檔> 還可以放在別的地方,不過已超出本文目的,因此不討論。
重要參數簡介
官方版參數
- AdditionalParameters=
這個參數後方可以接一些你想要傳給 Firefox 的參數
- AllowMultipleInstances=false
這個參數有兩個,false 和 true(僅可使用小寫),若使用true,則 Portable Firefox Launcher 才會讓兩個使用不同 Profile 的 Firefox 並存;若使用 false ,則 Portable Firefox Launcher 一旦偵測到其他 firefox.exe 正在運行的話,他就會出現錯誤並終止。
注意 這各選項有副作用:即同一個時段不能以 Portable Firefox Launcher 開啟兩個 Firefox 視窗
- DisableSplashScreen=false
這個參數有兩個,false 和 true(僅可使用小寫),若使用true,則 SPLASH 會關閉。
- LocalHomepage=
您可以輸入一個相對於 <PortableFirefox> 與某個檔案的相對路徑,如果這個值不是空白的,他為被設成 Firefox 的首頁。
- RunLocally=false
這個參數有兩個,false 和 true(僅可使用小寫)。若使用 true ,則 Portable Firefox Launcher 會把所有檔案都複製到本地電腦的暫存目錄,再執行 Portable Firefox 。這對於想要製作 Portable Firefox LiveCD 的人,會很有用。
- SkipChromeFix=false
這個參數有兩個,false 和 true(僅可使用小寫),若使用 true ,則 Portable Firefox 不會去修補 Chrome.rdf ,這會造成套件、佈景主題無法正常使用,除非必要,請使用 false。但是對於 Firefox 1.5 的使用者而言,這個參數設或不設都沒影響。
- SkipCompregFix=false
這個參數有兩個,false 和 true(僅可使用小寫),若使用 false ,則 Portable Firefox 刪除 compreg.dat ,讓 Firefox 重新撰寫,避免造成問題。部份套件會使用到這個檔案,除非必要,請不要使用 true。
- WaitForFirefox=false
這個參數有兩個,false 和 true(僅可使用小寫),若使用true,則 PortableFirefox.exe 在 Firefox 結束後才會結束。
社群版參數
- [CE]CodeTab=Data\codetab\cp950.dat
這個參數必須指向一個 CHINESE BIG5 轉 UTF-8 的轉換表,使 UseUtf8Path_forCalendarRdf 能夠把繁體中文轉換為 UTF-8。
- [CE]DynamicSplash=
如果這個值不是空白的,而且指向一個存在的檔案,Portable Firefox Launcher 會將他當作 SPLASH 圖片
注意 使用 bmp 為格式較佳,不然在一些 Windows 98 SE 電腦上會有問題
- [CE]UseEscapedPath_forChromeRdf=true
這個參數有兩個,false 和 true(僅可使用小寫),若使用 true ,則 Portable Firefox 會以 Firefox 格式的路徑來處理 Chrome.rdf;如果是 false ,則關閉這項功能,對於中文使用者來說,可能會有問題。
- [CE]UseUtf8Path_forCalendarRdf=true
這個參數有兩個,false 和 true(僅可使用小寫),若使用 true ,則 Portable Firefox 會以「UTF-8 編碼」的路徑來處理 CalendarManager.rdf;如果是 false ,則關閉這項功能,對於中文使用者來說,可能會有問題。(CalendarManager.rdf 是 Mozilla Calendar Extension 的檔案)
修改與自訂 Portable Firefox
這一段其實並不重要,基本上 Portable Firefox 依然是一套 Firefox,因此你平常如何自訂你的 Firefox 你就可以怎麼自訂 Portable Firefox。我想教的方法是比較偷懶的方法,直接複製你現有的 Profile 讓 Portable Firefox 使用
- 請先刪除 "<PFxDir>\Data" 資料夾底下的 profile 資料夾
- 請開啟檔案總管,在網址列輸入 "%Appdata%\Mozilla\Firefox\Profiles"
- 選取你要的個人設定檔,並把他複製到 "<PFxDir>\Data" 資料夾之下
- 把這個資料夾重新命名為 "profile"
- 完成
已知問題
已知問題你可以參閱這裡:http://portableapps.com/support/portable_firefox#known_issues
以下使我所研究過的已知問題。
被部份的防毒軟體視為病毒
Portable Firefox 曾經被防毒軟體誤判過,主要原因如下:
- Portable Firefox 官方版 以及 某A 前輩所打包的版本,都會使用 upx 來對程式進行壓縮,用來取得比較小的應用程式大小。但是防毒軟體並不瞭解 upx 這個「加殼」的動作,所以只要一掃到病毒碼,就立刻說是病毒。這個問題真的要歸功於防毒軟體公司,以下是黑名單:AntiVir, Avast, 卡巴斯基5。雖然目前沒有再傳出「災情」過,一些打包的前輩們也很努力去避免,但是如果又被掃出病毒,請做以下動作:
- 確認下載來源(不要信任第三方下載來源、載點,請只信任「釋出這些檔案的作者」的網站)
- 使用不在黑名單中的防毒軟體,重掃看看
- 如果還是有病毒,請回報
- NSIS 寫的程式,曾經被誤認為「木馬程式」。其實這個問題並非 Portable Firefox 本身,或是 NSIS 的錯。如果真的要歸納錯誤的話,應該歸功於防毒公司。但幸運的,就我所知,NSIS 方面已經克服這個問題。
檔案路徑不可以有中文
這是我仔細研究過的問題,事實上這個問題可以分為兩個部份:
- 第一部份是 GetParameters 的錯誤,導致誤傳訊其給 firefox.exe。
- 第二部份的原因是 Firefox 本身對非 ANSII 路徑的處理方式。大家都知道 CJK 字集是用兩的 byte 組成的,基於一些理由, Firefox 把所有 CJK 語言都轉成 %NN%NN 。例如:桌面->%AE%E0%AD%B1。現在問題在於,當 Firefox 安裝套件時會把路徑名稱中文的部份轉為 %NN%NN ,但 Firefox 在事後重新讀取 Chrome.rdf 時就不會再去轉換了,但是為了可攜,Portable Firefox Launcher 會去修改 Chrome.rdf 以讓套件正常運作,然而 NSIS 並不會將中文轉換為 %NN%NN 形式,因此 Firefox 讀取時就發生問題了。
這兩個問題接已經解決,並以 Firefox Portable CE 實做。參:http://forum.moztw.org/viewtopic.php?t=11860
附錄
以下是一些小技巧
安裝 Macromedia Flash Player
自動安裝(不用事前安裝 Firefox)
到 http://plugindoc.mozdev.org/windows.html#Flash ,按下 Install: Macromedia Flash Player 8.0,完成安裝,即可
手動安裝(要事前安裝 Firefox)
- 請先自下方連結下載 Macromedia Flash Player: Get Flash Player
- 在有安裝官方 Firefox 的電腦執行該程式
- 在 "<FirefoxInstallDir>\plugins" 資料夾下 將 NPSWF32.dll GetFlash.exe GetFlash.exe.manifest 複製到 Portable Firefox 資料夾中的 plugins 資料夾之下
- 完成
注意 Macromedia Flash Player 是美國 Macromedia 公司的註冊商標, Flash Player 也是有版權的軟體,如果你的 Portable Firefox 是要公開讓人下載的,請不要包含 Macromedia Flash Player,以免陷入法律問題。
LiveCD Portable FireFox
使用 Portable Firefox Launcher 內建的功能
只要將 RunLocally 、 WaitForFirefox 這兩個參數修改成 true ,再把所有檔案燒錄再 CD 上,即可。
壓縮 Portable Firefox
這一節是要教大家如何壓縮 Portable Firefox。
備註 官網或 某A 前輩所提供的版本,都已經壓縮過了,不用重壓
- 先到 http://upx.sourceforge.net/#download 去取得程式壓縮軟體 upx200w.zip
- 用支援 zip 格式的解壓縮軟體,解壓縮
- 把 upx.exe 複製到你放 Portable Firefox 的資料夾
- 把最下面的程式碼複製起來,存成 upxcompress.vbs
- 執行 upxcompress.vbs,等到出現 「UPX 程式壓縮結束」 對話方塊,程式壓縮就結束了。你可以將 upxcompress.vbs 以及 upx.exe 刪除
Dim WshShell, fsObj, CommandOption CommandOption = "--best --compress-icons=0 --crp-ms=999999 --force" 'CommandOption = "--best --nrv2d --compress-icons=0 --crp-ms=999999 --force" 'CommandOption = "-d" ' 解壓縮用的指令 Set WshShell = CreateObject("WScript.Shell") Set fsObj = CreateObject("Scripting.FileSystemObject") Sub CompressWithUPX(fdObj) For Each file In fdObj.Files If (FileCType(file.path) = "dll" Or FileCType(file.path) = "exe") And file.name <> "upx.exe" Then Call WshShell.Run("UPX " & CommandOption & " " & file.path, 7, true) End If Next For Each sfolder In fdObj.SubFolders Call CompressWithUPX(sfolder) NextNext End Sub Function FileCType(Filename) Dim LastDot LastDot = InstrRev(FileName, ".") FileCType = Mid(FileName, (LastDot + 1)) End Function Call CompressWithUPX(fsObj.GetFolder(fsObj.GetAbsolutePathName("."))) Set fsObj = Nothing Set WshShell = Nothing MsgBox("UPX 程式壓縮結束") |
相關連結
- Portable Firefox 下載頁、主頁:http://portableapps.com/apps/internet/browsers/portable_firefox
- Portable Firefox L10N 教學:http://portableapps.com/apps/internet/browsers/portable_firefox/localization
- Portable Firefox 說明頁:http://portableapps.com/support/portable_firefox
- MozillaZine 相關討論串:http://forums.mozillazine.org/viewtopic.php?p=1618884
John T. Haller 前輩在該討論串中以 CritterNYC 為代號 - 某A 前輩的 BLOG:http://blog.webs-tv.net/xdriftdoll/category/91135
- 某A 前輩的討論串1:http://forum.moztw.org/viewtopic.php?t=12716
- 某A 前輩的討論串2:http://forum.moztw.org/viewtopic.php?t=10821
- Portable Firefox CE:http://forum.moztw.org/viewtopic.php?t=11860
‧返回上一頁: 非官方建製版本列表