yarn
yarn install glotstack
import * as React from 'react'
import { GlotstackProvider } from 'glotstack'
const importMethod = (locale: string) => {
// fetch() da directory statiche per limitare le dimensioni del bundle: salva le traduzioni in un percorso statico
return fetch(`/public/translations/${locale}.json`)
}
// // Oppure implementa require inline per traduzioni integrate — funziona senza supporto per import dinamici
const translations: Record<string, () => Promise<Translations>> = {
'en-US': () => require('@/translations/en-US.json'),
'pl-PL': () => require('@/translations/pl-PL.json'),
'fr-FR': () => require('@/translations/fr-FR.json'),
};
const importMethod2 = (locale: string) => {
return translations[locale]();
}
const Application = () => {
const locale = 'en-US' // replace with your locale source
return (
<GlotstackProvider initialLocale={locale} importMethod={importMethod}>
{/*<YourComponent />*/}
</GlotstackProvider>
)
}
fetch()
preleva file da directory statiche ospitate ovunque, come CDN – aiuta a mantenere piccoli i bundle, utile con limiti come Cloudflare Workers. fetch()
è quasi sempre la scelta migliore, a meno che l'ambiente non supporti import dinamici: in tal caso require()
è la soluzione più semplice, con un po' di boilerplate in più.
Per app piccole o react-native, consigliamo require()
per includere asset nei bundle ospitati.useGlotstack()
all'interno dei tuoi componenti
import * as React from 'react'
import {useGlotstack} from 'glotstack'
function MyComponent() => {
const {t} = useGlotstack()
return (
<div>
{t('Quickstart.example', {assigns: {userName: 'JD'}})}
{/* Icon can be a function reference or a node */}
{t('Quickstart.example2', {assigns: {Icon: <Icon/>}})}
</div>
)
}
en-US.json
come predefinito. Ti consigliamo di salvarlo in un percorso come ./translations/en-US.json
. Se sei preoccupato per le dimensioni del bundle, puoi ridurle dividendo usando file pubblici come ./public/translations/en-US.json
..glotstack.json
nel tuo progettoget-translations
yarn glotstack get-translations
yarn glotstack live-translate
export GLOTSTACK_API_KEY="6TOybhR44g7j6nrtJ/blfJ1tPnilfv1oPzBArqT1lfFcHYvF/7+nvkJihHvpD3mBo4g5bleP/iCSAbbZoDt+vA=="
yarn glotstack get-translations --source-path "./translations" --project-id "first-project" pl-PL fr-FR