1
0
mirror of https://github.com/serghey-rodin/vesta.git synced 2025-03-12 04:36:25 -07:00

Split duplicated functions into web/inc/i18n.php

This commit is contained in:
Flat 2015-11-23 18:40:36 +09:00
parent 875474a951
commit 05b76fefb2
3 changed files with 52 additions and 87 deletions

47
web/inc/i18n.php Normal file

@ -0,0 +1,47 @@
<?php
// 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
* @global array $LANG Associative array of language pharses
* @return string Translated string
*/
function _translate() {
global $LANG;
$args = func_get_args();
$l = $args[0];
if (!$l) return 'NO LANGUAGE DEFINED';
$key = $args[1];
if (!isset($LANG[$l])) {
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
}
if (!isset($LANG[$l][$key])) {
$text=$key;
} else {
$text=$LANG[$l][$key];
}
array_shift($args);
if (count($args)>1) {
$args[0] = $text;
return call_user_func_array("sprintf",$args);
} else {
return $text;
}
}
/**
* Translates string by a given key in first parameter to current session language. Works like sprintf
* @global array $LANG Associative array of language pharses
* @return string Translated string
* @see _translate()
*/
function __() {
$args = func_get_args();
array_unshift($args,$_SESSION['language']);
return call_user_func_array("_translate",$args);
}

@ -1,6 +1,8 @@
<?php
session_start();
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n.php');
// Check system settings
if ((!isset($_SESSION['VERSION'])) && (!defined('NO_AUTH_REQUIRED'))) {
session_destroy();
@ -14,63 +16,15 @@ if ((!isset($_SESSION['user'])) && (!defined('NO_AUTH_REQUIRED'))) {
$_SESSION['request_uri'] = $_SERVER['REQUEST_URI'];
header("Location: /login/");
exit;
}
if (isset($_SESSION['user'])) {
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php');
if(!isset($_SESSION['token'])){
$token = uniqid(mt_rand(), true);
$_SESSION['token'] = $token;
}
}
/**
* Translates string by a given key in first parameter to current session language. Works like sprintf
* @global array $LANG Associative array of language pharses
* @return string Translated string
* @see _translate()
*/
function __() {
$args = func_get_args();
array_unshift($args,$_SESSION['language']);
return call_user_func_array("_translate",$args);
}
/**
* 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
* @return string Translated string
*/
function _translate() {
global $LANG;
$args = func_get_args();
$l = $args[0];
if (!$l) return 'NO LANGUAGE DEFINED';
$key = $args[1];
if (!isset($LANG[$l])) {
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
}
if (!isset($LANG[$l][$key])) {
$text=$key;
} else {
$text=$LANG[$l][$key];
}
array_shift($args);
if (count($args)>1) {
$args[0] = $text;
return call_user_func_array("sprintf",$args);
} else {
return $text;
}
}
define('VESTA_CMD', '/usr/bin/sudo /usr/local/vesta/bin/');
$i = 0;

@ -1,47 +1,11 @@
<?php
session_start();
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n.php');
if (empty($_SESSION['language'])) {
$_SESSION['language'] = 'en';
}
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php');
if (!function_exists('_translate')) {
function _translate() {
global $LANG;
$args = func_get_args();
$l = $args[0];
if (!$l) return 'NO LANGUAGE DEFINED';
$key = $args[1];
if (!isset($LANG[$l])) {
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
}
if (!isset($LANG[$l][$key])) {
$text=$key;
} else {
$text=$LANG[$l][$key];
}
array_shift($args);
if (count($args)>1) {
$args[0] = $text;
return call_user_func_array("sprintf",$args);
} else {
return $text;
}
}
}
if (!function_exists('__')) {
function __() {
$args = func_get_args();
array_unshift($args,$_SESSION['language']);
return call_user_func_array("_translate",$args);
}
}
?>
App.i18n.ARE_YOU_SURE = '<?=__('Are you sure?')?>';