Producción vs. desarrollo
Diferencias entre los entornos de producción y desarrollo
Descripción general
gt-next se comporta de forma diferente según el entorno en el que se ejecute tu aplicación de Next.js.
Detecta el entorno comprobando la variable de entorno NODE_ENV.
Comportamiento en producción
Variables de entorno
En producción, gt-next solo leerá las variables de entorno GT_PROJECT_ID y GT_API_KEY.
La clave de API debe ser una clave de API de producción y comenzar con gtx-api-.
Si usas una clave de API de desarrollo, gt-next lanzará un error.
Comportamiento de carga de traducciones
En producción, gt-next intentará cargar las traducciones desde el CDN de traducciones de General Translation, de forma predeterminada.
Si has configurado un comportamiento personalizado de carga de traducciones, como traducciones locales, mediante la función loadTranslations, gt-next usará eso en su lugar.
La recarga en caliente de traducciones está deshabilitada en producción.
La traducción a demanda para contenido dinámico mediante el componente <Tx> o la función tx está habilitada, pero solo en componentes del servidor.
Comportamiento en el desarrollo
Variables de entorno
gt-next acepta las variables de entorno GT_PROJECT_ID y GT_API_KEY.
La clave de API puede ser una clave de producción, que comienza con gtx-api-, o una clave de desarrollo, que comienza con gtx-dev-.
Si se usa una clave de API de producción en un entorno de desarrollo, gt-next se comportará como si estuvieras en producción.
Esto significa que la recarga en caliente de traducciones estará deshabilitada y que los componentes sin traducciones mostrarán el contenido original.
Comportamiento de carga de traducciones
En desarrollo, gt-next intentará primero cargar las traducciones del mismo modo que en producción.
Estas traducciones se cargan en memoria.
Al renderizar un componente (que usa useGT, <T> o useTranslations) en un idioma distinto del predeterminado, gt-next hará lo siguiente:
- Si detecta una traducción válida almacenada para el contenido indicado, renderizará esa traducción.
- Si no se encuentra ninguna traducción, intentará traducir dinámicamente el contenido mediante la General Translation API.
- Tras traducir, se renderizará la traducción y se almacenará en memoria para futuros usos.
- Si la traducción supera el tiempo de espera, recurrirá al contenido de respaldo predeterminado y renderizará el contenido original.
Nuestra API también almacena en caché internamente las traducciones de desarrollo durante un breve período, así que si se solicita de nuevo la misma traducción, se servirá desde la caché.
Estas traducciones están aisladas a nivel de proyecto, por lo que no se mezclarán con traducciones de otros proyectos. Además, la caché es única por sesión de desarrollo, por lo que las traducciones en caché no se usarán en producción.
gt-next detectará cambios en los componentes que usan useGT, <T> o useTranslations y traducirá dinámicamente el contenido modificado mediante nuestra API.
Claves de API de producción vs. desarrollo
Para distinguir el comportamiento de gt-next en producción y en desarrollo, manejamos los conceptos de “Claves de API de producción” y “Claves de API de desarrollo”.
Claves de API de producción
Las claves de API de producción son claves de API que comienzan con gtx-api-.
Cuando se proporciona una clave de API de producción, gt-next se comportará como se describe en la sección Comportamiento en producción.
Esto significa que, si estás ejecutando tu aplicación de Next.js en modo de desarrollo y proporcionas una clave de API de producción, gt-next se comportará como si estuvieras en producción.
La recarga en caliente de traducciones se desactivará y los componentes sin traducciones mostrarán el contenido original.
Fuera de este comportamiento, gt-next no utilizará la clave de API de producción de ninguna otra manera.
La herramienta CLI lee la variable de entorno GT_API_KEY y solo acepta claves de API de producción.
La herramienta CLI aplicará facturación y limitación de solicitudes usando la categoría “production”.
Claves de API de desarrollo
Las claves de API de desarrollo son claves de API que comienzan con gtx-dev-.
Cuando se proporciona una clave de API de desarrollo, gt-next se comportará como se describe en la sección Comportamiento de desarrollo.
Al usar una clave de API de desarrollo, la facturación y los límites de tasa se aplicarán bajo la categoría “development”.
Las traducciones creadas con una clave de API de desarrollo no se almacenarán y no estarán disponibles para usarse en producción.
El propósito de las traducciones de desarrollo es permitirte probar tu aplicación antes de lanzarla a producción.
¿Qué te parece esta guía?