# General Translation React SDKs (gt-react, gt-next): Eseguire il linting del codice URL: https://generaltranslation.com/it/docs/react/guides/linting-your-code.mdx --- title: Eseguire il linting del codice description: Come intercettare i comuni errori di internazionalizzazione con il plugin ESLint di General Translation in React, Next.js, TanStack Start e 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 --- Il plugin ESLint di General Translation, `@generaltranslation/react-core-linter`, intercetta i comuni errori di integrazione — contenuto dinamico all'interno di [``](/docs/react/reference/components/t), stringhe non statiche nelle funzioni di traduzione e attributi non supportati — e può correggerne automaticamente molti. Funziona con `gt-react`, `gt-next` e `gt-react-native`. *Nota: il plugin è ancora in versione pre-1.0 (`0.1.x`) e le sue regole potrebbero cambiare.* ## Installa il plugin [#install] Aggiungi il plugin come dipendenza di sviluppo. ```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] Aggiungi la configurazione `recommended` del plugin alla configurazione flat di ESLint. Attiva tutte le regole come errori. ```js title="eslint.config.js" import gtLint from '@generaltranslation/react-core-linter'; export default [ gtLint.configs.recommended, ]; ``` Usa la configurazione `recommended` insieme a `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.*']), ]); ``` Le regole rilevano i componenti e le funzioni di traduzione in base alla loro sorgente di importazione. `gt-tanstack-start` non è incluso nell'elenco predefinito, quindi aggiungilo con l'opzione `libs` in ogni regola. ```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, ]; ``` Esegui ESLint come di consueto; aggiungi `--fix` per applicare le correzioni automatiche. ```bash npx eslint . --fix ``` ## Cosa rilevano le regole [#rules] La configurazione `recommended` attiva tre regole, tutte trattate come errori: * **`static-jsx`** — segnala il contenuto dinamico all'interno di `` e richiede che venga racchiuso in un componente variabile ([``](/docs/react/reference/components/var), [``](/docs/react/reference/components/num), [``](/docs/react/reference/components/currency) o [``](/docs/react/reference/components/datetime)). Correggibile automaticamente. * **`static-string`** — richiede che le funzioni di traduzione ([`useGT`](/docs/react/reference/hooks/use-gt), [`getGT`](/docs/node/reference/functions/get-gt), [`msg`](/docs/react/reference/functions/msg)) ricevano stringhe letterali statiche e sposta i valori dinamici nell'interpolazione ICU, ad esempio `gt('Hello, {name}!', { name })`. Correggibile automaticamente. * **`no-data-attrs-on-branch`** — segnala gli attributi `data-*` su [``](/docs/react/reference/components/branch), che il componente ignora. Consulta il [riferimento delle regole lint](/docs/react/reference/lint-rules) per le opzioni e gli esempi di ciascuna regola. ## Next steps - /docs/react/guides/translating-jsx - /docs/react/guides/translating-strings - /docs/react/guides/formatting-variables - /docs/react/guides/handling-plurals-and-branches