Extension Icon

VocaBuilder

Translate words between languages and build your vocabulary
AvatarAndrii
15 Installs
Overview

VocaBuilder

A Raycast extension that translates words and short text between languages via the Gemini AI API and saves a local translation history — helping you build vocabulary over time.

Features

  • Translate words and text — translate a single word with part of speech and example sentences, or translate short text directly
  • Multi-sense word translations — for ambiguous words, review up to 5 senses and save the one you want to keep
  • Word pronunciation — hear the source word or its translation spoken aloud via a selectable Gemini text-to-speech model
  • Typo correction — misspelled word input is auto-corrected before translating, with a visual indicator showing the original input
  • Translation History — accepted translations are saved automatically; browse, search, and manage them anytime
  • View Flashcards — review saved word translations with spaced repetition
  • Configurable language pair — pick source and target from 17 supported languages (defaults to English → Ukrainian), switchable from a dropdown inside each command or via preferences
  • Configurable model and reasoning — choose a documented Gemini translation model, keep reasoning low-latency by default, or override the model ID manually
  • Separate history per language pair — switching languages gives you an independent history and flashcard deck
  • Clipboard suggestion — optionally prefill a safe single word from the clipboard when the command opens
  • History export — export saved history as JSON, Anki-ready TSV, or Quizlet-ready TSV
  • Debounced word translation, with manual submit for text input
  • Graceful error handling for API issues

Getting Started

  1. Get a free Gemini API key at aistudio.google.com.
  2. Run the Translate command and paste your API key when prompted.
  3. (Optional) Open the extension preferences to set default languages, choose the Gemini translation and speech models, configure translation reasoning, override model IDs manually, or enable clipboard suggestions on open.

Commands

CommandDescription
TranslateTranslate a word or short text
Translation HistoryOpen your saved translations
View FlashcardsReview words you've saved

Supported Languages

English, Ukrainian, Polish, German, French, Spanish, Italian, Portuguese, Dutch, Czech, Swedish, Japanese, Korean, Chinese, Turkish, Russian, Belarusian

Keyboard Shortcuts

ShortcutAction
⌘ CCopy translation
⌘ OPronounce source word
⌘ ⇧ OPronounce translation
⌘ 1⌘ 5Pick a word sense and save it to history
⌘ ⇧ HOpen History (from Translate)
⌘ ⇧ TToggle source and target languages
⌘ DDelete entry (from History)
⌘ ⇧ DClear all history
⌘ EExport history as JSON
⌘ ⇧ AExport word history for Anki
⌘ ⇧ QExport word history for Quizlet

Development

Use the Node version pinned in .nvmrcNode 22.22.2, which bundles npm 10.9.7 and matches the current Raycast extension toolchain. Then run the extension in Raycast dev mode:

nvm use        # Node 22.22.2 / npm 10.9.7
npm install
npm run dev

Regenerate package-lock.json only on npm 10.x. npm 11 records optional peer dependencies differently, producing a lockfile that passes locally but fails the store CI's npm ci.

Built with the Raycast API, TypeScript + React, and Zod for runtime validation. Translations use Gemini — defaults gemini-3.5-flash (text) with reasoning set to minimum, and gemini-3.1-flash-tts-preview (speech), configurable in preferences.

License

MIT