私は、サイト所有者がさまざまな言語でページやブログ投稿を追加/削除できるサイトを構築しています。
各ページまたはブログ投稿へのURLは次のようになります。
http://site.com/en/path/to/some/page
http://site.com/es/blog/path/to/some/post
ユーザーが言語を切り替えられるように、ページの上部に言語または国のセレクターを追加する予定です。新しい言語が設定されると、言語が再び切り替わるまで、この言語がセッション全体に適用されます(メインインターフェイスの言語も切り替えられます)。
したがって、英語のブログ投稿http://site.com/en/blog/my-awesome-blog-post
を閲覧している場合、スペイン語のボタンをクリックするとhttp://site.com/es/blog/mi-blog-impresionante
にリダイレクトされます。
問題は、ブログの投稿/ページが1つの言語で投稿される可能性があることですが、翻訳されたバージョンが翻訳されるまでに時間がかかる場合があります。
上記の場合、スペイン語版がまだ作成されていないとします。どうすればよいですか?
ボタンを使用して言語を切り替える場合は、まだ使用できない言語の外観を変更しますが、それでもクリックできるようにします。たとえば、ページの翻訳版がまだ利用できない言語では、ボタンが薄く表示されるようにします。
ユーザーが「色あせた」ボタンをクリックすると、メインインターフェイスが選択した言語に切り替わりますが、ブログ/ページのコンテンツは英語で表示されます。さらに、「このページはまだ[言語]ではご利用いただけません」の行に沿って、ページ上部に翻訳された通知を表示します。
私はスペイン語版が作成されるまでスペイン語のボタンを表示しないと言います(このようなコード-if(spanish){display button})。ただし、常にボタンが必要な場合は、「ユーザーを翻訳が現在利用できないことを示すプレースホルダーページ。」
そこであなたは彼らに彼らの電子メールを提出するように提案することができるので、所有者が翻訳をしたらあなたはスペイン語で投稿へのリンクをユーザーに電子メールで送ることができます。いくつかの追加コードを記述する必要がありますが、メールをユーザーに求める本当に良い方法です:D(これは勝者です-所有者はメールを受け取り、ユーザーは投稿を読むことができる言語に翻訳されます)。
ENとSPバージョンがあるまで、投稿を公開しないことをお勧めしますが、この方法では、投稿にかかる時間を考える必要があります。翻訳する必要があり、長すぎる場合は上記のバージョンを使用する必要があります。翻訳が投稿を公開するまで待つことがどれほど重要かをオーナーに尋ねる必要があります。
2つの関数を単一のコントロールにオーバーロードします。メインの言語を切り替え、この記事の言語を切り替えます。
ブログにアクセスするユーザーの視点から見てください。彼らは見ているページの言語を話しません。これは、この言語切り替え機能のほぼすべてのユーザーです。検索するほとんどの人は、最初から正しい言語に到達します。ほとんどのユーザーは頻繁に言語を切り替えません。彼らは自分たちの言語を選び、その時点から、他の翻訳に気づくこともほとんどありません。
したがって、あなたの最も重要なユースケースは、「ヘルプ、外国語のページで迷子になっています。私のライフラインはどこにありますか?」彼らは、このブログ投稿が別の言語で利用できるかどうかを気にしません...ナビゲーション機能を理解するためにも切り替える必要があります。このため、すべてのページで常に言語切り替え機能を使用できるようにする必要があります。ターゲットの投稿が希望の言語で利用できない場合は、エラーまたは通知メッセージ(赤い「申し訳ありませんが、その投稿は英語では利用できません。ホームページにリダイレクトされました。 。翻訳に興味がある場合は、ここをクリックしてください。」)
この機能の2番目に一般的なユーザーはバイリンガルであり、流暢に基づいて別の翻訳で記事を表示したり、理解を練習したり、翻訳で何が必要かを知りたい場合があります。別の「この記事はEN、ES、DE、ITで利用可能です」というドロップダウンなどで表示できます。
しかし、私はこれらのニーズの両方が単一のウィジェットで満たすことができると思います。ページの上部に、サポートする言語をリストします(数に応じて、フラグ、2文字のコード、または完全な単語を使用できます)。現在の記事が利用できる言語は、強調表示されたり、太字になったりすることがあります。現在の記事が利用できない言語は、色褪せる可能性があります。
この方法は、単一言語の話者に逃避経路を提供すると同時に、試行錯誤を数回行った後、記事で使用できる言語に関する情報を多言語ユーザーに提供します。