PHPackages                             chriskonnertz/translation-factory - 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. chriskonnertz/translation-factory

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

chriskonnertz/translation-factory
=================================

Tool for the Laravel framework that helps to create and manage translations

1.0.1(7y ago)378718[6 issues](https://github.com/chriskonnertz/translation-factory/issues)MITPHPPHP &gt;=7.0.0

Since Nov 30Pushed 7y ago1 watchersCompare

[ Source](https://github.com/chriskonnertz/translation-factory)[ Packagist](https://packagist.org/packages/chriskonnertz/translation-factory)[ RSS](/packages/chriskonnertz-translation-factory/feed)WikiDiscussions master Synced yesterday

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

Laravel Translation Factory
===========================

[](#laravel-translation-factory)

[![Laravel](https://camo.githubusercontent.com/6f162b8f305a8cba5f4d2f853c037e124843275df7da9cde514ee6f57296bbd2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d352e352d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://laravel.com/)[![Version](https://camo.githubusercontent.com/fbeef33bd4433fb04f3d5b4c2c6da1617297b22d34f1ce987da271b30a088bb7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f63687269736b6f6e6e6572747a2f7472616e736c6174696f6e2d666163746f72792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/chriskonnertz/translation-factory)[![GitHub license](https://camo.githubusercontent.com/942e017bf0672002dd32a857c95d66f28c5900ab541838c6c664442516309c8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265)](https://raw.githubusercontent.com/chriskonnertz/translation-factory/master/LICENSE)

Translation Factory is a tool for the Laravel framework that helps to create and manage translations. Especially it helps to coordinate multiple translators and translators which do not want to edit PHP files, aiding them with AI translations.

[![Screenshot](dev/gifvid.gif)](dev/gifvid.gif)

> Note: "Factory" does not mean the pattern here but rather this: 🏭

Highlights
----------

[](#highlights)

- Seamless integration into your existing Laravel application
- Uses [DeepL](https://www.deepl.com/) - currently the best machine translation engine - to auto-translate texts
- Beautiful user interface and made with a good user experience in mind
- Well prepared for mobile devices (smartphones and tablets)
- Highly configurable and easy to extend
- Open source and free even for commercial use

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

[](#installation)

> This library requires PHP 7.0 or higher with the cURL extension and Laravel &gt;= 5.5.

Through [Composer](https://getcomposer.org/):

```
composer require chriskonnertz/translation-factory

```

Publish the assets via: `php artisan vendor:publish --provider="ChrisKonnertz\TranslationFactory\Integration\TranslationFactoryServiceProvider`

Make sure Translation Factory can write into the output directories, especially you should make the translation directory writable, for example `resources/lang`.

If you do not want to enable support of user accounts, that's it. Navigate to `http:///translation-factory` to start.

Configuration
-------------

[](#configuration)

Open `config/translation_factory.php` with a text editor to change the configuration. All entries are documented. Especially take a look at the `additional_languages` key. In this array you may add language codes of the languages that you want to support. Translation Factory tires to auto-detect these languages but this will only be successful if there are at least one translation file for each of these languages, so better add them to the array.

User Accounts With Laravel
--------------------------

[](#user-accounts-with-laravel)

This package supports user authentication. Per default it depends on Laravel's built-in user authentication system. If you want to enable support of user accounts you have to do this in the config file (key: `user_authentication`). You also have to add the user IDs of all administrators to the config file (key: `user_admin_ids`).

If you already use Laravel's user authentication then you can skip the rest of this section. But if you have a fresh installation of Laravel follow these steps to prepare it:

1. Via console run `php artisan make:auth` to create resources like controllers and views
2. Then run `php artisan migrate` to prepare the database

Now the translators will be able to navigate to `http:///home` and log in or create a new user account.

> If you do not want to use Laravel's built-in user authentication system you have to create your own user manager that implements the `UserManagerInterface`. Introduce it to Translation Factory by adding its name to the config file (key: `user_manager`).

Use With External Translators
-----------------------------

[](#use-with-external-translators)

If you want to use Translation Factory to let external translators translate your texts, it is recommended to follow these steps:

1. Setup a new server with your application. The server has to be reachable from the outside
2. Make sure Translation Factory can write into the output directories
3. Configure everything, especially enable user authentication
4. Create your own account and then add it to the admins list in the config file
5. Let the externals create their user accounts (`http:///register`)
6. Activate the accounts of the translators
7. Spread the link: `http:///translation-factory`
8. Happy translating!

Backups
-------

[](#backups)

The default behaviour of Translation Factory is to make daily backups of all translation files that it wants to overwrite. They will be stored in `/app/translations` which usually translates to `storage/app/translations`. You may change this path in the config file (key: `backup_dir`). The names of the backup files will be built of a hash and the date and use ".backup" as extension.

Current State
-------------

[](#current-state)

This is an MVP (minimum viable product). The code quality is okay, but for sure it is not great. There is a lot of space for refactoring. Refactoring will be done if it turns out that this package actually meets someones needs.

FAQ
---

[](#faq)

- **Which languages can be auto-translated?** Here is a list: [Link](https://github.com/chriskonnertz/DeepLy#supported-languages)
- **Why are characters missing in the auto-translation?** This is an issue of DeepL. Always verify the auto-translations!
- **Does this also work with Laravel &lt; 5.5?** Maybe. Not tested, though. You would have to register the `TranslationFactoryServiceProvider`.
- **Should I use [barryvdh/laravel-translation-manager](https://github.com/barryvdh/laravel-translation-manager)?**LTM offers some features that help to handle translations, for example finding translations that are missing in the translations files. That makes it a good addition to Translation Factory. Translation Factory on the other hand is focused on translating. It has a sophisticated user interface and uses DeepL to help the translator, which makes it a good choice for translating.
- **I got this exception: "SQLSTATE\[42000\]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes"**Here is a solution: [Link](https://laravel-news.com/laravel-5-4-key-too-long-error)
- **What library is used for the auto-translations?** [DeepLy](https://github.com/chriskonnertz/DeepLy)
- **How can I auto-translate all of my translation files?** [Laravel Localization Automation](https://github.com/javidalpe/laravel-localization-automation) might be worth a look.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

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

Total

2

Last Release

2779d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2548d359f2033681fd886f21a31406119a9ea3bd93dbec6f533f75f006f09228?d=identicon)[siconize](/maintainers/siconize)

---

Top Contributors

[![chriskonnertz](https://avatars.githubusercontent.com/u/4319323?v=4)](https://github.com/chriskonnertz "chriskonnertz (148 commits)")

---

Tags

deepldeeplyfactorylanguagelaravelphptranslatetranslationtranslationslaravellanguagetranslatetranslationaimanagemachinedeeplcreatedeeply

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/chriskonnertz-translation-factory/health.svg)

```
[![Health](https://phpackages.com/badges/chriskonnertz-translation-factory/health.svg)](https://phpackages.com/packages/chriskonnertz-translation-factory)
```

###  Alternatives

[chriskonnertz/deeply

DeepLy is a PHP client for the DeepL.com translation API

230116.2k8](/packages/chriskonnertz-deeply)[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)[longman/laravel-multilang

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

5514.4k1](/packages/longman-laravel-multilang)[smousss/laravel-globalize

Make Laravel projects translatable in a matter of seconds!

2266.3k](/packages/smousss-laravel-globalize)[zachleigh/laravel-lang-bundler

Create Laravel translations bundles.

2512.5k](/packages/zachleigh-laravel-lang-bundler)

PHPackages © 2026

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