首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Nuxt/Contentful项目中的语言/区域设置

更改Nuxt/Contentful项目中的语言/区域设置
EN

Stack Overflow用户
提问于 2021-04-30 04:04:29
回答 1查看 55关注 0票数 0

如何在Nuxt / Contentful项目中实现动态语言切换?

pages/index.vue的内容

代码语言:javascript
复制
<template>
//...
</template>

<script>
import client from "~/plugins/contentful";

export default {
  layout: "landing_page",
  asyncData() {
    return client
      .getEntries({
        content_type: "landingPage"
      })
      .then(entries => {
        return { contentfulData: entries.items[0].fields };
      });
  },
  computed: {
    //...
  },
  props:[
    "displayApp"
  ],
  components: {
    //...
  }
};
</script>

plugins/contentful.js的内容

代码语言:javascript
复制
const contentful = require('contentful')

const client = contentful.createClient({
  space: process.env.CONTENTFUL_ENV_SPACE_ID,
  accessToken: process.env.CONTENTFUL_ENV_ACCESS_TOKEN
})

module.exports = client

我在contentful中为一个特定的模型创建了两个不同的语言环境:

然而,在响应中,我只能看到其中的一个:

我错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-04-30 04:43:18

如果只有一页,那么在pages/index.vue中你可以使用例如:

代码语言:javascript
复制
const getLanguage = () => navigator.userLanguage || (navigator.languages && navigator.languages.length && navigator.languages[0]) || navigator.language || navigator.browserLanguage || navigator.systemLanguage || 'en';

export default {
  layout: "landing_page",
  auth: false,
  asyncData() {
    return client
      .getEntries({
        content_type: "landingPage",
        locale: (getLanguage().includes('pl') ? 'pl' : 'en')
      })
      .then(entries => {
        return { contentfulData: entries.items[0].fields };
      });
  },

适用于两个地区。在此示例中,缺省区域设置为en

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67324354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档