Skip to content

Laravel Package Translator Loader is translations loader that will help to translation your package fully Finally about time, I would say.

License

Notifications You must be signed in to change notification settings

SolumDeSignum/package-translator-loader

Repository files navigation

StyleCI Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version MIT Licensed

Introduction

Laravel Package Translator Loader is translations loader that will help to
translation your package fully (Finally about time, I would say!!!).

Installation

To get started, install Package Translator Loader using the Composer package manager:

composer require solumdesignum/package-translator-loader

Features

The configuration file contains configurations.

<?php

declare(strict_types=1);

return [
    'segment' => 1
];

Usage

<?php

declare(strict_types=1);

namespace SolumDeSignum\ThemeManager;

use Illuminate\Contracts\Foundation\Application;
use Illuminate\Support\ServiceProvider;
use SolumDeSignum\PackageTranslatorLoader\PackageTranslatorLoader;

class ExampleServiceProvider extends ServiceProvider
{
    /**
     * @var PackageTranslatorLoader
     */
    private PackageTranslatorLoader $packageTranslatorLoader;

    /**
     * ExampleServiceProvider constructor.
     *
     * @param Application $app
     */
    public function __construct(Application $app)
    {
        parent::__construct($app);
        $this->packageTranslatorLoader = new PackageTranslatorLoader(
            $this->app,
            [
                'translator' => 'theme-manager.translator',
                'nameSpace' => 'solumdesignum/theme-manager',
                'packageRootPath' => __DIR__ . '/..',
                'loadLangPath' => '/../resources/lang',
                'loaderLangPath' => '/resources/lang',
            ]
        );
    }
}

Usage: Accessing Translations

<?php

declare(strict_types=1);

/**
 * Internal package translations
 * Even exceptions for both examples
 */
 
/**
 * Internal Translator instance
 * inside function get() should pass package name with translation key (package.translation-key)
 */
    $this->packageTranslatorLoader->trans()
        ->get('theme-manager.invalid_argument_exception');
        
/**
 * Helper: can be used in Blade, Controllers, Models, Services and etc...
 * Inside first key must pass name of translator 
 * Inside second key must pass package name with translation key (package.translation-key)
 */
translator(
    'theme-manager.translator',
    'theme-manager.invalid_argument_exception'
);

Contributing

Thank you for considering contributing to the Laravel Package Translator Loader. You can read the contribution guidelines here

Security

If you discover any security-related issues, please email to Solum DeSignum.

Author

About

Solum DeSignum is a web design agency based in Latvia, Riga.

License

Laravel Package Translator Loader is open-sourced software licensed under the MIT license