30 open-source projects similar to dustin/go-humanize, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Numeral-js is a JavaScript number formatting library used to convert raw numeric values into human-readable strings for currencies, percentages, and abbreviations. It includes a numeric string parser to extract raw values from formatted strings by removing symbols and delimiters. The library provides locale-aware formatting to adjust decimal separators and currency symbols based on regional language settings. It also features a data size converter that transforms byte values into readable measurements using base-1000 or base-1024 standards. The system supports the registration of custom form
Symfony Translation is a PHP library and framework component for internationalizing applications. It provides a complete system for managing message catalogs, handling locale-aware string translation, and formatting messages using ICU MessageFormat syntax to support pluralization, gender, and conditional selection. The component organizes translatable strings into named domains, supports key-based lookup that decouples source text from localized versions, and offers deferred rendering through translatable objects that store parameters and render only when output is needed. The library disting
Humanizer is a .NET natural language formatter and string manipulation library designed to convert technical identifiers, numbers, and dates into grammatically correct, human-readable text. It functions as a pluralization engine, localization utility, and case conversion tool for the .NET ecosystem. The library provides specialized capabilities for transforming programming conventions like PascalCase or snake_case into readable sentences and vice versa. It distinguishes itself by handling irregular and uncountable English words during pluralization and singularization, and by applying culture
i18next is a JavaScript localization library and internationalization framework used to translate application text into multiple languages. It functions as a dynamic translation manager that handles translation resources, language detection, and the mapping of unique keys to localized strings. The system features a pluralization and interpolation engine that applies language-specific grammatical rules for numeric counts and injects dynamic variables into strings. It utilizes a plugin-based backend architecture to load and cache translation namespaces from various sources, including remote ser
fsql is a command line interface tool that provides a SQL-like query language for finding files and directories on a local disk. It functions as a filesystem query engine, allowing users to isolate files by executing structured statements against metadata instead of using standard command line flags. The tool features an interactive read-eval-print loop that supports multi-line queries and recursive subqueries, where the results of nested search operations serve as criteria for outer queries. Search scopes are configurable through the resolution of absolute paths, relative paths, environment
ms.js is a millisecond conversion library providing tools to format durations into text and parse human-readable time strings back into numbers. It functions as a utility for translating numeric millisecond values into human-readable strings and converting time units such as days, hours, and minutes into numeric milliseconds. The project covers time parsing and formatting, enabling the translation of human-readable time units into millisecond values for application timeout management and duration unit conversion. It includes tools for transforming millisecond durations into both concise and l
Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates diverse smart home hardware by wrapping third-party APIs into a standardized logic layer and stores all system state and historical statistics on local hardware to eliminate cloud dependencies. The system functions as a Matter IoT controller and an MQTT home automation bridge, allowing for local interoperability between different manufacturers. It features a state-based entity model and an internal event bus that decouple physical device logic from system automation. The platf
sqlparse is a Python library for the programmatic analysis and manipulation of SQL statements. It provides a non-validating parser that breaks down SQL text into tokens and a utility to divide strings containing multiple queries into individual statements. The project includes a code formatter that reorganizes SQL statements using consistent indentation and keyword casing. It also provides mechanisms for automating this formatting and linting process through version control hooks to maintain code consistency.
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
PhoneNumberKit is a Swift framework for parsing, formatting, and validating international phone numbers according to global numbering standards. It provides a system of lookup tables, structural parsers, and validation tools to handle the complexities of international telephone numbering. The library converts raw strings into structured objects containing country codes and national numbers. It translates international dialing codes into full country names and verifies whether phone number strings are logically possible and conform to specific regional numbering plans. The project includes ut
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
timeago.js is a JavaScript library that converts timestamps into human-readable relative time strings. It functions as an internationalized date library that transforms static date and time data into descriptive statements of elapsed time. The project provides a dynamic time updater that automatically refreshes relative time labels on a webpage at regular intervals. It supports multilingual date localization, allowing time-elapsed statements to be translated into various languages using built-in or custom locale settings.
This project provides a web component time element that extends the standard HTML time tag to display human-readable relative timestamps and countdowns. It functions as a relative time formatter and time duration calculator, converting timestamps into localized strings that update automatically in the browser. The tool enables dynamic timestamp displays that transition from relative phrases to absolute dates based on configurable time thresholds. It includes capabilities for date tense restriction, forcing timestamps to display exclusively as past or future dates, and supports precise duratio
This library is a client-side tool designed to transform static date strings into automatically updating, human-readable relative time labels within web interfaces. It functions as a plugin that scans the document for specific elements and converts their content into dynamic expressions, such as minutes or hours ago, to provide context for recent activity. The system distinguishes itself by decoupling display logic from JavaScript through attribute-driven configuration, allowing settings and date values to be managed directly within HTML. It maintains accuracy by employing interval-based poll
Pendulum is a Python datetime library used for creating, manipulating, and formatting date and time objects with native timezone awareness. It extends the native Python datetime class to maintain compatibility while providing a specialized engine for date arithmetic and timezone management. The library features a dedicated ISO 8601 and RFC 3339 parser that converts standardized strings into date objects without requiring manual format strings. It also includes a relative time generator for producing natural language descriptions of time differences and a timezone management tool that automati
Cleave.js is a JavaScript library that applies real-time visual formatting to form fields as users type. It provides specialized utilities to enforce visual patterns for credit cards, phone numbers, dates, times, and large numerals. The library includes predefined formatting rules for common data types, such as detecting credit card issuers to apply correct spacing and managing country-specific regional patterns for international phone numbers. It also supports large numeral grouping using Western, Indian, and Chinese numbering systems. Users can define custom input patterns using specific b
react-intl is a React internationalization framework and locale-aware formatting tool. It serves as an i18n message formatting library and part of the FormatJS ecosystem, providing components and APIs to format dates, numbers, and messages within React applications. The framework uses the native browser Internationalization API to ensure numeric and temporal data adheres to specific cultural conventions. It implements a system for translating user-facing text and interpolating variables using standardized ICU message syntax. The project covers the broader requirements of React UI localizatio
vue-i18n is an internationalization framework and plugin for Vue.js applications. It serves as a dynamic translation manager and localization formatting library used to translate user interface text and format dates and numbers for global audiences. The project distinguishes itself through a dynamic translation workflow that supports asynchronous locale loading and the ability to reload translation messages in real-time without refreshing the page. It provides specialized mechanisms for rich text rendering, allowing the interpolation of HTML tags and Vue components directly into translated st
Makie.jl is a high-performance Julia data visualization library and hardware-accelerated plotting engine used to create interactive 2D and 3D visualizations. It functions as a reactive visualization framework where plots update automatically via observables and compute graphs, and as a vector graphics generator for high-resolution academic output. The system is distinguished by its backend-agnostic rendering pipeline, which supports OpenGL, WebGL, and ray-traced scenes. It employs a grammar-of-graphics approach to map variables to aesthetic attributes and utilizes a hierarchical scene graph t
Polyglot.js is a JavaScript internationalization library and client-side translation framework. It provides a system for mapping unique keys to localized strings, allowing applications to translate text into multiple languages. The library includes a pluralization and interpolation engine that handles complex grammatical plural forms based on numeric counts and inserts dynamic variables into translated strings. It supports nested namespaces to organize phrase mappings into logical categories. These utilities cover phrase translation, locale-driven configuration, and the management of multi-l
Globalize is a JavaScript internationalization library and Unicode CLDR localization engine. It provides a toolkit for formatting dates, numbers, and currencies using the Unicode Common Locale Data Repository and IANA time zones. The project features a build-time localization compiler that precompiles rules into static formatters to reduce runtime overhead and bundle size. It includes a system for parsing and formatting complex strings using the ICU MessageFormat syntax, supporting variables, pluralization, and gender inflections. The library covers a broad surface of localization capabiliti
AngularJS Internationalization Library is a localization framework for AngularJS 1.x applications. It functions as an i18n translation tool used to swap static user interface text with localized versions based on a selected locale. The framework manages multi-language content through asynchronous loading of translation files to minimize bundle size. It includes systems for handling pluralization rules and interpolating dynamic variables into translation strings. The project also provides capabilities for language switching and fallback-chain resolution to ensure a readable string is displaye
This library provides a set of tools for formatting numeric values and masking user input within React components. It includes a customizable text input wrapper that synchronizes raw numeric values with formatted display strings and a specialized input masking component for enforcing string patterns and templates during data entry. The project features a localized number formatter that utilizes browser localization APIs to apply regional grouping, prefixes, and suffixes. It supports specialized financial formatting, such as displaying negative values in parentheses, and provides the ability t
This project is a Ruby on Rails internationalization locale library that provides a comprehensive set of pre-translated translation files, currency symbols, and language-specific rules for numerous global languages. It serves as a multilingual translation dataset and a linguistic rule engine to ensure grammatically correct output across different alphabets and scripts. The system includes specialized tools for locale data validation and internationalization formatting. These utilities verify the structural integrity of translation files, identify missing keys or broken data, and normalize fil
number-flow is an animated number UI component that creates fluid vertical transitions between numeric values using digit-by-digit animations. It serves as a locale-aware number formatter that represents values according to regional cultural rules and browser internationalization standards. The component is designed for precise visual integration, exposing internal elements via CSS to allow for external styling. It incorporates accessibility features by detecting browser capabilities and respecting system-level reduced motion preferences. The project covers capabilities for dynamic data visu
Lingui is a JavaScript internationalization library that provides a framework-agnostic core with bindings for React, SolidJS, Svelte, Astro, and other JavaScript frameworks. It operates through a compile-time message extraction pipeline that scans source files for translatable strings, generates standard PO, JSON, or CSV catalog files, and compiles them into optimized JavaScript modules for production deployment. The library uses macro-based message definition to wrap translatable text in source code while preserving context for extraction, and includes a plural rule engine that automatically
Globalize is a JavaScript internationalization library that uses Unicode Common Locale Data Repository JSON data to provide localization services. It functions as a locale-aware string formatter and a system for transforming dates, times, currencies, and numeric values into strings based on specific locale patterns. The library includes a precompiled localization engine that generates optimized formatting functions during the build process. This approach reduces runtime overhead and removes the requirement to load raw locale data at execution. The project covers a broad range of internationa
Inflector is a linguistic data processing library designed to handle string transformations and grammatical inflection within PHP applications. It provides a centralized engine for converting words between singular and plural forms and standardizing text formats to ensure consistency across dynamic content and codebase naming conventions. The library distinguishes itself through a rule-based inflection engine that utilizes regular expression pattern matching to apply grammatical logic. Developers can extend this functionality using a configurable registry, which allows for the injection or ov
Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a wide array of custom functions that can be injected into the engine to enable complex data manipulation and logic directly within templates. The project offers specialized capabilities for cryptography, including the generation of private keys, X.509 certificates, and secure password hashes. It also includes advanced logic extensions for semantic versioning comparison, ternary evaluations, and the resolution of environment variables from the host operating system. The library co
Next-translate is a localization framework designed for Next.js applications that manages multi-language content through server-side integration and build-time optimization. It provides a comprehensive set of utilities for injecting translated strings into React components, enabling developers to handle dynamic content, pluralization, and locale-specific formatting within a unified architecture. The library distinguishes itself by optimizing application performance through selective resource loading. It parses translation files during the build process to generate page-specific bundles and su