多言語対応を行う際に、PHPの中に埋め込まれた文字列を別の言語に翻訳することを「PHP翻訳」 と呼ばれます。
また、PHPファイルそのものを別の言語バージョンに変換するプロセスも指すことがあります。
主にウェブページやソフトウェアのGUI(グラフィカルユーザーインターフェース)の国際化(i18n)・多言語化(L10n)においてPHP翻訳は重要な役割を果たします。
ポイントはHTMLファイルの中にある固定文言を翻訳し、対象言語のユーザーに合った形で表示することです。
PHP翻訳の基本的な手順
一般的に、PHP翻訳の基本的な手順はこのようになります。
- PHPファイル内のすべての文字列を特定し抽出する。
- 抽出した文字列を翻訳する。
- 翻訳したテキストを適切なファイルに配置する。
- 多言語化対応のためのコード(ローカライゼーション/国際化関数)をPHPファイルに導入する。
- 対象の言語が指定されたときに、該当の翻訳版テキストを表示するようにする。
各ステップについて、具体的なツールやテクニックを紹介していくことにしましょう。
PHPファイル内のすべての文字列を特定し抽出する
PHPファイル中の文字列の抽出方法は、手作業で行う方法と自動で行う方法があります。
手作業で行う場合は、エディタを使いPHPファイルを一つひとつ開いては該当箇所をコピー & ペーストするという作業になります。
エラーが発生しやすく作業効率も悪いためあまり推奨されません。
逆に自動抽出ツールを使用すれば、効率よく、しかも確実に関連文字列を特定できます
抽出した文字列を翻訳する
次に抽出した文字列を翻訳します。
自動翻訳ツールもあるものの、やはり専門的な知識が必要な場合や、特定の文脈でのみ使用される専門用語などの翻訳品質を保つために、専門の翻訳者に依頼するのが一番です。
また、各翻訳の単位を一括管理し、翻訳作業をスムーズに進行させるためのツール、例えば「ローカリゼーション管理ツール」が役立ちます。
翻訳したテキストを適切なファイルに配置する
翻訳したテキストは、別途作成した特定の言語バージョン用のPHPファイルに配置します
PHPでは、一般的に .php という拡張子を使用しますが、翻訳用ファイルには .po(Portable Object)や .mo(Machine Object)などの拡張子を使用することが一般的です。
多言語化対応のためのコードをPHPファイルに導入する
ここでは、「gettext」を利用することが一般的です。
これは、翻訳されたテキストと対応したメッセージIDと呼ばれるものを管理する為の機能です
PHPファイル内でこのgettextを呼び出すことにより、動的に翻訳されたテキストを表示できます。
対象の言語が指定されたときに、該当の翻訳版テキストを表示するようにする
最終的に、ユーザーが指定した言語に従って、適切な翻訳テキストを表示するための処理が求められます。
これは、通常、ブラウザの言語設定やユーザーが選択した言語を判定し、対応する翻訳テキストを表示しましょう。
まとめ
以上、PHP翻訳の手順や関連ツールについて一通り紹介しました。
翻訳作業は多少複雑に思えるかもしれませんが、適切なツールや人材、プロセスを導入すれば、非常にスムーズに多言語対応ウェブサイトを構築することができます。
最後までお読みいただき、ありがとうございました。