PHPackages                             jaeger-app/language - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. jaeger-app/language

AbandonedArchivedLibrary[Localization &amp; i18n](/categories/localization)

jaeger-app/language
===================

A simple language abstraction to simply keep copy out of your code. This is NOT a translation library.

0.1.2(9y ago)05066MITPHPPHP &gt;=5.4.0

Since Apr 20Pushed 9y ago1 watchersCompare

[ Source](https://github.com/jaeger-app/language)[ Packagist](https://packagist.org/packages/jaeger-app/language)[ RSS](/packages/jaeger-app-language/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (3)Versions (4)Used By (6)

Jaeger Language Object
======================

[](#jaeger-language-object)

[![Build Status](https://camo.githubusercontent.com/70f9e9a57ff6ed70713be1b6951ff32a927be401c7c7ceb01617bc69694cc7c5/68747470733a2f2f7472617669732d63692e6f72672f6a61656765722d6170702f6c616e67756167652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/jaeger-app/language)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/e4b8df1af7b0a1d6ffc36dc196d79f2f16009d2baedea72497945f2e99d011c0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6a61656765722d6170702f6c616e67756167652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/jaeger-app/language/?branch=master)[![Author](https://camo.githubusercontent.com/125fbdac4bce1d0b560eb4a34b10e11849db5b79150219c1118cac66a4630297/687474703a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d406d697468726136322d626c75652e7376673f7374796c653d666c61742d737175617265)](https://twitter.com/mithra62)[![GitHub license](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://raw.githubusercontent.com/jaeger-app/bootstrap/master/LICENSE)

A simple language abstraction to simply keep copy out of your code. This is NOT a translation library.

Installation
------------

[](#installation)

Add `jaeger-app/language` as a requirement to your `composer.json`:

```
$ composer require jaeger-app/language
```

Simple Usage
------------

[](#simple-usage)

To get started with `JaegerApp\Language` you pass system paths to directories containing language files which are used for a simple replacement.

```
$lang = new Language;
$lang_path = '/path/to/language/files';
$lang->init($lang_path);

echo $lang->__('backup_success_message');
```

You can also pass an array of paths to the constructor to bulk load language files

```
$paths = array(
	'/path/to/language1',
	'/path/to/language2',
	'/path/to/language3'
);
$lang = new Language($paths);
```

Language File Format
--------------------

[](#language-file-format)

The language files are a simple key =&gt; value array called `$lang`

```
$lang = array(
	'backup_success_message' => 'Backup Complete!',
	'backup_fail_message' => 'Backup Failed...',
);
```

You can store multiple language files in the same directory as well as add multiple directories so keeping content organized shouldn't hurt too much.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~112 days

Total

3

Last Release

3500d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/042722642fab9b3e2f7b0711428b40053a2be0d6a1b752e50e7a7fffd06fb712?d=identicon)[mithra62](/maintainers/mithra62)

---

Top Contributors

[![eric-lamb62](https://avatars.githubusercontent.com/u/1008036?v=4)](https://github.com/eric-lamb62 "eric-lamb62 (16 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jaeger-app-language/health.svg)

```
[![Health](https://phpackages.com/badges/jaeger-app-language/health.svg)](https://phpackages.com/packages/jaeger-app-language)
```

###  Alternatives

[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1926.6k1](/packages/smmoosavi-php-gettext)[laradevs/spanish

labels translated to spanish

166.7k](/packages/laradevs-spanish)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
