PHPackages                             php-junior/glosa - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. php-junior/glosa

ActiveLibrary[Localization &amp; i18n](/categories/localization)

php-junior/glosa
================

A standalone Laravel Translation Management System package.

v0.1.0(1mo ago)423MITBladePHP ^8.2

Since Jan 4Pushed 1mo agoCompare

[ Source](https://github.com/PHPJunior/glosa)[ Packagist](https://packagist.org/packages/php-junior/glosa)[ RSS](/packages/php-junior-glosa/feed)WikiDiscussions main Synced today

READMEChangelog (5)Dependencies (6)Versions (6)Used By (0)

Glosa
=====

[](#glosa)

[![Latest Version on Packagist](https://camo.githubusercontent.com/ac27179e877d6ddfdbd8873bde832904645671d3b526532164b58d0edd7aa170/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7068702d6a756e696f722f676c6f73612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/php-junior/glosa)[![Total Downloads](https://camo.githubusercontent.com/8be36b78b3bacf3ab2d1151acac21d80199ea1b82a3bb7b3e15f14746014f851/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7068702d6a756e696f722f676c6f73612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/php-junior/glosa)

A standalone Laravel Translation Management System package. Managed your translations with a beautiful UI.

[![Glosa UI](art/1.png)](art/1.png)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require php-junior/glosa
```

Configuration
-------------

[](#configuration)

Publish the config file with:

```
php artisan vendor:publish --tag="glosa-config"
php artisan migrate
```

This will create a `config/glosa.php` file in your app, where you can configure the route prefix, middleware, and API settings.

### Route Prefix

[](#route-prefix)

By default, the UI is accessible at `/glosa`. You can change this in the config:

```
'route_prefix' => 'translations',
```

### Authorization

[](#authorization)

Glosa exposes a dashboard at `/glosa`. By default, this is only accessible in the `local` environment. To allow access in other environments, you must define the `viewGlosa` gate in your `AppServiceProvider` (or `AuthServiceProvider`).

```
use Illuminate\Support\Facades\Gate;

public function boot()
{
    Gate::define('viewGlosa', function ($user) {
        return in_array($user->email, ['admin@app.com']);
    });
}
```

Features
--------

[](#features)

### Public API

[](#public-api)

Glosa provides a public API endpoint to fetch translations for a specific locale. This is useful for Single Page Applications (SPAs) or mobile apps.

**Endpoint:** `GET /api/translations/{locale}`

**Configuration:**

You can enable/disable this feature and control the response format in `config/glosa.php` or your `.env` file:

```
GLOSA_ENABLE_PUBLIC_API=true
GLOSA_PUBLIC_API_URL=api/translations/{locale}
GLOSA_PUBLIC_API_NESTED=true
```

- `GLOSA_ENABLE_PUBLIC_API`: Set to `true` to enable the endpoint.
- `GLOSA_PUBLIC_API_URL`: Customize the endpoint URL. Must include `{locale}`.
- `GLOSA_PUBLIC_API_NESTED`:
    - `true` (default): Returns nested JSON (e.g., `{"messages": {"welcome": "Hello"}}`)
    - `false`: Returns dot-notation JSON (e.g., `{"messages.welcome": "Hello"}`)

### Export Feature

[](#export-feature)

You can export translations for a specific locale as a JSON file via the UI or the export endpoint.

**Endpoint:** `GET /glosa/export?locale={locale}&nested={boolean}`

- `locale`: The locale code (e.g., `en`).
- `nested`: `1` for nested JSON, `0` for dot notation.

### Laravel Translation Loader

[](#laravel-translation-loader)

Glosa integrates seamlessly with Laravel's native translation system. You can use `__('key')` or `trans('key')` to fetch translations directly from the database.

**How it works:**The package overrides the default translation loader. It attempts to find the translation in your local language files first (for performance). If not found, or if you want to override files with database values, it merges the database translations.

**Configuration:**

By default, this feature is enabled. You can disable it in `config/glosa.php` or `.env`:

```
GLOSA_ENABLE_DB_LOADING=true
```

### Usage

[](#usage)

1. Navigate to `/glosa` (or your configured prefix).
2. **Add Locales**: Create the languages you want to support (e.g., `en`, `fr`, `es`).
3. **Add Keys**: Create translation keys. You can use dot notation for grouping (e.g., `auth.failed`).
4. **Translate**: Enter values for each key and locale directly in the grid.
5. **Import**: Import existing JSON translation files.

License
-------

[](#license)

The MIT License (MIT).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance90

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Total

5

Last Release

49d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e2695272c87c7144c984ddf468d380477dc578b617e7da5502eb4e7eff1f6087?d=identicon)[Nyi Nyi Lwin](/maintainers/Nyi%20Nyi%20Lwin)

---

Top Contributors

[![PHPJunior](https://avatars.githubusercontent.com/u/13845077?v=4)](https://github.com/PHPJunior "PHPJunior (10 commits)")

---

Tags

laraveluitranslationtmsglosa

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/php-junior-glosa/health.svg)

```
[![Health](https://phpackages.com/badges/php-junior-glosa/health.svg)](https://phpackages.com/packages/php-junior-glosa)
```

###  Alternatives

[kkomelin/laravel-translatable-string-exporter

Translatable String Exporter for Laravel

3301.5M20](/packages/kkomelin-laravel-translatable-string-exporter)[tio/laravel

Add this package to localize your Laravel application (PHP, JSON or GetText).

170341.2k](/packages/tio-laravel)[erag/laravel-lang-sync-inertia

A powerful Laravel package for syncing and managing language translations across backend and Inertia.js (Vue/React/Svelte) frontends, offering effortless localization, auto-sync features, and smooth multi-language support for modern Laravel applications.

4925.3k](/packages/erag-laravel-lang-sync-inertia)[opgginc/codezero-laravel-localized-routes

A convenient way to set up, manage and use localized routes in a Laravel app.

29119.1k1](/packages/opgginc-codezero-laravel-localized-routes)[niels-numbers/laravel-localizer

Detects the user’s preferred language and redirects to the matching localized URL.

183.4k](/packages/niels-numbers-laravel-localizer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
