Lingo.dev + .yaml (Данные)

Lingo.dev CLI переводит YAML-файлы, сохраняя структуру, типы данных и форматирование для управления конфигурацией и контентом. CLI поддерживает точную иерархию и отступы YAML, обрабатывает только строковые значения, сохраняя числа и логические значения, оставляет комментарии разработчиков без изменений, обеспечивает корректную работу якорей и ссылок YAML и строго следует спецификации YAML 1.2.

Быстрая настройка

Настройте для YAML-файлов с именами, основанными на локали:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "yaml": {
      "include": ["config/[locale].yaml"]
    }
  }
}

Напоминание: [locale] — это заполнитель, который должен оставаться в конфигурации буквально, так как он заменяется на фактическую локаль во время выполнения CLI.

Перевод содержимого YAML

npx lingo.dev@latest i18n

Сохраняет структуру YAML, типы данных, комментарии и форматирование при переводе строковых значений.

Сохранение структуры

Вложенная конфигурация

app:
  name: "Мое приложение"
  description: "Мощный инструмент для повышения продуктивности"
  features:
    - "Совместная работа в реальном времени"
    - "Расширенный поиск"
    - "Пользовательские темы"

database:
  host: "localhost"
  port: 5432

Строковые значения переводятся, в то время как техническая конфигурация остается неизменной.

Смешанные типы данных

user_interface:
  welcome_message: "Добро пожаловать на нашу платформу!"
  max_items: 100
  enable_notifications: true
  created_at: 2024-01-15T10:30:00Z

Обрабатываются только переводимые строки; числа, логические значения и даты остаются неизменными.

Расширенные функции

Сохранение комментариев


# Конфигурация приложения

app:
  # Строки для пользователей
  title: "Панель управления"
  tagline: "Эффективное управление вашими проектами"

  # Технические настройки (не переводятся)
  version: "1.2.0"

Комментарии остаются точно такими же, как в исходном файле.

Поддержка якорей и ссылок

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  message: "Готово к работе в производственной среде"

Якоря и ссылки YAML сохраняются при переводе.

Расширенная конфигурация

Несколько YAML-файлов

"yaml": {
  "include": [
    "config/[locale].yaml",
    "content/[locale]/*.yml"
  ]
}

Блокировка технических ключей

"yaml": {
  "include": ["config/[locale].yaml"],
  "lockedKeys": ["database", "api/endpoint", "version"]
}