2013-05-06 96 views
0

如何在actions.xml中使用/翻譯(url_expr/available_expr)?如何翻譯i18n Plone actions.xml

我通常的方法是使每種語言一個單獨的「對象」:

<object name="contact" meta_type="CMF Action" i18n:domain="my.theme"> 
<property name="title" i18n:translate="">Contact</property> 
<property name="description" i18n:translate=""></property> 
<property 
    name="url_expr">string:${globals_view/navigationRootUrl}/contact</property> 
<property name="icon_expr"></property> 
<property name="available_expr">python:request.LANGUAGE == 'en'</property> 
</object> 

<object name="contact-de" meta_type="CMF Action" i18n:domain="my.theme"> 
<property name="title" i18n:translate="">Contact</property> 
<property name="description" i18n:translate=""></property> 
<property 
    name="url_expr">string:${globals_view/navigationRootUrl}/kontakt</property> 
<property name="icon_expr"></property> 
<property name="available_expr">python:request.LANGUAGE == 'de'</property> 
</object> 
+0

您是否安裝了LinguaPlone來處理'contact'和'kontakt'之間的轉換? – 2013-05-06 15:44:14

+0

是的,Products.LinguaPlone 4.0.4帶語言文件夾 (de/en) – user966660 2013-05-07 06:20:50

回答

0

如果您contact/kontakt內容多語言內容由LinguaPlone管理,您可以使用takeaction add-on創建一個行動這將根據需要在翻譯之間切換。

takeaction有它自己的配置文件,就像actions.xml它是一個通用的安裝文件:

<?xml version="1.0"?> 
<object name="portal_takeaction" 
    meta_type="TakeAction content-as-actions tool"> 
    <item category="site_actions" path="en/contact" /> 
</object> 

以上配置在en/contact爲內容對象作爲site_actions行動項目。它將被列在該操作類別中,並將內容對象的翻譯之一的標題和描述與當前語言匹配。

你做不是列出行動actions.xml了; takeaction工具本身就是一個行動提供者。

免責聲明:我是takeaction的原始作者。