PHPackages                             rkgrep/locales - 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. rkgrep/locales

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

rkgrep/locales
==============

Locale management package for Laravel.

v0.1(10y ago)0497MITPHPPHP &gt;=5.5.9

Since Jun 29Pushed 10y ago1 watchersCompare

[ Source](https://github.com/rkgrep/laravel-locales)[ Packagist](https://packagist.org/packages/rkgrep/locales)[ RSS](/packages/rkgrep-locales/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel locales
===============

[](#laravel-locales)

A missing package for locale management.

### Installation

[](#installation)

You can install Locales using composer. Only \*dev-master \* version is currently available.

```
composer require rkgrep/locales:dev-master@dev

```

Enable the service provider in your application config (*app.php*)

```
// ...

rkgrep\Locales\LocaleServiceProvider::class

// ...

```

### Configuration

[](#configuration)

Basic Locales configuation is located in *locales.php* config file. You can use `artisan vendor:publish` command to copy default config to your app config path.

Locales currently supports 3 ways of storing configured locales: config, database and eloquent.

Set the preferred one to `driver` key.

```
// ...

'driver' => 'database',

// ...

```

#### Config driver

[](#config-driver)

Config driver uses *locales.php* to list available locales. English locale is configured by default.

Each locale should have an unique key defining its main code type used in your app. E. g. an **ISO 639‑1** two-letter code. Other locale codes ay be defined in `locales` array. Human-readable locale names may be defined in `names` array, where `native` and `i18n` are recommended to be always present.

```
// ...

'en' => [
    'locales' => ['en', 'en_US', 'en-US', 'en-us', 'eng', 'English', 1033],
    'names' => [
        'native' => 'English',
        'i18n' => 'English (US)'
    ],
],
'ru' => [
    'locales' => ['ru', 'ru_RU', 'ru-RU', 'ru-ru', 'rus', 'Russian', 1049],
    'names' => [
        'native' => 'Русский',
        'i18n' => 'Russian'
    ],
],

// ...

```

#### Database driver

[](#database-driver)

Database driver uses a table to store locales and their values.

The table name is configured in *locales.php* in `table` key.

```
// ...

'table' => 'locales',

// ...

```

You can add a base migration to your application with `artisan locales:table` command. It uses configured table name, so you don't need to check it. Note that the command does not dump composer autoloads so you should run `composer dump-autoload` for the migration to work.

The base schema does not use autoincrementable field. Instead it has a *code* column as a primary key.

#### Eloquent driver

[](#eloquent-driver)

Eloquent driver returns a locale model instance so it can be further connected to other models via relations and customized as any other model.

Provide `model` key to your *locales.php* to change the default model class.

```
// ...

'model' => \rkgrep\Locales\EloquentLocale::class,

// ...

```

### Usage

[](#usage)

The service provider stores a Manager at `locales` service key in your app. You can get it anywhere by calling `app('locales')` helper.

#### Retrieving active locale

[](#retrieving-active-locale)

The active locale is resolved frop `getLocale()` method of the application. If the provided key is not available, the manager tries to get a fallback locale.

```
$locale = app('locales')->active(); // A Locale contract or null is returned.

```

You can also use `rkgrep\Locales\Contracts\Locale` typehint to get an active locale via dependency injection

```
use rkgrep\Locales\Contracts\Locale;

// ...

public function getIndex(Locale $locale)
{
    // Your controller
}

```

#### Retrieving locale by code

[](#retrieving-locale-by-code)

Use `retrieveByCode` method to get a locale.

```
$english = app('locales')->retrieveByCode('en');

```

#### Retrieving a list of locales

[](#retrieving-a-list-of-locales)

Use `getList` method to get a lias of codes or names keyed by codes.

```
$codes = app('locales')->getList(); // ['en' => 'en', 'ru' => 'ru]
$native = app('locales')->getList('names.native'); // ['en' => 'English (US)', 'ru' => 'Русский']

```

#### Using a locale

[](#using-a-locale)

Every driver returns an `rkgrep\Locales\Contracts\Locale` interface implementation.

License
=======

[](#license)

Locales package is open-sourced package licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

3977d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/63663c27f1d7e87cbd4472c0d3e0920bdb1cc85e8a1ad7f8d875171ce6e46ca9?d=identicon)[rkgrep](/maintainers/rkgrep)

---

Tags

laravellanguageslocales

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rkgrep-locales/health.svg)

```
[![Health](https://phpackages.com/badges/rkgrep-locales/health.svg)](https://phpackages.com/packages/rkgrep-locales)
```

###  Alternatives

[laravel-lang/lang

List of 126 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova, Laravel Spark and Laravel UI

7.8k9.5M40](/packages/laravel-lang-lang)[laravel-lang/publisher

Localization publisher for your Laravel application

2167.7M24](/packages/laravel-lang-publisher)[herkod/laravel-tr

Laravel İçin Türkçe Çeviri Dosyaları

628.1k](/packages/herkod-laravel-tr)[omaralalwi/lexi-translate

Laravel translation package with morph relationships and caching.

754.3k2](/packages/omaralalwi-lexi-translate)[kerigard/laravel-lang-ru

Ru lang for Laravel

2116.8k](/packages/kerigard-laravel-lang-ru)

PHPackages © 2026

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