function ut_main() { $loc_ranges = array('de-de', 'sl_IT', 'sl_IT_Nedis', 'jbo', 'art-lojban', 'sl_IT'); $lang_tags = array('de-DEVA', 'de-DE-1996', 'de-DE', 'zh_Hans', 'de-CH-1996', 'sl_IT', 'sl_IT_nedis-a-kirti-x-xyz', 'sl_IT_rozaj', 'sl_IT_NEDIS_ROJAZ_1901', 'i-enochian', 'sgn-CH-de', 'art-lojban', 'i-lux', 'art-lojban', 'jbo', 'en_sl_IT'); $res_str = ''; $isCanonical = false; foreach ($loc_ranges as $loc_range) { foreach ($lang_tags as $lang_tag) { $res_str .= "--------------\n"; $result = ut_loc_locale_filter_matches($lang_tag, $loc_range, $isCanonical); $res_str .= "loc_range:{$loc_range} matches lang_tag {$lang_tag} ? "; if ($result) { $res_str .= "YES\n"; } else { $res_str .= "NO\n"; } //canonicalized version $result = ut_loc_locale_filter_matches($lang_tag, $loc_range, !$isCanonical); $can_loc_range = ut_loc_canonicalize($loc_range); $can_lang_tag = ut_loc_canonicalize($lang_tag); $res_str .= "loc_range:{$can_loc_range} canonically matches lang_tag {$can_lang_tag} ? "; if ($result) { $res_str .= "YES\n"; } else { $res_str .= "NO\n"; } } } $res_str .= "\n"; return $res_str; }
function ut_main() { $loc_ranges = array('de-de', 'sl_IT', 'sl_IT_Nedis', 'jbo', 'art-lojban'); $lang_tags = array('de-DEVA', 'de-DE-1996', 'de-DE', 'zh_Hans', 'de-CH-1996', 'sl_IT', 'sl_IT_nedis-a-kirti-x-xyz', 'sl_IT_rozaj', 'sl_IT_NEDIS_ROJAZ_1901', 'i-enochian', 'sgn-CH-de', 'art-lojban', 'i-lux', 'art-lojban', 'jbo', 'en_sl_IT', 'zh-Hant-CN-x-prv1-prv2'); $res_str = ''; $isCanonical = false; foreach ($loc_ranges as $loc_range) { $res_str .= "--------------\n"; $result = ut_loc_locale_lookup($lang_tags, $loc_range, $isCanonical, "en_US"); $comma_arr = implode(",", $lang_tags); $res_str .= "loc_range:{$loc_range} \nlang_tags: {$comma_arr}\n"; $res_str .= "\nlookup result:{$result}\n"; //canonicalized version $result = ut_loc_locale_lookup($lang_tags, $loc_range, !$isCanonical, "en_US"); $can_loc_range = ut_loc_canonicalize($loc_range); $res_str .= "Canonical lookup result:{$result}\n"; } $res_str .= "\n"; return $res_str; }