plane icon indicating copy to clipboard operation
plane copied to clipboard

feat(i18n): add type-safe translations with AST-based key validation

Open lifeiscontent opened this issue 1 week ago • 1 comments

  • Rewrite @plane/i18n package with type-safe t() function
  • Generate TypeScript types from English translation JSON
  • Fix ICU plural format parsing in type generator
  • Add 'as const' assertions to i18n fields in constants
  • Create AST-based check:i18n script for each app
  • Add turbo task for parallel i18n validation
  • Convert translation files from TS to JSON format
  • Rename locale directories (ua→uk, vi-VN→vi, tr-TR→tr)
  • Add missing translation keys and fix key mismatches
  • Export KeysWithoutParams type for dynamic key handling

Scripts:

  • pnpm check:i18n (per app) - AST-based missing key detection
  • pnpm i18n:validate - Cross-locale validation
  • pnpm i18n:generate-types - Generate TS types from JSON

All apps pass type checking with 0 errors.

Description

Type of Change

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] Feature (non-breaking change which adds functionality)
  • [x] Improvement (change that would cause existing functionality to not work as expected)
  • [ ] Code refactoring
  • [ ] Performance improvements
  • [ ] Documentation update

Screenshots and Media (if applicable)

Test Scenarios

References

lifeiscontent avatar Dec 22 '25 14:12 lifeiscontent

[!IMPORTANT]

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment
  • [ ] Commit unit tests in branch feat/i18n-type-safety

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Dec 22 '25 14:12 coderabbitai[bot]