使用GraphQL支持多语言
我正在尝试使用GatsbyJS静态站点生成器重写我的站点。 用户可以通过UI更改语言。 具有本地化文本数据的文件夹很少:使用GraphQL支持多语言,graphql,gatsby,Graphql,Gatsby,我正在尝试使用GatsbyJS静态站点生成器重写我的站点。 用户可以通过UI更改语言。 具有本地化文本数据的文件夹很少: -src -资料 -嗯 -text1.json -text2.json ... -德 -text1.json -text2.json ... -es -text1.json -text2.json … 如何根据当前语言获取数据? GraphQL查询应该是什么样子 您可以使用社区 您可以使用markdownRemark配置找到一个示例: // Add to gatsby-con
-src
-资料
-嗯
-text1.json
-text2.json
...
-德
-text1.json
-text2.json
...
-es
-text1.json
-text2.json
…
如何根据当前语言获取数据?
GraphQL查询应该是什么样子 您可以使用社区
您可以使用markdownRemark配置找到一个示例:
// Add to gatsby-config.js
plugins: [
{
resolve: 'gatsby-plugin-i18n',
options: {
langKeyDefault: 'en',
useLangKeyLayout: false,
markdownRemark: {
postPage: 'src/templates/blog-post.js',
query: `
{
allMarkdownRemark {
edges {
node {
fields {
slug,
langKey,
}
}
}
}
}
`
}
}
}
]
您可能需要根据langKey
值过滤graphql查询:
allMarkdownRemark(filter: { fields: { langKey: { eq: "en" } } }) {
edges {
node {
fields {
slug,
langKey,
#your data
}
}
}
}
查看来源也可以帮助您