2012-02-13 10 views
0

私が受け取る要件は、Alfrescoのコンテンツ管理を使用してSQL Serverデータベースで利用できる既存のコンテンツをモデル化することです。新しいコンテンツモデルを作成するとうまくいくようです。しかし、私は多言語の問題を抱えています。Alfrescoでは、1つのノードで複数の言語を追加することは可能ですが(Javaを大規模な負荷で使用するにはどうすればいいですか)、翻訳する必要がある点もいくつか使用しました。アルフレコのプログラムによる多言語コンテンツ

この場合、通常何をしますか?

  • は工学のコンテンツを作成し、側面
  • がtranslted新しい子を作成し、

が、それは正しいですな側面を追加追加:私はthougこれは、手順に従うこと?ノードマルチリンガルをプログラム的に作成するにはどうしたらいいですか?また、翻訳された新しいコンテンツにはどのように追加できますか?私はAlfrescoのドキュメントを見ましたが、見つけられませんでした。ドキュメントやチュートリアルを見つけるのを助けてくれますか?

UPDATE:

私はコンテンツmultilangueを作るしようとしている:

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は、それが正しく初期化されていないMultilingualContentServiceImplのでnullPointの例外を発生させます。任意の提案をどのように初期化する?私は春を使うべきですが、どうですか?

どのようなsuggerstionまたは返信は非常に役に立ちます!

おかげで、
アンドレア

答えて

2

あなたが翻訳を追加するMultilingualContentServiceを使用することができます。しかし!多言語コンテンツをサポートするには、プロパティがd:mltext(cm:titleやcm:descriptionなど)である必要があります。

これは、英語のブラウザを使用してalfrescoにアクセスすると、ブラウザでドイツ語の言語設定を使用している人とは異なる説明が表示されることを意味します。共有では、そのプロパティが多言語であることを示す識別子が存在しないため、これは少し混乱することがあります。

翻訳者が使用している言語の種類にかかわらず、より良い方法は、翻訳が必要な数のプロパティでいくつかの側面(ex:translatableなど)を定義することです。次に、(JavaまたはJavaScriptを使用して)プログラム的に検索サービスを使用して、必要なノードを見つけ出し、それらにアスペクトを追加します。最後に、そのアスペクトのプロパティ(変換)をノードに追加します。 mlContainerを、右:

私は、これは物事を少しクリアするのに役立ちます願っています... :)

+0

は、私は、Multilangualをサポートするために、新しいカスタマイズされたタイプを持っている私は、1cmに親のタイプを設定していると仮定しますか? –

+0

まず何をしようとしているのか説明してください。真の多言語(英語のユーザーは英語を参照してください、ドイツ語はドイツ語を参照してください)または翻訳と両方の翻訳を同時に保持できるタイプは同時に表示されますか? –

+0

英語の消費者は英語を、ドイツの消費者はウェブを使用してドイツ語を表示します。作成者はすべてのコンテンツを見る必要があります。英語のコンテンツを作成し、多言語アスペクトを追加し、翻訳付きの新しいコンテンツを作成し、mlChildアソシエーションタイプ –