What's Changed
🐛 Bug Fixes
- fix: read only own properties in locale, key and plural rule lookups by @kazupon in #2686
- fix: keep the process.env.NODE_ENV checks in the bundler and Node.js builds by @kazupon in #2689
- fix: point the production export condition to files that exist by @kazupon in #2690
- fix: correct the warnings about message compilers, and stop calling register* in the runtime builds by @kazupon in #2692
- fix: ignore custom blocks that are not objects instead of throwing by @kazupon in #2693
- fix: fall back to the default plural rule for locales that Intl.PluralRules does not support by @kazupon in #2694
- fix: return a message that cannot be compiled as is, in development and production by @kazupon in #2697
- fix: resolve linked messages from the global scope in nested local and isolated scopes by @kazupon in #2701
- fix: name datetime and number formats in the warning when a format is not found by @kazupon in #2702
- fix: make te() and tm() look up messages in the same way as t() by @kazupon in #2704
- fix: read only own properties in the key-value message resolver by @kazupon in #2706
- fix: do not read Object.prototype properties as named values, and ignore unknown linked modifiers by @kazupon in #2710
- fix: do not write count and n into the named values of a plural call by @kazupon in #2712
- fix: wrong
@intlify/devtools-typesdependencies by @kazupon in #2714 - fix: make the type predicate of
isKeylessObject()assignable to its parameter by @kazupon in #2715 - fix: do not drop a flat key under a message AST with flatJson by @kazupon in #2718
- fix: keep a flat key that ends with cacheKey under a message AST by @kazupon in #2720
- fix: add the Node.js builds of @intlify/vue-i18n-core, so that SSR works in production by @kazupon in #2723
- fix: measure the translation timeline only with devtools, and do not throw without the User Timing API by @kazupon in #2724
- fix: keep a flat key that goes through a prop key or cacheKey of a message AST by @kazupon in #2730
💥 Breaking Changes
- fix!: copy the messages and formats passed to createI18n() and useI18n() instead of writing into them by @kazupon in #2684
- fix!: require Vue 3.6 or later by @kazupon in #2691
⚡ Improvement Features
- fix: warn when setLocaleMessage() of @intlify/core-base ignores a locale by @kazupon in #2688
- fix: fall back in d() and n() for locales that are not language tags, and limit the Intl.PluralRules cache by @kazupon in #2695
📝️ Documentations
- docs: describe the fallback of te(), and list te and $te as not included in petite-vue-i18n by @kazupon in #2708
- Fix script tag closure in installation guide by @JokerLi04 in #2722
👕 Refactoring
- refactor!: remove the unused internal options of
createCoreContext()by @kazupon in #2716 - refactor(core-base): share the formatting steps of datetime() and number() by @kazupon in #2725
- refactor: extract the fallbackLocale and warning option checks by @kazupon in #2727
- refactor: use
d()andn()in thei18n-dandi18n-ncomponents by @kazupon in #2726 - refactor: reduce the type casts in
useI18n()andmangle()by @kazupon in #2728
New Contributors
- @JokerLi04 made their first contribution in #2722
Full Changelog: v12.0.0-alpha.5...v12.0.0-alpha.6