Releases: nuxt-modules/i18n
v9.1.0
This release contains bug fixes and a new experimental option, you may need to refresh your lockfiles while updating.
⚙️ Configurable generated file and directory paths
In v9 (and lower) the i18n file and directory paths are absolute by default which could expose sensitive path information about your build environment in production.
To combat this we have added a new experimental option, experimental.generatedLocaleFilePathFormat
, which is used to configure the way these paths are processed. We will explore more approaches to improve this functionality in the future.
Check out the documentation on its usage here.
🚀 Features
- Configurable generated file and directory paths - by @BobbieGoede in #3235 (abc3d)
🐞 Bug Fixes
- Sync route parsing utilities - by @BobbieGoede in #3211 (5363e)
- Support special characters in generated messages type keys - by @BobbieGoede in #3223 (543e4)
- Messages type generation not watching locale files - by @BobbieGoede in #3224 (c0532)
- types:
View changes on GitHub
v9.0.0
We're happy to announce the stable release of v9!
The primary focus of this major release is to remove deprecated functionality and upgrade Vue I18n to v10, we did manage to sneak in some enhancements listed below.
🚨 Breaking changes
This update includes breaking changes so please make sure to review these in the migration documentation, if you run into problems during migration please open an issue so we can improve the guide!
📂 Directory restructure
We now use a default directory structure that is consistent with directory structure changes in Nuxt 4.
Here is an example of a project structure after this change:
app/
server/
i18n/
locales/
en.json
ja.json
i18n.config.ts
localeDetector.ts
nuxt.config.ts
This can be configured with the restructureDir
option which is set to i18n
by default, see the docs for more details.
🛣️ Route type generation
Code_2024-09-27_12-02-50.mp4
Experimental route type generation improves DX for all route utilities and components by adding autocompletion and stricter type checks.
This feature can be enabled with the experimental.typedPages
option, see the docs for more details.
⌨️ Messages and vue-i18n type generation
Code_2024-07-17_14-54-20.mp4
Experimental messages and vue-i18n options type generation improves DX by adding autocompletion and type safety for translation functions and configuration.
This feature can be enabled with the experimental.typedOptionsAndMessages
option, see the docs for more details.
View changes on GitHub
v8.5.6
🐞 Bug Fixes
- Custom routes not analyzed in layer with custom
srcDir
- by @BobbieGoede in #3133 (10c02) - Update intlify dependencies - by @BobbieGoede in #3137 (3bcda)
View changes on GitHub
v9.0.0-rc.2
Please take time to view the Breaking changes in v9 page for an overview of changes and migration steps required. Share your feedback and experience so we can land v9 as stable and as soon as possible 🙏
You may need to refresh lockfiles before installing to ensure the correct subdependencies are installed.
At stable release we will include a proper overview of the improvements we have made in this major version.
🚀 Features
- Experimental
vue-i18n
and messages type generation - by @BobbieGoede in #3151 (4f734)
🐞 Bug Fixes
vueI18n
resolution not usingrestructureDir
defaults - by @BobbieGoede in #3159 (a0164)- Update
@intlify/h3
dependency - by @BobbieGoede in #3165 (893f9)
View changes on GitHub
v9.0.0-rc.1
As we are approaching stable v9 we are excited to publish the first release candidate! Share your feedback and experience so we can land v9 as stable and as soon as possible 🙏
Please take time to view the Breaking changes in v9 page for an overview of changes and migration steps required.
You may need to refresh lockfiles before installing to ensure the correct subdependencies are installed.
At stable release we will include a propert overview of the improvements we have made in this major version.
🚨 Breaking Changes
- Upgrade vue-i18n v10 - by @kazupon in #3001 (c3b1f)
- Rename public runtime config properties - by @BobbieGoede in #3096 (34b7b)
- Configurable
lang
attribute foruseLocaleHead
- by @BobbieGoede in #3097 (a3fb8) - Nuxt context injected function types - by @BobbieGoede in #3098 (97528)
- Remove deprecated legacy dynamic route params - by @BobbieGoede in #2801 (a00c2)
- Change
useLocaleHead
options shape and defaults - by @BobbieGoede in #3100 (85550) restructureDir
defaults - by @BobbieGoede in #3106 (3e336)- Move to ESM only - by @userquin in #3118 (eb31e)
- Remove deprecated locale
iso
property - by @BobbieGoede in #3146 (039f2)
🚀 Features
- V-t directive SSR fully - by @kazupon in #3014 (0ef6d)
- Generate
Locale
type based on configuration - by @BobbieGoede in #3025 (9aa71) - Configurable directory restructure - by @BobbieGoede in #3054 (08638)
- Configurable directory restructure - by @BobbieGoede in #3054 (c906a)
- Add support for multi domain locales - by @DotwoodMedia, Vincent de Vreede and DarthGigi in #3065 (88916)
- Add support for multi domain locales - by @DotwoodMedia, Vincent de Vreede and DarthGigi in #3065 (93d62)
- Runtime logger formatting and debug verbose option - by @BobbieGoede in #3067 (80d9e)
- Support Nuxt 4 - by @BobbieGoede in #3105 (73f6b)
- Support Nuxt 4 - by @BobbieGoede in #3105 (5ba98)
- Experimental typed routes - by @BobbieGoede in #3142 (c103d)
🐞 Bug Fixes
- Unpin and update dependencies - by @BobbieGoede in #3015 (3c327)
- Unable to configure server integration using inline options - by @BobbieGoede in #3020 (6c51e)
- Generated module augmentation should use
@intlify/core-base
- by @BobbieGoede in #3034 (e2c58) - Unable to configure server integration using inline options - by @BobbieGoede in #3020 (856ba)
- Encode
switchLocalePath
during SSR replacement - by @BobbieGoede in #3043 (be59c) - Encode
switchLocalePath
during SSR replacement - by @BobbieGoede in #3043 (28d22) - Rename locale
iso
property tolanguage
- by @BobbieGoede in #3055 (6a29a) - Rename locale
iso
property tolanguage
- by @BobbieGoede in #3055 (df938) strategy: 'no_prefix'
when usingdifferentDomains
- by @BobbieGoede in #3061 (8536b)strategy: 'no_prefix'
when usingdifferentDomains
- by @BobbieGoede in #3061 (53f16)- Cookie being reset on reload in ssg build - by @BobbieGoede in #3087 (ec74f)
- Set default values for
locales
andrestructureDir
- by @BobbieGoede in #3088 (88a7b) - Cookie being reset on reload in ssg build - by @BobbieGoede in #3087 (7ccaf)
- Empty
i18n
options not loadingvue-i18n
config file - by @BobbieGoede in #3093 (c720b) - Empty
i18n
options not loadingvue-i18n
config file - by @BobbieGoede in #3093 (a8463) - Fallback generated locale type to
string
- by @BobbieGoede in #3107 (b2d49) - Use generated tsconfig and virtual file augmentations - by @BobbieGoede in #3112 (62963)
- Remove
jiti
version override - by @BobbieGoede in #3115 (2678e) - Don't use nuxt aliases - by @userquin in #3120 (98897)
- Move shared types to runtime - by @userquin in #3121 (00638)
- Custom routes not analyzed in layer with custom
srcDir
- by @BobbieGoede in #3133 (b9e52) - Use
next
tag for v9 edge release - by @BobbieGoede in #3138 (f61b5) - Warn when using SEO features without
baseUrl
- by @BobbieGoede in #3145 (35b45)
View changes on GitHub
v9.0.0-alpha.3
🐞 Bug Fixes
- Fallback generated locale type to
string
- by @BobbieGoede in #3107 (b2d49) - Use generated tsconfig and virtual file augmentations - by @BobbieGoede in #3112 (62963)
- Remove
jiti
version override - by @BobbieGoede in #3115 (2678e)
View changes on GitHub
v8.5.5
No significant changes
View changes on GitHub
v8.5.4
This release removes version checks that prevent usage with Nuxt versions higher than 3.x
.
The path resolution for langDir
(relative to srcDir
) and localeDetector
(relative to rootDir
) remain unchanged, to ease migration to v9 we recommend configuring experimental.restructureDir
which will be enabled and set to i18n
by default in the upcoming major release.
🚀 Features
- Support Nuxt 4 - by @BobbieGoede in #3105 (5ba98)
View changes on GitHub
v9.0.0-alpha.2
🚨 Breaking Changes
- Rename public runtime config properties - by @BobbieGoede in #3096 (34b7b)
- Configurable
lang
attribute foruseLocaleHead
- by @BobbieGoede in #3097 (a3fb8) - Nuxt context injected function types - by @BobbieGoede in #3098 (97528)
- Remove deprecated legacy dynamic route params - by @BobbieGoede in #2801 (a00c2)
- Change
useLocaleHead
options shape and defaults - by @BobbieGoede in #3100 (85550) restructureDir
defaults - by @BobbieGoede in #3106 (3e336)
🚀 Features
- V-t directive SSR fully - by @kazupon in #3014 (0ef6d)
- Generate
Locale
type based on configuration - by @BobbieGoede in #3025 (9aa71) - Configurable directory restructure - by @BobbieGoede in #3054 (08638)
- Add support for multi domain locales - by @DotwoodMedia, Vincent de Vreede and DarthGigi in #3065 (88916)
- Runtime logger formatting and debug verbose option - by @BobbieGoede in #3067 (80d9e)
- Support Nuxt 4 - by @BobbieGoede in #3105 (73f6b)
🐞 Bug Fixes
- Unable to configure server integration using inline options - by @BobbieGoede in #3020 (6c51e)
- Generated module augmentation should use
@intlify/core-base
- by @BobbieGoede in #3034 (e2c58) - Encode
switchLocalePath
during SSR replacement - by @BobbieGoede in #3043 (be59c) - Rename locale
iso
property tolanguage
- by @BobbieGoede in #3055 (6a29a) strategy: 'no_prefix'
when usingdifferentDomains
- by @BobbieGoede in #3061 (8536b)- Cookie being reset on reload in ssg build - by @BobbieGoede in #3087 (ec74f)
- Set default values for
locales
andrestructureDir
- by @BobbieGoede in #3088 (88a7b) - Empty
i18n
options not loadingvue-i18n
config file - by @BobbieGoede in #3093 (c720b)
View changes on GitHub
v8.5.3
🐞 Bug Fixes
- Empty
i18n
options not loadingvue-i18n
config file - by @BobbieGoede in #3093 (a8463)