Skip to content

dahlia/vertana

Repository files navigation

Image

Vertana: LLM-powered agentic translation library for TypeScript

JSR npm GitHub Actions

Caution

Vertana is currently in early development for proof of concept purposes, and is not yet ready for production use. The API is subject to change, and there may be bugs or missing features.

Vertana1 is an LLM-powered agentic translation library for TypeScript/JavaScript. It goes beyond simple LLM prompting by using autonomous agent workflows to gather rich contextual information, ensuring high-quality translations that preserve meaning, tone, and formatting.

Features

  • Agentic context gathering: Automatically invoke external sources before translation, or let the LLM query passive sources as needed via tools
  • Smart chunking: Content-aware chunkers for plain text, Markdown, and HTML that respect structural boundaries while staying within token limits
  • Glossary support: Static glossaries for consistent terminology, plus dynamic glossary accumulation across chunks
  • Quality evaluation: Assess translations on accuracy, fluency, terminology, and style dimensions
  • Iterative refinement: Re-translate low-scoring chunks with boundary evaluation until quality thresholds are met
  • Best-of-N selection: Generate translations with multiple models and select the best result via parallel per-chunk evaluation
  • Progress reporting: Track translation stages via callbacks
  • Multi-runtime support: Works seamlessly with Deno, Node.js, and Bun

Quick example

import { translate } from "@vertana/facade";
import { openai } from "@ai-sdk/openai";

const result = await translate(
  openai("gpt-4o"),
  "ko",
  "Hello, world!  Welcome to Vertana.",
);

console.log(result.text);

Docs

Vertana provides comprehensive documentation to help you get started quickly: https://vertana.org/.

API reference documentation for each package is available on JSR (see below).

Packages

Vertana is a monorepo which contains multiple packages. If you are looking for one package to start with, check out @vertana/facade. The following is a list of the available packages:

Package JSR npm Description
@vertana/core JSR npm Core translation logic and utilities
@vertana/facade JSR npm High-level facade for easy translation tasks
@vertana/context-web JSR npm Web page fetch/search for translation context
@vertana/cli JSR npm Command-line interface for translation

Footnotes

  1. The name Vertana is derived from the Sanskrit word वर्तन (vartana), meaning turning, moving, or abiding.