PHPackages                             netcore/translations - 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. netcore/translations

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

netcore/translations
====================

Laravel translations stored in database for easy CRUD

v1.0.50(7y ago)33.7k11MITPHP

Since Apr 18Pushed 7y ago4 watchersCompare

[ Source](https://github.com/netcore/translations)[ Packagist](https://packagist.org/packages/netcore/translations)[ RSS](/packages/netcore-translations/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (8)Versions (52)Used By (1)

Keep and edit all Laravel translations in a database
----------------------------------------------------

[](#keep-and-edit-all-laravel-translations-in-a-database)

By default Laravel translations are kept in language files under resources folder. This makes standart CRUD operations very cumbersome, so we decided it would be better to store all translations in a database. Benefits of this are:

1. Easy CRUD operations and nice UI for admin
2. Avoid GIT conflicts if lang files are edited in filesystem
3. Performance is still great. Database is accessed only once and then translations are cached
4. Import/export translations as Excel files for storing on Google Spreadsheets or locally

[![screenshot](https://camo.githubusercontent.com/ad3c981c84c5ad98bf1085c83a73202271aaee944f7759fd7ccfff69314c0e51/687474703a2f2f696d6167652e70726e747363722e636f6d2f696d6167652f36613164376639363931396534323131386332353064666161633565386234382e706e67)](https://camo.githubusercontent.com/ad3c981c84c5ad98bf1085c83a73202271aaee944f7759fd7ccfff69314c0e51/687474703a2f2f696d6167652e70726e747363722e636f6d2f696d6167652f36613164376639363931396534323131386332353064666161633565386234382e706e67)

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

[](#installation)

Require this package with composer:

```
composer require netcore/translations --dev

```

Add our service provider to "providers" array in config/app.php:

```
\Netcore\Translator\ServiceProvider::class

```

Run migrations to create "translations" and "languages" tables:

```
php artisan migrate

```

Add routes to RouteServiceProvider.php. Choose middleware that will allow admins only to edit translations:

```
Route::group([
    'middleware' => ['web', 'isAdmin'],
    'namespace'  => null,
    'prefix'     => 'admin',
    'as'         => 'admin.'
], function (Router $router) {
    \Netcore\Translator\Router::adminRoutes($router);
});

```

Package uses cache tags. You can check out laravel documentation to find out more about cache tags .

One of the options is to use redis.

First of all, install redis package by running this composer command.

```
composer require predis/predis

```

Then you need to change your cache driver in .env file to redis like this

```
CACHE_DRIVER=redis

```

Publish config files for defining your Admin layout to extend, translating ACP UI and more:

```
php artisan vendor:publish --tag=config

```

How to download translations from live server to development
------------------------------------------------------------

[](#how-to-download-translations-from-live-server-to-development)

We often want to get exact copy of translations from live server to either development or our local server. In order to do that, we must expose API routes in RouteServiceProvider.php:

```
Route::group([
    'middleware' => ['api'],
    'namespace'  => null,
    'prefix'     => 'api',
    'as'         => 'api.'
], function ($router) {
    Router::apiRoutes($router);
});

```

After that, point this .env variable to your live server:

```
NETCORE_TRANSLATIONS_DOWNLOAD_FROM=https://project.eu/api/translations/index

```

And then run `php artisan translations:download` on your development or local machine.

Is it battle tested?
--------------------

[](#is-it-battle-tested)

This package has already been battle tested in numerous Netcore projects. We finally got tired of copying the code over to new projects, so code has been extracted to installable package.

Future plans
------------

[](#future-plans)

1. Unit tests
2. Different branches for different versions of Laravel
3. Rewrite ACP UI with Vue.js

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 80% 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 ~10 days

Recently: every ~28 days

Total

51

Last Release

2855d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e524527cce55f4877966909320b064763f66f0c89e3edb5c18cecda4bc01cf24?d=identicon)[netcorelv](/maintainers/netcorelv)

---

Top Contributors

[![danielsGrietins](https://avatars.githubusercontent.com/u/24427373?v=4)](https://github.com/danielsGrietins "danielsGrietins (16 commits)")[![dmitrijsmihailovs](https://avatars.githubusercontent.com/u/6555569?v=4)](https://github.com/dmitrijsmihailovs "dmitrijsmihailovs (1 commits)")[![janisblaus](https://avatars.githubusercontent.com/u/1029697?v=4)](https://github.com/janisblaus "janisblaus (1 commits)")[![mairiskimenis](https://avatars.githubusercontent.com/u/23190501?v=4)](https://github.com/mairiskimenis "mairiskimenis (1 commits)")[![NViktors](https://avatars.githubusercontent.com/u/26169825?v=4)](https://github.com/NViktors "NViktors (1 commits)")

---

Tags

laraveldatabasecache

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/netcore-translations/health.svg)

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

###  Alternatives

[spatie/laravel-medialibrary

Associate files with Eloquent models

6.2k43.2M609](/packages/spatie-laravel-medialibrary)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k14.1M124](/packages/laravel-pulse)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76922.3M129](/packages/laravel-mcp)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9772.3M123](/packages/roots-acorn)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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