Skip to content

Repository files navigation

#Lang PHP Multilanguage System

##install composer require undercloud/lang

##translates

// /en/message.phpreturn [
'hello' => 'Hello, :username',
'hobbies' => 'Your hobbies is: :hobbies'
];

##setup

require'vendor/autoload.php';
$lang = newUndercloud\Lang([
// translates path'root' => '/path/to/translates',
// list of user accepted, default parse http header Accept-Language'accept' => ['en', 'de'],
// list of supported translates'avail' => ['en','fr','de'],
// setup translates file handler, default PHP Arrays'parser' => newUndercloud\Lang\Parser\AbstractParser
]);
// Hello, John$lang('message.hello', ['username' => 'John']);
//Your hobbies is: music, football, web$lang('message.hobbies', ['hobbies': ['music', 'football', 'web']]);

##api

// parse Accept-Language header and return supported locales$lang->getLangsHttp();
// return primary locale name$lang->getPrimaryLocale();
// return fallback locale$lang->getFallBackLocale();

##parser By default avail two type of language files parsers Undercloud\Lang\Parser\DefaultParser and Undercloud\Lang\Parser\JsonParser, You can define you'r own parser:

// file based parseruseUndercloud\Lang\Parser\AbstractParser;
class MyOwnParser extends AbstractParser
{
publicfunctionparse()
{
$path = func_get_arg(0) . '.extension';
/*...*/
}
}

or

// database like parseruseUndercloud\Lang\Parser\AbstractParser;
class MyOwnParser extends AbstractParser
{
public$buildPath = false;
publicfunctionparse()
{
$locale = func_get_arg(0);
$entity = func_get_arg(1);
/*...*/
}
}

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages