帮助中心

使用 AI 自动化本地化

本地化自动化改变了您翻译应用程序的方式。ai-l10n npm 包将 AI 驱动的翻译直接带入您的开发工作流程,支持 JSON 和 Flutter ARB 文件,具备智能自动化功能。

AI-powered localization automation demonstration

AI 驱动的本地化自动化在行动

为什么要自动化本地化?

手动翻译管理耗时且容易出错。自动化提供:

  • 通过 AI 驱动的自动化节省数小时的手动翻译工作。
  • 确保所有翻译的一致性,利用上下文感知的 AI。
  • 将翻译直接集成到您的 CI/CD 流程中。
  • 自动检测和翻译新字符串,同时保留现有翻译。
  • 支持 165 种以上语言,提供上下文感知的翻译质量。

AI 驱动的功能

ai-l10n 包使用先进的 AI 提供生产质量的翻译:

上下文感知翻译

AI 理解字符串的上下文,保留占位符、HTML 标签和格式,同时将日期和数字适应目标区域。它智能地避免翻译专有名词、URL 和技术术语。

智能项目检测

自动从您的项目结构(基于文件夹或文件)检测目标语言。如果项目中已存在语言,则无需手动指定。

类型安全和格式保留

保留 JSON 数据类型——数字保持为数字,布尔值保持为布尔值,null 值得以维护。支持 i18next 的复数形式,自动生成复杂复数规则的后缀。

智能错误检测与分块

自动检测并在丢失占位符或格式时重试。对于大型文件,将内容拆分为可管理的块,同时保持上下文。防止直接 AI 上传时常见的问题,如超过 ~16,000 字符导致内容丢失。

开始使用

安装

使用 npm、yarn 或 pnpm 安装 ai-l10n 包:

npm install ai-l10n

配置 API 密钥

获取您的免费 API 密钥并进行配置:

npx ai-l10n config --api-key YOUR_API_KEY

您的第一次翻译

使用一个简单的命令翻译您的本地化文件:

# Auto-detect target languages from project structure
npx ai-l10n translate path/to/en.json

# Specify target languages
npx ai-l10n translate path/to/en.json --languages es,fr,de

使用场景

命令行界面

使用 CLI 快速翻译,完全控制选项:

npx ai-l10n translate ./locales/en.json \
  --languages es,fr,de,ja,zh-CN \
  --plural \
  --verbose

编程使用

将翻译直接集成到您的 Node.js 应用程序中:

import { AiTranslator } from 'ai-l10n';

const translator = new AiTranslator();

// Basic translation
const result = await translator.translate({
  sourceFile: './locales/en.json',
  targetLanguages: ['es', 'fr', 'de'],
});

console.log(`Translated to ${result.results.length} languages`);
console.log(`Used ${result.totalCharsUsed} characters`);

CI/CD 集成

通过我们的 ai-l10n GitHub Action,将 AI 驱动的翻译无缝集成到您的 CI/CD 流水线中:

创建一个配置文件:

// example ai-l10n.config.json
[
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["es", "fr", "de"],
    "translateOnlyNewStrings": true
  },
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["pl", "ar"],
    "generatePluralForms": true,
    "translateOnlyNewStrings": true
  }
]

添加到您的 GitHub Actions 工作流中:

name: Auto-translate i18n files

on:
  push:
    branches:
      - main
    paths:
      - 'locales/en/**'
      - 'ai-l10n.config.json'

permissions:
  contents: write

jobs:
  translate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: l10n-dev/ai-l10n@v1
        with:
          api-key: ${{ secrets.L10N_API_KEY }}
          config-file: 'ai-l10n.config.json'
          pull-request: false

使用 ai-l10n 批处理命令的 GitLab CI 配置:

# .gitlab-ci.yml
translate:
  stage: deploy
  image: node:20-alpine
  only:
    - main
  changes:
    - locales/en/**/*
    - ai-l10n.config.json
  script:
    - npm install -g ai-l10n
    - npx ai-l10n batch ai-l10n.config.json
  variables:
    L10N_API_KEY: $L10N_API_KEY

使用 ai-l10n 批处理命令的 Jenkins 管道配置:

// Jenkinsfile
pipeline {
  agent any

  stages {
    stage('Translate') {
      when {
        changeset "locales/en/**"
      }
      steps {
        script {
          sh 'npm install -g ai-l10n'
          withCredentials([string(
            credentialsId: 'l10n-api-key',
            variable: 'L10N_API_KEY'
          )]) {
            sh 'npx ai-l10n batch ai-l10n.config.json'
          }
        }
      }
    }
  }
}

高级功能

增量更新

仅翻译新键,同时保留现有翻译:

# Only translate new keys, preserve existing translations
npx ai-l10n translate path/to/en.json --update

批量翻译

使用配置文件一次翻译多个文件:

// example translate-config.json
[
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["pl", "ru", "ar"],
    "generatePluralForms": true,
    "translateOnlyNewStrings": true
  },
  {
    "sourceFile": "./locales/en/admin.json",
    "targetLanguages": ["pl", "ru", "ar", "de"]
  }
]
npx ai-l10n batch translate-config.json

i18next 复数形式

自动生成所有所需的复数形式字符串,并为具有复杂复数规则的语言(如俄语、阿拉伯语或波兰语)提供正确的后缀:

npx ai-l10n translate ./locales/en.json \
  --languages ru,ar,pl \
  --plural

Flutter ARB 支持

全面支持 Flutter 应用程序资源包文件,并自动更新元数据:

npx ai-l10n translate ./lib/l10n/app_en_US.arb \
  --languages es_ES,fr_FR,de

语言支持

l10n.dev 支持 165 种以上语言,具有不同的熟练程度:

  • 强(12 种语言): 英语、西班牙语、法语、德语、中文、俄语、葡萄牙语、意大利语、日语、韩语、阿拉伯语、印地语
  • 高(53 种语言): 大多数欧洲和亚洲语言,包括荷兰语、瑞典语、波兰语、土耳其语、越南语、泰语等
  • 中等(100+ 种语言): 广泛的世界语言

项目结构检测

ai-l10n 自动检测您的项目结构并相应生成翻译:

基于文件夹的结构

按语言文件夹组织翻译:

locales/
  en/
    common.json
    errors.json
  es/              # Auto-detected
    common.json
    errors.json
  fr-FR/           # Auto-detected
    common.json

基于文件的结构

为每种语言使用单独的文件:

locales/
  en.json          # Source
  es.json          # Auto-detected
  fr-FR.json       # Auto-detected
  zh-Hans-CN.json  # Auto-detected

最佳实践

  • 使用增量更新: 使用 --update 标志仅翻译新字符串,保留现有翻译并节省字符。
  • 与 CI/CD 集成: 在每次提交源语言文件时自动化翻译,以确保翻译始终保持最新。
  • 安全存储 API 密钥: 在 CI/CD 环境中使用环境变量或秘密管理来保护 API 密钥。
  • 审核过滤内容: 检查 .filtered 文件,查看因内容政策违规而被排除的字符串。
  • 使用批量配置: 对于多个文件,使用批量翻译配置通过单个命令管理所有翻译。

准备好通过 AI 精简您的本地化工作流程了吗?