Logat is a Laravel package that helps you extract all translation keys from your application’s source code into JSON language files. It scans your Blade and PHP files for __('...')
calls and compiles the results automatically.
Designed to simplify your localization workflow, especially when managing multi-language projects.
Before installing, add the Logat private repository to your composer.json
:
composer config repositories.logat.hexters.com \
'{"type": "composer", "url": "https://logat.hexters.com"}' \
--file composer.json
Then install the package using:
composer require hexters/logat --dev
During installation, you will be prompted to enter your license credentials:
Authentication required (logat.hexters.com):
Username: 872620646
Password: cf3c8208-7537-451f-9aad-f93771c6b2f6
If successful, you’ll see a message like this:
Info: Hi Asep, thank you for using Logat.
./composer.json has been updated
Running composer update hexters/logat
- Installing hexters/logat (1.0.0): Extracting archive
Generating optimized autoload files
This package is meant for development use only and should not be required in production environments.
If you want to customize the behavior, you can publish the config file:
php artisan vendor:publish --provider="Hexters\Logat\LogatServiceProvider"
This will publish a file to config/logat.php
with the following default contents:
return [
'default' => 'id',
'locales' => ['en', 'ms', 'id', 'ja'],
'sources' => [
'resources/views',
'app',
],
];
You can adjust the default locale, supported languages, and which folders to scan for translation keys.
To scan your application and generate/update translation files, run:
php artisan logat:collect
This command will:
__('...')
keys in the specified source directorieslang
directory as individual JSON files for each languageTo remove unused keys that no longer exist in your source code, run:
php artisan logat:clean
This command will:
After running the command, you’ll get files like:
lang/
├── en.json
├── id.json
├── ja.json
└── ms.json
Each file will contain the translation keys found in your app. Any untranslated key will have an empty string as its value.
Example:
{
"Dashboard": "Dashboard",
"User Account": "User Account"
}
You can use AI to change the value of the result generator
This package is licensed under the MIT License.
You can obtain a free license key to use this package from: https://hexters.com/product/logat
Reviews
There are no reviews yet.