使用 i18next 的 Gatsby 本地化图像
Gatsby localized image using i18next
我已经使用 gatsby-plugin-react-i18next 插件设置了 i18n。所有内容都很好,但我还需要本地化一些静态图像,但不知道如何让它工作。
我试过在 GatsbyImage
上传递图像道具,但这不起作用。
<GatsbyImage
image={t('index.landingAdditionalContent.picture.src')}
alt={t('index.landingAdditionalContent.picture.alt')}
/>
图像存储在 src/images/
文件夹中
这是我第一次与 Gastby 合作,所以请在这里帮助我
我认为您需要针对每种语言查询每个 specific image node。使用翻译(t()
)的方法将在翻译JSON中搜索您没有的特定翻译(因为您不知道节点结构)。
在不了解您的数据结构或实现的情况下,很难猜测代码片段,但扩展了文档:
export const query = graphql`
query ($language: String!) {
dataJson(language: {eq: $language}) {
...DataFragment
}
}
`;
您在上下文中有一个 language
变量可用于使用和过滤 GraphQL 节点。
我已经使用 gatsby-plugin-react-i18next 插件设置了 i18n。所有内容都很好,但我还需要本地化一些静态图像,但不知道如何让它工作。
我试过在 GatsbyImage
上传递图像道具,但这不起作用。
<GatsbyImage
image={t('index.landingAdditionalContent.picture.src')}
alt={t('index.landingAdditionalContent.picture.alt')}
/>
图像存储在 src/images/
文件夹中
这是我第一次与 Gastby 合作,所以请在这里帮助我
我认为您需要针对每种语言查询每个 specific image node。使用翻译(t()
)的方法将在翻译JSON中搜索您没有的特定翻译(因为您不知道节点结构)。
在不了解您的数据结构或实现的情况下,很难猜测代码片段,但扩展了文档:
export const query = graphql`
query ($language: String!) {
dataJson(language: {eq: $language}) {
...DataFragment
}
}
`;
您在上下文中有一个 language
变量可用于使用和过滤 GraphQL 节点。