導言

現在大部分的 Mac 程式都是由 Cocoa API 所編成。正如其名 “可可”,雖然架構發展的很早,但是仍是十分地強大且可口呢!這類的 cocoa 應用程式有個很大的特點,就是把所有的物件包裝在一個程式之內,因此具有極高的攜帶性,不用另外安裝就可以使用。當然所有的語系也是包在裡頭,因此 cocoa 的應用程式可以十分容易地做語系本地化,而這就是我們今天要開刀的地方啦!

 

 

 

 

 

 

語言順序

 系統的語言

 

大家都知道不管是在哪個國家買的 Mac ,都只會差在鍵盤上的文字不同,使用的 Mac OS 都是同一套,沒有語言版本的差別。 所以我們在安裝時,都會取消掉一些根本就用不到的語言來節省硬碟空間,然後我們就可以自己決定整個系統所顯示的語言啦。

統偏好設定 程式的 國際設定 中的 語言 項目裡,可以清楚的看到我們系統的語言順序。我們可以輕易的拉動語言項目去排定我們偏好的順序。

語言順序的概念很簡單,假定我的語言排序依序為繁體中文、簡體中文、英文、日文…,當我運行一個程式時,程式會以繁體中文的顯示,要是這個程式中沒有包含繁體中文的語系檔,那就會以排序第二的簡體中文做顯示,要是也沒有簡體中文的語系檔,那就會以排序第三的英文做顯示,(要是沒有英文語系檔… 那還真是見鬼了)依此類推。

 

 應用程式的語言

一般來說,一個應用程式都會包含多個語系檔。而程式的語言表示就如上面所說的,是由系統語言排序所決定的。但其實我們也可以針對每個應用程式做個別的語言顯示。方法很簡單,對著想想要變換顯示方式的應用程式按右鍵,選 簡介(或是按 ⌘ + i),然後在 語言 的地方,將排序較前但不需要的語言勾選取消就行啦。被取消的語系檔並不是被刪掉了,而是被放到其他的地方(放到該程式裡的 Resources Disabled 檔案夾裡),所以隨時可以改回來。

 

 

中文化工具

 安裝 Xcode 跟 Interface Builder

     

                              

                            Xcode                                                                         Interface Builder    

 

 

可以幫 Mac 程式做中文化的工具還真不少,都很好用,但是不好上手。所以個人偏好使用既免費又十分強大的 Xcode 來做為我的中文化工具。Xcode 已包含在隨機光碟中,但預設是不安裝的,所以得自己手動安裝,或是直接到 Apple 的 開發者網站 下載最新版本的 Xcode。免費註冊個帳號就可以下載了。有興趣可以連 iPhone SDK 一起下載回去玩玩。

安裝完的 Xcode 並不是出現在應用程式檔夾,而是在 主機 Developer Applications 中。

 

 

開始中文化

 建立中文語系檔

 

准備好工具並有了基本概念後,就開始著手來做中文化吧。這裡就以我不推對不起自己的健康督促軟體 MacBreakZ 來做示範吧。

對著 MacBreakZ 按右鍵,選顯示套件內容。然後依序在 Contents Resources 中,找出 English.lproj 檔案夾。這個以 .lproj 為附檔名檔案夾就是所謂的語系檔了。我們可以另外在這裡發現荷蘭的語系檔,若是你荷蘭文超強,那也可以用那個荷蘭的語系檔來做修改的基礎,因為我不懂,所以對我而言改英文的比較方便。

 

因為要保留英文的語系檔,所以我們不要直接修改這個英文的語系檔。對著 English.lproj 按右鍵,拷貝一個來改。將拷貝檔更名為 zh_TW.lproj。這個就是正體中文的語系檔啦。不過別高興的太早,這並不表示就已經完成中文化了,裡頭都字串都還是英文呀!

[ 注意 ] 正體中文的語系檔是 zh_TW.lproj,而非 zhTW.lproj ,那個橫杠表示的方式很重要喔!

檔案夾裡全部的檔案都要做修改,而最主要要修改的檔案有兩種,分別為 .strings 檔.nib 檔

                           

                    .strings                                                                            .nib 檔

 

 

 

 修改字串

 

事實上用 Xcode 來修改真的是太殺雞用牛刀了,只要是任何能做文字編輯的程式都可以來修改 .strings 檔,不過不建議使用內建的 文字編輯 程式來做,因為文字編輯程式並不會對字串檔的內容以顏色做區別,容易出錯。所以使用像是 Smultron 之類就很優。不過還是用 Xcode 最有 fu 啦!

對著第一個字串檔 buttons.strings 點兩下,Xcode 會自動開啟。會有三種顏色的自出現在視窗中。

綠色為字串檔的註解部份,註解標示了下面字串所代表的意義,程式在運行時不會編譯它,可以看看,但沒必要改。

黑色是程式的符號,不要動到。

紅色就是字串的所在啦,字串顯示的模式很簡單,就是 :

          “英文” = “英文”

