Skip to content

Add French / German / Japanese localization #16

@2214962083

Description

@2214962083

Summary

CronPulse is an open-source tool with global potential. Adding support for multiple languages — starting with French, German, and Japanese — would make it accessible to a much wider audience and demonstrate the project's commitment to internationalization.

Problem

The CronPulse UI is currently English-only. Non-English-speaking users and teams face a language barrier when using the dashboard, reading alert messages, or viewing public status pages.

Expected Behavior / Deliverable

Phase 1: i18n Infrastructure (if not already in place)

  • Set up an i18n framework (e.g., i18next, @formatjs/intl, or a lightweight custom solution).
  • Extract all user-facing strings from the UI into translation files.
  • Add a language selector in the dashboard settings or header.
  • Persist language preference in localStorage or user settings.

Phase 2: Translations

  • French (fr) translation file
  • German (de) translation file
  • Japanese (ja) translation file

Each translation file should cover:

  • Dashboard UI (navigation, buttons, labels, tooltips)
  • Alert/notification message templates
  • Status page text
  • Error messages
  • Settings page

Implementation Hints

  • UI components live in: src/ — audit all components for hardcoded strings.
  • Common i18n patterns for this stack:
    • JSON translation files in src/locales/en.json, src/locales/fr.json, etc.
    • A translation function t('key') used in components.
    • Dynamic import of locale files for code splitting.
  • Date/time formatting should also be locale-aware (use Intl.DateTimeFormat).
  • Cron expression descriptions (e.g., "Every 5 minutes") should also be translated if a library like cronstrue is used (it supports i18n).
  • Contributors can pick just one language — this issue can be split across multiple PRs.

Acceptance Criteria

  • i18n infrastructure set up with translation function
  • All hardcoded English strings extracted to locale files
  • Language selector available in the UI
  • At least one of: French, German, or Japanese translation complete
  • Date/time formatting respects locale
  • Notification templates support localization
  • Contributing guide for adding new languages documented

Note to Contributors

You do NOT need to translate all three languages in a single PR! Pick the one you are most comfortable with and submit a PR for that language. Each language is a valuable standalone contribution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGood for newcomershelp wantedExtra attention is neededi18nInternationalization and localization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions