帮助中心

自动化AI本地化

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

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

使用场景

命令行界面

使用命令行界面进行快速翻译,并完全控制选项:

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操作,将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操作工作流程中:

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 ARB文件,并自动更新元数据:

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简化您的本地化工作流程了吗?