Beispiel #1
0
/**
 * Match locale to code at end of string.
 * @param string e.g. "something-fr_FR"
 * @return LocoLocale
 */
function loco_locale_resolve($s)
{
    $lc = '';
    $cc = '';
    if (preg_match('/(?:^|\\W)([a-z]{2,3})(?:(?:-|_)([a-z]{2}))?$/i', $s, $r)) {
        $lc = strtolower($r[1]);
        if (isset($r[2])) {
            $cc = strtoupper($r[2]);
            // handle situation when short domain part looks like language
            if (!LocoLocale::is_known_language($lc) && LocoLocale::is_known_language($cc)) {
                $lc = strtolower($cc);
                $cc = '';
            }
        }
    }
    return LocoLocale::init($lc, $cc);
}