다국어 플러그인
jekyll에 다국어를 지원하기 위한 플러그인 설치와 설정에 대해 알아봅니다. 여러 다국어 플러그인이 있지만 여기에서는 jekyll-polyglot를 소개합니다.
다른 다국어 플러그인에 대해 궁금하신 분은 awesome-jekyll-plugins을 참고하세요.
플러그인 설치
- 콘솔에서 아래에 명령어를 통해 플러그인을 설치합니다.
gem install jekyll-polyglot
_config.yml
에 플러그인을 세팅합니다.
plugins:
- jekyll-polyglot
플러그인 글로벌 설정
_config.yml
파일에 아래와 같이 설정합니다.
languages: ['ja', 'ko', 'en']
default_lang: 'ja'
exclude_from_localization: ['javascript', 'images', 'css']
parallel_localization: false
- languages: 사이트에서 지원할 다국어 리스트입니다.
- default_lang: 지원하는 다국어중 디폴트 언어를 설정합니다.
- exclude_from_localization: 다국어를 지원하지 않을 폴더 리스트를 설정합니다.
- parallel_localization: true로 설정하면 jekyll이 페이지를 컴파일할 때 fork()를 이용해 사이트를 동시에 컴파일 합니다. Windows OS는 fork()를 지원하지 않으므로 false로 설정해야합니다.
페이지 설정
_posts
폴더에 아래와 같이 폴더와 파일을 만듭니다.
|-- _posts
| |-- 2018-09-19-multi-languages-plugin
| | |-- common
| | | |-- folder_structure.md
| | |-- 2018-09-19-multi-languages-plugin-en.md
| | |-- 2018-09-19-multi-languages-plugin-ja.md
| | |-- 2018-09-19-multi-languages-plugin-ko.md
- 2018-09-19-multi-languages-plugin: 관리를 위해 ```_posts``` 폴더 하위에 포스트 제목으로 폴더를 만듭니다.
- common: 다국어 파일에서 공통으로 사용할 파일을 저장합니다. 예를 들어 지금 보고 있는 디렉토리 구조는 ```folder_structre.md```에 작성하고 ```{% include_relative common/folder_structure.md %}```을 이용하여 표시합니다.
- 2018-09-19-multi-languages-plugin-[언어].md: ```_config.yml```의 ```languages```에 설정한 언어별 페이지를 작성합니다.
- 각 언어별 페이지 상단에 해당 페이지의 언어를 설정합니다.
```yml
---
layout: 'post'
lang: 'ko'
...
---
확인
모든 설정이 완료되었습니다. 각 페이지를 확인하는 방법에 대해 알아봅니다.
- 페이지 설정을 통해 생성된 페이지는 아래와 같은 URL로 접근이 가능합니다.
http://site_url/jekyll/multi-languages-plugin/
http://site_url/ko/jekyll/multi-languages-plugin/
http://site_url/en/jekyll/multi-languages-plugin/
_config.yml
의default_lang
에 설정한 언어는http://site_url/path
로 바로 접근이 가능합니다.default_lang
이외에 언어는http://site_url/[언어]/path
로 해당 언어 페이지에 접근이 가능합니다.- jekyll의 테스트 서버를 기동하거나 빌드를 하게 되면
_site
폴더 하위에 다국어로 된 폴더를 확인할 수 있다.- 서버 기동 명령어:
bundle exec jekyll serve
- 빌드 명령어:
bundle exec jekyll build
- 서버 기동 명령어:
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
지금 보고 계신 블로그를 작성하는
관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.