Skip to content

ExsyDev/translation-nova-laravel

 
 

Repository files navigation

Translation & Languages for Nova 4

https://github.com/rzakhanov/translation-nova-laravel

Requirements

  • PHP 7.3 || 8.0 or higher
  • Laravel 8 or higher
  • Nova 4 or higher

Installation

You can install the package into a Laravel app that uses Nova via composer:

composer require rzakhanov/translation

Usage

You need to publish config and helper files first after installation

php artisan vendor:publish --tag=rzakhanov-translation

İt will publish two files

  1. /config/rzakhanov-translation.php
  2. /app/Helpers/langs_helper.php

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(),

      ];
   });

Menu Screenshot


Default lang path

is lang_path() or SITE_LANG_PATH in .env file

The main logic is that we have 3 parts:

  1. Languages
  2. Groups
  3. Translations

Explanation

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 ./

Overview:


Support:

[email protected]

https://websoft.az

Bug Tracker:

https://github.com/rzakhanov/translation-nova-laravel/issues

License

The MIT License (MIT). Please see License File for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 61.9%
  • PHP 36.4%
  • JavaScript 1.7%