i18n-setup

Scaffold i18n library configuration, locale files, and translation workflows for web applications.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill i18n-setup-rubrical-works
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: i18n-setup
Source: https://github.com/rubrical-works/idpf-praxis-skills/tree/main/Skills/i18n-setup
Command: npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill i18n-setup-rubrical-works

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up internationalization from scratch involves many decisions: which library to use, how to structure locale files, how to extract strings, and how to wire up a translation platform. This Skill scaffolds that entire infrastructure with consistent, config-driven defaults. ## Core Features & Use Cases - i18n Library Configuration: Set up i18next, react-intl, or FormatJS with language detection, fallback locale chains, and namespace organization. - String Extraction Tooling: Extract message IDs from source code, detect hardcoded strings, and enforce key naming conventions. - Locale File Scaffolding: Generate locales/{locale}/{namespace}.json directory structures with default common and errors namespaces. - Translation Workflow Setup: Configure Crowdin or Lokalise projects with CI integration for translation file sync. - Use Case: You are starting a new React app that must ship in English and French. Invoke this Skill to install react-i18next, scaffold the locale directory structure, and configure a Crowdin GitHub Action for ongoing translation sync. ## Quick Start Set up internationalization for my React project using i18next with English and French locales and a Crowdin translation workflow.

Frequently Asked Questions about i18n-setup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up i18n for a new React project?▼

Invoke the skill to install i18next with react-i18next (or react-intl/FormatJS), configure language detection and fallback locales, and scaffold a locales directory with default common and errors namespaces. The setup is driven by a JSON config re-read at every invocation.

i18next vs react-intl vs FormatJS: which should I use?▼

All three are supported by this skill's config. i18next uses react-i18next bindings with browser language detection plugins; react-intl is the legacy name for FormatJS's React bindings; FormatJS also provides a CLI for message extraction. Choose based on your framework template and extraction needs.

How do I extract translatable strings from source code?▼

The skill configures extraction tooling such as i18next-scanner for i18next projects or the FormatJS CLI command `formatjs extract 'src/**/*.{js,ts,tsx}' --out-file lang/en.json`. It also detects hardcoded strings and enforces key naming conventions.

Does this work with Crowdin or Lokalise translation platforms?▼

Yes. The config records Crowdin's crowdin.yml convention with the crowdin/github-action@v1 CI pin, and Lokalise's .lokalise.yml convention with its CLI install script. New platforms can be added by editing the JSON config.

What locale file structure does the skill create?▼

It scaffolds `locales/{locale}/{namespace}.json` following the pattern used by i18next, react-intl, and most CI integrations. JSON is the default format with YAML supported, and common and errors are the default namespaces.