New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

verbaly

Package Overview
Dependencies
Maintainers
1
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

verbaly

Effortless i18n: write natural text, ship type-safe, tree-shakeable translations.

latest
Source
npmnpm
Version
0.79.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Verbaly

Write your text in the code. Ship it in every language.

npm version 3.35KB gzip zero dependencies MIT

On the left, a component that writes t`Welcome back, ${name}`, t`You have ${count} new messages` and t`Open inbox`. On the right, the same page in a browser switching from English to Spanish to Portuguese. Below, the four steps: write, extract, translate, check.

You write the sentence where it is used, and the compiler gives it a stable key, writes your translation files and types every param. This package is the runtime: a 3.35 KB runtime with zero dependencies, and a site with no framework ships 6.17 KB, both measured on every release.

// with Verbaly: write the sentence where it is used
t`Welcome back, ${name}`;

// and the compiler writes a stable key and a typed call for you
t('ESsQIvlA', { name });

Install

pnpm add verbaly @verbaly/vite
pnpm add -D @verbaly/compiler   # the verbaly command: init, extract, check
npx verbaly init
// vite.config.ts
import verbaly from '@verbaly/vite';

export default { plugins: [verbaly()] };
// verbaly/app is your project's module: the plugin writes it from your config
import { t, setLocale } from 'verbaly/app';

t`Hello ${name}`;
await setLocale('es'); // loads only the Spanish module

Works with React · Next.js · Vue · Nuxt · Svelte · SvelteKit · Astro · webpack, Rollup, esbuild, Rspack · plain HTML, and on its own for text that comes from a CMS.

Why

  • No key files to maintain: the compiler names each text and keeps every language file in step.
  • Typed from the text: a wrong or missing param fails to compile.
  • Broken translations never ship: verbaly check stops a missing translation, and one that lost a {param} or a plural case, in CI.
  • Intl all the way: numbers, currency, dates, relative time, lists and plurals, with no dependency.

Learn more

📖 Docs · 🧩 API reference · 🔁 Coming from i18next · ⭐ GitHub

All packages share one version number. Verbaly is 0.x, and every change is in the changelog.

License

MIT © Aron Soto

Keywords

i18n

FAQs

Package last updated on 03 Nov 2026

Related posts