1

私は現在、複数の言語で表示される Web サイトをプログラミングしていますが、すべての言語で 1 回だけサイトをプログラミングする簡単な方法があるかどうか疑問に思っていました。

たとえば、「lang」という変数があります。基本的に、ユーザーがスペイン語を選択した場合、英語ではなくスペイン語のボタンの画像 (または任意のアセット) をページにロードするようにします。たとえば、「lang」変数を変更すると、「home_button_eng.jpg」という名前の画像は代わりに「home_button_spa.jpg」をロードします。

これには、ページによってロードされる「lang」変数を含む外部ドキュメントを「作成」または「変更」する必要があると考えています。つまり、ユーザーが 'spanish' をクリックすると lang='spa' になり、その language_choice.js ファイルに接続された新しいページが読み込まれます。適切なコンテンツが読み込まれます。

これを行う方法はありますか?スペイン語のすべての英語のページを複製するよりも、むしろこれを行います。

4

2 に答える 2

1

確かに、コンテンツやコードを複製したくはありません。言語コードに基づいて、すべてのアセットをサブフォルダーに整理します。

content\
    en\
       images\
    sp\
       images\

これにより、言語ごとに1つのフォルダーに名前付きファイルが重複することを回避できます。言語を変更するときは、選択した動的言語(Python、PHP、Ruby ...)でセッション変数を保存し、それを使用してすべてのコンテンツに正しい言語コードを入力できます。

コンテンツの動的性に応じて、国際化ファイルを使用してコンテンツを実装し、.poそれら.moを読み込んで見出しやテキストなどを取得しながら、言語ディレクトリのみに基づいて画像やその他のアセットの場所を暗黙的に決定できます。

于 2013-03-01T14:09:22.303 に答える
0

言語固有の変更がすべて画像に関係している場合は、言語固有の CSS ファイルを動的にロードできます。

テキストもある場合は、サポートする言語ごとにローカライズ JSON オブジェクトを作成し、それを動的にロードすることをお勧めします。JSON オブジェクトには、言語固有のテキストまたは画像ソースを含む要素 ID または要素クラスが含まれます。JavaScript を使用してオブジェクト キーを反復処理し、要素参照に関する言語固有のデータを入力します。

于 2013-03-01T14:09:24.303 に答える