npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

dev-dict

v0.6.2

Published

A dictionary of software related terms. Supports multiple languages.

Readme

dev-dict

A multilingual dictionary of software development terms

npm version npm downloads Bundle size License: MIT TypeScript PRs Welcome

dev-dict provides an exhaustive, community-driven collection of software industry terms with clear explanations in multiple languages. Perfect for developers, technical writers, educators, and anyone building multilingual developer tools.

🚀 View Live Demo

Features

  • Multilingual Support - Terms available in English (US/GB), German, and more
  • Type-Safe - Built with TypeScript for excellent IDE support
  • Flexible API - Access localised strings or raw translation objects
  • Comprehensive - Covering frameworks, libraries, languages, tools, and concepts
  • Lightweight - Tree-shakeable ESM and UMD builds
  • Extensible - Easy to contribute new terms and translations

Browse Available Terms

Explore the full catalogue of terms, types, and tags:

  • Terms - All software development terms
  • Types - Term categories (library, framework, etc.)
  • Tags - Additional classifications (frontend, backend, etc.)

Quick Start

Installation

npm install dev-dict
# or
pnpm add dev-dict
# or
yarn add dev-dict

Basic Usage

import { getTerm, getTerms, getDict } from 'dev-dict'

// Get a single term
const react = getTerm({ id: 'react', locale: 'en-US' })
console.log(react.label)      // "JavaScript Library"
console.log(react.definition) // "A JavaScript library for building user interfaces..."

// Get all terms as an array
const terms = getTerms({ locale: 'en-US' })
console.log(terms) // [{ id: "react", name: "React", ... }, ...]

// Get dictionary object (keyed by ID)
const dict = getDict({ locale: 'en-US' })
console.log(dict.react.label) // "JavaScript Library"
console.log(dict.typescript.label) // "Programming Language"

API Reference

getTerm(options)

Get a single term by ID.

// Localised (default)
const reactEn = getTerm({ id: 'react', locale: 'en-US' })
console.log(reactEn.label) // "JavaScript Library"

const reactDe = getTerm({ id: 'react', locale: 'de-DE' })
console.log(reactDe.label) // "JavaScript-Bibliothek"

// Raw (all translations)
const reactRaw = getTerm({ id: 'react', localized: false })
console.log(reactRaw.label)
// { "en-US": "JavaScript Library", "de-DE": "JavaScript-Bibliothek", ... }

Options:

  • id: string - Term identifier (required)
  • locale?: string - Target locale (default: 'en-US')
  • localized?: boolean - Return localised strings (default: true)
  • useFallback?: boolean - Fall back to en-US for missing translations (default: true)

getTerms(options)

Get all terms as an array.

// Localised
const terms = getTerms({ locale: 'en-US' })
console.log(terms) // [{ id: "react", label: "JavaScript Library" }, ...]

// Raw
const termsRaw = getTerms({ localized: false })
console.log(termsRaw)
// [{ id: "react", label: { "en-US": "...", "de-DE": "..." } }, ...]

Options:

  • locale?: string - Target locale (default: 'en-US')
  • localized?: boolean - Return localised strings (default: true)
  • useFallback?: boolean - Fall back to en-US for missing translations (default: true)

getDict(options)

Get dictionary as an object keyed by term ID.

// Localised
const dict = getDict({ locale: 'en-US' })
console.log(dict.react.label) // "JavaScript Library"

// Raw
const dictRaw = getDict({ localized: false })
console.log(dictRaw.react.label)
// { "en-US": "JavaScript Library", "de-DE": "JavaScript-Bibliothek", ... }

Options:

  • locale?: string - Target locale (default: 'en-US')
  • localized?: boolean - Return localised strings (default: true)
  • useFallback?: boolean - Fall back to en-US for missing translations (default: true)

getTypes(options)

Get all term types (e.g., library, framework, language).

const types = getTypes({ locale: 'en-US' })
console.log(types)
// [{ id: "library", name: "Library" }, { id: "framework", name: "Framework" }, ...]

getTags(options)

Get all term tags (e.g., frontend, backend, open_source).

const tags = getTags({ locale: 'en-US' })
console.log(tags)
// [{ id: "frontend", name: "Frontend" }, { id: "backend", name: "Backend" }, ...]

Supported Languages

| Locale | Language | Status | |--------|----------|--------| | en-US | English (United States) | ✅ Primary (all terms) | | en-GB | English (Great Britain) | ✅ Supported | | de-DE | German (Germany) | ✅ Supported |

Want to add a new language? Check out the Contributing Guide.

Contributing

We welcome contributions! Whether you want to:

  • Add a new term
  • Provide translations
  • Fix errors or typos
  • Suggest improvements

Please read our Contributing Guide to get started.

Development

# Install dependencies
pnpm install

# Build library
pnpm build

# Run demo site locally
pnpm demo:dev

# Build demo site
pnpm demo:build

# Preview demo build
pnpm demo:preview

# Lint code
npx eslint .

# Format code
npx prettier --write .

For detailed development guidance, see CLAUDE.md.

Use Cases

  • Documentation Sites - Display term definitions with automatic localisation
  • Educational Platforms - Teach developers in their native language
  • Developer Tools - Add contextual help for technical terms
  • Content Management - Maintain consistent terminology across translations
  • IDE Extensions - Provide inline term explanations