Agent skill

I18n

by MatrixAges in MatrixAges/polywise

Guides internationalization (i18n) implementation using i18next with TypeScript.

MITAuto-check passedFrontend & Design

Install I18n

skills CLI
$ npx skills add MatrixAges/polywise --skill i18n -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MatrixAges/polywise i18n --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MatrixAges/polywise.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/i18n .claude/skills/i18n && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
i18n
GitHub stars
662
Token cost
~898 tokens
SKILL.md length
223 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Guides internationalization (i18n) implementation using i18next with TypeScript.

  • Works in 4 steps: Architecture Overview → Translation File Structure → Steps for Adding New Translations → …
  • Tasks that involve Internationalization
  • SKILL.md covers 1. Architecture Overview, 2. Translation File Structure, 3. Steps for Adding New… and 4. Constraints and Best…
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

I18n is an agent skill from MatrixAges/polywise. Guides internationalization (i18n) implementation using i18next with TypeScript. Triggered when handling localization, translation files, or multilingual support.

Its SKILL.md is about 900 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Internationalization and Translation. It works with TypeScript. The repository describes itself as: The open source agentic content system to make your contents alive. Self-hosted on any platform. ◑. The licence is MIT.

When your agent uses it

  • Tasks that involve Internationalization
  • Tasks that involve Translation

Example prompts

  • “Use the i18n skill to guide internationalization (i18n) implementation using i18next with TypeScript”
  • “/i18n”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Architecture Overview
  2. Translation File Structure
  3. Steps for Adding New Translations
  4. Constraints and Best Practices

What it can do on your machine

Read from SKILL.md and the folder at commit f8d2320. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

I18n loads about 898 tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 223 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~898

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from MatrixAges/polywise at commit f8d2320, republished under its MIT licence (© MatrixAges). 223 words, ~898 tokens.

