install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/i18next" ~/.claude/skills/comeonoliver-skillshub-i18next && rm -rf "$T"
manifest:
skills/TerminalSkills/skills/i18next/SKILL.mdsource content
i18next
Overview
i18next is the most popular JS i18n framework. Works with React, Vue, Angular, Node.js. Features: namespace splitting, lazy loading, plurals, interpolation, context, and backend plugins for remote translations.
Instructions
Step 1: React Setup
import i18n from 'i18next' import { initReactI18next } from 'react-i18next' import HttpBackend from 'i18next-http-backend' import LanguageDetector from 'i18next-browser-languagedetector' i18n.use(HttpBackend).use(LanguageDetector).use(initReactI18next).init({ fallbackLng: 'en', supportedLngs: ['en', 'de', 'fr', 'ja'], ns: ['common', 'dashboard'], defaultNS: 'common', backend: { loadPath: '/locales/{{lng}}/{{ns}}.json' }, })
Step 2: Usage
import { useTranslation, Trans } from 'react-i18next' function Dashboard() { const { t } = useTranslation('dashboard') return ( <div> <h1>{t('welcome', { name: 'Alice' })}</h1> <p>{t('projects', { count: 5 })}</p> <Trans i18nKey="terms">Agree to <a href="/terms">Terms</a>.</Trans> </div> ) }
{ "welcome": "Welcome back, {{name}}!", "projects_one": "You have {{count}} project", "projects_other": "You have {{count}} projects" }
Guidelines
- Split translations into namespaces by feature — don't load everything.
- Use
/_one
suffixes for plurals._other
for translations with embedded JSX.<Trans>- Language detection: browser → URL → cookie → localStorage.
- For SSR: pass language from server to avoid hydration mismatch.