開発者向け
KenticoCloudでのローカリゼーションの操作
By Bryan Soltis
世界中の聴衆のために開発するとき、あなたは多言語を考えなければなりません。母国語でコンテンツを提示することは、視聴者とつながり、はるかに個人的な体験で情報を提供するのに役立ちます。最近、Kentico Cloudのアップデートをリリースして、データのローカリゼーションを可能にし、ほぼすべての言語でコンテンツを編集および保存できるようにしました。このブログでは、プロジェクト内でこの新しい機能を活用する方法を紹介します。
グローバルにビジネスを行う企業は、ローカライズされたコンテンツの価値を知っています。さまざまな文化の情報を提示することで、ユーザーエクスペリエンスをパーソナライズし、より個人的なレベルでユーザーと結び付けることができます。 Kentico EMS開発者はこの機能を何年も活用してきましたが、Kentico Cloudを選択することは、コンテンツを単一の言語に制限することを意味しました。今まで!
Kentico Cloudは定期的に、多くの場合隔週でメジャーアップデートを取得します。これはSaaSであるため、サービスを活用する既存のアプリケーションに影響を与えることなく、プラットフォームのすべてのユーザーに新しい機能を展開できます。最近、コミュニティから最も要望の多かった機能の1つであるKenticoCloudコンテンツの新しいローカリゼーションサポートを開始しました。この機能により、編集者はすべてKenticoCloudポータル内から複数の言語でコンテンツを作成および管理できます。 APIが更新され、開発者はすべての呼び出しに対して言語バリアントを指定できるようになりました。また、「デフォルト」言語にフォールバックするかどうか、いつフォールバックするかを決定するために設定できる構成があります。
このブログでは、この新機能を使用して多言語サイトを構築する方法を紹介します。 Kentico Cloudプロジェクトを構成し、コンテンツを定義および作成し、APIを利用して新しいデータを取得する方法について説明します。方法をお見せしましょう!
コンテンツの作成
私の最初のステップは、コンテンツを作成することでした。私の非常に素晴らしいデモのために、私は何か普遍的なものを考え出さなければなりませんでした。映画!誰もが見ていますが、国によってタイトルが違うことがよくあります。さて、私はアイデアを思いついたので、それは私のプロジェクトにありました。
デフォルトのコンテンツを作成する
Moviesという単純なコンテンツタイプを作成しました。要素については、タイトル、年、ジャンル、ポスター(画像用)、リンクを作成しました。
コンテンツを定義した後、コンテンツアイテムを作成しました。もちろん、私は史上最高のクリスマス映画から始めました!
言語バリアントの追加
デフォルトのコンテンツを作成した後、2つの新しい言語バリアントでプロジェクト構成を更新しました。
クイックヒントに記載されているように、言語バリアントには任意の値を定義できます。バリアントは、実際にはコンテンツのバージョンの単なる識別子です。これは、カルチャコード、名前、またはその他の意味のある値を自由に入力できることを意味します。私のデモでは、チェコ語とフランス語の実際の文化コードを使用して、物事を整理しました。
バリアントごとに、デフォルト言語にフォールバックするかどうかを選択できることに注意してください。これは、コンテンツアイテムが新しいバリアントに翻訳されていない場合、APIは代わりにデフォルトの言語バージョンを返すことを意味します。サイトを構築するときは、必要な機能を正確に取得できるように、このことを念頭に置いてください。
ローカライズされたコンテンツの追加
バリアントを配置したら、ローカライズされたコンテンツを入力する準備が整いました。コンテンツアイテムごとに、言語バリアントを選択しました(新しいバリアントを定義した後に有効になる新しいドロップダウンを使用)。
次に、バリアント固有の情報でコンテンツを更新しました。
チェコ共和国が、ジョン・マクレーンの休日の歓声を広めるという壮大な物語である素晴らしさを認めているのを見てうれしかったです。
在庫の表示
コンテンツを更新した後、コンテンツインベントリを表示しました。この画面には、各コンテンツアイテムのステータスが表示されるため、翻訳が必要なアイテムを特定できます。言語バリアントのドロップダウンを使用して、バリアントを切り替えることもできます。
私はファイトクラブとユージュアルサスペクツをフランス語に翻訳しなかったことに注意してください。はい、彼らはそこでそれらを見たと確信していますが、名前は同じで、デモするものが必要でした。
プロジェクトの作成
コンテンツが整ったので、サイトを作成する準備が整いました。出発点として、Kentico Cloud .NET CoreBoilerplateを選択しました。このプロジェクトにはすでに多くの優れた機能が組み込まれているため、簡単に選択できました。また、Kentico Cloud Code Generatorプロジェクトを活用して、サイトに含めるMovieクラスを作成しました。
Kentico Cloud .NET Core Boilerplateプロジェクトの詳細については、こちらをご覧ください。
コードの更新
プロジェクトとクラスを更新した後、コードに移動しました。ホームコントローラーで、インデックス関数を更新して、新しいムービーコンテンツタイプをプルしました。
次に、プロジェクトを新しいムービー表示テンプレートで更新し、レイアウトを追加しました。
私はサイトをテストして、すべてが正しく見えることを確認しました。
多言語サポートの追加
サイトが正常に機能し、映画を見ることができることを確認した後、言語バリアントのサポートの追加に移りました。これを行うには、ルーティング、ある種の言語セレクターを追加し、API呼び出しを更新する必要がありました。
私のStartUp.csで、次のマッピングを追加しました。このコードにより、URLの一部としてカルチャを指定できました。
次に、非常に複雑な言語セレクターをIndex.cshtmlに追加しました。リンクはユーザーを同じページにリダイレクトし、言語バリアントを追加します。