外国語自動翻訳機能
バージョン1.13.0よりCMSの公開画面を外部のAPIにより自動翻訳する機能を追加しました。
概要
公開画面のHTMLを外国語に自動翻訳する機能です。
翻訳先の言語(日本語→英語 など)と、APIを設定することで、公開画面を翻訳できます。
APIは Microsoft Translator Text API または Google Translate API を設定可能です。
APIはサブスクリプション、翻訳文字数によって課金が発生します。
実際の課金額については、利用するAPIのドキュメントを確認してください。
翻訳の切り替えは、専用のパーツを用意しており、公開画面に設置すると、言語を切り替えるプルダウンが表示されます。
プルダウンから言語を選択すると、翻訳先のURLに遷移します。
遷移後、HTML内のテキストをAPIに送信し、翻訳結果を置換、表示します。
一度、翻訳された箇所はキャッシュとしてデータベースに保存されます。
翻訳キャッシュは管理画面にて確認、編集可能です。
公開画面の翻訳およびキャッシュの作成は、翻訳先のURLアクセス時に動的に実行されます。
注意点として、公開画面翻訳の際、JavaScriptで動的に追加された要素の翻訳は対応していません。
設定
自動翻訳機能を利用するには、シラサギの設定とAPIの準備が必要です。
言語設定
管理画面の サイト設定>自動翻訳>言語 を開くと利用可能な言語一覧が表示されます。
seedからデモデータを登録した場合、言語が設定されますが、
設定されていない場合、以下のCSVを手動でインポートしてください。
lang.csv
API設定
管理画面の サイト設定>自動翻訳>設定 を開くと基本情報とAPI設定が表示されます。
ステータスを有効にして、元言語コード、翻訳言語コードを選択してください。
言語設定で設定した言語を選択可能です。
次に利用するAPIを設定してください。
Microsoft Azure API
-
Microsoft Azure アカウント準備
APIを利用する Microsoft Azure アカウントを用意します。
クレジットカードを登録して、適切なサブスクリプションを設定する必要があります。 -
リソースの作成
用意したアカウントで Microsoft Azure Portal にサインインします。
ポータルからリソースの作成をクリックします。
Marketplaceの検索が表示されるので Translator Text と入力して検索します。
Translator Text が検索にヒットしますので、作成をクリックします。
名前、サブスクリプション、価格レベル、リソースグループを適切に設定し保存すると、リソースのデプロイが開始されます。
デプロイが完了した後、リソースに移動をクリックします。 -
サブスクリプションキーの取得
2で作成したリソースに遷移します。
リソース管理>クイックスタートに開始するためのキー(key1)が表示されます。
このkey1の値をメモします。 -
シラサギの設定
APIで Microsoft Translator Text API を選択します。
サブスクリプションキー に 3 でメモしたkey1を入力し、保存します。
Google Translate API
-
Google アカウント準備
APIを利用する google アカウントを用意します。
クレジットカードを登録して、適切なサブスクリプションを設定する必要があります。 -
Cloud Translation API 有効化
用意したアカウントで Google Cloud Platform にサインインします。
ダッシュボードから APIとサービス>ライブラリ を選択します。
Cloud Translation API を検索して有効に設定してください。 -
プロジェクトの設定
ダッシュボードからAPIを利用するプロジェクトを選択してください。
プロジェクトが無い場合は新規作成してください。
プロジェクトIDをメモしてください。 -
認証情報作成
ダッシュボードから認証情報を選択してください。
“+認証情報を作成” をクリックして サービスアカウント を選択してください。
サービスアカウントの名前、IDを入力して続行をクリックします。
役割を選択で Project>オーナー を選択して続行をクリックします。
“+キーの作成” をクリックします。
キーのタイプ JSON を選択して、作成ボタンを押すと、秘密鍵がダウンロードされるので、保管してください。 -
シラサギの設定
APIで Google Translate API を選択します。
プロジェクトID に 2でメモしたIDを入力します。
サービスアカウント秘密鍵 に 3でダウンロードした秘密鍵を登録し、保存します。
APIリクエスト文字数制限
APIに翻訳テキストを送信すると、APIリクエスト文字数がカウントアップされます。
文字数上限を設定しておくと、設定上限を超えた際に、公開画面にエラーを表示し翻訳を停止します。
エラーのHTMLは制限超過時の表示HTMLに設定可能です。
翻訳ツールパーツ
翻訳言語を切り替えるため、パーツ “自動翻訳/翻訳ツール” を作成、設置してください。
公開画面で言語をプルダウンで切り替えられるようになります。ブラウザの言語設定によってプルダウンの言語は変化し、ブラウザの言語設定が英語に設定されている場合、以下のような英語のプルダウンが表示されます。