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"]
}