r/vuejs • u/extrayoni • 22m ago
Using component-local Vue i18n files: do your editor previews match the app?
I’m researching a small Vue developer tool, using an AI assistant for research, coding and testing. Before taking it further, I want to understand whether this is a recurring problem for other people.
The setup is a component using useI18n({ useScope: "local" }) with an external <i18n lang="json" src="./Checkout.i18n.json"> block. In our small runnable Vue 3 fixture, the component renders its local text correctly. But when the same key also exists globally, the tested i18n Ally 2.13.1 and i18n Editor 1.0.1 configurations show the global text in the hover. This is a bounded test, not a claim about every setup. There is also an existing external-file report: https://github.com/lokalise/i18n-ally/issues/1392
Moving messages into conventional global locale files works. Inline blocks also restore previews in i18n Ally. So the question is whether keeping local or shared external files matters enough that those workarounds are inconvenient.
We have a read-only JSON hover/navigation demo that handles the tested local files. It is not a full translation manager and does not support YAML, dynamic keys, global fallback or renaming.
If you use this setup today: what editor/tool works for you, and when did this last get in your way? I’m looking for three developers interested in a free comparison on sanitized files. A comment describing your setup is enough to start—please don’t post private code. No sales call or payment; this is still an experiment.
Update: the free source, example and VSIX trial are now available at https://github.com/johnny-fridburg/vue-message-lens . Version 0.0.2 is deliberately limited to direct literal template interpolations with an explicit local useI18n binding; the README lists the exact supported shape and installation/removal steps. No account, payment or project upload is needed to use the extension. You can try it independently and leave a sanitized result here or in a GitHub issue.






