Comments (3)
I rewrote parts of this plugin to filter translations from a source plugin and removed the parts reading directly from the file system.
I will say this, retrieving the translations from of the GraphQL API was a bit challenging. We're limited to the using Page Queries since Pages are the only parts of a Gatsby app that can make GraphQL queries with variables in them. The variable we need to provide is the locale/lang which is set on pageContext.intl.lang
.
I'm hoping <StaticQuery />
is updated to handle variables - which would then solve this and I can package up a solution.
Related issues that discuss adding variable support to <StaticQuery />
/useStaticQuery
:
gatsbyjs/gatsby#10482
gatsbyjs/gatsby#9047
from gatsby-plugin-intl.
Agreed, I source my translations from Airtable so I can't use this i18n plugin.
from gatsby-plugin-intl.
Hey @jasonmit do you have an example of passing pageContext.intl.lang to a page query?
I am using WordPress and Polylang and the query looks something like this:
export const query = graphql`
query($lang: WP_LanguageCodeEnum = EN) {
wp {
page(id: "5", idType: DATABASE_ID) {
translation(language: $lang) {
homeBeta {
introHeader
}
}
}
}
}
`
I would like it so that when a user clicks to "changeLocale" it updates that variable from EN to DE etc.
I'm new to this, so have just been experimenting... I'm not sure if $lang: WP_LanguageCodeEnum = EN
is the right way of going about this.
I guess another way to do this might be to not have any translations on WordPress and do the translations purely via the JSON files?
Use something like:
<FormattedMessage
id="home.header"
defaultMessage={data.wp.page.translation.homeBeta.introHeader}
description="header on home page"
/>
If this was a better way to go, do you know if you can integrate something like babel-plugin-react-intl
to extract the messages? Would this automatically fill the "header": ""
with the data from the query?
Happy to learn, if you could point me In the right direction, I'd appreciate it :) thx
from gatsby-plugin-intl.
Related Issues (20)
- Updated json needs clear cache in order to show changes on the page HOT 2
- Sitemap problems HOT 4
- redirect option creates problems with routers HOT 1
- Getting Error: Cannot find react-intl/locale-data/hk in Safari HOT 1
- Updating locales requires cleaning .cache HOT 2
- Distinguish between default display/redirect language and default messages language
- Is this project abandoned? HOT 8
- Fork and link this repo? HOT 1
- Styling a specific language HOT 1
- gatsby-plugin-intl is not compatible with your gatsby version 3 HOT 2
- How to use with Storybook? HOT 3
- Problem when using gatsby-plugin-transition-link and gatsby-plugin-intl. HOT 1
- Best practice for translate keywords ( react helmet ) & alt image description HOT 1
- ngeLoc
- Load component inside `wrapPageElement` fails HOT 1
- Is this plugin going to be updated to supported gatsby version 4.x.x? HOT 7
- Dynamic translation keys from json are not extracted
- How do I use this together with slices? HOT 1
- Wrong import of @formatjs locale-data
- All locale data included in bundle HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gatsby-plugin-intl.