如何创建/读取节点bilingualy

时间:2011-09-08 09:47:59

标签: alfresco

我需要创建具有双语属性的节点,并将所有这些节点用作(列表约束),其中node属性将是label,另一个属性将是value。

那么,这可行吗? &安培;怎么样?

我看到sys:localized,它的意思是 本土化:          如果将此方面添加到节点,则服务器将假定所有非多语言          属性适用于此区域设置。 这可以帮助我!

由于 穆罕默德·阿姆 高级系统开发人员

2 个答案:

答案 0 :(得分:2)

为了从您的代码handle Multi Lingual documents开始,您应该使用MultilingualContentService来:

多语言文档应用了cm:mlDocument方面。这使他们能够被列为cm:mlContainer下创建的特殊/cm:multilingualRoot的子项,以跟踪单个文档的翻译。 cm:mlContainer定义如下:

  <type name="cm:mlContainer">
     <title>Multilingual Container</title>
     <parent>sys:container</parent>
     <associations>
        <child-association name="cm:mlChild">
           <source>
              <mandatory>false</mandatory>
              <many>false</many>
           </source>
           <target>
              <class>cm:mlDocument</class>
              <mandatory>true</mandatory>
              <many>true</many>
           </target>
        </child-association>
     </associations>
     <mandatory-aspects>
        <aspect>cm:versionable</aspect>
        <aspect>cm:author</aspect>
        <aspect>sys:localized</aspect>
     </mandatory-aspects>
  </type>

答案 1 :(得分:2)

Alfresco有不同类型的本地化选项:

  • MultilingualContentService(使用cm:mlDocument方面)允许您将翻译的内容存储在单个节点上。如果您有一个翻译成多种语言的文档,则可以使用此方法。 Share中不支持此功能,但您可以通过Alfresco Explorer或API使用它。

  • 还有多语言文字属性。您可以在内容模型中使用数据类型 d:mlText ,并根据用户语言存储属性值(仅限字符串)。属性 cm:title cm:description 的内置属性为 d:mlText 。 Share中的用法有点棘手--Alfresco使用浏览器语言自动选择语言环境,因此使用不同浏览器语言的用户会看到不同的值。

据我了解你的问题,我认为你需要的是 ml:properties 。共享UI仅间接支持它们,也许这对您没有用。至于List约束,我没有看到任何多语言支持,所以你可能必须自己扩展它们。