Skip to content

Implement comprehensive spell checking support #2308

Description

@arkid15r

Implement Comprehensive Spell Checking Support

Summary

To ensure high-quality localization for the Open World Holidays Framework, we need to implement comprehensive spell-checking support. This should work both locally and within CI/CD pipelines, covering as many holidays l10n languages as possible while integrating seamlessly with existing IDE tools. Ideally, this functionality should be part of pre-commit to enforce consistency before changes are committed.

Requirements

  • Support for multiple languages to cover holidays localizations.
  • Integration with pre-commit for automated spell checking.
  • Compatibility with CI/CD pipelines (GitHub Actions, etc.).
  • Support for popular IDEs (VS Code, PyCharm, etc.).
  • Open-source and actively maintained tooling.

Recommended Tools

Feature cspell typos hunspell
Multi-language support ✅ Yes (many dictionaries) ⚠️ Limited but configurable ✅ Yes (widest coverage)
Pre-commit support ✅ Yes ✅ Yes ❌ Needs extra setup
CI/CD friendly ✅ Yes ✅ Yes ✅ Yes
IDE Integration ✅ VS Code, JetBrains ❌ No ⚠️ Limited (CLI-based)
Custom Dictionaries ✅ Yes ✅ Yes ✅ Yes
Performance ⚡ Fast ⚡ Very Fast 🐢 Slower
Grammar Checking ❌ No ❌ No ❌ No

Tool Overviews

  1. cspell

    • Supports multiple languages with configurable dictionaries.
    • Works with pre-commit, CI/CD, and integrates with VS Code, JetBrains IDEs, and more.
    • Fast and actively maintained.
  2. typos

    • Lightweight, fast typo checker with good multi-language support.
    • Works well in pre-commit and CI/CD with minimal configuration.
    • No IDE integration, but great for automation.
  3. hunspell

    • Most extensive language support (90+ dictionaries available).
    • Used in LibreOffice, Firefox, and Google Chrome.
    • Requires more setup for pre-commit but is highly customizable.

Next Steps

  • Evaluate which tool best supports the localization needs of holidays.
  • Integrate the chosen tool into pre-commit and CI/CD workflows.
  • Define a custom dictionary for common terms and names.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions