subotkevic / laravel-json-translation-helper
Searches for translation keys – inserts into JSON translation files.
Installs: 5 484
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 3
Forks: 5
Open Issues: 2
Requires
- php: >=7.0.0
- ext-json: *
- laravel/framework: >=5.4.x-dev
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-11-07 19:08:45 UTC
README
JSON Translation Helper for Laravel
JSON Translation Helper scans your project for __()
, lang()
translation helper methods and @lang
directives, then it creates keys in your JSON translation files.
And yes, it avoids duplicates – helper creates only non-existing keys. Ready for your translation.
Installation
First, install JSON Translation Helper using the Composer require command:
composer require subotkevic/laravel-json-translation-helper
That's it. Package registers service provider automatically.
Usage
Translation files
First, you have to create your translation files for languages you will translate your application to.
For example, if you want your application to have a Spanish translation, you should create a resources/lang/es.json
file.
Of course you can have multiple translation files:
resources/
lang/
es.json
fr.json
Make sure that your translation files is valid JSON, otherwise our package will not work:
{ "I love programming.": "Me encanta programar." }
If you don't have any translations for now, just make sure your file is not empty, but actually an empty JSON object:
{}
Scan your application
Finally, to scan your application for missing translation keys just run:
php artisan translation:scan
Configuration
Publishing configuration
First, publish the configuration file:
php artisan vendor:publish --provider="JsonTranslationHelper\TranslationHelperServiceProvider"
It will bring you config/translation-helper.php
configuration file.
Read the following sections of what you can configure.
Directories
To specify where you want to scan for translation strings, just modify scan_directories
array:
/** * Directories to scan for missing translation keys. */ 'scan_directories' => [ app_path(), resource_path('views'), resource_path('assets'), ],
File extensions
Our package scans only .php
files out of the box.
You can add more file extensions to file_extensions
array in the config/translation-helper.php
configuration file to scan, let's say, .vue
or .js
files:
/** * File extensions to scan from. */ 'file_extensions' => [ 'php', 'js', 'vue', ],
Translation helper methods
By default our package looks for lang()
and __()
translation helper methods and directives.
But you can extend, modify, or remove them in the config file by modifying translation_methods
array:
/** * Translation helper methods to scan * for in your application's code. */ 'translation_methods' => [ 'lang', '__', ],