vkc-i18n-ko-vi-safety

LEE-SANG-BOK's avatarfrom LEE-SANG-BOK

Prevent i18n regressions for ko/en/vi (missing keys, long Vietnamese text UI breakage). Use when changing messages/*.json or adding user-facing strings.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 4, 2026

When & Why to Use This Skill

This Claude skill acts as a specialized internationalization (i18n) guardrail designed to prevent regressions in multi-language projects involving Korean, English, and Vietnamese. It ensures structural consistency across translation files and provides automated checks and UI layout rules to prevent visual breakage caused by long Vietnamese text strings.

Use Cases

  • Automated i18n Validation: Use the skill to automatically detect missing keys in ko.json or vi.json when new user-facing strings are added to the codebase.
  • UI Layout Integrity: Apply recommended CSS patterns like 'break-words' and 'line-clamp' to ensure that long Vietnamese translations do not break the application's responsive design.
  • Structural Consistency: Maintain identical nested JSON structures across multiple language files to prevent runtime errors and ensure reliable message fetching.
  • Code Quality Enforcement: Identify and replace hardcoded literal strings in UI components with proper i18n message keys during the development or code review phase.
namevkc-i18n-ko-vi-safety
descriptionPrevent i18n regressions for ko/en/vi (missing keys, long Vietnamese text UI breakage). Use when changing messages/*.json or adding user-facing strings.
short-descriptioni18n key safety + UI rules

VKC i18n (ko/en/vi) Safety

When to use

  • You add/edit user-facing strings
  • You touch messages/*.json
  • A UI breaks only in Vietnamese

Rules

  • Never ship a key in only one of ko/vi.
  • Keep nested key structure consistent across ko.json, en.json, vi.json.
  • Avoid hardcoded literal strings in components; prefer message keys.

Checks

  • Run: bash .codex/skills/vkc-repo-guardrails/scripts/lint-i18n-keys.sh

UI safety for long Vietnamese strings

  • Apply “layout-safe” patterns by default:
    • min-w-0 on flex children that contain text
    • break-words or whitespace-pre-line where wrapping is required
    • line-clamp-* where space must be capped
    • avoid fixed widths for text containers unless truncation is intentional

Reference

  • .codex/skills/vkc-i18n-ko-vi-safety/references/i18n-ui-safety.md