2009年6月17日 星期三

只用右鍵選單,快速旋轉縮放圖檔!(正體中文介面)

在微軟 Office Word 裡面有個「壓縮圖檔」的功能,可以避免文件中貼太多張圖之後,變成一個龐然大檔,轉寄、存取都不方便。對於經常要整理大量圖片說明的老婆來說,這個功能很重要,然而 OpenOffice.org 裡面卻好像沒有,所以她覺得頗為困擾。

既然這樣,就先把圖檔縮小再貼到文件裡面好了。這種簡單用途顯然沒必要動用GIMP之類的影像處理軟體,而且事實上老婆連任何最簡單的影像處理軟體都不想學,囧... 只好想辦法讓她可以在檔案總管(Nautilus)中,單鍵進行縮圖處理囉。咕狗了一下,查到 nautilus-image-converter 這個套件就可以做到按右鍵進行縮放影像大小、旋轉等。OK,就是它啦。



開啟 Synaptic 套件管理程式,在「快速搜尋」框中輸入 nautilus-image-converter 套件,馬上就找到了。在上面按右鍵標記為安裝,按下工具列的「套用」,就安裝好囉。再打開檔案瀏覽器視窗,隨便找個圖檔點下右鍵,就發現快速選單出現了兩個新項目:Resize Images 以及 Rotate Images,試了一下還蠻簡單好用的。 ^^y



土法煉鋼中文化

不過問題來了,操作選單介面都是英文的,老婆大人不喜歡... 這個小套件看起來應該不會很複雜,索性自己想辦法土法煉鋼做點簡單的中文化。



在 Synatpic 裡面再次找出剛安裝好的 nautilus-image-converter,按下「屬性」→「已安裝檔案」看一看,發現它應該是把多國語系翻譯檔放在 /usr/share/locale 裡面各語系資料夾的 LC_MESSAGES/nautilus-image-converter.mo 中。



再稍微查了一下,各國語系是有標準簡稱的,例如法國是Fr、義大利是it,法文翻譯檔就是 /usr/share/locale/fr/LC_MESSAGES/nautilus-image-converter.mo,義大利文翻譯檔就是 /usr/share/locale/it/LC_MESSAGES/nautilus-image-converter.mo,那麼正體中文應該就要放在 /usr/share/locale/zh_TW/LC_MESSAGES/nautilus-image-converter.mo 啦。當然,目前是缺乏這個檔案的,所以才沒有中文介面呀。直接找個比較看得懂的來改好了。嗯,ca不錯,加拿大應該是英文。

沒想到用文字編輯器沒辦法打開 /usr/share/locale/ca/LC_MESSAGES/nautilus-image-converter.mo 檔:「gedit 無法偵測編碼。請檢查您是否在嘗試開啟二元碼檔案。」再度拜請咕狗大神,發現原來翻譯語系時,要先做純文字的 po 檔,它標示了哪些翻譯對應哪些原文,po 檔完成之後,再將之編譯為 mo 檔(二進位檔)給應用程式使用,難怪 mo 檔用文字編輯器打不開。

資料夾裡面沒有 po 檔。嗯...那就先想辦法把 mo 轉成 po 檔再來編輯囉。要做到這件事,可以使用文字指令 msgunfmt 來把 mo 解譯成純文字的 po 檔,再用 msgfmt 把 po 檔編譯成二進位 mo 檔。在終端機下了指令:

sudo msgunfmt /usr/share/locale/ca/LC_MESSAGES/nautilus-image-converter.mo > /home/nautilus-image-converter.zh_TW_temp.po

之後,系統卻回應:「程式 'msgfmt' 目前尚未安裝。您可以由輸入以下內容安裝:sudo apt-get install gettext」,於是我就輸入這個指令...錯!結果我還是再回到視窗介面的 Synaptic 搜尋 gettext 套件並且加以安裝。

接下來再回到終端機進行 msgunfmt 操作,這次就轉檔成功了。用文字指令實在是不得已,我個人的偏執是:能用視窗介面完成的事情,就絕對不用文字介面。不過懶得去找圖形化工具了,也不想安裝 poEdit、gTranslator 之類的翻譯工具,那樣搞得好像太複雜。

接下來用文字編輯器打開暫存到家目錄用來進行中文翻譯的 nautilus-image-converter.zh_TW_temp.po 檔,啊咧?加拿大的版本不是英文?大概是法文之類的看不懂。不過其實也無所謂,只要對照著把翻譯部份翻完就好。

直接用文字編輯器翻譯語系檔,需要一點點關於字串和正規表達式的常識(真的只要一點點,因為我會的全部總共也就只有那麼多),完全土法煉鋼、見笑得很,有機會再來分享。逐一輸入中文翻譯編輯好之後,就到終端機輸入:

sudo msgfmt ~/nautilus-image-converter.zh_TW_temp.po -o nautilus-image-converter.zh_TW_temp.mo

,產生 mo 檔。將檔案存到 /usr/share/locale/zh_TW/LC_MESSAGES 內並且改名為 nautilus-image-converter.mo,然後關閉所有檔案瀏覽器視窗,再打開之後就大功告成... 並沒有!結果是要重新開機才會變成中文:





總而言之,這是我為了自己的需要第一次動手做簡單的中文化,過程幾乎全靠視窗圖形介面操作(唯一輸入的兩個終端機指令完全是照抄網友的)、系統內建工具(gedit文字編輯器、Synaptic 套件管理程式)以及Google來的知識。連我這樣的電腦門外漢都能搞定,感覺真爽!



不知道這樣的小小翻譯成果,是不是可以貢獻給社群,讓用得上的人可以取用?再找時間來研究一下好了,不過像我這種沒有程式設計能力的小咖,應該也不會有什麼太大的貢獻就是了。有需要的人可以點這裡下載 mo 檔(http://nautilus-image-converter-zhtw.googlecode.com/files/nautilus-image-converter.mo),放到 /usr/share/locale/zh_TW/LC_MESSAGES 裡面即可。可編譯的 po 檔則在這裡(http://nautilus-image-converter-zhtw.googlecode.com/files/nautilus-image-converter.po),歡迎自行取用修改哦。

2 意見:

匿名 提到...

您不小心筆誤而把所有的「locale」都寫成「local」了。

艾德華 提到...

唉呀,真的寫錯了。寫的時候用複製/貼上所以一口氣錯一大堆。已經全部修正了,感謝您的提醒!