全球化,本地化,国际化:添加语言(法语等)/ asp.net 4.0 / 新手入门

3
我不是程序员,但我有一个用MS Visual Web Developer 2010 Express(而不是Visual Studio)开发的小型公司网站,所以我并不完全笨拙。我想在我的网站上添加法语和西班牙语。因此,有些网站在URL之后会添加类似于?lang=fr的东西。
由于我不是专业的核心程序员,我需要具有用户友好GUI的程序。与Visual Studio不同,Visual Web Developer 2010没有添加语言的友好选项,或者易于理解的网络教程。
所以我想只将常规页面作为我的英文页面。然后,我可以创建/FR// ES /目录,并将所有aspx和aspx.vb页面复制到它们各自的目录中并进行翻译。然后我会在主页上给终端用户一个选择,“French”或“Espanol”。这样,点击“French”的终端用户将被引导至domain/FR/default.aspx
这个想法有问题吗?实现三种语言是否有更简单、更容易的方法?是否有一种更专业、看起来更专业的方式,我可以理解?
我可以安装JQuery插件。任何能帮助我实现这一目标的人都是上天派来的恩人!感谢您花费时间阅读这篇文章,我真挚地感谢您提供的任何和所有指导!

当然,有更好的标准选项。那就是所有的字符串都应该外置到资源中,并且您页面的 culture 和 uiculture 属性应该设置为 "auto"。问题是,我不知道这个 Visual Web Developer 是否让您这样做。可能不行。 - Paweł Dyda
另一方面,看一下Globalize。它包含了本地化功能,虽然并非专为翻译整个用户界面而设计,但对于你选择的工具来说,这可能是唯一合理的想法... - Paweł Dyda
嘿,Pawel,感谢你的回复!我猜 Visual Web Developer 更多是面向程序员的补救工具。不过我正在努力学习更多,所以感谢你抽出时间来帮忙。我正在了解 Jquery(现在是 JavaScript)Globalize——它非常复杂,但非常详细,每种语言都有几种方言。感谢你让我知道这个工具。感谢你的帮助! - Jason Weber
FYI,Pawel,我已经下载了 Visual Studio 2010,并成为官方的 VS 狂热者。我使用隐式和显式本地化的组合来将我的网站本地化为 6 种不同的语言 - 而且速度很快!它全部设置为“自动”,这很好,但我希望客户能够在我的网站上手动选择他们自己的语言,就像点击一个国旗并将整个网站切换为该语言。Visual Web Developer 太过于基础,所以我感谢您的评论! - Jason Weber
你问错人了 ;) 我的意思是,虽然我知道一个解决方案,但你所做的是常见的反模式(我像念咒语一样重复这句话)。将Culture和UICulture设置为“auto”是正确的做法。它会使用用户首选的语言(来自Web浏览器)。根据可用性研究,只有5%的用户会更改它,而且这5%中的100%都知道如何修改浏览器的设置。因此,实现语言切换反模式甚至没有意义,因为几乎没有人会使用它。 - Paweł Dyda
是的 - 我终于找到了一些帮助我的东西,Nuux真正地指导我完成了整个过程 - 我已经将事情设置为自动,但如果他们想手动设置自己的语言,我也在主页上设置了标志 - 然后他们可以从那里开始,因为它会持续整个会话。但再次感谢您在启动事情方面的帮助!一切都很顺利! - Jason Weber
1个回答

2
这种想法并没有错,但是它也有一个缺点:对于页面的每一个更改,您都需要为所有副本重复执行(例如更改布局、修复错误或添加图像)。
大多数ASP.NET开发人员通常喜欢保留一组页面,将所有可以翻译的内容放入所谓的资源文件中,然后让服务器根据用户选择的语言内容来选择语言内容。
MSDN上的这个逐步教程将帮助您使用Visual Web Developer将您的网站本地化为不同的语言: Walkthrough: Using Resources for Localization with ASP.NET 在本教程中,浏览器会指示用户首选的语言。因此,它不使用单独的菜单来选择语言。我建议您首先熟悉ASP.NET资源和隐式本地化,因为这将介绍很多新概念。
如果您以这种方式本地化了您的网站,您始终可以切换到显式本地化,同时仍然使用上面教程中创建的资源。

非常感谢您的时间,Michiel。非常感激!我已经阅读了这篇文章。我正在考虑购买Visual Studio,因为它似乎是比Visual Web Developer更全面的开发工具。 "Generate Local Resource"选项是关键,只有Visual Studio才有。这将创建App_LocalResources文件夹,然后您就可以正确添加资源文件了。 Michiel,只是一个快速的问题。最终用户将其浏览器设置为德语。但也许他想用英语查看我的网站。您的解决方案会给他提供切换的选项吗? - Jason Weber
不是,但这是一个常见的需求,我认为你可以在 Stack Overflow 上找到许多基于 cookies、sessions 或 URL 重写的代码示例,或者获取一些代码来帮助你入门。 - Michiel van Oosterhout
我正在下载Visual Studio 2010专业版试用版!我已经拥有你给我提供的教程,一旦下载完成,我就会按照那个教程进行操作。我很期待这个过程。再次感谢你,Michiel! - Jason Weber
创建了我的第一个aspx.resx页面!在下载Visual Studio后,我选择了“Web开发”功能进行安装,因为我不做其他任何事情。我可以看出为什么VWD Express相对于Studio来说是初级的。在教程的帮助下,一切都进行得很顺利! - Jason Weber
现在我设置了标志,所以客户可以选择自己的语言,如果他们的浏览器没有设置,或者他们想使用另一种语言。而且这些知识我都是从你们在这个论坛上学到的——我没有任何书籍之类的东西。所以一切都很好,我再次感谢你的帮助,Michiel。 - Jason Weber
这就是我们很多人学习的方式(现在仍然如此)。听到你取得了进展,我感到很高兴! - Michiel van Oosterhout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接