rocketip/phplocale

PHPLocale:根据 HTTP "Accept-Language" 标头获取可用区域设置

dev-master 2016-07-10 18:45 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:57:39 UTC


README

StyleCI Status Build Status Software License

PHPLocale:根据 HTTP "Accept-Language" 标头获取可用区域设置

Composer

composer require rocketip/phplocale

方法

getLanguage

<?php
use PHPLocale\HttpAcceptLanguage;

// Force HTTP_ACCEPT_LANGUAGE with values: fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3';

$acceptLanguages = new HttpAcceptLanguage();
echo $acceptLanguages->getLanguage();

上述示例将输出

fr-BE

getLanguages

<?php
use PHPLocale\HttpAcceptLanguage;

// Force HTTP_ACCEPT_LANGUAGE with values: fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3';

$acceptLanguages = new HttpAcceptLanguage();
print_r($acceptLanguages->getLanguages());

上述示例将输出

Array
(
    [0] => fr-BE
    [1] => fr
    [2] => en-US
    [3] => en
    [4] => es
)

getRawLanguages

<?php
use PHPLocale\HttpAcceptLanguage;

// Force HTTP_ACCEPT_LANGUAGE with values: fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr-BE,fr;q=0.8,en-us;q=0.5,en;q=0.4,es;q=0.3';

$acceptLanguages = new HttpAcceptLanguage();
print_r($acceptLanguages->getRawLanguages());

上述示例将输出

Array
(
    [0] => Array
        (
            [ISO639-1] => fr
            [ISO3166-1] => BE
            [RFC1766] => fr-BE
            [q] => 1
        )

    [1] => Array
        (
            [ISO639-1] => fr
            [q] => 0.8
        )

    [2] => Array
        (
            [ISO639-1] => en
            [ISO3166-1] => US
            [RFC1766] => en-US
            [q] => 0.5
        )

    [3] => Array
        (
            [ISO639-1] => en
            [q] => 0.4
        )

    [4] => Array
        (
            [ISO639-1] => es
            [q] => 0.3
        )

)

要求

PHP 5 (>= 5.4.0)

编码风格

PHPLocale 遵循 PSR-2 编码标准和 PSR-4 自动加载标准。

PHPDoc

以下是一个有效的 PHPLocale 文档块的示例。请注意,@param 属性后跟两个空格,然后是参数类型,再跟两个空格,最后是变量名

/**
 * Parse a language and return language like: 'fr' or 'fr-BE'.
 *
 * @param  array  $language
 *
 * @return string
 */
public function parseLanguage($language)
{
    //
}

StyleCI

如果你的代码风格不够完美,别担心!StyleCI 将在合并任何 pull request 后自动将样式修正合并到 PHPLocale 仓库中。这让我们可以专注于贡献的内容,而不是代码风格。

贡献

感谢您考虑为 PHPLocale 贡献

  • 要报告问题或功能请求,请使用: GitHub Issues
  • 要发起 Pull Request:检查是否已存在相同的 pull request,分叉此项目,为每个问题或功能创建一个新的分支。

许可证

PHPLocale 是开源软件,采用 MIT 许可证。