PHPackages                             skachinsky/locale-translator - 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. [Database &amp; ORM](/categories/database)
4. /
5. skachinsky/locale-translator

ActiveLibrary[Database &amp; ORM](/categories/database)

skachinsky/locale-translator
============================

Library for Laravel. For tables from the database, the required field is returned based on the current locale.

v0.1.0(5y ago)117MITPHP ^7.4

Since Jan 8Pushed 5y ago1 watchersCompare

[ Source](https://github.com/skachinsky/locale-translator)[ Packagist](https://packagist.org/packages/skachinsky/locale-translator)[ RSS](/packages/skachinsky-locale-translator/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Laravel Locale Translator
-------------------------

[](#laravel-locale-translator)

Locale Translator - это простой Eloquent трейт и таблица базы данных для Laravel, который добавляет `translateAttribute()` метод. Он помогает в случаях, когда объект модели подразумевает разные варианты значений для разных локалей.

Установка
---------

[](#установка)

Установка с использованием Composer:

```
composer require skachinsky/locale-translator
```

Далее необходимо запустить команду в корневой директории проекта:

```
php artisan vendor:publish --provider="Skachinsky\LocaleTranslator\LocaleTranslatorServiceProvider"
```

После чего запустить миграцию:

```
php artisan migrate
```

В итоге создастся таблица `translates`.

Использование
-------------

[](#использование)

Предположим, у вас имеется таблица-справочник с видами домашних животных:

**pet\_types**

idslug1dog2cat3hamster**Вам необходимо заранее внести в таблицу** `translates` значения. Как например, можно использовать такой код:

```
use Skachinsky\LocaleTranslator\Models\Translate;

$petType = PetType::find(1);
Translate::create([
    "type"=>$petType->getModelName(),
    "row_id"=>$petType->id,
    "locale"=>"en",
    "value"=>"dog"
]);
Translate::create([
    "type"=>$petType->getModelName(),
    "row_id"=>$petType->id,
    "locale"=>"ru",
    "value"=>"собака"
]);
//и т.д. для каждой строки pet_types
```

Теперь, для того чтобы выдать клиенту значение справочника в зависимости от текущей локали, необходимо в моделе подключить трейт:

```
namespace App\Models;

use Skachinsky\LocaleTranslator\LocaleTranslator;

class PetType extends Model
{
    use LocaleTranslator;

    /*...*/

    public function getTitleAttribute() {
       return $this->translateAttribute($this->slug);
    }
}
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

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

Unknown

Total

1

Last Release

2001d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/694e8960075917505f4bfbe0b137de93fddfcbb0a8d8262fdd36233940511547?d=identicon)[skachinsky](/maintainers/skachinsky)

---

Top Contributors

[![skachinsky](https://avatars.githubusercontent.com/u/9283441?v=4)](https://github.com/skachinsky "skachinsky (2 commits)")

---

Tags

laraveltranslateeloquentlocale

### Embed Badge

![Health badge](/badges/skachinsky-locale-translator/health.svg)

```
[![Health](https://phpackages.com/badges/skachinsky-locale-translator/health.svg)](https://phpackages.com/packages/skachinsky-locale-translator)
```

###  Alternatives

[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k8.4M94](/packages/mongodb-laravel-mongodb)[kirschbaum-development/eloquent-power-joins

The Laravel magic applied to joins.

1.6k32.6M46](/packages/kirschbaum-development-eloquent-power-joins)[illuminate/database

The Illuminate Database package.

2.8k54.9M11.5k](/packages/illuminate-database)[cybercog/laravel-love

Make Laravel Eloquent models reactable with any type of emotions in a minutes!

1.2k332.0k1](/packages/cybercog-laravel-love)[reedware/laravel-relation-joins

Adds the ability to join on a relationship by name.

2121.3M18](/packages/reedware-laravel-relation-joins)[lemaur/eloquent-publishing

218.1k1](/packages/lemaur-eloquent-publishing)

PHPackages © 2026

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