Skip to content

Release v1.3.0

Choose a tag to compare

@shinpr shinpr released this 01 Aug 14:13
· 201 commits to main since this release
c5f4236

🌐 Multi-language Support Implementation

Overview

This release introduces comprehensive multi-language support for the entire project, enabling seamless switching between Japanese and English across all documentation, templates, and development assets.

Key Features

Dynamic Language Switching System

  • Added scripts/set-language.js for language management
  • Implemented file copying mechanism for language switching
  • Created .claudelang configuration file for persistent language state
  • Added npm scripts: lang:ja, lang:en, lang:status

Complete File Structure for Both Languages

  • CLAUDE.md: Created CLAUDE.ja.md and CLAUDE.en.md variants
  • Rule Files: Duplicated entire docs/rules/ as docs/rules-ja/ and docs/rules-en/
  • Sub-agent Guides: Created language-specific guides in docs/guides/ja/ and docs/guides/en/
  • Agent Definitions: Provided .claude/agents-ja/ and .claude/agents-en/
  • Commands: Duplicated .claude/commands/ for both languages
  • Templates: All documentation templates (ADR, Design Doc, PRD, Work Plans) now available in both languages

Dynamic Reference System

  • Implemented dynamic path references (@docs/rules/) that automatically resolve to the active language
  • Ensured all internal references maintain consistency after language switching
  • Preserved architectural patterns and rule references across languages

Technical Details

Language Switching Mechanism

// Core language paths configuration
const LANGUAGE_PATHS = {
  claude: { source: (lang) => `CLAUDE.${lang}.md`, target: 'CLAUDE.md' },
  rules: { source: (lang) => `docs/rules-${lang}`, target: 'docs/rules' },
  guides: { source: (lang) => `docs/guides/${lang}`, target: 'docs/guides/sub-agents.md' },
  commands: { source: (lang) => `.claude/commands-${lang}`, target: '.claude/commands' },
  agents: { source: (lang) => `.claude/agents-${lang}`, target: '.claude/agents' }
};

Supported Languages

  • Japanese (ja) - Default language
  • English (en)

Quality Assurance

  • Full translation coverage for all documentation
  • Consistent terminology across languages
  • Preserved technical accuracy in translations
  • Maintained formatting and structure integrity

Migration Impact

  • Zero Breaking Changes: Existing functionality remains intact
  • Backwards Compatible: Projects using previous versions can upgrade seamlessly
  • Default Language: Japanese remains the default language (set during postinstall)

Usage

Switch to English

npm run lang:en

Switch to Japanese

npm run lang:ja

Check Current Language Status

npm run lang:status

Benefits

  1. Global Accessibility: Project now accessible to both Japanese and English-speaking developers
  2. Improved Collaboration: Teams can work in their preferred language
  3. Consistent Experience: All documentation and tooling available in both languages
  4. Easy Maintenance: Centralized language management system

Future Considerations

  • Framework ready for additional language support
  • Language preference can be extended to generated code comments
  • Potential for automated translation updates