Open-source платформа для управления переводами с самостоятельным хостингом, импортом и экспортом распространённых форматов локализации и REST API.
slang-i18n/slang
Типобезопасная библиотека интернационализации для Dart и Flutter, генерирующая методы доступа к переводам из файлов JSON, YAML, CSV или ARB.
- Звёзды
- 619
- Форки
- 66
- Открытые issues
- 41
- Последний коммит
- 3 месяца назад
Что это?
Slang — библиотека интернационализации для Dart и Flutter. Переводы записываются в файлах JSON, YAML, CSV или ARB, а библиотека генерирует Dart-код, позволяющий обращаться к каждому переводу как к типизированному методу или свойству. Отсутствующие ключи и неверные имена параметров обнаруживаются во время компиляции, а не проявляются как ошибки во время выполнения.
Сгенерированные методы доступа избавляют от необходимости разбирать файлы переводов во время выполнения. Поддерживаются строки с параметрами, формы множественного числа, контексты на основе пользовательских enum, связанные переводы, фрагменты RichText, а также форматирование чисел и дат с учётом локали. Пространства имён позволяют разделять большие файлы переводов на более мелкие, а библиотека работает как в проектах на чистом Dart, так и в приложениях Flutter.
В пакет входит CLI для поиска неиспользуемых или отсутствующих переводов, нормализации файлов, перемещения ключей, преобразования файлов ARB в JSON и обновления конфигурации локалей iOS.
Ключевые возможности
- 01Генерирует типизированные методы доступа на Dart, благодаря чему опечатки и отсутствующие аргументы обнаруживаются во время компиляции.
- 02Читает переводы из файлов JSON, YAML, CSV и ARB.
- 03Поддерживает формы множественного числа, пользовательские контексты, типизированные параметры и RichText.
- 04Форматирует числа и даты с учётом локали с помощью пакета intl.
- 05Включает CLI для анализа, нормализации и преобразования файлов переводов.
Сценарии использования
- Добавление поддержки нескольких языков в приложение Flutter с проверкой строк во время компиляции.
- Локализация консольной утилиты или серверного приложения на чистом Dart.
- Перевод существующего проекта Flutter на основе ARB на работу с JSON или YAML.
- Поиск неиспользуемых или отсутствующих переводов в крупном проекте с несколькими локалями.
Быстрый старт
- 1
Добавьте пакеты slang и slang_flutter в pubspec.yaml
- 2
Создайте файлы переводов JSON, например en.i18n.json, в lib/i18n
- 3
Сгенерируйте код переводов на Dart
dart run slang - 4
Инициализируйте локаль в main() и используйте переводы через t
Что важно знать
- Требуется проект на Dart или Flutter; использовать его из других языков нельзя.
Темы
Частые вопросы
- Что такое slang?
- Типобезопасная библиотека интернационализации для Dart и Flutter, генерирующая методы доступа к переводам из файлов JSON, YAML, CSV или ARB. Slang — библиотека интернационализации для Dart и Flutter. Переводы записываются в файлах JSON, YAML, CSV или ARB, а библиотека генерирует Dart-код, позволяющий обращаться к каждому переводу как к типизированному методу или свойству. Отсутствующие ключи и неверные имена параметров обнаруживаются во время компиляции, а не проявляются как ошибки во время выполнения.
- slang можно использовать бесплатно? Какая у него лицензия?
- slang распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- slang всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в slang — 6 авг. 2026 г..
- Для чего можно использовать slang?
- Добавление поддержки нескольких языков в приложение Flutter с проверкой строк во время компиляции. Локализация консольной утилиты или серверного приложения на чистом Dart. Перевод существующего проекта Flutter на основе ARB на работу с JSON или YAML. Поиск неиспользуемых или отсутствующих переводов в крупном проекте с несколькими локалями.
- Как установить slang?
- Добавьте пакеты slang и slang_flutter в pubspec.yaml Создайте файлы переводов JSON, например en.i18n.json, в lib/i18n Сгенерируйте код переводов на Dart: dart run slang Инициализируйте локаль в main() и используйте переводы через t
- Где скачать slang?
- Исходный код и инструкции по установке — на GitHub: https://github.com/slang-i18n/slang
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Open-source инструмент для управления переводами и CMS на Angular и Firebase с переводом через Google Translate на базе ИИ.
Инструментарий для переводов Next.js-приложений: интегрирует i18next и react-i18next с App Router, Pages Router и middleware.
Расширение для браузера, которое локально переводит интерфейс GitHub на упрощённый или традиционный китайский.
Создаёт типизированные модели и сериализаторы на разных языках по JSON, JSON Schema, TypeScript и GraphQL-запросам.
Генерирует TypeScript-типы по схемам OpenAPI 3 и предоставляет типобезопасный fetch-клиент на их основе.