Laravel에서 다국어 번역 경로 생성
이 가이드는 Laravel에서 다국어 번역 경로를 생성하기 위한 포괄적인 솔루션을 제공하여 현재 언어가 쿠키나 세션에 의존하지 않고 URL만으로 결정됩니다.
구현:
1. 번역 파일:
app/lang/[LANGUAGE]/routes.php 디렉토리에 원하는 경로에 대한 번역 파일을 만듭니다. 예를 들어 폴란드어(pl), 영어(en) 및 프랑스어(fr)의 경우:
app/lang/pl/routes.php:
return array( 'contact' => 'kontakt', 'about' => 'o-nas' );
app/lang/en/routes.php:
return array( 'contact' => 'contact', 'about' => 'about-us' );
2. 구성:
app/config/app.php 업데이트:
기본 언어 설정(예: 폴란드어):
'locale' => 'pl',
대체 언어 목록(영어 및 프랑스어):
'alt_langs' => array ('en', 'fr'),
로케일 접두사 정의:
'locale_prefix' => '', // Will be dynamically updated at runtime
3. 경로:
app/routes.php 편집:
... // Set locale and locale_prefix if an alternative language is selected if (in_array(Request::segment(1), Config::get('app.alt_langs'))) { App::setLocale(Request::segment(1)); Config::set('app.locale_prefix', Request::segment(1)); } // Set route patterns based on the translated routes foreach(Lang::get('routes') as $k => $v) { Route::pattern($k, $v); } Route::group(array('prefix' => Config::get('app.locale_prefix')), function() { Route::get( '/', function () { return "main page - ".App::getLocale(); } ); Route::get( '/{contact}/', function () { return "contact page ".App::getLocale(); } ); Route::get( '/{about}/', function () { return "about page ".App::getLocale(); } ); }); ...
이 구성은 첫 번째 URL 세그먼트를 기반으로 로케일 및 로케일 접두사를 동적으로 업데이트합니다(대체 언어와 일치하는 경우). 번역된 경로에 따라 경로 패턴을 설정합니다.
4. 리디렉션(선택 사항):
알 수 없는 URL의 경우 기본 언어(/) 대신 현재 언어 접두어(예: /en)로 리디렉션합니다.
// app/start/global.php App::missing(function() { return Redirect::to(Config::get('app.locale_prefix'),301); });
위 내용은 쿠키나 세션에 의존하지 않고 Laravel에서 다국어 번역 경로를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!