/i18next-php

Restoration of pkly/i18next-php

Primary LanguagePHPMIT LicenseMIT

i18next-php

A port of i18next in PHP. With a rest API. (coming soon [tm])

Code in this repository is largely based on the original code base in JavaScript, rewritten in PHP. This project focuses only on the newest version of i18next, disregarding compatibility with previous ones.

Warning!

This version is usable, but could contain bugs. If you find any issues please report them or create a PR.

Features

  • PSR3 logging support (psr/log is a hard requirement, but you're not required to actually use a logger)
  • Extremely similar API to the JS version
  • PHP-specific features like interfaces for modules
  • PHP 8.0+
  • Automatic language detection support
  • JSON v4 (required)

Usage

View all examples here

Basic example

// You can also use I18n globally via I18n::get()

$i18n = new I18n([
    'lng'           =>  'en',
    'resources'     =>  [
        'en'        =>  [
            'translation'       =>  [
                'key'           =>  'Value',
                'key_other '    =>  'Value plural',
                'deeper'        =>  [
                    'key'           =>  'Deep value'
                ]
            ]
        ]
    ]
]);

$i18n->t('key'); // "Value"
$i18n->t('key', ['count' => 5]); // "Value plural"
$i18n->t('deeper.key'); // "Depp value"

Composer

Simply enter your project directory and run

composer require it-tem-papa/i18next-php

Todo

  • Add event emitting

Packagist

Visit the page here