diff --git a/CMakeLists.txt b/CMakeLists.txt index 56ebefc0406a952844fb2a2594754094baefa5e9..5ecf6d5337b6941bacf066f07bad46fe8a1e5251 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,13 @@ set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) +# Check if compiler is GCC < 5.0 +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if(CMAKE_CXX_COMPILER_VERSION AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5) + message(STATUS "WARNING: your GCC version is less than 5.0, support of C++14 may be incomplete.") + endif() +endif() + include(CMakeDependentOption) # # use ExternalProject @@ -110,7 +117,7 @@ set(main_project_name ${_OTBModuleMacros_DEFAULT_LABEL}) #----------------------------------------------------------------------------- # OTB version number. set(OTB_VERSION_MAJOR "6") -set(OTB_VERSION_MINOR "3") +set(OTB_VERSION_MINOR "4") set(OTB_VERSION_PATCH "0") set(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}") diff --git a/Documentation/Cookbook/rst/recipes/residual_registration.rst b/Documentation/Cookbook/rst/recipes/residual_registration.rst index d01cb0734b615db35257263a17a50e82271ae13e..dbe3d2664f981f941b78214e1f96dda41b74f3b1 100644 --- a/Documentation/Cookbook/rst/recipes/residual_registration.rst +++ b/Documentation/Cookbook/rst/recipes/residual_registration.rst @@ -168,7 +168,7 @@ the estimated model. -outstat stats.txt -outvector refined_slave_image.shp -Orthorecrtify image using the affine geometry +Orthorectify image using the affine geometry ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Now we will show how we can use this new sensor model. In our case we’ll diff --git a/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx b/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx index 08696439549ca1c0b15e66baffd3352ccee7d29b..fa8b76c501ec66ee5672ce6a19efd8128ac8f5c7 100644 --- a/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx +++ b/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx @@ -32,6 +32,8 @@ #include "otbMultiToMonoChannelExtractROI.h" #include "otbImageList.h" +#include <numeric> + namespace otb { namespace Wrapper diff --git a/Modules/Core/Common/src/otbStopwatch.cxx b/Modules/Core/Common/src/otbStopwatch.cxx index ba3a8174afef3a53a010bd810fce4755f4703980..5c45c48335170e07bcd14bd328d95724a5a73040 100644 --- a/Modules/Core/Common/src/otbStopwatch.cxx +++ b/Modules/Core/Common/src/otbStopwatch.cxx @@ -27,7 +27,7 @@ namespace otb Stopwatch ::Stopwatch() - : m_ElapsedMilliseconds(), m_IsRunning() + : m_StartTime(), m_ElapsedMilliseconds(), m_IsRunning() { } diff --git a/Modules/Core/ImageBase/src/otbImageIOBase.cxx b/Modules/Core/ImageBase/src/otbImageIOBase.cxx index 1e01c55be057d963b6bf0338ef2db804ff8948e3..d88d601fd66a007b1db2ec7c4f782f1eee852b4b 100644 --- a/Modules/Core/ImageBase/src/otbImageIOBase.cxx +++ b/Modules/Core/ImageBase/src/otbImageIOBase.cxx @@ -1320,8 +1320,8 @@ ImageIOBase void ImageIOBase::PrintSelf(std::ostream& os, itk::Indent indent) const { Superclass::PrintSelf(os, indent); - using namespace std::string_literals; - os << indent << "FileName: "s << m_FileName << std::endl; + + os << indent << "FileName: " << m_FileName << std::endl; os << indent << "FileType: " << this->GetFileTypeAsString(m_FileType) << std::endl; os << indent << "ByteOrder: " << this->GetByteOrderAsString(m_ByteOrder) << std::endl; os << indent << "IORegion: " << std::endl; diff --git a/Modules/Remote/temporal-gapfilling.remote.cmake b/Modules/Remote/temporal-gapfilling.remote.cmake index a33a9e0acbf7143a25163b999418e8d7568b111a..469a857fb8119f1564de992b6d0481f82920e61b 100644 --- a/Modules/Remote/temporal-gapfilling.remote.cmake +++ b/Modules/Remote/temporal-gapfilling.remote.cmake @@ -26,5 +26,6 @@ A more detailed description can be found on the project website: http://tully.ups-tlse.fr/jordi/temporalgapfilling " GIT_REPOSITORY http://tully.ups-tlse.fr/jordi/temporalgapfilling.git - GIT_TAG 4180f28091fb10029860ada2dcf9c9526d3a55d2 + # Commit on develop branch which includes patches for Windows support + GIT_TAG 4fc4a71acf7b9b051cda5a3b950de2cdb9d26287 ) diff --git a/Modules/ThirdParty/GSL/CMakeLists.txt b/Modules/ThirdParty/GSL/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fe382c78b38dd15e259cbf5eb883b080e9ba5cb --- /dev/null +++ b/Modules/ThirdParty/GSL/CMakeLists.txt @@ -0,0 +1,27 @@ +# +# Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) +# +# This file is part of Orfeo Toolbox +# +# https://www.orfeo-toolbox.org/ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +project(OTBGSL) +set(OTBGSL_THIRD_PARTY 1) + +set(OTBGSL_SYSTEM_INCLUDE_DIRS ${GSL_INCLUDE_DIR}) +set(OTBGSL_LIBRARIES ${GSL_LIBRARY}) + +otb_module_impl() diff --git a/Modules/ThirdParty/GSL/otb-module-init.cmake b/Modules/ThirdParty/GSL/otb-module-init.cmake new file mode 100644 index 0000000000000000000000000000000000000000..c584f583cf1ee20a8c13551ecb026de3f691a677 --- /dev/null +++ b/Modules/ThirdParty/GSL/otb-module-init.cmake @@ -0,0 +1,31 @@ +# +# Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) +# +# This file is part of Orfeo Toolbox +# +# https://www.orfeo-toolbox.org/ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +find_package(GSL REQUIRED) + +# On Windows system, if you will be using one of the dynamic libraries, add GSL_DLL to the list of predefined macros +if (BUILD_SHARED_LIBS) + if (WIN32) + add_definitions(-DGSL_DLL) + endif() +endif() + +mark_as_advanced(GSL_INCLUDE_DIR) +mark_as_advanced(GSL_LIBRARY) diff --git a/Modules/ThirdParty/GSL/otb-module.cmake b/Modules/ThirdParty/GSL/otb-module.cmake new file mode 100644 index 0000000000000000000000000000000000000000..39f25c785df4bf4ef4944ee1e3d0914228f8f391 --- /dev/null +++ b/Modules/ThirdParty/GSL/otb-module.cmake @@ -0,0 +1,33 @@ +# +# Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) +# +# This file is part of Orfeo Toolbox +# +# https://www.orfeo-toolbox.org/ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +set(DOCUMENTATION "This module imports GSL to the build system. Note that when using the GLS +library you must comply with the GPL license.") + +otb_module(OTBGSL + DEPENDS + + TEST_DEPENDS + + DESCRIPTION + "${DOCUMENTATION}" + ) + +otb_module_activation_option("Enable GSL dependent modules" OFF) diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h index ed2aab0a7f908859a284318869787717ed16994d..9aba72c53accbe28e01941eeb81872f56f9a8633 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h @@ -220,6 +220,8 @@ private slots: void UpdateMessageAfterApplicationReady(bool val); + void UpdateMessageAfterExecution(int status); + /** */ void OnExecButtonClicked(); diff --git a/Modules/Visualization/MonteverdiGui/src/mvdApplicationsToolBox.ui b/Modules/Visualization/MonteverdiGui/src/mvdApplicationsToolBox.ui index 5121277dfde152c4d05696b5381e468286ec5dec..bc95dd74053e246b3a655e546237932c72dda149 100644 --- a/Modules/Visualization/MonteverdiGui/src/mvdApplicationsToolBox.ui +++ b/Modules/Visualization/MonteverdiGui/src/mvdApplicationsToolBox.ui @@ -48,7 +48,7 @@ </attribute> <column> <property name="text"> - <string notr="true">Name</string> + <string>Name</string> </property> </column> <column> diff --git a/Modules/Visualization/MonteverdiGui/src/mvdQtWidgetView.cxx b/Modules/Visualization/MonteverdiGui/src/mvdQtWidgetView.cxx index b11becb03201e8a5714c86285a706d1a364fdd0f..264b33d4bd4aa31ce0af43075b0f63148e18f792 100644 --- a/Modules/Visualization/MonteverdiGui/src/mvdQtWidgetView.cxx +++ b/Modules/Visualization/MonteverdiGui/src/mvdQtWidgetView.cxx @@ -206,6 +206,10 @@ QtWidgetView SIGNAL( SetApplicationReady( bool ) ), this, SLOT( UpdateMessageAfterApplicationReady( bool ) ) ); + connect( + m_Model, + SIGNAL(SetProgressReportDone(int)), + this, SLOT(UpdateMessageAfterExecution(int)) ); mainLayout->addWidget(m_Message); otb::Wrapper::QtWidgetSimpleProgressReport* progressReport = @@ -611,9 +615,24 @@ QtWidgetView } */ + emit ExecuteAndWriteOutput(); + m_Message->setText("<center><font color=\"#FF0000\">Running</font></center>"); +} - emit ExecuteAndWriteOutput(); +/******************************************************************************/ +void +QtWidgetView +::UpdateMessageAfterExecution(int status) +{ + if (status >= 0) + { + m_Message->setText("<center><font color=\"#00A000\">DONE</font></center>"); + } + else + { + m_Message->setText("<center><font color=\"#FF0000\">FAILED !</font></center>"); + } } /*******************************************************************************/ diff --git a/Modules/Wrappers/ApplicationEngine/test/otbWrapperApplicationDocTests.cxx b/Modules/Wrappers/ApplicationEngine/test/otbWrapperApplicationDocTests.cxx index 1bbfbf2899e89573cf0145cd97fe32832dcf6e27..6cafbaf9d82dfe7a0ae7e192251025e92521b4bb 100644 --- a/Modules/Wrappers/ApplicationEngine/test/otbWrapperApplicationDocTests.cxx +++ b/Modules/Wrappers/ApplicationEngine/test/otbWrapperApplicationDocTests.cxx @@ -99,7 +99,7 @@ int otbWrapperApplicationDocTest(int argc, char* argv[]) otb::Wrapper::DocExampleStructure::Pointer doc = app->GetDocExample(); if( doc->GetApplicationName() == "" ) { - std::cout<<"Error in doc example: no aaplication name found."<<std::endl; + std::cout<<"Error in doc example: no application name found."<<std::endl; isOK = false; } if( doc->GetParameterList().size() == 0 ) diff --git a/Packaging/install_rule.cmake b/Packaging/install_rule.cmake index b4d40f0757648b7b4742a54aab722c935e960977..adfdf03c260db17f56a24f567df9243f220c53de 100644 --- a/Packaging/install_rule.cmake +++ b/Packaging/install_rule.cmake @@ -80,6 +80,8 @@ function(install_rule src_file) continue() elseif("${sfile_ABS_LOWER}" MATCHES "\\.settings$") continue() + elseif("${sfile_ABS_LOWER}" MATCHES "-config$") + continue() else() if(UNIX) #the last else() loop where we run a 'file' command to find file type and directory diff --git a/SuperBuild/CMake/External_gsl.cmake b/SuperBuild/CMake/External_gsl.cmake new file mode 100644 index 0000000000000000000000000000000000000000..3da8fab9ca410f5d948fbaea83e4a38e9895f97e --- /dev/null +++ b/SuperBuild/CMake/External_gsl.cmake @@ -0,0 +1,42 @@ +# +# Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES) +# +# This file is part of Orfeo Toolbox +# +# https://www.orfeo-toolbox.org/ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +INCLUDE_ONCE_MACRO(GSL) + +SETUP_SUPERBUILD(GSL) + +ExternalProject_Add(GSL + PREFIX GSL + URL "https://github.com/ampl/gsl/archive/v2.3.0.tar.gz" + DOWNLOAD_NAME gsl_v2.3.0.tar.gz + URL_MD5 7e0478f7c5e62696fef480b9a46f708c + BINARY_DIR ${GSL_SB_BUILD_DIR} + INSTALL_DIR ${SB_INSTALL_PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + CMAKE_CACHE_ARGS ${SB_CMAKE_CACHE_ARGS} + CMAKE_COMMAND ${SB_CMAKE_COMMAND} + DEPENDS ${GSL_DEPENDENCIES} + LOG_DOWNLOAD 1 + LOG_CONFIGURE 1 + LOG_BUILD 1 + LOG_INSTALL 1 + ) + +SUPERBUILD_UPDATE_CMAKE_VARIABLES(GSL FALSE) diff --git a/SuperBuild/CMake/External_otb.cmake b/SuperBuild/CMake/External_otb.cmake index 38a097ddb6fee45a2abb290378ae0b0f8dda65a6..47af6f552cae711f250e0c58ac750f6c2416bfb1 100644 --- a/SuperBuild/CMake/External_otb.cmake +++ b/SuperBuild/CMake/External_otb.cmake @@ -120,6 +120,13 @@ if(OTB_USE_QWT) ADD_SUPERBUILD_CMAKE_VAR(OTB QWT_LIBRARY) endif() +if(OTB_USE_GSL) + ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OTB GSL) + ADD_SUPERBUILD_CMAKE_VAR(OTB GSL_INCLUDE_DIR) + ADD_SUPERBUILD_CMAKE_VAR(OTB GSL_LIBRARY) +endif() + + ADD_SUPERBUILD_CMAKE_VAR(OTB GDAL_INCLUDE_DIR) ADD_SUPERBUILD_CMAKE_VAR(OTB GDAL_LIBRARY) @@ -140,6 +147,13 @@ if(WITH_REMOTE_MODULES) foreach(remote_module SertitObject Mosaic otbGRM OTBFFSforGMM) list(APPEND OTB_MODULES_CONFIG -DModule_${remote_module}:BOOL=ON) endforeach() + + # Add CESBIO'S remote modules if OTB is compiled with GSL support (for now only TemporalGapFilling) + if(OTB_USE_GSL) + foreach(remote_module OTBTemporalGapFilling) + list(APPEND OTB_MODULES_CONFIG -DModule_${remote_module}:BOOL=ON) + endforeach() + endif() else() set(OTB_MODULES_CONFIG) endif() @@ -191,6 +205,7 @@ ExternalProject_Add(OTB -DOTB_USE_GLUT:BOOL=${OTB_USE_GLUT} -DOTB_USE_QWT:BOOL=${OTB_USE_QWT} -DOTB_USE_OPENMP:BOOL=${OTB_USE_OPENMP} + -DOTB_USE_GSL:BOOL=${OTB_USE_GSL} -DOTB_WRAP_PYTHON:BOOL=${OTB_WRAP_PYTHON} -DOTB_WRAP_PYTHON3:BOOL=${OTB_WRAP_PYTHON3} -DOTB_WRAP_JAVA:BOOL=${OTB_WRAP_JAVA} diff --git a/SuperBuild/CMakeLists.txt b/SuperBuild/CMakeLists.txt index c9d3106c6aa53f8c179f2b1594d255b793438aee..35d30a5c83c37c1f5ea066636da0d0822dc8278f 100644 --- a/SuperBuild/CMakeLists.txt +++ b/SuperBuild/CMakeLists.txt @@ -291,6 +291,7 @@ option(USE_SYSTEM_SHARK "Use a system build of Shark" OFF) option(USE_SYSTEM_HDF4 "Use a system build of HDF4" OFF) option(USE_SYSTEM_HDF5 "Use a system build of HDF5" OFF) option(USE_SYSTEM_NETCDF "Use a system build of NetCDF" OFF) +option(USE_SYSTEM_GSL "Use a system build of GSL" OFF) # Call OTB option(OTB_USE_6S "Enable module 6S in OTB" ON) @@ -311,7 +312,7 @@ option(OTB_USE_SIFTFAST "Enable module Siftfast in OTB" ON) option(OTB_USE_OPENGL "Enable module OpenGL in OTB" ON) option(OTB_USE_GLEW "Enable module GLEW in OTB" ON) -#Cannot activate GLUT on OSX. See manits issue #1194") +#Cannot activate GLUT on OSX. See Mantis issue #1194") # do not activate GLFW by default on osx. see failing test # https://dash.orfeo-toolbox.org/testDetails.php?test=59844554&build=287120 if(APPLE) @@ -324,6 +325,7 @@ endif() option(OTB_USE_SHARK "Enable module Shark in OTB" ON) option(OTB_USE_QWT "Enable module QWT in OTB" ON) +option(OTB_USE_GSL "Enable module GSL in OTB" ON) # set OTB_DATA_ROOT to run test find_path(OTB_DATA_ROOT README-OTB-Data diff --git a/Utilities/Maintenance/SuperbuildDownloadList.sh b/Utilities/Maintenance/SuperbuildDownloadList.sh index da5c4cb21b1ef11fc29c35284ac361b4894d7827..382bc58ccaf4ff790407ba07981484085e0d59cd 100755 --- a/Utilities/Maintenance/SuperbuildDownloadList.sh +++ b/Utilities/Maintenance/SuperbuildDownloadList.sh @@ -46,30 +46,33 @@ else VERSION="develop" fi CMAKE_FILES=$(find "${SB_CMAKE_DIR}" -maxdepth 1 -type f -name "External_*") -DOWNLOAD_LIST=$(grep -h -E '^[^#]*\"(ftp|http|https)://.*(\.tar\.gz|\.tar\.bz2|\.tgz|\.tar\.xz|\.zip|export=download).*\"' ${CMAKE_FILES} | - grep -o -E '(ftp|http|https)://[^\"]*' | sort | uniq) DOWNLOAD_NAMES= -#echo "DOWNLOAD_LIST=$DOWNLOAD_LIST" - mkdir -p "${DOWNLOAD_DIR}" cd "${DOWNLOAD_DIR}" || echo "cannot cd to DOWNLOAD_DIR" echo "Downloading files to ${DOWNLOAD_DIR}/" -for url in ${DOWNLOAD_LIST}; do - file_name=$(echo "${url}" | grep -o -E '[^\/]+$') - $WGET -N "${url}" - ret="$?" - if [ $ret -gt 0 ] && [ $ret -ne 8 ]; then - echo "Download failed for URL: '${url}'. wget finished with exit status '$ret'." - exit 1; - fi - - if [ "$file_name" != "" ]; then - DOWNLOAD_NAMES="${DOWNLOAD_NAMES} ${file_name}" - else - echo "invalid filename for url=${url}" && exit 1; - fi +for cmake in ${CMAKE_FILES}; do + download_links=$(grep -h -E '^[^#]*\"(ftp|http|https)://.*(\.tar\.gz|\.tar\.bz2|\.tgz|\.tar\.xz|\.zip|export=download).*\"' ${cmake} | + grep -o -E '(ftp|http|https)://[^\"]*' | sort | uniq) + for url in ${download_links}; do + file_name=$(echo "${url}" | grep -o -E '[^\/]+$') + if [ -z "$file_name" ]; then + echo "invalid filename for url=${url}" && exit 1; + fi + download_name=$(grep -E -A 3 -B 3 "(ftp|http|https).+$file_name" ${cmake} | grep -E -o 'DOWNLOAD_NAME .+' | cut -d ' ' -f 2-) + $WGET -N "${url}" + ret="$?" + if [ $ret -gt 0 ] && [ $ret -ne 8 ]; then + echo "Download failed for URL: '${url}'. wget finished with exit status '$ret'." + exit 1; + fi + if [ -n "$download_name" ]; then + mv $file_name $download_name + file_name=$download_name + fi + DOWNLOAD_NAMES="${DOWNLOAD_NAMES} ${file_name}" + done done ARCHIVE_NAME="SuperBuild-archives-$VERSION" diff --git a/i18n/fr_FR.ts b/i18n/fr_FR.ts index e9ea1fe258c00eb93564b84ab05b5827bdb86122..f0568af418b9a51b1d6653a85ff9feb7abd99260 100644 --- a/i18n/fr_FR.ts +++ b/i18n/fr_FR.ts @@ -279,7 +279,7 @@ Veuillez, s'il vous plait, supprimer votre répertoire de cache Monteverdi. </message> <message> <source><html><head/><body><p>Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)</p><p>Monteverdi is part of Orfeo Toolbox</p><p><a href="https://www.orfeo-toolbox.org/"><span style=" text-decoration: underline; color:#0000ff;">https://www.orfeo-toolbox.org/</span></a></p><p>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with<br/>the License. You may obtain a copy of the License at:</p><p><a href="http://www.apache.org/licenses/LICENSE-2.0"><span style=" text-decoration: underline; color:#0000ff;">http://www.apache.org/licenses/LICENSE-2.0</span></a></p><p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an <br/>&quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License<br/>for the specific language governing permissions and limitations under the License.</p></body></html></source> - <translation type="unfinished"></translation> + <translation></translation> </message> </context> <context> @@ -457,6 +457,10 @@ Veuillez, s'il vous plait, supprimer votre répertoire de cache Monteverdi. <source>Title</source> <translation>Titre</translation> </message> + <message> + <source>Name</source> + <translation>Nom</translation> + </message> </context> <context> <name>mvd::ApplicationsToolBoxController</name> @@ -4597,7 +4601,7 @@ Merci d'en sélectionner un autre.</translation> </message> <message> <source>GDAL Overviews</source> - <translation>Overviews GDAL</translation> + <translation>Aperçus GDAL</translation> </message> <message> <source>Generate</source>