zooxsmart / los-i18n
I18N middleware providing route and country, region and language lists in all languages
Fund package maintenance!
Lansoweb
Requires
- php: ^8.2
- ext-json: *
- psr/container: ^1.0 || ^2.0
Requires (Dev)
- doctrine/coding-standard: ^12.0.0
- ergebnis/composer-normalize: ^2.39
- phpstan/phpstan: ^1.10.39
- squizlabs/php_codesniffer: ^3.7.2
- vimeo/psalm: ^5.15
Suggests
- zoxsmart/los-i18n-data: Data files for LosI18n.
README
Introduction
This middleware provides list of Languages, Countries and Regions translated to all languages.
Requirements
PHP 7.4 | 8.0 and any container-interopt compatible project.
Installation
composer require zooxsmart/los-i18n
Optionally, copy the config file to your project.
I18n Data
This module needs data from los-i18n-data. So you need either to add the module to you project:
Adding the los-i18n-data
composer require zooxsmart/los-i18n-data
File format
There are 3 formats: php, json and csv. If you need to import the json file, it's located: vendor/zooxsmart/los-i18n-data/data//languages.json vendor/zooxsmart/los-i18n-data/data//countries.json vendor/zooxsmart/los-i18n-data/data//regions.json
Usage
Language list
$languagesService = $sm->get('losi18n-countries'); // All languages translated to pt_BR $languages = $countriesService->getAllLanguages('pt_BR'); // All languages in their native names $languages = $countriesService->getNativeLanguages(); // Brazilian Portuguese in English $language = $countriesService->getLanguage('pt_BR', 'en);
Country list
$countriesService = $sm->get('losi18n-countries'); // All officially assigned countries translated to English $countries = $countriesService->getAllCountries('en'); // All countries translated to English $countries = $countriesService->getAllCountries('en', false); // United States translated to Brazilian Portuguese $country = $countriesService->getCountry('US','pt_BR');
Region list
$regionsService = $sm->get('losi18n-regions'); $regions = $countriesService->getAllRegions('pt_BR');