我有一个Plone网站,使用Archetypes和LinguaPlone进行国际化内容。语言敏感的标题方法(Plone,Archetypes,LinguaPlone)
我的一些对象(包括文件夹)是语言中立的,其他则不是。用于产生菜单和导航路径的,我想这
- 返回非翻译
Title()
一个方法中,如果Language()
非空(因为在此条件下的title
属性应该匹配的语言),和 - 否则返回
Title()
的翻译(因为该对象用于多种语言,并且我有一小部分受影响的字符串)。
我在Products.LinguaPlone
包中找不到任何*title*
方法; pretty_title_or_id
显然是语言不可知的。
难道真的没有这种方法吗?
(Products.LinguaPlone 4.1.8,4.3.3 Products.CMFPlone,Products.ATContentTypes 2.1.14)
编辑:受影响的对象是文件夹的数量有限(邻近站点根),其标题很少改变;大多数人有非空Language
(这将导致他们的Title
不被翻译)或是非文件夹(并且不会有已知的翻译,我承认,但在这些情况下,将使用原始标题)。我可以想象相应地修补pretty_title_or_id
,我想知道不这样做的原因。
嗯,我在我的目录的元数据中有'语言'信息... 其中一个最重要的用途是生成顶部和底部菜单,受影响的文件夹数量非常有限。大多数其他对象是语言非中性或非文件夹(因此不属于我的菜单)。 – Tobias
由于'语言'信息是元数据的一部分,受影响的文件夹很少_(见上文)_并且它们的倾斜很少发生变化 - 因此无法修补无处不在的'pretty_title_or_id'方法来处理语言?不需要'i18n:translate'属性和这种方法的结合,顺便说一句。 – Tobias