1
目標是創建一個大約50頁的網站。內容將是靜態的(無需編輯,不會更改)會有圖片,文字段落,無序列表。還有......三種語言(可能在未來會更多)。我也希望翻譯網址。 Zend框架必須使用。沒有數據庫可以使用。在Zend Framework中創建靜態多語言網站的最佳方法/工具是什麼?
如何在這種情況下處理內容?將它存儲爲變量,並使用$ this-> translate(),或者以某種方式標記它,並在模板中使用標籤?
目標是創建一個大約50頁的網站。內容將是靜態的(無需編輯,不會更改)會有圖片,文字段落,無序列表。還有......三種語言(可能在未來會更多)。我也希望翻譯網址。 Zend框架必須使用。沒有數據庫可以使用。在Zend Framework中創建靜態多語言網站的最佳方法/工具是什麼?
如何在這種情況下處理內容?將它存儲爲變量,並使用$ this-> translate(),或者以某種方式標記它,並在模板中使用標籤?
我會說,除了網站的「默認」語言旁邊的每種語言的翻譯數組。如果你可以(沒有經過測試,但我發現它是可能的),你可以使用你的「默認」語言文本作爲這些數組的關鍵。這樣,當您將翻譯文件發送給必須進行實際翻譯的人員時,他們將具有一些參考文獻作爲他們正在翻譯的文本的上下文。
不要害怕在翻譯文件中使用過多的評論,它會讓那些需要翻譯文本的人更輕鬆地工作。
即:
// This section of text is used to diplays the time since the last status update
/*
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc odio nisi, varius eget
vulputate ut, cursus sit amet ligula. Maecenas dui leo, placerat et ultricies ac,
pulvinar sit amet metus. Mauris leo erat, vehicula sed interdum sed, condimentum ac
leo. Ut congue arcu ac arcu interdum egestas.
Last update - 4 hours ago
*/
array(
'Last update' => 'Dernière mise à jour',
'%hours% hours ago' => 'il y a %hours% heures',
'One hour ago' => 'il y a une heure'
)
// %hours% is a variable place holder to be replaced by you programatically
這樣做翻譯的人甚至不需要有機會獲得實際的網站(將智能後來給獲取修訂和修正)。
是的,您可以使用默認文本作爲標籤,使用英語是最佳做法,但我更願意詢問變量組織,我應該爲每個頁面創建單獨的操作,還是對所有「項目」頁面有一個操作? – jkulak
如果你很好地構建你的網站,沒有什麼能夠阻止你對每個項目採取不同的行動,只要在任何兩個(或更多)動作中重複的東西都存儲在動作助手或視圖助手中,這樣你將能夠保持該網站比在一個大胖子行動將容易的一切都容易 –