https://github.com/rzakhanov/translation-nova-laravel
You can install the package into a Laravel app that uses Nova via composer:
composer require rzakhanov/translation
You need to publish config and helper files first after installation
php artisan vendor:publish --tag=rzakhanov-translation
İt will publish two files
Suggest that don't touch config file. Because it will change dynamically :)
Add tool to tools() in NovaServiceProvider.php
public function tools()
{
return [
//....
Rzakhanov\Translation\Translation::make()
];
}
After it, we have to add menus to the sidebar Nova 4 in provider NovaServiceProvider.php
Nova::mainMenu(function () {
return [
MenuSection::dashboard(Main::class)->icon('archive'),
MenuSection::make('Lang & Translations', [
MenuItem::make('Languages')
->path('/translation/languages'),
MenuItem::make('Groups')
->path('/translation/groups'),
MenuItem::make('Translations')
->path('/translation/list'),
])->icon('globe-alt')->collapsible(),
];
});
is lang_path() or SITE_LANG_PATH in .env file
The main logic is that we have 3 parts:
Languages are folder parts in defined lang path.For example /lang/en/ . Here en is language
Groups are files inside of language folders. For example /lang/en/site.php . Here site is group
Translations are keys inside of language files. For example /lang/en/site.php contain 'register_key_98' => 'test content', . Here register_key_98 is translation index
If You are using linux (docker) OS maybe you need to run chmod to access change local files
chmod 0777 -R ./
rzaxanovtural@gmail.com
Bug Tracker:
https://github.com/rzakhanov/translation-nova-laravel/issues
The MIT License (MIT). Please see License File for more information.