Asp.net 什么';管理多语言数据的良好UI设计是什么?

Asp.net 什么';管理多语言数据的良好UI设计是什么?,asp.net,localization,user-interface,globalization,Asp.net,Localization,User Interface,Globalization,我将要创建一个多语言网站(asp.net),并想知道如何最好地处理大部分管理屏幕UI工作,最终用户将维护需要使用多种语言的数据列表。有谁知道我可以看的好的示例应用程序吗 示例场景。我有一个屏幕,管理员将使用添加新产品。需要为系统中的每种语言存储标题和说明,并且需要保存。理想情况下,语言的数量应该是动态的/可配置的,用户界面不需要每次添加新语言时都进行更改 想法/建议/示例?我们之前的内部CMS使用了一个相当简单的模型,编辑们似乎很喜欢这个模型:在每个输入字段上,一小行切换按钮(JS供电)选择了当

我将要创建一个多语言网站(asp.net),并想知道如何最好地处理大部分管理屏幕UI工作,最终用户将维护需要使用多种语言的数据列表。有谁知道我可以看的好的示例应用程序吗

示例场景。我有一个屏幕,管理员将使用添加新产品。需要为系统中的每种语言存储标题和说明,并且需要保存。理想情况下,语言的数量应该是动态的/可配置的,用户界面不需要每次添加新语言时都进行更改


想法/建议/示例?

我们之前的内部CMS使用了一个相当简单的模型,编辑们似乎很喜欢这个模型:在每个输入字段上,一小行切换按钮(JS供电)选择了当前正在编辑的语言:

[EN-US] [FR-FR] [SW-SE] [RU-RU] [ZH-CN]
 _____________________________________
| textbox                             |
|_____________________________________|
它们的行为有点像单选按钮,例如,选择一个会取消选择所有其他按钮,文本框会立即翻转以反映该值。这些按钮足够小,可以在输入字段上方放置大约16个按钮,这样它才开始变得笨重


我还建议在页面顶部设置一个“主切换”,可以同时切换所有控件。

我们有一个旧的MFC应用程序可以实现这一点。它有一个文本框,用于显示您正在管理的对象的名称,该名称使用对话框的当前语言(当前用户已设置并正在使用的语言查看应用程序)。下面是一个列表视图,您可以在其中为支持的每种语言添加其余名称


有一件事可能会改变您的方法,那就是您所支持的每种语言都需要一个名称。如果是这样,您可以在listview中为每种语言预先填充一行。如果没有,那么他们可以根据需要添加带有名称的行。

另一个建议是使用串行用户界面。在添加产品UI的情况下,您将有一个标题/描述字段列表,每个支持的语言一组

这可能看起来过于简单,浪费了屏幕空间,但我认为这是必要的,原因如下:

  • 如果为了保存,每种语言都需要有效值,那么使用单个动态UI(Rex M建议的语言“单选按钮”)将很难向用户指示验证错误
  • 与最后一点相关,串行UI允许快速扫描语言UI。这不仅是为了确保所有内容都已填写,而且还允许用户快速比较输入。Add Product示例本质上是一个用于输入简短翻译的UI,因此能够在相关语言之间进行比较非常有用。通过将类似的语言组合在一起,您可以使其更加有用
  • 串行接口可以简单地通过一个循环来呈现,该循环迭代您当前支持的任何语言。

    我为每个内容条目(例如,产品1,区域设置1;产品1,区域设置2等)存储一个“区域设置”id

    区域设置与语言(英语、法语、日语…)和区域(美国、加拿大、日本…)相关联

    通过这种方式,您可以分别存储“美国英语”和“美国西班牙语”,例如,在墨西哥存储西班牙语

    本地化通常不仅基于语言,而且基于内容。例如,某些国家可能没有某些产品

    在内容管理方面,我通常通过cookie设置区域设置(即,用户可以选择“更改区域设置”,更改区域设置,然后继续编辑/创建内容)。我这样做的原因是,除了内容加载之外,您通常没有相同的内容输入人员输入多种语言(而那些输入多种语言的人应该手动切换,否则他们可能会感到困惑:“现在,我又在使用哪种语言?”)


    这些只是一些快速的提示——评论,我将根据我过去所做的添加建议(无论是个人网站,还是像Blockbuster和Avery Dennison这样的公司).

    为了跟进@mikehall上面的回答,我会做一些类似于以下草图的事情:


    当然,我的翻译是虚构的;-)

    这与我过去实现类似东西的方式非常相似,我喜欢这样,因为这样可以更容易地验证所有语言是否都有值。从用户界面的角度来看,Rex的解决方案可能更酷,使用更少的不动产,但验证可能更难。谢谢你的想法!图像不可用,请重新放置好吗