christiandarnell/laravel-translation-editor

Allow translation edition through the browser

dev-master 2024-02-05 23:04 UTC

This package is auto-updated.

Last update: 2024-04-05 23:23:40 UTC


README

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

Installation

Require this package with composer:

composer require christiandarnell/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 security@exolnet.com instead of using the issue tracker.

Credits

License

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