2011-09-07 73 views
1

.pt文件的Pyramid i18n是否支持HTML5標記?目前i18n標籤提取器(Babel?)似乎需要基於XHTML的輸入,並且不接受HTML5標記。因此,如果你想在.pt文件中使用i18n,你就不得不用XML''s的方式寫它們?Pyramid i18n和HTML5

+0

HTML5與早期版本的HTML一樣多:它可以用XML和非XHTML格式編寫。 –

+0

你能解釋一下你的意思是「變色龍2.0似乎不適用於巴別」嗎?沒有變色龍版本使用巴別塔,所以你的評論感覺不到。 –

+0

嗨Wichert!感謝你回來,這是一個很好的問題。通過以下教程https://pylonsproject.org/projects/pyramid/1.0/narr/i18n.html我試圖從.pt文件中提取msgids。如果.pt文件不是有效的XML(例如自閉標籤和東西)解析器失敗(我認爲這是Babel解析器,而不是Chameleon本身),因爲它只接受XML'ish HTML作爲輸入。 –

回答

2

變色龍1包含兩個Babel提取插件(一個用於python代碼,另一個用於XML文件),這是Pyramid文檔所指的內容。 Chameleon 2不再包含這些插件,並專注於作爲模板庫的核心功能。這兩個插件已被清除,現在已包含在新的lingua package中。金字塔文檔已更新,以反映自金字塔1.1以來(如您可以看到in the Pyramid 1.1 i18n chapter)。

lingua XML插件使用expat解析其輸入,所以在不使用XML表示法的HTML文件上確實會失敗。由於我個人感覺非常強烈,XML符號是一個更好的選擇,所以我不太可能讓語言實現支持非XML語法。有一個例外:通用允許缺少名稱空間聲明。

+0

需要插入兼容HTML5的解析器才能解決問題?我們是否只討論添加一個插件文件還是更普遍的改變? html5lib支持DOM輸出http://code.google.com/p/html5lib/ –

+0

這需要爲https://github.com/wichert/lingua/blob/master/src/lingua/extractors/xml添加一個替代方案。 py。 –

+1

值得一提的是:lingua不再需要模板成爲有效的XML,並且可以毫無問題地處理HTML 5模板。 –