PHPackages                             milqmedia/mq-locale - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. milqmedia/mq-locale

AbandonedLibrary[Localization &amp; i18n](/categories/localization)

milqmedia/mq-locale
===================

Automatic detection of locales for Zend Framework 3

0.1(10y ago)01.5kBSD-3-ClausePHPPHP &gt;=5.3.3.

Since May 19Pushed 9y ago5 watchersCompare

[ Source](https://github.com/milqmedia/mq-locale)[ Packagist](https://packagist.org/packages/milqmedia/mq-locale)[ Docs](https://github.com/milqmedia/mq-locale)[ RSS](/packages/milqmedia-mq-locale/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (7)Versions (7)Used By (0)

mq-locale
=========

[](#mq-locale)

[![Build Status](https://camo.githubusercontent.com/39f17dda60842e6ee756965214f30978e5fa2d2dcd16aeea6241d42ea261b14b/68747470733a2f2f7472617669732d63692e6f72672f6d696c716d656469612f6d712d6c6f63616c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/milqmedia/mq-locale)

A slimmed down version of a [SlmLocal](https://github.com/juriansluiman/SlmLocale) fork.

Introduction
------------

[](#introduction)

MQLocale is a Zend Framework 2 module to automatically detect a locale for your application. It uses a variety of pluggable strategies to search for a valid locale. MQLocale features a default locale, a set of supported locales and locale aliases.

MQLocale supports out of the box several strategies to search for a locale. Through interfaces, other strategies could be created. The set of default strategy is:

1. A part of the domain name (either the TLD or a subdomain)
2. The first segment of the path of an uri

Furthermore, it provides a set of additional localisation features:

1. A default locale, used as fallback
2. A set of aliases, so you can map `.com` as "en-US" in the hostname strategy
3. View helper and controller plugin to retrieve the current language
4. Doctrine Language entity to provide a reusable language object in projects

Installation
------------

[](#installation)

Add "milqmedia/mq-locale" to your composer.json file and update your dependencies. Enable MQLocale in your `application.config.php`.

If you do not have a composer.json file in the root of your project, copy the contents below and put that into a file called `composer.json` and save it in the root of your project:

```
{
    "require": {
        "milqmedia/mq-locale": "dev-master"
    }
}

```

Then execute the following commands in a CLI:

```
curl -s http://getcomposer.org/installer | php
php composer.phar install

```

Now you should have a `vendor` directory, including a `milqmedia/mq-locale`. In your bootstrap code, make sure you include the `vendor/autoload.php` file to properly load the MQLocale module.

Usage
-----

[](#usage)

Set your default locale in the configuration:

```
'mq_locale' => array(
    'default' => 'nl-NL',
),

```

Set all your supported locales in the configuration:

```
'mq_locale' => array(
    'supported' => array('en-US', 'en-GB'),
),

```

And enable a strategy. The naming is made via the following list:

- **host**: `MQLocale\Strategy\HostStrategy`
- **url**: `MQLocale\Strategy\UrlStrategy`

```
'mq_locale' => array(
    'strategy' => 'host'
),

```

At this moment, the locale should be detected. The locale is stored inside php's `Locale` object. Retrieve the locale with `Locale::getDefault()`. This is also automated inside Zend Framework 2 translator objects and i18n view helpers (so you do not need to set the locale yourself there).

### Set the locale's language in html

[](#set-the-locales-language-in-html)

It is common to provide the html with the used locale. This can be set for example in the `html` tag:

```

```

Inject the detected language here with the following code:

```
