torann / localization
Simple subdomain localization for Laravel.
Installs: 4 899
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^8.2
- illuminate/http: ^9.0|^10.0|^11.0
- illuminate/routing: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.4.4
- phpstan/phpstan: ^1.6
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.6
README
Simplified localization for Laravel based on the application's subdomain.
Table of Contents
- Installation
- Methods
- Helpers
- Determining Locale
- License
- Localization on Packagist
- Localization on GitHub
Installation
Composer
From the command line run:
$ composer require torann/localization
Laravel
Once installed you need to register the service provider with the application. Open up config/app.php
and find the providers
key.
'providers' => [ \Torann\Localization\LocalizationServiceProvider::class, ]
Publish the configurations
Run this on the command line from the root of your project:
php artisan vendor:publish --provider="Torann\Localization\LocalizationServiceProvider"
A configuration file will be published to config/localization.php
.
Methods
The following methods are available:
getDefaultLocale(): string
getCurrentLocale(): string
setLocale(string $locale = null): string|null
getLocales(): array
getLocale(string $key, mixed $default = null): mixed
getLocaleDirection(string $locale = 'current'): string
getLocaleKeys(): array
getLocalizedURL(string $url = null, mixed $locale = false, array $extra = []): string
isSupported(mixed $key): bool
getConfig(string $key, mixed $default = null): mixed
Helpers
Laravel Localization comes with a few helper methods
localization()
Returns the Torann\Localization\LocaleManager
instance.
localize_url($url = null, $locale = null, $attributes = []): string
Returns the given URL adapted to provided locale.
Determining Locale
By Subdomain
For this to work the subdomain needs to match an enabled supported locale key.
By Host
When the given subdomain is determined to not be valid the system can then set the locale depending on the current host. You'll need to set a map of your application's locales to hosts using the hosts configuration option.
License
Localization is open-sourced software licensed under the BSD 2-Clause License.