이전 포스트에서는 Laravel Breeze로 만들어진 회원가입 폼으로 계정을 생성하고, VSCode에 SQLTools라는 익스텐션을 설치해서 가입한 회원의 정보가 DB에 제대로 잘 들어갔는지 확인했다.
오늘은 라라벨 웹 애플리케이션의 타임존timezone과 언어를 설정하고 lang 디렉터리 생성하는 등의 과정을 거쳐서 웹사이트를 한글화 해보겠다.
이전 포스트
VSCode를 DB 툴처럼! SQLTools 익스텐션 설치 및 도커 연결 가이드
먼저 VSCode에서 [ctrl + P] 키를 누르고 src/config/app.php 파일을 찾아서 연다.
그리고 캡처한 이미지처럼 'timezone' => 'UTC',라고 된 부분을 찾는다.
src/config/app.php
'timezone' => 'Asia/Seoul',
그리고 이렇게 수정한다.
스크롤을 조금만 더 내려보면 'locale' => env('APP_LOCALE', 'en'),이라는 코드가 보일 것이다.
딱 보면 .env 파일에서 환경 변수를 수정해야 한다는 느낌이 온다.
src/.env
APP_LOCALE=ko
src 디렉터리 안의 .env 파일에서 APP_LOCALE을 찾는다
한국일 경우에는 ko로 수정하면 된다.
참고로 이 .env 파일은 우리가 직접 만들었던 최상위 디렉터리의 .env 파일이 아니다.
Laravel을 설치하면서 자동으로 생성된 src 디렉터리 내의 .env 파일이니 헷갈리지 않도록 주의하자.
그런데 APP_LOCALE과 비슷해 보이는 APP_FALLBACK_LOCALE과 APP_FAKER_LOCALE이라는 것도 있다.
비슷해 보이니 차이를 정리를 하자면, 세 환경 변수는 다음과 같은 역할을 한다.
APP_LOCALE: 애플리케이션의 기본 언어를 설정한다. 이 값에 따라 Laravel의 다국어 번역 기능이 사용된다. 기본값은en으로 설정되어 있으며, 이를ko로 변경하면 애플리케이션이 한국어로 작동하게 된다.APP_FALLBACK_LOCALE: 기본 언어로 설정한APP_LOCALE에서 번역 파일을 찾지 못했을 때 대체할 언어를 지정한다.APP_FALLBACK_LOCALE은 기본값이en으로 되어 있으므로, 한국어로 번역되지 않은 내용이 있을 때 영어로 표시될 수 있다.APP_FAKER_LOCALE: 데이터베이스 시드나 테스트 중에 가짜 데이터를 생성할 때 사용할 언어 설정이다. 기본값인en_US는 영어 기반의 가짜 데이터를 생성한다. 이를ko_KR로 변경하면 한국어 기반의 가짜 데이터가 생성된다.
이제부터는 프로젝트에 lang 디렉터리를 생성하고 메시지들을 한글화 하는 방법이다.
make app #컨테이너 안으로 들어간다.
php artisan lang:publish #language를 프로젝트에서 수정할 수 있게 lang 디렉터리가 생긴다.
composer require --dev laravel-lang/lang
php artisan lang:add ko
php artisan lang:update
exit
VSCode의 터미널에서 이 명령어들을 차례대로 실행한다.
그러면 composer.json과 composer.lock 파일이 수정되고,
프로젝트에 lang 디렉터리와 그 안에 10개의 파일이 생성된다.
sudo chown -R 소유자:그룹 src/
sudo chown -R 소유자:www-data src/storage/ src/bootstrap/cache/
생성된 디렉터리와 파일을 수정 가능한 상태가 되도록 위의 명령어들을 실행한다.
소유자와 그룹에는 본인의 계정을 넣는다. (본인 계정을 확인하는 명령어는 whoami)
로그인 페이지와 회원가입 페이지를 확인해 보자.
한글화가 되어있다.
위의 과정을 거치기 전에는 영어로 표시되고 있었다.
한글화 되기 전의 프로필 수정 페이지를 캡처했다.
원래는 이렇게 모든 페이지의 텍스트가 영어로 되어있었다.
그런데 프로필 수정 페이지도 이렇게 한글화 되었다.
프로젝트에 lang 디렉터리가 생성되어 있다.
한글화 된 부분이 어색하거나 직접 수정하고 싶은 부분이 있다면, 이 디렉터리 안에 있는 파일들을 수정하면 된다.
Lang | Laravel Lang
관련 문서를 링크해 두겠다.
그리고 아래의 영상도 관련된 영상이니 가져와봤다.
다음 포스트





0 Comments
댓글 쓰기
🔸 댓글은 블로그 운영자의 승인 후에 블로그에 표시됩니다.
🔸 비로그인 방문자 분께서는 '익명'보다 이름/URL로 댓글을 남겨주시면 감사하겠습니다. (URL은 생략 가능합니다.)
🔸 구글 로그인 방문자는 '알림 사용'에 체크를 하시면, 남겨주신 댓글에 대한 답글 알림을 메일로 받아볼 수 있습니다. 📩