{"enrichment":{"faq":[{"a":"i18n provides a structured workflow for adding translations. Start by creating or updating translation keys in your locale files using namespaced dot notation (e.g., `common.button.submit`). Add the key to every supported language directory simultaneously\u2014never add to one locale without updating all others. Use the i18n module's key management system to ensure consistency, then run validation checks to confirm all keys exist across locales before deploying.","q":"How do I add translations to the i18n app?"},{"a":"i18n establishes a three-step workflow: first, define your translation key using dot notation in all locale files; second, import the i18n hook or provider in your component and reference the key (avoid hardcoding strings); third, run i18n compliance checks to detect any remaining hardcoded text. This ensures user-facing text is translatable and maintains consistency across all supported languages from the start.","q":"What is the i18n workflow for new text in components?"},{"a":"i18n supports configuring new languages by creating a new locale directory with the appropriate language code (e.g., `zh-CN`, `fr-FR`). Copy the structure from an existing locale, then populate translation files with keys matching your namespace hierarchy. Update your i18n configuration to register the new locale, and regenerate type definitions if using TypeScript. Validate that all keys are present in the new language before enabling it.","q":"How do I add a new language with i18n?"},{"a":"i18n includes compliance review tools that scan components for hardcoded user-facing text and flag i18n violations. Run automated checks across your codebase to identify strings that should be moved into translation files. The skill guides you through refactoring violations by extracting text into properly namespaced keys, ensuring all visible content flows through the i18n system for consistent multi-language support.","q":"How does i18n help review code for hardcoded strings?"},{"a":"i18n can regenerate TypeScript type definitions from your translation files, ensuring type safety when accessing keys. Validation checks confirm all keys exist across every supported locale, catching missing translations before deployment. Use these automated processes to maintain consistency and prevent runtime errors from referencing undefined translation keys.","q":"What does i18n type generation and validation involve?"},{"a":"i18n recommends organizing locale files by language code directories (e.g., `en`, `zh-CN`) with namespaced JSON or YAML files inside (e.g., `common.json`, `errors.json`). Use dot notation for nested keys to keep structure flat and queryable. This organization scales across multiple languages and makes it easy to locate and update specific translation domains without duplicating keys.","q":"How should i18n locale files be organized?"}],"shadow_tags":["multi-language-support","localization-workflow","translation-keys","locale-management","type-safe-i18n","chinese-english-text","react-i18next-setup","translation-validation","namespace-pattern","interpolation-variables"],"summary_rewrite":"i18n skill establishes the workflow and standards for internationalization, ensuring all user-visible text is properly translated and managed across supported languages. It covers key structure using namespaced dot notation, the critical process of adding new text to every locale directory, and validation through automated checks. Use this skill when adding new user-facing text, creating components with translatable content, or reviewing code for i18n compliance."},"files":[{"bytes":7898,"path":".claude/skills/i18n/SKILL.md","sha256":"e27b1d3ec003270d975dfe7d934a2ef99152200d42fd987e8a65f9a1f9fe67af","url":"https://skillfed.io/files/iOfficeAI/AionUi/i18n/7fcc97ae/SKILL.md"}],"id":"iOfficeAI/AionUi/i18n","links":{"html":"https://skillfed.io/iOfficeAI/AionUi/i18n","md":"https://skillfed.io/iOfficeAI/AionUi/i18n.md","repo":"https://github.com/iOfficeAI/AionUi"},"meta":{"agents_supported":["claude-code"],"first_seen":"2026-07-28","forks":3109,"language":"TypeScript","last_updated":"2026-07-27","license":"Apache-2.0","name":"i18n","publisher":"iOfficeAI","stars":30945},"relations":{"similar":[{"id":"yonatangross/orchestkit/i18n-date-patterns"},{"id":"miles990/claude-software-skills/internationalization"},{"id":"Mindrally/skills/internationalization-i18n"},{"id":"itzzritik/OrderWorder/i18n-localization"},{"id":"lingui/skills/migrate-i18next-to-lingui"},{"id":"vudovn/ag-kit/i18n-localization"},{"id":"Fr-e-d/GAAI-framework/i18n-validate"},{"id":"zgsm-ai/costrict/roo-translation"},{"id":"Mindrally/skills/localization-l10n"},{"id":"platformplatform/PlatformPlatform/lingui-best-practices"}]},"slug":{"owner":"iOfficeAI","repo":"AionUi","skill":"i18n"},"version":"7fcc97ae"}
