helgispbru/evocms-translations
Composer 安装命令:
composer require helgispbru/evocms-translations
包简介
EvolutionCMS Translations module
README 文档
README
Модуль Translations для EvolutionCMS v3 это редактор для удобной правки языковых файлов в /core/custom/lang с промежуточным хранением в базе.
Установка
Автоматическая
ВАЖНО: сейчас недоступно
Зайти в консоль сервера, перейти в папку core и там выполнить:
php -d="memory_limit=-1" artisan package:installrequire helgispbru/evocms-translations "*" php artisan vendor:publish --tag="assets" --force
Вручную
- Добавить в
/core/custom/composer.jsonв список репозиториев:
"repositories": [ { "type": "git", "url": "https://github.com/helgispbru/evocms-translations" } ]
- Зайти в консоль сервера, перейти в папку
coreи там запустить
php -d="memory_limit=-1" artisan package:installrequire helgispbru/evocms-translations "*" ; установка только фронта в assets php artisan vendor:publish --tag="assets" --force ; или ; php artisan vendor:publish --provider="Helgispbru\EvolutionCMS\Translations\TranslationsServiceProvider" --force
Использование
При импорте сканируются файлы из /core/custom/lang и в базе создаются языки, группы переводов и строки переводов в соответствии с данными из файлов. Записи в базе обновляются из файлов, но существующие не удаляются.
Для массивов в переводах будут сделаны преобразования при записи в базу в соответствующие строки с точками, например для файла
<?php return [ 'login' => [ 'name' => '...', 'secondname' => '...' ] ]
в базе будет преобразовано в login.name и login.secondname.
При экспорте данные из базы записываются в файлы /core/custom/lang, содержимое файлов полностью заменяется (делайте резервные копии!). Удалённые в базе группы и языки при экспорте удаляются из файлов.
Модуль
Модуль доступен в админке EvolutionCMS и позволяет работать с переводами.
После запуска модуля, перед началом работы, нужно сделать импорт языковых строк с помощью функции импорта (кнопка доступна в меню справа сверху). При импорте в базе создаются записи для языков, групп и строк переводов. Существующие записи обновляются, данные из файлов имеют приоритет. Данные, которые были в базе, но отсутствовали в файлах, не удаляются.
После окончания работы нужно экспортировать всё в файлы (кнопка доступна справа сверху). Важно делать это каждый раз, так как только файлы являются достоверным источником данных, а таблица в базе нужна только для удобной работы и служит для временного хранения строк переводов. При экспорте создаются папки для языков и файлы для групп с переводами. Если язык или группа были удалены из базы, то они также будут удалены из файлов (делайте резервные копии!).
Консоль
Функции импорта, экспорта и очистки таблиц базы также доступны из консоли. Консольные команды запускаются из папке core на сервере.
Импорт данных в базу
При импорте в базе создаются записи для языков, групп и строк переводов. Существующие записи обновляются, данные из файлов имеют приоритет. Данные, которые были в базе, но отсутствовали в файлах, не удаляются.
Команда:
php artisan translations:import
Параметры:
| параметр | описание | пример |
|---|---|---|
ignore-locales |
список языков, которые будут проигнорированы | --ignore-locales=fr,de |
ignore-groups |
список групп переводов, которые будут проигнорированы | --ignore-groups=routes,admin/non-editable-stuff |
only-groups |
список групп, которые будут импортированы | --only-groups=admin/employer,frontend/* |
o или overwrite |
заменять значения в базе, по умолчанию включено | --overwrite=false |
Экспорт данных в файлы
При экспорте создаются папки для языков и файлы для групп с переводами. Если язык или группа были удалены из базы, то они также будут удалены из файлов (делайте резервные копии!).
Команда:
php artisan translations:export
Параметры:
| параметр | описание | пример |
|---|---|---|
ignore-groups |
список групп переводов, которые будут проигнорированы | --ignore-groups=routes,admin/non-editable-stuff |
only-groups |
список групп, которые будут экспортированы | --only-groups=admin/employer,frontend/* |
Удаление записей из базы
При удалении происходит как удаление групп переводов из базы, так и соответствующих им языковых строк. Языки в базе при этом остаются без изменений.
Команда:
php artisan translations:nuke
Параметры:
| параметр | описание | пример |
|---|---|---|
only-groups |
список групп, которые будут удалены из базы | --only-groups=admin/employer,frontend/* |
Как устроено и благодарности
Исходный код фронта модуля находится в publishable/module, написан с помощью vuejs3.
Для импорта и экспорта частично заимствован код у WeDesignIt/laravel-translations-import, спасибо ему!
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-22