Skip to content

Commit 00168e4

Browse files
committed
WIP
1 parent 4346870 commit 00168e4

File tree

3 files changed

+47
-15
lines changed

3 files changed

+47
-15
lines changed

README.md

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# WIP
22

3-
# Info
3+
# Laravel "Accept-Language" middleware
44

55
[![Latest Stable Version](https://poser.pugx.org/orkhanahmadov/laravel-accept-language-middleware/v/stable)](https://packagist.org/packages/orkhanahmadov/laravel-accept-language-middleware)
66
[![Latest Unstable Version](https://poser.pugx.org/orkhanahmadov/laravel-accept-language-middleware/v/unstable)](https://packagist.org/packages/orkhanahmadov/laravel-accept-language-middleware)
77
[![Total Downloads](https://img.shields.io/packagist/dt/orkhanahmadov/laravel-accept-language-middleware)](https://packagist.org/packages/orkhanahmadov/laravel-accept-language-middleware)
88
[![GitHub license](https://img.shields.io/github/license/orkhanahmadov/laravel-accept-language-middleware.svg)](https://github.com/orkhanahmadov/laravel-accept-language-middleware/blob/master/LICENSE.md)
99

10-
11-
12-
Description
10+
Laravel middleware for automatically setting application locale based on [HTTP "Accept-Language"](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) header
1311

1412
## Installation
1513

@@ -21,8 +19,42 @@ composer require orkhanahmadov/laravel-accept-language-middleware
2119

2220
## Usage
2321

22+
Register `\Orkhanahmadov\LaravelAcceptLanguageMiddleware\Middleware::class` middleware in application's HTTP Kernel.
23+
24+
You can install it as global middleware in Kernel's `$middleware` property:
25+
26+
``` php
27+
protected $middleware = [
28+
...
29+
\Orkhanahmadov\LaravelAcceptLanguageMiddleware\Middleware::class
30+
];
31+
```
32+
33+
You can install it to specific middleware groups in Kernel's `$middlewareGroups` property:
34+
35+
``` php
36+
protected $middlewareGroups = [
37+
'web' => [
38+
...
39+
\Orkhanahmadov\LaravelAcceptLanguageMiddleware\Middleware::class
40+
]
41+
];
42+
```
43+
44+
Or you can install is as route middleware in Kernel's `$routeMiddleware` and use it manually in routes:
45+
46+
Kernel:
47+
48+
``` php
49+
protected $routeMiddleware = [
50+
...
51+
'accept-language' => \Orkhanahmadov\LaravelAcceptLanguageMiddleware\Middleware::class
52+
];
53+
```
54+
55+
Route file
2456
``` php
25-
// Usage description here
57+
Route::middleware(['accept-language'])->get('/', 'MyController@index');
2658
```
2759

2860
### Testing
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Illuminate\Http\Request;
88
use Illuminate\Support\Collection;
99

10-
class HttpLocaleMiddleware
10+
class Middleware
1111
{
1212
/**
1313
* @var Application
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
use Illuminate\Http\Request;
66
use Illuminate\Support\Facades\App;
7-
use Orkhanahmadov\LaravelAcceptLanguageMiddleware\HttpLocaleMiddleware;
7+
use Orkhanahmadov\LaravelAcceptLanguageMiddleware\Middleware;
88

9-
class HttpLocaleMiddlewareTest extends TestCase
9+
class MiddlewareTest extends TestCase
1010
{
1111
public function test_with_single_locale()
1212
{
13-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
13+
$middleware = $this->app->make(Middleware::class);
1414
$request = Request::create('whatever', 'GET', [], [], [], [
1515
'HTTP_ACCEPT_LANGUAGE' => 'es'
1616
]);
@@ -23,7 +23,7 @@ public function test_with_single_locale()
2323

2424
public function test_with_single_with_country()
2525
{
26-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
26+
$middleware = $this->app->make(Middleware::class);
2727
$request = Request::create('whatever', 'GET', [], [], [], [
2828
'HTTP_ACCEPT_LANGUAGE' => 'es-US'
2929
]);
@@ -36,7 +36,7 @@ public function test_with_single_with_country()
3636

3737
public function test_with_single_with_country_and_quality_value()
3838
{
39-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
39+
$middleware = $this->app->make(Middleware::class);
4040
$request = Request::create('whatever', 'GET', [], [], [], [
4141
'HTTP_ACCEPT_LANGUAGE' => 'es-US;q=0.5'
4242
]);
@@ -49,7 +49,7 @@ public function test_with_single_with_country_and_quality_value()
4949

5050
public function test_with_multiple_locales()
5151
{
52-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
52+
$middleware = $this->app->make(Middleware::class);
5353
$request = Request::create('whatever', 'GET', [], [], [], [
5454
'HTTP_ACCEPT_LANGUAGE' => 'es, de'
5555
]);
@@ -62,7 +62,7 @@ public function test_with_multiple_locales()
6262

6363
public function test_with_multiple_locales_with_countries()
6464
{
65-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
65+
$middleware = $this->app->make(Middleware::class);
6666
$request = Request::create('whatever', 'GET', [], [], [], [
6767
'HTTP_ACCEPT_LANGUAGE' => 'es-US, de-DE'
6868
]);
@@ -75,7 +75,7 @@ public function test_with_multiple_locales_with_countries()
7575

7676
public function test_with_multiple_locales_with_countries_and_quality_value()
7777
{
78-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
78+
$middleware = $this->app->make(Middleware::class);
7979
$request = Request::create('whatever', 'GET', [], [], [], [
8080
'HTTP_ACCEPT_LANGUAGE' => 'es-AZ;q=0.7, de-DE;q=0.8'
8181
]);
@@ -88,7 +88,7 @@ public function test_with_multiple_locales_with_countries_and_quality_value()
8888

8989
public function test_with_mixed_locale_values()
9090
{
91-
$middleware = $this->app->make(HttpLocaleMiddleware::class);
91+
$middleware = $this->app->make(Middleware::class);
9292
$request = Request::create('whatever', 'GET', [], [], [], [
9393
'HTTP_ACCEPT_LANGUAGE' => 'fr-CH, de;q=0.7, fr;q=0.9, en;q=0.8, *;q=0.5'
9494
]);

0 commit comments

Comments
 (0)