aiken/i18next

PHP class for basic i18next functionality

dev-master 2017-06-24 09:58 UTC

This package is not auto-updated.

Last update: 2024-04-14 00:38:51 UTC


README

PHP class for basic i18next functionality.

Features

Usage

// init i18next instance
i18next::init('en');

// get translation by key
echo i18next::getTranslation('animal.dog');

Methods

i18next::init( string $languageKey [, string $path ] );

Loads translation files from given path. Looks for translation.json by default.

i18next::init('en', 'my/path/');
// loads my/path/translation.json

You can also use variables and split namespaces and languages to different files.

i18next::init('en', 'languages/__lng__/__ns__.json');
// loads languages/en/animal.json, languages/fi/animal.json, etc...

Method throws an exception if no files are found or the json can not be parsed.

mixed i18next::getTranslation( string $key [, array $variables ] );

Returns translated string by key.

i18next::getTranslation('animal.catWithCount', array('count' => 2, 'lng' => 'fi'));

boolean i18next::existTranslation( string $key );

Checks if translated string exists.

void i18next::setLanguage( string $language [, string $fallback ] );

Changes language.

array i18next::getMissingTranslations();

Gets an array of missing translations.

array(1) {
    [0]=> array(2) {
        ["language"]=> string(2) "en"
        ["key"]=> string(14) "animal.unknown"
    }
}

Multilines in JSON-arrays

You can have html content written with multilines in JSON File

{
	"en": {
		"common": {
			"thedoglovers": [
                "The Dog Lovers by Spike Milligan",
                "So they bought you",
                "And kept you in a",
                "Very good home"
            ]
        }
	}
}