PHPackages                             dejwcake/craftable-translatable - 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. dejwcake/craftable-translatable

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

dejwcake/craftable-translatable
===============================

Make your Eloquent models and other content translated into multiple languages

2.0.0(1mo ago)01.0k↓72.7%3MITPHPPHP ^8.5CI passing

Since May 7Pushed 1mo agoCompare

[ Source](https://github.com/dejwCake/craftable-translatable)[ Packagist](https://packagist.org/packages/dejwcake/craftable-translatable)[ RSS](/packages/dejwcake-craftable-translatable/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (5)Dependencies (10)Versions (10)Used By (3)

Translatable
============

[](#translatable)

Translatable makes your content easily translatable into the locales (languages) you define. In short, the package:

- publishes a config file that defines the locales (languages) used in your project,
- provides a `HasTranslations` trait that makes your Eloquent model translatable (extending `spatie/laravel-translatable`),
- provides a `WithTranslations` interface that marks your Eloquent model as translatable (the trait will also work without this interface),
- provides a `TranslatableFormRequest` class you can use as a base for your form request classes, simplifying the definition of validation rules for translatable data.

Documentation
-------------

[](#documentation)

You can find full documentation at

How to develop this project
---------------------------

[](#how-to-develop-this-project)

### Composer

[](#composer)

Update dependencies:

```
docker compose run -it --rm test composer update
```

Composer normalization:

```
docker compose run -it --rm php-qa composer normalize
```

### Run tests

[](#run-tests)

Run tests with pcov:

```
docker compose run -it --rm test ./vendor/bin/phpunit -d pcov.enabled=1
```

To regenerate snapshots use:

```
docker compose run -it --rm test ./vendor/bin/phpunit -d pcov.enabled=1 -d --update-snapshots
```

To switch between postgresql and mariadb change in `docker-compose.yml` DB\_CONNECTION environmental variable:

```
- DB_CONNECTION: pgsql
+ DB_CONNECTION: mysql

```

### Run code analysis tools (php-qa)

[](#run-code-analysis-tools-php-qa)

PHP compatibility:

```
docker compose run -it --rm php-qa phpcs --standard=.phpcs.compatibility.xml --cache=.phpcs.cache
```

Code style:

```
docker compose run -it --rm php-qa phpcs -s --colors --extensions=php
```

Fix style issues:

```
docker compose run -it --rm php-qa phpcbf -s --colors --extensions=php
```

Static analysis (phpstan):

```
docker compose run -it --rm php-qa phpstan analyse --configuration=phpstan.neon
```

Mess detector (phpmd):

```
docker compose run -it --rm php-qa phpmd ./config,./src,./tests ansi phpmd.xml --suffixes php --baseline-file phpmd.baseline.xml
```

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance89

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~107 days

Total

8

Last Release

56d ago

Major Versions

v0.9.x-dev → 1.0.02025-02-24

v1.x-dev → v2.x-dev2026-04-28

PHP version history (3 changes)0.9.0PHP ^8.1

1.0.0PHP ^8.2

v2.x-devPHP ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/7587c47435caa968be9a652630c6c0c91abacb43dfa001b02cbe5b892672cd7e?d=identicon)[dejwCake](/maintainers/dejwCake)

---

Top Contributors

[![palypster](https://avatars.githubusercontent.com/u/2362237?v=4)](https://github.com/palypster "palypster (23 commits)")[![dejwCake](https://avatars.githubusercontent.com/u/22255647?v=4)](https://github.com/dejwCake "dejwCake (14 commits)")[![RichardDominik](https://avatars.githubusercontent.com/u/13850339?v=4)](https://github.com/RichardDominik "RichardDominik (8 commits)")[![strstensky](https://avatars.githubusercontent.com/u/39539367?v=4)](https://github.com/strstensky "strstensky (3 commits)")

---

Tags

laravellocalizationtranslationslanguagetranslateeloquentcmslocaleadmin

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/dejwcake-craftable-translatable/health.svg)

```
[![Health](https://phpackages.com/badges/dejwcake-craftable-translatable/health.svg)](https://phpackages.com/packages/dejwcake-craftable-translatable)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11222.5M32](/packages/anourvalar-eloquent-serialize)[kalnoy/cruddy

Backend interface for handling CRUD operations on your Laravel Eloquent models.

1625.0k2](/packages/kalnoy-cruddy)[tomatophp/filament-translations

Manage your translation with DB and cache, you can scan your languages tags like trans(), \_\_(), and get the string inside and translate them use UI.

6233.2k3](/packages/tomatophp-filament-translations)

PHPackages © 2026

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