Перейти до вмісту
en English

Версія v1.6.5 Попередні версії: документація на GitHub

Локалізація

На цій сторінці

Пакет постачається з двома мовами інтерфейсу: українською (uk, за замовчуванням) і англійською (en).

Мова панелі

Мова застосовується лише до маршрутів панелі, мова решти застосунку не змінюється. Вона визначається за порядком (береться перший непорожній варіант):

  1. замикання з Larsadmin::resolveLocaleUsing();
  2. вибір користувача, збережений у сесії (larsadmin.locale); приймається, лише якщо мова є серед config('larsadmin.locales');
  3. config('larsadmin.locale') (LARSADMIN_LOCALE, за замовчуванням uk);
  4. мова застосунку (app()->getLocale()).

Якщо larsadmin.locale дорівнює null, панель використовує мову застосунку.

Налаштування конфігу:

'locale' => env('LARSADMIN_LOCALE', 'uk'),

'locales' => [
    'uk' => 'Українська',
    'en' => 'English',
],

Перемикач мови

Перемикач у шапці показує мови з locales (код => підпис) і зберігає вибір у сесії (POST {path}/locale, 30 запитів на хвилину). Ендпоінт доступний і гостям, тож мову можна обрати до входу.

Мова з профілю користувача

use Maxcxam\Larsadmin\Larsadmin;

// у boot() провайдера застосунку
Larsadmin::resolveLocaleUsing(fn (Request $request) => $request->user()?->locale);

Повернене значення обробляється як мова панелі (воно не перевіряється списком locales, тож повертайте лише підтримувані мови). Повернення null або порожнього рядка передає вибір наступному варіанту.

Переклади інтерфейсу

Рядки пакета лежать у просторі імен larsadmin::: файли ui.php, messages.php, actions.php і metrics.php (підписи періодів метрик, «Інше», «Без значення», «Так»/«Ні») для uk і en.

Щоб змінити або додати рядки, опублікуйте їх:

php artisan vendor:publish --tag=larsadmin-lang

Файли потраплять у lang/vendor/larsadmin/{uk,en}. Перекладіть або змініть потрібні ключі, непотрібні можна видалити. Ключі застосунку мають пріоритет над пакетними. Для нової мови додайте каталог lang/vendor/larsadmin/{код} з тими ж файлами й запис у config('larsadmin.locales').

Клієнтська частина отримує ui.php з сервера для поточної мови. Якщо ключа немає, використовується вбудована українська копія, а за її відсутності показується сам ключ.

Валідаційні повідомлення

php artisan larsadmin:install копіює lang/uk/validation.php (українські повідомлення, структура збігається з англійським файлом фреймворка), лише якщо в застосунку немає такого файлу. Наявний файл не перезаписується, а команда повідомляє, що залишає його без змін. Далі файл належить вам і редагується вільно.

Англійські повідомлення бере сам Laravel (lang/en/validation.php, якщо ви його опублікували).

Підписи Entity та полів

Підписи, які ви пишете в коді, не потребують окремих файлів перекладу, якщо панель однією мовою:

public static ?string $label = 'Категорії';       // множина
public static ?string $singularLabel = 'Категорія';

Text::make('Назва', 'name')
  • $label і $singularLabel проходять через __(), тож їх можна перекладати рядками JSON (lang/en.json: "Категорії": "Categories") або ключами.
  • Без $label множина утворюється від назви класу (Post дає Posts).
  • Назва поля (перший аргумент make()) показується як є. Для не-ASCII назви обов'язково вкажіть атрибут другим аргументом.
  • Підписи фільтрів і дій (типовий name(), утворений від назви класу, Filter::make($label), options) проходять через __(). Перевизначений name() показується як є.

Формати дат

Поля Date і DateTime на index і detail форматуються за ключами formats.date і formats.datetime з larsadmin::ui (для uk: d.m.Y і d.m.Y H:i:s, для en: Y-m-d і Y-m-d H:i:s). Формат конкретного поля задає displayFormat('d/m/Y'); він має пріоритет.

Далі: Теми.

Введіть запит, щоб шукати в усіх посібниках. ↑ ↓ — вибір, Enter — відкрити.