跳至内容
bablic.
产品
解决方案
价钱
资源
博客
← Bablic 博客
指导

网站语言选择器:设计最佳实践

如何设计一个有效的网站语言选择器:使用哪种 UI 模式、按字母顺序对名称进行排序、货币解耦以及基本原理。

奥利维亚·杜利 黄色背景
奥利维亚·杜利 Bablic
博客标题语言选择器

我不知道你怎么想,但简洁明了、与品牌形象相符的语言选择器真的让人非常满意。

或许这暴露了我是一个本地化爱好者。 但请听我说完。

这个小小的按钮蕴含着巨大的力量。 只需点击一下,访客就可以从眯着眼睛看外语页面切换到用自己的语言浏览,而无需离开您的网站。

语言选择器是设计与功能交汇的地方。 如果做得好,它既符合你的品牌形象,又容易被找到,还能向全球访客表明他们受到欢迎。 如果翻译做得不好,就会被隐藏在页脚,标签错误,或者非常笨拙,以至于访客在看到翻译内容之前就离开了。

那么,这两者之间究竟有何区别?

大多数指南都遵循基本原则:让选择器易于查找,使用本地语言名称,避免使用符号标志。 我们也会介绍这些内容。 但我们也想回答一些更难的问题,例如 如何对混合了日语、阿拉伯语和葡萄牙语的下拉菜单进行字母排序? 为什么互联网上有一半的人会将你的语言与你的地理位置联系起来,而这种做法往往是错误的?

在本指南中,您将了解哪种 UI 模式适合您的网站,哪些最佳实践在现实世界中行之有效,以及如何处理几乎没有人能正确处理的两个挑战:排序顺序和语言-国家-货币拆分。

让我们开始吧。

在网站标题中打开的深色主题语言选择器下拉列表,列出英语、西班牙语、德语、法语、意大利语、葡萄牙语和中文

语言选择器控制什么(以及它不控制什么)

语言选择器只有一个功能,那就是以另一种语言显示页面。 它不会设置货币、运费或访客位置。 它不是设置面板或商店定位器,尽管网站经常将其视为设置面板或商店定位器,但它并不能代替国家/地区选择器。

这里,少即是多。 语言选择器如果试图做太多事情,往往会在它最初的设计目的上失败:帮助访客理解你的网站。

尼尔森诺曼集团 对电子商务本地化的研究 发现,国际购物者希望无论收货地址在哪里或使用何种货币支付,都能更改网站语言。 当你观察真实的市场时,就会明白其中的道理。 在加拿大,有些购物者喜欢用英语,有些购物者喜欢用法语,但他们都希望用加元支付。 在西班牙,大家都用欧元支付,但有些购物者宁愿用加泰罗尼亚语而不是西班牙语浏览商品。

归根结底,语言选择器意外地更改货币或运费规则,这是在进行没有人要求的更改,而且可能会疏远你想要吸引的国际客户。

语言选择器的类型

大多数选择器都属于以下四种格式之一。 与其问哪个最好,不如问哪个更适合你的语言数量以及你能给它多少视觉空间。

四种语言选择器类型:文本链接、下拉按钮、行式
  • 下拉 菜单最适合扩展。 当你掌握三四种语言之后,它们就是最安全的默认选择。
  • 按钮行给人 感觉更自信、更直接。 这就是为什么语言种类少且固定的网站往往更喜欢它们,例如双语政府网站或服务于两个市场的 SaaS 产品。
  • 文本链接 非常适合用于页脚,因为完整的组件在页脚中会显得过于臃肿。
  • 模态框 将语言选择放在最显眼的位置,这使得它们在一次性的“看起来您可能更喜欢法语?”建议中非常有用,但如果它们在每次页面加载时都出现,很快就会让人感到厌烦。
“网站头部的轻巧圆润的语言选择下拉菜单,鼠标悬停时法语高亮显示”

回归基础

