Article
Laravel 한글 언어팩으로 UX 개선하기
도입
Laravel 애플리케이션을 개발할 때 가장 흔히 마주치는 문제는 영문 오류 메시지입니다. 사용자가 폼 검증에서 실패하면 “The email must be a valid email address”라는 영문 메시지가 보일 텐데, 한국 사용자 입장에서는 불편합니다. 이를 해결하기 위해 Laravel 한글 언어팩을 제공합니다.
Laravel 다국어화란
Laravel은 강력한 다국어 지원 기능을 제공합니다. resources/lang/ 디렉토리 구조를 통해 각 언어별로 메시지를 관리하고, config/app.php의 locale 설정으로 손쉽게 전환할 수 있습니다. 기본적으로 영어(en)만 포함되므로 한국어(ko) 언어팩이 필요합니다.
한글 언어팩 구성
이 언어팩에는 다음 5가지 핵심 번역 파일이 포함됩니다:
| 파일명 | 용도 |
|---|---|
validation.php | 폼 검증 규칙 메시지 (required, email, unique 등) |
auth.php | 로그인/인증 실패 메시지 |
passwords.php | 비밀번호 재설정 안내 메시지 |
pagination.php | 이전/다음 페이지, 페이지 정보 표시 |
messages.php | 기타 일반 메시지 |
설치 방법
Git Clone (권장)
프로젝트 루트에서 다음 명령을 실행합니다:
git clone https://github.com/yousung/laravel-lang-ko.git resources/lang/ko
이 방법은 향후 업데이트도 쉽게 적용할 수 있습니다.
수동 다운로드
- Github 저장소에서
resources/lang/ko/폴더를 ZIP으로 다운로드 - 프로젝트의
resources/lang/디렉토리에 붙여넣기
설정 및 적용
config/app.php 수정
'locale' => 'ko', // 기본 언어를 한글로
'fallback_locale' => 'en', // 번역이 없으면 영어로 대체
이 설정으로 애플리케이션의 모든 시스템 메시지가 자동으로 한글로 표시됩니다.
실제 사용 예시
컨트롤러에서 검증
$validated = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
'password' => 'required|min:8|confirmed'
]);
사용자가 email 필드가 비어있으면 “email은 필수입니다”라는 한글 메시지가 자동으로 표시됩니다.
뷰에서 오류 메시지 렌더링
@if ($errors->has('email'))
{{ $errors->first('email') }}
@endif
커스텀 메시지 추가
기본 번역에 부족한 부분은 resources/lang/ko/validation.php를 수정합니다:
return [
'required' => ':attribute(은)는 필수입니다.',
'email' => ':attribute의 형식이 올바르지 않습니다.',
'unique' => 'This :attribute is already in use.',
'custom' => [
'email.required' => '이메일을 입력해주세요.',
]
];
주의사항 및 버전 관리
- 이 언어팩은 Laravel 5.6 기준으로 작성되었습니다
- Laravel 8 이상을 사용하는 경우 공식 언어팩(laravel-lang/lang) 설치를 권장합니다
- 커스텀 메시지는
resources/lang/ko/내 파일에서 직접 수정하세요
마치며
한글 언어팩을 적용하면 사용자가 폼 검증 오류를 더 명확히 이해할 수 있고, 애플리케이션의 전문성이 높아집니다. 특히 한국 사용자를 주요 타겟으로 하는 프로젝트라면 다국어화는 필수 요소입니다. Laravel의 강력한 다국어 기능을 활용해 글로벌 서비스로 성장시켜 보세요.
댓글