我将创建一个多语言网站 (asp.net),并且想知道如何最好地处理大部分管理屏幕 UI 工作,最终用户将维护需要以多种语言显示的数据列表。任何人都知道我可以查看的任何好的示例应用程序吗?
示例场景。我有一个管理员将使用的屏幕添加新产品。需要为系统中的每种语言存储标题和描述,并且需要进行保存。理想情况下,语言的数量是动态的/可配置的,每次添加新语言时 UI 都不需要更改。
想法/建议/例子?
我将创建一个多语言网站 (asp.net),并且想知道如何最好地处理大部分管理屏幕 UI 工作,最终用户将维护需要以多种语言显示的数据列表。任何人都知道我可以查看的任何好的示例应用程序吗?
示例场景。我有一个管理员将使用的屏幕添加新产品。需要为系统中的每种语言存储标题和描述,并且需要进行保存。理想情况下,语言的数量是动态的/可配置的,每次添加新语言时 UI 都不需要更改。
想法/建议/例子?
我们之前的内部 CMS 使用了一个编辑人员似乎喜欢的相当简单的模型:在每个输入字段上,有一排薄薄的切换按钮(由 JS 驱动)选择当前正在编辑的语言:
[EN-US] [FR-FR] [SW-SE] [RU-RU] [ZH-CN]
_____________________________________
| textbox |
|_____________________________________|
它们的行为有点像单选按钮,例如选择一个取消选择所有其他按钮,并且文本框立即翻转以反映该值。这些按钮足够小,可以在输入字段上方大约 16 处放置,然后才开始变得笨拙。
我还建议在页面顶部使用“主切换”,它可以同时切换所有控件。
我们有一个旧的 MFC 应用程序可以执行此操作。它有一个名称文本框,该名称将是您以对话框的当前语言(当前用户设置并正在查看应用程序的语言)管理的对象的名称。然后下面有一个列表视图,您可以在其中为您支持的每种语言添加其余名称。
可能会改变您的方法的一件事是,您支持的每种语言是否都需要一个名称。如果是这样,您可以让列表视图为每种语言预先填充一行。如果没有,那么他们可以根据需要添加带有名称的行。
我在每个内容条目中存储一个“区域设置”ID(例如,产品 1、区域设置 1;产品 1、区域设置 2 等...)
区域设置与语言(英语、法语、日语...)和地区(美国、加拿大、日本...)相关联
这样,您可以将“US-English”和“US-Spanish”与墨西哥的西班牙语分开存储。
本地化通常不仅基于语言,而且基于内容。例如,某些产品可能在某些国家/地区不可用。
在内容管理方面,我通常通过 cookie 设置区域设置(即用户可以选择“更改区域设置”,更改区域设置,然后继续编辑/创建内容)。我这样做的原因是,除了内容加载之外,您通常没有相同的内容输入人员输入多种语言(而那些必须手动切换的人,否则他们会感到困惑:“现在,什么语言是我又一起工作了?”)
这些只是一些快速指示——评论,我将根据我过去所做的添加建议(对于个人网站,以及像 Blockbuster 和 Avery Dennison 这样的公司)......
另一个建议是有一个串行用户界面。在添加产品 UI 的情况下,您将有一个标题/描述字段列表,为每种支持的语言设置一组。
这可能看起来过于简单和浪费屏幕空间,但我认为这是必要的,原因如下:
串行接口可以简单地通过一个循环来呈现,该循环遍历您当前支持的任何语言。