考虑到不同的格式,让我们来看看经典的最佳实践,看看哪些在 2026 级课程中仍然适用。

  • 使用母语名称。 “Deutsch”和“Español”可以立即告诉访问者,他们的语言在列表中。 “德语”和“西班牙语”会让非英语母语者浏览一份用他们可能不太熟悉的语言编写的列表。
  • 跳过旗帜。 它们代表的是国家,而不是语言,而且映射关系经常出错。 西班牙语是大约 20 个国家的官方语言,英语不属于任何一个国家的专属语言,而瑞士一国国旗下就有四种国家语言。 一个通用语言图标、一个地球仪、一个对话气泡符号、一个简单的“A/文”标记,无论访问者身在何处都能正确读取。
  • 使其易于查找。 对于大多数网站来说,这意味着页眉的右上角。 内容繁多或以编辑为主的网站,由于页眉空间宝贵,可以使用页脚。 在移动设备上,将其放在与导航相同的菜单中,而不是仅仅为了语言而创建一个单独的交互界面。
  • 让所有访客保持一致。 当用户在产品页面切换语言时,他们应该进入同一产品页面的新语言版本,而不是被跳转回首页。 让访客原路返回很容易让他们流失,尤其是当他们即将购买商品的时候。
  • 建议,不要强迫。 根据访问者的 IP 地址或浏览器设置自动重定向访问者,且无法覆盖此设置,这是多语言网站最常见的抱怨之一。 VPN、共享电脑和旅行者都会使这个猜测落空。 如果您发现用户可能更喜欢某种模式,请将其作为建议提供,并始终为用户提供清晰、持久的切换方式。
  • 记住他们的选择。 一旦访客选择了一种语言,就在每个页面上以及再次访问时保持该语言不变。 用户主动做出的选择应该始终优先于网站根据其位置或浏览器猜测的结果。

超越基本概念:排序方式和语言-国家-货币划分

这些基础知识奠定了坚实的基础。 但是,一旦你开始构建选择器,就会出现两个更难的问题,而大多数最佳实践指南都忽略了它们。

1. 如何对混合字母的列表进行排序?

没有一种字母顺序可以涵盖德语、日语和阿拉伯语,因为这些文字系统没有共用的字母表。 即使在拉丁字母语言中,简单的计算机排序也会出错:它将“Čeština”放在“Türkçe”之后,因为它将带重音符号的“Č”读作一个单独的字符,而不是一种“C”。

对于大多数网站(指支持几十种语言的网站),切实可行的解决方法是:

  1. 按文字对语言进行分组。 拉丁字母、西里尔字母、阿拉伯字母、CJK(中文、日文、韩文)等等。
  2. 请按您选择的固定顺序排列这些组。 一种常见的做法是先使用大多数听众都熟悉的脚本。
  3. 按照脚本自身的规则对每个组进行排序。 对于拉丁语来说,这意味着捷克语(Čeština)与丹麦语(Dansk)和德语(Deutsch)并列,而不是排在列表的末尾。

结果看起来像这样: Čeština、Deutsch、English、Español、Français、Português → Русский、Українська → רחחнська → ևחחнська → English、Japan语、한국어 。

如果你的列表包含数百种语言,手动排序就不切实际了,你需要为每个脚本组提供区域感知排序工具。

2. 语言、国家和货币应该是一个选项还是三个选项?

还记得前面提到的加拿大和西班牙顾客吗? 这就是这个想法付诸实践的地方。

许多大型电子商务网站将语言、国家和货币合并到一个“市场”选择器中。 对于零售商而言,原因是各国的运输规则、税收和支付方式各不相同,因此一次性选择可以简化结账流程。 这是一个合理的权衡。

对于 SaaS 工具、媒体网站或任何外籍人士、远程工作者或任何首选语言与其账单国家/地区不符的人使用的数字产品等不需要这三者同时使用的产品来说,这是一个错误的权衡。 一位居住在巴西的德语使用者希望看到德语文本和巴西雷亚尔价格,而不是被迫将两者捆绑在一起。

