Skip to content
Development
Agent

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
2310 skills10 agents14 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

Other agents on gaia-react-gaia.