diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 71bfd8e22..21f47f6b0 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -302,15 +302,12 @@ class workspaceTools $names = explode(".", basename($poFile)); $extension = array_pop($names); $langid = array_pop($names); - if (strcasecmp($langid, "en") == 0) { - CLI::logging("Updating database translations with $poName\n"); - Language::import($poFile, false, true); - } elseif ($first) { + if (strcasecmp($langid, "en") != 0 && $first) { CLI::logging("Updating XML form translations with $poName\n"); Language::import($poFile, true, false); - CLI::logging("Updating database translations with $poName\n"); - Language::import($poFile, false, true); } + CLI::logging("Updating database translations with $poName\n"); + Language::import($poFile, false, true); } } diff --git a/workflow/engine/classes/model/Language.php b/workflow/engine/classes/model/Language.php index c417fb63a..3c5a8f047 100755 --- a/workflow/engine/classes/model/Language.php +++ b/workflow/engine/classes/model/Language.php @@ -275,9 +275,11 @@ class Language extends BaseLanguage $oLanguage->update( array ('LAN_ID' => $languageID,'LAN_ENABLED' => '1' ) ); - $trn = new Translation(); - $trn->generateFileTranslation( $LOCALE ); - $trn->addTranslationEnvironment( $LOCALE, $POHeaders, $countItemsSuccess ); + if ($updateXml) { + $trn = new Translation(); + $trn->generateFileTranslation( $LOCALE ); + $trn->addTranslationEnvironment( $LOCALE, $POHeaders, $countItemsSuccess ); + } //fill the results $results = new stdClass(); diff --git a/workflow/engine/methods/setup/languages_Import.php b/workflow/engine/methods/setup/languages_Import.php index c50ba9b0c..6fa83802e 100755 --- a/workflow/engine/methods/setup/languages_Import.php +++ b/workflow/engine/methods/setup/languages_Import.php @@ -97,6 +97,12 @@ try { ); $configuration->saveConfig( 'LANGUAGE_META', $importResults->lang ); + $dir = PATH_CORE . 'content' . PATH_SEP . 'translations' . PATH_SEP; + if (! is_writable( $dir )) { + throw new Exception( G::LoadTranslation( 'ID_TRANSLATIONS_FOLDER_PERMISSIONS' ) ); + } + G::uploadFile($languageFile, $dir, $languageFilename, 0777); + ini_set( 'max_execution_time', $sMaxExecutionTime ); } catch (Exception $oError) {