orangelaravel/language

Language for Laravel

v1.2.2 2022-10-27 15:01 UTC

This package is auto-updated.

Last update: 2025-05-27 20:52:38 UTC


README

Небольшая библиотека для работы с переводами в языковых файлах.

Данная библиотека может:

  • Добавлять
  • Редактировать
  • Показывать
  • Удалять

Добавлены artisan команды:

  • Показать список языков
  • Добавление нового языка

Установка

composer require orangelaravel/language

Для работы artisan команд нужно в файле app\Console\Kernel добавить следующее:

protected $commands = [
  LanguageAdd::class,
  LanguageList::class
];

Использование

  1. Создание нового языка:
php artisan language:add en
  1. Добавление нового перевода:
Language::set('service.id.name', 'nameMyService', 'en');
  1. Чтение нового перевода:
$myValue = Language::get('service.id.name', 'en');

// nameMyService

или

$myValue = __('service')['id']['name'];

// nameMyService 

Второй вариант будет работать правильно, только если выбран правильный язык, т.к. в дефолтном варианте нельзя указать язык, с которого нужно получить перевод.

  1. Редактирование (перезаписывание):
Language::set('service.id.name', 'nameMyNewService', 'en');
  1. Удаление:
Language::delete('service.id.name', 'en');

Как это работает

В первом пункте мы создаём файл с названием языка: resources/lang/en.json

При добавлении или перезаписывании перевода, файл редактируется и приходит к виду:

{
    "service": {
        "id": {
            "name": "nameMyService"
        }
    }
}