106 lines
3.4 KiB
PHP
106 lines
3.4 KiB
PHP
<?php
|
|
/* ----------------------------------------------------------------------------
|
|
NagiosQL
|
|
-------------------------------------------------------------------------------
|
|
(c) 2005-2022 by Martin Willisegger
|
|
|
|
Project : NagiosQL
|
|
Component : Translation Functions
|
|
Website : https://sourceforge.net/projects/nagiosql/
|
|
Version : 3.5.0
|
|
GIT Repo : https://gitlab.com/wizonet/NagiosQL
|
|
-----------------------------------------------------------------------------*/
|
|
/*
|
|
Translate given text
|
|
*/
|
|
function translate($strTranslation): string
|
|
{
|
|
return str_replace("'", ''', gettext(str_replace('"', '"', gettext($strTranslation))));
|
|
}
|
|
|
|
/*
|
|
Internationalization and Localization utilities
|
|
*/
|
|
function getLanguageCodefromLanguage($strLangSearch): string
|
|
{
|
|
$strReturn = 'en_GB';
|
|
$arrLangDetail = getLanguageData();
|
|
foreach ($arrLangDetail as $key => $elem) {
|
|
if ($strLangSearch === $elem['description']) {
|
|
$strReturn = $key;
|
|
}
|
|
}
|
|
return $strReturn;
|
|
}
|
|
|
|
function getLanguageNameFromCode($codetosearch, $withnative = true)
|
|
{
|
|
$strReturn = false;
|
|
$detaillanguages = getLanguageData();
|
|
if (isset($detaillanguages[$codetosearch]['description'])) {
|
|
if ($withnative) {
|
|
$strReturn = $detaillanguages[$codetosearch]['description'] . ' - ' .
|
|
$detaillanguages[$codetosearch]['nativedescription'];
|
|
} else {
|
|
$strReturn = $detaillanguages[$codetosearch]['description'];
|
|
}
|
|
}
|
|
return $strReturn;
|
|
}
|
|
|
|
|
|
function getLanguageData()
|
|
{
|
|
unset($arrLangSupported);
|
|
/* English */
|
|
$arrLangSupported['en_GB']['description'] = translate('English');
|
|
$arrLangSupported['en_GB']['nativedescription'] = 'English';
|
|
|
|
/* German */
|
|
$arrLangSupported['de_DE']['description'] = translate('German');
|
|
$arrLangSupported['de_DE']['nativedescription'] = 'Deutsch';
|
|
|
|
/* Chinese (Simplified) */
|
|
$arrLangSupported['zh_CN']['description'] = translate('Chinese (Simplified)');
|
|
$arrLangSupported['zh_CN']['nativedescription'] = '简体中文';
|
|
|
|
/* Italian */
|
|
$arrLangSupported['it_IT']['description'] = translate('Italian');
|
|
$arrLangSupported['it_IT']['nativedescription'] = 'Italiano';
|
|
|
|
/* French */
|
|
$arrLangSupported['fr_FR']['description'] = translate('French');
|
|
$arrLangSupported['fr_FR']['nativedescription'] = 'Français';
|
|
|
|
/* Russian */
|
|
$arrLangSupported['ru_RU']['description'] = translate('Russian');
|
|
$arrLangSupported['ru_RU']['nativedescription'] = 'Русский';
|
|
|
|
/* Spanish */
|
|
$arrLangSupported['es_ES']['description'] = translate('Spanish');
|
|
$arrLangSupported['es_ES']['nativedescription'] = 'Español';
|
|
|
|
/* Brazilian Portuguese */
|
|
$arrLangSupported['pt_BR']['description'] = translate('Portuguese (Brazilian)');
|
|
$arrLangSupported['pt_BR']['nativedescription'] = 'Português do Brasil';
|
|
|
|
/* Dutch */
|
|
$arrLangSupported['nl_NL']['description'] = translate('Dutch');
|
|
$arrLangSupported['nl_NL']['nativedescription'] = 'Nederlands';
|
|
|
|
/* Danish */
|
|
$arrLangSupported['da_DK']['description'] = translate('Danish');
|
|
$arrLangSupported['da_DK']['nativedescription'] = 'Dansk';
|
|
|
|
uasort($arrLangSupported, 'user_sort');
|
|
return $arrLangSupported;
|
|
}
|
|
|
|
function user_sort($intValue1, $intValue2): int
|
|
{
|
|
$intReturn = -1;
|
|
if ($intValue1['description'] > $intValue2['description']) {
|
|
$intReturn = 1;
|
|
}
|
|
return $intReturn;
|
|
} |