2011-09-07 50 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模板。 –