i18n

Enforce standardized internationalization workflows with flat key naming and locale synchronization.

31.8k|3.2k|Updated Aug 7, 2025
One-click install
npx skills add https://github.com/iOfficeAI/AionUi --skill i18n-iofficeai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: i18n
Source: https://github.com/iOfficeAI/AionUi/tree/main/.claude/skills/i18n
Command: npx skills add https://github.com/iOfficeAI/AionUi --skill i18n-iofficeai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enforces a standardized internationalization workflow to manage translations and ensure all user-visible text is properly localized.

Core Features & Use Cases

  • Key naming conventions: adopt a flat dot-notation structure like module.feature.detail.
  • Locale synchronization: maintain consistency across en-US.json, zh-CN.json, zh-TW.json, ja-JP.json, ko-KR.json.
  • Hardcoded string detection: identify and replace hardcoded text with translation keys.
  • Translation workflow: provide guidelines for adding new translations and validating updates.

Quick Start

Start by integrating t() calls in your UI and add new keys to all locale files following the module.feature.detail convention.

Frequently Asked Questions about i18n

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

FAQPage Schema
How do I manage translations across multiple locales in my application?

Manage translations by adopting a flat dot-notation key structure (module.feature.detail), maintaining synchronized locale files (en-US.json, zh-CN.json, zh-TW.json, ja-JP.json, ko-KR.json), and using t() function calls in your UI. This ensures consistent localization across all user-facing text.

What's the best way to enforce consistent key naming for translations?

Use a standardized flat dot-notation convention like module.feature.detail for all translation keys. This creates predictable, hierarchical naming that makes keys discoverable, reduces duplication, and simplifies maintenance across your codebase and locale files.

How do I identify hardcoded strings that should be translated?

Hardcoded string detection identifies user-visible text embedded directly in your code that should be replaced with translation keys following the module.feature.detail pattern. Once detected, integrate t() calls to reference locale files instead of hard-coded values.

Can I use this workflow with multiple language locales simultaneously?

Yes, the workflow maintains consistency across multiple locale files including en-US.json, zh-CN.json, zh-TW.json, ja-JP.json, and ko-KR.json. Locale synchronization ensures every translation key exists in all files with matching structure.

What's the workflow for adding new translations to an existing application?

Add new translation keys following the module.feature.detail naming convention, create entries in all active locale files simultaneously, then integrate t() calls in your components to reference the new keys. This keeps locales synchronized from the start.

Why should I standardize my internationalization workflow?

Standardization prevents inconsistent key naming, locale drift, and missed translations. A defined workflow with flat-key conventions and synchronization checks ensures all user-facing text is properly localized, reducing bugs and scaling translation management as your application grows.