Skip to content

eXolnet/laravel-translation-editor

Repository files navigation

Laravel Translation Editor

Latest Stable Version Software License Build Status Total Downloads

This project allow you to edit your translations directly through the browser and the command line.

Installation

Require this package with composer:

composer require exolnet/laravel-translation-editor

The translation editor will be enabled when the environment variable TRANSLATION_EDITOR_ENABLED is true.

If you don't use package auto-discovery, add the service provider to the providers array in config/app.php:

Exolnet\Translation\Editor\TranslationEditorServiceProvider::class

Usage

In-app translating

In your development environment, you can enable in-app translation by adding to your .env the following environment variable:

TRANSLATION_EDITOR_ENABLED=true

You'll then be able to open the editor with alt + click on all translations using te or @te helpers:

<h1>@te('home.title')</h1>

<!-- OR -->

<h1>{{ te('home.title') }}</h1>

And the editor looks like this:

Editor example

Once saved, you can commit the edited translation files in resources/lang/**/*.php if you're satisfied.

Detect potential translations

You can detect most of your potential variable string with the i18n:detect command. To do so, simply run

php artisan i18n:detect

By default this command will go through all your .php files in the views directory and look for potential variables. Every time a string is detected, it will ask you if you want to save it and you will have to provide a name for your variable.

Additionally, you can provide the --locale or -l option if you want to save the detected variable in another language than the default one in your Laravel configuration.

Testing

To run the phpUnit tests, please use:

composer test

Contributing

Please see CONTRIBUTING and CODE OF CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

This code is licensed under the MIT license. Please see the license file for more information.