# General Translation React SDKs (gt-react, gt-next): Linting de tu código URL: https://generaltranslation.com/es/docs/react/guides/linting-your-code.mdx --- title: Linting de tu código description: Cómo detectar errores comunes de internacionalización con el plugin ESLint de General Translation en React, Next.js, TanStack Start y React Native. related: links: - /docs/react/guides/translating-jsx - /docs/react/guides/translating-strings - /docs/react/guides/formatting-variables - /docs/react/guides/handling-plurals-and-branches --- El plugin ESLint de General Translation, `@generaltranslation/react-core-linter`, detecta errores comunes de integración — contenido dinámico dentro de [``](/docs/react/reference/components/t), cadenas no estáticas en funciones de traducción y atributos no admitidos — y puede corregir automáticamente muchos de ellos. Funciona con `gt-react`, `gt-next` y `gt-react-native`. *Nota: El plugin aún no llega a la versión 1.0 (`0.1.x`) y sus reglas pueden cambiar.* ## Instala el plugin [#install] Añade el plugin como dependencia de desarrollo. ```bash npm install --save-dev @generaltranslation/react-core-linter ``` ```bash yarn add --dev @generaltranslation/react-core-linter ``` ```bash bun add --dev @generaltranslation/react-core-linter ``` ```bash pnpm add --save-dev @generaltranslation/react-core-linter ``` ## Configura ESLint [#configure] Agrega la configuración `recommended` del plugin a tu configuración flat de ESLint. Habilita todas las reglas como errores. ```js title="eslint.config.js" import gtLint from '@generaltranslation/react-core-linter'; export default [ gtLint.configs.recommended, ]; ``` Combina la configuración recomendada con `eslint-config-next`. ```js title="eslint.config.mjs" import { defineConfig, globalIgnores } from 'eslint/config'; import nextVitals from 'eslint-config-next/core-web-vitals'; import nextTs from 'eslint-config-next/typescript'; import gtLint from '@generaltranslation/react-core-linter'; export default defineConfig([ ...nextVitals, ...nextTs, gtLint.configs.recommended, globalIgnores(['.next/**', 'out/**', 'build/**', 'next-env.d.ts', 'eslint.config.*']), ]); ``` Las reglas detectan los componentes y las funciones de traducción por su origen de importación. `gt-tanstack-start` no está en la lista predeterminada, así que agrégalo con la opción `libs` en cada regla. ```js title="eslint.config.js" import gtLint from '@generaltranslation/react-core-linter'; const libs = ['gt-tanstack-start']; export default [ { plugins: { '@generaltranslation/react-core-linter': gtLint }, rules: { '@generaltranslation/react-core-linter/static-jsx': ['error', { libs }], '@generaltranslation/react-core-linter/static-string': ['error', { libs }], '@generaltranslation/react-core-linter/no-data-attrs-on-branch': ['error', { libs }], }, }, ]; ``` ```js title="eslint.config.js" import gtLint from '@generaltranslation/react-core-linter'; export default [ gtLint.configs.recommended, ]; ``` Ejecuta ESLint como de costumbre; agrega `--fix` para aplicar las correcciones automáticas. ```bash npx eslint . --fix ``` ## Qué detectan las reglas [#rules] La configuración `recommended` activa tres reglas, todas tratadas como errores: * **`static-jsx`** — marca el contenido dinámico dentro de `` y exige que esté envuelto en un componente de variable ([``](/docs/react/reference/components/var), [``](/docs/react/reference/components/num), [``](/docs/react/reference/components/currency) o [``](/docs/react/reference/components/datetime)). Se puede corregir automáticamente. * **`static-string`** — exige que las funciones de traducción ([`useGT`](/docs/react/reference/hooks/use-gt), [`getGT`](/docs/node/reference/functions/get-gt), [`msg`](/docs/react/reference/functions/msg)) reciban cadenas literales estáticas y dirige los valores dinámicos a la interpolación de ICU, como en `gt('Hello, {name}!', { name })`. Se puede corregir automáticamente. * **`no-data-attrs-on-branch`** — marca los atributos `data-*` en [``](/docs/react/reference/components/branch), que el componente ignora. Consulta la [referencia de reglas de lint](/docs/react/reference/lint-rules) para ver las opciones y los ejemplos de cada regla. ## Next steps - /docs/react/guides/translating-jsx - /docs/react/guides/translating-strings - /docs/react/guides/formatting-variables - /docs/react/guides/handling-plurals-and-branches