区域设置转换器

解析区域设置标识符,预览数字/日期/货币格式,并排比较不同区域设置 浏览器内快速处理,保护隐私,免费使用,无需注册。

常用区域设置

常见输入示例

浏览器支持

输入区域设置标识符以查看解析结果和格式预览...

如何使用

  1. 1

    粘贴任意 Locale 字符串

    可以输入浏览器 locale、`en_US.UTF-8` 这类 POSIX 值、`zh_Hans_CN` 这类脚本标签,或完整的 Accept-Language 请求头。

  2. 2

    标准化标签

    工具会将输入规范化为 BCP 47 locale,并同时给出 POSIX、HTML lang 和 Intl 可直接使用的形式。

  3. 3

    复制合适的格式

    根据你的使用场景选择输出:网页标记、JavaScript Intl、环境变量,或测试文档中的 locale 字符串。

  4. 4

    比较输出差异

    切换到比较模式,检查两个 locale 在数字、货币、日期和排序规则上的差别。

为什么使用 Be Converter?

浏览器原生

由内置 Intl API 驱动,无需服务器调用,无需外部依赖,可离线使用,保护隐私。

实时预览

输入时即时查看任何区域设置的数字、日期、货币和列表的格式化效果。

标准化真实输入

支持直接粘贴 POSIX locale、带下划线的 ICU 风格标签,或 Accept-Language 请求头,并输出干净的 BCP 47 与 HTML 可用格式。

全面分析

解析区域设置组件,以多种语言显示名称,并排比较两个区域设置。

适用于

把 en_US.UTF-8 转成 en-US 生成 HTML lang 属性 标准化 Accept-Language 请求头 检查 locale 回退链 查看 Intl 实际解析结果 整理 i18n 实现文档

常见问题

什么是区域设置标识符?
区域设置标识符是一个短字符串,用于标识语言、地区、文字和其他偏好的特定组合。常见格式包括 BCP 47 标签(en-US、zh-Hans-CN)和 POSIX 标识符(en_US.UTF-8)。它们决定了文本、数字、日期和货币的显示方式。
BCP 47 和 POSIX 区域格式有什么区别?
BCP 47 使用连字符分隔组件(en-US、zh-Hans-CN),是 Web 技术的标准。POSIX 使用下划线(en_US、zh_Hans_CN.UTF-8),在 Unix/Linux 系统中常见。两者标识相同的区域设置,但使用不同的语法约定。
这个工具是如何在没有服务器的情况下工作的?
此工具使用浏览器内置的 Intl API 系列(Intl.Locale、Intl.NumberFormat、Intl.DateTimeFormat、Intl.DisplayNames 等)来解析区域设置标识符并生成格式预览。所有处理都在浏览器中完成,不会向任何服务器发送数据。
为什么某些区域设置在不同浏览器中显示不同结果?
Intl API 的实现和区域设置数据因浏览器和操作系统而异。Chrome、Firefox 和 Safari 可能使用不同版本的 Unicode CLDR 数据,导致格式上的细微差异。结果中显示的解析后区域设置反映了浏览器实际使用的设置。
"解析后区域设置"是什么意思?
当您请求 "en" 这样的区域设置时,浏览器可能会根据其可用数据将其解析为更具体的区域设置,如 "en-US" 或 "en-Latn-US"。解析后的区域设置是浏览器实际用于格式化的区域设置,可能与您的输入不同。

常见 Locale 转换示例

这些示例覆盖了开发者和本地化团队最常搜索的 locale 转换场景,适合快速确认不同表示法之间的对应关系。

输入
en_US.UTF-8
输出
en-US

将 Unix/Linux 环境中的 locale 变量转换成前端代码常用的 BCP 47 标签。

输入
zh_Hans_CN
输出
zh-Hans-CN

把带脚本信息的 locale 规范化成 Web 平台约定的大小写形式。

输入
sr_RS@latin
输出
sr-Latn-RS

把 POSIX modifier 转成带脚本信息的 locale 标签,方便产品本地化配置。

输入
Accept-Language: fr-CA,fr;q=0.9
输出
fr-CA

从浏览器请求头中提取首选 locale,再用于路由、格式化或语言协商。

了解区域设置标识符

BCP 47 结构

BCP 47 语言标签由用连字符分隔的子标签组成:语言(必需,2-3 个字母)、文字(可选,4 个字母)、地区(可选,2 个字母或 3 个数字)和变体(可选)。示例:

  • 仅语言 en, zh, ar
  • 语言+地区 en-US, zh-CN, pt-BR
  • 语言+文字 zh-Hans, sr-Latn
  • 完整标签 zh-Hans-CN, en-Latn-US

Intl API 实践

JavaScript Intl API 系列提供了区域设置感知的数字、日期、列表、相对时间等格式化功能。使用 Intl.Locale 解析标识符,Intl.DisplayNames 获取人类可读名称,Intl.NumberFormat/DateTimeFormat 进行格式化。

  • Intl.getCanonicalLocales(["pt-br"]) - canonicalize
  • new Intl.Locale("zh-Hans-CN") — parse
  • Intl.DisplayNames — display names
  • Intl.NumberFormat — numbers
  • Intl.DateTimeFormat — dates

最佳实践: 始终使用最适合您需求的最具体的区域设置标签。对于 Web 应用程序,使用 navigator.language 获取用户的首选语言,并提供优雅的回退机制。在开发早期就使用多种区域设置进行测试。

已复制到剪贴板!