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

如何基于IETF语言标签获取任意语言的对应语言名称

基于IETF语言标签获取对应本地化语言名称的方法

我需要一种基于IETF语言标签获取某一语言对应其他语言名称的方法。例如,我有一组IETF语言标签(en、fr、nl、de等),想要将它们映射为当前区域设置(如荷兰语)的语言显示名称:

  • en => Engels
  • fr => Frans
  • nl => Nederlands
  • de => Duits

我已搜索NPM但未找到合适工具,优先希望获取JSON格式的列表,也可接受其他语言/格式。


解决方案

可以使用cldr-localenames-modern包实现该功能,该包提供了各语言对应的本地化语言名称数据。以下是具体实现代码:

import en from 'cldr-localenames-modern/main/en/languages.json';
import nl from 'cldr-localenames-modern/main/nl/languages.json';

const localeDisplayNames = {
    en: en.main.en.localeDisplayNames.languages,
    nl: nl.main.nl.localeDisplayNames.languages
};

export function getLanguageDisplayName(language, locale) {
    // 优先使用目标区域设置的数据,不存在则回退到英文
    const languages = localeDisplayNames[locale] ?? localeDisplayNames['en'];

    return languages[language];
}

内容的提问来源于stack exchange,提问作者Renaat De Muynck

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:43:08