Download SKILL.mdSave it as .claude/skills/i18n/SKILL.md (or your agent's skills folder).
name
i18n
description
Guides internationalization (i18n) implementation using i18next with TypeScript. Triggered when handling localization, translation files, or multilingual support.

i18n Internationalization Guide

This skill provides mandatory specifications for implementing internationalization using i18next in this project.

1. Architecture Overview

The project adopts a modular i18n structure:

  • i18next: Core internationalization library.
  • TypeScript: Provides complete type safety protection for translation keys.
  • Modular Structure: Translation copy is organized by functionality/module.
  • Dual-end Support: Simultaneously supports app (renderer process) and desktop (main process).

2. Translation File Structure

2.1 Basic Translation Module
typescript
// packages/app/locales/en/global.ts
export default {
	notice: 'Notice',
	edit: 'Edit',
	add: 'Add',
	save: 'Save',
	remove: 'Remove',
	remove_confirm:
		'Confirm removal? Deleting this item will also delete the corresponding local file. Please proceed with caution!'
}
2.2 Namespace Module
typescript
// packages/app/locales/en/app.ts
export default {
	module: {
		chat: 'Chat',
		research: 'Research',
		agent: 'Agent'
	},
	workspace: {
		title: 'Workspace',
		name_placeholder: 'A unique name'
	}
}
2.3 Regional Language Entry Point
typescript
// packages/app/locales/en/index.ts
import ai from './ai'
import app from './app'
import global from './global'

export default {
	translation: {
		...global,
		app,
		ai
	}
} as const // ✅ Must use as const to ensure TypeScript type inference

3. Steps for Adding New Translations

3.1 Adding New Module Translation
typescript
// Step 2: Add to entry index
// packages/app/locales/en/index.ts
import newFeature from './newFeature'

// Step 1: Create new translation file (English and Chinese must be created simultaneously)
// packages/app/locales/en/newFeature.ts
export default {
	title: 'New Feature',
	description: 'This is a new feature description'
}

// packages/app/locales/zh-cn/newFeature.ts
export default {
	title: '新功能',
	description: '这是新功能描述'
}

export default {
	translation: {
		// ... others
		newFeature // Register new module
	}
} as const

4. Constraints and Best Practices

4.1 Naming Conventions
  • Keys: Translation keys must use snake_case.
  • Structure: Organize key names hierarchically by functionality or component.
  • Consistency: Must maintain completely consistent key name structure across all language files.
4.2 Code Style Requirements
  • No Comments: Do not add any comments to translation files.
  • Default Export: Always use export default to export translation objects.
  • Type Safety: In regional language index exports, always use as const.
  • Flat Structure: Keep translation objects as flat as possible (nesting should not exceed 3 levels).
4.3 Dynamic Content and Interpolation
typescript
// In translation file
export default {
	welcome_message: 'Welcome, ${name}!',
	item_count: 'You have ${count} items'
}

// In component
const { t } = useTranslation()
t('welcome_message', { name: 'John' })
4.4 Quality Guidelines
  • Translation Completeness: In all supported language files, all keys must have corresponding translations.
  • Context: When words are ambiguous, accurate translations must be provided based on context.
  • Avoid Hardcoding: In React components, never hardcode visible Chinese or English characters; they must be extracted to locale files.

© MatrixAges, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .opencode/skills/i18n of MatrixAges/polywise.

Open the folder on GitHubat commit f8d2320

Compare with similar skills

I18n next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

I18n compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
I18n this skillMatrixAges/polywise662—~898Automated safety check: PassMIT
I18nerupts/erupt-web116—~706Automated safety check: PassApache-2.0
Update TranslationsRaicuparta/rai-pal732—~839Automated safety check: PassGPL-3.0
Chatbox i18n Translatorchatboxai/chatbox42k—~508Automated safety check: PassGPL-3.0
Internationalization Workflow with i18niOfficeAI/AionUi33k1 repos~1.9kAutomated safety check: PassApache-2.0
Enforce Rules For I18nmoeru-ai/airi50k—~1.5kAutomated safety check: PassMIT

Similar skills

  • I18n

    erupts/erupt-web

    i18n — add multilingual translations. An agent skill from erupts/erupt-web.

    116 GitHub stars~706 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Update Translations

    Raicuparta/rai-pal

    A skill your agent uses when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project.

    732 GitHub stars~839 tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Chatbox i18n Translator

    chatboxai/chatbox

    Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.

    42k GitHub stars~508 tokensUpdated 14 days ago
    Frontend & DesignAuto-check passed
  • Standards for keeping all user-facing text translatable: read the i18n config first, use namespaced keys, reuse shared strings and follow the key naming rules.

    33k GitHub starsUsed in 1 repo~1.9k tokens
    Frontend & DesignAuto-check passed
  • Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.

    50k GitHub stars~1.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Claude Desktop Chinese Localization

    javaht/claude-desktop-zh-cn

    Adds missing Simplified and Traditional Chinese translations to the Claude Desktop Chinese patch across three layers, then checks how many mappings actually hit.

    7.5k GitHub stars~1.6k tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed

More from MatrixAges/polywise

All 11 skills in this repo
  • Chrome Cdp

    MatrixAges/polywise

    Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

    662 GitHub stars~800 tokensUpdated 3 mo ago
    Auto-check passed
  • Skill Generator

    MatrixAges/polywise

    Called when users need to create new OpenCode skills. An agent skill from MatrixAges/polywise.

    662 GitHub stars~333 tokensUpdated 3 mo ago
    Auto-check passed
  • Agentmap Generator

    MatrixAges/polywise

    Guides the generation, reading, and updating of agentmap.md files.

    662 GitHub stars~489 tokensUpdated 3 mo ago
    Auto-check passed
  • CSS

    MatrixAges/polywise

    Guides styling implementation using TailwindCSS + CSS Modules.

    662 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Erpc Communication

    MatrixAges/polywise

    Guides using eRPC (electron-tRPC) for inter-process communication (IPC) between Electron main and renderer processes.

    662 GitHub stars~618 tokensUpdated 3 mo ago
    Auto-check passed
  • Mobx

    MatrixAges/polywise

    Guides state management implementation using MobX + tsyringe.

    662 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about I18n

What does I18n do?

Guides internationalization (i18n) implementation using i18next with TypeScript. I18n is an agent skill from MatrixAges/polywise. Guides internationalization (i18n) implementation using i18next with TypeScript.

When should I use I18n?

I18n fits situations like: tasks that involve Internationalization; tasks that involve Translation.

How do I install I18n in Claude Code?

Run `npx skills add MatrixAges/polywise --skill i18n -a claude-code`. Or copy the skill folder (.opencode/skills/i18n in MatrixAges/polywise) into .claude/skills/i18n in your project. Claude Code loads it when a task matches its description.

How do I install I18n in Codex?

Run `npx skills add MatrixAges/polywise --skill i18n -a codex`. Or copy the skill folder (.opencode/skills/i18n in MatrixAges/polywise) into .agents/skills/i18n in your project. Codex loads it when a task matches its description.

Can I use I18n in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MatrixAges/polywise --skill i18n -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/i18n, .gemini/skills/i18n, .github/skills/i18n and .opencode/skills/i18n in your project.

What does I18n need to run?

SKILL.md names no scripts, command-line tools or credentials: I18n is instructions for the agent only.

Does I18n access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is I18n safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does I18n use?

I18n is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does I18n use?

About 898 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to I18n?

Skills that share tags, products or a category with I18n: I18n (erupts/erupt-web, 116 stars), Update Translations (Raicuparta/rai-pal, 732 stars), Chatbox i18n Translator (chatboxai/chatbox, 42k stars) and Internationalization Workflow with i18n (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains I18n?

MatrixAges (a GitHub organization) maintains it in MatrixAges/polywise, which has 662 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on June 11, 2026.

Source: MatrixAges/polywise on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.