Laratext — это пакет Laravel от Эдуардо Лазаро, который упрощает управление и локализацию текстовых строк в приложениях Laravel. Он улучшает встроенный __() метод Laravel, позволяя разработчикам устанавливать как ключ перевода, так и текст по умолчанию, что улучшает читабельность и снижает количество ошибок перевода. Кроме того, он может подключаться к таким сервисам, как OpenAI и Google Translate, чтобы автоматически заполнять недостающие переводы для разных языков, экономя много ручной работы.
Функции
- Упрощает работу с языковыми файлами в Laravel.
- Автоматический перевод отсутствующих ключей перевода на несколько языков.
- Поддерживает несколько сервисов перевода (например, OpenAI, Google Translate).
- Простая в использовании директива Blade (
@text) и вспомогательные функции (text()). - Команды для сканирования и обновления файлов перевода.
Установка
Установите этот пакет с помощью Composer:
composer require edulazaro/laratext
Далее опубликуйте конфигурацию:
php artisan vendor:publish --tag="texts"
Только что созданный config/texts.php файл позволяет настроить службы перевода, ключи API и поддерживаемые языки.
Использование
Этот пакет предоставляет вспомогательную text() функцию, которую можно использовать в вашем PHP-коде или @text() директиве Blade. Например:
text('messages.welcome', 'Welcome to Laravel News');
@text('messages.welcome', 'Welcome to Laravel News')
Вы можете использовать laratext:scan команду Artisan для сканирования вашего проекта Laravel на предмет отсутствующих ключей перевода и при необходимости перевести их на несколько языков.
php artisan laratext:scan --write --lang=es --translator=openai
Заметка: Если вы пользуетесь одним из сервисов перевода, добавьте в файл свой API-ключ .env .
OPENAI_API_KEY=your_openai_api_key
GOOGLE_TRANSLATOR_API_KEY=your_google_api_key
Узнайте больше об этом пакете и просмотрите исходный код на GitHub.