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

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

提前致谢

有帮助吗?

解决方案

什么大约只有一个文本字段和含有该语言一个下拉菜单。选择语言,并填写文本字段后场被提交和所选择的语言从下拉列表中消失。 输入值和语言,然后出现的下拉列表和文本框用的方式编辑/删除其下方。这样一来,它总是以明确的语言已经覆盖和值分配给他们的用户。此外它如果不是所有10种语言已被强制填写,如果用户例如一个更好的方式只知道英语和法语。

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

其他提示

您可以有3个文本框,这很好......到10,和它开始变得有点疯狂。除此之外,它开始看起来相当不错。

也许你可以把多达5个说文本框起来......但如果它超越5(因为用户希望超过5个地方的定位),它把一个下拉一个文本框旁边,和下拉将包含当前语言。

文本框将与用于在下拉选择的语言的电流值自动填充。应在asp.net工作得很好,它可以在一个岗位来完成这两个客户端或服务器端回很容易地,所以你不需要做任何疯狂的人不运行的JavaScript。

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

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

请注意以下事项:

  1. 内容长度因语言而异。
  2. 从右到左的字母扰乱了你的对齐方式

这是一个使用 NUNIT 或类似的经典项目,以证明添加新翻译后一切正常!

你在开发中使用什么语言?如果是像PHP,那么你绝对应该使用模板和文本字符串从配置文件加载到他们的每一种语言。在Smarty的,例如,我使用配置文件为

有关错误信息或类似的东西文本字符串可以放在像.ini文件,并从那里加载。

Google 网络工具包 (GWT) 演示 显示同一页面,提供英语、法语、阿拉伯语和中文版本。

GWT 文档对以下内容进行了深入讨论 国际化. 。您可以模仿他们的实现。

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

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

W3C 还讨论了 HTML 内容国际化最佳实践.

通常情况下,一个导航网站的用户将有优先指定的全部的网站的语言。我认为这将是混乱打破这种格局。

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

您做一个管理页面,允许用户更改应用程序中的其它页面中使用的文字?

如果是这样,你可以使用网格状的泽塔资源编辑器

缩略图http://img202.imageshack.us/img202/7813/zetaresourceeditor02。 th.png

或者你可以做一个每语言列表像 nopCommerce

缩略图http://img249.imageshack.us/img249/9079/nopcommerce .th.png

您可以使用javascipts为你的语言就像一个资源文件。 language_arabic.js language_english 的.js,etc.So当用户想看到他的偏好的语言,他/她选择从下拉列表中可用的语言。对此,用户必须从他/她的计算机上更改语言设置。这是我做的,而我的工作地理信息系统项目定制Geocortex国际货币基金组织(的 http://demos.geocortex.net/imf-5.2.2/sites/demo_geocortex/jsp/launch.jsp )的网站的阿拉伯客户端。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top