Skip to content

Vue 3 + Vite · Preview

Vue i18n, directly in your components.

Author messages in script setup or normal script blocks. The native compiler extracts and transforms them before Vue compiles the component; Vite delivers the active language before translated code runs.

2.0 preview. Try the upcoming release through the repository examples. Registry latest still supplies 1.x. Read the release notes.

01 — Authoring

Messages stay in your .vue files.

<script setup lang="ts">
import { ref } from "vue";
import { plural, t } from "@palamedes/core/macro";

const title = t`Choose your tickets`;
const quantity = ref(1);

function ticketLabel(count: number) {
  return plural(count, { one: "# ticket", other: "# tickets" });
}
</script>

<template>
  <h1>{{ title }}</h1>
  <p>{{ ticketLabel(quantity) }}</p>
  <button @click="quantity++">+</button>
</template>

Place palamedes({ framework: "none", mdx: false }) before the official Vue plugin. Import macros in the script block that uses them. Render their results in the template; calls directly in template expressions and Vue rich-text components are not supported.

02 — Verified proof

The same booking app, in four languages.

The local proof shares the Frontend Stage 2026 data and styles with the framework examples. Development and production browser checks cover English, German, French, and Spanish: reactive ticket plurals, currency totals, cart actions, lazy catalog reuse, document navigation, and delivery failures.

Native CLI extraction reports the original SFC locations and detects catalog drift. Source maps preserve the component source. This proof is separate from the six server framework families and their four-strategy matrix; it has no hosted demo or SSR proof.

03 — Nuxt boundary

Nuxt needs its own server integration.

The SFC macro compiler can be reused. A Nuxt module still needs to connect request-local locale resolution, server catalog loading, and client initialization before hydration. That integration has not been implemented or verified yet.

The next proof must check translated HTML before JavaScript, concurrent requests in different languages, hydration, lazy pages, server endpoints, and locale navigation. Until those pass, this page describes Vue + Vite browser support only.