本記事で行うこと
PaperMod テーマを適用した Hugo サイトの日本語化を行います。
設定方法
hugo.toml
に以下の設定を追加します。解散。
defaultContentLanguage = 'ja'
きっかけ
PaperMod テーマを適用した本サイトを確認した時に、 Chrome の翻訳パネルが表示されました。languageCode
で日本語に設定したはずと思いながら、ちゃんと日本語に対応しておきたいと感じたことがきっかけでした。
挙動の調査
ソースコードを確認すると、HTML の言語属性が <html lang="en" dir="auto">
になっていました。hugo new theme
で作成したテーマでは <html lang="ja" dir="ltr">
でした。これをどのように設定したら ja
に設定できるかを調査しました。
languageCode が効かない
PaperMod テーマは hugo.toml
のトップレベルで設定した languageCode
によって HTML の言語属性 lang
属性が変わらないテンプレートでした。
PaperMod テーマの layouts/_default/baseof.html
を確認してみると、該当行は以下のようになっていました。
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">
それに対し、 hugo new theme
で生成した layouts/_default/baseof.html
は以下のようになっていました。 site.Language
と site.Language.LanguageCode
では参照する設定値が違うようです。
<html lang="{{ or site.Language.LanguageCode site.Language.Lang }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
defaultContentLanguage にたどり着く
PaperMod 側の表記を検索してみると Languages | Hugo にたどり着きました。このドキュメントを参考に日本語の設定を行うと、 HTML の言語属性が <html lang="ja" dir="ltr">
に代わりました。
defaultContentLanguage = 'ja'
[languages]
[languages.ja]
languageCode = 'ja-JP'
languageDirection = 'ltr'
languageName = 'Japanese'
weight = 1
defaultContentLanguage
について検索してみると Configure Hugo | Hugo のドキュメントにたどり着きました。この設定のデフォルト値は en
でした。 [languages]
と併用するとも書かれていないため、以下のように書き換えたところ、エラーが出力されずにサイトの生成ができました。[languages]
は多言語モードでサイトを運用する時に使用する設定値のようです。
defaultContentLanguage = 'ja'
適用されてから気付いたことなのですが、PaperMod テーマには日本語用の設定ファイルがあり、それらが読み込まれた結果、記事の頭にあるの「Table of Contents」が「目次」に置き換わっていました。
おまけ:執筆時の PaperMod 用の config
構築時の記事では新規に作成したテーマで本ブログサイトの構築を行いました。早速、完成されたテーマに抗えなくなったので PaperMod テーマを適用しました。
執筆時の config.toml
は以下のようになっています。
baseURL = 'https://yomashishi.info/'
languageCode = 'ja'
title = 'よましし情報'
hasCJKLanguage = true
theme = 'PaperMod'
defaultContentLanguage = 'ja'
[params]
UseHugoToc = true
showtoc = true
DateFormat = '2006-01-02'
ShowCodeCopyButtons = true
ShowBreadCrumbs = true
disableSpecial1stPost = true
ShowPostNavLinks = true
[[menu.main]]
identifier = "archives"
name = "Archive"
url = "/archives/"
weight = 10
[[menu.main]]
identifier = "tags"
name = "Tags"
url = "/tags/"
weight = 20
設定値については Installation · adityatelange/hugo-PaperMod Wiki を参考にしました。 TOML の設定ファイルで運用してみたかったため、サンプルの YAML を YAML to TOML で変換して設定しています。
最後に
本記事では PaperMod テーマを適用した Hugo サイトの日本語化についてまとめてみました。
本記事が誰かの役に立てられたら幸いです。最後まで読んでいただきありがとうございました。