diff --git a/install/core/Language.php b/install/core/Language.php index 8db1655272..e26e9dab3b 100644 --- a/install/core/Language.php +++ b/install/core/Language.php @@ -1,55 +1,98 @@ -systemHelper = new SystemHelper(); - } - - protected function getSystemHelper() - { - return $this->systemHelper; - } - - public function get($language) - { - if (empty($language)) { - $language = $this->defaultLanguage; - } - - $langFileName = 'install/core/i18n/'.$language.'/install.json'; - if (!file_exists($langFileName)) { - $langFileName = 'install/core/i18n/'.$this->defaultLanguage.'/install.json'; - } - - $i18n = file_get_contents($langFileName); - $i18n = json_decode($i18n, true); - - $this->afterRetrieve($i18n); - - return $i18n; - } - - /** - * After retrieve actions - * - * @param array $i18n - * @return array $i18n - */ - protected function afterRetrieve(array &$i18n) - { - /** Get rewrite rules */ - $serverType = $this->getSystemHelper()->getServerType(); - $rewriteRules = $this->getSystemHelper()->getRewriteRules(); - $i18n['options']['modRewriteHelp'][$serverType] = str_replace('{0}', $rewriteRules, $i18n['options']['modRewriteHelp'][$serverType]); - } - - -} +systemHelper = new SystemHelper(); + } + + protected function getSystemHelper() + { + return $this->systemHelper; + } + + public function get($language) + { + if (isset($this->data[$language])) { + return $this->data[$language]; + } + + if (empty($language)) { + $language = $this->defaultLanguage; + } + + $langFileName = 'install/core/i18n/'.$language.'/install.json'; + if (!file_exists($langFileName)) { + $langFileName = 'install/core/i18n/'.$this->defaultLanguage.'/install.json'; + } + + $i18n = $this->getLangData($langFileName); + + if ($language != $this->defaultLanguage) { + $i18n = $this->mergeWithDefaults($i18n); + } + + $this->afterRetrieve($i18n); + + $this->data[$language] = $i18n; + + return $this->data[$language]; + } + + /** + * Merge current language with default one + * + * @param array $data + * @return array + */ + protected function mergeWithDefaults($data) + { + $defaultLangFile = 'install/core/i18n/'.$this->defaultLanguage.'/install.json'; + $defaultData = $this->getLangData($defaultLangFile); + + foreach ($data as $categoryName => &$labels) { + foreach ($defaultData[$categoryName] as $defaultLabelName => $defaultLabel) { + if (!isset($labels[$defaultLabelName])) { + $labels[$defaultLabelName] = $defaultLabel; + } + } + } + + $data = array_merge($defaultData, $data); + + return $data; + } + + protected function getLangData($filePath) + { + $data = file_get_contents($filePath); + $data = json_decode($data, true); + + return $data; + } + + /** + * After retrieve actions + * + * @param array $i18n + * @return array $i18n + */ + protected function afterRetrieve(array &$i18n) + { + /** Get rewrite rules */ + $serverType = $this->getSystemHelper()->getServerType(); + $rewriteRules = $this->getSystemHelper()->getRewriteRules(); + $i18n['options']['modRewriteHelp'][$serverType] = str_replace('{0}', $rewriteRules, $i18n['options']['modRewriteHelp'][$serverType]); + } + + +} diff --git a/install/core/SystemHelper.php b/install/core/SystemHelper.php index a2d2581c80..c39dcf6277 100644 --- a/install/core/SystemHelper.php +++ b/install/core/SystemHelper.php @@ -24,18 +24,9 @@ class SystemHelper extends \Espo\Core\Utils\System { - protected $requirements = array( - 'phpVersion' => '5.4', - 'MySQLVersion' => '5.1', + protected $requirements; - 'exts' => array( - 'json', - 'mcrypt', - 'pdo_mysql', - ), - ); - - protected $apiPath = '/api/v1'; + protected $apiPath; protected $modRewriteUrl = '/Metadata'; @@ -43,6 +34,13 @@ class SystemHelper extends \Espo\Core\Utils\System protected $combineOperator = '&&'; + public function __construct() + { + $config = include('config.php'); + + $this->requirements = $config['requirements']; + $this->apiPath = $config['apiPath']; + } public function initWritable() { @@ -66,10 +64,10 @@ class SystemHelper extends \Espo\Core\Utils\System $result['errors']['phpVersion'] = $this->requirements['phpVersion']; $result['success'] = false; } - if (!empty($this->requirements['exts'])) { - foreach ($this->requirements['exts'] as $extName) { + if (!empty($this->requirements['phpRequires'])) { + foreach ($this->requirements['phpRequires'] as $extName) { if (!extension_loaded($extName)) { - $result['errors']['exts'][] = $extName; + $result['errors']['phpRequires'][] = $extName; $result['success'] = false; } } @@ -79,9 +77,52 @@ class SystemHelper extends \Espo\Core\Utils\System return $result; } - protected function getMySQLVersion($pdoConnection) + public function getRecommendationList($type = 'php', $data = null) { - $sth = $pdoConnection->prepare("SHOW VARIABLES LIKE 'version'"); + $list = array(); + + if ($type == 'mysql') { + $pdoConn = $this->getPdoConnection($data['dbHostName'], $data['dbPort'], $data['dbUserName'], $data['dbUserPass'], $data['dbName']); + } + + $currentVersion = ($type == 'php') ? PHP_VERSION : $this->getMysqlSetting('version', $pdoConn); + $list[$type . 'Version'] = array( + 'current' => $currentVersion, + 'required' => $this->requirements[$type . 'Version'], + 'acceptable' => true, + ); + + $recommendations = array_merge($this->requirements[$type . 'Requires'], $this->requirements[$type . 'Recommendations']); + + foreach ($recommendations as $name => $requiredValue) { + + $isExtension = false; + + if (is_int($name)) { + $name = $requiredValue; + $acceptable = extension_loaded($name); + $currentValue = $acceptable ? 'On' : 'Off'; + $isExtension = true; + + } else { + $currentValue = ($type == 'php') ? ini_get($name) : $this->getMysqlSetting($name, $pdoConn); + $acceptable = ( isset($currentValue) && $this->convertToBytes($currentValue) >= $this->convertToBytes($requiredValue) ) ? true : false; + } + + $list[$name] = array( + 'current' => $currentValue, + 'required' => $requiredValue, + 'acceptable' => $acceptable, + 'isExtension' => $isExtension, + ); + } + + return $list; + } + + protected function getMysqlSetting($name, \PDO $pdoConnection) + { + $sth = $pdoConnection->prepare("SHOW VARIABLES LIKE '" . $name . "'"); $sth->execute(); $res = $sth->fetch(PDO::FETCH_NUM); @@ -90,68 +131,75 @@ class SystemHelper extends \Espo\Core\Utils\System return $version; } - public function checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver = 'pdo_mysql', $isCreateDatabase = true) + public function checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $isCreateDatabase = true) { $result['success'] = true; - switch ($dbDriver) { - case 'mysqli': - $mysqli = (empty($port)) ? new mysqli($hostName, $dbUserName, $dbUserPass, $dbName) : new mysqli($hostName, $dbUserName, $dbUserPass, $dbName, $port); - if (!$mysqli->connect_errno) { - $mysqli->close(); - } - else { - $result['errors']['dbConnect']['errorCode'] = $mysqli->connect_errno; - $result['errors']['dbConnect']['errorMsg'] = $mysqli->connect_error; - $result['success'] = false; - } - break; + $dbh = $this->getPdoConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName); - case 'pdo_mysql': - try { - $dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port};" : '') . "dbname={$dbName}"; - $dbh = new PDO($dsn, $dbUserName, $dbUserPass); - } catch (PDOException $e) { - - $result['errors']['dbConnect']['errorCode'] = $e->getCode(); - $result['errors']['dbConnect']['errorMsg'] = $e->getMessage(); - $result['success'] = false; - } - - /** Check MySQL Version */ - if ($result['success']) { - $currentMySQLVersion = $this->getMySQLVersion($dbh); - if (isset($currentMySQLVersion) && version_compare($currentMySQLVersion, $this->requirements['MySQLVersion']) == -1) { - $result['errors']['MySQLVersion'] = $this->requirements['MySQLVersion']; - $result['success'] = false; - } - } - - /** try to create a database */ - if ($isCreateDatabase && !$result['success'] && $result['errors']['dbConnect']['errorCode'] == '1049') - { - $dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port}" : ''); - $pdo = new PDO($dsn, $dbUserName, $dbUserPass); - - $isCreated = true; - try { - $pdo->query("CREATE DATABASE IF NOT EXISTS `$dbName`"); - } catch (PDOException $e) { - $isCreated = false; - } - - if ($isCreated) { - return $this->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver, false); - } - } - /** END: try to create a database */ - - break; + if ($dbh instanceof \PDOException) { + $result['errors']['dbConnect']['errorCode'] = $dbh->getCode(); + $result['errors']['dbConnect']['errorMsg'] = $dbh->getMessage(); + $result['success'] = false; } + /** Check MySQL settings */ + if ($result['success']) { + $currentMysqlVersion = $this->getMysqlSetting('version', $dbh); + if (isset($currentMysqlVersion) && version_compare($currentMysqlVersion, $this->requirements['mysqlVersion']) == -1) { + $result['errors']['mysqlVersion'] = $this->requirements['mysqlVersion']; + $result['success'] = false; + } + + /** Check required MySQL settings */ + foreach ($this->requirements['mysqlRequires'] as $name => $requiredValue) { + $currentValue = $this->getMysqlSetting($name, $dbh); + $acceptable = ( isset($currentValue) && $this->convertToBytes($currentValue) >= $this->convertToBytes($requiredValue) ) ? true : false; + if (!$acceptable) { + $result['errors']['mysqlSetting'] = array( + 'errorCode' => 'mysqlSettingError', + 'name' => $name, + 'value' => $requiredValue, + ); + $result['success'] = false; + } + } + } + + /** try to create a database */ + if ($isCreateDatabase && !$result['success'] && $result['errors']['dbConnect']['errorCode'] == '1049') + { + $dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port}" : ''); + $pdo = new PDO($dsn, $dbUserName, $dbUserPass); + + $isCreated = true; + try { + $pdo->query("CREATE DATABASE IF NOT EXISTS `$dbName`"); + } catch (PDOException $e) { + $isCreated = false; + } + + if ($isCreated) { + return $this->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, false); + } + } + /** END: try to create a database */ + return $result; } + public function getPdoConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName) + { + try { + $dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port};" : '') . "dbname={$dbName}"; + $dbh = new PDO($dsn, $dbUserName, $dbUserPass); + } catch (PDOException $e) { + return $e; + } + + return $dbh; + } + public function getBaseUrl() { $pageUrl = ($_SERVER["HTTPS"] == 'on') ? 'https://' : 'http://'; @@ -313,4 +361,22 @@ class SystemHelper extends \Espo\Core\Utils\System return ''; } + public function convertToBytes($value) + { + $value = trim($value); + $last = strtoupper(substr($value, -1)); + + switch ( $last ) + { + case 'G': + $value = (int) $value * 1024; + case 'M': + $value = (int) $value * 1024; + case 'K': + $value = (int) $value * 1024; + } + + return $value; + } + } diff --git a/install/core/actions/settingsTest.php b/install/core/actions/settingsTest.php index c3eae65f0f..6bf8e6bc0d 100644 --- a/install/core/actions/settingsTest.php +++ b/install/core/actions/settingsTest.php @@ -40,9 +40,8 @@ if ($result['success'] && !empty($_REQUEST['dbName']) && !empty($_REQUEST['hostN list($hostName, $port) = explode(':', trim($_REQUEST['hostName'])); $dbUserName = trim($_REQUEST['dbUserName']); $dbUserPass = trim($_REQUEST['dbUserPass']); - $dbDriver = (!empty($_REQUEST['dbDriver']))? $_REQUEST['dbDriver'] : 'pdo_mysql'; - $res = $systemHelper->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver); + $res = $systemHelper->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName); $result['success'] &= $res['success']; if (!empty($res['errors'])) { $result['errors'] = array_merge($result['errors'], $res['errors']); diff --git a/install/core/actions/setupConfirmation.php b/install/core/actions/setupConfirmation.php new file mode 100644 index 0000000000..fa9b28d3bf --- /dev/null +++ b/install/core/actions/setupConfirmation.php @@ -0,0 +1,48 @@ +getRecommendationList(); +$smarty->assign('phpConfig', $phpConfig); + +$installData = $_SESSION['install']; +list($host, $port) = explode(':', $installData['hostName']); + +$dbConfig = array( + 'dbHostName' => $host, + 'dbPort' => $port, + 'dbName' => $installData['dbName'], + 'dbUserName' => $installData['dbUserName'], + 'dbUserPass' => $installData['dbUserPass'], +); +$mysqlConfig = $systemHelper->getRecommendationList('mysql', $dbConfig); + +$dbConfig['dbHostName'] = $installData['hostName']; +unset($dbConfig['dbPort'], $dbConfig['dbUserPass']); + +foreach ($dbConfig as $name => $value) { + $mysqlConfig[$name] = array( + 'current' => $value, + 'acceptable' => true, + ); +} + +$smarty->assign('mysqlConfig', $mysqlConfig); \ No newline at end of file diff --git a/install/core/config.php b/install/core/config.php new file mode 100644 index 0000000000..93085ad175 --- /dev/null +++ b/install/core/config.php @@ -0,0 +1,40 @@ + '/api/v1', + + 'requirements' => array( + 'phpVersion' => '5.4', + + 'phpRequires' => array( + 'JSON', + 'mcrypt', + 'pdo_mysql', + ), + + 'phpRecommendations' => array( + 'GD', + 'IMAP', + 'max_execution_time' => 180, + 'max_input_time' => 180, + 'memory_limit' => '256M', + 'post_max_size' => '20M', + 'upload_max_filesize' => '20M', + ), + + 'mysqlVersion' => '5.1', + 'mysqlRequires' => array( + + ), + + 'mysqlRecommendations' => array( + + ), + ), + + 'blog' => 'http://blog.espocrm.com', + 'twitter' => 'https://twitter.com/espocrm', + 'forum' => 'http://forum.espocrm.com', + +); \ No newline at end of file diff --git a/install/core/i18n/de_DE/install.json b/install/core/i18n/de_DE/install.json index a7d6d4ada6..b65ee88ed9 100644 --- a/install/core/i18n/de_DE/install.json +++ b/install/core/i18n/de_DE/install.json @@ -12,7 +12,7 @@ "Step5 page title": "SMTP Einstellungen für ausgehende E-Mails", "Errors page title": "Fehler", "Finish page title": "Die Installation ist abgeschlossen", - "Congratulation! Welcome to EspoCRM!": "Gratulation! EspoCRM wurde erfolgreich installiert.", + "Congratulation! Welcome to EspoCRM": "Gratulation! EspoCRM wurde erfolgreich installiert.", "Installation Guide": "Installationshandbuch", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Überprüfung wiederholen", "Version": "Version", "Test settings": "Verbindung überprüfen", - "Database Settings Description": "Geben Sie die Verbindungsinformationen für Ihre MySQL Datebank ein (Hostname, Benutzername und Passwort). Sie können den Serverport z.B. so definieren: localhost:3306" + "Database Settings Description": "Geben Sie die Verbindungsinformationen für Ihre MySQL Datebank ein (Hostname, Benutzername und Passwort). Sie können den Serverport z.B. so definieren: localhost:3306", + "phpVersion": "PHP version", + "mysqlVersion": "MySQL version", + "dbHostName": "Host Name", + "dbName": "Datenbank Name", + "dbUserName": "Datenbank Benutzername" }, "fields": { "Choose your language": "Wählen Sie Ihre Sprache", diff --git a/install/core/i18n/en_US/install.json b/install/core/i18n/en_US/install.json index 2f7a8543c8..5e9553e5b6 100644 --- a/install/core/i18n/en_US/install.json +++ b/install/core/i18n/en_US/install.json @@ -12,7 +12,8 @@ "Step5 page title": "SMTP settings for outgoing emails", "Errors page title": "Errors", "Finish page title": "Installation is complete", - "Congratulation! Welcome to EspoCRM!": "Congratulation! EspoCRM has been successfully installed.", + "Congratulation! Welcome to EspoCRM": "Congratulation! EspoCRM has been successfully installed.", + "More Information": "For more information,
please visit our blog: {BLOG}
follow us on twitter: {TWITTER}

If you have any suggestions or questions, please ask on the forum:
{FORUM}", "Installation Guide": "Installation Guide", "admin": "admin", "localhost": "localhost", @@ -27,7 +28,18 @@ "Re-check": "Re-check", "Version": "Version", "Test settings": "Test Connection", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "Install": "Install", + "SetupConfirmation page title": "Recommended Settings", + "PHP Configuration": "Recommended PHP settings", + "MySQL Configuration": "MySQL Configuration", + "Configuration Instructions": "Configuration Instructions", + "phpVersion": "PHP version", + "mysqlVersion": "MySQL version", + "dbHostName": "Host Name", + "dbName": "Database Name", + "dbUserName": "Database User Name", + "OK": "OK" }, "fields": { "Choose your language": "Choose your language", @@ -78,7 +90,7 @@ "createUser error": "createUser error", "checkAjaxPermission error": "checkAjaxPermission error", "Ajax failed": "Ajax failed", - "Cannot create user": "Cannot create user", + "Cannot create user": "Cannot create a user", "Permission denied": "Permission denied", "permissionInstruction": "
Run this in Terminal
\"{C}\"
", "operationNotPermitted" : "Operation not permitted? Try this:
{CSU}", @@ -88,7 +100,10 @@ "Thousand Separator and Decimal Mark equal": "Thousand Separator and Decimal Mark cannot be equal", "1049": "Unknown database", "2005": "Unknown MySQL server host", - "1045": "Access denied for user" + "1045": "Access denied for user", + "extension": "{0} extension is missing", + "option": "Recommended value is {0}", + "mysqlSettingError": "EspoCRM requires the MySQL setting \"{NAME}\" to be set to {VALUE}" }, "options": { "db driver": { diff --git a/install/core/i18n/es_ES/install.json b/install/core/i18n/es_ES/install.json index 19bfa7d2de..7af82c901b 100644 --- a/install/core/i18n/es_ES/install.json +++ b/install/core/i18n/es_ES/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Configuración SMTP para los correos salientes", "Errors page title": "Errores", "Finish page title": "La instalación ha finalizado", - "Congratulation! Welcome to EspoCRM!": "¡Enhorabuena! EspoCRM(Español) se ha instalado correctamente.", + "Congratulation! Welcome to EspoCRM": "¡Enhorabuena! EspoCRM(Español) se ha instalado correctamente.", "Installation Guide": "Instrucciones de instalación", "admin": "admin", "localhost": "localhost", @@ -26,7 +26,12 @@ "Re-check": "Revisar otra vez", "Version": "Version", "Test settings": "Test de conexión", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "PHP version", + "mysqlVersion": "MySQL version", + "dbHostName": "Hostname usualmente(localhost)", + "dbName": "Nombre de la Base de Datos", + "dbUserName": "Usuario de la Base de Datos" }, "fields": { "Choose your language": "Seleccione un lenguaje", diff --git a/install/core/i18n/fr_FR/install.json b/install/core/i18n/fr_FR/install.json index ec809d2d69..cb920b3957 100644 --- a/install/core/i18n/fr_FR/install.json +++ b/install/core/i18n/fr_FR/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Paramètres SMTP pour envoyer les emails", "Errors page title": "Erreurs", "Finish page title": "L'installation est terminée", - "Congratulation! Welcome to EspoCRM!": "Félicitation! EspoCRM a été installé avec succès.", + "Congratulation! Welcome to EspoCRM": "Félicitation! EspoCRM a été installé avec succès.", "Installation Guide": "Instructions d'installation", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Revérifier", "Version": "Version", "Test settings": "Tester la Connexion", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "Version PHP", + "mysqlVersion": "Version MySQL", + "dbHostName": "Nom d'hôte", + "dbName": "Nom de la Base de Donnée", + "dbUserName": "Nom d'utilisateur de la base de donnée" }, "fields": { "Choose your language": "Choisissez votre langue", diff --git a/install/core/i18n/nl_NL/install.json b/install/core/i18n/nl_NL/install.json index 0e0fc89667..a0c7381d9b 100644 --- a/install/core/i18n/nl_NL/install.json +++ b/install/core/i18n/nl_NL/install.json @@ -12,7 +12,7 @@ "Step5 page title": "SMTP instellingen voor uitgaande emails", "Errors page title": "Fouten", "Finish page title": "Installatie is compleet", - "Congratulation! Welcome to EspoCRM!": "Proficiat! EspoCRM heeft u succesvol geinstalleerd.", + "Congratulation! Welcome to EspoCRM": "Proficiat! EspoCRM heeft u succesvol geinstalleerd.", "Installation Guide": "Installation Guide", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Re-check", "Version": "Versie", "Test settings": "Test Verbinding", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "PHP versie", + "mysqlVersion": "MySQL versie", + "dbHostName": "Host Naam", + "dbName": "Database Naam", + "dbUserName": "Database Gebruikers Naam" }, "fields": { "Choose your language": "Kies uw taal", diff --git a/install/core/i18n/pl_PL/install.json b/install/core/i18n/pl_PL/install.json index fb2c82f120..51d2636ba0 100644 --- a/install/core/i18n/pl_PL/install.json +++ b/install/core/i18n/pl_PL/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Ustawienia SMTP dla poczty wychodzącej", "Errors page title": "Błędy", "Finish page title": "Instalacja została ukończona", - "Congratulation! Welcome to EspoCRM!": "Gratuluje! EspoCRM zostało pomyślnie zainstalowane.", + "Congratulation! Welcome to EspoCRM": "Gratuluje! EspoCRM zostało pomyślnie zainstalowane.", "Installation Guide": "Instrukcja instalacji", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Sprawdź jeszcze raz", "Version": "Wersja", "Test settings": "Test połączenia z bazą danych", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "Wersja PHP", + "mysqlVersion": "Wersja MySQL", + "dbHostName": "Host Name", + "dbName": "Nazwa Bazy Danych", + "dbUserName": "Nazwa Użytkonika Bazy Danych" }, "fields": { "Choose your language": "Wybierz swój język", diff --git a/install/core/i18n/ro_RO/install.json b/install/core/i18n/ro_RO/install.json index 0b7cf81fa6..7db8927731 100644 --- a/install/core/i18n/ro_RO/install.json +++ b/install/core/i18n/ro_RO/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Setari SMTP pentru trimitere email-uri", "Errors page title": "Erori", "Finish page title": "Instalare finalizata", - "Congratulation! Welcome to EspoCRM!": "Felicitari! EspoCRM a fost instalat cu succes.", + "Congratulation! Welcome to EspoCRM": "Felicitari! EspoCRM a fost instalat cu succes.", "Installation Guide": "Instrucțiuni de instalare", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Re-verificare", "Version": "Versiunea", "Test settings": "Testare Conexiune", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "Versiune PHP", + "mysqlVersion": "Versiune MySQL", + "dbHostName": "Numele Server-ului", + "dbName": "Numele Bazei de Date", + "dbUserName": "Nume Utilizator Baza de Date" }, "fields": { "Choose your language": "Alege Limba", diff --git a/install/core/i18n/tr_TR/install.json b/install/core/i18n/tr_TR/install.json index 248aacf4c1..1d339b73a9 100644 --- a/install/core/i18n/tr_TR/install.json +++ b/install/core/i18n/tr_TR/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Giden epostalar için SMTP ayarları", "Errors page title": "Hatalar", "Finish page title": "Yükleme tamamlandı", - "Congratulation! Welcome to EspoCRM!": "Tebrikler! EspoCRM başarıyla yüklendi.", + "Congratulation! Welcome to EspoCRM": "Tebrikler! EspoCRM başarıyla yüklendi.", "Installation Guide": "Kurulum Talimatları", "admin": "Yçnetici", "localhost": "localhost", @@ -26,11 +26,16 @@ "Go to EspoCRM": "EspoCRM sayfama git", "Re-check": "Tekrar Kontrol Et", "Version": "Versiyon", - "Test settings": "Bağlantıyı Kontrol Et" + "Test settings": "Bağlantıyı Kontrol Et", + "phpVersion": "PHP sürümü", + "mysqlVersion": "MySQL sürümü", + "dbHostName": "Sunucu Adı", + "dbName": "Veritabanı adı", + "dbUserName": "Veritabanı Kullanıcı Adı" }, "fields": { "Choose your language": "Dili seçin", - "Database Name": "Veritabanı adı:", + "Database Name": "Veritabanı adı", "Host Name": "Sunucu Adı", "Port": "Bağlantı Noktası", "Database User Name": "Veritabanı Kullanıcı Adı", @@ -67,7 +72,7 @@ "The PHP extension was not found...": "{extName}<\/b> PHP eklentisi bulunamadı...", "All Settings correct": "Tüm ayarlar doğru", "Failed to connect to database": "Veritabanına bağlanma başarısız oldu", - "PHP version: ": "PHP sürümü:", + "PHP version": "PHP sürümü", "You must agree to the license agreement": "Lisans sözleşmesini kabul etmelisiniz", "Passwords do not match": "Şifreler eşleşmiyor", "Enable mod_rewrite in Apache server": "Mod_rewrite ı Apache sunucusunda etkinleştirin", diff --git a/install/core/i18n/vi_VN/install.json b/install/core/i18n/vi_VN/install.json index f2a337901b..e1f5137ea7 100644 --- a/install/core/i18n/vi_VN/install.json +++ b/install/core/i18n/vi_VN/install.json @@ -12,7 +12,7 @@ "Step5 page title": "Cài đặt SMTP cho email đi", "Errors page title": "Lỗi", "Finish page title": "Hoàn thành cài đặt", - "Congratulation! Welcome to EspoCRM!": "Xin chúc mừng bạn! EspoCRM đã được cài đặt thành công.", + "Congratulation! Welcome to EspoCRM": "Xin chúc mừng bạn! EspoCRM đã được cài đặt thành công.", "Installation Guide": "Hướng dẫn cài đặt", "admin": "admin", "localhost": "localhost", @@ -27,7 +27,12 @@ "Re-check": "Kiểm tra lại", "Version": "Phiên bản", "Test settings": "Kiểm tra kết nối", - "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306." + "Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.", + "phpVersion": "Phiên bản PHP", + "mysqlVersion": "Phiên bản MySQL", + "dbHostName": "Tên máy chủ", + "dbName": "Tên cơ sở dữ liệu", + "dbUserName": "Tên truy cập csdl" }, "fields": { "Choose your language": "Chọn ngôn ngữ", diff --git a/install/core/tpl/errors.tpl b/install/core/tpl/errors.tpl index 0995a1b4f0..da505006dc 100644 --- a/install/core/tpl/errors.tpl +++ b/install/core/tpl/errors.tpl @@ -11,7 +11,7 @@ \ No newline at end of file diff --git a/install/core/tpl/step3.tpl b/install/core/tpl/step3.tpl index f7e080be98..020161ecf4 100644 --- a/install/core/tpl/step3.tpl +++ b/install/core/tpl/step3.tpl @@ -37,7 +37,6 @@