Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Ziman — Kurdish Translations for Your AppNew to Visual Studio Code? Get it now.
Ziman — Kurdish Translations for Your App

Ziman — Kurdish Translations for Your App

Rashid Farhad

|
4 installs
| (0) | Free
Translate your app into Kurdish without leaving VS Code. Move text into en.json and ku.json in one step, see translations inline, spot missing ones, and edit side by side with right-to-left Kurdish.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ziman

Ziman (زمان) means language in Kurdish. It translates your app into Kurdish without leaving VS Code.

Built for developers in Kurdistan who ship apps in English and Kurdish. Works with any JSON-based i18n setup: react-i18next, next-intl, vue-i18n, i18next, or your own t() function.

Features

Extract text in one step

Select text (or put the cursor inside a string) and press Ctrl+Alt+T (Cmd+Alt+T on Mac), or use the 💡 lightbulb → Extract to translation.

  1. A key is suggested from the file and the text, like productCard.add_to_cart.
  2. The text is saved to locales/en.json.
  3. Your code becomes t('productCard.add_to_cart'). Text between JSX tags becomes {t('…')}, and Vue templates get {{ t('…') }}.
  4. You're asked for the Kurdish translation right away. Press Esc to skip.

If the same text already has a key, it's reused instead of duplicated.

See translations in your code

Every t('key') shows its text faded at the end of the call, so t('home.title') reads as t('home.title') Welcome. Set ziman.hintLanguage to "ku" to see the Kurdish text instead. Hover any key to see both languages.

Missing translations are flagged

  • A yellow squiggle when a key doesn't exist in your source language.
  • A blue hint when the Kurdish translation is still missing.

Translation Table with right-to-left Kurdish

Run Ziman: Open Translation Table to edit every key side by side. The Kurdish column is right-to-left with a proper Kurdish font. Search, show only missing translations, and watch your progress. Changes save straight to the JSON files.

Find hard-coded text

Run Ziman: Find Hard-coded Text in This File to list every untranslated label and sentence. Pick one to extract it.

Setup

Put one JSON file per language in a folder:

locales/
  en.json
  ku.json

Using a different folder? Set ziman.localesPath, for example src/locales, public/locales or src/i18n.

Sorani and Kurmanji: to ship both, set "ziman.languages": ["en", "ckb", "kmr"] and you get ckb.json (Sorani, right-to-left) and kmr.json (Kurmanji).

Settings

Setting Default Description
ziman.localesPath "locales" Folder with <lang>.json files.
ziman.languages ["en","ku"] Language codes.
ziman.sourceLanguage "en" The language you write first.
ziman.callTemplate "t('{key}')" What extracted text becomes, e.g. $t('{key}') or __('{key}').
ziman.functionNames ["t","$t","i18n.t","__"] Functions that read translations.
ziman.nestedKeys true Write home.title as { "home": { "title": … } }.
ziman.inlineHints true Show text next to each t('key').
ziman.hintLanguage "" Show hints in another language, e.g. "ku".
ziman.askForTranslations true Ask for Kurdish right after extracting.

Notes

  • In multi-folder workspaces, the folder of the file you're editing is used.
  • Vue attributes need a binding: change placeholder="t('…')" to :placeholder="t('…')" after extracting.

Made by Rashid Farhad.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft