Tool for the Laravel framework that helps to create and manage translations
chriskonnertz/translation-factory is a Laravel package for tool for the laravel framework that helps to create and manage translations.
It currently has 37 GitHub stars and 871 downloads on Packagist (latest version 1.0.1).
Install it with composer require chriskonnertz/translation-factory.
Discover more Laravel packages by chriskonnertz
or browse all Laravel packages to compare alternatives.
Last updated
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.
Note: "Factory" does not mean the pattern here but rather this: 🏭
This library requires PHP 7.0 or higher with the cURL extension and Laravel >= 5.5.
Through Composer:
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://<your-domain>/translation-factory to start.
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.
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:
php artisan make:auth to create resources like controllers and viewsphp artisan migrate to prepare the databaseNow the translators will be able to navigate to http://<your-domain>/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).
If you want to use Translation Factory to let external translators translate your texts, it is recommended to follow these steps:
http://<your-domain>/register)http://<your-domain>/translation-factoryThe default behaviour of Translation Factory is to make daily backups of all translation files
that it wants to overwrite. They will be stored in <storage-path>/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.
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.
TranslationFactoryServiceProvider.