A minimalist reactive translation plugin for Vue 3. Super lightweight (0.32KB gzipped), simple, and efficient internationalization solution.
🌐 Live Demo - Try it now !
npm install vue-tiny-translation
import { createApp } from 'vue' import TinyTranslation from 'vue-tiny-translation' import App from './App.vue' const app = createApp(App) app.use(TinyTranslation) app.mount('#app')2. Load translations and use in components
<template> <div> <h1>{{ $t('hello') }}</h1> <p>{{ $t('goodbye') }}</p> <button @click="changeLanguage">Change Language</button> </div> </template> <script> import { loadTranslations } from 'vue-tiny-translation' export default { async mounted() { // Auto-load based on browser language const lang = navigator.language.split('-')[0] await loadTranslations(`/translations/${lang}.json`) }, methods: { async changeLanguage() { await loadTranslations('/translations/fr.json') } } } </script>Load translation files from anywhere
// Load from anywhere await loadTranslations('/translations/en.json') // Local files await loadTranslations('/api/translations/en') // API endpointsExample of organization using local files
public/translations/
en.json
fr.json
de.json
{ "hello": "Hello", "goodbye": "Goodbye" }
$t(key, fallback?)
- Translate in templatestranslate(key, fallback?)
- Translate in JavaScriptloadTranslations(path)
- Load translations from any source🌐 Live Demo - Try it now !
Local Testing: Clone and run the example locally:
cd example npm install npm run dev
Open http://localhost:5173
and see the plugin working with automatic language detection!
MIT © Makio64
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4