Google 針對自家的三個服務 Google、Blogger、Gmail 推出了三個 widget,下載來用之後居然沒有中文,於是就自己翻 Apple 的資料,把它中文化。
基本上,widget 只是一個簡單的網頁,所以中文化也只是改改網頁內容,不太複雜,這可能也是許多 widget 中文化作者所採用的方式。不過我這人比較龜毛,因為印象中 Apple 隨附的 widget 有幾個都有中文界面,但是 Apple 又不可能直接寫個中文的 widget,所以應該有某種程度的國際化 (i18n) 設計。
詳細的設計可以參考 ADC 上的說明 Localizing Widgets,我這邊只簡單說明一下。首先,就跟一般的 Mac 程式一樣,widget 內假如有 language-code.lproj 的目錄,系統就會到相對應的目錄下尋找與 l10n 相關的檔案,以正體中文使用者來說,就是 zh_TW.lproj 這個目錄。一個有經過 i18n 設計過的 widget 至少會包含一個最基本的 English.lproj,只要拷貝這個目錄並命名為 zh_TW.lproj,然後找出裡面的 localizedStrings.js 這個檔案,以文字編輯器開啟,裡面是類似如下的結構:
var localizedStrings = new Array;
localizedStrings[‘Loading Blog…’] = ‘Loading Blog…’;
翻譯很簡單,只要修改後面’‘之間的文字即可,例如把:
localizedStrings[‘Loading Blog…’] = ‘Loading Blog…’;
改為:
localizedStrings[‘Loading Blog…’] = ‘正在載入 Blog…’;
然後存檔,把 Dashboard 裡面的 widget 關掉重新放進 Dashboard,就可以發現英文字串變成中文的了!
中文化很簡單吧!