经验法则:

  • 语言 会改变页面上的文本。
  • 货币 单位会影响价格的显示方式。
  • 国家或地区 差异不仅仅体现在语言上,还可能提供不同程度的本地化。

除非您的产品不将它们连接起来就无法工作,否则请将它们保持为三个独立的控件。

检测、重定向和稍后添加语言

利用检测结果提出建议,而不是做出决定。

还记得“建议,不要强迫”吗? 以下是做好这件事的方法。

最佳的首次访问信号是访问者的浏览器或设备语言(在 Accept-Language 标头中发送,或使用 JavaScript 中的 navigator.language 读取)。 与基于 IP 地址的位置不同,它反映的是用户实际设置的语言。

这使它成为一个更好的线索,但它仍然应该只是一个线索,而不是你替他们做的决定。 这样一来,在访客表示同意之前,一切都不会改变,所以他们可以拨打电话,而不是被自动重定向。

为以后添加的语言做好准备

许多网站支持的语言数量不会一直保持在刚上线时的水平,那么当你的语言选择器中的原始列表无法满足需求时,你应该怎么办?

答案很简单:从已发布的语言自动生成选择器的语言列表,并以相同的方式生成 hreflang 标签,而不是手动维护它们。 例如, Bablic会自动执行此操作。 如果您对 hreflang 和 x-default 还不熟悉,我们对 hreflang x-default 的讲解涵盖了其机制。

构建你自己的选择器

选择器的构建方式取决于您的多语言网站的设置方式。

如果每种语言都有自己的 URL (例如 /es/这样的子目录、 es.example.com这样的子域名或 URL 参数),最简单的选择器是一个链接列表,每个链接都指向另一种语言的同一页面:

html

<nav aria-label="语言">

<a href="/en/pricing/" hreflang="en" lang="en">英语</a>

<a href="/es/pricing/" hreflang="es" lang="es" aria-current="page">西班牙语</a>

<a href="/ja/pricing/" hreflang="ja" lang="ja">日本语</a>

</nav>

每个细节都发挥着重要的作用:

  • lang 告诉屏幕阅读器如何正确发音每种语言名称。
  • aria-current="page" 告诉辅助技术当前激活的语言是什么。
  • 每个链接都指向同一页面的另一种语言版本 (这里是定价页面),而不是首页,这样访客就不会迷失方向。

页面 <head> 中的 hreflang 标签(或站点地图)需要与此 URL 结构完全匹配,因为搜索引擎正是利用这一点向正确的搜索者显示正确的版本。 Google 建议使用子目录或子域名而不是 URL 参数来表示语言版本。

如果语言存储在 cookie 或浏览器中 而不是 URL 中,则没有语言 URL 可供链接,因此普通链接将无法工作。 您的选择器需要更新存储的语言并重新加载页面。

将它们显示为下拉菜单、按钮行还是普通链接,这是一种设计选择。 更重要的是底层的URL结构。 大多数网站使用子目录(/es/)或子域名(es.example.com)。 查询参数(?lang=es)有效,但谷歌不建议在语言版本中使用它们。 无论你选择哪种方式,页面 <head> 中的 hreflang 标签(或你的站点地图)都需要与该结构完全匹配。 这就是搜索引擎用来向合适的搜索者提供合适版本信息的原理。

如果您的网站使用 Bablic进行翻译,您可以选择最适合您团队的任何路径:

  • 使用内置选择器。 在 Bablic 控制面板的 “项目”→“选择器” 中选择一个现成的样式,并进行调整以匹配您的品牌。 无需编写代码。
  • 使用自定义 CSS 设置样式。 保留 Bablic的选择器,但对其颜色、字体、间距和图标进行微调,使其与您的设计系统完全匹配。
  • 使用 Bablic选择器库构建您自己的选择器: @ bablic -io/selector 包为您提供两个函数: getLanguages() 返回您项目已发布的语言并标记当前语言, setLanguage() 使用您的项目使用的任何方法(文件夹、子域名、URL 参数、cookie 或浏览器存储)切换语言。 你负责设计界面, Bablic 负责切换。
