お知らせ
2023.12.5(Tue)
目次
こんにちは、樋口です。
今回は、Nuxt.jsからライブラリを読み込むだけで、簡単に英語などの多言語化対応を行うことができるnuxt-i18nについてご紹介します。
今回は下記ライブラリを使用して説明をしていきます。
初めにコマンドプロンプトで、使用するNuxt.jsのプロジェクトフォルダまで移動します。移動後、以下のコマンドを実行します。

これで対象のプロジェクトに、ライブラリを追加することができました。次に実際のライブラリの使用方法について解説していきます。
次に、nuxt.config.jsに設定を追加します。
export default {
mode: 'universal',
・・・・・
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios',
[
'nuxt-i18n',
{
locales: [
{ code: 'ja', iso: 'ja_JP', file: 'ja.json' },
{ code: 'en', iso: 'en-US', file: 'en.json' }
],
defaultLocale: 'ja',
vueI18n: {
fallbackLocale: 'ja'
},
vueI18nLoader: true,
lazy: true,
langDir: 'language/'
}
]
],
・・・・・
}
次に各言語に対応したファイルを、以下のフォルダに格納します。
jp.json
{
"message": "日本語表示のテスト"
}{
"message": "Test Japanese display"
}
今回サンプル用に作成した、Vueファイルを下記に記載します。
– index.vue
<template>
<div class="samaple__conntents">
<diV style="margin-top: 20px;">
<h1>nuxt-i18nプラグインサンプル</h1>
</diV>
<diV style="margin-top: 20px;">
{{ $t('message') }}
</diV>
<div>
<nuxt-link :to="switchLocalePath('en')">English</nuxt-link>
</div>
<div>
<nuxt-link :to="switchLocalePath('ja')">japanese</nuxt-link>
</div>
</div>
</template>
<script>
export default {
data() {
return {
count: 0
}
}
}
</script>
<style>
.samaple__conntents {
margin: 0 auto;
min-height: 100vh;
justify-content: center;
align-items: center;
text-align: center;
}
</style>
今回紹介したライブラリを使用すれば、簡単に多言語対応を行うことが可能となります。今後多言語対応のページ作る際は、ぜひ試してみてください。
今後もNuxt.jsでの便利ライブラリについて紹介していけたらと思っています。
それではまた。
《関連記事》