Speedrun Next.js

Hagamos una speedrun creando una nueva aplicación e internacionalizándola con GT.

Descripción general

En esta guía, revisaremos dos cosas:

  • Crear una nueva aplicación Next.js
  • Internacionalizarla con General Translation

En total, esto debería tomar menos de 10 minutos.

Requisitos previos

Asumimos que ya tienes experiencia usando React de alguna manera y estás familiarizado con Typescript.


Paso 1: Crea una nueva app de Next.js

Primero, navega al directorio de tu elección en la terminal y ejecuta el siguiente comando:

npx create-next-app next-quickstart --ts --tailwind --eslint --app --use-npm --src-dir

Aparecerá un asistente de configuración; puedes simplemente seleccionar el valor predeterminado para cada opción.

Paso 2: Instala las librerías

Navega al directorio raíz de tu proyecto Next.js y ejecuta:

cd next-quickstart
npm i gt-next
npm i gtx-cli --save-dev

Paso 3: Agrega tus variables de entorno.

Navega al Dashboard. Ve a la página Dev Api Keys en la barra de navegación y crea una nueva API key y Project ID. Luego agrégalas a tu archivo .env.

GT_API_KEY="YOUR_GT_API_KEY"
GT_PROJECT_ID="YOUR_GT_PROJECT_ID"

Paso 4: Ejecuta la herramienta CLI

Ejecuta la herramienta CLI para configurar tu base de código para la traducción.

npx gtx-cli setup

Paso 5: Modifica el layout raíz

Modifica la prop lang en la etiqueta <html> en el archivo src/app/layout.tsx.

Debe usar await getLocale() para obtener la configuración regional actual.

src/app/layout.tsx
import { GTProvider, getLocale } from "gt-next"; 
...
export default async function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  const locale = await getLocale(); 
  return (
    <html lang={locale}> // [!code highlight]
      <GTProvider>
        <body
          className={`${geistSans.variable} ${geistMono.variable} antialiased`}
        >
        {children}
        </body>
      </GTProvider>
    </html>
  );
}

Paso 6: Inicia tu aplicación

¡Tu aplicación está internacionalizada! 🎉 ¡Vamos a probarla!

Cambiemos la configuración de idioma de tu navegador.

Inicia tu aplicación Next.js.

npm run dev

Abre tu aplicación en tu navegador preferido (normalmente en http://localhost:3000). Si has configurado todo correctamente, deberías ver tu aplicación en el idioma que configuraste en tu navegador.


Solución de problemas


Notas

  • Traduce JSX arbitrario con el componente <T>.
  • Si la traducción no funciona cuando cambias tu idioma, revisa las cookies de tu navegador.

Próximos pasos

¿Qué te parece esta guía?