diff options
author | Thomas Willingham <founder@kakste.com> | 2014-05-22 19:39:28 +0100 |
---|---|---|
committer | Thomas Willingham <founder@kakste.com> | 2014-05-22 19:39:28 +0100 |
commit | 292601728430469f21b81d7055cd485a0efb491c (patch) | |
tree | 4d35371f101a26b69eb8dc6dc15c3be4a884258e /include/language.php | |
parent | b06fd69da84626c1e8c1d8b5dbda6f181027a782 (diff) | |
parent | 8e2771cbd409d56917e7d249d80a2c422609f540 (diff) | |
download | volse-hubzilla-292601728430469f21b81d7055cd485a0efb491c.tar.gz volse-hubzilla-292601728430469f21b81d7055cd485a0efb491c.tar.bz2 volse-hubzilla-292601728430469f21b81d7055cd485a0efb491c.zip |
Merge branch 'master' of https://github.com/friendica/red
Diffstat (limited to 'include/language.php')
-rw-r--r-- | include/language.php | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/include/language.php b/include/language.php index b43f5aacc..cfaa855dd 100644 --- a/include/language.php +++ b/include/language.php @@ -145,25 +145,29 @@ function load_translation_table($lang, $install = false) { /** * @brief translate string if translation exists. * - * @param s string that should get translated + * @param $s string that should get translated + * @param $ctx optional context to appear in po file * @return translated string if exsists, otherwise s + * */ -function t($s) { +function t($s,$ctx = '') { global $a; - if(x($a->strings,$s)) { - $t = $a->strings[$s]; + $cs = $ctx?"__ctx:".$ctx."__ ".$s:$s; + if(x($a->strings,$cs)) { + $t = $a->strings[$cs]; return is_array($t) ? $t[0] : $t; } return $s; } -function tt($singular, $plural, $count){ +function tt($singular, $plural, $count, $ctx = ''){ $a = get_app(); - if(x($a->strings,$singular)) { - $t = $a->strings[$singular]; + $cs = $ctx?"__ctx:".$ctx."__ ".$singular:$singular; + if(x($a->strings,$cs)) { + $t = $a->strings[$cs]; $f = 'string_plural_select_' . str_replace('-', '_', $a->language); if(! function_exists($f)) $f = 'string_plural_select_default'; @@ -210,8 +214,10 @@ function detect_language($s) { if($min_confidence === false) $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); // strip off bbcode - $naked_body = preg_replace('/\[(.+?)\]/', '', $s); + $naked_body = preg_replace('/\[(.+?)\]/', '', $naked_body); if(mb_strlen($naked_body) < intval($min_length)) { logger('detect language: string length less than ' . intval($min_length), LOGGER_DATA); return ''; |