MT Translator
はじめに
MT Translatorは、多言語サイト制作の作業を大幅に軽減するプラグインです。 Excelで作成した翻訳辞書ファイルを記事/ウェブページ編集画面からアップロードすることで、翻訳元言語から対象言語へテキストを差し替えることができます。 また、Google Cloud Translation APIキーや、DeepL APIキーを使用した翻訳も可能です。
対応バージョン
- Movable Type 7(r.4605以降)
- Movable Typeクラウド版
- Movable Type for AWS
このプラグインの利用、及び著作権や保証について
このプラグインの著作権は株式会社COLSISが所有しています。著作権者の許可なく本プラグインを使用、改変、再配布することはできません。
主な機能
ウェブサイト複製機能
ウェブサイトおよび配下のブログを全て複製します。
対訳プレビュー機能
翻訳元言語と翻訳対象言語の両記事を一画面に表示して確認することができます。
翻訳履歴参照機能
過去にアップロードした翻訳辞書ファイルの履歴を参照、ダウンロードします。また、アップロード時点でのテキストの差分を確認することもできます。
翻訳辞書ファイルダウンロード機能
記事/ウェブページの内容を翻訳辞書ファイル(Excel)としてダウンロードします。
翻訳辞書ファイル一括ダウンロード
ウェブサイト/ブログ内の全記事/ウェブページの翻訳辞書ファイル(Excel)を一括でダウンロードします。
翻訳辞書ファイル一括アップロード
複数の翻訳辞書ファイル(Excel)を一括でアップロードし、翻訳します。
リンクパス置換機能
翻訳元記事/ウェブページに含まれるリンクのパス部分を指定した文字列で置換します。
翻訳対象フィールド指定機能
記事/ウェブページ/コンテンツデータにおいて翻訳対象となる入力フィールドを指定することができます。デフォルトでは、タイトル(title)、本文(text)、続き(text_more)が対象となっています。
マルチバイト文字チェック機能
翻訳対象の入力フィールドにマルチバイト文字が残っているかどうかをチェックし、警告を表示することができます。
新規記事/ウェブページの複製機能
翻訳元のウェブサイトから複製を作成後に、翻訳元ウェブサイト/ブログに記事/ウェブページを追加した場合、複製サイト側にもその複製を追加することができます。
Google Cloud Translation APIのサポート
Google Cloud Translation APIを利用して、記事/ウェブページの翻訳、ウェブサイト/ブログ単位での一括翻訳を行うことができます。
DeepL APIのサポート
DeepL APIを利用して、記事/ウェブページの翻訳、ウェブサイト/ブログ単位での一括翻訳を行うことができます。
Pro版、Free版のどちらでもご使用可能です。
文字数の制限などはDeepLのサイトよりご確認ください。
カスタム翻訳機能
翻訳対象文字列の抽出およびその翻訳を外部プラグインで実施することができます。
共通辞書機能
システムで共通の辞書を持つことができます。固有名詞など訳語を統一したい場合などに利用できます。
記事/ウェブページ一覧画面から一括翻訳機能
一覧画面からGoogle Cloud Translation API、DeepL APIを利用しての一括翻訳を行うことができます。
インストール
Zipアーカイブファイルを展開すると、以下のフォルダが作成されます。
Translator
├── README.html
├── mt-static
│ └── plugins
│ └── Translator
├── plugins
└── Translator
├── extlib
├── lib
├── tmpl
└── Translator.pl
「Translator/plugins/Translator」ディレクトリをMTのプラグインディレクトリへコピーしてください。また、「Translator/mt-static/plugins/Translator」ディレクトリをMTのインストールディレクトリの直下にある、「mt-static/plugins」ディレクトリへコピーしてください。
使い方
MT Translatorでサイトを翻訳する場合、以下の手順で行います。
- 翻訳元ウェブサイトのプラグイン設定を行う
- 翻訳元ウェブサイトを複製する
- 翻訳対象ウェブサイトのプラグイン設定を行う
- 翻訳辞書ファイルをダウンロードする
- 翻訳辞書ファイルを編集する
- 翻訳辞書ファイルをアップロードする
- 翻訳対象ウェブサイト全体を再構築する
ここまでで、一通り翻訳されたサイトが出来上がります。
その後、必要に応じて各記事/ウェブページごとに、
- 翻訳内容を確認する。
- 修正した翻訳辞書ファイルを再度アップロードする。
などの作業を行います。
以降では、日本語から英語のウェブサイトの作成を例に説明していきます。
1.翻訳対象ウェブサイトのプラグイン設定を行う
翻訳元となるウェブサイトのプラグイン設定画面を開き、以下の項目を設定します。
プラグイン有効化
プラグインを有効にします。
種類
現在設定を行っているウェブサイト/ブログを翻訳元として指定します。
使用言語
現在設定を行っているウェブサイト/ブログの言語をISO 639-1コードで指定します。ここでは "ja" を指定します。
カスタム翻訳対象フィールド・カスタム翻訳対象コンテンツフィールド
追加のカスタムプラグインを利用する際に使用します。(基本機能では利用しません。)
翻訳元のウェブサイト以下に複数のブログが存在する場合は、同様の設定をそれぞれのブログに対しても行います。
2.翻訳元ウェブサイトを複製する
翻訳元ウェブサイトのプラグイン設定画面を開き、ウェブサイトの複製ボタンを押下するとダイアログが表示されますので、複製するウェブサイトに必要な情報を入力します。
ウェブサイト名
新たに作成されるウェブサイト名を入力します。
ウェブサイトURL
新たに作成されるウェブサイトのURLを入力します。
ウェブサイトパス
新たに作成されるウェブサイトのパスを入力します。
アップロードパス
辞書ファイルをアップロードするファイルパスを指定します。ドキュメントルート以下のパスは指定しないでください。
置き換えるパス
AタグのHREF属性の最初のパスを置き換えます。対象となるパスと新しいパスをカンマで区切って指定します。カンマなしでパスを1つだけ指定した場合、パスの先頭に追加されます。
除外する文字
マルチバイト文字のチェック時に除外する文字を列挙します。
翻訳対象フィールド
記事/ウェブページ/コンテンツデータにおいて翻訳の対象となる入力フィールドをカンマ区切りで指定します。
項目名 | 設定での記述 |
---|---|
タイトル | title |
本文 | text |
続き | text_more |
概要 | excerpt |
キーワード | keywords |
カスタムフィールド | カスタムフィールドのベースネーム |
コンテンツデータ | 入力フィールドのフィールド名を入力
日本語の場合は日本語のまま |
Google Cloud Translation APIキー
Google Cloud Translation APIを利用する場合は、APIキーを入力します。
DeepL APIキー
DeepL APIを利用する場合は、APIキーを入力します。
続けて複製ボタンを押下すると、複製が開始され、進捗が表示された後、完了しますので、閉じるボタンを押下してダイアログを終了します。
3.翻訳対象ウェブサイトのプラグイン設定を行う
複製されたウェブサイトのプラグイン設定画面を開き、以下の項目の設定を行います。
プラグイン有効化
プラグインを有効にします。
種類
現在設定を行っているウェブサイト/ブログを翻訳対象として指定します。
使用言語
現在設定を行っているウェブサイト/ブログの言語をISO 639-1コードで指定します。ここでは "en" を指定します。
使用言語 | 言語コード |
---|---|
英語 | en |
中国語(簡体) | zh / zh-cn |
中国語(繁体) | zh-tw |
韓国語 | ko |
アップロードパス
辞書ファイルをアップロードするファイルパスを指定します。ウェブサイトの複製時に指定した値が表示されていますので、変更が必要な場合は編集してください。ドキュメントルート以下のパスは指定しないでください。
翻訳元ブログID
翻訳元のウェブサイト/ブログのIDを指定します。ウェブサイトの複製時に指定した値が表示されていますので、そのままにしておきます。
置き換えるパス
AタグのHREF属性の最初のパスを置き換えます。対象となるパスと新しいパスをカンマで区切って指定します。カンマなしでパスを1つだけ指定した場合、パスの先頭に追加されます。ウェブサイトの複製時に指定した値が表示されていますので、変更が必要な場合は編集してください。
除外する文字
マルチバイト文字のチェック時に除外する文字を列挙します。ウェブサイトの複製時に指定した値が表示されていますので、変更が必要な場合は編集してください。
翻訳対象フィールド
記事/ウェブページ/コンテンツデータにおいて、翻訳の対象となる入力フィールドを指定します。ウェブサイトの複製時に指定した値が表示されていますので、変更が必要な場合は編集してください。
カスタム翻訳対象フィールド
記事/ウェブページにおいて、外部プラグインで翻訳対象文字列の抽出/翻訳を行いたい入力フィールドを指定します。ここで指定するフィールドは、「翻訳対象フィールド」にも指定する必要があります。
Google Cloud Translation APIキー
Google Cloud Translation APIを利用する場合は、APIキーを入力します。
DeepL APIキー
DeepL APIを利用する場合は、APIキーを入力します。
DeepL プラン
Freeプラン、Proプランのどちらかを選択します。
ウェブサイト以下にブログが存在する場合は、同様の設定をそれぞれのブログに対しても行います。
4.翻訳辞書ファイルをダウンロードする
複製されたウェブサイトのプラグイン設定画面を開き、「一括ダウンロード」ボタンを押下するとダイアログが開き、翻訳辞書ファイル生成の進捗が表示されます。
翻訳辞書ファイルの生成が完了すると、Zipアーカイブ形式にまとめられたファイルのダウンロードを開始しますので、ファイルを保存してください。
5.翻訳辞書ファイルを編集する
ダウンロードした翻訳辞書ファイルは、次の命名規則に従ったファイル名がつけられています。
- TranslationDic-(エントリID)-(タイトル).xlsx
- ContentData-TranslationDic-(エントリID)-(タイトル).xlsx
エントリIDが11533、タイトルが「未翻訳記事」の場合、ファイル名は次のようになります。
- TranslationDic-11533-未翻訳記事.xlsx
- ContentData-TranslationDic-11533-未翻訳記事.xlsx
翻訳辞書ファイルを開くと、A1セルの「タイトル」、A3セルの「URL」に続き、「No」、「日本語」、「英語」、「コメント」の4つの列があります。5行目以降が訳語の入力欄となり、A列「No」、B列「日本語」は、MT Translatorによって入力済みですので、「日本語」に対応する訳をC列「英語」に入力してください。D列「コメント」の使用は任意であり、MT Translatorプラグインの動作に影響を及ぼしません。
現在のバージョンでは、翻訳辞書ファイルのファイル名は固定です。「エントリID」を基に翻訳すべき記事/ウェブページを特定していますので、変更すると不具合が生じます。現在のバージョンでは、翻訳辞書ファイルのC列4行目は翻訳言語にかかわらず「英語」と記載されます。現在のバージョンでは、翻訳辞書ファイルのフォーマットは固定です。訳語が入力される列、開始行は変更できません。また、訳語の途中に空行があると、それ以降の行を認識しません。
6.翻訳辞書ファイルをアップロードする
翻訳辞書ファイルの編集が完了したら、Zipアーカイブ形式にまとめてアップロードします。
プラグイン設定画面を開き、「翻訳辞書ファイル」のファイルインプット欄にZipファイルを指定し、「一括アップロード」ボタンを押下します。
アップロードが終了するとメッセージが表示され、翻訳の完了です。
7.ウェブサイト全体を再構築する
ウェブサイトの複製、翻訳辞書ファイルのアップロードが完了すると、データベースの内容は更新されていますが、静的ファイルは生成されていませんので、ウェブサイト全体の再構築を行ってください。
翻訳内容を確認する
MT Translatorプラグインをインストールすると、記事/ウェブページ編集画面の右下に、翻訳ウィジェットが表示されます。
翻訳履歴によって、いつどのようなファイルがアップロードされ、翻訳されたかを確認することができます。
翻訳履歴の日時が示すリンクをクリックすると、翻訳ログのダイアログが表示されます。翻訳ログでは、翻訳辞書ファイルのアップロードによって翻訳された内容の差分を確認したり、翻訳辞書ファイルのダウンロードを行うことができます。
翻訳ウィジェットの「対訳プレビュー」ボタンを押下することで、翻訳元の記事/ウェブページと翻訳対象記事/ウェブページの両方を1つの画面でプレビューすることができます。プレビュー画面では、上下、左右、タブの三つの表示モードで切り替えが可能です。2画面のうち、どちらかをスクロールすると、もう一方の画面も追従してスクロールします。また、どちらか一方の画面でリンクをクリックすると、もう一方の画面も同じリンク先へ遷移することができます。
リンクをクリックして画面遷移した場合、ブラウザの戻るボタンでは、両画面同時に戻ることができないため、専用の戻る/進むボタンを用意していますので、こちらを利用して画面遷移を行ってください。
修正した翻訳辞書ファイルを再度アップロードする
未翻訳の語句が残っていたり、語句を修正した場合、翻訳辞書ファイルを再度アップロードすることにより、記事/ウェブページの内容を変更することができます。
変更したい記事/ウェブページの編集画面を開き、翻訳ウィジェット内の項目「翻訳辞書ファイル」に翻訳辞書ファイルを指定し、コメントを入力して、「更新」ボタンを押下します。
2回目以降の翻訳辞書ファイルのアップロードでは、現在の記事/ウェブページの内容に対して翻訳を行います。もし、翻訳元の内容を基に再度翻訳をやり直したい場合は、「翻訳元テキストを再度取得し翻訳する 」チェックボックスにチェックをつけて、「更新」ボタンを押下します。
共通辞書を利用する
システム全体で共通の辞書を利用する場合は、システムプラグイン設定画面で操作を行います。
まず最初に「テンプレートファイルをダウンロード」をクリックして、共通辞書ファイルのテンプレートをダウンロードします。
ダウンロードしたファイル(Excel形式)を開くと、「テキスト」、「翻訳テキスト」、「言語」、「翻訳言語」、「コメント」の5つのカラムが表示されます。「テキスト」には翻訳前のテキスト、「翻訳テキスト」には翻訳後のテキスト、「言語」には翻訳前のテキストの言語を、「翻訳言語」には翻訳後のテキストの言語をそれぞれ入力してください。
ファイルの編集が終わったら、「共通辞書ファイル」でファイルを指定し、アップロードをしてください。
アップロードした共通辞書の内容は、「共通辞書の内容を確認」をクリックすると、ダイアログが開きますのでそこで確認できます。
共通辞書の内容を変更したい場合は、「ファイルをダウンロード」をクリックして共通辞書ファイルをダウンロードし、編集後再度アップロードしてください。
共通辞書の内容を初期化したい場合は、「共通辞書を初期化」をクリックしてください。
共通辞書はエクセルファイルのアップロードによる翻訳の場合のみ、その利用の優先度を変更することができます。「共通辞書優先」と「個別辞書優先」(エクセルファイル優先)のどちらかを選択してください。デフォルトでは「個別辞書優先」に設定されています。
注意事項
現在のところ、以下の注意事項があります。
翻訳辞書ファイルの一括ダウンロード/アップロード機能について
翻訳辞書ファイルの一括ダウンロード/アップロードを行った際、記事/ウェブページの数が多い場合、サーバ側でタイムアウトを起こし、エラーになることがあります。その際は、サーバ側のタイムアウト値を伸ばしてください。
翻訳辞書ファイル名とフォーマットについて
現在のバージョンでは、翻訳辞書ファイルのファイル名は固定です。「エントリID」を基に翻訳すべき記事/ウェブページを特定していますので、変更すると不具合が生じます。
翻訳辞書ファイルのフォーマットも固定です。訳語が入力される列、開始行は変更できません。また、訳語の途中に空行があると、それ以降の行を認識しません。
ウェブサイトの複製機能について
ウェブサイトの複製を行った場合、記事のトラックバック、コメント、アイテムは複製されません。アイテムについては、翻訳元記事内で参照される画像のURLがそのまま使用されています。複製後のウェブサイトでアイテムの利用が必要な場合は、再度登録をしなおしてください。
GoogleTranslate APIについて
GoogleTranslate APIではAPIキーを使用するため、Basicプランのみ対応しております。Advanceプランではご利用いただけません。
DeepL APIについて
DeepL APIではFreeプラン、Proプラン共に対応しております。
更新履歴
- DeepL APIでの翻訳に対応しました。
-
- 「未翻訳の語句をダウンロードする。」のリンクで Excel 形式のファイルをダウンロードするように変更
- 「未翻訳の語句をダウンロードする。」のリンクがコンテンツデータでは動作していない不具合を修正しました。
- テキスト(複数行)フィールド、データ識別ラベルの翻訳がうまく行かない不具合の修正
- Movable Type 7 への対応
- 辞書ファイルに改行を含む場合でも置換されるようにした。
- PerlモジュールList::MoreUtilsがインストールされていない環境での動作不具合を修正した。
- 翻訳辞書ファイルの一括アップロードによる翻訳での不具合を修正した。
- Google Cloud Translation APIで翻訳が失敗する不具合を修正した。
- 共通辞書をサポートした。
-
- 特定フィールドの外部プラグインによる翻訳機能を実装した。
- 不具合を修正した。
-
- Google Cloud Translation APIでの翻訳をサポートした。
- 不具合を修正した。
-
- 新規に作成した翻訳元記事の複製機能を実装した。
- 不具合を修正した。
-
- 翻訳辞書ファイルの一括ダウンロードをダイアログで行うようにした。
- ウェブサイトの複製機能を実装した。
- 不具合を修正した。
- 最初のリリース