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

TypeScript中将ISO 639-1语言代码转ISO 3166-1国家代码的方案咨询

可用方案

你可以用以下成熟的npm工具实现需求,均支持TypeScript:

  • 组合使用iso-639-1和i18n-iso-countries
    前者负责处理ISO 639-1语言代码的基础信息,后者负责ISO 3166-1国家代码的转换,你可以额外加一层自定义映射规则,处理en这类对应多个国家的场景,灵活指定默认返回GB还是US。
  • 直接使用locale-code库
    该库原生支持语言区域代码的解析和转换,自带常见语言到默认国家的映射,也支持自定义覆盖规则,类型定义完善,适配你的使用场景。

示例代码(适配你定义的LangItem模型)

import { getLangInfo } from 'locale-code';

// 自定义特殊语言的默认国家映射,可根据业务需求调整
const customLangToCountry: Record<string, string> = {
  'en': 'US',
  'zh': 'CN'
}

function generateLangItem(langKey: string): LangItem {
  const langInfo = getLangInfo(langKey);
  return {
    key: langKey,
    name: langInfo.languageName,
    // 优先走自定义映射,没有则使用库默认返回的国家代码
    countryCode: customLangToCountry[langKey] || langInfo.countryCode
  }
}

如果你的业务场景有非常特殊的映射规则,也可以直接基于公开的ISO 639-1、ISO 3166-1映射表做本地JSON配置,无需依赖第三方库,灵活性更高。


内容的提问来源于stack exchange,提问作者J.BizMai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:54:05