Repolode
mcamara

mcamara/laravel-localization

Laravel 앱에서 로케일 접두사가 붙은 라우트, 브라우저 언어 감지, 번역 가능한 라우트 슬러그, 언어 선택기 헬퍼를 제공하는 i18n URL 현지화 패키지입니다.

스타
3,558
포크
505
열린 이슈
11
마지막 커밋
2개월 전

어떤 프로젝트인가요?

Laravel Localization은 Laravel 애플리케이션에서 다국어 URL 처리를 지원합니다. 로케일 접두사 그룹 안에 라우트를 한 번만 정의하면 패키지가 URL 경로의 로케일을 기준으로 애플리케이션 로케일을 설정합니다. 따라서 /en/about과 /es/acerca는 같은 컨트롤러로 연결되지만, App::getLocale()은 현재 활성화된 언어를 반환합니다.

패키지는 브라우저의 Accept-Language 헤더에서 방문자의 언어를 감지하고, 선택한 로케일을 세션이나 쿠키에 저장한 뒤 현지화된 URL로 리디렉션할 수 있습니다. URL에서 기본 로케일을 숨기고, lang 파일을 통해 라우트 경로를 번역할 수도 있습니다. 또한 언어 선택기와 로케일을 고려한 링크를 만들 수 있도록 localizeUrl, getSupportedLocales, getCurrentLocaleDirection 등의 헬퍼를 제공합니다.

라우트는 요청마다 생성되므로 기본적으로 php artisan route:cache는 지원되지 않습니다. 캐싱을 위해 LoadsTranslatedCachedRoutes 트레이트와 route:trans:cache 명령을 제공합니다. README에서는 라우트 캐싱을 기본 지원해야 하는 새 프로젝트에 후속 패키지인 niels-numbers/laravel-localizer를 사용할 것을 권장합니다.

핵심 기능

  • 01모든 언어의 라우트를 한 번만 정의할 수 있는 로케일 접두사 라우트 그룹.
  • 02Accept-Language 헤더를 통한 브라우저 언어 감지.
  • 03세션 및 쿠키 기반 로케일 리디렉션 미들웨어.
  • 04lang/**/routes.php 파일에서 정의하는 번역 가능한 라우트 경로.
  • 05현지화된 URL, 로케일 이름, 현지어 이름, 쓰기 방향 및 문자 체계를 위한 헬퍼.
  • 06URL에서 기본 로케일을 선택적으로 숨기고 로케일별 URL을 직접 매핑하는 기능.

활용 사례

  • 언어마다 서로 다른 URL 접두사를 사용해 여러 언어로 콘텐츠를 제공하는 Laravel 웹사이트 구축.
  • 각 페이지의 다른 로케일 버전 URL로 연결하는 언어 선택기 추가.
  • SEO에 적합한 다국어 사이트에서 /en/article/... 및 /es/articulo/...처럼 번역된 슬러그 제공.

빠른 시작

  1. 1

    Composer로 패키지를 설치합니다

    composer require mcamara/laravel-localization
  2. 2

    설정 파일을 게시합니다

    php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider"
  3. 3

    routes/web.php에서 로컬라이즈된 라우트를 LaravelLocalization::setLocale() 라우트 그룹으로 감쌉니다

사용 전 알아둘 점

  • 라우트는 요청마다 생성되므로 php artisan route:cache는 기본적으로 지원되지 않습니다.
  • Laravel 및 PHP 버전 지원은 호환성 표에 나열된 특정 패키지 버전에 따라 달라집니다.

토픽

자주 묻는 질문

laravel-localization은(는) 무엇인가요?
Laravel 앱에서 로케일 접두사가 붙은 라우트, 브라우저 언어 감지, 번역 가능한 라우트 슬러그, 언어 선택기 헬퍼를 제공하는 i18n URL 현지화 패키지입니다. Laravel Localization은 Laravel 애플리케이션에서 다국어 URL 처리를 지원합니다. 로케일 접두사 그룹 안에 라우트를 한 번만 정의하면 패키지가 URL 경로의 로케일을 기준으로 애플리케이션 로케일을 설정합니다. 따라서 /en/about과 /es/acerca는 같은 컨트롤러로 연결되지만, App::getLocale()은 현재 활성화된 언어를 반환합니다.
laravel-localization은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
laravel-localization은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
laravel-localization은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. laravel-localization의 마지막 커밋은 2026년 8월 24일입니다.
laravel-localization은(는) 어디에 사용할 수 있나요?
언어마다 서로 다른 URL 접두사를 사용해 여러 언어로 콘텐츠를 제공하는 Laravel 웹사이트 구축. 각 페이지의 다른 로케일 버전 URL로 연결하는 언어 선택기 추가. SEO에 적합한 다국어 사이트에서 /en/article/... 및 /es/articulo/...처럼 번역된 슬러그 제공.
laravel-localization는 어떻게 설치하나요?
Composer로 패키지를 설치합니다: composer require mcamara/laravel-localization 설정 파일을 게시합니다: php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" routes/web.php에서 로컬라이즈된 라우트를 LaravelLocalization::setLocale() 라우트 그룹으로 감쌉니다
laravel-localization은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/mcamara/laravel-localization

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트