laravel-enso/localisation

Localisation management dependency for Laravel Enso
63,278 13
Install
composer require laravel-enso/localisation
Latest Version:5.7.0
PHP:^8.0
License:MIT
Last Updated:May 24, 2026
Links: GitHub  ·  Packagist
Maintainer: aocneanu

Localisation

License Stable Downloads PHP Issues Merge Requests

Description

Localisation manages Enso languages, JSON translation files, and request-time language selection.

The package exposes language CRUD and translation-file editing endpoints, registers the set-language middleware alias, and ships commands for publishing locale files and scanning the codebase for missing translation keys.

It is intended for Enso applications that maintain multiple UI languages and JSON translation stores.

Installation

Install the package:

composer require laravel-enso/localisation

Run the package migrations:

php artisan migrate

Optional publishes:

php artisan vendor:publish --tag=localisation-config
php artisan vendor:publish --tag=localisation-factory
php artisan vendor:publish --tag=localisation-seeder

Features

  • Language CRUD, options, table init, table data, and Excel export endpoints.
  • JSON translation editing, saving, and key-creation endpoints.
  • set-language middleware alias for per-request locale switching.
  • enso:localisation:publish command for generating locale folders and JSON files.
  • enso:localisation:scan command for finding missing keys, frontend and selectable enum labels, registered model values, and duplicate translations.

Usage

Main route groups:

  • system.localisation.*
  • system.localisation.editTexts
  • system.localisation.getLangFile
  • system.localisation.saveLangFile
  • system.localisation.addKey

Artisan commands:

php artisan enso:localisation:publish --locale=ro
php artisan enso:localisation:scan --dry-run

The scan command reads the configured source paths and also collects labels from frontend enums and native enums implementing LaravelEnso\Enums\Contracts\Select by default. Disable enum label collection through the published config when needed:

'scan' => [
    'enums' => false,
],

Packages may expose database-backed translation keys by extending LaravelEnso\Localisation\TranslatableModelServiceProvider and listing models that implement LaravelEnso\Localisation\Contracts\TranslatableAttributes. The provider registers models only while enso:localisation:scan is running.

API

HTTP routes

  • GET api/system/localisation/create
  • POST api/system/localisation
  • GET api/system/localisation/{language}/edit
  • PATCH api/system/localisation/{language}
  • DELETE api/system/localisation/{language}
  • GET api/system/localisation/initTable
  • GET api/system/localisation/tableData
  • GET api/system/localisation/exportExcel
  • GET api/system/localisation/options
  • GET api/system/localisation/editTexts
  • GET api/system/localisation/getLangFile/{language}
  • PATCH api/system/localisation/saveLangFile/{language}
  • PATCH api/system/localisation/addKey

Middleware

  • set-language

Artisan commands

  • enso:localisation:publish
  • enso:localisation:scan

Depends On

Required Enso packages:

Companion frontend package:

Contributions

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!

Related Packages

laravel-enso/core

Main requirement & dependency aggregator for Laravel Enso

65,855 34
laravel-enso/charts

Server-side data builder for Chart.js, with a VueJS component for the frontend.

63,314 17
laravel-enso/helpers

Helper classes dependency for Laravel Enso

103,945 8
laravel-enso/select

Bootstrap Select data builder with server-side data fetching capability and a Vu...

61,747 26
arcanedev/laravel-lang

Translations manager and checker for Laravel 5 based on 'caouecs/laravel4-lang'...

71,539 70