多言語プラグイン
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_structure.md
へ作成して{% include_relative common/folder_structure.md %}
を使って表示してます。 - 2018-09-19-multi-languages-plugin-[言語].md:
_config.yml
のlanguages
へ設定した言語別ページを作成します。 - 各言語ページ上部へ各ページの言語を設定します。
---
layout: 'post'
lang: 'ja'
...
---
確認
全ての設定を完了しました。各ページを確認する方法に関して紹介します。
- ページ設定を通じて生成されたページは下記のように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で開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。