【发布时间】:2017-04-17 01:15:25
【问题描述】:
我一直在阅读如何使用本地或全局 resx 文件翻译网站。虽然这通常适用于按钮和小块文本,但当我面临大块文本的翻译时,我不得不在 resx 文件中存储长字符串并在小键中间隔文本似乎有点奇怪让我无法重新阅读我刚刚写的内容。
例如:
<p> <%$ Resources:MyResources, Welcome %> <%$ Resources:MyResources, to %> <%$ Resources:MyResources, my %> <%$ Resources:MyResources, wonderful %> <%$ Resources:MyResources, Website %> , <%$ Resources:MyResources, Where %> <%$ Resources:MyResources, you %> <%$ Resources:MyResources, can %> <%$ Resources:MyResources, Find %> <%$ Resources:MyResources, amazing %> <%$ Resources:MyResources, information %> <%$ Resources:MyResources, about %> <%$ Resources:MyResources, this %><%$ Resources:MyResources, and %><%$ Resources:MyResources, that %> <p>
或者:
<%$ Resources:MyResources, WelcomeToMyWonderfulWebsiteWhereYouCanFindAmazingInformationAboutThisAndThat %>
有没有更好的方法来处理多语言支持? 谢谢,
(忘了补充一下,我使用的是 VS2013,这是一个带有 aspx 和 ascx 的 C# WebForms 站点)
【问题讨论】:
-
检查这个项目https://github.com/turquoiseowl/i18n。有了它,您可以制作更具可读性的模板。
-
感谢@VitaliySmolyakov!我一直在研究这个项目,并且可以肯定的是,最好使用 [[[Welcome to My Wonderful Website,在那里您可以找到关于这个和那个的惊人信息]]] 而不是 WelcomeToMyWonderfulWebsiteWhereYouCanFindAmazingInformationAboutThisAndThat 作为键。你有使用它的经验吗?乍一看,设置起来很复杂!
-
只需安装,添加配置方法,翻译一些页面进行测试,它正在运行:)。如果您的路径中有 2 或 3 个字符部分,例如 zzz.com/api/call,则可能没有明显的问题。 Url localizer 认为 API 是未知语言标签并将其从 url 中删除。请求来自 zzz.com/call。在上一个版本中 /api/ 被添加到过滤器以排除处理。
标签: asp.net webforms multilingual