alooze/qwertcms-lang

Database-store language module for QWERT CMS

1.0.2 2017-07-12 19:51 UTC

This package is not auto-updated.

Last update: 2024-05-12 01:36:13 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Данная библиотека является модулем для alooze/qwertcms-base. Ее предназначение - дать возможность хранить языковые строки в БД и управлять этими строками через админку.

Обычный способ использования языковых строк при этом не изменяется.

Архитектура

  1. миграция lang_data
  2. модель LangData
  3. trait alooze/QwertCms/Translatable/Translatable
  4. функции хелперы в файле Helpers/translate.php
  5. роуты для управления языковыми строками в админке routes/qwertcms-lang.php (нужен include в роуты)
  6. контроллер для админки LangController
  7. шаблоны из views/langs/
  8. настройка в админке 'НАСТРОЙКИ', [ 'text' => 'Языковые строки', 'url' => 'admin/langs', 'icon' => 'cubes',//'braille', 'icon_color' => 'green' ],
  9. папка public для копирования в public/vendors/qwertcms-lang

Замечания по реализации

  1. Уникальность названий полей в таблице lang_data не отслеживается
  2. Сами ключи языков не хранятся в БД, только в конфиге
  3. Для сохранения моделей и их переводов необходимо к модели подключить trait Translatable, указать атрибут protected $translatable = ['name']; и использовать один из двух методов lcreate($data, $locale=null, $keyField='id') или lsave($locale=null, $keyField='id')

Install

Via Composer

$ composer require alooze/qwertcms-lang

Описание установки и использования будет сделано позднее

Credits

License

The MIT License (MIT). Please see License File for more information.