但不幸的是,it is not implemented in the Share UI有一个MultilingualContentService。
那么,如何在分享中处理多语言内容呢?
(对于每个文档,有几个不同语言的文件)
准备好解决方案了吗?
如果我别无选择,只能开发,你会怎么做?
发布于 2012-04-23 21:03:08
将其包装在一个可从您的Wrap脚本访问的对象中。已经做到这一点的Here's an example:
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.apache.commons.logging.Log;
import org.apache.commons.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:
<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);
发布于 2012-01-19 00:35:53
我想显示实际内容应该不难,因为每个内容都有自己的uuid。困难在于创建一个UI来上传不同的语言。
我要做的第一件事是分析“上传新版本”操作是如何工作的。因此,我们需要一个自定义操作来上传不同的语言文件,并弹出一个窗口来选择是哪种语言。所以“上传新版本”的功能几乎完全相同,你可以浏览到一个文件并填写版本控制注释。
我不知道资源管理器中有没有网页脚本可以用来存储多语言内容,如果没有,你应该开发那些。
其次是创建一个webscript来返回给你所有的多语言文件(和上面一样,可能不存在)
然后定义一个块,比如工作流或版本块,这样文件的链接就会出现。
https://stackoverflow.com/questions/8850401
复制相似问题