PHPackages                             krinkle/intuition - 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. krinkle/intuition

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

krinkle/intuition
=================

Localisation library for PHP applications.

v2.3.6(2y ago)3944.0k↓30.4%25[1 issues](https://github.com/wikimedia/labs-tools-intuition/issues)4MITPHPPHP &gt;=7.2

Since May 22Pushed 1w ago13 watchersCompare

[ Source](https://github.com/wikimedia/labs-tools-intuition)[ Packagist](https://packagist.org/packages/krinkle/intuition)[ RSS](/packages/krinkle-intuition/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (4)Versions (29)Used By (4)

[![Packagist](https://camo.githubusercontent.com/71db27ce72cdf3e4e10797a1e198fe36ec97ec3ee6c44ac4aa3a912040a274b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b72696e6b6c652f696e74756974696f6e2e7376673f7374796c653d666c6174)](https://packagist.org/packages/krinkle/intuition)

Intuition
=========

[](#intuition)

**Intuition** is a localisation library for PHP applications. Intuition is designed for use by web applications on Wikimedia Toolforge, but is implemented as a standalone library that is available for any application via its Composer package.

It was originally developed in 2011 for use on [Wikimedia Toolserver](https://meta.wikimedia.org/wiki/Toolserver) (since then replaced by [Toolforge](https://wikitech.wikimedia.org/wiki/Portal:Toolforge)).

> Intuition (INTUI-tion) originally stood for "Internationalization for Toolserver's User Interface".

Intuition supports the *Banana Milkshake* message file format ([developed](https://github.com/wikimedia/jquery.i18n) for use in MediaWiki). We recommended [translatewiki.net](https://translatewiki.net) for managing translations, which allows contributors to translate and review message via a user-friendly interface, which are then periodically automatically exported in the Banana JSON format to your Git repository.

Install
-------

[](#install)

It's recommended you use [Composer](https://getcomposer.org).

- Run `composer require krinkle/intuition`.
- Include `vendor/autoload.php` in your program.

Usage
-----

[](#usage)

To use it in a tool, read the [Usage documentation](./docs/API.md).

Example:

```
require_once __DIR__ . '/vendor/autoload.php';

$int = new Intuition( 'mytool' );
$int->registerDomain( 'mytool', __DIR__ . '/i18n' );

echo $int->msg( 'example' );
```

Getting involved
----------------

[](#getting-involved)

Report issues by [creating a Phabricator task](https://phabricator.wikimedia.org/tag/intuition/).

Code coverage can be found at .

### Testing

[](#testing)

Use [Composer](https://getcomposer.org) for managing dependencies (such as [PHPUnit](https://phpunit.de)). Install Composer via your preferred package manager, or from [source](https://getcomposer.org/download/). Some tests also require [Node.js](https://nodejs.org/).

Prior to running tests, ensure presence of development dependencies:

```
composer install
```

Run the tests:

```
composer test
```

See also
--------

[](#see-also)

- [intuition-web](https://gerrit.wikimedia.org/g/labs/tools/intuition-web): The web interface to Intuition.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance63

Regular maintenance activity

Popularity43

Moderate usage in the ecosystem

Community36

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~133 days

Recently: every ~203 days

Total

28

Last Release

827d ago

Major Versions

v0.7.0 → v1.0.02018-08-15

v1.2.0 → v2.0.02019-05-13

PHP version history (3 changes)v0.2.0PHP &gt;=5.5

v1.0.0PHP &gt;=7.0

v2.1.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/a91173408bf645b6ff78a309a9e55bde405d29c72e2b1ae8ec9f9df1225f76c3?d=identicon)[Krinkle](/maintainers/Krinkle)

![](https://www.gravatar.com/avatar/a0281a00958518a98244b8a6052f91e86d1599aebf9b7bb6c55bca30d98774e7?d=identicon)[samwilson](/maintainers/samwilson)

---

Top Contributors

[![siebrand](https://avatars.githubusercontent.com/u/210297?v=4)](https://github.com/siebrand "siebrand (575 commits)")[![Krinkle](https://avatars.githubusercontent.com/u/156867?v=4)](https://github.com/Krinkle "Krinkle (389 commits)")[![raymondde](https://avatars.githubusercontent.com/u/4243486?v=4)](https://github.com/raymondde "raymondde (172 commits)")[![Nikerabbit](https://avatars.githubusercontent.com/u/1109395?v=4)](https://github.com/Nikerabbit "Nikerabbit (77 commits)")[![Telev](https://avatars.githubusercontent.com/u/3819848?v=4)](https://github.com/Telev "Telev (21 commits)")[![samwilson](https://avatars.githubusercontent.com/u/213655?v=4)](https://github.com/samwilson "samwilson (10 commits)")[![robinkrahl](https://avatars.githubusercontent.com/u/165115?v=4)](https://github.com/robinkrahl "robinkrahl (8 commits)")[![lokal-profil](https://avatars.githubusercontent.com/u/4129218?v=4)](https://github.com/lokal-profil "lokal-profil (6 commits)")[![Jarry1250](https://avatars.githubusercontent.com/u/1240019?v=4)](https://github.com/Jarry1250 "Jarry1250 (5 commits)")[![Hedonil](https://avatars.githubusercontent.com/u/6597782?v=4)](https://github.com/Hedonil "Hedonil (4 commits)")[![kenrick95](https://avatars.githubusercontent.com/u/3090380?v=4)](https://github.com/kenrick95 "kenrick95 (3 commits)")[![multichill](https://avatars.githubusercontent.com/u/2943827?v=4)](https://github.com/multichill "multichill (3 commits)")[![nemobis](https://avatars.githubusercontent.com/u/901528?v=4)](https://github.com/nemobis "nemobis (3 commits)")[![zhaofengli](https://avatars.githubusercontent.com/u/2189609?v=4)](https://github.com/zhaofengli "zhaofengli (2 commits)")[![amire80](https://avatars.githubusercontent.com/u/346271?v=4)](https://github.com/amire80 "amire80 (2 commits)")[![kaldari](https://avatars.githubusercontent.com/u/1707155?v=4)](https://github.com/kaldari "kaldari (2 commits)")[![reedy](https://avatars.githubusercontent.com/u/67615?v=4)](https://github.com/reedy "reedy (2 commits)")[![Meno25](https://avatars.githubusercontent.com/u/20322571?v=4)](https://github.com/Meno25 "Meno25 (1 commits)")[![aleksandar006](https://avatars.githubusercontent.com/u/35384502?v=4)](https://github.com/aleksandar006 "aleksandar006 (1 commits)")[![ricordisamoa](https://avatars.githubusercontent.com/u/4588496?v=4)](https://github.com/ricordisamoa "ricordisamoa (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/krinkle-intuition/health.svg)

```
[![Health](https://phpackages.com/badges/krinkle-intuition/health.svg)](https://phpackages.com/packages/krinkle-intuition)
```

###  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.

1927.0k1](/packages/smmoosavi-php-gettext)

PHPackages © 2026

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