多语言用户界面的最佳方法

时间:2009-10-30 11:51:59

标签: asp.net user-interface multilingual user-experience

我正在开发一个多语言的Web应用程序。我想知道如何设计用户可以为各种语言本地化数据的最佳用户界面?例如,在每个lang中制作一个标题不同的页面时,我是否为每个页面设置了一个文本框?这不是一个合适的方法(如果是10个用户,那么用户有10个文本框!!!太傻了) 你对此有何想法?

编辑:我的系统全球化没有问题。事实上,我正在为我的界面设计寻找一种好方法,用户可以在各种语言中将数据输入我的表格。

提前致谢

8 个答案:

答案 0 :(得分:1)

只有一个文本字段和包含这些语言的下拉列表。选择语言并填写文本字段后,字段将被提交,所选语言将从下拉列表中消失。 然后,输入的值和语言将显示在下拉列表和文本框下方,并提供编辑/删除它的方法。通过这种方式,用户始终清楚已经涵盖哪些语言以及为其分配了哪些值。如果不是所有10种语言都必须被强制填写,那么它是一种更好的方式,如果用户例如只知道英语和法语。

希望你知道我的意思,否则我将不得不创建一个示例截图: - )

答案 1 :(得分:1)

你可以有3个文本框,这很好......到10,它开始变得有点疯狂。除此之外,它看起来非常糟糕。

也许你可以说5个文本框...但如果它超过5(因为用户希望本地化超过5个位置)它会放置一个文本框,旁边有一个下拉列表,下拉列表将包含当前语言。

文本框会自动填充下拉列表中所选语言的当前值。应该在asp.net中运行良好,并且它可以很容易地在客户端或服务器端上完成,所以你不需要为没有运行javascript的人做任何疯狂的事情。

答案 2 :(得分:0)

您有一个文本框。 在加载时,您将根据语言填充文本框。

将从某种资源文件中填充内容。如果没有太多文本,它甚至可以进入您的配置文件。

请注意以下事项:

  1. 不同的内容长度取决于语言。
  2. 从右到左字母表拧紧对齐
  3. 这是一个使用NUNIT或类似的经典项目,承诺在添加新翻译后工作正常工作!

答案 3 :(得分:0)

您在开发中使用什么语言?如果这类似于PHP,那么你肯定应该使用模板并从每种语言的配置文件中加载文本字符串。例如,在Smarty中,我使用配置文件。

错误消息或类似内容的文本字符串可以放在像.ini这样的文件中并从那里加载。

答案 4 :(得分:0)

Google Web Toolkit(GWT)demo显示的页面与英语,法语,阿拉伯语和中文版本相同。

GWT文档对internationalization进行了详尽的讨论。你可以模仿它们的实现。

  • 常量:用于本地化键入的常量值
  • 消息:用于本地化需要参数的消息
  • ConstantsWithLookup:与常量相似,但对于高度数据驱动的应用程序具有额外的查找灵活性
  • 字典:将GWT模块添加到现有本地化网页时很有用

请记住,如果您的表单使用日期和时间,则日期和时间在不同的区域设置中表示不同。

W3C还讨论了Internationalization Best Practices in HTML content

答案 5 :(得分:0)

通常,浏览网站的用户将具有指定整个网站语言的首选项。我认为打破这种模式会让人感到困惑。

因此,在介绍页面或用户首选项页面中,允许用户选择一种语言;然后,在其他页面上,显示一组一致的控件,以便能够编辑每个页面上的内容。

答案 6 :(得分:0)

您是否正在制作一个管理页面,允许用户更改应用程序中其他页面中使用的文本?

如果是这样,您可以使用Zeta Resource Editor中的网格:

thumbnail http://img202.imageshack.us/img202/7813/zetaresourceeditor02.th.png

或者您可以制作nopCommerce中的每种语言列表:

thumbnail http://img249.imageshack.us/img249/9079/nopcommerce.th.png

答案 7 :(得分:0)

您可以使用javascipts作为您的语言的资源文件。 language_arabic.js language_english .js等。当用户想要查看他的偏好语言时,他/她从下拉列表中选择了可用的语言。对此,用户必须从他/她的计算机更改语言设置。这是我在开展GIS项目时为阿拉伯客户定制Geocortex IMF(http://demos.geocortex.net/imf-5.2.2/sites/demo_geocortex/jsp/launch.jsp)网站时所做的。