2009-08-24 111 views
1

我有一个小型应用程序,将由西班牙语和英语用户使用。该应用程序有大约四个具有各种asp.net功能的网页。数据库后端是健全的。多语言应用程序UI

前端/用户界面的最佳方法是什么?两个网站使用不同的语言?一个包含EN,ES全部文本的网站?或者是一个单独的网站,其文字以他们选择的语言出现?

编辑:这是一个ASP.NET应用程序

回答

0

两个网站不同的语言是大量的维护工作。所做的任何修改都需要进行两次。出于这个原因,作为程序员,我不喜欢它。但是,如果维护站点的人更喜欢这种方式,那么通过一切手段,走这条路。

但是,如果您希望提供合适的双语解决方案,那么使用单一网站实例和多语言数据提供程序肯定会更好。

对于我最近一直在玩的Wordpress来说,这是一个很不错的名字,叫做LangSwitcher。我不知道你如何进行网站设置,或者你正在使用什么来开发它。只是为你抛出一个想法。

0

我不确定如何在.NET中专门做它,但解决方案是将文本存储在数据库中,并选择生成页面的语言(理想情况下由URL(如/ en)或cookie设置)。任何资源都可以存储在“en”和“es”文件夹中,这些文件夹应该使用相同的逻辑进行选择。然后,只要您保持一致,您的翻译人员或图形人员只需查看未翻译的原始文件,翻译,放入适当的文件夹/数据库位置以及中提琴。
任何数量的语言都可以处理,将来可以轻松扩展,如果您对CSS文件进行相同处理,它甚至可以处理大多数语言特定的布局。无论如何,你应该使用CSS做全部布局/造型,部分原因就是这样。

无论如何,您需要不止一种特定于语言的数据,因此您最好尽量使用尽可能多的文本,这样您的图形人员就不必再担负双重任务译员。使用CSS将文本放在图像上可让您为任意数量的语言使用单个图像,并且只需使用CSS样式的文本即可完成一些非常令人印象深刻的内容。如果您想变得棘手,并且不介意为旧版浏览器破坏网站,请考虑使用<canvas>进行渲染。只需在Javascript中定义语言特定的文本&即可。

与此同时,还有一大堆网站小部件可以自动翻译,虽然他们显然不会触及图像(另一个原因是尽可能使用文本:使用翻译工具的任何人都可以读取它) 。我个人是谷歌的粉丝:http://translate.google.com/translate_tools
没有完美,但总比没有好。