krinkle / intuition
Localisation library for PHP applications.
Requires
- php: >=7.2
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 32.0.0
- php-coveralls/php-coveralls: ^2.4
- php-parallel-lint/php-parallel-lint: ^1.0.0
- phpunit/phpunit: ^8.5.13
README
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 (since then replaced by Toolforge).
Intuition (INTUI-tion) originally stood for "Internationalization for Toolserver's User Interface".
Intuition supports the Banana Milkshake message file format (developed for use in MediaWiki). We recommended 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
It's recommended you use Composer.
- Run
composer require krinkle/intuition
. - Include
vendor/autoload.php
in your program.
Usage
To use it in a tool, read the Usage documentation.
Example:
require_once __DIR__ . '/vendor/autoload.php'; $int = new Intuition( 'mytool' ); $int->registerDomain( 'mytool', __DIR__ . '/i18n' ); echo $int->msg( 'example' );
Getting involved
Report issues by creating a Phabricator task.
Code coverage can be found at https://doc.wikimedia.org/cover/labs-tools-intuition/.
Testing
Use Composer for managing dependencies (such as PHPUnit). Install Composer via your preferred package manager, or from source. Some tests also require Node.js.
Prior to running tests, ensure presence of development dependencies:
composer install
Run the tests:
composer test
See also
- intuition-web: The web interface to Intuition.