Skip to content

[First Timers Only] Implement Internationalization (i18n) Supportย #22

Description

@danielmarv

๐Ÿฅ First Timers Only โ€“ Good First Issue

This issue is reserved for new contributors to this repository or anyone who is new to open source in general.
We understand that making your first pull request (PR) can be overwhelming, and we're here to help!

The purpose of this issueโ€”and others labeled with good first issueโ€”is to guide you through your first open-source contribution.


๐Ÿ‘พ Issue Description

The ClyCites Website currently does not support internationalization (i18n), which limits accessibility for non-English users.
We want to enable multiple language support so that users can easily switch between languages (e.g., English, French, German etc.).

This will make the platform more inclusive and future-ready.


๐Ÿ‘พ Task Description

Inside the ClyCites/ folder (which contains the website project), implement internationalization using a recommended library such as:

The implementation should:

  • Add basic language switcher (UI component) in the header or settings area.
  • Provide JSON translation files for at least 2 languages (e.g., en.json and fr.json).
  • Wrap components/pages with the chosen i18n provider.
  • Ensure static text (e.g., navigation, footer, homepage sections) is translated via the i18n system.

โœ… Acceptance Criteria

  • Language files (en.json, fr.json, etc.) exist inside a locales/ folder.
  • The app detects and displays the default language (English).
  • Users can switch languages via a language switcher.
  • All hardcoded text in shared UI (header, footer, home page) uses the i18n system.
  • Code follows the existing project structure inside ClyCites/.

๐Ÿ“‹ Step-by-Step Guide to Contribute

  1. Comment below to claim this issue.

  2. Wait for a maintainer to assign it to you.

  3. Fork the repo, then clone your fork locally.

  4. Create a new branch:

  git checkout -b issue-{{issueNumber}}-add-tests

๐Ÿ› ๏ธ Implement the Fix

  • Add or update the necessary tests in the codebase.

  • Ensure your tests cover all edge cases and scenarios mentioned in the issue description.

  • Commit your changes with a clear message:

      git commit -s -m "test: add coverage for {{methodName}} in {{ClassName}}"
  • Ensure your commit is signed off with -s to comply with the Developer Certificate of Origin.

  • Push your branch to your forked repository:

      git push origin issue-{{issueNumber}}-add-tests
  • Open a Pull Request (PR) to the main repository.

  • Monitor GitHub Actions โ€“ if any checks fail and you're unsure why, feel free to ask for help in the PR comments.

  • Respond to feedback and make any necessary changes requested during the code review.

  • Once approved, your PR will be merged by a maintainer.

  • Celebrate your first contribution to open source! ๐ŸŽ‰

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions