Vai al contenuto
Vite i18n

i18n con Vite senza rallentare lo sviluppo

Usa Better I18N nei progetti Vite per mantenere rapido l'hot reload, tipizzate le chiavi di traduzione e facili da pubblicare i contenuti per lingua, sia nell'app sia nelle pagine di marketing.

Setup

Get started in 3 steps

Installa l'SDK compatibile con React

Per la maggior parte dei progetti Vite, parti da @better-i18n/use-intl e use-intl, così le traduzioni funzionano negli alberi di componenti standard.

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

Wrap your app once

Monta BetterI18nProvider nel file di ingresso di Vite, così i dati di lingua sono disponibili prima del primo render.

src/main.tsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import { BetterI18nProvider } from '@better-i18n/use-intl';
import App from './App';

ReactDOM.createRoot(document.getElementById('root')!).render(
  <BetterI18nProvider project="your-org/your-project" locale="en">
    <App />
  </BetterI18nProvider>
);

Traduci dentro i componenti

Usa hook tipizzati per chiavi e interpolazione, mantenendo rapido l'hot reload di Vite mentre iteri sui contenuti.

src/components/Hero.tsx
import { useTranslations } from '@better-i18n/use-intl';

export function Hero() {
  const t = useTranslations('landing');

  return <h1>{t('headline')}</h1>;
}
Capabilities

Perché usare Better I18N con Vite?

Iterazione locale rapida con l'HMR di Vite, mantenendo tipizzate le chiavi di traduzione
Funziona bene con React, Vue e altri frontend basati su Vite
I messaggi distribuiti via CDN rendono le build più leggere e gli aggiornamenti più rapidi
Adatto a siti di marketing, dashboard e shell di app ibride
Avvio semplice per i team che arrivano da file JSON gestiti a mano
Tiene la complessità specifica del framework fuori dal flusso di traduzione
Example

Typical Vite setup

Una configurazione minima basata su provider per app Vite che hanno bisogno di traduzioni tipizzate e iterazione rapida.

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

function LandingHero() {
  const t = useTranslations('landing');

  return (
    <section>
      <h1>{t('headline')}</h1>
      <p>{t('subheadline')}</p>
    </section>
  );
}

export default function App() {
  return (
    <BetterI18nProvider project="your-org/your-project" locale="en">
      <LandingHero />
    </BetterI18nProvider>
  );
}

Other frameworks

Get started

Pubblica più in fretta app Vite localizzate

Mantieni la tua velocità di sviluppo, porta le traduzioni in un flusso di lavoro reale e pubblica aggiornamenti senza modificare a mano i file di lingua.