Skip to content

Conversation

@rlrrrrr
Copy link

@rlrrrrr rlrrrrr commented Dec 7, 2025

I have finally finished issue #145 . I am submitting my first version, sorry if it is too confusing or messy. My PR is very large because I added all the French entries and i18n support for the entire interface.
This is my first PR on public repositories, can you give me your feedback ?
Here are the main changes I made to my branch:

  1. Centralized I18N infrastructure

    • Added languages.ts with typed language metadata, sanitizers, and option helpers.
    • Refactored useLanguage to normalize persisted codes, log missing keys, and fall back cleanly.
    • Rebuilt UI components to call t(…) instead of hard-coded copy, and wired selectors to the shared language catalog.
  2. Resilient preference restoration

    • Guarded restored settings in settingStore.init() (localStorageConfig, indexedDbConfig, etc.).
    • Ensured the app’s HTML lang attribute and i18n engine read the same normalized language.
    • Updated utilities, shortcuts, and settings UI to use translated labels and collision warnings.
  3. French content & resource updates

    • Filled out thousands of rows in i18n.json for French translations.
    • Added/relocated dictionary files (notably TOEIC French content) and updated lists.
    • Tweaked config (sound mappings, translate hook language mapping) so translation services honor the chosen interface/learning languages.

Supporting changes include dependency lockfile updates, new IDs in components.d.ts, and various component tweaks to expose localized tooltips, labels, and toasts.

Closes #145

@vercel
Copy link

vercel bot commented Dec 7, 2025

@rlrrrrr is attempting to deploy a commit to the zyronon's projects Team on Vercel.

A member of the Team first needs to authorize it.

@zyronon
Copy link
Owner

zyronon commented Dec 8, 2025

Hi! Thank you so much for the huge amount of work you put into this PR —
adding full French i18n support and refactoring the language system is definitely not easy.
I really appreciate the effort and the level of detail in your description.

However, I noticed that your branch is currently ~200 commits behind master, and the file structure has changed a lot recently.
This makes the PR very difficult to review or merge as-is, because there will be a large number of conflicts and some parts of the code have been refactored on the main branch.

To move forward, could you please:

Rebase or merge the latest master into your branch,
so your work is based on the most up-to-date code?

Resolve any merge conflicts locally.

Push the updated branch again.

Once your branch is up to date, it will be much easier for me to review all your changes and provide proper feedback.
Your contribution is very valuable, and I want to make sure we can merge it smoothly.

Thanks again for your hard work — I’m looking forward to your updated PR!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

multilanguage support

2 participants