withGTConfig()
Referencia de API para withGTConfig(), anteriormente initGT()
Resumen
withGTConfig()
es la forma principal de configurar la biblioteca gt-next
.
Envuelve directamente un objeto NextConfig
.
Legado
initGT()
es la forma heredada de configurar la biblioteca gt-next
. Devuelve una función de devolución de llamada que luego se llama en el objeto NextConfig
.
Los props para ambas funciones son los mismos, con la excepción de que withGTProps
requiere que también se pase NextConfig
.
No es necesario usar withGTConfig()
para habilitar la funcionalidad de traducción, pero se recomienda configurar la biblioteca para adaptarse a tus necesidades.
Usa withGTConfig()
para:
- Configurar los idiomas soportados y la configuración regional predeterminada (también conocido como idioma de respaldo).
- Establecer claves de API e IDs de proyecto para acceder a los servicios de GT.
- Establecer el comportamiento de carga.
- Configurar la configuración de tiempo de espera.
- Configurar puntos finales personalizados.
- Personalizar el comportamiento de traducción, almacenamiento en caché y agrupación de solicitudes.
withGTConfig()
debe usarse en tu archivo next.config.js
para habilitar la funcionalidad de traducción.
Referencia
Props Requeridos
Prop | Type | Default |
---|---|---|
nextConfig? | NextConfig | - |
Props Recomendados
Prop | Type | Default |
---|---|---|
defaultLocale?? | string | locales[0] || 'en' |
locales?? | string[] | undefined |
description?? | string | undefined |
Prop | Descripción |
---|---|
defaultLocale | Localización predeterminada para la aplicación. El inglés será el idioma de respaldo cuando no se especifique ninguno. |
locales | Una lista exclusiva de localizaciones soportadas para la aplicación. Si se recibe una solicitud no soportada, se redirigirá al siguiente idioma preferido del navegador en la lista. Se usará defaultLocale si no se encuentran coincidencias. |
description | Una descripción en lenguaje natural del sitio, utilizada para ayudar en la traducción. |
Props Avanzados
Prop | Type | Default |
---|---|---|
projectId?? | string | - |
apiKey?? | string | - |
devApiKey?? | string | - |
preferredModelProvider?? | "anthropic" | "openai" | - |
runtimeUrl?? | string | - |
cacheUrl?? | string | - |
cacheExpiryTime?? | number | 60000 |
renderSettings?? | RenderSettings | - |
maxConcurrentRequests?? | number | 100 |
batchInterval?? | number | 50 |
maxBatchSize?? | number | 25 |
i18n?? | string | - |
dictionary?? | string | - |
Prop | Descripción |
---|---|
projectId | ID del proyecto, que puede incluirse aquí o como una variable de entorno. |
apiKey | Aunque no se recomienda, una clave API, que puede incluirse aquí. También puede incluirse como una variable de entorno. |
devApiKey | Aunque no se recomienda, una clave API de desarrollo, que puede incluirse aquí. También puede incluirse como una variable de entorno. |
preferredModelProvider | Su proveedor de modelo de IA preferido. Actualmente solo Anthropic o OpenAI están habilitados. Deje esto en blanco y determinaremos el mejor proveedor en base a cada traducción. En períodos de alto uso o cuando un proveedor está deshabilitado, no podemos garantizar que se utilice su proveedor preferido. |
runtimeUrl | URL base para la API de GT. Para deshabilitar la traducción automática, establezca esto en una cadena vacía. |
cacheUrl | URL donde se almacenan las traducciones en caché. Puede personalizarse para apuntar a un servidor de caché personalizado. |
cacheExpiryTime | Tiempo en milisegundos antes de que las traducciones en caché localmente expiren. |
renderSettings | Un objeto que especifica el comportamiento de carga para las traducciones en tiempo de ejecución. |
maxConcurrentRequests | Número máximo de solicitudes de traducción concurrentes permitidas a la API de GT. |
maxBatchSize | Número máximo de traducciones para agrupar antes de enviar una solicitud. |
batchInterval | Intervalo en milisegundos entre solicitudes de traducción agrupadas. Ayuda a controlar la tasa a la que se envían las solicitudes. |
i18n | Ruta de configuración opcional para funciones personalizadas getLocale() . Si se proporciona como una cadena, se resolverá como una ruta. De lo contrario, se utilizan los valores predeterminados (recomendado). |
dictionary | Ruta de configuración opcional para el diccionario. Similar a i18n , acepta una cadena para especificar una ruta personalizada. Los diccionarios llamados dictionary.js (o .jsx , .ts , .tsx , etc.) y colocados en la raíz o en la carpeta src son compatibles por defecto. |
Devuelve
Una función (NextConfig) => NextConfig
que mejora el objeto de configuración de Next.js con los ajustes de GT especificados.
Excepciones
Lanza un Error
si falta el projectId
y se utilizan URLs predeterminadas, o si se requiere la clave API y falta.
Configuraciones de renderizado
Las configuraciones de renderizado controlan el comportamiento de las traducciones mientras se están cargando. Esto solo se aplica a las traducciones que ocurren en tiempo de ejecución. Si la traducción está en caché, el tiempo de respuesta es demasiado bajo para justificar el comportamiento de carga.
Prop | Type | Default |
---|---|---|
method? | "skeleton" | "replace" | "default" | default |
timout? | number | 8000 |
Prop | Descripción |
---|---|
method | El método utilizado para renderizar la página. Las opciones son skeleton , replace y default . |
timeout | El tiempo en milisegundos antes de que el método se agote. El valor predeterminado es 8000 ms. |
Métodos de renderizado
skeleton
: Renderiza un fragmento.replace
: Renderiza contenido en el idioma predeterminado mientras espera.default
: Para locales con el mismo idioma (es decir,en-US
yen-GB
) se comporta como replace. Para locales con diferentes idiomas (es decir,en-US
yfr
), se comporta como skeleton.
Tiempo de espera
Los tiempos de espera solo se aplican a traducciones en tiempo de ejecución, o traducciones que necesitan realizarse bajo demanda ya que no han sido almacenadas en caché.
Los tiempos de espera se establecen en 8 segundos por defecto. Esta decisión de diseño es para facilitar a los usuarios de vercel que tienen un tiempo de espera predeterminado de 10 segundos para funciones sin servidor en el plan gratuito.
Ejemplos
Locales soportados
Este ejemplo configura gt-next
con inglés (en-US
) como el locale predeterminado.
Soporta exclusivamente traducciones en español (es
) y francés (fr
), y proporciona una descripción para traducción contextual.
El sitio recurrirá al idioma más adecuado si ninguno de los locales coincide.
Buscará idiomas coincidentes (es decir, en-US
y en-GB
), así como los otros idiomas preferidos que el usuario haya configurado en su navegador.
Si todo lo demás falla, entonces recurrirá al idioma predeterminado.
Si deseas soportar todos los idiomas, deja locales
en blanco.
Además, los locales se pueden configurar en el panel de control.
Configuración de renderizado
Este ejemplo configura gt-next
para renderizar un esqueleto mientras espera que se carguen las traducciones.
Si la traducción tarda más de 8 segundos, el método se agotará y renderizará el contenido en el idioma predeterminado.
Notas
withGTConfig()
integra la funcionalidad de traducción de GT en tu aplicación Next.js y debe usarse en el archivo de configuración raíz.- Parámetros como
apiKey
yprojectId
pueden establecerse directamente en la configuración o como variables de entorno. - Parámetros avanzados como
renderSettings
y_batchInterval
permiten un control detallado sobre el comportamiento y rendimiento de la traducción.
Próximos Pasos
- Agrega traducción a tu proceso de CD.
- Lee más sobre configuración de i18n en nuestra guía de referencia.