This project is a small Vue 3 application demonstrating how to implement internationalization using vue-i18n and synchronize translations with Localazy.
The application displays a simple product page with multiple languages. Users can switch languages at runtime, and translations can be uploaded and downloaded automatically.
The project also includes a pseudo-locale for testing layouts before real translations are available.
- Vue 3 + TypeScript + Vite
- Runtime language switching
- English and French translations
- Pseudo-locale for layout testing
- Localazy translation integration
- Automated translation sync ready for CI
Make sure you have installed:
- Node.js 18 or later
- npm or yarn
- Git
Check versions:
node -v
npm -v
git --versionThis project uses the following tools:
- Vue 3 — Frontend framework
- Vite — Development server and build tool
- TypeScript — Static typing
- vue-i18n — Internationalization
- Localazy — Translation management
- GitHub Actions — Translation automation
Clone the repository:
git clone https://github.com/Gunkev/vue-localazy.gitEnter the project folder:
cd vue-localazyInstall dependencies:
npm installStart the development server:
npm run devOpen in your browser:
http://localhost:5173
src/
├── assets/locales/
│ ├── en.json
│ ├── fr.json
│ └── xxb.json
│
├── components/
│
├── App.vue
└── i18n.ts
Translations are stored in:
src/assets/locales/
Example files:
en.json
fr.json
pseudo.json
English (en.json) is the source language.
Upload source translations:
npx localazy uploadDownload translations:
npx localazy downloadLocalazy keys are stored in:
localazy.keys.json