今日のインターネット時代では、多言語 Web サイトを構築することは非常に一般的です。 Web サイトの閲覧者を増やすために、多くの企業や個人が Web サイトを多言語バージョンにすることを選択します。この場合、多言語の問題にいかに効率的に対処するかが非常に重要なテーマになります。この記事では、PHP 関数を使用して多言語 Web サイトを処理する方法に焦点を当てます。
PHP 処理方法を紹介する前に、まず多言語 Web サイトの原理を理解してください。一般に、多言語 Web サイトでは、まずユーザーのブラウザ言語設定に従って対応する言語バージョンが選択され、次にページのコンテンツが翻訳されて表示されます。この場合、複数の言語バージョンのサポートを実装するにはどうすればよいでしょうか?
現時点では、Web サイトの言語リソースを独立した言語パッケージに配置し、いくつかの識別子を使用してさまざまな言語バージョンのリソースにインデックスを付けることを選択します。この言語パックは通常、XML、JSON などの特定のファイル形式です。翻訳する必要があるすべての文字列は、この識別子を使用して、対応する言語リソースを参照します。
たとえば、Web サイトの英語版では、文字列「about us」は「$LANG['about_us']」と表現でき、Web サイトの中国語版では、文字列「about us」と表現できます。 us" は " $LANG['about_us']" と表現できます。この 2 つに対応する言語リソース ファイルは次のとおりです。
//en.xml <?xml version="1.0" encoding="utf-8"?> <language> <string id="about_us">About Us</string> </language> //zh_CN.xml <?xml version="1.0" encoding="utf-8"?> <language> <string id="about_us">关于我们</string> </language>
<p><?php echo _("about_us"); ?></p>
<?php //获取当前用户的语言偏好设置 $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); //定义语言文件路径 $lang_file = './lang/'.$user_lang.'.json'; //解析语言文件 if(!file_exists($lang_file)){ $lang_file = './lang/en.json';//找不到则默认用英文 } $lang_json = file_get_contents($lang_file); $lang = json_decode($lang_json, true); //定义翻译函数,用于获取对应的翻译串 function __($id){ global $lang; return isset($lang[$id]) ? $lang[$id] : $id; } ?> <!--html代码--> <html> <head> <title><?php echo __('website_title'); ?></title> </head> <body> <h1><?php echo __('welcome_to_website'); ?></h1> <p><?php echo __('about_us'); ?></p> <p><?php echo __('contact_us'); ?></p> </body> </html>
以上がPHP 関数を使用して多言語 Web サイトを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。