Skip to content

SmetDenis/Lang

Repository files navigation

JBZoo Lang Build Status Coverage Status

Lightweight library for easy translation based on simple formats (php arrays, json, yml, ini)

License Latest Stable Version Scrutinizer Code Quality

Install

composer require jbzoo/lang:"1.x-dev"  # Last version
composer require jbzoo/lang            # Stable version

Usage

require_once './vendor/autoload.php'; // composer autoload.php

// Get needed classes
use JBZoo\Lang\Lang;

// Create
$lang = new Lang('en');                             // Pass language code (only two chars!)

// Paths, modules, overload
$lang->load('./somepath/glob/');                    // ./somepath/glob/langs/en.php
$lang->load('./somepath/glob/', 'module_name');     // ./somepath/glob/langs/en.module_name.php
$lang->load('./somepath/module/', 'module_name');   // ./somepath/module/langs/en.module_name.php (overload previous)

// Other formats
$lang->load('./somepath/glob/', null, 'php');   // ./somepath/glob/langs/en.php
$lang->load('./somepath/glob/', null, 'json');  // ./somepath/glob/langs/en.json
$lang->load('./somepath/glob/', null, 'ini');   // ./somepath/glob/langs/en.ini
$lang->load('./somepath/glob/', null, 'yml');   // ./somepath/glob/langs/en.yml  (Symfony/Yaml)

// Traslate
$lang->translate('message_key');                // Only global
$lang->translate('module_name.message_key');    // Check module "module_name" and after that global path

Speed of one(!) call method translate()

PHP 5.6.x - Minimum time ~0.05ms

PHP 7.0.x - Minimum time ~0.004ms

Unit tests and check code style

make
make test-all

License

MIT

About

Lightweight library for easy translation based on simple formats - array, json, yml, ini

Resources

License

Stars

Watchers

Forks

Packages

No packages published