如何在 ASP.NET Web 应用程序中支持多种语言?
我正在开发一个网络表单应用程序,需要根据用户的偏好支持多种语言。以下是有关所需解决方案的一些注意事项:
我希望避免使用资源文件来存储不同的文本翻译,因为我希望能够更改它们,而无需重新编译和部署应用程序。
而且翻译最好是可管理的。
似乎需要付出相当大的努力才能将这种支持添加到现有的应用程序中。任何建议将不胜感激。谢谢。
I am working on a web forms application that needs to support multiple languages based on a user's preference. Here are some considerations to keep in mind about the needed solution:
I want to avoid using resource files to store the different text translations because I'd like the ability to change them without having to recompile and deploy the application.
Also the translations ideally need to be adminstratable.
It seems its a considerable amount of effort to add this support to an existing application. Any suggestions would be appreciated. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Rick Strahl 有一个很棒的解决方案,免费供个人使用,src 可用这里< /a> 通过 SVN:
West Wind Web &用于 ASP.NET 的 Ajax 工具包
数据驱动的本地化资源提供程序
数据库驱动的本地化允许您将资源存储在 SQL Server 数据库中。
基于网络的交互式资源
管理提供实时网络
基于可以编辑的管理
并在应用程序运行时更新资源
运行
资源编辑控制关联
带有每个可本地化控件的图标
并允许直接跳转到
管理表格与当前
已选择资源 ID 和区域设置。
Resx Import 和 Export 让您
导入现有的 Resx 资源,
使用数据交互地编辑它们
驱动提供者,然后导出它们
作为 Resx 资源返回。
本地化实用程序,例如
JavaScript 资源处理程序,
嵌入本地化脚本的函数
值等等。
Rick Strahl has and awesome solution that is free for personal use, src available here via SVN:
West Wind Web & Ajax Toolkit for ASP.NET
Data Driven Localization Resource Provider
Database driven Localization lets you store resources in a SQL Server database.
Interactive Web based Resource
Adminstration provides a live Web
based adminstration for that can edit
and update resources while the app is
running
Resource Editing Control associates
icons with each localizable control
and allows jumping directly to the
administration form with the current
resource id and locale selected.
Resx Import and Export lets you
import existing Resx resources,
interactively edit them with the data
driven provider, then export them
back out as Resx resources.
Localization Utilities like a
JavaScript Resource Handler,
functions to embed localized script
values and much more.
您需要每种支持的语言的语言表。您可能需要从“en”表开始作为应用程序的基本语言。
然后,您可以添加 en-gb、en-us 表,如果需要,您甚至可以使用 en-gb-MyApp1、en-gb-myApp2 等自定义区域性来选择特定品牌
。 广泛使用缓存并编写自定义资源提供程序。
You'll need languge tables for each supported language. You may need to start with an "en" table as your base language for the app.
Then you can add tables for en-gb, en-us and if required you can even go brand specific using custom cultures like en-gb-MyApp1, en-gb-myApp2
Make extensive use of caching and write a custom resource provider.
我记录了我的一家电子商务商店的设计,其中产品、页面等存储在数据库中,通过以XML格式存储列数据,以多种语言保存。
I blogged about my design of an E-commerce store where products, pages etc. are stored in database, and saved in multiple languages by storing column data in XML format.