PHP code example of tobento / service-language
1. Go to this page and download the library: Download tobento/service-language library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once ('vendor/autoload.php' );
tobento / service-language example snippets
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \LanguageInterface ;
$languageFactory = new LanguageFactory();
$language = $languageFactory->createLanguage('en' );
var_dump($language instanceof LanguageInterface);
use Tobento \Service \Language \LanguageFactory ;
$languageFactory = new LanguageFactory();
$language = $languageFactory->createLanguage(
locale: 'en-US' ,
name: 'English' ,
key: 'en-us' ,
id: 1 ,
iso: 'en' ,
region: 'US' ,
slug: 'en' ,
directory: 'enUs' ,
direction: 'ltr' ,
area: 'frontend' ,
domain: 'example.com' ,
url: 'https://www.example.com' ,
fallback: 'en' ,
default : false ,
active: true ,
editable: true ,
order: 2 ,
);
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \LanguageInterface ;
$languageFactory = new LanguageFactory();
$language = $languageFactory->createLanguage('en-US' );
var_dump($language instanceof LanguageInterface);
var_dump($language->locale());
var_dump($language->iso());
var_dump($language->region());
var_dump($language->name());
var_dump($language->key());
var_dump($language->id());
var_dump($language->slug());
var_dump($language->directory());
var_dump($language->direction());
var_dump($language->area());
var_dump($language->domain());
var_dump($language->url());
var_dump($language->fallback());
var_dump($language->default());
var_dump($language->active());
var_dump($language->editable());
var_dump($language->order());
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \Languages ;
use Tobento \Service \Language \LanguagesInterface ;
$languageFactory = new LanguageFactory();
$languages = new Languages(
$languageFactory->createLanguage('en' , default : true ),
$languageFactory->createLanguage('de' , fallback: 'en' ),
$languageFactory->createLanguage('de-CH' , fallback: 'de' ),
$languageFactory->createLanguage('fr' , fallback: 'en' , active: false ),
$languageFactory->createLanguage('it' , fallback: 'de' , active: false ),
);
var_dump($languages instanceof LanguagesInterface);
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \Languages ;
use Tobento \Service \Language \LanguagesInterface ;
$languageFactory = new LanguageFactory();
$languages = new Languages(
...$languageFactory->createLanguagesFromArray([
['locale' => 'en' , 'default' => true ],
['locale' => 'de' , 'fallback' => 'en' ],
['locale' => 'fr' , 'fallback' => 'en' ],
])
);
var_dump($languages instanceof LanguagesInterface);
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \Languages ;
use Tobento \Service \Language \LanguagesInterface ;
use Tobento \Service \Language \LanguageInterface ;
$languageFactory = new LanguageFactory();
$languages = new Languages(
$languageFactory->createLanguage('en' , default : true ),
$languageFactory->createLanguage('de' , fallback: 'en' ),
);
$language = $languages->get('de-CH' );
var_dump($language instanceof LanguageInterface);
var_dump($languages->get('it' )->locale());
var_dump($languages->get('fr' , fallback: false )?->locale());
var_dump($languages->get('it' , fallback: false )?->locale());
var_dump($languages->has('de-CH' ));
var_dump($languages->has('fr' ));
use Tobento \Service \Language \LanguageInterface ;
$defaultLanguage = $languages->default();
var_dump($defaultLanguage instanceof LanguageInterface);
$languages->current('en' );
use Tobento \Service \Language \LanguageInterface ;
$currentLanguage = $languages->current();
var_dump($currentLanguage instanceof LanguageInterface);
use Tobento \Service \Language \LanguageInterface ;
$allLanguages = $languages->all();
foreach ($languages as $language) {}
$locales = $languages->column('locale' );
$locales = $languages->column('locale' , 'id' );
$fallbacks = $languages->fallbacks();
$fallbacks = $languages->fallbacks('id' );
$fallbacks = $languages->fallbacks('key' );
$fallbacks = $languages->fallbacks('slug' );
use Tobento \Service \Language \LanguageInterface ;
$fallbackLanguage = $languages->getFallback('de-CH' );
var_dump($fallbackLanguage instanceof LanguageInterface);
use Tobento \Service \Language \LanguageInterface ;
var_dump($languages->first() instanceof LanguageInterface);
$firstLanguage = $languages->first(activeOnly: false );
use Tobento \Service \Language \LanguageInterface ;
$languagesNew = $languages->filter(
fn(LanguageInterface $l): bool => $l->active()
);
use Tobento \Service \Language \LanguageInterface ;
$activeLanguages = $languages->active();
$inactiveLanguages = $languages->active(active: false );
use Tobento \Service \Language \LanguageInterface ;
$chLanguages = $languages->domain('example.ch' );
$undomainedLanguages = $languages->domain(null );
use Tobento \Service \Language \LanguageInterface ;
$languagesNew = $languages->map(
fn(LanguageInterface $l): LanguageInterface => $l->withName(strtoupper($l->name()))
);
use Tobento \Service \Language \LanguageInterface ;
$languagesNew = $languages->sort(
fn(LanguageInterface $a, LanguageInterface $b) => $a->locale() <=> $b->locale()
);
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \AreaLanguages ;
use Tobento \Service \Language \AreaLanguagesInterface ;
use Tobento \Service \Language \LanguagesFactoryInterface ;
$languageFactory = new LanguageFactory();
$areaLanguages = new AreaLanguages(
null ,
$languageFactory->createLanguage('en' , area: 'frontend' , default : true ),
$languageFactory->createLanguage('de' , area: 'frontend' , fallback: 'en' ),
$languageFactory->createLanguage('de-CH' , area: 'frontend' , fallback: 'de' ),
$languageFactory->createLanguage('en' , area: 'backend' , default : true ),
$languageFactory->createLanguage('de' , area: 'backend' , fallback: 'en' ),
);
var_dump($areaLanguages instanceof AreaLanguagesInterface);
use Tobento \Service \Language \LanguagesInterface ;
$frontendLanguages = $areaLanguages->get('frontend' );
var_dump($frontendLanguages instanceof LanguagesInterface);
var_dump($areaLanguages->get('api' ));
var_dump($areaLanguages->has('frontend' ));
use Tobento \Service \Language \LanguageFactory ;
use Tobento \Service \Language \Languages ;
use Tobento \Service \Language \LanguagesInterface ;
use Tobento \Service \Language \CurrentLanguageResolver ;
use Tobento \Service \Language \CurrentLanguageResolverInterface ;
use Tobento \Service \Language \CurrentLanguageResolverException ;
$languageFactory = new LanguageFactory();
$languages = new Languages(
$languageFactory->createLanguage('en' , default : true ),
$languageFactory->createLanguage('de' ),
);
$resolver = new CurrentLanguageResolver(
currentLanguage: 'fr' ,
allowFallbackToDefaultLanguage: false ,
);
var_dump($resolver instanceof CurrentLanguageResolverInterface);
try {
$resolver->resolve($languages);
} catch (CurrentLanguageResolverException $e) {
}