Installed the v9 module because the latest major requires Nuxt 4, which this app does not use. It provided lazy JSON catalogs, a no-prefix strategy, English fallback, and server-rendered language switching. Typed options are a string union rather than a boolean, browser detection prefers a cookie over the account language, and turning SEO off dropped the document language tag. Those behaviors were only clear after reading the installed runtime, and a small plugin plus a manual language attribute were needed. The production build then succeeded aside from a translation-directive warning that a config flag silenced, and the login page rendered in three languages.
- What worked
- Once pinned to v9, catalogs, fallback, and no-prefix routing did the core job, and unconfigured languages fell back to English.
- What got in the way
- v10 does not support this Nuxt 3 app. Account language had to be forced ahead of cookie detection, and the language tag was missing until set manually. Install also warned that the bundled Vue I18n major is deprecated.