Search by

microweber-packages / microweber-translation

boksiora

Standalone Laravel package for managing translations with database storage, import/export, and locale helpers

Package info

github.com/microweber-packages/microweber-translation

Homepage

pkg:composer/microweber-packages/microweber-translation

Statistics

Installs: 31

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-03 16:18 UTC

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 translations
  • GET /export - Export translations as JSON
  • POST /import - Import translations from JSON
  • GET /languages - List available language packs
  • POST /install-language - Install a language pack

License

MIT