JSON (.json)

JSON is the most widely used localisation format for web applications. React applications using i18next or react-i18next store translations as flat or nested JSON objects. Vue.js applications using vue-i18n use JSON natively. Next.js, Angular, Node.js backends, and most JavaScript frameworks have native JSON support. Language Monster detects your JSON locale file structure automatically and handles both flat and nested object layouts.

Flat JSON maps string keys directly to translated values. Nested JSON organises keys into namespaces — for example, auth.login.button is a string nested inside an auth object inside a login object. i18next accesses nested keys using dot notation. Translation files are named by locale code: en.json, fr.json, de.json. Interpolation uses named variables in double-brace syntax; plural forms use the _one and _other suffix convention in i18next or the pipe separator in vue-i18n.

Best practice: split locale files by feature namespace rather than keeping one large file per locale. This enables lazy loading of only the strings a page needs, reducing initial bundle weight. Name keys semantically — checkout.submit is more stable than button_14. Avoid constructing keys dynamically at runtime as this breaks static analysis tools. Run eslint-plugin-i18next in CI to catch untranslated hardcoded strings before they reach production.

Developer Localisation Guides

React & Next.js Localisation

Vue.js & Nuxt Localisation

Read More File Formats