Naar inhoud gaan
Remix & Hydrogen i18n

Remix- en Hydrogen-i18n voor storefronts en route-gedreven apps

Gebruik Better I18N om servergerenderde taalstatus, gelokaliseerde storefrontcontent en op zoekmachines gerichte routes in één workflow op elkaar afgestemd te houden.

Setup

Get started in 3 steps

Install the app-side SDK

Gebruik de provider-gebaseerde SDK in uw Remix- of Hydrogen-app, zodat vertaalde content over routemodules heen gedeeld kan worden.

terminal
npm install @better-i18n/use-intl use-intl

De taal op de server bepalen

Lees de taal uit het request, de routeparameters of de storefrontcontext en geef die door aan de root van uw app.

app/root.tsx
export async function loader({ request }: LoaderFunctionArgs) {
  const locale = resolveLocaleFromRequest(request);

  return json({ locale });
}

De provider hydrateren in de rootroute

Geef de taal één keer mee, zodat geneste routes, productpagina's en de winkelwagen-UI dezelfde vertaalbron gebruiken.

app/root.tsx
export default function App() {
  const { locale } = useLoaderData<typeof loader>();

  return (
    <BetterI18nProvider project="your-org/your-storefront" locale={locale}>
      <Outlet />
    </BetterI18nProvider>
  );
}
Capabilities

Waarom Better I18N gebruiken met Remix en Hydrogen?

Taalverwerking die op de server wordt geladen en past bij Remix-loaders en Hydrogen-storefrontflows
Geschikt voor SEO-gevoelige categorie-, product- en contentpagina's
Één vertaalworkflow voor de storefront-UI, accountpagina's en marketingroutes
Ondersteunt taalstrategieën op basis van routes, zonder kwetsbare duplicatie van bestanden
Ontwikkelaars kunnen gelokaliseerde storefront-updates uitleveren zonder te wachten op een nieuwe deploy
Houdt vergelijkings- en kopersintentiecontent in lijn met de pagina's voor productlocalisatie
Example

Route-level locale wiring

Een provider-gebaseerde opzet die past bij loader-gedreven frameworks en de routestructuren van storefronts.

import { BetterI18nProvider, useTranslations } from '@better-i18n/use-intl';

export async function loader({ request }: LoaderFunctionArgs) {
  return json({
    locale: resolveLocaleFromRequest(request),
  });
}

function ProductHero() {
  const t = useTranslations('product');
  return <h1>{t('title')}</h1>;
}

export default function App() {
  const { locale } = useLoaderData<typeof loader>();

  return (
    <BetterI18nProvider project="your-org/your-storefront" locale={locale}>
      <ProductHero />
      <Outlet />
    </BetterI18nProvider>
  );
}

Other frameworks

Get started

Lever gelokaliseerde storefronts op zonder versnipperde workflows

Houd taalverwerking op de server, productcontent en pagina's met kopersintentie in één localisatiesysteem.