localization-gen-vue-adapter
v0.0.4
Published
Vue plugin and composables for runtime consumption of localization-gen-node generated output.
Maintainers
Readme
localization-gen-vue-adapter
Vue adapter for consuming localization manifests generated by localization-gen-core.
What it provides
createLocalizationPlugin– Vue plugin for app-level setupuseLocalization– composable with full translation helpers- Runtime bridge store for locale switching
- Lazy/SSR helpers
Install
npm install localization-gen-vue-adapter localization-gen-core vueSetup
import { createApp } from "vue";
import createLocalizationPlugin from "localization-gen-vue-adapter";
import appLocalizationManifest from "./assets/localizations/app-localization";
const app = createApp(App);
app.use(createLocalizationPlugin(appLocalizationManifest));Usage with useLocalization
<script setup lang="ts">
import { useLocalization } from "localization-gen-vue-adapter";
const {
locale,
setLocale,
manifest,
translate, // plain string helper with locale fallback + optional fallback value
format, // helper + placeholder interpolation
plural, // structured plural helper
gender, // structured gender helper
context, // structured context helper
namespace, // creates a module-scoped helper object
entriesForLocale,
appLocalization,
} = useLocalization({
fallback: {
"auth.strings.login_title": "Login",
"common.strings.app_title": "App",
},
});
// Top-level helpers
translate("auth.strings.login_title");
format("auth.placeholders.welcome_back", { name: "Alfin" });
plural("auth.structured.lock_message", 3);
gender("common.structured.user_title", "female", { last_name: "Smith" });
context("auth.structured.channel_label", "email");
// Optional per-call fallback still works (overrides configured fallback)
translate("auth.strings.login_title", "Sign In");
// Namespace-scoped helpers are still available when needed
namespace("auth").translate("strings.login_title");
</script>
<template>
<h1>{{ appLocalization.strings.appTitle }}</h1>
</template>Release
npm run release:check
npm run release:pack
npm run release:dry-run
npm run release:pack:clean