PHP翻訳とウェブサイト国際化ガイド

Yee
Aug 03, 2024

PHP翻訳とウェブサイトの国際化
PHPファイルの翻訳の必要性は、ウェブサイトやWebアプリケーションで多言語対応を実現するために通常発生します。これにより、ウェブサイトはユーザーの言語設定に応じて適切なコンテンツを表示することができます。
翻訳とプロジェクト実践
私たちは複数のプロジェクトでウェブサイトの国際化を成功させており、以下にその中で使用した一つの方法を紹介します。
まず、PHPファイルの翻訳を完了するためにO.Translatorを選択しました。後ほどその具体的な使い方を簡単に紹介します。
O.Translatorはオンラインのドキュメント翻訳プラットフォームで、PHPファイルの翻訳をサポートし、世界70以上の言語に翻訳することができます。
O.Translatorを使用することで、PHPファイルを直接多くのターゲット言語に翻訳し、プロジェクト内でユーザーが選択した言語に基づいて動的にロードすることができ、ウェブサイトの多言語対応を実現します。
以下は具体的な実践方法です:
ディレクトリ構造
プロジェクトのディレクトリ構造が以下のようになっていると仮定します:
project_root/
├── index.php
├── example.en.php
├── example.cn.php
├── example.fr.php
文案ファイルの作成
ある言語のPHP静的文案ファイルを作成して編集します。ここでは中国語を例にします。
example.cn.php
他の言語に翻訳する
O.Translator ホームページにアクセスします。
翻訳開始ボタンをクリックして、ログインを完了します。
ファイルをアップロードし、必要に応じて言語を選択し、翻訳開始をクリックします。
翻訳が完了するのを待ち、目標言語の翻訳を取得します。
example.en.php
O.Translator は無料プレビューを提供しており、無料プレビューでは一部の内容を翻訳してユーザーに参考として提供します。満足した場合にのみ、残りの内容を翻訳するためにポイントを支払います。
これが O.Translator を選ぶ理由の一つです:満足しない商品に対して支払う必要がありません。
主ファイル(index.php)
主ファイルindex.php
では、ユーザーの言語選択に基づいて対応する言語ファイルをロードします。
<?php
// ...
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'en';
switch($lang) {
case 'en':
include('example.en.php');
break;
case 'cn':
include('example.cn.php');
break;
case 'fr':
include('example.fr.php');
break;
default:
include('example.en.php');
break;
}
// ...
?>
html テンプレートで以下のように使用します:
<!DOCTYPE html>
<html lang="<?php echo $lang; ?>">
<head>
<meta charset="UTF-8" />
<title><?php echo $_['heading_home']; ?></title>
</head>
<body>
<header>
<h1><?php echo $_['heading_home']; ?></h1>
<nav>
<ul>
<li><?php echo $_['heading_about']; ?></li>
<li><?php echo $_['button_read_more']; ?></li>
</ul>
</nav>
</header>
</body>
</html>
補足説明
- ユーザーの言語選択を取得
ここでは、GET パラメータ(例: ?lang=en)を通じてユーザーが選択した言語を取得することを仮定しています。他の方法として、セッション、クッキー、またはブラウザの言語設定を使用することもできます。
- パフォーマンスの問題
複数の PHP ファイルを頻繁にロードおよび解析すると、一定のパフォーマンスオーバーヘッドが発生する可能性があります。
- 拡張性
言語の種類や文案の数が非常に多い場合、複数の言語ファイルを管理することが複雑になる可能性があります。