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:

  1. Si detecta una traducción válida y almacenada para el contenido dado, mostrará la traducción.
  2. Si no se encuentra una traducción, intentará traducir dinámicamente el contenido a través de la General Translation API.
  3. Después de traducir, la traducción se mostrará y se almacenará en memoria para uso futuro.
  4. 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?