>  기사  >  백엔드 개발  >  Laravel에서 다국어 경로를 만드는 방법은 무엇입니까?

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

DDD
DDD원래의
2024-11-03 21:22:29139검색

How to Create Multilingual Routes in Laravel?

Laravel에서 다국어 번역 경로를 만드는 방법

소개

경로 번역은 다국어 애플리케이션을 만드는 데 필수적입니다. Laravel에서는 여러 언어를 사용하고 URL을 기반으로 언어를 동적으로 전환하는 것이 가능합니다. 이 문서에서는 참조 문서에 설명된 첫 번째 방법을 사용하여 Laravel에서 다국어 번역 경로를 구현하는 방법을 설명합니다.

1단계: 경로 번역

3개의 Routes.php 파일 생성 각 언어의 app/lang 디렉토리에 있습니다(예: pl/routes.php, en/routes.php 및 fr/routes.php). 각 파일 내에서 경로 이름을 번역하세요.

  • 폴란드어:
<code class="php"><?php
// app/lang/pl/routes.php

return array(

    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
  • 영어:
<code class="php"><?php
// app/lang/en/routes.php

return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
  • 프랑스어:
<code class="php"><?php
// app/lang/fr/routes.php

return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

2단계: 언어 설정 구성

app/config/app.php 파일 업데이트:

  • 기본 언어 설정:
<code class="php">'locale' => 'pl',</code>
  • 대체 언어 나열:
<code class="php">'alt_langs' => array('en', 'fr'),</code>
  • 로케일 접두사 정의:
<code class="php">'locale_prefix' => '',</code>

3단계: 경로 패턴 정의

앱 내/ Routes.php, 언어 번역을 기반으로 경로 패턴 설정:

<code class="php"><?php
// app/routes.php

foreach(Lang::get('routes') as $k => $v) {
    Route::pattern($k, $v);
}</code>

4단계: 로케일별로 경로 그룹화

접두사가 다음과 같은 경로 그룹을 만듭니다. 선택한 로케일로:

<code class="php"><?php
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>

5단계: 리디렉션 처리

app/start/global.php에서 알 수 없는 URL에 대한 301 리디렉션을 올바른 위치로 생성합니다. 언어:

<code class="php"><?php
// app/start/global.php

App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

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

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