0

だから私は自分のサイトを複数の言語で提供しようとしています。

URL を変更せずにページの言語を変更するオプションが欲しいです。(YouTubeと同じです)

私の質問: URL を同じに保ちながら、複数の言語で Web サイトを提供するにはどうすればよいですか? また、検索エンジンによって各言語のインデックスが作成されます

これが私の現在の考えです:

私の現在の考えは、各ページで言語変数を探すことです (Cookie またはユーザー設定で設定されます)。

次に、その変数から、対応する言語のテキストを含む配列を持つファイルをロードします。

ここで、配列から値を取得して要素内に配置します。

検索エンジンの場合、get 変数として get the language オプションを設定できます。

しかし、この方法は最善ではないかもしれません

4

2 に答える 2

3

言語を Cookie に保存します。Xouはすぐそこにいます。次に、言語に基づいてファイルをロードします。このファイルは XML や YAML のようなものです。

XML (英語):

<string id="title">My Page</string>

XML (ドイツ語):

<string id="title">Meine Seite</string>

XML (クリンゴン):

<string id="title">DutlhHo'</string> <!-- not actually klingon -->

これを解析するだけです。

于 2016-02-16T16:27:49.567 に答える
1

TL;DR; クッキー戦術を使用する

できることはいくつかあります。オプションの中には次のようなものがあります。

  1. サブドメインを使用します。例: en .example.com/whatever/comes/here
  2. URL パスで使用しますexample.com/ en /whatever/comes/here
  3. 言語を取得する Cookie を設定する

それぞれの方法の短所

#1

これにより、言語をサブドメインとして設定することになるため、実際のサブドメインを追加することがより困難になりますが、技術的には異なる言語の同じコンテンツです。

#2

これを自分で行うと、URL の解析がより複雑になります。言語が設定されているか設定されていないかを考慮する必要があります(おそらく、デフォルトの言語を設定します)。デフォルトの言語を設定しない場合は、すべてのリンクのパスにその言語が含まれていることを確認する必要があります (これがまだ自動的に行われていない場合)。

#3

これの欠点は、クライアント側のデータを保存していることです。たとえば、ユーザーが Cookie をクリアすると、設定や言語設定が失われる可能性があります。

結論

上記のオプションのうち、3 番目のオプションは、実装するのが最も簡単なソリューションです。サブドメインや URL をいじることはまったくありません。Cookie から値を読み取り、言語がサポートされている場合はロケールをロードし、サポートされていない場合はデフォルトのロケールをロードするだけです。

これは、アプリケーションの一部を再構築する際に最小限の労力しか必要としない、断然最良のオプションです。(使用しているフレームワークがない場合)

他の情報なしで言語データを Cookie に保存する場合、これに Cookie を使用することによる実際のセキュリティ上の欠点はありません。これは、機密データを保存していないためです。そのため、その Cookie を盗む人は、サイトで表示する言語以外は何も知りません。これは、99.9999% の状況ではまったく関係ありません。

もちろん、この質問は他の人の経験/意見に依存しているため、これは少し偏った答えですが、事実は上記で言及されています(非常に短く、不完全ですが、要点はわかります)。

于 2016-02-16T16:33:05.293 に答える