Bablic 网站的语言选择下拉菜单中,已选择英语,但列出了德语、西班牙语、法语、意大利语、葡萄牙语和日语。

希望快速上线的团队可以沿用默认设置,而希望每个像素都符合品牌形象的团队则可以进行自定义。

无论你选择哪条路,只有你自己的数据才能告诉你哪种模式最适合你的受众。 如果你在两种设计方案之间犹豫不决,可以做一个简单的测试。 追踪访客切换语言的频率,以及他们切换语言后是否会继续停留。

选择位于选择器后面的内容

好的选择器只有在其背后的翻译也同样出色时才有意义。 Bablic 将机器翻译与上下文编辑器相结合,因此团队中懂该语言的人可以直接在页面上查看和修改特定行,而无需从头开始翻译。 如果您想知道机器翻译是否足够好到可以独立发布,那么我们对 谷歌翻译可靠性的 调查是一个很好的起点。

比较工具? 查看我们的 Bablic 对比中心 或阅读 Bablic 工作原理 ,了解更多关于设置方面的信息。 您还可以免费试用 30 天,无需信用卡。

常问问题

如何在HTML中添加语言选择器?

最简单的版本是使用 <nav> 元素,每个语言对应一个链接。 每个链接都指向该语言的同一页面,并带有 lang 属性。 造型由你决定。 必须确保的是您的 URL 结构以及页面 <head> 或站点地图中的 hreflang 标签准确无误,它们会告诉搜索引擎哪个版本对应哪种语言。

语言选择器最适合放在哪里?

对于大多数网站来说,它位于页眉的右上角。 内容较多或编辑类网站,如果页眉空间有限,可以使用页脚。 在移动设备上,将其放在与主导航相同的菜单中。

语言选择器中是否应该使用标志?

不,国旗代表的是国家,而不是语言。 西班牙语是约 20 个国家的官方语言,而瑞士有四种官方语言。 改用母语名称(“Deutsch”、“Español”),并配以中性的语言图标,例如地球仪。

如何对用不同字母书写的语言名称进行排序?

将语言按书写系统(拉丁文、西里尔文、阿拉伯文等)分组,将各组语言按固定顺序排列,然后按照各组语言自身字母表的规则,在每组语言中按字母顺序排序。 对不同脚本进行单一的字母排序,得到的顺序对读者来说看起来是随机的。

我是否应该根据访客的地理位置自动重定向访客?

不。地理位置并不能准确反映语言状况,而且 VPN、旅行者和共享电脑都会破坏这种准确性。 访客的浏览器语言是一个更好的信号,但应该用它来 建议 语言,而不是自动切换语言。 始终为访客提供清晰的选择方式。

为什么有些网站将语言和国家/地区合并到一个选择器中?

对于零售商而言,运费、税费和支付方式因国家/地区而异,因此单一的“市场”选择可以简化结账流程。 对于 SaaS 或媒体等数字产品,这通常是错误的选择,因为访问者的语言和账单国家/地区通常不匹配。

奥利维亚·杜利 黄色背景
奥利维亚·杜利 Olivia是 Bablic的全球营销策略师。 除了创作内容和策划活动,帮助企业发现网站本地化的强大功能外,她还喜欢逛博物馆或在当地的咖啡馆写作。
开始 30 天免费试用

在 您自己的网站上查看运行效果。

只需粘贴一行 JavaScript 代码,即可在几分钟内看到您的网站自动翻译。 无需信用卡。

“我可以改变你的想法吗?”——布鲁诺

年度计划可享 15% 折扣。

请输入您的邮箱地址以解锁验证码。 当您选择按年付费时,它适用于 Go、Core 或 Pro 版本。

我们将使用您的电子邮件地址向您发送 Bablic 最新动态。 请参阅我们的 隐私政策。