【问题标题】:Multi lingual site for one country一个国家的多语言网站
【发布时间】:2020-06-08 05:07:15
【问题描述】:

我有一个要求,我有一个网站,用户从管理端输入产品信息。

其中一个强制性要求是在用户保存产品之前为产品选择一个国家/地区。

当公共用户到达网站时,他们需要选择在语言之间进行切换。因此,如果我到达德国网站并希望以英语查看该网站,我应该能够从德语更改为英语(然后再返回德语)。

我创建了资源文件(德语),但是如何在两种语言之间切换。我很感激我可能需要进行更多调整,但如果我能走上正确的轨道,我可以从那里接受它/提出问题吗?

【问题讨论】:

  • 您可以在后端或前端执行此操作。两者都可以为您提供相同的目标。如果你想要一个前端,你可以使用JS 和某种使用lang html 属性在语言之间切换。如果你想要一个后端。您可以使用资源文件检查一下:codepedia.info/multiple-languages-website-asp-net-c
  • 感谢您查看该链接。另一个想到的问题是,输入数据库中针对德国的产品如何,它们如何以正确的语言显示,还是需要用德语显示?
  • 在网络上,只要你使用UTF-8编码,应该都能正确显示。在后端,您需要确保在数据库级别和应用程序数据处理层对数据进行正确编码。
  • 对不起另一个问题,但如果你把这些作为答案,我会接受。目前我只是用 Server.HtmlDecode 保存数据。保存数据时如何确保数据以UTF-8保存在后端?

标签: c# asp.net .net vb.net webforms


【解决方案1】:

首先,通过为每种语言配置数据collation,确保以正确的编码将数据保存在数据库中,并将其保存为正确的数据类型。

为此,您必须执行以下操作:

数据库

  • 确保将列或数据库collation 定义为目标语言阅读更多相关信息SQL Server、Oracle、MySQL
  • 确保列数据类型设计为接受 Unicode 字符。 (如果您保存一些文本,它应该按原样显示)。

应用程序

在您的 ASP.NET 应用程序中,确保从数据库中读取这些数据时使用正确的编码(UTF-8 是 Web 的常用编码,但有时您可能需要使用 ASCII 或 Unicode然后将其转换回 UTF-8 取决于您正在处理的语言)。

确保string 编码后。您现在可以在您的 ASP 页面上使用它,您只需要控制页面语言就有两种选择。

选项 1: 使用Javascript 使用html lang attribute 将页面动态翻译成另一种语言。

选项 2: 使用 .NET Globalization 通过使用资源文件定义翻译,更多地在此 link

【讨论】:

  • 我会选择选项 2,但我很难理解何时需要编码以及如何在保存数据之前确保其编码正确?谢谢。顺便说一句,选项 2 的链接不起作用
  • @Computer 我也用链接更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多