支持的语言区域代码

Lingo.dev CLI 遵循国际标准的语言标识规范,支持多种语言区域代码。你可以在 i18n.json 配置中使用简单语言代码、区域变体和平台特定格式。

CLI 支持多种语言区域代码格式,以适应不同项目需求和平台规范。

语言区域代码格式

Lingo.dev CLI 支持多种语言区域代码格式:

简单语言代码(ISO 639-1):

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja", "zh"]
  }
}

区域变体(BCP 47):

{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-419", "fr-FR", "fr-CA"]
  }
}

平台特定格式:

{
  "locale": {
    "source": "en",
    "targets": ["en-rUS", "es-rES", "pt-rBR"]
  }
}

检查支持的语言区域代码

要查看所有可用的语言区域代码,请使用以下 CLI 命令:

列出支持的源语言:

npx lingo.dev@latest show locale sources

列出支持的目标语言:

npx lingo.dev@latest show locale targets

这些命令会显示你可以在配置中使用的全部语言区域代码列表。

常见语言区域示例

主要语言:

  • en - 英语
  • es - 西班牙语
  • fr - 法语
  • de - 德语
  • ja - 日语
  • zh - 中文
  • ko - 韩语
  • pt - 葡萄牙语
  • it - 意大利语
  • ru - 俄语

区域变体:

  • en-US - 英语(美国)
  • en-GB - 英语(英国)
  • es-ES - 西班牙语(西班牙)
  • es-419 - 西班牙语(拉丁美洲)
  • fr-FR - 法语(法国)
  • fr-CA - 法语(加拿大)
  • zh-CN - 中文(简体)
  • zh-TW - 中文(繁体)

区域变体

区域变体可帮助你针对特定市场,提供符合该地区文化和语言差异的本地化内容。

配置示例:

{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT"]
  }
}

生成的文件结构:

locales/
  en-US.json    (source)
  en-GB.json    (British English)
  es-ES.json    (Spanish Spain)
  es-419.json   (Latin American Spanish)
  pt-BR.json    (Brazilian Portuguese)
  pt-PT.json    (European Portuguese)

每个区域变体都会获得针对该市场术语和文化语境优化的翻译。

拉丁美洲西班牙语(es-419 覆盖拉丁美洲的西班牙语国家,采用适用于整个地区的术语和表达方式,而不是针对单一国家。

特定平台格式

部分平台采用不同的语言区域代码规范。Lingo.dev CLI 支持这些格式:

Android 资源目录:

{
  "locale": {
    "source": "en",
    "targets": ["es-rES", "pt-rBR", "zh-rCN"]
  },
  "buckets": {
    "android": {
      "include": ["android/values-[locale]/strings.xml"]
    }
  }
}

iOS Localizable.strings:

{
  "locale": {
    "source": "en",
    "targets": ["es", "pt-BR", "zh-Hans"]
  },
  "buckets": {
    "xcode-strings": {
      "include": ["ios/[locale].lproj/Localizable.strings"]
    }
  }
}

书写系统变体

对于有多种书写系统的语言,请使用脚本代码:

  • zh-Hans - 中文(简体)
  • zh-Hant - 中文(繁体)
  • sr-Cyrl - 塞尔维亚语(西里尔字母)
  • sr-Latn - 塞尔维亚语(拉丁字母)

配置示例:

{
  "locale": {
    "source": "en",
    "targets": ["zh-Hans", "zh-Hant", "sr-Cyrl", "sr-Latn"]
  }
}

添加新语言区域

Lingo.dev CLI 目前支持 80 多种语言区域,并会在社区请求后快速添加新支持。

如果您需要的语言区域代码尚未支持,可以在 Lingo.dev CLI 仓库 提交 issue 进行请求。大多数请求会在几天内实现并发布。