microweber-packages / microweber-translation
Standalone Laravel package for managing translations with database storage, import/export, and locale helpers
Package info
github.com/microweber-packages/microweber-translation
pkg:composer/microweber-packages/microweber-translation
Requires
- php: ^8.2
- illuminate/cache: ^10.0|^11.0|^12.0|^13.0
- illuminate/database: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- illuminate/translation: ^10.0|^11.0|^12.0|^13.0
- microweber-packages/microweber-database: *
- microweber-packages/microweber-repository: *
- microweber-packages/microweber-searchable: *
- symfony/intl: ^6.0|^7.0
- whitecube/lingua: ^1.1
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
- microweber-packages/translation: *
This package is auto-updated.
Last update: 2026-11-03 17:07:50 UTC
README
A standalone Laravel package for managing translations with database storage, import/export, and locale helpers.
Installation
composer require microweber-packages/microweber-translation
Setup
Publish and run migrations:
php artisan migrate
Optionally publish config and language files:
php artisan vendor:publish --tag=microweber-translation-config php artisan vendor:publish --tag=microweber-translation-lang
Usage
Basic Translation
The package replaces Laravel's default translator with one that loads translations from both files and database.
// Standard Laravel translation functions work as before echo __('Hello'); echo trans('messages.welcome');
Import Translations
use MicroweberPackages\Translation\TranslationImport; $import = new TranslationImport(); $import->replaceTexts(true); // Overwrite existing $translations = [ [ 'translation_namespace' => '*', 'translation_group' => '*', 'translation_key' => 'Hello', 'translation_text' => 'Hola', 'translation_locale' => 'es_ES', ], ]; $result = $import->import($translations);
Install a Language Pack
use MicroweberPackages\Translation\TranslationPackageInstallHelper; // Get available languages $languages = TranslationPackageInstallHelper::getAvailableTranslations(); // Install a language TranslationPackageInstallHelper::installLanguage('bg_BG');
Language Helper
use MicroweberPackages\Translation\LanguageHelper; $name = LanguageHelper::getDisplayLanguage('bg_BG'); // "Bulgarian" $flag = LanguageHelper::getLanguageFlag('bg_BG'); // "bg" $isRtl = LanguageHelper::isRTL('ar_SA'); // true
API Routes
The package provides optional API routes (prefix: /api/translations):
GET /- List translations (paginated)POST /save- Save translationsGET /export- Export translations as JSONPOST /import- Import translations from JSONGET /languages- List available language packsPOST /install-language- Install a language pack
License
MIT