langnonymous / lang
Simple Package Language To Laravel
Installs: 3 339
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 1
Open Issues: 0
Type:package
Requires
- php: >= 7.0
README
A Simple Translate To convert ui and local language. Creation and development By PhpAnonymous ( phpanonymous.com ) Laravel Version 5 and Above
##Install with Composer
composer require Langnonymous/Lang
Provider Class
this provider is auto registred
Langnonymous\Lang\Langnonymous::class,
#Aliases this aliases auto registred
'L' => Langnonymous\Lang\Lang::class,
#publish
with composer run this command php artisan vendor:publish
now you can check this file langnonymous.php on config path
you should add this middleware in kernel.php file
'Lang' => \Langnonymous\Lang\Lang::class, // like This protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'Lang' => \Langnonymous\Lang\Lang::class, ];
#usage
you can use The L Class anywhere you want it , in Controller or Blade File
Now You should add this method to web.php or any route file to fire our operators
L::LangNonymous();
do you have admin panel and you want access route path to lang ? add this in route files if you want and set path like admin !!
L::Panel('admin');
now you are ready to see your route like this It is preferable to place these lines in the first line of the file
<?php /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ L::Panel('admin'); L::LangNonymous();
okay You have to add this public middleware and you have Put all your routes inside this middelware
Route::group(['middleware'=>'Lang'],function(){ // put all routes here please ...i'ts fine :) });
now you maybe want configure your file langnonymous
<?php return [ 'UserModeLang'=>true, // true,false | if you want save lang in User Tbl Set true auto detected user lang 'LangRoute'=>'langnonymous', // Route Name You Can Change Route Name 'column_lang'=>'lang', // You May put The Defualt column if you are enable UserModeLang for true 'languages'=>['ar','en','es','jp'], // Put Your Language website Usage 'defaultLanguage'=>'ar', // Set Your Default Language (ar,en,es Any Short Lang From languages array) 'redirectAfterSet'=>'back', //Set Direction home,back | Back reflect to function back | home to index or other route ];
this is methods and classes built in package you can use all form any where
app('lang'); app('l'); // if you want methods !! okay that's was easy L::lang(); L::l(); // master session session('anonylang'); // you have a style directions !! don't worry // use this singletone in your file css or js :) whatever like example.com/css/style-rtl.css :) or rtl app('dir'); // RTL OR LTR L::dir(); // RTL or LTR //example.com/css/style-{{app('dir')}}.css from link tag //example.com/js/jquery-{{app('dir')}}.css from script tag // attention //if you are enable UserModeLang .. you should add column name to column_lang from user table in sql // you maybe make a new folders to usage this array 'languages'=>['ar','en','es','jp'] /* resource/lang/ar set file name and put this array <?php return [ 'ar'=>'العربية', 'en'=>'English', 'es'=>'Spanish', 'jp'=>'日本の', 'welcome'=>'مرحبا', ]; demo trans('yourfile.welcome') // مرحبا resource/lang/en set file name and put this array <?php return [ 'ar'=>'العربية', 'en'=>'English', 'es'=>'Spanish', 'jp'=>'日本の', 'welcome'=>'Welcome', ]; demo trans('yourfile.welcome') // welcome resource/lang/es set file name and put this array <?php return [ 'ar'=>'العربية', 'en'=>'English', 'es'=>'Spanish', 'jp'=>'日本の', 'welcome'=>'bienvenida', ]; demo trans('yourfile.welcome') // bienvenida resource/lang/jp set file name and put this array <?php return [ 'ar'=>'العربية', 'en'=>'English', 'es'=>'Spanish', 'jp'=>'日本の', 'welcome'=>'もしもし', ]; demo trans('yourfile.welcome') // もしもし or you can custom any language needed want */ // to set lang on your web okay follow this // in blade file put master language <a href="{{L::put('ar')}}">{{trans('yourfile.ar')}}</a> <a href="{{L::put('en')}}">{{trans('yourfile.en')}}</a> <a href="{{L::put('es')}}">{{trans('yourfile.es')}}</a> <a href="{{L::put('jp')}}">{{trans('yourfile.jp')}}</a> // or you can loop all automatically with method L::all(); @foreach(L::all() as $lang) <a href="{{L::put($lang)}}">{{trans('yourfile.'.$lang)}}</a> . @endforeach // for singleton
if you have any questions about this package join us on group facebook (https://www.facebook.com/groups/anonymouses.developers)
Enjoy :)