internationalization-helper
Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Best use case
internationalization-helper is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "internationalization-helper" skill to help with this workflow task. Context: Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/internationalization-helper/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How internationalization-helper Compares
| Feature / Agent | internationalization-helper | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Internationalization Helper
Helps manage internationalization (i18n) and localization (l10n) in multi-language applications.
## When to Use
- User requests i18n support
- Adding new languages
- Finding untranslated strings
- Managing translation files
- User mentions "translation", "i18n", "l10n", "locale"
## Instructions
### 1. Detect i18n Framework
**JavaScript/React:**
- react-i18next
- react-intl (FormatJS)
- i18next
- LinguiJS
**Vue:**
- vue-i18n
**Python:**
- gettext
- Django i18n
- Flask-Babel
**Ruby/Rails:**
- I18n gem (built-in)
Look for imports, config files, or translation directories.
### 2. Find Hardcoded Strings
Search for untranslated text:
```javascript
// Bad: Hardcoded
<button>Submit</button>
<p>Welcome, {user.name}!</p>
// Good: Translated
<button>{t('common.submit')}</button>
<p>{t('welcome.message', { name: user.name })}</p>
```
**Search patterns:**
- Strings in JSX/template tags
- Alert/error messages
- Form labels and placeholders
- Button text
- Validation messages
Exclude: code comments, console.log, test strings
### 3. Extract to Translation Files
**React-i18next format (JSON):**
```json
{
"common": {
"submit": "Submit",
"cancel": "Cancel"
},
"welcome": {
"message": "Welcome, {{name}}!"
}
}
```
**Gettext format (.po):**
```po
msgid "submit_button"
msgstr "Submit"
msgid "welcome_message"
msgstr "Welcome, %(name)s!"
```
### 4. Organize Translation Keys
**Best practices:**
- Namespace by feature: `users.profile.title`
- Group common strings: `common.buttons.save`
- Describe context, not content: `errors.login.invalid` not `errors.wrong_password`
- Consistent naming convention
### 5. Check Translation Coverage
Compare locale files to find missing translations:
```
en.json: 150 keys
es.json: 142 keys (missing 8)
fr.json: 150 keys ✓
Missing in es.json:
- users.profile.bio
- settings.privacy.title
[...]
```
### 6. Handle Pluralization
Different languages have different plural rules:
```javascript
// react-i18next
t('items', { count: 0 }) // "0 items"
t('items', { count: 1 }) // "1 item"
t('items', { count: 5 }) // "5 items"
// Translation file
{
"items_zero": "{{count}} items",
"items_one": "{{count}} item",
"items_other": "{{count}} items"
}
```
### 7. Date, Time, Number Formatting
Use locale-aware formatting:
```javascript
// Numbers
const price = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(29.99);
// Dates
const date = new Intl.DateTimeFormat('fr-FR').format(new Date());
```
### 8. RTL (Right-to-Left) Support
For Arabic, Hebrew:
- CSS: `direction: rtl;`
- HTML: `<html dir="rtl">`
- Logical properties: `margin-inline-start` instead of `margin-left`
### 9. Generate Translation Template
Create template for new locale:
```bash
# Copy keys from base language, empty values
cp locales/en.json locales/de.json
# Mark for translation
```
### 10. Best Practices
- Keep translations in separate files
- Use keys, not source text as keys
- Provide context to translators
- Test with long strings (German often longer)
- Use ICU MessageFormat for complex strings
- Avoid concatenating translated strings
- Extract all user-facing text
## Supporting Files
- `templates/i18n-config.js`: Configuration examples
- `templates/locale-file.json`: Translation file templateRelated Skills
obsidian-helper
Obsidian 智能笔记助手。当用户提到 obsidian、日记、笔记、知识库、capture、review 时激活。 【激活后必须执行】: 1. 先完整阅读本 SKILL.md 文件 2. 理解 AI 写入三条硬规矩(00_Inbox/AI/、追加式、白名单字段) 3. 按 STEP 0 → STEP 1 → ... 顺序执行 4. 不要跳过任何步骤,不要自作主张 【禁止行为】: - 禁止不读 SKILL.md 就开始工作 - 禁止跳过用户确认步骤 - 禁止在非 00_Inbox/AI/ 位置创建新笔记(除非用户明确指定)
convex-migration-helper
Plans and executes safe Convex schema and data migrations using the widen-migrate-narrow workflow and the @convex-dev/migrations component. Use this skill when a deployment fails schema validation, existing documents need backfilling, fields need adding or removing or changing type, tables need splitting or merging, or a zero-downtime migration strategy is needed. Also use when the user mentions breaking schema changes, multi-deploy rollouts, or data transformations on existing Convex tables.
onboarding-helper
Generate comprehensive onboarding documentation and guides for new developers joining your team o...
npm-helper
NPM and Node.js package management, project configuration, and dependency troubleshooting.
java-maven-helper
Maven build system, dependency management, and Java project configuration assistance.
go-mod-helper
Go module system, dependency management, and project configuration assistance.
docker-helper
Docker Compose generation, optimization, and troubleshooting assistance.
database-migration-helper
Creates database migration files following project conventions for Prisma, Sequelize, Alembic, Knex, TypeORM, and other ORMs. Use when adding tables, modifying schemas, or when user mentions database changes.
commit-helper
Expert conventional commits assistant for the Logseq Template Graph project. Analyzes git changes and generates proper conventional commit messages with correct type, scope, and format. Use when the user needs help writing commits or validating commit messages.
git-commit-helper
Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
azure-quotas
Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: "check quotas", "service limits", "current usage", "request quota increase", "quota exceeded", "validate capacity", "regional availability", "provisioning limits", "vCPU limit", "how many vCPUs available in my subscription".
raindrop-io
Manage Raindrop.io bookmarks with AI assistance. Save and organize bookmarks, search your collection, manage reading lists, and organize research materials. Use when working with bookmarks, web research, reading lists, or when user mentions Raindrop.io.