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.0.4(4mo ago)413MITBladePHP ^8.2

Since Jan 4Pushed 4mo agoCompare

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

READMEChangelog (4)Dependencies (3)Versions (5)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

35

—

LowBetter than 80% of packages

Maintenance76

Regular maintenance activity

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

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 ~0 days

Total

4

Last Release

132d 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 (9 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

3291.4M10](/packages/kkomelin-laravel-translatable-string-exporter)[codezero/laravel-localized-routes

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

543638.1k4](/packages/codezero-laravel-localized-routes)[opgginc/codezero-laravel-localized-routes

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

2770.1k1](/packages/opgginc-codezero-laravel-localized-routes)[longman/laravel-multilang

Package to integrate multi language (multi locale) functionality in Laravel 5.x

5514.4k1](/packages/longman-laravel-multilang)[awes-io/localization-helper

Package for convenient work with Laravel's localization features

3527.1k4](/packages/awes-io-localization-helper)

PHPackages © 2026

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