而我們要做的就是將等號右邊括弧內的英文改成正體中文。舉個例,第一個要修改的

 “cancel button” = “Cancel”;,我們就要將它修改成 “cancel button” = “取消”;。是否很簡單呢?

另外有時會遇到一些非文字的部份,例如 %@ 或是 %.2f 等等之類的,這些是變數,程式在運行時,會用一些數字來取代它,所以我們也不要動它,但是要注意英文跟中文語句的差異。例如:

“Day %1$d of your %2$d day adaptation period.”  則要翻譯成:“已過了 %2$d 天適應期中的 %1$d 天。” 這樣的語句才會流暢並符合邏輯。

現在就慢慢的將所有的字串檔做修改吧。完成後記得存檔,否則再重新修改一次是會想殺人的~

 

 修改界面文字 

接著修改另一個重點: .nib 檔

對著第一個要修改的 MainMenu.nib 點兩下,此時 Interface Builder 將自動開啟。會跳出現許多的視窗,其中最重要的是 MainMenu.nib(zh_TW) 這個主視窗了,其它的視窗關掉也可以在這找到。建議點視窗左上角的 view mode,將這個主視窗改成直欄或是列表顯示,使用圖像顯示會有無法修改的情況發生。 

在這眾多的小圖示中,需要我們要修改的只有 MenuWindowsview 這三種。

    

                     Menu                                        Windows                                           view 

這三種檔檔案修改的方式都一樣,也很有趣。我們先雙擊 MainMenu 看看吧。

開啟 MainMenu 會發現,這不就是我們熟悉的選單列嗎?點選這個選單列上的項目,也會像我們平常使用的那樣跳出下拉選單。要將這些項目改成中文很簡單,對著要更改的項目點兩下,就可以修改了。真是超容易的呀。改完後直接關掉,再開啟下一個來改。另兩種檔案也是使用這樣的方式就可以做修改,不管是按鈕還是下拉式選單,只要是英文字的地方,就都可以改。就一個一個慢慢的改吧,做中文化是需要耐心的。同樣地別忘了要時時存檔喔。

除了修改文字之外,其實我們也可以藉由改變視窗內所有物件的大小及排列,好讓呈現的效果更加的符合中文化的樣式。但若非必要,不建議去亂動。

這裡另外提一下,為何不建議在主視窗中使用圖像顯示模式。上面 MainMenu.nib 中的 Prefs 就是個很好的例子。若是使用圖像顯示模式開啟這個檔案,可以看出這是一個偏好設定的面板,很開心的修改完後,運行此程式並打開偏好設定,會發現在偏好設定的視窗中,明明就有十多個項目,為何剛剛在中文化時只看到一個呢?原來其他的項目是藏在 Prefs 中,得用直欄或是列表模式才能夠在層層的目錄中的看到!實在是很容易忽略的呀!

最後還有個容易忽略掉的地方要做修改,就是各個視窗的標題。標題的修改點特別,不像之前那樣對著文字點兩下就可以修改的了。這裡就以 Prefs 來做修的示範吧。

  

首先開啟 Prefs,然後點 選單列 上的 Tools 裡的 Inspector(或是按快速鍵⇧⌘i),選擇這個 Inspector 視窗的上方工具列做左邊的 Attributes 小圖示,就可以在 Title 中修改視窗的標題字了。

 其他修改

一般的中文化,大致上就是如此了,但在這個 MacBreakZ 的程式還有個特別的地方要中文化。在 stretches 檔案夾中有另外兩個檔案夾,裡面的檔案都是 html 檔,這些 Xcode 跟 Interface Builder 都改不了,所以我們得用其他的編輯器來做修改,原本是習慣使用 Smultron,但不知為何頻頻出錯,所以另外推薦一個功能更強大的 Coda。好用的 Coda 會將檔案夾內所有的檔案列出在側邊欄中,非常方便。在編輯的區域中, Coda 也會將不同類型的文字以顏色做區分,需要修改的就只有黑字的部份。我們也可以隨時點選 Preview 鈕來查看修改後呈現的效果。同樣的要注意變數的修改方式。

 

 查看成果

 

在辛辛苦苦地修改所有的字串跟物件之後,當然就是享受自己努力過後所獲得成果的時刻啦。查看成果很重要,往往一些遺漏、語句不順暢或是排版錯誤都是在這時候才會被發現。

做中文化是個枯燥且需要耐心的工作,但是會有個意外好處,就是一些程式中不常用或是隱藏住的功能,都會在這中文化的過程中,一一的被發掘喔,真是太酷了!

另外辛苦完成的中文化只有自己能夠使用豈不太過可惜,就透過自己的 blog 或是國內一些知名的論壇、網站分享出去,受惠於更多喜愛 Mac 的朋友吧 ~

 

 

最後,關於本篇教學,原作者提供PDF檔下載,以利保存!

Mac 的程式中文化.pdf

 

 

 

 

教學分類: 

10.4Tiger適用10.5Leopard適用蘋果教學(上方選單分類)系統相關