jbzoo / lang
Lightweight library for easy translation based on simple formats (php arrays, json, yml, ini)
Installs: 2 008
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 0
Open Issues: 0
pkg:composer/jbzoo/lang
Requires
- php: >=5.4
- jbzoo/data: ^1.3
- jbzoo/path: ^1.0
Requires (Dev)
- jbzoo/phpunit: ^1.0
This package is auto-updated.
Last update: 2020-05-20 00:10:08 UTC
README
Lightweight library for easy translation based on simple formats (php arrays, json, yml, ini)
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