我开发了一个大型商业门户网站。我刚刚意识到我需要用另一种语言访问我的网站。我研究过像这样的解决方案
还有其他选择吗?
我想的是一个解决方案,比如在服务器端创建页面然后我可以在发送回客户端之前翻译它。有什么方法可以做到吗?(翻译所有内容,包括从数据库或代码中添加的数据。而不影响设计。)
我开发了一个大型商业门户网站。我刚刚意识到我需要用另一种语言访问我的网站。我研究过像这样的解决方案
还有其他选择吗?
我想的是一个解决方案,比如在服务器端创建页面然后我可以在发送回客户端之前翻译它。有什么方法可以做到吗?(翻译所有内容,包括从数据库或代码中添加的数据。而不影响设计。)
如果你真的需要翻译你的应用程序,那将需要做很多艰苦,乏味的工作。 没有灵丹妙药。
您需要做的第一件事是将标记中的纯文本转换为asp:Localize控件。通过使用Localize控件,您可以保留现有控件 <span>
标签到位,只需替换它们内部的文本。真的没办法解决这个问题。 Visual Studio的搜索和替换支持正则表达式匹配,可以帮助您解决此问题,或者您可以使用Resharper(参见下文)。
第一种方法是下载开源购物应用程序 nopCommerce 并了解他们如何处理本地化。它们将字符串存储在数据库中,并具有用于编辑语言的UI。类似的方法可能适合您。
或者,如果要使用资源文件,除了Visual Studio之外,我还建议使用两种工具: Resharper 5 (本地化功能截屏视频)和 Zeta资源编辑器。这些是我使用此方法完成它的步骤:
我已经在一个翻译成8种语言(并且正在增长)的网站上使用这种方法,其中包含数十页(并且还在增长)。但是,这不是用户可编辑的网站;这些页面完全由程序员控制。
将页面转换为阿拉伯语或其他语言。
去 :
1页设计
2,工具
3 - 生成本地资源
4 - 获取“App_LocalResources”包括“filename.aspx.resx”
5复制文件并将名称更改为“filename.aspx.ar.resx”以将页面转换为阿拉伯语或其他语言。
希望对你有帮助:)
我找到了一个很好的解决方案,请参阅 http://www.nopcommerce.com/p/1784/nopcommerce-translator.aspx
这个项目是开源的,源代码库在这里: https://github.com/Marjani/NopCommerce-Translator
祝你好运
为每种语言创建资源文件肯定会有更多的工作 - 但这是我可以选择的选项,因为它为您提供了更准确的机会。如果您这样做,您可以手动翻译由说该语言的人翻译的文本(有许多公司提供此类服务)。
自动翻译系统通常很好地给出了对另一种语言的含义的一般印象,但在尝试描绘专业图像时我永远不会使用它们,因为它们输出的内容通常没有意义。没有什么比'不专业'更尖叫!像文本一样没有意义,因为它已被自动翻译。
我会将资源文件路由放在翻译选项上,因为语言中单词的含义可能非常具有上下文性,甚至一个错误也可能破坏您网站的可信度。
正如您所建议的那样,Visual Studio可以为包含文本的大多数控件生成元资源文件密钥,但可能需要手动完成其余操作,但我没有看到更简单,更可靠的解决方案。
我不认为本地化是一个易于自动化的事情,因为数据库中保存的文本经常导致模式更改以允许多种语言,并且Web HTML经常需要重组来处理截断或包装的标签和按钮文本,因为,例如,你已经翻译成德语或其他东西。
其他考虑: 文化设置 - 财务分隔符,日期格式。 从右到左 - 阿拉伯语等一些语言是从右到左书写的,这意味着页面需要重新思考以控制图像等定位。
祝你好运。
我最终以艰难的方式做到了:
它不是很漂亮,但它有效。
一个大的开关盒?使用字典/散列表(每种语言的单独实例),它更加有效和快速。