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; } }