java - Alfresco 中以编程方式提供多语言内容

标签 java repository alfresco

我收到的要求是使用 Alfresco 内容管理对 SQL Server 数据库上可用的一些现有内容进行建模,因此,我创建了新的内容模型,它似乎工作正常。但我在多语言方面遇到了问题:我知道在 Alfresco 中一个节点可以添加多种语言(我如何使用 Java 来实现大量负载?),但是,我还使用了一些需要翻译的方面。

遇到这种情况你通常会做什么?我想按照以下步骤操作:

  • 创建英语内容并添加方面
  • 创建新的子翻译并添加方面

正确吗?如何以编程方式创建多语言节点(Java)以及如何添加带有方面的新翻译内容?我查看了 Alfresco 文档,但是没有找到,您能帮我找到一些相关的文档或教程吗?

更新:

我正在尝试制作多语言内容:

void makeTranslation(Reference contentNodeRef, Locale locale) throws AlfrescoRuntimeException, Exception
    {
        try {
            NodeRef nodeRef = new NodeRef("workspace://SpacesStore/" + contentNodeRef.getUuid());           
            MultilingualContentServiceImpl multilingualContentServiceImpl = new MultilingualContentServiceImpl();       

            multilingualContentServiceImpl.makeTranslation(nodeRef, locale);
        }
        catch (org.alfresco.error.AlfrescoRuntimeException ex) {
            throw new AlfrescoRuntimeException(ex.getMessage());
        }
        catch (Exception ex) {
            throw new Exception(ex.getMessage());
        }
    }

但是,makeTranslation 会引发 nullPoint 异常,因为 MultilingualContentServiceImpl 未正确初始化。有什么建议如何初始化它吗?我必须使用 spring,但是如何使用?

任何建议或回复都会非常有帮助!

谢谢,
安德里亚

最佳答案

您可以使用MultilingualContentService 添加翻译。但!我想您的属性应该是 d:mltext 类型(如 cm:title 和 cm:description )以支持多语言内容。

这意味着,如果您使用英语浏览器访问 alfresco,您将看到与在浏览器中使用德语设置的人不同的描述。这可能有点令人困惑,因为在 Share 中没有(曾经?)没有标识符表明该属性是多语言的。

如果您希望您的翻译出现在任何地方,无论人们在浏览器中使用哪种语言,那么更好的方法是定义某些方面(例如 ex:translatable),并具有与您需要翻译一样多的属性。然后,您可以以编程方式(使用 Java 或 JavaScript)使用搜索服务来查找所需的节点并向其添加方面。最后,您将该方面的属性(翻译)添加到节点。

我希望这有助于澄清一些事情......:)

关于java - Alfresco 中以编程方式提供多语言内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264290/

相关文章:

java - 有没有办法使用java流来比较两个字符串?

javascript - 使用 ffmpeg 将 Alfresco 内容从 .avi 转换为 *.flv

github 工作流程-致命的 : not a git repository (or any of the parent directories): . git

git - 使用 BFG repo-cleaner 后检查 git repo

java - 用于 Alfresco Repository AMP 的 log4j

java - 露天 : How to filter documents in workflow

java - 行为验证的值(value)

java - 从 application.properties 读取并替换动态参数

Java:JVM 可用的内核?

java - Alfresco 内容存储库 API 的副作用?