Skip to content

fix(i18n): default to english and make the language switcher visible - #59

Merged
florianjs merged 1 commit into
mainfrom
fix/i18n-default-english
Oct 8, 2026
Merged

florianjs merged 1 commit into
mainfrom
fix/i18n-default-english

Conversation

@florianjs

@florianjs florianjs commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Default language: English is now always the default. The browser language is no longer used, so a French browser no longer switches the site to French on its own. The language a user picks is stored in the trackarr_locale cookie (1 year) and restored on every request, server side too, so pages render directly in the right language.

Switcher: an EN / FR toggle replaces the small dropdown. It appears:

  • in the header, next to the user menu;
  • at the top right of the login and register pages;
  • in the footer on mobile.

Test plan

  • Login page with a French browser and no cookie: English
  • Cookie trackarr_locale=fr: French
  • Cookie en: English, and an invalid value falls back to English
  • npx vitest run
  • Click FR / EN in the header and reload: the choice is kept

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added locale selection using clearly labeled language-code buttons.
    • Your language preference is now remembered between visits.
  • Style
    • Moved the language selector to the top of the login and registration pages, and to the header on larger screens. On smaller screens, it remains in the footer.

- english unless the user picks another language, the browser language is
  no longer used; the choice is kept in a cookie, also on the server
- EN / FR toggle in the header and at the top of the login and register pages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ecda75b7-09c5-4cdc-985d-8a931c868cb6
📥 Commits

Reviewing files that changed from the base of the PR and between 5181cae and 6723cd8.

📒 Files selected for processing (6)
  • app/components/LanguageSwitcher.vue
  • app/layouts/default.vue
  • app/pages/auth/login.vue
  • app/pages/auth/register.vue
  • app/plugins/locale-cookie.ts
  • nuxt.config.ts
 ____________________________________________
< 99 little bugs in the code... I filed 100. >
 --------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@florianjs
florianjs merged commit 4b6af86 into main Oct 8, 2026
1 check was pending
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.

1 participant