多言語コンテンツと翻訳
Oracle Content Managementのアセットは、任意の数の言語に存在できます。 コンテンツ作成者は、アセットを作成する際、リポジトリで有効になっている任意の言語から選択できます。 リポジトリには常にアセットのデフォルト言語が設定され、選択されない場合に設定される言語になります。
アセットは、相互の翻訳にすることもできます。 英語の記事があり、スペイン語に翻訳されるとします。 その後、英語アセットの翻訳であるスペイン語の記事を作成できます。 アセットには、リポジトリで有効になっている言語と同じ数の翻訳を含めることができます。 アセットのすべての翻訳は、同じタイプである必要があります。
同じコンテンツ・アイテムの翻訳のコレクションを「換算セット」と呼びます。 翻訳セットにはマスター・アセットがあり、通常は他の翻訳のソースだったアセットです。 翻訳セットを変更し、任意のセットのアセットをマスターとしてマークできます。

「図headless_multilingual-content_translation-set.pngの説明」
または、アセットは翻訳不可と指定できます。 これらのアセットには、翻訳を追加するオプションはありません。
アセットの翻訳は、次の図に示すように、Oracle Content Managementで管理されます。 この例では、翻訳セットには、マスターとして英語を使用した2つのアセットと、スペイン語の翻訳が含まれています。

「図headless_multilingual-content_translations.pngの説明」
アセットの各翻訳は完全なアセットです。 すべての翻訳が1つのアイテムとしてOracle Content Managementインタフェースに表示されていても、各翻訳は、バックグラウンドのアセットです。 つまり、翻訳は、翻訳セット内の他のアセットから独立して、作成、更新、削除または公開できます。 (翻訳の公開は、公開channel用に定義されたローカリゼーション・ポリシーの対象です。)
翻訳は公開されると、コンテンツ配信APIで使用できます。 さらに、公開された翻訳では、それらがさらに公開された翻訳セット内の他のアセットと一緒に使用している翻訳関係に関する情報も保持されます。
アセットの言語属性
コンテンツの配信および管理APIは、APIペイロードの標準フィールドとして設定された翻訳内のアセットの言語および翻訳可能性を表します。
次の例は、language
およびtranslatable
フィールドを示しています。

「図headless_multilingual-content_api-payload.pngの説明」
使用可能な翻訳の検出
次のvariations
リソース・エンドポイントを起動することで、コンテンツ配信APIで使用可能な公開済の翻訳を検出できます。
GET
https:/. . ./content/published/api/v1.1/{id}/variations/language?channelToken=. . .
これにより、翻訳セットであるコレクションが生成されます。 次の例のitems[]
には、この翻訳セットのアセットの数を表す2つの要素があります。 翻訳セット内の各アセットへのリンクをたどることができます。
{
"setId": "98F6BD881DF46650E053020011ACE0E4",
"masterItem": "CORE6BEF829DE27F41AA9ACC0A3B6825D6C9",
"items": [
{
"id": "CORE6BEF829DE27F41AA9ACC0A3B6825D6C9",
"value": "en-US",
"links": [
{
"href": "http://. . .oraclecloud.com:8080/content/published/api/v1.1/items/. . .?channelToken=. . .",
"rel": "self",
"method": "GET",
"mediaType": "application/json"
}
]
},
{
"id": "CORE8D451A7D43FE401EAC96A80E111406B4",
"value": "es",
"links": [
{
"href": "http://. . .oraclecloud.com:8080/content/published/api/v1.1/items/CORE8D451A7D43FE401EAC96A80E111406B4?channelToken=abb5f9190dd54a99979a7fa04b5506ba",
"rel": "self",
"method": "GET",
"mediaType": "application/json"
}
]
}
],
"links": []
}
アセットの特定の翻訳のフェッチ
クライアント・アプリケーションでは、翻訳をリストせずに、翻訳済コンテンツに自動的に切り替えることが多くあります。
これは、次のように単一のコールで実行できます:
GET https:/. . ./content/published/api/v1.1/{id}/variations/language/es?channelTpken={. . .}
このリクエストのレスポンスは、翻訳セットのスペイン語(es
)アセットになります。 クライアントが存在しない翻訳を要求した場合、結果は404エラー・レスポンスになります。 ただし、404エラー・レスポンスを返すかわりに、Oracle Content Managementをデフォルト言語に戻すように構成できます。 これを行うには、ローカリゼーション・ポリシーをチャネルに関連付けます。 デフォルト言語を使用するローカリゼーション・ポリシーがチャネルに関連付けられている場合、存在しない翻訳のリクエストはデフォルト言語のアセットを返します。
翻訳ジョブ
多くの場合、サード・パーティ・ツールや翻訳チームを使用して、大量のアセットを一括して翻訳する必要があります。 Oracle Content Managementでは、翻訳ジョブを介してこのプロセスがサポートされます。
このプロセスには複数のステップが含まれます:
- まず、翻訳ジョブ(アセット翻訳のライフ・サイクルを通じてトラッキング可能なアクティビティ)に翻訳するアセットを追加します。
- 次に、翻訳ジョブにより、翻訳可能なアセットがエクスポート・ファイルにエクスポートされます。 これは、翻訳が必要なアセットのすべてのコンテンツのアーカイブ(zipファイル)です。 サード・パーティまたは統合により、このアーカイブを検査して必要な翻訳を提供できます。 これらの翻訳は、翻訳プロセスの一部と同じアーカイブに追加されます。
- 翻訳されたアセットを含むアーカイブがOracle Content Managementにインポートされます。 インポート時に、翻訳済アセットが作成され、それらのアセットのマスター/元のアセットおよび相互にリンクされて、翻訳セットが作成されます。
- 翻訳は、マスター・アセットにリンクされたOracle Content Managementにあり、さらに処理および公開できます。

「図headless_multilingual-content_translation-jobs.pngの説明」
さらに学ぶ...