您在這裡

為什麼有些字串在「字串管理」中找不到?

tky's 的頭像
tky 在 2006-12-22 (週五) 15:59 發表

在管理字串翻譯時,有時會碰到頁面上(比如說選單)有英文、但是無法用「字串管理」找出來加以翻譯。蠻奇怪的。

這種狀況尤其在新安裝的模組所提供的選項上裡比較常見。要怎麼翻譯這些字串、好讓他們以中文出現呢?

另外想問一下說明畫面中提到的gettext,到底是模組還是一個編輯器程式啊?會比較好用嗎?

TKY

比如說用CCK創造出來的欄位名稱,好比deadline吧,翻成「截止時間」。但是在node顯示上仍然是英文。

有時候想改中文譯詞,比如說把「投票」(連結為poll的選單名稱)改成「投票所」,但以「投票」找出所有Poll、poll、polls、Vote等詞彙加以修改翻譯,都沒有看到改變。真奇怪原文為何。

謝謝charlesc推薦的poEdit,看來真的很好用。

TKY有個納悶的地方是,TKY把自己的語系檔匯出成po檔,不過卻發現「原文」裡居然參雜著中文?想來應該是當初取些欄位名稱的時後,用中文去取的。那,TKY可以直接在po檔中,將「原文」的中文置換為英文,然後再翻譯嗎(就是中英文的位置對調)?

這樣TKY將改過的po匯回去時,相關的欄位名稱在切換中英文版面的時後會跟著改變嗎?

TKY

tky

恩,我也有這種困擾
比如說選單中的recent posts
我把所有有recent posts的詞都翻譯了
就是找不到他在哪裡....
後來一氣之下
我就把這個選項關掉了
反正也不是很重要...
不過奇怪的是,在選單設定頁裡面,他又正常了....

另外,如果你是要自己加上可以翻譯的文字
可以用t("要翻譯的文字"),這樣應該就可以找得到了
不過這個應該大家都知道了...呵呵~~

主要是因為中英文版轉換的問題。
如果TKY用i18n的translation功能,node的內容可以翻成英文,出現在英文版中。但CCK的欄位名稱卻不能翻啊!所以英文版中出現的node,就會有中文欄位名稱。

例如:
姓名:水滴 >>轉換後應該是>> name: Drupal
但卻變成:
姓名: Drupal

這不是TKY太龜毛。英文網站就該都是英文不是嗎?

另外,選單的名稱直接改中文的話,轉換到英文就仍會是中文;這也是很糟的地方。這英語使用者怎麼知道那是用來幹嘛的。

TKY對付這些死不能改的英文選單,通常是停用它,然後另外做一個一模一樣的選單項目(英文的),這樣就可以翻譯了。轉換上就不會有困難。不過,CCK的話,TKY就沒輒了。有時候會想說乾脆中英文並列算了;但欄位名又會變得很長!嘆~~~

用VIEWS做出來的相關東西也是一樣。tabs的名稱沒辦法作翻譯轉換,views提供的選單名稱同樣永遠不動如山。所以各位朋友如果碰到裝了模組、但相關的選單、tabs名稱無法翻譯,十之八九可能是因為這個模組是透過views提供選單和table的(例如og模組)。可以去views預設的項目看看是否有新增了這些模組內容。

views產生的table、list等,無法因為語系轉換而改變,更是一個大問題。也不能利用任何過濾方式來濾出英文版的翻譯node顯示就好。不知道arguement能不能派上用場,還沒試過。

這些都是翻譯方面的問題。

至於charlesc談到中英文對調的問題是這樣:

TKY用poEdit來檢視自己的po檔時發現,應該全部都是英文的「來源字」裡頭,會有中文。不少還是TKY自己取的欄位名稱。TKY突發奇想的想說,如果TKY把這些中文換成英文,然後在「翻譯字」那裡填上原有的中文名稱,將改過po檔匯回去的結果,應該會有「看來還是中文,但在英文版中會變成英文」的轉換效果?

先問問看有沒有人做過這樣的事情,免得出大包。

不知道這樣講charlesc有沒有知道TKY的意思?

和雙語奮戰的
TKY

tky

唉唷喂,怎麼以為簡單的問題變得「很先進」?

TKY嘗試用poEdit的結果,唉,果然不能修改來源字。
直接以記事本打開po檔去改,好像一點影響也沒有。

覺得很奇怪的是,到底為什麼來源字裡頭會有中文?使用模組的結果嗎?

另一個問題是,localization和i18n是同一回事嗎?到底TKY在「字串管理」中做的翻譯,是在翻什麼東西呢?

TKY

tky