1

ウィキペディアは、URL で言語を記述するのに優れた方法を使用していると思います。

http://en.wikipedia.org/wiki/Main_Page
http://de.wikipedia.org/wiki/Main_Page
http://fr.wikipedia.org/wiki/Main_Page

(言語がウェブサイト名の前にある場合)

このように言語を書く方法はありますか?それとも、すべての言語のページのように非常に複雑ですか? これをパラメーターとして渡して、コンテンツの言語を設定するために使用できるようにしたいと思います。

ウィキペディアのように AddLanguage を含む httpd のものをいくつか調べていますが、それがどのように機能するのか、何をするのかわかりません。

私は httpd や PHP の経験があまりないので、これを行うためのより良い方法があるかもしれません。

助けていただければ幸いです:)

4

1 に答える 1

1

ウィキペディアがこのように処理していることは確認できませんが (そちらの方がはるかに洗練されているのではないかと思います)、単純なサイトの場合は、DNS のワイルドカード ドメイン、単純な URL の書き換え、gettext()またはその他の国際化方法を使用してこれを実現できます。

ワイルドカード ドメインは として登録され*.example.comます。URL 書き換えをサポートする Web サーバーを使用して、最初のサブドメイン コンポーネントを照合し、それをクエリ文字列パラメーターとして PHP に渡します。Apache mod_rewrite を使用した例を次に示します。

# Example apache rewrite subdomain to lang parameter:
RewriteEngine On
# Capture the language subdomain in %1
RewriteCond %{HTTP_HOST} ^([a-z]+)\.example\.com$ [NC]
# And pass the language into PHP as the lang= querystring param
RewriteRule ^(.*)$ index.php?lang=%1

PHP で言語を取得し、$_GET['lang']それを使用して国際化スキームの言語を切り替えます。

ウィキペディアのようなものの場合、同じ記事が複数の言語に翻訳されてデータベースに保存されている可能性があります。Web アプリケーションで文字列を翻訳するだけの場合は、gettext()またはintl

コンテンツの国際化をどのように処理するかは、完全にあなた次第です。ここで重要なのは、ワイルドカード サブドメインを使用して言語を切り替えることができることです。

于 2012-06-21T23:46:47.240 に答える