>백엔드 개발 >PHP 튜토리얼 >Laravel에서 다국어 번역 경로를 만드는 방법은 무엇입니까?

Laravel에서 다국어 번역 경로를 만드는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-04 03:01:30211검색

How to Create Multilingual Translated Routes in Laravel?

Laravel에서 다국어 번역 경로 생성

Laravel 애플리케이션에서는 선택한 언어에 따라 다국어 경로를 생성하여 사용자가 -친숙한 탐색 경험.

1단계: 언어 디렉토리 및 번역 구성

app/lang 아래에 별도의 언어 디렉토리 3개를 만듭니다(예: pl, en, fr). 각 디렉터리에서 번역된 경로 이름이 포함된 Routes.php라는 파일을 만듭니다.

<code class="php">// app/lang/pl/routes.php
return array(
    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
<code class="php">// app/lang/en/routes.php
return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
<code class="php">// app/lang/fr/routes.php
return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

2단계: 언어 설정 구성

app/config/app.php에서:

  • 'locale'을 기본 언어(예: 'pl')로 설정합니다.
  • 'alt_langs에 대체 언어 목록을 포함합니다. '(예: ['en', 'fr']).
  • 기본 언어 접두어의 경우 'locale_prefix'를 비워 둡니다.
<code class="php">'locale' => 'pl',
'alt_langs' => ['en', 'fr'],
'locale_prefix' => '',</code>

3단계: 경로 패턴 및 언어 종속 그룹 정의

app/routes.php에서:

  • URL의 첫 번째 세그먼트가 대체 언어와 일치하는 경우 locale 및 locale_prefix를 업데이트합니다. .
  • 현재 언어 번역을 기반으로 경로 패턴을 설정합니다.
  • 언어 접두사가 적용된 경로 그룹을 생성합니다.
<code class="php">if (in_array(Request::segment(1), Config::get('app.alt_langs'))) {

    App::setLocale(Request::segment(1));
    Config::set('app.locale_prefix', Request::segment(1));
}

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();
    });

});</code>

4단계 : 알 수 없는 URL 처리

app/start/global.php에서:

  • 알 수 없는 URL을 301 상태 코드를 사용하여 올바른 언어 접두어로 리디렉션합니다.
<code class="php">App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

이러한 단계를 구현하면 선택한 언어에 맞게 조정되는 동적 경로가 생성되어 여러 언어에 걸쳐 원활한 사용자 경험이 보장됩니다.

위 내용은 Laravel에서 다국어 번역 경로를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.