Skip to content

react-i18next

- Single `useTranslation()` call per component, flag multiple `useTranslation` calls in the same component - Namespace override via `{ns: 'other'}` as the second arg to `t()`, not separate `useTranslation` calls - Most-used namespace should be the one declared in

From plugin
gaia-react-gaia
2110 skills10 agents13 commands
Install
$ npx -y skills add gaia-react/gaia --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

- Single `useTranslation()` call per component, flag multiple `useTranslation` calls in the same component - Namespace override via `{ns: 'other'}` as the second arg to `t()`, not separate `useTranslation` calls - Most-used namespace should be the one declared in

Agent definition

react-i18next.md
subagents: [translation]
library: react-i18next

react-i18next Audit Rules

  • Single `useTranslation()` call per component, flag multiple `useTranslation` calls in the same component
  • Namespace override via `{ns: 'other'}` as the second arg to `t()`, not separate `useTranslation` calls
  • Most-used namespace should be the one declared in `useTranslation()`. If more `t()` calls override than use the declared namespace, flag it.
  • Use `keyPrefix` for nested keys to avoid repetition: `{keyPrefix: 'index'}` + `t('title')` instead of `t('index.title')`. Remove `keyPrefix` when namespace overrides are needed in the same component, `keyPrefix` is applied before the namespace switch, producing wrong keys.
  • Namespace convention: `'common'` for shared UI strings, `'pages'` for page-specific content, `'errors'` for error messages
  • String deduplication: check `app/languages/en/common.ts` first, shared keys (Save, Cancel, Delete, Close, email, password) belong in the `common` namespace. Flag new keys that duplicate existing strings.
  • New keys must be added to ALL language files under `app/languages/` (English plus every locale directory present)
  • Dynamic keys: interpolated values must be literal union types, not `string`. Flag `as` casts on template literals passed to `t()`
Ships withgaia-react-gaia

Claude is raw power. GAIA is order and focus. The foundation that keeps Claude-shipped code production-grade as your team scales. The React frontend is handled. You build the rest of your app on top. Every convention enforced in code.

Get the whole plugin, auto-invoked

Other agents on gaia-react-gaia.