alooze / qwertcms-lang
Database-store language module for QWERT CMS
Installs: 70
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:CSS
Requires
- php: ~5.6|~7.0
- alooze/qwertcms-base: ~1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0||~6.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2025-03-02 05:39:16 UTC
README
Данная библиотека является модулем для alooze/qwertcms-base. Ее предназначение - дать возможность хранить языковые строки в БД и управлять этими строками через админку.
Обычный способ использования языковых строк при этом не изменяется.
Архитектура
- миграция lang_data
- модель LangData
- trait alooze/QwertCms/Translatable/Translatable
- функции хелперы в файле Helpers/translate.php
- роуты для управления языковыми строками в админке routes/qwertcms-lang.php (нужен include в роуты)
- контроллер для админки LangController
- шаблоны из views/langs/
- настройка в админке 'НАСТРОЙКИ', [ 'text' => 'Языковые строки', 'url' => 'admin/langs', 'icon' => 'cubes',//'braille', 'icon_color' => 'green' ],
- папка public для копирования в public/vendors/qwertcms-lang
Замечания по реализации
- Уникальность названий полей в таблице lang_data не отслеживается
- Сами ключи языков не хранятся в БД, только в конфиге
- Для сохранения моделей и их переводов необходимо к модели подключить 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.