ホームページ  >  記事  >  バックエンド開発  >  多言語ウェブサイトを構築する方法はありますか?

多言語ウェブサイトを構築する方法はありますか?

WBOY
WBOYオリジナル
2016-12-01 00:57:111198ブラウズ

Smarty を使用して Web サイトを作成しましたが、英語版を追加したいと考えています。すべてのテキスト翻訳は json に保存されます。1 つは中国語バージョン用、もう 1 つは英語バージョン用の json です。

現在、私たちは問題に直面しています:
デフォルト言語は $_SERVER['HTTP_ACCEPT_LANGUAGE'] に基づいて取得されますが、中国人ユーザーが英語のオペレーティング システムを使用できるようにする (またはその逆) ために、言語を強制的に切り替えるオプションを作成したいと考えています。以前は COOKIE を使用して実行していましたが、検索エンジンがデフォルトの中国語ページしか参照できず、英語ページをスキャンできないという問題がありました。

中国語ページが移動しないことを考慮して、英語ページを mydomain.com/en/ に変更した結果、smarty の tpl テンプレートはルート ディレクトリに残り、その際に 404 エラーが大量に発生しました。参照しました。

また、サーバーは URL ルーティングをサポートしていない (RewriteRule が使用できない) ため、ルーティング パラメーターの転送メソッドは機能しません。

Google のコンテンツ ガイドラインによれば、パラメータを渡すために get を使用することは推奨されていないため、パラメータを渡すために url get を使用することは推奨されなくなりました。

現在の問題は、テキストのレンダリングのみが異なる、2 つの URL を使用して同じ Web サイトをできるだけ簡潔に表現する方法です。 URLルーティングやパラメータ取得は使用できません。

3 番目の方法は、中国語版を mydomain.com/zh/ にすることを考えましたが、愚かな気がして、ドメインが空になってしまいます。

返信内容:

Smarty を使用して Web サイトを作成しましたが、英語版を追加したいと考えています。すべてのテキスト翻訳は json に保存されます。1 つは中国語バージョン用、もう 1 つは英語バージョン用の json です。

現在、私たちは問題に直面しています:
デフォルト言語は $_SERVER['HTTP_ACCEPT_LANGUAGE'] に基づいて取得されますが、中国語のユーザーが英語のオペレーティング システムを使用できるようにする (またはその逆) ために、言語を強制的に切り替えるオプションを作成したいと考えています。以前は COOKIE を使用して実行していましたが、検索エンジンがデフォルトの中国語ページしか参照できず、英語ページをスキャンできないという問題がありました。

中国語ページが移動しないことを考慮して、英語ページを mydomain.com/en/ に変更した結果、smarty の tpl テンプレートはルート ディレクトリに残り、その際に 404 エラーが大量に発生しました。参照しました。

また、サーバーは URL ルーティングをサポートしていない (RewriteRule が使用できない) ため、ルーティング パラメーターの転送メソッドは機能しません。

Google のコンテンツ ガイドラインによれば、パラメータを渡すために get を使用することは推奨されていないため、パラメータを渡すために url get を使用することは推奨されなくなりました。

現在の問題は、テキストのレンダリングのみが異なる 2 つの URL を使用して、同じ Web サイトをできるだけ簡潔に表現する方法です。 URLルーティングやパラメータ取得は使用できません。

3 番目の方法は、中国語版を mydomain.com/zh/ にすることを考えましたが、愚かな気がして、ドメインが空になってしまいます。

https://www.microsoft.com/zh-cn
実際、バカなことではないと思います = =結局のところ、大企業がそれを使用しています。

apple英文站apple.com,中文站是apple.com/cn

どのフレームワークを使用しているかわかりませんが、テンプレートの位置の問題を修正するためのfilter,捕获/en/xxxリクエストを追加できると思います。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。