Polylang & Lingotek Translation で WordPressブログを多言語化してみた
お父ちゃんがハックスターなど海外向けの記事を書いているので、折角だからブログも多言語化したいな〜と思い実装してみました。
( …集中線付けてみました。集中線追加ツール )
目次
プラグイン選び
参考にさせて頂いたサイト
WordPressサイトをグローバルに多言語対応する方法 | ワードプレステーマTCD
1記事に対して複数記事を作成出来るとのことで qTranslate X も良いかと思いましたが、最終更新日が3年前となっており、
また
・停止のときに少し面倒
・重い
という面もあるらしいので、Polylang にしました。
※ qTranslate X についての参考記事
qTranslate-Xの使用をやめて停止する方法【更新停止が問題点】
Polylang にした理由
Polylang は、インストール後のプラグイン設定画面で促される Lingotek Translation というプラグインをインストール・有効化することで、クラウドによる自動翻訳が可能になります。
自動翻訳を生成後に必要な箇所を手直ししてアップする形が簡単で良さそうと思いました。
また、他プラグインとの干渉も少なくトラブルが少ないようなのでそこも安心材料でした。
導入・設定
Polylang の設定
Polylang をインストール、有効化します。
設定についてはこちらが参考になりました
サイトの多言語化に便利なPolylangプラグイン | 西沢直木のIT講座
重要な設定
まずデフォルト言語である「日本語」を作成して、既存記事をデフォルトの言語に設定する
これを逃すと後で設定が大変になるそうです。
Lingotek Translation の設定
Lingotek Translation のインストールを促す表示がページ上部に表示されているので、有効化する。
アカウント登録
有効化するとアカウント登録画面が表示されるので、登録する。
そういえばここでパスワードの設定がちょっと謎でした。
入力するパスワードによって「○分待つ必要がある」といったメッセージが表示されて(翻訳文のうろ覚え)、登録ボタンが押せなかったり。
検索してもよくわからず、仕方ないので分数が短いパスワードを選んで登録しました。
(前にもどこかでこうゆうの見たことある気がするけど・・)
登録してインストールが完了するとメニューに「Translation」が表示されます。
言語の追加
「英語」は インストール前に Polylang の設定から追加したのですが、Lingotek Translation からも言語の追加が出来ます。
ZH-CNを作成しましたが国旗が設定されなかったので、国旗は Polylang の設定の方で設定しなおしました。
Translation > Dashboard
プラグイン > Polylang [設定]
カテゴリなどの翻訳設定
カテゴリーとタグはデフォルトではDisabledになっているので Manual に変更しました
Translation > Manage
多言語用に必要なカテゴリは翻訳しておく必要があります。
(日本語のカテゴリは使えません)
事前に翻訳済みだと、記事の翻訳時に自動的に対応カテゴリを付与してくれます。
対応カテゴリが無い場合はカテゴリは外れます。
Lingotek Translation で翻訳
記事の翻訳
「記事一覧」画面に、言語の国旗とマークが追加されています。
まずは日本語国旗の下のアップロードボタンを押します。
処理中の表示に変わります
完了するとオレンジのプラスボタンになります
翻訳したい言語のプラスボタンをクリックします
処理中の表示に変わります
完了するとダウンロードボタンになるので、クリックします
しばらくすると翻訳元の記事の前後に、翻訳された記事が生成されます。
(画面がリロードされるので、過去記事だと一瞬行方不明になります。)
この後は手動で直して行きたいので、記事下の「Disassociate translations」をクリックします
リロードされ、「Disassociate translations」の表示がなくなります
翻訳作業でちょっと注意事項は、ボタンを押して処理が終わるたびにリロードされるので、過去記事だと元の画面に戻るのが少し大変だったりします。
翻訳された記事の修正
カテゴリについて
カテゴリなどの翻訳設定 にも記載しましたが、カテゴリを事前に翻訳しておいた場合は対応するカテゴリが付与されます。
カテゴリの翻訳方法
カテゴリの翻訳方法については、記事と同じです。
カテゴリ一覧画面で同様の翻訳作業を行っていきます。
アイキャッチについて
アイキャッチは外れるので、設定し直す必要があります。
これももしかしたらメディアが翻訳済みの場合は対応するメディアがセットされるのかもしれませんが、
画像は日本語と同じものを使用したいので設定しなおす運用にします。
注意事項
「言語」設定をいじると、記事の連携がとれて戻せなくなるので、ここはいじらないほうが良いようです。
サイトに翻訳メニューを表示する
ウィジェットから追加する
ウィジェットから追加可能になります。
「言語スイッチャー」が追加されています。
外観 > ウィジェット
タグで追加する
ヘッダはウィジェット管理していないのでタグで追加しました。
1 2 3 |
<ul> <?php pll_the_languages(array('show_flags'=>1,'show_names'=>1,'hide_current'=>1));?> </ul> |
上記は
・国旗とタイトルの表示
・カレント言語は表示しない設定
に設定にしています。
公式ドキュメントにその他設定についても記載されています。
残課題
Crayon Syntax Highlighter のコードも翻訳されてしまうので、回避方法はないか?
翻訳精度について
お父ちゃんによると、正しい日本語で書いたような文章だと結構良い感じで翻訳されるらしいですが、フランクな感じだと難しいそうなので書き直しているそうです。
イービルの記事を翻訳してみましたが・・中国語のタイトルすごい。
https://homemadegarbage.com/zh/evil-magic-3
黑暗之王!!
色々翻訳してみたくなりました。
追記:多言語化廃止(2022.2.11)
多言語ページを廃止することにしました。
サイトの高速化を図るため PageSpeed Insights でトップページをチェックすると
英語URL(https://homemadegarbage.com/en/)にリダイレクトされてしまう様子。
英語圏なら自動的に英語TOP(/en/)が表示されてしまうということなのかな?
久々に確認すると、最新記事は2019年のまま止まっていた・・・
多言語ページに強制リダイレクトされてしまう状況は逆に良くないのでは・・?
それならコンテンツの多い日本語TOPを表示してGoogle翻訳で読んで貰った方が良さそう・・。
というわけでプラグインを停止することにしました。
廃止手順
ヘッダから記述削除
1 |
<?php pll_the_languages(array('show_flags'=>1,'show_names'=>1,'hide_current'=>1));?> |
プラグインの無効化
Polylang と Lingotek Translation を無効化
とりあえずこれだけで廃止は完了です。
翻訳記事は残る
翻訳記事は通ワードプレス内に残るので安心です。
カテゴリの整理
各言語用のカテゴリも残されていて重複して表示されたりするので整理。