gpt4 book ai didi

c# - 如何将网站翻译成另一种语言?(ASP .NET, c#)

转载 作者:可可西里 更新时间:2023-11-01 08:41:01 27 4
gpt4 key购买 nike

我开发了一个大型企业门户。我刚刚意识到我需要另一种语言的网站。我研究了可用的解决方案,例如

  • 在我的网站上使用了第三方控件。 (适合我的设计。从 SEO 的角度来看没有用。不想显示第三方品牌名称。)
  • 为每种语言创建资源文件。(重组页面以使用资源文件中的文本需要大量工作。用户输入的数据(如业务描述)如何处理。)
  • 是否还有其他可用选项。
    我在想一个解决方案,比如在服务器端创建页面,然后我可以在将其发送回客户端之前对其进行翻译。我有什么办法可以做到这一点吗?(翻译所有内容,包括从数据库或通过代码添加的数据。并且不影响设计。)

    最佳答案

    如果您真的需要翻译您的应用程序,将需要进行大量艰苦、乏味的工作。 没有 Elixir 。

    您需要做的第一件事是将标记中的纯文本转换为 asp:Localize 控件。通过使用 Localize 控件,您可以保留现有的 <span>标签就位,只需替换其中的文本即可。真的没有办法解决这个问题。 Visual Studio 的搜索和替换支持正则表达式匹配,可以帮助您解决这个问题,或者您可以使用 Resharper(见下文)。

    第一种方法是下载开源购物应用程序 nopCommerce看看他们如何处理本地化。他们将字符串存储在数据库中,并有一个用于编辑语言的用户界面。类似的方法可能适合您。

    或者,如果您想使用资源文件,除了 Visual Studio 之外,我还推荐使用两个工具:Resharper 5 ( Localization Features screencast ) 和 Zeta Resource Editor .这些是我使用此方法完成它所采取的步骤:

    1. 在 visual studio 中为每个页面使用“生成本地资源”工具
    2. 对标记中的文本使用 Resharper 的“将 HTML 移动到资源”,将它们变成 Localize 控件。
    3. 使用 Resharper 搜索隐藏代码中的任何可本地化字符串,并将它们也移动到资源文件中。
    4. 使用代码分析的全局化规则/FXCop 来帮助发现您在格式化数字、日期等方面可能遇到的任何其他问题。
    5. 所有文本都在 resx 文件中后,使用 Zeta 资源编辑器加载所有 resx 文件、添加新语言并导出以进行翻译(如果您足够勇敢,也可以自动翻译)。

    我在一个翻译成 8 种语言(并且还在不断增加)的网站上使用了这种方法,该网站有几十个页面(并且还在不断增加)。但是,这不是用户可编辑的站点;页面完全由程序员控制。

    关于c# - 如何将网站翻译成另一种语言?(ASP .NET, c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2973632/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com