You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

挪威(尼诺斯克语)区域设置下DateTime国际化功能失效问题

解决尼诺斯克语(nn)日期格式化失效的问题

这个问题其实和Chrome对尼诺斯克语本地化资源的支持有关,我来帮你一步步分析和解决:

问题根源

首先要明确:你使用的nn(ISO 639-1代码)和nn-NO(完整区域设置代码)是完全正确的,没有格式错误。

问题出在Chrome的本地化数据加载逻辑上:当你的系统默认语言是英文,且Chrome没有预装尼诺斯克语的完整本地化资源时,它会自动降级到系统默认语言(英文)来格式化日期,导致输出不符合预期。而nb(巴克摩语)作为挪威更普及的官方语言,Chrome通常会预装它的本地化数据,所以能正常输出挪威语格式。

可行的解决方案

1. 手动添加尼诺斯克语到Chrome语言列表

这是最直接的解决方法,让Chrome优先加载尼诺斯克语的本地化资源:

  • 打开Chrome设置 → 进入「语言和输入设置」→ 点击「语言」选项
  • 点击「添加语言」,找到Norwegian Nynorsk并添加
  • 将它拖动到语言列表的最顶部,确保优先级最高
  • 重启Chrome后再运行你的代码,就能得到预期的mandag 9. mai 2022格式了

2. 配置Locale Fallback机制(兜底方案)

如果修改浏览器设置不可行(比如面向用户场景无法要求修改设置),可以手动指定fallback的locale列表,让代码优先尝试尼诺斯克语,失败时用格式接近的巴克摩语兜底,避免直接跳到英文:

const currentDate = new Date();
const nynorskDateOptions = {
  weekday: 'long',
  day: 'numeric',
  month: 'long',
  year: 'numeric'
};
// 优先用nn-NO,失败则用nb-NO,最后用en-US兜底
const formattedDate = currentDate.toLocaleDateString(
  ['nn-NO', 'nb-NO', 'en-US'], 
  nynorskDateOptions
);
console.log(formattedDate);

因为尼诺斯克语和巴克摩语的日期格式几乎一致,这个方案能在不修改浏览器设置的情况下,输出符合预期的挪威语格式。

3. 升级到最新版Chrome

较旧版本的Chrome对小众locale的支持可能不完善,升级到最新稳定版的Chrome,通常会补充更多小众语言的本地化数据,也能解决这类问题。

内容的提问来源于stack exchange,提问作者Vishal Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 20:47:34