dartui/browser-language

1.0.0 2021-04-16 09:49 UTC

This package is auto-updated.

Last update: 2024-04-27 22:45:11 UTC


README

Detect languages supported by user browser in PHP.

How it works?

While requesting for data, browsers are sending Accept-Language header to server. It contains information about which language user can understand. We can use this value to serve content for users with their preferred language automatically.

Unfortunately, Accept-Language header is a bit complicated and needs parsing. That is the reason why you may need this package.

Installation

Use composer to install package in your project.

composer require dartui/browser-language

Usage

use Dartui\BrowserLanguage\BrowserLanguage;

/**
 * Constructor tries to get Accept-Language value from $_SERVER superglobal.
 */
$browserLanguage = new BrowserLanguage();

/**
 * Additionally you can pass Accept-Language header value
 * or hardcoded value by yourself.
 */
$browserLanguage = new BrowserLanguage('en-US,en;q=0.5,pl;q=0.3');

/**
 * Get the list of all supported languages sorted by factor.
 * Example: [en-US, en, pl]
 */
$allLanguages = $browserLanguage->all();

/**
 * Get the best match for user browser language.
 * Example: en-US
 */
$language = $browserLanguage->best();