1713188285
2024-04-15 07:13:40
Language Manager (LM) バージョン 5.2.0 では、appsettings.json に次のオプションを追加しました。 TranslateOrCopyContentAreaChildrenBlockForTypes。 これは、その名前が示すとおり、LM が宣言された型のコンテンツを翻訳または複製するときに、ContentArea プロパティのコンテンツも一緒に翻訳または複製されます。
上記のオプションに基づいて、5.3.0 アップデートは、コンテンツの翻訳と複製を管理するためのより直感的でカスタマイズ可能なアプローチをユーザーに提供し、ユーザーが翻訳または複製のプロセスを直接設定できるようにします。 特定の型を宣言する必要がなくなる appsettings.json ファイル内。
まずは新機能から始めましょう。自動翻訳/複製機能をクリックすると、新しいダイアログが表示されます。
これは「翻訳プロジェクトに追加」機能で使用するポップアップと同じですが、さらに優れています。 特に、ソース言語の選択がより直感的なドロップダウン メニューにアップグレードされ、以前のラジオ ボタンが置き換えられました。
すべての子を追加、 まさにその名前が示すとおりの動作をします。 このオプションを有効にすると、翻訳プロセス内に特定の親ページのすべての子、つまりサブページが組み込まれます。

例: ページ 1 を翻訳するときにこのオプションを選択すると、上の画像のすべてのページも翻訳プロセスに翻訳されます。
関連コンテンツを追加する、 これはもう少し複雑です。 TranslateOrCopyContentAreaChildrenBlockForTypes オプションを反映して、以前は ContentArea プロパティ内のすべてのコンテンツを排他的に包含していました。
ただし、バージョン 5.3.0 の登場により、この機能を拡張して、すべてのコンテンツを含めるだけでなく、 コンテンツエリア、だけでなく、 コンテンツ参照 そして Xhtml文字列。 この拡張には当然のことながら、 イリスより
上記の 2 つのオプションのいずれかが選択されている場合、3 番目のオプションは 追加されたコンテンツを公開する それに応じて明らかになります:

このオプションを使用すると、ユーザーは新しく追加されたコンテンツを公開するか、下書きとして保持するかを決定できます。 特に、 ルートコンテンツは下書き状態のままになります、公開前にさらなるレビューが確実に受けられるようにします。
ただし、LM の柔軟性を高めるための取り組みはこれで終わりではなく、デフォルトの実装はほんの表面をなぞっただけです。 ユーザーにさらに優れた適応性を提供するために、まったく新しいインターフェースを導入します。 IChildrenContentLoader。
public interface IChildrenContentLoader
{
///
/// Get children from a parent/root content
///
/// The parent or root content
/// Id of the source language
/// Flag to indicate whether including descendants or not
/// Flag to indicate whether including related content or not
/// List of content link that will get translated alongside root
IEnumerable GetChildrenContentsNeedToCopyOrTranslate(ContentReference content, string languageId, bool includeDescendents, bool includeRelatedContents);
}
当然のことながら、ユーザーは特定の要件に合わせてこの動作を自由にカスタマイズできます。 これは、デフォルトの実装をオーバーライドし、次のタイプのサービスを登録することで実現できます。 IChildrenContentLoader 必要な変更を加えます。
今のところはそれだけです。 自由に独自のロジックを考案し、この新機能に関する貴重なフィードバックをお寄せください。 あなたの洞察は、Language Manager をさらに強化するための継続的な取り組みに役立ちます。
2024 年 4 月 15 日
#言語マネージャー #5.3.0 #の新機能