Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>LoccyNew to Visual Studio Code? Get it now.
Loccy

Loccy

Loccy

|
209 installs
| (3) | Free Trial
Lightning-fast i18n management
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Loccy

Let’s be real: dealing with translations (i18n) is usually the most annoying part of building an app. It’s messy, manual, and a total momentum killer.

Loccy is an IDE extension that actually fixes this.

It turns internationalization into something that just happens in the background. You’ll barely even notice it.

Here are a Few Highlights

Extract static text, translate it, and create a keypath
All in one go, just how it should be:

Extract

Working on a new feature and the message is obvious?
Let Loccy create the multilingual text for you:

Prompt

Want to tweak an existing translation?
Change it in one language, Loccy updates the others:

Sync

Getting Started

Good news: Loccy tries to set itself up automatically when you open it in a new workspace so you can try it out without worrying about any single setting.

If you see translation previews next to your code, you’re all set — go ahead and try it out! Translation Preview

If things didn’t work automatically, or you want to unlock the full power of Loccy and share settings with your team, it’s time to create a config file. Super easy — just run Loccy: Create Config File from the command palette (Cmd/Ctrl+P). All the auto-detected stuff will be filled in for you.

If Loccy didn’t show you translation previews, the first setting you’ll want to check is resources → paths. This is where your actual translations live (like i18n/en.json, i18n/de-CH.json, etc).

Every setting in the config file has autocomplete and an explanation on hover, so it should be pretty straightforward. Here’s an example config for a Vue project:

{
  "resources": {
    "paths": {
      "include": ["src/i18n/**/*.json"],
      "exclude": ["**/fr.json"]
    },
    "file": {
      "structure": "nested",
      "sortKeys": "yes"
    }
  },
  "usages": {
    "paths": {
      "include": ["**/*.{vue,js,ts}"],
      "exclude": []
    },
    "tFunction": {
      "preset": "vue-i18n",
      "customFunctionNames": ["$i18n"]
    },
    "detectKeysInStrings": true,
    "quoteType": "single"
  },
  "ai": {
    "translations": {
      "autoConsistency": true,
      "customInstructions": "You are translating a fun, modern app for learning touch typing. The brand name 'Typing School' is never translated. Always use an informal tone (like 'du' instead of 'Sie' in German). Use 'Sentence case' in titles and buttons."
    },
    "keypaths": {
      "autoSuggestion": true,
      "autoConsistency": true,
      "customInstructions": "Parent nodes are 'Title.Cased' but the final child node is 'lowercased' (e.g., 'My.New.keypath')"
    },
    "useCodeContext": true
  }
}

Quick note about the ai settings: autoConsistency and useCodeContext are set to true by default. This helps Loccy deliver higher quality translations and key suggestions by looking at your existing texts, key structure, and the exact context in your code (like if something’s a button or a title). The only real reason to turn these off is if your project’s privacy policy requires it. Just keep in mind that translation quality might drop and some features (like "Create Contextual Translation") won’t work at all.

Good to Know (aka Limitations)

  • JSON only: Loccy only works with .json resource files for now.
  • Simple structure: Only one file per language is supported (like en.json). No support yet for <i18n> blocks in Vue files, split files (like en/home.json), or fancy namespaced calls (like t('key', { ns: 'home' })).
  • Vue-native: Right now, only the vue-i18n preset is built-in. If you’re using something else, just set the preset to none and list all the possible translation function names in usages → tFunction → customFunctionNames.

Pricing

  • Core Features — Free. All offline stuff like previews, quick edits, navigation, and renaming is free forever.

  • Your Multilingual Copywriter Bro — $30/year. Context-aware translation, auto-sync across languages, draft refining, and creating contextual text from scratch. Risk-free with a trial included.

Community

Want to dive into the Loccy community? Start here:

  • 💬 Loccy's Discord: release notes, bug reports, idea exchange, or just local memes.

  • 📧 hello@loccy.dev: if you’d rather just quickly drop a message. Every one gets read and answered ASAP.

Bonus 👻

Wanna kick things off with something fun? Here’s a quick idea!

But first: make sure your work is committed or stashed. Seriously, do it.

  1. Create a config file. Just hit Loccy: Create Config File from the command palette (Cmd/Ctrl+P).

  2. In ai → translations → customInstructions, pick a style (or make up your own):

    • Everything sounds like a dramatic pirate
    • Everything sounds like a Shakespearean actor
    • Everything sounds like a bored, sarcastic teenager
    • Everything sounds like a robot
  3. Find a boring translation entry. Could be an error, a welcome message, or a loading placeholder, for example.

  4. Hover over it. In the on-hover window, click the "More" button (the three dots) and select Tell AI what to change in all translations. Ask it to “adjust wording based on project instructions”.

  5. Have fun.

  6. (*) Share the fun in Loccy's Discord.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft