多言語対応のサイトで、こんなことが起きていないでしょうか。
・言語切り替えのボタンを押すと、ほとんどのページは英語になる
・ところが、一部分だけ日本語のまま残っている
・設定を見直しても、キャッシュを消しても、そこだけ変わらない
先日、実際にこの症状を調べる機会がありました。原因が分かりましたので、同じことでお困りの方のために書いておきます。
■ 結論:翻訳の仕組みが「見えていない」文字がある
多くの翻訳プラグインは、ページをブラウザに送り出すときに「ページに書かれている文字」を別の言語に置き換えています。
ここで大事なのは、置き換えの対象が「ページに文字として書かれているもの」だという点です。ところがページの中には、文字として書かれていないのに、画面には文字として出るものがあります。
・カタログやパンフレットを埋め込んだ部分
・後から組み立てているスライダーや一覧
・データをまとめて持たせておいて、開いたあとに展開する作り
これらは、ページが届いた時点では「文字」ではなく「データのかたまり」です。翻訳の仕組みから見ると、そこに文字があるように見えません。そのため素通りしてしまいます。
そして、画面に文字が出てくるのは、翻訳の処理が終わったあとです。もう手を入れる機会がありません。
■ 自分のサイトがこれに当たるか、確かめる方法
設定をいじる前に、1つだけ確かめてみてください。英語版のページを、ブラウザではなく「そのまま」取得して、中に日本語がどれだけ残っているかを数えます。
私が調べたサイトでは、英語版のページの中に日本語が1万文字以上、そっくりそのまま残っていました。日本語版とくらべても、1文字も違いませんでした。
この数え方の良いところは、見た目に頼らないことです。画面を目で追っていると見落としが出ますが、数えれば一度で分かります。
■ どう直すか
残念ながら、プラグインの設定では直りません。仕組みが届いていないので、設定の問題ではないためです。方法は2つあります。
【1】その部分に、はじめから英語の文章も持たせておく。日本語と英語の両方を用意し、言語に応じて出し分けます。確実ですが、英語の文章を用意する作業が必要です。
【2】後から組み立てる作りをやめて、文字として書いておく。翻訳の仕組みが届くようになります。ただしページが重くなることがあります。
どちらが良いかは、その部分がどれくらい更新されるかによります。毎月書き換える場所なら【1】、ほとんど変わらない場所なら【2】が向いています。
■ よくある誤解
「プラグインの設定が足りないのでは」「有料版にすれば直るのでは」。これは私も最初に疑いました。ですが原因が「文字として存在しない」ことなので、どの翻訳プラグインに変えても、同じ場所が同じように残ります。
先に原因を確かめてから手を打たれることをお勧めします。設定を触り続けても時間だけが過ぎてしまいます。
当方では、多言語サイトの翻訳漏れを機械で洗い出す作業を承っております。「どこが訳されていないか」を一覧にしてお出しします。1回だけのお試しも承っておりますので、気になる箇所がございましたらお気軽にご相談ください。
最後までお読みいただき、ありがとうございました。