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 del CDN 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 porque se trata de producción.
La traducción a demanda para contenido dinámico con el componente <Tx> o la función tx está habilitada, pero solo en componentes del servidor.
Comportamiento en desarrollo
Variables de entorno
gt-next acepta las variables de entorno GT_PROJECT_ID y GT_API_KEY.
La clave de API puede ser de producción, comenzando con gtx-api-, o de desarrollo, comenzando con gtx-dev-.
Si se proporciona 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 se deshabilitará y 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 y almacenada para el contenido dado, renderizará esa traducción.
- Si no se encuentra ninguna traducción, intentará traducir dinámicamente el contenido mediante la General Translation API.
- Tras traducir, la traducción se renderizará y se almacenará en memoria para usos futuros.
- Si la traducción se agota por tiempo de espera, usará el contenido de respaldo predeterminado y renderizará el contenido original.
Nuestra API también almacena en caché internamente las traducciones en desarrollo durante un breve período, de modo 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 exclusiva de las sesiones de desarrollo, por lo que las traducciones en caché no se usarán en producción.
gt-next detectará cambios en los componentes que usen useGT, <T> o useTranslations y traducirá dinámicamente el contenido modificado a través de nuestra API.
Claves de API de producción vs. desarrollo
Para diferenciar el comportamiento de gt-next en producción y en desarrollo, utilizamos 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 ejecutas tu aplicación de Next.js en modo desarrollo y proporcionas una clave de API de producción, gt-next se comportará como si estuviera en producción. La recarga en caliente de las traducciones se deshabilitará y los componentes sin traducción 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 tasas 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 en desarrollo.
Al usar una clave de API de desarrollo, la facturación y la limitación de solicitudes 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 su uso en producción.
El objetivo de las traducciones de desarrollo es permitirte probar tu aplicación antes de lanzarla a producción.
¿Qué te ha parecido esta guía?

