langpack.js
v2.0.1
Published
A simple but powerful language manager
Downloads
5
Readme
Langpack.js
Lightweight Language Management for Node.js
Developed by Alataq · Maintained by Nerexon
Project Page · Company Website
Installation
npm install langpack.js Basic Usage
- Create a
languagesdirectory with JSON files (e.g.,en.json,fr.json) - Initialize the manager:
const { LanguageManager } = require('langpack.js');
const translator = new LanguageManager('./languages');- Use translations:
console.log(translator.get("en", "greeting")); // "Hello"
console.log(translator.get("fr", "user.welcome", {name: 'Pierre'})); // "Bienvenue Pierre !"Language File Examples
/languages/en.json
{
"greeting": "Hello",
"user": {
"welcome": "Welcome {name}!",
"notifications": "You have {count} new messages"
}
}/languages/fr.json
{
"greeting": "Bonjour",
"user": {
"welcome": "Bienvenue {name} !",
"notifications": "Vous avez {count} nouveaux messages"
}
}Key Features
- 📂 Automatic File Loading: Loads all
.jsonfiles from a directory - 🔍 Dot Notation Support: Access nested keys like
user.welcome - 🛠 Variable Replacement: Use
{variable}syntax in translations - ⚡ Zero Dependencies: Pure Node.js implementation
API Documentation
new LanguageManager(directoryPath, [separator = '.'])
| Param | Description |
|-------|-------------|
| directoryPath | Path to language files directory |
| separator | Key separator for nested objects (default: .) |
Translator.get(key, [variables])
translator.get("en", "user.notifications", {count: 5});
// Returns "You have 5 new messages"Error Handling
- Throws error if directory doesn't exist
- Returns original key if translation missing
- Silent failure for invalid JSON files (logs to console)
License
ISC License
Copyright © Nerexon
