⬆️ Update Text_LanguageDetect.
Update from v0.3.0 (2012) to v1.0.0 (2017) which should remove some warnings and improve PHP7 support. Using composer to handle this PEAR library now. Fix a problem in FeedutilsTest.
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
*
|
||||
* Get the language setting directly from system variables, bypassing get_config()
|
||||
* as database may not yet be configured.
|
||||
*
|
||||
*
|
||||
* If possible, we use the value from the browser.
|
||||
*
|
||||
* @return array with ordered list of preferred languages from browser
|
||||
@@ -28,7 +28,7 @@ function get_browser_language() {
|
||||
|
||||
if (x($_SERVER, 'HTTP_ACCEPT_LANGUAGE')) {
|
||||
// break up string into pieces (languages and q factors)
|
||||
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
|
||||
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
|
||||
$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
|
||||
|
||||
if (count($lang_parse[1])) {
|
||||
@@ -40,7 +40,7 @@ function get_browser_language() {
|
||||
if ($val === '') $langs[$lang] = 1;
|
||||
}
|
||||
|
||||
// sort list based on value
|
||||
// sort list based on value
|
||||
arsort($langs, SORT_NUMERIC);
|
||||
}
|
||||
}
|
||||
@@ -52,7 +52,7 @@ function get_browser_language() {
|
||||
* @brief Returns the best language for which also a translation exists.
|
||||
*
|
||||
* This function takes the results from get_browser_language() and compares it
|
||||
* with the available translations and returns the best fitting language for
|
||||
* with the available translations and returns the best fitting language for
|
||||
* which there exists a translation.
|
||||
*
|
||||
* If there is no match fall back to config['system']['language']
|
||||
@@ -243,11 +243,9 @@ function string_plural_select_default($n) {
|
||||
*
|
||||
* @see http://pear.php.net/package/Text_LanguageDetect
|
||||
* @param string $s A string to examine
|
||||
* @return Language code in 2-letter ISO 639-1 (en, de, fr) format
|
||||
* @return string Language code in 2-letter ISO 639-1 (en, de, fr) format
|
||||
*/
|
||||
function detect_language($s) {
|
||||
require_once('Text/LanguageDetect.php');
|
||||
|
||||
$min_length = get_config('system', 'language_detect_min_length');
|
||||
if ($min_length === false)
|
||||
$min_length = LANGUAGE_DETECT_MIN_LENGTH;
|
||||
@@ -257,7 +255,7 @@ function detect_language($s) {
|
||||
$min_confidence = LANGUAGE_DETECT_MIN_CONFIDENCE;
|
||||
|
||||
// embedded apps have long base64 strings which will trip up the detector.
|
||||
$naked_body = preg_replace('/\[app\](.*?)\[\/app\]/','',$s);
|
||||
$naked_body = preg_replace('/\[app\](.*?)\[\/app\]/', '', $s);
|
||||
// strip off bbcode
|
||||
$naked_body = preg_replace('/\[(.+?)\]/', '', $naked_body);
|
||||
if (mb_strlen($naked_body) < intval($min_length)) {
|
||||
@@ -381,7 +379,7 @@ function lang_selector() {
|
||||
$o = replace_macros($tpl, array(
|
||||
'$title' => t('Select an alternate language'),
|
||||
'$langs' => array($lang_options, $selected),
|
||||
|
||||
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
||||
Reference in New Issue
Block a user