# Multi-language support

**URL:** <https://discourse.slimframework.com/t/multi-language-support/2255>\
**Category:** Questions\
**Created:** [February 20, 2018, 3:59am UTC](https://discourse.slimframework.com/t/multi-language-support/2255 "2018-02-20T03:59:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![devRoshan](https://avatars.discourse-cdn.com/v4/letter/d/da6949/32.png) [@devRoshan](https://discourse.slimframework.com/u/devRoshan)\
**Post date:** [February 20, 2018, 3:59am UTC](https://discourse.slimframework.com/t/multi-language-support/2255/1 "2018-02-20T03:59:12Z")

</div>

I want to develop a REST api using slim and i want my response to be localized based on request’s locale . How can i do this in slim ?

---

<div class="post-metadata">

**Author:** ![odan](https://avatars.discourse-cdn.com/v4/letter/o/9de053/32.png) [@odan](https://discourse.slimframework.com/u/odan)\
**Post date:** [February 20, 2018, 10:08am UTC](https://discourse.slimframework.com/t/multi-language-support/2255/2 "2018-02-20T10:08:29Z")

</div>

I don’t know your exact requirements and your description is too vague. It’s hard to guess what’s the right solution for you. But you could implement a custom middleware. Here is a small example as inspiration:

```php
// Browser language detection middleware
$app->add(function (Request $request, Response $response, $next) {
    $language = $request->getHeader('accept-language')[0];
    $language = explode(',', $language)[0];
    $language = explode('-', $language)[0];

    $request = $request->withAttribute('language', $language);

    return $next($request, $response);
});

```
