この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
前回は新規プロジェクトを作成し、Firebaseにデプロイするところまでやりました。
今回は作成したWebページを多言語対応する方法についてまとめました。
プロジェクトを作成
前回と同じ手順で新規プロジェクトを作成し、テンプレートをthemes
ディレクトリにクローンします。
新規プロジェクトを作成
hello-hugo
という名前のプロジェクトを作成します。
~hugo_localize> hugo new site hello-hugo
Congratulations! Your new Hugo site is created in /hugo_localize/hello-hugo.
Just a few more steps and you\'re ready to go:
1. Download a theme into the same-named folder.
Choose a theme from https://themes.gohugo.io/ or
create your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single files
with "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server".
Visit https://gohugo.io/ for quickstart guide and full documentation.
テンプレート(Theme)をクローン&config.tomlで設定
作成したプロジェクトのthemes
ディレクトリへテンプレートをクローンします。
~/hugo_localize> cd hello-hugo/themes
~/h/themes> git clone https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
Cloning into 'themes/ananke'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1402 (delta 3), reused 5 (delta 1), pack-reused 1387
Receiving objects: 100% (1402/1402), 4.15 MiB | 2.99 MiB/s, done.
Resolving deltas: 100% (753/753), done.
// Themeを設定
~/h/themes> echo 'theme = "ananke"' >> config.toml
_index.mdを作成
Homeページをcontents
下に作成します。
contents
ディレクトリに_index.md
ファイルを作成して
内容を以下のように設定してください。
---
description: "日本むかし話"
---
# もも太郎
昔あるところに、
おじいさんとおばあさんが住んでいました。
ある日、おばあさんが川で洗濯をしていると、川上から、大きな(巨大な)ももが、どんぶらこっこ、どんぶらこっこと流れてきました。
おばあさんは、ももを家に持って帰ると、
おじいさんと食べようとわってみました。
すると、おどろいたことに、
元気な男の子がももから現われました。
おじいさんとおばあさんは、
「ももから生まれたから、桃太郎と名づけよう。」と言いました。
反映されているかブラウザ上で確認します。
言語に関する設定をまだ何もしていないのでデフォルトで"EN"となっています。
hugo server -D
| EN
+------------------+----+
Pages | 7
Paginator pages | 0
Non-page files | 0
Static files | 3
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Total in 20 ms
Watching for changes in /hugo_localize/hello-hugo/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /hugo_localize/hello-hugo/config.toml
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
このプロジェクトを多言語対応してゆきます。
config.tomlで設定
config.toml
に設定を追加します。
baseURL = "http://example.org/"
title = "My New Hugo Site"
theme = "ananke"
DefaultContentLanguage = "ja"
[languages]
[languages.en]
languageName = "English"
weight = 10
title = "Japanese Old Tales"
[languages.ja]
languageName = "Japanese"
weight = 20
title = "日本むかし話"
英語ページを作成
先ほど作成した_index.md
の英語版を作成します。
名前は_index.en.md
で保存します。
---
description: "The Peach Boy"
---
# The Peach Boy
Once upon a time, there lived an old couple in a small village.
One day the old wife was washing her clothes in the river when a huge peach came tumbling down the stream.
The old woman brought the peach home and cut it up to share with her husband.
To their great surprise, a healthy baby boy came right out of the peach!
The old couple said, “Let’s name him Momotaro (Peach-boy) as he was born from a peach.”
日本語ページのファイル名を変更
先ほど_index.md
の名前で作成した日本語のファイルを
_index.ja.md
へ変更してください。
ブラウザで確認
先ほどのコマンドをもう一度叩いてみます。 日本語ページに加え英語ページのリソースが追加されているのが確認できます。
hugo server -D
| EN | JA
+------------------+----+----+
Pages | 7 | 7
Paginator pages | 0 | 0
Non-page files | 0 | 0
Static files | 3 | 3
Processed images | 0 | 0
Aliases | 1 | 0
Sitemaps | 2 | 1
Cleaned | 0 | 0
右端部分に英語ページが表示されているのがわかりますね。
このテンプレートは自動的にメニューに追加してくれる仕組みになっているようですが、 仕様によっては自分で追加する必要があります。
config.toml
のDefaultContentLanguage
でデフォルトの言語を設定することができます。
今回は日本語をデフォルトに設定したので日本語ページが表示されました。
英語ページはこのように表示されます。