2

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

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

想法/建议/例子?

4

5 回答 5

4

我们之前的内部 CMS 使用了一个编辑人员似乎喜欢的相当简单的模型:在每个输入字段上,有一排薄薄的切换按钮(由 JS 驱动)选择当前正在编辑的语言:

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

它们的行为有点像单选按钮,例如选择一个取消选择所有其他按钮,并且文本框立即翻转以反映该值。这些按钮足够小,可以在输入字段上方大约 16 处放置,然后才开始变得笨拙。

我还建议在页面顶部使用“主切换”,它可以同时切换所有控件。

于 2009-05-15T19:30:17.720 回答
3

为了跟进@mikehall 上面的回答,我会做这样的草图:

本地化数据输入 http://redbitbluebit.com/images/language.png

当然,我的翻译是编造的;-)

于 2009-05-18T14:12:41.100 回答
2

我们有一个旧的 MFC 应用程序可以执行此操作。它有一个名称文本框,该名称将是您以对话框的当前语言(当前用户设置并正在查看应用程序的语言)管理的对象的名称。然后下面有一个列表视图,您可以在其中为您支持的每种语言添加其余名称。

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

于 2009-05-15T21:34:38.843 回答
1

我在每个内容条目中存储一个“区域设置”ID(例如,产品 1、区域设置 1;产品 1、区域设置 2 等...)

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

这样,您可以将“US-English”和“US-Spanish”与墨西哥的西班牙语分开存储。

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

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

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

于 2009-05-15T22:42:32.533 回答
0

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

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

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

串行接口可以简单地通过一个循环来呈现,该循环遍历您当前支持的任何语言。

于 2009-05-15T21:36:49.710 回答