Skip to content
Back to skills

I18next

ASecurity

Internationalize JavaScript apps with i18next. Use when adding translations, handling plurals, loading locale files dynamically, or i18n for React/Vue/Node.

  • 142 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 29, 2026
developmentjavascripttypescriptgojavareactvueangularnodebackend

Works with

  • terminal

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add TerminalSkills/skills --skill i18next --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of I18next?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for I18next
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/terminalskills-i18next/badge)](https://www.skillsdirectory.com/skills/terminalskills-i18next)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: i18next
description: >-
  Internationalize JavaScript apps with i18next. Use when adding translations,
  handling plurals, loading locale files dynamically, or i18n for React/Vue/Node.
license: Apache-2.0
compatibility: 'React, Vue, Node.js, vanilla JS'
metadata:
  author: terminal-skills
  version: 1.0.0
  category: development
  tags: [i18next, i18n, localization, translations, react-i18next]
---

# 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

```typescript
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

```tsx
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>
  )
}
```

```json
{
  "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`/`_other` suffixes for plurals.
- `<Trans>` for translations with embedded JSX.
- Language detection: browser → URL → cookie → localStorage.
- For SSR: pass language from server to avoid hydration mismatch.

Files in this skill

  • SKILL.md1.9 KB
  • _scores.json1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.