Producción vs Desarrollo
Diferencias entre los entornos de producción y desarrollo
Descripción general
gt-next
se comporta de manera diferente dependiendo del entorno en el que se esté ejecutando tu aplicación 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 API debe ser una clave API de Producción, que comience con gtx-api-
.
Si estás usando una clave API de Desarrollo, gt-next
generará un error.
Comportamiento de Carga de Traducciones
En producción, gt-next
intentará cargar las traducciones desde el CDN de General Translation, por defecto.
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 ya que se encuentra en producción.
La traducción bajo demanda para contenido dinámico usando el componente <Tx>
o la función tx()
está habilitada, pero solo en componentes del servidor.
Comportamiento de Desarrollo
Variables de Entorno
gt-next
aceptará las variables de entorno GT_PROJECT_ID
y GT_API_KEY
.
La clave de API puede ser una clave de API de Producción, que comienza con gtx-api-
, o una clave de API de Desarrollo, que comienza con gtx-dev-
.
Si se proporciona una clave de API de producción en desarrollo, gt-next
se comportará como si estuvieras en producción.
Esto significa que la recarga en caliente de traducciones estará deshabilitada y los componentes sin traducciones mostrarán el contenido original.
Comportamiento de Carga de Traducciones
En desarrollo, gt-next
primero intentará cargar las traducciones de la misma manera que en producción.
Estas traducciones se cargan en memoria.
Al renderizar un componente (que utiliza useGT()
, <T>
, o useDict()
) en un idioma diferente al predeterminado, gt-next
hará lo siguiente:
- Si detecta una traducción válida y almacenada para el contenido dado, mostrará la traducción.
- Si no se encuentra una traducción, intentará traducir dinámicamente el contenido a través de la General Translation API.
- Después de traducir, la traducción se mostrará y se almacenará en memoria para uso futuro.
- Si la traducción excede el tiempo de espera, se recurrirá al contenido original y se mostrará.
Nuestra API también almacena en caché internamente las traducciones de desarrollo por un corto período de tiempo, por lo que si se solicita la misma traducción nuevamente, 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 para las sesiones de desarrollo, por lo que las traducciones en caché no se utilizarán en producción.
gt-next
detectará cambios en los componentes que usan useGT()
, <T>
, o useDict()
y traducirá dinámicamente el contenido modificado a través de nuestra API.
Claves API de Producción vs Desarrollo
Para ayudar a distinguir entre el comportamiento de producción y desarrollo de gt-next
, tenemos el concepto de "Claves API de Producción" y "Claves API de Desarrollo".
Claves API de Producción
Las claves API de producción son aquellas que comienzan con gtx-api-
.
Cuando se proporciona una clave API de producción, gt-next
se comportará como se describe en la sección Comportamiento de Producción.
Esto significa que si ejecutas tu aplicación Next.js en modo desarrollo y proporcionas una clave API de producción, gt-next
se comportará como si estuvieras en producción.
La recarga en caliente de traducciones estará deshabilitada y los componentes sin traducciones mostrarán el contenido original.
Fuera de este comportamiento, gt-next
no utilizará la clave API de producción de ninguna otra manera.
La herramienta CLI lee la variable de entorno GT_API_KEY
y solo acepta claves API de producción.
La herramienta CLI aplicará facturación y limitación de tasa usando la categoría "producción".
Claves API de Desarrollo
Las claves API de desarrollo son aquellas que comienzan con gtx-dev-
.
Cuando se proporciona una clave API de desarrollo, gt-next
se comportará como se describe en la sección Comportamiento de Desarrollo.
Al usar una clave API de desarrollo, la facturación y la limitación de tasa se aplicarán usando la categoría "desarrollo".
Las traducciones creadas con una clave API de desarrollo no se almacenarán y no estarán disponibles para su uso 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?