How to generate vue-i18n flat json translation files from an excel spreadsheet
- Step 1Prepare the translation Excel spreadsheet — Ensure you have a key column and a value column per locale.
- Step 2Configure key and value columns — Enter the key column name (e.g. 'key') and the value column name (e.g. 'en', 'fr', 'de').
- Step 3Download and add to your Vue project — Save the output as messages/en.json and import in your createI18n() setup.
Frequently asked questions
Does vue-i18n support nested JSON message files?+
Yes. vue-i18n supports both flat { 'auth.login.title': '...' } and nested { auth: { login: { title: '...' } } } formats. The tool's nested mode generates the latter.
Can I use this for Nuxt i18n module (@nuxtjs/i18n)?+
Yes. @nuxtjs/i18n loads locale files from the same JSON format. Drop the output into your i18n/locales/ directory.
What if a translation value contains HTML tags?+
HTML values are output verbatim. vue-i18n's v-html directive or the Component tag is required to render HTML translation values in templates.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.