-1

会社用に開発した Web サイトに HTML/PHP/jQuery を使用しています。彼は、自分の Web サイトに多言語サポートを追加することを要求しています。

これを行うにはさまざまな方法があると確信しているため、これを達成するための最良の方法(またはベストプラクティスの方法)を見つけようとしています。

チュートリアルのあるサイトを見つけました。ここをクリック

これはセッションで PHP を使用します。

これはこれを行う良い方法ですか、それともより良い方法がありますか?

付け加えると、同社のウェブサイトは 30 ページあり、1 ページあたり約 200 ~ 300 語です。

4

3 に答える 3

1

個人的には url クエリ文字列パラメーターを使用しません。URL の一部としてよりクリーンな方が望ましいです。次に例を示します。

http://en.example.com/

また

http://www.example.com/en/

gettext次に、これに加えて、 PHPがサポートしていると思われるUNIXスタイルの翻訳を使用する傾向があります- http://php.net/manual/en/function.gettext.php

JavaScript 側になると少し面倒ですが、同様の実装があります。

于 2013-03-20T23:02:04.117 に答える
0

ここに私の考えがあります:

  • 少しでも SEO/SEM に関心がある場合は、JavaScript でローカライズしないでください。
  • あらゆる種類の CMS を使用している場合は、コンテンツをデータベースでセグメント化し、対応するローカライズされたフィールドを CMS で編集する必要があります。
  • CMS を使用していない場合は、各言語の各ページのコンテンツを特定の PHP/HTML スニペット ファイルに読み込むことを検討してください。
  • ローカライズされた文字列が多い場合は、Poeditgettext()の使用を検討してください
于 2013-03-20T23:21:33.000 に答える
0

はい、これはphpアプリケーションでローカリゼーション リソースを宣言する方法です。Key/Value基本的に、これが示唆しているように、ローカライズしているリソースと特定のロケール文字列との間のペアリングを作成するオブジェクトのパリティが必要です。

pure を使用してこれを行いたい場合はJavaScript、ほとんど同じです。、、などのさまざまなJavaScriptロケール ファイルでオブジェクトを宣言する必要があります。これは、コードのサーバー側ではなく、ユーザーによって提供される特定のロケール文字列に対して行われます。これらのファイルの内容は次のとおりです。locale-en.jslocale-de.jslocale-fr.jsJavaScript

locale-en.js

myApplication = myApplication || {};

myApplication.locale = {
    title: "English title",
    body: "English body",
    // Etc.
};

残りのファイルには、まったく同じオブジェクトが含まれていますが、異なる言語の文字列が含まれています。次に、クライアント側のコード内でこれらの文字列を参照すると、次のようになります。

<script type="text/javascript" src="locale-*language*.js"></script>
<script type="text/javascript">
    $('#title').text(myApplication.locale.title); //jQuery
    // Pure JavaScript
    document.getElementById('title').innerHTML = myApplication.locale.title;
</script>
于 2013-03-20T23:02:52.210 に答える