Alfresco Share中的多语言文档?

编程入门 行业动态 更新时间:2024-10-23 13:32:11
本文介绍了Alfresco Share中的多语言文档?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

Alfresco具有 MultilingualContentService ,但不幸的是,它未在共享用户界面中实现.

Alfresco has a MultilingualContentService but unfortunately it is not implemented in the Share UI.

那么,如何处理共享"中的多种内容? (对于每个文档,使用不同语言的多个文件)

So, how to handle mutilingual content in Share? (for each document, several files in different languages)

有解决方案吗? 如果我别无选择,只能发展,你会怎么做?

Is there some solution ready? If I have no choice but to develop, how would you do it?

推荐答案

将其包装在可从您的Web脚本访问的对象中. 下面是一个例子,它已经做到了:

Wrap it in an object that's accessible from your webscripts. Here's an example which already does it:

package com.someco.web.jscript; import org.alfresco.repo.jscript.ScriptNode; import org.alfresco.repo.processor.BaseProcessorExtension; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.ml.MultilingualContentService; import org.alfresco.service.cmr.repository.NodeRef; import org.apachemons.logging.Log; import org.apachemons.logging.LogFactory; import java.util.Locale; public final class MultilingualScript extends BaseProcessorExtension { private static final Log logger = LogFactory.getLog(MultilingualScript.class); private MultilingualContentService multilingualContentService; private ServiceRegistry serviceRegistry; public MultilingualScript() { if (logger.isDebugEnabled()) { logger.debug("MultilingualScript Constructor Called"); } } //path = path of the original document //language = required language //returns the noderef for the translation content for the given language public ScriptNode multilingualContent(String path, String language, ScriptNode companyHome) { if (logger.isDebugEnabled()) { logger.debug("MultilingualScript - parameters - " + path + " , " + language); } NodeRef nodeRef = new ScriptNode(companyHome.getNodeRef(), serviceRegistry) .childByNamePath(path).getNodeRef(); nodeRef = multilingualContentService.getTranslationForLocale(nodeRef, new Locale(language) ); return new ScriptNode(nodeRef, serviceRegistry); } public MultilingualContentService getMultilingualContentService() { return multilingualContentService; } public void setMultilingualContentService( MultilingualContentService multilingualContentService) { this.multilingualContentService = multilingualContentService; } public ServiceRegistry getServiceRegistry() { return serviceRegistry; } public void setServiceRegistry(ServiceRegistry serviceRegistry) { this.serviceRegistry = serviceRegistry; } }

Spring bean:

The Spring bean:

<bean id="multilingualScript" parent="baseJavaScriptExtension" class="com.someco.web.jscript.MultilingualScript"> <property name="extensionName"> <value>multilingual</value> </property> <property name="serviceRegistry"> <ref bean="ServiceRegistry" /> </property> <property name="multilingualContentService"> <ref bean="MultilingualContentService" /> </property> </bean>

最后,像这样使用它:

var multilingualArticle = multilingual.multilingualContent("/myarticle", "es", companyhome);

更多推荐

Alfresco Share中的多语言文档?

本文发布于:2023-11-28 10:14:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1641987.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多语言   文档   Alfresco   Share

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!