93 lines
3.4 KiB
PHP
93 lines
3.4 KiB
PHP
|
|
<?php
|
||
|
|
/* * *******************************************************************************
|
||
|
|
* Description: ITS4You Mobile App
|
||
|
|
* All Rights Reserved.
|
||
|
|
* Contributor: IT-Solutions4You s.r.o - www.its4you.sk
|
||
|
|
* ****************************************************************************** */
|
||
|
|
|
||
|
|
class ApiUserLanguageModel
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* @var array
|
||
|
|
*/
|
||
|
|
protected $translations = [];
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return array
|
||
|
|
*/
|
||
|
|
public function getTranslations()
|
||
|
|
{
|
||
|
|
return $this->translations;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param array $translations
|
||
|
|
*/
|
||
|
|
public function setTranslations($translations)
|
||
|
|
{
|
||
|
|
$this->translations = $translations;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function load() {
|
||
|
|
$languagePrefix = Vtiger_Language_Handler::getLanguage();
|
||
|
|
$translations = [];
|
||
|
|
$modules = ['Calendar', 'Documents', 'Invoice', 'Vtiger', 'PDFMaker', 'Settings/ITS4YouInstaller', 'Potentials'];
|
||
|
|
|
||
|
|
foreach ($modules as $module) {
|
||
|
|
foreach ($this->getAllLangVariables($languagePrefix, 'en_us', 'en_us', $module, true) as $key => $translatedStrings) {
|
||
|
|
if (key_exists($key, $translations)) {
|
||
|
|
foreach ($translatedStrings as $translatedStringKey => $translatedString) {
|
||
|
|
$translations[$key][$translatedStringKey] = $translatedString;
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
$translations[$key] = $translatedStrings;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$this->setTranslations($translations);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected function getAllLangVariables($currentLanguage, $previewLanguage, $enPrefix, $forModule, $wantValues = false)
|
||
|
|
{
|
||
|
|
if ((trim($previewLanguage) != 'none') or (trim($previewLanguage) != 'none/Settings')) {
|
||
|
|
|
||
|
|
$filename = 'languages/' . $previewLanguage . '/' . $forModule . '.php';
|
||
|
|
|
||
|
|
$langArrays = Vtiger_Language_Handler::getModuleStringsFromFile($currentLanguage, $forModule);
|
||
|
|
$enLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($enPrefix, $forModule);
|
||
|
|
if (file_exists($filename) != false) {
|
||
|
|
$previewLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($previewLanguage, $forModule);
|
||
|
|
$result = array_merge_recursive($langArrays, $previewLangArrays, $enLangArrays);
|
||
|
|
} else {
|
||
|
|
$result = array_merge_recursive($langArrays, $enLangArrays);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if ((trim($previewLanguage) == 'none') or (trim($previewLanguage) == 'none/Settings')) {
|
||
|
|
$langArrays = Vtiger_Language_Handler::getModuleStringsFromFile($currentLanguage, $forModule);
|
||
|
|
$enLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($enPrefix, $forModule);
|
||
|
|
|
||
|
|
$result = array_merge_recursive($langArrays, $enLangArrays);
|
||
|
|
}
|
||
|
|
|
||
|
|
$AllKeys = array();
|
||
|
|
|
||
|
|
foreach ($result['languageStrings'] as $key => $value) {
|
||
|
|
if ($wantValues == false) {
|
||
|
|
$AllKeys['languageStrings'][$key] = $key;
|
||
|
|
} else {
|
||
|
|
$AllKeys['languageStrings'][$key] = $value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
foreach ($result['jsLanguageStrings'] as $key => $value) {
|
||
|
|
if ($wantValues == false) {
|
||
|
|
$AllKeys['jsLanguageStrings'][$key] = $key;
|
||
|
|
} else {
|
||
|
|
$AllKeys['jsLanguageStrings'][$key] = $value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return $AllKeys;
|
||
|
|
}
|
||
|
|
}
|