mashpie/i18n-node

Lightweight simple translation module for node.js / express.js with dynamic json storage. Uses common __('...') syntax in app and templates.

View on GitHub ↗Jump to charts ↓

mashpie/i18n-node has 3k+ stars and 400+ forks on GitHub, is written in JavaScript, and was last pushed on Sep 2, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on September 22nd, 2026
Created on March 25th, 2011
Open Issues & Pull Requests: 84 (+0)
GitHub issues: Enabled
Number of forks: 420
Total Stargazers: 3,114 (+0)
Total Subscribers: 33 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.2 days
Mean response time: 211.3 days
90th percentile: 1516.3 days
Tracked items: 8

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,142 days
Stale 30+ days: 6
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

i18n-node is a translation module for Node.js and Express.js applications that manages localized strings using JSON storage.

The tool solves the problem of adding multi-language support to Node.js applications without complex parsing or setup overhead. It uses the familiar __('...') syntax for translation calls throughout application code and templates. New translation strings are automatically detected and added to JSON language files the first time they are used, eliminating the need to manually maintain translation catalogs. Language files follow a format compatible with webtranslateit, and the module automatically detects the user's preferred language from the Accept-Language header, falling back to a configured default locale.

The project suits developers building Node.js or Express applications who need straightforward internationalization without heavyweight dependencies. It works with any framework that exposes an app.use() method and passes request and response objects. The tool offers two usage patterns: instances for applications requiring multiple independent configurations with encapsulated state, and singletons for simpler setups where configuration and state can be shared globally across modules. Instance-based usage is recommended as the better practice for complex applications, while singleton usage remains available for CLI scripts and simpler projects where shared global state is acceptable.

The project maintains active test coverage tracking and vulnerability monitoring. Development activity includes regular dependency updates and security scanning through established tools.