Skip to content

v10.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Sep 04:41
· 62 commits to master since this release

We are excited to announce the release of Vue I18n v10.
We had many contributors.

Thanks for your contributing ❤️

Summary

petite-vue-i18n General Availability

petite-vue-i18n is an alternative distribution of Vue I18n, providing only minimal features.

If you don't need the full functionality of vue-i18n and are just looking for basic translation features with a smaller footprint, this will suit your use case.

For more details, please see the docs.

JIT Compilation Enabled by Default

JIT compilation was introduced in v9.3, but it was not enabled by default.

However, it had the following issues:

  • CSP restrictions: Difficult to work with service/web workers, edge-side runtimes of CDNs, etc.
  • Backend integration: Hard to fetch messages from a backend (e.g., a database via API) and localize them dynamically.

Starting from v10, JIT compilation is enabled by default.

Support for Generated Locale Types

We provide an interface to extend the Locale type in TypeScript, similar to ComponentCustomProperties in Vue.

This feature is useful when using vue-i18n as part of a framework.

For more details, see the PR for the Nuxt I18n use case.

Changes to $t and t Overload Signatures for Legacy API Mode

In Vue I18n v9, $t and t had different overload signatures in Composition API mode compared to Legacy API mode.

When migrating from Legacy API mode to Composition API mode, these differences sometimes caused confusion.

Starting from v10, Legacy API mode will use the same $t and t overload signatures as Composition API mode.

For details on the signature pattern, see the migration guide.

Deprecation of tc and $tc for Legacy API Mode

The t and $t functions already support pluralization, so tc and $tc can be replaced.

In v10, tc and $tc still exist to aid in migration, but they will be fully removed in v11.

If you use them, Vue I18n will display a console warning in your application.

For migration instructions, see the docs.

Dropping Deprecated Features from v9

Some features were marked as deprecated in v9 with warnings.

These deprecated features will be completely removed in v10.

For more details on the deprecated features, see the docs.

🌟 Features

  • feat: move to GA from experimental for petite-vue-i18n by @kazupon in #1862
  • feat!: default enable for JIT compilation by @kazupon in #1852
  • feat: support generated locale type by @BobbieGoede in #1890
  • feat!: change $t overloaded signature for Legacy API mode by @kazupon in #1832

❗ Braeking Changes

  • breaking: drop translation component <i18n> v8.x compatibility by @kazupon in #1844
  • breaking: drop te behavior v8.x compatibility on v9 by @kazupon in #1845
  • feat!: deprecate tc and $tc for Legacy API mode by @kazupon in #1839
  • breaking: drop fully formatter option codes on Legacy API by @kazupon in #1826
  • breaking: drop fully preserveDirectiveContent option codes on Legacy API by @kazupon in #1827
  • breaking: drop fully preserve modifier codes on v-t directive by @kazupon in #1828
  • breaking: drop fully getChoiceIndex on Legacy API by @kazupon in #1829
  • breaking: drop vue-i18n-bridge by @kazupon in #1816
  • breaking: drop allowComposition option by @kazupon in #1817
  • breaking: drop modulo syntax by @kazupon in #1814

⚡ Improvement Features

✏️ Documentation & Sample Updates

🐛 Bug Fixes

New Contributors

Full Changelog: v9.13.1...v10.0.0