简体   繁体   English

Laravel 5.4:翻译路线

[英]Laravel 5.4 : Translate routes

is there a simple way to translate my routes in Laravel 5.4. 有没有一种简单的方法可以在Laravel 5.4中翻译我的路线。 My translation files located in here: 我的翻译文件位于:

/resources
    /lang
        /en
            routes.php
        /de
            routes.php

In my web.php i define my routes like this: 在我的web.php中,我定义如下路线:

Route::get('/{locale}', function ($locale) {
    App::setLocale($locale);

    return view('welcome');
});

Route::get('{locale}/contact', 'ContactController@index');

I have found very elaborate solutions or solutions for Laravel 4. I am sure that Laravel has also provided a simple solution. 我找到了非常详尽的Laravel 4解决方案。我相信Laravel也提供了一个简单的解决方案。 Can someone explain to me the best approach? 有人可以向我解释最好的方法吗?

Thanks. 谢谢。

we usually do it like this 我们通常这样做

to get the current language: 获取当前语言:

$request = request()->segment(1);
$language = null;
if (!empty($request) && in_array($request,config('translatable.locales'))) {
  $language = $request;
  App::setLocale($language);
} else {
    $language = 'nl';
}

routes: 路线:

Route::group(['prefix' => $language], function () {
    Route::get(trans('routes.newsletter'), array('as' => 'newsletter.index', 'uses' => 'NewsletterController@index'));

I created a file translatable.php in my config folder: 我在配置文件夹中创建了文件translatable.php:

<?php

return [

    'locales' => ['en', 'de'],

];

web.php: web.php:

$request = request()->segment(1);
$language = null;

if (!empty($request) && in_array($request,config('translatable.locales'))) {
    $language = $request;
    App::setLocale($language);
} else {
    $language = 'de';
}

Route::get('/', function() {
    return redirect()->action('WelcomeController@index');
});

Route::group(['prefix' => $language], function () {

    /*
    Route::get('/', function(){
        return View::make('welcome');
    });
    */

    Route::get('/',
        array(  'as'      => 'welcome.index',
                'uses'    => 'WelcomeController@index'));


    Route::get(trans('routes.contact'),
        array('as'      => 'contact.index',
              'uses'    => 'ContactController@index'));

});

Works fine - Thanks. 效果很好-谢谢。 Is the redirect also the best practice? 重定向也是最佳做法吗? Best regards 最好的祝福

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM