【问题标题】:Is 'culture' (eg. es-MX, en-US) meant to localize website -content- or -appearance-?“文化”(例如 es-MX、en-US)是否旨在本地化网站 - 内容 - 或 - 外观 -?
【发布时间】:2010-01-05 23:02:43
【问题描述】:

是概念文化(与 .NET CultureInfo 一样),仅用于本地化网站外观(语言、日期和数字格式等),或者可用于本地化网站内容(定位新闻消息、联系方式等)?

我需要建立一个支持多种语言作为本地化内容的网站。例如,我发现在美国没有办法指定荷兰语('nl-US')。我想在网站的 url 中指定语言和位置。这是否意味着我需要去:www.domain.com/en-US/Netherlands/?

我希望我的问题很清楚.. 在此先感谢。

【问题讨论】:

    标签: .net localization globalization culture cultureinfo


    【解决方案1】:

    文化代码是国际公认的。您将它们视为诸如法语(法国)的fr-FR 之类的原因是法语在多个国家/地区使用,并且在其他地方有所不同。这使翻译人员能够专注于语言特定方言的细微差别。

    您不能只在其中填入您想要的任何国家/地区代码。如果需要,您应该单独跟踪国家/地区。

    编辑:基于 cmets,我想包含更多信息。

    • 如果您需要确定用户实际所在的国家/地区(无论其所在地区如何),请考虑使用IP to ISO-3166 country code mapping。

    • 如果您希望允许用户更改语言而不考虑他们的国家/地区,但您仍需要跟踪他们来自哪里,请执行以下操作。

      1. 使用上面的 ISO-3166 国家/地区映射检测他们的国家/地区。
      2. 默认为其当前区域设置(即,如果他们的计算机设置为 en-US,则使用英语)。
      3. 在某处显示一个下拉列表,其中包含所有受支持的区域设置及其语言,并让它们随时交换。

    我认为这涵盖了您所有的问题/场景。

    【讨论】:

    • 明确答案,这怎么叫?在搜索本地化、全球化或文化时,我最终会设置语言环境……我还需要特定国家/地区的内容,但要以一种易于管理的方式……
    • 我不确定 - 究竟是什么意思,但我假设您的问题是如何确定计算机所在的国家/地区。您可以考虑 IP -> ISO-3166 国家/地区代码映射。如果可能,请使用客户端的 IP 地址。 codeproject.com/KB/cs/iptocountry.aspx
    • 客户端应该能够选择位置(美国网站,日本网站..),还可以选择语言(荷兰语,德语..)。因此,用户可能会来到日本网站,并选择了荷兰语。这种翻译可能不存在,但这不是重点。如果客户想要普通西班牙语作为语言和墨西哥作为位置怎么办,这是否意味着:xxx.com/es-ES/Mexico/ 或相反:xxx.com/es-MX/Spain 对于西班牙的墨西哥西班牙语?
    • 我建议使用我在上面链接到您的 IP 到国家/地区的映射为他们选择他们的国家/地区。如果您希望他们能够选择他们的语言,那么只需在某个列表框中列举您支持的所有语言环境,然后让他们随意切换。默认为他们本国使用的任何语言环境——如果你在法国,请使用 fr-FR。
    • 我不推荐使用IP到国家作为唯一的方法;最好说清楚。
    【解决方案2】:

    它也可以做语言;与 resx 文件。查看一些教程;很漂亮。

    -- 编辑:试图为你找到一些,我能想到的最好的是:http://msdn.microsoft.com/en-us/goglobal/bb688096.aspx,可能其他人可以提供更具体的链接。

    一个非常快速的概述是,您可以添加各种 resx 文件(.es-ES、.es-CO [如果这是哥伦比亚的文件),然后将这些文件中的条目绑定到控件(或将它们用作全局用于各种目的的变量)。这样你就有了这样的标签:

    (不完全是这样,但类似的东西,如果我稍有错误,请纠正我)它会为用户使用的浏览器请求的任何语言获取适当的文本(您需要稍作更改在web.config 中获取此信息以获取传递)。应该在我提供的链接中为您列出。

    【讨论】:

    • 大声笑,谢谢你的链接,在那里做过。也许关于如何看待文化的“位置”部分的一些建议。这似乎只涵盖“本地”语言、货币和格式问题。不是“本地化”业务内容......?
    • 啊,在您发表评论时扩展了 :) 希望清楚吗?您所说的“商业内容”是什么意思?您想假设语言环境建议该国家/地区吗?你可以这样做,但会有点混乱;我建议您为此目的使用不同的 URL(因此搜索引擎很清楚,人们可以清楚地相互链接到侧面的特定部分)。
    • 商业内容是指内容,而不是显示/格式(语言等)。我希望产品 X 出现在美国的首页,产品 Y 出现在日本的首页(显然更复杂一些)。我还希望搜索引擎以可用的所有语言获取美国和日本网站。我只想使用 1(一个).com 域。我认为 Ed 明白我在说什么......
    • ropstah:正如我所说,您可以根据语言环境做出决定(在代码中,您只需决定要做什么),但可能我会稍有不同(如上所述)和使用基于 url 的方法(即明确说明),因为它让每个人的生活更轻松(正如我在上面的评论中所说的)。
    • 根据语言环境做出假设是不安全的,因为用户完全可以控制它。如果您真的想知道他们来自哪里,您必须从他们当前的语言和文化设置中检测到它。如果您不需要准确的数据来执行此操作,那很好,但是您会在美国遇到很多人在他们的系统上使用其他语言环境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多