2

私は多言語 Web サイト (asp.net) を作成する予定であり、エンド ユーザーが複数の言語で必要なデータのリストを維持する管理画面の UI 作業の多くをどのように処理するのが最善かを考えていました。私が見ることができる良いサンプルアプリケーションを知っている人はいますか?

シナリオ例。管理者が新しい製品を追加するために使用する画面があります。タイトルと説明は、システム内の言語ごとに保存する必要があり、保存するために必要です。新しい言語を追加するたびに UI を変更する必要がない場合、言語の数は動的/構成可能であることが理想的です。

考え/提案/例?

4

5 に答える 5

4

以前の社内 CMS では、編集者が気に入ったように見えるかなり単純なモデルを使用していました。各入力フィールドの上に、現在編集中の言語を選択するトグル ボタン (JS を使用) の細い行がありました。

[EN-US] [FR-FR] [SW-SE] [RU-RU] [ZH-CN]
 _____________________________________
| textbox                             |
|_____________________________________|

これらは、ラジオ ボタンのような動作をします。たとえば、1 つを選択すると、他のすべての選択が解除され、テキスト ボックスがすぐに反転してその値が反映されます。ボタンは、扱いにくくなる前に、入力フィールドの上に約 16 個収まるほど小さいものでした。

また、ページの上部にあるすべてのコントロールを同時に切り替える「マスター トグル」をお勧めします。

于 2009-05-15T19:30:17.720 に答える
3

上記の @mikehall の回答をフォローアップするには、次のスケッチのようにします。

ローカリゼーション データ入力 http://redbitbluebit.com/images/language.png

もちろん、私の翻訳は作り話です ;-)

于 2009-05-18T14:12:41.100 に答える
2

これを行う古い MFC アプリケーションがあります。ダイアログの現在の言語 (現在のユーザーが設定し、アプリケーションを表示している言語) で管理しているオブジェクトの名前となる名前のテキスト ボックスがあります。次に、サポートする各言語の残りの名前を追加できるリストビューが下にあります。

アプローチを変える可能性があることの 1 つは、サポートしているすべての言語に名前が必要な場合です。その場合は、リストビューに各言語の行を事前に入力することができます。そうでない場合は、必要に応じて名前を付けて行を追加できます。

于 2009-05-15T21:34:38.843 に答える
1

各コンテンツ エントリに「ロケール」ID を保存します (たとえば、製品 1、ロケール 1、製品 1、ロケール 2 など...)。

ロケールは、言語 (英語、フランス語、日本語など) と地域 (米国、カナダ、日本など) に関連付けられています。

このようにして、メキシコのスペイン語などとは別に、「米国英語」と「米国スペイン語」を保存できます。

通常、ローカリゼーションは言語ベースだけでなく、コンテンツ ベースでも行われます。たとえば、特定の国では利用できない製品がある場合があります。

コンテンツ管理側では、通常、Cookie を介してロケールを設定しています (つまり、ユーザーは「ロケールの変更」を選択してロケールを変更し、コンテンツの編集/作成を続けることができます)。私がこれを行う理由は、コンテンツの読み込みを除いて、通常、同じコンテンツ エントリ担当者が複数の言語を入力することはないためです (また、複数の言語を入力する担当者は、手動で切り替える必要があります。そうしないと、混乱する可能性があります。私はまた一緒に仕事をしますか?」)

これらはいくつかの簡単な指針です -- コメントしてください。私が過去に行ったことに基づいて提案を追加します (個人サイトと、Blockbuster や Avery Dennison などの企業の両方に対して)...

于 2009-05-15T22:42:32.533 に答える
0

もう 1 つの提案は、シリアル UI を使用することです。Add Product UI の場合、タイトル/説明フィールドのリストがあり、サポートされている言語ごとに 1 つずつ設定されています。

これは単純すぎて画面のスペースを無駄にしているように見えるかもしれませんが、いくつかの理由で必要だと思います:

  1. 保存するためにすべての言語に有効な値が必要な場合、単一の動的 UI (Rex M が提案する言語の「ラジオ ボタン」) を使用すると、検証エラーをユーザーに示すことが非常に難しくなります。
  2. 最後のポイントに関連して、シリアル UI を使用すると、言語 UI をすばやくスキャンできます。これは、すべてが入力されていることを確認するだけでなく、ユーザーが入力をすばやく比較できるようにするためでもあります。Add Product の例は、基本的に短い翻訳を入力するための UI であるため、関連する言語間で比較できることは非常に便利です。同様の言語をグループ化することで、これをさらに便利にすることができます。

シリアル インターフェイスは、現在サポートしている言語を反復処理するループによって簡単にレンダリングできます。

于 2009-05-15T21:36:49.710 に答える