manually mergin PR #551

This commit is contained in:
Serghey Rodin 2016-06-27 12:08:55 +03:00
commit a9d8332565
2 changed files with 263 additions and 725 deletions

View file

@ -1,49 +1,49 @@
<?php <?php
// Functions for internationalization // Functions for internationalization
/** /**
* Translates string to given language in first parameter, key given in second parameter (dynamically loads required language). Works like spritf from second parameter * Translates string to given language in first parameter, key given in second parameter (dynamically loads required language). Works like spritf from second parameter
* @global array $LANG Associative array of language pharses * @global array $LANG Associative array of language pharses
* @return string Translated string * @return string Translated string
*/ */
function _translate() { function _translate() {
global $LANG; global $LANG;
$args = func_get_args(); $args = func_get_args();
$l = $args[0]; $l = $args[0];
if (!$l) return 'NO LANGUAGE DEFINED'; if (!$l) return 'NO LANGUAGE DEFINED';
$key = $args[1]; $key = $args[1];
if (!isset($LANG[$l])) { if (!isset($LANG[$l])) {
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
} }
if (!isset($LANG[$l][$key])) { if (!isset($LANG[$l][$key])) {
$text=$key; $text=$key;
} else { } else {
$text=$LANG[$l][$key]; $text=$LANG[$l][$key];
} }
array_shift($args); array_shift($args);
if (count($args)>1) { if (count($args)>1) {
$args[0] = $text; $args[0] = $text;
return call_user_func_array("sprintf",$args); return call_user_func_array("sprintf",$args);
} else { } else {
return $text; return $text;
} }
} }
/** /**
* Translates string by a given key in first parameter to current session language. Works like sprintf * Translates string by a given key in first parameter to current session language. Works like sprintf
* @global array $LANG Associative array of language pharses * @global array $LANG Associative array of language pharses
* @return string Translated string * @return string Translated string
* @see _translate() * @see _translate()
*/ */
function __() { function __() {
$args = func_get_args(); $args = func_get_args();
array_unshift($args,$_SESSION['language']); array_unshift($args,$_SESSION['language']);
return call_user_func_array("_translate",$args); return call_user_func_array("_translate",$args);
} }
/** /**
@ -120,4 +120,4 @@ function detect_user_language($fallback='en') {
function detect_login_language(){ function detect_login_language(){
} }

File diff suppressed because it is too large Load diff