Yuting Kuo 寫道:
The size of the po file would increase by up to 1.5x of its original size. 2-byte Big-5 character = 3-byte UTF-8 character
Yes. 但以現在的硬碟或記憶體容量這實在是微不足道。
The speed may be dragged down by converting UTF-8 back to Big-5: Load UTF-8 .po string -> Convert to Big-5 -> Pass onto Qt -> Display the string using Big-5 font
有點錯誤。 Qt 內部全部以 Unicode(UCS2) 做儲存、處理。 所以不管是 UTF-8 or Big5 po 全部也都會轉換成 Unicode。反而 UTF-8 -> Unicode 轉換比較直接, 我相信速度更快。
再說以目前的電腦速度來說這些也都是微不足道的。
Why not use Unicode or UCS (ISO 10646) instead of UTF-8?
UCS2(Unicode) or UCS4 是內碼, 是程式內部處理使用的(使用 widechar 的情形) 再說拿 Unicode 來存 po 檔的話像 gettext 等 tool 根本也無法處理。 在程式之間傳輸、儲存至媒體,通常使用交換碼。 UTF-8, UTF-16, UTF-7 才是交換碼。 (UTF means Unicode Transfer Format)
UTF-16 or UTF-7 各有所限制。 以 UTF-8 做為 UCS4 的交換碼已是趨勢。
建議您看一下這篇文件 http://www.cl.cam.ac.uk/~mgk25/unicode.html
目前 kde-i18n 中 CJK 的部份, 大陸、日本、韓國都已將 po 檔轉換成 UTF-8. 只剩台灣仍在使用 local encoding. (請 checkout kde-i18n 模組,看一下各國翻譯中, messages 目錄下的 charset 便知。) Gnome-i18n 那邊也有聲音要求各 translation team 將 po 檔通通轉換成 UTF-8。 我們應及早正視這個問題! (否則也許到時 KDE, GNOME 都會將我們的翻譯 mark 成 broken)