PHP で多言語 Web サイトを実装する方法

王林
リリース: 2023-05-22 11:32:01
オリジナル
1089 人が閲覧しました

インターネットの普及に伴い、多言語をサポートする必要がある Web サイトが増えています。これは、Web サイトの閲覧者がさまざまな地域や文化的背景を持っている可能性があり、Web サイトが 1 つの言語でしか利用できない場合、訪問者の数と体験が制限される可能性があるためです。この記事では、PHPで多言語Webサイトを実装する方法を紹介します。

1. 言語ファイルの作成と設計

言語ファイルは、すべてのテキスト文字列とそれに対応する翻訳を保存するファイルであり、特定の形式で作成する必要があります。言語ファイルを作成するときは、次の点を考慮する必要があります:

1. 名前付けと保存場所

ファイル名は、ファイルがどの言語に属し、Web サイトのセクションに属しているかを明確に示し、保存する必要があります。アクセスと管理が簡単なフォルダー内。

2. 変数名の選択

変数名は意味があり、理解しやすく覚えやすいものにする必要があり、Web サイトのさまざまな部分は名前の接頭辞によって区別できます。

3. 翻訳の精度と形式

翻訳は、原文の意味を正確に反映し、文法と語彙の正しい形式に従っている必要があります。

2. PHP 関数を使用して多言語を実装する

1. 言語ファイルを読み取る

PHP では、関数 file_get_contents() を使用して言語ファイルから文字列を読み取ります。 json_decode() 関数を使用して JSON 文字列を配列に変換し、テキスト文字列とその対応する翻訳にキーと値のペアを介してアクセスできるようにします。

たとえば、次のコード スニペットは、「de.json」という名前のドイツ語ファイルを読み取る方法を示しています:

$language = "de";
$file = "translations/" . $language . ".json";
$string = file_get_contents($file);
$translations = json_decode($string, true);
ログイン後にコピー

2. デフォルト言語を設定する

ファイルを定義する名前付き $lang の定数はデフォルト言語を表します。たとえば、次のコマンドは英語をデフォルト言語として設定します:

define('LANG', 'en');
ログイン後にコピー

3. ユーザーが選択した言語に基づいて言語を切り替えます

ユーザーが言語を切り替える必要がある場合は、次のことができます。 GET または POST リクエストを使用します。言語セレクターは、ナビゲーション メニューとして、または Web サイトの上部にあるドロップダウン メニューとして提供できます。

たとえば、次のスニペットは、「lang」という名前の GET リクエストに応答し、それを現在の言語に設定する方法を示しています:

if (isset($_GET['lang'])) {
    $_SESSION[LANG] = $_GET['lang'];
}
ログイン後にコピー

4. キーと値のペアに基づいてテキストを出力します

言語固有の文字列を出力するには、echo や print などの表示機能を使用して、キーに対応する翻訳を入力します。次のコード スニペットは、PHP でテキスト文字列を出力する方法を説明しています。

echo $translations['PAGE_HEADER'];
ログイン後にコピー

この例では、文字列「PAGE_HEADER」は言語ファイルで定義されたキー識別子です。

3. データベースを使用して多言語を保存する

Web サイトのコンテンツを動的に管理する必要がある場合は、データベースに多言語のテキスト文字列を保存できます。さらに、多言語管理システムを Web サイトのバックエンドに配置し、テキスト文字列を追加、編集、削除するためのインターフェイスを提供することができます。

1. 言語サポートの追加

新しい言語のサポートを追加する場合、データベースにレコードを挿入できます。各レコードには、テキスト文字列キー、テキスト文字列値、および言語の識別子が含まれます。たとえば、次の例では、言語識別子「fr」を持つ新しい言語レコードを挿入します。

INSERT INTO translations (key, value, lang) VALUES ('PAGE_TITLE', 'Titre de la page', 'fr');
ログイン後にコピー

2. テキスト文字列とその翻訳を取得する

接続文字列と SQL クエリを使用して、言語固有のテキスト文字列のキーと値を取得できます。次のコード スニペットは、フランス語のページ タイトルの翻訳を取得する方法を示しています。

$lang = 'fr';
$key = 'PAGE_TITLE';
$query = "SELECT value FROM translations WHERE key='$key' AND lang='$lang'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);
echo $row[0];
ログイン後にコピー

ここで、$conn はデータベースに接続されている変数です。

4. 結論

この記事では、PHP で多言語 Web サイトを実装する方法を紹介します。これは、言語ファイルを作成および設計し、PHP 関数を使用して多言語機能を実装し、データベースを使用して複数の言語を保存することによって実現できます。どの方法を選択するかに関係なく、多言語 Web サイトは多様な視聴者により適切にサービスを提供し、サイトのアクセシビリティと人気を高めることができます。

以上がPHP で多言語 Web サイトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート