Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ClojureScript
  3. Tempura

Tempura

EPL-1.0Clojurev1.5.4

A simple, developer-friendly text localization library for Clojure and ClojureScript applications.

Visit WebsiteGitHubGitHub
264 stars18 forks0 contributors

What is Tempura?

Tempura is a text localization library designed for Clojure and ClojureScript applications. It simplifies the process of supporting multilingual text by providing a single-function API that allows developers to embed default content directly in code and manage versioned translations. It solves the problem of adding internationalization without bogging down development with complex setup.

Target Audience

Clojure and ClojureScript developers building applications that require multilingual text support, particularly those who value a simple API and incremental localization.

Value Proposition

Developers choose Tempura for its minimal API, gettext-like convenience with enhanced versioning, high performance through compilation, and flexibility with formats like Hiccup and React.js, all while focusing solely on translation.

Overview

Simple text localization library for Clojure/Script

Use Cases

Best For

  • Adding multilingual text support to Clojure web applications
  • Localizing ClojureScript React.js components with Hiccup
  • Projects needing incremental localization without early complexity
  • Applications requiring versioned translation content
  • Developers preferring a simple, single-function API for translations
  • Teams using EDN for configuration and wanting EDN-based dictionaries

Not Ideal For

  • Projects requiring full i18n support including date, time, and number formatting
  • Teams where non-Clojure developers manage translations due to EDN-centric dictionaries
  • Applications needing a GUI-based translation management system for non-technical users
  • Simple use cases where basic string interpolation suffices without versioning or Hiccup output

Pros & Cons

Pros

Minimal API

Centered on a single translation function (tr), it simplifies integration and usage without complex setup, as highlighted in the README's focus on developer experience.

Flexible Output Formats

Works out-of-the-box with plain text, Hiccup, React.js, and optional Markdown-like styles, allowing seamless integration into diverse UI frameworks.

High Performance

Uses compilation and smart caching to match or exceed Clojure's `format` performance, ensuring efficient translations in production applications.

Versioned Content Support

Exceeds gettext by handling unique content IDs for versioned translations, useful for evolving projects with changing text requirements.

Cons

Limited i18n Scope

Focuses solely on text translation, lacking built-in support for other i18n aspects like date, time, or number formatting, which the README explicitly notes as out of scope.

Clojure-Centric Dictionaries

Uses EDN format, which is specific to Clojure ecosystems, making it less accessible for teams using other technologies or preferring standard formats like JSON without conversion steps.

No Management GUI

Translation management is code-based, relying on EDN files, which may not suit workflows requiring visual tools for non-developers or collaborative editing.

Frequently Asked Questions

Quick Stats

Stars264
Forks18
Contributors0
Open Issues5
Last commit2 years ago
CreatedSince 2016

Tags

#hiccup#gettext#clojurescript#library#taoensso#internationalization#react-integration#text-processing#edn#epl#i18n#clojure#localization#translation

Built With

C
Clojure
E
EDN
C
ClojureScript

Links & Resources

Website

Included in

ClojureScript1.1k
Auto-fetched 17 hours ago

Related Projects

TowerTower

i18n & L10n library for Clojure/Script

Stars278
Forks24
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub