• Время чтения ~1 мин
  • 29.05.2025

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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297

Мы сбиваем «шахеды» каждый день. Каждое сбитие — спасённые жизни. Нам нужна мобильность: бус или прицеп. Каждый донат = ещё одна ночь под защитой.

🚐 Сбор на микроавтобус для моего экипажа, полк 1020 🎯 Цель: 500 000 ₴
🔗 Ссылка на банку 💳 4441 1111 2546 4663