vue-i18n-skilld

Internationalization plugin for Vue.js. ALWAYS use when writing code importing "vue-i18n". Consult for debugging, best practices, or modifying vue-i18n, vue i18n.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "vue-i18n-skilld" with this command: npx skills add harlan-zw/vue-ecosystem-skills/harlan-zw-vue-ecosystem-skills-vue-i18n-skilld

intlify/vue-i18n vue-i18n

Internationalization plugin for Vue.js

Version: 11.3.0 (Mar 2026) Deps: @vue/devtools-api@^6.5.0, @intlify/core-base@11.3.0, @intlify/devtools-types@11.3.0, @intlify/shared@11.3.0 Tags: rc: 9.0.0-rc.9 (Feb 2021), alpha: 9.2.0-alpha.9 (Jul 2021), legacy: 8.28.2 (Oct 2022), edge: 9.3.0-beta.14-77e850b (Jan 2023), beta: 9.3.0-beta.27 (Aug 2023), next: 12.0.0-alpha.3 (Jul 2025), stable: 11.1.10 (Jul 2025), legacy10: 10.0.8 (Jul 2025), stable9: 9.14.5 (Jul 2025), legacy9: 9.14.5 (Jul 2025), latest: 11.3.0 (Mar 2026)

References: Docs — API reference, guides

API Changes

This section documents version-specific API changes — prioritize recent major/minor releases.

  • DEPRECATED: Legacy API mode — deprecated in v11 for Composition API preference; scheduled for removal in v12 source

  • DEPRECATED: Custom Directive v-t — deprecated in v11 due to limited optimization benefits in Vue 3; scheduled for removal in v12 source

  • BREAKING: tc and $tc — dropped in v11 for Legacy API mode; use pluralization support in t and $t instead source

  • NEW: Vue 3 Vapor Mode — added compatibility for Vue 3 vapor mode in v11.2.0 source

  • BREAKING: JIT Compilation — enabled by default in v10 to solve CSP issues and support dynamic resources source

  • BREAKING: $t and t Signatures — Legacy API mode signatures changed in v10 to match Composition API mode; positional locale args now require options object source

  • NEW: Generated Locale Types — v10 adds support for extending locale types via GeneratedTypeConfig for better TypeScript inference source

  • BREAKING: Modulo % Syntax — named interpolation using modulo syntax dropped in v10; use standard {} interpolation source

  • BREAKING: vue-i18n-bridge — dropped in v10 following Vue 2 EOL source

  • BREAKING: allowComposition Option — dropped in v10; was previously used for Legacy to Composition API migration on v9 source

Also changed: petite-vue-i18n GA v10 · Configurable $i18n type new v11.1.0 · mode property deprecated v11 · tm accepts DefineLocaleMessage key type v11.0.0 · Part options support $n & $d new v11.1.4

Best Practices

  • Prefer Composition API mode (legacy: false) for all new projects — Legacy API mode is deprecated in v11 and will be removed in v12 source

  • Use t() function or <i18n-t> component over the v-t directive — the directive is deprecated in v11 and lacks IDE support for key completion source

  • Define global resource schemas using DefineLocaleMessage, DefineDateTimeFormat, and DefineNumberFormat interfaces — enables automatic type inference and key completion in useI18n without passing type parameters source

  • Use rt() (Resolve Translation) when processing locale messages retrieved via tm() — ensures proper resolution of nested structures and pluralization for programmatically accessed messages

  • Enable escapeParameter: true when using v-html with translations containing user input — prevents XSS by escaping interpolation parameters and neutralizing dangerous HTML attributes

  • Explicitly configure __VUE_I18N_FULL_INSTALL__ and __VUE_I18N_LEGACY_API__ feature flags — setting these to false in bundler configuration enables better tree-shaking and reduces bundle size source

  • Pre-compile locale messages using @intlify/unplugin-vue-i18n — improves performance by using AST/Functions and ensures CSP compliance by avoiding eval during runtime compilation source

  • Implement lazy loading for locale messages using dynamic import() and setLocaleMessage() — reduces initial bundle size by loading language resources only when needed (e.g., in router guards) source

  • Synchronize the html lang attribute and Accept-Language headers when switching locales — ensures accessibility (screen readers) and consistent language handling for server-side requests source

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

vue-skilld

No summary provided by upstream source.

Repository SourceNeeds Review
General

pinia-skilld

No summary provided by upstream source.

Repository SourceNeeds Review
General

vueuse-core-skilld

No summary provided by upstream source.

Repository SourceNeeds Review
General

vue-router-skilld

No summary provided by upstream source.

Repository SourceNeeds Review