Configuración
Documentación de configuración para el archivo gt.config.json
Descripción general
El archivo gt.config.json
se utiliza para configurar los ajustes de GT de tu proyecto. Debe colocarse en la raíz de tu proyecto.
El comando CLI npx gtx-cli init
creará un archivo gt.config.json
para ti en tu proyecto.
Configuración
El archivo gt.config.json
contiene los siguientes ajustes:
-
defaultLocale
: El idioma predeterminado para tu proyecto. Este es el idioma en el que está escrito tu contenido original. También es el idioma de respaldo para tu proyecto (si usasgt-next
ogt-react
). -
locales
: Un array de idiomas para tu proyecto. Estos son los idiomas a los que quieres traducir tu proyecto. Consulta los idiomas soportados para más información. Si estás usandogt-next
ogt-react
, estos son también los idiomas que tu aplicación soporta. -
files
: Este es un objeto que contiene información sobre el contenido que quieres traducir.
Aquí hay un esqueleto del archivo gt.config.json
:
Configuración de ejemplo
Analicemos un archivo gt.config.json
de ejemplo:
En este ejemplo, estamos traduciendo los siguientes archivos con una sola llamada a gtx-cli translate
:
- Todos los archivos MDX en el directorio
content/docs/en
. - Todos los archivos JSON en el directorio
resources/en
(excluyendo cualquier archivo en el directorioresources/en/exclude
). - Todos los componentes en línea
<T>
en tu proyecto de React o Next.js. - Tu archivo
dictionary.[json|js|ts]
.
GT: Las traducciones se guardarán en public/i18n/es.json
y public/i18n/fr.json
. Estos archivos pueden cargarse usando loadTranslations()
.
MDX: Las traducciones se guardarán en los directorios content/docs/fr
y content/docs/es
.
Las extensiones de archivo se cambiarán a .fr.mdx
y .es.mdx
respectivamente (desde .mdx
).
JSON: Las traducciones se guardarán en los directorios resources/fr
y resources/es
.
Tipos de archivos compatibles
files
debe contener una clave para cada tipo de archivo que deseas traducir.
Puedes configurar tu proyecto para mezclar y combinar diferentes tipos de archivos, y hacer que todos sean traducidos.
Actualmente admitimos los siguientes tipos de archivos:
gt
: Archivos de Traducción General.json
: Archivos JSON.mdx
: Archivos de componentes Markdown (MDX).md
: Archivos Markdown (MD).
Cada tipo de archivo debe corresponder a un objeto que contiene una o más de las siguientes claves:
include
exclude
transform
output
include
Si se utiliza, el valor de la clave include
debe ser un array de patrones glob que coincidan con los archivos que deseas traducir.
Debes usar el marcador de posición [locale]
en tus patrones glob para asegurar que se utilice el idioma correcto.
La herramienta CLI reemplazará el marcador de posición [locale]
con el valor de defaultLocale
al buscar archivos traducibles.
La herramienta CLI guardará los archivos traducidos en la ruta correspondiente, con el marcador de posición [locale]
reemplazado por el código del idioma.
exclude
Si se utiliza, el valor de la clave exclude
debe ser un array de patrones glob que coincidan con los archivos que deseas excluir de la traducción.
El patrón es el mismo que el patrón de include
.
transform
Si se utiliza, el valor de la clave transform
debe ser una cadena que defina una reasignación del nombre del archivo. Debe contener un comodín *
que será reemplazado por el nombre original del archivo (cualquier cosa antes del primer .
).
Por ejemplo, si deseas que la extensión de todos tus archivos traducidos tenga .[locale].json
en lugar de .json
, puedes usar la siguiente configuración:
Esto es útil si tu framework de documentación o i18n requiere una extensión de archivo específica para los archivos traducidos en lugar de un enrutamiento basado en subdirectorios por idioma.
output
Esta clave se utiliza exclusivamente para archivos de Traducción General, específicamente para guardar traducciones localmente. Si estás utilizando el CDN de GT, esta clave no es necesaria.
El valor debe ser una cadena que contenga un marcador de posición [locale]
que indique la ubicación donde se guardarán las traducciones.
Por ejemplo, si deseas guardar tus traducciones al español en un archivo llamado ui.es.json
en el directorio public/i18n
, deberías usar la siguiente cadena:
Esta opción solo debe usarse si estás utilizando gt-next
o gt-react
, y quieres guardar las traducciones localmente, en lugar de usar el CDN de GT.
Actualmente, solo se puede generar un archivo para cada idioma.
Tipo de archivo: gt
Claves admitidas
output
(Obligatorio)
Ejemplo
Esta configuración hará que la herramienta CLI guarde tus traducciones en francés y español en el directorio public/i18n/[locale].json
.
Por defecto, la herramienta CLI no publicará tus traducciones en el CDN de GT con esta configuración.
Tipo de archivo: json
Claves admitidas
include
(Obligatorio)exclude
(Opcional)transform
(Opcional)
Ejemplo
Supongamos que el idioma predeterminado de tu proyecto es en
, y quieres traducir tu proyecto a fr
y es
.
Con esta configuración, la CLI buscará todos los archivos JSON en el subdirectorio json_files/en/
y guardará los archivos traducidos en json_files/fr/
y json_files/es/
.
Ignorará cualquier archivo en el subdirectorio json_files/en/exclude/
.
Tipo de archivo: mdx
Claves admitidas
include
(Obligatorio)exclude
(Opcional)transform
(Opcional)
Ejemplo
Esta configuración le indicará a la herramienta CLI que busque todos los archivos MDX en el directorio content/docs/en
y guarde los archivos traducidos en el directorio content/docs/ja
.
La clave transform
hace que la extensión de los archivos traducidos se cambie a .ja.mdx
.
Tipo de archivo: md
Claves admitidas
include
(Obligatorio)exclude
(Opcional)transform
(Opcional)
Ejemplo
Esta configuración le indicará a la herramienta CLI que busque todos los archivos MD en el directorio content/docs/en
y guarde los archivos traducidos en el directorio content/docs/ja
.
La clave transform
hace que la extensión de los archivos traducidos se cambie a .ja.md
.
Todos los archivos en el directorio content/docs/en/exclude
serán ignorados.
Siguientes pasos
Aprende cómo usar el comando init para generar este archivo de configuración.